位置:51电子网 » 技术资料 » 接口电路

基于USB2.0的MPEG视频卡的设计与实现

发布时间:2008/6/3 0:00:00 访问次数:425

作者email: lql0607@163.com

摘 要: 本文介绍了一种基于usb2.0接口的mpeg视频卡的设计方案及其软硬件设计方法。

关键词 :usb; 视频卡; mpeg; wdm

通用串行总线(universal serial bus,即usb)以其方便的即插即用和热插拔特性,以及较高的传输速率,成为pc领域广为应用的外设连接规范。目前,国内外普遍采用的是usb1.1规范,它支持两种传输速率:1.5mbps和12mbps,主要应用在低速传输要求的场合。2000年发布的usb2.0规范提供了480mbs的传输速率,以满足更快的数据传输要求。

为了使mpeg视频卡快速地向pc机传送大量的数据,我们在设计mpeg视频卡与pc机的接口时采用usb2.0技术。对usb的设计与开发,我们是基于cypress公司的ez-usb fx2系列的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-usb fx2 系列的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模式下的fifo read方式,最多可以传输4g byte(wordwide=0)或word(wordwide=1)。外设的数据由于不需8051的处理,我们采用自动打包的方式(autoin=1),直接从fifo到sie,这样有利于提高传输速率。其主要实现代码如下:

void td_init( )
{
cpucs = 0x01;    file://clkspd[1:0]=10; for 48mhz operation.
gpifinit( );
……
syncdelay;
ep6cfg = 0xda;    file://端点配置: 同步in方式、缓冲大小1024字节
syncdelay;
fiforeset = 0x80;   // activate nak_all to avoid race conditions
syncdelay;
fiforeset = 0x06;   file://reset, fifo 6
syncdelay;
fiforeset = 0x00;  file://deactivate nak_all

syncdelay;
ep6fifocfg = 0x0d; file://wordwide=1
syncdelay;
……
}

(2) 驱动程序设计

在windows平台下,usb 驱动程序由三部分组成:usb设备驱动程序,usb总线驱动程序和usb主控制器驱动程序,它们必须遵循win32驱动程序模型(wdm)。其中,windows操作系统已经提供了处于驱动程序栈底的usb总线驱动程序和usb主控制器驱动程序。而usb设备驱动程序由设备开发者编写,它通过向usb总线驱动程序发送包含urb(usb request block)的irp(i/o request packet),来实现usb外设之间的信息交换。当主机应用程序要对usb设备进行i/o操作时,它调用windows api函数对win32子系统进行win32调用,由i/o管理器将此请求构造成一个合适的irp,并把它传递给usb设备驱动程序。usb设备驱动程序接受到这个irp后,根据irp中包含的具体操作代码,构造响应的urb并把它放到一个新irp中,然后把此irp传递到usb总线驱动程序,usb总线驱动程序根据irp中所包含的urb执行响应的操作,并把操作结果通过irp返还给usb设备驱动程序。usb设备驱动程序接受到此irp后,将操作结

作者email: lql0607@163.com

摘 要: 本文介绍了一种基于usb2.0接口的mpeg视频卡的设计方案及其软硬件设计方法。

关键词 :usb; 视频卡; mpeg; wdm

通用串行总线(universal serial bus,即usb)以其方便的即插即用和热插拔特性,以及较高的传输速率,成为pc领域广为应用的外设连接规范。目前,国内外普遍采用的是usb1.1规范,它支持两种传输速率:1.5mbps和12mbps,主要应用在低速传输要求的场合。2000年发布的usb2.0规范提供了480mbs的传输速率,以满足更快的数据传输要求。

为了使mpeg视频卡快速地向pc机传送大量的数据,我们在设计mpeg视频卡与pc机的接口时采用usb2.0技术。对usb的设计与开发,我们是基于cypress公司的ez-usb fx2系列的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-usb fx2 系列的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模式下的fifo read方式,最多可以传输4g byte(wordwide=0)或word(wordwide=1)。外设的数据由于不需8051的处理,我们采用自动打包的方式(autoin=1),直接从fifo到sie,这样有利于提高传输速率。其主要实现代码如下:

void td_init( )
{
cpucs = 0x01;    file://clkspd[1:0]=10; for 48mhz operation.
gpifinit( );
……
syncdelay;
ep6cfg = 0xda;    file://端点配置: 同步in方式、缓冲大小1024字节
syncdelay;
fiforeset = 0x80;   // activate nak_all to avoid race conditions
syncdelay;
fiforeset = 0x06;   file://reset, fifo 6
syncdelay;
fiforeset = 0x00;  file://deactivate nak_all

syncdelay;
ep6fifocfg = 0x0d; file://wordwide=1
syncdelay;
……
}

(2) 驱动程序设计

在windows平台下,usb 驱动程序由三部分组成:usb设备驱动程序,usb总线驱动程序和usb主控制器驱动程序,它们必须遵循win32驱动程序模型(wdm)。其中,windows操作系统已经提供了处于驱动程序栈底的usb总线驱动程序和usb主控制器驱动程序。而usb设备驱动程序由设备开发者编写,它通过向usb总线驱动程序发送包含urb(usb request block)的irp(i/o request packet),来实现usb外设之间的信息交换。当主机应用程序要对usb设备进行i/o操作时,它调用windows api函数对win32子系统进行win32调用,由i/o管理器将此请求构造成一个合适的irp,并把它传递给usb设备驱动程序。usb设备驱动程序接受到这个irp后,根据irp中包含的具体操作代码,构造响应的urb并把它放到一个新irp中,然后把此irp传递到usb总线驱动程序,usb总线驱动程序根据irp中所包含的urb执行响应的操作,并把操作结果通过irp返还给usb设备驱动程序。usb设备驱动程序接受到此irp后,将操作结

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!