Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
CAMAC 是一种模块化数据采集和控制标准,最初于 1970 年代为核物理仪器开发,但后来被许多需要可靠实时数据采集的科学和工业应用所采用。基本构建模块是 CAMAC 机箱 — 一个 19 英寸机架安装式机箱,可容纳最多 24 个插入式模块、一个背板数据总线(Dataway)和一个管理所有数据传输的机箱控制器。
机箱控制器充当 CAMAC Dataway 与外部计算机系统之间的智能桥接器,通过三种公路类型之一连接:并行分支公路(通过 66 线并行总线连接最多 7 个机箱)、串行公路(通过串行环路连接最多 62 个机箱)或计算机独立公路(直接连接到特定计算机总线)。IEC 61751 主要关注所有公路类型通用的机箱控制器功能,特别强调串行公路控制器。
IEC 61751 定义的机箱控制器执行几个关键功能:
Dataway 控制:控制器生成 Dataway 操作所需的定时和控制信号,包括将数据锁存到模块中或从模块中锁存出来的选通信号(S1、S2)、防止当前周期内新操作的忙信号,以及选择特定模块和功能的命令线(F、A、N、子地址)。
地址解码:控制器解释来自公路命令的站号(N)和子地址(A),并生成相应的 Dataway 地址线。它必须处理每个机箱最多 24 个站的全部地址空间,每个站支持最多 16 个子地址(A0 至 A15),即每个机箱共有 384 个独立可寻址的寄存器位置。
数据路由:CAMAC 支持 24 位并行数据字(24 条读线和 24 条写线,外加奇偶校验)。控制器根据功能码(F)管理数据流方向 — 读功能(F0-F15)将数据从模块传输到控制器,写功能(F16-F31)将数据从控制器传输到模块,特殊功能执行测试和控制操作而不传输数据。
LAM(Look-at-Me)处理:每个 CAMAC 模块可以发出 LAM 信号以请求控制器服务。控制器必须对 LAM 请求进行优先级排序、排队并向主机报告。IEC 61751 规定了 LAM 处理协议,包括按优先级分组的分级 LAM 系统。
IEC 61751 规定的串行公路是一种字节串行、位并行通信系统,以环路配置连接最多 62 个 CAMAC 机箱。每个机箱包含一个实现串行协议的串行机箱控制器(SCC)。该公路使用字节并行格式(8 位加奇偶校验,通过 9 对差分对传输以实现平衡传输),在标准时钟速率 5 MHz 下运行,产生约 5 MB/s 的原始数据吞吐量。
串行环路拓扑提供了固有的容错能力:如果单个 SCC 出现故障或断电,串行消息会自动通过 SCC 的旁路继电器重新路由,保持与所有下游机箱的通信。IEC 61751 强制的这一特性对于核设施应用至关重要,因为单个故障点不能使整个数据采集系统瘫痪。
| 特性 | 并行分支公路 | 串行公路 | 计算机独立公路 |
|---|---|---|---|
| 最大机箱数 | 7 | 62 | 1-7(取决于系统) |
| 传输介质 | 66 线并行电缆 | 9 对双绞线(差分) | 直接总线连接 |
| 最大距离 | 30 m | 500 m(可用中继器扩展) | 受限于计算机机箱 |
| 数据速率 | ~20 MB/s(峰值) | ~5 MB/s(5 MHz 字节时钟) | 取决于计算机总线 |
| 容错能力 | 有限(总线拓扑) | 带自动旁路继电器的环路 | 无固有容错 |
| 典型应用 | 小型实验、单房间 | 大型设施、分布式系统 | 嵌入式系统 |
IEC 61751 为串行公路事务定义了结构化的消息格式。每条消息包含一个头部字节(包含机箱号 0-61)、一个命令字节(读取、写入、状态或控制)、数据字节(最多 3 个字节用于 CAMAC 24 位数据字)和一个尾部字节(包含状态信息和错误标志)。消息定时有精确规定:
串行公路以命令-响应模式运行:主机计算机(串行公路驱动器 SHD)将命令消息发送到环路上,该消息在每个 SCC 中循环,直到到达寻址的机箱。被寻址的 SCC 执行 CAMAC Dataway 周期,并在消息沿环路返回 SHD 时将响应数据和状态插入消息中。单个 CAMAC 操作的总往返时间包括串行传播延迟(约 5 ns/m 电缆)、每个 SCC 中的处理延迟(通常每个机箱 1-2 个字节周期)和 Dataway 周期执行时间(约 1 µs)。
IEC 61751 定义了多机箱系统的配置和寻址方案。串行公路系统中的每个机箱都被分配一个唯一的机箱号(0 到 61),通过 SCC 上的开关或跳线设置。机箱号用作串行公路消息中的地址,也定义了 LAM 报告顺序 — SHD 按机箱号升序轮询 LAM 状态,提供确定性优先级方案。
该标准还涉及初始化和复位程序。在上电或系统复位时,SHD 发送一个系统初始化(Z)命令,将所有机箱中的所有模块复位到已知状态。IEC 61751 规定了 Z 命令、Dataway 清除(C)信号和机箱控制器内部状态机之间的定时关系,以确保系统中所有机箱的确定性启动行为。
| 功能码(F) | 助记符 | 操作 | 数据传输 | 典型用途 |
|---|---|---|---|---|
| F(0) | 读取 | 读寄存器 | 模块到控制器,24 位 | 读取 ADC 值 |
| F(1) | 读取并清除 | 读寄存器,然后清除 | 模块到控制器,24 位 | 读取定标器并复位 |
| F(8) | 测试 LAM | 测试 LAM 是否置位 | 无(仅状态) | LAM 轮询 |
| F(16) | 写入 | 写寄存器 | 控制器到模块,24 位 | 设置 DAC、设置阈值 |
| F(24) | 禁用 | 禁用模块功能 | 无 | 禁用通道 |
| F(25) | 启用 | 启用模块功能 | 无 | 启用通道 |
| F(26) | 执行 | 执行模块功能 | 无 | 开始采集 |
| F(27) | 测试状态 | 测试模块状态 | 无(仅状态) | 检查忙/就绪 |
虽然 CAMAC 在新设计中已被 VMEbus、PCIe 和 PXI 广泛取代,但全球数百个 CAMAC 系统仍在核设施中运行。该标准的持久性归因于几个因素:Dataway 的确定性定时(对核安全系统至关重要)、用于核信号处理的模块(ADC、TDC、甄别器、定标器、符合单元)的广泛可用性,以及已经通过安全关键核应用认证的系统的既有安装基础。
IEC 61751 在两项关键活动中仍然具有现实意义:遗留系统维护(使用替换 SCC 和控制器保持运行的 CAMAC 系统)和系统扩展(增加新机箱或使用以太网或 USB 接口升级现有控制器)。一些制造商生产现代 CAMAC 机箱控制器,这些控制器实现了 IEC 61751 规范,同时为主机提供千兆以太网或 USB 3.0 接口,实现 30-50 MB/s 的数据吞吐量 — 远超原始并行分支公路的性能。
1. IEC 61751 与主要 CAMAC 标准 IEC 60641 有何区别?
IEC 60641(第 1-4 部分)定义了核心 CAMAC 规范:机箱和 Dataway 的机械和电气特性(第 1 部分)、块传输协议(第 2 部分)、并行分支公路(第 3 部分)和串行公路(第 4 部分)。IEC 61751 专门针对机箱控制器 — 实现公路协议、管理 Dataway 操作并与主机计算机接口的智能模块。主要 CAMAC 标准定义了总线,而 IEC 61751 定义了总线主控器。
2. CAMAC 和 NIM 模块可以在同一系统中混合使用吗?
可以,这是核物理实验中的常见配置。NIM(核仪器模块)模块使用 NIM 标准(IEC 60775)处理模拟信号处理(放大器、甄别器、符合逻辑),而 CAMAC 模块处理数字数据采集(ADC、TDC、定标器、存储器)。两种标准在物理上共存,因为 NIM 机箱和 CAMAC 机箱都是 19 英寸机架安装式,在逻辑上也可共存,因为 NIM 输出(通常是具有特定定时的标准逻辑电平)设计为直接驱动 CAMAC 输入。IEC 61751 不直接涵盖 NIM-CAMAC 接口,但定时规范确保了兼容性。
3. CAMAC 机箱控制器如何处理错误检测?
IEC 61751 规定了几种错误检测机制:串行公路上的奇偶校验(每个传输字节的字节奇偶校验)、SCC 中检测消息超时并发出 Dataway 错误信号的看门狗定时器、命令验证(控制器检查功能码和子地址是否在有效范围内)以及状态响应(每次 Dataway 周期后检查来自每个模块的 X 和 Q 响应线)。控制器将错误状态组装到串行消息尾部并向 SHD 报告。在关键应用中,同一机箱上的多个连续错误会触发自动旁路继电器激活。
4. IEC 61751 规定的最大实用 CAMAC 系统规模是多少?
IEC 61751 定义了单个串行公路上最多 62 个机箱的寻址,每个机箱 24 个站(其中一个被机箱控制器本身占用),每个机箱产生 23 个可用模块槽位,最大配置中总共有 1,426 个模块。然而,配电、散热和电缆管理的实际限制通常将单个安装限制在 10-20 个机箱。该标准还允许从单个主机运行多个独立的串行公路(每个都有自己的 SHD),从而实现总计数千个模块的系统。