基于ARM和Linux平台的移动视频监控小车研制研究
2017-04-15陈国俊唐学麒吴余万
陈国俊+唐学麒+吴余万
摘要:该文设计一种基于Linux平台和ARM的移动视频監控小车。介绍了移动视频监控小车的系统总体结构、软件设计与硬件设计。主控器选用ARM9系列S3C2440作为处理器,电机驱动芯片选择L298N,电机驱动器选择AVR单片机ATmega16L作为处理器,实现控制小车的转向与速度;ARM9采用Linux操作系统。在整机运行和调试表明,移动视频监控小车达成了图像采集、温度探测、无线通信等功能。
关键词:视频监控;移动小车;嵌入式系统;ARM;Linux
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)34-0081-03
随着科技在不断地发展,特别是在网络与系统方面,取得了长足进步,嵌入式系统与因特网的结合成为物联网、大数据时代中的发展骨干。嵌入式技术日益成熟的同时,基于嵌入式技术的研究逐渐与日常生活紧密联系起来,基于网络远程控制视频监控可移动小车成为目前人们关注的焦点,其在各行各业中都具有广泛的应用前景。
1 系统总体结构及硬件平台设计
1.1 系统总体结构的框架
移动视频监控小车与PC机之间可以利用无线网络相互连接,通过采用无线网卡及无线路由器将移动视频监控小车获取的信息传递给PC机,然后通过PC机的分析处理,将小车获取的画面转换成视频影像,展示在PC上。系统的结构框架如图1所示。
1.2 设计硬件控制系统
以移动视频监控小车为系统核心部分,主要响应来自PC机的视频采集数据相关指令,比如采集动作指令、信息传输指令、小车控制指令等。本次研究以四轮小车作为移动小车的本体,并在小车上搭载S3C2440开发板,构成小车整体框架,再结合移动电源、USB摄像头、USB无线网卡、直流电机、电机控制模块等有机结合,共同形成小车的功能系统。其中,电机控制模块组成如图2所示。
1.2.1 主控制板
选择适合的RAM、FLASH以及CPU等,这对应用程序和操作系统的运行都很重要。本文中选择ARM 9 S3C2440处理器作为主控制板。
1.2.2 存储器系统
在主控制板上所用到的存储器主要有FLASH与SDRAM这两种。在嵌入式系统中内存主要是用SDRAM,它的特点是价格便宜、运行速度快以及存储量大。对系统初始化后,将应用程序复制到SDRAM当中运行,从而提升程序的运行速度。在本系统中以并接方式将2片SDRAM组成64M的SDRAM,数据的宽度是32位。在本系统中用到的FLASH主要是NAND与NOR这2种,去其中NAND FLASH具有改写速度快和容量较大的特点,,适合用于存储大量的数据。而其中采用的NOR FLASH,特点突出,即可将编译好二进制程序文件置入芯片中,执行过程会避免程序向RAM中复制的过程。
1.2.3 以太网接口模块
网卡芯片型号选择DM9000。它是台湾生产的,内部集成有媒体访问控制协议MAC,并且也有10/100M物理接口收发器PHY,这一芯片存在16k大容量的FIFO,同时具有4路多功能GPIO。最大支持3.3V电压和5V的输入电压,同时能通过其他方式对内部存储数据进行操作。它拥有16K大容量FIFO与4路多功能的GPIO。它可以同时支持3.3V的输出电压和5V的输入电压,并可以使用多种方式对其内部存储器进行数据操作, DM9000网卡芯片之所以应用广泛,主要与其优秀的通信能力存在直接关系,且其更便于开发,较少开发的周期。
1.2.4 电机驱动模块
电机驱动器选择AVR单片机ATmega16L作为处理器,其控制芯片采用L298N,它可以驱动步进电机或直流电机,其工作电流大,工作电压高,最大瞬间输出电流为3A,最高工作电压可达46V,L298N的内部集成了2个H桥式驱动器,驱动步进电机会置留电机很方便。它提供了2个使能控制端和4个信号引脚,通过逻辑电平来对5个信号控制引脚进行控制。利用两两并接方式将4个直流电机连接到L298N模块上。(图2为L298N模块电路原理)
在图2中的M2与M1分别连接到小车上的4个电机,控制电平接到IN1,IN2, IN3, IN4上,这样就能通过调整GPIO口的电平高低来控制M1,M2端所连接的直流电机。
2 搭建嵌入式软件开发平台
2.1 建立交叉编译环境
交叉编译是常用的一种程序编译方式,利用宿主机进行程序的交叉编译,然后将目标代码发送至目标机,形成二进制程序文件,并在嵌入式平台系统中运行,实现程序的功能。这一过程可看作一个交叉编译的环境,如图3所示。
交叉编译工具链需要在编译之前安装到宿主机上,这种工具链通过应用程序与交叉编译的系统内核实现程序的运行。把所需程序代码在PC机上编写好,然后经arai-linux-gcc编译器将程序翻译成艾玛,并在设计好的目标机小车上运行。
2.2 建立TFTP和NFS辅助开发环境
在嵌入式系统的开发中简单文件传输协议(TFTP)和网络文件系统(NFS)是很实用的辅助开发工具,它们可以在很大程度上的提高开发效率。NFS技术通过网络可以在不同机器之间来实现文件共享。嵌入式产品的开发与调试往往会用到NFS技术,该技术的应用能够实现目标平台的文件系统构建,并利用网络与宿主机端连接,形成文件共享,并快速修改文件系统的内容,使产品开发效率得到提升。TFTP使属于PC机上的工作软件,要提供对于开发板的主要映像文件的下载工作,例如:内核映像等。其方便高效并且下载的速度快。
2.3 引导加载程序的移植
引导加载程序(Bootloader)在操作系统的内核中启动前加载,这段小程序主要是将硬件设备初始化,为系统启动创造核实的软件环境,使系统进入启动状态。
在嵌入式系统开发阶段,引导加载程序具有较多的功能,通常在引導加载程序引导之后,操作系统不会直接运行,而是会进入到人机交互界面,系统的行为由开发者来决定,这时可执行烧写FLASH,运行操作系统、载入内核等功能。
2.4 Linux内核的配置与裁剪
操作系统的移植,主要是针对硬件平台系统,对系统中的配置加以修改,确保配置能够满足运行平台的基本需求,确保系统顺利运行。在Linux系统的内核模块化结构上,利用增添和减少内核模块方式来实现对内核的裁剪。其本质就是一句软硬件平台需求来实现内核中功能的需求,这种裁剪方式能够使内核容量做出适当调整,从而提升系统内核的运行效率。结合本次研究中软硬件平台需求,编译并配置内核文件。因内核配置项相对繁杂,需要对多方面加强注意。
首先,做好内核云代码植入的准备工作,进入源代码的目录,在终端中执行makedistclean命令,然后在执行make menuconfig ARCH=arm指令,将会弹出图文化的配置界面。因本系统中需要用到摄像头和无线网卡,因此在linux内核配置时,应选上对无线网卡与摄像头的驱动支持,若摄像头与无线网卡在内核中存在支持项,因此可直接执行以下程序代码:
Dewice Drivers-->Network device support -->Wireless LAN -- > WirelessLAN(IEEE 802.1 l)-->Ralink driver support
摄像头的使用需要调用摄像头驱动程序,其内核支持配置如下:
Dewice Drivers-->Multiinedia support -->Video capture adapters -->V4L USB devices(如图5所示)
2.5 制作根文件系统
在本文中嵌入式根文件系统采用的是YAFFS2,主要是因其具有占用内存小,运行速度快的优势,对于NAND FLASH运行的支持效果突出。制作流程如下:
1) 构建根文件系统目录,指令内容如下:
mkdir rootfs,cdrootfs,mkdir bin dev etc lib proc sbin sys usr mnt tmp var,mkdir usr/bin usr/bin usr/lib usr/sbin lib/modules.
2)完成根目录文系统目录后,建立设备文件,执行指令如下:
cd /dev
mknod -m 666 console c 5 1
mknod -m 666 console c 1 3
3)对内核模块进行安转与编译,通过输入下方指令,进入Linux-2.6.38内核目录当中:
make modules ARCH=ARM CROSS_COMPILE=ann-linux-
make modules ARCH=ARM IN STALL_MOD_P ATH=/home/rootfs
4)对Busybox进行配置编译安装。其一,下载busybox源码,本次研究的系统源码版本为1.1.2版;其二,在系统执行makememiconfig指令时,按照整实际的需求实现图文化配置;其三,在执行程序代码make modules ARCH=ARM CROSS_COMPILE=arm-Umix-时,需要编译并安装make install文件。
5)制作YAFFS2的根文件系统。首先下载安装制作YAFFS2文件系统工具mkyaffsimgae,输入mkyaffsimage rootfs rootfs.img指令,这样完成可YAFFS2根文件系统的制作。
利用引导加载程序把根文件系统镜像与Linux内核烧写进开发板,这样就完成了搭建软件开发平台的全部工作。
3 总结
本文研发了一款具有实时视频监控和人工遥控功能的小车,它利用无线网络发送图像或者数据给PC 机,然后PC 机上会显示出准确的温度、距离数据,清晰的标志物图片。移动视频监控小车不仅能用于仓库监控,也可作为楼宇场合的视频监控工具。同时,这种小车因性能与体积的优势,能够在恶劣环境下使用,可代替人来完成信息采集工作,比如应用于毒气泄漏信息采集、矿井井下信息采集等恶劣的环境中。这种小车的应用与研究,将便于实现远程监控目标环境,对于探险、安防及智能楼宇建设等领域都存在较好的发展前景。
参考文献:
[1] 张光南. 基于ARM9的嵌入式无线视频监控小车设计[J]. 宝鸡文理学院学报:自然科学版, 2014, 34(1):59-61.
[2] 黄倩, 闵华松. 基于ARM的移动视频监控系统[J]. 现代电子技术, 2010, 33(1):148-152.
[3] 李昶, 翟开元. 基于ARM-Linux的多端口移动监测系统设计[J]. 信息技术, 2011(5):139-141.
[4] 王宏志, 宇皓林. 基于ARM-Linux远程视频监控系统的设计[J]. 吉林大学学报理学版, 2014(1):103-107.
[5] 任克强, 刘苏, 谢斌. 基于ARM11和Linux的网络视频监控系统[J]. 电视技术, 2014, 38(5):156-159.
[6] 杜伟龙, 曹江涛. 基于ARM-Linux无线视频监控系统的设计[J]. 测控技术, 2015, 34(3):109-112.
[7] 董雷刚, 崔晓微, 张丹,等. 基于ARM+LINUX的视频监控系统的设计[J]. 计算机光盘软件与应用, 2014(3):268-268.