USBee DX Digital Signal Generator
This section details the operation of the Digital Signal Generator application that comes with the USBee DX. Below you see the application screen.
The Digital Signal Generator is used to actively drive the 16 digital signals with a voltage pattern that you define.
To define the pattern that you want to generate, you will use the waveform screen and draw the timing of pulses that you require, or you will load the waveforms from a file created externally.
Digital Signal Generator Specifications
Digital Output Channels
|
16 or 8
|
Maximum Digital Sample Rate [1]
|
24 Msps for 8 channels, 12Msps for 16 channels
|
Internal Clocking
|
Yes
|
External Clocking
|
No
|
Number of Samples [2]
|
1 million samples up to PC RAM
|
Sample Rates [1]
|
1Msps to 24 Msps
|
Sample Clock Output
|
Yes
|
Channel Output Drive Current
|
4mA
|
Output Low Level
|
< 0.8V
|
Output High Level
|
> 2.4V
|
Looping
|
Yes
|
External Trigger Signal
|
Yes
|
Features
Pod Status
The Signal Generator display shows a list with the available Pod ID List for all of the USBee DX’s that are connected to your PC. You can choose which one you want to use. The others will be unaffected. If a USBee DX is not connected, the list box will read Demo to indicate that there is no pod attached.
If you run the software with no pod attached, it will run in demonstration mode so that you can still see how the software functions.
Channel Setup
The Signal Generator operates in either an 8-channel or 16-channel mode. Select which mode you want to use by clicking the menu item Setup, 8 (or 16) Channels. Below you see the 8 Channel mode.
The maximum sample rate that your system can achieve varies depending on the number of channels you select.
For 8 Channel mode, the maximum sample rate is 24M samples per second.
For 16 Channel mode, the maximum sample rate is 12M samples per second.
Generation Control
The Signal Generator lets you draw the behavior of digital signals and then generates them as a “trace” on the pod signals. The Generation Control section of the display lets you choose how the traces are generated. Below is the Generation Control section of the display.
The Generate button starts and stops a data output. When the signal generator is first started, the Generate button is not pressed and is waiting for you to draw a waveform. The Generate button outputs a single trace and stops, unless you check the Loop box. If the Loop checkbox is checked, the wave is played until the end and then restarted at the beginning sample without breaks in between the first and second trace.
The Buffer Size lets you select the size of the Sample Buffer that is used. For each trace, the buffer is completely played back. No partial buffers can be generated. You can choose buffers that will hold the information that you want to output, but remember that the larger the buffer, the longer it will take to generate.
You can also choose the Sample Rate that you want samples to be aligned to. This uses an internal clock at that sample rate you choose. You can choose from 1 Msps (samples per second) to up to 24 Msps. The actual maximum sample rate depends on your PC configuration. If the sample rate is too high for your system, you will see a dialog box appear when you generate the waveform that informs you that the rate is too high. You must lower the sample rate and try again.
While the pod is generating the waveform on the pod signals, the CLK line is an output and toggles once for each of the samples provided. You can specify the CLK Edge that the output data changes on using the two radio buttons above.
The TRG signal can be used as an External Trigger for the pattern generation. Select the state of the TRG signal you want to start the output on by pressing the toggle pushbutton above.
The Status Box on the display will show red when the unit is not outputting samples, flash blue when it is waiting for a trigger, and glow green when the trigger condition has been met. It will glow red again when the generation is completed.
Waveform Edit, Display and Zoom Settings
The Waveform display area is where the signal information is shown. It is displayed with time increasing from left to right and voltage increasing from bottom to top. The screen is divided into Divisions to help in measuring the waveforms.
To Scroll the Waveforms in Time left and right, you can use the left and right arrows highlighted above, click and drag the Overview Bar (right under the Display Control title), or you can simply click and drag the waveform itself.
To change the zoom ratio for the time, click the Zoom In or Zoom Out buttons. You can also zoom in and out in time by clicking on the waveform. To zoom in, click the left mouse on the waveform window. To zoom out in time, click the right mouse button on the waveform window.
The cursor in the waveform window can be in one of two modes: Pan and Zoom, or Select. In pan and zoom, you can click and drag the waveform around on the screen. In Select, you click and drag to select a portion of the waveform to edit. Change modes by clicking the left-right arrow (pan and zoom), or the standard arrow (select).
Editing the Waveform is done by selecting the portion of the waveform by clicking and dragging to highlight a section, and then pressing one of the Edit Control buttons at the top. You can set the specified samples to a high level, low level, create a clock on that signal, create a single pulse, or copy and paste. You can also Undo the last change if needed.
Setting Waveform Sections
To create a waveform you need to scroll or zoom to the section of wave you want to change. Then change the cursor to an arrow by pressing the arrow button at the top.
Then select a section of a wave by using the left mouse button with a click and drag. Once the selection is highlighted you can press the High or Low button to set that section to the desired level.
Creating Clocks
To create a clock on a given signal you first select the wave you want to set. Then click the Clock button at the top of the waveforms to get the following dialog box.
Select the period or the frequency that you would like and press Create Clock. Your selected channel will then be replaced by a clock with that frequency.
Creating Pulses
To create a series of pulses with known duration on a given signal you first select the wave you want to set. Then click the Pulses button at the top of the waveforms to get the following dialog box.
Set the duration time and voltage level and press Create Pulse. You can then create consecutive pulses just by entering the new duration and pressing the button again.
Measurements and Cursors
To help you create time accurate waveforms, the cursors can be used to get exact timing.
The X and O Cursors are placed on any horizontal sample time. This lets you measure the time at a specific location or the time between the two cursors. To place the X and O cursors, move the mouse to the white box just below the waveform. When you move the mouse in this window, you will see a temporary line that indicates where the cursors will be placed. Place the X cursor by left clicking the mouse at the current location. Place the O cursor by right clicking the mouse at the current location.
In the Measurement window, you will see the various measurements made off of these cursors. To change the selected relative cursor, click the T,X or O buttons next to the “Timeline Relative To” text.
· X Position – time at the X1 cursor relative to the selected cursor
· O Position – time at the X2 cursor relative to the selected cursor
· X to O - difference between X and O cursors
File Save and Open
Using the File menu functions, you can save and open a current set of configuration and trace sample data.
Choose the menu item File | Save As to save the current configuration and sample data to a binary ULC file.
To load a previously saved waveform and display it, choose File | Open and specify the filename to load. This waveform will then be displayed as it was saved. If the loaded file is smaller than the current buffer size, the file will be loaded at the beginning of the current buffer. The ending samples in the buffer remain unchanged. If you load a file with more samples than the current buffer, the loaded samples will be truncated.
|