摘 要 本文首先介绍了CAN总线技术,然后给出了CAN总线技术在以摩托罗拉16位单片机MC9S12为中央控制器的某汽车仪表系统中的应用,并对该系统总体结构及其中CAN通信模块的软硬件设计作了详细说明。关键词 CAN总线,MC9S12,汽车,仪表0 引言控制局域网CAN (controllerareanetwork)是国际上应用最广泛的现场总线之一,是德国Bosch公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种通讯协议,它作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km时,CAN仍可提供高达50 kbit/s的数据传输速率。它是一种有效支持分布式控制或实时控制的串行通讯网络。CAN的应用范围遍及从高速网络到低成本的多线路网络。在自动化电子领域的汽车发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1 Mbps。CAN网络具有反映快,可靠度高的特性,应用于要求实时处理的场合,例如汽车刹车防锁死系统安全气囊等。今天此项通信协议已得到广泛应用,成为现代汽车设计中必须采用的装置,奔驰、宝马、大众、沃尔沃及雷诺汽车都将CAN作为控制器联网的手段。1 CAN总线的特点及通讯协议1.1 CAN总线的特点CAN总线是一种有效支持分布式控制或实时控制的串行通信网络。其通讯介质可以是双绞线、同轴电缆或光纤。在汽车发动机控制部件、传感器等应用中,总线的位速率最大可达1Mbit/s。CAN总线具有以下主要特性:a. 无破坏性的基于优先权竞争的总线仲裁b. 可借助接收滤波的多地址帧传送c. 具有错误检测与出错帧自动重发功能d. 数据传送方式可分为数据广播式和远程数据请求式1.2 CAN总线帧格式[1]CAN总线通信协议包括CAN2.0A和CAN2.0B两种,它们的帧格式如下:(1)CAN2.0A通信协议规定了4种不同的帧格式:数据帧 用于节点间传递数据,是网络信息的主体,其帧格式依次包括: 帧起始、仲裁场、控制场、数据场、CRC场、ACK场和帧结束。其中数据段长度可编程0~8个字节。远程帧 由在线单元发送,用于请求发送具有相同标识符的数据帧,其帧格式与数据帧基本相同,但没有数据场。]出错帧 出错帧是检测总线出错的一个信号标志,由两个不同的场构成。 论文检测天使-免费论文检测软件http://www.jiancetianshi.com
第一个场由来自不同节点的错误标志叠加,第二个场为错误界定符。CAN协议采用CRC检验并可提供相应的错误处理功能,保证数据通讯的可靠性。超载帧 由超载标识和超载界定符组成,表明逻辑链路控制层要求的内部超载状态,并将由媒体访问控制层的一些出错条件而被启动发送。用于扩展帧序列的延迟时间。(2)CAN2.0B通信协议分为两种帧格式:① 标准帧标准帧信息为11个字节,包括两部分:信息和数据部分。前3个字节为信息部分。<1>字节1为帧信息。第7位(FF)表示帧格式,在标准帧中,FF=0;第6位(RTR) 表示帧的类型,RTR=0表示为数据帧,RTR=1表示为远程帧;DLC表示在数据帧时实际的数据长度。<2>字节2、3为报文识别码,11位有效。<3>字节4~11为数据帧的实际数据,远程帧时无效。② 扩展帧<1>扩展帧信息为13个字节,包括两部分,信息和数据部分。前5个字节为信息部分。字节1为帧信息。第7位(FF)表示帧格式,在扩展帧中,FF = 1;第6位(RTR)表示帧的类型,RTR=0表示为数据帧,RTR=1表示为远程帧;DLC表示在数据帧时实际的数据长度。<2>字节2~5为报文识别码,其高29位有效。<3>字节6~13为数据帧的实际数据,远程帧时无效。2 系统总体方案设计该系统以摩托罗拉16位单片机MC9S12DP256为中央控制器,并含有CAN通信模块、LIN通信模块、数据采集模块及数据存储模块等。发动机及底盘部分通过CAN总线与中央控制器相连,仪表板部分及车身模块通过LIN总线与中央控制器相连,本文重点介绍的是CAN通信模块的设计。2.1 CAN通信模块硬件设计中央控制器MC9S12DP256内部带有5路CAN控制器,msCAN是Motorola Scaleable CAN的缩写,而msCAN12模块则是在MC9S12系列MCU上的具体实现。它服从CAN2.0A/B 协议,集成了除收发器外CAN总线控制器的所有功能。msCAN12基本特点如下[2]:(1) 模块化结构(2) 实现了CAN2.0A/B协议,支持标准和扩展帧格式(3) 支持远程请求帧(4) 双缓冲接收存储方案(5) 带有本地优先级排队机制的三缓冲区发送存储方案(6) 可屏蔽、可重组标识符验收过滤器(7) 内置低通滤波器的可编程唤醒功能(8) 可编程环路检测模式支持模块自检(9) 时钟源可程控选择CPU总线时钟或晶体振荡器时钟采用msCAN12的CAN总线系统如图1所示:
图1 含有MC9S12及其他节点的典型CAN总线网络系统
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
图3 CAN通信程序流程图
3 结束语CAN总线技术,是工业控制与计算机网络两者边缘的产物。无论是从网络的结构、协议、实时性、还是适应性、灵活性、可靠性乃至成本等,工业控制的底层都有它的特殊性,特别是汽车工业中,要传输的信息帧都短小,要求实时性很强、可靠性高,CAN总线协议作为一种简单而可靠的通讯协议,在车用电控单元和仪表上有很好的应用前景。本文介绍的CAN接口电路与通讯软件结构对其他微处理器系统来说,加以适当的修改也是适用的。由于在实际的车用电气环境中,需要考虑温度、电磁干扰、电源等因素,设计时应考虑软、硬件的抗干扰能力。参考文献[1] 史久根 张培仁 陈真勇,CAN现场总线系统设计技术,北京:国防工业出版社,2004[2] 杨国田 白焰,摩托罗拉68HC12系列微控制器原理、应用与开发技术,北京:中国电力出版社,2003[3] 李刚炎 宋叶琼 金海松,CAN及其在轿车中央控制系统中的应用,武汉汽车工业大学学报,2000年2月
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
相关文章:
附中小升初历年考试时间和真题04-26
科技论文格式及写作技巧04-26
时政热点:习总关于建设健康中国的重要论述04-26
【关注】教育部、科技部发文要求规范高校SCI论文相关04-26
健全毕业论文抽检体系保障人才培养基本质量04-26
安全是发展的保障 发展是安全的目的04-26