论文部分内容阅读
摘 要 已形成国际标准的控制器局域网络CAN(Control Area Network)总线具有通信率高、易实现、性价比高等诸多特点,并被广泛应用到汽车等工业领域。本文对CAN总线技术的特点和协议进行了阐述,并根据其特点设计了基于CAN总线的车辆监控软件,该软件能够以友好的人机界面显示车辆底盘参数,使车辆信息对驾驶员或乘客透明化。
关键词 CAN;VC++;ID;监控软件
中图分类号:TB47 文献标识码:A 文章编号:1671-7597(2015)02-0018-02
已形成国际标准的控制器局域网络CAN(Controller Area Network)总线具有通信率高、易实现、性价比高等诸多特点,并被广泛应用到汽车、医疗器械、航海、机械工业及传感器等领域[1]。
本文依据CAN总线特点及协议从CAN总线上采集汽车仪表面板所需要的数据,如转速、水温、油压、稳压电源电压值等,通过使用C++语言软件编程来实现从CAN总线采集到的数据动态显示。该方法使得整体系统工作更加及时、准确,提高了安全性、可靠性,更具有智能化和人性化。
1 CAN总线
1)CAN特点。
CAN总线具备相当多的优点,使其成为许多领域的主要选择。这些优点包括(较高的传输速率(1Mbps)、较长的通讯距离(10Km)、较强的抗干扰能力、可靠的错误处理机制、可自由配置的节点间接受发送等[2]。其具体特点[3]如下:
①报文帧采用短帧数据结构,每帧数据含有8个字节,通过这8个字节即可解析数据值,这样不会占用总线时间过长,从而保证了通信的实时性。
②不同的CAN总线网络可以有不同的数据传输速率,但是,同一网络上的节点传输速率必须是相同的。
③CAN总线上的节点信息在均可随时向总线上的其它节点发起通信;如同时发送消息时,根据标识符(ID)决定其优先级[4]进行发送。
④废除了传统的站地址编码,而是使用不同的ID标识区分不同的数据,这样不同的节点能同时接收到相同的数据帧。
2)CAN通信协议。
CAN通信时使用数据帧、帧间隔、过载帧、错误帧和遥控帧五种不同类型的帧,不同的场合使用不同类型的帧。
①数据帧,即:当发送方向接收方发送数据时所使用的帧。
②帧间隔,顾名思义,是用于分离当前数据帧与前面的帧的帧。
③过载帧,是用于接收方通知其它尚未做好接收准备的帧。
④错误帧,是用于检测出错误时向其它接收方通知的帧。
⑤遥控帧,是接收方向具有相同ID的发送方请求数据的帧。
其中,遥控帧和数据帧含有两种格式,即标准格式和扩展格式,它们都是用标识符(ID)唯一标识报文。标准格式有11位的标识符,扩展格式有29位的标识符。
本文只是涉及到数据帧,数据帧用于各个节点之间传送数据和命令。它由七个不同的段组成:帧起始(Start of Frame)、仲裁段(Arbitration Frame)、控制段(Control Frame)、数据段(Data Frame)、CRC校验段(CRC Frame)、应答段(Ack Frame)和帧结束(End of Frame),数据段的长度可以为0。数据帧结构如图1所示。
③CAN的接收中断处理。
CAN卡初始化及启动成功后,调用CAN接收函数CAN_Receive()进行数据的接收,如果用于接收的CAN缓冲器中有数据,便能通过接收函数接收到,接收后进行数据的解析,如果CAN缓冲器中没有数据便处于等待状态,直至有数据。接收到数据根据数据帧中的ID及J1939协议判定数据帧类型,从而解析该数据帧的数据,完成车辆底盘参数的解析和显示。
④CAN的关闭。
调用CAN关闭函数CAN_CloseDevice(),关闭CAN,利用CAN进行收发的过程结束。
3)软件界面。
CAN接收数据后,软件解析数据并实时显示车辆底盘的参数,如图3所示。监控界面能清晰地显示当前车辆行驶中发动机转速、稳压电源电压值、水温和油压的参数值。
基于CAN总线的车辆监控软件安装部署于使用终端上,这样乘客也能清晰的了解当前车辆行驶的信息。
3 结束语
CAN总线在复杂的系统编程和应用上,具有可靠性、实时性、易用性等优势,越来越受到工业界的重视,具有很好的发展前景。本文己经成功的将CAN总线运用于车辆行驶参数的监控中,基于CAN总线的车辆监控软件能够以友好的人机界面显示车辆底盘参数,使车辆信息对驾驶员或乘客透明化。
参考文献
[1]马秋霞,郇极.CANopen现场总线从设备协议一致性测试系统研究[J].制造业自动化,2005(01).
[2]周立功,基于CAN总线的CANopen协议讲座[Z].广州:广州致远电子有限公司,2009.
[3]CAN入门.瑞萨科技,2006.02.20.
[4]吴志红,朱元.英飞凌16伟单片机XC164CS的原理與基础应用[M].上海:同济大学出版社,2006.
作者简介
徐波(1982-),男,工程师,从事工程侦察装备等方面的生产工作。
关键词 CAN;VC++;ID;监控软件
中图分类号:TB47 文献标识码:A 文章编号:1671-7597(2015)02-0018-02
已形成国际标准的控制器局域网络CAN(Controller Area Network)总线具有通信率高、易实现、性价比高等诸多特点,并被广泛应用到汽车、医疗器械、航海、机械工业及传感器等领域[1]。
本文依据CAN总线特点及协议从CAN总线上采集汽车仪表面板所需要的数据,如转速、水温、油压、稳压电源电压值等,通过使用C++语言软件编程来实现从CAN总线采集到的数据动态显示。该方法使得整体系统工作更加及时、准确,提高了安全性、可靠性,更具有智能化和人性化。
1 CAN总线
1)CAN特点。
CAN总线具备相当多的优点,使其成为许多领域的主要选择。这些优点包括(较高的传输速率(1Mbps)、较长的通讯距离(10Km)、较强的抗干扰能力、可靠的错误处理机制、可自由配置的节点间接受发送等[2]。其具体特点[3]如下:
①报文帧采用短帧数据结构,每帧数据含有8个字节,通过这8个字节即可解析数据值,这样不会占用总线时间过长,从而保证了通信的实时性。
②不同的CAN总线网络可以有不同的数据传输速率,但是,同一网络上的节点传输速率必须是相同的。
③CAN总线上的节点信息在均可随时向总线上的其它节点发起通信;如同时发送消息时,根据标识符(ID)决定其优先级[4]进行发送。
④废除了传统的站地址编码,而是使用不同的ID标识区分不同的数据,这样不同的节点能同时接收到相同的数据帧。
2)CAN通信协议。
CAN通信时使用数据帧、帧间隔、过载帧、错误帧和遥控帧五种不同类型的帧,不同的场合使用不同类型的帧。
①数据帧,即:当发送方向接收方发送数据时所使用的帧。
②帧间隔,顾名思义,是用于分离当前数据帧与前面的帧的帧。
③过载帧,是用于接收方通知其它尚未做好接收准备的帧。
④错误帧,是用于检测出错误时向其它接收方通知的帧。
⑤遥控帧,是接收方向具有相同ID的发送方请求数据的帧。
其中,遥控帧和数据帧含有两种格式,即标准格式和扩展格式,它们都是用标识符(ID)唯一标识报文。标准格式有11位的标识符,扩展格式有29位的标识符。
本文只是涉及到数据帧,数据帧用于各个节点之间传送数据和命令。它由七个不同的段组成:帧起始(Start of Frame)、仲裁段(Arbitration Frame)、控制段(Control Frame)、数据段(Data Frame)、CRC校验段(CRC Frame)、应答段(Ack Frame)和帧结束(End of Frame),数据段的长度可以为0。数据帧结构如图1所示。
③CAN的接收中断处理。
CAN卡初始化及启动成功后,调用CAN接收函数CAN_Receive()进行数据的接收,如果用于接收的CAN缓冲器中有数据,便能通过接收函数接收到,接收后进行数据的解析,如果CAN缓冲器中没有数据便处于等待状态,直至有数据。接收到数据根据数据帧中的ID及J1939协议判定数据帧类型,从而解析该数据帧的数据,完成车辆底盘参数的解析和显示。
④CAN的关闭。
调用CAN关闭函数CAN_CloseDevice(),关闭CAN,利用CAN进行收发的过程结束。
3)软件界面。
CAN接收数据后,软件解析数据并实时显示车辆底盘的参数,如图3所示。监控界面能清晰地显示当前车辆行驶中发动机转速、稳压电源电压值、水温和油压的参数值。
基于CAN总线的车辆监控软件安装部署于使用终端上,这样乘客也能清晰的了解当前车辆行驶的信息。
3 结束语
CAN总线在复杂的系统编程和应用上,具有可靠性、实时性、易用性等优势,越来越受到工业界的重视,具有很好的发展前景。本文己经成功的将CAN总线运用于车辆行驶参数的监控中,基于CAN总线的车辆监控软件能够以友好的人机界面显示车辆底盘参数,使车辆信息对驾驶员或乘客透明化。
参考文献
[1]马秋霞,郇极.CANopen现场总线从设备协议一致性测试系统研究[J].制造业自动化,2005(01).
[2]周立功,基于CAN总线的CANopen协议讲座[Z].广州:广州致远电子有限公司,2009.
[3]CAN入门.瑞萨科技,2006.02.20.
[4]吴志红,朱元.英飞凌16伟单片机XC164CS的原理與基础应用[M].上海:同济大学出版社,2006.
作者简介
徐波(1982-),男,工程师,从事工程侦察装备等方面的生产工作。