新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN 總線的智能傳感器網(wǎng)絡(luò)

        基于CAN 總線的智能傳感器網(wǎng)絡(luò)

        作者: 時(shí)間:2012-03-01 來源:網(wǎng)絡(luò) 收藏


         
        圖3 硬件電路圖

        4 軟件設(shè)計(jì)

        作為一個(gè)節(jié)點(diǎn)的軟件設(shè)計(jì)主要包括兩部分: 一部分為初始化單片機(jī)和SJAl000 , 另一部分為節(jié)點(diǎn)實(shí)際要完成的數(shù)據(jù)采集和對(duì)執(zhí)行機(jī)構(gòu)的控制功能。對(duì)CAN 控制器的初始化, 對(duì)各個(gè)寄存器分別寫入不同的內(nèi)容, 其中CAN 控制器與單片機(jī)之間采用中斷方式通信。其流程如圖4 所示。
         
        圖4 中斷流程圖

        SJAl000 的初始化程序?yàn)?
        MOVA , # 0BH          04H 為ACR 寄存器地址 00H 為CR 寄存器的地址
        MOVDPTR , # 8000H
        MOVX@DPTR , A開放錯(cuò)誤和接收中斷, 進(jìn)入復(fù)位模式
        MOVDPTR , # 8004H
        MOVA , # 02H
        MOVX@DPTR , A
        INC DPTR05H 為AMR 寄存器地址。設(shè)為全部收
        MOVA , # FFH
        MOVX@DPTR , A
        INC DPTR
        MOVA , # 01H06H 為BTR0 的寄存器地址
        MOVX@DPTR , A
        INC DPTR
        MOVA , # FFH07H 為BTRl 的寄存器地址, 寫B(tài)TR0 和BTRl , 波特率設(shè)為160K
        MOVX@DPTR , A
        INC DPTR
        MOVA , # 0AH08H 為OCR 寄存器地址, SJAl000 采用正常模式輸出
        MOVX@DPTR , A
        MOVA , # OFH
        MOVDPTR , # 801FH 1FH 為CDR 寄存器地址, 使微控制器與SJAl000 的時(shí)鐘相同
        MOVX@DPTR , A
        MOVA , # 0AH
        MOVDPTR , # 8000H
        MOVX@DPTR , A寫CR 寄存器使SJAl000 進(jìn)入工作模式
        RET

        5 結(jié) 語

        將CAN 總線應(yīng)用于中, 使傳感器獲得的信號(hào)能通過總線實(shí)時(shí)地、可靠地、高速而準(zhǔn)確地進(jìn)行傳輸。同時(shí), 由于整個(gè)網(wǎng)絡(luò)采用全數(shù)字化的通信, 因此總線也具有很好的抗干擾能力, 即使在重負(fù)荷下也不會(huì)出現(xiàn)網(wǎng)絡(luò)癱瘓的情況, 這些優(yōu)越性能是其它現(xiàn)場(chǎng)總線所不及的。

        上一頁 1 2 下一頁

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 通山县| 上栗县| 镇雄县| 岑巩县| 禄丰县| 云浮市| 南部县| 平利县| 崇仁县| 沙雅县| 郓城县| 峨山| 英山县| 抚州市| 云霄县| 宣化县| 碌曲县| 平罗县| 和硕县| 贵州省| 易门县| 开封县| 土默特左旗| 马龙县| 平和县| 甘肃省| 武义县| 黔西| 茌平县| 房产| 云梦县| 贵州省| 大连市| 邹城市| 元氏县| 阿鲁科尔沁旗| 肥东县| 神农架林区| 韩城市| 彰化市| 大同市|