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.