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