There are many parameters that must be set to specify precisely how BitGen is to operate.
To make this easy the BitGen Library and the generator page organize them into groups with default values assigned. Groups that are not needed for the selected mode are disabled.
The waveform generator parameter groups are:
- Mode to select the generator operating and synchronisation modes. These must always be specified before any other parameters are set as they define global operation of BitGen.
- WaveTable to select the generator wave-function (either built-in or from user supplied data) and assign the wavetable size (depending on the mode).
- Timing sets the duration of (burst or sweep) waveforms, how many bursts to generate and how much silence before and after each burst to produce.
- Clock programs the mark and space timing when generating clock or timing waveforms.
- Voltage establishes the peak-to-peak and DC bias (offset) voltages to be used when generating analog waveforms as well as the quiescent (rest) voltage before and after generation completes.
- Logic establishes the voltage levels that consitutde a logic high and logic low level.
- Frequency sets the fundamental output frequency of the generator and an (optional) termination frequency for modes that change the frequency dynamically (chirp, sweep).
- Trigger depends on the mode and programs what type of trigger event is required when triggering the generator from an external source.
- Generator establishes the generator's operating sample rate and (optional) sweep frequency decimation factors. It also determines clock generator timing.
The most important parameter which must be set first is the master operating mode. The values and relevance of all other parameters depend on the selection of the operating mode.
BitGen supports seven operating modes:
VSR | Variable Sample Rate Mode replays the wavetable data at the specified sample rate continuously. The output frequency is determined by the sample rate divided by the wavetable size multipled by the number of periods per wavetable. It is preferred if zero phase jitter, the highest sample rates or external clocking of the generator output are required.
DDS | Direct Digital Synthesis Mode is the most powerful wavetable driven operating mode. It supports arbitrary waveform generation at precisely defined frequencies producing continuous, triggered or gated burst or swept frequency signals. The generator sample rate, decimation factor and frequency may be adjusted independently.
Pink Noise | Pink Noise Mode produces noise with a power spectral density inversely proportional to the frequency. The sample rate may be varied and the noise output gated on an external signal.
White Noise | White Noise Mode produces noise with flat power spectral density up to the Nyquist frequency. The sample rate may be varied and output concurrently (via TimePort) and an external clock may used to drive the generator output.
Clock | Clock Generator Mode produces a precise clock signal via the TimePort with Mark and Space timing specified in sample clock ticks. It does not require the wavetable.
Logic | Logic Level Mode is not really a waveform generator, rather it is a logic level convertor. It mirrors the TTL/CMOS signal applied via the TimePort at the WavePort producing high and low voltage levels as specified via the Logic parameters.
Voltage | Voltage Mode produces a DC voltage, either directly specified or using the levels specified for Logic Level Mode. It is an independent mode and may be used concurrently.
When the operating mode is changed the control panel enables other parameter groups that apply to the selected mode so it's easy to tell which parameters are relevant.
The second most important parameter is synchronisation which must be specified after the mode.
Synchronisation controls TimePort operation; whether to generate or accept a clock, generate or accept a trigger or synchronising signal or whether to gate the output on an external signal.
There are four synchronisation options and one for gated output:
Trigger In | External Trigger Synchronisation allows generator operation to be triggered from an external source. All the usual trigger parameters are supported including level, edge rising or falling and programmable post trigger delay.
Clock In | External Clock Synchronisation allows the operation of the generator to be externally clocked. This allows (for example) a serial data sequence to be driven on an external clock.
Clock Out | Concurrent Clock Generation sends the internal sample clock used by the generator to the TimePort concurrently with the waveform appearing on the WavePort.
Sync Out | Synchronisation Output allows for a programmable synchronisation signal to be emitted via the TimePort concurrently with waveform generator output appearing on the WavePort. This is the most commonly used synchronisation method as it allows another device to be precisely synchronised with the start of waveform generation.
Gate In | Gated Output gates the waveform generator output (WavePort) on the logic signal applied to the Timeport. Unlike a simple switch, gating can be arranged to restart the generator such that the phase of the waveform relative to the gate is fixed.
See the Library API for which sync modes are available in each operation mode.
In VSR and DDS modes the output waveform is derived from a programable wavetable.
BitGen includes a set of standard wavefunctions (TONE, RAMP, STEP etc) used to populate the wavetable but it is possible to download user created waveforms as well. For example:
This waveform is identical to the hand crafted WaveLoop 5 generated by the original BitScope WavePOD but generated here by BitGen/VSR using the same (transcoded) waveform data.
Any original WavePOD waveform or indeed anything that fits in the wavetable can be used this way. It is even possible to load a data sequence which can be externally or internally clocked to generate a serial data stream.
For further information see the BG_LoadTable function.
Generator Timing Cycles
Most modes are straight forward; one sets the parameters and starts the generator.
The output may be predicated on a trigger and there may be a programmable post-trigger delay but once started the generator continues to emit waveform until told to do otherwise.
However the DDS and Pink Noise modes support a burst timing cycle which means that they can be programmed to generate one or more finite duration waveform bursts predicated on a trigger (or not) with a burst sync signal produced via the TimePort.
In these modes the Timing Group is active allowing burst Duration, Mark, Space and burst Repeat values to be specified.
In DDS mode a common use for this is to generate frequency sweeps or chirps with a sync signal on the TimePort to enable other devices to trigger on the sweep start.
For further information see the Timing Cycle.