CANOpen學習指南

對於初學者,相對於其餘總線的資料來講,在國內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模塊。不過,並非全部的這些文檔都是免費公開的,可能有些是須要$$才能獲得的。編程

相關文章
相關標籤/搜索