CANopen 伺服 学习笔记1---CANopen协议入门

(本文参考文献如下:

《基于 CANopen 协议的交流伺服驱动器的研究---黄剑》

《基于CANopen协议的主从站伺服控制研究---陈海燕》)

 

CANopen的层模型如下图,包括物理层,数据链路层,和应用层。

物理层:波特率等电气特性。

数据链路层:判断总线数据优先级,监控出错点等。

应用层:使用通讯对象(COB)完成设备间的数据交换。

CANopen典型结构由通讯接口、对象字典、应用程序组成。

通讯接口:提供各种通讯对象和传输数据所需的服务???协议栈???

对象字典:应用对象、通讯对象、状态机等数据的集合体

应用程序:各设备之间的纽带,核心功能是通过访问对象字典完成控制等。

 

 

CAN 总线采用 CSMA/CD 即载波监听多路访问/冲突检测(Carrier  Sense  Multiple 
Access/Collision Detect)的通信模式。

 

几个概念:

同步传输和异步传输

CANopen通信模型支持同步和异步的信息传输方式。同步传输与异步传输的区
别是:同步传输的报文必须通过一个预先定义好的同步报文来触发其发送,而异步
传输的报文则可以在任何时候发送。CANopen使用同步报文以及时间戳报文等预定
义的通信对象来实现同步功能。通过使用报文的同步传输功能,网络内的所有数据
传输,例如数据采集和驱动都可以得到很好的调节和控制。

线性表和链表

  • 若线性表需要频繁查找,很少进行插入和删除操作时,宜采用顺序存储结构。若需要频繁插入和删除时,宜采用单链表结构。
  • 当线性表中的元素个数变化较大或者根本不知道有多大时,最好用单链表结构,这样可以不需要考虑存储空间的大小问题。而如果事先知道线性表的大致长度,用顺序存储结构效率会高很多

协议栈中对象字典实现

选择静态结构体作为对象字典的存储结构,所有参数按照索引、子索引升序存入数组。

(静态查找有顺序查找、折半查找、差值查找三种)

 

还需要解决的问题是:

1,从邮箱到对象字典的映射如何处理?

2,NMT、PDO、SDO。

 

 

 

 

 

 

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值