当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]CAN报文传送当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的n位字符

CAN报文传送

当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的n位字符为标识符(扩展帧格式为29位),定义了报文的优先级。在同一系统中,标识符是唯一的,不可能有两个站发送具有相同标识符的报文 1241。当几个站同时竞争总线读取时,这种配置十分重要。当一个站要向其他站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN 芯片,并处于准备状态;当他收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其他站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收处理它。CAN总线以报文为单位进行数据传送,报文的优先级结合在标识符(n位或29位)中,具有最低二进制数的标识符有最高的优先级。总线读取中的冲突可通过位仲裁解决。当几个站同时发送报文时,发送优先级最高的报文的站将获得总线控制权。这种非破坏性位仲裁方法的优点在于,在网络最终确定哪一个站的报文被传送以前,报文的起始部分己经在网络上传送了。所有未获得总线读取权的站都成为具有最高优先权报文的接收站,并且不会在总线再次空闲前发送报文。

在进行数据传送时,发出报文的单元称为该报文的发送器。该单元在总线空闲或丢失仲裁前恒为发送器。如果一个单元不是报文发送器,并且总线不处于空闲状态,则该单元为接收器。对于报文发送器和接收器,报文的实际有效时刻是不相同的。对于发送器而一言,如果直到帧结束末尾一直未出错,则对于发送器报文是有效的,o如果报文受损,将允许按照优先权顺序自动重发送。为了能同其他报文进行总线访问竞争,总线一旦空闲,重发送立即开始。对于接收器而言,如果知道帧结束的最后一位一直未出错,则对于接收器的报文是有效的。构成一帧的帧起始、总裁场、控制场、数据场CRC序列均借助位填充规则进行编码。当发送器在发送的位流中检测到5位连续的相同数值时,将自动地在实际发送位流中插入一个补码位。数据帧和远程帧的其余位场采用固定格式,不进行填充。出错帧和超载帧同样是固定格式,也不进行位填充。报文中的位流按照非归零(NRz)码方法编码,这意味着一个完整位的位电平要么是“0”要么是“1”。报文传送由4种不同类型的帧表示和控制:数据帧携带数据由发送器送至接收器;远程帧通过总线单元发送,以请求发送具有相同标识符的数据帧;出错帧由检测出总线错误的任何单元发出;超载帧用于提供当前的和后续的数据帧的附加时间延迟。

2.2.6CAN的帧结构

CAN2.OB建立了两种不同的帧格式(适用于数据帧和远程帧):一种是具有n位标识符的 Bas1cCAN(标准帧格式),另一种是具有29位标识符的 PeliCAN。

报文传输有以下4种不同类型的帧:

数据帧 (dataframe):数据帧将数据从发送器传输到接收器;

远程帧 (remoteframe):总线单元发出远程帧,请求发送具有同一标识符的数据帧;

错误帧 (errorframe):任何单元检测到总线错误就发出错误帧;

过载帧 (overioadframe):过载帧用在相邻数据帧或远程帧之间提供附加的延时。

1.数据帧

数据帧由7个不同的位场组成:即帧起始、仲裁场、控制场、数据场、CRC

场、应答场、帧结束。结构如图2一4所示

 

标准帧格式与扩展帧格式中仲裁和控制域结构不同,其结构分别如下:

 

图2一5标准格式的帧结构

 

图2一6扩展格式的帧结构

(1)帧起始 (sOF)标志数据帧和远程帧的起始,它仅由一个“1”构成。只有在总线处于空闲状态时,才允许节点开始发送。所有节点都必须同步于首先开始发送的那个节点的帧起始前沿。

(2)仲裁场由标识一符和远程发送请求位(RTR)组成。仲裁场如图2一7所示:

 

标识符:标识符的长度为11位,这些位以从高位到低位的顺序发送,发送位为ID.0,其中最高7位(ID.10一ID.4)不能全为“1”。RTR位为“O”代表是数据帧,为“1”代表远程帧。为“0”还是为“1”是由用户填写的。

(3)控制场由6位组成,如下图2一8所示:

 

(4)数据场由数据帧中被发送的数据组成,它包括O一8个字节,每个字节8位。首先发送的是最高有效位。

(5)CRC场包括CRC序列,后随CRC界定符,CRC场结构如下图2一9所示

 

(6)应答场(AC均为两位,包括应答间隙和应答界定符,结构如下图2一10

 

(7)帧结束:每个数据帧和远程帧均由“1111111”7个隐性位组成的标志序列界定

2.远程帧
需要获得数据的节点可以借助于发送一个远程帧来请求对应的节点发送数据给它。远程帧同样存在标准的和扩展的两种格式。在两种格式下,均由6个不同的位场组成:帧起始、仲裁场、控制场、CRC场、应答场和帧结束。同数据帧相比较,不同的是:远程帧的RTR位是“1”(这须由用户用程序填充)。远程帧不存在数据场。DLC的数据值是独立的,它可以是0一8中的任何数值。远程帧的组成如下图2一11所示:[!--empirenews.page--]

 



3、出错帧
出错帧由两个不同场组成,第一个场由来自个站的错误标志叠加得到,后随的第二个是出错界定符。出错帧的组成如下图2一12所示:

 



4、超载帧
超载帧包括两个位场;超载标志和超载界定符,其组成如下图2一13所示

 



5、帧间空间

数据帧和远程帧同前面的帧相同,不管是何种帧(数据帧、远程帧、出错
帧和超载帧)均被称为帧间空间的位场分开。帧间空间包括间歇场和总线空闲
场,对于“错误认可”节点还有暂停发送场。对于非”错误认可“的接收器,
其帧空间如下图2一14所示:

 



对于“错误认可”节点,其帧空间如下图2-15所示:



2.2.7CAN数据错误监测


CAN协议可使用五种检查错误的方法,其中前三种为基于报文内容检查。


1.循环冗余检查(CRC):在一帧报文中加入冗余检查位可保证报文正确。接收站通过cRc可判断报文是否有错【25]。其工作原理如下:



(5).根据R(x)和R‘(x)是否相等来判断传输是否出错,如果计算余数多项式和接收余项多项式相等,则数据传输无差错,如果不等,则表明出现了错误,由发送方重新发送数据,知道数据传送正确为止。

2.帧检查:这种方法通过位场检查帧的格式和大小来确定报文的正确性,用于检查格式上的错误。
3.应答错误:被接收到的帧由接收站通过明确的应答来确认。如果发送站未收到应答,那么表明接收站发现帧中有错误,也就以错误类型和界定是说,ACK场己损坏或网络中的报文无站接收。
4.总线检测:CAN中的一个节点可监测自己发出的信号。因此,发送报文的站可以观测总线电平并探测发送位和接收位的差异。
5.位填充:如果在一帧报文中有太多相同电平的位,就有可能失去同步。为保证同步,在五个连续相等位后,发送站自动插入一个与之互补的补码位;接收时,这个填充位被自动去掉。例如,五个连续的低电平位后,CAN自动插入一个高电平位。CAN过这种编码规则检查错误,如果在一帧报文中有6个相同位,CAN就知道发生了错误。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。

关键字: can总线 通信 电子控制

CAN总线和485总线都是常见的串行通信协议,它们在工业自动化、机器人控制等领域被广泛应用。本文将从物理层、数据传输方式、网络拓扑结构、通信速率和应用范围等方面比较CAN总线和485总线的区别。

关键字: can总线 485总线

CAN总线是一种串行通信协议,能有效的支持具有很高安全等级的分布实时控制 应用范围十分广泛,从高速网络到低价位的多路接线都可以使用CAN,主要运用于汽车电子航天等行业,使用CAN连接发动机的控制单元等汽车部件,CAN总...

关键字: can总线 can总线原理

CAN总线在设计之初,就规定了物理层CAN_H和CAN_L采用双绞线差分传输,这样做的目的是提高抗干扰能力,因为当总线上CAN_H与CAN_L遇到干扰可以“同上同下”变化,从而差分值保持不变。

关键字: can总线

CAN是Controller Area Network 的缩写,目前CAN总线被广泛的应用在汽车电子领域和工业的现场总线中。

关键字: can总线 电路设计

目前视频领域所采用的压缩技术大都是属于类似 MPEG系列的技术。虽然MPEG-4或H.264/AVC已经获得较高的压缩比,但想在2.5G甚至2G移动通信网路上采用这种压缩方式实现视频传送还是比较困难,

关键字: can总线 sae

随着电子控制系统单元(ecu)在汽车上广泛应用,汽车电子化程度越来越高。电控系统的增加虽然提高了汽车的动力性、经济性和舒适性,但随之增加的复杂电路,必然导致车身布线庞大而且复杂,安装空间短缺。同时,为

关键字: can总线 电子控制

今日的汽车已迈向智能化与环保化的设计时代,在智能方面透过数字电子技术来提升汽车的安全性与舒适性,并环保方面透过油电混合及电动车等设计来达到节能省碳的目标。因此,今日汽车的电子化程度已愈来愈深,从信息娱

关键字: 汽车仪表 控制设计 车身控制

引言   随着信息科学的快速发展, 人们对数据采集后的信号形式的要求越来越多, 单一的信号形式已经没有办法满足实际工程的需要。网络信号、USB总线信号、RS232总线信号以及CAN总线信

关键字: can总线 co2128

  本文主要论述了基于CAN 总线的电动汽车电源管理中的通信系统设计与实现技术。 电动汽车的电源管理方案,涉及到了发动机、电动机、蓄电池的工作状况、车辆行驶速度、行驶阻力以及驾驶员的操作等诸多参

关键字: 电动汽车 can总线 电源管理 通信系统
关闭
关闭