汽車CAN總線(Controller Area Network)最初由德國BOSCH公司為汽車監(jiān)測、控制系統(tǒng)而設(shè)計(jì)的,現(xiàn)代汽車越來越多采用電子控制裝置,如發(fā)動(dòng)機(jī)的定時(shí)、注油控制,加速、剎車控制(ASC)及復(fù)雜的康鎖定剎車系統(tǒng)(ABS)等。由于這些控制需要檢測及交換大量數(shù)據(jù),采用硬接信號線的方式不但繁瑣、昂貴,而且難以解決問題,采用CAN總線邊得到很好的解決。
1993年CAN成為國際標(biāo)準(zhǔn)ISO11898(高速CAN)和ISO11519(低速CAN)。
車輛是一個(gè)特殊的應(yīng)用環(huán)境,汽車CAN總線(Controller Area Network)由于其非破壞性的網(wǎng)絡(luò)仲裁機(jī)制、較高的通訊速率(可達(dá)1M bps)和靈活可靠的通訊方式,在車載網(wǎng)絡(luò)領(lǐng)域廣受青睞,越來越多的汽車制造商把CAN總線應(yīng)用于汽車控制、診斷和通訊。
根據(jù)設(shè)計(jì)要求,本系統(tǒng)主要完成傳感信號的處理以及車輛的工況數(shù)據(jù)采集并將數(shù)據(jù)通過CAN總線送上位機(jī),要求處理16路模擬信號、4路頻率信號和32路擴(kuò)展 IO信號,采集參數(shù)主要有:發(fā)動(dòng)機(jī)機(jī)油壓力、水溫、油溫、轉(zhuǎn)速、車速、變速箱油壓、油箱油量以及電網(wǎng)電壓、車門狀態(tài)、轉(zhuǎn)向燈指示、車體超寬指示以及車內(nèi)環(huán)境示警等,信號的形式有電壓、頻率、以及開關(guān)量信號,信號頻率范圍為0~ 6KHZ。
CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)、優(yōu)先級判別等項(xiàng)工作。
CAN協(xié)議的一個(gè)最大特點(diǎn)是廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)塊進(jìn)行編碼。采用這種方法的優(yōu)點(diǎn)可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理論上不受限制,數(shù)據(jù)塊的標(biāo)識符可由11位或29位二進(jìn)制數(shù)組成,因此可以定義2或2個(gè)以上不同的數(shù)據(jù)塊,這種按數(shù)據(jù)塊編碼的方式,還可使不同的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù),這一點(diǎn)在分布式控制系統(tǒng)中非常有用。數(shù)據(jù)段長度最多為8個(gè)字節(jié),可滿足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測試數(shù)據(jù)的一般要求。同時(shí),8個(gè)字節(jié)不會占用總線時(shí)間過長,從而保證了通信的實(shí)時(shí)性。
單幀(Single Frame,SF) - 數(shù)據(jù)域及PCI可在一個(gè)CAN數(shù)據(jù)幀中容納時(shí),服務(wù)報(bào)文以單幀CAN報(bào)文進(jìn)行發(fā)送。
第一幀(First Frame,F(xiàn)F) -數(shù)據(jù)域及PCI不能在一個(gè)CAN數(shù)據(jù)幀中容納時(shí),服務(wù)報(bào)文以多幀CAN報(bào)文進(jìn)行發(fā)送,其中第一幀(FF)除傳送數(shù)據(jù)外,還包含了多包數(shù)據(jù)的長度信息。
連續(xù)幀(Consecutive Frame,CF) - 多包數(shù)據(jù)中除第一幀外的連續(xù)數(shù)據(jù)幀,除傳送數(shù)據(jù)外,還包含了多包數(shù)據(jù)的包序號。
流控制幀(Flow Control,F(xiàn)C) -用于多包數(shù)據(jù)傳輸過程中的流控制,不包含數(shù)據(jù),只包含流控制狀態(tài)、數(shù)據(jù)塊大小和最小間隔時(shí)間等流控制信息。