CAN總線通信適配卡的設計與實現(xiàn)
1 CAN總線簡介
CAN(Controller Area Network)總線屬于現(xiàn)場總線的范疇,是一種有效支持分布式控制或實時控制的串行通信網絡。CAN協(xié)議目前已納入ISO國際標準(ISO11898),它分為物理層、數(shù)據(jù)鏈路層和應用層,其中物理層和數(shù)據(jù)鏈路層協(xié)議已經集成在芯片中,可通過硬件自動完成數(shù)據(jù)的成幀與發(fā)送和接收,從而大大減少軟件的工作量,因此,特別適用于工業(yè)自動化領域,尤其是那些強調低層監(jiān)測與控制且要求可靠性高、實時性好的惡劣條件下的工業(yè)現(xiàn)場使用。
CAN總線具有以下突出特點:
● 能夠以多主節(jié)點方式工作,網絡上任一節(jié)點均可設成主節(jié)點以其它節(jié)點主動發(fā)送信息。
●報文傳輸不含目標地址,它以全網廣播為基礎,各個接收站可根據(jù)報文中反映的數(shù)據(jù)性質標識符來過濾報文以決定是否接收。同時可通過報文標識符將報文設定為不同的發(fā)送優(yōu)先級,以滿足不同的實時要求。
●非破壞性總線仲裁和錯誤界定,利用現(xiàn)有的產品,可由控制器自動解決總線沖突和出錯界定,并對用戶完全透明,同時還能區(qū)分暫時和永久故障,并可自動關閉故障節(jié)點。
●通信距離可達10km(速率5kb/s),速度可達1MB/s(距離40m以內)。
●理論上,CAN總線的網上節(jié)點數(shù)不受限制,它有2032種不同的報文標識符,但具體數(shù)量取決于物理層的承受能力,通常CAN總線上的節(jié)點數(shù)可達110個。CAN總線系統(tǒng)一般采用總線式網絡拓撲結構,其優(yōu)點是結構簡單,成本低,系統(tǒng)可靠性高。其總體模式如圖1所示。
2 CAN總線適配卡的功能特點
CAN總線通信適配卡是插在PC機ISA插槽內的智能通訊卡,它可使PC機方便地連接到CAN總線上,其特點如下:
(1)采用高性能的8位微處理器89C52(12MHz),可減輕PC主機的通信負擔,而且可以運行復雜的用戶通信任務。
(2)卡上帶有l(wèi)kB的高速雙口RAM存儲器,可直接映射到主機內存空間以實現(xiàn)CAN總線與主機PC的高速數(shù)據(jù)交換,并可設置雙口RAM在ISA總線中的基地址。
(3)采用16MHz CAN控制器SJAl000時,其通訊速率可高達1Mbps。
(4)中斷申請電路能夠保證PC機和適配卡上的微處理器實時處理對方的處理要求。
(5)適配卡上帶有光電隔離,可保護PC機避免由于地環(huán)流而造成的損壞,并可增強系統(tǒng)在惡劣環(huán)境中使用的可靠性。
(6)為方便系統(tǒng)調試,可用LED指示系統(tǒng)狀態(tài)和CAN的接收和發(fā)送狀態(tài)。
3 CAN總線適配卡的硬件設計
CAN通信適配卡由雙口RAM電路、微控制器電路、CAN通信控制電路三部分組成,其結構框圖如圖2所示。
3.1 雙口RAM及其控制電路
雙口RAM是一種性能優(yōu)越的快速通信器件,它能提供兩種完全獨立的端口,每個端口都有完整的地址、數(shù)據(jù)和控制線。對于器件兩邊的使用者CPU而言,它與一般的RAM無多大區(qū)別,只有在兩邊同時讀寫同一地址單元時,才會出現(xiàn)競爭現(xiàn)象。在CAN通信適配卡中,通常利用雙口RAM IDT7130來建立雙向數(shù)據(jù)交換通道,以實現(xiàn)PC機和CAN控制器之間的數(shù)據(jù)傳送。
PC機與擴展存儲器的接口有兩種方法:一種是把雙口RAM當成外部設備,使用端口I/O指令進行訪問,這種方法一次只能傳送一個字節(jié)(或字),因而傳送速度較慢;另一種是內存映像法,即把雙口RAM地址配置于PC機主存儲器的高端(一般為C0000H-DFFFFH),以使PC機像訪問主存儲器一樣訪問雙口RAM,同時使所有能夠訪問主存儲器的指令也可以以同樣的方式訪問雙口RAM。內存映像法可以以字符塊為單位進行傳送,因而可實現(xiàn)快速訪問雙口RAM。正是基于這些優(yōu)點,在本適配卡設計中采用了內存映射的存儲器尋址方式。
評論