CN114442514A - 一种基于fpga的usb3.0/3.1控制系统 - Google Patents
一种基于fpga的usb3.0/3.1控制系统 Download PDFInfo
- Publication number
- CN114442514A CN114442514A CN202011204498.5A CN202011204498A CN114442514A CN 114442514 A CN114442514 A CN 114442514A CN 202011204498 A CN202011204498 A CN 202011204498A CN 114442514 A CN114442514 A CN 114442514A
- Authority
- CN
- China
- Prior art keywords
- fpga
- module
- serial communication
- communication module
- clock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 claims abstract description 53
- 238000012360 testing method Methods 0.000 claims abstract description 17
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 abstract description 7
- 230000008901 benefit Effects 0.000 abstract description 6
- 238000004088 simulation Methods 0.000 abstract description 6
- 238000012795 verification Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7803—System on board, i.e. computer system on one or more PCB, e.g. motherboards, daughterboards or blades
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Abstract
本申请提供一种基于FPGA的USB3.0/3.1控制系统,包括:USB控制模块,包括USB3.0控制模块和/或USB3.1控制模块;PCS逻辑模块,通过PIPE接口与所述USB控制模块连接;FPGA Serdes串行通信模块,与所述PCS逻辑模块连接;外接子卡模块,与所述FPGA Serdes串行通信模块连接;其中,所述PCS逻辑模块、FPGA Serdes串行通信模块、外接子卡模块依次相连组合在一起实现端口物理层的功能,用于对USB3.0控制模块及USB3.1控制模块进行测试。本发明提出了一种完全基于FPGA的USB3.0/3.1解决方案,采用USB controller软核加FPGA serdes的相结合的办法,摆脱测试时对PHY芯片的需求,并且以FPGA为产品的另外一个好处就是可以随时更改硬件功能,有效解决了现有技术中仿真验证不完备、测试模式局限、硬件功能不可更改等棘手问题。
Description
技术领域
本申请涉及USB技术领域,特别是涉及一种基于FPGA的USB3.0/3.1控制系统。
背景技术
USB是如今最常用的有线通信协议之一,应用于手机、医疗、存储等各个领域。目前USB3.0/3.1以芯片为主,这样的模式很不利于USB的测试和更新迭代。USB芯片流片的成功率只能依赖于流片前的仿真和流片前用FPGA加PHY芯片的模式进行测试。一是仿真验证不够完备;二是可以提供PHY芯片的厂商并不是很多,用FPGA加PHY的测试模式很有局限性;三是芯片的成本虽然低廉,但是硬件功能不可更改,有一定局限性。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种基于FPGA的USB3.0/3.1控制系统,用于解决现有技术中的问题。
为实现上述目的及其他相关目的,本申请的第一方面提供一种基于FPGA的USB3.0/3.1 控制系统,包括:USB控制模块,包括USB3.0控制模块和/或USB3.1控制模块;PCS逻辑模块,通过PIPE接口与所述USB控制模块连接;FPGA Serdes串行通信模块,与所述PCS 逻辑模块连接;外接子卡模块,与所述FPGA Serdes串行通信模块连接;其中,所述PCS逻辑模块、FPGA Serdes串行通信模块、外接子卡模块依次相连组合在一起实现端口物理层(phy) 的功能,用于对USB3.0控制模块及USB3.1控制模块进行测试。
于本申请的第一方面的一些实施例中,当所述PCS逻辑模块应用于USB3.0控制模块时,包括:第一数据通路逻辑,适用于USB3.0协议,其功能包括8B/10B编解码、特定symbol索引、数据对齐以及elastic buffer;PIPE控制逻辑,用于将所述FPGA Serdes串行通信模块的serdes接口转化为PIPE接口,以与所述USB控制模块通信,并控制所述FPGA Serdes串行通信模块。
于本申请的第一方面的一些实施例中,所述PIPE控制逻辑有三个时钟源,包括:外接子卡模块中的差分转单端时钟、tx pcs时钟、rx pma时钟。
于本申请的第一方面的一些实施例中,当所述PCS逻辑模块应用于USB3.1控制模块时,所述FPGA Serdes串行通信模块连接Rx Pll电路及Tx Pll电路;所述PCS逻辑模块包括:第一数据通路逻辑,适用于USB3.0协议,其功能包括8B/10B编解码、特定symbol索引、数据对齐以及elastic buffer;第二数据通路逻辑,适用于USB3.1协议,其功能包括128B/132B 编解码、特定symbol索引、数据对齐、以及elastic buffer;PIPE控制逻辑,用于将所述FPGA Serdes串行通信模块的serdes接口转化为PIPE接口,以与所述USB控制模块通信,并控制所述FPGA Serdes串行通信模块;DRP控制逻辑,用于利用所述FPGA Serdes串行通信模块、 Rx Pll电路及Tx Pll电路的动态配置接口进行速率切换,以时USB3.1向下兼容USB3.0。
于本申请的第一方面的一些实施例中,所述PIPE控制逻辑有五个时钟源,包括:外接子卡模块中的差分转单端时钟、tx pcs时钟、rx pma时钟、tx pll分频后的tx pipe时钟、rx pll 分频后的rx pipe时钟。
于本申请的第一方面的一些实施例中,所述FPGA Serdes串行通信模块的传输速率根据 USB类型的不同而做不同配置;当应用于USB3.0时,FPGA Serdes串行通信模块的传输速率配置为5Gbps;当应用于USB3.1时,FPGA Serdes串行通信模块的传输速率配置为10Gbps。
于本申请的第一方面的一些实施例中,所述FPGA Serdes串行通信模块的串口以PCS模式传送数据,并以PMA模式接收数据。
于本申请的第一方面的一些实施例中,所述FPGA Serdes串行通信模块需要使能serdes 的txelecidle send和rxelecidle detect相关功能,便于接受和发送electricalidle信号。
于本申请的第一方面的一些实施例中,所述FPGA Serdes串行通信模块中的serdes需要在LTR锁定模式和LTD锁定模式之间切换,以进行USB的链路训练。
于本申请的第一方面的一些实施例中,所述外接子卡模块包括与所述FPGASerdes串行通信模块所在电路板连接的FMC、PCIE等标准接口连接器、USB2.0PHY芯片、差分时钟芯片、redirver或retimer芯片、cc controller芯片以及type-c接口。
如上所述,本申请的一种基于FPGA的USB3.0/3.1控制系统,具有以下有益效果:本发明提出了一种完全基于FPGA的USB3.0/3.1解决方案,采用USB controller软核加FPGAserdes 的相结合的办法,摆脱测试时对PHY芯片的需求,并且以FPGA为产品的另外一个好处就是可以随时更改硬件功能,有效解决了现有技术中仿真验证不完备、测试模式局限、硬件功能不可更改等棘手问题。
附图说明
图1A显示为本申请一实施例中基于FPGA的USB3.0控制系统的结构示意图。
图1B显示为本申请一实施例中基于FPGA的USB3.1控制系统的结构示意图。
图2A显示为本申请一实施例中基于FPGA的USB3.0控制系统的结构示意图。
图2B显示为本申请一实施例中基于FPGA的USB3.1控制系统的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本申请的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、“下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。
在本申请中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”、“固持”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
为了使本发明的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本发明实施例中的技术方案的进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定发明。
针对现有技术中的USB芯片流片的成功率面临的问题,本发明提出了一种完全基于 FPGA的USB3.0/3.1解决方案,采用USB controller软核加FPGA serdes的相结合的办法,摆脱测试时对PHY芯片的需求,并且以FPGA为产品的另外一个好处就是可以随时更改硬件功能,有效解决了现有技术中仿真验证不完备、测试模式局限、硬件功能不可更改等棘手问题。
图1A展示了本发明一实施例中基于FPGA的USB3.0控制系统的结构示意图;图1B展示了本发明一实施例中基于FPGA的USB3.1控制系统的结构示意图。具体来说,本实施例提供的基于FPGA的USB3.0/3.1控制系统包括USB控制模块11、PCS逻辑模块12、FPGA Serdes串行通信模块13以及外接子卡模块14。
USB控制模块11不区分USB主机或USB设备,通过PIPE接口与PCS逻辑模块12连接。PCS逻辑模块12与FPGA Serdes串行通信模块13相连,FPGA Serdes串行通信模块13 又与外接子卡模块10相连。其中,PCS逻辑模块12、FPGA Serdes串行通信模块13、外接子卡模块14组合在一起实现PHY的功能,可用于测试USB控制模块11的行为。其中,PHY 即PortPhysical Layer,端口物理层,PHY连接一个数据链路层的设备(MAC)到一个物理媒介,如光纤或铜缆线。一个以太网PHY是一个芯片,可以发送和接收以太网的数据帧,常见的以太网PHY设备有集线器或交换机等。下文,将针对USB3.0/3.1系统中的各个模块做进一步的说明。
所述PCS逻辑模块12的全称是Physical Coding Sublayer,是指物理编码子层,其在 100BASE-X模式时提供RMII接口、4B/5B编码、串并转换以及冲突检测功能,同时只要使能端TxEN无效就提供闲置信号“idle”给PMD层;在10BASE-T模式下只提供接口和串并转换功能。
在一些示例中,如图1A所示,当PCS逻辑模块12在应用于USB3.0(gen1,5Gbps)时,主要包括第一数据通路逻辑(Gen1 data handle logic)和PIPE控制逻辑(PIPE logic)。第一数据通路逻辑(Gen1 data handle logic)包含功能如下:8B/10B编解码、特定symbol索引、数据对齐以及elastic buffer。PIPE控制逻辑(PIPE logic)主要用于将serdes接口转化为PIPE 接口,以与USB控制模块11通信,并控制serdes行为。
其中,8B/10B编解码是将一组连续的8位数据分解成两组数据,一组3位,一组5位,经过编码后分别成为一组4位和一组6位,从而组成一组10位的数据发送出去。数据值可以统一的表示为DX.Y或KX.Y,其中D表示为数据代码,K表示为特殊的命令代码,X表示输入的原始数据的低5位,Y表示输入的原始数据的高3位。Elasticbuffer是指在高速、串行、源同步的数据传输协议中,用elasticbuffer实现本地时钟和恢复时钟之间的数据同步,通过利用elasticbuffer的low water mark和high watermark决定数据流中周期性冗余数据(需传输协议支持)的增减,达到平衡两个时钟域的数据流量的目的。
在一些示例中,如图1B所示,当PCS逻辑模块12在应用于USB3.1(gen2,10Gbps)时,包括第一数据通路逻辑(Gen1 data handle logic)、第二数据通路逻辑(Gen2 datahandle logic)、 PIPE及DRP逻辑(PIPE AND DRP logic),由于USB3.1要向下兼容3.0模式,数据通路分为两路,一路是上述gen1数据通路,另一路是gen2数据通路,主要包含功能:128B/132B 编解码、特定symbol索引、数据对齐、以及elastic buffer;值得注意的是,USB3.0使用8B/10B 编解码,而USB3.1使用新的128B/132B编解码方式。PIPE及DRP逻辑(PIPE AND DRP logic) 是指PIPE控制逻辑和DRP控制逻辑,PIPE控制逻辑主要用于将serdes接口转化为PIPE接口与USB控制模块11通信,并控制serdes行为;DRP控制逻辑主要利用serdes和pll的动态配置接口进行速率切换,包括serdes的频率切换以及PLL的频率切换,从而实现USB3.1 向下兼容USB3.0的功能。
所述FPGA Serdes串行通信模块13中,Serdes是英文SERializer(串行器)/DESerializer(解串器)的简称,它是一种主流的时分多路复用(TDM)、点对点(P2P)的串行通信技术。即在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。这种点对点的串行通信技术充分利用传输媒体的信道容量,减少所需的传输信道和器件引脚数目,提升信号的传输速度,从而大大降低通信成本。
在一些示例中,FPGA Serdes串行通信模块13的传输速率根据USB类型的不同而做不同配置。具体来说,当应用于USB3.0时,FPGA Serdes串行通信模块13配置为5Gbps;当应用于USB3.1时,FPGA Serdes串行通信模块13配置为10Gbps。
可选的,FPGA Serdes串行通信模块13的串口以PCS模式传送数据,并以PMA模式接收数据。其中,PCS模式的全称是Physical Coding Sublayer,是指物理编码子层,其在100BASE-X模式时提供RMII接口、4B/5B编码、串并转换以及冲突检测功能,同时只要使能端TxEN无效就提供闲置信号“idle”给PMD层;在10BASE-T模式下只提供接口和串并转换功能。PMA模式的全称是Physical Medium Attachment,是指物理介质附加子层,其提供 LINK状态的判断和载波侦听的功能,完成串行信号和NRZI信号之间的转化;PMA使用标准的方法来判断端口的LINK状态,当PMA判断到对方设备存在的时候,如果自动协商使能就会开始同对方进行自动协商确定端口的工作模式;当对方不支持自动协商时端口的工作模式根据并行探测的结果。
可选的,FPGA Serdes串行通信模块13需要使能serdes的txelecidle send和rxelecidle detect 相关功能,便于接受和发送electrical idle信号。
可选的,FPGA Serdes串行通信模块13的serdes需要在cdr的LTR锁定模式和LTD锁定模式之间切换,以完成USB的链路训练(link training)。
所述外接子卡模块14包括与FPGA Serdes串行通信模块13所在电路板连接的FMC、PCIE 等标准接口连接器、USB2.0PHY芯片、差分时钟芯片、redirver或retimer芯片、cccontroller 芯片以及type-c接口。其中cc controller(configuration channel)是指配置通道,是USB Type-C 里新增的关键通道,它的作用包括检测USB连接,USB Type-C正反插的数据切换,以及USB host和USB device的握手识别等等。
为便于本领域技术人员理解,下文将结合图2A和2B来对本发明提供的基于FPGA的USB3.0/3.1控制系统做进一步的解释与说明。
在图2A中,提供一种完全基于FPGA的USB3.0控制系统,用于测试USB3.0controller 或调试USB3.0功能,USB3.0控制系统主要包括如下方面:
(1)外接子卡的差分时钟(differential clk(3))转为单端时钟用于给serdes芯片提供时钟源。
(2)外接子卡通过标准接口与Serdes芯片相连;其中,标准接口例如是FMC接口或PCIE 接口等等。
(3)外接子卡的redriver讯号中继器或retimer重定时器会处理serdes的tx发送信号;外接子卡的type-c controller接收rx信号后发送至cc controller,cc controller将rx信号发送至 redriver讯号中继器或retimer重定时器。其中cc controller(configuration channel)是指配置通道,是USB Type-C里新增的关键通道,它的作用包括检测USB连接,USB Type-C正反插的数据切换,以及USB host和USB device的握手识别等等。
(4)Serdes芯片数据接口配置为40bits,由于USB3.0工作在5Gbps,产生tx pcs时钟(Tx pcs clk(2))以及rx pma时钟(Rx pma clk(1))均为125M。
(5)Serdes芯片在polling时(LFPS握手)使用CDR Lock-to-Reference模式,便于使用rx pma时钟处理PIPE logic信号,在link training、U0、loopback时使用CDR Lock-to-Data Mode模式,此时rx pma时钟是精准的恢复时钟。
(6)PIPE logic用于处理Serdes芯片接口的信号,主要有txelecidle、rxelecidle、cdrmode,结合USB controller一侧PIPE接口的信号,达到对Serdes芯片控制的目的。
(7)PIPE控制逻辑有三个时钟源,外接子卡的差分转单端时钟(differential clk(3))、 tx pcs时钟(Tx pcs clk(2))以及rx pma时钟(Rx pma clk(1))。
(8)USB controller的时钟为tx pcs时钟(Tx pcs clk(2)),USB controller通过PIPE 接口与PCS逻辑相连。
(9)Gen1 data handle logic中,8b/10b编码使用tx pcs时钟(Tx pcs clk(2));10b/8b 解码、特定symbol索引、数据对齐、elastic buffer输入端使用rx pma时钟;elastic buffer输出端使用tx pcs时钟。其中,Elasticbuffer是指在高速、串行、源同步的数据传输协议中,用 elasticbuffer实现本地时钟和恢复时钟之间的数据同步,通过利用elasticbuffer的low water mark和high watermark决定数据流中周期性冗余数据(需传输协议支持)的增减,达到平衡两个时钟域的数据流量的目的。
(10)Gen1 data handle logic中,8b/10b编码为通用的8b/10b编码器,10b/8b解码为通用的10b/8b解码器。特定symbol索引主要索引COM这一symbol;数据对齐用于将数据做1byte对齐;Elastic buffer用于检测并增删Gen1 SKP symbol用于消除频偏。
在图2B中,提供一种完全基于FPGA的USB3.1控制系统,用于测试USB3.1controller 或调试USB3.1功能,USB3.1控制系统主要包括如下方面:
(1)外接子卡的差分时钟(differential clk(3))转为单端时钟用于给serdes芯片提供时钟源。
(2)外接子卡通过标准接口与Serdes芯片相连;其中,标准接口例如是FMC接口或PCIE 接口等等。
(3)外接子卡的redriver讯号中继器或retimer重定时器会处理serdes的tx发送信号;外接子卡的type-c controller接收rx信号后发送至cc controller,cc controller将rx信号发送至 redriver讯号中继器或retimer重定时器。其中cc controller(configuration channel)是指配置通道,是USB Type-C里新增的关键通道,它的作用包括检测USB连接,USB Type-C正反插的数据切换,以及USB host和USB device的握手识别等等。
(4)Serdes芯片数据接口配置为32bits,Serdes芯片工作在10Gbps时,产生tx pcs时钟 (Tx pcs clk(3))以及rx pma时钟(Rx pma clk(1))均为312.5M,工作在5Gbps时,产生 tx pcs时钟(Tx pcs clk(3))以及rx pma时钟(Rx pma clk(1))均为156.25M。
(5)rx pll用于分频rx pma时钟(Rx pma clk(1)),tx pll用于分频tx pcs时钟(Tx pcs clk (3))。10Gbps模式下,输出输入比为1:1(输入312.5M输出312.5M),5Gbps模式下输入输出比为5:4(输入156.25M输出125M)。
(6)Serdes芯片在polling时(LFPS握手)使用CDR Lock-to-Reference模式,便于使用rx pma时钟处理PIPE logic信号,在link training、U0、loopback时使用CDR Lock-to-Data Mode模式,此时rx pma时钟是精准的恢复时钟。
(7)PIPE logic用于处理Serdes芯片接口的信号,主要有txelecidle、rxelecidle、cdrmode,结合USB controller一侧PIPE接口的信号,达到对Serdes芯片控制的目的。
(8)PIPE控制逻辑有五个时钟源,外接子卡的差分转单端时钟、tx pcs时钟、rxpma时钟、tx pll分频后的tx pipe时钟以及rx pll分频后的rx pipe时钟。
(9)USB controller的时钟为tx pipe时钟,controller通过PIPE接口与PCS逻辑相连。
(10)Gen1 data handle logic中,8b/10b编码使用tx pcs时钟和tx pipe时钟;10b/8b解码、特定symbol索引、数据对齐、elastic buffer输入端使用rx pma时钟和rxpipe时钟;elastic buffer输出端使用tx pipe时钟。
(11)Gen1 data handle logic中,8b/10b编码为通用的8b/10b编码器,10b/8b解码为通用的10b/8b解码器。特定symbol索引主要索引COM这一symbol。数据对齐用于将数据做 1byte对齐。Elastic buffer用于检测并增删Gen1 SKP symbol用于消除频偏。其中,Elasticbuffer 是指在高速、串行、源同步的数据传输协议中,用elasticbuffer实现本地时钟和恢复时钟之间的数据同步,通过利用elasticbuffer的low water mark和highwatermark决定数据流中周期性冗余数据(需传输协议支持)的增减,达到平衡两个时钟域的数据流量的目的。
(12)Gen2 data handle logic中,128/132编码使用tx pcs时钟和tx pipe时钟;132/128 解码、特定symbol索引、数据对齐、elastic buffer输入端使用rx pma时钟和rxpipe时钟;elastic buffer输出端使用tx pipe时钟。
(13)Gen2 data handle logic中,128/132编解码采用标准编解码方式。特定symbol索引主要索引sync header。数据对齐用于将数据做1byte对齐。Elastic buffer用于检测并增删Gen2 SKP symbol用于消除频偏。
(14)数据通路切换由PIPE接口的rate或pclk_rate信号完成。
(15)由于USB3.1需要向下兼容USB3.0,因此利用serdes和pll的动态配置端口进行配置,由DRP逻辑控制,在USB controller的rate或pclk_rate信号指示下进行速率切换。
综上所述,本申请提供基于FPGA的USB3.0/3.1控制系统,本发明提出了一种完全基于 FPGA的USB3.0/3.1解决方案,采用USB controller软核加FPGA serdes的相结合的办法,摆脱测试时对PHY芯片的需求,并且以FPGA为产品的另外一个好处就是可以随时更改硬件功能,有效解决了现有技术中仿真验证不完备、测试模式局限、硬件功能不可更改等棘手问题。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (10)
1.一种基于FPGA的USB3.0/3.1控制系统,其特征在于,包括:
USB控制模块,包括USB3.0控制模块和/或USB3.1控制模块;
PCS逻辑模块,通过PIPE接口与所述USB控制模块连接;
FPGA Serdes串行通信模块,与所述PCS逻辑模块连接;
外接子卡模块,与所述FPGA Serdes串行通信模块连接;
其中,所述PCS逻辑模块、FPGA Serdes串行通信模块、外接子卡模块依次相连组合在一起实现端口物理层(phy)的功能,用于对USB3.0控制模块及USB3.1控制模块进行测试。
2.根据权利要求1所述的基于FPGA的USB3.0/3.1控制系统,其特征在于,当所述PCS逻辑模块应用于USB3.0控制模块时,包括:
第一数据通路逻辑,适用于USB3.0协议,其功能包括8B/10B编解码、特定symbol索引、数据对齐以及elastic buffer;
PIPE控制逻辑,用于将所述FPGA Serdes串行通信模块的serdes接口转化为PIPE接口,以与所述USB控制模块通信,并控制所述FPGA Serdes串行通信模块。
3.根据权利要求2所述的基于FPGA的USB3.0/3.1控制系统,其特征在于,所述PIPE控制逻辑有三个时钟源,包括:外接子卡模块中的差分转单端时钟、tx pcs时钟、rx pma时钟。
4.根据权利要求1所述的基于FPGA的USB3.0/3.1控制系统,其特征在于,当所述PCS逻辑模块应用于USB3.1控制模块时,所述FPGA Serdes串行通信模块连接Rx Pll电路及TxPll电路;所述PCS逻辑模块包括:
第一数据通路逻辑,适用于USB3.0协议,其功能包括8B/10B编解码、特定symbol索引、数据对齐以及elastic buffer;
第二数据通路逻辑,适用于USB3.1协议,其功能包括128B/132B编解码、特定symbol索引、数据对齐、以及elastic buffer;
PIPE控制逻辑,用于将所述FPGA Serdes串行通信模块的serdes接口转化为PIPE接口,以与所述USB控制模块通信,并控制所述FPGA Serdes串行通信模块;
DRP控制逻辑,用于利用所述FPGA Serdes串行通信模块、Rx Pll电路及Tx Pll电路的动态配置接口进行速率切换,以时USB3.1向下兼容USB3.0。
5.根据权利要求4所述的基于FPGA的USB3.0/3.1控制系统,其特征在于,所述PIPE控制逻辑有五个时钟源,包括:外接子卡模块中的差分转单端时钟、tx pcs时钟、rx pma时钟、txpll分频后的tx pipe时钟、rx pll分频后的rx pipe时钟。
6.根据权利要求1所述的基于FPGA的USB3.0/3.1控制系统,其特征在于,所述FPGASerdes串行通信模块的传输速率根据USB类型的不同而做不同配置;当应用于USB3.0时,FPGASerdes串行通信模块的传输速率配置为5Gbps;当应用于USB3.1时,FPGA Serdes串行通信模块的传输速率配置为10Gbps。
7.根据权利要求1所述的基于FPGA的USB3.0/3.1控制系统,其特征在于,所述FPGASerdes串行通信模块的串口以PCS模式传送数据,并以PMA模式接收数据。
8.根据权利要求1所述的基于FPGA的USB3.0/3.1控制系统,其特征在于,所述FPGASerdes串行通信模块需要使能serdes的txelecidle send和rxelecidledetect相关功能,便于接受和发送electrical idle信号。
9.根据权利要求1所述的基于FPGA的USB3.0/3.1控制系统,其特征在于,所述FPGASerdes串行通信模块中的serdes需要在LTR锁定模式和LTD锁定模式之间切换,以进行USB的链路训练。
10.根据权利要求1所述的基于FPGA的USB3.0/3.1控制系统,其特征在于,所述外接子卡模块包括与所述FPGA Serdes串行通信模块所在电路板连接的FMC、PCIE等标准接口连接器、USB2.0PHY芯片、差分时钟芯片、redirver或retimer芯片、cc controller芯片以及type-c接口。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011204498.5A CN114442514A (zh) | 2020-11-02 | 2020-11-02 | 一种基于fpga的usb3.0/3.1控制系统 |
PCT/CN2021/074377 WO2022088542A1 (zh) | 2020-11-02 | 2021-01-29 | 一种基于fpga的usb3.0/3.1控制系统 |
US18/032,451 US20230394006A1 (en) | 2020-11-02 | 2021-01-29 | Fpga-based usb 3.0/3.1 control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011204498.5A CN114442514A (zh) | 2020-11-02 | 2020-11-02 | 一种基于fpga的usb3.0/3.1控制系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114442514A true CN114442514A (zh) | 2022-05-06 |
Family
ID=81357912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011204498.5A Pending CN114442514A (zh) | 2020-11-02 | 2020-11-02 | 一种基于fpga的usb3.0/3.1控制系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230394006A1 (zh) |
CN (1) | CN114442514A (zh) |
WO (1) | WO2022088542A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117111539B (zh) * | 2023-10-24 | 2024-02-02 | 杭州康吉森自动化科技有限公司 | 以太网物理层芯片的控制方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660461A (zh) * | 2015-01-15 | 2015-05-27 | 北京奥普维尔科技有限公司 | 基于100g通信的以太网测试仪表及测试方法 |
CN205945981U (zh) * | 2016-08-23 | 2017-02-08 | 深圳市芯启源科技有限公司 | 信号发生装置 |
CN106533647A (zh) * | 2016-11-30 | 2017-03-22 | 上海航天控制技术研究所 | 一种基于IOSERDES的cameralink接口系统 |
CN107490756A (zh) * | 2017-06-23 | 2017-12-19 | 江苏艾科半导体有限公司 | 一种usb总线的逻辑控制信号系统 |
CN107831702A (zh) * | 2017-11-18 | 2018-03-23 | 浙江大学 | 一种基于千兆以太网的同步串行信号采集控制装置 |
WO2018063707A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Voltage modulated control lane |
CN210157281U (zh) * | 2019-07-25 | 2020-03-17 | 深圳市芯启源科技有限公司 | 一种usb数字电视信号源 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102087624B (zh) * | 2009-12-02 | 2013-07-24 | 上海摩波彼克半导体有限公司 | 基于fpga模块实现usb接口功能验证测试的电路结构及其方法 |
CN104881388A (zh) * | 2015-06-12 | 2015-09-02 | 哈尔滨工业大学 | 基于fpga的usb 3.0接口模块 |
CN107656882A (zh) * | 2016-07-25 | 2018-02-02 | 深圳市中兴微电子技术有限公司 | 一种通用串行总线控制器验证方法、系统及设备 |
IL267062B2 (en) * | 2018-06-25 | 2023-02-01 | Salvador Tech | System and method for data backup |
CN109656862A (zh) * | 2018-11-20 | 2019-04-19 | 山东超越数控电子股份有限公司 | 一种基于fpga的usb2.0协议分析仪及分析方法 |
CN109885434B (zh) * | 2019-01-25 | 2023-01-31 | 华北水利水电大学 | 一种FPGA高速SerDes接口的集成测试系统及方法 |
-
2020
- 2020-11-02 CN CN202011204498.5A patent/CN114442514A/zh active Pending
-
2021
- 2021-01-29 WO PCT/CN2021/074377 patent/WO2022088542A1/zh active Application Filing
- 2021-01-29 US US18/032,451 patent/US20230394006A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660461A (zh) * | 2015-01-15 | 2015-05-27 | 北京奥普维尔科技有限公司 | 基于100g通信的以太网测试仪表及测试方法 |
CN205945981U (zh) * | 2016-08-23 | 2017-02-08 | 深圳市芯启源科技有限公司 | 信号发生装置 |
WO2018063707A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Voltage modulated control lane |
CN106533647A (zh) * | 2016-11-30 | 2017-03-22 | 上海航天控制技术研究所 | 一种基于IOSERDES的cameralink接口系统 |
CN107490756A (zh) * | 2017-06-23 | 2017-12-19 | 江苏艾科半导体有限公司 | 一种usb总线的逻辑控制信号系统 |
CN107831702A (zh) * | 2017-11-18 | 2018-03-23 | 浙江大学 | 一种基于千兆以太网的同步串行信号采集控制装置 |
CN210157281U (zh) * | 2019-07-25 | 2020-03-17 | 深圳市芯启源科技有限公司 | 一种usb数字电视信号源 |
Also Published As
Publication number | Publication date |
---|---|
US20230394006A1 (en) | 2023-12-07 |
WO2022088542A1 (zh) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1400066B1 (en) | Protocol independent transmission using a 10 gigabit attachment unit interface | |
US10374782B2 (en) | Full duplex transmission method for high speed backplane system | |
US7751442B2 (en) | Serial ethernet device-to-device interconnection | |
US8886840B2 (en) | System and method for implementing a single chip having a multiple sub-layer PHY | |
US8018962B1 (en) | Chip-to-chip interface for 1000 BASE T gigabit physical layer device | |
US7496671B2 (en) | Self-configuring communications module adaptive to different host system types | |
EP2912831B1 (en) | Ethernet over usb interfaces with full-duplex differential pairs | |
US7672326B1 (en) | Serial media independent interface with double data rate | |
WO2005096575A1 (en) | A circuit arrangement and a method to transfer data on a 3-level pulse amplitude modulation (pam-3) channel | |
US6687779B1 (en) | Method and apparatus for transmitting control information across a serialized bus interface | |
CN112865880B (zh) | 一种通过光口单向传输数据系统及方法 | |
WO2022088542A1 (zh) | 一种基于fpga的usb3.0/3.1控制系统 | |
US6880078B2 (en) | Xaui extender card | |
CN105024756A (zh) | 基于IEEE1394b数据的光传输系统 | |
CN210955040U (zh) | 用于机器人控制器的可扩展的io模块组件 | |
CN112350916A (zh) | 基于fpga的pcie低频光纤桥接系统及方法 | |
CN110912611A (zh) | 一种基于分布式同步授时技术的sfp传输系统 | |
CN111045851A (zh) | 一种通讯系统 | |
CN217428141U (zh) | 网卡、通信设备及网络安全系统 | |
CN213518243U (zh) | 一种PCIe光纤卡 | |
CN116455818A (zh) | 网络分流器和在其中复制和获取数据流的方法 | |
CN117667817A (zh) | 一种Serdes接口的高速工业总线 | |
CN112380156A (zh) | 基于龙芯3a3000的serdes多主通讯系统 | |
CN116248187A (zh) | 数据传输系统和数据传输方法 | |
CN113676310A (zh) | 一种用于雷达系统的数据传输装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |