久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 基于SAE J1939協議的車輛信息采集與診斷模塊

基于SAE J1939協議的車輛信息采集與診斷模塊

作者: 時間:2010-09-25 來源:網絡 收藏

2.2 軟件設計
系統的軟件設計采用Keil RealView MDK-ARM環境編寫,通過J-Link調試仿真器與STM32 F103C8T6的JTAG接口連接,實現在線仿真調試。
ST公司為STM32系列微控制器開發了專門的固件庫和接口函數,大大簡化了軟件開發的過程。系統上電后首先對微控制器的RCC(重啟和時鐘控制)以及NVIC(嵌套向量中斷控制器)進行初始化,并使能CAN中斷,設置CAN屏蔽碼和驗收碼。CAN的初始化過程是這樣的:a.根據CAN節點相關信息初始化一個CAN_InitTypeDef型結構,并調用CAN_Init函數對CAN接口進行初始化;b.創建CAN_FilterInitTypeDef結構體,調用CAN_FilterInit函數對CAN過濾器進行初始化;c.調用CAN_ITConfig函數對CAN中斷源進行使能設置。系統初始化完成后,等待CAN總線接收中斷的產生,并判斷總線數據是否滿足屏蔽條件,將29位標識符報文與驗收碼、屏蔽碼值逐位比較,屏蔽碼用于定位相關位(0為相關,1為不相關)。僅當標識符中的相關位與驗收碼相應位相同時,系統才接收報文;如滿足屏蔽條件則從寄存器讀取數據并存入緩沖區,并通過CAN Receive函數讀取相應數據,再根據 判斷計算車輛工況及故障代碼等信息,處理后通過USB或串行口發送到車載多媒體設備和虛擬儀表進行顯示。例如:接收的數據為0C FEF2 00 xx xx xx 0D 15 xx xx xx (xx為任意數據),若驗收碼為Ox00000000,屏蔽碼為OxlFFFFFFF,則接收該報文。根據 -71,此報文為PGN65266,來自發動機ECU;可以得知第4、5字節為平均油耗,并遵循低位在前高位在后的傳輸方式,計算出車輛平均油耗=原始數×分辨率+偏移量=5389×1/5 12+O=10.5km/L。同理可計算其他車輛工況數據。圖3為CAN總線數據接收程序流程圖。

本文引用地址:http://cqxgywz.com/article/195288.htm

13d.JPG

3 結語
本文介紹了基于CAN總線和 的車輛信息采集與診斷模塊的設計開發過程,利用STM32F103C8T6微控制器和CAN隔離收發器CTM825lT等器件實現了車輛信息的實時采集,最大限度地利用了器件本身的接口功能并降低了外圍電路的成本。本模塊工作穩定、性能可靠,軟件各部分功能運行完好,并可與影音娛樂產品和虛擬儀表產品相互結合,有一定的實用價值。隨著汽車電子化程度的不斷提高,CAN總線和SALE J1939協議必將得到更為廣泛的應用。


上一頁 1 2 3 下一頁

關鍵詞: J1939 SAE 協議 模塊

評論


相關推薦

技術專區

關閉