<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設計應用 > 基于MC9S12HZ256的總線式汽車數字儀表設計

          基于MC9S12HZ256的總線式汽車數字儀表設計

          作者: 時間:2010-04-14 來源:網絡 收藏

          摘要:首先研究CAN總線和SAE J1939協(xié)議,提出一種基于9HZ微控制器的總線式汽車數字儀表解決方案。詳細介紹SAE J1939協(xié)議的報文幀格式及應用層協(xié)議中發(fā)動機相關參數的定義,以及步進電機及其驅動和車速信號的處理方法。該數字儀表系統(tǒng)硬件平臺由微處理器和信號采集和信息處理及顯示等模塊組成。軟件設計部分編程實現了對CAN總線和各傳感器數據的讀取、處理。該系統(tǒng)能夠實時反映車輛工況。
          關鍵詞:汽車數字儀表;9Si2HZ;步進電機;CAN總線;SAE J1939

          本文引用地址:http://www.ex-cimer.com/article/197700.htm

          汽車儀表經歷機械式、電氣式、模擬電路電子式和全數字式的發(fā)展過程,日前正處在從模擬電路電子式轉向全數字式的時期。帶CAN總線接口的汽車儀表采集并處理傳感器的車速、油量、油壓等信號,并根據SAE J1939協(xié)議讀取發(fā)動機轉速、水溫等信息。陔型汽車儀表具有指示精度高、反應靈敏、結構簡單、可靠性高等優(yōu)點,代表汽車儀表的發(fā)展方向。

          1 CAN總線與SAE J1939協(xié)議
          1.1 CAN總線與SAE J1939協(xié)議簡介
          控制器局域網CAN(Controller Area Network)是用于眾多控制單元、測試儀器之間實時數據交換而開發(fā)的一種串行通信協(xié)議,CAN2.0包括2.OA和2.0B兩部分。CAN拓撲結構為總線式,所以也稱CAN總線。SAE J1939協(xié)議是以CAN2.0B作為網絡核心協(xié)議,用于客車、貨車、農業(yè)及建筑車輛的網絡串行通信和控制協(xié)議。該協(xié)議通過對CAN擴展幀的29位標識符編碼,用CAN數據幀封裝其數據信息,從而形成獨特的編碼系統(tǒng)。作為車輛通訊標準,該協(xié)議明確規(guī)定汽車內部ECU的地址配置、命名、通訊方式以及報文發(fā)送優(yōu)先級等,詳細說明汽車內部具體ECU通訊內容。SAE J1939協(xié)議標準更大限度地發(fā)揮CAN優(yōu)異的性能,減少線束數量,實現車輛電子設備間高速數據傳輸。
          1.2 SAE J1939協(xié)議下CAN通訊報文幀格式
          CAN支持4種類型的報文幀傳送信息:數據幀(Data Frame)、遠程幀(Remote Frame)、出錯幀(Error Frame)和超載幀(Overload Fram-e)。CAN有2類消息幀:標準幀和擴展幀,其本質的差別在于標識符(ID)的長度,標準幀的ID有11位,擴展幀則有18位。表1為CAN擴展格式數據幀結構。


          CAN數據幀分為以下位場:起始場(SOF)、仲裁場、控制場、數據場、循環(huán)冗余校驗場(CRC)、應答場(ACK)和幀結束(EOF)??刂茍鲇?位組成,包括數據長度碼(DLC)和2個保留位r1、r0,在數據幀里這2位必須為顯性位。DLC為4位,指出數據場里的字節(jié)數目,編碼為0~8。循環(huán)冗余校驗CRC場由15位CRC序列及CRC邊界符組成。CRC范圍包括幀起始、仲裁場、控制場和數據場。應答場(ACK)長度為2位,包含應答間隙和應答界定符。在應答場中,發(fā)送器發(fā)送這2位為隱性位。當接收器正確接收到有效報文時,會在應答間隙期間向發(fā)送器發(fā)送一顯性位以示應答。每一數據幀均由7位隱性電平組成幀結束。


          上一頁 1 2 3 4 下一頁

          關鍵詞: 256 MC9 S12 MC

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();