• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN 總線的智能傳感器網絡

    基于CAN 總線的智能傳感器網絡

    作者: 時間:2012-03-01 來源:網絡 收藏


     
    圖3 硬件電路圖

    4 軟件設計

    作為一個節點的軟件設計主要包括兩部分: 一部分為初始化單片機和SJAl000 , 另一部分為節點實際要完成的數據采集和對執行機構的控制功能。對CAN 控制器的初始化, 對各個寄存器分別寫入不同的內容, 其中CAN 控制器與單片機之間采用中斷方式通信。其流程如圖4 所示。
     
    圖4 中斷流程圖

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

    5 結 語

    將CAN 總線應用于中, 使傳感器獲得的信號能通過總線實時地、可靠地、高速而準確地進行傳輸。同時, 由于整個網絡采用全數字化的通信, 因此總線也具有很好的抗干擾能力, 即使在重負荷下也不會出現網絡癱瘓的情況, 這些優越性能是其它現場總線所不及的。

    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 于田县| 湛江市| 白朗县| 屏山县| 文山县| 九江县| 鄂托克旗| 莫力| 固阳县| 油尖旺区| 泉州市| 酒泉市| 黄骅市| 承德县| 嘉定区| 安福县| 乌鲁木齐县| 梁河县| 永丰县| 高平市| 成武县| 康乐县| 改则县| 长宁区| 乐业县| 沁水县| 建湖县| 德兴市| 汝城县| 临武县| 澄江县| 石渠县| 汝阳县| 祁东县| 寿宁县| 青海省| 炎陵县| 台江县| 康保县| 光山县| 岫岩|