电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 专用芯片技术 > 详细信息
专用芯片技术:基于USB2.0芯片的H.264解码器芯片设计
来源:   时间: 2007-12-14 8:58:21    

  H.264/AVC标准具有一系列优于 MPEG4和H.263的新特性,在相同的重建图像质量下,H.264比H.263节约50%左右的码率。但是节约码率的代价是增加了算法复杂度。由于仅 用软件已经无法实现实时地解码过程。所以必须利用硬件加速,这正是本解码器设计的初衷。 

  虽然H.264相较同质量的H.263图像,码率节约 一半,但是由于本解码器的目标是解决H.264的高清图像(1080i)的解码工作,同时也要适用于普遍的视频外设,所以选用的接口既需要完成高速的码流 源文件的传输工作也要易于插拔。而USB接口恰好符合这两个条件。高质量的源码文件数据量较大,对传输接口要求较高。并且在FPGA的仿真环境下,USB 接口还要担负起向PC上位机回传解码结果的任务。这就要求传输速度至少要保证超越解码速度。和USB 1.1接口相比,USB 2.0接口的传输更加符合本设计的要求。 

  经过计算可知,传输接口需要至少30MB/s的传输速率,才能保证对1080i的图像进行解码。 

  器件选型 

  使用FPGA进行仿真和验证基本已成为IC设计过程中必不 可少的环节,尤其对于大规模的设计。本解码器IC的设计使用Virtex II FPGA作为仿真环境。对于本设计,利用FF1517 BGA封装的XC2V6000已经充分满足设计要求。在考虑设计成本的前提下,该款FPGA是相对高性价比的选择。 

  Cypress公司的EZ-USB FX2是一款集成了USB 2.0的微处理器,它集成了USB 2.0收发器、SIE(串行接口引擎)、增强的8051微控制器和可编程的外围接口。FX2的这种优化设计,几乎能达到56MB/s的数据传输率,而 USB 2.0允许的最大带宽是480Mb/s,即60MB/s。该芯片在对传输带宽影响很小的前提下,增加了许多集成的控制功能。GPIF和Slave FIFO模式为外部的FPGA、DSP和ATA等提供了简单和无缝的连接接口。 

  系统构架 

  本设计的主体如图1所示,在FPGA的仿真平台中, Virtex II包括了解码器主体和FPGA的接口模块。USB 2.0芯片68013A作为独立部分,负责FPGA和PC之间的USB数据传输。FPGA片外的SRAM与DRAM作为FPGA的扩展存储设备,用于存放 解码器所需的源码文件,解码后的文件以及解码器中用到的软件程序文件。 本设计中,解码器端具备强大的功能,内嵌有一个CPU。可以进行主动识别命令的功 能。所以PC端和解码器处于对等的地位。PC端的工作包括发送命令头,发送命令,发送码流,接收回传解码结果等;FPGA端的工作包括接收并识别命令头与 PC命令,接收并向SRAM和DRAM中存储码流,读取SRAM和DRAM中的解码结果并且回传给PC端。

  USB 2.0芯片的工作方式及固件编写 

  1 芯片工作方式的确定 

  在设计中,存在两个过程涉及到大批量的数据文件传输:PC 向下传输源码文件,FPGA向上位PC传输解码结果文件。其对USB传输要求最高。如果当传输的源码文件无法适应解码速度时,会导致解码器停顿;如果当回 传解码结果滞后时,会造成未被传输的解码结果被覆盖。任何一种情况的出现,都将直接导致解码器工作失败。 

  在传输要求甚高的情况下,选用EZ-USB FX2提供的Slave FIFO的BULK(批量传输)模式,能很好的满足传输要求。在这种模式下,USB芯片内存单元中划分出6个端点(endpoint),以下简称为EP。 EP0和EP1被保留作为芯片配置FIFO。EP2、4、6、8可作为用户传输,并且4个EP采用双重FIFO(double FIFO)的方式组织构成。 
举例来说,如图2所示,USB执行OUT传输,将 EP2端点设成512字节双重FIFO。在外部器件看来,USB端只要有1个512字节的FIFO为“半满”,就可以继续发送数据。当操作的FIFO写 “满”时,FX2自动将其转换到外部接口端,排除等候读取;并将USB接口队列中下一个为“空”的FIFO转移到USB接口上,供其继续写数据。外部接口 端与此类似,只要有1个FIFO为“半满”,就可以继续读取数据。当前操作的FIFO读“空”时,FX2自动将其转换到USB接口端,排除等候写并将外部 接口队列中下一个为“满”的FIFO转移到接口上,供外部器件使用。 

  为双重FIFO的工作过程。当一个512字节的 FIFO满时,FPGA可以取出里面的数据,同时PC可以向另一个FIFO写入数据(一组实箭头)。当一个512字节的FIFO空时,PC可以写入数据。 同时FPGA可以读取另一个仍然有数据的FIFO(一组虚箭头)。  

   双重EP运作模式

  2 固件程序设计
  在通过编写固件程序初始化USB设备过程中,以下重要的配置寄存器需要设置。
  IFCONFIG;设置USB时钟由外部提供,并且选用Slave FIFO模式。
  EPXCFG(X=2,4,6,8);配置4个EP(端点FIFO)的模式。
  EPXFIFOCFG(X=2,4,6,8);配置4个EP的自动传输模式以及传输位宽。

  其他一些寄存器,根据实际的需要可以单独配置。本设计中配置EP2用于传输命令头,EP4用于传输源码文件,EP6用于传输命令,EP8用于传输解码结果文件。

  在完成固件程序的设计之后,可以利用FX2自带的Control Panel将固件程序的编译结果下载到68013A的芯片中,或者存放在外部的I2C中,以便下次复位时,芯片自己读取。

  3 电路设计原理图

  电路设计原理图

  图4为本设计的电路设计原理图,原件按左起以及上起顺序分别为:CY7C68013A芯片、电源耦合电容组、USB 2.0标准接口、标准RS232串行口、外部晶体振荡器和HIN232串口芯片。本设计是按照这一电路原理图制作电路板图,完成USB 2.0的功能的。

  FPGA上解码器与USB接口模块的设计

  SLAVE FIFO的模式下,FPGA可以主动决定是否有必要读取USB内部FIFO中的数据,而不仅仅是被动的接受PC发送的数据。如图5所示,控制方式: SLOE、SLRD和SLWR作为EP的读写信号与使能控制信号。FIFOADR[1:0]作为4个EP的选择信号,即选择当前操作的目标EP。 PKTEND是FPGA主动命令USB芯片向上位PC发送数据的控制端。FLAGX(X=A,B,C,D)表示当前选中的FIFO的空满信息。FD(8位 或者16位)为双向的数据传输口。FPGA接口控制这些端口,达到对USB进行操作的目的。

  解码器与USB接口

  FPGA接口中,本设计还定义了一个深度为256,宽度为32位的FIFO(内部 FIFO)。原因在于:本设计中SRAM和DRAM部分要不断地被解码器调用,这样就导致存储单元被占用。此时USB是无法对存储单元操作的。所以在 FPGA接口中,先将多个USB传输的数据FD(8位或者16位)拼接成32位数据存入内部FIFO,当SRAM和DRAM空闲时,再向其传输。这样的处 理,使得USB传输不依赖于存储单元的工作状态,进一步提高了USB传输的速度,以满足传输的要求。

  设计验证及结果分析

  当开发完Windows操作系统下的USB驱动程序后,本设计成功的利用EZ- USB芯片与Virtex II FPGA完成了视频数据的传输工作。并且在FPGA工作的66MHz以下的频率时,完成了对H.264格式视频的实时传输、解码。传输速率的检测中, USB对大批量数据的传输可以达到33MB/s以上的速度,完全适应解码器的要求。

  设计分析:本设计利用了两级的FIFO,充分的发挥了USB 2.0的速度优势。设计方案解除了传输与解码过程中的瓶颈,实现了无缝连接。不足之处是由于USB芯片的Slave FIFO模式限制,PC与解码器直接必须使用命令交互的方式进行通信,占用了一定的带宽。在命令过于频繁的状态下,效率不高,但对大批量数据传输影响很 小。

  结束语

  验证平台下成功,并且实际通过多种压缩率的源码文件测试,实现了平均33MB/s,最高40MB/s的速率。完成并且超过了设计要求。

相关信息
发表评论
打印本页 关闭本页
基于RS232及红外接口的多功能通讯实验板的设计
  1 引言 计算机控制系统中经常采用多机系统进行通信,在由PC机和单片机构成的分布式控制系统中,往往以PC机为上位机完成较为复杂的数据处理和对前沿机的监督管理,以及对下位机进行多机协调,单片机主要执行上位机的命令,对来自微机串行口的命令进行操作,完成对被控对象的直接控制,并把被控对象的信息上报给上位机,异步串行通信是一种常用的多机通信手段,本文介绍一种将RS232,RS48...
>>详细内容
集UART与RS232于一体的MAX3110E原理及应用
  摘要:MAX3110E是MAXIM公司推出的全功能收发器,它内部包括一个兼容SPITM/MICROWIRETM接口的UART以及内置电泵电容和土15kV ESD保护的双RS-232收发器。该芯片集成度高,使用灵活,性能优越。文中详细介绍了MAX31OOE的特点、原理及应用电路。 关键词:MAX3110E; UART; RS-232收发器; SPI串行接口 分类号:TN919.3 文献标识码:B 文章编号:1006-6977(2003)01-0027-05 1 概述MAX3110...
>>详细内容
CAN-RS232通信转换模块的设计与实现
  1 引言 RS232作为标准的计算机串行接口已被广泛使用,与此同时,随着现场总线技术的飞速发展,具有实时性好、可靠性高、结构简单等优点的CAN总线在测控系统中也越来越多地被采用,但由于两者的总线结构、通信协议及传输特点各不相同,因而给不同设备之间的连接带来诸多不便。因此,如何以最简单的方式实现CAN节点与RS232串行口的通信就成为工程实践中一个不可回避的问题。 本文采用典...
>>详细内容
CY7C68013A-56PVXC的技术参数
  产品型号:CY7C68013A-56PVXC工作电压(V):3.300内核:增强型8051存储器:16KB RAM数据传输:Bulk, Interrupt, Isochronous端点:7封装/温度(℃):56SSOP/0~70描述:USB 2.0高速外设控制器,EZ-USB FX2LP系列开发工具:CY3684价格/1片(套):暂无
>>详细内容
CY7C68013A-56LFXC的技术参数
  产品型号:CY7C68013A-56LFXC工作电压(V):3.300内核:增强型8051存储器:16KB RAM数据传输:Bulk, Interrupt, Isochronous端点:7封装/温度(℃):56QFN/0~70描述:USB 2.0高速外设控制器,EZ-USB FX2LP系列开发工具:CY3684价格/1片(套):暂无
>>详细内容
CY7C68013A-128AXC的技术参数
  产品型号:CY7C68013A-128AXC工作电压(V):3.300内核:增强型8051存储器:16KB RAM数据传输:Bulk, Interrupt, Isochronous端点:7封装/温度(℃):128TQFP/0~70描述:USB 2.0高速外设控制器,EZ-USB FX2LP系列开发工具:CY3684价格/1片(套):暂无
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com