欢迎来到天天文库
浏览记录
ID:33880350
大小:254.44 KB
页数:5页
时间:2019-02-28
《基于嵌入式计算机系统的数字视频监控系统的开发研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、http://www.paper.edu.cn基于嵌入式计算机系统的数字视频监控系统的开发研究马枫,张庆英,江霞武汉理工大学物流工程学院湖北武汉(430063)摘要:数字视频监控设备以其较好的图像质量和越来越低的价格,被各个领域广泛采用。本文介绍了基于市场上主流芯片的数字监控设备的一般开发过程,其中一些主要的细节问题,以及其他扩展应用。关键词:ARMDSP视频监控系统ARMLinux1系统设计平台概述1.1硬件平台选择数字视频监控系统包括,摄像头、A/D转换、逻辑电路、系统控制、视频压缩等环节。其中摄像头、A/D转换、逻辑电路转换等设备伸缩性不大,重点在于系统控制和视频压缩的选择。由于数字视频
2、监控系统对网络功能的需求,常用于控制的微控制器是不可选择的,需要新的对网络支持较好的嵌入式处理器。其中,ARM系列占据了75%左右的市场份额,因此控制芯片的选择基本上是不同型号ARM芯片的选择。目前可以选择的系统如下:(1)ARM芯片与DSP共同工作的方式。以ARM7TDMI或者ARM920T等中低端ARM芯片作为系统的主控制芯片,以C6000系列DSP芯片为视频压缩处理器。这样弥补了DSP在控制方面的[1]不足,也最大限度的降低了成本,得到了广泛采用。需要特别提出DSP,根据其设计也能单独完成视频系统全部功能,但其网络应用并不稳定。并且该处理器指令集相当特殊,大多数成熟嵌入式操作系统都不能在
3、其上运行;所以,单独以DSP作为主芯片需要编写RTOS,程序移植性差。因此,DSP一般被作为协处理器,专门处理复杂运算,如FFT、卷积等等。(2)某些高端ARM芯片的单独工作,如XSCALE(PXA270)等,可以独立作为全部系统应用。该类芯片具有很高的主频,和专门对应多媒体应用的指令集(MMX),可以同时完成多媒体和控制功能;部分高端ARM芯片内置了2个核,用以处理大负荷运算。该类产品开发相对容易,但成本太高,一般仅出现PDA和高端便携多媒体设备中。(3)另外,TI等DSP厂商最新产品中将ARM内核、DSP核集成在一起,成为了一片多核的芯片,即性能卓越的OMAP系列,可以认为是ARM+DSP
4、的延续,但其相对较高的价格,使它更多的还是采用于个人数码消费领域。下面以主流ARM+DSP方式为例,详细分析数字视频采集及压缩系统。由CCD等设备采集的模拟信号经过A/D转换器后,经过一些逻辑电路(CPLD、FPGA)后成为CIF或QCIF等未压缩的数字信号;DSP将这些数据压缩成一定的格式,如H.263、MPEG-4等,然后由ARM处理器发送到网络中。可以强调的是,整的系统的中心控制是由ARM芯片完成的,包括启动DSP处理器的启动和控制。1.2ARMLinux以及μcLinux操作系统平台为了方便应用程序的开发和移植,一般需要在嵌入式计算机系统中移植专门的操作系统。专用于嵌入式系统的操作系统
5、众多,但在人机界面、娱乐要求不高的情况下,开源操作系统Linux具有更好的经济性和实用性。其中,Linux的一些变种ARMLinux、µcLinux在嵌入式应用领域表现优良。[2]这里以ARMLinux为例介绍嵌入式系统的操作平台的建立。1.2.1交叉编译环境的建立嵌入式系统一般情况下I/O设备相当简单,并且应用专一,其应用程序并不能如通用PC系统那样在本机上编译生成;一般需要采用交叉编译的方式,即在另一台宿主机上(一般是通用PC),通-1-http://www.paper.edu.cn过特定的编译工具,编译生成在嵌入式处理器上运行的代码;再通过其他手段下载到嵌入式系统中调试运行,如JTAG、
6、网口、串口等。开发嵌入式系统上的程序,需要在开发PC上先建立交叉编译环境。对于RedHat9.0环境下,只需要下载并安装arm-linux-gcc-3.3.2.tar.gz即可。1.2.2操作系统内核准备。建立一个ARMLinux操作系统平台首先要准备Linux内核镜像,即编译好的二进制代码。这在操作系统的移植中是十分关键的一步,可参考以下过程。首先,在网络上下载Linux-kernel-2.6.5源代码包以及Linux对于ARM的补丁包,通常使用的是rmk补丁系列,这里采用的是patch-kernle-2.6.5-rmk2补丁。接着对打好补丁的内核进行适当裁减。需要说明的是,Linux内核是
7、高度模块化的,其所有的功能以模块的形式进行组织,裁减Linux即去除在设计中不需要使用的功能模块及设备驱动。大致分为两步:(1)选择内核所在的系统平台,主要针对该系统的主处理器。(2)进行模块裁减,裁减的内容,主要集中在文件系统、网络支持、设备驱动中。内核的裁减并不意味着完全地裁减,针对嵌入式应用,某些模块是必须选择上。虽然Linux内核功能模块化,但有些模块必须依赖于其他模块才可以工作,Linu
此文档下载收益归作者所有