王 博,马宏绪,李 迅
国防科学技术大学机电工程与自动化学院机器人教研室 湖南长沙 410073
在重要场所安全监控或工业现场控制系统中,直观、方便且内容丰富的视频实时采集是信息采集的重要部分,也是人们关注的应用技术热点。由于高精度实时视频信息量巨大,在传输时需丢弃大量数据帧,否则必须压缩。最常用的是软件压缩法,但对复杂的压缩格式编程工作量大、设备要求高、应用受限制。而硬件实现法,采用专用芯片按即定格式高速压缩视频,实时性好,可靠性高。
本文介绍的视频数据实时压缩和传输系统,采用可编程视频采集芯片采集模拟视频,通过MPEG4/2/1专用编码芯片对采集后的数字视频数据进行编码压缩,生成MPEG4码流,微控制器的在片以太网卡端口外接网络物理层芯片,MPEG4码流由此输出到视频终端PC机,整个系统由微控制器调度管理。终端PC上应用程序播放视频进行监控。
2 系统总体结构
系统主要包括两部分。一是数字视频数据采集和编码子系统。二是视频码流以太网发送子系统。此外还有电源子系统、JTAG调试子系统等。图1所示为系统框图。
视频采集芯片选用Philips公司SAA711lA。该芯片的工作时钟为24.576MHz,由此1/2行输出锁定时钟LLC2为13,5 MHz。设定输出数据色彩格式为4:2:2,输入模拟视频采用S-Video端子的PAL格式视频信号,分辨率为720X 576,每秒25帧。设定抗混叠滤波、AD转换、自动钳位、自动增益变换、PAL和NTSC制式之间自动切换等功能。微控制器通过12C总线初始配置SAA711lA。
数字视频数据编码压缩工作由INTIME公司设计的IME6410单片视、音频MPEG4/2/1码流压缩引擎完成。同SAA711lA一致,一帧图像分辨率设置为720X 576,输入数据色彩格式为4;2:2。IME6410具有符合工业标准的视频数字编码器无缝接口,16b的复合主机接口,分别用来与视频采集芯片和微控制器芯片通信。微控制器通过主机接口实现IME6410的初始配置,也由此接收压缩得到的视频码流。
微控制器是本系统的核心部件,选用ATMEL公司的基于ARM920T核的32b微控制器ATglRM9200。他包含丰富的系统接口和外围应用接口,如10/100BaseTMAC和主机接口HDI,可灵活配置片上和片外存储器,向各种的高速计算应用提供了一个单片解决方案。在系统中的主要作用是在系统上电时配置其他芯片的功能寄存器,正常工作状态下调度控制系统工作,存储编码得到的MPEG4码流,通过在片以太网端口控制物理层芯片发送码流。
以太网发送的物理层芯片选用REALTEK出品的单片、单端口10/100 M以太网物理层芯片RTL8201。RTL8201应用与在片MAC通信的独立媒体接口MII。PHYAD0-PHYAD3置高,PHYAD4置低,则物理层地址为0x10。芯片符合IEEE802.3/802.3u规则。标准的IEEE802.3数据帧由以下几个部分组成:前导位(preamble)、帧起始位(SFD)、目的地地址(destination)、来源地址(source)、数据长度(1ength)、数据(data)、帧校验字(FCS)。数据字段大小可从46B到1 500B,如一组要传送的数据不足46B,就用零补足;超过l 500B时,需要拆成多个帧传送。数据在发送之前按此格式进行封装。
系统独立运行的程序存储在FLASH中,采用ATMEL公司生产的AT49BV322A,容量为2MXl6b。系统上电后,首先进行程序的自举加载,程序加载到SDRAM中运行,进行系统的初始化,随后进入正常的工作状态。运行程序和存储码流要求较大的动态存储空间,采用SAMSUNG公司的K4S561632E SDRAM,容量为16 MXl6b。
3.数字视频数据采集和编码子系统
子系统硬件电路图如图2所示。
SAA711lA的A1模拟输入口与模拟摄像头输出端连接,向视频处理芯片传送模拟视频信号。IME6410具有符合工业标准的视频数字编码器无缝接口,可方便地与SAATlllA通信。SAA711lA对模拟视频信号采样处理后得到的数字视频信号按1/2行输出锁定时钟LLC2从VP00一VP015引脚送到IME6410,数据在LLC2上升沿时有效,IME6410在PCLK引脚接收的象素点输入时钟信号LLC2的上升沿抓取VD端口数据,如图3所示。SAA711lA可分离场同步脉冲和行同步脉冲,每视场的数字视频信号有效之前,SAA71llA会输出场同步脉冲,并使能垂直参考信号VREF置高;而在每行信号有效之前,也会输出行同步脉冲,并使能水平参考信号HREF置高。奇偶场识别信号RTS0与奇、偶场指示信号FIELD引脚连接,高电平指示奇场,低电平指示偶场。IME6410首先判断奇、偶场,随后当VREF和HREF有效时何时开始接收一行的数据,当一行数据接收完毕后HREF被置低,一场数据接收完毕后VREF被置低,避免在黑电平期间接收无用数据,同时翻转奇偶场识别信号电子。IME6410接收数据的同时,芯片内部视频处理器对数据进行MPEG4编码并输出到缓冲器。
IME6410通过主机接口和AT91RM9200通信,AT91RM9200将IME6410的寄存器、存储空间等资源作为SRAM寻址访问。IME6410通过与AT91RM9200的SRAM端口数据线DO-D15连接的主机接口数据线HD0一HDl5向AT91RM9200传送编码压缩后得到的MPEG4码流。AT91RM9200由SRAM选通线NCS7选通IME6410芯片,其存储空间在AT91RM9200寻址空间中地址段为0X80000000到0X8FFFFFFF。地址线A0~A4与IME6410的主机口地址线HA0~HA4连接,寻址访问IME6410的寄存器,其13个内部寄存器均为16B,偏移地址从0x00到0xle。通过对ADDR,DATA和CONTROL寄存器的读写等一系列操作,可以访问IME6410系统存储空间。IME6410数据流缓冲器标志信号NFULL从配置为通用I/O引脚的PC20输入,当缓冲器满或丰满时,NFULL引脚置低提示AT91RM9200提取编码数据。编码后视频数据读过程和IME6410与主机通信过程具体由AT91RM9200读信号NRD和写信号NWE控制。
AT91RM9200接收生成码流存储在SDRAM中,由在片以太网卡端口发送。
以上各部分构成一个数字视频数据采集和编码电路,ATglRM9200控制电路工作,并对MPEG4码流进行调度。
4 视频码流以太网发送子系统
子系统硬件电路图如图4所示。
AT91RM9200的在片以太网卡端口和网络物理层芯片RTL8201的MII接口通信。发送数据时,首先置发送使能信号ETXEN有效。数据发送端ETX0一ETX3与RTL8201的TXDO~TXD3引脚对应连接,作为数据发送通道,以RTL8201提供的数据发送时钟信号TXCK发送数据。当发送有冲突时,冲突检测信号ECOL置高,并且当媒介不处于理想状态,状态指示信号ECRS也置高,由AT91RM9200相应处理,保证数据发送按网络协议正常工作。接收数据时,检测RXDV引脚状态,在数据接收端数据有效时置高,提请AT91RM9200按RXC引脚提供的时钟提取数据。数据接收端ERX0~ERX3与RTL8201的RXDO~RXD3引脚对应连接,作为数据接收通道。当接收有错误时,接收错误信号ERXER置高,AT91RM9200按网络物理层协议处理。管理时钟信号EMDC和管理数据输入输出信号EMDIO用来芯片控制参数的写入和读取。
在片以太网卡进行数据的发送时,根据以太网协议IEEE802.3/l,完成网络逻辑层和物理层之间MAC的工作。运用DMA通道进行数据的发送,不影响AT91RM9200的Processor正常运行。首先正确设置传送控制寄存器和传送地址寄存器的传送数据块字节数、数据块存储首地址等参数,随后依次从指定数据存储区地址取32b数据,送人内部发送缓冲器中,由MAC对数据进行封装发送,同时记录已传送字节数,直到数据块发送完毕。当发送完一组数据后,发出DMA中断请求,由AT91RM9200进行相应的处理。整个子系统电路由AT91RM9200控制和调度。
5 软件设计
本系统的软件由AT91RM9200初始化程序、SAA71llA,IME6410和RTL8201的配置程序、数字视频MPEG4码流接收存储程序、MPEG4码流以太网发送程序和系统主控程序等多个模块组成。图5为软件系统框图。AT91RM9200的初始化程序完成AT91RM9200堆栈和运行状态位的设置、在片以太网MAC和通用I/O引脚设置。采用FLASH的BOOT的方式,设计Bootloader程实现应用程序和数据的自举加载。
SAA711lA,IME6410和RTL8201的配置模块完成芯片相关功能寄存器参数的设置。
数字视频MPEG4码流接收存储程序由IME6410的数据流缓冲器标志信号NFULL控制。当1kb缓冲器满或半满时,NFULL置于低电平,外部主机读IME6410内偏移地址为Oxl0的EncodedStream寄存器。在以突发方式读缓冲器时,需设定一次读取的字节数。
以太网数据发送程序以DMA方式发送视频MPEG4码流到终端监控机播放,并接收终端的指令信息,调整系统的工作方式。
6 结 语
本文介绍了一种利用SAA711lA,IME6410,AT91RM9200和RTL8201等芯片设计的高精度实时MPEG4视频压缩和传输系统,可应用于视频监控和工业控制等场合。系统成本较低、体积较小、应用灵活,具有良好的通用性和可靠性。
摘自《电子技术应用》
|