基于嵌入式Qtopia汽車BCM自動檢測系統(tǒng)設(shè)計
摘要 汽車BCM在車身功能控制系統(tǒng)中起著舉足輕重的作用,因此汽車BCM出廠前的功能檢測一直得到企業(yè)和消費者的高度重視。目前多數(shù)企業(yè)仍使用人工測試的方法,而本次自動檢測系統(tǒng)是采用三星公司的S3C2440作為核心控制器,在嵌入式Linux系統(tǒng)下使用Qtopia應(yīng)用開發(fā)平臺搭建控制界面添加檢測控制程序,通過接口板連接汽車BCM從而實現(xiàn)自動檢測功能。
關(guān)鍵詞 汽車BCM;嵌入式Liunx;Qtopia;自動檢測
隨著汽車行業(yè)的快速發(fā)展,越來越多的車身電子設(shè)備得到應(yīng)用。汽車BCM上的節(jié)點和連線也越來越多,導(dǎo)致了汽車BCM功能檢測變得更加復(fù)雜。
1 系統(tǒng)設(shè)計的可行性
1.1 自系統(tǒng)的應(yīng)用前景
隨著生活水平的提高,人們對汽車功能的舒適性和安全性也提出了更高的要求。汽車BCM模塊控制著汽車上的絕大部分自動化功能,主要包括汽車的燈光、電動車窗、中央門鎖、防盜報警、電動后視鏡、電動座椅、雨刮器、安全氣囊等。在安裝使用BCM前企業(yè)就需要對汽車BCM進行全功能檢測。由于器件繁多,傳統(tǒng)的人工檢測方法工人需要根據(jù)各個功能模塊采用手動方式逐個進行測試,測試效率低,可靠性差。自動檢測系統(tǒng)用于生產(chǎn)檢測后不僅可以大幅降低BCM檢測儀的體積和成本,而且BCM的檢測效率也可提高4~6倍。投入使用后可為公司減少設(shè)備投資、節(jié)省人力,帶來更大經(jīng)濟效益。
1.2 系統(tǒng)可行性
汽車BCM檢測時,工人通過各種開關(guān)按鍵讓BCM在模擬負載環(huán)境下,測試各個功能模塊是否存在故障。而這些開關(guān)信號可通過程序中的高低電平來代替,這給自動化測試創(chuàng)造了可行條件。該自動檢測系統(tǒng)開始工作時,中央控制器通過接口板向汽車BCM發(fā)送測試信號,然后BCM做出響應(yīng)驅(qū)動接口板上的負載,再將檢測結(jié)果傳輸?shù)狡聊徊@示。如果BCM一切功能正常,液晶顯示屏就會顯示BCM良好。而檢測過程中如果某一部分功能出現(xiàn)故障,則檢測系統(tǒng)立即停止檢測,并將故障部位顯示在液晶屏幕上提示檢測人員。另外基于嵌入式系統(tǒng)下通過Qtopia可以較為容易地開發(fā)觸摸屏控制界面,這樣工人就可以直觀地通過簡單的操作來實現(xiàn)汽車BCM功能的自動化檢測。
2 系統(tǒng)的軟件設(shè)計
軟件部分是在嵌入式Redhat9Linux操作系統(tǒng)下設(shè)計的,使用Linux-2.6.30.4版本內(nèi)核、EABI_4.3.3_EmbedSky交叉編譯工具。
2.1 嵌入式Linux操作系統(tǒng)的搭建
2.1.1 移植uboot到開發(fā)板
開發(fā)板中缺少uboot開機無法啟動,要將編寫好的uboot通過Jtag分別燒寫到開發(fā)板的Nor Flash和NandFlash存儲器中,即可從Nor Flas h或者Nand Flash啟動。
2.1.2 Linux系統(tǒng)內(nèi)核移植
下載并解壓系統(tǒng)源碼到PCLinux的/opL/EmbedSky/中,解壓命令為#tar xvfj linux-2.6.30.4tar.bz2-C/opt/EmbedSky/,再進入內(nèi)核源碼通過修改Makefile文件中的“ARCH? =(SUBARCH)”和“CROSS_COMPILE? =”分別為“ARCH=arm”和“CROSS_COMPILE=arm-linu x-”從而添加系統(tǒng)對ARM的支持。使用命令:#make menuconfig打開配置菜單界面,如圖2所示。
按要求配置完成以后通過命令:#make zImage進行編譯后生成zImage鏡像,最后將其燒寫到開發(fā)板中。
2.1.3 文件系統(tǒng)移植
打開配置單,存配置單中增加對yaffs的支持。
對各項配置好以后保存為.config然后編譯出鏡像來。
2.2 搭建Qtopia-2.2.0開發(fā)應(yīng)用平臺
Qtopia是Trolltech公司為采用嵌入式Linux操作系統(tǒng)的消費電子設(shè)備而開發(fā)的綜合應(yīng)用平臺,Qtopia包含完整的應(yīng)用層、靈活的用戶界面、窗口操作系統(tǒng)、應(yīng)用程序啟動程序以及開發(fā)框架。
本系統(tǒng)檢測設(shè)計時首先是在PC機上設(shè)計、修改、調(diào)試、編譯通過以后再燒錄到開發(fā)板的。首先解壓安裝交叉編譯器EABI_4.3.3_Embed Sky.tar.bz2,然后使用#source/etc/profile命令使其生效。接著編譯PC版本的Qtopia-2.2.0,打開PC機的Linux終端然后在終端輸入執(zhí)行命令:./x86-qtopia-2.2.0-kongqueror-build,之后就開始編譯QT。等編譯完成后在終端里輸入命令#./test-x86就打開了Qtop ia的仿真界面,如圖3所示。
隨后編譯ARM版本的Qtopia接著制作Qtopia2.2.0的文件系統(tǒng)后就可以進行QT應(yīng)用程序的開發(fā)。
2.3 系統(tǒng)應(yīng)用程序開發(fā)
首先設(shè)置環(huán)境變量,然后建立QT的項目文件后啟動Qtdesigner開始根據(jù)實際需要設(shè)計控制界面。在設(shè)計過程巾需要注意QT信號和槽的對應(yīng)關(guān)系,設(shè)計完成后保存為*.ui工程文件。通過uic軟件把建立好的工程轉(zhuǎn)換成源代碼,再添加通用的文件main.cpp文件,使用tmake中的progen軟件生成pro文件,從上面得到的pro文件再生成Makefile文件,然后制作啟動器、桌面圖標,在*.cpp文件巾加入本設(shè)計系統(tǒng)對汽
車BCM自動檢測的控制程序,最后進行編譯和仿真。在ARM環(huán)境下編譯完成后將“/opt/EmbenSky/Qte/arm-qtopia/qtopia/image/opt /Qtopia/bin/”目錄下的應(yīng)用程序和在這個目錄“Qte/arm-qtopia/qtopia/image/opt/Qtopia/pics/”下的桌面圖標以及“Qte /arm-qtopia/qtopia/image/opt/Qtopia/apps/EmbedSky”目錄下的啟動器分別放到開發(fā)板文件系統(tǒng)對應(yīng)的目錄下,編譯鏡像文件燒錄到開發(fā)板,最后重新啟動開發(fā)板后就可正常運行了。圖4為本設(shè)計系統(tǒng)的觸摸屏控制界面。
3 系統(tǒng)的硬件設(shè)計
綜合考慮經(jīng)濟和性能等方面的因素,硬件控制部分本檢測系統(tǒng)選擇使用天嵌公司的TQ2440系列嵌入式開發(fā)板,核心板部分原理圖如圖5所示。核心板模塊是S3C2440,S3C2440是三星公司推出的一款功能強大,功耗低的ARM9嵌入式CPU,應(yīng)用范圍廣泛。主頻400 MHz,觸摸屏使用次數(shù)可達到10萬次。
為實現(xiàn)分析控制器與汽車BCM的連接和信號上下傳輸,根據(jù)實際應(yīng)用情況,系統(tǒng)設(shè)計了接口電路板。由于汽車BCM上的元器件和輸入輸出端口較多,而控制開發(fā)板的IO口較少,所以接口板起到一個橋梁作用。系統(tǒng)采用74hc573來擴展應(yīng)用端口,另外接口板上還設(shè)計了大量的負載,比如LED燈、蜂鳴器、大功率電阻等。出于自動檢測系統(tǒng)的通用性考慮,接口板上還預(yù)留了一些輸入輸出端口作為以后開發(fā)擴展使用。
整個接口板元器件繁多、布線難度相對比較大,其原理如圖7所示。
4 結(jié)束語
隨著汽車安全性和舒適性的提高,進而促進了汽車BCM生產(chǎn)行業(yè)的發(fā)展,所以具有高效、準確、廉價性能的汽車BCM自動檢測系統(tǒng)的設(shè)計是發(fā)展趨勢。
設(shè)計是在嵌入式Linux操作系統(tǒng)下,通過Qtopia搭建控制界面而完成的一套自動檢測系統(tǒng)。其特點是功能強大、功耗低、成本小,并且易于開發(fā)新的控制系統(tǒng),升級空間比較大,今后可以根據(jù)需要進一步完善測試功能。汽車BCM故障檢測系統(tǒng)也將朝著更方便、準確、通用的方向發(fā)展。