采棉机智能监控系统CAN应用层协议设计
总线协议将通信信息分为2种基本类型:专有信息和广播信息。专有信息是由某一节点发送且仅供某一指定节点接收的点对点信息;广播信息可由任意节点发出,其他所有节点都接收或只有局部多个节点选择性地接收。广播信息的优先级要高于专有信息,且根据其发送节点的不同具备不同的优先级(即优先级是基于节点的)。同样,节点的专有信息也根据信息内容的重要程度分为不同的优先级。
当采棉机开启,监控器上电启动,经时间继电器延时一定时间后,近红外棉花流量传感器、自动对行模块(CanModule—A)、脉冲信号采集模块(CanModule—B)、多路监测报警模块(CanModule—C)
等节点同时启动。监控器首先向棉花流量传感器发送命令和数据,同时接收来自传感器节点的数据信息,完成对近红外流量传感器的校准标定,然后不断地获取来自流量传感器的数据信息。监控器和传感器之间的通信是面向连接的,相当于客户机/服务器,传感器连续地产生产量数据,监控器不停地确认收到的数据信息,发送和接收之间建立点对点的通信,流量传感器不再与系统内其他CAN节点进行信息交换。
在监控器与流量传感器点对点通信时,其他检测和监测模块(如CanModule—A、CanModule.B、CanModule—C等)也与监控器进行实时通信。它们向监控器发送的都是广播帧,进行无确认模式的信息传输,其通信方式相当于生产者/消费者关系,各模块不停地广播数据信息,监控器或者系统各节点通过识别总线上信息的标识符来完成信息通信。
2.2 报文结构
CAN应用层协议制定有较大的灵活性。本协议以CAN 2.0B为基础,在此基础上对29位标识符进行定义。标识符的分配采用了预定义分配方式(表1)。
(1)优先级:由ID28一ID24组成。为便于扩展,将00000、00001两个优先级空缺,留作备用。监控器与行走速度控制模块之间的通信优先级定义为00010,为最高优先级,因一旦出现异常情况,手动驾驶切换和速度控制必须得到及时响应;监控器与CanModule—A类模块发送命令设置为0001 I,为次高优先级,当启动巡航采棉模式时,监控器必须对CanModule.A模块发出控制命令,同理,CanModule.A模块向监控器发送的数据信息也设置同样的优先级;CanModule-C类模块向监控器发送数据的优先级设置成00100,该类模块发送的是故障报警信息,也需要较高的优先级,以确保采棉机出现故障报警时及时响应;CanModule—B类模块向监控器发送信号的优先级为00101,该类模块发送的是采棉机工作参数信息,如发动机转速、风机转速、滚筒转速、润滑液注入量等参数;近红外棉花流量智能传感器的优先级设置为001 10,为最低优先级。
(2)目标节点与源节点:IDl5一ID8为目标节点地址,ID7一ID0定义为源节点地址。在本系统中,监控器的节点地址定义为F5,CanModule-A模块的节点地址为A0,CanModule—B的8只模块节点地址分别为BO—B7,CanModule—C的4只模块分别定义为CO、C1、C2、C3,6只棉花流量智能传感器的节点分别定义为DO—D5(以上均为十六进制地址)。
2.3 举例
各类CAN模块节点与监控器的通信和棉花流量传感器与监控器的通信略有不同,举例说明如下:
(1)流量传感器与监控器的通信:为了均匀地测量棉花流量,每只传感器上置有5组近红外发送和接收检测单元,每组检测单元产生一束16位的流量数据,经监控器计算处理后得到通过该传感器的平均流量。以传感器DO节点为例,解释说明各位含义。表2所示的6个数据帧为传感器(节点地址为DO)正常工作时向监控器(节点地址为F5)发送的数据帧。此时源地址为DO,目标地址为F5,其优先级为00110,帧类型为01(点对点式),因此帧ID为Ox0601 F5DO。该表示方法采用右对齐模式,可以清晰地分辨是源节点DO向目标节点F5发送数据。数据帧l、2、3为一组,代表传送的实时数据流量;数据帧4、5、6帧为一组,代表传送的实时基准调定数值。数据帧1数据值固定,用于表示后续两帧为流量数据。数据帧2的第3位和第4位数据(表中下划线部分)分别表示一组检测单元的低和高位数值,通过CAN总线传送给监控器,然后转换为|J进制数字显示。同理,数据帧2的第5位和第6忙数据分别表示另一组检测单元的低和高位数值;以此类推,数据帧2的第7、8位,数据帧3的第2、3位,第4、5位分别为另外4个检测译元的流量数据。数据帧4、5、6同上类似,只是其代表传感器实时调定数值,不再赘述。
(2)其他CAN模块与监控器的通信:以监控器向自动对行模块A0发送命令为例,源节点地址为F5,目标节点地址为A0,优先级为00011,帧类型为00(广播式),故帧ID为Ox0300AOF5。为了使广播信息能
采棉机监控系统CAN总 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)