日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

CANopen学习

發(fā)布時間:2024/9/18 综合教程 67 生活家
生活随笔 收集整理的這篇文章主要介紹了 CANopen学习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.CANopen協(xié)議總述

CANopen 是一個基于 CAN 串行總線的網(wǎng)絡(luò)傳輸系統(tǒng)的應(yīng)用層協(xié)議,遵循 ISO/OSI 標(biāo)準(zhǔn)模型。

網(wǎng)絡(luò)中不同的設(shè)備通過對象字典或者對象來相互交換數(shù)據(jù),其中,主節(jié)點(diǎn)可以通過過程數(shù)據(jù)對象 (PDO) 或者服務(wù)數(shù)據(jù)對象 (SDO) 來獲取或者修改其它節(jié)點(diǎn)對象字典列表中的數(shù)據(jù)。

CANopen協(xié)議主要內(nèi)容分為三大塊,如下圖CANopen 的設(shè)備模型。

推薦書籍:周立功的《CANopen輕松入門》,建議詳細(xì)拜讀,可以帶大家入門。

2.通訊接口

入門之后若要深入理解,我建議參看官網(wǎng)的《CANOpen CiA 301》標(biāo)準(zhǔn)這本文檔

CiA(CAN in Automation) 301也是大家所說的DS301,為CANopen 基礎(chǔ)協(xié)議。

我們還常看到類似CiA 401 402這些協(xié)議,其實(shí)它們是在CiA 301 之上,對各個行業(yè)不斷推出設(shè)備子協(xié)議。

所謂的子協(xié)議,就是針對不同行業(yè)的應(yīng)用對象,對 CANopen 內(nèi)部的數(shù)據(jù)含義進(jìn)行重新定義,或者添加新的控制邏輯。

按照CANOpen CiA 301協(xié)議文檔,提取了通信接口的主要內(nèi)容,如下圖:

2.1 網(wǎng)絡(luò)管理(NMT),包括 Boot-up(上線) 消息, Heartbeat(心跳) 協(xié)議及 NMT 消息,基于主從通信模式,

NMT 用于管理和監(jiān)控網(wǎng)絡(luò)中的各個節(jié)點(diǎn),主要實(shí)現(xiàn)三種功能:節(jié)點(diǎn)狀態(tài)控制、錯誤控制和節(jié)點(diǎn)啟動。

  CANOpen網(wǎng)絡(luò)一般是一個主站,多個從站的局域網(wǎng)絡(luò);

  NMT節(jié)點(diǎn)具有6種狀態(tài):初始化、應(yīng)用層復(fù)位、通訊復(fù)位、預(yù)操作狀態(tài)、操作狀態(tài)、停止?fàn)顟B(tài)。可以自己切換狀態(tài),也可主站切換狀態(tài);

  任何一個 CANopen 從站上線后發(fā)出節(jié)點(diǎn)上線報文(boot-up)。

2.2 過程數(shù)據(jù)對象 PDO

每個 CANopen 設(shè)備包含 8 個缺省的 PDO 通道, 4 個發(fā)送 PDO 通道和 4 個接收 PDO 通道。

  PDO用來傳輸實(shí)時數(shù)據(jù),包括接收 PDO(RPDO) 和發(fā)送 PDO(TPDO),數(shù)據(jù)從一個創(chuàng)建者傳到一個或多個接收者,屬于“生產(chǎn)消費(fèi)”模型,數(shù)據(jù)傳送限制在 1 到 8 個字節(jié)。

  COB-ID(CAN Object Identifier,CANID是其一部分,NodeID是CANID的低7位) 定義只是預(yù)定義。

  PDO 的兩種傳輸方式:同步傳輸和異步傳輸,由該 PDO 對應(yīng)的通信參數(shù)決定。

  PDO 的通信參數(shù)可通過對象字典工具配置。

  PDO 消息的內(nèi)容是預(yù)定義的,由該 PDO 對應(yīng)的映射參數(shù)決定。PDO 的映射參數(shù)是一個相對難理解的參數(shù),請結(jié)合《CANopen 輕松入門》圖文理解。

2.3 服務(wù)數(shù)據(jù)對象 SDO

包括接收 SDO(R-SDO) 和發(fā)送 SDO(T-SDO)。

通過使用索引和子索引, SDO 使客戶機(jī)能夠訪問設(shè)備對象字典中的項(xiàng)。

SDO 通過 CAL 中多元域的 CMS 對象來實(shí)現(xiàn),允許傳送任何長度的數(shù)據(jù),當(dāng)數(shù)據(jù)超過 4 個字節(jié)時分拆成幾個報文。

協(xié)議是確認(rèn)服務(wù)類型,為每個消息生成一個應(yīng)答。 SDO 請求和應(yīng)答報文總是包含 8 個字節(jié)。

  SDO為請求應(yīng)答方式;

  發(fā)送方(客戶端)、接收方(服務(wù)器) ;

  通常從節(jié)點(diǎn)為 SDO 服務(wù)器,主節(jié)點(diǎn)為客戶端;

  兩種協(xié)議:快速、普通 SDO 協(xié)議;

CS命令符含義需熟記(查表);

2.4 特殊協(xié)議

2.4.1.常見的就是羅列出來的3種:

  同步協(xié)議,包含同步對象,同步對象是由 CANopen 主站周期性地廣播到 CAN 總線的報文,用來實(shí)現(xiàn)基本的網(wǎng)絡(luò)時鐘信號,

 每個設(shè)備可以根據(jù)自己的配置,決定是否使用該事件來跟其它網(wǎng)絡(luò)設(shè)備進(jìn)行同步通信。

   時間戳協(xié)議。

   緊急報文協(xié)議,設(shè)備內(nèi)部通信故障或者應(yīng)用故障錯誤時發(fā)送的報文。

2.4.2.特殊協(xié)議CAN-ID定義(查表);

2.4.3.緊急報文錯誤代碼分類及含義;

3.對象字典

CANopen設(shè)備最重要的一個部分就是對象字典。對象字典本質(zhì)上是一種被預(yù)先安排的對象序列,可通過網(wǎng)絡(luò)訪問。字典里面的每一對象均可使用一個16-bit主索引和8-bit子索引尋址到。

對象字典下面主要包含:數(shù)據(jù)類型、通信對象、應(yīng)用對象。

3.1 通信子協(xié)議區(qū),如上圖1000h 到 1FFFh這個區(qū)域。也就是通信接口(或通信對象)協(xié)議區(qū)。

關(guān)于創(chuàng)建對象字典,可以使用Canfestival工具,詳見:http://www.elecfans.com/d/1153555.html

總結(jié)

以上是生活随笔為你收集整理的CANopen学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。