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