多媒体PCI控制器ZR36067及其在MJPEG系统中的应用
摘要:ZR36067是ZORAN公司推出的一款多媒体PCI总线控制器。文中详细介绍了ZR36076的特点、内部结构及引脚功能。给出了ZR36067在运动JPEG系统中的一个应用实例,详细介绍了该系统的工作原理,最后给出了ZR36067与ZR36060的视频接口连接方法。
关键词:多媒体控制器 PCI总线 运动JPEG ZR36067
1 概述
作为PCI适配器,ZR36067是专为PCI系统上的多媒体应用而设计的。它支持系统内存与JPEG、MPEG处理器之间的高速率代码(压缩数据流)传输。同时,ZR36067还可捕捉数字视频(如解压缩的MJPEG、MPEG或视频解码器输出),并可在图形显示内存中产生缩放视频窗口。因此,利用ZR36067可通过软件控制众多的非PCI多媒体设备。具体如下:
(1)Motion JPEG编码/解码器 - ZR36050+ ZR36016,ZR36060;
(2)音频编码/解码器;
(3)MPEG和DVD解码器ZR36110以及ZR36700;
(4)I2C设备,如视频解码器、视频编码器等;
作为总线主控器件,通过ZR36067可将数据(如JPEG压缩数据)写入系统内存或从内存读出数据,并将数字视频像素写入图形显示内存中。而作为总线目标,ZR36067可将主机存取映射到微控制器的8bit辅助总线(Guest Bus)。
ZR36067有一个特殊的“静态传输”口,主程序可通过它在系统内存和视频总线之间读写数字化视频信息(RGB像素)。该通道使得高速传输的静态图像能够通过JPEG芯片组压缩或解压缩。
ZR36067多媒体控制器主要用于高质量视/音频捕捉/回放和PCI系统编辑板、使用辅助PCI总线的多媒体/图形子系统、带多媒体功能的PCI主板以及PowerPC和Macintosh PCI系统的JPEG/MPEG1解决方案等。
ZR36067的主要功能特点如下:
●具有与PCI总线的无缝接口(兼容PCI2.1);
●具有与JPEG解码器(ZR36060,ZR36050+ ZR36016)、MPEG1和DVD解码器(ZR36110,ZR36700)、视频解码器、视频编码之间的最小接口;
●可实现压缩数据的双向DMA传输,速率接近11Mbytes/s;
●可进行视频和掩码信息的DMA传输;
●支持快速静态图像的压缩和解压缩;
●具有在片像素精确掩码功能;
●YUV-RGB转换器,可通过错误扩散降低量化噪声;
●具有15/16bit、24 bit(压缩和非压缩)RGB像素格式和YUV-4:2:2视频输出;
●硬件支持非连续JPEG代码缓冲器;
●在视频和代码传输中,具有最大总线执行时间的故障恢复功能;
●可选择仿真隔行扫描视频显示方式和单场显示方式;
●可用硬件支持简单、高效的帧抓取;
●带有I2C总线接口;
●支持即插即用;
●采用208脚PQFP封装;
●支持子系统ID和子系统销售商ID。
●可将YUV4:2:2数字视频输入转化为YUV4:2:2、RGB5-6-5、RGB5-5-5或RGB8-8-8(压缩或非压缩)等像素格式;
另外,ZR36067也支持CCIR601数字视频或方像素格式(符合NTSC或符合NTSC或PAL视频标准)以及其它的非标准输入。
2 内部结构
ZR36067内部包括两路主数据通道(视频通道和代码通道)。通过PCI DMA突发方式输入的视频信息通常沿视频通道进行处理并传输到图形显示内存之中。其内部结构框图如图1所示。
ZR36067的视频前端在一个可编程有效场窗口中采样视频总线,该窗口由视频同步信号来定义。可选的垂直、水平平滑缩放使其能够支持可变图像尺寸和可变PCI视频数据率。缩放后的视频流可被转换为不同的RGB格式。转换后的像素在压缩后可存储在256字节视频FIFO(64个32位双字)中。存储的视频像素可从视频FIFO中读出并传送到图形显示内存。
双向代码通道的数据流向取决于操作模式。代码流(MPEG或JPEG)利用PCI DMA突发方式在系统内存和ZR36067的内部代码FIFO中传输。ZR36067控制着这两个方向上的传输和寻址。代码FIFO的大小为640字节(160个双字)。
在JPEG压缩模式下,ZR36067通过编码/解码器前端填充代码FIFO,并将代码从FIFO中逐场传送到系统内存中;在JPEG解压缩模式,代码流流向相反的方向,即从系统内存到ZR36067的代码FIFO,此时编码/解码器前端可将代码FIFO内容逐字节读到代码总线上;在MPEG回放模式,代码流将从系统内存传输到ZR36067的代码FIFO。代码字节从代码FIFO读出到辅助总线上;当ZR36067仲裁PCI总线上每一个进程的请求时,ZR36067的视频和代码通道可同时操作。
除了管理视频和代码通道,ZR36067还可在主CPU和周边设备(作为辅助设备)之间建立连接。实际上,采用专用的握手机制(“邮局”机制),也可将ZR36067内部寄存器的主通路的主通路映射到辅助总线上,以获得对辅助设备的间接读写操作。
通过ZR36067的专用“静态传输”口可实现数据在PCI接口和视频前端之间的传输。主程序也可应用特殊握手协议将数字化视频(RGB像素)从系统内存传输到视频总线,反之亦然。此外,通过JPEG编码/解码器,该通道还可以对高速静态视频图像进行压缩和解压缩。
3 引脚说明
ZR36067采用208脚PQFP封装,这208个引脚可分为以下几类:
(1)PCI接口(48脚);
AD[31:0]:输入/输出,地址/数据复用引脚;
C/BE[3:0]:输入/输出,总线命令/字节允许;
PAR:输入/输出,AD[31:0]和C/BE[3:0]的奇偶校验位:
FRAME:输入/输出,PCI周期帧;
TRDY:输入/输出,PCI目标准备好信号;
IRDY:输入/输出,PCI主控准备好信号;
STOP:输入/输出,停止信号,用于表明目标要求当前总线主控停止当前传送;
DEVSEL:输入/输出,PCI设备选择信号,表明目标已对其地址进行了解码;
IDSEL:输入,PCI初始化设备选择信号,在ZR36067配置空间中用于片选;
REQ:输出,PCI申请信号;
GNT:输入,PCI允许信号;
PCICLK:输入,PCI时钟信号;
PCIRST:输入,PCI复位信号。低电平有效时,所有ZR36067的输出引脚均为三态。ZR36067一般在PCI时钟的上升沿进入上电复位状态,其最低有效低持续时间为3个PCI时钟。
INTA:输出,PCI中断信号。
(2)数字视频总线接口(32脚)
Y[7:0]/R[7:0]:输入/输出,亮度/红色视频线。也用于对子系统销售商ID的低字节编程。
UV[7:0]/G[7:0]:输入/输出,色度/绿色视频线。也用于对子系统ID的低字节编程。
B[7:0]:输入/输出,蓝色视频线;
VCLKx2:输入,二倍频视频总线时钟;
VCLK:输入,数字视频总线时钟。用作VCLKx2的量化器时,必须与VCLKx2同步;
HSYNC:输入/输出,数字视频总线水平同步;
VSYNC:输入/输出,数字视频总线垂直同步;
FI:输入,数字视频场计数器(顶/底);
PXEN:输出,ZR36016的像素使能输出,低有效;
RTBSY:输入,ZR36016的带状内存溢出/下溢信号,低有效;
START:输出,ZR36016的开始处理输出,高有效。
(3)辅助总线接口(25脚)
GCS[7:0]:输出,辅助总线设备的片选输出,低有效;
GADR[2:0]:输出,辅助总线设备的地址输出;
GDAT[7:0]:输出,辅助数据总线,也可用于子系统销售商ID的高字节编程;
GRD:输出,辅助总线设备的读输出,低有效;
GWR:输出,辅助总线设备的写输出,低有效;
GRDY:输入,辅助设备准备好信号,高有效;
GWS:输入,辅助设备等待状态信号;
GIRQ[1:0]:输入,正上升沿中断请求输入,通常来自一到两个辅助设备总线。
(4)编码/解码器总线接口(11脚)
CODE[7:0]:输入/输出,连接ZR36050的代码总线;
CEND:输入,来自ZR36050的场处理结束信号,低有效;
CBUSY:输出,ZR36050的FIFO代码忙信号。
(5)I2C总线接口(2脚)
SDA:输入/输出,I2C总线数据端口;
SCL:I2C总线时钟线。
(6)通用可编程输入/输出(8脚)
GPIO[7:0]:通用输入/输出引脚。
(7)测试引脚(2脚)
ENID:输入,用于IDD测试。正常操作时必须接地;
TEST:输入,测试引脚,仅用于测试模式。正常操作时必须接地。
(8)电源和地
GND:接地;
VDD:正电源(5V)
4 正Motion JPEG系统中的应用
图2是Motion JPEG附加设备板的一个应用实例,该系统使用ZR36067和ZR36060进行接口。其中ZR36067支持4个基本的JPEG操作模式,即:运动视频压缩、运动视频解压缩、静止图像压缩、静止图像解压缩。现就这四种操作模式的实际处理过程进行分析。
4.1 运动视频压缩
当YUV4:2:2视频信号和视频同步信号输入到ZR36060的视频输入口时,它同时也将这些信号传输到了ZR36067视频前端和视频解码器(用于TV监视器上显示输出),此后,ZR36067将有选择地进行视频压缩,并将视频信号转换为RGB信号,然后利用DMA方式传送给主PC显存。与此同时,ZR36060也在执行JPEG压缩,并将JPEG代码流传输给ZR36067编码/解码器前端,然后再由ZR36067通过DMA方式将压缩视频场信号传输给主机所分配的系统内存缓冲区。
4.2 运动视频解压缩
在运动视频解压缩中,ZR36067利用DMA方式并通过ZR36067编码/解码器前端将代码流从系统内存传送到ZR36060中。ZR36060对JPEG代码进行解压并将视频信号传送给视频编码器以在TV监视器上显示。同压缩模式一样,ZR36060将视频信息输出到ZR36067视频前端进行处理时,该信息也同时利用DMA方式传送到PC显存中。
4.3 静止图像压缩
在静止图像压缩模式中,主机将通过PCI总线向ZR36067逐像素写入图像位图信息。然后由ZR36067把这些像素通过自己的视频总线口传到ZR36060的视频输入口。该模式中,ZR36067可产生并驱动ZR36060所需的视频同步信号。当8条视频线全满后,ZR36060开始执行光栅-网格操作并压缩数据,同时将代码流传送到ZR36067。同运动视频压缩一样,利用DMA方式也可将代码流传送到主机内存中。
4.4 静止图像解压缩
静止图像解压缩模式下的操作同运动视频解压缩一样,也是由ZR36067利用DMA方式从系统内存中取出代码流,并用ZR36060从ZR36067中读取压缩数据,同时在解码后将解压缩视频信息送到ZR36067的视频口。最后由程序从这里逐像素读出视频信息送给系统内存。
应用中需要注意的是,静止图像解压缩也可通过下面方式来实现:即在运动视频解压缩模式下配置ZR36067,然后将解压缩视频信息传送到系统内存中一连续的缓冲区。由于该方法较静止图像解压缩模式有更快的速度,所以常被采用。
5 与ZR36060的视频接口连接
图3给出了ZR36067与ZR36060的视频接口连接图。对于该电路的四种JPEG操作模式,设计时应注意以下问题:在运动视频压缩中,输入ZR36067和ZR36060的YUV视频和同步信号均来自外部视频源,如SAA7110/7111;在运动解压缩中,同步信号可由ZR36067(在同步主控模式下)或与视频源相连的同步器来产生。此时,压缩的视频信息从ZR36060视频总线传输的ZR36067的视频口,其外部视频源的视频总线和同步信号也必须浮空;在静止图像压缩模式中,由于视频信号和同步信号来自ZR36067,因而图2中视频解码器的视频总线和同步信号也必须强制浮空;而在静止图像解压缩中,同步信号来自ZR36067,因此,压缩的视频信息可从ZR36060传送到ZR36067视频口。在该操作模式下,外部视频源的视频总线和同步信号也必须浮空。
评论