- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)