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