Support for console on AMBA serial port
对网卡必须要有以下的内核配置选项:
*)Ethernet (10 or 100M)
Generic Media independent Interface device support
SMC 91C9x/91Clxxx support
串口驱动程序位于源码树的///drivers/serial/amba.c,网卡驱动程序位于linux/drivers/net/ann/smc9lx.c和linux/drivers/net/arm/smc9lx.h。网卡的Memory map要比串口的简单。
2. USB系统的配置
要启用USB系统,首先进入USB support一节并启用Support for USB选项(对应模块为usbcore.o)。接着,需要选择USB主控制器驱动程序。选项是EHCI(对应模块为ehci-hcd.o)、UHCI(对应模块为usb-uhci.o)和OHCI(对应模块为usb-ohci.o )。
每块支持插入USB设备的主板都需要有USB主机控制器芯片。这个特别的芯片与插入系统的USB设备进行交互操作,并负责处理允许USB设备与系统其他部分通信所必需的所有低层次细节。
启用了USB support和USB主机控制器驱动程序后,接下来应该启用Preliminary USB devicefilesystem,然后启用USB外围设备的驱动程序。例如,为了启用对USB摄像头的支持,应该启用USB Camera support。
一旦用新的内核重新引导后,目录//proclbus/usb下应该有相应的USB设备信息。如若没有信息,应输入以下命令,将USB设备文件手动挂装到//proc/bus/usb。
#mount-t usbdevfs none /proc/bus/usb
3. 摄像头
本车载终端使用cam301p摄像头,所以,在配制Linux系统内核时要选择cam301p这一项。
Multimedia devices--->
<*>Video For Linux
Video For Linux--->
V4L information in proc filesystem
USB support--->
<*>USB cam301p Camera support
编译新内核
配置好内核后,进入//usr/src/linux-2.4.18目录下执行以下步骤:
1. $make dep,以正确设置所有的依赖关系。
2. $make clean,清除所有己存在的目标文件。如果忘记做这一步,生成的内核将会非常庞大。
3. $make zImage,生成一个经过压缩的内核。
4. 运行make modules和make modules_install。
5. make install。
一旦为目标系统编译了内核,通过使用引导装载程序(bootloader),内核就被装入到目标系统的内存。通过使用串口,引导装载程序与主机通信,将内核传送到目标机的DRAM中。将内核完全装入目标机后,引导装载程序将控制权交给内核。
图像报警技术
图像报警是系统的关键技术,也是系统的难点,通过对监视图像的分析和控制,实现报警和警情处理。该技术中融合了传感器、数字化处理、摄像与图像处理技术。报警流程图如图2所示。
图2 报警流程图
由于传感器是一种微弱信号检测设备,很容易受外界因素的影响而导致误报警,有些通过用户的努力是可以避免的;有些从原理上讲是不可以避免的,如小动物和电磁波干扰引起的误报警。为了尽量降低误报率,该系统采用了一种数字化处理技术,即对模拟信号直接进行数字化处理,通过对各种入侵情况和干扰情况的综合分析,在MCU上预先设定报警阈值。经传感器采集到的信号送至MCU处理,超过报警阈值时,MCU启动报警;在报警阈值以下则判为干扰信号,不报警。
结语
本设计以嵌入式系统为平台,结合传感器、数据采集、图像处理和无线通信技术实现了对汽车的远程监控和防盗功能,有效减少了汽车报警系统的误报。在理论和实践上实现了对汽车全天候的图像监控。由于受网络状态的影响,报警信息可能会有延迟,随着网络和通信技术的发展,相信这些问题都会得到完美的解决。■