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