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