基于CAN總線(xiàn)技術(shù)的數字交流伺服系統研究
郵箱收發(fā)配置
在數據域改變前首先要禁用郵箱,然后置位數據域,改變請求。再設置郵箱ID和信息控制寄存器。若是發(fā)送郵箱,則在數據域存放預發(fā)送數據,若是接收郵箱,則清空接收緩存。
;寫(xiě)CAN郵箱內容前寄存器設置
LDP#DP_CAN
SPLK #0040H,MDER ;不使能郵箱,郵箱2設為接收方式
SPLK #0103H,MCR;CDR=1,數據區改變請求
;寫(xiě)CAN郵箱內容
LDP#DP_CAN2
SPLK #2447H,MSGID2H;設置郵箱2控制字及ID
;IDE=0,AME=0,AAM=0
;標準方式為MSGID2H[12~2>
SPLK#0FFFFH,MSGID2L
SPLK#08H,MSGCTRL2;設置控制域
;數據長(cháng)度DCL=8,RTR=0數據幀
SPLK#00000H,MBX2A;郵箱2信息初始化
SPLK#00000H,MBX2B
SPLK#00000H,MBX2C
SPLK#00000H,MBX2D
SPLK#2447H,MSGID3H;設置郵箱3的標識符
SPLK#0FFFFH,MSGID3L
SPLK#08H,MSGCTRL3;RTR=0,DCL=8
SPLK#02211h,MBX3A;郵箱3信息初始化
SPLK#04433h,MBX3B
SPLK#06655h,MBX3C
SPLK#08877h,MBX3D
;寫(xiě)CAN郵箱內容后寄存器設置
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無(wú)效,MBX2使能,
;中斷優(yōu)先級
SPLK#0FFFFH,CAN_IFR;清全部中斷標志
RET
郵箱中斷設置CAN模塊專(zhuān)屬中斷寄存器有CAN_IFR和CAN_IMR,使用方法與一般中斷寄存器相同。但TMS320LF2407A 采用二級中斷方式,高優(yōu)先級模式的CAN郵箱中斷對應INT1,高優(yōu)先級CAN錯誤中斷對應INT2;而低優(yōu)先級CAN郵箱中斷和CAN錯誤中斷都對應INT5。所以在程序中要開(kāi)放對應一級中斷。接收幀ID的讀入在接收事件中,通常一個(gè)郵箱要接收多節點(diǎn)幀。因此,信息幀ID的讀出也很重要。不管有沒(méi)有屏蔽,所接收信息幀的ID會(huì )被置入MSGIDnH和MSGIDnL,但接收郵箱的ID并沒(méi)有改變[5>。
程序框圖如圖3所示,實(shí)驗程序使用郵箱2接收,郵箱3發(fā)送。通訊軟件可以采用查詢(xún)方式或中斷方式,主要包括CAN控制器初始化程序、接收郵箱與發(fā)送郵箱設置、發(fā)送程序、接收程序。
發(fā)送程序只需要設定發(fā)送控制寄存器相應位;接收程序要完成:
讀取已接收的郵箱標識符格式;
讀取接收的標識符;
讀取接收的數據長(cháng)度;
讀取接收的數據值。
上位機通過(guò)適配器與CAN總線(xiàn)連接,用VC6.0編寫(xiě)監控軟件,并定義上位機作為局域網(wǎng)操作服務(wù)器,用戶(hù)通過(guò)它可以對各個(gè)伺服單元進(jìn)行操作。
結語(yǔ)
CAN總線(xiàn)具有良好的網(wǎng)絡(luò )通信功能、高可靠性、抗干擾能力強且經(jīng)濟實(shí)用,是一種很有前途的現場(chǎng)總線(xiàn)技術(shù)。它的應用將為分布式運動(dòng)控制提供一種新的解決方案,會(huì )受到人們越來(lái)越多的重視。新一代的智能數字伺服系統通過(guò)CAN總線(xiàn)于開(kāi)放式數控系統互聯(lián),是運動(dòng)控制領(lǐng)域發(fā)展的一個(gè)重要方向。
評論