USB2.0在视频压缩存储系统中的应用
发布时间:2008/5/28 0:00:00 访问次数:523
摘 要:介绍基于usb2.0技术的高清晰视频存储系统的软件、硬件实现。采用mpeg2视频压缩处理芯片mb86391和usb2.0芯片cy7c68013,给出应用实例、固件编程框图。
关键词:mpeg;usb;wdm(windows驱动模型);mb86391;cy7c68013
applicationofusb2.0invideocompactandstoresystem
wangtianxiao,sukaixiong
(electronictechnologyinstitute,collegeofphysicsandinformation,
fuzhouuniversity,fuzhou,350002,china)
abstract:thispaperintroducestherealizationofhighdefinitionvideocompactandstoresystembasedonusb2.0technologyincludingthesoftwareandhardwareusingmpeg2videocompactchipmb86391andusb2.0chipcy7c68013providesapplicationexampleandfirmwarestructure
keywords:mpeg;usb;wdm(windowsdrivermodel);mb86391;cy7c68013
1引言
在组建流媒体服务器时,为了能容纳更多的在线并发用户,要求在前端的视频流需经过压缩且传输到pc的接口速度不应成为瓶颈。在家庭dvr(数字视频存储)应用中,家用电脑的普及使人们希望通过简单的接口在pc上观看电视节目,并存储、回放精彩片断。对于拥有dv的人们,希望能把自拍的视频存储到pc中并加以剪辑。mpeg2压缩技术和usb接口正好满足这样的要求。
本文设计的系统相当于一个视频采集卡,带有压缩功能,并且采用usb接口。目前大多数的采集卡是基于pci接口,他的缺点是置于机箱内部,容易受到干扰;而且pci插槽数目有限;虽然pci的传输速度理论上达到133mb/s,但是pci插槽要分享此带宽。现在支持usb2.0的主机板越来越多,他的传输速度理论上达到480mb/s,在实际测试中也可达到200mb/s,完全满足流媒体传输对带宽的要求,再加上usb接口即插即用,置于pc外部,工作电流为500ma,因此把usb技术引入到采集系统是合适的。
2系统硬件结构
系统的硬件框架如图1所示,主要由2个主芯片构成,一个是视频压缩部分的mb86391,他完成mpeg的硬件压缩;另一个是usb2.0芯片,他完成数据的传输和usb协议的实现,并且利用集成的51内核作为其他芯片的控制端。
模拟视频信号先经过saa7113视频a/d转换形成8b的yuv4∶2∶2数字信号输入到mb86391的视频输入接口dvideo[70]。模拟音频信号则通过pcm1800进行a/d转换,形成串行数字信号,输入到go7007sb的sdata引脚。音频a/d转换需要pcm1723提供与压缩芯片的时钟相位锁相的时钟信号。音视频数字信号经mb86391的压缩处理后,输出符合mpeg1/2标准的混合影音码流。该码流通过8位并行接口与68013的fd[7..0]相连,usb芯片采用slavefifo方式接收数据,一个fifo写满后就向usb核心发中断,核心收到中断后把fifo中的数据发往pc,完成一次的数据传送,同时第二个fifo区也在继续接收mb86391的码流,4个fifo轮流接收。mb86391作为该电路的主芯片,由1个e2prom进行编程和初始化。另外,压缩处理过程中需要很大的缓存,所以外接1块8mb的sdram。
2.1视频压缩
视频压缩是当今许多图像、多媒体应用中的尖端技术,也是最重要的一部分。高清晰电视图像数字化后一般都达到了1gb/s,以目前的传输网络和存储容量,一定要先进行压缩。本文采用的是mb86391视频压缩芯片,208脚、hqfp封装、0.18μm工艺、工作频率27/54mhz。其主要特性如下:
(1)编码符合iso/iec138182(mpeg1video)mp@ml或iso/iec111722(mpeg1video)。
(2)25hz隔行扫描时,最大的屏幕尺寸:720×576。
(3)d1格式和yuv输入。
(4)8b并行同步方式输出。
(5)复合音频视频输出,最大的码流速率20mb/s。
86391外接1片4mb的flashrom,上电直接加rom并且用串口进行参数配置,所以必须加1块rs232电平转换芯片max3222,通过串口向mb86391相应的寄存器地址写入数值,来控制压缩过程。
2.2数据传输
赛普拉斯公司提供的cy68013芯片是世界上第一款集成usb2.0的微处理器,集成了usb2.0收发器、sie(串行接口引擎)、增强的8051微控制器和可编程的外围接口。gpif(generalprogrammableinterface)和主/从端点fifo(8位或16位数据总线),为ata,utopia,epp,pcmcia和dsp等提供了简单和无缝连接接口。
68013片内集成了4kb的内部fifo,可以分成4个端点双缓冲区,即1个端点包括1个输入缓冲区和1个输出缓冲区,1个缓冲区的大小是512b,4个缓冲区的选择由fifoadr[1:0]的4个状态决定,例如初始化后fifoadr[1:0]=00,此时选中enpoint2,当mb86391有数据要传输时,sten出现高电平,cpld把stdata的8位数据送往fd总线,在ifclk同步时钟的控制下,向端点2的输入缓冲区fifo写入数据,cpld同时对时钟进行计数,当达到188时,送出pkten,表示1帧的数据传输完毕,usb核心收到这个帧结束的标志后读端点2的输入fifo,响应in请求把数据送出;cpld除了设定n=18
摘 要:介绍基于usb2.0技术的高清晰视频存储系统的软件、硬件实现。采用mpeg2视频压缩处理芯片mb86391和usb2.0芯片cy7c68013,给出应用实例、固件编程框图。
关键词:mpeg;usb;wdm(windows驱动模型);mb86391;cy7c68013
applicationofusb2.0invideocompactandstoresystem
wangtianxiao,sukaixiong
(electronictechnologyinstitute,collegeofphysicsandinformation,
fuzhouuniversity,fuzhou,350002,china)
abstract:thispaperintroducestherealizationofhighdefinitionvideocompactandstoresystembasedonusb2.0technologyincludingthesoftwareandhardwareusingmpeg2videocompactchipmb86391andusb2.0chipcy7c68013providesapplicationexampleandfirmwarestructure
keywords:mpeg;usb;wdm(windowsdrivermodel);mb86391;cy7c68013
1引言
在组建流媒体服务器时,为了能容纳更多的在线并发用户,要求在前端的视频流需经过压缩且传输到pc的接口速度不应成为瓶颈。在家庭dvr(数字视频存储)应用中,家用电脑的普及使人们希望通过简单的接口在pc上观看电视节目,并存储、回放精彩片断。对于拥有dv的人们,希望能把自拍的视频存储到pc中并加以剪辑。mpeg2压缩技术和usb接口正好满足这样的要求。
本文设计的系统相当于一个视频采集卡,带有压缩功能,并且采用usb接口。目前大多数的采集卡是基于pci接口,他的缺点是置于机箱内部,容易受到干扰;而且pci插槽数目有限;虽然pci的传输速度理论上达到133mb/s,但是pci插槽要分享此带宽。现在支持usb2.0的主机板越来越多,他的传输速度理论上达到480mb/s,在实际测试中也可达到200mb/s,完全满足流媒体传输对带宽的要求,再加上usb接口即插即用,置于pc外部,工作电流为500ma,因此把usb技术引入到采集系统是合适的。
2系统硬件结构
系统的硬件框架如图1所示,主要由2个主芯片构成,一个是视频压缩部分的mb86391,他完成mpeg的硬件压缩;另一个是usb2.0芯片,他完成数据的传输和usb协议的实现,并且利用集成的51内核作为其他芯片的控制端。
模拟视频信号先经过saa7113视频a/d转换形成8b的yuv4∶2∶2数字信号输入到mb86391的视频输入接口dvideo[70]。模拟音频信号则通过pcm1800进行a/d转换,形成串行数字信号,输入到go7007sb的sdata引脚。音频a/d转换需要pcm1723提供与压缩芯片的时钟相位锁相的时钟信号。音视频数字信号经mb86391的压缩处理后,输出符合mpeg1/2标准的混合影音码流。该码流通过8位并行接口与68013的fd[7..0]相连,usb芯片采用slavefifo方式接收数据,一个fifo写满后就向usb核心发中断,核心收到中断后把fifo中的数据发往pc,完成一次的数据传送,同时第二个fifo区也在继续接收mb86391的码流,4个fifo轮流接收。mb86391作为该电路的主芯片,由1个e2prom进行编程和初始化。另外,压缩处理过程中需要很大的缓存,所以外接1块8mb的sdram。
2.1视频压缩
视频压缩是当今许多图像、多媒体应用中的尖端技术,也是最重要的一部分。高清晰电视图像数字化后一般都达到了1gb/s,以目前的传输网络和存储容量,一定要先进行压缩。本文采用的是mb86391视频压缩芯片,208脚、hqfp封装、0.18μm工艺、工作频率27/54mhz。其主要特性如下:
(1)编码符合iso/iec138182(mpeg1video)mp@ml或iso/iec111722(mpeg1video)。
(2)25hz隔行扫描时,最大的屏幕尺寸:720×576。
(3)d1格式和yuv输入。
(4)8b并行同步方式输出。
(5)复合音频视频输出,最大的码流速率20mb/s。
86391外接1片4mb的flashrom,上电直接加rom并且用串口进行参数配置,所以必须加1块rs232电平转换芯片max3222,通过串口向mb86391相应的寄存器地址写入数值,来控制压缩过程。
2.2数据传输
赛普拉斯公司提供的cy68013芯片是世界上第一款集成usb2.0的微处理器,集成了usb2.0收发器、sie(串行接口引擎)、增强的8051微控制器和可编程的外围接口。gpif(generalprogrammableinterface)和主/从端点fifo(8位或16位数据总线),为ata,utopia,epp,pcmcia和dsp等提供了简单和无缝连接接口。
68013片内集成了4kb的内部fifo,可以分成4个端点双缓冲区,即1个端点包括1个输入缓冲区和1个输出缓冲区,1个缓冲区的大小是512b,4个缓冲区的选择由fifoadr[1:0]的4个状态决定,例如初始化后fifoadr[1:0]=00,此时选中enpoint2,当mb86391有数据要传输时,sten出现高电平,cpld把stdata的8位数据送往fd总线,在ifclk同步时钟的控制下,向端点2的输入缓冲区fifo写入数据,cpld同时对时钟进行计数,当达到188时,送出pkten,表示1帧的数据传输完毕,usb核心收到这个帧结束的标志后读端点2的输入fifo,响应in请求把数据送出;cpld除了设定n=18