IEC PAS 61906-2005 — 核仪器:CAMAC固件管理与升级程序

标准号:IEC PAS 61906-2005 | 类别:核仪器(可公开获取规范) | 发布年份:2005
💡 作为可公开获取规范(PAS),IEC PAS 61906 解决了CAMAC生态系统中的一个关键缺口:基于微处理器和FPGA的CAMAC模块中的固件管理,包括安全软件下载协议。

一、引言与动机

IEC PAS 61906-2005 解决了集成了微处理器、FPGA、CPLD或其他现场可编程逻辑器件的CAMAC模块中对标准化固件管理流程日益增长的需求。随着CAMAC系统从纯硬连线逻辑演进为软件定义的仪器仪表,在不将模块从机箱中取出的情况下更新模块固件的能力已成为操作上的必需品。然而,如果没有标准化的程序,固件更新可能引入不兼容配置、数据损坏或在核仪器应用中产生安全重要性的错误。

本PAS为CAMAC模块定义了固件标识、版本控制、下载协议和验证程序的标准化方法。它适用于所有包含可编程逻辑或嵌入式处理器且可通过CAMAC数据通路或辅助接口进行现场升级的CAMAC模块。

⚠ 核安全应用中的固件管理具有特殊意义。PAS强调,对用于安全相关应用的模块的任何固件修改,必须经过与硬件修改相同的配置管理、验证和确认要求。这包括维护固件基线、通过正式修改流程记录变更,以及在固件更新后重新鉴定模块的安全功能。

二、固件标识与版本控制

2.1 模块标识寄存器

PAS定义了一个标准化的模块标识寄存器(MIR),每个可编程CAMAC模块必须实现该寄存器。MIR是一个只读寄存器,通过标准的CAMAC F(0)读命令访问,包含四个24位字:制造商ID代码、模块类型/部件号、硬件修订级别和固件版本号。固件版本采用主版本号.次版本号.补丁号格式(24位字中各占8位),其中主版本号变更表示功能不兼容,次版本号变更表示新功能但向后兼容,补丁号表示错误修复而无功能变化。

2.2 固件映像验证

在接受任何固件下载之前,模块必须验证固件映像的完整性。标准规定使用对整个固件映像计算的32位循环冗余校验(CRC-32)。CRC值嵌入在固件文件头中,由模块的引导加载程序在编程开始前验证。此外,标准建议但未强制要求在安全相关应用的模块中使用公钥密码术的数字签名验证。固件映像头必须包含:映像长度、CRC-32校验和、目标模块类型、目标硬件修订范围、固件版本和时间戳。

字段 大小(字节) 描述 强制性
映像幻数 4 0xC0DAACDA(CAMAC签名)
映像长度 4 固件映像总大小(字节)
CRC-32校验和 4 映像体的IEEE 802.3 CRC-32
目标模块类型 4 兼容模块的部件号
硬件修订范围 4 最小/最大兼容硬件版本
固件版本 4 主版本.次版本.补丁(各1字节)
时间戳 4 UNIX纪元秒数
数字签名 64-256 RSA/ECDSA签名(可选)
映像体 可变 加密或明文二进制数据

三、固件下载协议

3.1 下载模式

PAS定义了三种固件下载模式:模式A(全映像替换)——擦除并重写整个固件映像——用于主要升级和初始编程;模式B(增量更新)——仅更新已修改的存储扇区——用于次要版本和补丁以最小化停机时间;模式C(双映像交换)——模块包含两个固件映像库,新版固件可编程到非活动库中而模块继续使用当前映像运行,随后通过热重启激活新映像。模式C特别推荐用于安全关键型应用,因为如果新映像无法启动,它提供了回退到先前映像的能力。

3.2 错误恢复与回退

下载协议的一个关键方面是错误恢复。如果下载中断(电源丢失、通信故障、CRC不匹配),模块引导加载程序必须恢复到已知良好的固件映像。对于模式A和B下载,这需要一个在更新过程中不被擦除的保护引导加载程序区域。对于模式C双映像系统,如果新映像在编程后无法通过CRC验证,启动顺序会自动回退到先前活动的映像。PAS规定任何单次固件下载操作的最大编程时间为60秒,超时后模块必须报告超时错误并恢复到前一个状态。

✅ 工程设计洞察:双映像(模式C)方法虽然内存成本更高,但强烈推荐用于执行安全或控制功能的模块。额外的闪存成本(通常为模块成本的10-15%)远远被运营风险的降低所抵消。核电站运营报告显示,与每次更新都需要全映像替换的系统相比,模式C能力将固件相关的系统停机时间减少了约70%。

四、配置管理与文档

PAS要求每个CAMAC模块的固件可追溯到配置管理系统,该系统记录:模块序列号、当前和历史固件版本、安装日期、修改理由和验证测试结果。对于每个固件版本,模块制造商必须提供版本说明,记录所有变更、已知问题、兼容性信息和安装程序。标准还规定模块应提供一个固件更新计数器寄存器,每次固件修改时递增,可通过CAMAC F(1)读命令访问,提供了可审计的更新活动记录。

五、常见问题

问1:IEC PAS 61906 能否应用于非CAMAC模块?

答:虽然PAS专门针对CAMAC模块编写,但其定义的固件管理原则——包括模块标识寄存器格式、CRC验证和双映像更新架构——适用于核应用中使用的任何模块化仪表系统,包括VME和PXI系统。

问2:安全相关的固件更新是否需要数字签名验证?

答:PAS建议但未强制要求数字签名。然而,一些国家的核监管机构(特别是美国NRC和法国ASN)现在根据其数字修改要求,强制要求对安全相关的仪表控制系统进行加密固件认证。

问3:如果固件下载在中途失败会怎样?

答:模块引导加载程序会恢复到先前的固件映像。对于模式C(双映像)系统,这种回退是自动的。对于模式A系统,受保护的引导加载程序确保模块仍然可以接受新的下载尝试。

问4:典型的CAMAC固件更新需要多长时间?

答:通过CAMAC数据通路下载典型的基于FPGA的CAMAC模块(1-4 MB固件映像)的全映像需要30-60秒。双映像交换需要额外5-10秒用于存储体切换和重启。增量更新通常在15秒内完成。

© 2026 TNLab。版权所有。本文引用标准为IEC PAS 61906-2005。

发表回复

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