基于CAN總線(xiàn)的嵌入式汽車(chē)電子故障檢測系統
汽車(chē)產(chǎn)業(yè)是國家的支柱產(chǎn)業(yè),電子產(chǎn)業(yè)也是國家的支柱產(chǎn)業(yè),作為汽車(chē)產(chǎn)業(yè)和電子產(chǎn)業(yè)的交集,汽車(chē)電子零部件產(chǎn)業(yè)的興衰與國民經(jīng)濟息息相關(guān)。目前,我國汽車(chē)的產(chǎn)量逐年攀高,民族汽車(chē)品牌在自身不斷成長(cháng)的同時(shí),也迫使國際汽車(chē)公司或合資公司不得不降低生產(chǎn)成本,實(shí)施汽車(chē)電子零部件國產(chǎn)化戰略,這就為我國汽車(chē)電子產(chǎn)業(yè)化的發(fā)展提供了良好的機遇。
前裝汽車(chē)電子產(chǎn)品除了其復雜的功能要求外,對于實(shí)時(shí)性、安全性、可靠性和環(huán)保性等的要求都非常嚴格,并且汽車(chē)廠(chǎng)商都具有自己相關(guān)的執行檢測標準和生產(chǎn)流程規范,因此為前裝汽車(chē)電子產(chǎn)品配套研發(fā)相應的故障檢測系統是非常必要的。
1 系統設計方案
1.1 設計依據
CAN總線(xiàn)作為一種串行汽車(chē)總線(xiàn),具有結構簡(jiǎn)單、可靠性高、技術(shù)成熟等優(yōu)點(diǎn),目前已在汽車(chē)領(lǐng)域廣泛應用。前裝汽車(chē)電子產(chǎn)品一定遵循特定車(chē)型的CAN通信協(xié)議,整車(chē)幾乎全部的控制和狀態(tài)信息都依賴(lài)CAN總線(xiàn)傳輸,通過(guò)采集和分析CAN總線(xiàn)上的信號,便可準確獲得各個(gè)部件的工作狀態(tài)和實(shí)時(shí)參數,這就是汽車(chē)電子測試系統的基本依據。
汽車(chē)廠(chǎng)商對測試儀器的一般要求包括實(shí)時(shí)性、可靠性、便攜式以及友好的人機交互等。嵌入式系統由于其靈活的軟硬件設計、良好的可靠性和實(shí)時(shí)性、較低的功耗等特點(diǎn),完全可以滿(mǎn)足廠(chǎng)商對于測試儀器的要求。因此,基于CAN幀測試和采用嵌入式設計是汽車(chē)電子測試系統的有效解決方案。
1.2 實(shí)現方案
嵌入式汽車(chē)電子測試系統,一般選擇性能比較好的32位微處理器,比如ARM處理器,在硬件設計上包括嵌入式系統通用的電源模塊、存儲模塊、人機交互模塊等,基于CAN總線(xiàn)通訊必須設計相應的CAN總線(xiàn)通信模塊,在該模塊中通常由兩部分組成,一部分是CAN控制器,用于實(shí)現CAN總線(xiàn)的數據鏈路層協(xié)議;另一部分是CAN驅動(dòng)器用于實(shí)現CAN總線(xiàn)的物理層。系統的基本結構圖如圖1所示。
汽車(chē)電子測試儀器一般要求具備友好的人機交互,對界面設計的要求比較高,因此在軟件設計中宜采用分層的軟件設計方法,一般情況下需要移植相關(guān)的嵌入式操作系統,目前常用的嵌入式操作系統主要有Linux、Wince等。軟件的設計流程主要包括操作系統移植、驅動(dòng)程序編寫(xiě)、應用程序設計3個(gè)階段。移植合適的嵌入式操作系統,為軟件的開(kāi)發(fā)搭建好開(kāi)發(fā)平臺;開(kāi)發(fā)相關(guān)的驅動(dòng)程序來(lái)支持硬件設備,為應用軟件訪(fǎng)問(wèn)硬件提供接口,在CAN的模塊中,一般需要開(kāi)發(fā)支持控制器和驅動(dòng)器的驅動(dòng)程序,以便于和汽車(chē)電子產(chǎn)品通信;應用程序是最上層的軟件,直接面對用戶(hù),為用戶(hù)使用提供友好的交互。
2 系統設計樣例
基于以上的系統分析,現給出一個(gè)具體的設計樣例解釋。USB汽車(chē)音頻播放系統是為某汽車(chē)制造商開(kāi)發(fā)的一款前裝汽車(chē)電子產(chǎn)品。該產(chǎn)品在通信上嚴格遵守廠(chǎng)商提供的CAN總線(xiàn)協(xié)議。該測試系統主要用于部件出廠(chǎng)前的故障檢測。
2.1 硬件設計
考慮到性能、功耗、穩定等方面的要求,選用Intel公司的32位工業(yè)級微處理器PXA270,該處理器基于A(yíng)RM10內核,運行主頻高達520M- Hz,接口資源豐富,加入了IntelSpeedStep動(dòng)態(tài)電源管理技術(shù),在保證CPU性能的情況下可最大限度地降低設備功耗,利用該處理器簡(jiǎn)化了硬件設計,并且保證了軟件的快速運行;存儲模塊采用了64 MB的NorFlash和64 MB的SDRAM;人機交互采用的是液晶顯示和觸摸控制的方案。
在CAN總線(xiàn)通信模塊的設計中,采用的芯片是SJA1000、PCA82C250和TJA1055。SJA1000是PHLIPS公司發(fā)布的一款適用于汽車(chē)和一般工業(yè)環(huán)境的獨立CAN控制器,SJA1000是PCA82C200控制器的替代產(chǎn)品,除了支持BasicCAN操作模式外,還增加了新的操作模式 PeliCAN,這種模式支持具有很多新特性的CAN2.0B協(xié)議。SJA1000應用于CAN硬件模塊中,用于實(shí)現CAN總線(xiàn)的數據鏈路層協(xié)議,在本設計中使用了2片SJA1000芯片,分別用于高速CAN和低速CAN通信。SJA1000的具體電路原理圖如圖2所示,數據總線(xiàn)AD0~AD7通過(guò)數據緩沖器件接到PXA270的數據總線(xiàn)MD0~MD7上,時(shí)序控制等信號線(xiàn)則是接到CPLD上,由PXA270處理器通過(guò)CPLD管理。
PCA82C250和TA1055都是驅動(dòng)收發(fā)器,用于實(shí)現CAN總線(xiàn)的物理層,不同之處在于2個(gè)芯片各自實(shí)現了CAN物理層的2個(gè)標準:高速CAN和低速CAN。高速CAN根據線(xiàn)纜長(cháng)度最高可提供1 Mbit/s的波特率,低速CAN可提供5~125 kbit/s的波特率,并且允許CAN總線(xiàn)在連接失敗時(shí)通信得以繼續進(jìn)行,因此也叫容錯CAN,該儀器支持2種物理標準,驅動(dòng)器的電路圖如圖3所示。 HTXD0、HRXD0和LTXD0、LRXD0均來(lái)自于SJA1000,通過(guò)PCA82C250和TJA1055后分別得到高速CAN通道HCHNH、 HCHNL和低速CAN通道LGANH、LCANL。
2.2 軟件設計
考慮到廠(chǎng)商對人機交互要求比較高,并且為了縮短研發(fā)周期,選擇微軟的Windows CE作為嵌入式操作系統。Wince是一個(gè)緊湊、完整和可擴展的嵌入式操作系統,是一個(gè)多線(xiàn)程、基于優(yōu)先級可搶占的操作系統,具有內存管理功能,可以抑制由于應用程序不正常而直接破壞系統的危險性,特別適用于有限資源的硬件平臺,并且Wince的操作系統在界面操作上繼承了桌面Windows系統的風(fēng)格,便于操作工人的熟悉和使用。
軟件設計的主要工作有Wince5.0系統在PXA270上的移植,CAN總線(xiàn)、液晶顯示、觸摸屏、Flash存儲、藍牙等驅動(dòng)程序的實(shí)現,CAN協(xié)議實(shí)現及應用程序的設計等。
Wince的驅動(dòng)程序主要分為本機驅動(dòng)和流接口驅動(dòng),本機驅動(dòng)是硬件必須的驅動(dòng),不支持通用的設備驅動(dòng)程序接口,如觸摸屏的驅動(dòng);流接口驅動(dòng)是指驅動(dòng)程序把流式接口函數公開(kāi)出來(lái),而不考慮驅動(dòng)所控制的設備類(lèi)型。CAN總線(xiàn)的驅動(dòng)主要是對控制器SJA1000的軟件支持,在wince中是典型的流接口驅動(dòng),通過(guò)CAN_Init、CAN_Open、CAN_Close、CAN_Read、CAN_Write、CAN_IOControl,CAN_Deiit 等函數實(shí)現SJA-1000的功能;其中CAN_Init主要完成SJA1000的初始化工作,CAN_Open用于響應應用程序的請求,CAN_Read和CAN_Write用于從CAN總線(xiàn)讀取和向總線(xiàn)寫(xiě)入字符,CAN_IOControl用來(lái)擴展其他的功能,CAN_Close用于關(guān)閉響應,CAN_Deiit用于釋放資源和卸載驅動(dòng)。
應用程序運用Embedded Visual C++4.0開(kāi)發(fā)。該測試儀器的任務(wù)較多,大部分的測試都是基于對部件發(fā)出CAN幀的分析,儀器的主要測試功能包括:音頻左右聲道測試、麥克測試、藍牙測試、USB測試等。系統的軟件流程如圖4所示,系統的主界面如圖5所示。
2.3 現場(chǎng)應用
該測試儀器目前已經(jīng)應用于現場(chǎng)生產(chǎn)中,對USB汽車(chē)音頻播放部件進(jìn)行出廠(chǎng)前質(zhì)量測試,實(shí)踐表明該測試儀器快速可靠、操作友好,每臺每個(gè)工作日可檢測300~500臺部件,檢測準確率達到99%以上,完全滿(mǎn)足了廠(chǎng)商的需求。
3 結束語(yǔ)
本文針對汽車(chē)電子開(kāi)發(fā)中的具體需求,提出了基于CAN通信和CAN幀分析的汽車(chē)電子測試方法,通過(guò)現場(chǎng)應用表明該方法是對前裝汽車(chē)電子產(chǎn)品測試的快速有效的方法,基于該方法的嵌入式汽車(chē)電子測試儀器,滿(mǎn)足了廠(chǎng)商對于體積、價(jià)格、速度、可靠等方面的需求,在未來(lái)開(kāi)發(fā)的前裝汽車(chē)電子產(chǎn)品中會(huì )繼續廣泛應用。
評論