CN104063352B - Pipe的弹性缓冲电路及其状态同步方法 - Google Patents
Pipe的弹性缓冲电路及其状态同步方法 Download PDFInfo
- Publication number
- CN104063352B CN104063352B CN201310090773.9A CN201310090773A CN104063352B CN 104063352 B CN104063352 B CN 104063352B CN 201310090773 A CN201310090773 A CN 201310090773A CN 104063352 B CN104063352 B CN 104063352B
- Authority
- CN
- China
- Prior art keywords
- data
- command word
- read
- skp
- buffer circuit
- 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.)
- Active
Links
Landscapes
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种PIPE的弹性缓冲电路,包括:命令字生成电路,在写时钟域下生成命令字,并将命令字加在后续的数据之上,使命令字与数据对齐;命令字缓存器,在写指针控制器的控制下对命令字进行缓存;数据缓存器,在写指针控制器的控制下对数据进行缓存;命令字解析电路,在读指针控制器的控制下,将相应的命令字从命令字缓存器中读出,并进行解析处理;输出数据控制器,在读指针控制器的控制下,将相应的数据从数据缓存器中读出,输出数据和弹性缓冲电路的状态。本发明还公开了一种所述弹性缓冲电路的状态同步方法。本发明能够实现状态标志设置与数据传输的精准同步。
Description
技术领域
本发明涉及USB(Universal Serial Bus通用串行总线)领域,特别是涉及一种PIPE的弹性缓冲电路。本发明还涉及一种所述弹性缓冲电路的状态同步方法。
背景技术
USB接口具有传输速度更快,支持热插拔以及连接多个设备的特点,目前已经在各类外部设备中被广泛的采用。随着USB技术的发展,USB3.0(通用串行总线3.0版本)超速传输也开始广泛应用,是目前开始逐渐广泛应用的串行数据传输协议。USB3.0能够实现理论上5Gbps的数据传输,传输速度更加快,传输时间得到有效的节省。因此对于USB3.0超速的研究也成为一种趋势。
PIPE全称是PHY Interface For the PCI Express*and USB 3.0Architectures[用于USB3.0和PCI-E(周边元件扩展接口的快速版本)体系结构的物理接口],是USB3.0PHY的一种接口协议。
由于PIPE中的弹性缓冲电路一般存在读写两种时钟,必须当作异步时钟处理。因此在写时钟状态传递到读时钟状态下时,一般不能保证状态信号与数据的同步。
发明内容
本发明要解决的技术问题是提供一种PIPE的弹性缓冲电路,能够实现状态标志设置与数据传输的精准同步;为此,本发明还要提供一种所述弹性缓冲电路的状态同步方法。
为解决上述技术问题,本发明的PIPE的弹性缓冲电路,包括:
命令字生成电路,在写时钟域下生成命令字,并将命令字加在后续的数据之上,使命令字与数据对齐;
命令字缓存器,在写指针控制器的控制下对命令字进行缓存;
数据缓存器,在写指针控制器的控制下对数据进行缓存;
命令字解析电路,在读时钟域下,且在读指针控制器的控制下,将相应的命令字从命令字缓存器中读出,并进行解析处理;
输出数据控制器,在读时钟域下,且在读指针控制器的控制下,将相应的数据从数据缓存器中读出,根据命令字解析电路的信号进行SKP order set(跳跃字符对)的插入,以及溢出时插入SUB(替换字符);输出数据和弹性缓冲电路的状态。
所述弹性缓冲电路的状态同步方法是采用如下技术方案实现的:
写入端在写时钟域下生成命令字,并将命令字加在后续的数据之上,使命令字与数据对齐;在写指针控制下,将相应的命令字和数据分别送入命令字缓存和数据缓存中;
读出端在读时钟域下从所述命令字缓存和数据缓存中读出命令字和数据,解析处理命令字,根据命令字设置标志,根据命令字插入SKP order set,实现读时钟域下数据与弹性缓冲电路状态的同步输出。
本发明利用命令字的方式,将弹性缓冲电路的状态在写时钟下与数据结合打包,同时送入弹性缓冲电路的命令字缓存器和数据缓存器中,等待读时钟得到数据和命令字后进行解析处理,从而实现读时钟下数据与状态的精准同步。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是弹性缓冲电路一实施例原理框图;
图2是写入端设置命令字的一实施例时序图;
图3是读出端解析命令字的一实施例时序图;
图4是读出端解析命令字的另一实施例时序图。
具体实施方式
USB3.0协议对于收发两端的时钟频率补偿采用协议层的SKP order set序列实现,要求发送端定时发送SKP order set,接收端根据弹性缓冲电路的状态,删除或者增加SKP order set。而PIPE协议中对SKP order set处理后的状态以及弹性缓冲电路溢出的状态要求有同步的状态输出信号(即标志)体现。
参见图1所示,所述弹性缓冲电路分为读写两个时钟域,在电路设计上必须按照异步时钟进行处理。对SKP order set的处理以及溢出的检测是在写时钟域下完成的,而状态的输出则是在读时钟域下完成的。为了实现精准的数据与弹性缓冲电路的状态同步输出,在数据通路上增加了命令字生成电路,使命令字严格与数据对齐。在写时钟域下由所述命令字生成电路生成的命令字包含“SKP order set加,SKP order set减,溢出”。在读时钟域下,由命令字解析电路负责解析处理命令字,包括根据命令字设置标志,根据命令字插入SKP order set。
结合图2所示,在写时钟域下,如果发生SKP order set减或者溢出,会生成对应的命令字加在后续的数据之上,并将相应的命令字和数据,在写指针控制器的控制下分别送入命令字缓存器和数据缓存器中。
参见图2,如果在数据C处检测到SKP order set,当弹性缓冲电路的存储容量超过一半的时候,需要进行SKP order set减,则将下一数据D的命令字设置为SKP order set减;当弹性缓冲电路的存储容量小于一半的时候,将下一数据D的命令字设置为SKP orderset加。当在数据C处出现弹性缓冲电路溢出的情况时,需要将下一数据D的命令字设为溢出。
结合图3所示,在读出端,在读指针控制器的控制下,将相应的命令字和数据分别从命令字缓存器和数据缓存器中读入命令字解析电路和输出数据控制器中。命令字解析电路解析处理命令字。输出数据控制器根据命令字解析电路的信号进行SKP order set的插入,以及溢出时插入SUB(替换字符)。当在数据D处发现SKP order set减或溢出这两种命令字后,设置标志;然后进行状态输出和数据输出。
读出端在读出数据的时候同时能够获得当前数据上的命令字。当出现SKPorderset减或者溢出命令字的时候,则将状态输出端需要输出的标志修改为对应的标志即可。为保证输出数据与状态输出的标志同步,将数据延迟一拍输出。
再结合图4所示,在读出端,在读指针控制器的控制下,将相应的命令字和数据分别从命令字缓存器和数据缓存器中读入命令字解析电路和输出数据控制器中。命令字解析电路解析处理命令字,当发现SKP order set加命令字后,暂停读出数据一拍,将输出数据中插入SKP order set加,同时设置标志。然后进行状态输出和数据输出。
参见图4,如果在数据D处检测到SKP order set加命令字后,首先在读指针控制器的控制下停止读地址的变化,维持在读数据E的状态,同时保存已经读出的数据D,然后在输出数据中插入一组SKP order set;每组SKP order set由两个SKP(跳跃字符)组成,其中,第一个SKP上需要设置标志。最后恢复保存的数据D,整体需要3拍的时间,当数据D恢复之后整体读时序恢复正常操作,依次输出后续数据E,F。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (5)
1.一种用于通用串行总线3.0版本USB3.0和周边元件扩展接口的快速版本PCI-E体系结构的物理接口PIPE的弹性缓冲电路,其特征在于,包括:
命令字生成电路,在写时钟域下生成命令字,并将命令字加在后续的数据之上,使命令字与数据对齐;
命令字缓存器,在写指针控制器的控制下对命令字进行缓存;
数据缓存器,在写指针控制器的控制下对数据进行缓存;
命令字解析电路,在读时钟域下,且在读指针控制器的控制下,将相应的命令字从命令字缓存器中读出,并进行解析处理;
输出数据控制器,在读时钟域下,且在读指针控制器的控制下,将相应的数据从数据缓存器中读出,根据命令字解析电路解析处理后得到的信号进行跳跃字符对SKP order set的插入,以及溢出时插入替换字符SUB;输出数据和弹性缓冲电路的状态。
2.一种用于通用串行总线3.0版本USB3.0和周边元件扩展接口的快速版本PCI-E体系结构的物理接口PIPE的弹性缓冲电路的状态同步方法,其特征在于:
写入端在写时钟域下生成命令字,并将命令字加在后续的数据之上,使命令字与数据对齐;在写指针控制下,将相应的命令字和数据分别送入命令字缓存和数据缓存中;
读出端在读时钟域下从所述命令字缓存和数据缓存中读出命令字和数据,解析处理命令字,根据命令字设置标志,根据命令字插入跳跃字符对SKP order set,实现读时钟域下数据与弹性缓冲电路状态的同步输出。
3.如权利要求2所述的方法,其特征在于:如果在某一数据处检测到跳跃字符对SKPorder set,当弹性缓冲电路的存储容量超过一半时,则将下一数据的命令字设置为跳跃字符对SKP order set减;当弹性缓冲电路的存储容量小于一半时,将下一数据的命令字设置为跳跃字符对SKP order set加;当在某一数据处出现弹性缓冲电路溢出时,则将下一数据的命令字设为溢出。
4.如权利要求3所述的方法,其特征在于:读出端在读出数据的同时能够获得当前数据上的命令字;当出现跳跃字符对SKPorder set减或者溢出命令字时,则将状态输出端需要输出的标志修改为对应的标志,且将数据延迟一拍输出。
5.如权利要求3所述的方法,其特征在于:当发现跳跃字符对SKP order set加命令字后,暂停读出数据一拍,在输出数据中插入跳跃字符对SKP order set加,同时设置标志;具体方法是:如果在某一数据处检测到跳跃字符对SKP order set加命令字后,停止读地址的变化,维持在读下一数据的状态,同时保存已经读出的数据;然后在输出数据中插入一组跳跃字符对SKP order set;每组跳跃字符对SKP order set由两个跳跃字符SKP组成,其中,第一个跳跃字符SKP上需要设置标志;最后恢复保存的数据,当保存的数据恢复后,读时序恢复正常操作,依次输出后续数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310090773.9A CN104063352B (zh) | 2013-03-20 | 2013-03-20 | Pipe的弹性缓冲电路及其状态同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310090773.9A CN104063352B (zh) | 2013-03-20 | 2013-03-20 | Pipe的弹性缓冲电路及其状态同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063352A CN104063352A (zh) | 2014-09-24 |
CN104063352B true CN104063352B (zh) | 2017-03-15 |
Family
ID=51551070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310090773.9A Active CN104063352B (zh) | 2013-03-20 | 2013-03-20 | Pipe的弹性缓冲电路及其状态同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104063352B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484631A (zh) * | 2015-08-25 | 2017-03-08 | 安徽大学 | 一种新弹性缓冲器结构及skp添加方法 |
CN108614798B (zh) * | 2016-12-12 | 2021-05-07 | 中国航空工业集团公司西安航空计算技术研究所 | PCIe链路弹性缓冲区电路 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296217A (zh) * | 2007-04-24 | 2008-10-29 | 中芯国际集成电路制造(上海)有限公司 | 弹性缓冲装置及补偿时钟差异的方法 |
CN101946219A (zh) * | 2008-02-20 | 2011-01-12 | 惠普开发有限公司 | 具有两个参考时钟的转接驱动器及其操作方法 |
TW201115354A (en) * | 2009-10-22 | 2011-05-01 | Via Tech Inc | USB device and correction method thereof |
TW201142613A (en) * | 2010-05-31 | 2011-12-01 | Jmicron Technology Corp | Timing aligning circuit and timing aligning method for aligning data transmitting timing of a plurality of lanes |
CN102270011A (zh) * | 2010-06-04 | 2011-12-07 | 智微科技股份有限公司 | 校准多个数据信道的数据传输时序的时序校准电路及时序校准方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8867683B2 (en) * | 2006-01-27 | 2014-10-21 | Ati Technologies Ulc | Receiver and method for synchronizing and aligning serial streams |
CN102708086B (zh) * | 2012-05-10 | 2015-05-20 | 无锡华大国奇科技有限公司 | 一种应用于usb3.0的弹性缓冲结构及方法 |
-
2013
- 2013-03-20 CN CN201310090773.9A patent/CN104063352B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296217A (zh) * | 2007-04-24 | 2008-10-29 | 中芯国际集成电路制造(上海)有限公司 | 弹性缓冲装置及补偿时钟差异的方法 |
CN101946219A (zh) * | 2008-02-20 | 2011-01-12 | 惠普开发有限公司 | 具有两个参考时钟的转接驱动器及其操作方法 |
TW201115354A (en) * | 2009-10-22 | 2011-05-01 | Via Tech Inc | USB device and correction method thereof |
TW201142613A (en) * | 2010-05-31 | 2011-12-01 | Jmicron Technology Corp | Timing aligning circuit and timing aligning method for aligning data transmitting timing of a plurality of lanes |
CN102270011A (zh) * | 2010-06-04 | 2011-12-07 | 智微科技股份有限公司 | 校准多个数据信道的数据传输时序的时序校准电路及时序校准方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104063352A (zh) | 2014-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105320490B (zh) | 用于异步fifo电路的方法和设备 | |
JP6517243B2 (ja) | リンクレイヤ/物理レイヤ(phy)シリアルインターフェース | |
CN102708086B (zh) | 一种应用于usb3.0的弹性缓冲结构及方法 | |
CN105117360A (zh) | 基于fpga的接口信号重映射方法 | |
JP2006202281A (ja) | Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機 | |
KR20150090860A (ko) | 유효 인코딩을 위한 방법 및 장치 | |
CN104022775A (zh) | 一种面向SerDes技术中基于FIFO协议的数字接口电路 | |
CN104063352B (zh) | Pipe的弹性缓冲电路及其状态同步方法 | |
CN102880442B (zh) | 用于时钟树转换处的先入先出(fifo)装置与方法 | |
US9071256B1 (en) | Method for link resets in a SerDes system | |
CN108089834A (zh) | 一种播放同步方法、装置和usb声卡 | |
CN104809093A (zh) | 对串行接口传输的数据进行处理的方法及装置 | |
CN106484631A (zh) | 一种新弹性缓冲器结构及skp添加方法 | |
CN105446699A (zh) | 数据帧队列管理方法 | |
CN104239247B (zh) | 一种基于spi接口的寄存器快捷读写方法 | |
CN207020664U (zh) | 用于扩展pci‑e接口的扩展卡 | |
JP2023547185A (ja) | Serdesインタフェース回路 | |
CN202904568U (zh) | 一种应用于usb3.0的弹性缓冲结构 | |
CN115699668B (zh) | 宽弹性缓冲器 | |
CN112542193B (zh) | 一种高速读取数据的spi接口的flash存储器 | |
Caputa et al. | An on-chip delay-and skew-insensitive multicycle communication scheme | |
TWI484333B (zh) | 彈性緩衝器模組及傳輸介面之彈性緩衝方法 | |
CN107341116B (zh) | 基于arm的pc/104通信方法及其写入、读取时序 | |
CN219179825U (zh) | 时间去偏差电路、系统及电子设备 | |
CN106294260A (zh) | 数据从异步总线输出到同步总线的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |