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模塊。不過,並不是所有的這些文檔都是免費公開的,可能有些是需要$$才能得到的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM