前言:本站為你精心整理了探析CAN總線控制系統在汽車上的運用范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
1車身控制系統硬件設計
1.1通用模塊設計
為使系統適于分布式安裝,節省大量的線束和繼電器,將信號采集和功率控制節點設計為具有良好互換性的通用模塊。通用模塊選用飛思卡爾的MC9S08DZ60為主控制芯片,實現對開關、模擬、脈沖信號的采集功能和對功率負載的控制功能,同時具備SPI和can通信功能以及通信地址的可配置功能。為實現開關信號、模擬量信號的采集和通信地址可配置,選用多路復用芯片MC33993,它通過SPI與MC9S08DZ60通信,可實現共22路開關信號的輸入,開關信號輸入引腳還可以作為模擬量信號的輸入引腳。當作為模擬信號輸入引腳時,通過SI寫入控制命令,在片選信號CS的上升沿時,將需要采集的模擬量信號接入到AMUX,并在下一個SO輸出數據中將對應引腳位的值置為0。AMUX將捕捉到的最高為VDD電壓的模擬信號接入到主控芯片,實現該信號的A/D轉換。脈沖信號的采集處理,利用三極管的開關通斷特性,實現對脈沖信號的計數處理。功率負載的輸出控制選用芯片BTS840,它可提供單路12A電流和雙路24A電流,并具備過熱保護和短路、斷路診斷反饋功能,可實現對外接負載工作狀態的監控。
1.2數字化儀表設計
儀表選用飛思卡爾的MC9S12D64為主控制芯片。該芯片為112腳封裝,有豐富的I/O資源和工業控制專用的通信模塊[4],特別適用于汽車。儀表作為系統主控單元,不必配置通信地址,故可將芯片MC33993的輸入引腳全部用作采集開關信號。為實時監控車輛狀態信息,在儀表上側布有30個LED指示燈陣列,由主控芯片根據對車輛狀態數據進行邏輯運算后,通過I/O引腳控制對應狀態指示燈。對發動機轉速、車速、機油壓力、蓄電池電壓、發動機冷卻水溫、燃油量和前后橋氣壓等參數,采取驅動步進電機帶動指針來指示刻度表盤的實現方式。步進電機的驅動芯片選用MC33976,通過SPI與主控芯片通信,每個驅動芯片可驅動2個步進電機。儀表采用240x120像素的LCD屏,在主頁面顯示LOGO、重要參數和報警信息,并可分頁顯示更多信息。儀表還設計有四個按鍵,主控芯片通過中斷方式接收按鍵信號,通過選擇不同按鍵,可實現LCD屏的分頁顯示信息,還可以設置日期、時間、主減速比和單圈脈沖數等參數。
1.3CAN通信設計
儀表和通用模塊通過CAN總線進行通信。為提高CAN通信性能,選用基于iCoupler磁耦隔離技術的ADUM1201代替常規的光電耦合器,它是符合車用等級的雙通道數字隔離器,具有比光電耦合器更高的數據傳輸速率、時序精度和瞬態共模抑制能力,在性能、功耗等各方面明顯優于光電隔離器件[5],具體電路如圖2所示。為消除通信線路信號串擾,在ADUM1201兩側分別采用隔離電源供電。高速CAN收發器TJA1040T通過CANH和CANL與總線相連,經過ADUM1201的隔離,再通過TXCAN和RXCAN與主控芯片內CAN控制器相連,實現數據的接收和發送。
1.4CAN通信網絡組成
為實現節點間的數據通信,將儀表、通用模塊、發動機ECU和尿素液位ECU通過雙絞線相連,組成CAN總線網絡,同時,為提高通信時的抗干擾能力,在總線兩端各配備一個120歐姆的電阻。
2車身控制系統軟件設計
系統的軟件開發環境為Metrowerks公司的CodeWarrior。儀表將所有采集或通過總線接收到的狀態數據經過邏輯運算后,通過LED陣列、LCD屏和步進電機帶動指針顯示當前車輛狀態,并經過CAN總線將控制命令發送給相應模塊,實時控制功率負載的啟停。車身控制系統各個節點間通過CAN總線收發數據,各個節點的控制模塊在主程序中先對CAN控制器進行初始化,分別分配一段內存空間作為接收和發送數據的隊列,并通過中斷完成CAN總線數據的接收和發送。
3結束語
本文設計了符合CAN通信協議的儀表和通用模塊,并與發動機ECU和尿素液位ECU通過CAN總線連接組成整車控制網絡,實現了對車輛狀態信息的實時監控。采用ADUM1201作為隔離器件,提高了CAN通信的抗干擾能力。信號和負載的通用處理和儀表的集中控制邏輯運算,使系統的售后維護變得更便捷、靈活。本系統已小批量裝車后運行數萬公里,具有良好的穩定性和可靠性。
作者:廖吉春嵇黎明單位:航天新長征電動汽車技術有限公司重慶長安新能源汽車有限公司