随着多媒体技术的发展,视频监控系统被广泛地应用于道路交通、电力系统、银行、宾馆、商场、小区、机场等领域的安全监控。TMS3 20DM6446芯片是达芬奇(DaVinei)技术的杰出代表,TMS320DM6446由TMS320C64x+DSP内核、ARM926EJ-S内核、视频处理子系统(VPSS)、系统控制、电源管理、外部存储器接口、外围控制模块等功能模块组成,单颗TMS320DM6446(以下简称DM6446)可以实现完整D1格式的H.264视频压缩。
本文论述了嵌入式视频编码器完整的设计方案,完成了一个基于DM6446的最小视频编码系统的硬件设计。
1 总体设计及概述
系统包括电源部分、视频输入部分、存储部分、接口部分。其主要资源包括:DM6446主处理器;2路CVBS标准模拟视频输入(TVP5150);256 MB DDR2 SDRAM;64 MB NANDFlash存储器;1路RS485串口(MAX485);一路10 M/100M标准以太网接口(RTL8201);1个USB2.0接口。视频编码器系统框图如图1所示。
系统主要由以下2部分组成:
1)视频前端设计模拟视频信号输入到视频解码芯片TVP5150,TVP5150将解码后的视频数据输入至DM6446的VPFE视频端口,DM6446内置DSP对输入数据进行压缩。
2)网络传输及控制部分设计 DM6446内部集成以太网媒体访问控制器,外接以太网PHY后可以提供以太网传输通道。DM6446片内ARM9微处理器将压缩后数据打包并完成网络传输。本部分有一路RS485串口,用来对外部设备进行控制(云台控制器等)。
DM6446是双核架构,在DM6446中ARM核和DSP核相互之间的通信主要是通过中断来实现。DSP完成数据采集压缩处理等工作,ARM处理器的作用是配置和控制整个系统的工作,包括:DSP子系统、VPSS子系统、大部分的外设以及片外存储器,并且对压缩后数据进行TCP/IP打包及进行网络传输,此外还负责系统资源调度以及对外部设备的控制(云台镜头等)。
系统工作流程:系统完成上电或者复位后,根据配置模式从Flash存储器加载程序,完成对芯片的初始化和对外围设备的初始配置,模拟视频信号经过TVP5150转换为BT656数字视频信号后,传入DM6446的视频通道(VFPE),内嵌DSP对数字视频信号进行编码压缩后,内嵌ARM对压缩后数据进行打包,并通过网络接口进行传输。
2 模块设计
2.1 视频输入部分
系统选用一款高性能视频解码芯片TVP5150将模拟CVBS视频信号转换为BT.656数字视频信号,在视频输入端外接了2片TVP5150。TVP51 50时钟源为14.318 18 MHz晶振,数字和模拟输入电压为1.8 V,IO口电压为3.3 V;PCLK/SCLK脚时钟信号可输出13.5MHz和27MHz两种频率。模拟信号经过TVP5150钳位、抗混叠滤波、A/D转换后,经过配置,从YOUT[0:7]输出YUV422 BT.656视频格式的数据流,输入到DM6446的VPFE中,VPFE由CCD控制器、Preview引擎单元、H3A、缩放(Resizer)单元、以及柱状统计图功能单元组成,对输入视频数据进行前端处理,系统把VPFE配置为YUV的数据格式。
2.2 存储部分
在DM6446中,有几种形式的外部存储器接口,DDR2存储控制器与DDR2 SDRAM连接,系统采用2片16位的MT47H64M16BT并联,存储空间达到256 MB,为系统提供缓存。在VPFE处理后,输出到DDR中的数据在存放时每个像素点占用16 bit的长度,每个像素占2个字节,连续地存放在内存单元中,如果像素的位宽不足16 bit,多余的高位会填充0。系统运行代码、图像数据临时搬移、压缩处理的中间数据等都要使用DDR2存储器。系统在CS2存储空间中映射64 MB的NANDFlash,用于存储Linux内核操作系统和内核引导程序。
2.3 接口部分
系统通过串口收发器MAX485设计了与外设通信接口模块RS-485,用于对外部设备进行控制(如云台镜头控制等)。
系统含有1路10/100 M网络接口,DM6446内带MAC控制器,在EMAC接口外接1片以太网PHY芯片,PHY采用RTL8201,RTL8201与DM365的MII接口相连,DM6446通过MDIO接口实现对RTL8201寄存器的配置及控制,其他握手信号依次连接,通过上拉下拉电阻对RTL8201进行适当的配置(设置PHY地址等),RTL8201在上电初导入这些配置信息,并进行相应的工作。在RTL8201的时钟接口外接1个25 M晶体,作为RTL8201的时钟源。RTL8201外接网络变压器,进行信号隔离,通过RJ45连接到网络,与外界实现数据交换。
DM6446片上集成了USB控制器,可以通过ARM端对控制存储映射寄存器进行操作,通过USB接口可以外接很多USB设备,为系统预留了外设扩展口,用来实现附加功能。
系统通过GPIO提供2路开关量报警输入和2路开关量报警输出。报警输入通过隔离光藕来实现,当有报警信号输入信号时,光藕导通,输出低电平至DM6446 GPIO,当没有报警信号输入时,光藕截止,输出高电平至DM6446 GPIO,DM6446通过检测GPIO电平来判断报警输入信号的有无。报警输出通过控制继电器的开合来实现。
2.4 电源模块
系统电源分为+5、+3.3、+1.8+1.2 V,输入电源为+5 V,其余电压均由+5 V电源转换得到。其中+1.2 V提供DM6446内核电压,+1.8 V为DM6446的I/O以及DDR2内存供电,+3.3 V给大部分的外设供电。+1.2 V的内核电压和+3.3 V的外设供电电压由TPS75003得到,TPS62040提供+1.8 V电压输出。本设计采用MAX706对系统进行复位。
3 结论
通过ITU-T视频测试序列NEWS(150帧)对系统进行了科学的测试,测试环境:Panasonic笔记本一台(配置Intelpentium processor 1.1 GHz,1 G内存,操作系统Windows XP,80 G硬盘)。当码率为372 kb/s时,PSNR为39.18 dB,编码效率合理,符合设计初衷。
本文有效地利用DM6446设计了嵌入式视频处理最小系统,完全满足视频压缩编码的功能需求。系统运行于Linux操作系统,具有实时性好、通讯速率快、图象质量高、性能稳定、价格便宜、防病毒等特点。