赞
踩
报文根据用途不同分为4类
数据帧:发送器发送到接收器。数据由MCU产生
远程帧:向其他节点请求发送同一标识符(ID)的数据帧
错误帧: 任何can节点指明已检测到总线错误
超载帧:在前后之间的数据帧(或远程帧)提供一附加延时
数据帧和远程帧又有定义了标识符ID为11位的标准帧格式和标识符ID为10的扩展帧格式两种形式。这两种的数据帧都有7个场。远程帧有6个位场。
数据帧和远程帧的区别就是 远程帧没有数据。
标准帧和扩展帧的区别 两者的ID位数不同,标准帧ID位有11位,而扩展帧有29位。
错误帧与过载帧相似,都是由两个域组成。
错误帧
有两个域,第一个域为不同节点提供的错误标志的叠加;第二个域为错误界定符。
错误标识有两个形式:激活错误标识、认可错误标识。
激活错误标识由6个连续的显性位组成。
认可错误标识由6个连续的隐形位组成,除非被其他节点的显性位覆盖(线与机制)。
错误标识的重复序列最小有6位,最大有12位。
错误界定符包括8个隐形位。
过载帧
过载标识域、过载界定符。
过载标识由6个显性位组成,和激活错误标识一样。
过载界定符由8个隐性位组成。
RTR: 远程传输请求位,在数据帧结构中RTR为显性电平(0),在远程帧中,为隐性电平(1)
SRR: 替代传输请求位,在扩展格式中始终为隐性位(1)
IDE: 标识符扩展位,在扩展格式中为隐性电平(1)
组成
数据帧由7个场组成:帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束
帧起始(Start of frame,SOF):标志着数据帧和远程帧的起始,仅由一位显性组成。总线空闲时,才允许开始发送。
仲裁场:判断报文ID的优先权,ID越小,优先级越高。标识符的位从高位到低位顺序发送,ID.0是最低位,是最后发送。按照帧分类的帧优先级:数据帧>远程帧 标准帧>扩展帧
仲裁场组成:
在标准帧格式中,仲裁场由11位标识符和RTR位(远程请求位)组成
在扩展帧格式中,仲裁场由29位标识符、SRR(替换传输请求)位、标识扩展位IDE和RTR组成。
IDE位(标识符扩展位):只有扩展帧存在时,IDE为隐形电平。
SRR(代替传输请求位):扩展帧格式中始终位隐形位。
控制场:控制场由6位组成,包括数据长度码DLC和两个保留位,保留位且为显性位。数据长度码DLC指出了数据场里的字节数目(0~8个字节)
CRC(循环冗余码)场
由CRC序列(15bit)和CRC界定符(1bit)。
作用:可以判断帧是否出错,但并不能指出那个数据位出错和纠错。
应答场:两位,包含应答间隙和应答界定符。
应答过程
发送器发送两个隐形位。
正确接收有效报文的接收器,在应答间隙发一个显性位给发送器。
帧结束 每个数据帧和远程帧均由7个隐位组成的标志序列界定。
组成:由6个分位场组成帧起始、仲裁场、控制场、CRC场、应答场和帧结束。
作用:接收数据的节点可以通过发送一个远程帧来要求源节点发送数据。
特点:远程帧RTR(远程传输请求)位是隐位、不存在数据场。
组成:由两个不同的场组成,第一个场由来自各节点的出错标志叠加而成。第二场是错误标定符。
作用:区分错误帧并计数错误次数。在接收和发送消息时检查错误、通知错误的帧。
出错标记标记有两类
主动错误标志(ERROR-ACTIVE):由6个连续的显性位组成,由处于主动错误状态的节点检测出错误时输出的错误标志;
被动错误标志:由6个连续的隐性位构成,可被来自其他节点的显性位改写;处于被动错误状态的单元检测出错误时输出的错误标志。
接收节点发现总线上的报文有错误时将会自动发出主动错误标志(6个连续显性位)。其他节点检测到主动错误标志位后发送被动错误标志(6个连续隐性位)
组成:由超载标志和超载界定位场组成。
作用:用于接收节点通知尚未完成接收准备的帧。
过载情况:
接收器的内部情况(此接收器对于下一数据帧或远程帧需要一定延时)
在间隔的第一和第二字节检测到一个“显性”位。
CAN节点在错误界定符或过载界定符的第8位采样到显性位,节点会发送一个过载帧。错误计数器不会计数。
数据帧和远程帧均以一种称为帧间空间的位场与先前各种类型的帧(数据帧、远程帧、出错帧或超载帧)相分隔。
超载帧和出错帧前面没有帧间空间。
组成
包括帧间歇场(ITM)、总线空闲场(bus idle)、以及暂停发送位(延迟发送)等场构成。
其中暂停发送只用于错误认可状态下的节点刚完成发送动作的场合。
帧间空间各个场的介绍
间隙帧
由3个隐形位组成。间歇期间,不允许启动发送数据帧或远程帧。可操作通报超载状态。
总线空闲
总线空闲时间长短不限。总线一经确认处于空闲状态,则任何节点都可以访问总线来传送信息。
发送帧总线冲突后,优先级低的帧从间歇后的第一位开始送出。
对总线检测,出现在总线空闲期间的显性位被认为是帧起始。
暂停发送
处于错误认可状态的节点完成其发送动作后,在被容许发送下一帧以前,它要在间歇之后发送8个隐形位。
若间歇期间,另外一个节点执行了发送动作,则本节点将会变成正在发送帧的接收器。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。