打印
[应用相关]

canopen 简单的入门

[复制链接]
楼主: stm32jy
手机看帖
扫描二维码
随时随地手机跟帖
41
stm32jy|  楼主 | 2018-11-30 23:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
异步传输(由特定事件触发)
其触发方式可有两种, 第一种是由设备子协议中规定的对象特定事件来触发(例如,定
时传输,数据变化传输等)。第二种是通过发送与 PDO 的 COB-ID 相同的远程帧来触发 PDO
的发送。 目前应用中的异步传输基本都采用第一种。

使用特权

评论回复
42
stm32jy|  楼主 | 2018-11-30 23:16 | 只看该作者
同步传输(通过接收同步对象实现同步)
同步传输就是通过同步报文让所有节点能在同一时刻进行上传数据或者执行下达的应
用指令,可以有效避免异步传输导致的应用逻辑混乱和总线负载不平衡的问题。 一般发送同
步报文的节点是 NMT 主机。

使用特权

评论回复
43
stm32jy|  楼主 | 2018-11-30 23:16 | 只看该作者
PDO 的通信参数
PDO 通信参数,定义了该设备所使用的 COB-ID、传输类型、定时周期等。 RPDO 通讯
参数位于对象字典索引的 1400h to 15FFh, TPDO 通讯参数位于对象字典索引的 1800h to
19FFh。 每条索引代表一个 PDO 的通信参数集,其中的子索引分别指向具体的各种参数。如
表 所示

使用特权

评论回复
44
stm32jy|  楼主 | 2018-11-30 23:17 | 只看该作者
Number of entries 参数条目数量:即本索引中有几条参数;
 COB-ID:即这个 PDO 发出或者接收的对应 CAN 帧 ID;
 发送类型:即这个 PDO 发送或者接收的传输形式,通常使用循环同步和异步制造
商特定事件较多;
 Inhibit time 生产禁止约束时间(1/10ms):约束 PDO 发送的最小间隔,避免导致总
线负载剧烈增加,比如数字量输入过快,导致状态改变发送的 TPDO 频繁发送,
总线负载加大,所以需要一个约束时间来进行“滤波”,这个时间单位为 0.1ms;
 Event timer 事件定时器触发的时间(单位 ms):定时发送的 PDO,它的定时时间,
如果这个时间为 0,则这个 PDO 为事件改变发送。
 SYNC start value 同步起始值:同步传输的 PDO,收到诺干个同步包后,才进行发
送,这个同步起始值就是同步包数量。比如设置为 2,即收到 2 个同步包后才进行
发送。

使用特权

评论回复
45
stm32jy|  楼主 | 2018-11-30 23:17 | 只看该作者
PDO 的映射参数
PDO 映射参数是初学者学习 CANopen 时的一个难点, 它包含了一个对象字典中的对
象列表,这些对象映射到相应的 PDO,其中包括数据的长度(单位,位),对于生产者和
消费者都必须要知道这个映射参数,才能够正确的解释 PDO 内容。 就是将通信参数、应用
数据和具体 CAN 报文中数据联系起来。

使用特权

评论回复
46
stm32jy|  楼主 | 2018-11-30 23:18 | 只看该作者
RPDO 通讯参数 1400h to 15FFh, 映射参数 1600h to 17FFh, 数据存放为 2000h 之后厂商
自定义区域; TPDO 通讯参数 1800h to 19FFh,映射参数 1A00h to 1BFFh,数据存放为 2000h 之
后厂商自定义区域。

使用特权

评论回复
47
stm32jy|  楼主 | 2018-11-30 23:18 | 只看该作者
PDO 在对象字典中的映射关系

使用特权

评论回复
48
wowu| | 2018-12-4 13:20 | 只看该作者
我到现在也不知道为什么我的没有调通

使用特权

评论回复
49
xiaoqizi| | 2018-12-4 13:24 | 只看该作者
具体到单片机上是怎么写的呢

使用特权

评论回复
50
磨砂| | 2018-12-5 10:00 | 只看该作者
感谢分享 很基础的资料

使用特权

评论回复
51
磨砂| | 2018-12-5 10:01 | 只看该作者
感谢分享  很基础的资料

使用特权

评论回复
52
stm32jy|  楼主 | 2018-12-21 21:46 | 只看该作者
xiaoqizi 发表于 2018-12-4 13:24
具体到单片机上是怎么写的呢

csdn 上有stm32 canopen例子

使用特权

评论回复
53
stm32jy|  楼主 | 2018-12-21 21:47 | 只看该作者
wowu 发表于 2018-12-4 13:20
我到现在也不知道为什么我的没有调通

你用的是canfestival吗?

使用特权

评论回复
54
stm32jy|  楼主 | 2018-12-21 21:47 | 只看该作者
磨砂 发表于 2018-12-5 10:00
感谢分享 很基础的资料

找的工程好好研究下,要花时间的。

使用特权

评论回复
55
wowu| | 2019-1-1 17:00 | 只看该作者
stm32jy 发表于 2018-12-21 21:47
找的工程好好研究下,要花时间的。

是的 什么都需要自己动手试试看才能真的弄懂

使用特权

评论回复
56
xiaoqizi| | 2019-1-1 17:06 | 只看该作者
stm32jy 发表于 2018-12-21 21:46
csdn 上有stm32 canopen例子

是不是还需要积分下载啊

使用特权

评论回复
57
kkzz| | 2019-1-1 22:15 | 只看该作者
CANopen是一种架构在控制局域网路

使用特权

评论回复
58
hudi008| | 2019-1-1 22:15 | 只看该作者
CAN-BUS接触过                     

使用特权

评论回复
59
lzmm| | 2019-1-1 22:15 | 只看该作者
依靠CANopen协议的支持,可以对不同厂商的设备通过总线进行配置

使用特权

评论回复
60
minzisc| | 2019-1-1 22:16 | 只看该作者
有SYNC的CANopen网络

使用特权

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

本版积分规则