新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于SJA1000的CAN總線接口電路的設計與實現(xiàn)

基于SJA1000的CAN總線接口電路的設計與實現(xiàn)

作者: 時間:2016-11-28 來源:網(wǎng)絡 收藏

3 CAN總線接口軟件設計
CAN接口通信軟件分為3部分:CAN初始化、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收。CAN初始化主要是設置CAN 的通信參數(shù)。需要初始化的CAN控制寄存器有:模式寄存器、時分寄存器、接收代碼寄存器、屏蔽寄存器、總線定時寄存器、輸出控制寄存器等。值得注意的是:這些寄存器只能在CAN控制器處于復位狀態(tài)下才可寫訪問。發(fā)送數(shù)據(jù)程序把數(shù)據(jù)存儲區(qū)中待發(fā)送的數(shù)據(jù)取出,組成信息幀,并將主機的ID地址,填入幀頭,然后將信息幀發(fā)送到CAN控制器的發(fā)送緩沖區(qū)。在接收到主機的發(fā)送請求后,發(fā)送程序啟動發(fā)送命令。信息從CAN控制器發(fā)送到總線是由CAN控制器自動完成的。信息從CAN總線到CAN控制器的接收緩沖區(qū)也是由CAN控制器自動完成的。接收程序只需從接收緩沖區(qū)讀取信息,并將其存儲在數(shù)據(jù)存儲區(qū)。
#p##e#
3.1 CAN控制器SJA1000的初始化程序
設 SJA1000的首地址是8000H;
CR EQU 8000H;控制寄存器
CMR EQU 8001H;命令寄存器
SR EQU 8002H;狀態(tài)寄存器
IR EQU 8003H; 中斷寄存器
ACR EQU 8004H;驗收碼寄存器
AMR EQU 8005H;驗收屏蔽寄存器
BTR0 EQU 8006H;總線定時寄存器0
BTR1 EQU 8007H;總線定時寄存器1
OCR EQU 8008H;輸出控制寄存器
DI
LDB CL, #03H
STB CL, CR;開放接收中斷,復位請求位置1,開始初始化
LDB CL, #01H
STB CL, ACR;將節(jié)點1標識符送給ACR
LDB CL, #0FFH
STB CL, AMR;驗收濾波
LDB CL, #00H
STB CL, BTR0;波特率為250kbps
LDB CL, #14H
STB CL, BTR1;定義位周期寬度,采樣點位置及采樣次數(shù)
LDB CL, #0AAH
STB CL, 0CH
LDB CL, #1AH
STB CL, CR;復位請求位置0,初始化結(jié)束
EI
3.2 SJA1000接收與發(fā)送數(shù)據(jù)程序流程
程序流程見圖 3、圖4.

圖 3 接收數(shù)據(jù)的中斷服務程序流程圖
圖 4 發(fā)送數(shù)據(jù)中斷服務程序流程圖
4 結(jié) 語
該接口電路利用 Xeltek公司的TOPICE-52仿真器進行調(diào)試,能模擬實現(xiàn)通信功能。在此基礎(chǔ)上構(gòu)建CAN總線控制系統(tǒng)具有實際意義,但針對不同的控制系統(tǒng),在硬件和軟件上需作相應的改動。
參考文獻 :
〔 1〕 鄔寬明.CAN總線原理和應用系統(tǒng)設計〔M〕.北京:北京航空航天大學出版社,1996.
〔 2〕 周鳳余,魯守銀,李貽斌,等.CAN總線系統(tǒng)智能節(jié)點設計與實現(xiàn)〔J〕.微計算機信息,1999,(6):25-27.
〔 3〕 高強,董力川,朱寧.嵌入式CAN總線控制系統(tǒng)設計〔J〕.自動化技術(shù)與應用,2002,(2):33-34.
〔 4〕 陸前鋒.基于SJA1000的CAN總線智能控制系統(tǒng)設計〔J〕.自動化技術(shù)與應用,2003,(1):61-64.

上一頁 1 2 下一頁

關(guān)鍵詞: SJA1000CAN總線接口電

評論


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

關(guān)閉