IEC 61944:用于核数据采集的CAMAC块传输

IEC TS 61944-2000定义了CAMAC系统的块传输协议,实现了核物理实验和反应堆监测中必需的高吞吐量数据采集。本文详细分析该标准的传输模式、时序规范以及实施高效CAMAC块传输的工程权衡考量。

一、CAMAC块传输概述

在核仪器仪表领域,快速传输来自多个模块的大量数据的能力至关重要——无论是捕获粒子物理实验中的探测器信号,还是记录核电站中数千个过程参数。IEC TS 61944-2000通过标准化CAMAC数据通路上的块传输(也称为”列表模式”或”DMA模式”)操作来满足这一需求。

设计洞察:CAMAC块传输的关键优势在于大幅降低开销。单周期操作可实现约1 MHz的吞吐量(每微秒一次传输),而块传输通过消除连续数据通路周期之间的命令字设置开销,可持续速率可达4 MHz。

二、块传输模式与协议

IEC TS 61944定义了几种不同的块传输模式,每种模式针对不同的数据采集场景进行了优化:

2.1 Q停止(SQQ)模式

这是最常用的块传输模式。控制器重复对连续站(或子地址)执行读命令,直到某个模块返回Q = 0,表示”没有更多数据”。这种模式非常适合扫描多个模块,其中活跃模块的数量可能动态变化——例如,在物理事件触发后读出一组模数转换器。每个模块的Q响应指示其是否有有效数据可供读取。

2.2 地址扫描(ASM)模式

在地址扫描模式中,控制器自动生成一系列站地址(N)和/或子地址(A)。功能码(F)在整个块传输中保持不变。当必须以预定顺序读取一组固定模块时使用此模式,例如在固定扫描周期内读取反应堆冷却系统的所有温度监测器。

2.3 重复(RPT)模式

重复模式从同一站和子地址传输多个数据字。这用于多通道模块,如具有多个转换通道的模数转换器或时间间隔计数器。模块在每个数据通路周期递增其内部通道指针,从而通过单个(N, A, F)组合实现所有通道的顺序读出。

表1:IEC TS 61944块传输模式比较
模式 地址递进方式 终止条件 典型应用 最大吞吐量
Q停止(SQQ) 自动扫描 Q = 0 事件驱动读出 ~3 MHz
地址扫描(ASM) N和/或A自动递增 达到地址上限 周期性扫描 ~4 MHz
重复(RPT) 固定(N, A) 字数或Q = 0 多通道模块 ~4 MHz
列表模式(LST) 可编程序列 列表耗尽 灵活采集 ~2.5 MHz

三、工程实施细节

3.1 时序与同步

块传输的时序要求比单周期操作更为严格,因为控制器必须保持背靠背的数据通路周期,不能在传输之间插入空闲周期。标准规定块传输期间的最小数据通路周期时间为S1选通时序的250纳秒,但实际实现通常采用300-400纳秒每周期,以考虑电缆延迟和模块稳定时间。

关键的时序参数包括:

  • T(S1):选通1时序——数据必须在N线置位后的150纳秒内在数据通路上有效。
  • T(S2):选通2时序——在S1之后300纳秒发生,用于模块复位操作。
  • 周期间间隔:连续数据通路周期之间至少间隔100纳秒,以允许数据通路信号线稳定。

3.2 系统设计考量

在为核应用设计CAMAC块传输系统时,以下几个实际因素影响性能:

  • 电缆长度与终端:较长的机箱到控制器电缆会增加传播延迟,降低可实现的块传输速率。为获得最高速度,保持电缆长度在3米以下并使用正确的终端匹配。
  • 模块响应时间:不同模块具有不同的响应时间。块传输速率最终受限于扫描链中最慢的模块。将快速和慢速模块混合在同一个块传输序列中会导致效率降低。
  • 内存带宽:接收系统必须有足够的内存带宽来以块传输速率接收数据。VME或PCI总线上的DMA控制器必须配置足够的FIFO缓冲。
关键注意事项:在核安全系统中,块传输必须谨慎使用。持续置位Q = 1的故障模块可能会在Q停止模式下导致无限循环。应实现硬件或软件看门狗定时器,在最大周期数(通常为65536(2^16)字)后终止块传输,以防止系统死锁。

3.3 块传输中的错误处理

IEC TS 61944定义了块传输期间的X响应和Q响应监测:

  • X = 0检测:如果任何模块响应X = 0(表示其未识别该命令),控制器应终止或标记该传输。在实际应用中,记录违规地址并继续传输可实现部分数据恢复。
  • 数据通路奇偶校验(如已实现):在块传输期间检测到的奇偶校验错误应导致立即停止和错误标志生成,因为在核安全上下文中损坏的数据可能导致错误决策。
工程最佳实践:始终在安全相关核应用中为块传输实现双路径验证。对传输后的数据块执行校验和或CRC验证,并与独立计算结果进行比较。这可以捕获单个周期的X/Q监测可能无法检测到的瞬态错误。对于关键反应堆保护参数,考虑使用具有独立块传输控制器的双CAMAC机箱并交叉比较结果。

四、常见问题解答

Q1:CAMAC块传输的最大块大小是多少?

IEC TS 61944未指定最大块大小;它受接收系统缓冲容量的限制。在实际应用中,常见的块大小范围为256到65536个字。较大的块通过减少设置开销来提高效率,但会增加单个数据项的延迟,并需要更大的内存缓冲。大多数CAMAC DMA控制器实现24位字计数器,支持最大16,777,216个字的块。

Q2:CAMAC块传输能否跨串行公路运行?

可以,但性能会降低。当通过串行公路(根据IEC TS 61941)启动块传输时,每个单独的数据通路周期必须串行化、传输并通过串行链路确认。串行开销通常将块传输吞吐量限制在约200-500 kwords/sec(在5 Mbit/s串行公路上),而本地并行分支可达数Mwords/sec。

Q3:块传输如何与LAM中断交互?

在块传输期间,LAM中断通常被屏蔽以防止干扰连续数据流。标准建议将LAM处理推迟到块传输完成后。然而,一些控制器支持”暂停-on-LAM”功能,高优先级LAM可提前终止当前块传输,允许系统在恢复传输之前处理紧急事件。

Q4:”列表模式”和”Q停止”块传输有什么区别?

列表模式使用预先编程的(N,A,F)命令列表(存储在控制器内存中),提供了以任意顺序访问不同模块的最大灵活性。Q停止模式自动按顺序递增地址,并遵循机箱中的自然模块顺序。列表模式更灵活,但需要更多控制器内存,且由于从列表中获取每个命令的开销,其最大吞吐量较低(约2.5 MHz)。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注