新聞中心

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

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

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


        郵箱收發(fā)配置

        在數(shù)據(jù)域改變前首先要禁用郵箱,然后置位數(shù)據(jù)域,改變請(qǐng)求。再設(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ū)改變請(qǐng)求
        ;寫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ù)長(zhǎng)度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)識(shí)符
        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無(wú)效,MBX2使能,
        ;中斷優(yōu)先級(jí)
        SPLK#0FFFFH,CAN_IFR;清全部中斷標(biāo)志
        RET

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

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



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

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

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

        結(jié)語(yǔ)

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

        上一頁(yè) 1 2 3 下一頁(yè)

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 运城市| 高阳县| 青岛市| 沈丘县| 平罗县| 两当县| 临洮县| 泽库县| 凤翔县| 星子县| 章丘市| 花莲县| 普兰县| 镇远县| 水城县| 黑河市| 香格里拉县| 左贡县| 金山区| 驻马店市| 台中县| 哈尔滨市| 理塘县| 弥勒县| 和田市| 陵川县| 白城市| 九江县| 农安县| 抚远县| 邢台县| 嘉定区| 车险| 闻喜县| 平安县| 宁陕县| 信宜市| 东港市| 大荔县| 长乐市| 扬州市|