Stanford Research Systems DG645
Table of contents
Description
The SRS DG645 is an 8-channel digital delay generator with sub-picosecond delay resolution. The delaygen module provides an asyn port driver (drvAsynDG645) that communicates with the instrument over serial or Ethernet.
Communication
The DG645 supports serial (RS-232) and Ethernet connections.
Serial
| Setting | Value |
|---|---|
| Baud rate | 9600 (default) or 19200 |
| Data bits | 8 |
| Parity | None |
| Stop bits | 1 |
| Flow control | CTS/RTS hardware handshaking |
| Input EOS | \r\n |
| Output EOS | \n |
drvAsynSerialPortConfigure("serial1", "/dev/ttyS0", 0, 0, 0)
asynSetOption(serial1, 0, "baud", "19200")
asynSetOption(serial1, 0, "bits", "8")
asynSetOption(serial1, 0, "parity", "none")
asynSetOption(serial1, 0, "stop", "1")
asynSetOption(serial1, 0, "crtscts", "Y")
asynOctetSetInputEos("serial1", 0, "\r\n")
asynOctetSetOutputEos("serial1", 0, "\n")
Ethernet
The DG645 listens on TCP port 5025.
drvAsynIPPortConfigure("serial1", "x.x.x.x:5025", 0, 0, 0)
asynOctetSetInputEos("serial1", 0, "\r\n")
asynOctetSetOutputEos("serial1", 0, "\n")
Driver Initialization
drvAsynDG645(myport, ioport, ioaddr)
| Parameter | Type | Description |
|---|---|---|
| myport | string | Name for the driver’s asyn port (e.g., “DG1”). Used as the PORT macro when loading the database. |
| ioport | string | Name of the communication asyn port (e.g., “serial1”). |
| ioaddr | int | Address on the communication port. Use -1 for serial/Ethernet. |
Example:
drvAsynDG645("DG1", "serial1", -1)
Database
Load drvDG645.db with the following macros:
| Macro | Description |
|---|---|
| P | PV name prefix (e.g., “delaygen:”) |
| R | PV name infix (e.g., “DG1:”) |
| PORT | Driver port name, must match the myport argument |
dbLoadRecords("$(DELAYGEN)/db/drvDG645.db", "P=delaygen:,R=DG1:,PORT=DG1")
Features
The DG645 database provides control over:
- Delay channels A-H – Set and read the delay and reference source for each channel, with tweak (increment/decrement) support.
- Output groups T0, AB, CD, EF, GH – Set amplitude, offset, and polarity for each output pair, with TTL and NIM preset modes.
- Trigger – Source selection (internal, external rising/falling, single shot, line), rate, level, inhibit, holdoff, and prescale settings.
- Burst mode – Enable burst mode, set count, delay, and period.
- Advanced triggering – Per-output-pair prescale and phase settings.
- Interface configuration – Serial, GPIB, and LAN interface parameters are readable and configurable through PVs.
- Status – Instrument status and event status register readback.
The driver uses interrupt-driven status checking rather than polling after each operation, reducing communication overhead.