CAN现场总线概述
CAN(Controller Area Network)总线诞生和发展于汽车工业自动控制领域,是两线制多主对等总线型拓扑网络,能有效地支持具有很高安全等级的分布实时控制,是唯一有国际标准的现场总线(Field Bus),目前发展到CAN2.0B规范,应用范围极为广泛。
CAN总线用显性和隐性两个互补的逻辑值表示0和1,总线接口上同时发送显性和隐性位时,总线值是显性,实现逻辑与。根据ISO/OSI参考模型,CAN的层次划分为:数据链路层,包括逻辑链路控制子层和介质访问控制子层;物理层。
CAN总线信息的报文传输有数据帧、远程帧、错误帧和过载帧四种不同类型的帧,数据帧和远程帧可以使用标准帧和扩展帧2种不同格式,标识符域的长度分别为11位和29位。CAN的帧由不同的位域组成,以数据帧为例,它包括7个不同的位域:帧起始、仲裁域、控制域、数据域、CRC域、应答域和帧结尾,如图1所示。
为获得安全的数据发送,CAN总线采取错误检测和处理的措施,在报文传输过程中设有位错误、填充错误、CRC错误、格式错误和应答错误5种错误类型,对于故障的界定有错误激活、错误认可和总线关闭3种状态。
智能节点接口技术
节点是CAN网络上信息的起点和终点,智能节点是指具有微处理器的节点,具体有可靠性、兼容性、信息处理能力等方面的优势。智能节点硬件设计包括CAN控制芯片与MCU的连接和CAN控制芯片与PC的连接,典型的智能节点结构为MCU+CAN控制器+CAN驱动器,具有CAN模块的MCU微控制器将前2者合二为一,如PIC18F458、MC68HC908GZ16、P8Xc591,使操作更加方便。PC机上的智能节点设计多采用CAN适配卡,由ISA接口、双口RAM、嵌入式微处理器、CAN控制器、CAN驱动器组成。
智能节点软件设计的核心内容为CAN节点初始化、报文发送和报文接收,还包括CAN总线错误处理、总线关闭处理、接收滤波处理、波特率参数设置、自动检测以及CAN总线通信距离和节点数的计算。
采用PIC18F458微控制器设计的智能节点如图2所示。
时间提取单元和编程装置
时间提取单元和编程装置是电子时间引信系统的重要组成部分,两者协调工作完成射弹飞行时间的隔离提取、数据共享和编码发送,设计实现上采用功能电路+数字接口的方案,作为节点连接在CAN总线上。两者的机械结构设计要充分考虑与现有武器装备的机械兼容性和电磁兼容性,不能影响现有装备的结构和工作状态。
时间提取单元 时间提取单元的功能是从武器系统火控计算单元中提取射弹飞行时间,并将其发送到CAN总线上,电路结构如图3所示,主要由射弹飞行时间数字量隔离提取电路、射弹飞行时间模拟量隔离提取电路、A/D转换电路、控制信号(开关量)隔离采集电路、数字接口、隔离型DC/DC电源模块等组成,可以提取16位射弹飞行时间数字量或1路射弹飞行时间模拟量、8位控制信号,输出CAN总线信号,使用双绞线在1km的范围内得到高达70kbps的传输速率。
光电隔离电路采用双光耦构成电流串联负反馈电路实现模拟信号,即将两个相同型号的光耦的输入端串联组成差分负反馈,来补偿光耦的非线性电流传输系数,可以得到较好的一致性,使电路传输特性更好。典型的双光耦芯片(如HCNR200)内部结构及其应用电路如图4所示,采用ADC0809芯片完成AD转换,隔离型DC/DC选用爱立信PKV3211PI电源模块,其输入电压范围为9V~36V,输出电压5V,输出功率2.5W。
编程装置 编程装置的功能是从CAN总线上获取射弹飞行的时间数据,进行数据编码,并通过射频模块转换为射频信号发送,电路结构如图5所示,由数字接口、微控器、无线射频模块和监控电路组成。微控器AT89S51为电路的核心,完成数据接收、数据编码、射频模块控制、数据串行发送等功能,大大简化了电路结构;监控电路采用X25045,监控微控制器的工作状态,防止程序跑飞;数字接口与时间提取单元相同;无线射频模块采用原厂提供的标准电路板并设置为发送状态,其天线为腐蚀在PCB板上的铜线,在天线外 2m~20m的范围内形成射频编程窗口。
编程装置电路板安装在长方体形盒里,外部通过接插件分别与CAN总线(两芯插头和插座)和无线射频模块(7芯的插头和插座)相连接。整个编程装置盒固定与火炮炮箱上方,距炮口约2.5m的位置,且将射频模块PCB板有天线一侧朝向身管方向,以便获得较好的射频性能。