新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 采棉机智能监控系统CAN应用层协议设计

采棉机智能监控系统CAN应用层协议设计

作者:时间:2016-12-20来源:网络收藏

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。为了使广播信息能被AO模块唯一接收,必须通过特殊功能寄存器设置屏蔽码。因为CAN控制器采用左对齐方式,所以设置CANIDTl为Oxl8,CANIDT2为0x05,CANIDT3为0x07,CANIDT4为0xA8。这样,A0模块就仅能接收ID为0x0300AOF5的广播数据帧。同理,当A0模块向监控器发送数据时.源地址为A0,目标地址为F5,优先级为00011,故帧ID为0x0300F5A0。监控器可以接收来自任何CAN节点的数据,鉴别出该帧ID,并对相应数据帧进行操作。

3 试验

将图l所示的各子系统采用Atmel公司的AT89C51系列单片机分别设计成基于CAN总线的电路模块,然后通过CAN总线实现中央控制器与各电路模块的信息通信。试验结果表明:基于该CAN应用层协议的采棉机监控系统可以在250kb/s速率下实现各模块之间以及各模块与中央控制器之间的实时无误通信。

监控器软件设计和数据管理基于美国NI公司的虚拟仪器技术。监控器基本上接收来自总线环上所有CAN节点的数据,因此必须进行有效的数据管理,否则将导致数据丢失。本系统采用生产者/消费者模式对数据实施有效管理。图2所示的生产者循环,通过调用库函数采集CAN节点数据,当接收函数返回值为1时,说明收到CAN数据,随即把该数据装进队列,然后由消费者循环进行处理。图3所示的消费者循环,将生产者循环采集到的数据簇取出,再将该数据簇按名称解除捆绑,提取29位帧ID和8字节的数据帧。

点击放大图片

将上述经过试验验证的各CAN模块就近分布于采棉机上各数据采集端,信息显示触摸屏置于采棉机驾驶室内,组成一整套采棉机智能监控系统,并于2011年9月中旬在新疆农八师136兵团棉田内进行了工程实践。以5 km/h的速度,收获成熟棉花约6.67 hm2。结果表明:①自动对行子系统可以在无人驾驶的情况下,根据棉垄与传感器的位置关系,实现纠偏自调整。②棉花测产子系统、参数采集子系统和状态监测子系统可分别采集到棉花产量、发动机转速、风机转速以及各开关量状态等信息,并实时不失码地传输给中央控制器进行数据处理(棉花测产子系统的试验数据如表3所示,显示值为仪表显示得到,实测值为棉花称量值)。③巡航速度自调节子系统可以根据棉花在线产量以及模糊规则实时调整车辆行走速度至最佳作业速度,提高工作效率。因此,基于该CAN应用层协议设计的大型六行采棉机智能监控系统是行之有效的。

点击放大图片

点击放大图片


4 结束语

基于CAN总线的采棉机智能监控系统采用模块化设计理念,可靠性高,维护便利。其应用层协议制定灵活方便,简洁清晰,扩展帧和数据帧的定义符合智能采棉机数据通信的实际状况。通信协议已在4MZ一6A型六行采棉机试验样机中得到成功应刚,实践证明:按此规则定义的应用层协}义不仅能满足采棉机监控系统实际需要,而且具有极强的移植性、扩展性、通用性,可推广至其他大型农业机械或者工程机械的智能监控系统中。


上一页 1 2 下一页

评论


技术专区

关闭