新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于CAN總線技術(shù)的數(shù)字交流伺服系統(tǒng)研究

基于CAN總線技術(shù)的數(shù)字交流伺服系統(tǒng)研究

作者: 時間:2012-11-02 來源:網(wǎng)絡(luò) 收藏


郵箱收發(fā)配置

在數(shù)據(jù)域改變前首先要禁用郵箱,然后置位數(shù)據(jù)域,改變請求。再設(shè)置郵箱ID和信息控制寄存器。若是發(fā)送郵箱,則在數(shù)據(jù)域存放預(yù)發(fā)送數(shù)據(jù),若是接收郵箱,則清空接收緩存。

;寫CAN郵箱內(nèi)容前寄存器設(shè)置
LDP#DP_CAN
SPLK #0040H,MDER ;不使能郵箱,郵箱2設(shè)為接收方式
SPLK #0103H,MCR;CDR=1,數(shù)據(jù)區(qū)改變請求
;寫CAN郵箱內(nèi)容
LDP#DP_CAN2
SPLK #2447H,MSGID2H;設(shè)置郵箱2控制字及ID
;IDE=0,AME=0,AAM=0
;標(biāo)準(zhǔn)方式為MSGID2H[12~2>
SPLK#0FFFFH,MSGID2L
SPLK#08H,MSGCTRL2;設(shè)置控制域
;數(shù)據(jù)長度DCL=8,RTR=0數(shù)據(jù)幀
SPLK#00000H,MBX2A;郵箱2信息初始化
SPLK#00000H,MBX2B
SPLK#00000H,MBX2C
SPLK#00000H,MBX2D
SPLK#2447H,MSGID3H;設(shè)置郵箱3的標(biāo)識符
SPLK#0FFFFH,MSGID3L
SPLK#08H,MSGCTRL3;RTR=0,DCL=8
SPLK#02211h,MBX3A;郵箱3信息初始化
SPLK#04433h,MBX3B
SPLK#06655h,MBX3C
SPLK#08877h,MBX3D
;寫CAN郵箱內(nèi)容后寄存器設(shè)置
LDP#DPCAN
SPLK#0480H,MCR;DB0=1,AB0=1,STM=0
SPLK#04CH,MDER;ME3=1,MBX3發(fā)送,ME2=1接收
SPLK#0F7FFH,CAN_IMR;中斷MBX3無效,MBX2使能,
;中斷優(yōu)先級
SPLK#0FFFFH,CAN_IFR;清全部中斷標(biāo)志
RET

郵箱中斷設(shè)置CAN模塊專屬中斷寄存器有CAN_IFR和CAN_IMR,使用方法與一般中斷寄存器相同。但TMS320LF2407A 采用二級中斷方式,高優(yōu)先級模式的CAN郵箱中斷對應(yīng)INT1,高優(yōu)先級CAN錯誤中斷對應(yīng)INT2;而低優(yōu)先級CAN郵箱中斷和CAN錯誤中斷都對應(yīng)INT5。所以在程序中要開放對應(yīng)一級中斷。接收幀ID的讀入在接收事件中,通常一個郵箱要接收多節(jié)點幀。因此,信息幀ID的讀出也很重要。不管有沒有屏蔽,所接收信息幀的ID會被置入MSGIDnH和MSGIDnL,但接收郵箱的ID并沒有改變[5>。

程序框圖如圖3所示,實驗程序使用郵箱2接收,郵箱3發(fā)送。通訊軟件可以采用查詢方式或中斷方式,主要包括CAN控制器初始化程序、接收郵箱與發(fā)送郵箱設(shè)置、發(fā)送程序、接收程序。



發(fā)送程序只需要設(shè)定發(fā)送控制寄存器相應(yīng)位;接收程序要完成:

讀取已接收的郵箱標(biāo)識符格式;
讀取接收的標(biāo)識符;
讀取接收的數(shù)據(jù)長度;
讀取接收的數(shù)據(jù)值。

上位機通過適配器與連接,用VC6.0編寫監(jiān)控軟件,并定義上位機作為局域網(wǎng)操作服務(wù)器,用戶通過它可以對各個伺服單元進行操作。

結(jié)語

具有良好的網(wǎng)絡(luò)通信功能、高可靠性、抗干擾能力強且經(jīng)濟實用,是一種很有前途的現(xiàn)場總線技術(shù)。它的應(yīng)用將為分布式運動控制提供一種新的解決方案,會受到人們越來越多的重視。新一代的智能數(shù)字通過于開放式數(shù)控系統(tǒng)互聯(lián),是運動控制領(lǐng)域發(fā)展的一個重要方向。

上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉