基于USB 2.0集成芯片的H.264解码器芯片设计
[10-10 20:38:44] 来源:http://www.88dzw.com 电子制作 阅读:8624次
文章摘要:图2 EndPoint示意图图3所示为双重FIFO的工作过程。当一个512字节的FIFO满时,FPGA可以取出里面的数据,同时PC可以向另一个FIFO写入数据(一组实箭头)。当一个512字节的FIFO空时,PC可以写入数据。同时FPGA可以读取另一个仍然有数据的FIFO(一组虚箭头)。图3 双重EP运作模式2 固件程序设计在通过编写固件程序初始化USB设备过程中,以下重要的配置寄存器需要设置。IFCONFIG;设置USB时钟由外部提供,并且选用Slave FIFO模式。EPXCFG(X=2,4,6,8);配置4个EP(端点FIFO)的模式。EPXFIFOCFG(X=2,4,6,8);配置4
基于USB 2.0集成芯片的H.264解码器芯片设计,标签:电子小制作,http://www.88dzw.com图2 EndPoint示意图
图3所示为双重FIFO的工作过程。当一个512字节的FIFO满时,FPGA可以取出里面的数据,同时PC可以向另一个FIFO写入数据(一组实箭头)。当一个512字节的FIFO空时,PC可以写入数据。同时FPGA可以读取另一个仍然有数据的FIFO(一组虚箭头)。
图3 双重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的功能的。
图4 电路设计原理图
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进行操作的目的。
图5 解码器与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以上的速度,完全适应解码器的要求。
《基于USB 2.0集成芯片的H.264解码器芯片设计》相关文章
- › 基于USB HOST音频解码器的数字音频系统设计
- › 基于USB息线的多路电话录音系统
- › 基于USB 2.0集成芯片的H.264解码器芯片设计
- 在百度中搜索相关文章:基于USB 2.0集成芯片的H.264解码器芯片设计
- 在谷歌中搜索相关文章:基于USB 2.0集成芯片的H.264解码器芯片设计
- 在soso中搜索相关文章:基于USB 2.0集成芯片的H.264解码器芯片设计
- 在搜狗中搜索相关文章:基于USB 2.0集成芯片的H.264解码器芯片设计