CAN/RS 232接口卡的設計與實現(xiàn)
摘要:詳細敘述了一種利用AT89S51單片機和SJAl000總線控制器的CAN總線與RS 232接口卡的設計和實現(xiàn)方法;通過對串行通信協(xié)議的加強,設計了一種同步的串行通信協(xié)議。該接口卡可以方便地建立起計算機與CAN總線之間的通信,能夠使CAN總線的設計者方便地觀察總線的運行情況和各個節(jié)點所發(fā)送的數(shù)據(jù)。實際運行證實了其可靠性和易用性。
關(guān)鍵詞:CAN總線;RS 232;串行通信協(xié)議;總線控制器
控制器局域網(wǎng)(Controller Area Network,CAN)屬于現(xiàn)場總線的范疇,其總線規(guī)范已被ISO國際標準化組織制定為國際標準,并被公認為是最有前途的現(xiàn)場總線之一。CAN總線廣泛應用于控制系統(tǒng)中的各檢測和執(zhí)行機構(gòu)之間的數(shù)據(jù)通信。因為CAN總線數(shù)據(jù)的傳輸和處理都由節(jié)點的單片機完成。這樣就使設計者和觀察者沒有辦法以比較直觀的方式掌握總線的運行情況?,F(xiàn)在市場上主要有兩種CAN的接口卡,使用PCI總線和使用USB接口。前者具有傳輸速度快的特點,但卻要占用一個計算機的插槽,并且設計上十分困難;后者的傳輸速度也很快,且價格較便宜,但要花費很大的精力進行USB的固件開發(fā)和維護,并要編寫復雜的驅(qū)動程序。根據(jù)此,需要設計一種能夠方便讀取CAN總線數(shù)據(jù),并通過RS 232串行口將數(shù)據(jù)送給PC機處理和顯示的接口卡;此外還需對其串行傳輸?shù)膮f(xié)議進行加強,以使能有效地降低傳輸過程中出現(xiàn)的錯誤。
1 接口卡的硬件設計
硬件部分主要包括主控制器、CAN總線控制器、CAN總線收發(fā)器以及與計算機的RS 232通信接口芯片等。系統(tǒng)的總體結(jié)構(gòu)如圖1所示。主控制器通過CAN總線接口接收和緩存數(shù)據(jù)。根據(jù)PC機的命令進行選擇性的數(shù)據(jù)傳輸。
1.1 與CAN總線接口
如圖2所示,接口卡的控制器選用Atmel公司的AT89S51,該單片機的引腳和功能與8051兼容,并且內(nèi)部含有4 KB的FLASH ROM,支持在系統(tǒng)編程(ISP),這樣可以很方便地將應用程序下載到單片機里。
評論