stm32的can总线理解及应用——程序对应stm32f103系列.pdfVIP

stm32的can总线理解及应用——程序对应stm32f103系列.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
stm32的can总线理解及应⽤——程序对应stm32f103系列 CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串⾏通信协议。 它的通信速度较快,通信距离远,最⾼1Mbps(距离⼩于40⽶),最远可达10千⾥(速率低于5Kbps)。在总线空闲时,所有单元都可 以发送消息(多主控制),⽽两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。ID 并不是表⽰发 送的⽬的地址,⽽是表⽰访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID 的每个位进⾏逐个仲裁⽐较。仲裁 获胜(被判定为优先级最⾼)的单元可继续发送消息,仲裁失利的单元则⽴刻停⽌发送⽽进⾏接收⼯作。 CAN协议经过ISO标准化后有两个标准:ISO11898标准和ISO11519-2标准。其中ISO11898是针对通信速率为125Kbps~1Mbps的⾼ 速通信标准,⽽ISO11519-2是针对通信速率为125Kbps以下的低速通信标准。 本章,我们使⽤的是450Kbps的通信速率,使⽤的是ISO11898标准,该标准的物理层特征如图1所⽰: 从该特性可以看出,显性电平对应逻辑0,CAN_H和CAN_L之差为2.5V左右。⽽隐性电平对应逻辑1,CAN_H和CAN_L之差为0V。在总 线上显性电平具有优先权,只要有⼀个单元输出显性电平,总线上即为显性电平。⽽隐形电平则具有包容的意味,只有所有的单元都输出隐 性电平,总线上才为隐性电平(显性电平⽐隐性电平更强)。另外,在CAN总线的起⽌端都有⼀个120Ω的终端电阻,来做阻抗匹配,以 减少回波反射。 CAN协议是通过以下5种类型的帧进⾏的: l 数据帧 l 摇控帧 l 错误帧 l 过载帧 l 帧间隔 另外,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有11 个位的标识符(ID),扩展格式有29 个位的ID。 1.数据帧 数据帧⼀般由7个段构成,即: (1) 帧起始。表⽰数据帧开始的段。 (2) 仲裁段。表⽰该帧优先级的段。 (3) 控制段。表⽰数据的字节数及保留位的段。 (4) 数据段。数据的内容,⼀帧可发送0~8个字节的数据。 (5) CRC段。检查帧的传输错误的段。 (6) ACK段。表⽰确认正常接收的段。 (7) 帧结束。表⽰数据帧结束的段。 如图2为数据帧的构成: 图中D表⽰显性电平,R表⽰隐形电平(下同)。 帧起始,标准帧和扩展帧都是由1个位的显性电平表⽰帧起始。 仲裁段,表⽰数据优先级的段,标准帧和扩展帧格式在本段有所区别,标准格式的ID 有11 个位。从ID28 到ID18 被依次发送。禁⽌⾼7 位都为隐性(禁⽌设定:ID=1111111XXXX,原因:can通信采⽤的是NZR编码,⽽can的仲裁是靠数据帧中的ID部分来实现的,全为隐 性状态,可能导致仲裁失败!)。扩展格式的 ID 有29 个位。基本ID 从ID28 到ID18,扩展ID 由ID17 到ID0 表⽰。基本ID 和标准格式的 ID 相同。禁⽌⾼7 位都为隐性(禁⽌设定:基本ID=1111111XXXX)。 其中RTR位⽤于标识是否是远程帧(0,数据帧;1,远程帧),IDE位为标识符选择位(0,使⽤标准标识符;1,使⽤扩展标识 符),SRR位为代替远程请求位,为隐性位,它代替了标准帧中的RTR位。 控制段,由6个位构成,表⽰数据段的字节数。 数据段,该段可包含0~8个字节的数据。从最⾼位(MSB)开始输出,标准帧和扩展帧在这个段的定义都是⼀样的。 CRC段,该段⽤于检查帧传输错误。由15个位的CRC顺序和1个位的CRC界定符(⽤于分隔的位)组成,标准帧和扩展帧在这个段的格式 也是相同的。 ACK段,此段⽤来确认是否正常接收。由ACK槽(ACK Slot)和ACK界定符2个位组成。标准帧和扩展帧在这个段的格式也是相同的。 2.远程帧(遥控帧) 远程帧作⽤:只发送ID号,不发送数据,它将ID发给另⼀台设备,请求另⼀台设备返回数据。 3.CAN总线波特率设置 位速率:由发送单元在⾮同步的情况下发送的每秒钟的位数称为位速率。⼀个位可分为 4 段。 l 同步段(SS) l 传播时间段(PTS) l 相位缓冲段1(PBS1) l 相位缓冲段2(PBS2) 这些段⼜由可称为 Time Quantum(以下称为Tq)的最⼩时间单位构成。 1 位分为4 个段,每个段⼜由若⼲个Tq 构成,这称为位时序。 1 位由多少个Tq 构成、每个段⼜由多少个Tq 构成等,可以任意设定位时序。通过设定位时序,多个单元可

文档评论(0)

176****7010 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档