User Manual

Model 588B User Manual

The Model 588B is a 12- or 24-channel pulse generator built around a system timer that generates the internal T0 pulse and independent per-channel timers that produce delayed, one-shot pulses. Each channel offers delay and width control with 250 ps resolution, and the unit supports normal, single shot, burst, and duty-cycle modes on both the system and channel levels. The 588B is configured from the supplied GUI or over USB, RS-232, or Ethernet using a SCPI-style command set.

Model 588B · User Manual · Document Version 1.0
Berkeley Nucleonics Model 588B pulse generator

1. Introduction

This manual is a reference designed to familiarize you with the Berkeley Nucleonics Corporation 588B series pulse generator and is arranged so that you can easily find the information you are looking for. Generally, each topic has its own section and no section assumes that you have read anything else in the manual.

Rack Mount Models

ConfigurationModel Number
12 Channel UnitsBNC588B-12C
24 Channel UnitsBNC588B-24C

Technical Support

For questions or comments about operating the 588B our technical staff can be reached via one of the following methods:

Warranty

In addition to a 30-day money back guarantee, the 588B has a two-year limited warranty from the date of delivery. This warranty covers defects in materials and workmanship. Berkeley Nucleonics Corporation will repair or replace any defective unit. Contact us for information on obtaining warranty service.

Package Contents

The box you receive should contain the following:

  • 588B Pulse Generator
  • AC Power Cord*
  • User’s Manual and GUI on USB

Contact Berkeley Nucleonics Corporation (415) 453-9955 if any parts are missing.

*Note. AC Power Cord for Model 588B only (not intended for any other use).

2. Safety Issues

Normal use of test equipment presents a certain amount of danger due to electrical shock because it may be necessary for testing to be performed where voltage is exposed.

An electrical shock causing 10 milliamps of current to pass through the heart will stop most human heartbeats. Voltage as low as 35 VDC or 35 VRMS AC should be considered dangerous and hazardous, as it can produce a lethal current under certain conditions. Higher voltages pose an even greater threat because such voltage can easily produce a lethal current. Your normal work habits should include all accepted practices that will prevent contact with exposed high voltage and steer current away from your heart in case of accidental contact with a high voltage. You will significantly reduce the risk factor if you know and observe the following safety precautions:

  • If possible, familiarize yourself with the equipment being tested and the location of its high-voltage points. However, remember that high voltage may appear at unexpected points in defective equipment.
  • Do not expose high voltage needlessly. Remove housing and covers only when necessary. Turn off equipment while making test connections in high-voltage circuits. Discharge high-voltage capacitors after shutting down power.
  • When testing AC powered equipment, remember that AC line voltage is usually present on power input circuits, such as the on-off switch, fuses, power transformer, etc.
  • Use an insulated floor material or a large, insulated floor mat to stand on, and an insulated work surface on which to place equipment. Make certain such surfaces are not damp or wet.
  • Use the time-proven “one hand in the pocket” technique while handling an instrument probe. Be particularly careful to avoid contact with metal objects that could provide a good ground return path.
  • Never work alone. Someone should always be nearby to render aid if necessary. Training in CPR first aid is highly recommended.

3. System Overview

588B Front Panel

Figure 1. 588B 24 Channel Front Panel
Figure 1. 588B 24 Channel Front Panel
Figure 2. 588B 12 Channel Front Panel
Figure 2. 588B 12 Channel Front Panel

Front Panel Layout

An array of LEDs provides channel status, green indicates the channel is enabled, red indicates the channel is disabled. On power up all the LEDs will be green for 1 second and then red for 1 second to confirm operation. Error messages are indicated by blinking LEDs.

The power button and the Run button are on the right side of the front panel. On the left is a general-purpose Trigger / Gate input. The input range is 0.5v to 30v. In addition, a switch closure may be used, allowing the use of a foot switch or safety interlock.

588B Rear Panel

Figure 3. 24 Channel Back Panel
Figure 3. 24 Channel Back Panel
Figure 4. 12 Channel Back Panel
Figure 4. 12 Channel Back Panel

Rear Panel Layout

The channel outputs are available from an array of BNCs. There is a BNC trigger input and a BNC Gate input. The input range is 0.5v to 30v for both inputs. In addition, a switch closure may be used, allowing the use of a foot switch or safety interlock. A pair of SMA connector provide for the input of a reference oscillator and the output of the internal system T0 pulse or a synthesized oscillator output. The unit provides three communication ports, RS232, USB & Ethernet. The power entry modules provide a power on/off switch and accepts 100 to 240VAC at 50Hz or 60Hz.

4. Pulse Concepts and Pulse Generator Operations

Counter Architecture Overview

Figure 5. Pulse Generation
Figure 5. Pulse Generation

*Start source is:

  • RUN button in Internal Modes
  • External input in External Trigger modes
  • *TRG command via Serial access

**Channels are armed by the RUN button. In single shot and burst modes channels may be rearmed by pressing the RUN button again.

System Timer Functions

The system timer generates the internal T0 pulse which is used as the Start pulse for the channel timers. The system timer functions as a non-retriggerable, multi-vibrator pulse generator. This means that once started, depending on the mode, the timer will produce pulses continuously. Before pulses can be generated, the timer must be armed and then receive a start pulse. Arming the counter is done by pressing the Run/Stop key or using the comm commands. With external trigger disabled, the Run/Stop key also generates the start command for the counter. With external trigger enabled, the external trigger provides the start pulse. In either case, once started, the counter operation is determined by the System Mode Generator. Standard modes include:

  • Continuous – Once started T0 pulses are generated continuously.
  • Single Shot – One T0 pulse is generated for each start command.
  • Burst – ‘n’ T0 pulses are generated for each start command.
  • Duty Cycle – Once started T0 pulses cycle on and off continuously.

The T0 pulse is distributed to all of the start inputs of the Channel Timers and Mode Generators.

Channel Timer Functions

The Channel Timer functions as a non-retriggerable, delayed, one shot pulse generator. This means that the timer will only generate one delayed pulse for every start pulse received. Once the channel timer has started counting, additional start pulses will be ignored until the pulse has been completed (non-retriggerable). The start pulse for each channel is provided by the internal T0 pulse generated by the internal system timer. Whether or not a pulse is generated for each T0 pulse is determined by the Channel Mode Generator. Standard modes include:

  • Normal – A pulse is generated for each T0 pulse.
  • Single Shot – One pulse is generated for the first T0 pulse, after which the output is inhibited.
  • Burst – ‘n’ number of pulses are generated for the first T0 pulse, after which the output is inhibited.
  • Duty Cycle – ‘n’ number of pulses are generated for each T0 pulse after which the output is inhibited for ‘m’ number of pulses. The cycle is then repeated for each subsequent T0 pulse.

Different modes may be selected for each output, allowing a wide variety of output combinations. Each output may also be independently disabled or gated (using the external gate input).

Channel mode scope captures. Ch 1: Single Shot. Ch 2: Burst Mode (5 Pulses). Ch 3: Duty Cycle Mode (3 On, 2 Off). Ch 4: Normal Mode.
Channel mode scope captures. Ch 1: Single Shot. Ch 2: Burst Mode (5 Pulses). Ch 3: Duty Cycle Mode (3 On, 2 Off). Ch 4: Normal Mode.

Digital Output Multiplexer

The outputs of each of the Channel Timers are routed to a set of multiplexers. This allows routing of a number (up to 5) Channel Timers to each of the output ports.

In the normal mode of operation bit 0 is the only bit enabled (bit pattern: 00001, command parameter 1), thus the output of the nth channel timer is routed to the nth output channel connector. Note that the channel routed to bit 3 (parameter = 8) is channel 2 for all outputs and the channel routed to bit 4 (parameter = 16), 12 or 24, depends on the system channel size. Using the MUX function with the channel modes allows a number of complex functions, such as double pulsing, modulating pulsewidths as shown in the following examples.

Note. The mux value (0 to 31) is determined by the enabled bits: bit 0 = 1, bit 1 = 2, bit 2 = 4, bit 3 = 8, bit 4 = 16. Command: :PULSe n:MUX 0 to 31 where ‘n’ is the channel number.

Channel Multiplexer Bit Assignments

OutputBit 4Bit 3Bit 2Bit 1Bit 0
Model 12Model 24Model 12Model 24allallall
12 Channel Units  ·  Bank A / Bank B
Output Channel 1122531
Output Channel 2122642
Output Channel 3122153
Output Channel 4122264
Output Channel 5122375
Output Channel 6122426
Output Channel 71221197
Output Channel 812212108
Output Channel 91227119
Output Channel 1012281210
Output Channel 1112291311
Output Channel 1212210812
24 Channel Units  ·  Bank C / Bank D
Output Channel 13122422171513
Output Channel 14122422181614
Output Channel 15122422131715
Output Channel 21122422141816
Output Channel 22122422151317
Output Channel 23122422161418
Output Channel 24122422232119
Output Channel 21122422242220
Output Channel 21122422192321
Output Channel 22122422202422
Output Channel 23122422211923
Output Channel 24122422222024
36 Channel Units  ·  Bank E / Bank F
Output Channel 25122422292725
Output Channel 26122422302826
Output Channel 27122422252927
Output Channel 33122422263028
Output Channel 34122422273129
Output Channel 35122422282630
Output Channel 34122422353331
Output Channel 35122422363432
Output Channel 33122422313533
Output Channel 34122422323634
Output Channel 35122422333135
Output Channel 36122422343236
Note (verify). Output channel labels in the 24- and 36-channel sections are transcribed verbatim from the source PDF, which repeats several channel numbers (for example “Output Channel 21” appears more than once). Flagged for engineering review.

MUX Application Examples

Ex. 1: Double Pulse waveform generated by combining two channels with the MUX function.
Ex. 1: Double Pulse waveform generated by combining two channels with the MUX function.

Ex. 1: Double Pulse – A double pulse waveform can be generated, as shown in the figure, by using the MUX function to combine two channels.

  • Scope Ch 1: Channel 1 output after combining channel 1 and channel 3 (mux code: 3).
  • Scope Ch 2: Channel 1 output before combining channel 3 (mux code: 1).
  • Scope Ch 3: Channel 3 output delayed as necessary to generate the required second pulse (mux code: 1).
Ex. 2: Alternating Pulsewidth produced by combining two channels with the MUX function.
Ex. 2: Alternating Pulsewidth produced by combining two channels with the MUX function.

Ex. 2: Alternating Pulsewidth – An extended pulse can be generated every other pulse, as shown in the figure, by using the MUX function to combine two channels.

  • Scope Ch 1: Channel 2 output after combining channel 2 and channel 4 (mux code: 3).
  • Scope Ch 2: Channel 2 output before combining channel 4 (mux code: 1).
  • Scope Ch 3: Channel 4 output extended as necessary to generate the required second pulse (mux code: 1). The channel is in duty cycle mode (1 on, 1 Off) to generate the alternating pattern.

Channel Gate Function

The outputs of each of the Channel can be gated by one of two channel timers as defined below:

Gate / Inhibit FunctionGATE-AGATE-BINHIBIT-B
12 Channel Units41212
24 Channel Units42424

Command: :PULSe n:CONTROL GATA | GATB | INHB

In the gated mode, output of the gated channels only occurs when the gate is high (active high mode). The gate A timer (4) is common to all channels. The gate B timer (12 or 24) depends on the model, 12 or 24 channels, respectively. In the inhibit mode, output of the gated channels is inhibited when the gate is high (active low mode).

Gate A Mode scope captures.
Gate A Mode scope captures.

Gate A Mode

  • Scope Ch 1: Ch 1 – Normal Mode
  • Scope Ch 2: Ch 2 – Gate A (GATA) Enabled
  • Scope Ch 3: Ch 3 – Gate A (GATA) Enabled
  • Scope Ch 4: Ch 4 – Normal Mode (extended delay & width)
Gate B & INHIBIT B Mode scope captures.
Gate B & INHIBIT B Mode scope captures.

Gate B & INHIBIT B Mode

  • Scope Ch 1: Ch 1 – Normal Mode
  • Scope Ch 2: Ch 2 – Inhibit B (INHB) Enabled
  • Scope Ch 3: Ch 3 – Gate B (GATB) Enabled
  • Scope Ch 4: Ch 12 – Normal Mode (extended delay & width)

Channel Phase Locking

Normally when rearming a channel, the output will start on the next available T0 pulse. This leads to a random phase relationship with other channels that may be in duty cycle mode, as shown in column 1. The BNC588B channel sync feature can be used to lock the channel relative to the sync pulse, as shown in column 2. Note that when sync is enabled, the Ch3 burst is always locked to start of Ch2 output.

Channel Sync FunctionSYNC-ASYNC-BSYNC-T
6 / 12 Channel Units612trigger sync
24 Channel Units624trigger sync

Command: :PULSe n:SYNC SYNA | SYNB | SYNT

Column 1 - Sync Mode Disabled (upper)
Column 1 – Sync Mode Disabled
Column 2 - Sync Mode Enabled (upper)
Column 2 – Sync Mode Enabled
Column 1 - Sync Mode Disabled (lower)
Column 1 – Sync Mode Disabled (continued)
Column 2 - Sync Mode Enabled (lower)
Column 2 – Sync Mode Enabled (continued)
  • Scope Ch1 – channel 1 - normal mode, wait = 1
  • Scope Ch2 – channel 2 - duty cycle mode (5 on, 3 off), wait = 1
  • Scope Ch3 – channel 3 - burst mode (3 pulses), wait = 0
  • Scope Ch4 – channel 6 - (sync pulse) duty cycle mode (1 on, 7 off), wait = 0

Operating the 588B

The 588B has a powerful set of functions providing a number of modes of operation. Both the system timer and the channel timer combine to provide the ability to generate complex waveforms. Configuring the system is done via the BNC GUI or using the computer interface command set. The available computer interfaces include a USB port, RS232 port and optional Ethernet port.

Quick Start - Normal Internal Rate Generator Operation

The 588B has a powerful set of functions providing a number of modes of operation for the internal or “System” rate generator (T0). Most of these functions can be ignored if a simple continuous stream of pulses is required. Starting from the default settings, which can be restored by recalling configuration 0, the following parameters need to be set:

StepAction
T0 PeriodSet the Rate using either the supplied GUI or using the command set on one of the computer interfaces. The system mode should be in Continuous Mode.
Pulse Width and DelaySet the required pulse width and delay using either the supplied GUI or using the command set on one of the computer interfaces. Enable or Disable the channel as required. The mode will be “normal”. Repeat for each output channel.
StartPress the Run/Stop key to start generating pulses.
StopPress the Run/Stop key a second time to stop generating pulses.
*Note. In general, the pulse delay + the pulse width + 75 ns for a hardware reset for any channel, must be less than the T0 period to avoid dropped pulses.

Quick Start – Normal External Trigger Operation

To generate a single pulse for every external trigger event, based on the default configuration 0, the following parameters need to be set:

StepAction
System ModeSet the System Mode using either the supplied GUI or using the command set on one of the computer interfaces. Select Single Shot mode.
TriggerSet the Trigger using either the supplied GUI or using the command set on one of the computer interfaces. Select Trigger Enable.
LevelSet the Level parameter using either the supplied GUI or using the command set on one of the computer interfaces. Set the trigger threshold voltage to approximately 50% of the trigger signal amplitude.
EdgeSet the Edge parameter using either the supplied GUI or using the command set on one of the computer interfaces. Set the unit to trigger off the rising or falling edge as desired.
Pulse Width and DelaySet the required pulse width and delay using either the supplied GUI or using the command set on one of the computer interfaces. Repeat for each output channel.
StartPress the Run/Stop key to start generating pulses or use either the supplied GUI or use the command set on one of the computer interfaces.
StopPress the Run/Stop key a second time, or use either the supplied GUI or use the command set on one of the computer interfaces, to stop generating pulses.
*Note. If the threshold is not set correctly the 588B will have trouble syncing with the trigger source.

System Timer Overview

For internal operation, the 588B contains a timer and mode generator which generates an internal T0 clock that is used to trigger all the channel timers. System modes are controlled via the Mode menu.

Using Continuous Mode

Continuous mode output. Ch 1-4 each set to normal mode.
Continuous mode output. Ch 1-4 each set to normal mode.

The Run/Stop button starts and stops a continuous pulse stream at the rate specified by the system Period parameter. This corresponds to the normal output mode for most pulse generators. To generate a continuous stream of pulses:

  • System Mode: Continuous mode
  • System Period: 10µs

Pressing the front panel Run/Stop key or entering the system State command will now generate a stream of pulses at a rate specified by the period parameter.

  • Scope Ch 1: Channel 1 set to normal mode.
  • Scope Ch 2: Channel 2 set to normal mode
  • Scope Ch 3: Channel 3 set to normal mode
  • Scope Ch 4: Channel 4 set to normal mode

Using Single Shot Mode

Single shot mode output. Ch 1-4 each set to normal mode.
Single shot mode output. Ch 1-4 each set to normal mode.

To generate a single pulse with every press of the Run/Stop key or the State enable command:

  • System Mode: Single Shot mode

Pressing the front panel Run/Stop key or entering the system State command will now generate one pulse.

  • Scope Ch 1: Channel 1 set to normal mode.
  • Scope Ch 2: Channel 2 set to normal mode
  • Scope Ch 3: Channel 3 set to normal mode
  • Scope Ch 4: Channel 4 set to normal mode

Using System Burst Mode Function

System burst mode output (Burst Count 5).
System burst mode output (Burst Count 5).

The Run/Stop button generates a stream of ‘N’ T0 pulses, where the ‘N’ is specified by the Burst parameter. The rate is specified in the Rate menu. Pressing the Run/Stop button while in the burst is in process will stop the output. After the burst has been completed, pressing the Run/Stop button will generate another burst. To generate a burst of pulses set:

  • System Mode: Burst mode
  • Burst Count: 5
  • System Period: 10µs

Pressing the front panel Run/Stop key or entering the system State command will now generate a burst of the specified number of pulses.

  • Scope Ch 1: Channel 1 set to normal mode.
  • Scope Ch 2: Channel 2 set to normal mode
  • Scope Ch 3: Channel 3 set to normal mode
  • Scope Ch 4: Channel 4 set to normal mode

Using the System Duty Cycle Function

System duty cycle output (On 3, Off 1).
System duty cycle output (On 3, Off 1).

The Run/Stop button starts a continuous stream of T0 pulses, which oscillates on for ‘N’ pulses and off for ‘M’ pulses, where ‘N’ and ‘M’ are specified by the On/Off parameters respectively. The rate at which the pulses are generated is controlled in the Rate menu. To generate a stream of pulses which will oscillate on for ‘N’ pulses and off for ‘M’ pulses set:

  • System Mode: Duty Cycle mode
  • On Count: 3
  • Off Count: 1
  • System Period: 10µs

Pressing the front panel Run/Stop key or entering the system State command will now generate a continuous stream of pulses in bursts as defined by the on/off parameters.

  • Scope Ch 1: Channel 1 set to normal mode.
  • Scope Ch 2: Channel 2 set to normal mode
  • Scope Ch 3: Channel 3 set to normal mode
  • Scope Ch 4: Channel 4 set to normal mode

Channel Timer Overview

The output of each channel is controlled by two timers to generate the pulse width and the delay timing. All channels are simultaneously triggered, depending on the system mode, by the internal T0 pulse, the external trigger, or a trigger provided by a CPU. A given channel may or may not generate a pulse depending on its own channel mode as described below.

Using Channel Normal Function

Channel normal function output.
Channel normal function output.

The Normal mode generates a continuous string of pulses once the Run/Stop key is pressed. To use channel normal mode set:

  • System Mode: Continuous mode
  • System Period: 10µs
  • Set the Channel parameters:
    • Enable the channel output
    • Set the delay desired.
    • Set the pulse width desired.

Pressing the front panel Run/Stop key or entering the system State command will now generate a stream of T0 pulses at a rate specified by the system period parameter.

  • Scope Ch 1: Channel 1 set to normal mode.
  • Scope Ch 2: Channel 2 set to normal mode
  • Scope Ch 3: Channel 3 set to normal mode
  • Scope Ch 4: Channel 4 set to normal mode

Using Channel Single Shot Function

Channel single shot function output.
Channel single shot function output.

The Single Shot mode generates a single pulse every time the Run/Stop key is pressed. To use the channels’ single shot mode set:

  • System Mode: Continuous mode
  • System Period: 10µs
  • Set the Channel parameters:
    • Enable the channel output.
    • Set the delay desired.
    • Set the pulse width desired.
    • Set the mode to Single Shot.

Pressing the front panel Run/Stop key or entering the system State command will now generate one pulse on channel 1. Other channels can continue to generate pulses depending on the System Mode and/or the channel modes.

  • Scope Ch 1: Channel 1 set to single shot mode.
  • Scope Ch 2: Channel 2 set to normal mode
  • Scope Ch 3: Channel 3 set to normal mode
  • Scope Ch 4: Channel 4 set to normal mode

Using the Channel Burst Mode

Channel burst mode output (Ch 2 burst of 5).
Channel burst mode output (Ch 2 burst of 5).

The burst mode generates a burst of pulses every time the Run/Stop key is pressed. To use the channels’ burst mode set:

  • Set the Channel parameters:
    • Enable the channel output.
    • Set the delay desired.
    • Set the pulse width desired.
    • Set the mode to Burst.
    • Set the Brst parameter to the number of pulses to produce in the burst.

Pressing the front panel Run/Stop key or entering the system State command will now generate a burst of pulses. Other channels can continue to generate pulses depending on the System Mode and/or the channel modes.

  • Scope Ch 1: Channel 1 set to single shot mode.
  • Scope Ch 2: Channel 2 set to burst (5) mode
  • Scope Ch 3: Channel 3 set to normal mode
  • Scope Ch 4: Channel 4 set to normal mode

Using the Channel Duty Cycle Mode

Channel duty cycle mode output (Ch 3 duty cycle 3 on, 1 off).
Channel duty cycle mode output (Ch 3 duty cycle 3 on, 1 off).

The channel duty cycle mode will generate a stream of pulses on the channel level which will oscillate on for ‘N’ pulses and off or ‘M’ pulses. To generate the required sequence of pulses set:

  • Set the Channel parameters:
    • Enable the channel output.
    • Set the delay desired.
    • Set the pulse width desired.
    • Set the mode to Duty Cycle.
    • Set the On parameter to the number of pulses to produce during the on cycle (‘N’).
    • Set the Off parameter to the number of pulses to suppress during the off cycle (‘M’).

Pressing the front panel Run/Stop key or entering the system State command will now generate a continuous series of ‘N’ pulses followed by ‘M’ suppressed pulses. Other channels can continue to generate pulses depending on the System Mode and/or the channel modes.

  • Scope Ch 1: Channel 1 set to single shot mode.
  • Scope Ch 2: Channel 2 set to burst (5) mode
  • Scope Ch 3: Channel 3 set to duty cycle (3 on, 1 off)
  • Scope Ch 4: Channel 4 set to normal mode

External Input Overview

The external inputs may be used to trigger the unit, gate the system timer, or to gate the channel timers. When using the trigger input the external input acts as a system start pulse. Depending on the system mode, the result of a trigger input can be a single pulse, a burst of pulses, or the start of a stream of pulses. Rear panel contains a trigger input and a gate input. The front panel contains an input that can be used as either a trigger input or a gate input. The trigger input can be either a 2.0v to 30v pulse or a switch closure (foot switch).

Using the External Gate to Control the System

The external gate may be used to control the output of the unit. To gate the internal system timer with an external source set:

  • Set the Gate parameters:
    • Choose either Pulse or Output Inhibit.
      • Pulse inhibit will inhibit pulses without truncating the last pulse.
      • Output inhibit will suppress the pulse immediately, potentially truncating the pulse.
    • Set the threshold level to ~50% of the incoming gate signal.
    • Choose either active High or Low.

Pressing the Run/Stop button will arm the unit. Once the unit is armed it will start generating pulses once the external gate is in the active state. Pressing the Run/Stop key again will disarm the unit.

Using the Channel Gating Function

Each channel may use the external input to gate or control its output. The gate controls the triggering of the channel. To use the channel gate set the following parameters:

  • Set the Gate parameter:
    • Set the mode to Chan Mode.
  • Set the Advanced Channel parameters:
    • Set the channel gate parameter to either Pulse Inhibit or Output Inhibit.
    • Set the gate logic to either Active High or Active Low.

In Pulse Inhibit mode the gate prevents the channel from being triggered by the channels’ trigger source. When in Pulse Inhibit mode if a pulse has already started when the gate disables the channel the pulse will continue normal output, but the output will not restart on the next trigger pulse. In Output Inhibit mode the gate leaves the base triggering alone and will enable/disable the output directly. When in Output Inhibit mode if a pulse has already started when the gate disables the channel the pulse will be immediately cease.

Generate a Pulse on Every Trigger Input

To generate a pulse on every trigger input set the following parameters:

  • Set the System Mode to Single Shot mode.
  • Set the Trigger parameters:
    • Select the Triggered mode.
    • Set the trigger threshold level to ~50% of the incoming signal.
    • Select either rising or falling edge for the unit to trigger on.

Pressing the Run/Stop key will arm the unit. Once the unit is armed it will generate a T0 pulse for every external trigger received. Pressing the Run/Stop button again will disarm the unit. This mode corresponds to the normal external trigger mode found on most other pulse generators.

Generate a Burst of Pulses on Every Trigger Input

To generate a burst of pulses on every trigger input set the following parameters:

  • Set the System parameters:
    • Set the mode to Burst.
    • Set the number of pulses that is desired for each input signal.
    • Set the period desired between pulses.
  • Set the Trigger parameters:
    • Set the Triggered mode.
    • Set the trigger threshold level to ~50% of the incoming signal.
    • Select either rising or falling edge for the unit to trigger on.

Pressing the Run/Stop button will arm the unit. Once the unit is armed it will generate a set of pulses for every external trigger received. The units’ timer is reset at the end of a burst and will generate another set of pulses upon receiving a new trigger. Triggers that occur in the middle of a burst will be ignored. Pressing the Run/Stop key again will disarm the unit.

Start a Continuous Stream of Pulses Using the External Trigger

The external trigger may be used to cause the unit to start generating pulses by setting:

  • Set the System Mode to Continuous mode.
  • Set the Trigger parameters:
    • Set the Trigger mode.
    • Set the trigger threshold level to ~50% of the incoming signal.
    • Select either rising or falling edge for the unit to trigger on.

Pressing the Run/Stop button will arm the unit. Once the unit is armed it will start generating pulses after an external trigger is received. Triggers that occur after the initial trigger will be ignored. Pressing the Run/Stop key again will disarm the unit.

5. 588B Application

Aside from using the SCPI command protocol, the included software application is the primary means of communication with the 588B. This application allows simple control of the 588B unit via the USB or RS232 communications port. To run the software, simply double click on the application which can be found on the included USB drive. No installation is required. The software can also be copied to your computer and run from any location. The screenshot shows the 588B application and all of the corresponding default parameters:

588B application software showing the default parameters.
588B application software showing the default parameters.

6. Programming the 588B

Personal Computer to Pulse Generator Communication

The 588B has three standard interfaces which are RS-232, USB, and an Ethernet port. All menu settings can be set and retrieved over the computer interface using a simple command language. The command set is structured to be consistent with the Standard Commands for Programmable Instruments (SCPI). Although due to the high number of special features found in the 588B, many of the commands are not included in the SCPI specification. The syntax is the same for all interfaces. The amount of time required to receive, process, and respond to a command at a Baud rate of 115200 is 10 ms. Sending commands faster than 10 ms may cause the unit to not respond properly. All commands return a response and best practices require software to wait until the response from the previous command is received before sending the next command. This will provide fast, reliable communication with the system.

RS-232 Interface Overview

The serial port is located on the back of the 588B and uses a 9-pin D-type connector with the following pinout (as viewed from the back of the unit):

PinFunction
1No Connection
2Tx - Transmit (to computer)
3Rx - Receive (from computer)
4DTR - Connected to pin 6
5Ground
6DSR - Connected to pin 4
7RTS - Connected to pin 8
8CTS - Connected to pin 7
9No Connection

The serial port parameters should be set as follows:

ParameterSetting
Baud Rate4800, 9600, 19200, 38400, 57600, 115200*
Data Bits8
ParityNone
Stop Bits1
*Note. The default baud rate for the RS-232 is 115200.

USB Interface Overview

The USB interface is standard on the 588B. The interface is a Plug-n-Play capable interface. USB communication is achieved by using a mapped (virtual) COM port on the PC. The driver installation executable will obtain an unused COM port number, install the USB drivers, and make that COM port number available for typical RS-232 communication to the pulse generator. HyperTerminal or other common software may be used.

When communicating through the mapped COM port over USB, the baud rate for the communication port used by the USB chip must match the baud rate for the COM port on the PC. Access to the USB port baud rate is done using the SCPI command :SYSTem:COMMunicate:SERial:USB “n” command; where “n” is the desired communication speed. This parameter can be accessed via any communication method. The default baud rate for USB is 38400.

USB communication notes:

  • The correct drivers must be installed on the personal computer before communication can be accomplished via USB.
  • The Baud Rates on the PC and the pulse generator must match for successful communication.
  • The USB port’s Baud Rate on the pulse generator can be set using the SCPI command SYSTem:COMMunicate:SERial:USB “n”, where “n” can be: 4800, 9600, 19200, 38400, 57600, or 115200.
  • USB 2.0 specification is used. The USB cable can be removed without “ejecting” the device in the operating system environment.

Ethernet Interface Overview

An Ethernet interface is also standard on the 588B. Refer to Appendix C included at the end of this manual for more information about the Ethernet Interface and Operation.

Programming Command Types and Format

The 588B Pulse Generator uses two types of programming commands: IEEE 488.2 Common Commands and Standard Commands for Programmable Instruments (SCPI). The format is the same for all interfaces. HyperTerminal (in Windows) or any other generic terminal program may be used to interactively test the commands using the RS-232 interface. The format of each type is described in the following paragraphs.

Line Termination

The pulse generator uses text-style line terminations. When a command is sent to the unit, the firmware is programmed to read characters from a communication port until it reads the line termination sequence. The command string is parsed and executed after reading these characters. These characters are the “carriage return” and “linefeed”. They are ASCII character set values 13 and 10 respectively (hex 0x0D and 0x0A). All command strings need to have these characters appended.

When the pulse generator responds to a command, whether it is a query or a parameter change, it also appends its return strings with these characters. Coded applications could use this behavior to know when to stop reading from the unit. However, if the “echo” parameter is enabled, there will be two sets of line terminators, one following the echoed command string, and one following the pulse generator’s response.

*Note. The pulse generator will echo commands on the RS-232 serial port only.

The pulse generator responds to every communication string. If the communication string is a query, the unit responds with the queried response (or error code) followed by the line terminators. If the communication string is a parameter change, the response is “ok” (or error code) followed by the line terminators. For this reason, it is not recommended that multiple commands be stacked together into single strings as is common with some other types of instruments. It is recommended that the coded application send a single command in a string and follow immediately by reading the response from the unit. Repeat this sequence for multiple commands.

IEEE 488.2 Common Command Format

The IEEE 488.2 Common Commands control and manage generic system functions such as reset, configuration storage and identification. Common commands always begin with the asterisk (*) character and may include parameters. The parameters are separated from the command pneumonic by a space character. For Example:

*RST <cr><lf>
*RCL 1 <cr><lf>
*IDN? <cr><lf>

SCPI Command Keywords

The commands are shown as a mixture of upper- and lower-case letters. The upper-case letters indicate the abbreviated spelling for the command. You may send either the abbreviated version or the entire keyword. Upper and/or lower-case characters are acceptable.

For example, if the command keyword is given as POLarity, then POL and POLARITY are both acceptable forms; truncated forms such as POLAR will generate an error; polarity, pol, and PolAriTy are all acceptable as the pulse generator is not case sensitive.

*Note. The unit by default is not case sensitive, but if it is wished to have the system only respond to capitalized commands see the command list below.

SCPI Command Format

SCPI commands control and set instrument specific functions such as setting the pulse width, delay, and period. SCPI commands have a hierarchical structure composed of functional elements that include a header or keywords separated with a colon, data parameters, and terminators. For example:

SCPI Format
:PULSE1:STATE ON <cr> <lf>
:PULSe1:WIDTh 0.000120 <cr> <lf>
:PULSe:POL NORMal <cr> <lf>

Any parameter may be queried by sending the command with a question mark appended. For example:

SCPI Query FormatWill return
:PULSE1:STATE? <cr><lf>1<cr><lf>
:PULSE1:WIDTH? <cr><lf>0.000120000 <cr><lf>
:PULSE1:POL? <cr><lf>NORM <cr><lf>

SCPI Keyword Separator

A colon (:) must always separate one keyword from the next lower-level keyword. A space must be used to separate the keyword header from the first parameter.

SCPI Optional Keywords

Optional keywords and/or parameters appear in square brackets ( [ ] ) in the command syntax. Note that the brackets are not part of the command and should not be sent to the pulse generator. When sending a second level key word without the optional keyword, the pulse generator assumes that you intend to use the optional keyword and responds as if it had been sent.

SCPI Specific and Implied Channel

Some commands, such as PULSe, allow specifying a channel with an optional numeric keyword suffix. The suffix will be shown in square brackets [ 1 / 2 ]. The brackets are not part of command and are not to be sent to the pulse generator. The numeric parameters correspond to the following channels: 0 = T0, 1 = ChA, 2 = ChB, etc. Only one channel may be specified at a time. If you do not specify the channel number, the implied channel is specified by the :INSTrument:SELect command or the last referenced channel. After power-up or reset (*RST) the instrument will default to channel #1.

SCPI Parameter Types

The following parameter types are used:

TypeDescription
<Numeric Value>Accepts all commonly used decimal representation of numbers including optional signs, decimal points, and scientific notation. For Example: 123, 123e2, -123, -1.23e2, .123, 1.23e-2, 1.2300E-01
<Boolean Value>Represents a single binary condition that is either true or false. True is represented by a 1 or ON; false is represented by a 0 or OFF. Queries return 1 or 0.
<Identifier>Selects from a finite number of predefined strings.

Error Codes

The unit responds to all commands with either:

ok <cr><lf> or ?”n“<cr><lf>

Where “n” is one of the following error codes:

  1. Incorrect prefix, i.e. no colon or * to start command.
  2. Missing command keyword.
  3. Invalid command keyword.
  4. Missing parameter.
  5. Invalid parameter.
  6. Query only, command needs a question mark.
  7. Invalid query, command does not have a query form.
  8. Command unavailable in current system state.

Programming Examples

Example 1) 20 ms pulse width, 2.3 ms delay, 10 Hz internal trigger, and continuous operation.

CommandDescription
:PULSE1:STATE ON <cr> <lf>enables channelA
:PULSE1:POL NORM <cr> <lf>sets polarity to active high
:PULSE:WIDT 0.020 <cr> <lf>sets pulse width to 20 ms
:PULSE1:DELAY 0.0023 <cr> <lf>sets delay to 2.3 ms
:PULSE0:MODE NORM <cr> <lf>sets system mode to continuous
:PULSE0:PER 0.1 <cr> <lf>sets period to 100 ms (10 Hz)
:TRIG:STATE DIS <cr> <lf>disables the external trigger

To start the pulses use either of the following commands:

:PULSE0:STATE ON <cr> <lf>starts the pulses
:INST:STATE ON <cr> <lf>alternate form to start pulses

Example 2) 25µs pulse width, 0 delay, external trigger, and one pulse for every trigger.

CommandDescription
:PULSE1:STATE ON <cr> <lf>enables channelA
:PULSE1:POL NORM <cr> <lf>sets polarity to active high
:PULSE:WIDT 0.000025 <cr> <lf>sets pulse width to 25µs
:PULSE1:DELAY 0 <cr> <lf>sets delay to 0
:PULSE0:MODE SING <cr> <lf>sets system mode to single shot
:TRIG:STATE ENAB <cr> <lf>sets system to external trigger
:TRIG:LEV 2.5 <cr> <lf>sets trigger level to 2.5 volts
:TRIG:EDGE RIS <cr> <lf>set to trigger on rising edge

To arm the instrument in external gate mode, use either of the following commands:

:PULSE0:STATE ON <cr> <lf>Arms the instrument
:INST:STATE ON <cr> <lf>Alternate form if T0 is currently selected.

A software generated external trigger can be generated by using the following command:

*TRG <cr> <lf>Generates a software external trigger

588B SCPI Command Summary

KeywordParameter RangeNotes
:INSTrumentSubmenu: Misc. system commands.
:COMMands?Returns an indentured list of all valid SCPI commands
:NSELect0 - nSelects a channel using the numeric value, where ‘n’ is the number of channels (6, 12, 24)
:STATe0/1 or OFF/ONEnables/Disables the selected channel output. If no channel has been selected the command is applied to T0. If T0 is selected all outputs are affected. Enabling T0 is the same as pressing the RUN button.
:SPULse | :PULSe0Submenu: Commands to change the system timer settings. Can use either :SPULse or :PULSe0.
:STATe0/1 or OFF/ONEnables/Disables the output for all channels. This command is the same as pressing the Run/Stop button.
:PERiod50[ns] &ndash; 5000[s]Sets the T0 period. The command should be sent without units. If for example 100µs is desired the parameter sent should be 0.0001 or using exponential notation i.e. 100e-6.
:MODeNORMal / SINGle / BURSt / DCYCleChanges the system output mode.
:BCOunter1 - 4,000,000,000Changes the number of pulses to output when the system is in burst mode. *Note: Do not include commas.
:PCOunter1 - 4,000,000,000Changes the number of on pulses to output when the system is in Duty Cycle mode. *Note: Do not include commas.
:OCOunter1 - 4,000,000,000Changes the number of off pulses to suppress when the system is in Duty Cycle mode. *Note: Do not include commas.
:CYCLe0 - 10,000,000Changes the number of cycles to output when the system is in Duty Cycle mode, 0 = continuous cycles. *Note: Do not include commas.
:TRIGger[1/2]Submenu: Commands to change the system trigger functions. Trig1 is the rear panel trigger input and Trig2 is the front panel input.
:MODeDISable / TRIGgerEnables the global trigger mode for the unit: When the unit is set to single pulse each trigger input will produce a output pulse, When in burst mode each trigger input will produce a burst of output pulses, and when in continuous or duty cycle mode the trigger input will start the pulses (the trigger will function the same as pressing the Run/Stop button)
:EDGeRISing / FALLingChoose the edge of the incoming pulse to trigger on.
:LEVel.20 &ndash; 15[V]Choose the gate level threshold to trigger on, this should be set to ~ 50% of the input potential.
:DEBounceENABle / DISableEnables / disables the circuit. Note: This will increase the insertion delay.
:GATe[1/2]Submenu: Commands to change the system gate functions. Gate1 is the rear panel gate input and Gate2 is the front panel input.
:MODeDISabled / PULSe / OUTPut / CHANnelSets the global gate mode for the unit: When in pulse inhibit mode if the pulse has started before the gate is seen the output pulse will finish, but any further pulses will be prevented, In output inhibit mode if a pulse has started it will be truncated as soon as the gate signal is seen and will prevent any further pulses, and when in channel mode each channel can be setup individually (be aware of insertion delay for each mode, this is listed in the appendix)
:LOGicLOW / HIGHChoose active Low (will allow pulses when low) or active High (will allow pulses when high)
:LEVel.20 &ndash; 15[V]Choose the gate level threshold to trigger on, this should be set to ~ 50% of the input potential
:DEBounceENABle / DISableEnables / disables the circuit. Note: This will increase the insertion delay.
:COUNter
:STATe0/1 or OFF/ONEnables / disables the counter.
:CLear1Clears the counter. Should be done before starting a count.
:SELectTo / CH1 / CH2 / CH4 / CH6Selects channel to count.
:PULSes?Returns the current count.
:PULSe[1/2/n]Submenu: Commands to change the channel settings. ‘n’ is the channel number.
:STATe0/1 or OFF/ONEnables/Disables output pulse for selected channel.
:DELay0[s] to 2000[s]Sets the delay for the selected channel. The command should be sent without units. If for example 25µs is desired the parameter sent should be 0.000025 or using exponential notation i.e. 25e-6.
:WIDTh10[ns] &ndash; 2000[s]Sets the pulse width for the selected channel. The command should be sent without units. If for example 50ns is desired the parameter sent should be 0.00000050 or using exponential notation i.e. 50e-9.
:MODeNORMal / SINGle / BURSt / DCYCleAllows the user to select the pattern of outputs to use on the channel level.
:BCOunter1 to 10,000,000In Burst mode allows user to select the number of pulses to output with each input clock pulse. *Note: Do not include commas.
:PCOunter1 to 10,000,000In duty cycle mode allows the user to select the number of pulses to create with each input clock pulse. *Note: Do not include commas.
:OCOunter1 to 10,000,000In duty cycle mode allows the user to select the number of pulses to suppress with each input clock pulse. *Note: Do not include commas.
:WCOunter0 to 10,000,000Allows the user to select how many T0 pulses to wait until the channel should start creating a output pulses. *Note: Do not include commas.
:OUTPutSubmenu: Commands to change the channels’ output parameters.
:MODeTTL / ADJustableAllows the user to select either TTL logic mode or Adjustable voltage output mode.
:POLarityNORMal / COMPlement / INVertedNormal is active HIGH, Inverted and Complement are active LOW.
:AMPLitude2.0 to 20[V]Allows the user to select the voltage potential for Adjustable output mode.
:MUX0 to 31
:CONTrolDISable / GATA / GATB / INHBEnables gate / inhibit function: GATA (ch8) as a global gate. GATB (ch12, 24 or 36) as a bank gate. INHB (ch12, 24 or 36) as a bank inhibit.
:SYNCDISabled / SYNA / SYNB / SYNTEnables sync function. SYNA (ch10) as a global sync. SYNB (ch12, 24, or 36) as a bank sync. SYNT (trig) as a global sync
:CGATeDISabled / PULSe / OUTPutSets the channel gate mode to Disabled, Pulse Inhibit mode, or Output Inhibit mode. *Note: The system global gate mode must be set to CHAN for this command.
:CLOGicLOW / HIGHSet the channel gate to active LOW or active HIGH. *Note: The system global gate mode must be set to CHAN for this command to work.
:SYSTemSubmenu: Commands to change general system settings.
:STATe0 / 1 or OFF / ONEnables/Disables the output for all channels. This command is the same as pressing the Run/Stop button.
:SYNCT0 / Ch1 / Ch2 / Ch4 / Ch6 / TRIG / GATESelects front panel sync output.
:ICLockSubmenu: Commands for selecting the system timer oscillator source.
:ICLOCKINT / 10 / 20 / 25 / 30 / 40 / 50 / 60 / 80Changes the source of the system clock. INT is internal ‘n’ is the input frequency in MHz
:OCLOCKT0 / 10 / 20 / 25 / 30 / 40 / 50 / 60 / 80Allows the user to select the clock source to output: When ICLock is INT: T0 is the system sync pulse. ‘n’ is the input frequency in MHz
:BEEPerSubmenu: Commands to change the units’ beeper settings.
:STATe0/1 or OFF/ONCommand to turn on or off the systems’ beeper.
:VOLume0 - 100Command to change the units’ beeper volume.
:COMMunicateSubmenu: Command to set the communication settings.
:BAUD4800 / 9600 / 19200 / 38400 / 57600 / 115200Command to change the baud rate for the RS-232 interface.
:USB4800 / 9600 / 19200 / 38400 / 57600 / 115200Command to change the baud rate for the USB interface.
:ECHo0/1 or OFF/ONCommand to Enable/Disable the echo function on the RS-232 interface. The Echo function will cause the unit to repeat the command received to the PC.
:KLOCk0/1 or OFF/ONCommand to lock-out the keypad.
:AUTorun0/1 or OFF/ONWhen the unit is powered up, if this command is enabled, the unit will start pulsing automatically.
:VERSion?Query only. Returns SCPI version number in the form YYYY.V for ex. 1999.0
:SERNumber?Query only. Returns the serial number of the unit. The format returned will be “SER# xxxxx”.
:INFOrmation?Query only. Returns model, serial number, firmware version, and FPGA version numbers. The same as the *IDN? Command.
:NSID?Query only. Returns firmware and FPGA identification numbers.
:CAPS0/1 or OFF/ONThe default value is 1, which means the unit is not case sensitive. 0 means the commands sent to the unit must be capitalized. *Note: To change this parameter the unit must be power cycled before the command will take effect.

IEEE 488.2 Common Commands

CommandParameter RangeNotes
System Commands
*BEP1 to 1000 / 1 to 100Generates a beep, first parameter is the volume, second parameter is the number of beeps to produce.
*LOG0 to 100Controls the brightness of the front panel logo.
*CAT?Query only. Generates an indentured list of all SCPI commands.
*ERSResets the ethernet port.
*IDN?Query only. Returns model, serial number, firmware version, and FPGA version numbers.
Storage Commands
*LBL? / String ValueUsed to query the label of the last saved or recalled configuration (?). Command to attach a string label to the current settings. The string must be in double quotes and no longer than 14 characters. Command must be followed by a *sav [1/2/n] command to take effect. *Note: To see the label on the screen a display update or reboot must take place.
*RCL0 - nRecall the saved configuration. ‘n’ depends on the model (6/12 channel units n = 12, 24 channel unit n = 24. *RCL 0 loads the system default values.
*SAV1 - nSave a configuration. ‘n’ depends on the model (6/12 channel units n = 12, 24 channel unit n = 24.
*RSTResets the unit to the default values. This is the same as *RCL 0
*PUP0 - nPowerUP configuration - Sets the configuration to be loaded on power up. 0 = The configuration that was stored on power down. n = The configuration #
Quick Setup Commands
*CFG0 [p1] [p2] &hellip;Provides a more efficient way of loading parameters. *CFG 0 loads the system timer parameters. See description below.
*CFGn [p1] [p2] &hellip; where &lsquo;n&rsquo; is the ch#Provides a more efficient way of loading parameters. *CFG n, where ‘n’ is the channel number, loads the channel parameters. See description below.
*CFG90Provides a more efficient way of loading parameters. *CFG 90 loads the trigger 1 parameters for the rear trigger input. See description below.
*CFG91Provides a more efficient way of loading parameters. *CFG 91 loads the trigger 2 parameters for the front panel input. See description below.
*CFG92Provides a more efficient way of loading parameters. *CFG 92 loads the gate 1 parameters for the rear panel gate input. See description below.
*CFG93Provides a more efficient way of loading parameters. *CFG 93 loads the gate 2 parameters for the front panel input. See description below.
Trigger Commands
*ARM0/1 or OFF/ONResets all channel counters simultaneously when the channels are in either single shot or burst mode. *Note: The system must be in continuous mode (this command is functionally the same as pressing the Run/Stop button).
*GTECreates a soft trigger for the gate input.
*TRGCreates a soft trigger for the trigger input.
Counter Commands
*CTR0 to 5, 10n = 0 disables the counter. n > 0 selects a channel, clears the counter & enables counter. n=1 -> T0, n=2 -> Ch1, n=3 -> Ch6, n=4 -> Ch8, n=5 -> Ch10. n=10 renables counter without clearing. Uses current channel for source. *CTR? returns the current counter value.

Config Command (*CFG)

*CFG ch# [parameter 1] [parameter 2] [parameter 3] … [parameter n]

ch# = channel number, 0 = System parameters, 9x = Trigger / Gate parameters. The parameter list (partial list) is terminated by a line feed or a carriage return.

Quick Configuration Commands

System Parameters ( *CFG 0 )
Parameter #CommandTypeRange
SPULseSubsystem [24]
1STATeBoolean0 1
2PERIodDouble0.000000050 to 5000.000000000
3MODeListCONTinuous SINGle BURSt DCYCle
4BCOunterInteger1 to 4000000000
5PCOunterInteger1 to 4000000000
6OCOunterInteger1 to 4000000000
7CYCLeInteger1 to 10000000
Channel Parameters ( *CFG n ) ( n = 1 to the # of channels )
Parameter #CommandTypeRange
PULSe[n]Subsystem [12]
1STATeBoolean0 1
2DELayDouble0.000000000 to 2000.000000000
3WIDThDouble0.000000100 to 2000.000000000
4CMODeListNORMal SINGle BURSt DCYCle
5BCOunterInteger1 to 10000000
6PCOunterInteger1 to 10000000
7OCOunterInteger1 to 10000000
8WCOunterInteger1 to 10000000
9OUTPutSubsystem
10MODeListTTL ADJustable
11POLarityListNORMal COMPlement INVerted
12AMPLitudeSingle2.00 to 20.00
13MUXInteger0 to 31
14CONTrolListDISable GATA GATB INHB
15SYNCListDISable SYNA SYNB SYNT
16CGATeListDISable PULSe OUTPut
17CLOGicListLOW HIGH
Trigger Parameters ( *CFG 90 ) ( rear panel trigger input )  ·  ( *CFG 91 ) ( front panel input )
Parameter #CommandTypeRange
TRIGgerSubsystem
1STATeListDISable TRIGger
2EDGeListRISing FALLing
3LEVelSingle0.20 to 15.00
4DEBounceListDISable ENABle
Gate Parameters ( *CFG 92 ) ( rear panel gate input )  ·  ( *CFG 93 ) ( front panel input )
Parameter #CommandTypeRange
GATeSubsystem
1STATeListDISable ENABle PULSeInh OUTPutInh CHPUlseInh CHOUtputInh
2LOGicListLOW HIGH
3LEVelSingle0.20 to 15.00
4DEBounceListDISable ENABle

7. Appendix A – Specifications

588B Specifications

ParameterSpecification
Internal Rate Generator
Rate (T0 period)50ns to 5,000s (0.0002 Hz to 20.000 MHz)
Resolution5 ns
Accuracy1 ns + .0001 x period
Jitter< 50 ps RMS
Settling1 period
Burst Mode Counter1 to 4,000,000,000 pulses
Duty Cycle Mode Counters1 to 4,000,000,000 pulses
Cycle Counter1 to 10,000,000 cycles
Timebase200 MHz, low jitter PLL
Oscillator50 MHz, 25 ppm
System Output ModesSingle pulse, burst, duty cycle, external gate/trigger
Pulse Control ModesInternal rate generator, external trigger/gate
Channel Timing Generator
Channel Output ModesSingle shot, burst, duty cycle, normal
Control ModesInternally triggered, externally triggered and external gate. Each channel may be independently set to any of the modes.
Burst Mode Counter1 to 10,000,000 pulses
Duty Cycle Mode Counters1 to 10,000,000 pulses
Wait Function Counter0 to 10,000,000 pulses
Output MultiplexerUp to five (5) channel timers may be routed to each output channel.
TimebaseSame as internal rate generator
Delays
Delay Range0 - 2,000 s
Width Range10ns – 2,000s
Accuracy1 ns + 0.0001 x Delay
Resolution250 ps
Pulse Inhibit Delay< 120 ns typical
Output Inhibit Delay< 50 ns typical

Output Module Specifications

ParameterSpecification
TTL/Adjustable Dual Channel Output Module (Standard)
Output Impedance50 ohm
TTL/CMOS Mode
Output Level4.0 V typ into 1 kohm
Rise Time3 ns typ (10% - 90%)
Slew Rate> 0.5 V/ns
Jitter50 ps RMS channel to channel
Adjustable Mode
Output Level2.0 to 20 VDC into 1 k ohm; 1.0 to 10.0 VDC into 50 ohm
Output Resolution10 mV
Current200 mA typical, 400 mA (short pulses)
Rise Time15 ns typ @ 20 V (high imp); 25 ns typ @ 10 V (50 ohms) (10% - 90%)
Slew Rate>0.1 V/ns
Overshoot<100 mV + 10% of pulse amplitude

System External Trigger/Gate Input(s)

ParameterSpecification
Trigger Input
TypePulse 0.5 to 30v, switch closure (footswitch, safety interlock, etc.)
FunctionGenerate individual pulses, start a burst or continuous
RateDC to 1/ (200 ns + longest active pulse). Maximum of 5 MHz
SlopeRising or Falling
Gate Input
ModePulse inhibit or output inhibit
PolarityActive high/active low
Channel BehaviorGlobal w/Individual Channel Control
Trigger/Gate Dual Input Module (Standard)
Standard dual channel input module, providing one trigger input, one gate input and one dual purpose input on the front panel.
Threshold0.2 to 15 VDC
Maximum Input Volt.30 V Peak
Impedance5.3 K ohm + 10pF
Resolution10 mV
Trigger Input
SlopeRising or Falling
Jitter800 ps RMS
Insertion Delay<160 ns
Minimum Pulse Width10 ns
Gate Input
Pulse Inhibit Delay<160 ns
Output Inhibit Delay<160 ns

Standard Features

ParameterSpecification
Communications
CommunicationsUSB / RS232 / Ethernet
External Clock In10 MHz, 20 MHz, 25 MHz, 30 MHz, 40 MHz, 50 MHz, 60 MHz, 80 MHz
External Clock OutT0, 10 MHz, 20 MHz, 25 MHz, 30 MHz, 40 MHz, 50 MHz, 60 MHz, 80 MHz, 100 MHz
General
Storage12 ch = 12 storage bins; 24 ch = 24 storage bins
Dimensions19” x 10” x 3.50” 12/24 ch (standard 2U rack mount)
Weight8 lbs
Power100 - 240 VAC 50/60 Hz <3 A
Fuse(Qty 2) 630 mA, 250 V Time-lag

588B Mechanical Dimensions

Figure 6. 588B 12 Channel Dimensions
Figure 6. 588B 12 Channel Dimensions
Figure 7. 588B 24 Channel Dimensions
Figure 7. 588B 24 Channel Dimensions

8. Appendix B – Safety Symbols

Safety Marking Symbols

Technical specifications including electrical ratings and weight are included within the manual. See the Table of Contents to locate the specifications and other product information. The following classifications are standard across all BNC products:

  • Indoor use only
  • Ordinary Protection: This product is NOT protected against the harmful ingress of moisture.
  • Class 1 Equipment (grounded type)
  • Main supply voltage fluctuations are not to exceed ±10% of the nominal supply voltage.
  • Pollution Degree 2
  • Installation (overvoltage) Category II for transient overvoltage’s
  • Maximum Relative Humidity: <80% RH, non-condensing
  • Operating temperature range of 0°C to 40°C
  • Storage and transportation temperature of -40°C to 70°C
  • Maximum altitude: 3000 m (9843 ft.)
  • This equipment is suitable for continuous operation.
Safety / EMC. The Model 588B complies with applicable Safety and EMC regulations and directives. (verify: the source PDF does not display a CE mark image in this section; no CE mark was added.)

This section provides a description of the safety marking symbols that appear on the instrument. These symbols provide information about potentially dangerous situations which can result in death, injury, or damage to the instrument and other components.

PublicationDescription / Comment
IEC 417, No. 5031Direct current. Vdc may be used on rating labels.
IEC 417, No. 5032Alternating current. For rating labels, the symbol is typically replaced by V and Hz as in 230V, 50Hz. DO NOT USE Vac.
IEC 417, No. 5033Both direct and alternating current
IEC 617-2, No. 02-02-06Three-phase alternating current
IEC 417, No. 5017Earth (ground) terminal. Primarily used for functional earth terminals which are generally associated with test and measurement circuits. These terminals are not for safety earthing purposes but provide an earth reference point.
IEC 417, No. 5019Protective conductor terminal. This symbol is specifically reserved for the protective conductor terminal and no other. It is placed at the equipment earthing point and is mandatory for all grounded equipment
IEC 417, No. 5020Frame or chassis terminal. Used for points other than protective conductor and functional earth terminals where there is a connection to accessible conductive terminals to advise the user of a chassis connection.
IEC 417, No. 5021Equipotentiality. Used in applications where it is important to indicate to the operator that two or more accessible functional earth terminals or points are equipotential. More for functional rather than for safety purposes
IEC 417, No. 5007On (Supply). Note that this symbol is a bar, normally applied in the vertical orientation. It is not the number 1.
IEC 417, No. 5008Off (Supply). Note that this symbol is a true circle. It is not the number 0 or the letter O.
IEC 417, No. 5172Equipment protected by double insulation or reinforced insulation (equivalent to Class II if IEC 60536)
ISO 3864, No. B.3.6 (Background color - yellow; symbol and outline - black)Caution, risk of electric shock. Generally used only for voltages in excess of 1000 V. It is permissible to use it to indicate lower voltages if an explanation is provided in the manual. Color requirements do not apply to markings on equipment if the symbol is molded or engraved to a depth or raised height of 0.5 mm, or that the symbol and outline are contrasting in color with the background.
IEC 417, No. 5041 (Background color - yellow; symbol and outline - black)Caution, hot surface. Color requirements do not apply to markings on equipment if the symbol is molded or engraved to a depth or raised height of 0.5 mm, or that the symbol and outline are contrasting in color with the background.
ISO 3864, No. B.3.1 (Background color - yellow; symbol and outline - black)Caution (refer to accompanying documents) used to direct the user to the instruction manual where it is necessary to follow certain specified instructions where safety is involved. Color requirements do not apply to markings on equipment if the symbol is molded or engraved to a depth or raised height of 0.5 mm, or that the symbol and outline are contrasting in color with the background.
IEC 417, No. 5268-aIn-position of bistable push control
IEC 417, No. 5269-aOut-position of bistable push control

9. Appendix C – Ethernet Connectivity

The Ethernet module used in Berkeley Nucleonics Corporations’ pulse generators is a “Digi Connect ME” device manufactured by Digi International, Inc. It supports virtually all practical Ethernet communication methods. A set of utilities and documentation by Digi is included on the CD/USB shipped with the pulse generator. This discussion assumes that the Digi utilities included with your pulse generator and National Instruments VISA (version 3.3 in this procedure, see National Instruments’ website) are installed.

Determining IP address

The Digi module has been reset to factory defaults before it left the manufacturing facility. In this mode, it is ready to be assigned an IP address by the local DHCP server. If a crossover cable is being used, the Ethernet device will assume a default IP address.

The Digi utility “Digi Device Discovery” can be used to determine the IP address that is currently assigned to the Ethernet module. Hit “Start, All Programs, Digi Connect, Digi Device Discovery”. When the utility opens, it scans the LAN looking for Digi Ethernet modules. It may take a minute after plugging in or powering the Ethernet module before the LAN negotiates the connection with the Digi module. Hit “Refresh View” in the left column after a minute or so if the utility fails to see the unit when you start it. When the utility sees the Digi device, it will display it in the list (Figure 8).

Figure 8. Digi Device Discovery utility displaying Digi module discovered on the LAN.
Figure 8. Digi Device Discovery utility displaying Digi module discovered on the LAN.

Note the IP address for use later. A static IP address can be set using the “Configure network settings” link in the left hand column. From this point, a web interface can be opened, allowing access to configuration options for the Digi module. Select “Open web interface” under the device tasks on the left hand column of the Digi Device Discovery software.

You will be required to enter a username and password. Units built after January 2021 will have a unique password for each unit. The password can be found on the paperwork shipped with the device and there will also be a label on the device indicating the password.

  • Username: “root”
  • Password: <unit specific>

The Digi Connect ME Configuration and Management home page will be displayed (Figure 9).

Figure 9. Configuration Home page.
Figure 9. Configuration Home page.

From the home page select “Serial Ports” on the left hand side. The serial port configuration page will be displayed (Figure 10).

Figure 10. Serial Ports Page.
Figure 10. Serial Ports Page.

Select Port 1 from the list of ports. The Port Profile Settings will then be displayed. Be sure that the box next to “Enable Raw TCP access using TCP Port:” is selected and note the port number. By default the port number is 2101. Then change the current port profile by selecting the “Change Profile…” link (Figure 11).

Figure 11. Change Serial Port Profile.
Figure 11. Change Serial Port Profile.

Select TCP Sockets from the list of available profiles and click on apply at the bottom of the page (Figure 12).

Figure 12. Selecting TCP Sockets.
Figure 12. Selecting TCP Sockets.

Next, select the “Basic Serial Settings” section located below the “Port Profile Settings” section. Set the baud rate to 115200 (Figure 13).

Figure 13. Basic Serial Settings.
Figure 13. Basic Serial Settings.

Click on apply after changing the baud rate. Select “Logout” from the bottom of the left hand column. After logging out power cycle the instrument. Use the Digi Device Discovery software to see if the IP address of the unit appears again. Once the unit has been identified the unit is ready for communication.

Testing Ethernet Communication

Ethernet communication to the pulse generator can be tested using any terminal utility that supports TCPIP. Two options are the “VISA Interactive Control” that is installed with National Instruments VISA libraries and another is Putty.

VISA Interactive Control Example

After determine the IP address for the unit, “VISA Interactive Control” can be used to send and receive command strings to and from the pulse generator. The VISA Interactive Control can be found installed in the National Instruments program group. When this utility opens, it displays local resources found. TCPIP resources are typically not shown in this window. However, the resource string can be successfully entered manually in the “Resource to Open” field (Figure 14). The resource string for Digi Connect Ethernet Modules in Berkeley Nucleonics Corporation pulse generators needs to be formatted as follows:

TCPIP0::<IP address>::2101::SOCKET

Or, for example:

TCPIP0::192.168.1.44::2101::SOCKET

Figure 14. VISA Interactive Control.
Figure 14. VISA Interactive Control.

A session window will open allowing access to communication parameters and read and write buffer access and control. Berkeley Nucleonics Corporation units support SCPI formatted command strings. For these units, command strings and responses are both terminated with text-style line terminations, a carriage return and linefeed pair. These are ASCII characters number 13 and 10 respectively. They are represented in this utility (and in many other contexts) as “\r\n”. In hexadecimal, these are represented as “0x0D” and “0x0A”, respectively. When sending command strings to the pulse generator, strings need to be terminated with a carriage return and linefeed pair. Without this line termination, the pulse generator will not execute commands, but continue to wait for more characters until it sees this string termination sequence.

Select the “Write” tab (Figure 15).

Figure 15. Write Tab.
Figure 15. Write Tab.

The “Buffer” field can be edited to send any valid command to the pulse generator. Hit “Execute” to send the “*IDN?” command. Now select to the “Read” tab (Figure 16).

Figure 16. Read Tab.
Figure 16. Read Tab.

Successive iterations between “Write” and “Read” operations can be accomplished from here. Keep in mind that it is always best to follow each “Write” command immediately with a “Read” command, whether the commands are generated from a utility such as this, or from a more complex coded application. The pulse generator is designed to respond to every command line with either the result of a query (ie, “:pulse1:width?\r\n” could return “0.000100000”), or a simple “ok\r\n” to acknowledge a successful parameter change. If a “Read” command does not follow each “Write” command, the read (output) buffer in the pulse generator can overfill and become corrupt.

Putty Example

Putty is an open source terminal emulator that can be used for various methods of communications. Once Putty is installed and run for the first time, a few parameters need to be entered before communications with the unit can be established (Figure 17).

  • Host Name (or IP Address): Enter the IP address of the unit determined by using the Digi Device Discovery utility as described previously.
  • Port: Enter the port number of the device as set during the device configuration. Default is 2101.
  • Connection type: Select Raw.
Figure 17. Putty Settings.
Figure 17. Putty Settings.

Select Open and a new window will appear (Figure 18). In this window, commands or queries can be sent to the unit. In the example, an *IDN? query is sent. Once enter is pressed, a response should be received.

Figure 18. Putty Terminal Window.
Figure 18. Putty Terminal Window.

Many applications may need a communication mechanism no more sophisticated than what can be achieved with these simple utilities. At the very least, these tools can be used to verify that the pulse generator and communication hardware are functioning properly. From here, a specific application in whatever preferred programming language can be built.

10. Appendix F – Impedance Matching Outputs

TZ50 Impedance Matching Output Module

This module option allows a user to have a 50 Ω load on the output while maintaining output amplitude of at least 4 Volts while in the TTL/CMOS mode. All other functionality of the module is the same as the AT20 modules, including output while using the Adjustable Mode Function of the channels.

TTL/Adjustable Outputs

ParameterSpecification
TTL/CMOS Mode
Output Level4.0 Volts typical into 50 Ω
Rise Time3 ns
Slew Rate>0.5 V/ns
Jitter – Channel to Channel<50 ps RMS
Adjustable Mode
Output Resolution10 mV
Current200 mA typical, 400 mA max (short pulses)
Slew Rate>0.1 V/ns
*Note. The TZ50 module has significant overshoot and ringing through high impedance (see figure).
Figure 9: Overshoot on the Output of TZ50 Module.
Figure 9: Overshoot on the Output of TZ50 Module.

11. Appendix H – External Clock

588B External Clock Operation

The 588B pulse generator can utilize an external clock input to synchronize instrument timing. The following specifications must be met in order for proper external clock operation:

ParameterMinimumMaximum
Pulse Width5ns-
Pulse Amplitude3.3Vrms5Vrms
Input Impedance>10KΩ
Frequency10MHz100MHz
Jitter, Cycle to Cycle± 300ps
Jitter, Period± 1ns
Pulse Width Duty Cycle45%55%
*Note. These specifications are preliminary and subject to change.

12. Support / Contact

For technical support, warranty service, or questions about operating the Model 588B, contact Berkeley Nucleonics Corporation:

Model 588B User Manual · Document Version Number: 1.0 · Print Code: 52021160