基于嵌入式计算机系统的数字视频监控系统的开发研究.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:5 大小:254KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于嵌入式计算机系统的数字视频监控系统的开发研究.pdf

基于嵌入式计算机系统的数字视频监控系统的开发研究.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

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