对于初学者,相对于其他总线的资料来说,在国内CANOpen的资料并不多。而且并不是所有资料都适合初学者看的。这里给出一些建议,对CANOpen感兴趣的,可以参考一下学习的顺序。

前提:需要对CAN总线有所了解,可以看CAN2.0总线的资料。
当然,对计算机系统、单片机以及编程也需要有一定的基础。

第一步:CANOpen Standard 301,这个是一切的基础,最然并不一定马上就要对所有的细节了如指掌,但至少对CANOpen总线以及各种传输控制方式以及其作用需要有一定的了解(比如:NMT、SDO、PDO、HeartBeat等等)。这里不推荐看ZLG的文档,ZLG的文档只是从301文档中,抽出的一些章节中的内容,我相信如果直接看ZLG的文档的话,大部分人是看不懂的。

第二步:最后有一个可以玩的硬件(最好是已经移植好CANOpen协议栈的),否则所有的协议只是资料中的数据格式以及操作方式而已。这样就需要有一个开发板和CAN逻辑分析仪工具。还好我在3年前就已经自己做过一块低成本的CAN的开发板(基于AT90CAN32),并且在这个开发板上实现了基于串口的CAN适配器(可以用于发送各种CAN数据),同时,也在这块板上实现了CANOpen。目前taobao上也有很多种类的CAN开发板和适配器。
在这个硬件上,测试各种CANOpen报文,包括NMT、SDO、PDO,可以远程设置HeartBeat频率,看看收到的HeartBeat报文等。这步完成后,对于CANOpen就有了一定的认识了。对于各种报文,这里要推荐一下ZLG的文档,最后部分对CANOpen的各种报文的格式做了一个总结,查看起来非常方便。

第三步:找个CANOpen的协议栈源码看看,从代码层次来理解CANOpen的各种操作的步骤以及实现方式。当然,目前协议栈也有不少了,有些是免费的,有些是收费的(估计价格还都不便宜)。

第四步:301文档只是描述了CANOpen有那些工具可以使用,但没有任何关于一个模块如何利用这些功能的信息。这样就要看一下CANOpen的各个模块的文档,比如401--I/O模块。不过,并不是所有的这些文档都是免费公开的,可能有些是需要$$才能得到的。

最新文章

  1. C#通过反射给对象赋值
  2. Python 【第十一章】 Django模版
  3. sql按字符截取字段
  4. 特征处理(Feature Processing)
  5. C#抓取天气数据
  6. 重启 IIS7 应用程序池的批处理
  7. C语言--scanf
  8. OpenCV: Canny边缘检测算法原理及其VC实现详解(转载)
  9. viewpager 设置预加载项
  10. mysql 数据库基本命令语句
  11. IPFS:世界正在悄然发生变化
  12. kv.go
  13. ch.ethz.ssh2.Session和com.jcraft.jsch.Session
  14. 如何在VB.net中建立word文档
  15. font-size:0的妙用,用于解决inline或者inline-block造成的间隙
  16. Javaweb 编解码流程
  17. 朝花夕拾 - 应用了6年久经实际项目考验未变的代码 - singleton模式
  18. Spring MVC 之请求参数和路径变量
  19. c# 利用百度图像处理【人像分割】一键抠图
  20. android 服务解析

热门文章

  1. slice扩容
  2. 13 - stark总结、github代码
  3. 【HNOI2014】江南乐
  4. .net core中automapper的使用
  5. java单元测试的用法及原因
  6. hdu2795 Billboard(线段树单点修改)
  7. allure2 report+ jenkins 使用
  8. 在初学Flask中遇到的小问题。
  9. 《杜增强讲Unity之Tanks坦克大战》8-子弹碰撞处理
  10. Vuejs 使用 lib 库模式打包 umd 解决 NPM 包发布的问题