新聞中心

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

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

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


 
圖3 硬件電路圖

4 軟件設(shè)計

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

SJAl000 的初始化程序?yàn)?
MOVA , # 0BH          04H 為ACR 寄存器地址 00H 為CR 寄存器的地址
MOVDPTR , # 8000H
MOVX@DPTR , A開放錯誤和接收中斷, 進(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 的時鐘相同
MOVX@DPTR , A
MOVA , # 0AH
MOVDPTR , # 8000H
MOVX@DPTR , A寫CR 寄存器使SJAl000 進(jìn)入工作模式
RET

5 結(jié) 語

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

上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉