1引言
在组建流媒体服务器时,为了能容纳更多的在线并发用户,要求在前端的视频流需经过压 缩 且传输到PC的接口速度不应成为瓶颈。在家庭DVR(数字视频存储)应用中,家用电脑的普 及使人们希望通过简单的接口在PC上观看电视节目,并存储、回放精彩片断。 对于拥有DV的人们,希望能把自拍的视频存储到PC中并加以剪辑。MPEG2压缩技术 和USB接口正好满足这样的要求。
本文设计的系统相当于一个视频采集卡,带有压缩功能,并且采用USB接口。目前大 多数的采集卡是基于PCI接口,他的缺点是置于机箱内部,容易受到干扰;而且PCI插槽数目 有限;虽然PCI的传输速度理论上达到133 MB/s,但是PCI插槽要分享此带宽。现 在支持USB 2.0的主机板越来越多,他的传输速度理论上达到480 Mb/s,在实际测试中也可 达到200 Mb/s,完全满足流媒体传输对带宽的要求,再加上USB接口即插即用,置于PC外部 ,工作电流为500mA,因此把USB技术引入到采集系统是合适的。
2系统硬件结构
系统的硬件框架如图1所示,主要由2个主芯片构成,一个是视频压缩部分的MB86391,他 完成MPEG的硬件压缩;另一个是USB 2.0芯片,他完成数据的传输和USB协议的实现,并且 利用集成的51内核作为其他芯片的控制端。 模拟视频信号先经过SAA7113视频A/D转换形成8 b的YUV4∶2∶2数字信号输入到MB86391 的 视频输入接口DVIDEO[70]。模拟音频信号则通过PCM1800进行A/D转换,形成串行数字 信号,输入到GO7007SB的SDATA引脚。音频A/D转换需要PCM1723提供与压缩芯片的时钟相位 锁 相的时钟信号。音视频数字信号经MB86391的压缩处理后,输出符合MPEG 1/2标准的 混合影音码流。该码流通过8位并行接口与68013的FD[7..0]相连,USB芯片采用Sla ve FIFO方式接收数据,一个FIFO写满后就向USB核心发中断,核心收到中断后把FIFO中的数据 发往PC,完成 一次的数据传送,同时第二个FIFO区也在继续接收MB86391的码流,4个FIFO轮流接收。MB8 6391作为该电路的主芯片,由1个E2PROM进行编程和初始化。另外,压缩处理过程中需要 很大的缓存,所以外接1块8 MB的SDRAM。
2.1视频压缩
视频压缩是当今许多图像、多媒体应用中的尖端技术,也是最重要的一部分。高清晰电视 图像 数字化后一般都达到了1 Gb/s,以目前的传输网络和存储容量,一定要先进行压缩。本文采 用的是MB86391视频压缩芯片,208脚、HQFP封装、0.18 μm工艺、工作频率27/54 MHz。其 主要特性如下:
(1)编码符合ISO/IEC138182(MPEG1 video)MP@ML或ISO/IEC111722(MPEG1 video)。
(2)25 Hz隔行扫描时,最大的屏幕尺寸:720×576。
(3)D1格式和YUV输入。
(4)8 b并行同步方式输出。
(5)复合音频视频输出,最大的码流速率20 Mb/s。
86391外接1片4 Mb的FLASHROM,上电直接加ROM并且用串口进行参数配置,所 以必须加 1块RS 232电平转换芯片MAX3222,通过串口向MB86391相应的寄存器地址写入数值,来控制 压缩过程。
2.2数据传输
赛普拉斯公司提供的CY68013芯片是世界上第一款集成USB 2.0的微处理器,集成了USB 2.0 收发器、SIE(串行接口引擎)、增强的8051微控制器和可编程的外围接口。GPIF(Genera l Programmable Interface)和主/从端点FIFO(8位或16位数据总线),为ATA,UTOPIA,E PP,PCMCIA和DSP等提供了简单和无缝连接接口。 [page]
68013片内集成了4 kB的内部FIFO,可以分成4个端点双缓冲区,即1个端点包括1个 输入缓冲区和1个输出缓冲区,1个缓冲区的大小是512 B,4个缓冲区的选择由FIFOADR [1:0]的4个状态决定,例如初始化后FIFOADR[1:0]=00,此时选中ENPOINT2,当MB 86391有 数据要传输时,STEN出现高电平,CPLD把STDATA的8位数据送往FD总线,在IFCLK同步时 钟的控制下,向端点2的输入缓冲区FIFO写入数据,CPLD同时对时钟进行计数,当达到188时 ,送出PKTEN,表示1帧的数据传输完毕,USB核心收到这个帧结束的标志后读端点2的 输入FIFO,响应IN请求把数据送出;CPLD除了设定N=188的计数器外,还设定了一个N =4的计数器,每当一个帧满后,以00,01,10,11的状态翻转,并把这状态当作FIFOADR [1:0]的输入,使得CPLD能持续接受数据并轮流向68013的4个输入缓冲区写入。FLAG 设置为Indexed Mode,并且FLAGB表示当前FIFO满状态,而FLAGC表示当前FIFO空状态,CPLD 只有检测到FLAGC的有效状态时,才会往MB86391发请求STREQ,告诉MB86391已准备好接收。 E2USB FX2 Slave FIFO工作模式下数据接口如图2所示。 3软件结构
开发USB接口的应用系统最重要的就是USB驱动程序和固件程序的编制。本文采 用赛普拉斯公司提供的CY7C68013芯片及其开发板,我们可以从复杂的USB驱动程序中解 脱出来,而把主要精力放在芯片的固件程序的编写上。软件结构如图3所示。 3.1应用程序
应用程序把USB设备看成一个文件,对设备的操作相当于读写文件一样的简单,应 用程序与驱动程序的通信主要是通过以下几个函数来实现的:
(1) 打开设备句柄函数
(3)写设备函数
在实际编写应用程序时只需将上述3个函数加入到相应的功能模块中便可完成Win 32应用 程序对USB设备进行打开、读、写操作,实现二者之间的通信。 [page]
3.2固件程序
固件程序的编译采用Keil C,他具有C的编程风格,可以方便的设置断点,查看各个 寄存器的值,编程效率高。Cypress公司提供固件框架,需要根据具体应用,选择相应的 函数逐一填写函数体。固件程序框架如图4所示,图4(a)所示是主程序, 完成USB的枚举和初 始化,循环等待时,当SIE发现Setup Packet,就分析执行设备请求,进入到图4( b)中的USB中断处理程序。 USB中断处理程序完成对设备请求的响应,包括接收/发送事件处理,状态转换处理和握 手事件处理。其中当主机发出IN请求时,就会触发接收事件处理程序,主程序调用TD_Pol l函数,完成一次的数据传送。
4结语
USB 2.0在理论上满负荷传输速率是480 Mb/s,在Bulk批量传输方式下,传输极限是53.248 Mb/s,即在1 ms时间片断内再细分为8个微帧,每个微帧可以插入13个512 B的数据 包,实践证明,这种方式能提供稳健的无错传输,适合传输高质量的图像。
MB86391输出的平均码流最大为20 Mb/s,所以在实际传输测试中,不会出现速度瓶颈,完全 满足大容量高质量图像传输系统的要求。
参考文献
[1]许永和.EZUSB FX系列单片机USB外围设备设计与应用[M ].北京:北京航空航天大学出版社,2002.
[2]曹晨,杨作梅.高清晰度数字视频原理与应用[M].北京:电子工业 出版社,2002.
[3]萧世文.USB 2.0硬件设计[M].北京:清华大学出版社,2002.
[4]Chris Cant.Writing Windows WDM Device Drivers[M].孙义,马莉波,国雪飞,等译.北京:机械工业出版社,2000.(end)
关键字:USB2.0 视频压缩 存储系统
引用地址:USB2.0在视频压缩存储系统中的应用
在组建流媒体服务器时,为了能容纳更多的在线并发用户,要求在前端的视频流需经过压 缩 且传输到PC的接口速度不应成为瓶颈。在家庭DVR(数字视频存储)应用中,家用电脑的普 及使人们希望通过简单的接口在PC上观看电视节目,并存储、回放精彩片断。 对于拥有DV的人们,希望能把自拍的视频存储到PC中并加以剪辑。MPEG2压缩技术 和USB接口正好满足这样的要求。
本文设计的系统相当于一个视频采集卡,带有压缩功能,并且采用USB接口。目前大 多数的采集卡是基于PCI接口,他的缺点是置于机箱内部,容易受到干扰;而且PCI插槽数目 有限;虽然PCI的传输速度理论上达到133 MB/s,但是PCI插槽要分享此带宽。现 在支持USB 2.0的主机板越来越多,他的传输速度理论上达到480 Mb/s,在实际测试中也可 达到200 Mb/s,完全满足流媒体传输对带宽的要求,再加上USB接口即插即用,置于PC外部 ,工作电流为500mA,因此把USB技术引入到采集系统是合适的。
2系统硬件结构
系统的硬件框架如图1所示,主要由2个主芯片构成,一个是视频压缩部分的MB86391,他 完成MPEG的硬件压缩;另一个是USB 2.0芯片,他完成数据的传输和USB协议的实现,并且 利用集成的51内核作为其他芯片的控制端。 模拟视频信号先经过SAA7113视频A/D转换形成8 b的YUV4∶2∶2数字信号输入到MB86391 的 视频输入接口DVIDEO[70]。模拟音频信号则通过PCM1800进行A/D转换,形成串行数字 信号,输入到GO7007SB的SDATA引脚。音频A/D转换需要PCM1723提供与压缩芯片的时钟相位 锁 相的时钟信号。音视频数字信号经MB86391的压缩处理后,输出符合MPEG 1/2标准的 混合影音码流。该码流通过8位并行接口与68013的FD[7..0]相连,USB芯片采用Sla ve FIFO方式接收数据,一个FIFO写满后就向USB核心发中断,核心收到中断后把FIFO中的数据 发往PC,完成 一次的数据传送,同时第二个FIFO区也在继续接收MB86391的码流,4个FIFO轮流接收。MB8 6391作为该电路的主芯片,由1个E2PROM进行编程和初始化。另外,压缩处理过程中需要 很大的缓存,所以外接1块8 MB的SDRAM。
2.1视频压缩
视频压缩是当今许多图像、多媒体应用中的尖端技术,也是最重要的一部分。高清晰电视 图像 数字化后一般都达到了1 Gb/s,以目前的传输网络和存储容量,一定要先进行压缩。本文采 用的是MB86391视频压缩芯片,208脚、HQFP封装、0.18 μm工艺、工作频率27/54 MHz。其 主要特性如下:
(1)编码符合ISO/IEC138182(MPEG1 video)MP@ML或ISO/IEC111722(MPEG1 video)。
(2)25 Hz隔行扫描时,最大的屏幕尺寸:720×576。
(3)D1格式和YUV输入。
(4)8 b并行同步方式输出。
(5)复合音频视频输出,最大的码流速率20 Mb/s。
86391外接1片4 Mb的FLASHROM,上电直接加ROM并且用串口进行参数配置,所 以必须加 1块RS 232电平转换芯片MAX3222,通过串口向MB86391相应的寄存器地址写入数值,来控制 压缩过程。
2.2数据传输
赛普拉斯公司提供的CY68013芯片是世界上第一款集成USB 2.0的微处理器,集成了USB 2.0 收发器、SIE(串行接口引擎)、增强的8051微控制器和可编程的外围接口。GPIF(Genera l Programmable Interface)和主/从端点FIFO(8位或16位数据总线),为ATA,UTOPIA,E PP,PCMCIA和DSP等提供了简单和无缝连接接口。 [page]
68013片内集成了4 kB的内部FIFO,可以分成4个端点双缓冲区,即1个端点包括1个 输入缓冲区和1个输出缓冲区,1个缓冲区的大小是512 B,4个缓冲区的选择由FIFOADR [1:0]的4个状态决定,例如初始化后FIFOADR[1:0]=00,此时选中ENPOINT2,当MB 86391有 数据要传输时,STEN出现高电平,CPLD把STDATA的8位数据送往FD总线,在IFCLK同步时 钟的控制下,向端点2的输入缓冲区FIFO写入数据,CPLD同时对时钟进行计数,当达到188时 ,送出PKTEN,表示1帧的数据传输完毕,USB核心收到这个帧结束的标志后读端点2的 输入FIFO,响应IN请求把数据送出;CPLD除了设定N=188的计数器外,还设定了一个N =4的计数器,每当一个帧满后,以00,01,10,11的状态翻转,并把这状态当作FIFOADR [1:0]的输入,使得CPLD能持续接受数据并轮流向68013的4个输入缓冲区写入。FLAG 设置为Indexed Mode,并且FLAGB表示当前FIFO满状态,而FLAGC表示当前FIFO空状态,CPLD 只有检测到FLAGC的有效状态时,才会往MB86391发请求STREQ,告诉MB86391已准备好接收。 E2USB FX2 Slave FIFO工作模式下数据接口如图2所示。 3软件结构
开发USB接口的应用系统最重要的就是USB驱动程序和固件程序的编制。本文采 用赛普拉斯公司提供的CY7C68013芯片及其开发板,我们可以从复杂的USB驱动程序中解 脱出来,而把主要精力放在芯片的固件程序的编写上。软件结构如图3所示。 3.1应用程序
应用程序把USB设备看成一个文件,对设备的操作相当于读写文件一样的简单,应 用程序与驱动程序的通信主要是通过以下几个函数来实现的:
(1) 打开设备句柄函数
(3)写设备函数
在实际编写应用程序时只需将上述3个函数加入到相应的功能模块中便可完成Win 32应用 程序对USB设备进行打开、读、写操作,实现二者之间的通信。 [page]
3.2固件程序
固件程序的编译采用Keil C,他具有C的编程风格,可以方便的设置断点,查看各个 寄存器的值,编程效率高。Cypress公司提供固件框架,需要根据具体应用,选择相应的 函数逐一填写函数体。固件程序框架如图4所示,图4(a)所示是主程序, 完成USB的枚举和初 始化,循环等待时,当SIE发现Setup Packet,就分析执行设备请求,进入到图4( b)中的USB中断处理程序。 USB中断处理程序完成对设备请求的响应,包括接收/发送事件处理,状态转换处理和握 手事件处理。其中当主机发出IN请求时,就会触发接收事件处理程序,主程序调用TD_Pol l函数,完成一次的数据传送。
4结语
USB 2.0在理论上满负荷传输速率是480 Mb/s,在Bulk批量传输方式下,传输极限是53.248 Mb/s,即在1 ms时间片断内再细分为8个微帧,每个微帧可以插入13个512 B的数据 包,实践证明,这种方式能提供稳健的无错传输,适合传输高质量的图像。
MB86391输出的平均码流最大为20 Mb/s,所以在实际传输测试中,不会出现速度瓶颈,完全 满足大容量高质量图像传输系统的要求。
参考文献
[1]许永和.EZUSB FX系列单片机USB外围设备设计与应用[M ].北京:北京航空航天大学出版社,2002.
[2]曹晨,杨作梅.高清晰度数字视频原理与应用[M].北京:电子工业 出版社,2002.
[3]萧世文.USB 2.0硬件设计[M].北京:清华大学出版社,2002.
[4]Chris Cant.Writing Windows WDM Device Drivers[M].孙义,马莉波,国雪飞,等译.北京:机械工业出版社,2000.(end)
上一篇:USB技术在现场校验仪中的应用
下一篇:基于DVI接口的图像总线控制系统
推荐阅读最新更新时间:2024-05-02 22:42
基于FM18L08的高速数据存储系统
摘要:FM18L08是Ramtron公司新近推出的一种新型铁电随机存储器。该存储器克服了EEPROM和Flash器件写入时间长、擦写次数少等缺点,而且价格也相对不高。文章介绍了FM18L08的主要特点和引脚功能,并在此基础上给出了基于FM18L08的高速数据存储系统的设计方案。同时给出了FM18L08存储器与单片机的接口连接电路。
关键词:铁电存储器;FM18L08;高速数据存储
在一些需要下位机单独工作的特殊场合(如民用“黑匣子”装置和军用弹载测试设备等),其数据的高速存储和掉电不丢失特性就显得非常关键。铁电存储器(FRAM)是Ramtron公司近年来推出的一种与SRAM相似但却具有非易失性的随机存储器,它没有BSRAM模
[应用]
基于G.729语音压缩编译码算法的嵌入式语音存储系统设计
为了有效地节省语音数据的传输带宽和存储系统的磁盘空间,需要在保证语音质量的前提下尽可能降低其编码比特率。本设计采用经过优化的G.729语音压缩编译码算法,以ARM处理器为载体,开发的嵌入式语音存储系统可实现语音信号的海量存储,而且处理速度快、可靠性好、扩展方便。通过严格的测试和评估,该系统能够实现对大量语音数据的压缩和记录,各项指标基本达到了预期的水平。 1 系统控制核心 嵌入式操作系统软硬件结构框图如图1所示,由硬件层、驱动层、系统层和应用层组成。硬件层包括嵌入式处理器最小系统、存储器(SD RAM、Flash、ROM等)、通用设备接口和I/O接口(A/D、D/A、I/O等),其中Linux实时操作系统和应用程序
[单片机]
H.264视频压缩快速运动估计算法 DCS算法
H.264是现有最重要数据压缩编码国际标准之一。 快速运动估计算法一直是视频压缩中的研究热点。本文针对一些快速估计算法过早确定了搜索方向,容易陷入局部最小点,损失了搜索精度的情况,在原有基础上,运用菱形十字搜索算法(DCS)与阈值估计相结合的方法提高了运动估计的性能。实验结果表明,该算法可以用较小的搜索代价取得与全搜索(FS)相当的效果,并且在搜索速度方面优于钻石法DS)。 0 引言 H.264采用了减少视频图像各帧间冗余度的运动估计算法。运动估计算法传统的有全搜索(FS)、三步搜索(TSS)、新三步搜索(NTSS)、四步搜索(FSS)等;常用的是钻石搜索(DS)和非对称十字交叉多层次六边形格点运动搜索算法(UMH
[模拟电子]
数字视频压缩的大容量记录系统设计
引言
随着计算机技术、多媒体和数据通信技术的迅速发展,数字视频的应用越来越广,如视频监控、视频会议和移动电视等。数字视频数据量巨大,不利于传输和存储,使其应用受到很大限制。为解决视频数据的存储和传输问题,唯一的途径就是对视频数据进行压缩。常见的视频压缩方法有MPEG系列和H.26x系列。考虑到压缩技术的成熟度、成本和主要用途,采用MPEG-1作为压缩标准,设计出基于ARM处理器的嵌入式数字视频记录系统。该系统适用于视频监控、视频会议等多种应用场合,同时还可安装在飞行器上,用于实时记录飞行器的飞行及训练过程中的各种信息。
目前,市场上有大量的基于PCI总线的MPEG-1视频压缩卡和PC机构架的网络视频服务器。与之相比,我们
[应用]
H.264在ADSP-BF561上的实现与优化
目前,音视频技术日新月异,其中,视频实时编码传输极具代表性。在视频压缩算法领域,新一代视频压缩标准H.264以其优异的压缩性能和图像质量使视频实时编码传输技术的实现成为可能。但该标准的计算复杂度高,用一般的图像处理芯片难以达到实时编解码的要求,它需要快速、稳定的处理器作为硬件平台。ADSP-BF561是ADI公司推出的高性能多媒体处理器。其主要特点是具有两个ADSP-BF533处理器核心(以下简称核心A和核心B),最高时钟频率达到600MHz,其内部采用哈佛总线结构,存储模型层次化。其典型应用模式是A核运行嵌入式操作系统,B核运行多媒体处理算法,如H.264。本文提出了一套采用ADSP-BF561芯片实现H.264视频压缩算
[嵌入式]
视频监控的存储系统及RAID等级应用
多年来,随着模拟内容逐渐向数字内容过渡,新的视频监控应用模式应运而生。企业安保团队和信息技术团队需要不断加强合作,共同设计可满足更复杂要求的解决方案。举一个例子,尽管大约 95% 的视频监控 I/O 操作为写入操作,但大多数企业级存储系统都旨在加快读取速度,而写入速度经常会受到数据保护因素的制约。 写入应用与传统的读/写系统在规范方面有所不同。首先,与视频片段丢失 (footage loss) 相关的风险程度是此类存储应用客户需要加以考虑的最重要的决定因素。其他需要关心的因素还包括存储容量、分辨率和数据保护等。 选择哪种 RAID 等级在很大程度上取决于上述因素的最终优先顺序。为了获得最佳存储解决方案,我们需要全面深
[模拟电子]
基于ARM和FPGA的嵌入式高速图像采集存储系统
现代化生产和科学研究对图像采集系统要求日益提高。传统图像采集系统大都是基于PC机上,而在一些特殊的场合,尤其是在实时性要求较高时,普通的PC机显然无法满足应用要求。文中设计了一种基于ARM和FPGA的嵌入式的图像采集存储系统,可以很好地解决实时的嵌入式图像采集和存储问题。它主要包括图像采集模块、图像处理模块以及图像存储模块等。 1 系统结构及工作原理 本系统的结构模型,如图1所示。图像采集模块负责采集原始图像,并将原始图像数据送给FPGA,采用了可编程视频输入处理器SAA7113H。原始图像数据送到FPGA后,FPGA将原始图像数据暂存于两个SRAM中,系统采用了Alter公司的EPlK30TCl44—3和ICSI公司的I
[单片机]
基于USB2.0单片机的全数字图像的实时采集设计
引言 传统的方法是用视频采集卡(如1394)对视频信号进行采集,利用相应的软件传给PC机,既不方便,也不经济。本文介绍一种利用Cypress公司2002年发布的世界上第一块带 有USB2.0接口的芯片CY7C68013与PC机(主板为支持USB2.0的华硕主板PB533)实现了高分辨率(640×480点阵以上)、快速(24帧/s以上)、全数字图像的实时采集系统。 1 数字图像的实时采集原理 数字图像的实时采集原理如图1所示。在图1中,以Omnivision technologies公司的OV7620/7120芯片作为图像采集芯片,其主要特点是该芯片可提供0.5~30帧/s,640×480像素点阵CMOS的彩色或黑白数字
[单片机]