Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
The standard CAMAC Dataway cycle, as defined in IEC 60516 and IEC 61639, transfers one 24-bit data word per microsecond cycle, yielding a theoretical throughput of approximately 3 MByte/s. In practice, the overhead of command transmission across the highway, crate controller decoding, and status verification reduces the sustainable throughput to 1–2 MByte/s. For many nuclear physics experiments with modest event rates (10–100 kHz) and small data payloads (a few words per event), this was entirely adequate. However, the advent of high-luminosity accelerators, multi-parameter coincidence experiments, and imaging detectors in the 1980s created demand for significantly higher data throughput.
IEC TR 61640 addresses this challenge by defining several block transfer techniques that amortize the command and addressing overhead over multiple data words. The key insight is that many data acquisition scenarios involve reading sequential data from a single module (e.g., a multi-channel ADC readout) or reading the same address from multiple modules (e.g., scanning all modules in a crate). By eliminating redundant addressing, block transfers can approach the raw Dataway bandwidth far more efficiently than single-cycle operations.
IEC TR 61640 defines three principal block transfer modes, each suited to different data acquisition patterns:
| Mode | Also Known As | Data Source | Address Progression | Termination Condition |
|---|---|---|---|---|
| Q-Stop | Repeat-until-Q=0 | Fixed module, fixed sub-address | None (same address repeated) | Module drops Q |
| Q-Scan | Address Scan | Sequential sub-addresses | Auto-increment A field | Q=0 or N=0 |
| List-Sequential | Command List | Variable per command | Pre-loaded command list | End of list or Q=0 |
Q-Stop is the simplest and most widely used block transfer mode. The highway controller issues a single command specifying the station number (N), sub-address (A), and function (F). The crate controller then repeatedly executes the same Dataway cycle, incrementing an internal word counter. After each cycle, the module indicates whether more data is available by asserting or dropping the Q line. When Q drops (Q=0), the block transfer terminates. This mode is ideal for reading data from a FIFO buffer or successive-approximation ADC where words become available sequentially.
Q-Scan mode reads data from sequential sub-addresses within a single module or from multiple modules at the same sub-address. The crate controller auto-increments the sub-address field (A0–A3) or the station number field (N1–N5) after each Dataway cycle. This mode is particularly useful for reading multi-channel ADC modules where each channel maps to a distinct sub-address. The scan terminates when a module returns Q=0, indicating that no more valid data is present at subsequent addresses.
The primary advantage of Q-Scan over Q-Stop is that it can read from different register locations within a module without requiring individual commands for each location. However, Q-Scan is slightly slower than Q-Stop because the address increment logic adds a small delay to each cycle.
List-Sequential is the most flexible block transfer mode. The highway controller prepares a command list in memory — an array of (N, A, F) tuples — and then initiates the block transfer. The crate controller sequences through the command list automatically, executing each command and storing or transmitting the resulting data. This mode is ideal for complex readout sequences where different modules require different function codes or sub-addresses.
IEC TR 61640 also addresses the integration of CAMAC block transfers with host computer Direct Memory Access (DMA) systems. In a DMA-configured CAMAC system, block transfer data flows directly from the crate controller to the host computer’s memory without CPU intervention for each word. The standard defines two DMA integration approaches:
| DMA Approach | Data Path | Controller Hardware | CPU Overhead |
|---|---|---|---|
| Highway DMA | Crate → Highway → Host memory | DMA controller on highway interface | Minimal (setup only) |
| Local DMA | Crate → Local memory → Host (optional) | DMA controller in crate controller | None during acquisition |
In the Highway DMA approach, the highway interface card in the host computer contains a DMA controller that transfers block data directly into host memory. The CPU initializes the block transfer parameters (start address, word count, source module) and then the DMA controller handles all subsequent data movement. An interrupt is generated when the transfer completes or when a programmed word count is reached.
The Local DMA approach places the DMA controller and a local buffer memory within the crate controller itself. This is particularly useful when the host computer is distant from the experiment (e.g., connected via serial highway) because it decouples the timing of data acquisition from the timing of data transfer to the host. The crate controller can acquire a complete event in local memory at full Dataway speed, then transfer the event to the host at the host’s pace.
Achieving maximum throughput from a CAMAC system using block transfers requires careful attention to several engineering details:
| System Configuration | Sustained Throughput | Best Suited For |
|---|---|---|
| Single-cycle, branch highway | 0.1–0.2 Mword/s | Control, monitoring, slow control |
| Q-Stop, branch highway, DMA | 0.6–0.8 Mword/s | Waveform digitization, multi-parameter events |
| Q-Scan, branch highway, DMA | 0.4–0.6 Mword/s | Multi-channel ADC scan, detector array readout |
| List-Sequential, local DMA | 0.5–0.7 Mword/s | Complex trigger-based readout, mixed module types |
| Single-cycle, serial highway | 0.02–0.05 Mword/s | Remote monitoring, distributed sensors |
With Q-Stop mode on a parallel branch highway using DMA, sustained throughput of 700,000–800,000 words per second is achievable. This corresponds to approximately 2.1–2.4 MByte/s with 24-bit words. The theoretical maximum (1 word per microsecond, full efficiency) is 1 Mword/s, but real-world overhead reduces this to about 80% of theoretical for Q-Stop and 60–70% for Q-Scan.
In Q-Stop mode, the module asserts Q=1 after each word transfer while more data is available in its buffer. When the buffer is empty or a programmed limit is reached, the module returns Q=0. The crate controller monitors Q after each cycle and terminates the block transfer when Q=0 is detected. This provides a simple hardware flow control mechanism.
Yes, but performance is significantly lower. The serial highway’s 5 Mbit/s data rate limits block transfer throughput to approximately 50,000–200,000 words per second depending on the message format and overhead. For applications requiring block transfer over long distances, it is often preferable to use local DMA (buffering in the crate controller) and then transfer data to the host at a slower rate.
While CAMAC has been superseded for new installations, IEC TR 61640 remains relevant for two reasons: (1) Many legacy CAMAC systems continue operating in nuclear power plants and research facilities, where understanding block transfer modes is essential for maintenance and troubleshooting; (2) The block transfer concepts defined in this standard (command lists, hardware flow control, DMA integration) directly influenced modern data acquisition architectures and provide valuable engineering insight for anyone designing high-throughput measurement systems.