• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

    基于SAEJ1939協議的CAN總線汽車儀表設計

    作者: 時間:2013-01-31 來源:網絡 收藏


    利用LCD顯示時間、燃油消耗量以及產生故障時故障名稱,處理器發送的信號先經74HC245功率放大后,然后送至液晶屏F2000LCD顯示。LCD電路如圖4所示。

    LCD屏電路連接

    2.3 系統軟件

    系統軟件分為主程序、通信、數據采集處理和數據顯示等4個模塊。主程序模塊通過調用各個子模塊程序來處理數據處理:通信模塊負責發送和接收數據;數據采集及處理模塊完成對各種類型數據的采集以及計算;數據顯示模塊將車速、油壓以及信號燈等信息顯示在上。

    主程序流程及CAN總線數據接收流程


    圖5為系統主程序流程,該系統主程序流程分為:

    1)系統初始化。系統初始化主要包括初始化系統時鐘、節點、LCD液晶屏、步進電機等,并使能CAN中斷,設置CAN屏蔽碼和驗收碼。CAN節點初始化主要是初始化CAN控制器并中斷CAN控制器:

    2)讀取傳感器以及CAN數據,并驅動指針以及LCD等顯示,同時等待CAN接收中斷。

    3)CAN接收中斷產生,進入接收中斷子程序讀取數據。判斷數據是否符合數據接收條件,如果符合,則接收數據。此過程逐位比較接收到的29位標識符與驗收碼、屏蔽碼,只有標識符相應位與驗收碼相應位相同,系統才開始接收數據。

    4)處理器將接收的報文進行解析,提取需要的數據并進行處理。處理器對傳感器傳來的數據和CAN讀取的數據進行處理計算,得到相應的指針驅動參數,計算出指針轉角,并根據初始化的步進電機的參數計算出指針轉動速度。指針轉動速度與相應的參數變化速度成正比。同時計算出車輛行駛里程并累加到總路程上。

    5)處理器將包含車輛工況的一組脈沖序列發送至步進電機驅動器,驅動器驅動步進電機以微步方式轉動,指示出相應的發動機轉速、車速、水溫以及油壓等;處理器將包含車輛總路程等信息的數據發送至LCD控制器,控制器控制LCD顯示相應的總路程等:處理器改變相應的I/O引腳狀態直接點亮/關閉相應的指示燈。

    2.4 故障顯示

    能夠從CAN接收故障代碼并對故障代碼進行解析,與預先寫入的故障碼比對后找到對應的故障信息并顯示在LCD屏幕上。每一類型的數據都有特定的數據幀ID,系統根據幀ID判斷故障產生的位置。如果收到的是單幀故障,則系統來提取總字節數和總包數;如果收到的是多幀故障,系統則連續提取故障診斷報文至特定的字節,然后根據故障代碼查找故障類型。

    3 結束語

    在研究CAN總線和SAE J1939的基礎上,CAN總線儀表。該設計充分利用LM3S2948以及VID6606的功能,較大程度上降低了系統外圍電路的設計以及成本。多次實車試驗結果表明,相對于常規儀表,該CAN總線儀表具有以下優點:抗干擾能力強,傳輸速率高,能夠保證數據有效、快速、穩定地傳輸;減少車身布線,硬件方案軟件化實現,簡化了設計,降低了成本;及時、直觀地查看車輛故障;CAN總線將整車構成一個網絡系統,能夠提升系統的靈活性,方便地增加設備,擴大了可開發的空間。


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 抚宁县| 台山市| 林西县| 台安县| 黄冈市| 余干县| 丹巴县| 山东| 洪雅县| 沂南县| 高雄市| 延安市| 凤台县| 望谟县| 那坡县| 肥乡县| 漠河县| 通化县| 大城县| 蕉岭县| 麟游县| 自贡市| 鄂州市| 于都县| 大洼县| 广昌县| 徐水县| 陕西省| 乌苏市| 方正县| 雷波县| 潮州市| 沙雅县| 浦北县| 扎赉特旗| 罗江县| 比如县| 阳信县| 平陆县| 高要市| 秦安县|