关键词:MPEG4;IME6400;嵌入式系统;编码器
1 概述
MPEG4是运动图像专家组(Moving Picture Expert Group)标准系列中的一员,是国际标准化组织为多媒体通信制定的一种解决方案。MPEG4的主要特点是对图像中的内容进行编码。它比MPEG2编码具有更多的优点。为此,韩国INTiME公司推出可支持MPEG4标准编码方案的集成电路芯片IME6400,从而引发人们开始研究利用该集成电路来提升监控系统的速度和性能。本文结合IME6400在嵌入式系统下的应用对该芯片进行了简要介绍。
2 IME6400的性能特点
IME6400是一片采用240脚PQFP封装的多通道数字音、视频编码系统级芯片,该芯片可以支持MPEG4/2/1视频压缩编码标准;同时支持I、P和B帧压缩。其图像大小可以编程设定,最大尺寸可达2048×2048;码率可以支持固定和可变码率压缩,并且支持动态检测。
IME6400可支持48/44.1/ 32/ 24/ 22.05/ 16kHz音频采样。它的同步串行接口为可选的外部音频DSP。而外部接口则用32-Bit来同步DRAM总线接口和8/16Bit的外部HOST接口。另外?IME6400需要27MHz的外部时钟。
3 IME6400主要引脚功能
3.1 SDRAM引脚
IME6400中的SDRAM接口能支持32bit同步DRAM总线接口。根据不同的需要可选用4Mbits到64Mbits不同大小的SDRAM。当需支持高分辨率、MPEG4编码时,其最小的SDRAM大小应为32Mbits。SDRAM接口的主要引脚功能如下:
DD[31:0]:SDRAM数据总线。
DA[14:0]:SDRAM地址总线,其中DA[14:13]和SDRAM的BANK[1:0]连接。
DNWE:SDRAM的写使能信号端,低有效。
DNCS:SDRAM的片选信号,低有效。
DQM:SDRAM数据的输入/输出mask使能。
NRAS:SDRAM行地址选通端,低有效。
NCAS:SDRAM列地址选通端,低有效。
CKE:时钟使能信号端,高有效。
CKO:外部的SDRAM时钟输出端。从SDRAM读写数据时应从它的上升沿采样。
3.2 视频信号引脚
IME6400芯片可对CCIR-601接口的数字视频信号进行编码。对于从摄像头或者播放设备来的模拟视频信号,则需要先进行A/D采样,以将其变成所需要的信号格式。视频信号接口引脚的功能描述如下:
VD[15:0]:数字YUV信号输入端。
VSYNC:垂直同步信号,它的活动极性是可以编程设定的,默认为高有效。
HSYNC:水平同步信号,高有效。
DVALID:视频信号有效指示端。当其为低时,表示视频数据无效;而当其为高时,表示输入视频数据有效。
PCLK:点时钟输入,输入的视频数据在时钟的上升沿被采样。这个时钟应当由外部的视频A/D芯片提供。因为IME6400只支持16bits视频接口,所以应当提供13.5MHz的时钟频率。
FIELD:奇偶指示端。
3.3 静态内存引脚
由于IME6400是基于一个CPU的内核,所以上电初始化必须从ROM启动。IME6400的启动有两种方式,一种是通过内部ROM,一种是通过静态内存接口外接ROM来引导。推荐使用外接ROM来引导IME6400的初始化。这个接口的引脚功能如下:
ADR[16:0]:静态内存地址总线。
DATA[7:0]:静态内存数据总线。
NRST:主芯片复位信号,低有效。
MCLK:主芯片时钟输入端,不同的频率对应不同的分辨率,当其接高分辨时,应接27MHz时钟,此时图像尺寸可以为640×480、720×480、768×576等,帧率为25~30帧/秒。
RADR[1:0]:ROM低地址信号。
RNOE:ROM数据输出使能信号端,低有效。
EXTBOOT:该端接低时?芯片从内部ROM引导启动;接高时?芯片从外部ROM引导启动。
SNOE:SRAM数据输出使能信号端,低有效。
SNWE:SRAN数据写使能信号端,低有效。
GPIO[7:0]:可编程引脚。
3.4 I2C接口引脚
IME6400可以作为I2C的主设备来对视频A/D芯片的内部寄存器进行配置以管理视频A/D芯片。I2C接口引脚功能如下:
IICSDA:I2C串行数据端。
IICSCL:I2C串行时钟输出端。
3.5 外部HOST接口引脚
这个接口引脚功能如下:
MODE[1:0]:外部HOST接口模式选择端?具体选择方式如表1所列。有四种模式可供选择,本文设计的系统选用同步BURST模式1。
表1 外部HOST接口模式选择表
模 式 | MODE[1:0] | CPU |
同步BURST模式0 | 00 | PLX9050/9080 |
同步BURST模式1 | 01 | MPC850/860 |
同步BURST模式2 | 10 | CYPRESS EZ-USB |
异步SINGLE模式 | 11 | INTEL MCU |
BW:外部HOST接口总线宽度设定端,接低时,HOST接口适应16bits;接高时,HOST接口适应8bits宽度。
HD[15:0]:外部HOST接口数据总线。
HA[4:0]:外部HOST接口地址总线。
NCS:IME6400的片选信号端,低有效。
ADS:外部HOST地址选通信号,低有效。
NRD:外部HOST数据读选通信号,低有效。
NWR:外部HOST数据写选通信号端,低有效。
FRD:外部HOST数据快速读选通信号端,低有效。
USEOCK:用于指示外部HOST接口使用的时钟源。该脚接低时,表示使用内部时钟,接高时,则表示用外部时钟。
HCLK:外部HOST接口时钟输出端。
NFULL:Bit 流FIFO状态信号端。当FIFO是Half-full或者Full时,此引脚输出高电平。
READY:当接口模式是同步模式时,此引脚可用来指示数据准备状态。
3.6 音频编解码引脚
这个接口引脚的功能如下:
CCLK:音频编解码时钟信号输入端。IME6400支持音频的采样速率为32、44.1和48kHz,为了支持不同的采样率,输入的时钟也应当不同。当CCLK输入12.2880MHz时钟时,系统将支持32kHz或者8kHz的采样频率;而当CCLK输入11.2896MHz时,则支持44.1kHz的采样频率。
SDATA:串行音频数据线输入端。
SCLK:串行音频时钟信号输出端。
IRCK:左-右时钟信号输出端。
3.7 其它引脚功能描述
CPUTEST:内部CPU测试端,高有效。
PLLTEST:内部锁相环测试端,高有效。
FUNTEST:芯片功能测试端,高有效。
DIV34:SDRAM的时钟模式选择端。接低时,表示SDRAM的时钟频率为芯片主时钟MCLK的3倍;接高则表示SDRAM的时钟频率为MCLK的4倍。
4 嵌入式监控系统设计
通过对IME6400的研究,笔者设计了一个嵌入式监控系统,图1是该监控系统的设计框图。图中,音频、视频信号分别进行A/D采样后,其数据将输入IME6400以进行MPEG4压缩编码,编码后的压缩视频流通过HOST接口被嵌入式CPU读取,随后即可存储到硬盘或者通过网络存储到其它载体之中。
4.1 音频接口的设计
本设计中,音频A/D采样选用TEXAS公司的PCM1801,它是一个5V供电的双声道ADC。输入的时钟为11.2896MHz,可适应44.1Kbits的采样。PCM1801与IME6400的连接方式如图2所示。
4.2 视频接口及I2C接口的设计
视频A/D选用ROCKWELL公司的BT829B。它可以输出CCIR-601接口的数字视频。BT829B有两组时钟输入,如果只用其解码PAL制式的视频信号,应把时钟输入到XT0I,并把XT1I接低。BT829B可作为I2C的从设备与IME6400的I2C接口进行连接,这样IME6400可以完成对BT829的管理。其视频接口连接方式如图3所示。
4.3 HOST接口的设计
IME6400的外部HOST接口主要用来传输编码后的数据流。四种外部HOST接口的模式可由MODE管脚来决定。本设计选用的模式为同步Burst 模式1,对应于MODE?1:0? pin = 2' b 01。即对应MPC850/860的情况。
嵌入式CPU可选用MOTORALA公司的MPC850。HOST接口时钟可以由MCLK或者FRD来提供,其值则可由USEOCK的值来决定。本设计中,由于USEOCK为1,因此,FRD被用作内部的时钟源。这个27MHz的时钟源可由主控板提供。HOST接口的连接方式如图4所示。
MPC850从HOST接口读取压缩数据采用Burst方式,IME6400的NFULL信号直接输入到MPC850的 IRQ。Burst可编程设定,并且只是用在读取压缩数据时,最大的Burst长度为256个字节,即一次操作可以读取256个字节,由此可见,该设计可大大提高读取速度。
4.4 SDRAM接口的设计
为了压缩视频和音频数据以及存储编码流,一般都需要用外部的SDRAM。其大小与要压缩的图像大小和模式有关。本设计选用的SDRAM大小为2MB×32。IME6400最大可以访问2Gbits的外部SDRAM。目前本设计选用的地址大小为11行8列。
SDRAM的时钟是三倍或者四倍的MCLK时钟,可由DIV34的值决定。本设计中,MCLK时钟是27MHz,选三倍MCLK时钟时,SDRAM的时钟为27×3=81MHz。SDRAM选用K4643232E。其连接方式如图5所示。
4.5 ROM接口的设计
如果用内部引导ROM,IME6400不需要外部ROM,但在外部引导模式,则需要一个ROM接口。外部的ROM最大可达4MB。本设计中,EXTBOOT选用跳线方式来控制用外部还是内部ROM来引导。本设计中的外部ROM选用28C256,这是一款256kB(32KB×8)并采用5V供电的存储器件。MCLK的27MHz时钟由主控板提供。
IME6400对于FIRMWARE的下载有2种方式,可通过管脚P236(EXTBOOT)上的跳线开关来选择,该跳线开关为高电平时选择外部28C256启动,低电平时选择从MPC850启动。
5 该监控系统的优点
应用IME6400硬件设计的MPEG4压缩和嵌入式系统可以使监控系统的性能大大提高,主要表现在:
(1)录像和预览同样清晰,图像格式均可以实现D1,全动态码率最大可控制在200MB/小时。
(2)压缩速度更快,实时流播放时无滞后延迟。最小延迟可以小于1秒。
(3)压缩数据的读取可以采用Burst方式,从而提高了读取速度,同时也为嵌入式CPU的采用创造了条件。
6 结束语
本文通过对IME6400芯片的分析,提供了一种MPEG4的实时音、视频压缩技术方案。并针对商业用途设计了一种嵌入式MPEG4视频监控系统。