馬 超,羅文廣,陳 劍,蘇 鑫
(1.桂林電子科技大學(xué)電子工程與自動化學(xué)院,廣西桂林 541004;2.廣西工學(xué)院電子信息與控制工程系,廣西柳州 545006;3.柳州華航電器有限公司研發(fā)2部,廣西柳州 545006)
基于嵌入式Qtopia汽車BCM自動檢測系統(tǒng)設(shè)計(jì)
馬 超1,羅文廣2,陳 劍3,蘇 鑫1
(1.桂林電子科技大學(xué)電子工程與自動化學(xué)院,廣西桂林 541004;2.廣西工學(xué)院電子信息與控制工程系,廣西柳州 545006;3.柳州華航電器有限公司研發(fā)2部,廣西柳州 545006)
汽車BCM在車身功能控制系統(tǒng)中起著舉足輕重的作用,因此汽車BCM出廠前的功能檢測一直得到企業(yè)和消費(fèi)者的高度重視。目前多數(shù)企業(yè)仍使用人工測試的方法,而本次自動檢測系統(tǒng)是采用三星公司的S3C2440作為核心控制器,在嵌入式Linux系統(tǒng)下使用Qtopia應(yīng)用開發(fā)平臺搭建控制界面添加檢測控制程序,通過接口板連接汽車BCM從而實(shí)現(xiàn)自動檢測功能。
汽車BCM;嵌入式Liunx;Qtopia;自動檢測
隨著汽車行業(yè)的快速發(fā)展,越來越多的車身電子設(shè)備得到應(yīng)用。汽車BCM上的節(jié)點(diǎn)和連線也越來越多,導(dǎo)致了汽車BCM功能檢測變得更加復(fù)雜。
隨著生活水平的提高,人們對汽車功能的舒適性和安全性也提出了更高的要求。汽車BCM模塊控制著汽車上的絕大部分自動化功能,主要包括汽車的燈光、電動車窗、中央門鎖、防盜報警、電動后視鏡、電動座椅、雨刮器、安全氣囊等。在安裝使用BCM前企業(yè)就需要對汽車BCM進(jìn)行全功能檢測。由于器件繁多,傳統(tǒng)的人工檢測方法工人需要根據(jù)各個功能模塊采用手動方式逐個進(jìn)行測試,測試效率低,可靠性差。自動檢測系統(tǒng)用于生產(chǎn)檢測后不僅可以大幅降低BCM檢測儀的體積和成本,而且BCM的檢測效率也可提高4~6倍。投入使用后可為公司減少設(shè)備投資、節(jié)省人力,帶來更大經(jīng)濟(jì)效益。
圖1 汽車BCM實(shí)物圖
汽車BCM檢測時,工人通過各種開關(guān)按鍵讓BCM在模擬負(fù)載環(huán)境下,測試各個功能模塊是否存在故障。而這些開關(guān)信號可通過程序中的高低電平來代替,這給自動化測試創(chuàng)造了可行條件。該自動檢測系統(tǒng)開始工作時,中央控制器通過接口板向汽車BCM發(fā)送測試信號,然后BCM做出響應(yīng)驅(qū)動接口板上的負(fù)載,再將檢測結(jié)果傳輸?shù)狡聊徊@示。如果BCM一切功能正常,液晶顯示屏就會顯示BCM良好。而檢測過程中如果某一部分功能出現(xiàn)故障,則檢測系統(tǒng)立即停止檢測,并將故障部位顯示在液晶屏幕上提示檢測人員。另外基于嵌入式系統(tǒng)下通過Qtopia可以較為容易地開發(fā)觸摸屏控制界面,這樣工人就可以直觀地通過簡單的操作來實(shí)現(xiàn)汽車BCM功能的自動化檢測。
軟件部分是在嵌入式Redhat9Linux操作系統(tǒng)下設(shè)計(jì)的,使用Linux-2.6.30.4版本內(nèi)核、EABI_4.3.3_EmbedSky交叉編譯工具。
開發(fā)板中缺少uboot開機(jī)無法啟動,要將編寫好的uboot通過Jtag分別燒寫到開發(fā)板的Nor Flash和Nand Flash存儲器中,即可從Nor Flash或者NandFlash啟動。
下載并解壓系統(tǒng)源碼到PCLinux的/opt/EmbedSky/中,解壓命令為#tar xvfj linux-2.6.30.4tar.bz2-C/opt/EmbedSky/,再進(jìn)入內(nèi)核源碼通過修改Makefile文件中的“ARCH?=(SUBARCH)”和“CROSS_COMPILE?=”分別為“ARCH=arm”和“CROSS_COMPILE=arm-linux-”從而添加系統(tǒng)對ARM的支持。使用命令:#make menuconfig打開配置菜單界面,如圖2所示。
圖2 Linux系統(tǒng)內(nèi)核配置菜單界面
按要求配置完成以后通過命令:#make zImage進(jìn)行編譯后生成zImage鏡像,最后將其燒寫到開發(fā)板中。
打開配置單,在配置單中增加對yaffs的支持。
對各項(xiàng)配置好以后保存為.config然后編譯出鏡像來。
Qtopia是Trolltech公司為采用嵌入式Linux操作系統(tǒng)的消費(fèi)電子設(shè)備而開發(fā)的綜合應(yīng)用平臺,Qtopia包含完整的應(yīng)用層、靈活的用戶界面、窗口操作系統(tǒng)、應(yīng)用程序啟動程序以及開發(fā)框架[2]。
本系統(tǒng)檢測設(shè)計(jì)時首先是在PC機(jī)上設(shè)計(jì)、修改、調(diào)試、編譯通過以后再燒錄到開發(fā)板的。首先解壓安裝交叉編譯器EABI_4.3.3_EmbedSky.tar.bz2,然后使用#source/etc/profile命令使其生效。接著編譯PC版本的Qtopia-2.2.0,打開PC機(jī)的Linux終端然后在終端輸入執(zhí)行命令:./x86-qtopia-2.2.0-kongquerorbuild,之后就開始編譯QT。等編譯完成后在終端里輸入命令#./test-x86就打開了Qtopia的仿真界面,如圖3所示。
圖3 Qtopia仿真界面
隨后編譯ARM版本的Qtopia接著制作Qtopia2.2.0的文件系統(tǒng)后就可以進(jìn)行QT應(yīng)用程序的開發(fā)。
首先設(shè)置環(huán)境變量,然后建立QT的項(xiàng)目文件后啟動Qtdesigner開始根據(jù)實(shí)際需要設(shè)計(jì)控制界面。在設(shè)計(jì)過程中需要注意QT信號和槽的對應(yīng)關(guān)系,設(shè)計(jì)完成后保存為*.ui工程文件。通過uic軟件把建立好的工程轉(zhuǎn)換成源代碼,再添加通用的文件main.cpp文件,使用tmake中的progen軟件生成pro文件,從上面得到的pro文件再生成Makefile文件,然后制作啟動器、桌面圖標(biāo),在*.cpp文件中加入本設(shè)計(jì)系統(tǒng)對汽車BCM自動檢測的控制程序,最后進(jìn)行編譯和仿真。在ARM環(huán)境下編譯完成后將“/opt/EmbenSky/Qte/arm -qtopia/qtopia/image/opt/Qtopia/bin/”目錄下的應(yīng)用程序和在這個目錄“Qte/arm-qtopia/qtopia/image/opt/Qtopia/pics/”下的桌面圖標(biāo)以及“Qte/arm -qtopia/qtopia/image/opt/Qtopia/apps/EmbedSky”目錄下的啟動器分別放到開發(fā)板文件系統(tǒng)對應(yīng)的目錄下,編譯鏡像文件燒錄到開發(fā)板,最后重新啟動開發(fā)板后就可正常運(yùn)行了。圖4為本設(shè)計(jì)系統(tǒng)的觸摸屏控制界面。
圖4 檢測系統(tǒng)的觸摸屏控制界面
綜合考慮經(jīng)濟(jì)和性能等方面的因素,硬件控制部分本檢測系統(tǒng)選擇使用天嵌公司的TQ2440系列嵌入式開發(fā)板,核心板部分原理圖如圖5所示。核心板模塊是S3C2440,S3C2440是三星公司推出的一款功能強(qiáng)大,功耗低的ARM9嵌入式CPU,應(yīng)用范圍廣泛。主頻400 MHz,觸摸屏使用次數(shù)可達(dá)到10萬次。
圖5 S3C2440核心板部分控制原理圖
圖6 串口電路原理圖
為實(shí)現(xiàn)分析控制器與汽車BCM的連接和信號上下傳輸,根據(jù)實(shí)際應(yīng)用情況,系統(tǒng)設(shè)計(jì)了接口電路板。由于汽車BCM上的元器件和輸入輸出端口較多,而控制開發(fā)板的IO口較少,所以接口板起到一個橋梁作用。系統(tǒng)采用74hc573來擴(kuò)展應(yīng)用端口,另外接口板上還設(shè)計(jì)了大量的負(fù)載,比如LED燈、蜂鳴器、大功率電阻等。出于自動檢測系統(tǒng)的通用性考慮,接口板上還預(yù)留了一些輸入輸出端口作為以后開發(fā)擴(kuò)展使用。整個接口板元器件繁多、布線難度相對比較大,其原理如圖7所示。
圖7 檢測系統(tǒng)接口板原理圖
隨著汽車安全性和舒適性的提高,進(jìn)而促進(jìn)了汽車BCM生產(chǎn)行業(yè)的發(fā)展,所以具有高效、準(zhǔn)確、廉價性能的汽車BCM自動檢測系統(tǒng)的設(shè)計(jì)是發(fā)展趨勢。
設(shè)計(jì)是在嵌入式Linux操作系統(tǒng)下,通過Qtopia搭建控制界面而完成的一套自動檢測系統(tǒng)。其特點(diǎn)是功能強(qiáng)大、功耗低、成本小,并且易于開發(fā)新的控制系統(tǒng),升級空間比較大,今后可以根據(jù)需要進(jìn)一步完善測試功能。汽車BCM故障檢測系統(tǒng)也將朝著更方便、準(zhǔn)確、通用的方向發(fā)展。
[1]孔勁松.汽車儀表自動測試儀的研究與開發(fā)[D].大連:大連理工大學(xué),2002.
[2]張永.基于ARM9的嵌入式Linux開發(fā)平臺構(gòu)建與應(yīng)用[D].天津:天津師范大學(xué),2006.
[3]韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008.
[4]梁柱華,顧新.嵌入式Linux實(shí)時性的研究[J].電子科技,2005,18(11):59 -62,66.
[5]鄭洪剛.基于ARM9和Linux操作系統(tǒng)的嵌入式應(yīng)用開發(fā)[D].西安:西安科技大學(xué),2007.
[6]辛照華,田玉敏.嵌入式Linux系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子科技,2008,21(5):77-79.
Design of the Car's BCM Automatic Test System Based on Embedded Qtopia
MA Chao1,LUO Wenguang2,CHEN Jian3,SU Xin1
(1.School of Electronic Engineering and Robotization,Gulin University of Electronic Technology,Gulin 541004,China;2.Department of Electronic Information and Control Engineering,Guangxi University of Technology,Liuzhou 545006,China;3.No.2 Research Department,Huahang Electric Equipment Co.,Ltd,Liuzhou 545006,China)
The car's BCM plays a pivotal role in the body function control system.Therefore,both the enterprise and the consumer attach great importance to the detection of car's BCM before they leave the factory.Most of current enterprises still use manual testing methods.This test system uses samsung's S3C2440 as the core controller,uses the Qtopia application development platform control interface under the embedded Linux system to add a testing and control program,and realizes automatic detection through the interface board which connects car's BCM.
car BCM;ARM Linux;Qtopia;automatic detection
TP273
A
1007-7820(2012)06-027-04
2011-12-23
馬超(1986—),男,碩士研究生。研究方向:信號處理與信息集成系統(tǒng)。羅文廣(1967—),男,教授,碩士生導(dǎo)師。研究方向:自動檢測技術(shù),智能控制。陳劍(1976—),男,工程師。研究方向:汽車電子。蘇鑫(1984—),男,碩士研究生。研究方向:光電檢測。