1.CAN协议
1.1 帧类型
通讯时使用下面5个类型的帧:
数据帧
遥控帧
错误帧
过载帧
帧间空隙
在所有这些帧中,数据帧和遥控帧由用户设置,而其它帧则由CAN硬件设置。
数据和遥控帧有两种格式:标准和扩展格式。标准格式有11bit的ID,而扩展格式则是29bit的ID。
每个帧的用处见表6,每个帧的结构见图10到图14
表6 帧类型和每种类型帧的作用
1.2 数据帧
数据帧由发送单元使用,用来发送信息给接收单元,这是用户 *** 作的基本帧。
数据帧有7个域组成。图15显示了数据帧的结构。
(1)帧开始(SOF):这个域表示数据帧的开始。
(2)仲裁域:这个域表示一个帧的优先级
(3)控制域:这个域表示保留位和数据字节数
(4)数据域:这是数据内容,0-8个字节的数据能被发送
(5)CRC域:这个域用于检查帧的传输错误。
(6)ACK域:是对帧已经被正常接收的一个证实。
(7)帧结束:指示数据帧结束
(1)帧开始(SOF),对标准的或扩展的格式都是一样的。它指示一帧的开始,由1bit的显性位组成。
显性电平和隐性电平:
总线上的电平有显性电平和隐性电平两种。
总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。
“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平,并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强)
(2)仲裁域,这个域表示数据的优先级别。这个域的结构,对标准和扩展的格式是有差别的。
注1:关于ID:
标准格式的ID有11bit,从ID28到ID18被依次发送,禁止高7位全为隐性。(禁止设定:ID=1111111xxxx)。这样总共有(2048-16)个ID能被使用。
扩展格式的ID有29个bit。基本ID从ID28到ID18,扩展ID由ID17到ID0表示,基本ID和标准格式ID相同,禁止高7bit全都为隐性,(禁止设定:基本ID=1111111xxxx)。这样总共有(2048-16)个ID能被使用。
在任何情况下,总线上不可能有多个设备在同一时刻使用同一个ID传输数据帧。
(3)控制域,占6个bit,指示要传输信息的数据字节数,这个域的结构,对标准和扩展的格式是有差别的。如图18所示
注1:保留位(r0,r1),保留位必须以显性电平传送,然而,在接收侧可以接收显性、隐性集任意组合的电平。
注2:数据长度码(DLC),数据长度码与数据的字节对应关系见表7所示。数据的字节数必须是0-8个字节,但接收方对DLC=9-15的情况并不视为错误。
(4)数据域,对标准的或扩展的格式都是一样的。这个域是传输的数据,可以是0到8个字节,字节数载控制域中指明。数据输出开始于MSB。如图19所示:
(5)CRC域,对标准的或扩展的格式都是一样的。这个域用来检查帧是否有传输错误,它由15bit CRC码和一个bitCRC定界符(delimiter)(separaTIng bit分隔bit)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)