用于数字影视压缩标准传输码流传输的usb主机控制器的制作方法

文档序号:7656352阅读:194来源:国知局
专利名称:用于数字影视压缩标准传输码流传输的usb主机控制器的制作方法
技术领域
本发明涉及一种适用于MPEG TS即数字影视压缩标准传输码流传输的USB主机控制器, 尤其是一种基于现有的通用USB主机控制芯片的USB主机控制器;以及一种带有TS接口的适 用于TS传输的USB主机控制芯片,和利用该芯片设计的USB主机控制器。
技术背景MPEG即数字影视压縮标准是运动图像专家组制定的一系列数字压縮手段使运动图象压缩 的国际标准。MPEG在数字电视、CD、 DVD、视频点播等领域得到了广泛的应用。MPEG标准规 定了一种可以在有噪信道中进行远距离传输的传送码流TS (Transport Stream)。 TS是具有 共同时间基准或具有独立时间基准的一个或多个节目基本流组合而成的单一的数据流,它是 传输MPEG数据时候的传输层接口 。目前,标准的MPEGTS的基带传输接口有两种同步并行接口 SPI (synchronous parallel interface)和同步串行接口 SSI (synchronous serial interface)。现有的MEPG解码芯片、 MPEG编码芯片等通常都带有标准的SPI或/和SSI。USB是一款性能优良应用广泛的通用串行总线接口。 USB主要有如下几个特点具有良好 的通用性,可以连接不同类型的USB设备; 一个USB接口可以扩展出多个接口,从而可以连 接多个外围设备;传输速率高,支持视音频等实时数据传输;支持热插拔;价格便宜。随着USB技术的发展和USB接口的普及,将来在MEPG TS处理设备中将会越来越多地集 成USB接口 ,因此在很多场合采用USB传输TS将发展成为一种必然的趋势。但是由于MPEG TS 是同步的、实时的、连续的流数据,而USB则是采用共享总线的、异步的、突发的串行传输 机制;因此利用USB传输MPEG TS还存在一些亟待解决的问题,比如数据缓冲、接口转换、 传输方向切换等。USB可以组成金字塔状的星形网络,其中处在塔尖的是USB主机,往下各层可以是USB集 线器也可以是USB设备。USB采用的是主机主动、设备从动的数据传输机制,所有的数据传 输都是由主机发起的。利用USB传输TS,首先要解决的一个关键问题就是设计适用于实时数 据流传输的USB主机控制器。现有的USB主机控制芯片的接口一般包含USB下行接口、 CPU接口和DMA即直接存储适 配器接口。其中,USB下行接口是USB控制芯片所必须的;CPU接口用于访问USB控制芯片内 部的寄存器和端点缓冲区,有的USB主机控制芯片内部集成了 CPU,因此可能就不会有CPU
接口;通过USB传输大量数据时, 一般都会采用DMA接口来进行USB控制芯片内部端点缓冲 区与外部数据缓冲区之间的数据搬运,因此一般的USB主机控制芯片都会包含一组甚至多组 DMA接口。但是,现有的USB主机控制芯片都没有标准的TS接口(即SPI或SSI接口),因此 无法将其与带TS接口的芯片或设备直接互连,也就是说无法直接利用现有的USB主机控制芯 片进行TS的传输。 发明内容本发明的目的在于,提供一种适用于TS传输的USB主机控制器。该USB主机控制器除了 包含通用USB主机控制器的USB串行接口引擎、物理收发器和USB下行接口外,还包含一个 TS处理模块、 一组输入TS接口和/或一组输出TS接口。该USB主机控制器可以与其它带TS 接口的TS处理芯片或设备直接相连,从而实现通过USB双向、实时地传输实时的、连续的 MPEG TS数据的一种方法。本发明提出了该USB主机控制器的两种实现方法。第一,基于现有的通用USB主机控制 芯片设计的适用于TS传输的USB主机控制器;第二,提出了一种带TS接口的USB主机控制 芯片(T-USB),以及基于T-USB芯片设计的USB主机控制器。从接口上看,本发明提出的USB主机控制器具有如下特征至少包含一个USB下行接口,用于连接USB设备或集线器。至少包含一个或多个输入TS接口 (TSI)或/和一个或多个输出TS接口 (TS0):输入TS 接口直接与其它TS设备或芯片的输出TS接口相连,输入TS接口上的TS数据通过USB总线 传输给USB设备;输出TS接口直接与其他TS设备或芯片的输入TS接口相连,从IJSB设备接 收到的TS数据通过输出TS接口直接送给其他TS设备或芯片。如果该USB主机控制器需要具 有双向传输TS的功能,那么输入TS接口和输出TS接口都是必须的;如果该USB主机控制器 不需要具有向设备端发送TS数据的能力,可以不包含输入TS接口;如果该USB主机控制器 不需要具有接收或输出设备端的TS数据的能力,可以不包含输入TS接口。其中,TS接口是 标准的SPI或/和SSI。可以包含一个控制器接口, 一般是CPU接口,用于访问USB主机控制器内部寄存器和端 点缓冲区。如果USB主机控制器内部集成了控制器,那么可以不包含控制接口。从内部结构看,本发明提出的USB主机控制器至少包括-一个USB物理收发器,它的主要功能是进行USB物理层的协议解析。 一方面,它接收USB 总线上高频的串行数据并将其转换成并行数据;另一方面,它将待发送的并行数据转成串行 数据,并将其驱动至USB总线。一个USB串行接口引擎,它的主要功能是进行USB协议层的协议解析和处理,比如PID
检测、生成,数据提取、封装,比特提取、填充,CRC检验、生成等。至少一个输入TS缓冲器(TSI-FIF0)或/和一个输出TS(TSO-FIFO)缓冲器,该(TSI-FIFO) 输入端与所述(TSI)接口相连,缓冲实时的连续的TS数据;该(TSO-FIFO)缓冲异步的、 突发的USB数据;一个TS同步电路,输入端与所述(TSO-FIFO)的输出端相连,而该TS同步电路的输出 端与所述(TSO)接口相连,对从(TS0-FIF0)取出的数据,进行同步处理后,再从所述(TS0) 接口输出;一组寄存器,用于控制该USB主机控制器的工作模式并反映其工作状态。 从功能上看,本发明提出的USB主机控制器具有如下特征该USB主机控制器具有通用的USB主机控制器的功能,其下行接口可以连接其它USB设 备或USB集线器。该USB主机控制器的输入TS接口可以直接与其它TS设备/芯片的输出TS接口直接相连, 从而将输入TS接口上TS通过USB总线传输给USB设备。该USB主机控制器的输出TS接口可以直接与其它TS设备/芯片的输入TS接口直接相连, 从而将从USB设备接收到的TS数据通过输出TS接口直接送给其它TS设备/芯片。在输入TS接口和输出TS接口同时存在的情况下,该USB主机控制器可以具有双向传输 TS的功能。即,将输入TS接口上的TS传送给设备的同时,从设备端接收TS并从输出TS接 口输出。在输入TS接口和输出TS接口同时存在的情况下,该USB主机控制器可以具有旁通功能 即将输入TS接口的TS数据直接从输出TS接口旁通输出。针对上文所述的USB主机控制器,本发明提出了它的两种实现方法。第一种是基于现有 的通用USB主机控制芯片,再加上其它外围的逻辑电路来实现,如下文的实施方案一所述。 此外,本发明重点提出了一种带USB接口的USB主机控制芯片(T-USB),实施方案二给出了 T-USB芯片的一种实现方法。


图1示出了基于目前已有的通用USB主机控制芯片设计的一种适用于TS传输的USB主机 控制器。图2示出了 T-USB芯片的一种功能结构框图。 实施方案一这一部分介绍基于目前巳有的通用USB主机控制芯片的适用于TS传输的USB主机控制器的一种实现方法。图1示出了一种基于现有的通用USB主机控制芯片的适用于TS传输的USB主机控制器 1100。 USB主机控制器1100由通用USB主机控制芯片1101和外围逻辑1102两大部分组成。 USB主机控制器1100包含 一个USB下行接口 1104,可以与设备端的USB上行接口直接相连; 一组输入TS接口 1105,可以与其它设备或芯片的标准输出TS接口直接相连; 一组输出TS 接口 1106,可以与其它设备或芯片的标准输入TS接口直接相连; 一组CPU接口1107,外部 的控制器可以通过它来访问控制器1100。通用USB主机控制芯片1101是控制器1100的关键组成,它可以由现有的大多主机端USB 控制芯片来承当。控制器IIOO对控制芯片1101的基本要求如下-1、 至少包含一组USB下行接口 1104,用以与USB设备或集线器相连。2、 至少包含一个USB物理收发器1119,用于解析物理层的USB协议。3、 至少包含一个USB串行接口引擎1118,用于解析协议层的USB协议。USB串行接口引 擎1118至少支持一个控制端点,用来进行USB设备枚举过程中的控制信息的传输;至少支持 一个BULK或/和ISO传输的OUT端点,记为TSI-OUT端点,它用于将TS数据从USB主机发送 给USB设备;至少支持一个BULK或/和ISO传输的IN端点,记为TSO-IN端点,它用于从USB 设备接收TS数据。4、 至少包含一个对应于TSI-OUT端点的端点缓冲区OUT-FIFO 1115,用来缓冲从主机端 发送给设备端的TS数据。5、 至少包含一个对应于TSO-IN端点的端点缓冲区IN-FIFO 1116,用来缓冲从设备端发 送给主机端的TS数据。6、 如果控制芯片1101内部没有包含CPU,那么至少要包含一组CPU接口 1107,用于访 问USB控制芯片内部的寄存器和FIFO;如果控制芯片1101内部包含CPU,那么CPU接口 1107 不是必须的。CPU在软件的协同下,通过对寄存器1120的控制来解析功能层的USB的协议。7、 至少包含一组DMA接口 1103和DMA控制器A 1111,用于在控制芯片1101内外进行 TS数据的搬运,当然在数据量不大的情况下也可以用CPU接口进行数据的搬运。DMA接口 1103 连接着DMA控制器A 1111和DMA控制器B 1112。 DMA控制器A 1111至少必须包含一路DMA 通道,当然也可以包含多路DMA通道;如果只有一路DMA通道,那么进行双向TS传输的时候, 两路的TS数据的搬运必须分时进行。DMA接口 1103和CPU接口 1107也可以共享数据总线和 其它的一些控制信号,如读写控制信号等;在这种情况下,TS数据的搬运和CPU访问必须分 时进行。外围逻辑1102是USB控制器1100的特殊部件,它可以有多种实现方法,比如可以用FPGA
来实现。外围逻辑1102包含 一组与DMA控制器A 1111相对应的DMA控制器B 1112, DMA 控制器B 1112也至少必须包含一路DMA通道,其DMA接口信号必须与DMA控制器A 1111相 匹配; 一个TSI-FIFO 1113,用于暂存TSI接口 1105上的TS数据; 一个TSO-FIFO 1114,用 于暂存从设备端接收到的TS数据; 一个TS同步模块1110,其同步原理是从TS中寻找数 据0x47,如果两个0x47的间距为188字节,则认为该0x47是TS数据包的同步头; 一些寄 存器1H7,用于配置外围逻辑1102。USB主机控制器1100支持以下几种TS传输模式-1、 单向地将输入TS接口 1105上的TS数据从主机端传给设备端。2、 单向地接收设备端发送过来的TS,并从输出TS接口 1106输出。3、 在主机和设备之间进行双向的TS传输,即将输入TS接口 1105上的TS数据从主机端 传给设备端的同时接收设备端发送过来的TS,并从输出TS接口 1106输出。4、 此外,USB主机控制器1100也可以实现输入TS接口 1105的数据直接从输出TS接口 1106短路输出。图l未示出。从USB主机传送给USB设备的TS在控制器1100中的传输过程如下第一,TS从输入TS接口 1105输入。第二,接口 1105上的TS数据被存入TSI-FIFO 1113。第三,通过DMA接口簡将TSI-FIFO 1113中的数据移入USB控制芯片1101中OUT端 点的缓冲区1115。第四,USB控制芯片1101将TSI-OUT端点1115缓冲区中的数据发送给设备。从USB设备传送给USB主机的TS在控制器1100中的传输过程如下-第一,主机控制芯片接收到USB设备的数据后,存入TSO-IN端点1116的缓冲区。第二,通过DMA接口 1103将IN端点的缓冲区1116中的数据移入TSO-FIFO 1114。第三,TS同步模块1110从TSO-FIFO 1114中取出数据,然后进行TS同步处理。第四,同步处理之后的TS从TSO接口 1106输出。实施方案二这一部分介绍本发明提出的带TS接口的USB主机控制芯片(T-USB)的一种实现方法。虽然实施方案一所述的USB主机控制器已经能够实现通过USB实时、连续地传输TS的目的;但是采用这种方法电路结构复杂、设计周期长、成本高。为此,本发明提出了一种带有TS接口 USB主机控制芯片(T-USB)。 T-USB芯片有多种实现方法,将图1所示的通用USB主机控制芯片1101和外围逻辑1102集成到一个新的芯片,就是一颗T-USB芯片。但是,这种T-USB芯片还可以进行优化,为了提高系统的性能、减小芯片的面积,本方案给出了 T-USB芯片的另一种实现方法。图2示出了T-USB芯片2000的功能结构框图,其中,1、 包含一组USB下行接口 2104,用以与USB设备或集线器相连。2、 包含一个USB物理收发器2109,用于解析物理层的USB协议。3、 包含一个输入TS接口 2105和一个输出TS接口 2106。4、 包含一个USB串行接口引擎2108,用于解析协议层的USB协议。USB串行接口引擎 2108至少支持一个控制端点,用来进行USB设备枚举过程中的控制信息的传输;至少支持一 个BULK或/和ISO传输的OUT端点,记为TSI-OUT端点,它用于将TS数据从USB主机发送给 USB设备;至少支持一个BULK或/和ISO传输的IN端点,记为TSO-IN端点,它用于从USB 设备接收TS数据。5、 包含一个TSI-FIFO 2113, 一方面它缓冲来自输入TS接口 2105的数据;另一方面 TSI-OUT端点从中读出数据并发送给USB设备。6、 包含一个TSO-FIFO 2114, 一方面它缓冲来自USB设备的数据;另一方面TS同步模 块2101从中取出数据,进行同步后从输出TS接口 2106输出。7、 包含一个TS同步模块2101,它根据TS数据中的0x47同步头进行TS数据的同步。8、 包含寄存器2102,外部控制器可以通过CPU接口 2107来读写寄存器2102,从而控制 T-USB芯片2000。T-USB芯片2000支持以下几种TS传输模式1、 单向地将输入TS接口 2105上的TS数据从主机端传给设备端。2、 单向地接收设备端发送过来的TS,并从输出TS接口 2106输出。3、 在主机和设备之间进行双向的TS传输,即把输入TS接口 2105上的TS数据从主机端 传给设备端的同时接收设备端发送过来的TS,并从输出TS接口 2106输出。4、 此外,还可以实现输入TS接口 2105的数据直接从输出TS接口 2106短路输出。图2 未示出。从USB主机传送给USB设备的TS在T-USB芯片2000中的传输过程如下第一,TS从输入TS接口 2105输入。第二,接口 2105上的TS数据被存入TSI-FIFO 2113。第三,串行接口引擎中2108中的TS-OUT端点从TSI-FIFO中取出数据,然后发送给USB 设备。从USB设备传送给USB主机的TS在T-USB芯片2000中的传输过程如下 第一,T-USB芯片2000接收到USB设备的数据后,存入缓冲区TSO-FIFO 2114。 第二, TS同步模块2101从TS0-FIF0 2114中取出数据,然后进行TS同步处理。 第三,同步处理之后的TS从输出TS接口 2106输出。
权利要求
1、用于数字影视压缩标准传输码流传输的USB主机控制器,其特征在于,包含一个通用USB主机控制芯片,用于进行USB协议的解析处理;至少包含一个或多个输入TS接口(TSI)或/和一个或多个输出TS接口(TSO)该(TSI)直接与其它TS设备或芯片的输出TS接口相连,该(TSI)上的TS数据通过USB总线传输给USB设备;该(TSO)直接与其他TS设备或芯片的输入TS接口相连,从USB设备接发送过来的TS数据通过该(TSO)直接送给其他TS设备或芯片;一个TS处理逻辑电路,含有至少一个输入TS缓冲器(TSI-FIFO)或/和一个输出TS缓冲器(TSO-FIFO),该(TSI-FIFO)输入端与所述(TSI)相连,缓冲实时的连续的TS数据;该(TSO-FIFO)缓冲异步的、突发的USB数据;一个TS同步电路,输入端与所述(TSO-FIFO)的输出端相连,输出端与所述(TSO)接口相连;该同步电路从(TSO-FIFO)取出数据,进行同步处理后,再从所述(TSO)接口输出;一个直接存储适配器(DMAB),该适配器的一个输入端与所述(TSI-FIFO)的输出端相连,另一个输出端与所述(TSO-FIFO)的输入端相连,一个输入/输出端与所述通用USB主机控制芯片的一个直接存储适配器(DMAA)相互连;该(DMAB)把输入的TS数据经(TSI-FIFO)后载入所述通用USB主机控制芯片的TSI-OUT端点缓冲器,同时把TSO-IN端点缓冲器的TS数据读出到所述(TSO-FIFO);寄存器(B),与所述寄存器(A)共享总线及包括写控制信号在内的控制信号。
2、 根据权利要求1所述的用于数字影视压縮标准传输码流传输的USB主机控制器,其特 征在于,所述通用USB主机控制芯片含有至少一组USB下行接口,用以与USB设备或集线器相连; 至少包含一个USB物理收发器,用于解析物理层的USB协议;至少一个USB串行接口引擎,与所述USB物理收发器互连,用于解析协议层的USB协议, 该USB串行接口引擎至少包含一个控制端点进行USB设备枚举过程中控制信息的传输;至少 包含一个TSI-OUT端点,把TS数据从USB主机发送给USB设备;至少包含一个TS0-IN端点, 从USB设备接收TS数据;至少包含一个对应于所述TSI-OUT端点的端点缓冲器(0UT-FIF0),该(0UT-FIF0)的输 出端与所述串行接口引擎的一个输入端相连,缓冲从主机端发送给位于所述一组USB下行接 口的设备端和TS数据; 至少包含一个对应于TSI-IN端点的端点缓冲器(IN-FIF0),该(IN-FIFO)和输入端与 所述串行接口引擎的一个输出端相连,用于缓冲从位于所述一组USB下行接口的设备端发送 给主机端的TS数据;至少包含一组直接存储适配器(DMAA)接口以及一个直接存储适配器(DMAA),设(DMAA) 的输出端与所述(OUT-FIFC)的输入端相连,而输入端与所述(IN-FIFO)的输出端相连,输 入/输出端与所述TS处理逻辑电路中的直接存储适配器(DMAB)的相应端相连,该(DMAA) 用以在所述通用USB主机控制芯片内外搬运数据;至少包含一组CPU接口,该CPU接口允许与所述(DMAA)共享数据总线和包括读写控制 信号在内的控制信号,以访问所述通用USB主机控制芯片内部的寄存器(A)和(OUT-FIFO)、 (IN-FIFO)。
3、 根据权利要求1所述的用于影视压縮标准传输码流传输的USB主机控制器,其特征在 于,所述TS接口是同步并行接口 SPI或/和同步串行接口 SSI。
4、 用于数字影视压縮标准传输码流传输的USB主机控制器,其特征在于,该主机控制器 是一个带TS接口的USB主机控制芯片(T-USB),包含至少一个USB下行接口,连接USB设备和集成器;一个USB物理收发器,输出端与所述USB下行接口相连,用于解析物理层的USB协议; 一个USB串行接口引擎,与所述物理收发器互连,该串行接口引擎用于解析协议层的USB 协议,包含至少一个控制端点,进行USB设备枚举过程中的信息传输;至少一个TSI-OUT端点,把TS数据从USB主机发送给位于所述USB下行接口的USB设备; 至少一个TSO-IN端点,从位于所述USB下行接口的USB设备接收TS数据; 至少一个输入TS缓冲器(TSI-FIFO)或/和一个输出TS缓冲器(TSO-FIFO),该(TSI-FIFO)的输出端与所述USB串行接口引擎的一个输入端相连,缓冲实时的、连续的数据;该 (TSO-FIFO)的输入端与所述USB串行接口引擎的相应输出端相连,缓冲突发的、快速的USB数据;一个TS同步电路,输入端与所述(TSO-FIFO)的输出端相连,用于从该(TSO-FIFO)中 取出数据进行同步处理;至少包含一个输入TS接口(TSI)或/和一个输出TS接口 (TSO);该(TSI )与所述(TSI-FIFO) 输入端相连,接收TS数据,该(TSO)与所述TS同步电路的输出端相连,输出经过同步处理 后的TS数据。
全文摘要
本发明涉及MPEG TS传输控制技术领域,其特征在于,USB主机控制器的两种实现方法基于现有的通用USB主机控制芯片设计的适用于TS传输的USB主机控制器,以及基于带TS接口的USB主机控制芯片(T-USB)的USB主机控制器。本发明中的TS处理逻辑至少包括一个输入TS缓冲器或/和一个输出TS缓冲器以及一个TS同步电路。本发明实现的USB主机控制器可以通过输入TS接口、输出TS接口与其它带TS接口的设备直接互连,还可以通过USB接口与USB设备或集线器直接互连,从而实现实时、连续的TS在USB主机端与设备端之间的单向或双向传输,同时也可以实现输入TS接口和输出TS接口的旁通。
文档编号H04N7/26GK101399981SQ20071012254
公开日2009年4月1日 申请日期2007年9月26日 优先权日2007年9月26日
发明者王兴军, 詹克团 申请人:北京数字太和科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1