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