基于嵌入式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故障检测系统也将朝着更方便、准确、通用的方向发展。