CN1262936C - 多相位编码协议和总线同步 - Google Patents
多相位编码协议和总线同步 Download PDFInfo
- Publication number
- CN1262936C CN1262936C CNB028118057A CN02811805A CN1262936C CN 1262936 C CN1262936 C CN 1262936C CN B028118057 A CNB028118057 A CN B028118057A CN 02811805 A CN02811805 A CN 02811805A CN 1262936 C CN1262936 C CN 1262936C
- Authority
- CN
- China
- Prior art keywords
- coded frame
- order
- leggy
- data
- drop edge
- 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.)
- Expired - Fee Related
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
- Information Transfer Systems (AREA)
Abstract
一种多相位编码协议具有足够的命令密度,使得可在总线上实现一种丰富的语言。当10个字段比特专用于命令时,每个时钟可有多于6百万的字以供选择。用来实现多相位编码协议和同步总线的的体系结构包括所抽取的时钟、命令元件和数据元件。1比特乘法器被用作相关元件,以向从属延迟锁定环(DLL)设备提供反馈,这为几条信道的成功数据抽取提供精确的相位对齐。
Description
技术领域
本发明一般地说涉及网络。更具体地说,本发明涉及网络总线。
背景技术
一般将总线定义为包括多条线路(wire)或其他介质(例如光纤)的公共物理信号路径(path),通过该路径,可以从网络的一个部分向另一个部分发送信号。总线的一个公共特性在于随着总线的成熟,需要发送和接收的功能也在增长。然而,任何设计所定义的总线都具有总线可处理的功能的上限。也就是说,总线可能在它的命令/控制词汇表中的词的数量上是受限的。命令/控制词汇表的大小可以限定总线可处理的功能的种类。
总线的另一个公共特性在于总线上的操作必须被同步,以使总线可正确地操作。总线一般具有3个部分,时钟、数据线(line)和控制线。时钟给予总线完整性,它允许总线的各部分作为一个整体而协同工作。可以从来自命令/控制线或数据线的传输的基本频率而导出时钟。数据线一般携带数据,而命令/控制线一般携带命令和控制信号值。
一些现存网络的一个缺点在于在时钟和数据线之间存在一种关系,必须维持这一关系以使网络如所期望地运行。这是因为时钟和数据线上的数据来源不同。如果总线的任何部分(例如数据线上的数据)变得更快或更慢,以至于它落在了由时钟边缘控制的偏差窗口(margin window)之外,总线就会出错,并且可能不能执行它预期的功能。随着总线运行得越来越快,与数据线和控制线相关的时钟可能不能执行它预期的功能。
网络有时会同时传输几条信道以提高带宽。一般使用不同的信号跟踪路径、线路、波长或颜色(对于光传输)来分隔信道。一条信道采用通向接收器的一条路径而另一条信道采用通向同一接收器的不同路径是很常见的。而且,一条信道的发射器可能在一个时刻发射,而另一条信道的发射器可能在不同的时刻发射。
当存在这些(以及其他)条件时(例如不同的颜色、不同的跟踪路径、不同的发射器发射时刻),这些信道在接收器处可能会产生偏差(skew)。这是因为不同的颜色可能会以不同的速度穿过传输介质(例如大气、光纤),或者可能采用了不同的路径,结果在不同的时刻到达接收器。当多个信道采用不同的路径时,一个路径可能长于或短于另一条路径,或者一条路径可能比另一条路径快或者慢,这也意味着信道上的信号值可能会在不同的时刻到达接收器。当发射器在不同时刻发射时,多个信道就在不同时刻被启动,这也意味着多个信道上的信号值可能会在不同的时刻到达接收器。在接收器处,光转换器(optical transducer)中的转换也可能使信道产生偏差,因为每个光转换器可能具有不同的延迟。
为了补偿信道偏差,接收器必须以某种方式来同步输入的信道。当前在接收端同步信道的一种方案涉及一次聚合(aggregate)多个信道,并在一个寄存器处连接所聚合的线,其中每个信道具有至少一个嵌入式时钟。使用离散时钟来将数据按时钟输入该寄存器。当寄存器发现数据已被安排好时,信道上的下一个数据就被按时钟输入寄存器。然而,这一方案一般使通信慢了下来,因为接收器在确定功能的预期使用之前,必须等待所有的命令/控制和数据被组装好。
发明内容
根据本发明的第一方面,一种网络,包括:至少一个发送设备,其中所述发送设备包括多相位锁相环,用于将至少一个数据结构、时钟结构和/或至少一个命令/控制结构顺序发生到多相位编码帧中,其中每个多相位编码帧的上升边缘表示所述时钟结构,而每个帧的下降边缘表示跟在所述多相位编码帧的所述下降边缘之后的结构是所述数据结构或所述命令/控制结构;总线,用于传送所述多相位编码帧;以及至少一个接收设备,其中任何一个接收设备包括延迟锁定环,用于用所述时钟结构来调整一个或多个多相位编码帧的所述上升边缘,从而使得所述多相位编码帧彼此同步。
根据本发明的第二方面,一种用于在网络中处理数据的方法,包括:将包含在载波中的信息从发送设备发送到接收设备,其中所述信息包括包含在编码帧中的数据结构、至少一个包含在所述编码帧中的命令/控制结构以及包含在所述编码帧中的时钟结构,并且其中所述编码帧的上升边缘表示所述时钟结构,而所述帧的下降边缘表示跟在所述帧的所述下降边缘之后的是所述数据结构或所述命令/控制结构;以及在所述接收设备处接收所述信息,并使用所述时钟结构来调整所述帧的相位,以使所述帧与包含在所述载波中的另一个编码帧同步。
根据本发明的第三方面,一种发送设备,包括:多相位锁相环,用于将至少一个数据结构、时钟结构和/或至少一个命令/控制结构顺序发生到多相位编码帧中,其中每个多相位编码帧的上升边缘表示所述时钟结构,而每个帧的下降边缘表示跟在所述多相位编码帧的所述下降边缘之后的结构是所述数据结构或所述命令/控制结构;以及驱动器,用于将所述多相位编码帧驱动到总线上。
根据本发明的第四方面,一种接收包含在载波中的信息的设备,其中所述信息包括包含在编码帧中的数据结构、至少一个包含在所述编码帧中的命令/控制结构以及包含在所述编码帧中的时钟结构,并且其中所述编码帧的上升边缘表示所述时钟结构,而所述帧的下降边缘表示跟在所述帧的所述下降边缘之后的是所述数据结构或所述命令/控制结构;所述设备包括:差分放大器,用于从所述编码帧中抽取偏移电压;以及延迟锁定环,其耦合到所述差分放大器,所述延迟锁定环用于用所述时钟结构来调整一个或多个多相位编码帧的所述上升边缘,从而使得所述多相位编码帧彼此同步。
根据本发明的第五方面,一种总线,包括:至少一条线,用于发送多相位编码帧,单个多相位编码帧包括至少一个数据结构、时钟结构和/或至少一个命令/控制结构,其中单个多相位编码帧的上升边缘表示所述时钟结构,而单个多相位编码帧的下降边缘表示跟在所述多相位编码帧的所述下降边缘之后的结构是所述数据结构或所述命令/控制结构。
附图说明
参考附图可最好地理解本发明,其中相同标号一般表示相同的、功能类似的和/或结构类似的元件。最先在其中出现某个元件的附图用标号中最左边的(多个)数位表示了出来,其中:
图1是根据本发明实施例的示例性多相位编码协议的图形表示;
图2是适合于实现本发明实施例的示例性网络的示意图;
图3是根据本发明实施例,图2的总线的线上的多相位编码帧的图形表示;
图4是根据本发明实施例的示例性差分接收器的示意图;
图5是根据本发明实施例的7相位驱动器序列发生器的示意图;
图6是根据本发明实施例的示例性差分驱动器的示意图;以及
图7图示了一种方法的流程图,该方法用于根据本发明的实施例来实现光总线同步。
具体实施方式
在此描述了一种实现多相位编码协议的多相位编码协议和总线(包括帧、信道等等)同步。在下面的描述中,给出了大量的具体细节,例如具体过程、材料、设备等等,以提供对本发明实施例的透彻的理解。然而,对本领域内的技术人员来说,很明显没有这些具体细节,或者利用其他方法、组件等等也可以实施本发明。另外,没有详细地示出或描述一些公知的结构或操作,以避免混淆本发明各实施例的多个方面。
本说明书的一些部分将使用下述术语来说明,例如总线、比特(位)、时钟、命令等等。这些术语被本领域内的技术人员普遍地使用,以向本领域内其他技术人员交流他们的工作的实质。如在此所使用的,词语“线”(line)指称具有多相位属性的单条线。根据实施例,多相位属性是这样的一种状态,在其中单条线由两个或更多的数据字段比特顺次带有一个或更多命令/控制字段比特构成。每条线被定义成是数据字段比特或命令/控制字段比特,而不会同时是二者。对于一条总线,如果任一条线具有命令/控制字段比特被设置了,那么该总线上的所有信息都是定义命令。
本说明书的其他部分将以网络进行的操作来说明,使用术语如编码、接收、发送等等。如本领域内的技术人员所理解的那样,这些量和操作采用了电、磁或光信号的形式,能够通过网络的机械和电气组件而被存储、传输、结合或其他操作;并且,术语“网络”包括通用及专用数据处理机器、系统等等,这些机器、系统等可以是独立的、附属的或嵌入式的。
各种操作将被描述成多个离散步骤,这些步骤以最能有助于理解本发明的方式而被依次执行。然而,它们被描述的顺序不应当被理解成暗示这些操作必然是顺序相关的,或者必须以所述步骤被说明的顺序而执行这些操作。
通篇说明书中对“一个实施例”或“实施例”的引用意味着,在本发明的至少一个实施例中包括了结合该实施例而被描述的一个具体的特征、结构、过程、步骤或特性。因此,通篇说明书中,在不同地方出现的短语“在一个实施例中”或“在实施例中”不一定指的是同一个实施例。而且,在一个或多个实施例中,可以用任何合适的方式结合所述具体的特征、结构或特性。
本发明目的在于多相位编码协议,当实现该协议的总线上的线的数目增长时,命令/控制字(word)的数目超过数据字数目呈指数增长。例如,使用多相位编码协议,两条线可携带16(24)个可能的数据字,而相同的线可携带20个可能的命令/控制字。10条线可携带1,048,576(220)个可能的数据字,以及6,553,600个或更多可能的命令/控制字。16条线可携带4,294,967,296(232)个可能的数据字,以及42,949,672,960个或更多可能的命令/控制字。
根据本发明的实施例,多相位编码协议有几个优点。一个优点在于数据和命令的结构允许将一个唯一的签名作为协议的一部分,以易于识别,这简化了硬件实现并降低了网络的额外开销。例如,多相位编码协议允许创建简化的电到光和光到电接口。
多相位编码协议的另一个优点在于降低了烧坏具有高而窄的脉冲的光转换器的风险。这是因为多相位编码协议允许脉冲打包(pulsepacking),在其中,增加的信息密度被应用到光转换器。
多相位编码协议的另一个优点在于,由于命令/控制词汇表的大小可以限定总线可处理的功能(例如命令和控制)的种类,因此根据本发明实施例的多相位编码协议允许使用软件来创建新的指令集,这对可扩展性来说是有帮助的。
当然,本发明不限于多相位编码中相位的数量。例如,表1列举了线(及字段比特)的示例性数目,以及它们所传输的命令字和/或数据字的相应数目。
表1
每条总线的线数 | 传输 | 每条总线的线数 | 传输 | ||
命令 | 数据 | 命令 | 数据 | ||
1 | 2 | 4 | 9 | >1,474,560 | 2,621,144 |
2 | 20 | 16 | 10 | >6,533,600 | 1,048,576 |
3 | 144 | 64 | 11 | >28,853,840 | 4,194,304 |
4 | 640 | 256 | 12 | >125,829,520 | 16,777,216 |
5 | 3,200 | 1024 | 13 | >545,259,520 | 67,108,864 |
6 | 15,360 | 4096 | 14 | >2,348,810,240 | 268,435,456 |
7 | 71,680 | 16384 | 15 | >10,066,329,600 | 1,073,741,842 |
8 | 327,680 | 655,536 | 16 | >42,949,672,960 | 4,294,967,296 |
注意,命令/控制字的排列的数字远大于数据字的排列。还应注意,6,533,600个命令/控制字多于英语中当前出现的单词数量,而42,949,672,960个命令/控制字则多于所有现存语言单词数量的总和。命令的这一密度使得可实现一种丰富的语言。当使用2个数据字段比特和2个命令/控制字段比特,或者使用3个数据字段比特和3个命令/控制字段比特命令/控制字等等时,多相位编码协议中的命令/控制字的这一丰富性就增加了。
图1是根据本发明实施例的示例性多相位编码协议100的图形表示。示例性协议100使用40个字段比特,包括10个专用于命令/控制字(命令/控制字段比特102)的字段比特(D0-D9),22个专用于数据、寻址和/或其他功能的字段比特(数据字段比特104),以及8个专用于纠错的字段比特(ECC字段比特106)。命令/控制字段比特102保持用于协议100中剩余字段比特的目标或功能信息。在此实施例中,利用10个命令/控制字段比特,从每个时钟可以有6,533,600个命令/控制字以供选择。40个字段比特还允许4组(10个字段比特)命令/控制字段比特102,等于4个命令/控制字。当所述40个字段比特中的任何字段比特具有有效的命令/控制字段比特时,整个40个字段比特就表示一个命令/控制结构。
根据本发明的实施例,多相位编码协议100是7相位编码协议。7相位编码定义为在每个时钟边缘处可具有2个数据字段比特或1个命令/控制字段比特。在7相位编码中,相对于上升时钟边缘的下降边缘的下落(dropping)定义了2比特数据(00、01、10、11)或1比特命令/控制字段(0或1)。命令/控制字段比特102包括C0、C1比特定义,而数据字段比特104与00、01、10、11数据字段比特相关。所有具有C0比特集与C1比特集交替的多个比特代表IDLE(空闲)模式。这使得多相位编码可消除总线偏差。IDLE模式包括重复循环的具有C0比特集的n条线后跟一条或多条具有C1比特集的线。这使得可以创建一种逻辑,其可以消除超过1个时钟长度的总线偏差。
当然,本发明为多相位编码中的相位的数量所限。例如,根据本发明的其他实施例,多相位编码协议100是9相位编码协议。9相位编码协议定义为每个时钟边缘可具有2个数据字段比特或2个命令/控制字段比特。相对于上升时钟边缘的下降边缘的下落定义了2比特数据(00、01、10、11)或2比特命令(00、01、10、11)。
或者,多相位编码协议100是11相位编码协议。11相位编码协议定义为每个时钟边缘可具有3个数据字段比特或1个命令/控制字段比特。相对于上升时钟边缘的下降边缘的下落定义了3比特数据(000、001、010、011、100、101、110、111)或1个命令/控制字段比特(0或1)。
或者,多相位编码协议100是13相位编码协议。13相位编码协议定义为每个时钟边缘可具有3个数据字段比特或2个命令/控制字段比特。相对于上升时钟边缘的下降边缘的下落定义了3比特数据(000、001、010、011、100、101、110、111)或2比特命令(00、01、10、11)。阅读了在此的描述,对本领域内的普通技术人员来说,怎样根据本发明来实现其他多相位编码协议是很清楚的。
本发明目的还在于用来实现总线上的多相位编码协议并同步信道的体系结构。图2是适合于实现本发明实施例的示例性网络200的示意图。示例性网络200包括至少两个设备(202、204),这些设备通过总线206向彼此发送并从彼此接收数据。总线206耦合在设备202和204之间,以允许设备202和204使用多相位编码协议100来与彼此交换数据和命令/控制信息。
在一个实施例中,设备202和204可以是处理器,其实现执行程序指令的传统功能,包括实现许多本发明的教导。例如,设备202和204可以是可从加利福尼亚州圣·克拉拉市的英特尔公司(Intel Corporation)获得的Pentium处理器系列。尽管只示出了两个设备(202和204),但是本发明的实施例可以用多于两个的设备来实现。
可以在任何时间将命令和/或控制信息与数据一起传输,这提高了在总线206上的效率。数据和命令/控制信息确定(后跟的或以前的)数据应怎样被处理。当更多的数据和命令/控制信息被交换时,可以改变应怎样处理(后跟的或以前的)数据。
本发明的实施例对设备在206上交换的帧进行同步。图3是总线结构100中的线上所传输的帧300的图形表示,其中总线结构100使用根据本发明实施例的多相位编码协议。在示出的实施例中,2个上升边缘302、数据结构304、至少1个命令/控制结构306以及至少1个下降边缘308限定了帧300。每个上升边缘302表示一个时钟。帧300(例如数据结构304、命令/控制结构306以及时钟)可以是包含在载波中的计算机数据信号,所述载波在总线206上被发送和接收。
与数据结构304相关的命令/控制结构306定义了总线206的数据总线上的信息。时钟定义了总线206上所有线的同步。对每个命令/控制字,数据结构304的含义在时钟的时刻处被重定义。帧300中的波形的多相位编码使得在使用波形的初始上升边缘作为同步时钟时可确定多个逻辑状态及它们的功能。
对于平衡传输线上的电荷的线来说,可以反转上升和下降边缘。例如,向接收器发送说明上升/下降反转的命令。这还使得接收器可反转其逻辑。
可以导出时钟和数据之间的关系并在接收单元中对之进行补偿。接收设备(202、204)使用时钟来调整一个或多个输入的帧300的相位,以使多个帧300彼此同步。因此时钟可以嵌入在多相位编码协议中。
在一个实施例中,下降边缘308表示跟在下降边缘308后面的结构是数据结构304或命令/控制结构306。当帧300中下降边缘308发生在一个预定点(310、312、314或316)处时,跟在下降边缘308后的结构是数据结构304,并且正在被发送和接收的信息是数据。当帧300中下降边缘308发生在另一个预定点(318或320)处时,跟在下降边缘308后的结构是命令/控制结构306,并且正在被发送和接收的信息是命令/控制信息。当下降边缘308发生在预定点318处时,命令/控制结构306表示一个命令(C0)。当下降边缘308发生在预定点320处时,命令/控制结构306表示另一个命令(C1)。
数据结构304和命令/控制结构306都包括预定数量的数据/命令/控制字段比特字段。每个比特字段都包括预定数量的数据/命令/控制字段比特。在一个实施例中,在2线总线上,每个数据结构都具有D0、D1=2比特数据或1比特命令C。在任何线中设置的命令都使得总线是命令/控制功能。D0的第一线是D1 0,而D1的第一线是D1 1。命令/控制字段比特是C1。第二线是D2 0和D2 1,而命令/控制字段比特是C2。然后,每次取每条线的命令,同时取另一条线的2个数据比特:
C1=0,其中D2 0D2 1的值是从第二线的00到11=4个可能;
C1=1,其中D2 0D2 1的值是从第二线的00到11=4个可能;
C2=0,其中D1 0D1 1的值是从第一线的00到11=4个可能;
C2=1,其中D1 0D1 1的值是从第一线的00到11=4个可能;并且
C1=0 C2=0,C1=0 C2=1,C1=1 C2=0,C1=1 C2=1是4个可能。
在此实施例中,对于有4个比特的2条线,共计20个命令/控制字和16个数据字。当然,这一概念可以扩展到其他总线宽度,如上面表1所示。
数据结构304和命令/控制结构306还都包括预定数量的错误纠正与检测(ECC)比特,可用于8B/10B编码。ECC比特对于某些总线来说不是必需的。而且,对于10B编码,可能不需要ECC,而可将ECC用于扩展总线宽度。
在一个实施例中,帧300首先被传输的是命令/控制结构306,其后面可以跟着附加的命令/控制结构,以澄清任何对帧300的内容的限制。可以包括或不包括ECC比特的数据结构304的分组然后可以跟在帧300之后。
与总线206的每个连接包括驱动器和接收器。驱动器将要传输的数据构造成多相位编码帧。设备202中的驱动器连接到设备204中的接收器。设备204中的驱动器连接到设备202中的接收器。所述驱动器和接收器可以是具有公共参考线的单端驱动器和差分接收器。如果每个接收器将自己的驱动器电压置零,并且驱动器阻抗等于传输线阻抗,那么设备202和204中的驱动器和接收器可都驻留在同一差分总线上。
传统网络可能需要为每个进入系统的信道抽取时钟。数据的同步发生在去序列化(de-serialization)之后。因为每个信道具有它自己的时钟域,因此所有的信道需要都同步到某个内部时钟上。根据本发明的实施例,网络200提供为所接收的数据或命令/控制提供不带锁相环(PLL)或后去序列化(post de-serialization)方法的系统时钟和同步。例如,信道到信道的同步由使用1比特乘法器触发器而保持同相的延迟锁定环(DLL)设备来完成。1比特乘法器触发器用作相关元件,向从属DLL设备提供反馈。主DLL输出提供系统时钟。由1比特乘法器触发器实现的每个从属DLL的同步允许对主DLL进行精确的相位跟踪。所有的命令/控制结构和数据结构都被同步到系统时钟。
图4是根据本发明实施例的示例性差分接收器400的示意图,其中差分放大器402从通过的差分数据输入抽取公共偏移电压,并把结果发送到差分DLL 404,并且如果它是总线上的第一线的话,则还发送到CLKref(参考时钟)。Vfreq电压408将自己设置成使得通过差分DLL 404的延迟等于下述时段:经过电流引导晶体管410和412的充电和放电的差分数据输入的上升边缘到差分数据输入的下一个上升边缘之间的时间间隔。差分DLL 404的抽头(tap)位于转换周期的中间,如图所示。
在一些系统中,其中需要考虑耦合到差分DLL 402中的噪音并且防护环(guard ring)不充分,除以m的逻辑(divide/m logic)414对频率进行递减计数,以使得进入差分接收器400的基层的BIAS电流被设置为略负。这减少了每个DLL和PLL阶段的片间噪音拾取。
在接收端,每个接收器从总线206抽取它自己的数据。接收器然后使用数据中的上升边缘302作为时钟边缘来抽取嵌入了协议的数据或命令。这一处理消除了时钟到数据(clock-to-data)的偏差和抖动,因为上升边缘302被用来格式化跟在上升边缘302后的嵌入数据。
这些特征为从几条光纤中的成功的数据抽取提供了相位对齐。这些特征还使得可获得很宽的带宽,而不需要传统8B/10B编码系统所需的额外开销。这是因为多条光纤要被结合到光总线206上,这消除了数据信道上的数据路径瓶颈。
在一个实施例中,总线206耦合在设备(202、204)之间,以用多相位编码帧的形式交换数据和控制信息。在此实施例中,每个帧可被编码成使得该帧的多个相位允许使用该帧的初始上升边缘作为同步时钟来确定多个逻辑状态和它们的功能。每个设备(202、204)在发射前将数据进行编码,并在接收时解码所编码的数据。
每个帧由任意两个上升边缘所限定。所述上升边缘生成系统时钟。下降边缘的定时位置定义了帧的内容。帧被再细分成数据带(data zone,例如6个数据带)。下降边缘在这些数据带之一中下落。数据带被定义为00、01、10、11、命令0和命令1。下降边缘是与上升边缘(时钟)相关的从一个状态到下一个状态的线性级数。可以使用窗口函数来补偿边缘位置的不确定性。
图5是根据本发明实施例的7相位驱动器序列发生器500的示意图。示例性驱动器序列发生器500包括7个差分输入/输出放大器502、504、506、508、510、512和514,形成一个7相PLL,以使用几个门516、518、520、522、524、526和528来对数据字和/或命令/控制字进行排序以用于发射。数据字和/或命令/控制字被应用到发射寄存器530。所述7个相位由相位A、B、C、D、E、F和R表示。R相位将触发器532设置成高电平。数据D0和D1的两个比特被用来在正确的相位处重置触发器532,或者,如果发射寄存器530的D/C输入被设置成命令,那么C0比特就设置用于命令/控制输出的相位。
图6是根据本发明实施例的示例性差分驱动器600的示意图。驱动器序列发生器500的输出被发送到差分驱动器600,差分驱动器600将(多个)多相位编码帧输出到作为物理总线具有相同阻抗的总线上。触发器532的低驱动电压与差分驱动器600的电压VCC位于同一电位。这使得差分驱动器600不必饱和以得到更快的输出特性。分别耦合到晶体管610和612的VibiasH和VibiasL是从外部电阻(未示出)而来的,所述外部电阻具有特性板阻抗值。
图7是图示了一种方法700的流程图,方法700用于根据本发明的实施例来实现光总线同步。步骤702将包含数据结构、命令结构和时钟结构的帧发送到接收设备。数据结构可用预定数量的数据字段比特来编码,而命令结构可用预定数量的命令/控制字段比特来编码。帧可包括上升边缘和下降边缘。下降边缘可表示跟在特定下降边缘后的是数据结构或命令结构,以使得帧中下降边缘在一个预定点处的下落表示后跟的是数据结构,而在另一个预定点处的下落表示命令结构。上升边缘表示时钟结构。
步骤704接收帧,并使用时钟来使所述帧彼此同步。接收器可从帧抽取它的数据,并使用上升边缘作为时钟边缘来抽取嵌入的数据或命令/控制信息。
总线信道的多相位编码协议和同步可以在各种总线上实现。例如,总线信道的多相位编码协议和同步可以在光总线、通信总线、测试总线等等之上实现。阅读了在此的描述之后,本领域内的普通技术人员可容易地认识到怎样实现多相位编码协议和怎样在这些总线上同步总线信道。
本发明的各方面可以使用硬件、软件或硬件和软件的组合来实现。这些实现包括状态机、现场可编程门阵列(FPGA)、微处理器、专用集成电路(ASIC)、离散中规模集成(MSI)电路、模拟电路等等。在使用软件的实现中,该软件可存储在计算机程序产品(例如光盘、磁盘、软盘等等)或程序存储设备(例如光盘驱动器、磁盘驱动器或软盘驱动器等等)上。
对本发明图示实施例的上述描述并未将本发明穷尽或限制到所公开的准确形式上。尽管在此描述了本发明的具体实施例和示例以用于说明的目的,但是也可在本发明的范围内做出各种等同的改动,如同本领域内的技术人员可认识到的那样。按照上述详细的描述,可对本发明做出上述改动。
Claims (16)
1.一种网络,包括:
至少一个发送设备,其中所述发送设备包括:
多相位锁相环,用于将时钟结构、至少一个数据结构和/或至少一个命令/控制结构顺序发生到多相位编码帧中,其中每个多相位编码帧的上升边缘表示所述时钟结构,而每个多相位编码帧的下降边缘表示跟在所述多相位编码帧的所述下降边缘之后的结构是所述数据结构或所述命令/控制结构;
总线,用于传送所述多相位编码帧;以及
至少一个接收设备,其中任何一个接收设备包括延迟锁定环,用于用所述时钟结构来调整一个或多个多相位编码帧的所述上升边缘,从而使得所述多相位编码帧彼此同步。
2.如权利要求1所述的网络,其中所述发送设备还包括寄存器,用于临时存储所述至少一个数据结构和/或所述至少一个命令/控制结构,并且所述至少一个数据结构包括预定数量的编码数据字段比特。
3.如权利要求1所述的网络,其中所述发送设备还包括驱动器,用于将所述多相位编码帧驱动到所述总线上。
4.如权利要求3所述的网络,其中所述驱动器还包括至少一个偏置晶体管。
5.如权利要求1所述的网络,其中所述多相位锁相环还包括多个差分放大器。
6.如权利要求1所述的网络,其中所述发送设备还包括触发器,用于使所述多相位编码帧的阻抗与所述总线的阻抗匹配。
7.一种用于在网络中处理数据的方法,包括:
将包含在载波中的信息从发送设备发送到接收设备,其中所述信息包括包含在编码帧中的数据结构、至少一个包含在所述编码帧中的命令/控制结构以及包含在所述编码帧中的时钟结构,并且其中所述编码帧的上升边缘表示所述时钟结构,而所述编码帧的下降边缘表示跟在所述编码帧的所述下降边缘之后的是所述数据结构或所述命令/控制结构;以及
在所述接收设备处接收所述信息,并使用所述时钟结构来调整所述编码帧的相位,以使所述编码帧与包含在所述载波中的另一个编码帧同步。
8.如权利要求7所述的方法,还包括:在将包含在载波中的信息从发送设备发送到接收设备之前,用预定数量的数据字段比特来编码所述数据结构。
9.如权利要求7所述的方法,还包括:在将包含在载波中的信息从发送设备发送到接收设备之前,用预定数量的命令/控制字段比特来编码所述命令/控制结构。
10.如权利要求7所述的方法,其中将包含在载波中的信息从发送设备发送到接收设备包括在所述命令/控制结构中的一个预定点处下落所述编码帧的下降边缘以表示第一命令,并在所述命令/控制结构的第二预定点处下落所述编码帧的下降边缘以表示第二组命令。
11.如权利要求7所述的方法,其中将包含在载波中的信息从发送设备发送到接收设备包括:
在所述命令/控制结构中的一个预定点处下落所述编码帧的下降边缘以表示第一命令字,并在所述命令/控制结构中的第二预定点处下落所述编码帧的下降边缘以表示第二组命令字;以及
在所述数据结构中的一个预定点处下落所述编码帧的下降边缘以表示第一数据字,并在所述数据结构的第二预定点处下落所述编码帧的下降边缘以表示第二组数据字,并且其中所述第二组命令字多于所述第二组数据字。
12.如权利要求7所述的方法,其中将包含在载波中的信息从发送设备发送到接收设备包括:
在所述命令/控制结构中的一个预定点处下落所述编码帧的下降边缘以表示第一命令字,并在所述命令/控制结构中的第二预定点处下落所述编码帧的下降边缘以表示第二组命令字;以及
在所述数据结构中的一个预定点处下落所述编码帧的下降边缘以表示第一数据字,并在所述数据结构的第二预定点处下落所述编码帧的下降边缘以表示第二组数据字。
13.一种发送设备,包括:
多相位锁相环,用于将时钟结构、至少一个数据结构和/或至少一个命令/控制结构顺序发生到多相位编码帧中,其中每个多相位编码帧的上升边缘表示所述时钟结构,而每个多相位编码帧的下降边缘表示跟在所述多相位编码帧的所述下降边缘之后的结构是所述数据结构或所述命令/控制结构;以及
驱动器,用于将所述多相位编码帧驱动到总线上。
14.如权利要求13所述的发送设备,还包括寄存器,用于临时存储所述至少一个数据结构和/或至少一个命令/控制结构。
15.如权利要求13所述的发送设备,还包括触发器,用于使所述多相位编码帧的阻抗与所述总线的阻抗匹配。
16.一种接收包含在载波中的信息的设备,其中所述信息包括包含在编码帧中的数据结构、至少一个包含在所述编码帧中的命令/控制结构以及包含在所述编码帧中的时钟结构,并且其中所述编码帧的上升边缘表示所述时钟结构,而所述编码帧的下降边缘表示跟在所述编码帧的所述下降边缘之后的是所述数据结构或所述命令/控制结构;所述设备包括:
差分放大器,用于从所述编码帧中抽取偏移电压;以及
延迟锁定环,其耦合到所述差分放大器,所述延迟锁定环用于用所述时钟结构来调整一个或多个编码帧的所述上升边缘,从而使得所述编码帧彼此同步。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/885,394 US6996632B2 (en) | 2001-06-19 | 2001-06-19 | Multiphase encoded protocol and synchronization of buses |
US09/885,394 | 2001-06-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1514974A CN1514974A (zh) | 2004-07-21 |
CN1262936C true CN1262936C (zh) | 2006-07-05 |
Family
ID=25386807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028118057A Expired - Fee Related CN1262936C (zh) | 2001-06-19 | 2002-06-13 | 多相位编码协议和总线同步 |
Country Status (8)
Country | Link |
---|---|
US (2) | US6996632B2 (zh) |
EP (1) | EP1397749B1 (zh) |
JP (1) | JP4544858B2 (zh) |
CN (1) | CN1262936C (zh) |
AT (1) | ATE302445T1 (zh) |
DE (1) | DE60205626T2 (zh) |
TW (1) | TWI254526B (zh) |
WO (1) | WO2002103534A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6996632B2 (en) | 2001-06-19 | 2006-02-07 | Intel Corporation | Multiphase encoded protocol and synchronization of buses |
US7346099B2 (en) * | 2002-01-03 | 2008-03-18 | Intel Corporation | Network fabric physical layer |
US7283566B2 (en) * | 2002-06-14 | 2007-10-16 | Silicon Image, Inc. | Method and circuit for generating time stamp data from an embedded-clock audio data stream and a video clock |
US7440515B2 (en) * | 2004-10-25 | 2008-10-21 | Atmel Corporation | System and method for controlling modulation |
WO2007125472A2 (en) * | 2006-04-28 | 2007-11-08 | Nxp B.V. | Data processing apparatus |
US8340682B2 (en) * | 2006-07-06 | 2012-12-25 | Qualcomm Incorporated | Method for disseminating geolocation information for network infrastructure devices |
US8428098B2 (en) * | 2006-07-06 | 2013-04-23 | Qualcomm Incorporated | Geo-locating end-user devices on a communication network |
JP4645717B2 (ja) * | 2008-09-26 | 2011-03-09 | ソニー株式会社 | インタフェース回路および映像装置 |
US8178853B2 (en) * | 2010-01-12 | 2012-05-15 | Landauer, Inc. | Filters for use in dosimetry |
CN105262565B (zh) * | 2015-09-11 | 2018-10-09 | 烽火通信科技股份有限公司 | 一种基于相位调制传递时钟与数据的编码方法及系统 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61175799A (ja) | 1985-01-31 | 1986-08-07 | ソニー株式会社 | ワイヤレスリモ−トコントロ−ル装置 |
US5436897A (en) * | 1992-04-15 | 1995-07-25 | Ford Motor Company | Multiplex wiring system using varying duration pulse width modulation |
FI95757C (fi) | 1992-10-09 | 1996-03-11 | Nokia Mobile Phones Ltd | Menetelmä sekä IC-väylärakenne sarjamuotoisen datan siirtämiseksi |
US5412697A (en) | 1993-01-14 | 1995-05-02 | Apple Computer, Inc. | Delay line separator for data bus |
US5438897A (en) * | 1993-12-29 | 1995-08-08 | Murata Machinery, Ltd., Machine Tool Division | Stripper arrangement for a punch holder |
JPH09507938A (ja) * | 1995-04-18 | 1997-08-12 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 処理装置からクロックへのインターフェース |
US5881247A (en) * | 1995-11-30 | 1999-03-09 | Allen-Bradley Company Llc | System having a plurality of frame bytes capable of identifying addressed recipients and assert a busy signal onto the backplane bus to forthrightly abort the message transfer |
TW375529B (en) * | 1997-05-14 | 1999-12-01 | Sega Corp | Data transmission method and game system using the same |
US6442644B1 (en) * | 1997-08-11 | 2002-08-27 | Advanced Memory International, Inc. | Memory system having synchronous-link DRAM (SLDRAM) devices and controller |
US6008734A (en) * | 1997-10-08 | 1999-12-28 | Adc Telecommunications, Inc. | Method and system for diminishing phase shift between two signals |
US6009488A (en) * | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
US6426943B1 (en) * | 1998-04-10 | 2002-07-30 | Top Layer Networks, Inc. | Application-level data communication switching system and process for automatic detection of and quality of service adjustment for bulk data transfers |
US6085270A (en) * | 1998-06-17 | 2000-07-04 | Advanced Micro Devices, Inc. | Multi-channel, multi-rate isochronous data bus |
US6404771B1 (en) * | 1998-06-17 | 2002-06-11 | Advanced Micro Devices, Inc. | Clock lead/lag extraction in an isochronous data bus |
US6338127B1 (en) * | 1998-08-28 | 2002-01-08 | Micron Technology, Inc. | Method and apparatus for resynchronizing a plurality of clock signals used to latch respective digital signals, and memory device using same |
US6594284B1 (en) * | 1998-09-16 | 2003-07-15 | Cirrus Logic, Inc. | Network synchronization |
JP2000148656A (ja) * | 1998-11-09 | 2000-05-30 | Mitsubishi Electric Corp | メモリシステム |
US6374360B1 (en) * | 1998-12-11 | 2002-04-16 | Micron Technology, Inc. | Method and apparatus for bit-to-bit timing correction of a high speed memory bus |
US6665317B1 (en) * | 1999-10-29 | 2003-12-16 | Array Telecom Corporation | Method, system, and computer program product for managing jitter |
US6763390B1 (en) * | 2000-01-24 | 2004-07-13 | Ati Technologies, Inc. | Method and system for receiving and framing packetized data |
US6735709B1 (en) * | 2000-11-09 | 2004-05-11 | Micron Technology, Inc. | Method of timing calibration using slower data rate pattern |
US6704882B2 (en) * | 2001-01-22 | 2004-03-09 | Mayo Foundation For Medical Education And Research | Data bit-to-clock alignment circuit with first bit capture capability |
US6996632B2 (en) | 2001-06-19 | 2006-02-07 | Intel Corporation | Multiphase encoded protocol and synchronization of buses |
US8008734B2 (en) * | 2007-01-11 | 2011-08-30 | Fuji Electric Co., Ltd. | Power semiconductor device |
-
2001
- 2001-06-19 US US09/885,394 patent/US6996632B2/en not_active Expired - Fee Related
-
2002
- 2002-06-11 TW TW091112650A patent/TWI254526B/zh not_active IP Right Cessation
- 2002-06-13 AT AT02744357T patent/ATE302445T1/de not_active IP Right Cessation
- 2002-06-13 EP EP02744357A patent/EP1397749B1/en not_active Expired - Lifetime
- 2002-06-13 DE DE60205626T patent/DE60205626T2/de not_active Expired - Lifetime
- 2002-06-13 CN CNB028118057A patent/CN1262936C/zh not_active Expired - Fee Related
- 2002-06-13 WO PCT/US2002/018980 patent/WO2002103534A1/en active IP Right Grant
- 2002-06-13 JP JP2003505784A patent/JP4544858B2/ja not_active Expired - Fee Related
-
2005
- 2005-11-08 US US11/269,034 patent/US7673073B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1514974A (zh) | 2004-07-21 |
WO2002103534A1 (en) | 2002-12-27 |
EP1397749A1 (en) | 2004-03-17 |
JP2004531150A (ja) | 2004-10-07 |
US6996632B2 (en) | 2006-02-07 |
EP1397749B1 (en) | 2005-08-17 |
US20060069810A1 (en) | 2006-03-30 |
JP4544858B2 (ja) | 2010-09-15 |
US20030014543A1 (en) | 2003-01-16 |
DE60205626T2 (de) | 2006-06-29 |
TWI254526B (en) | 2006-05-01 |
DE60205626D1 (de) | 2005-09-22 |
ATE302445T1 (de) | 2005-09-15 |
US7673073B2 (en) | 2010-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1262936C (zh) | 多相位编码协议和总线同步 | |
TW548996B (en) | Method and apparatus for code assignment in a spread spectrum wireless communication system | |
CN1606839A (zh) | 利于无线网状网络中同步的装置及相关方法 | |
EP0813153A2 (en) | Serial-to-parallel converter in a data communication system | |
CN1836414A (zh) | 多条串行字节线的自动重新对齐 | |
CN101067804A (zh) | 一种高速可配置扩展spi总线及其工作方法 | |
CN1665144A (zh) | 半导体装置 | |
CN1836196A (zh) | 用于逻辑电路中时钟分布的延迟匹配 | |
US7007115B2 (en) | Removing lane-to-lane skew | |
CN1122545A (zh) | 在电话线路上线路编码信号的传输电路 | |
CN1317890A (zh) | 获取和维护系统帧号和连接帧号的方法及装置 | |
CN1132313C (zh) | 降低功率消耗的过采样型时钟恢复电路和调整其中的时钟信号的相位的方法 | |
CN1622067A (zh) | 高速sata接口数据恢复和串并转换的方法及电路模块 | |
CN1930559A (zh) | 对高速gpu存储器接口的数据采样时钟边缘布置训练 | |
CN1278124A (zh) | 传输系统,接收机,发送机和接口设备 | |
CN1461540A (zh) | 使用差分码移键控的扩展频谱通信系统 | |
CN1801691A (zh) | 一种正交相位信号产生装置及数据回复电路 | |
CN1320471C (zh) | 半双工串行通信总线外部设备接口 | |
CN115080489A (zh) | 用于spi接口的传播延迟补偿 | |
CN1826779A (zh) | 用于接收机的时钟再训练方法 | |
US7346099B2 (en) | Network fabric physical layer | |
US12038864B2 (en) | Signal processing circuit and reception device | |
CN1333898A (zh) | 数字传输方法 | |
CN215416357U (zh) | 一种基于微控制器的多路编码器控制系统 | |
FR2822315B1 (fr) | Procede et dispositif d'optimisation, sous contrainte de performances, de la taille de blocs de donnees codees |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060705 Termination date: 20170613 |
|
CF01 | Termination of patent right due to non-payment of annual fee |