发新帖我要提问
12
返回列表
打印
[应用相关]

STM32 CAN 相关知识

[复制链接]
楼主: stm32jy
手机看帖
扫描二维码
随时随地手机跟帖
21
stm32jy|  楼主 | 2018-6-30 18:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
显性电平和隐性电平
总线上的电平有显性电平和隐性电平两种。
总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。
“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平。并且,“隐
性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比
隐性电平更强。)

使用特权

评论回复
22
stm32jy|  楼主 | 2018-6-30 18:03 | 只看该作者
数据帧(仲裁段)表示数据的优先级的段。标准格式和扩展格式在此的构成有所不同。

使用特权

评论回复
23
stm32jy|  楼主 | 2018-6-30 20:47 | 只看该作者
数据帧(数据段)数据段可包含 0~8 个字节的数据。从 MSB(最高位)开始输出。

使用特权

评论回复
24
stm32jy|  楼主 | 2018-6-30 20:48 | 只看该作者
数据帧(CRC 段)CRC 段是检查帧传输错误的帧。由 15 个位的 CRC 顺序 *1 和 1 个位的 CRC 界定符(用于分隔的位)构成。

使用特权

评论回复
25
stm32jy|  楼主 | 2018-6-30 21:45 | 只看该作者
数据帧(ACK 段)ACK 段用来确认是否正常接收。由 ACK 槽(ACK Slot)和 ACK 界定符 2 个位构成。

使用特权

评论回复
26
stm32jy|  楼主 | 2018-6-30 21:55 | 只看该作者
数据帧(帧结束)帧结束是表示该该帧的结束的段。由 7 个位的隐性位构成。


使用特权

评论回复
27
stm32jy|  楼主 | 2018-6-30 22:02 | 只看该作者
遥控帧
(1) 帧起始(SOF)
表示帧开始的段。
(2) 仲裁段
表示该帧优先级的段。可请求具有相同 ID 的数据帧。
(3) 控制段
表示数据的字节数及保留位的段。
(4) CRC 段
检查帧的传输错误的段。
(5) ACK 段
表示确认正常接收的段。
(6) 帧结束
表示遥控帧结束的段。

使用特权

评论回复
28
stm32jy|  楼主 | 2018-6-30 22:05 | 只看该作者
遥控帧的构成

使用特权

评论回复
29
stm32jy|  楼主 | 2018-6-30 22:08 | 只看该作者
遥控帧和数据帧
数据帧和遥控帧的不同
遥控帧的 RTR 位为隐性位,没有数据段。
没有数据段的数据帧和遥控帧可通过 RTR 位区别开来。
遥控帧没有数据段,数据长度码该如何表示?
遥控帧的数据长度码以所请求数据帧的数据长度码表示。
没有数据段的数据帧有何用途?
例如,可用于各单元的定期连接确认/应答、或仲裁段本身带有实质性信息的情况下。

使用特权

评论回复
30
stm32jy|  楼主 | 2018-6-30 23:23 | 只看该作者
错误帧 包括主动错误标志和被动错误标志两种





使用特权

评论回复
31
stm32jy|  楼主 | 2018-6-30 23:24 | 只看该作者
过载帧的构成

使用特权

评论回复
32
stm32jy|  楼主 | 2018-6-30 23:25 | 只看该作者
帧间隔的构成

使用特权

评论回复
33
stm32jy|  楼主 | 2018-6-30 23:26 | 只看该作者
优先级的决定
在总线空闲态,最先开始发送消息的单元获得发送权。
多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进行仲裁。连续输出显性电平最多的单元可继
续发送。
仲裁的过程如图 所示。


使用特权

评论回复
34
stm32jy|  楼主 | 2018-6-30 23:27 | 只看该作者
数据帧和遥控帧的优先级
具有相同 ID 的数据帧和遥控帧在总线上竞争时,仲裁段的最后一位(RTR)为显性位的数据帧具有优先权,
可继续发送。
数据帧和遥控帧的仲裁过程如图  所示。


使用特权

评论回复
35
stm32jy|  楼主 | 2018-6-30 23:28 | 只看该作者
标准格式和扩展格式的优先级
标准格式 ID 与具有相同 ID 的遥控帧或者扩展格式的数据帧在总线上竞争时,标准格式的 RTR 位为显性位
的具有优先权,可继续发送。
标准格式和扩展格式的仲裁过程如图 所示。


使用特权

评论回复
36
stm32jy|  楼主 | 2018-6-30 23:29 | 只看该作者
位填充
位填充是为防止突发错误而设定的功能。当同样的电平持续 5 位时则添加一个位的反型数据。
位填充的构成如图所示。


使用特权

评论回复
37
stm32jy|  楼主 | 2018-6-30 23:30 | 只看该作者
先就这么多,其它的再整理吧。

使用特权

评论回复
38
515192147| | 2018-7-5 10:28 | 只看该作者
CAN 开发 还是比较麻烦的,最好用CAN的高层协议,CANweb是结合CAN和以太网优点的CAN现场总线高层协议,简易、好用
详细见:
通过CAN现场总线可Web网页浏览监控的开发板
https://bbs.21ic.com/icview-1945634-1-1.html

使用特权

评论回复
39
stm32jy|  楼主 | 2018-7-5 21:29 | 只看该作者
515192147 发表于 2018-7-5 10:28
CAN 开发 还是比较麻烦的,最好用CAN的高层协议,CANweb是结合CAN和以太网优点的CAN现场总线高层协议,简易 ...

正在学习CANOPEN,开源的有canfestival

使用特权

评论回复
40
wakayi| | 2018-7-14 21:23 | 只看该作者
这。。。。这是基础知识

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则