MPEG4音、视频编码芯片IME6400及其应用
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时,此引脚输出高电平。javascript:window.open(this.src);" style="cursor:pointer;"/>
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,对应于MODE1:0 pin = 2' b 01。即对应MPC850/860的情况。
嵌入式CPU可选用MOTORALA公司的MPC850。HOST接口时钟可以由MCLK或者FRD来提供,其值则可由USEOCK的值来决定。本设计中,由于USEOCK为1,因此,FRD被用作内部的时钟源。这个27MHz的时钟源可由主控板提供。HOST接口的连接方式如图4所示。javascript:window.open(this.src);" style="cursor:pointer;"/>
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供电的存储器件。