《基于DSP_ARM的双核结构数字视频监控系统设计.pdf》由会员分享,可在线阅读,更多相关《基于DSP_ARM的双核结构数字视频监控系统设计.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第30卷 第2期 吉首大学学报(自然科学版)Vol.30No.22009年3月Journal of Jishou University(Natural Science Edition)Mar.2009文章编号:1007-2985(2009)02-0058-05基于DSP+ARM的双核结构数字视频监控系统设计3樊晓兵(吉首大学物理科学与信息工程学院,湖南 吉首 416000)摘 要:数字视频监控系统以其直观、方便和信息内容丰富的特点而被广泛应用,笔者采用DSP+ARM双核结构,选用TMS320DM642为图像采集处理,AT91RM9200为实时控制,DSP通过CCD摄像头对特定的区域采集视频图
2、像,并由视频解码芯片进行视频解码,处理后的数字视频信号由DSP通过视频运动检测算法进行图像处理,异常情况时则立刻由DSP向ARM施加中断信号,并将识别处理后的结果全部发送过去.ARM对DSP图像采集进行实时控制,并配合DSP将图像处理的结果显示出来,在恰当的时机触发外部控制器,从而实现一定的对外控制功能.实验验证:该系统稳定性、可靠性、灵活性都得到了增强.关键词:DSP+ARM;嵌入式系统;双核结构中图分类号:TN919.8文献标识码:A随着视频编解码技术、计算机多媒体技术、数字信号处理技术的发展,嵌入式视频监控产品正从模拟化向数字化、网络化的方向发展,并在科学研究、工农业生产、交通运输、资源
3、的遥感探测、医疗卫生、空间探测、航天探测等各个领域内应用越来越广泛,尤其是在航天航空和现代战争领域,视频监控技术极为重要.在实际的工程应用中,监控系统基本上不停机工作的,因此系统除了对算法本身有很高要求以外,视频信号处理的速度和可靠性是至关重要的,而超大规模集成电路和嵌入式软硬件技术的迅猛发展,为解决该问题提供了的新设计思路.由于功能单一,只要算法选择正确,系统的实时性就可以得到保证,而且控制功能较PC系统容易实现且更为强大.1国内产品大多是在外来芯片基础上开发视频采集压缩卡,或在现有的视频采集压缩卡上开发监控软件系统,然后组成监控系统.基于PC的视频监控系统终端功能较强,便于现场操作,但稳定
4、性不好,视频前端较为复杂,可靠性不高.虽然嵌入式系统的图像处理功能还不能完全取代传统的计算机,但是随着嵌入式微处理器的迅速发展,其图像处理能力正在不断地提高,同时嵌入式系统具有体积小、低功耗、低成本等特点,可以有效地克服传统计算机的缺点,因此嵌入式视频监控系统的研究和嵌入式视频监控系统向微型化、网络化、智能化发展具有重要的意义.1 嵌入式系统原理嵌入式系统以应用为中心,以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统2,是先进的计算机技术、半导体技术、电子技术和各个行业的具体应用相结合后的产物嵌入式计算机系统与商用家用计算机一样都由软件、硬件和
5、操作系统构成,它一般并不独立使用,而是作为板级模块或者芯片存在于应用系统中,承担中央控制及科学计算任务.作为一类特殊的计算 机系统,嵌入式系统通常包含有3个部分:嵌入式硬件平台、嵌入式操作系统、嵌入式应用软件.随3收稿日期:2009-02-10基金项目:湖南省教育厅科学研究项目(08C714)作者简介:樊晓兵(1966-),男(土家族),湖南永顺人,吉首大学物理科学与信息工程学院讲师,主要从事电子电路与系统教学研究.图1 嵌入式系统结构着嵌入式越来越复杂的应用,如何简洁有效地使嵌入式系统能够应用于各种不同的应用环境,是嵌入式系统发展中必须解决的关键问题.3经过不断的发展,3层结构逐步演化成为4
6、层结构(如图1所示),增加的中间层次为硬件抽象层,是一个介于硬件与软件之间的中间层次,该层通过特定的上层接口与操作系统进行交互,实现操作系统对硬件的直接操作,硬件抽象层的引入大大推动了嵌入式操作系统的通用化.嵌入式微处理器是嵌入式系统的核心,主要完成内存管理、任务调度、任务间通信和同步、中断和异步事件处理、系统时钟管理等功能4.对实时多任务有很强的支持能力,有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度,且具有功能很强的存储区保护功能,避免在嵌入式软件模块之间出现错误的交叉作用4.大多数单片机MIPS值低,缺少协议处理功能,外接Ethernet时实现TCP/IP协议困
7、难.目前ARM系列、Motorola系列、MIPS系列、SH/HP2RISC等系列CPU性能价格比良好、软件资源丰富、开发平台简单.不足之处是单个芯片运算处理能力相对较弱,尤其对于视频数据的处理,光依靠ARM或者DSP芯片,很难做到控制和计算能力都好.笔者采用DSP+ARM构架的设计思想,ARM主要负责系统控制功能,DSP主要负责高密度数据处理.2 系统硬件设计图2 基于双核的嵌入式视频开发平台框图该系统是基于双核处理器的嵌入式系统开发平台,其中包括硬件平台和软件平台,总体结构如图2所示.2.1 DSP与TMS320DM642数字处理器(Digital Signal Processor,简称D
8、SP)是针对数字信号处理需求而设计的具有特殊结构的微处理器,其内部采用程序总线和数据总线分开的哈佛结构,有专门的硬件乘法器,广泛采用流水线操作,能提供特殊的数字信号处理指令,快速地实现各种所需数值信号处理算法.TI作为DSP生厂商的 代 表,己 成 功 推 出TMS320C2000系 列、TMS320C5000系列、TMS320C6000系列.其中TMS320C6000系列DSP芯片是TI公司在1997年开发的一种新型DSP芯片,包括TMS320C62x、TMS320C64x这2个定点系列和TMS320C67x浮点系列3大类,TMS320DM642是TMS320C6000系列一员,它采用C64
9、x内核,具有先进的VLIW结构.2.2 RAM与A T91RM9200A T9lRM9200是ATMEL公司针对系统控制以及通信领域推出的基于ARM920T内核(16/32 bitRISC CPU)的微型控制器,它是完全围绕ARM920T内核构建的系统,有丰富的系统与应用外设及标准的接口,从而为低功耗、低成本、高性能等计算机广泛领域应用提供单芯片解决方案5.AT91RM9200集成了许多标准接口控制器,包括USB2.0设备端口和以太网媒体访问控制器(MAC)等,同时提供一系列符合工业标准的外设,可在音频、网络、Flash卡、红外线及智能卡中使用,还带有2个多媒体卡接口控制器(兼容Multime
10、dia卡和SD卡),3个同步串行口SSC控制器,4个通用同步/异步串行端口UASRT,1个主/从串行设备接口SPI.为完善性能,AT91RM9200还包括J TAG2ICE和专用UART调试通道(DBGU)等一系列调试功能.2.3系统硬件设计结构该系统的硬件系统采用模块化设计,分为控制部分ARM子系统、数据采集部分DSP子系统2部分.95第2期 樊晓兵:基于DSP+ARM的双核结构数字视频监控系统设计图3 系统硬件设计结构框图犃 犚 犕子系统主要有存储模块(硬盘、NOR、NAND、CF卡等)、10/100M自适应以太网物理层电路模块、USB接口模块;DSP子系统主要有视频采集模块、回放模块、音
11、频编解码模块、存储模块、CPLD逻辑控制模块等,硬件总体设计结构框图如图3所示.2.3.1 DSP子系统(1)外部存储器接口(EMIF)模块.在该系统中,程序存储器主要存储主应用程序和程序中使用的图像数据,为了提高系统的扩展性且考虑到图像所占用的存储空间较大,在设计中,将主应用程序和图像数据分开存储.Flash存储器具有体积小,耗电省,非易失存储的特性,因此该系统将主应用程序放在主ROM区,使用Flash芯片.在扩展ROM区,使用容量较大的SDRAM芯片,存储程序中需要使用的图像和声音数据.(2)视频模块.TMS320DM642上集成了3个Video Port(简称VP口),作为输入或输出口,
12、均可支持8/10位的ITU2RBT.656格式、16/20位的Y/C格式、8/l0/16/20位的raw格式等多种视频格式.系统中,每个视频口由20位数据线、2个时钟信号VPxCL K0和VPxCL K1,3个控制信号VPxCTL0,VPxCTL1和VPxCTL2组成.时钟信号作为视频源的时钟信号输入/输出,控制信号作为视频源的同步信号输入/输出(行同步、帧同步、场标志,视频采样使能等).(3)音频模块.()音频时钟电路.在有声视频监控系统中,需要确保声音和视频输出同步,因此设计中采用了音频时钟芯片PLL 1708,这是一款3.3 V双PLL的多时钟发生器,202PinSSOP封装.它所需的主
13、时钟为27 MHz,来自于视频编码芯片TVP5150A的SCL K引脚,这就使得该芯片的输出频率与视频的频率是同步的.()音频解码电路.DM642具有一个多通道音频串口McASP,该串口由收发2个部分组成,对于不同的数据格式、单独的主时钟、位时钟和帧同步,这2个部分可以完全独立地工作,并且接收和发送可以同步进行.McASP模块包括一组16个移位寄存器,可配置成接收数据、发送数据和GPIO模式.MCASP含有8个串行收/发引脚AXR7:0,所有接收引脚公用接收同步AFSR和时钟ACL KR,A HCL KR信号,所有发送引脚公用发送帧同步AFSX和时钟ACL KX,AHCL KX信号,并提供静音
14、控制.系统采用了2路模拟音频输 入和2路模拟音频输出,音频 编/解码器采用TLV320AIC23B,且支持麦克风/立体声模拟输入/输出,数字音频数据流输出/输入.2.3.2 ARM子系统(1)存储模块.()SDRAM存储器接口,SDRAM是操作系统程序运行的空间,同时又是数据缓存的空间.在系统启动的时候,Boot Loader程序把系统程序从Flash加载到SDRAM中执行.在 该 系 统 中 的SDRAM系 统 选 用2片Hynix公 司 开 发 的16M16bit数 据 总 线 的HY57V281620HCT,该芯片的控制信号直接和A T9lRM9200的SDRAM接口的控制信号线相连.(
15、)Flash存储器接口,为了将Boot Loader和嵌入式操作系统的可执行内核移植到终端上,使得终端能够脱离PC机实现自主的运行,笔者使用Intel公司推出的8M16bit闪存S29GL128M.(2)以太网物理层接图4HPI接口连接示意图口电路.该电路是本系统的重要部分,属于以太网物理层接口电路,由于AT9lRM9200处理器本身是一款工 业 级 处 理 器,所 以 这 里 也 选 用 工 业 级 的LXT972A芯片和网络隔离变压器PULSE68515,从而可以保证性能以适应较高的开发应用环境,可以通过网络接口快速下载代码,实现操作系统的多方式启动等.2.3.3 ARM与DSP通信接口设
16、计 由于本系统的控制部分、数据采集部分分开设计,所以存在二者如何完成数据通信的问题.笔者在此系统利用DM642的HPI接口完成ARM与DSP的数据通信.HPI是06吉首大学学报(自然科学版)第30卷德州仪器(TI)公司在新一代、高性能DSP芯片上配置的与主机进行通信的主机接口.它与主机之间能实现并行、高速的数据传输.HPI主机由以下5个部分组成:HPI存储器(DARAM);HPI地址寄存器(HPIA);HPI数据锁存器(HPID);HPI控制寄存器(HPIC);HPI控制逻辑.图4是AT91RM9200与DM642数据传输接口连接示意图.由于DM642的HPI接口与PCI总线、EMAC是复用的
17、,所以应将管脚PCIEN、EMACEN接为低电平.由于DM642的HPI有322bit,162bit模式,但AT91RM9200只有在片选NCSI空间为322bit(SDRAM占用),在此所以在此将HD5接下拉电阻,采用162bit模式.3 软件设计3.1 ARM子系统的Boot Loader程序设计对于PC机,其开机后的初始化处理器配置、硬件初始化等操作是由BIOS完成的,但对于嵌入式系统来说,出于经济方面的考虑一般不配置BIOS,因此必须自行编写完成这些程序,也就是所需要的开机程图5ARM Linux启动流程序.在嵌入式系统中,启动时用于完成初始化操作的这段代码被称为Boot Loader
18、程序,整个系统的加载启动任务就完全由Boot Loader来完成.通常BootLoader依赖于硬件而实现的.因此,在嵌入式世界里建立一个通用的Boot Loader几乎是不可能的.尽管如此,仍然可以对Boot Loader归纳出一些通用的概念来完成特定的Boot Loader设计与实现,通过Boot Loader可以初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境创造一个合适的状态,以便为最终调用操作系统内核准备好环境,图5是ARM Linux启动流程.在本系统中由于AT91RM9200片内RAM为16k字节,把整个Boot Loader程序分为Boot(stagel)和Load
19、er(stage2)2部分,依赖于CPU体系结构的代码boot.bin文件烧写在Flash的0地址处,基本都用汇编语言来实现.Boot Loader的Stagel:硬件设备初始化;为加载Boot Loader的Stage2准备RAM空间;拷贝Boot Loader的Stage2到RAM空间中;设置好堆栈;跳转到Stage2的C入口点.Boot Loader的Stage2代码通常用C语言来实现,以实现更复杂的功能和取得更好的代码可读性和可移植性.Boot Load2er的stage2:初始化本阶段要使用到的硬件设备;检测系统内存映射;将kernel映像和根文件系统映像从Flash上读到RAM空间
20、中;为内核设置启动参数;调用内核.3.2 ARM的嵌入式操作系统嵌入式操作系统是一种实时的、支持嵌入式系统应用的操作系统软件,通常包括实时多任务系统内核、与硬件相关的底层驱动软件、设备驱动接口、网络通信协议、图形界面、标准化浏览器Browser等,是嵌入式系统(包括硬、软件系统)中的核心组成部分,其主要包括基本内核(Basic)、扩展内核(Extended)、应用编程接口(API)、设备驱动程序接口(DDI)4大部分.Linux是最受欢迎的自由电脑操作系统内核,是一套免费使用和自由传播的类UNIX操作系统.目前在嵌入式系统里基于ARM微核的嵌入式处理器己经成为市场主流,随着ARM技术的广泛应用
21、,建立面向ARM构架的嵌入式操作系统也就成为当前研究的热点问题.嵌入式操作系统是嵌入式系统软硬件资源的控制中心,它以尽量合理有效的方法组织多个用户共享嵌入式系统的各种资源.针对不同的硬件平台,一般需要经过移植操作系统才能正常工作.完成Linux在AT9lRM9200平台上的移植,主要包括以下步骤:下载内核源码,建立交叉编译环境及以压缩或非压缩方式配置和编译内核.其文件系统的建立及程序开发、编译均在宿主机上完成,再通过串口、网口或J TAG烧写至目标板,本设计中笔者通过网口对Linux2.6.14内核进行开发板上移植.3.3 HPI驱动程序设计由于系统所用到的某些硬件设备没有相应的设备驱动程序,
22、因此需要编写它们的驱动程序,几乎每种16第2期 樊晓兵:基于DSP+ARM的双核结构数字视频监控系统设计系统操作最后都要映射到物理设备上.除了处理器,内存和少数其他实体外,几乎所有设备的控制操作都由设备相关的代码来实现.内核必须为每个外部设备嵌入设备驱动程序.在Linux操作系统中,驱动程序是操作系统内核与硬件设备的直接接口,它分担了内核的一部分功能,屏蔽了硬件的细节,使用更加稳定,主要完成以下功能:对设备初始化和释放;对设备进行管理,包括实时参数设置以及提供对设备的操作接口;读取应用程序传送给设备文件的数据并回送应用程序请求的数据;检测并处理设备出现的错误.对于Linux来说有如下3种驱动程
23、序类型:字符设备;块设备;网络接口.在笔者设计的视频处理系统中,HPI通信接口被看作一个字符设备,HPI接口可用I/O端口方式,也可以用I/O存取方式.系统平台采用I/O存取方式,将HPI访问控制寄存器、数据寄存器、地址寄存器,映射到内存物理地址为0 x4000 0000开始的空间,通过访问存储器指令对HPI进行操作.HPI寄存器与地址设置以及驱动函数的实现和其他字符设备驱动程序一样,HPI设备的注册与一般的linux驱动程序一样,是通过insmod来加载驱动的,在本系统中,HPI设备的注册信息为:#define DEVICENAME“HPi”#define DEVICEMAJOR 115/3
24、HPI的主设备号 3/#define READHPI4 结语提出了采用AT9lRM9200和TMS320DM642为主体的硬件系统架构,设计出一种基于DSP+ARM嵌入式视频监控系统,采用控制模块与数据处理模块分开设计,极大提高了系统的整体性能,从而增强了灵活性,方便系统升级,ARM移植了嵌入式Linux操作系统,很好实现了的系统实时控制,DSP可以在其软件环境下很好完成高速数据处理.参考文献:1 周立功.ARM嵌入式系统基础教程M.北京:北京航天航空大学出版社,2005.2 刘 妮,王金刚.DSP主机接口与ARM的互连设计J.电子测量技术,2006,29(3):47-48.3 何剑锋,刘思松
25、,李 燕.基于工控级AT9lRM9200开发板的U2Boot移植分析J.计算机技术,2007,34(3):38-41.4 刘 淼.嵌入式系统接口设计与Linux驱动程序开发M.北京:北京航空航天大学出版社,2006.Binuclear Digiatal Video Monitoring System Design Based on DSP+ARMFAN Xiao2bing(College of Physics Science and Information Engineering,Jishou University,Jishou 416000,Hunan China)Abstract:Digi
26、tal video monitoring system is widely applied due to its intuition,convenience and colorfulinformation.The author uses DSP+ARM binuclear structure,TMS320DM642 in image acquisition andprocessing,and AT91RM9200 in real2time control.The video image of a certain area is acquired by DSPthrough CCD camera
27、,and video decoding is finished by relevant chip.The processed digital video signalsare processed by DSP through video montion detection algorithm.If there is abnormal condition,DSP willtransmit interruption signal to ARM,which performs real2time control over DSP image acquisition andhelps to show the image processing results.ARM can trigger external controller and then can achieve ex2ternal control.Experiments show that this system is stable,reliable,and feasible.Key words:DSP+ARM;inserting system;binuclear structure(责任编辑 陈炳权)26吉首大学学报(自然科学版)第30卷
限制150内