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