CAN时序汇编.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CAN时序汇编

1.CAN协议1.1 帧类型通讯时使用下面5个类型的帧:? ? 数据帧? ? 遥控帧? ? 错误帧? ? 过载帧? ? 帧间空隙? ? 在所有这些帧中,数据帧和遥控帧由用户设置,而其它帧则由CAN硬件设置。? ? 数据和遥控帧有两种格式:标准和扩展格式。标准格式有11bit的ID,而扩展格式则是29bit的ID。? ? 每个帧的用处见表6,每个帧的结构见图10到图14表6 帧类型和每种类型帧的作用2.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)? ? CRC的产生方法是采用下面的多项式:,CRC的计算范围是SOF、仲裁域、控制域、数据域。在接收侧,会对接收到的数据帧的这些域进行CRC计算,如果计算结果与收到的CRC不一致,则表明存在传输错误。(6)ACK域,是对一帧已被正常接收的一个确认信号,由2个bit组成,一个是ACK的slot,一个是ACK的定界符(delimiter),如图21所示:? ? 注1:发送单元的ACK域,发送单元以隐性bit发送ACK slot和ACK 的delimiter。? ? 注2:接收单元的ACK域,正确接收到信息的接收单元在接收帧的ACK slot里发送一个显性bit,以通知发送单元其已经正确接收完毕,这又称“sending ACK”或“returning ACK”。“Returning an ACK”:? ? 所有接收单元只要不是处于bus-off或休眠状态,只有正确接收信息的单元才能发送ACK。发送单元并不发送ACK。如果总线上除了发送单元,没有其它单元能接收信息,则No ACK被返回。为了通讯的建立,除了发送单元外,至少需要有一个单元能够接收信息。如果总线上有2个或更多个单元能接收到信息,如果它们中任意一个正常接收到信息,则会有ACK被返回。(7)帧结束,指示一帧结束,由7个隐性位组成。如图221.3 遥控帧? ? 遥控帧是接收单元请求发送单元发送一个信息,遥控帧有6个域组成。如图23显示的那样,除了没有数据域外其它与数据帧的结构是一样的。(1) 帧开始(SOF):这个域表示数据帧的开始。(2) 竞争域:这个域表示数据的优先级,具有同样ID的数据帧被请求。(3) 控制域:这个域表示

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档