CN107454959A - 基数为n的数到物理导线状态码元的转译方法 - Google Patents

基数为n的数到物理导线状态码元的转译方法 Download PDF

Info

Publication number
CN107454959A
CN107454959A CN201680020795.XA CN201680020795A CN107454959A CN 107454959 A CN107454959 A CN 107454959A CN 201680020795 A CN201680020795 A CN 201680020795A CN 107454959 A CN107454959 A CN 107454959A
Authority
CN
China
Prior art keywords
wire
radix
state
value
sequence
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
Application number
CN201680020795.XA
Other languages
English (en)
Inventor
R·皮提果-艾伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN107454959A publication Critical patent/CN107454959A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Dc Digital Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Information Transfer Systems (AREA)

Abstract

描述了促成设备在耦合到多个导线的数据通信接口中编码/解码数据的系统、方法和装置。该设备确定被分配到帧的数据比特序列的值,将该值转换成与该帧相关联的码元序列,以及将码元序列传送到接收机。该设备通过以下来执行转换:基于该值来计算该帧的基数为N的数的多项式的基数为N的系数,其中N大于2;根据对应于每一码元的相应的基数为N的系数来计算每一码元的基数为2的数的多项式的基数为2的系数;根据分别针对每一码元计算的基数为2的系数来确定每一码元的多个导线的状态改变;以及基于每一码元的多个导线的状态改变来生成码元序列。

Description

基数为N的数到物理导线状态码元的转译方法
相关申请的交叉引用
本申请要求于2015年4月10日提交的题为“N-BASE NUMBERS TO PHYSICAL WIRESTATES SYMBOLS TRANSLATION METHOD(基数为N的数到物理导线状态码元的转译方法)”的美国临时专利申请序列号S/N.62/145,693以及于2016年4月6日提交的题为“N-BASENUMBERS TO PHYSICAL WIRE STATES SYMBOLS TRANSLATION METHOD(基数为N的数到物理导线状态码元的转译方法)”的美国非临时专利申请序列号S/N.15/092,554的优先权和权益,这两个申请的全部内容通过援引被纳入于此。
背景
领域
本公开一般涉及主处理器与外围设备之间的接口,并且更具体地涉及在接口上基于导线状态改变来编码/解码数据。
背景技术
移动设备(诸如蜂窝电话)的制造商可从各种来源(包括不同制造商)获得移动设备的各组件。例如,移动计算设备中的应用处理器可从第一制造商获得,而该移动计算设备所采用的传感器可从一个或多个其他制造商获得。已定义了各种基于标准的或专有的接口,这些接口通常涉及特定的应用或应用类型。例如,蜂窝电话可使用与例如集成电路间(I2C)标准、串行外围接口(SPI)标准、或改进的集成电路间(I3C)标准相兼容或符合这些标准的通信接口。
当前,存在在增大数据吞吐量的同时降低各个接口上的功耗的需要。用于此类数据传递协议的一示例性概念是基于在更高级的数字系统中将二进制数据流表达为帧化的数字。实现此类数据传递协议的一些示例应用包括I3C、相机控制接口扩展(CCIe)、以及传感器全局总线(SGbus)。
数据传递的一个基本特征涉及将码元作为较大基数(例如,基数为3、7、8、10、16等)的系数来进行传递。特定的感兴趣区域涉及三进制数的码元。此类数字可以使用双导线总线接口来实现,其中每一导线具有两个状态。增大数据吞吐量同时降低此类接口上的能耗的先前方法涉及评估导线的物理状态转变与相关码元之间的相关性。对于小基数(例如,基数为3),此类先前方法可能是高效的。然而,对于较大的基数(例如,基数为7、8、10、16等),先前方法可能要求大得多的经值编码的比特的对应关系表、减法框、和/或将码元转译成直接可用的三进制系数的补充转译表。此类要求对于其中成本因素很重要的设备而言可能是抑制性的。相应地,存在对于增大允许直接读取三进制或任何其它较大基数系数的接口上的数据吞吐量的不断增长的需求。
概述
本文公开的各实施例提供了用于在串行总线上基于导线状态改变来编码和/或解码数据的系统、方法和装置。
在本公开的一方面,在数据通信接口中编码数据的方法包括:接收要被编码的二进制数据串;分别将该二进制数据串的子集分配到多个帧;确定被分配到一帧的数据比特序列的值,其中该数据比特序列是该二进制数据串的子集;将该值转换成与该帧相关联的码元序列;以及将该码元序列传送到接收机。该转换包括:基于该值来计算该帧的基数为N的数的多项式的基数为N的系数,其中N是大于2的整数并且其中基数为N的系数分别对应于该码元序列中的各个码元;根据对应于该码元序列中的每一码元的相应的基数为N的系数来计算每一码元的基数为2的数的多项式的基数为2的系数;根据分别针对该码元序列中的每一码元计算的基数为2的系数来确定每一码元的多个导线的状态改变;以及基于每一码元的多个导线的状态改变来生成该码元序列。
在一方面,将该值转换成码元序列包括:根据对应于该码元序列的第一码元的第一基数为N的系数来计算第一基数为2的数的多项式的第一对基数为2的系数,根据第一对基数为2的系数来确定第一码元的多个导线的状态改变,根据对应于该码元序列的第二码元的第二基数为N的系数来计算第二基数为2的数的多项式的第二对基数为2的系数,以及根据第二对基数为2的系数来确定第二码元的多个导线的状态改变。
在另一方面,第一对基数为2的系数和第二对基数为2的系数中的每一者包括第一值和第二值,该第一值指示第一导线的当前状态与第一导线的先前状态之间存在状态改变或没有状态改变,并且该第二值指示第二导线的当前状态与第二导线的先前状态之间存在状态改变或没有状态改变。该第一值表示第一导线的当前状态与第一导线的先前状态之间的异或非(XNOR)运算。该第二值表示第二导线的当前状态与第二导线的先前状态之间的异或非(XNOR)运算。
当第一值为0时,指示第一导线的当前状态与第一导线的先前状态之间存在状态改变。当第一值为1时,指示第一导线的当前状态与第一导线的先前状态之间没有状态改变。当第二值为0时,指示第二导线的当前状态与第二导线的先前状态之间存在状态改变。当第二值为1时,指示第二导线的当前状态与第二导线的先前状态之间没有状态改变。
在又一方面,生成码元序列包括:当针对第一码元指示第一导线的当前状态与第一导线的先前状态之间存在状态改变时,确定第一导线要被下拉到低电平,当针对第二码元指示第一导线的当前状态与第一导线的先前状态之间没有状态改变时,将第一导线下拉到低电平,当针对第二码元指示第一导线的当前状态与第一导线的先前状态之间存在状态改变时,抑制将第一导线下拉到低电平。
在本公开的另一方面,一种用于在数据通信接口中编码数据的装置,包括耦合到多个导线的通信接口电路,以及耦合到该通信接口电路的处理电路。该处理电路被配置成:接收要被编码的二进制数据串;分别将该二进制数据串的子集分配到多个帧;确定被分配到一帧的数据比特序列的值,其中该数据比特序列是该二进制数据串的子集;将该值转换成与该帧相关联的码元序列;以及将该码元序列传送到接收机。该处理电路被配置成通过以下来进行转换:基于该值来计算该帧的基数为N的数的多项式的基数为N的系数,其中N是大于2的整数并且其中基数为N的系数分别对应于该码元序列中的各个码元;根据对应于该码元序列中的每一码元的相应的基数为N的系数来计算每一码元的基数为2的数的多项式的基数为2的系数;根据分别针对该码元序列中的每一码元计算的基数为2的系数来确定每一码元的多个导线的状态改变;以及基于每一码元的多个导线的状态改变来生成该码元序列。
在本公开的又一方面,一种用于在耦合到多个导线的数据通信接口中编码数据的装备包括:用于接收要被编码的二进制数据串的装置;用于分别将该二进制数据串的子集分配到多个帧的装置;用于确定被分配到一帧的数据比特序列的值的装置,其中该数据比特序列是该二进制数据串的子集;用于将该值转换成与该帧相关联的码元序列的装置;以及用于将该码元序列传送到接收机的装置。用于转换的装置被配置成通过以下来进行转换:基于该值来计算该帧的基数为N的数的多项式的基数为N的系数,其中N是大于2的整数并且其中基数为N的系数分别对应于该码元序列中的各个码元;根据对应于该码元序列中的每一码元的相应的基数为N的系数来计算每一码元的基数为2的数的多项式的基数为2的系数;根据分别针对该码元序列中的每一码元计算的基数为2的系数来确定每一码元的多个导线的状态改变;以及基于每一码元的多个导线的状态改变来生成该码元序列。
在本公开的一方面,一种具有一个或多个指令的处理器可读存储介质,该一个或多个指令在由编码器的处理电路执行时致使该处理电路:接收要被编码的二进制数据串;分别将该二进制数据串的子集分配到多个帧;确定被分配到一帧的数据比特序列的值,其中该数据比特序列是该二进制数据串的子集;将该值转换成与该帧相关联的码元序列;以及将该码元序列传送到接收机。该指令进一步致使该处理电路通过以下来进行转换:基于该值来计算该帧的基数为N的数的多项式的基数为N的系数,其中N是大于2的整数并且其中基数为N的系数分别对应于该码元序列中的各个码元;根据对应于该码元序列中的每一码元的相应的基数为N的系数来计算每一码元的基数为2的数的多项式的基数为2的系数;根据分别针对该码元序列中的每一码元计算的基数为2的系数来确定每一码元的多个导线的状态改变;以及基于每一码元的多个导线的状态改变来生成该码元序列。
在本公开的另一方面,一种在耦合到多个导线的数据通信接口中解码数据的方法,包括:接收一帧中的码元序列,该码元序列表示分配到该帧的数据比特序列;将该码元序列转换成数据比特序列的值;以及通过以二进制格式来表达该值来恢复数据比特序列。在一方面,该数据比特序列是要被解码的二进制数据串的子集,其中二进制串的子集被分别分配到多个帧。该转换包括:基于该码元序列来评估多个导线的状态改变;基于该状态改变来计算该码元序列的码元值,其中该码元值分别对应于基数为N的数的多项式的基数为N的系数,其中N是大于2的整数;以及根据基数为N的系数来计算基数为N的数的多项式的结果以确定该数据比特序列的值。
在一方面,该码元序列中的每一码元包括多个导线的当前状态。评估多个导线的状态改变包括:针对每一码元,在第一导线的当前状态与第一导线的先前状态之间执行异或非(XNOR)运算以确定第一状态值,以及在第二导线的当前状态与第二导线的先前状态之间执行异或非(XNOR)运算以确定第二状态值。
该评估可进一步包括:当第一导线的当前状态与第一导线的先前状态之间发生状态改变时确定第一状态值为0,当第一导线的当前状态与第一导线的先前状态之间没有发生状态改变时确定第一状态值为1,当第二导线的当前状态与第二导线的先前状态之间发生状态改变时确定第二状态值为0,当第二导线的当前状态与第二导线的先前状态之间没有发生状态改变时确定第二状态值为1。
在一方面,码元的第一状态值和第二状态值对应于与该码元相对应的基数为2的数的多项式的一对基数为2的系数。相应地,计算该码元序列的码元值包括根据对应于该码元序列中的每一码元的相应对的基数为2的系数来计算每一码元的基数为2的数的多项式的结果,以及根据分别针对每一码元计算的基数为2的数的多项式的结果来确定每一码元的码元值。
在本公开的又一方面,一种用于在数据通信接口中解码数据的装置,包括:耦合到多个导线的通信接口电路,以及耦合到该通信接口电路的处理电路。该处理电路被配置成:接收一帧中的码元序列,该码元序列表示被分配到该帧的数据比特序列;将该码元序列转换成数据比特序列的值;以及通过用二进制格式表达该值来恢复数据比特序列。在一方面,该数据比特序列是要被解码的二进制数据串的子集,其中二进制串的子集被分别分配到多个帧。该处理电路被配置成通过以下来进行转换:基于码元序列来评估多个导线的状态改变;基于该状态改变来计算码元序列的码元值,其中该码元值分别对应于基数为N的数的多项式的基数为N的系数,其中N是大于2的整数;以及根据基数为N的系数来计算基数为N的数的多项式的结果以确定数据比特序列的值。
在本公开的另一方面,一种用于在耦合到多个导线的数据通信接口中解码数据的装备,包括:用于接收一帧中的码元序列的装置,该码元序列表示分配到该帧的数据比特序列;用于将该码元序列转换成数据比特序列的值的装置;以及用于通过以二进制格式表达该值来恢复数据比特序列的装置。在一方面,该数据比特序列是要被解码的二进制数据串的子集,其中二进制串的子集被分别分配到多个帧。用于转换的装置被配置成通过以下来进行转换:基于码元序列来评估多个导线的状态改变;基于该状态改变来计算码元序列的码元值,其中该码元值分别对应于基数为N的数的多项式的基数为N的系数,其中N是大于2的整数;以及根据基数为N的系数来计算基数为N的数的多项式的结果以确定数据比特序列的值。
在本公开的一方面,一种具有一个或多个指令的处理器可读存储介质,该一个或多个指令在由解码器的处理电路执行时致使该处理电路:接收一帧中的码元序列,该码元序列表示分配到该帧的数据比特序列;将该码元序列转换成数据比特序列的值;以及通过用二进制格式表达该值来恢复数据比特序列。在一方面,该数据比特序列是要被解码的二进制数据串的子集,其中二进制串的子集被分别分配到多个帧。该指令致使该处理电路通过以下来进行转换:基于码元序列来评估多个导线的状态改变;基于状态改变来计算码元序列的码元值,其中该码元值分别对应于基数为N的数的多项式的基数为N的系数,其中N是大于2的整数;以及根据基数为N的系数来计算基数为N的数的多项式的结果以确定数据比特序列的值。
附图简述
图1描绘了在各IC设备之间采用数据链路的装置,该数据链路根据多个可用标准之一来选择性地操作。
图2解说了在IC设备之间采用数据链路的装置的系统架构。
图3解说了根据本文所公开的某些方面的发射机和接收机的某些方面。
图4解说了根据本文所公开的某些方面的用于转码数据的编码方案。
图5解说了I2C一字节写数据操作的时序图。
图6解说了连接至公共I2C总线的I2C设备和其它设备的配置。
图7解说了根据本文所公开的某些方面的用于在串行总线的操作模式之间和/或在可被用在串行总线上的多个协议之间转变的一般化方案。
图8是解说根据本文所公开的某些方面来配置的编码器和解码器的示例的框图。
图9解说了从根据本文所公开的某些方面的编码/解码方案得到的表。
图10是解说可根据本文所公开的某些方面来配置的编码器和解码器的另一示例的框图。
图11解说了将可用于多个基本数据传递链路(导线)和多个帧时隙的各种组合的多个码元的表。
图12解说了根据本公开的一个或多个方面的被配置成支持涉及在数据通信接口中编码数据的操作的装置。
图13是解说根据本文公开的一个或多个方面的用于在串行总线接口上进行数据通信的方法的流程图。
图14是根据本公开的一个或多个方面的配置成支持涉及在数据通信接口中解码数据的操作的装置的解说。
图15是解说根据本文公开的一个或多个方面的用于在串行总线接口上进行数据通信的另一方法的流程图。
详细描述
现在参照附图描述各个方面。在以下描述中,出于解释目的阐述了众多具体细节以提供对一个或多个方面的透彻理解。但是显然的是,没有这些具体细节也可实践此(诸)方面。
概览
本公开提供了使用物理编码来增加接口上的数据吞吐量,其允许对对应于基于码元的数据传递的三进制或任何其它更大基数系数的直接读取。本公开可使用用于导出三进制(或更大基数)系数的基本门。对于基于最小复码元的数据传递,即在基数为3的(三进制)数上,本公开允许方便的编码和解码。对于更大基数,例如,分别在3根导线或4根导线上实现的基数为7的(七进制)或基数为15的(十五进制)的数,本公开允许方便的编码和解码以及减少实现所要求的门的数目。本公开还提供实践系统的益处(例如,改进的集成电路间(I3C)),其中有必要确保与先前使用的不同类型接口的后向兼容性。
示例性操作环境
本发明的某些方面可适用于被部署在电子设备之间的通信链路,这些电子设备可包括装置(诸如电话、移动计算设备、电器、汽车电子设备、航空电子系统等)的子组件。图1描绘了可采用IC设备之间的通信链路的装置。在一个示例中,装置100可包括无线通信设备,该无线通信设备通过RF收发机与无线电接入网(RAN)、核心接入网、因特网和/或另一网络通信。装置100可包括可操作地耦合至处理电路102的通信收发机106。处理电路102可包括一个或多个IC设备,诸如专用IC(ASIC)108。ASIC 108可包括一个或多个处理设备、逻辑电路等等。处理电路102可包括和/或耦合至处理器可读存储(诸如存储器112),该处理器可读存储可维护可由处理电路102执行的指令和数据。处理电路102可由操作系统以及应用编程接口(API)110层中的一者或多者来控制,该API 110层支持并允许执行驻留在存储介质(诸如无线设备的存储器设备112)中的软件模块。存储器设备112可包括只读存储器(ROM)或随机存取存储器(RAM)、电可擦除可编程ROM(EEPROM)、闪存卡、或可以在处理系统和计算平台中使用的任何存储器设备。处理电路102可包括或访问本地数据库114,该本地数据库114可维护用于配置和操作该装置100的操作参数和其它信息。可使用数据库模块、闪存、磁介质、EEPROM、光学介质、磁带、软盘或硬盘等中的一者或多者来实现本地数据库114。处理电路也可以可操作地耦合至外部设备,诸如天线122、显示器124、操作者控件(诸如按钮128和按键板126以及其他组件)。
图2是解说连接至通信总线的装置200的某些方面的示意框图,其中该装置可被实施在以下一者或多者中:无线移动设备、移动电话、移动计算系统、无线电话、笔记本计算机、平板计算设备、媒体播放器、游戏设备、个人数字助理(PDA)或其他手持式设备、上网本、笔记本计算机、电视、娱乐设备、可穿戴设备等。装置200可以包括使用总线230来通信的多个设备202、220和222a-222n。如图2所示,总线230可包括串行时钟线(SCL)216和串行数据线(SDA)218。然而,根据本公开的各方面,总线230可包括用于传送信号的两根以上的线/导线(例如,3根或4根导线)。总线230可以为被配置成用于总线230所支持的增强型特征的设备扩展常规总线的能力。例如,总线230可以支持比例如I2C、SPI、或通用异步接收机/发射机(UART)总线更高的比特率。
在图2中解说的示例中,设备202可被配置成作为总线230上的从动设备来操作。设备202可被配置成或被适配成提供传感器控制功能204,该传感器控制功能204管理一个或多个通用传感器、高速传感器、指纹传感器、图像传感器(例如,相机)、触摸屏传感器等。另外,设备202可包括配置寄存器或其他存储206、控制逻辑212、收发机210以及线驱动器/接收机214a和214b。控制逻辑212可包括处理电路,诸如状态机、定序器、信号处理器或通用处理器。收发机210可包括接收机210a、发射机210c和共用电路210b(包括定时、逻辑和存储电路和/或设备)。在一个示例中,发射机210c基于由时钟生成电路208提供的定时来编码并传送数据。
根据本文公开的某些方面,各实体之间的信息经由各方之间建立的规范来传递。该规范可以用各种方式来实施,例如,口述/书面语言、计算机语言、和/或数据。在所有的这些系统中,向其附连某种意义的码元被呈现。一种用于数据传递的方法涉及某种介质的物理状态的二进制表达。该方法使用两个码元,一般为“0”或“1”。可以使用更高的数阶来传递数据,例如,八进制、十进制和十六进制等。
所有数字系统都使用码元,其中基数越高,需要越多不同的码元并且在数据流上要求越少的位置。
数据流可以被表达为一连串数字。数字是基数以整数为幂按阶列举的多项式。由此,任何数据流都可以用一般形式被写为:
其中:
DATA=数据串的总值
NB=基数,例如,2、3、8、10或16
S=码元,例如,0、1、…、A、B、C、…
在一示例中,为了传送数据,二进制信息串可被变换成被编码成基数为3的(三进制)数的相等数值。如此,针对相同信息需要在节点之间传送更少的字符。经变换的三进制数是多项式和,其中因子为3的幂并且系数为[0,1,2]。
其中:Tk=三进制系数,∈[0,1,2]。
在另一示例中,相同的数据可以在各种数字系统中编码,如下:
下文呈现用各个基数来编码二字节(即16比特)示例性数的示例:
用各个基数来编码相同的数据:
二进制:个码元时隙,2个不同的码元
三进制:个码元时隙,3个不同的码元
十进制:个码元时隙,10个不同的码元
十六进制:个码元时隙,16个不同的码元
图3是解说可根据本文所公开的某些方面来配置的发射机300和接收机320的示例的框图。对于总线操作,发射机300可以将数据310转码成基数较大的(例如,基数为3、7、8、10、16等)数。如图3所示,发射机300可以将数据310转码成三进制(基数为3)数,三进制数被编码为在第一信号导线W1(例如,串行时钟线(SCL))216和第二信号导线(例如,串行数据线(SDA))218上传送的码元。然而,根据本公开的各方面,发射机300可以将数据转码为具有基数大于3的任何数,其中该数被编码为在两个以上的信号导线上传送的码元。在所描绘的示例中,输入数据310的每个数据元素(亦称为数据字)可具有预定义数目的比特,诸如8、12、16、19或20比特。转码器302可接收输入数据310并产生每个数据元素的三进制数序列312。三进制数312可被编码在2个比特中,并且每个三进制序列312中可以有12个三进制数。编码器304产生通过线驱动器306传送的2比特码元流314。在所描绘的示例中,线驱动器306包括漏极开路输出晶体管308。然而,在其他示例中,线驱动器306可以使用推挽式驱动器来驱动W1 216和W2 218信号导线。通过确保没有任一对连贯码元包括两个相同码元,由编码器生成的2比特码元输出流314在连贯码元314之间具有W1 216和W2 218信号导线中的至少一者的状态转变。至少一根导线216和/或218中的状态转变可用性准许接收电路320从数据码元流314中提取接收时钟338。
在总线接口中,接收机320可以包括时钟和数据恢复(CDR)电路328或与其协作。接收机320可包括从W1 216和/或W2 218信号导线向CDR 328提供原始2比特码元流336的线接口电路326。CDR 328从原始码元336中提取接收时钟338并向接收机320的其他电路324和322提供2比特码元流334和接收时钟338。在一些示例中,CDR 328可以产生多个时钟338。解码器324可使用接收时钟338来将码元流334解码成12个三进制数的序列332。可使用2个比特来编码三进制数332。转码器322随后可将12个三进制数的每个序列332转换成8比特、12比特、16比特、19比特或20比特输出数据元素330。在一方面,三进制数可以被帧化到任何数目的时隙中。例如,3比特数可以被帧化到2个三进制时隙中,8比特数可以被帧化到6个三进制时隙中,而19比特数可以被帧化到12个三进制时隙中。对于更高基数的数,例如使用3根导线的基数为7的数(即七进制),2个七进制时隙的帧可以递送5比特输出数据(25-1)的十进制48,其覆盖十进制31。
根据本公开的其它方面,接收机320可以将与具有基数大于3的数相关的原始码元流提供到CDR 328。CDR 218接着可以从此类原始码元中提取接收时钟,并且将码元流和接收时钟提供到解码器324和转码器322。解码器324可以使用接收时钟来将码元流解码成具有基数大于3的数的数序列。转码器322接着可以将每一数序列转换成具有对应比特数的输出数据元素。
图4是解说可由编码器304用于产生具有嵌入式时钟的码元序列314以供在总线230上传输的编码方案400的图示。编码方案400还可由解码器324用于从接收自总线230的码元中提取三进制转变数。在编码方案400中,总线230的两根导线准许定义4个基本码元S:{0,1,2,3}。码元序列314、334中的任何两个连贯码元具有不同状态,并且码元序列0,0、1,1、2,2和3,3是连贯码元的无效组合。相应地,在每个码元边界处仅3个有效码元转变可用,其中码元边界由传送时钟确定并且表示第一码元(先前码元Ps)422终止且第二码元(当前码元Cs)424开始的点。
根据本文所公开的某些方面,针对每个Ps码元426,这三个可用转变被指派转变数(T)422。T 426的值可以由三进制数表示。在一个示例中,转变数426的值通过指派用于编码方案的码元排序圆402来确定。码元排序圆402为四个可能码元分配圆402上的位置404a-404d以及位置404a-404d之间的旋转方向406。在所描绘的示例中,旋转方向406为顺时针。转变数426可以表示有效的当前码元424与前一紧邻码元422之间的间隔。间隔可被定义为从前一码元424到达当前码元Cs 422所需要的在码元排序圆406上沿旋转方向402的步数。步数可被表达为一位基数为3的数。将领会,码元之间的三步差异可被表示为0基数-3。图4中的表420概述了采用这种办法的编码方案。
在发射机300处,在给定先前生成的码元422和用作转变数426的输入三进制数的知识的情况下,表420可被用于查找要被传送的当前码元424。在接收机320处,表420可被用作查找表以确定表示先前接收的码元422与当前接收的码元424之间的转变的转变数426。转变数426可作为三进制数来输出。
图5是解说I2C一字节写数据操作的时序图500。传输在主节点通过将W2线(例如,SDA线)218驱动为低而W1线(例如,SCL)216保持为高来提供开始状况506时被发起。I2C主控节点在SDA线218上发送7比特从动ID 502以指示该主控节点希望访问I2C总线上的哪个从动节点,继以指示该操作是读操作还是写操作的读/写比特512,由此读/写比特512为逻辑0以指示写操作以及为逻辑1以指示读操作。仅ID匹配该7比特从动ID 502的从动节点能够响应该写(或另一)操作。为了使I2C从动节点检测其自己的ID 502,主控节点在SDA线218上传送至少8位,连同SCL线216上的8个时钟脉冲。主控节点通过将SDA线218驱动为高而同时SCL线216保持为高来提供停止状况516以终止事务。I2C接口被认为在开始状况506之后处于“总线繁忙”状态并且在停止状况516之后处于“总线空闲”状态。
总线通信可将I2C总线的SCL线216和SDA线218的组合用于数据传输。总线码元可以在与针对I2C传输在SCL线216上传送的时钟信号脉冲514的每次翻转相对应的时间被传送。在每个帧传输时段中传送的时钟翻转数可以因此定义可为每个总线传输传送的码元数。因此,12码元传输可以在6-SCL脉冲序列期间可用的12个信令状态中提供。
当时钟信号已被嵌入在码元转变内时,I2C总线的SCL线216和/或SDA线218可被用于数据传输。因此,SDA线218和SCL线216可被用于传送码元,而不影响旧式I2C从节点功能性并且无需使用桥接设备来将旧式I2C从节点与具有总线能力的节点隔离开。在I2C模式中,开始状况506可仅由I2C主控设备提供。在另一方面,开始状况506由将传送12码元字的任何节点提供。
图6解说了其中公共(或共享)总线602将I2C设备6041-604k、606和其它总线设备612、6141-614n和6161-616m相耦合的配置。其它总线设备612、6141-614n和6161-616m可与常规地配置的I2C设备6041-604k、606共存,并且其它总线设备612、6141-614n和6161-616m中的某些其它总线设备可按期望或按需使用常规I2C协议进行通信。
可使用I2C协议的经修改版本或I2C协议的变型来发起和执行公共总线602上的数据传输(包括配置和其他总线控制消息)。在一个示例中,可使用用于启动事务的常规I2C协议来发起所有事务。
根据本文所公开的某些方面,公共总线602上的通信可被有效地容器化(containerized),以使得耦合至公共总线602的设备之间的数据传输被封装在总线管理和/或控制命令之间发生的事务(容器)中。通常,被配置成使用由参与当前事务的设备所采用的协议进行通信的设备可以忽略或不在意此事务。
图7是解说用于在共享总线602的容器或操作模式之间转变的一般化方案的流程图700。每种容器、操作模式和/或协议可与共享总线602的相应操作状态702、704、706、708、710相关联。总线的操作模式可以在各信令模式、数据吞吐量、传输格式等之间区分开。可针对协议来定义不同操作模式。
在操作中,共用协议状态704被用于使用所有总线主控设备和/或总线上的所有设备所理解的共用协议来交换总线管理命令。在一个示例中,单协议从动设备可能无法使用共用协议进行通信,并且可因此忽略总线管理命令。在该后一示例中,总线主控设备可以获取对共享总线602的控制,并且使用单协议从动设备所理解的协议与单协议从动设备通信。
在一些示例中,I2C协议被用在共用协议状态704中。在其他示例中,不同协议可被用在共用协议状态704中。共享总线602可被初始化成启动状态702,藉此针对共用协议来配置耦合至共享总线602的设备。在共用协议的单总线主控设备实现中,所指定的总线主控设备可根据由共用协议所定义的规程来发现和/或配置耦合至共享总线602的其他设备。在多主控设备实现中,一旦进入共用协议状态704,一个或多个主控设备就可参与发现、配置和/或仲裁过程以确定哪个总线主控设备控制共享总线602。可采纳总线阶层式概念,其中一个总线主控设备在任何时间具有对共享总线602的活跃控制并且其他总线主控设备请求和等待对共享总线602的准予控制。
在共用协议状态704中,一个或多个设备可争用对共享总线602的控制。可按期望或仲裁的协议状态706、708操作共享总线602以实现耦合至共享总线602的设备之间的通信事务。一旦完成此事务,共享总线602就返回到共用协议状态704。当没有设备正在请求访问共享总线602时,共享总线602可进入空闲状态710。在空闲状态中,一个或多个设备可进入减电操作模式。总线主控设备可周期性地使共享总线602进入共用协议状态704以确定是否有任何设备正在请求访问共享总线602。在一些实例中,共享总线602可响应于中断或其他事件而返回到共用协议状态704。
进入协议状态704、706、708以及退出协议状态704、706、708可使用总线管理命令来实行。这些命令可使用基于共享总线602的架构和设计所选择的信令、消息接发、或者信令和消息接发的一些组合来实现。
数据传输可在共用协议状态704或者由耦合至共享总线602的设备子集所使用的协议状态706、708中的一个协议状态中发生。设备子集所使用的协议状态706、708可以是与共享总线602兼容的任何协议。数据能够以字、帧和/或分组为单位来传递,并且构想了灵活的数据传输模式。
在一些实例中,地址可被动态地分配给耦合至共享总线602的设备。在一个示例中,在共用协议状态704中执行动态地址分配以提供对使用共用协议进行通信的设备的唯一性标识并且为此类设备指派优先级排序。在一些实例中,在其他协议状态706、708中的一个或多个协议状态中执行动态地址分配以提供对使用除共用协议以外的协议进行通信的设备的唯一性标识并且为此类设备指派优先级排序。
在一些实例中,针对共用协议状态704定义异常处置方案。例如,可在共用协议为I2C或I2C衍生协议时提供兼容I2C的带内中断规程。在一些实例中,可以实现“热插”规程,其中热插规程包括和/或使用带内中断和动态地址分配规程。
基于导线状态改变来编码/解码数据的示例性描述
在一方面,编码方案可以使用12码元序列作为6对来创建字。每个字包括18比特,由16比特数据和2比特奇偶来形成。首先传送码元对中的最高有效码元对。首先发送一对中的最高有效码元。因此,数据首先按照单数据率(SDR)以最高有效位(MSb)被编码,因此前16数据比特在MSb中被传送,之后是2奇偶比特,P1和P0。通过将每一对码元编码为3比特来将12码元转译成18比特。码元代码0、1或2可以基于公式{(W1)XNOR(先前-W1),(W2XNOR(先前-W2)},其中W1是第一导线,W2是第二导线,而XNOR是逻辑“异或非”运算。
根据本文公开的各方面,对于两根或更多根导线,设备(诸如编码器)可以接收二进制数据串。编码器接着可以将二进制串拆分成各个帧,其中帧的大小可以大到适于覆盖为帧的码元选择的N基数的最大值。例如,对于基数为3的数的实现(即,两根物理导线可用)并且2个码元时隙,基数为3的数的最大值为2x31+2x30=2x3+2x1=6+2=8(其中被用于计算基数为3的数的最大值的数是采用十进制(基数为10)表示的)。然而,最大所覆盖的完整二进制数为7(即,3’b111)。用十进制表示的该数为1x22+1x21+1x20=4+2+1=7。
在另一示例中,对于基数为7的数的实现(即,三根物理导线可用)并且2个码元时隙,基数为7的数的最大值为6x71+6x70=6x7+6x1=42+6=48(其中被用于计算基数为7的数的最大值的数是采用十进制(基数为10)表示的)。然而,最大所覆盖的完整二进制数为31(即,5’b11111)。用十进制表示的该数为1x24+1x23+1x22+1x21+1x20=16+8+4+2+1=31。
编码器可进一步计算每一二进制帧的值的基数为N的系数,即,在三进制(两根物理导线)的情况下基数为3,或者在七进制(三根物理导线)的情况下基数为7。编码器接着用二进制值来表达计算所得的系数,并且通过针对每一导线应用基于XNOR的上述公式来确定构成导线上的改变。在一方面,返回“0”值的基于XNOR的公式指示状态已经改变,而返回“1”值的基于XNOR的公式指示没有状态改变。
根据本文所公开的各方面,对于两根或更多根导线,设备(诸如解码器)可以估算两根或更多根导线上的状态改变。基于基数为N的数的实现,并且针对基数为N的数的预先确立的数目的时隙,解码器可计算接收到的数的值。例如,对于基数为3的数的实现(即,两根物理导线可用)和2个码元时隙,解码器接收到的系数可以是0、1、或2的任何组合,以两个连贯码元为一对(按照时隙)。解码器可以计算所得的数为(码元_1)x31+(码元_2)x30=(码元_1)x3+(码元_2)x1。使用相同的方法,对于基数为N的数与预先确立数目的时隙的任何其它组合的所得数也可以被计算,如图11中所指示的。解码器接着可以用二进制格式来表达计算所得的数,其为被解码的数据。
根据本文所公开的各方面,对于与其它系统的后向兼容性,编码器和解码器可以执行智能补充步骤,其中编码器可以增加虚设码元或者解码器可以忽略虚设码元。
图8是解说可根据本文所公开的某些方面来配置的编码器800和解码器820的示例的框图。对于总线操作,编码器800可以将数据810转码成较大基数(例如,基数为3、7、8、10、16等)的数。如图8中所示,编码器800可以将数据810转码为基数为3的数,基数为3的数被编码为在第一信号导线W1 216和第二信号导线W2 218上传送的码元。然而,根据本公开的各方面,编码器800可以将数据转码为任何基数为N的数(其中N大于2),其中该数被编码为在两根以上的信号导线上传送的码元。在所描绘的示例中,输入数据810的每个数据元素(亦称为数据字)可具有预定义数目的比特,诸如8、12、16、19或20比特。比特到帧分配器802可以接收要被编码的二进制数据串(输入数据)810,并且分别将二进制数据串的子集分配到多个帧中。例如,当输入数据具有20比特长度时,比特到帧分配器802可以将二进制串的顺序子集812(例如,20比特长的输入数据810的每3比特)分配到各个帧中。
帧值到码元转换器804通过使用与帧相关联的顺序比特子集812作为基数为2的系数来计算基数为2的数的多项式的所得数而确定帧的帧值。例如,如果与帧相关联的顺序比特子集是{1,0,1},则所得数为1x22+0x21+1x20=4+1=5。因此,与顺序比特子集{1,0,1}相关联的帧的帧值为5。
帧值到码元转换器804基于帧值来进一步计算帧的基数为3的数的多项式的基数为3(三进制)的系数,其中基数为3的系数分别对应于与帧相关联的码元序列的各码元。使用以上示例,如果帧值为5,则等价的基数为3的数的多项式为5=1x31+2x30。相应地,帧的基数为3的系数为1和2,它们分别对应于与该帧相关联的码元序列的第一码元和第二码元。
帧值到码元转换器804接着根据对应于码元序列中每一码元的相应的基数为3的系数来计算每一码元的基数为2的数的多项式的基数为2的系数。使用以上示例,如果对应于帧的第一码元的基数为3的系数为1,则等价的基数为2的数的多项式为1=0x21+1x20。相应地,第一码元的基数为2的系数为0和1。类似地,如果对应于帧的第二码元的基数为3的系数为2,则等价的基数为2的数的多项式为2=0x21+1x20。相应地,第二码元的基数为2的系数为1和0。
对于两根导线W1和W2,二进制码元可以基于公式{(W1)XNOR(先前-W1),(W2)XNOR(先前-W2)}。值得注意的是,对于W1(例如,SCL)的XNOR运算的位置可以被置于码元的最高有效位位置上以提供向后兼容性的简化且可缩放的方法。此外,为码元计算的基数为2的系数可对应于针对与该码元相关联的导线执行的XNOR运算的结果。返回“0”值的XNOR运算指示在导线的当前状态与先前状态之间状态发生改变。返回“1”值的XNOR运算指示在导线的当前状态与先前状态之间没有状态改变。
使用以上示例,第一码元的基数为2的系数为0和1。相应地,第一基数为2的系数0对应于第一导线的当前状态(W1)与第一导线的先前状态(先前-W1)之间的XNOR运算的结果,即,(W1)XNOR(先前-W1)=0。因此,帧值到码元转换器804可以通过基于先前-W1值与第一基数为2的系数的知识来确定W1的值而基于该公式确定第一码元的第一比特。第二基数为2的系数1对应于第二导线的当前状态(W2)与第二导线的先前状态(先前-W2)之间的XNOR运算的结果,即,(W2)XNOR(先前-W2)=1。因此,帧值到码元转换器804可以通过基于先前-W2值与第二基数为2的系数的知识来确定W2的值而基于该公式确定第一码元的第二比特。帧值到码元转换器804可以用类似的方式使用针对第二码元所计算的基数为2的系数来确定第二码元的第一和第二比特。
由帧值到码元转换器804所产生的2比特码元流814通过线驱动器806来传送。在所描绘的示例中,线驱动器806包括漏极开路输出晶体管808。然而,在其他示例中,线驱动器806可以使用推挽式驱动器来驱动W1 216和W2 218信号导线。
解码器820可包括线接口电路826,线接口电路826将原始2比特码元流836从W1216和/或W2 218信号导线提供到码元接收机828。在一方面,码元接收机828接收一帧中的码元序列。码元序列可以表示被分配到该帧的数据比特序列。此外,数据比特序列可以是要被解码的二进制数据串的子集,其中二进制串的子集被分别分配到多个帧。
码元接收机828可包括从原始码元836中提取接收时钟的时钟和数据恢复(CDR)电路。码元接收机828将2比特码元流834提供到状态改变评估器824。状态改变评估器824使用针对二进制码元的公式{(W1)XNOR(先前-W1),(W2)XNOR(先前-W2)}基于接收自码元接收机828的码元序列来估算导线W1 216和W2 218的状态改变。
当前接收的码元包括分别对应于导线的当前状态的比特。相应地,状态改变评估器824可以通过为码元的每一导线执行XNOR运算来计算码元的状态值。例如,接收到的码元的第一比特对应于第一导线的当前状态(W1)。相应地,状态改变评估器824可以通过在第一导线的当前状态(W1)与第一导线的先前状态(先前-W1)之间执行XNOR运算来计算该码元的第一状态值S1,即,(W1)XNOR(先前-W1)=S1。接收到的码元的第二比特对应于第二导线的当前状态(W2)。相应地,状态改变评估器824可以通过在第二导线的当前状态(W2)与第二导线的先前状态(先前-W2)之间执行XNOR运算来计算该码元的第二状态值S2,即,(W2)XNOR(先前-W2)=S2。计算所得的状态值832(例如,S1和S2)可以被提供到码元到数据转换器822。
码元到数据转换器822基于状态值832来计算码元序列的码元值。状态值可对应于与码元相对应的基数为2的数的多项式的基数为2的系数。相应地,码元到数据转换器822可以通过使用与码元相关联的状态值来计算基数为2的数的多项式的所得数而计算码元值。例如,如果第一码元的状态值{S1,S2}为{0,1},则基数为2的系数为0和1,并且所得数为0x21+1x20=0+1=1。因此,第一码元的码元值为1。类似地,如果第二码元的状态值{S1,S2}为{1,0},则基数为2的系数为1和0,并且所得数为1x21+0x20=2+0=2。因此,第二码元的码元值为2。
帧中的码元序列的码元值可对应于基数为N的数的多项式的基数为N的系数,其中N大于2。在以上示例中,帧的第一和第二码元值分别对应于基数为3的(三进制)数的多项式的基数为3的系数。相应地,码元到数据转换器822可以通过使用与帧相关联的码元值来计算基数为3的数的多项式的所得数而计算帧值。使用以上示例,第一码元值1对应于第一基数为3的系数,而第二码元值2对应于第二基数为3的系数。相应地,所得数为1x31+2x30=5。因此,包括第一和第二码元的帧的帧值为5。码元到数据转换器822接着用二进制格式来表达帧值以恢复数据比特序列830。此处,帧值5可以被表达为5=1x22+0x21+1x20,其等价于二进制数据比特序列{1,0,1}。
在一方面,三进制数可以被帧化到任何数目的码元时隙中。例如,3比特数可以被帧化到2个三进制码元时隙中,8比特数可以被帧化到6个三进制码元时隙中,而19比特数可以被帧化到12个三进制码元时隙中。对于更高基数的数,例如使用3根导线的基数为7的数(即七进制),2个七进制码元时隙的帧可以递送5比特输出数据(25-1)的十进制48,其覆盖十进制31。
图9解说了从利用XNOR运算的编码/解码方案(XNOR编码方案)得到的表900。XNOR编码方案可以被编码器800用来产生码元序列814以供在总线230上传输。XNOR编码方案还可被解码器820用来从接收自总线230的码元中提取基数为N的数的多项式的基数为N的系数。图9具体地涉及使用基数为3的(三进制)数实现的被应用于2根导线(例如,W1 216和W2218)的XNOR编码方案。然而,一般地,XNOR编码方案可以被应用于更多数目的导线(例如,4、5、6等根导线)。例如,XNOR编码方案可以使用基数为7的数(七进制)的实现被应用于三根导线,使用基数为15的数(十五进制)的实现被应用于4根导线,以及使用基数为31的数的实现被应用于5根导线。
在一方面,对于给定的基数,所传送的数可以用各种长度被帧化。帧的长度确定了系数所乘以的基数的幂。例如,在一帧中使用2个码元时隙的三进制实现中,该数通过多项式T1x31+T0x30来给出。在一帧中使用12个码元时隙,该数通过多项式T11x311+T10x310+…+T1x31+T0x30来给出。在另一示例中,在一帧中使用2个码元时隙的七进制实现中,该数通过S1x71+S0x70来给出。在一帧中使用12个码元时隙,该数通过多项式S11x711+S10x710+…+S1x71+S0x70来给出。
在一示例中,对于3根导线W1、W2和W3,二进制码元可以基于公式{(W1)XNOR(先前-W1),(W2)XNOR(先前-W2),(W3)XNOR(先前-W3)}。对于2根导线(例如,W1和W2),用于二进制码元的公式变为{(W1)XNOR(先前-W1),(W2)XNOR(先前-W2)},如上所提及的。W3比特不存在,因为仅有2根导线。对于W1(例如,SCL)的XNOR运算的位置可以被置于码元的最高有效位位置上以提供向后兼容性的简化且可缩放的方法。
现在将进一步讨论图9的表900。表900中将数据比特序列(例如,等价于3比特值0、1、2、3、4、5、6和7)编码成码元序列/从码元序列解码数据比特序列基于上述公式{(W1)XNOR(先前-W1),(W2)XNOR(先前-W2)}。表900还描绘了其中解码运算返回值8的特殊情形。然而,因为值8无法使用3比特以二进制格式来表达,所以返回值8的解码运算被认为指示错误。为了解说使用该公式的编码运算,将描述等价于3比特值2的数据比特序列的编码。
帧的3数据比特序列{0,1,0}可以被表达为0x22+1x21+0x20=0+2+0=2。因此,{0,1,0}等价于帧值2。编码器可以使用帧值2来计算该帧的基数为3的(三进制)数的多项式的第一基数为3的系数和第二基数为3的系数。第一和第二基数为3的系数分别对应于该帧的第一和第二码元。相应地,当帧值为2时,等价的基数为3的数的多项式为2=0x31+2x30。相应地,帧的第一基数为3的系数为对应于第一码元的0,而帧的第二基数为3的系数为对应于第二码元的2。
编码器接着可以根据对应于每一码元的基数为3的系数来计算第一码元和第二码元中的每一者的基数为2的数的多项式的基数为2的系数。此处,对应于第一码元的第一基数为3的系数为0。等价的基数为2的数的多项式通过0=0x21+0x20来给出。相应地,第一码元的基数为2的系数为0和0→{0,0}。类似地,对应于第二码元的第二基数为3的系数为2。等价的基数为2的数的多项式通过2=1x21+0x20来给出。相应地,第二码元的基数为2的系数为1和0→{1,0}。
对于两根导线W1和W2,二进制码元基于公式{(W1)XNOR(先前-W1),(W2)XNOR(先前-W2)}。由此,第一码元和第二码元中的每一者可以基于返回W1的第一状态值的第一导线的当前状态(W1)与第一导线的先前状态(prev-W1)之间的XNOR运算以及返回W1的第二状态值的第二导线的当前状态(W2)与第二导线的先前状态(prev-W2)之间的XNOR运算来确定。当第一状态值为0时,指示W1与prev-W1之间的状态改变(或“下拉”)。当第一状态值为1时,指示W1与prev-W1之间没有状态改变(或“无动作”)。当第二状态值为0时,指示W2与prev-W2之间的状态改变(或“下拉”)。当第二状态值为1时,指示W2与prev-W2之间没有状态改变(或“无动作”)。
相应地,当第一码元的基数为2的系数{第一基数为2的系数,第二基数为2的系数}为{0,0}时,第一基数为2的系数0对应于第一导线的当前状态(W1)与第一导线的先前状态(prev-W1)之间的XNOR运算的结果,即,XNOR(W1,prev-W1)=0。因此,编码器可以通过基于prev-W1和第一基数为2的系数的知识来确定W1的恰适值而确定第一码元的第一比特。第二基数为2的系数0对应于第二导线的当前状态(W2)与第二导线的先前状态(prev-W2)之间的XNOR运算的结果,即,XNOR(W2,prev-W2)=0。因此,编码器可以通过基于prev-W2和第二基数为2的系数的知识来确定W2的恰适值而确定第一码元的第二比特。
当第二码元的基数为2的系数{第一基数为2的系数,第二基数为2的系数}为{1,0}时,第一基数为2的系数1对应于第一导线的当前状态(W1)与第一导线的先前状态(prev-W1)之间的XNOR运算的结果,即,XNOR(W1,prev-W1)=1。因此,编码器可以通过基于prev-W1和第一基数为2的系数的知识来确定W1的恰适值而确定第二码元的第一比特。第二基数为2的系数0对应于第二导线的当前状态(W2)与第二导线的先前状态(prev-W2)之间的XNOR运算的结果,即,XNOR(W2,prev-W2)=0。因此,编码器可以通过基于prev-W2和第二基数为2的系数的知识来确定W2的恰适值而确定第二码元的第二比特。
表900中等价于3比特值0、1、3、4、5、6和7的其它数据比特序列可以根据被用于编码等价于3比特值2的比特序列{0,1,0}的相同的XNOR编码方案来编码,如上所述。在发射机300或编码器800处,给定先前生成的码元和输入三进制系数的知识,XNOR编码方案可以被用于确定要被传送的当前码元。在接收机320或解码器820处,XNOR编码方案可以被用于确定表示先前接收的码元和当前接收的码元之间的转变的三进制系数。
为了解说使用XNOR方案的解码运算,将描述解码码元序列以恢复3比特值5。解码器当前接收的码元包括分别对应于导线W1和W2的当前状态的比特。相应地,解码器可以通过为码元的每一导线执行XNOR运算来计算码元的状态值。例如,接收到的码元的第一比特对应于第一导线的当前状态(W1)。相应地,解码器可以通过在第一导线的当前状态(W1)与第一导线的先前状态(prev-W1)之间执行XNOR运算来计算该码元的第一状态值S1,即,XNOR(W1,prev-W1)=S1。接收到的码元的第二比特对应于第二导线的当前状态(W2)。相应地,解码器可以通过在第二导线的当前状态(W2)与第二导线的先前状态(prev-W2)之间执行XNOR运算来计算该码元的第二状态值S2,即,XNOR(W2,prev-W2)=S2。
解码器基于状态值S1和S2来计算第一码元和第二码元的码元值。状态值可对应于与码元相对应的基数为2的数的多项式的基数为2的系数。相应地,解码器可以通过使用与码元相关联的状态值来计算基数为2的数的多项式的所得数而计算码元值。例如,如果第一码元的状态值{S1,S2}为{0,1},则基数为2的系数为0和1,并且所得数为0x21+1x20=0+1=1。因此,第一码元的码元值为1。类似地,如果第二码元的状态值{S1,S2}为{1,0},则基数为2的系数为1和0,并且所得数为1x21+0x20=2+0=2。因此,第二码元的码元值为2。
帧中的第一码元和第二码元的码元值分别对应于基数为3的(三进制)数的多项式的基数为3的系数。相应地,解码器可以通过使用与帧相关联的码元值来计算基数为3的数的多项式的所得数而计算帧值。此处,第一码元值1对应于第一基数为3的系数,而第二码元值2对应于第二基数为3的系数。相应地,所得数为1x31+2x30=5。解码器接着可以用二进制格式来表达所得数以恢复数据比特序列{1,0,1},即5=1x22+0x21+1x20,其等价于二进制数据比特序列{1,0,1}。
在一方面,XNOR编码方案使用用于导出三进制(或更大基数)系数的基本门。对于基于最小复码元的数据传递,即对基数为3的(三进制)数,本文所公开的各方面允许方便的编码和解码以及在无需转译表的情况下直接读取三进制系数。对于更大基数,例如,分别在3根导线或4根导线上实现的基数为7的(7进制)或基数为15的(15进制)数,本文所公开的各方面允许方便的编码和解码以及减少实现所要求的门的数目。本文所公开的各方面还提供实践系统的益处(例如,改进的集成电路间电路(I3C)),其中有必要确保与先前使用的不同类型接口的后向兼容性。
不同类型的接口可以使用一根物理导线来提供与数据传递有关的时钟信号。数据传递本身可以在同一接口的毗邻导线上发生。在一方面,时钟信号可以被嵌入到为数据传递所指派的导线中以便在使用相同总数的物理导线的同时增大数据吞吐量。根据本公开的各方面,XNOR编码方案可以将时钟导线活动定位到码元的最高有效位位置。此外,由于基于XNOR的编码,该导线上的不活动可以被编码为“1”。
用于后向兼容高速数据传递的示例性方案可以将第一导线W1(例如,SCL)下拉至低电平,快于50ns。这可以被称为“所有SCL低”方案。结果,根据此类方案,降低数据吞吐量的虚设码元可能被不必要地添加到数据流。
为了避免不必要地将虚设码元添加到数据流,用于后向兼容高速数据传递的另一示例性方案仅在下一码元不要求W1自然下降的情况下智能地下拉SCL。这可以被称为“选择SCL低”方案。本公开的各方面(例如,XNOR编码方案)允许在必要虚设码元以及使SCL自然返回低电平的码元之间进行辨别。这可以使用多输入XOR门和AND/NAND门来实现。
假定数据传递级起始于第一导线W1(例如,SCL)处于低位置,选择SCL低高速数据传递方案可以如下:
具有MSb“1”的任何码元之后不必是虚设码元。
具有MSb“0”并且之后是具有MSb“0”的任何码元的任何码元以及其余比特“0”中的至少一者之后不必是虚设码元。
具有MSb“0”并且之后是具有MSb“0”的任何码元的任何码元以及所有的其余比特“1”之后不必是虚设码元。
具有MSb“0”并且之后是具有MSb“1”的任何码元的任何码元之后不必是虚设码元。
虚设码元之后可以是任何码元,因为虚设码元使SCL变为低电平。
因此,虚设码元由二进制“0”之后针对剩余的二进制位置(等于由各个接口所使用的剩余物理导线)为“1”组成。在一方面,“选择SCL低”方案与“全SCL低”方案相比可以提供优于平均数据吞吐量20%的增加。此外,“选择SCL低”方案与同一硬件线上的对应双数据率(DDR)协议相比可以提供更高的平均数据吞吐量。
图10是解说可根据本文所公开的某些方面来配置的编码器1000和解码器1020的示例的框图。对于总线操作,编码器1000可以将数据1010转码成较大基数(例如,基数为3、7、8、10、16等)的数。如图10所示,编码器1000可以将数据1010转码成基数为N的(N大于2)数,基数为N的数被编码为在多个信号导线上传送的码元(例如,在第一信道导线W1 216到第M信号导线WM 1050上传送)。如下所讨论的,将描述3根导线上的基数为7的(七进制)数实现,即WM=W3。然而,图10的编码器/解码器不受如此限制,因为还构想了其它基数的实现。在所描绘的示例中,输入数据1010的每个数据元素(亦称为数据字)可具有预定义数目的比特,诸如8、12、16、19或20比特。比特到帧分配器1002可以接收要被编码的二进制数据传(输入数据)1010,并且分别将二进制数据串的子集分配到多个帧中。例如,在基数为7的(七进制)数实现中,当输入数据具有20比特的长度时,比特到帧分配器1002可以将二进制串的5比特顺序子集1012分配到各个帧中。
帧值到码元转换器1004通过使用与帧相关联的比特1012的顺序子集作为基数为2的系数来计算基数为2的数的多项式的所得数来确定帧的帧值。帧值到码元转换器1004基于帧值来进一步计算帧的基数为7(七进制)的数的多项式的基数为7的系数,其中基数为7的系数分别对应于与帧相关联的码元序列的各码元。帧值到码元转换器1004接着根据对应于码元序列中每一码元的相应的基数为7的系数来为每一码元(例如,每一码元的3个基数为2的系数)计算基数为2的数的多项式的基数为2的系数。
对于3根导线W1、W2和W3,二进制码元可以基于公式{(W1)XNOR(先前-W1),(W2)XNOR(先前-W2),(W3)XNOR(先前-W3)}。为码元计算的基数为2的系数可对应于针对与该码元相关联的导线执行的XNOR运算的结果。返回“0”值的XNOR运算指示在导线的当前状态与先前状态之间状态发生改变。返回“1”值的XNOR运算指示在导线的当前状态与先前状态之间没有状态改变。
第一基数为2的系数对应于第一导线的当前状态(W1)与第一导线的先前状态(先前-W1)之间的XNOR运算的结果,即,(W1)XNOR(先前-W1)=第一基数为2的系数。因此,帧值到码元转换器1004可以通过基于先前-W1值与第一基数为2的系数的知识来确定W1的值而基于该公式确定码元的第一比特。第二基数为2的系数对应于第二导线的当前状态(W2)与第二导线的先前状态(先前-W2)之间的XNOR运算的结果,即,(W2)XNOR(先前-W2)=第二基数为2的系数。因此,帧值到码元转换器1004可以通过基于先前-W2值与第二基数为2的系数的知识来确定W2的值而基于该公式确定码元的第二比特。第三基数为2的系数对应于第三导线的当前状态(W3)与第三导线的先前状态(先前-W3)之间的XNOR运算的结果,即,(W3)XNOR(先前-W3)=第三基数为2的系数。因此,帧值到码元转换器1004可以通过基于先前-W3值与第三基数为2的系数的知识来确定W3的值而基于该公式确定码元的第三比特。
由帧值到码元转换器1004所产生的3比特码元流1014通过线驱动器1006来传送。在所描绘的示例中,线驱动器1006包括漏极开路输出晶体管1008。然而,在其他示例中,线驱动器1006可以使用推挽式驱动器来驱动W1 216、W2 218和WM(例如,W3)1050信号导线。
解码器1020可包括线接口电路1026,线接口电路1026将原始3比特码元流1036从W1 216、W2 218和/或WM(例如,W3)1050信号导线提供到码元接收机1028。在一方面,码元接收机1028接收一帧中的码元序列。码元序列可以表示被分配到该帧的数据比特序列。此外,数据比特序列可以是要被解码的二进制数据串的子集,其中二进制串的子集被分别分配到多个帧。
码元接收机1028可包括从原始码元1036中提取接收时钟的时钟和数据恢复(CDR)电路。码元接收机1028将3比特码元流1034提供到状态改变评估器1024。状态改变评估器1024使用针对二进制码元的公式{(W1)XNOR(先前-W1),(W2)XNOR(先前-W2),(W3)XNOR(先前-W3)}基于接收自码元接收机1028的码元序列来估算导线W1 216、W2 218和WM(例如,W3)1050的状态改变。
当前接收的码元包括分别对应于导线的当前状态的比特。相应地,状态改变评估器1024可以通过为码元的每一导线执行XNOR运算来计算码元的状态值。例如,接收到的码元的第一比特对应于第一导线的当前状态(W1)。相应地,状态改变评估器1024可以通过对第一导线的当前状态(W1)与第一导线的先前状态(先前-W1)执行XNOR运算来计算该码元的第一状态值S1,即,(W1)XNOR(先前-W1)=S1。接收到的码元的第二比特对应于第二导线的当前状态(W2)。相应地,状态改变评估器1024可以通过对第二导线的当前状态(W2)与第二导线的先前状态(先前-W2)执行XNOR运算来计算该码元的第二状态值S2,即,(W2)XNOR(先前-W2)=S2。接收到的码元的第三比特对应于第三导线的当前状态(W3)。相应地,状态改变评估器1024可以通过在第三导线的当前状态(W3)与第三导线的先前状态(先前-W3)之间执行XNOR运算来计算该码元的第三状态值S3,即,(W3)XNOR(先前-W3)=S3。计算所得的状态值1032(例如,{S1,S2,S3})可以被提供到码元到数据转换器1022。
码元到数据转换器1022基于状态值1032来计算码元序列的码元值。状态值可对应于与码元相对应的基数为2的数的多项式的基数为2的系数。相应地,码元到数据转换器1022可以通过使用与码元相关联的状态值来计算基数为2的数的多项式的所得数来计算码元值。例如,如果第一码元的状态值{S1,S2,S3}为{0,1,1},则基数为2的系数为0、1和1,并且所得数为0x22+1x21+1x20=0+2+1=3。因此,第一码元的码元值为3。如果第二码元的状态值{S1,S2,S3}为{1,0,0},则基数为2的系数为1、0和0,并且所得数为1x22+0x21+0x20=2+0+0=2。因此,第二码元的码元值为2。
帧中的码元序列的码元值可对应于基数为N的数的多项式的基数为N的系数,其中N大于2。在以上示例中,帧的第一和第二码元值分别对应于基数为7的(七进制)数的多项式的基数为7的系数。相应地,码元到数据转换器1022可以通过使用与帧相关联的码元值来计算基数为7的数的多项式的所得数而计算帧值。使用以上示例,第一码元值3对应于第一基数为7的系数,而第二码元值2对应于第二基数为7的系数。相应地,所得数为3x71+2x70=21+2=23。因此,包括第一和第二码元的帧的帧值为23。码元到数据转换器1022接着用二进制格式来表达帧值以恢复数据比特序列1030。此处,帧值23可以被表达为23=1x24+0x23+1x22+1x21+1x2,其等价于二进制数据比特序列{1,0,1,1,1}。
根据本文公开的各方面,基本数据传递链路可以是一根物理传输线,诸如举例来说一根物理导线或一个空中传输时隙。一个基本数据传递链路可支持数据的二进制编码。二进制码元在受控时隙中被设置,以便能够被标识。在一方面,可以实现附加的基本数据传递链路以增大数据率。此类实现的结果可线性地增大数据率。在另一方面,可以通过在数据流中提供附加的编码信息来增大数据率。例如,如本文所公开的,可以使用较高级的数字系统来编码数据流。
一般来说,用于编码数据流的方案可以如下。首先,二进制数据流以所确立的长度被帧化。通过帧化数据流,二进制码元被指派所定义的权重。结果,获得数据帧的总数值。数据帧的所得数值接着可以被转换成更高级基数的数,例如,三进制、八进制、十进制、十六进制等。数据基数可以被选择,以使得可以在恰当数目(例如,2、3或4个)的基本数据传递链路上实现相关必要码元。
在两个相差导线上实现的两个基本数据传递链路的情形中,三个不同的码元可用。因此,三进制基数码元编码适合于此类情形。在三个相差导线上实现的三个基本数据传递链路的情形中,七个不同的码元可用。因此,七进制基数码元编码适合于此类情形。
图11是解说了将可用于多个基本数据传递链路(导线)和多个帧时隙的各种组合的多个码元的表1100。具体地,表1100提供了对应于使用M根导线和N个时隙的实现的可用的最大数目的码元,其中M是从2到12的整数而N是从2到12的整数。在一方面,可能存在多种用于相对于可用的导线数目来选择最合适数目的码元时隙的准则。例如,所选的码元时隙的数目可以基于将二进制数表达为8比特格式的期望。在另一示例中,所选的码元时隙的数目可以基于信道容量,其中信道容量规定完全覆盖给定数目的二进制时隙的可用码元的代码数目。
用于基于导线状态改变来编码数据的示例性设备和方法
图12是根据本公开的一个或多个方面的配置成支持涉及在数据通信接口中编码数据的操作(例如,涉及以下所描述的图13的方法的诸方面)的装置1200的解说。装置1200包括通信接口(例如,至少一个收发机)1202、存储介质1204、用户接口1206、存储器设备1208以及处理电路1210。
这些组件可以经由信令总线或其他合适的组件(由图12中的连接线一般化地表示)彼此耦合和/或彼此进行电通信。取决于处理电路1210的具体应用和整体设计约束,信令总线可包括任何数目的互连总线和桥接器。信令总线将各种电路链接在一起以使得通信接口1202、存储介质1204、用户接口1206和存储器设备1208中的每一者耦合到处理电路1210和/或与处理电路1310进行电通信。信令总线还可链接各种其他电路(未示出),诸如定时源、外围设备、稳压器和功率管理电路,这些电路在本领域中是众所周知的,且因此将不再进一步描述。
通信接口1202可被适配成促成装置1200的无线通信。例如,通信接口1202可包括被适配成促成关于网络中的一个或多个通信设备进行双向信息通信的电路系统和/或代码(例如,指令)。通信接口1202可耦合到一个或多个天线1212以用于在无线通信系统内进行无线通信。通信接口1202可以配置有一个或多个自立接收机和/或发射机以及一个或多个收发机。在所解说的示例中,通信接口1202包括发射机1214和接收机1216。
存储器设备1208可表示一个或多个存储器设备。如所指示的,存储器设备1208可维护网络相关信息1218连同装置1200所使用的其他信息。在一些实现中,存储器设备1208和存储介质1204被实现为共用存储器组件。存储器设备1208还可被用于存储由处理电路1210或由装置1200的某个其他组件操纵的数据。
存储介质1204可表示用于存储代码(诸如处理器可执行代码或指令(例如,软件、固件))、电子数据、数据库、或其他数字信息的一个或多个计算机可读、机器可读、和/或处理器可读设备。存储介质1204还可被用于存储由处理电路1210在执行代码时操纵的数据。存储介质1204可以是能被通用或专用处理器访问的任何可用介质,包括便携式或固定存储设备、光学存储设备、以及能够存储、包含或携带代码的各种其他介质。
作为示例而非限制,存储介质1204可包括:磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩碟(CD)或数字多功能碟(DVD))、智能卡、闪存设备(例如,记忆卡、记忆棒、或钥匙驱动器)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦式PROM(EPROM)、电可擦式PROM(EEPROM)、寄存器、可移动盘、以及任何其他用于存储可由计算机访问和读取的代码的合适介质。存储介质1204可以在制品(例如,计算机程序产品)中实施。作为示例,计算机程序产品可包括封装材料中的计算机可读介质。鉴于上述内容,在一些实现中,存储介质1204可以是非瞬态(例如,有形)存储介质。
存储介质1204可被耦合至处理电路1210以使得处理电路1210能从存储介质1204读取信息和向存储介质1304写入信息。即,存储介质1204可耦合到处理电路1210,以使得存储介质1204至少能由处理电路1210访问,包括其中至少一个存储介质被集成到处理电路1210的示例和/或其中至少一个存储介质与处理电路1210分开(例如,驻留在装置1200中、在装置1200外部、跨多个实体分布等)的示例。
由存储介质1204存储的代码和/或指令在由处理电路1210执行时使处理电路1210执行本文描述的各种功能和/或过程操作中的一者或多者。例如,存储介质1204可包括被配置用于以下动作的操作:管控处理电路1210的一个或多个硬件块处的操作以及利用通信接口1202通过利用其相应通信协议进行无线通信。
处理电路1210一般被适配成用于处理,包括执行存储在存储介质1204上的此类代码/指令。如本文中使用的,术语“代码”或“指令”应当被宽泛地解读成包括但不限于编程、指令、指令集、数据、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数等,无论其被称为软件、固件、中间件、微代码、硬件描述语言、还是其他术语。
处理电路1210被安排成获得、处理和/或发送数据、控制数据的访问与存储、发布命令,以及控制其他期望操作。在至少一个示例中,处理电路1210可包括被配置成实现由恰适的介质提供的期望代码的电路系统。例如,处理电路1210可被实现为一个或多个处理器、一个或多个控制器、和/或配置成执行可执行代码的其他结构。处理电路1210的示例可包括被设计成执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑组件、分立的门或晶体管逻辑、分立的硬件组件、或者其任何组合。通用处理器可包括微处理器,以及任何常规处理器、控制器、微控制器、或状态机。处理电路1210还可实现为计算组件的组合,诸如DSP与微处理器的组合、数个微处理器、与DSP核协作的一个或多个微处理器、ASIC和微处理器、或任何其他数目的变化配置。处理电路1210的这些示例是为了解说,并且还设想了落在本公开范围内的其他合适的配置。
根据本公开的一个或多个方面,处理电路1210可适配成执行用于本文中描述的任何或所有装置的特征、过程、功能、操作和/或例程中的任一者或全部。如本文所使用的,涉及处理电路1210的术语“适配”可指处理电路1210被配置、采用、实现和/或编程(以上一者或多者)为执行根据本文描述的各种特征的特定过程、功能、操作和/或例程。
根据装置1200的至少一个示例,处理电路1210可包括比特接收电路/模块1220、数据分配电路/模块1222、比特到码元转换电路/模块1224、以及码元传送电路/模块1226中的一者或多者,这些电路/模块被适配成执行本文中所描述的特征、过程、功能、操作和/或例程(例如,参照图13描述的特征、过程、功能、操作和/或例程)中的任何一者或全部。
比特接收电路/模块1220可包括适配成执行涉及例如接收要被编码的二进制数据串的若干功能的电路系统和/或指令(例如,存储在存储介质1204上的比特接收指令1228)。
数据分配电路/模块1222可包括被适配成执行例如涉及分别将二进制数据串的子集分配到多个帧的若干功能的电路系统和/或指令(例如,存储在存储介质1204上的数据分配指令1230)。
比特到码元转换电路/模块1224可包括被适配成执行例如涉及确定被分配到一帧的数据比特序列的值的若干功能的电路系统和/或指令(例如,存储在存储介质1204上的比特到码元转换指令1232),其中数据比特序列是二进制数据串的子集,并且将值转换成与帧相关联的码元序列。
码元传送电路/模块1226可包括适配成执行涉及例如向接收机传送码元序列的若干功能的电路系统和/或指令(例如,存储在存储介质1204上的码元传送指令1234)。
如上所提及的,由存储介质1204存储的指令在由处理电路1210执行时使处理电路1210执行本文描述的各种功能和/或过程操作中的一者或多者。例如,存储介质1204可以包括比特接收指令1228、数据分配指令1230、比特到码元转换指令1232、以及码元传送指令1234中的一者或多者。
图13是解说一种用于在耦合到多个导线的串行总线接口上编码数据的方法的流程图1300。该方法可以由设备(例如,图2的总线主设备220或总线从电路202、图3的设备300或设备320、图8的编码器800、编码器1000、图12的装置1200和/或本文描述的其它设备)来执行。
该设备可以接收要被编码的二进制数据串1302。该设备接着可以分别将二进制数据串的子集分配到多个帧中1304。该设备可进一步确定被分配到帧的数据比特序列的值,其中数据比特序列是二进制数据串的子集1306。
之后,被设备可以将该值转换成与帧相关联的码元序列1308。在本公开的一方面,该设备通过首先基于该值来计算该帧的基数为N的数的多项式的基数为N的系数而执行该转换,其中N是大于2的整数。此外,计算所得的基数为N的系数分别对应于码元序列。接着,该设备根据分别为码元序列中的每一码元计算的基数为2的系数来确定每一码元的多个导线的状态改变。在本公开的一方面,多个导线的第一导线可以是基础导线,诸如传统系统中的时钟载体或者其它类型的系统中使用的时钟线。第一导线上的状态改变可以被置于所得码元的最高有效位上。作为一示例,第一导线可对应于SCL,如上所述。该设备接着基于每一码元的多个导线的状态改变来生成码元序列,并且进一步将码元序列传送到接收机1310。
在一示例实现中,图13的编码方法可以使用基数为N的数的多项式来实现,其中N=3(即,两根物理导线),并且每帧2个码元(尽管还构想了其它大于2的N值,例如,N=7(即,三根物理导线))。相应地,当N=3(即,两根物理导线)时,该设备可以通过根据对应于码元序列的第一码元的第一基数为N的系数来计算第一基数为2的数的多项式的第一对基数为2的系数,并且根据第一对基数为2的系数来确定第一码元的多个导线的状态改变而将该值转换成码元序列。该设备可根据对应于码元序列的第二码元的第二基数为N的系数来计算第二基数为2的数的多项式的第二对基数为2的系数,并且根据第二对基数为2的系数来确定第二码元的状态改变。
根据本文公开的某些方面,第一对和第二对基数为2的系数中的每一者包括第一值和第二值。第一值指示第一导线的当前状态与第一导线的先前状态之间的状态改变或没有状态改变。第二值指示第二导线的当前状态与第二导线的先前状态之间的状态改变或没有状态改变。此外,第一值可以表示第一导线的当前状态与第一导线的先前状态之间的XNOR运算,并且第二值可以表示第二导线的当前状态与第二导线的先前状态之间的XNOR运算。
根据本文公开的某些方面,当第一值为0时,指示第一导线的当前状态与第一导线的先前状态之间的状态改变。当第一值为1时,指示第一导线的当前状态与第一导线的先前状态之间没有状态改变。当第二值为0时,指示第二导线的当前状态与第二导线的先前状态之间的状态改变。当第二值为1时,指示第二导线的当前状态与第二导线的先前状态之间没有状态改变。一般来说,导线的物理状态的改变指示数据信息的存在。本文所述的XNOR编码方案可以被应用于两根或更多根导线中的每一导线,其中值“1”指示没有状态改变而值“0”指示状态改变。
根据本文公开的某些方面,该设备通过当针对第一码元指示第一导线的当前状态与第一导线的先前状态之间的状态改变时确定第一导线要被下拉到低电平来生成码元序列。此外,当针对第二码元指示第一导线的当前状态与第一导线的先前状态之间没有状态改变时,该设备将第一导线下拉到低电平。当针对第二码元指示第一导线的当前状态与第一导线的先前状态之间存在状态改变时,该设备进一步抑制将第一导线下拉到低电平。
用于基于导线状态改变来解码数据的示例性设备和方法
图14是根据本公开的一个或多个方面的配置成支持涉及在数据通信接口上解码数据的操作(例如,涉及以下所描述的图15的方法的诸方面)的装置1400的解说。装置1400包括通信接口(例如,至少一个收发机)1402、存储介质1404、用户接口1406、存储器设备1408以及处理电路1410。
这些组件可以经由信令总线或其他合适的组件(由图14中的连接线一般化地表示)彼此耦合和/或彼此进行电通信。取决于处理电路1410的具体应用和整体设计约束,信令总线可包括任何数目的互连总线和桥接器。信令总线将各种电路链接在一起以使得通信接口1402、存储介质1404、用户接口1406和存储器设备1408中的每一者耦合到处理电路1410和/或与处理电路1310进行电通信。信令总线还可链接各种其他电路(未示出),诸如定时源、外围设备、稳压器和功率管理电路,这些电路在本领域中是众所周知的,且因此将不再进一步描述。
通信接口1402可被适配成促成装置1400的无线通信。例如,通信接口1402可包括被适配成促成关于网络中的一个或多个通信设备进行双向信息通信的电路系统和/或代码(例如,指令)。通信接口1402可耦合到一个或多个天线1412以用于在无线通信系统内进行无线通信。通信接口1402可以配置有一个或多个自立接收机和/或发射机以及一个或多个收发机。在所解说的示例中,通信接口1402包括发射机1414和接收机1416。
存储器设备1408可表示一个或多个存储器设备。如所指示的,存储器设备1408可维护网络相关信息1418连同装置1400所使用的其他信息。在一些实现中,存储器设备1408和存储介质1404被实现为共用存储器组件。存储器设备1408还可被用于存储由处理电路1410或由装置1400的某个其他组件操纵的数据。
存储介质1404可表示用于存储代码(诸如处理器可执行代码或指令(例如,软件、固件))、电子数据、数据库、或其他数字信息的一个或多个计算机可读、机器可读、和/或处理器可读设备。存储介质1404还可被用于存储由处理电路1410在执行代码时操纵的数据。存储介质1404可以是能被通用或专用处理器访问的任何可用介质,包括便携式或固定存储设备、光学存储设备、以及能够存储、包含或携带代码的各种其他介质。
作为示例而非限制,存储介质1404可包括:磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩碟(CD)或数字多功能碟(DVD))、智能卡、闪存设备(例如,记忆卡、记忆棒、或钥匙驱动器)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦式PROM(EPROM)、电可擦式PROM(EEPROM)、寄存器、可移动盘、以及任何其他用于存储可由计算机访问和读取的代码的合适介质。存储介质1404可以在制品(例如,计算机程序产品)中实施。作为示例,计算机程序产品可包括封装材料中的计算机可读介质。鉴于上述内容,在一些实现中,存储介质1404可以是非瞬态(例如,有形)存储介质。
存储介质1404可被耦合至处理电路1410以使得处理电路1410能从存储介质1404读取信息和向存储介质1404写入信息。即,存储介质1404可耦合到处理电路1410,以使得存储介质1404至少能由处理电路1410访问,包括其中至少一个存储介质被集成到处理电路1410的示例和/或其中至少一个存储介质与处理电路1410分开(例如,驻留在装置1400中、在装置1400外部、跨多个实体分布等)的示例。
由存储介质1404存储的代码和/或指令在由处理电路1410执行时使处理电路1410执行本文描述的各种功能和/或过程操作中的一者或多者。例如,存储介质1404可包括被配置用于以下动作的操作:管控处理电路1410的一个或多个硬件块处的操作以及利用通信接口1402来通过利用其相应通信协议进行无线通信。
处理电路1410一般被适配成用于处理,包括执行存储在存储介质1404上的此类代码/指令。如本文中使用的,术语“代码”或“指令”应当被宽泛地解读成包括但不限于编程、指令、指令集、数据、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数等,无论其被称为软件、固件、中间件、微代码、硬件描述语言、还是其他术语。
处理电路1410被安排成获得、处理和/或发送数据、控制数据的访问与存储、发布命令,以及控制其他期望操作。在至少一个示例中,处理电路1410可包括被配置成实现由恰适的介质提供的期望代码的电路系统。例如,处理电路1410可被实现为一个或多个处理器、一个或多个控制器、和/或配置成执行可执行代码的其他结构。处理电路1410的示例可包括被设计成执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑组件、分立的门或晶体管逻辑、分立的硬件组件、或者其任何组合。通用处理器可包括微处理器,以及任何常规处理器、控制器、微控制器、或状态机。处理电路1410还可实现为计算组件的组合,诸如DSP与微处理器的组合、数个微处理器、与DSP核协作的一个或多个微处理器、ASIC和微处理器、或任何其他数目的变化配置。处理电路1410的这些示例是为了解说,并且还设想了落在本公开范围内的其他合适的配置。
根据本公开的一个或多个方面,处理电路1410可适配成执行用于本文中描述的任何或所有装置的特征、过程、功能、操作和/或例程中的任一者或全部。如本文所使用的,涉及处理电路1410的术语“适配”可指处理电路1410被配置、采用、实现和/或编程(以上一者或多者)为执行根据本文描述的各种特征的特定过程、功能、操作和/或例程。
根据装置1400的至少一个示例,处理电路1410可包括码元接收电路/模块1420、码元到比特转换电路/模块1422、状态改变评估电路/模块1424、以及数据恢复电路/模块1426中的一者或多者,这些电路/模块被适配成执行本文中所描述的特征、过程、功能、操作和/或例程(例如,参照图15描述的特征、过程、功能、操作和/或例程)中的任何一者或全部。
码元接收电路/模块1420可包括适配成执行涉及例如接收一帧中的码元序列的若干功能的电路系统和/或指令(例如,存储在存储介质1404上的码元接收指令1428),码元序列表示被分配到该帧的数据比特序列。
码元到比特转换电路/模块1422可包括适配成执行涉及例如将码元序列转换成数据比特序列的值的若干功能的电路系统和/或指令(例如,存储在存储介质1404上的码元到比特转换指令1430)。
状态改变评估电路/模块1424可包括适配成执行涉及例如基于码元序列来评估多个导线的状态改变的若干功能的电路系统和/或指令(例如,存储在存储介质1404上的状态改变评估指令1432)。
数据恢复电路/模块1426可包括适配成执行涉及例如通过用二进制格式表达该值来恢复数据比特序列的若干功能的电路系统和/或指令(例如,存储在存储介质1404上的数据恢复指令1434)。
如上所提及的,由存储介质1404存储的指令在由处理电路1410执行时使处理电路1410执行本文描述的各种功能和/或过程操作中的一者或多者。例如,存储介质1404可以包括码元接收指令1428、码元到比特转换指令1430、状态改变评估指令1432、以及数据恢复指令1434中的一者或多者。
图15是解说一种用于在耦合到多个导线的串行总线接口上编码数据通信的方法的流程图1500。该方法可以由设备(例如,图2的总线主设备220或总线从电路202、图3的设备300或设备320、图8的解码器820、解码器1020、图14的装置1400和/或本文描述的其它设备)来执行。
该设备可以接收一帧中的码元序列1502。码元序列可以表示被分配到该帧的数据比特序列。在本公开的一方面,数据比特序列是要被解码的二进制数据串的子集,其中二进制串的子集被分别分配到多个帧。
该设备可以将码元序列转换成数据比特序列的值1504。根据本文公开的某些方面,该设备可以通过首先基于码元序列估算多个导线的状态改变来将码元序列转换成值。接着,该设备基于状态改变来计算码元序列的码元值。码元值可分别对应于基数为N的数的多项式的基数为N的系数,其中N是大于2的整数。之后,该设备根据基数为N的系数来计算基数为N的数的多项式的结果以确定数据比特序列的值。该设备接着通过用二进制格式表达该值来恢复数据比特序列1506。
码元序列中的每一码元包括多个导线的当前状态。在一示例实现中,图15的解码方法可以使用基数为N的数的多项式来实现,其中N=3(即,两根物理导线),并且每帧使用2个码元(尽管还构想了其它大于2的N值,例如,N=7(即,三根物理导线))。相应地,当N=3(即,两根物理导线)时,该设备可以通过针对每一码元在第一导线的当前状态与第一导线的先前状态之间执行异或非(XNOR)运算以确定第一状态值,以及在第二导线的当前状态与第二导线的先前状态之间执行异或非(XNOR)运算以确定第二状态值来估算多个导线的状态改变。
根据本文公开的某些方面,该设备确定当第一导线的当前状态与第一导线的先前状态之间发生状态改变时第一状态值为0,该设备确定当第一导线的当前状态与第一导线的先前状态之间没有发生状态改变时第一状态值为1,该设备确定当第二导线的当前状态与第二导线的先前状态之间发生状态改变时第二状态值为0,并且该设备确定当第二导线的当前状态与第二导线的先前状态之间没有发生状态改变时第二状态值为1。
根据本文公开的某些方面,码元的第一状态值和第二状态值对应于与该码元相对应的基数为2的数的多项式的一对基数为2的系数。相应地,该设备通过根据对应于码元序列中的每一码元的相应对的基数为2的系数来计算每一码元的基数为2的数的多项式的结果,以及根据分别针对每一码元计算的基数为2的数的多项式的结果来确定每一码元的码元值而计算码元序列的码元值。
应理解,所公开的过程中各步骤的具体次序或层次是示例性办法的解说。应理解,基于设计偏好,可以重新编排这些过程中各步骤的具体次序或层次。所附方法权利要求以示例次序呈现各种步骤的要素,且并不意味着被限定于所给出的具体次序或层次。
如本申请中所使用的,术语“组件”、“模块”、“系统”及类似术语旨在包括计算机相关实体,诸如但并不限于硬件、固件、硬件与软件的组合、软件、或执行中的软件。例如,组件可以是但不限于是,在处理器上运行的进程、处理器、对象、可执行件、执行的线程、程序和/或计算机。作为解说,在计算设备上运行的应用和该计算设备两者皆可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,且组件可以本地化在一台计算机上和/或分布在两台或更多台计算机之间。此外,这些组件能从其上存储着各种数据结构的各种计算机可读介质来执行。这些组件可借助于本地和/或远程进程来通信,诸如根据具有一个或多个数据分组的信号来通信,这样的数据分组诸如是来自藉由该信号与本地系统、分布式系统中另一组件交互的、和/或跨诸如因特网之类的网络与其他系统交互的一个组件的数据。
此外,术语“或”旨在表示包含性“或”而非排他性“或”。即,除非另外指明或从上下文能清楚地看出,否则短语“X采用A或B”旨在表示任何自然的可兼排列。即,短语“X采用A或B”得到以下任何实例的满足:X采用A;X采用B;或X采用A和B两者。另外,本申请和所附权利要求书中所用的冠词“一”和“某”一般应当被理解成表示“一个或多个”,除非另外声明或者可从上下文中清楚看出是指单数形式。
提供先前描述是为了使本领域任何技术人员均能够实践本文中所述的各个方面。对这些方面的各种修改将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。因此,权利要求并非旨在被限定于本文中所示的方面,而是应被授予与语言上的权利要求相一致的全部范围,其中对要素的单数形式的引述除非特别声明,否则并非旨在表示“有且仅有一个”,而是“一个或多个”。除非特别另外声明,否则术语“某个”指的是“一个或多个”。本公开通篇描述的各个方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文中所公开的任何内容都并非旨在贡献给公众,无论这样的公开是否在权利要求书中被显式地叙述。没有任何权利要求元素应被解释为装置加功能,除非该元素是使用短语“用于……的装置”来明确叙述的。

Claims (30)

1.一种用于在数据通信接口中编码数据的装置,包括:
耦合至多个导线的通信接口电路;以及
处理电路,其耦合到所述通信接口电路并被配置成:
确定分配到一帧的数据比特序列的值,
将所述值转换成与所述帧相关联的码元序列,其中被配置成进行转换的所述处理电路被配置成:
基于所述值来计算所述帧的基数为N的数的多项式的基数为N的系数,其中N是大于2的整数,并且其中所述基数为N的系数分别对应于所述码元序列的码元,
根据对应于所述码元序列中的每一码元的相应的基数为N的系数来计算每一码元的基数为2的数的多项式的基数为2的系数,
根据分别为所述码元序列中的每一码元计算的基数为2的系数来确定每一码元的多个导线的状态改变,以及
基于每一码元的多个导线的状态改变来生成所述码元序列,以及
将所述码元序列传送到接收机。
2.如权利要求1所述的装置,其特征在于,所述处理电路被进一步配置成:
接收要被编码的二进制数据串;以及
分别将所述二进制数据串的子集分配到多个帧,其中所述数据比特序列是所述二进制数据串的子集。
3.如权利要求1所述的装置,其特征在于,被配置成将所述值转换成所述码元序列的处理电路被进一步配置成:
根据对应于所述码元序列的第一码元的第一基数为N的系数来计算第一基数为2的数的多项式的第一对基数为2的系数;
根据第一对基数为2的系数来确定所述第一码元的多个导线的状态改变;
根据对应于所述码元序列的第二码元的第二基数为N的系数来计算第二基数为2的数的多项式的第二对基数为2的系数;以及
根据第二对基数为2的系数来确定所述第二码元的多个导线的状态改变。
4.如权利要求3所述的装置,其特征在于:
所述第一对和第二对基数为2的系数中的每一者包括第一值和第二值;
所述第一值指示第一导线的当前状态与第一导线的先前状态之间的状态改变或没有状态改变;以及
所述第二值指示第二导线的当前状态与第二导线的先前状态之间的状态改变或没有状态改变。
5.如权利要求4所述的装置,其特征在于:
所述第一值表示第一导线的当前状态与第一导线的先前状态之间的异或非(XNOR)运算;以及
所述第二值表示第二导线的当前状态与第二导线的先前状态之间的异或非(XNOR)运算。
6.如权利要求4所述的装置,其特征在于:
当所述第一值为0时,指示第一导线的当前状态与第一导线的先前状态之间的状态改变,
当所述第一值为1时,指示第一导线的当前状态与第一导线的先前状态之间没有状态改变,
当所述第二值为0时,指示第二导线的当前状态与第二导线的先前状态之间的状态改变,以及
当所述第二值为1时,指示第二导线的当前状态与第二导线的先前状态之间没有状态改变。
7.如权利要求6所述的装置,其特征在于,被配置成生成码元序列的处理电路被配置成:
当针对第一码元指示第一导线的当前状态与第一导线的先前状态之间存在状态改变时,确定所述第一导线要被下拉到低电平。
8.如权利要求7所述的装置,其特征在于,被配置成生成码元序列的处理电路被进一步配置成:
当针对第二码元指示第一导线的当前状态与第一导线的先前状态之间没有状态改变时,将所述第一导线下拉到低电平;以及
当针对第二码元指示第一导线的当前状态与第一导线的先前状态之间存在状态改变时,抑制将所述第一导线下拉到低电平。
9.一种在耦合到多个导线的数据通信接口中编码数据的方法,包括:
确定分配到一帧的数据比特序列的值;
将所述值转换成与所述帧相关联的码元序列,其中所述转换包括:
基于所述值来计算所述帧的基数为N的数的多项式的基数为N的系数,其中N是大于2的整数,并且其中所述基数为N的系数分别对应于所述码元序列的码元,
根据对应于所述码元序列中的每一码元的相应的基数为N的系数来计算每一码元的基数为2的数的多项式的基数为2的系数,
根据分别为所述码元序列中的每一码元计算的基数为2的系数来确定每一码元的多个导线的状态改变,
基于每一码元的多个导线的状态改变来生成所述码元序列;以及
将所述码元序列传送到接收机。
10.如权利要求9所述的方法,其特征在于,进一步包括:
接收要被编码的二进制数据串;以及
分别将所述二进制数据串的子集分配到多个帧,其中所述数据比特序列是所述二进制数据串的子集。
11.如权利要求9所述的方法,其特征在于,将所述值转换成所述码元序列包括:
根据对应于所述码元序列的第一码元的第一基数为N的系数来计算第一基数为2的数的多项式的第一对基数为2的系数;
根据第一对基数为2的系数来确定所述第一码元的多个导线的状态改变;
根据对应于所述码元序列的第二码元的第二基数为N的系数来计算第二基数为2的数的多项式的第二对基数为2的系数;以及
根据第二对基数为2的系数来确定所述第二码元的多个导线的状态改变。
12.如权利要求11所述的方法,其特征在于:
所述第一对和第二对基数为2的系数中的每一者包括第一值和第二值;
所述第一值指示第一导线的当前状态与第一导线的先前状态之间的状态改变或没有状态改变;以及
所述第二值指示第二导线的当前状态与第二导线的先前状态之间的状态改变或没有状态改变。
13.如权利要求12所述的装置,其特征在于:
所述第一值表示第一导线的当前状态与第一导线的先前状态之间的异或非(XNOR)运算;以及
所述第二值表示第二导线的当前状态与第二导线的先前状态之间的异或非(XNOR)运算。
14.如权利要求12所述的方法,其特征在于:
当所述第一值为0时,指示第一导线的当前状态与第一导线的先前状态之间的状态改变,
当所述第一值为1时,指示第一导线的当前状态与第一导线的先前状态之间没有状态改变,
当所述第二值为0时,指示第二导线的当前状态与第二导线的先前状态之间的状态改变,以及
当所述第二值为1时,指示第二导线的当前状态与第二导线的先前状态之间没有状态改变。
15.如权利要求14所述的方法,其特征在于,生成所述码元序列包括:
当针对第一码元指示第一导线的当前状态与第一导线的先前状态之间存在状态改变时,确定所述第一导线要被下拉到低电平。
16.如权利要求15所述的方法,其特征在于,生成所述码元序列进一步包括:
当针对第二码元指示第一导线的当前状态与第一导线的先前状态之间没有状态改变时,将所述第一导线下拉到低电平;以及
当针对第二码元指示第一导线的当前状态与第一导线的先前状态之间存在状态改变时,抑制将所述第一导线下拉到低电平。
17.一种用于在耦合到多个导线的数据通信接口中编码数据的装备,包括:
用于确定分配到一帧的数据比特序列的值的装置;
用于将所述值转换成与所述帧相关联的码元序列的装置,其中用于转换的装置被配置成:
基于所述值来计算所述帧的基数为N的数的多项式的基数为N的系数,其中N是大于2的整数,并且其中所述基数为N的系数分别对应于所述码元序列的码元,
根据对应于所述码元序列中的每一码元的相应的基数为N的系数来计算每一码元的基数为2的数的多项式的基数为2的系数,以及
根据分别为所述码元序列中的每一码元计算的基数为2的系数来确定每一码元的多个导线的状态改变,
基于每一码元的多个导线的状态改变来生成所述码元序列;以及
用于将所述码元序列传送到接收机的装置。
18.如权利要求17所述的装备,其特征在于,进一步包括:
用于接收要被编码的二进制数据串的装置;以及
用于分别将所述二进制数据串的子集分配到多个帧的装置,其中所述数据比特序列是所述二进制数据串的子集。
19.如权利要求17所述的装备,其特征在于,用于将所述值转换成所述码元序列的装置被配置成:
根据对应于所述码元序列的第一码元的第一基数为N的系数来计算第一基数为2的数的多项式的第一对基数为2的系数;
根据第一对基数为2的系数来确定所述第一码元的多个导线的状态改变;
根据对应于所述码元序列的第二码元的第二基数为N的系数来计算第二基数为2的数的多项式的第二对基数为2的系数;以及
根据第二对基数为2的系数来确定所述第二码元的多个导线的状态改变。
20.如权利要求19所述的装备,其特征在于:
所述第一对和第二对基数为2的系数中的每一者包括第一值和第二值;
所述第一值指示第一导线的当前状态与第一导线的先前状态之间的状态改变或没有状态改变;以及
所述第二值指示第二导线的当前状态与第二导线的先前状态之间的状态改变或没有状态改变。
21.如权利要求20所述的装备,其特征在于:
所述第一值表示第一导线的当前状态与第一导线的先前状态之间的XNOR运算;以及
所述第二值表示第二导线的当前状态与第二导线的先前状态之间的XNOR运算。
22.如权利要求20所述的装备,其特征在于:
当所述第一值为0时,指示第一导线的当前状态与第一导线的先前状态之间存在状态改变,
当所述第一值为1时,指示第一导线的当前状态与第一导线的先前状态之间没有状态改变,
当所述第二值为0时,指示第二导线的当前状态与第二导线的先前状态之间存在状态改变,以及
当所述第二值为1时,指示第二导线的当前状态与第二导线的先前状态之间没有状态改变。
23.如权利要求22所述的装备,其特征在于,被配置成生成所述码元序列的用于转换的装置被配置成:
当针对第一码元指示第一导线的当前状态与第一导线的先前状态之间存在状态改变时,确定所述第一导线要被下拉到低电平。
24.如权利要求23所述的装备,其特征在于,被配置成生成所述码元序列的用于转换的装置被进一步配置成:
当针对第二码元指示第一导线的当前状态与第一导线的先前状态之间没有状态改变时,将所述第一导线下拉到低电平;以及
当针对第二码元指示第一导线的当前状态与第一导线的先前状态之间存在状态改变时,抑制将所述第一导线下拉到低电平。
25.一种用于在数据通信接口中解码数据的装置,包括:
耦合至多个导线的通信接口电路;以及
处理电路,其耦合到所述通信接口电路并被配置成:
接收一帧中的码元序列,所述码元序列表示被分配到所述帧的数据比特序列,将所述码元序列转换成所述数据比特序列的值,其中被配置成进行转换的所述处理电路被配置成:
基于所述码元序列来估算所述多个导线的状态改变,
基于所述状态改变来计算所述码元序列的码元值,其中所述码元值分别对应于基数为N的数的多项式的基数为N的系数,其中N是大于2的整数,以及
根据基数为N的系数来计算基数为N的数的多项式的结果以确定所述数据比特序列的值,以及
通过用二进制格式表达所述值来恢复所述数据比特序列。
26.如权利要求25所述的装置,其特征在于,所述数据比特序列是要被解码的二进制数据串的子集,并且其中二进制串的子集被分别分配到多个帧。
27.如权利要求25所述的装置,其特征在于,所述码元序列中的每一码元包括所述多个导线的当前状态,并且其中被配置成估算所述多个导线的状态改变的所述处理电路被配置针对每一码元来执行:
第一导线的当前状态与第一导线的先前状态之间的异或非(XNOR)运算以确定第一状态值;以及
第二导线的当前状态与第二导线的先前状态之间的异或非(XNOR)运算以确定第二状态值。
28.如权利要求27所述的装置,其特征在于,被配置成估算所述多个导线的状态改变的处理电路被进一步配置成:
确定当第一导线的当前状态与第一导线的先前状态之间存在状态改变时所述第一值为0;
确定当第一导线的当前状态与第一导线的先前状态之间没有状态改变时所述第一状态值为1;
确定当第二导线的当前状态与第二导线的先前状态之间存在状态改变时所述第二状态值为0;以及
确定当第二导线的当前状态与第二导线的先前状态之间没有状态改变时所述第二状态值为1。
29.如权利要求27所述的装置,其特征在于,码元的所述第一状态值和所述第二状态值对应于与所述码元相对应的基数为2的数的多项式的一对基数为2的系数。
30.如权利要求29所述的装置,其特征在于,被配置成计算所述码元序列的码元值的处理电路被配置成:
根据对应于所述码元序列中的每一码元的相应对的基数为2的系数来计算每一码元的基数为2的数的多项式的结果;以及
根据分别为每一码元计算的基数为2的数的多项式的结果来确定每一码元的码元值。
CN201680020795.XA 2015-04-10 2016-04-07 基数为n的数到物理导线状态码元的转译方法 Pending CN107454959A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562145693P 2015-04-10 2015-04-10
US62/145,693 2015-04-10
US15/092,554 US9996483B2 (en) 2015-04-10 2016-04-06 N-base numbers to physical wire states symbols translation method
US15/092,554 2016-04-06
PCT/US2016/026537 WO2016164651A1 (en) 2015-04-10 2016-04-07 N-base numbers to physical wire states symbols translation method

Publications (1)

Publication Number Publication Date
CN107454959A true CN107454959A (zh) 2017-12-08

Family

ID=55806810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680020795.XA Pending CN107454959A (zh) 2015-04-10 2016-04-07 基数为n的数到物理导线状态码元的转译方法

Country Status (9)

Country Link
US (1) US9996483B2 (zh)
EP (1) EP3281119A1 (zh)
JP (1) JP2018513635A (zh)
KR (1) KR20170134470A (zh)
CN (1) CN107454959A (zh)
AU (1) AU2016244848A1 (zh)
BR (1) BR112017021719A2 (zh)
TW (1) TW201640359A (zh)
WO (1) WO2016164651A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11132323B2 (en) * 2017-06-20 2021-09-28 Intel Corporation System, apparatus and method for extended communication modes for a multi-drop interconnect
CN108170617B (zh) * 2017-12-01 2019-12-13 广东高云半导体科技股份有限公司 一种i3c设备及通信方法
US11314668B2 (en) * 2018-02-19 2022-04-26 Intel Corporation Method, apparatus and system for device transparent grouping of devices on a bus
US20210096971A1 (en) * 2019-10-01 2021-04-01 Tektronix, Inc. Bus autodetect
KR20220051750A (ko) * 2020-10-19 2022-04-26 삼성전자주식회사 장치간 물리적 인터페이스의 트레이닝을 위한 장치 및 방법
US20220121542A1 (en) * 2020-10-20 2022-04-21 Nvidia Corporation Techniques for testing semiconductor devices
KR102489255B1 (ko) * 2021-03-31 2023-01-17 주식회사 럭스로보 모듈 어셈블리 및 그의 멀티 마스터 통신방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997551A (zh) * 2009-08-12 2011-03-30 索尼公司 编码设备、信息处理设备、编码方法和数据传输方法
US20140270026A1 (en) * 2013-03-15 2014-09-18 Qualcomm Incorporated Multi-wire single-ended push-pull link with data symbol transition based clocking
US20140286466A1 (en) * 2013-03-20 2014-09-25 Qualcomm Incorporated Multi-wire open-drain link with data symbol transition based clocking
US20140372642A1 (en) * 2013-06-12 2014-12-18 Qualcomm Incorporated Camera control interface extension bus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997551A (zh) * 2009-08-12 2011-03-30 索尼公司 编码设备、信息处理设备、编码方法和数据传输方法
US20140270026A1 (en) * 2013-03-15 2014-09-18 Qualcomm Incorporated Multi-wire single-ended push-pull link with data symbol transition based clocking
US20140286466A1 (en) * 2013-03-20 2014-09-25 Qualcomm Incorporated Multi-wire open-drain link with data symbol transition based clocking
US20140372642A1 (en) * 2013-06-12 2014-12-18 Qualcomm Incorporated Camera control interface extension bus

Also Published As

Publication number Publication date
US9996483B2 (en) 2018-06-12
BR112017021719A2 (pt) 2018-07-10
AU2016244848A1 (en) 2017-09-21
EP3281119A1 (en) 2018-02-14
TW201640359A (zh) 2016-11-16
KR20170134470A (ko) 2017-12-06
JP2018513635A (ja) 2018-05-24
WO2016164651A1 (en) 2016-10-13
US20160299855A1 (en) 2016-10-13

Similar Documents

Publication Publication Date Title
CN107454959A (zh) 基数为n的数到物理导线状态码元的转译方法
CN105283862B (zh) 用于数据通信的方法和装置
CN106462516A (zh) 由多协议设备共享的可动态地调节的多线总线
CN106255964A (zh) 传感器全局总线
CN105210047B (zh) 具有基于数据码元转变的时钟的多导线单端推送-拉取链路
CN104412552B (zh) N相极性输出引脚模式复用器
CN107924376B (zh) 用于光学介质的低功率模式信号桥接器
CN100456713C (zh) 数字基带系统
CN107005346A (zh) 码元转变时钟转码的检错常数
CN103141066B (zh) 发送电路、接收电路、发送方法、接收方法、通信系统及其通信方法
CN107408094A (zh) 用于功率状态无感知接口中的链路状态检测和苏醒的技术
JPH11500887A (ja) 遷移制御されたデジタルエンコード及び信号伝送システム
CN106063181B (zh) 接收机电路和在接收机电路上操作的方法
CN108292924A (zh) 在高速串行总线上传达低速和高速并行比特流
US20200142854A1 (en) Multilane heterogeneous serial bus
CN107534548A (zh) 用于基于脉冲的多线链路的时钟和数据恢复
CN106105043B (zh) 用于使用具有n阶乘或cci扩展的纠错码的方法
TWI516060B (zh) Synchronization sequence data transmission method and circuit device
CN107077448A (zh) 用于多模总线的同时边缘翻转免疫电路
CN107924381A (zh) 用于通过并行总线进行高速率数据传输的高效编码和解码架构
CN103731241B (zh) 提高通信系统频谱效率的编码系统及方法
CN110519004A (zh) 一种编码方法及相关设备
CN108141346A (zh) 经多通道n阶乘编码和其他多导线通信系统
CN108633326A (zh) 利用ldpc码的交织器的位置
CN104427343B (zh) 一种fpd‑link lvds视频传输中dca位信号编码电路及方法

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20171208