视频卡设计研究管理论文
时间:2022-06-26 10:47:00
导语:视频卡设计研究管理论文一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。
摘要:本文介绍了一种基于USB2.0接口的MPEG视频卡的设计方案及其软硬件设计方法。
关键词:USB;视频卡;MPEG;WDM
通用串行总线(UniversalSerialBus,即USB)以其方便的即插即用和热插拔特性,以及较高的传输速率,成为PC领域广为应用的外设连接规范。目前,国内外普遍采用的是USB1.1规范,它支持两种传输速率:1.5Mbps和12Mbps,主要应用在低速传输要求的场合。2000年的USB2.0规范提供了480Mbs的传输速率,以满足更快的数据传输要求。
为了使MPEG视频卡快速地向PC机传送大量的数据,我们在设计MPEG视频卡与PC机的接口时采用USB2.0技术。对USB的设计与开发,我们是基于CYPRESS公司的EZ-USBFX2系列的CY7C68013芯片及其FX2开发包。
1、硬件设计
传统的采用PCI接口的MPEG视频卡,不但占用了有限的PCI插槽,安装不方便,而且不支持热插拔和即插即用。所以,在本设计中,我们选用USB2.0接口芯片对传统的MPEG视频卡进行了改进。
改进后的USB2.0接口的方案如图1所示。
该USB2.0接口的MPEG视频卡的工作原理为:音视频信号经AK4550音频处理芯片及AA7113视频处理芯片进行A/D转换,将模拟信号转换成8bit的PCM格式的数字信号,传入SZ1510音视频压缩采集芯片进行处理,将编码调制PCM格式的数据转化为符合格式MPEG-1的混合影视文件,最后MPEG-1数据经USB接口芯片送给PC机作进一步的处理,如存储、显示等。
设计中,我们选用的USB接口芯片是EZ-USBFX2系列的CY7C68013芯片。该芯片是针对USB2.0的,而且和USB1.1兼容,它支持两种传输速率:全速(Full_speed)12Mbps和高速(High_speed)480Mbps,它不支持低速(Low_speed)1.5Mbps。该芯片的内部结构如图2所示。
CY7C68013-128AC内部集成了一个增强的8051内核,它既与标准的8051兼容,又有诸多的改进:最高工作频率48MHZ,一个指令周期只需4个时钟周期,比标准的8051平均提高了2.5倍;2个UARTS端口;3个定时/记数器;扩展的中断系统及其更多I/O口等。CY7C68013内部集成的USB2.0的SIE能完成大部分USB2.0协议的处理工作,减少了用户对繁杂的USB协议的处理。另外,用户在开发时,可以利用GPIF和FIFO方式实现与高速外围设备之间的逻辑连接,并进行高速数据的传输。在该改进方案中,我们选用的是GPIF方式,实现和Z1510之间的通信。
2、软件设计
USB软件设计包括三方面的工作:固件(Fireware)设计,驱动程序设计和主机端应用程序的设计。
(1)固件设计
设计中,我们考虑到MPEG视频卡要求快速地持续地传送大量数据,并对数据的完整性要求不太高,我们采用ISO传输方式。另外,我们让CY7C68013工作在GPIF模式下的FIFORead方式,最多可以传输4Gbyte(WORDWIDE=0)或word(WORDWIDE=1)。外设的数据由于不需8051的处理,我们采用自动打包的方式(AUTOIN=1),直接从FIFO到SIE,这样有利于提高传输速率。其主要实现代码如下:
voidTD_Init()
{
CPUCS=0X01;file://CLKSPD[1:0]=10;for48MHzoperation.
GpifInit();
……
SYNCDELAY;
EP6CFG=0XDA;file://端点配置:同步IN方式、缓冲大小1024字节
SYNCDELAY;
FIFORESET=0X80;//activateNAK_ALLtoavoidraceconditions
SYNCDELAY;
FIFORESET=0X06;file://reset,FIFO6
SYNCDELAY;
FIFORESET=0X00;file://deactivateNAK_ALL
SYNCDELAY;
EP6FIFOCFG=0X0D;file://wordwide=1
SYNCDELAY;
……
}
(2)驱动程序设计
在WINDOWS平台下,USB驱动程序由三部分组成:USB设备驱动程序,USB总线驱动程序和USB主控制器驱动程序,它们必须遵循WIN32驱动程序模型(WDM)。其中,WINDOWS操作系统已经提供了处于驱动程序栈底的USB总线驱动程序和USB主控制器驱动程序。而USB设备驱动程序由设备开发者编写,它通过向USB总线驱动程序发送包含URB(USBRequestBlock)的IRP(I/ORequestPacket),来实现USB外设之间的信息交换。当主机应用程序要对USB设备进行I/O操作时,它调用WindowsAPI函数对Win32子系统进行Win32调用,由I/O管理器将此请求构造成一个合适的IRP,并把它传递给USB设备驱动程序。USB设备驱动程序接受到这个IRP后,根据IRP中包含的具体操作代码,构造响应的URB并把它放到一个新IRP中,然后把此IRP传递到USB总线驱动程序,USB总线驱动程序根据IRP中所包含的URB执行响应的操作,并把操作结果通过IRP返还给USB设备驱动程序。USB设备驱动程序接受到此IRP后,将操作结果通过IRP返还I/O管理器。最后,I/O管理器将此IRP中操作结果返还给应用程序,至此应用程序对USB设备的一次I/O操作完成。
开发USB设备驱动程序,可采用Numega公司的开发包DriverWorks和Microsoft公司的2000DDK,并以VC++6.0作为辅助开发环境。DriverWorks提供的驱动向导,,可根据用户的需要,自动生成代码框架。减少了开发的难度,缩短了开发的周期。
在CYPRESS公司的EZ-USBFX2开发包中,有一个通用的驱动程序,该程序可不加修改经DDK编译后直接使用。在本设计中,由于时间关系,我们采用的就是这个通用驱动程序(GPD)。
(3)应用程序设计
USB主机应用程序是计算机中完成特定功能的程序,其关键是实现从USB外设读取或发送特定数量的数据,USB标准设备请求和特定的命令等。另外,可以对数据做进一步的处理,如:存储、显示、快速傅立叶变换等。在WINDOWS2000下,我们所使用的应用程序开发工具是VC++6.0。
3、结束语
该卡是对传统的PCI接口的MPEG视频卡的改进,它支持热插拔和即插即用。由于采用USB2.0接口,其传输速率也高于后者,满足了数据高速传输的要求,解决了USB1.1存在的传输瓶颈。相信随着各大电脑主板商对USB2.0的支持,USB2.0必将在PC机应用的各个领域得到广泛的应用。
- 上一篇:独家原创:党员科学发展观活动实施方案
- 下一篇:干部工作作风实践与思考