陈 飞 谢 建
(中国人民解放军第二炮兵工程大学,西安 710025)
某大型机电设备信息检测仍采用传统的检测系统体制,即各检测点位传感器信息单独传输至上位机进行处理,一台设备包含几百个传感器,汇总至上位机的信号线就有几百甚至上千根,使得整个信息检测系统复杂臃肿、可靠性差、故障排除困难。而控制器局域网CAN(Controller Area Net)作为一种全数字化、全分散、全透明、标准化、规格化的串行现场总线技术,具有可靠性高、实时性好、灵活及价格低廉等优点[1]。利用其对该大型机电设备的信息检测系统进行改制,硬件上仅需对原有的各类传感器加装CAN通信接口。但是,对于多个节点同时上传报文的情况,CAN采用的是带优先权的非破坏性逐位仲裁机制来解决总线冲突,当总线上的节点数较多时,若继续采用一般的固定优先级方式进行报文的定时自动上传,将导致节点冲突频繁,低优先级报文传输延时大为延长,特别是在某节点检测到异常信号或发生故障时,很难在第一时间被发现和定位。为解决此类问题,笔者提出循环问答和重要信息优先权抢占相结合的信息调度机制。并依据实际设备的工作特点,设计基于CAN总线的状态信息检测系统,制定了应用于系统的CAN应用层协议。
基于CAN总线的状态信息检测系统组成如图1所示,包括监控主机、CAN通信接口和状态信息采集节点3部分。系统采用自带CAN总线接口的STM32F103C8T6微控制器作为下位机控制单元,完成采集数据的实时处理和应用层、数据链路层的工作,各节点采用CAN总线通信。……