什么是CAN总线协议?有哪些应用领域?

什么是CAN总线协议?有哪些应用领域?,第1张

现在的汽车已经不再仅仅是一种死气沉沉的交通工具了。计算机的发明也让汽车有了一个职能的心。跟中嵌入式的计算机核心应用到汽车当中。那么如何规范这个核心的工作呢?这就需要CAN总线协议来帮忙了。现在让我们来了解一下这方面的知识吧。

一、CAN总线协议基本概念

(1)报文:总线上的信息以不同格式的报文发送但长度有限。当总线开放时任何连接的单元均可开始发送一个新报文。

(2)信息路由:在CAN系统中一个CAN节点不使用有关系统结构的任何信息这里包含一些重要的概念:系统灵活性——节点可以在不要求所有节点及其应用层改变任何软件或硬件的情况下被接于CAN网络。报文通信——一个报文的内容由其标示符ID命名ID并不指出报文的目的但描述数据的含义以便网络中的所有节点有可能借助报文滤波决定该数据是否使它们激活。成组——由于采用了报文滤波所有节点均可接受报文并同时被相同的报文激活。数据相容性——在CAN网络中可以确保报文同时被所有的节点或者没有节点接受因此系统的数据相容性是借助于成组和出错处理达到的。

(3)位速率:CAN的数据传输率在不同的系统中是不同的而在一个系统中是固定的速率。

(4)优先权:在总线访问期间标示符定义了一个报文静态的优先权。

(5)远程数据请求:通过发送一个远程帧需要数据的节点可以请求另一个节点发送相应的数据帧该数据帧与对应的远程帧以相同的标示符ID命名。

(6)多主站:当总线开放时任何单元均可以开始发送报文发送具有最高优先权报文的单元会赢得总线的访问权。

(7)仲裁:当总线开放时任何单元均可以开始发送报文若同时有两个或者更多的单元开始发送总线访问冲突运用逐位仲裁规则借助标示符ID解决这种仲裁规则可以使信息和时间均无损失若具有相同标示符的一个数据帧和一个远程帧同时发送数据帧优先于远程帧仲裁期间每个发送器都对发送位电平与总线上检测到的电平进行比较若相同则该单元可以继续发送当发送一个隐性电平而在总线上检测为显性电平时该单元退出仲裁并不再传送后继位了。

(8)安全性:CAN总线协议为了获得尽可能高的数据传输安全性在每个CAN节点中均设有错误检测标定和自检的强有力措施。检测措施包括:发送自检循环冗余校验位填充和报文格式检查。

(9)出错标注和恢复时间:已损坏的报文由检验出错的节点进行标注。这样的报文将失效并自动进行重发送。如果不存在新的错误从检出错误到下一个报文开始发送的恢复实践最多为29个位时间。

(10)故障界定:CAN节点又能力识别永久性的故障和暂时扰动可自动关闭故障节点。

(11)连接:CAN串行通信链路是一条众多单元均可被连接的总线理论上单元数目是无限的实际上单元总数受限于延迟时间和总线的电器负载。

(12)应答:所有接收器均对接收报文的相容性进行检查回答一个相容的报文并标注一个不相容的报文。

二、CAN总线协议内容

CAN总线的物理层是将ECU连接至总线的驱动电路。ECU的总数将受限于总线上的电气负荷。物理层定义了物理数据在总线上各节点间的传输过程,主要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。

总线竞争的原则

BOSCH CAN基本上没有对物理层进行定义,但基于CAN的ISO标准对物理层进行了定义。设计一个CAN系统时,物理层具有很大的选择余地,但必须保证CAN协议中媒体访问层非破坏性位仲裁的要求,即出现总线竞争时,具有较高优先权的报文获取总线竞争的原则,所以要求物理层必须支持CAN总线中隐性位和显性位的状态特征。在没有发送显性位时,总线处于隐性状态,空闲时,总线处于隐性状态;当有一个或多个节点发送显性位,显性位覆盖隐性位,使总线处于显性状态。

在此基础上,物理层主要取决于传输速度的要求。从物理结构上看,CAN节点的构成如图7-8所示。在CAN中,物理层从结构上可分为三层:分别是物理信号层(Physical Layer Signaling,PLS)、物理介质附件(Physical MediaAttachment,PMA)层和介质从属接口(Media Dependent:Inter-face,MDI)层。其中PLS连同数据链路层功能由CAN控制器完成,PMA层功能由CAN收发器完成,MDI层定义了电缆连接器的特性。目前也有支持CAN的微处理器内部集成了CAN控制器和收发器电路,如MC68HC908GZl6。PMA和MDI两层有很多不同的国际或国家或行业标准,也可自行定义,比较流行的是ISOll898定义的高速CAN发送/接收器标准。

节点数量

CAN网络上的节点不分主从,任一节点均可在任意时刻主动地向网络上其他节点发送信息,通信方式灵活,利用这一特点可方便地构成多机备份系统,CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”。 CAN的直接通信距离最远可达10km(速率5kbps以下);通信速率最高可达1Mbps(此时通信距离最长为40m)。 CAN上的节点数主要决定于总线驱动电路,目前可达110个;报文标识符可达2032种(CAN2.0A),而扩展标准(CAN2.0B)的报文标识符几乎不受限制。

CAN的数据链路层

CAN的数据链路层是其核心内容,其中逻辑链路控制(Logical Link control,LLC)完成过滤、过载通知和管理恢复等功能,媒体访问控制(Medium Access control,MAC)子层完成数据打包/解包、帧编码、媒体访问管理、错误检测、错误信令、应答、串并转换等功能。这些功能都是围绕信息帧传送过程展开的。

三、CAN总线协议基本规则

(1)总线访问:采用载波监听多路访问CAN控制器之恩能够在总线空闲时就是节点侦听到网络上至少存在3个空闲位(隐性位)时开始发送采用硬同步所有的控制器同步都为与帧的起始的前沿。过了一定时间并在一定条件后重同步。

(2)仲裁:各节点向总线发电平时也对总线上电平进行读取并于自身发送的电平进行比较相同则发下一位直至全部发完。不同则说明网络上有更高优先级的信息帧正在发送即停止发送退出竞争。

(3)编码/解码:帧起始域仲裁域控制域数据域和CRC序列均使用位填充技术进行编码就是5个连续的同状态电平插入一位与它相补的电平还原时每5个同状态的电平后的相补电平被删除。

(4)出错标注:当检测到位错误填充错误形式错误或应答错误时检测出错条件的CAN控制器将发送一个出错标志。

(5)超载标注一些控制器会发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送。

四、CAN总线协议应用领域

使用范围

汽车制造中的应用、大型仪器设备中的应用、工业控制中的应用、智能家庭和生活小区管理中的应用以及机器人网络互联中的应用。同时,由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。

发展趋势

目前大多数CAN控制器只做到链路层,然而随着CAN的发展和应用,应用层的硬件设计也成为硬件厂商的考虑范畴。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2488745.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存