嵌入式系統(tǒng)的CAN總線接口電路設(shè)計
CAN總線概述
CAN總線即控制器局域網(wǎng)絡(luò),是現(xiàn)場總線之一,由德國Bosch公司為汽車的監(jiān)測、控制系統(tǒng)而設(shè)計的總線式串行通訊網(wǎng)絡(luò),適合于工業(yè)過程控制設(shè)備和監(jiān)控設(shè)備之間的互聯(lián)。是一種多主方式的串行通訊總線,基本設(shè)計規(guī)范要求有高的位速率,高抗電磁干擾性,而且能夠檢測出產(chǎn)生的任何錯誤。主要應(yīng)用于汽車電控制系統(tǒng)、電梯控制系統(tǒng)、安全監(jiān)控系統(tǒng)、醫(yī)療儀器、紡織機械、船舶運輸?shù)确矫?。CAN具有下下列主要特性:①低成本;②遠距離傳輸(長達lOKm);③高速的數(shù)據(jù)傳輸速率;④可根據(jù)報文的ID決定接收或屏蔽該報文;⑤可靠的錯誤處理和檢錯機制;⑥發(fā)送的信息遭到破壞后,可自動重發(fā);⑦節(jié)點在錯誤嚴重的情況下具有自動退出總線的功能。
嵌入式系統(tǒng)的CAN接口電路
圖2是嵌入式微處理器S3C44BOX的CAN接口電路圖。如圖所示,ARM和SJA1000以總線方式連接,由于ARM信號為3.3伏,而CAN總線控制器電平為5伏,所以所有信號之間均需要電平轉(zhuǎn)換,本例中使用了QS34X245作為電平轉(zhuǎn)換芯片。 QS34X245為80引腳的雙例直插芯片,它既有電平轉(zhuǎn)換功能(5V變到3.3V),又是一個總線開關(guān)和隔離器件。QS34X245內(nèi)提供一組32位高速CMOS兼容的總線開關(guān),當輸出使能端OEn(n為1~4)為低電平時,開關(guān)通,連能總線A和總線B;當輸出使能端OEn為高電平時,則開關(guān)斷開,總線 A和總線B隔離。OE1控制總線A和總線B的低8位(即A7~A0和B7~B0),OE2控制A15~A8和B15~B8,OE3控制A23~A16和 B23~B16,OE4控制A31~A24和B31~B24。由于ARM總線非復(fù)用,而SJA1000總線復(fù)用,所以必須通過邏輯產(chǎn)生地址鎖存信號 ALE,在本例中該信號由芯片GAL22V10產(chǎn)生。SJA1000的片選、讀寫信號均采用arm總線信號,ALE信號由讀寫信號和地址信號通過GAL產(chǎn)生。在寫SJA1000寄存器時,首先往總線的一個地址寫數(shù)據(jù),作為地址,讀寫信號無效,ALE變化產(chǎn)生鎖存信號;然后寫另外一個地址,讀寫信號有效,作為數(shù)據(jù)。上述邏輯完全通過GAL產(chǎn)生。此外,CAN總線需要在兩線問加一個120歐電阻。
評論