<p>汽车控制功能的网络化、智能化已经成为现代汽车工业发展的必然趋势,由于 CAN 总线通讯协议废除了传统的站地址编码,使得 CAN 网络内的节点数量将不受限制,且实时性好,通讯速率高,因此被广泛用于汽车电子控制系统上。</p>
<p>一、引言</p>
<p>(一)、CAN 通讯网络描述</p>
<p>CAN(Controller Area Network)即控制器局域网络,最初是由德国 Bosch 公司为解决现代汽车众多控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,即以串行通讯协议为基础进行数据交换。</p>
<p>传统的数据传输方式为:每条数据通过一条导线进行传输。当数据增多时导线必须增加,控制器的接插件也相应增加。该方式只适用于限定数据量的数据传输,而采用 CAN 总线,则可解决上述的问题。CAN 总线是网络通讯的形式,可将所有数据通过两条双绞线进行传输而且不受控制器数量及控制器间传输数据多少的限制。CAN 总线在数据交换量较大的情况下,其意义更为显著。</p>
<p>(二)、CAN 总线结构形式</p>
<img alt="CAN 的结构形式" data-align="center" data-entity-type="file" data-entity-uuid="ca9a3b8c-5d76-476e-8aca-80a62569ec3d" src="/sites/default/files/inline-images/%E5%9B%BE1%EF%BC%9ACAN%20%E7%9A%84%E7%BB%93%E6%9E%84%E5%BD%A2%E5%BC%8F.jpg" />
<p>CAN 的结构形式如下:</p>
<p>CAN 总线可以在单发送、多接收方式下工作,只要将需要某条信息的装置连在总线上,就能在同一时间收到该信息。反之,如果总线上的某个节点需要某条信息,它只要发送需要该信息的请求,总线就能提供信息单元对其作出响应。</p>
<p>CAN 总线通信接口集成了 CAN 协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验和数据链路层等功能。</p>
<p>(三)、CAN 总线的优点</p>
<p>CAN 总线具有以下优点:1.通过更改软件,数据传输协议的附加功能就可以得到较大</p>
<p>程度的扩展;2.不需改变节点及应用层的软件和硬件即可增加节点;3.明显降低错误发生率,通过控制器连续数据传输、数据比</p>
<p>较以及数据传输协议的保障,错误发生率将会降低到最小程度;4.数据共享,显著减小了传感器和信电缆的数量;5.控制器间数据传输速度更快;6.控制器和控制器的接插件体积更小,更节省空间;</p>
<p>二、CAN 通讯协议定义</p>
<p>(一)、CAN 数据传输格式 CAN 以帧的形式进行传输,其标准格式的每一帧数据里包含7个区域,即帧起始、仲裁区、控制区、数据区、CRC 校验、ACK应答区和帧结束。</p>
<p>如图所示:</p>
<img alt="CAN 通讯协议定义" data-align="center" data-entity-type="file" data-entity-uuid="e5538929-4d2d-45c1-b5fc-d712c8c7f037" src="/sites/default/files/inline-images/%E5%9B%BE2%EF%BC%9ACAN%20%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE%E5%AE%9A%E4%B9%89.jpg" />
<p>其中:起始位,标志数据帧的开始,它由一显性位组成,这显性位用于接收状态下 CAN 控制器的硬同步。</p>
<p>RTR 位,一般由发送者自主向总线送数,但也可以由接收方通过将该位设成隐性电平进行远程请求发送。 DLC 位,标识数据长度。CRC 校验位,采用循环冗余校验。</p>
<p>应答位,通过将发送方应答空隙位上的隐性电平置为主控电平来进行确认。如果主控电平不出现,则发送者判定为发送错误。</p>
<p>结束位,由 7 位隐性电平组成。</p>
<p>2.2、标识符的定义</p>
<img alt="标识符的定义" data-align="center" data-entity-type="file" data-entity-uuid="9fb5240f-92a3-4171-89a6-8aad5a35d970" src="/sites/default/files/inline-images/%E5%9B%BE3_5.jpg" />
<p>优先级指对传感器的优先级类别的识别。节点指对节点的识别。</p>
<p>(二)、汽车系统、子系统及总成定义规则</p>
<p>CAN 规范中,数据区共有 8个字节,将汽车的系统、子系统及总成的地址以及传输的数据和加密处理等都在此 8 个字节内完成。定义如下:</p>
<img alt="标识符的定义汽车系统、子系统及总成定义规则" data-align="center" data-entity-type="file" data-entity-uuid="217f4f2a-6181-46ce-8075-4292c7dea48c" src="/sites/default/files/inline-images/%E5%9B%BE4_7.jpg" />
<p>B7、B6 字节为地址码,用于对系统、子系统、总成进行定义,并包含优先级,其中优先级的表示是以地址码的大小来决定的,地址码越小,其优先级越高。</p>
<p>B5——B2 共 4 个字节(32 位),用于对总成的数据进行定义。采用标准的 32 位定点运算格式。</p>
<p>B1:保留字节。保留一个字节,以备以后扩展用。</p>
<p>B0:加密处理</p>
<p>三、CAN 总线通讯模块电路</p>
<p>CAN 总线通讯模块是整车 CAN 总线节点的重要组成部分,采用独立于系统的模块化设计,500Kbps 通讯速率,软件兼容整车 CAN 总线通讯协议,可以移植到任何一个节点中去。</p>
<img alt="CAN 总线通讯模块电路" data-align="center" data-entity-type="file" data-entity-uuid="3d092cb5-3b2f-4411-b115-6478350cf067" src="/sites/default/files/inline-images/%E5%9B%BE5_4.jpg" />
<p>它主要完成以下功能:</p>
<p>1、CAN 总线管理器负责 CAN 标准 2.0A 的 CAN 总线数据通讯;</p>
<p>2、数据滤波器;3.本地通讯(包括高速 8 位并口通讯和低速 RS-232 通讯)。</p>
<p>四、结论</p>
<p>随着汽车工业的发展,电子控制系统将越来越多地应用到汽车领域。如果不采用 CAN 总线方式,将无法实现电控系统之间的数据传输和协调控制。因此,开发汽车 CAN 总线是现代汽车发展的必然趋势。</p>
<p>文章来源:21ic</p>