關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 基于SJA1000的CAN總線控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

基于SJA1000的CAN總線控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時間:2010-03-30 來源:網(wǎng)絡(luò) 收藏

0引言

-bus(Controller Area Network)即控制器局域網(wǎng)是國際上應(yīng)用最廣泛的現(xiàn)場之一。最初-bus被作為汽車環(huán)境中的微控制器通訊工具,用于在車載各電子控制裝置ECU之間交換信息,從而形成汽車電子控制網(wǎng)絡(luò)。如今,-bus作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,已被廣泛應(yīng)用到各個自動化中。而且CAN-bus在通信能力、可靠性、實(shí)時性、靈活性、易用性、傳輸距離等方面較RS-485有著明顯的優(yōu)勢。因而用CAN總線取代RS-485總線將是大勢所趨。

1CAN總線的主要特性

CAN總線與其它通信網(wǎng)的不同之處有二:一是報(bào)文傳送中不包含目標(biāo)地址,它是以全網(wǎng)廣播為基礎(chǔ),各接收站根據(jù)報(bào)文中反映數(shù)據(jù)性質(zhì)的標(biāo)識符來過濾報(bào)文,該收的收下,不該收的棄而不用。其好處是可在線上網(wǎng)下網(wǎng)、即插即用和多站接收;二是特別強(qiáng)化數(shù)據(jù)安全,可滿足及其它較高數(shù)據(jù)要求的系統(tǒng)需求。CAN具有以下主要技術(shù)特性:

(1)CAN遵從ISO模型,采用了其中的物理層、數(shù)據(jù)鏈路層與應(yīng)用層。采用雙絞線,通信速率最高可達(dá)到1 Mbps/40 m,直接傳輸距離最遠(yuǎn)可達(dá)10 kin/5 kbps。同一段總線內(nèi)最多可掛接110個設(shè)備。

(2)CAN的信號傳輸采用短幀結(jié)構(gòu),每一幀有效字節(jié)數(shù)為8個。因而傳輸時間短,受干擾的概率低。當(dāng)節(jié)點(diǎn)發(fā)生嚴(yán)重錯誤時,CAN可自動關(guān)閉該節(jié)點(diǎn),同時切斷與總線的聯(lián)系,以使總線上其它節(jié)點(diǎn)不受影響,因此CAN總線具有很強(qiáng)的抗干擾能力。

(3)CAN可支持多主工作方式,網(wǎng)絡(luò)上任一節(jié)點(diǎn)在任何時候均可主動向其它節(jié)點(diǎn)發(fā)送信息,同時也支持點(diǎn)對點(diǎn)、一點(diǎn)對多點(diǎn)和全局廣播方式來接收/發(fā)送數(shù)據(jù)。處于優(yōu)先級低的節(jié)點(diǎn)會主動停止發(fā)送,以此來避免總線沖突。

2 CAN總線接口硬件電路的

硬件電路的主要是CAN通信控制器與微處理器之間和CAN總線收發(fā)器與物理總線之間的接口電路的設(shè)計(jì)。CAN通信控制器是CAN總線接口電路的核心,主要完成CAN的,而CAN總線收發(fā)器的主要功能是增大通信距離,提高系統(tǒng)的瞬間抗干擾能力,保護(hù)總線,降低射頻干擾(RFI),熱防護(hù)等。

2.1 CAN總線接口電路

硬件接口原理圖如圖l所示。圖中,CAN總線控制器的ADO-AD7連接到AT89C51的P0口。片選端CS取反后連接到AT89C51的P2.7,當(dāng)P2.7為1時,CPU片外存儲器地址可選中。CPU通過這些地址可對SJA1000執(zhí)行相應(yīng)的讀/寫操作(即:SJA1000首地址為8000H)。SJA1000的RD、WR、ALE分別與AT89C51的對應(yīng)引腳相連。由于SJA1000是低電平復(fù)位,而AT89C51是高電平復(fù)位,所以兩者的復(fù)位端接法不同。另外,當(dāng)SJA1000的11腳MODE接高電平時,可選擇Intel二分頻模式。SJA1000的16腳(INT)是中斷信號輸出端,在中斷允許的情況下,有中斷發(fā)生時,16腳會輸出由高電平到低電平的跳變,因此將AT89C51的外部中斷輸入腳(INT0)與該腳相連接,即可通過中斷方式來訪問SJA1000。為了增強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾能力,本設(shè)計(jì)采用SJA1000的具有光電隔離的CAN總線接口。SJA1000的發(fā)送輸出端TX0與接收輸入端RXO、RX1分別經(jīng)高速集成光電耦合器6N137隔離后,與CAN總線接口驅(qū)動芯片82C250的TXD和RXD相連,82C250直接與CAN物理總線相連。CAN總線驅(qū)動器PCA82C250是CAN控制器和物理總線之間的接口,具有可向總線的差動發(fā)送數(shù)據(jù)和CAN控制器的差動接收數(shù)據(jù)的功能。


2.2設(shè)計(jì)注意事項(xiàng)

在進(jìn)行電路設(shè)計(jì)時應(yīng)注意以下幾點(diǎn):

(1)總線兩端必須接兩個終端匹配電阻Rs,若忽略掉它們,會使數(shù)據(jù)通信的抗干擾性及可靠性大大降低。

(3)SJA1000的TX1腳懸空時,RX1引腳的電位必須維持在約0.5Vcc上,否則,將不能形成CAN協(xié)議所要求的電平邏輯。因本系統(tǒng)傳輸距離近,環(huán)境干擾小,可以不用電流隔離,這樣可以直接把82C250的Vref端(約為0.5 Vcc)與SJA1000的RX1相連,從而簡化了電路設(shè)計(jì)。


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉