基于DSP的CANopen通訊協(xié)議的實(shí)現(xiàn)
4) 預(yù)定義報(bào)文或特殊功能報(bào)文
定義了三個(gè)用于同步,應(yīng)急指示和時(shí)間標(biāo)記的特定對(duì)象。用于配合以上三種通訊機(jī)制。
3系統(tǒng)通訊的軟、硬件設(shè)計(jì)
3.1 CAN總線硬件設(shè)計(jì)
由于TMS320LF2407A芯片內(nèi)自帶了CAN總線控制器模塊,使得CAN總線的電路設(shè)計(jì)變得非常簡(jiǎn)單。將TMS320LF2407A的CANTX、CANRX引腳和CAN收發(fā)器PCA82C250的TXD、RXD引腳相連即可。CAN總線之間需要使用一個(gè)合適的終端電阻連接。為了進(jìn)一步提高系統(tǒng)的抗干擾能力,可以在控制器和傳輸介質(zhì)之間加接光電隔離器件6N137。電路原理圖如圖2所示。
3.2 CANopen協(xié)議對(duì)象字典OD的建立
本伺服驅(qū)動(dòng)器通訊支持CANopen通訊子協(xié)議(DS301)和驅(qū)動(dòng)設(shè)備子協(xié)議及運(yùn)動(dòng)控制命令(DSP-402)。在開(kāi)發(fā)的過(guò)程中,根據(jù)應(yīng)用的具體要求,將數(shù)字輸入/輸入模塊、電機(jī)及驅(qū)動(dòng)設(shè)備、控制器、編碼器等設(shè)備類(lèi)型及其相應(yīng)的功能在設(shè)備描述的協(xié)議中進(jìn)行了描述。建立的OD分為三個(gè)部分:
1) 通訊協(xié)議對(duì)象(Index 0x1000-0x1AFF)
定義設(shè)備類(lèi)型,錯(cuò)誤寄存器,廠商指定狀態(tài)寄存器,COB-ID同步信息,通訊循環(huán)周期,同步CAN信息窗口,以及設(shè)備名,軟硬件版本號(hào)等。另外SDO的通訊參數(shù)以及PDO的通訊和映射參數(shù)也在該部分定義。本設(shè)計(jì)中采用固定PDO映射,不允許動(dòng)態(tài)映射。
2) 標(biāo)準(zhǔn)設(shè)備子協(xié)議對(duì)象(Index 0x6000-0x65FF)
定義三類(lèi)信息:第一類(lèi)是電機(jī)及驅(qū)動(dòng)器的相關(guān)設(shè)備參數(shù),如類(lèi)型,廠商信息,分類(lèi)號(hào)等;第二類(lèi)是命令字和狀態(tài)字;第三類(lèi)是位置、速度的相關(guān)參數(shù)。
3) 廠商指定協(xié)議對(duì)象(0x2000-0x20FF)
根據(jù)廠商需求,靈活定義所使用的變量。 此部分的使用使CANopen協(xié)議既保證了設(shè)備的通用性,又保證了系統(tǒng)良好的擴(kuò)展性。
3.3 通訊程序的設(shè)計(jì)及實(shí)現(xiàn)
針對(duì)帶CAN控制器的TMS320LF2407A和PC機(jī)CAN卡之間的通訊進(jìn)行了軟件設(shè)計(jì)。
TMS320LF2407A的CAN控制器的郵箱2配置為接收方式,郵箱3配置為發(fā)送方式。都采用標(biāo)準(zhǔn)信息幀格式(11Bit ID)。其中發(fā)送信息采用查詢(xún)方式,接收信息采用中斷方式,郵箱2用低中斷優(yōu)先級(jí)。信息傳輸波特率設(shè)置為500Kbps。
采用CANopen協(xié)議對(duì)設(shè)備進(jìn)行控制的過(guò)程可以理解為用SDO對(duì)數(shù)據(jù)字典的讀寫(xiě)過(guò)程。檢測(cè)設(shè)備對(duì)象的狀態(tài)或查詢(xún)?cè)O(shè)備當(dāng)前信息時(shí),可用SDO讀取數(shù)據(jù)字典中的對(duì)象;要對(duì)設(shè)備發(fā)布控制命令可利用SDO向相應(yīng)的數(shù)據(jù)字典對(duì)象寫(xiě)入數(shù)據(jù)。接收到信息幀時(shí)首先要將其命令字節(jié)(byte0)讀出,以確定下一步的讀寫(xiě)命令處理。
信息幀的接收和發(fā)送均采用緩沖區(qū)的方式。讀操作時(shí),發(fā)送信息幀長(zhǎng)度為4字節(jié),應(yīng)答信息幀約定為8字節(jié);寫(xiě)操作時(shí),發(fā)送信息幀長(zhǎng)度約定為8字節(jié),應(yīng)答信息幀為4字節(jié)。
采用不同的發(fā)送郵箱發(fā)送數(shù)據(jù)長(zhǎng)度不同的信息幀。本程序設(shè)計(jì)中,采用郵箱4發(fā)送4字節(jié)長(zhǎng)度的信息幀,采用郵箱5發(fā)送8字節(jié)長(zhǎng)度的信息幀。這種方式可以提高信息傳輸?shù)男省\浖O(shè)計(jì)流程圖如圖3所示。
評(píng)論