引 言
随着人们生活水平的提高和对工作、生活环境中安全防卫需求的增长,视频监控系统近年来得到了迅速的发展。传统的基于PC机的视频监控系统多存在着诸如安装携带不便、不能在恶劣环境下使用等一些缺点,这就亟待一种全新的视频监控系统的出现。随着近年来超大规模集成电路和嵌入式软硬件技术的迅猛发展,特别是DSP、PowerPC等嵌入式芯片的出现,将嵌入式处理器应用到视频监控系统中不仅克服了上述基于PC机系统的一些缺点,而且其强大的功能加上丰富的外设接口和高度的可编程性使得视频监控的硬件和软件都更容易实现。正是由于越来越高的性价比加上体积小、成本低等独特优势,使得嵌入式芯片在视频监控领域也渐渐拥有了一席之地。
1 系统概述
文中设计的通用视频监控系统,采用TI公司2002年生产的专用多媒体芯片TMS320DM642(简称“DM642”)作为处理器,能够实现4路音视频同时采集,并支持复杂的音频视频压缩算法(如MPEG4标准),可以24小时不间断地进行有声视频的采集、回放与存储。
系统的工作过程如下:系统上电或复位后,从Flash加载程序,完成对芯片的初始化和外围硬件的配置等工作,之后便开始进行图像采集。DM642通过I2C口对系统中的其他芯片进行控制,从摄像头采集到的摸拟视频信号经过视频解码器转换为数字视频信号,送入DM642的视频通道(VP端口);同步采集到的模拟音频信号经过音频编解码器模/数转换后,送入DM642的音频通道(McASP端口)。DM642将接收到的数字视频信号和数字音频信号用MPEG4标准编码压缩,再通过DM642扩展出来的ATA接口将数据以文件的格式存储到本地硬盘,供日后调用。本系统主要由以下几个模块组成:DM642模块、存储模块、视频和音频模块、电源模块等,系统结构如图1所示。
2 DM642模块
DM642基于C64x内核,并在其基础上增加了很多外围设备和接口,因而在实际工程中的应用更为广泛和简便。本系统使用50 MHz晶振作为DsP的外部时钟输入,经过内部锁相环12倍频后产生600MHz的工作频率。DM642采用了2级缓存结构(L1和L2),大幅度提高了程序的运行性能。片内64位的EMIF(ExternalMemory Interface)接口可以与SDRAM、Flash等存储器件无缝连接,极大地方便了大量数据的搬移。更重要的是,作为一款专用视频处理芯片,DM642包括了3个专用的视频端口(VP0~vP2),用于接收、处理视频和音频数据,提高了整个系统的性能。此外,DM642自带的EMAC口以及从EMTF口扩展出来的ATA口,还为处理完成后产生的海量数据提供了存储通道。
3 视频和音频模块
设计中将DM642的VP0、VPl的A通道以及VP2的A、B通道都配置为视频采集模式,可同时采集4路视频信号。若要求进行本地回放,则将VP0端口的A通道设置为回放模式,此时最多可采集3路视频信号。另外,将VP0和VPl的B通道配置成McASP功能,用于音频处理。DM642与视频、音频编解码芯片之间的数据都经过这几个专用的端口进行传输,但是对这些芯片的控制则是通过I2C总线实现的。
3.1 视频输入部分
采用模拟摄像头进行视频数据采集,需要使用视频解码芯片将采集到的模拟数据进行数字化,然后送给DM642的视频端口进行处理。这里选用了4片TI公刊生产的TVP150A,与DM642的连接如图2所示(只给出了1个芯片的连接图)。
图2中,TVP5150A的YOUT口与DM642的VPO口直接连接,用于数据的传输。点阵时钟线和DM642上VP口的VP0_CLK相连,用于数据传输的时钟信号。DM642通过I2C总线对TVP5150A内部寄存器进行读写,达到控制该芯片的目的。
3.2 视频输出部分
设计中使用VP0的A通道进行视频回放。对采集到的数据进行回放时需要先将数字视频信号重新转化为模拟信号,才能在监视器上播放。这种转换由Philips公司生产的SAA712l来完成,视频回放部分的电路连接图如图3所示。
图3中,DM642的VP0端口向SAA7121的MP口输出BT.656格式的数字视频信号,经过SAA712l芯片内部数据管理模块分离出Y信号和Cb、CT信号;然后再送到片内相应的模/数转换模块将数字信号变换为模拟视频信号;最后由CVBS(复合视频信号)或者Y、C(S一端子信号)引脚输出。SAA712l的时钟信号LLC为27 MHz,由DM642的VP0CLKl提供,而DM642的VP0CLKl则是来自于TVP5150A的SCLK引脚,这就使得视频的采集和回放达到同步要求。DM642通过I2C接口对SAA7121芯片内部的48个寄存器进行配置,实现对该芯片的控制。
3.3 音频模块
系统中的音频编解码芯片采用的是TI公司的TLV320AIC23B芯片,它包含3个接口:①串行控制接口,与DM642的I2C接口连接;②模拟音频接口,用于接收来自MICIN/LINEIN的模拟音频信号,或输出LINE-OUT的模拟音频信号;③数字音频接口,用于和DM642的McASP端口进行数据传输。TLV320AIC23B从模拟音频接口(MICIN/LINEIN)接收音频信号,进行A/D转换后,把数字音频信号通过数字接口传送给DM642的McASP进行处理,然后随同处理后的视频信号一起保存到本地硬盘。需要回放时,将未经过编码处理后的数字音频数据再由McASP传回给TLV320AIC23B,经D/A转换后,从模拟音频接口输出(LINEOUT)。DM642通过I2C接口对该芯片进行配置和控制,4个TLV320AIC23B芯片在I2C总线上的挂接方式与TVP5150A相同。
3.4 I2C总线
本系统使用了4个视频解码芯片、4个音频编解码芯片和1个视频编码芯片,每个芯片都提供了2个从地址,因此系统只需使用2组I2C总线,就可以完成对4个相同型号芯片的控制。而DM642芯片本身只提供了一个I2C总线接口,所以还需要使用一片2选1切换器SN74CBT3257,使得DM642每次只接收2纽I2C总线中的一组。连接示意图如图4所示。
4 存储模块
DM642的EMIF、在内存中的地址映射分为4个可独立寻址的空间CE[3:O],自地址0x80000000起各占256MB。根据设计中所选用芯片的数据宽度等的特点,可以对这4个寻址空间进行配置。其中,CE0空间配置成64位宽度,只用于SDRAM内存的映射;CEl空间配置成8位宽度,用于Flash、UART的映射;CE2空间配置成16位宽度,用于ATA寄存器的映射;CE3本设计中未使用,可以作为将来扩展子卡用。扩展示意图如图5所示。
5 电源模块
在系统设计过程中,电源模块起着举足轻重的作用。它由2部分组成:供电电路和电源监测电路。
5.1 供电电路
整个电路板采用+5 V电压供电,可以从外部引入,也可以从扩展的PCI接口引入。DM642芯片需要2个独立的电压:CPU内核电压CVDD(+l.4V)和外围I/O电压DVDD(+3.3V)。这两个电压在供电时需要严格按照顺序进行,即CVDD要比DVDD上电早,至少不能晚于DVDD。设计中采用2片TI公司专为高性能DSP、FPGA、ASIC和微处理器的应用而设计的电源芯片TPS543lO,分别给DM642提供CVDD和DVDD电压。在电路连接上将TPS54310(1)的PWRGD引脚和TPS54310(2)的SS/EN引脚相连。当(1)的输出电压高于1.2 V时,芯片(2)开始工作;当这个值达到稳定的+l.4 V后,PWRGD引脚输出高电平送到芯片(2)的SS/EN引脚。这就保证了CPU内核的上电时间早于I/O的上电时间,如图6(a)所示。
5.2 电源监测电路
为了保证DM642芯片在电源未达到要求的电平时,不会产生不受控制的状态,而且允许系统中的各个芯片在任意时刻可以通过复位来调整工作状态,这就需要在系统中加入一个电源监测电路,如图6(b)所示。该电路能确保在系统的加电过程中,CVDD和DVDD达到要求的电平之前,DSP始终处于复位状态。选用了TI公司生产的TPSS823—33芯片,其固定复位信号时间长达200 ms,能满足系统中所有芯片的复位需求。芯片带有一个看门狗电路,通过WDI引脚接收来自CPU的定时信号,避免发生系统程序跑飞的情况。
结语
DM642具有高速的处理能力以及出色的对外接口能力,这就使其设计出的产品在图像质量、硬件成本、灵活性及产品更新等方面都优于专门的视频编解码芯片。在数据保存方面,系统不仅可以选择本地保存方式,还可以使用DM642中自带的EMAC接口将处理后的大量数据通过网络保存到服务器,或者通过PCI口将数据保存到主机中的硬盘上。这种易于扩展性使用户在实际使用过程中有了更多的选择。