當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于DSP的CANopen通訊協(xié)議的實現(xiàn)

1 引言

CANopen是一個開放的、標準化的應用層協(xié)議,在各種控制系統(tǒng)中得到了廣泛的應用。依靠CANopen協(xié)議的支持,可以對不同CAN廠商的設備通過總線進行實時通訊。

本文針對自主研發(fā)的全數(shù)字電機伺服驅(qū)動系統(tǒng),使用CANopen通訊協(xié)議實現(xiàn)了CAN總線數(shù)字信號處理器(DSP)系統(tǒng)與上位機CAN卡之間的通訊,并通過測試實驗驗證了信息傳遞的可靠性,保證了全數(shù)字網(wǎng)絡化伺服驅(qū)動系統(tǒng)中對電機控制的快速性、準確性和實時性。

2 通訊系統(tǒng)實現(xiàn)的基本原理

2.1 LF240x系列DSP的CAN控制器模塊

LF240x系列DSP的CAN控制器模塊,是一個完全的CAN控制器。具有以下特性[6]:

(1)完全支持CAN2.0B協(xié)議;

(2)對象有6個郵箱,用于接收和發(fā)送信息,其數(shù)據(jù)長度為0~8個字節(jié);

(3)可編程的中斷配置,位定時器及CAN總線喚醒功能;

(4)當發(fā)送出現(xiàn)錯誤或仲裁丟失數(shù)據(jù)時,CAN控制器有自動重發(fā)功能;

(5)總線錯誤自診斷功能;

(6)支持自測試模式。

2.2 CANopen協(xié)議

CANopen協(xié)議以CAN芯片為硬件基礎,有效利用CAN芯片所提供的簡單通信功能區(qū)實現(xiàn)工業(yè)控制網(wǎng)絡的復雜應用層協(xié)議要求。應用中應該注意以下幾個方面的內(nèi)容:

2.2.1 對象字典OD(Object Dictionary)

OD是CANopen協(xié)議的核心概念[1],它是一個有序的對象組,每個對象用一個16位的索引值和一個8位的子索引尋址。CANopen網(wǎng)絡中的每個節(jié)點都有一個OD,包含了描述這個設備和它的網(wǎng)絡行為的所有參數(shù)。

2.2.2 CANopen 標識符

CANopen定義了強制性的缺省標識符(COB-ID)分配表。它是基于11位的CAN-ID,包括4位功能段(Function Code)和7位地址段(Node-ID),如圖1所示。文獻[1]中給出了CANopen預定義主/從連接集CAN標識符分配情況。



2.2.3 CANopen通訊機制

CANopen通訊模型定義了四種報文(通訊對象)[1]:

1) 管理報文NMT(Network Management)

用于網(wǎng)絡中主節(jié)點對從節(jié)點監(jiān)控和管理。此消息不需要應答。NMT消息格式如表1所示。



2)服務數(shù)據(jù)對象SDO(Service Data Object)

SDO通過使用索引和子索引來訪問一個設備的OD。協(xié)議屬于確認服務類型。根據(jù)傳送數(shù)據(jù)的長度不同,有兩種傳送機制:加速傳送(最多4字節(jié))和分段傳送(大于4字節(jié))。發(fā)送和應答報文總是包含8字節(jié)信息,基本結構如表2所示:


3) 過程數(shù)據(jù)對象PDO(Process Data Object)

用于傳輸正常網(wǎng)絡操作中的實時數(shù)據(jù)。每個PDO在OD中用2個對象描述:PDO通訊參數(shù)和PDO映射參數(shù)。在此舉例說明PDO的使用方法。假設第二個發(fā)送PDO映射如表3所示,如果這個報文被發(fā)送,則由3字節(jié)組成,報文結構如表4所示。[!--empirenews.page--]


4) 預定義報文或特殊功能報文

定義了三個用于同步,應急指示和時間標記的特定對象。用于配合以上三種通訊機制。

3系統(tǒng)通訊的軟、硬件設計

3.1 CAN總線硬件設計

由于TMS320LF2407A芯片內(nèi)自帶了CAN總線控制器模塊,使得CAN總線的電路設計變得非常簡單。將TMS320LF2407A的CANTX、CANRX引腳和CAN收發(fā)器PCA82C250的TXD、RXD引腳相連即可。CAN總線之間需要使用一個合適的終端電阻連接。為了進一步提高系統(tǒng)的抗干擾能力,可以在控制器和傳輸介質(zhì)之間加接光電隔離器件6N137。電路原理圖如圖2所示。



3.2 CANopen協(xié)議對象字典OD的建立

本伺服驅(qū)動器通訊支持CANopen通訊子協(xié)議(DS301)和驅(qū)動設備子協(xié)議及運動控制命令(DSP-402)。在開發(fā)的過程中,根據(jù)應用的具體要求,將數(shù)字輸入/輸入模塊、電機及驅(qū)動設備、控制器、編碼器等設備類型及其相應的功能在設備描述的協(xié)議中進行了描述。建立的OD分為三個部分:

1) 通訊協(xié)議對象(Index 0x1000-0x1AFF)

定義設備類型,錯誤寄存器,廠商指定狀態(tài)寄存器,COB-ID同步信息,通訊循環(huán)周期,同步CAN信息窗口,以及設備名,軟硬件版本號等。另外SDO的通訊參數(shù)以及PDO的通訊和映射參數(shù)也在該部分定義。本設計中采用固定PDO映射,不允許動態(tài)映射。

2) 標準設備子協(xié)議對象(Index 0x6000-0x65FF)

定義三類信息:第一類是電機及驅(qū)動器的相關設備參數(shù),如類型,廠商信息,分類號等;第二類是命令字和狀態(tài)字;第三類是位置、速度的相關參數(shù)。

3) 廠商指定協(xié)議對象(0x2000-0x20FF)

根據(jù)廠商需求,靈活定義所使用的變量。 此部分的使用使CANopen協(xié)議既保證了設備的通用性,又保證了系統(tǒng)良好的擴展性。

3.3 通訊程序的設計及實現(xiàn)

針對帶CAN控制器的TMS320LF2407A和PC機CAN卡之間的通訊進行了軟件設計。

TMS320LF2407A的CAN控制器的郵箱2配置為接收方式,郵箱3配置為發(fā)送方式。都采用標準信息幀格式(11Bit ID)。其中發(fā)送信息采用查詢方式,接收信息采用中斷方式,郵箱2用低中斷優(yōu)先級。信息傳輸波特率設置為500Kbps。

采用CANopen協(xié)議對設備進行控制的過程可以理解為用SDO對數(shù)據(jù)字典的讀寫過程。檢測設備對象的狀態(tài)或查詢設備當前信息時,可用SDO讀取數(shù)據(jù)字典中的對象;要對設備發(fā)布控制命令可利用SDO向相應的數(shù)據(jù)字典對象寫入數(shù)據(jù)。接收到信息幀時首先要將其命令字節(jié)(byte0)讀出,以確定下一步的讀寫命令處理。

信息幀的接收和發(fā)送均采用緩沖區(qū)的方式。讀操作時,發(fā)送信息幀長度為4字節(jié),應答信息幀約定為8字節(jié);寫操作時,發(fā)送信息幀長度約定為8字節(jié),應答信息幀為4字節(jié)。

采用不同的發(fā)送郵箱發(fā)送數(shù)據(jù)長度不同的信息幀。本程序設計中,采用郵箱4發(fā)送4字節(jié)長度的信息幀,采用郵箱5發(fā)送8字節(jié)長度的信息幀。這種方式可以提高信息傳輸?shù)男省\浖O計流程圖如圖3所示。[!--empirenews.page--]



4 測試結果

為了測試CAN總線DSP系統(tǒng)與PC機CAN卡之間的通訊情況,采用VC++編寫了友好的人機界面(見圖4)。進行通訊測試時,首先要選擇通訊端口,設置通訊波特率,ID屏蔽位,信息幀格式及傳輸數(shù)據(jù)的格式(十進制或十六進制)。特別需要注意PC端設置的通訊波特率要和DSP端的通訊波特率保持一致。然后打開CAN總線端口,選定發(fā)送SDO的功能段及地址段,填寫信息幀長度(以字節(jié)為單位)及內(nèi)容,即可進行通訊測試。



例如,要將1號地址的電機輪速期望值設為0x3E8,電機輪速期望值在OD中的索引為0x606B,使用啟動域下載協(xié)議,加速傳輸。則設置地址段為1,信息幀長度為8,信息幀內(nèi)容為2B 6B 60 00 E8 03 00 00。發(fā)送成功后返回應答信息幀內(nèi)容為:ID=581,LENTH=4,DATA=60 6B 60 0 0 0 0 0,說明寫入操作正確(見圖4)。

要將1號地址的電機輪速期望值讀出,即讀出OD中的對象0x606B,使用啟動域上傳協(xié)議,服務器使用加速傳輸方式應答。則設置地址段為1,信息幀長度為4,信息幀內(nèi)容為40 6B 60 00 00 00 00 00,發(fā)送成功后返回應答信息幀內(nèi)容為:ID=581,LENTH=8,DATA=4B 6B 60 0 E8 03 0 0,說明讀取操作正確(見圖4)。

5 結束語

本文用CANoen協(xié)議實現(xiàn)了CAN總線DSP系統(tǒng)與上位機CAN的通訊,實現(xiàn)了控制系統(tǒng)的數(shù)字化、模塊化,并保持了系統(tǒng)的可擴展性,為提高伺服驅(qū)動系統(tǒng)的智能化水平奠定了堅實的基礎。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉