基于MC9S12HZ256的總線式汽車數(shù)字儀表設(shè)計(jì)
摘要:首先研究CAN總線和SAE J1939協(xié)議,提出一種基于MC9S12HZ256微控制器的總線式汽車數(shù)字儀表解決方案。詳細(xì)介紹SAE J1939協(xié)議的報(bào)文幀格式及應(yīng)用層協(xié)議中發(fā)動(dòng)機(jī)相關(guān)參數(shù)的定義,以及步進(jìn)電機(jī)及其驅(qū)動(dòng)和車速信號(hào)的處理方法。該數(shù)字儀表系統(tǒng)硬件平臺(tái)由微處理器和信號(hào)采集和信息處理及顯示等模塊組成。軟件設(shè)計(jì)部分編程實(shí)現(xiàn)了對(duì)CAN總線和各傳感器數(shù)據(jù)的讀取、處理。該系統(tǒng)能夠?qū)崟r(shí)反映車輛工況。
關(guān)鍵詞:汽車數(shù)字儀表;MC9Si2HZ256;步進(jìn)電機(jī);CAN總線;SAE J1939
汽車儀表經(jīng)歷機(jī)械式、電氣式、模擬電路電子式和全數(shù)字式的發(fā)展過(guò)程,日前正處在從模擬電路電子式轉(zhuǎn)向全數(shù)字式的時(shí)期。帶CAN總線接口的汽車儀表采集并處理傳感器的車速、油量、油壓等信號(hào),并根據(jù)SAE J1939協(xié)議讀取發(fā)動(dòng)機(jī)轉(zhuǎn)速、水溫等信息。陔型汽車儀表具有指示精度高、反應(yīng)靈敏、結(jié)構(gòu)簡(jiǎn)單、可靠性高等優(yōu)點(diǎn),代表汽車儀表的發(fā)展方向。
1 CAN總線與SAE J1939協(xié)議
1.1 CAN總線與SAE J1939協(xié)議簡(jiǎn)介
控制器局域網(wǎng)CAN(Controller Area Network)是用于眾多控制單元、測(cè)試儀器之間實(shí)時(shí)數(shù)據(jù)交換而開(kāi)發(fā)的一種串行通信協(xié)議,CAN2.0包括2.OA和2.0B兩部分。CAN拓?fù)浣Y(jié)構(gòu)為總線式,所以也稱CAN總線。SAE J1939協(xié)議是以CAN2.0B作為網(wǎng)絡(luò)核心協(xié)議,用于客車、貨車、農(nóng)業(yè)及建筑車輛的網(wǎng)絡(luò)串行通信和控制協(xié)議。該協(xié)議通過(guò)對(duì)CAN擴(kuò)展幀的29位標(biāo)識(shí)符編碼,用CAN數(shù)據(jù)幀封裝其數(shù)據(jù)信息,從而形成獨(dú)特的編碼系統(tǒng)。作為車輛通訊標(biāo)準(zhǔn),該協(xié)議明確規(guī)定汽車內(nèi)部ECU的地址配置、命名、通訊方式以及報(bào)文發(fā)送優(yōu)先級(jí)等,詳細(xì)說(shuō)明汽車內(nèi)部具體ECU通訊內(nèi)容。SAE J1939協(xié)議標(biāo)準(zhǔn)更大限度地發(fā)揮CAN優(yōu)異的性能,減少線束數(shù)量,實(shí)現(xiàn)車輛電子設(shè)備間高速數(shù)據(jù)傳輸。
1.2 SAE J1939協(xié)議下CAN通訊報(bào)文幀格式
CAN支持4種類型的報(bào)文幀傳送信息:數(shù)據(jù)幀(Data Frame)、遠(yuǎn)程幀(Remote Frame)、出錯(cuò)幀(Error Frame)和超載幀(Overload Fram-e)。CAN有2類消息幀:標(biāo)準(zhǔn)幀和擴(kuò)展幀,其本質(zhì)的差別在于標(biāo)識(shí)符(ID)的長(zhǎng)度,標(biāo)準(zhǔn)幀的ID有11位,擴(kuò)展幀則有18位。表1為CAN擴(kuò)展格式數(shù)據(jù)幀結(jié)構(gòu)。
CAN數(shù)據(jù)幀分為以下位場(chǎng):起始場(chǎng)(SOF)、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)、循環(huán)冗余校驗(yàn)場(chǎng)(CRC)、應(yīng)答場(chǎng)(ACK)和幀結(jié)束(EOF)??刂茍?chǎng)由6位組成,包括數(shù)據(jù)長(zhǎng)度碼(DLC)和2個(gè)保留位r1、r0,在數(shù)據(jù)幀里這2位必須為顯性位。DLC為4位,指出數(shù)據(jù)場(chǎng)里的字節(jié)數(shù)目,編碼為0~8。循環(huán)冗余校驗(yàn)CRC場(chǎng)由15位CRC序列及CRC邊界符組成。CRC范圍包括幀起始、仲裁場(chǎng)、控制場(chǎng)和數(shù)據(jù)場(chǎng)。應(yīng)答場(chǎng)(ACK)長(zhǎng)度為2位,包含應(yīng)答間隙和應(yīng)答界定符。在應(yīng)答場(chǎng)中,發(fā)送器發(fā)送這2位為隱性位。當(dāng)接收器正確接收到有效報(bào)文時(shí),會(huì)在應(yīng)答間隙期間向發(fā)送器發(fā)送一顯性位以示應(yīng)答。每一數(shù)據(jù)幀均由7位隱性電平組成幀結(jié)束。
評(píng)論