a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線的汽車數字儀表的設計

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

作者: 時間:2011-09-23 來源:網絡 收藏
  引言

  汽車儀表作為車輛與駕駛員交流的窗口,承擔向駕駛員實時提供車輛工況任務。汽車儀表是汽車電子在車輛中應用研究的重點之一。隨著歐洲排放標準在國內推廣,符合歐洲排放標準具備控制器局域網絡(ControllerAreaNetwork,簡稱CAN)總線接口的發動機和與之通訊的總線式數字儀表也逐漸擴大市場。隨著車載總線技術發展,帶有接口的得到廣泛應用。應用層SAEJ1939協議是目前國內汽車行業應用最廣泛的應用層協議。

  這里提出的基于是利用CAN總線使其成為車身網絡一部分,遵循SAEJ1939協議讀取發動機轉速、水溫等信息。考慮到車輛實際狀況,該還能接收傳感器的車速、油量、油壓、制動氣壓等信號并顯示,為駕駛員提供實時車輛工況。

  2 SAEJ1939協議簡介

  SAEJ1939協議是美國汽車工程師協會SAE(SocietyofAutomotiveEngineer)發布的以CAN2.0B作為網絡核心協議的車輛網絡串行通信和控制協議。SAEJ1939協議使用CAN的數據幀封裝其數據信息,對CAN擴展幀的29位標識符編碼,形成獨特的編碼系統作為車輛通訊標準。該協議明確規定了汽車內部ECU的地址配置、命名、通訊方式以及報文發送優先級等,詳細說明了汽車內部具體的ECU通訊內容。實現車輛電子設備間高速數據傳輸,減少線路數量,最大限度利用CAN總線優越性能。

  2.1 SAEJ1939報文格式

  SAEJ1939數據幀是以PDU(協議數據單元)為單位,共由優先權(P)、保留位(R)、數據頁(DP)、PDU格式(PF)、PDU細節(PS)、源地址(SA)及數據域(DateField)等7個域組成。除了數據域外的PDU對應于CAN擴展幀的29位標識符,其對應關系如表1所列。其中PS是一個8位段,其定義取決于PF值。若PF值小于240,PS是目標地址(DA)。若PF值介于240和255之間,則PS為組擴展(GE)。

  2.2 SAEJ1939應用層

  應用層詳細定義了SAEJ1939協議中使用的每個參數,包括數據長度、數據類型、結果、范圍以及參數組編號(PGN)等。這些參數分為控制參數、動力傳動系統狀態參數、動力傳動系統控制參數、動力傳動系統配置參數、信息參數以及信息狀態參數。SAEJ1939使用參數組編號(PGN)作為一參數組的唯一標簽。該標簽包括:保留位(R),數據頁(DP)、PDU格式域(PF8位)和組擴展域(GE8位)。另外,PF值小于240時,PGN低字節位置0。參數組中的每個參數都能用ASCII碼表示,其狀態量最少可用兩個位表示。文字數字數據采用最高位在前的傳輸方式,其他包括兩個或多個數據字節的參數則采用最低位在前的傳輸方式。除此之外,應用層中還詳細定義了參數組屬性。該參數組屬性包括:優先權、更新率、參數組的協議數據單元格式、參數組編號,參數組的數據參數號及其在參數組中的位置。

  3 基于CAN總線的汽車數字儀表系統設計

  3.1 硬件電路設計

  該汽車數字儀表系統由信號采集和處理顯示等模塊組成,如圖1所示。通過模擬量信號分壓,濾波整形脈沖信號,CAN總線信號通過收發器發送至中央處理器,然后再將處理后的信號通過步進電機控制器控制步進電機,驅動LCD液晶屏顯示。其中信號采集模塊包含CAN總線數據采集和傳感器數據采集。在實際的車載環境中,該系統設計遵循SAEJ1939協議在CAN總線上獲取發動機轉速、水溫和故障代碼,而其他信息包括車速、油量、機油壓力、制動氣壓則從相應傳感器以模擬量和脈沖量形式讀取。通過測量車速傳感器脈沖信號獲取車速信號,油量傳感器的信號經分壓后直接發送給中央處理器內A/D轉換器處理。

汽車儀表系統結構框圖

  圖2給出信號采集模塊電路。圖中,采用帶隔離的通用CAN收發器CTM825lT接收CAN總線信號。CTM8251T內部集成所有必需的CAN隔離及CAN收發器,可實現CAN節點的收發與隔離功能,從而替代了傳統設計中采用光電耦合器、DC-DC隔離、CAN收發器等元件實現的具有隔離功能的CAN收發電路。該模塊電路可將CAN控制器的邏輯電平轉換為CAN總線的差分電平,并具有直流2500V的隔離功能。該模塊電路設計體積小,集成度高,可取代PCA82C25l等傳統的CAN總線收發器及其外圍電路,從而降低了系統設計成本。傳感器模擬量信號經分壓傳輸至中央處理器,圖中的VD40和C40兩元件可對微控制器LM3S2948的引腳提供過壓保護。

信號采集模塊原理圖

  LM3S2948型微控制器完成信號處理。它是一款基于ARMCortexM3內核的微控制器,采用32位RISC,內嵌CAN控制器、A/D轉換器、模擬比較器、I2C接口等功能模塊,極大降低了外圍電路設計成本。LM3S2948微控制器具有運算速度快、功耗小、體積小、價位低等特點。LM3S2948的CAN控制器模塊支持CAN2.0B協議,支持符合SAEJ1939協議的擴展幀的報文傳輸,其傳輸速率可編程設置為1Mb/s,這些特性完全滿足CAN總線汽車數字儀表的應用要求。采用移位寄存器74HC595實現信號的串入并出,采用步進電機驅動器VID6606驅動表針。每片VID6606可同時驅動四路步進電機。在其頻率控制端輸入脈沖序列F(SCX),即可控制輸出端使步進電機的輸出軸以微步轉動,每個脈沖對應電機輸出軸轉動1/12°,最大角速度可達600°/s,滿足汽車儀表指示的高精度、快速響應的要求。表針采用步進電機VID一29驅動。圖3為VID6606驅動儀表電路。LCD驅動器采用PCF8566,其內部集成LCD驅動器所必需的功能電路。能直接驅動任意靜態或包含4背極高達24段的LCD。中央處理器發送的信號先經PCF8566T功率放大后,然后送至液晶屏F2000LCD顯示。

VID6606驅動儀表電路

  3.2 軟件設計

  該汽車數字儀表系統軟件采用IAR編程調試軟件編寫。該軟件通過LM一LINK調試仿真器與LM3S2948的JTAG端口連接,實現在線仿真調試。

  數據接收處理軟件首先初始化系統時鐘、CAN節點、LCD液晶屏、步進電機等,并使能CAN中斷,設置CAN屏蔽碼和驗收碼。初始化CAN節點的具體步驟:

  ①封裝CAN節點相關信息,創建一個軟件CAN節點結構體指針pCAN_Node_lnfo;

  ②初始化CAN控制器;

  ③中斷CAN控制器;

  ④設置CAN節點接收過濾。

  初始化后,讀取CAN總線和其他傳感器信號。控制步進電機和液晶屏顯示處理數據。等待CAN總線接收中斷產生,判斷總線數據是否滿足屏蔽條件,即逐位比較接收的29位標識符報文與驗收碼、屏蔽碼值,屏蔽碼用于定位相關位(0=相關,1=不相關)。只有標識符中的相關位與驗收碼相應位相同,系統才接收報文。如滿足屏蔽條件則從寄存器讀取數據并存入緩存區,再根據SAEJ1939協議判斷計算發動機轉速、水溫和故障代碼信息,傳輸至步進電機和液晶屏顯示。例如:接收的數據為:OCF00400XXXXXX4F55XXXXXX(XX為任意數據),若設置驗收碼為Ox00000000,屏蔽碼為0xlFFFFFFF,則接收該報文。根據SAEJl939-71協議,此報文為:PGN61444一電子發動機控制器。因此,可得第4,5字節為發動機轉速,并遵循低位在前,高位在后的傳輸方式,則發動機轉速=原始數×分辨率+偏移量=21831x0.125+0=2728.875r/m。同理可計算其他汽車儀表所需數值。圖4為CAN總線數據接收程序流程圖。

CAN總線數據接收流程圖

  4 結語

  在研究了汽車CAN總線通訊協議及SAEJ1939協議的基礎上,實現基于CAN總線的汽車數字儀表系統設計。該系統設計利用LM3S2948、CTM8251、VID6606等器件的功能,最大程度地降低外圍電路成本。該汽車數字儀表系統工作穩定、性能良好,目前正進行裝車試驗。隨著歐洲排放標準在國內的推廣,基于CAN總線的數字儀表必將進入快速發展的新階段。



評論


相關推薦

技術專區

關閉