Berkeley Nucleonics 505

Table of contents

Description

The Berkeley Nucleonics 505 is a multi-channel pulse/delay generator. The delaygen module provides support using StreamDevice with a protocol file. No custom driver initialization is needed beyond configuring the asyn serial port.

Communication

Setting Value
Baud rate Configurable, 4800-38400
Data bits 8
Parity None
Stop bits 1
Input EOS \r\n
Output EOS \r\n
drvAsynSerialPortConfigure("serial1", "/dev/ttyS0", 0, 0, 0)
asynSetOption(serial1, 0, "baud", "9600")
asynSetOption(serial1, 0, "bits", "8")
asynSetOption(serial1, 0, "parity", "none")
asynSetOption(serial1, 0, "stop", "1")
asynOctetSetInputEos("serial1", -1, "\r\n")
asynOctetSetOutputEos("serial1", -1, "\r\n")

Setup

The BNC 505 uses StreamDevice, so the protocol search path must be set before loading the databases:

epicsEnvSet("STREAM_PROTOCOL_PATH", "$(DELAYGEN)/db")

No driver initialization command is needed. The databases reference the asyn port name directly.

Databases

The BNC 505 uses two database files: one for global instrument settings and one loaded per pulse channel.

BNC_505.db

Global instrument controls. Load once per instrument.

Macro Description
P PV name prefix
R PV name infix
PORT Asyn port name (e.g., “serial1”)
dbLoadRecords("$(DELAYGEN)/db/BNC_505.db", "P=delaygen:,R=BNC:,PORT=serial1")

BNC_505_Pn.db

Per-pulse-channel controls. Load once for each pulse channel, setting the N macro to the channel number.

Macro Description
P PV name prefix
R PV name infix
N Pulse channel number (e.g., 1, 2, 3, …)
PORT Asyn port name (e.g., “serial1”)
dbLoadRecords("$(DELAYGEN)/db/BNC_505_Pn.db", "P=delaygen:,R=BNC:,N=1,PORT=serial1")
dbLoadRecords("$(DELAYGEN)/db/BNC_505_Pn.db", "P=delaygen:,R=BNC:,N=2,PORT=serial1")

Features

The global database (BNC_505.db) provides:

  • Run/Stop – Start and stop pulse generation, with running status feedback.
  • Period – Set the pulse period with tweak controls.
  • Mode – Normal, single, burst, or duty cycle operation.
  • External input – Mode, level, edge, and polarity settings for the external trigger input.

The per-pulse database (BNC_505_Pn.db) provides for each channel:

  • State – Enable or disable the pulse channel.
  • Width and Delay – Set pulse width and delay, each with tweak controls.
  • Sync – Select the synchronization source (T0-T8).
  • Polarity and Amplitude – Output signal configuration.
  • Mode – Channel-specific operating mode.
  • Gating – Gate control for the pulse channel.