本系统中,根据检测系统的需要和CAN的帧结构,重点结合测量传感器和控制柜的功能要求,对网络的通信协议进行了研究。CAN总线采用帧格式以报文为单位进行数据传输,并采取位仲裁的方式对总线进行访问,即在报文起始部分发送节点标识符。由于标识符唯一且与各节点一一对应,故通过标识符可以实现对网络介质的访问控制。网络节点的优先级与节点标识符相对应,规定主控机和控制台的优先级最高,各传感器的优先级依重要性排列,以保证网络的传输效率最高。
由于CAN总线标准数据帧的仲裁场有11位标识符,它主要用于解决总线上的碰撞问题,数据帧标识符越小,其优先权越高。即当两帧数据同时由高位向低位发送时,一旦有不同的电平,发送“凹槽”电平的数据帧将停止发送。这样,CAN总线自身就解决了数据碰撞问题。系统中,每个节点设立一个8位DIP开关,通过它可以方便的改变传感器单元地址,并且,以它代表的数据作为该节点发送的数据帧的标识符的高8位。从而,依据节点的重要性安排其地址,有效的解决了碰撞和优先权问题。
PC机方面,是采用接口卡使PC机接入CAN总线,通过PC机与内部带有支持CAN协议接口的单片机MC68HC05X16进行通讯,然后由单片机与总线通讯,最终实现PC机与总线通讯。其接口电路如图3所示。
采用16V8的GAL进行地址译码。并设有拨码开关,可进行地址段选择。8255工作于方式2,A口作为双向输入口,C口的IBFA、STBA、ACKA和OBFA作为A口控制口,分别与MC68HC05X16的四个I/O口PB3~PB6相连。单片机通过查询接收PA口数据。从CAN总线传来的数据经过单片机转换后,由IRQ2向PC机申请中断,中断过程负责数据接收。MC68HC05X16单片机工作流程如图4所示:
在信道访问方式的控制上,采用主从式与自由竞争式相结合的通信方式,即以PC机和控制台作为主控节点,两主控节点的优先级与节点标识符相对应,主控节点命令及信息的发送可通过外部设置约定,也可通过自由竞争实现。
图4 CAN接口转换卡工作流程图
3.结语
调试期间,为了测试系统的抗干扰能力,将上述通信网络系统置于强干扰环境中,经连续试验,在1000m距离,1Mbps传输速率下,完全可以保证数据的可靠传输。
本系统利用CAN总线实时性、灵活性好等特点,较好的解决了在强干扰环境中大型自动检测系统的数据通信可靠性问题。同时,由于采用多主机分布式控制结构,使网络功能十分灵活,通过软件的编写,可以完成十分强大的功能,并可以进行扩展,这对于检测站功能的进一步完善及其它控制工作的完成,有着十分重要的意义。