CN104350720A - 提供用于双向串行互连的串行协议 - Google Patents
提供用于双向串行互连的串行协议 Download PDFInfo
- Publication number
- CN104350720A CN104350720A CN201380027640.5A CN201380027640A CN104350720A CN 104350720 A CN104350720 A CN 104350720A CN 201380027640 A CN201380027640 A CN 201380027640A CN 104350720 A CN104350720 A CN 104350720A
- Authority
- CN
- China
- Prior art keywords
- equipment
- initial bits
- data
- packet
- grouping
- 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.)
- Granted
Links
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/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/423—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C25/00—Arrangements for preventing or correcting errors; Monitoring arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
在一个实施例中,本发明包括主机控制器,其带有发射逻辑以将数据准备为数据分组,用于沿着互连传递,并发射分组。此分组可以包括具有第一预定值的前同步码部分、包括数据并具有多个符号的内容部分,每一符号都包括与数据分开的起始比特,包括内容部分的反相版本的错误检测部分,以及具有第二预定值的后同步码部分。描述并要求保护其他实施例。
Description
背景
计算设备内的以及外部的许多设备可以通过诸如符合给定通用串行总线(USB)规范之类的串行链路来连接。最初,USB技术以相对低比特率,例如,从每秒1.5兆比特(Mbits/s)开始,然后,扩展为12Mbit/s以及更高,进行通信。利用最近的USB规范,通用串行总线修订版3.0规范(2008年11月17日),指定高达每秒钟5千兆的最大传输速度。
尽管现有的USB技术有高数据速率,但是,存在某些缺点。这些包括当前处于3.3伏特的电压信令要求(带有5.0伏特容差),这可能不与先进技术节点硅工艺兼容。另外,USB通信也没有经过功率优化,将USB连接用于内部设备的激增不必要地消耗系统内的可用的针脚。
附图简述
图1是根据本发明的一个实施例的通过互连耦合的一对设备的框图。
图2是根据本发明的一个实施例的分组的框图。
图3是根据本发明的一个实施例的设备到主机控制器的连接的框图。
图4是示出了根据本发明的一个实施例的主机控制器与多站互连的耦合的进一步的细节的框图。
图5是根据本发明的一个实施例的方法的流程图。
图6是根据本发明的一个实施例的片上系统(SoC)的框图。
图7是可以与各实施例一起使用的示例系统的框图。
具体实施方式
现在参考图1,所示是根据本发明的一个实施例的通过互连耦合的一对设备的框图。如图1所示,系统10包括通过互连25耦合到第二设备30的第一设备20。在一个实施例中,第一设备20可以对应于诸如片上系统(SoC)之类的系统的主处理器,而第二设备30可以是诸如多个传感器中的一个或其他低数据速率设备之类的外围设备。
在图1的实施例中,互连25可以是具有此处将进一步描述的协议的低功率串行(LPS)互连。在各实施例中,此互连可以符合相对较低的开销并且复杂性降低的协议,以实现低功率的操作,例如,以比诸如通用串行总线(USB)互连之类的其他串行互连小得多的级别。各实施例可适合于通用低或中性能通信,诸如对于点对点或适当地端接的连接,以小于大致1千兆每秒钟(Gbps)的数据速率,以及对于非端接的连接,在大致10-100Mbps范围之内,提供传感器数据、配置信息等等。在其他实施例中,这种互连可以被用作提供对单独的链路的边带管理的边带机制。
在图1中进一步可以看出,每一设备都可以包括提供编码和对通过互连25传输/接收的处理的物理单元(PHY)。可以看出,第一设备20可以包括PHY 22,而第二设备30可以包括PHY 32。
为以低功率提供通信,各实施例可以提供复杂性相对降低的有线协议。此协议可以具有各种元素,包括:在分组之间提供总线闲置,即使相同主控设备传递多个分组(如此,简化接收器复杂性);用于比特锁定的前同步码;传输端处的后同步码,以返回到链路的闲置状态,如此,允许接收器显式地识别传输的结束,没有较高级别的机制;以及,提供用于数据通信的预定编码,诸如根据8比特/9比特(8b/9b)编码的编码,以便于分组的各种信息的标识。
在一个实施例中,此8b/9b编码可以如下所示:对于8比特的每一个数据字节,可以提供额外的起始比特。此起始比特可以是交替的值(例如,零,然后,1)。注意,在某些实施例中,对于分组的数据部分的最后一个字节,不遵循此交替的模式,以标记分组的后同步码部分之前的最后一个字节。
现在参考图2,所示是根据本发明的一个实施例的分组100的框图。如图2所示,分组100详述了用于在LPS互连上通信的分组格式的协议。一般而言,分组100可以是相对有限的长度,因为分组的消息部分可以是相对较小的长度,例如,在某些实施例中,在大致1到64字节之间。
可以看出,分组100可以以起始比特1050开始,起始比特1050是多个起始比特1050-105z中的一个,多个起始比特1050-105z中的每一个都可以分散在分组中,如此适应分组中的信息的8b/9b编码。在此起始比特之后,可以提供前同步码部分110。此前同步码部分可以是预定值,诸如图2所示出的交替逻辑1和逻辑0的数列,以如此允许接收器标识分组的开始。这特别如此,由于使用开漏型连接和耦合到互连的上拉电阻,在给定分组的传输之前,逻辑“1”值可能在互连上存在潜在地长的时间长度。
在图2中进一步可以看出,在前同步码部分110之后,可以存在第二起始比特1051。可以看出,此起始比特是第一起始比特1050的交替的值。此后,可以提供内容部分120,该内容部分120可以由可预定的长度构成(或可基于通信本身确定)。在各实施例中,此内容部分120可以包括第一开始8比特块(如此,形成带有起始比特1051的9比特块)和一个或多个(潜在地零)后面的9比特块。在一个实施例中,这些9比特的块中的每一个都可被称为符号。
在内容部分120之后,可以提供另一起始比特105n。注意,在图2中,假设内容部分120包括奇数个9比特符号,因为此后面的起始比特105n是零值。
此后,可以在分组内提供错误检测部分130。此错误检测部分可以是内容部分120的反相或一的补码版本,如下文进一步描述的,可以被接收器用来检测通信中的错误。最后,提供终端起始比特1052,此后,出现后同步码部分140,后同步码部分140也可以是预定值,诸如如图2所示的逻辑1和0的重复的4比特模式。
虽然为便于说明未示出,但是,可以理解,假定开漏配置和存在并耦合到互连的上拉电阻,在此分组的传递之后,互连可以返回到逻辑高级别,直到传递下一分组。还要注意,尽管为了说明利用分组的此特定实现示出,但是,可以理解,其他实施例可以使用其他分组类型。例如,可以存在前同步码和后同步码部分的不同的值。此外,还可以提供起始比特的不同的交替的或其他模式。更进一步,在一些实施例中,还可以存在内容和错误检测部分的不同的布局。进一步注意,在某些实现中,还可以提供对数据信息的某种类型的加密,以便降低电磁干扰(EMI)。还存在其他可能性,诸如提供定义的地址部分等等。
还应注意,在各实施例中,内容部分120可以包括,在开始部分,分组的发送方的唯一标识符,该唯一标识符可以通过唯一地址实现,该唯一地址可以静态地或动态地确定。通过在内容部分内(如此,在传递的每一分组内)提供的此唯一标识符,可以保证,将检测到冲突的分组,甚至在两个组件在同一时间开始传输的情况下。
在某些实施例中,通过这样的互连耦合的组件之间的仲裁可以使用冲突检测来执行,其中,每一组件会尝试传输分组并监测互连上的冲突。相应地,耦合到这样的互连的每一组件中存在的PHY可以提供冲突检测,例如,通过开漏连接。
在某些实施例中,用于此互连的协议可以提供某些参数,诸如传输之间的最小闲置/周转(turnaround)时间。例如,在一个实施例中,对于确认型的响应,可以出现一个符号时间的周转时间(如上文所讨论的,可以对应于9比特部分)。为返回到闲置状态,可以出现最少1符号时间。
在某些实施例中,还可以提供重试机制。例如,在提供这样的重试机制的一种实现中,如果当预期时没有接收到确认,则如果它是主机或上游设备,在预定数量的符号时间之后,或者如果它是目标或下游设备,在第二例如比较长的预定数量的符号时间之后,发射器可以执行重试传输。在一个这样的实施例中,在没有接收到预期的确认的情况下,在大致11至17符号之后,可以出现基于主机的重试机制,并且在没有接收到预期的确认的情况下,在大致31至43符号之后,可以出现基于接收器的重试机制。在其他实施例中,在如由较高级别的协议规定的另一时间间隔之后,可以出现这样的重试机制。一般而言,重试计时器可以设置为大于X,其中,X是期间将接收到确认的预期时间。还应注意,值可以取决于最大的分组大小。还应注意,不同的方向上的不同且不相重叠的窗口可以确保避免重复的冲突。
现在参考图3,所示是根据本发明的一个实施例的设备到主机控制器的连接的框图。如图3所示,系统200可以是诸如给定基于个人计算机(PC)的系统、服务器系统等等之类的计算系统的一部分。在某些实施例中,系统可以是诸如膝上型计算机或笔记本计算机、超极本TM、智能电话、平板电脑等等之类的便携式设备。可以看出,系统200包括主机控制器210,该主机控制器210充当根据本发明的一个实施例的一个或多个LPS互连的主机。如图3所示,主机控制器包括三个LPS端口2120-2122。虽然为了说明是利用此数量有限的端口所示出的,但是,可以理解,本发明的范围在这方面不受限制。每一端口都可以通过链路以双向的方式提供通信。更准确地说,通信可以是数据和时钟信息,例如,双向差分数据和差分时钟信号。
可以看出,第一端口2120耦合到中枢设备220。在各实施例中,设备220可以是中枢设备,该中枢设备允许在LPS主机控制器210和诸如USB设备(例如,USB2设备)之类的根据另一互连协议的设备之间的转换和连接。如此,除数据信息在不同的协议之间的转换之外,中枢220还可以提供电压转换,例如,从通过LPS链路的具有1.0伏特系统操作的信号到用于通过USB2传递的3.3伏特信号。可以看出,中枢220可包括多个端口(例如,端口2220-222n),这些端口可以作为至外部设备或内部设备的端口提供。
也如图3所示,主机控制器210的第二端口2121可以提供与多个LPS设备2300-230n的通信。这些设备230可以是通过具有差分数据和时钟链路的多站总线的相对低速度操作(例如,小于大致100Mbps)。此外,为提供与较高速度设备的较高速度的通信,单独的端口2122可以与较高速度LPS设备2350-235n进行通信(这些设备可以以大于大致100Mbps的速度操作)。
注意,为兼容性,可以允许主机控制器210为LPS和旧式设备的桥接提供支持(诸如USB2设备)。在一个实施例中,主机控制器210可以重复使用USB2协议堆栈并保留USB编程模型,同时在较低的功率级别操作,例如,由于以较低的电压(例如,一伏特)操作的电压轨道。如此,可以实现基本上较低的活动和空闲功率以及减少的引脚数,因为LPS互连可以充当多站总线。
现在参考图4,所示是根据本发明的一个实施例的主机控制器与多站互连的耦合的进一步的细节。如图4所示,系统300可以包括通过LPS互连350耦合到多个设备3401-340n的主机控制器310(一般而言)。可以看出,LPS互连350可以提供差分数据链路330、差分时钟链路335和终端/上拉链路340和345。
通过提供多站互连结构,多个单个设备可以耦合到主机控制器310。在各实施例中,可以以多站方式耦合最多八个以及可能更大数量的设备。在所示出的实施例中,时钟和数据通信可以是差分的,且数据以双向的、半双工方式传递。布局可以由主机控制器310控制,且可以是DC耦合的连接。
如在图4中所详示的,主机控制器300可以包括传输(以及接收)逻辑,该逻辑具有多个层,包括PHY单元315、链路层320,以及事务层325。事务层325可以根据上文所描述的串行协议,生成分组,例如,参考图1和2,并将它们提供到链路层320,其中,可以插入分组的错误检测部分,如此,向主机控制器PHY单元310提供完整的分组,用于通过LPS互连350,进行传递。
在传输方向,这样的串行数据分组可以通过发射驱动器311,通过差分信号链路330,差分地传递,可以看出,差分信号链路330可以耦合到设备3401-340n中的每一个。进而可以在管芯上或管芯之外生成的时钟信号可以通过时钟驱动器315传递,并通过差分时钟链路335差分地驱动到多个设备。进一步可以看出,在主机控制器310的控制之下,终端和上拉阻抗可以耦合到链路340和345。更准确地说,通过控制开关,供电电压可以通过对应的上拉电阻317,耦合到这些链路中的给定一个。类似地,通过开关的有选择性的耦合,参考电压(例如,接地电压)可以通过对应的终端电阻318,耦合到这些链路中的给定一个或多个。
进一步可以看出,到主机控制器310的传入的数据可以被提供给接收缓冲器313,如此,将所接收到的信息串行传递到主机控制器310的上层。虽然在图4的实施例中以此高级别示出的,但是,可以理解,本发明的范围在这方面不受限制。
现在参考图5,所示是根据本发明的一个实施例的方法的流程图。如图5所示,方法400可以在主机控制器或其他设备的发射器逻辑中执行,以生成用于沿着互连进行传输的分组。如图5所示,方法400可以从在事务层中接收数据开始(框410)。例如,诸如核、智能属性(IP)逻辑之类的处理单元或其他这样的处理单元可以生成要被传递的数据,并将数据提供到发射逻辑,更具体而言,在一个实施例中,将数据提供到此逻辑的事务层。接下来,在框420,可以基于接收到的数据,生成分组的内容部分(框420)。可以通过向数据字节添加逻辑低和高值的交替模式的额外的起始比特,准备每一数据字节的符号,由此获取一个或多个符号的系列,来生成此内容部分,。接下来,可以基于此内容部分,生成分组的错误检测部分(框430)。在一个实施例中,可以通过对数据部分取一的补码,来生成此错误检测部分。然而,其他类型的错误检测机制也是可以的,诸如循环冗余校验(CRC)和/或错误检测和校正代码(EDCC)。
仍参考图5,接下来,在框440,可以形成分组。在所示出的实施例中,此分组可包括起始比特、前同步码、另一起始比特(可以与第一起始比特反向极性)、内容部分、另一起始比特(可以与内容部分内的最后一个起始比特反向极性)、错误检测部分、最后起始比特(再次可以与错误检测部分内的最后起始比特反向极性)、以及后同步码。最后,在框450,此分组可以通过发射器逻辑的物理单元,沿着互连传递。虽然在图5的实施例中以此高级别示出的,但是,可以理解,本发明的范围在这方面不受限制。
现在参考图6,所示是根据本发明的一个实施例的SoC的框图。如图6所示,SoC 500可以用于实现到各种类型的平台的任何类型的SoC,从诸如智能电话、个人数字助理(PDA)、平板电脑、上网本、超极本TM等等之类的相对较小的低功率便携式设备,到可以以较高级别的系统实现的比较高级的SoC。
如图6所示,SoC 500可以包括一个或多个核5100-510n。如此,在各实施例中,多核SoC是可能的,其中,核可以全部是给定架构的同构核,例如,有序或无序处理器。或者,也可以有异构核,例如,某些相对较小的低功率核,例如,有序架构的,且存在额外的核,可以是较大的并且更加复杂化的架构,例如,无序架构。协议堆栈允许数据在系统的这些核及其他组件中的一个或多个之间的传递。可以看出,此堆栈可包括软件515,该软件515可以是较高级别的软件,诸如OS、固件以及在核中的一个或多个上执行的应用程序级别软件。另外,协议堆栈还包括事务层520和数据链路层530。在各实施例中,这些事务和数据链路层可以符合给定通信协议,诸如外围组件互连Express(PCI ExpressTM(PCIeTM))通信协议,根据基于PCI ExpressTM规范Base规范版本3.0(2010年11月18日发布的)的链路。当然,在其他实施例中,可以存在诸如符合USB协议堆栈之类的不同的协议堆栈的层。此外,在某些实现中,如此处所描述的低功率PHY电路可以与现有的替换的协议堆栈多路复用。
仍参考图6,此协议堆栈又可以耦合到物理单元540,该物理单元540可以包括可以通过多个互连提供通信的多个物理单元。在一个实施例中,第一物理单元550可以是低功率PHY单元,在一个实施例中,该低功率PHY单元可以对应于符合移动行业处理器接口(MIPI)联盟的M-PHY规范版本1.00.00-2011年2月8日(MIPI董事会于2011年4月28日批准)(下文简称为MIPI规范)的M-PHY,以通过主要互连580提供通信。另外,还可以存在边带(SB)PHY单元244。在所示出的实施例中,此边带PHY单元可以通过边带互连270提供通信,该边带互连270可以是合并的边带,以提供某些边带信息,例如,以比耦合到第一PHY 550的主要互连580较慢的数据速率。在某些实施例中,协议堆栈的各层可以具有耦合到此SBPHY 544的单独的边带,以允许沿着此边带互连的通信。
另外,PHY单元540还可以包括可以被用来控制SB PHY 544的SB链路管理器542。另外,链路训练和状态管理器545可以存在,并可以被用来使协议堆栈(符合第一通信协议)适应第一PHY 550(符合第二通信协议),以及提供对第一PHY 550和互连580的总体控制。
进一步可以看出,在第一PHY 550中可以存在各种组件。更准确地说,可以存在发射器和接收器电路(即,TX 553和RX 554)。一般而言,此电路可以被用来执行串行化操作,解串行化操作以及数据通过主要互连580的传输和接收。保存状态管理器551可以存在,并可以被用来当它处于低功率状态时保存配置及关于第一PHY 550的其他状态信息。此外,编码器552还可以存在,以执行线编码,例如,根据8b/10b协议。
在图6中进一步可以看出,可以存在机械接口558。此机械接口558可以是给定互连,以从根综合体500提供通信,更具体地,通过主要互连580,往返于第一PHY 550。在各实施例中,此机械连接可以通过诸如球栅阵列(BGA)或其他表面安装,或镀通孔连接之类的半导体器件的引脚。
除这些主要通信机制之外,额外的通信接口可以通过LPS PHY单元555,通过包括软件层516、事务层521,以及链路层531的单独的堆栈,沿着LPS多站互连559,耦合在核510和一个或多个芯片外设备560a-c之间。这些设备可以是各种低数据速率外围设备,诸如传感器、加速度计、温度传感器、全球定位系统(GPS)电路、罗盘电路、触摸屏电路、键盘电路、鼠标电路等等,如此可以根据此处所描述的协议进行通信。
请注意,在各实施例中,边带互连570和主要互连580两者都可以耦合在SoC 500和另一半导体元件(例如,另一IC,诸如多频带无线解决方案)之间。
如此,各实施例可以用于许多不同的环境中。现在参考图7,所示是可以与各实施例一起使用的示例系统600的框图。可以看出,系统600可以是智能电话或其他无线通信器。如图7的框图所示,系统600可以包括基带处理器610,该基带处理器610可以是多核处理器,该多核处理器可以处理基带处理任务以及进行应用处理。如此,基带处理器610可以执行涉及通信的各种信号处理,以及执行设备的计算操作。基带处理器610又可以耦合到用户界面/显示器620,在某些实施例中,用户界面/显示器620通过触摸屏显示器来实现。另外,基带处理器610还可以耦合到存储器系统,在图7的实施例中,包括,非易失性存储器,即,闪存630和系统存储器,即,动态随机存取存储器(DRAM)635。进一步可以看出,基带处理器610还可以耦合到诸如图像捕捉设备之类的捕捉设备640,该捕捉设备640可以记录视频和/或静止图像。基带处理器610还可以耦合到一个或多个传感器设备645,例如,通过如此处所描述的LPS互连。
为允许发射和接收通信,在基带处理器610和天线680之间可以耦合各种电路。具体而言,可以存在射频(RF)收发器670和无线局域网(WLAN)收发器675。一般而言,RF收发器670可以被用来根据给定无线通信协议,诸如3G或4G无线通信协议,诸如根据码分多址(CDMA)、全球移动通信系统通信(GSM)、长期演进(LTE)或其他协议,接收和传输无线数据和电话。还可以提供其他无线通信,诸如无线电信号,例如,AM/FM,或全球定位卫星(GPS)信号的接收或传输。另外,通过WLAN收发器675,也可以实现本地无线信号,诸如符合BluetoothTM标准或诸如IEEE802.11a/b/g/n之类的IEEE 802.11标准。请注意,基带处理器610和收发器670和675中的一个或两者之间的链路可以通过低功率会聚的互连,该低功率会聚的互连组合并映射PCIeTM互连和诸如MIPI互连之类的低功率互连的功能。虽然在图7的实施例中以此高级别示出的,但是,可以理解,本发明的范围在这方面不受限制。
各实施例可以用于许多不同类型的系统中。例如,在一个实施例中,通信设备可以被配置为执行此处所描述的各种方法和技术。当然,本发明的范围不仅限于通信设备,相反,其他实施例可以涉及其他类型的用于处理指令的设备,包括指令的一个或多个机器可读的介质,所述指令,响应于在计算设备上执行,导致设备执行此处所描述的方法和技术中的一个或多个。
各实施例可以以代码来实现,并可以存储在在其上存储了指令的非瞬时的存储介质上,指令可以被用来对系统进行编程以执行指令。存储介质可以包括,但不仅限于,任何类型的磁盘,包括软盘、光盘、固态驱动器(SSD)、光盘只读存储器(CD-ROM)、光盘可重写(CD-RW),以及磁光盘、诸如只读存储器(ROM)之类的半导体器件、诸如动态随机存取存储器(DRAM)、和静态随机存取存储器(SRAM)之类的随机访问存储器(RAM)、可擦除编程只读存储器(EPROM)、闪存、电可擦除编程只读存储器(EEPROM)、磁卡或光卡,或适于存储电子指令的任何其他类型的介质。
尽管是参考数量有限的实施例来描述本发明的,但是,那些精通本技术的人将从其中理解很多修改和变体。所附权利要求书涵盖所有这样的修改和变体都将在本发明的真正的精神和范围内。
Claims (24)
1.一种设备,包括:
主机控制器,其包括发射逻辑以将数据准备为数据分组,用于沿着互连传递,并发射所述数据分组,所述分组包括具有第一预定值的前同步码部分,包括数据并具有多个符号的内容部分,每一符号都包括与数据分开的起始比特,包括所述内容部分的反相版本的错误检测部分,以及具有第二预定值的后同步码部分。
2.如权利要求1所述的设备,其特征在于,所述主机控制器将在所述数据分组的传递之后允许所述互连上的闲置状态。
3.如权利要求1所述的设备,其特征在于,所述内容部分符合编码方案,所述编码方案编码所述内容部分的第一符号内的第一字节和第一起始比特和所述内容部分的第二符号内的第二字节和具有与所述第一起始比特不同的值的第二起始比特。
4.如权利要求1所述的设备,其特征在于,所述互连将通过数据链路、时钟链路以及多个终端/上拉阻抗链路耦合到多个设备。
5.如权利要求4所述的设备,其特征在于,当所述主机控制器处于闲置状态时,所述主机控制器将导致第一终端/上拉阻抗链路耦合到供电电压。
6.如权利要求4所述的设备,其特征在于,如果所述主机控制器没有从耦合到所述互连的多个设备中的至少一个接收到数据分组的确认,则在预定数量的符号之后,所述发射逻辑将重新发射所述分组。
7.如权利要求1所述的设备,其特征在于,所述数据分组包括所述前同步码部分之前的第一起始比特,所述前同步码部分之后的第二起始比特,所述第二起始比特具有与所述第一起始比特的不同的值。
8.如权利要求1所述的设备,其特征在于,所述主机控制器包括多个端口,包括:
与中枢设备进行通信的第一端口,所述中枢设备与第一多个通用串行总线(USB)设备连接;
与具有小于第一值的带宽的第二多个设备进行通信的第二端口;以及
与具有大于所述第一值的带宽的第三多个设备进行通信的第三端口。
9.如权利要求1所述的设备,其特征在于,所述主机控制器将通过所述互连接收第二数据分组,并基于所述第二分组的内容部分和错误检测部分的比较,确定所述第二分组和另一分组的冲突。
10.一种方法,包括:
在主机控制器的发射逻辑中接收数据;
基于所述数据,生成数据分组的内容部分;
基于所述内容部分,生成所述分组的错误检测部分;以及
形成包括前同步码部分、所述内容部分、所述错误检测部分以及后同步码部分的所述数据分组。
11.如权利要求10所述的方法,其特征在于,进一步包括通过所述主机控制器的物理单元,沿着耦合到所述主机控制器的互连,传递所述数据分组。
12.如权利要求10所述的方法,其特征在于,形成所述分组还包括将第一起始比特插入在所述前同步码部分之前。
13.如权利要求12所述的方法,其特征在于,形成所述数据分组还包括将第二起始比特插入在所述前同步码部分之后,所述第二起始比特具有与所述第一起始比特的不同的值。
14.如权利要求13所述的方法,其特征在于,形成所述分组还包括将第三起始比特插入在所述内容部分之后,将第四起始比特插入在所述错误检测部分之后。
15.如权利要求14所述的方法,其特征在于,进一步包括形成带有第一预定值的所述前同步码部分,以及形成带有第二预定值的所述后同步码部分。
16.如权利要求11所述的方法,其特征在于,进一步包括在传递所述数据分组之后并且在传递所述数据分组之后的第二连续的分组之前,提供至少预定的时间长度的空闲时间。
17.一种系统,包括:
发射器,其包括传输逻辑以接收数据并从其中准备数据分组,用于沿着互连传递,所述数据分组包括第一起始比特,具有第一预定值的前同步码部分,具有与所述第一起始比特的不同的值的第二起始比特,包括通过多个符号来表示的所述数据的内容部分,每一符号都包括起始比特和一部分所述数据,第三起始比特,包括所述内容部分的反相版本的错误检测部分,第四起始比特,以及具有第二预定值的后同步码部分;
耦合到所述发射器的串行互连;以及
接收器,所述接收器耦合到所述串行互连并包括接收并处理所述数据分组以获取所述数据的接收器逻辑。
18.如权利要求17所述的系统,其特征在于,所述发射器包括提供包括传感器信息的数据的传感器,所述接收器包括片上系统(SoC)。
19.如权利要求17所述的系统,其特征在于,进一步包括将所述发射器耦合到所述接收器的主要互连,其中所述串行互连包括边带信道以传递边带信息。
20.如权利要求17所述的系统,其特征在于,所述传输逻辑将编码所述内容部分的第一符号内的所述数据的第一字节和初始起始比特,并编码所述内容部分的第二符号内的所述数据的第二字节和具有与所述初始起始比特不同的值的随后的起始比特。
21.被配置为执行如权利要求10到16中任一项所述的方法的通信设备。
22.至少一个机器可读介质,所述至少一个机器可读介质包括多个指令,响应于在计算设备上被执行,所述指令导致所述计算设备执行如权利要求10到16中任一项所述的方法。
23.一种用于处理指令的设备,被配置成执行如权利要求10到16中任一权利要求所述的方法。
24.一种设备,包括用于执行根据权利要求10到16中的任一项所述的方法的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/532,962 | 2012-06-26 | ||
US13/532,962 US8924611B2 (en) | 2012-06-26 | 2012-06-26 | Providing a serial protocol for a bidirectional serial interconnect |
PCT/US2013/046460 WO2014004188A1 (en) | 2012-06-26 | 2013-06-19 | Providing a serial protocol for a bidirectional serial interconnect |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104350720A true CN104350720A (zh) | 2015-02-11 |
CN104350720B CN104350720B (zh) | 2018-02-13 |
Family
ID=49775408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380027640.5A Active CN104350720B (zh) | 2012-06-26 | 2013-06-19 | 提供用于双向串行互连的串行协议的装置、方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8924611B2 (zh) |
EP (1) | EP2865163A4 (zh) |
CN (1) | CN104350720B (zh) |
WO (1) | WO2014004188A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9710406B2 (en) | 2014-12-15 | 2017-07-18 | Intel Corporation | Data transmission using PCIe protocol via USB port |
CN107430572A (zh) * | 2015-03-26 | 2017-12-01 | 英特尔公司 | 用于通信中封装信息的方法、装置和系统 |
CN112753027A (zh) * | 2018-07-30 | 2021-05-04 | 德克萨斯仪器股份有限公司 | 嵌入式通用串行总线2中继器 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924611B2 (en) * | 2012-06-26 | 2014-12-30 | Intel Corporation | Providing a serial protocol for a bidirectional serial interconnect |
TWI518516B (zh) * | 2012-11-13 | 2016-01-21 | Novatek Microelectronics Corp | 匯流排偵測與控制方法及其匯流排偵測與控制裝置與行動產業處理器 介面系統 Bus Detection and Control Method and Bus Detection and Control Device and Mobile Industry Processor Interface System Thereof |
JP2017076854A (ja) * | 2015-10-14 | 2017-04-20 | 富士通株式会社 | 電子装置、及びデータ検証方法 |
US10629008B2 (en) * | 2017-11-20 | 2020-04-21 | Ford Global Technologies, Llc | Vehicle diagnostic operation |
TWI809024B (zh) | 2018-01-23 | 2023-07-21 | 日商索尼半導體解決方案公司 | 通信系統及通信方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396376A (en) * | 1992-03-23 | 1995-03-07 | Conner Peripherals, Inc. | Multi-track embedded servo recording format and method |
US7187307B1 (en) * | 2003-06-12 | 2007-03-06 | Silicon Image, Inc. | Method and system for encapsulation of multiple levels of communication protocol functionality within line codes |
CN101217348A (zh) * | 2008-01-09 | 2008-07-09 | 华为技术有限公司 | 信号检测方法、装置及系统 |
CN101859235A (zh) * | 2009-04-01 | 2010-10-13 | 精工爱普生株式会社 | 具有多个存储装置的系统以及用于该系统的数据传输方法 |
CN101958732A (zh) * | 2009-07-17 | 2011-01-26 | 索尼公司 | 用于数据通信的系统、方法和装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6009488A (en) | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
AU5015700A (en) | 2000-03-21 | 2001-10-03 | Airbiquity Inc | Voiceband modem for data communications over digital wireless networks |
US7099318B2 (en) | 2001-12-28 | 2006-08-29 | Intel Corporation | Communicating message request transaction types between agents in a computer system using multiple message groups |
US7453853B2 (en) | 2003-10-09 | 2008-11-18 | Ericsson Technology Licensing Ab | Adaptive correlation of access codes in a packet-based communication system |
US7480808B2 (en) | 2004-07-16 | 2009-01-20 | Ati Technologies Ulc | Method and apparatus for managing power consumption relating to a differential serial communication link |
US7782805B1 (en) | 2005-02-08 | 2010-08-24 | Med Belhadj | High speed packet interface and method |
JP4594761B2 (ja) | 2005-02-10 | 2010-12-08 | 株式会社東芝 | 情報処理装置およびその制御方法 |
DE102006017094A1 (de) * | 2005-04-08 | 2006-11-09 | Elan Schaltelemente Gmbh & Co. Kg | Verfahren zur Übertragung von Datentelegrammen über eine Funkstrecke |
US7418524B2 (en) | 2005-12-06 | 2008-08-26 | Avocent Corporation | Universal serial bus (USB) extension |
US20080084836A1 (en) * | 2006-10-04 | 2008-04-10 | Bluewave Security, Inc. | Low power wireless communication method |
US7949794B2 (en) | 2006-11-02 | 2011-05-24 | Intel Corporation | PCI express enhancements and extensions |
US7908501B2 (en) | 2007-03-23 | 2011-03-15 | Silicon Image, Inc. | Progressive power control of a multi-port memory device |
US8185072B2 (en) | 2007-03-23 | 2012-05-22 | Intel Corporation | Method and apparatus for power reduction for interconnect links |
EP2129028B1 (en) * | 2008-05-06 | 2012-10-17 | Alcatel Lucent | Recovery of transmission errorrs |
US8111765B2 (en) | 2008-06-12 | 2012-02-07 | Panasonic Corporation | Communication apparatus, communication method, and integrated circuit |
US8218580B2 (en) | 2008-07-15 | 2012-07-10 | Intel Corporation | Managing timing of a protocol stack |
US8352764B2 (en) | 2008-09-29 | 2013-01-08 | Intel Corporation | Dynamic squelch detection power control |
JP5482275B2 (ja) | 2009-04-01 | 2014-05-07 | セイコーエプソン株式会社 | 記憶装置、基板、液体容器、データ記憶部に書き込むべきデータをホスト回路から受け付ける方法、ホスト回路に対し電気的に接続可能な記憶装置を含むシステム |
US8812878B2 (en) | 2009-06-30 | 2014-08-19 | Intel Corporation | Limiting false wakeups of computing device components coupled via links |
US8275560B2 (en) | 2009-09-10 | 2012-09-25 | Intel Corporation | Power measurement techniques of a system-on-chip (SOC) |
US8924611B2 (en) * | 2012-06-26 | 2014-12-30 | Intel Corporation | Providing a serial protocol for a bidirectional serial interconnect |
US9128811B2 (en) * | 2012-06-26 | 2015-09-08 | Intel Corporation | Assigning addresses to devices on an interconnect |
-
2012
- 2012-06-26 US US13/532,962 patent/US8924611B2/en not_active Expired - Fee Related
-
2013
- 2013-06-19 WO PCT/US2013/046460 patent/WO2014004188A1/en active Application Filing
- 2013-06-19 CN CN201380027640.5A patent/CN104350720B/zh active Active
- 2013-06-19 EP EP13809192.1A patent/EP2865163A4/en not_active Withdrawn
-
2014
- 2014-12-03 US US14/558,942 patent/US9524265B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396376A (en) * | 1992-03-23 | 1995-03-07 | Conner Peripherals, Inc. | Multi-track embedded servo recording format and method |
US7187307B1 (en) * | 2003-06-12 | 2007-03-06 | Silicon Image, Inc. | Method and system for encapsulation of multiple levels of communication protocol functionality within line codes |
CN101217348A (zh) * | 2008-01-09 | 2008-07-09 | 华为技术有限公司 | 信号检测方法、装置及系统 |
CN101859235A (zh) * | 2009-04-01 | 2010-10-13 | 精工爱普生株式会社 | 具有多个存储装置的系统以及用于该系统的数据传输方法 |
CN101958732A (zh) * | 2009-07-17 | 2011-01-26 | 索尼公司 | 用于数据通信的系统、方法和装置 |
Non-Patent Citations (1)
Title |
---|
张文超 等: "基于FPGA 高速数据传输的比特自校正技术", 《信号与信息处理》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9710406B2 (en) | 2014-12-15 | 2017-07-18 | Intel Corporation | Data transmission using PCIe protocol via USB port |
US9952986B2 (en) | 2014-12-15 | 2018-04-24 | Intel Corporation | Power delivery and data transmission using PCIe protocol via USB type-C port |
CN107430572A (zh) * | 2015-03-26 | 2017-12-01 | 英特尔公司 | 用于通信中封装信息的方法、装置和系统 |
CN107430572B (zh) * | 2015-03-26 | 2021-07-13 | 英特尔公司 | 用于通信中封装信息的方法、装置和系统 |
CN112753027A (zh) * | 2018-07-30 | 2021-05-04 | 德克萨斯仪器股份有限公司 | 嵌入式通用串行总线2中继器 |
Also Published As
Publication number | Publication date |
---|---|
US20150089107A1 (en) | 2015-03-26 |
EP2865163A1 (en) | 2015-04-29 |
US8924611B2 (en) | 2014-12-30 |
WO2014004188A1 (en) | 2014-01-03 |
US9524265B2 (en) | 2016-12-20 |
EP2865163A4 (en) | 2016-01-20 |
CN104350720B (zh) | 2018-02-13 |
US20130346656A1 (en) | 2013-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104350720B (zh) | 提供用于双向串行互连的串行协议的装置、方法和系统 | |
CN104322033B (zh) | 使用第二协议的扩展功能结构来控制第一协议的物理链路 | |
CN106209695B (zh) | 给加载/存储通信协议提供低功率物理单元 | |
EP1825382B1 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
JP6517243B2 (ja) | リンクレイヤ/物理レイヤ(phy)シリアルインターフェース | |
US9137335B2 (en) | Operating M-PHY based communications over mass storage-based interfaces, and related connectors, systems and methods | |
CN106462516A (zh) | 由多协议设备共享的可动态地调节的多线总线 | |
CN106815157A (zh) | 一种数据采集模块及数据采集系统 | |
CN102160044A (zh) | PCIe接口上的SATA大容量存储装置仿真 | |
JP2021145338A (ja) | マルチモード変調を用いる向上した仮想gpio | |
US9514066B1 (en) | Reconfigurable interface and method of configuring a reconfigurable interface | |
CN108255776A (zh) | 一种兼容apb总线的i3c主设备、主从系统及通信方法 | |
TW201413457A (zh) | 分配位址至互連上之裝置 | |
CN103562898A (zh) | 用于便携式电子设备的接口扩展器 | |
CN104380274B (zh) | 用于优化的链路训练及管理的装置和方法 | |
CN100498753C (zh) | 通过i2c接口访问现场可编程门阵列内部存储器的方法 | |
CN108920193A (zh) | Fpga和cpu间sdio通信接口实现方法、及装置 | |
CN113875162B (zh) | Nfc读取器与双nfc接口应答器之间的数据交换装置 | |
CN104598410B (zh) | 一种免写驱动程序的计算机板卡及其开发方法 | |
CN106462534B (zh) | 链路层到物理层(phy)串行接口 | |
CN115982087A (zh) | 信号传输方法、计算机设备和存储介质 | |
CN115702408A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |