CN106462516A - 由多协议设备共享的可动态地调节的多线总线 - Google Patents

由多协议设备共享的可动态地调节的多线总线 Download PDF

Info

Publication number
CN106462516A
CN106462516A CN201580032218.8A CN201580032218A CN106462516A CN 106462516 A CN106462516 A CN 106462516A CN 201580032218 A CN201580032218 A CN 201580032218A CN 106462516 A CN106462516 A CN 106462516A
Authority
CN
China
Prior art keywords
equipment
line
bus
operator scheme
group
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
CN201580032218.8A
Other languages
English (en)
Inventor
R·皮提果-艾伦
R·D·韦斯特费尔特
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 CN106462516A publication Critical patent/CN106462516A/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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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/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/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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
    • 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

Abstract

提供了一种设备,其具有包括第一线和第二线的总线。第一组设备耦合至该总线并且在第一操作模式中被配置成将第一线用于数据传输并且将第二线用于第一时钟信号。一根或多根附加线连接在第一组设备中的两个或更多个设备之间以在这两个或更多个设备之间传送信令。第二组设备被配置成在第二操作模式中将总线和至少一根附加线用于数据传输,其中在第二操作模式中跨第一线、第二线以及该至少一根附加线来编码诸码元。

Description

由多协议设备共享的可动态地调节的多线总线
相关申请的交叉引用
本申请要求于2014年6月18日在美国专利局提交的临时申请No.62/013,818以及于2015年6月2日在美国专利局提交的非临时申请No.14/728,777的优先权和权益,这两篇申请的全部内容通过引用纳入于此。
背景
领域
本公开一般涉及主机处理器与外围设备之间的接口,尤其涉及连接下一代传感器和旧式传感器两者并且容适多种操作模式的接口和可动态地调节的共享总线。
背景技术
移动设备(诸如蜂窝电话)的制造商可从各种来源(包括不同制造商)获得移动设备的各组件。例如,移动计算设备中的应用处理器可从第一制造商获得,而该移动计算设备所采用的传感器可从一个或多个其他制造商获得。已定义了各种基于标准的或专有的接口,这些接口通常涉及特定的应用或应用类型。例如,蜂窝电话可以使用兼容或遵从由移动行业处理器接口联盟(MIPI)所规定的集成电路间(I2C)兼容总线标准的通信接口。
I2C接口已成为广泛采用的可针对特定应用进行优化的通信接口。例如,MIPI标准定义了相机控制接口(CCI),CCI使用被配置为连接主控设备以及一个或多个从动设备的总线的双导线、双向、半双工串行接口。由此,CCI协议使用I2C串行时钟(SCL)和串行数据(SDA)线,并且可在同一总线上部署CCI设备和I2C设备以使得两个或更多个CCI设备可以使用CCI协议进行通信,而涉及I2C总线的任何通信使用I2C协议。CCI的较新版本可使用经修改的协议来支持较快信令速率以提供较高吞吐量。类似地,可为传感器接口实现I2C。然而,新颖传感器的出现、连同对于支持旧式传感器的后向兼容性的需要和针对“常开”类型应用的功率节省一起要求在旧式I2C的能力之外的高数据率吞吐量。以此类较高吞吐量速度为目标的一些传感器示例为经聚集传感器、传感器集线器、触摸传感器、低清晰度相机传感器等。然而,如何为下一代传感器设备提供较高吞吐量而同时并发地容适同一总线上的旧式传感器设备的操作仍是挑战。
一直存在对于在配置为将不同类型的外围或协作设备连接至处理器的总线的串行接口上提供优化通信的需求。
概述
本文公开的各实施例提供了可改进双导线串行总线(诸如传感器全局总线(SGbus))的性能的系统、方法和装置。
在本公开的一方面,一种数据通信方法涉及在一个或多个从动设备耦合至的共享总线上作为主控设备操作的第一设备。第一设备可使用预定义的基础协议来在双导线串行总线上与耦合至该双导线串行总线的第二设备建立连接。第一设备可确定能被配置用于第一设备与第二设备之间的数据通信的一个或多个附加的连接器、导线、和/或线的可用性。在较高速度操作模式中,第一设备可从使用预定义的基础协议切换至具有比预定义的基础协议更高的数据吞吐量的第二协议。第二协议可对码元序列中的数据进行编码以在包括双导线总线和至少一个或多个附加的连接器、线、和/或导线的线路组合上进行传送,从而在连接器、线和/或导线的组合上传送该码元序列。时钟信息可被编码在双导致总线和该至少一个或多个附加的连接器、线、和/或导线上传送的码元序列中的连贯码元对之间的转变中。
在另一方面,预定义的基础协议包括遵循或兼容I2C数据通信模式的协议。预定义的基础协议可以类似于其中双导线总线的第一导线被用于串行数据通信并且双导线总线的第二导线被用于时钟信号的CCI数据传输模式。
在一个示例中,与I2C中用于传递数据的基于双导线的协议形成对比,可基于经编码码元来实现高数据率(HDR)协议。在此HDR协议中,时钟可被嵌入在数据流中(例如,在码元转变内)。此HDR协议可适合传感器应用,并且码元编码可被扩展以使用不止两根导线(例如,通过转用在预定义的基础协议中用于其他目的的线路)。注意,可在诸设备之间操作的其他类型的总线和/或接口也可被适配成根据此类HDR协议来操作。另外,可在两根、三根或更多根导线上实现码元编码。在各种实现中,可在一根线/导线或者在多根线上传送嵌入式时钟。另外,可在不同的线或者线集合上传送多个嵌入式时钟。例如,每个嵌入式时钟可支持不同的配置。
在另一方面,该一个或多个附加的连接器、线、和/或导线可包括可操作用于在第一设备与第二设备之间传送中断信号的连接器、线、和/或导线。该一个或多个附加的连接器、线、和/或导线可包括在第一设备(例如,主控设备)与一个或多个从动设备之间耦合的共享连接器、线、和/或导线。例如,在一个示例中,连接器、线、和/或导线可仅在第一设备与第二设备之间延伸。在另一示例中,连接器、线、和/或导线可在第一设备、第二设备和第三设备之间延伸。
在另一方面,每个码元序列可包括12个码元。例如,当在三个导线上扩展时,每个码元序列可编码33比特的二进制字。
在另一方面,在使用第二协议(例如,码元序列)并且使用三个或更多个导线、连接器、和/或线的通信之后,双导线串行总线上的通信可根据与双导线串行总线相关联的预定义的基础协议来恢复。使用预定义的基础协议的通信通常仅涉及双导线串行总线。
在另一方面,时钟信息可被编码在仅双导线串行总线的信令状态的转变中。时钟信息可被编码在连接器组合的信令状态的转变中。
在本公开的一方面,一种设备包括具有第一线和第二线的总线,耦合至该总线并且在第一操作模式中配置成将第一线用于数据传输并且将第二线用于第一时钟信号的第一组设备,连接第一组设备中的两个或更多个设备以在这两个或更多个设备之间传送信令的一根或多根附加线,第一组设备内被进一步配置成在第二操作模式中将总线和至少一根附加线用于数据传输的第二组设备。在第二操作模式中,跨第一线、第二线、以及该至少一根附加线编码码元。
第一组设备和第二组设备可以在第一操作模式和第二操作模式两者中并发地监视第一线和第二线中的至少一者。第一组设备和第二组设备在第一操作模式和第二操作模式两者中并发地监视第一线和第二线两者。
在第一操作模式中的操作的一个示例中,第二组设备中的主控设备在总线的第一线上向第一组设备或第二组设备中的从动设备传送数据。第一操作模式可以实现用于总线上的数据传输的第一协议,并且第二操作模式实现用于总线和至少一根附加线上的数据传输的第二协议。在第一操作模式中,第二组设备中的主控节点可在第一线上发送第一比特序列,该第一比特序列向第二组设备指示至第二操作模式的切换。
在第二操作模式中的操作的一个示例中,第二组设备中的主控设备在总线的第一线和第二线以及至少一根附加线上向第二组设备中的从动设备传送数据。在第二操作模式中,第一组设备可以在第一线和第二线上接收抑制对有效从动节点地址的检测的复位指示符。在第二操作模式中,可以在数据传输期间在第一线和/或第二线中避免复位指示符和/或停止指示符。在第二操作模式中,主控节点可以在总线上发送退出码元序列,该退出码元序列向第二组设备指示至第一操作模式的切换。
根据某些方面,在第二操作模式中,第二时钟信号被嵌入在总线和至少一根附加线上的码元转变内。第二时钟信号可被嵌入在线的第一子集上的码元转变内,而第三时钟信号被嵌入在线的第二子集上的码元转变内。在第二操作模式中,第二组设备内的主控设备可被适配成查明与第二组设备内的特定从动设备的可用线数目,选择可用线中的一根或多根可用线,以及动态地适配在第二操作模式中使用的协议以利用总线和所选择的一根或多根可用线。
根据某些方面,该协议被适配成使用变化数目的线来编码码元以供传输。
在一些实例中,第二组设备中的一个或多个设备能够在第一操作模式和第二操作模式两者中操作。
根据某些方面,在第一操作模式中,一根或多根附加线可被提供以在第一组和/或第二组设备中从从动设备向主控设备传达中断。
根据某些方面,在第二操作模式中使用至少三根线来编码码元,并且多个码元被进一步编码为基于七进制的数。在第二操作模式中可使用至少四根线来编码码元,并且多个码元可被进一步编码为基于十五进制的数。
在一些示例中,总线是兼容I2C的总线。
在本公开的一方面,一种设备包括具有第一线和第二线的双导线总线,用于确定能被配置成用于第一设备与第二设备之间的数据通信的一根或多根附加线的可用性的装置,用于根据高数据率协议在码元序列中编码数据以供在包括双导线总线和一根或多根附加线的线组合上进行传送的装置,其中时钟信息被编码在码元序列中的连贯码元对之间的转变中,以及用于在线组合上传送码元序列的装置。
在本公开的一方面,一种计算机可读介质可存储数据和指令。该计算机可读介质可以是非瞬态存储介质。这些指令可由处理电路的一个或多个处理器来执行。这些指令在被执行时可使处理电路确定能被配置成用于第一设备与第二设备之间的数据通信的一根或多根附加线的可用性,根据高数据率协议在码元序列中编码数据以供在包括双导线总线和一根或多根附加线的线组合上进行传送,其中时钟信息被编码在码元序列中的连贯码元对之间的转变中,以及在线组合上传送码元序列。
在本公开的一方面,一种方法包括根据配置成将总线的第一线用于数据传输并且将总线的第二线用于第一时钟信号的第一操作模式来操作第一组设备,确定连接第一组设备中的两个或更多个设备的一根或多根附加线的可用性以在这两个或更多个设备之间传送信令,根据配置成将总线和至少一根附加线用于数据传输的第二操作模式来操作第一组设备内的第二组设备。在第二操作模式中,可以跨第一线、第二线、以及该至少一根附加线编码码元。
在本公开的一方面,第一设备可包括通信接口和耦合至该通信接口的处理电路,该通信接口被配置成使用与双导线串行总线相关联的预定义的基础协议来将耦合至双导线串行总线的第一设备与耦合至双导线串行总线的第二设备相耦合。处理电路可被配置成确定能被配置成用于第一设备与第二设备之间的数据通信的一根或多根附加线的可用性,根据高数据率协议来在码元序列中编码数据以在包括双导线总线和一根或多根附加线的线组合上传送。时钟信息被编码在码元序列中的连贯码元对之间的转变中,并且在线组合上传送码元序列。
附图简要说明
图1描绘了在各集成电路(IC)设备之间采用数据链路的装置,该数据链路选择性地根据多个可用标准之一来操作。
图2解说了用于在IC设备之间采用数据链路的装置的系统架构。
图3解说了根据本文所公开的某些方面的发射机和接收机的某些方面。
图4解说了根据本文所公开的某些方面的在传送码元时的高数据率协议(例如,SGbus协议)的信令状态。
图5解说了根据本文所公开的某些方面的用于转码数据的编码方案的一根示例。
图6解说了I2C一字节写数据操作的时序图。
图7解说了连接至共用I2C总线的I2C设备(例如,旧式设备)和SGbus设备(例如,下一代传感器)的配置。
图8解说了SGbus串行接口上的事务的发起和终止。
图9是解说与根据I2C协议所传送的多个帧相关联的定时的示图。
图10解说了非预期的I2C开始和I2C停止状况的发生。
图11解说了可根据本文所公开的某些方面使用的两根导线上的编码方案的示例的某些方面。
图12解说了用于传感器全局总线传输的码元编码方案的示例。
图13解说了用于传感器全局总线传输的码元编码方案的进一步示例。
图14解说了连接至共用串行总线的不同设备的配置,其中一些设备可根据本文所公开的某些方面使用附加连接器。
图15解说了根据本文所公开的某些方面的编码三个导体或导线的数据码元的示例。
图16是解说采用可根据本文所公开的某些方面来适配的处理系统的装置的示例的框图。
图17是根据本文所公开的一个或多个方面的用于使用附加线和SGbus通信的第一方法的流程图。
图18是根据本文所公开的一个或多个方面的用于使用附加线和SGbus通信的第二方法的流程图。
图19是解说在第一模式中使用双导线总线来通信并且在其中在双导线总线和一根或多根附加线之中编码诸码元的第二模式中动态地调节双导线总线以添加一根或多根附加线的装置的硬件实现的示例的示图。
详细描述
现在参照附图描述各个方面。在以下描述中,出于解释目的阐述了众多具体细节以提供对一个或多个方面的透彻理解。但是显然的是,没有这些具体细节也可实践此(诸)方面。
如本申请中所使用的,术语“组件”、“模块”、“系统”及类似术语旨在包括计算机相关实体,诸如但并不限于硬件、固件、硬件与软件的组合、软件、或执行中的软件。例如,组件可以是但不限于是,在处理器上运行的进程、处理器、对象、可执行件、执行的线程、程序和/或计算机。作为解说,在计算设备上运行的应用和该计算设备两者皆可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,且组件可以本地化在一台计算机上和/或分布在两台或更多台计算机之间。此外,这些组件能从其上存储着各种数据结构的各种计算机可读介质来执行。这些组件可藉由本地和/或远程进程来通信,诸如根据具有一个或多个数据分组的信号来通信,这样的数据分组诸如是来自藉由该信号与本地系统、分布式系统中另一组件交互的、和/或跨诸如因特网之类的网络与其他系统交互的一个组件的数据。
此外,术语“或”旨在表示“包含性或”而非“排他性或”。即,除非另外指明或从上下文能清楚地看出,否则短语“X采用A或B旨在表示任何自然的可兼排列”。即,短语“X采用A或B”得到以下任何实例的满足:X采用A;X采用B;或X采用A和B两者。另外,本申请和所附权利要求书中所使用的冠词“一”和“某”一般应当被解释成表示“一个或多个”,除非另外声明或者可从上下文中清楚看出是指单数形式。
概览
提供了可动态地重新配置的高数据率总线(例如,传感器全局总线或SGbus),其使用兼容I2C的双导线总线以及动态地转用可在也耦合至该兼容I2C的双导线总线的一个或多个设备之间可用的一个或多个其他导线。随后,跨双导线总线和经转用的一根或多根其他导线编码码元。此传感器全局总线可在第一操作模式中支持旧式I2C设备以及在第二操作模式中支持下一代设备。
示例性操作环境
某些方面可适用于被部署在电子设备之间的通信链路,这些电子设备可包括装置(诸如电话、移动计算设备、电器、汽车电子设备、航空电子系统等)的子组件。图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、210和222a-222n。共享总线230可以为被配置成用于高数据率总线230所支持的增强型特征的设备扩展常规I2C总线的能力。例如,共享总线230可通过在两个导线/线上利用三进制数码元编码来支持比I2C总线更高的比特率。
在图2中解说的示例中,设备202可被配置成作为共享总线230上的从动设备来操作。设备202可被适配成提供传感器控制功能204,该传感器控制功能204管理一个或多个通用传感器、高速传感器、指纹传感器、图像传感器(例如,相机)、触摸屏传感器等。另外,设备202可包括配置寄存器或其他存储206、控制逻辑212、收发机210以及线驱动器/接收机214a和214b。控制逻辑212可包括处理电路,诸如状态机、定序器、信号处理器或通用处理器。收发机210可包括接收机210a、发射机210c和共用电路210b(包括定时、逻辑和存储电路和/或设备)。在一个示例中,发射机210c基于由时钟生成电路208提供的定时来编码并传送数据。
示例性双导线码元编码协议
图3是解说可根据本文所公开的某些方面来配置的发射机300和接收机320的示例的框图。对于HDR操作,发射机300可以将数据310转码成三进制(基数3)数,该三进制数被编码为在一对连接器、导线或线(诸如SCL线216和SDA线218信号导线)上传送的码元。在所描绘的示例中,输入数据310的每个数据元素(亦称为数据字)可具有预定义数目的比特,诸如8、12、16、19或20比特。转码器302可接收输入数据310并产生每个数据元素的三进制数序列312。三进制数序列312中的每个三进制数可被编码在2个比特中,并且每个三进制序列312中可以有12个三进制数。三进制至码元编码器304产生通过线驱动器306传送的2比特码元流314。在所描绘的示例中,线驱动器306包括漏极开路输出晶体管308。然而,在其他示例中,线驱动器306可以使用推挽式驱动器来驱动SCL线216和SDA线218信号导线。通过确保没有任一对连贯码元包括两个相同码元,由编码器生成的2比特码元输出流314在连贯码元314之间具有SCL线216和SDA线218信号导线中的至少一者的状态转变。至少一根线216和/或218中的状态转变可用性准许接收机320从数据码元流314中提取接收时钟338。
在高数据率接口中,接收机320可以包括时钟和数据恢复(CDR)电路328或与其协作。接收机320可以包括向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。
图4包括解说根据本文所公开的某些方面在传送码元序列时的共享总线230的信令状态的时序图400。在所描绘的示例中,SDA线218和SCL线216两者均被用于编码数据。原始码元值402使线驱动电路将SDA线218和SCL线216中的每一者驱动至由当前码元值402的1个比特确定的电压电平。在该示例中,被设为“二进制1”的码元比特使SDA线218和SCL线216中的相应一者到达更正的电压电平,而被设为“二进制0”的码元比特使SDA线218和SCL线216中的相应一者到达更负的电压电平。图4提供了示出在SDA线218和SCL线216中的每一者可以在两个电平电压之一处时码元422的四个可能信令状态的表。具有K个比特的数据元素可被编码在L个码元的序列中。K和L的值可基于编码方案、字大小和配置、以及其他应用参数(包括等待时间等)来确定。时序图400解说了包括7个时隙404的码元传输序列的摘录或快照,其中可以在每一个时隙404中传送码元406。所解说的7个时隙可以是较大码元序列(诸如编码16比特的字的12码元序列)的一部分,或者可以包括两个或更多个码元序列(例如,2个、3个、…、或6个码元序列)。
根据本文所公开的某些方面,发射机300可被配置或适配成确保不在时隙404序列中的任何两个连贯时隙中传送相同码元。相应地,SDA线218和SCL线216中的至少一者在连贯码元之间的每个边界处改变信令状态。SDA线218和SCL线216中的任一者的翻转标记新码元的开始。
图5是解说可由三进制至码元编码器304用于产生具有嵌入式时钟的码元序列314以供在共享总线230上传输的编码方案500的一个示例的图示。编码方案500还可由码元至三进制解码器324用于从接收自共享总线230的码元中提取三进制转变数。在此编码方案500中,共享总线230的两根导线准许定义4个基本码元S:{0,1,2,3}。码元序列314、334中的任何两个连贯码元具有不同状态,并且码元序列0,0、1,1、2,2和3,3是连贯码元的无效组合。相应地,在每个码元边界处仅3个有效码元转变可用,其中码元边界由传送时钟确定并且表示第一码元(先前码元Ps)522终止且第二码元(当前码元Cs)524开始的点。
根据本文所公开的某些方面,针对每个Ps码元522,这三个可用转变被指派转变数位(T)526。T 526的值可以由三进制数表示。在一个示例中,转变数位526的值可通过指派用于编码方案的码元排序圆502来确定。码元排序圆502为4个可能码元分配圆502上的位置504a-504d以及位置504a-504d之间的旋转方向506。在所描绘的示例中,旋转方向506为顺时针。转变数位526可以表示有效的当前码元524与前一紧邻码元522之间的间隔。间隔可被定义为从前一码元524到达当前码元Cs 522所需要的在码元排序圆502上沿旋转方向502的步数。步数可被表达为一位基数为3的数。将领会,码元之间的三步差异可被表示为0基数-3。图5中的表520概述了采用这种办法的编码方案。
在发射机300处,在给定先前生成的码元522和用作转变数位526的输入三进制数的知识的情况下,表520可被用于查找要被传送的当前码元524。在接收机320处,表520可被用作查找表以确定表示先前接收的码元522与当前接收的码元524之间的转变的转变数位526。
根据某些方面,转变数540可从多个转变数位526形成,每一数位526能用于在给定当前码元的情况下确定下一码元。在一个示例中,转变数540是包括12个三进制数位526的三进制数。在一般情形中,具有N位(T)526(其中每一位T 526有r个可能转变)的转变数540具有总共rN个状态。在12位转变数540的示例中,对于N=12位526中的每一位存在总共r=4-1=3个可能转变,从而提供总共312=531441个不同状态。因此,这12位转变数540可编码需要524288个状态的19比特二进制数。剩余的7153个状态可被用于携带控制码等。
多个下一代设备可与一个或多个旧式I2C设备共存在同一共享总线230上。相应地,高数据率协议定义了可被旧式I2C设备忽略、未检出、或以其他方式无视的信令方案。SGbus设备可在与I2C模式信令相一致的信令中传送控制信息,并且可传送根据基于三进制编码的协议来编码的数据有效载荷以获得较快传输速度。下一代设备可使用其他编码模式来传送数据有效载荷,包括旧式I2C模式。
图6是解说I2C一字节写数据操作的时序图600。在主控节点通过将SDA218线驱动为低而同时SCL 216线保持为高来提供I2C开始状况606时发起传输。I2C主控节点在SDA线218上发送7比特从动ID 602以指示该主控节点希望访问I2C总线上的哪个从动节点,继以指示该操作是读操作还是写操作的读/写比特612,由此读/写比特612为逻辑0以指示写操作以及为逻辑1以指示读操作。仅ID匹配该7比特从动ID 602的从动节点能够响应该写(或另一)操作。为了使I2C从动节点检测其自己的从动ID 602,主控节点在SDA线218上传送至少8比特,连同SCL线216上的8个时钟脉冲。主控节点通过将SDA线218驱动为高而同时SCL线216保持为高来提供停止状况616以终止事务。I2C接口被认为在I2C开始状况606之后处于“总线繁忙”状态并且在I2C停止状况616之后处于“总线空闲”状态。这种行为可被用于在高数据率操作模式中传送数据以防止旧式I2C从动节点对高数据率操作作出反应。
高数据率通信可除了设备之间的一根或多根其他可用线之外还使用I2C总线的SCL线216和SDA线218的组合来进行数据传输。可以跨双导线I2C总线和一根或多根其他可用线来编码码元。码元可以在与针对I2C传输在SCL线216上传送的时钟信号脉冲614的每次翻转相对应的时间被传送。在每个帧传输时段中传送的时钟翻转数可以因此定义可为每个传输时段传送的码元数。在一个示例中,在每个帧传输时段中传送的码元数可取决于用于促成旧式I2C设备与下一代设备(即,具有比旧式I2C设备更高的吞吐量的设备)之间的共存的技术。在一个示例中,共存方案可基于I2C“总线繁忙”状况。I2C总线被认为在I2C开始状况之后、直至I2C停止状况为止是繁忙的。在停止状况之后,I2C总线切换回到“总线释放”或“总线空闲”状况。为了在SGbus传输期间使总线保持繁忙,避免无意的I2C重新开始和停止状况。这意味着在(I2C总线)的SCL线为高时不允许SDA转变。为了达成此举,高数据率协议实现“虚转换”;这意味着在使(I2C总线)的SCL线为高的每个码元之后,存在使SCL线为低的虚设码元,从而不改变SDA线逻辑状态。结果,在HDR模式内时(例如,在发生高数据率传输时)不存在具有不想要的I2C重新开始或停止状况的可能性。
当时钟信号已被嵌入在码元转变内时,I2C总线的SCL线216和/或SDA线218可被用于高数据率模式中的数据传输。因此,SDA线218和SCL线216可被用于传送任何任意的12个码元,而不影响旧式I2C从动节点功能性并且无需使用桥接设备来将旧式I2C从动节点与具有高数据率能力的节点隔离开。在I2C模式中,开始状况606可仅由I2C主控设备提供。在高数据率模式中,开始状况606由将传送12码元的字的任何节点提供。
图2-6中解说的高数据率协议重用现有的双导线总线来跨两根导线编码码元并且将时钟嵌入在码元转变内。这个概念可被扩展到附加的导线/线以进一步提高数据吞吐量。例如,可被用于I2C设备之间的中断的附加导线可被转用于通过高数据率协议来进行数据传输。因此,除了双导线总线之外,可在高数据率模式/协议期间使用一根或多根附加导线/线以提高吞吐量。类似于图3-5中解说的码元编码,当附加线可用时,可以在其他高数据率模式/协议中跨三根或更多根线编码码元。
示例性传感器全局总线
将双导线总线和一根或多根附加线动态地配置为高数据率总线的一个示例可被实现用于传感器设备并且可被称为“传感器全局总线”(SGbus)。使用3根导线/线的码元编码可以基于七进制数(基数为7的数)。类似地,使用4根导线/线的码元编码可以基于十五进制数(基数为15的数)。不同的数基数可被用于不止4根导线/线。
图7解说了其中共享总线702(例如,I2C总线/SGbus)将I2C设备7041-704k、706和SGbus设备712、7141-714n和7161-716m相耦合的配置。SGbus设备712、7141-714n和7161-716m可与常规地配置的I2C设备7041-704k、706共存,并且SGbus设备712、7141-714n和7161-716m中的某些SGbus设备可按期望或按需使用常规I2C协议进行通信。共享总线702可以是可根据多种模式(例如,I2C模式和HDR模式)来操作的双导线总线。此类HDR模式的一个示例,跨双导线总线和一根或多根经转用的附加导线/线718实现码元编码。此类HDR模式可在共享总线上与I2C模式共存,以使得旧式设备(例如,兼容I2C的设备)和下一代设备(例如,兼容SGbus的设备)可以共享共享总线702。
可使用I2C协议的经修改版本或I2C协议的变型来发起和执行共享总线702上的数据传输(包括配置和其他总线控制消息)。在一个示例中,可使用用于启动事务的常规I2C协议来发起所有事务。
图8解说了在根据本文描述的SGbus协议的某些方面来操作时共享总线702上的关于提供给编码逻辑的比特和码元802以及共享总线702上结果得到的信令804的事务800。最初,总线702可处于“总线空闲”状态822,并且根据I2C协议来处置控制信令806。在控制信令806被确收824、826之后,可发生SGbus数据交换808,在此期间数据有效载荷810被传送给SGbus主控设备712。退出序列812提供从根据SGbus协议的信令(包括数据有效载荷810)至被识别为与I2C协议相一致的停止状况820的信令的转变。随后可以得到总线空闲状态822。
在所描绘的示例中,共享总线702上的事务800可由I2C开始状况814(同时参见图6的开始状况606)发起,在I2C开始状况814之后的是地址816(例如,参见I2C从动ID 602)、继以一连串命令码818来发起。命令码818可具有可包括由用于SGbus总线702的通信协议所定义的数个字节的可变长度。
在一个示例中,可以传送命令码818以定义所选数据传输协议和/或此数据传输协议的某些特性。命令码818可标识多种可用数据传输协议中要被用于后续数据传输的一种数据传输协议。所标识出的数据传输协议可以控制事务直至不同的数据传输协议命令被插入在总线上。
在开始状况814之后,总线702被认为是繁忙的,直至下一停止状况820、828。总线空闲状态822可被定义为在SCL线216和SDA线218处于逻辑高状态达预定时间段时发生。总线702的繁忙/空闲状态由开始状况606、814和停止状况616、820定义。总线空闲状态822具有包括在停止状况616、820之后的时间段的历时,在此期间SCL线216和SDA线218处于逻辑高状态,而不管数据是使用SGbus协议还是兼容I2C的协议来传递的。在一个示例中,期间SCL线216和SDA线218处于逻辑高状态的时间段可被设置为在总线702上使用的最慢时钟周期的两倍。例如,在I2C快速模式中,在SCL线216上传送的时钟信号具有至少400kHz的频率,其中2.5μs的时钟周期和5μs时段可足以指示总线空闲状态822。
如图7中所示,共享总线702可支持旧式I2C设备706(诸如主控设备706、旧式I2C从动设备7041-704k)以及下一代设备(诸如主SGbus主控设备712、SGbus从动设备7141-714n和副SGbus主控设备7161-716m)。主SGbus主控设备712可预配置有与驻留在总线702上的旧式I2C设备706、7041-704k相关的特定操作信息。主SGbus主控设备712可包括非易失性存储器,其中可响应于接收自应用主机设备的通信而预配置和/或更新操作信息和其他信息。根据一个示例,旧式I2C设备可将双导线共享总线702的第一导线用于串行数据传输并且将双导线总线702的第二导线用于时钟信号。类似地,下一代设备(例如,SGbus设备)可通过跨双导线总线702和一根或多根经转用的附加导线/线使用经编码码元来跨双导线总线702和一根或多根经转用的附加导线/线718传达数据。在其中使用两根导线/线的示例中,可以使用三进制数(基数为3的数)跨两根导线/线编码诸码元。在使用三根导线/线的情况下,可以使用七进制数(基数为7的数)跨三根导线/线编码诸码元。在使用四根导线/线的情况下,可以使用十五进制数(基数为15的数)跨四根导线/线编码诸码元。在更多导线/线被用于码元传输时,可以将其他或更高基数的数用于码元编码。
副SGbus主控设备7161-716m和SGbus从动设备7141-714n中的每个设备可被配置成内部地生成随机地址。SGbus从动设备7141-714n、7161-716m可以能够使用保留地址来生成中断或者使中断发生,以使得SGbus主控设备712、7161-716m可以识别不具有所指派的本地地址的一个或多个SGbus从动设备7141-714n、7161-716m的存在。SGbus主控设备712、7161-716m可使用随机地址来执行配置过程以在不具有所指派的本地地址的SGbus从动设备7141-714n、7161-716m之间进行区分,其中该配置过程涉及将本地地址指派给SGbus从动设备7141-714n、7161-716m。可使用大到足以显著减小驻留在总线702上的两个SGbus从动设备7141-714n、7161-716m将针对任何给定的配置过程生成相同的随机地址的可能性的数来形成随机地址。在两个或更多个SGbus从动设备7141-714n、7161-716m生成相同的随机地址的情况下,此类设备可从SGbus主控设备712、7161-716m接收相同的本地地址,并且结果得到的冲突可能要求通过使用新的随机地址进行重新配置来重新指派本地地址。在一个示例中,SGbus从动设备7141-714n、7161-716m可生成48比特的伪随机数以用作在配置期间使用的随机地址。在一些实例中,可以使用伪随机数的其他比特宽度。合适的宽度的数可被用于使在两个SGbus从动设备7141-714n、7161-716m上出现相同随机地址的可能性最小化。
在操作中,主SGbus主控设备712可传送“一般调用”码,继以动态地址分配命令码。主SGbus主控设备712随后可驱动总线702的SCL线216上的时钟信号而同时释放SDA线218,该SDA线218可被拉至逻辑高电平。之后是仲裁过程,由此SGbus设备7141-714n、7161-716m根据其相应的随机选择的48比特地址来驱动SDA线218。具有最低地址的SGbus设备7141-714n、7161-716m以与I2C协议所指定的方式类似的方式赢得仲裁。
主SGbus主控设备712在SDA线218被释放的情况下继续驱动SCL线216上的时钟信号。SGbus设备7141-714n、7161-716m当中的获胜方设备随后可传递一个或多个特性字节。特性字节包括标识获胜方设备的某些特性的信息,包括该设备是否只用作从动设备、设备类型(例如,加速计)、数据宽度(例如,16或12比特宽)、以及其他特性。
主SGbus主控设备712可传递获胜方设备的7比特宽本地地址。该地址纳入了主SGbus主控设备712指派给所标识出的设备的优先级等级。主SGbus主控设备712可重复此规程直至其未接收到来自寻求地址仲裁的设备的响应。主SGbus主控设备712可通过发送特定命令码来终止仲裁规程,该命令码终止使得进入此规程的动态地址分配命令码。
连接至共享总线702的副SGbus主控设备7161-716m可监视仲裁过程并且捕捉在此过程期间的信息交换,以使得副SGbus主控设备7161-716m具有关于总线702的寻址、优先级和配置信息的副本。尽管如此,主SGbus主控设备712可向副SGbus主控设备7161-716m传递接收自SGbus从动设备7141-714n的信息。
SGbus设备7141-714n、7161-716m中的每个设备可具有可被用于存储动态地址的一个或多个留存寄存器,以使得SGbus配置将仅在冷启动之后发生。如果两个SGbus设备7141-714n和/或7161-716m选择相同的随机48比特地址并且具有相同的特性字节,则这两个设备可存储相同的本地地址。双指派可保持有效直至SGbus主控设备712要求数据传输并且由这两个不同的SGbus从动设备7141-714n并发地传送的数据是不同的。这两个SGbus从动设备7141-714n中的至少一个SGbus从动设备可识别出其具有与连接至总线702的另一SGbus从动设备7141-714n相同的地址,并且可离开总线702。在下一总线空闲状态822处,离开的SGbus从动设备7141-714n可使用用于此要求的专用控制码来请求新的本地地址。
SGbus设备7141-714n和/或7161-716m中的每个SGbus设备由主SGbus主控设备712指派优先级排名。优先级排名可由SGbus主控设备712使用动态地分配的本地地址的等级来定义,藉此较低的地址值具有较高的优先级排名。
SGbus设备7141-714n、7161-716m中的每个SGbus设备可在“总线空闲”状态期间的任何时间断言带内中断请求(IRQ)。IRQ断言规程对应于用于I2C和其他I2C相关接口中的总线仲裁的类似规程。然而,根据本文所公开的某些方面,某些改进和增强可被用于IRQ规程。
在一个示例中,SGbus从动设备7141-714n可通过将SDA线218拉至逻辑低信令状态来断言带内IRQ。主SGbus主控设备712可开始驱动SCL线216上的时钟信号,而同时使SDA线218不受驱动。SDA线218可被拉向逻辑高信令状态。SGbus从动设备7141-714n可驱动SDA线218以便传送它自己的地址。主SGbus主控设备712确收IRQ,并且随后使用接收自SGbus从动设备7141-714n的地址来执行重复的开始。通过在总线繁忙状态期间在SCL线/导线924为高时并且在将期望停止状况908时将SDA线/导线922驱动为低来提供重复的开始状况928(参见图9)。设备7141-714n、7161-716m和/或7041-704k可在检测到重复的开始状况928之后监视总线以发现它们各自的地址。
例如,当先前定义的模式不同于目前期望或需要的模式时,主SGbus主控设备712可任选地使用数据传输协议字节来配置数据传输模式。主SGbus主控设备712和发出中断的SGbus从动设备7141-714n可随后开始通信。总线争用在地址评价期间发生,并且同时尝试赢得总线的任何附加的SGbus设备7141-714n、7161-716m和/或任何旧式I2C设备7041-704k将输掉仲裁并可在下一总线空闲状态822上重试。
在另一示例中,副SGbus主控设备7161-716m可使用与用于SGbus从动设备7141-714n的规程类似的规程来断言带内IRQ。当主SGbus主控设备712识别出IRQ被副SGbus主控设备7161-716m断言时,主SGbus主控设备712释放SCL线216并且副SGbus主控设备7161-716m执行立即的重复开始状况928,以便寻址目标设备以供通信。
在另一示例中,旧式I2C主控设备706可在与针对副SGbus主控设备7161-716m所描述的规程类似的规程中断言IRQ。旧式I2C主控设备706通常不知晓其何时在与SGbus主控设备712竞争,因为SGbus主控设备712具有较高的等效地址(例如,111 1111)并且将输掉仲裁。
启动通信事务的主SGbus主控设备712在地址调用期间评估地址仲裁规程。尝试中断主SGbus主控设备712的任何SGbus从动设备7141-714n、副SGbus主控设备7161-716m或旧式I2C主控设备712通常是成功的。然而,具有较低优先级排名的任何设备可能必须等待下一总线空闲状态822。
在一些实例中,旧式I2C主控设备706与SGbus从动设备7141-714n之间可能存在竞争。主SGbus主控设备712在其看到开始状况(SDA线218为低)时启动SCL线216上的时钟信号。相应地,具有较高优先级排名的SGbus从动设备7141-714n假定赢得仲裁过程。主SGbus主控设备712知晓仲裁过程的结果,包括获胜地址。
根据本文所公开的某些方面,SGbus可以是多主控总线,其中一个或多个SGbus主控设备712、7161-716m和旧式I2C主控设备706为相应的从动设备提供总线控制和管理功能。在SGbus中采用的某些多主控仲裁和总线控制规程可遵循诸如针对IRQ规程所描述的全局规则。因此,I2C规则可在旧式I2C主控设备706与一个或多个副SGbus主控设备7161-716m竞争时应用。
当副SGbus主控设备7161-716m捕获到对总线702的控制以执行事务时,副SGbus主控设备7161-716m仅维持对总线702的控制达执行事务所需要的时间。在相应事务之后,停止状况使总线控制回到主SGbus主控设备712。
旧式I2C主控设备706通常向旧式I2C从动设备7041-704k传递数据并且采用兼容I2C的协议,即使在其他数据传输协议可用时亦是如此。旧式I2C主控设备706与SGbus设备7141-714n、7161-716m之间的通信可在系统级被管理。在一个示例中,主SGbus主控设备712可向旧式I2C主控设备706告知SGbus从动设备7141-714n的存在。主SGbus主控设备712可提供与SGbus从动设备7141-714n的本地地址和特性有关的信息。结果得到的在旧式I2C主控设备706与SGbus从动设备7141-714n之间的任何通信可与I2C协议一致。
根据本文所公开的某些方面,SGbus可支持热插能力,其中SGbus设备712、7141-714n或7161-716m可被插入到已被动态地配置并且在操作中的总线702中。热插入的SGbus设备712、7141-714n、或7161-716m在总线上上电并且假定与冷启动类似的状况,并且热插入的SGbus设备712、7141-714n、或7161-716m最初不具有所指派的本地地址。不具有所指派的本地地址的设备712、7141-714n、或7161-716m可通过将预定义字节用作其需要本地地址的指示符来执行IRQ。在检测到IRQ以及热插入的SGbus设备712、7141-714n、或7161-716m在总线702上的存在之际,主SGbus主控设备712可执行动态地址分配规程,诸如在本文中所描述的。在动态地添加/移除导线/线和热插入能力的上下文中,用于将诸模式切换到不同数目的活跃导线/线中的一个条件可以是由所添加的SGbus设备支持的导线/线的物理数目(例如,至该设备的话务可受限于其支持的导线/线的数目)、由新的SGbus设备施加的话务负载、或者涉及所添加的SGbus设备的总线操作的功耗目标。
根据本文所公开的某些方面,SGbus可支持多种数据传输协议,包括I2C协议、CCI协议及其变型。编码方案可被选择或定制以针对给定数目的线、导线或连接器提供高效、可靠、和/或低等待时间的数据传递。在一个示例中,当SGbus具有3根线、导线或其他连接器时,基于七进制编码(基数为7的数)的HDR协议可被用于在SGbus上提供数据传输。在另一示例中,当SGbus具有4根线、导线或其他连接器时,HDR协议可基于十五进制编码(基数为15的数)。当SGbus具有5根线、导线或其他连接器时,可以采用其他HDR协议(例如包括三十一进制编码(基数为31的数)),依此类推。
共享总线可被配置成支持双线共享总线702上根据I2C协议的通信,以及根据使用双线总线702并且在至少一些实例中还使用一根或多根附加导线/线718的SGbus协议的通信。在一个示例中,可在双线共享总线702上执行配置成用于基于七进制和/或十五进制编码的通信以及I2C通信的4线SGbus,以使得在第一时间区间中可使用七进制和/或十五进制编码来传送数据并且可在不同的时间区间中根据I2C信令约定来传送其他数据。在另一示例中,可在双导线共享总线702上执行配置成用于基于七进制、十五进制、和/三十一进制编码的通信以及I2C通信的5线SGbus,以使得在第一时间区间中可使用七进制、十五进制、和/或三十一进制编码来传送数据并且可在不同的时间区间中根据I2C信令约定来传送其他数据。SGbus可采用确保七进制(基数为7)、十五进制(基数为15)、和/或七进制、十五进制、三十一进制和/或其他经编码SGbus传输不会违反I2C协议的物理层协议。
图9包括解说与I2C总线上的多个数据传输相关联的定时的时序图900和920。在第一基本示例中,在停止状况908与连贯的开始状况910之间流逝的时间段(空闲时段914)可被延长,从而使常规I2C总线在此空闲时段914期间空闲。在操作中,繁忙时段912在I2C总线主控设备传送第一开始状况906继之以数据时开始。繁忙时段912在I2C总线主控设备传送停止状况908时结束并且空闲时段914跟着发生。空闲时段914以第二开始状况910的传输而结束。
还参照时序图920,在一些实例中,I2C总线上的相继数据传输之间的空闲时段914可通过传送重复的开始状况(Sr)928而不是停止状况908来在数量上减少或者消除。重复的开始状况928终止先前的数据传输并且同时指示下一数据传输的开始。SDA线/导线922上的状态转变对于在空闲时段930之后发生的开始状况926以及重复的开始状况928而言是相同的。具体地,SDA线/导线922从高转变为低而同时SCL线/导线924为高。在数据传输之间使用重复的开始状况928时,第二繁忙时段934紧跟在第一繁忙时段932之后。
在SGbus中,数据传输分段可使用任何I2C或高数据率(例如,HDR模式)协议(例如,针对两根导线/线的基于三进制的编码协议、针对三根导线/线的基于七进制的编码、针对四根导线/线的基于十五进制的编码等)或其变型。要使用的数据传输协议的类型可由SGbus主控设备712、或7161-716m在与SGbus从动设备7141-714n的通信开始时指示。对每个SGbus从动设备7141-714n的数据传输协议的选择保持有效,直至被SGbus主控设备712、或7161-716m改变。在一些实例中,主SGbus主控设备712可将能在I2C模式和高数据率模式(例如,三进制编码模式、七进制编码模式、十五进制编码模式等)两者中通信的任何设备配置成使用I2C模式作为默认模式。
从数据传输的退出可通过将停止状况908插入在总线702上来实行,在此情形中总线702可进入总线空闲状态822。在总线702上的事务中传送的某些码元序列可产生可被未参与该事务的一个或多个设备7041-704n、7141-714n、7161-716m的检测逻辑标识为停止状况828、908或重复的开始状况928的信令状态。
图10解说了非预期的开始状况1006、1008和停止状况1010、1012的发生,这可在有效的开始状况1002之后并在有效的停止状况(未示出)或重复的开始状况1004之前在正常数据交换期间出现。在一个示例中,非预期的开始状况1006可在使SCL线216跨两个码元维持在高信令状态而同时SDA线218在这两个码元之间的转变处从高信令状态改变至低信令状态时发生。在另一示例中,非预期的开始状况1008可在SDA线218在这两个码元之间的转变处从高信令状态改变至低信令状态而同时SCL线216正在转变中时的亚稳时段期间发生。在另一示例中,非预期的停止状况1010可在使SCL线216跨两个码元维持在高信令状态而同时SDA线218在这两个码元之间的转变处从低信令状态改变至高信令状态时发生。在另一示例中,非预期的停止状况1012可在SDA线218在这两个码元之间的转变处从低信令状态改变至高信令状态而同时SCL线216正在转变中时的亚稳时段期间发生。
这些非预期的开始状况1006、1008和停止状况1010、1012是不想要的,并且可通过将编码器配置成标识可能导致非预期的开始状况1006、1008和停止状况1010、1012的码元序列来避免。编码器可修改所传送的码元流以避免生成非预期的开始状况1006、1008和停止状况1010、1012。在一个示例中,当处于数据传输模式时,编码协议可在任何二进制“01”码元之后提供二进制“00”虚设码元插入以便避免非预期的停止状况1012。在另一示例中,编码协议可在二进制“11”码元的任何出现之后提供二进制“10”虚设码元插入以避免非预期的开始状况1006、1008,非预期的开始状况1006、1008可能导致旧式I2C设备在错误的开始(或重复的开始)状况1006、1008之后检查其地址。(注意,二进制数{00,01,10,11}指代2比特长的二进制数)。将领会,旧式I2C设备可在其找到地址匹配的情况下对错误的开始状况1006、1008作出响应并由此不利地影响配置成用于Sgbus操作的活跃驱动器。
在高数据率模式中,可基于在总线702上传送的码元的计数来执行帧同步,其始于在进入数据传输模式的入口点之后发送的第一码元。对于SGbus操作,不需要在帧中的每个12码元序列或20码元序列之前发送重复的开始状况928。不存在重复的开始状况928可提高数据吞吐量。
在针对两根导线/线的三进制编码的示例中,可通过检查用于错误检测的最后三个最低有效位(LSB)来进一步验证帧同步。对于三进制编码,单个错误可通过检查经解码二进制数的最后三个LSB来检测。单个错误可能涉及关于任何12码元字的码元错误,其中没有两个连贯码元是相同的。码元可被编码为二进制数[SDA:SCL],其中与SDA线218的信令状态相对应的比特处于最高有效位(MSB)位置。一个码元错误可以是SDA线218或SCL线216中的一者或两者的采样信令状态错误的结果。类似的办法可通过检查n LSB来用于使用不同数基数的码元编码(基于七进制的编码、基于十五进制的编码等)。
图11解说了可被用于某些类型的协议的关于双导线码元编码(例如,基于三进制的数编码)的码元转变。可构想,与码元转变相关联的某些概念可被扩展以例如在SGbus的情形中包括m根导线(例如,针对三根导线/线的基于七进制的数编码、针对四根导线/线的基于十五进制的数编码等)。在关于图3-5所讨论的示例中,由编码器(例如,发射机300的转码器302)生成的转变数1124可被表示为在圆502上和跨圆502的位移值1122。顺时针位移可被表示为三进制值T=1,逆时针位移可被表示为三进制值T=0,并且跨圆502的位移(即,顺时针2步或逆时针2步)可被表示为三进制值T=2。
在另一示例中,可以为双导线实现和/或为使用不止两根导线的实现实现其他码元编码方案。在关于N根导线(W1…WN)(其中N≥3)的一个示例中,对于三根或更多根导线,编码可通过转变数公式来表征:
{(W1S XNOR W1S-1),(W2SXNOR W2S-1),…(WNS XNOR WNS-1)},
对于两个连贯状态S和S-1。
作为直接结果,产生与圆502上的任一个毗邻码元相同的码元的线错误不被认为是新码元,并且该错误可在字级别被标识。另外,单个码元错误可导致两个毗邻三进制数被修改。
根据本文所公开的某些方面,可为SGbus通信提供错误校正。为了传送数据,三进制信息串可被变换成被编码成基数为3的(三进制)数的相等数值。如此,针对相同信息需要在节点之间传送更少的字符。经变换的三进制数是多项式和,其中因子为3的幂并且系数为[0,1,2]。
其中:Tk=三进制系数,∈[0,1,2]。
一个码元错误可能产生两个毗邻Tk值的改变,并且最终和可通过下式来更改:
±a×3n±b×3(n-1) (1)
其中:
“n”=错误码元的秩,并且
“a”和“b”为差异系数。
“a”和“b”系数遵循下式:
a∈[0,±1,±2]
b∈[0,±1,±2]
式(1)可写为:
(±3a±b)×3(n-1) (2)
为了使LSB的最后几个比特不被错误所改变,式(2)必须是2的幂的倍数。2的幂的第一秩不为整数倍标示必须提前知道多少个LSB末尾比特,从而应标识一个码元错误。因子3(n-1)是3的倍数,并且其将在未被更改的情况下改变LSB比特。
对相关因子(±3a±b)的分析可基于以下观测:码元至三进制编码图具有圆对称性。因此,一个点涵盖所有四个点。例如,如果“2”是正确码元,则对于任何其他正确码元情形,只要用它们的旋转值来替代各自相应的位置即可。以下表1示出了结果所得的可能“a”系数,并且表2示出了结果所得的可能“b”系数。
表1
表2
以下表3示出了结果所得的“a”和“b”系数的可能组合。
表3
在同一背景行上示出了可能(a;b)对,如与相同的可能“错误码元”有关的。直接检视揭示了存在将如下分别进行的组合:
(±3a±b)=2,例如(1;-1)和(-1;1),
(±3a±b)=4,例如(-2;2)和(2;-2)。
不存在将产生(±3a±b)=8的对;这原本只对于(2;2)或(-2;-2)是可能的。
因此,在LSB末尾处的任何已知的3个比特将检测到任何一个单码元错误。例如,可以使用3’b000,尽管任何其他已知的3个比特也可起到相同作用。(注意,3’bxxx指代3比特长的二进制数)。SDA线218或SCL线216中的任何错误都可通过最后3个比特来检测。
根据本文所公开的某些方面,当数据传输在进行中时,补充错误检查可基于从码元2’b01到2’b00的强制变换、或从码元2’b11到2’b10的强制变换,以在必要时避免对停止状况908或重复的开始状况928的错误标识。在多个12码元或20码元帧的全部数据传输完成时,可插入4个码元,其中最后两个码元可以是2’b01、继之以2’b11,以便产生停止状况828、908。
参照图12和13,可以强调三进制编码的先前实现与目前描述的SGbus之间的某些差异。例如,这两种编码样式可产生不同码元,尽管在这两种情形中,经编码的三进制系数是相同的。在另一示例中,SGbus避免总线702上的非预期(且不想要的)停止状况908和重复的开始状况928(即,2’b01至2’b11转变、或2’b11至2’b10转变)。对于随后的一些数据流,SGbus向传输添加码元,藉此降低数据吞吐量。
在第一示例中,图12的时序图1200解说了由发射机300的转码器302向三进制至码元编码器304(参见图3)提供的发射机三进制(Tx)转变数序列1202。转换器产生码元流1204以供通过串行总线230传送给接收机320。接收机320的码元至三进制解码器324产生接收机(Rx)转变数1206。Tx转变数1202、码元1204和三进制Rx转变数1206的数目之间存在直接关系。
在第二示例中,图12的时序图1220解说了第一SGbus数据帧的传输,藉此由转码器302向三进制至码元编码器304(参见图3)提供发射机(Tx)三进制数序列1222。在此,三进制至码元编码器304产生包括插入的附加码元1230的码元流1224。接收机320的码元至三进制解码器324产生接收机(Rx)转变数1226。解码器324产生包括由转码器322提取的附加数1232的三进制Rx转变数1226。
图13包括时序图示例1300和1320中的第三和第四示例,由此第三示例1300涉及中间和/或最差情形SGbus帧,并且第四示例1320涉及最后的SGbus数据帧。在这些示例1300、1320中,三进制至码元编码器304产生包括插入的附加码元1310和1330的码元流1304、1324。接收机320的码元至三进制解码器324产生接收机(Rx)转变数1306、1326。码元至三进制解码器324产生包括由转码器322提取的附加三进制数1312和1332的三进制Rx转变数1306、1326。
在另一示例中,可假定所有类型的I2C设备耦合至总线702,并且可使用20码元经修改的经三进制码元编码的数据传输模式,其中在每个20码元帧之前插入重复的开始状况928。在此模式中,未插入虚设变换,并且没有旧式I2C主控设备可连接至总线702。在又一示例中,总线702上只有旧式I2C设备并且首要的主控设备根据该总线的能力在I2C模式中控制总线,其中所有数据传输均使用I2C模式。
示例性SGbus的某些特性
如本文所公开的,SGbus可以是可使用两根导线来提供多支路(multi-drop)和多主控能力的高速串行接口总线。不需要常规时钟信号,并且用数据来编码使用这两根导线传送的码元。通过确保两根信号导线中的至少一根信号导线在每对连贯码元之间的信令状态转变来将时钟信号嵌入在码元流中。SGbus协议可以使用命令码。提供带内中断能力,并且支持具有低等待时间的异步热插。SGbus设备可与I2C设备在同一总线上共存,从而遵守应用于可连接至同一物理总线的旧式I2C设备的相同约束。
在一个方面,SGbus使用容器架构进行通信,由此数据传输被封装在总线管理元素之间。可使用多种协议中的一种来传递数据,如连接至总线的客户端设备所要求或偏好的。在一个示例中,可使用码元编码协议(例如,针对三根导线/线的基于七进制数的码元编码协议、针对四根导线/线的基于十五进制的码元编码协议等)来传递数据,并且在另一示例中,可根据遵从I2C的协议(例如,在两根导线/线上,其中一根导线/线被用于时钟并且另一根导线/线被用于串行数据传输)来传递数据。通常使用码元编码协议(例如,针对两根导线/线的基于三进制的编码、针对三根导线/线的基于七进制的数、针对四根导线/线的基于十五进制的数等)来携带数据有效载荷,尽管旧式I2C从动设备可被寻址并且在相应的I2C模式协议中传输有效载荷。
与SGbus协议相关联的总线管理功能可包括总线仲裁、带内中断、热插、多主控、进入和退出数据传输模式。
SGbus主控设备可具有动态地址指派能力。SGbus主控设备可包括用于带内中断的时钟发生器、基于寄存器的用于留存连接至总线的设备的地址和特性的存储器。SGbus主控设备可使用I2C或HDR数据传输协议(例如,使用基于三进制的码元编码、基于七进制的码元编码、基于十五进制的码元编码等)来通信。
SGbus从动设备可以是能动态寻址的,并且可以能够针对其所连接的总线来请求并接收其地址。SGbus从动设备至少支持高数据率协议(例如,使用基于三进制的码元编码、基于七进制的码元编码、基于十五进制的码元编码等),并且在一些示例中,SGbus从动设备可以能够使用旧式I2C协议来通信。
SGbus支持可在传输期间提供优化(每字节最少能量)的HDR传输协议,包括采纳基于n的码元编码(例如,其中n为3、7、15等)的数据传输协议。可支持带内IRQ规程,并且可施加最小等待时间约束(通常10μs)。可获得提高的效率,因为不需要心跳型信号。可提供异步、热插能力。
在一些实例中,可通过本地系统设计级的配置来达成提高的系统设计灵活性。动态寻址减少或消除了对全局寻址实体的依赖性。动态寻址采用随机地址生成器,由此减少了制造开销。
SGbus的某些实现可与所有旧式I2C设备完全共存。然而,某些低速以及超低成本的旧式I2C设备的存在可阻止对旧式I2C主控设备的使用。旧式I2C设备不需要评价其在用于每个经码元编码的帧的线上的地址匹配。
示例性三导线或更多导线码元编码协议
在一些实例中,可通过增加一根或多根补充线来获得增强的能力和速度增加,从而使编码基数能改变至更高数。例如,除了双导线总线之外,许多I2C旧式系统在主控设备与一个或多个从动设备之间使用一根或多根专用中断线。当主控设备从预定义的基础协议(例如,I2C)切换至其中跨双导线总线和一根或多根专用中断线编码数据码元的第二协议时,可(连同双导线总线一起)转用这些专用中断线。
例如,使用双线总线加上单根附加线,第二协议能够在3根导线传送8个码元(与在2根导线上仅传送4个码元相比),由此允许基数为7的编码。
参照图14,不止两个连接器或导线可供用于SGbus设备1402、1404、1406和/或1408(其可被称为多导线(M导线)设备1402、1404、1404和/或1408)之间的分时通信。注意,术语“连接器”、“导线”和“线”在本文中可互换地使用以指代导电路径。在一些实例中,“连接器”、“导线”和“线”可应用于导光路径。除了双导线SGbus的共用线216、218之外,附加的连接器或导线1412、1414和/或1416可被用于将M导线主控设备1402耦合至与SGbus1410分开的一个或多个M导线从动设备1404、1406和/或1408。在一个示例中,一个M导线从动设备1408可使用单个专用附加连接器或导线1412来连接至M导线主控设备1402。在另一示例中,一个M导线从动设备1404可使用单个共享附加连接器或导线1416来连接至M导线主控设备1402。在另一示例中,一个M导线从动设备1406可使用两个或更多个专用和/或共享附加连接器或导线1414和1416来连接至M导线主控设备1402。附加连接器或导线1412、1414和/或1416的数目、类型和安排可被选择以平衡M导线设备1402、1404、1406和/或1408之间的通信的带宽和功率。在一些实例中,附加连接器可包括光学连接器或其他类型的连接器。
根据一个或多个方面,可在SGbus接口中使用大于两根物理线的任何数目的导线。这些导线中的两根导线可以是共用导线,诸如被配置成用于与不被配置成用于多导线操作的旧式设备1418、1420和/或SGbus设备1422进行通信的SCL线216和SDA线218。旧式设备1418、1420可包括I2C设备1418、SGbus设备1422、或者使用与耦合至共享总线1410的其他设备1402、1404、1406、1408、1418、1420、1422兼容的双导线协议的另一类型的设备。
总线管理消息可被包括在具有M导线能力的总线客户端1402、1404、1406和1408上实现的共享总线管理协议中。总线管理消息可在具有M导线能力的设备1402、1404、1406和1408之间使用双导线(共享)总线1410来传递。总线管理消息可包括地址仲裁命令和/或消息、与数据传输模式进入和退出相关的命令和/或消息、在配置数据的交换中使用的命令和/或消息(包括例如标识所支持的协议的消息、可用物理导线的数目和分配)、以及将协商或选择通信模式的命令和/或消息。
如图14中所解说的,SGbus接口可支持具有更基础的信令能力的不同旧式客户端设备1418和1420以及SGbus设备1422。耦合至共享总线1410的设备1402、1404、1406、1408、1418、1420、1422与至少一个共用通信模式(例如,双导线总线1410上的预定义的基础协议)兼容。在一个示例中,预定义的基础协议(例如,最低共同特性协议)可支持I2C通信模式。在此后一示例中,设备1042、1404、1406、1408、1418、1420、1422中的每一者可被适配成至少识别由预定义的基础协议定义的开始和停止状况。
两个或更多个设备1402、1404、1406、1408、1420和/或1422可使用不被耦合至共享总线1410的一些其他设备支持的第二协议来通信。这两个或更多个设备1402、1404、1406、1408、1418、1420、1422可在发起SGbus交换之后和/或通过一个或多个附加连接器或导线1412、1414和/或1416上的信令来标识使用预定义的基础协议(例如,I2C协议)的其他设备的能力。在至少一些实例中,可在设备1402、1404、1406、1408、1418、1420、1422中预定义耦合至共享总线1410的设备的配置。
附加连接器或导线1412、1414和/或1416可包括连接M导线设备1402、1404、1406、1408中的两个或更多个设备的多用途、可重配置的连接器、导线、或线。附加连接器或导线1412、1414和/或1416可包括经转用的连接,这些连接可以其他方式提供处理器间通信能力(包括例如与事件相关的中断、消息接发和/或通信)。在一些实例中,附加连接器或导线1412、1414和/或1416可通过设计来提供。在一个示例中,预定义的基础协议可将附加连接器或导线1412、1414和/或1416用于从从动设备向主控设备发送中断。在第二协议中,附加连接器或导线1412、1414和/或1416可被转用于与双导线总线相组合地传送数据码元。
主控和从动角色通常可在M导线设备1402、1404、1406、1408之间互换,并且图5涉及设备1402、1404、1406、1408和/或1422中的两个或更多个设备之间的单个交互。如所解说的,当前的主控设备1402可使用附加连接器或导线1412、1414和1416的组合来支持与其他M导线设备1404、1406、1408的扩展通信能力。主控M导线设备1402分别使用单个附加连接器或导线1416和1412来连接至两个从动设备1404和1408。主控M导线设备1402使用一对附加导线1414和1416来连接至一个从动设备1406。相应地,主控M导线设备1402可被配置成基于事务中所涉及的所有从动设备1404、1406和/或1408的能力来选择用于通信的导线数目。例如,M导线主控设备1402可使用双导线总线1410加上两个经转用的导线1414和1416来向第一M导线从动设备B1406发送数据码元。另外,M导线主控设备1402可使用双导线总线1410加上第一经转用导线1416来向第二M导线从动设备A 1404发送数据码元。
可使用经适配的编码方案(例如,第二协议)来编码在两个或更多个具有M导线能力的设备1402、1404、1406和/或1408之间传送的数据。图2-14解说了将双导线总线转用于传送在两根导线上编码的数据码元。然而,一个方面提供了通过转用主控设备与从动设备之间的任何附加可用导线、连接器或线来将图2-14的此协议和办法扩展到三根或更多根导线。以此方式,双导线总线(图2,线216和218)和一个或多个附加连接器或导线1412、1414和/或1416可被用于传送跨所有导线编码的数据码元。在各种示例中,当三个连接器、导线或线216、218、1412、1414、和/或1416可用时,数据可被编码在3比特码元中;当四个连接器、导线或线216、218、1412、1414和/或1416可用时,数据可被编码在4比特码元中,依此类推。
图15解说了解说跨三个连接器或导线在码元中编码数据的示例。解说了7个码元的序列,但是数据元素可被编码在任何数目的码元和/或具有任何数目的导线、线或连接器的码元中。在该示例中,数据被编码在码元1502中,该码元1502在对应于码元传输区间的每个时隙1510中控制三个连接器1504、1506和1508的信令状态。表1520解说了将3比特码元1502映射成可具有两个电平之一的信令状态的一个示例。传送时钟信息可被编码在连贯码元之间的信令状态的转变中。在一个示例中,时钟信息可被嵌入在共用连接器、导线或线216、218的信令状态转变中,其中附加连接器或导线1412、1414和/或1416被用于携带每个码元中的一个附加比特。然而,某些设备1402、1404、1406或1408可被配置成通过从在通信事务中使用的任何连接器上发生的转变提取时钟信息来甚至进一步提高数据吞吐量。
在三导线连接的示例中,可定义8个可能码元,如图15的表1520中所解说的。因此,当在连贯码元之间的每个边界处保证转变时,码元之间的每个转变存在7个可能的转变字符{T0…T6}。可形成具有12个基数为7的数位的转变数(即,七进制编号方案)。在如本文所讨论的一般情形中,具有N位(其中每一位有r个可能转变)的转变数具有总共rN个状态。在SGbus上传送的12位转变数的示例中,对于N=12位526中的每一位存在总共r=8-1=7个可能转变,从而提供总共712=13841287201个不同状态,这可被表达为十六进制数0x52801AE1。因此,这12位转变数可编码可使用8,589,934,592个状态的33比特二进制数。剩余的5251352610个状态可被用于携带控制码等。
图16是解说采用可被配置成执行本文所公开的一个或多个功能的处理电路1602的装置的硬件实现的简化示例的概念图1600。根据本公开的各种方面,元素、或元素的任何部分、或者元素的任何组合可使用处理电路1602来实现。处理电路1602可包括一个或多个处理器1604,其由硬件和软件模块的某种组合来控制。处理器1604的示例包括:微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、状态机、定序器、门控逻辑、分立的硬件电路、以及其他配置成执行本公开中通篇描述的各种功能性的合适硬件。该一个或多个处理器1604可包括执行特定功能并且可由软件模块1616之一来配置、增强或控制的专用处理器。该一个或多个处理器1604可通过在初始化期间加载的软件模块1616的组合来配置,并且通过在操作期间加载或卸载一个或多个软件模块1616来进一步配置。
在所解说的示例中,处理电路1602可使用由总线1610一般化地表示的总线架构来实现。取决于处理电路1602的具体应用和整体设计约束,总线1610可包括任何数目的互连总线和桥接器。总线1610将各种电路链接在一起,包括一个或多个处理器1604、存储1606。存储1606可包括存储器设备和大容量存储设备,并且在本文可被称为计算机可读介质。总线1610还可链接各种其它电路,诸如定时源、定时器、外围设备、稳压器和功率管理电路,这些电路在本领域中是众所周知的,并且其中的一些电路因此将不再进一步描述。总线接口1608可提供总线1610与线接口电路1612之间的接口。线接口电路1612提供用于在传输介质(诸如串行总线)上与各种其他装置进行通信的手段。取决于该装置的本质,也可提供用户接口1618(例如,按键板、显示器、扬声器、话筒、操纵杆),并且该用户接口可直接或通过总线接口1608通信地耦合至总线1610。
处理器1604可负责管理总线1610和一般处理,包括对存储在计算机可读介质(其可包括存储1606)中的软件的执行。在这一方面,处理电路1602(包括处理器1604)可被用来实现本文所公开的方法、功能和技术中的任一种。存储1606可被用于存储处理器1604在执行软件时操纵的数据,并且该软件可被配置成实现本文所公开的方法中的任一种。
处理电路1602中的一个或多个处理器1604可执行软件。软件应当被宽泛地解释成意为指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数、算法等,无论其是用软件、固件、中间件、微代码、硬件描述语言、还是其他术语来述及皆是如此。软件可按计算机可读形式驻留在存储1606中或驻留在外部计算机可读介质中。计算机可读介质和/或存储1606可以是非瞬态计算机可读介质。作为示例,非瞬态计算机可读介质包括:磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩碟(CD)或数字多功能碟(DVD))、智能卡、闪存设备(例如,“闪存驱动器”、卡、棒、或钥匙驱动器)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦式PROM(EPROM)、电可擦式PROM(EEPROM)、寄存器、可移动盘、以及任何其他用于存储可由计算机访问和读取的软件和/或指令的合适介质。作为示例,计算机可读介质和/或存储1606还可包括载波、传输线、和任何其它用于传送可由计算机访问和读取的软件和/或指令的合适介质。计算机可读介质和/或存储1606可驻留在处理电路1602中、处理器1604中、在处理电路1602外部、或跨包括该处理电路1602在内的多个实体分布。计算机可读介质和/或存储1606可实施在计算机程序产品中。作为示例,计算机程序产品可包括封装材料中的计算机可读介质。本领域技术人员将认识到如何取决于具体应用和加诸于整体系统上的总体设计约束来最佳地实现本公开中通篇给出的所描述的功能性。
存储1606可维持以可加载代码段、模块、应用、程序等来维持和/或组织的软件,其在本文中可被称为软件模块1616。软件模块1616中的每一者可包括在安装或加载到处理电路1602上并被一个或多个处理器1604执行时有助于运行时映像1614的指令和数据,运行时映像1614控制一个或多个处理器1604的操作。在被执行时,某些指令可使得处理电路1602执行根据本文所描述的某些方法、算法和过程的功能。
软件模块1616中的一些可在处理电路1602初始化期间被加载,并且这些软件模块1616可配置处理电路1602以实现本文所公开的各种功能的执行。例如,一些软件模块1616可配置处理器1604的内部设备和/或逻辑电路1622,并且可管理对外部设备(诸如,线接口电路1612、总线接口1608、用户接口1618、定时器、数学协处理器等)的访问。软件模块1616可包括控制程序和/或操作系统,其与中断处理程序和设备驱动器交互并且控制对由处理电路1602提供的各种资源的访问。这些资源可包括存储器、存储1606、处理时间、对线接口电路1612的访问、用户接口1618等。
处理电路1602的一个或多个处理器1604可以是多功能的,由此软件模块1616中的一些被加载和配置成执行不同功能或相同功能的不同实例。这一个或多个处理器1604可附加地被适配成管理响应于来自例如用户接口1618、线接口电路1612和设备驱动器的输入而发起的后台任务。为了支持多个功能的执行,这一个或多个处理器1604可被配置成提供多任务环境,由此多个功能中的每个功能按需或按期望实现为由一个或多个处理器1604服务的任务集。在一个示例中,多任务环境可使用分时程序1620来实现,分时程序1620在不同任务之间传递对处理器1604的控制权,由此每个任务在完成任何未决操作之际和/或响应于输入(诸如中断)而将对一个或多个处理器1604的控制权返回给分时程序1620。当任务具有对一个或多个处理器1604的控制权时,处理电路有效地专用于由与控制方任务相关联的功能所针对的目的。分时程序1620可包括操作系统、在循环基础上转移控制权的主循环、根据各功能的优先级化来分配对一个或多个处理器1604的控制权的功能、和/或通过将对一个或多个处理器1604的控制权提供给处置功能来对外部事件作出响应的中断驱动式主循环。
图17是解说用于SGbus串行接口上的数据通信的方法的流程图1700。该方法的各个步骤可在包括图2中解说的SGbus主控设备220、SGbus从动设备202、图3中解说的设备300或320、图16的处理电路1602、和/或本文描述的其他设备的某一组合的装置中执行。
在框1702,第一组设备可根据第一操作模式来操作,其中一个或多个设备被配置成将总线的第一线用于数据传输并且将总线的第二线用于第一时钟信号。
在框1702,可确定连接第一组设备中的两个或更多个设备以在这两个或更多个设备之间传送信令的一根或多根附加线的可用性。
在框1702,第一组设备内的第二组设备可根据第二操作模式来操作,该第二操作模式被配置成将总线和至少一根附加线用于数据传输。在第二操作模式中,跨第一线、第二线、以及该至少一个附加线编码码元。
第一组设备中的一个或多个设备可被配置成根据图18中解说的流程图来操作。
图18是解说用于SGbus串行接口上的数据通信的方法的流程图1800。该方法的各个步骤可由包括图2中解说的SGbus主控设备220、SGbus从动设备202、图3中解说的设备300或320、图16的处理电路1602、和/或本文描述的其他设备的某一组合的第一设备来执行。
在框1802,第一设备可使用与双导线串行总线相关联的预定义的基础协议来在双导线串行总线上与耦合至双导线串行总线的第二设备建立连接。预定义的基础协议可以是遵循或兼容集成电路间(I2C)数据通信模式的协议。预定义的基础协议可以遵循或兼容相机控制接口(CCI)数据传输模式。
在框1804,第一设备可确定能被配置用于第一设备与第二设备之间的数据通信的一个或多个附加连接器的可用性。该一个或多个附加连接器可包括可被配置成或可操作用于在第一设备与第二设备之间传送中断信号的连接器。该一个或多个附加连接器可包括耦合至至少三个设备的共享连接器。
在框1806,第一设备可在码元序列中编码数据以供在包括双导线总线和该一个或多个附加连接器的连接器组合上进行传输。时钟信息可被编码在该码元序列中的连贯码元对之间的转变中。时钟信息可被编码在双导线串行总线的信令状态的转变中。时钟信息可被编码在连接器组合的信令状态的转变中。例如,每个码元序列可包括12个码元。每个码元序列可编码33比特的二进制字。
在框1808,第一设备可在连接器组合上传送码元序列。
在一方面,第一设备可在已在连接器组合上传送了码元序列之后使用与双导线串行总线相关联的预定义的基础协议来在双导线串行总线上进行通信。双导线串行总线上使用预定义的基础协议的通信可仅采用双导线串行总线。
图19是解说在第一模式中使用双导线总线来进行通信并且在其中在双导线总线和一根或多根附加线之中编码诸码元的第二模式中动态地调节双导线总线以添加一根或多根附加线的装置的硬件实现的示例的示图。装置1900可包括处理电路1902,该处理电路1902可包括微处理器、微控制器、数字信号处理器、定序器、状态机等中的一者或多者。处理电路1902可以用由总线1920一般化地表示的总线架构来实现。取决于处理电路1902的具体应用和整体设计约束,总线1920可包括任何数目的互连总线和桥接器。总线1920将包括一个或多个处理器和/或硬件模块(由处理器1916,模块或电路1904、1906、1908和1910,可配置成在包括多个连接器或导线的多导线总线1914上进行通信的线接口电路1912,以及计算机可读存储介质1918表示)的各种电路链接在一起。总线1920还可链接各种其他电路(诸如定时源、外围设备、稳压器和功率管理电路),这些电路在本领域中是众所周知的,并且因此将不再进一步描述。
处理器1916负责一般性处理,包括执行存储在计算机可读存储介质1918上的软件。该软件在由处理器1916执行时使处理电路1902执行上文针对任何特定装置描述的各种功能。计算机可读存储介质1918还可被用于存储由处理器1916在执行软件时操纵的数据,包括从在多导线总线1914上传送的码元中解码的数据。处理电路1902进一步包括模块和/或电路1904、1906和1908中的至少一者。模块和/或电路1904、1906、1908和1910可以是在处理器1916中加载、配置和运行的软件模块、驻留/存储在计算机可读存储介质1918中的软件模块、耦合至处理器1916的一个或多个硬件模块、或其某种组合。模块和/或电路1904、1906和1908可包括微控制器指令、状态机配置参数、或其某种组合。
在一种配置中,装置1900可包括适配成确定可用的附加连接器/线并且将此类连接器/线配置成用于与另一设备通信的连接器/线配置模块和/或电路1904。转码器和/或转换器模块和/或电路1906可被配置成在码元序列中编码数据,其中这些码元被配置成用于数个可用导线以进行传输。通信模块和/或电路1908可被配置成在双导线串行总线和一个或多个附加连接器/线的信令状态中传送码元序列。装置1900可以包括附加的模块和/或电路,包括例如控制多导线总线1914和/或装置1900的操作模式的模式模块和/或电路1910。模式模块和/或电路1910可在预定义的基础协议(例如,双导线串行总线上兼容I2C的协议)和高数据率协议(例如,使用双导线串行总线和动态地转用的一个或多个附加连接器/线)之间切换。例如,模式控制模块和/或电路1910可以包括命令生成模块或者与命令生成模块协作,该命令生成模块在多导线总线1914上传送控制序列。在另一示例中,模式控制模块和/或电路1910可以导致线接口电路1912的重新配置以在I2C操作模式中实现漏极开路线驱动器或其等效物并且在HDR操作模式中实现推挽式驱动器。
例如,可以使用处理器或控制逻辑212、物理层驱动器210和214以及存储介质、设备、寄存器或其他206的某种组合来实现前述装置。
应理解,所公开的过程中各步骤的具体次序或层次是示例性办法的解说。应理解,基于设计偏好,可以重新编排这些过程中各步骤的具体次序或层次。所附方法权利要求以示例次序呈现各种步骤的要素,且并不意味着被限定于所给出的具体次序或层次。
提供先前描述是为了使本领域任何技术人员均能够实践本文中所描述的各种方面。对这些方面的各种改动将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。因此,权利要求并非旨在被限定于本文中所示出的方面,而是应被授予与语言上的权利要求相一致的全部范围,其中对要素的单数形式的引述除非特别声明,否则并非旨在表示“有且仅有一个”,而是“一个或多个”。除非特别另外声明,否则术语“一些”指的是一个或多个。本公开通篇描述的各种方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文中所公开的任何内容都并非旨在贡献给公众,无论这样的公开是否在权利要求书中被显式地叙述。没有任何权利要求元素应被解释为装置加功能,除非该元素是使用短语“用于……的装置”来明确叙述的。

Claims (34)

1.一种装置,包括:
包括第一线和第二线的总线;
第一组设备,其耦合至所述总线并且在第一操作模式中被配置成将所述第一线用于数据传输并且将所述第二线用于第一时钟信号;
一根或多根附加线,其连接所述第一组设备中的两个或更多个设备以在所述两个或更多个设备之间传送信令;以及
所述第一组设备内的第二组设备,所述第二组设备被进一步配置成在第二操作模式中将所述总线和所述附加线中的至少一根附加线用于数据传输,其中在所述第二操作模式中跨所述第一线、所述第二线以及所述附加线中的所述至少一根附加线来编码诸码元。
2.如权利要求1所述的装置,其特征在于,所述第一组设备和所述第二组设备在所述第一操作模式和所述第二操作模式两者中并发地监视所述第一线和所述第二线中的至少一者。
3.如权利要求1所述的装置,其特征在于,在所述第一操作模式中,来自所述第二组设备中的主控设备在所述总线的所述第一线上向来自所述第一组设备或所述第二组设备中的从动设备传送数据。
4.如权利要求1所述的装置,其特征在于,在所述第二操作模式中,来自所述第二组设备中的主控设备在所述总线的所述第一线和所述第二线以及所述附加线中的所述至少一根附加线上向来自所述第二组设备中的从动设备传送数据。
5.如权利要求1所述的装置,其特征在于,所述第一操作模式实现用于所述总线上的数据传输的第一协议,并且所述第二操作模式实现用于所述总线和所述附加线中的所述至少一根附加线上的数据传输的第二协议。
6.如权利要求1所述的装置,其特征在于,在所述第二操作模式中,所述第一组设备在所述第一线和所述第二线上接收抑制对有效从动节点地址的检测的复位指示符。
7.如权利要求1所述的装置,其特征在于,在所述第二操作模式中,在数据传输期间在所述第一线或所述第二线中避免复位指示符或停止指示符。
8.如权利要求1所述的装置,其特征在于,在所述第一操作模式期间,来自所述第二组设备中的主控节点在所述第一线上发送第一比特序列,所述第一比特序列向所述第二组设备指示至所述第二操作模式的切换。
9.如权利要求1所述的装置,其特征在于,在所述第二操作模式期间,主控节点在所述总线上发送退出码元序列,所述退出码元序列向所述第二组设备指示至所述第一操作模式的切换。
10.如权利要求1所述的装置,其特征在于,在所述第二操作模式中,第二时钟信号被嵌入在所述总线和所述附加线中的所述至少一根附加线上的码元转变内。
11.如权利要求10所述的装置,其特征在于,在所述第二操作模式中,所述第二时钟信号被嵌入在线的第一子集上的码元转变内,而第三时钟信号被嵌入在线的第二子集上的码元转变内。
12.如权利要求1所述的装置,其特征在于,所述第二组设备中的一个或多个设备能够在所述第一操作模式和所述第二操作模式两者中操作。
13.如权利要求1所述的装置,其特征在于,在所述第一操作模式中,所述一根或多根附加线被用于在所述第一组设备或所述第二组设备内从从动设备向主控设备传达的中断。
14.如权利要求1所述的装置,其特征在于,在所述第二操作模式中,所述第二组设备内的主控设备被适配成:
查明与所述第二组设备内的特定从动设备的可用线的数目;
选择所述可用线中的一根或多根可用线;以及
动态地适配所述第二操作模式中使用的协议以利用所述总线和所述可用线中所选择的一根或多根可用线。
15.如权利要求14所述的装置,其特征在于,在所述第二操作模式中使用的协议被适配成将变化数目的线用于编码诸码元以进行传输。
16.如权利要求1所述的装置,其特征在于,在所述第二操作模式中使用总共三根线来编码所述码元时,多个码元被进一步编码为基于七进制的数。
17.如权利要求1所述的装置,其特征在于,在所述第二操作模式中使用总共四根线来编码所述码元时,多个码元被进一步编码为基于十五进制的数。
18.一种方法,包括:
根据第一操作模式来操作第一组设备,所述第一操作模式被配置成将总线的第一线用于数据传输并且将所述总线的第二线用于第一时钟信号;
确定连接所述第一组设备中的两个或更多个设备以在所述两个或更多个设备之间传送信令的一根或多根附加线的可用性;以及
根据第二操作模式来操作所述第一组设备内的第二组设备,所述第二操作模式被配置成将所述总线和所述附加线中的至少一根附加线用于数据传输,其中在所述第二操作模式中跨所述第一线、所述第二线以及所述附加线中的所述至少一根附加线来编码诸码元。
19.如权利要求18所述的方法,其特征在于,进一步包括:
在所述第一操作模式中使用所述一根或多根附加线来传达中断信号。
20.如权利要求18所述的方法,其特征在于,所述一根或多根附加线包括耦合至所述第二组设备内的至少三个设备的共享线。
21.一种由耦合至双导线串行总线的第一设备执行的方法,包括:
使用与所述双导线串行总线相关联的预定义的基础协议来在所述双导线串行总线上与耦合至所述双导线串行总线的第二设备建立连接;
确定能配置成用于所述第一设备与所述第二设备之间的数据传输的一根或多根线的可用性;
根据高数据率协议在码元序列中编码数据以在包括所述双导线总线和所述一根或多根附加线的线组合上进行传输,其中时钟信息被编码在所述码元序列中的连贯码元对之间的转变中;以及
在所述线组合上传送所述码元序列。
22.如权利要求21所述的方法,其特征在于,所述预定义的基础协议遵循或兼容集成电路间(I2C)数据通信模式。
23.如权利要求21所述的方法,其特征在于,所述预定义的基础协议使用所述一根或多根附加线来在所述第一设备与所述第二设备之间传送中断信号。
24.如权利要求21所述的方法,其特征在于,所述一根或多根附加线包括耦合至至少三个设备的共享线。
25.如权利要求21所述的方法,其特征在于,当总共三根导线被用于在码元序列中编码数据时,所述码元序列中的每个码元序列包括12个码元并且编码33比特的二进制字。
26.如权利要求21所述的方法,其特征在于,进一步包括:
在使用所述高数据率协议在所述线组合上传送了所述码元序列之后使用所述预定义的基础协议来在所述双导线串行总线上进行通信。
27.如权利要求21所述的方法,其特征在于,所述预定义的基础协议仅被用于所述双导线串行总线上的通信。
28.如权利要求21所述的方法,其特征在于,在所述高数据率协议中,时钟信息被编码在所述双导线串行总线的信令状态的转变中。
29.如权利要求21所述的方法,其特征在于,在所述高数据率协议中,时钟信息被编码在所述线组合的信令状态的转变中。
30.如权利要求21所述的方法,其特征在于,当所述线组合等于总共至少3时,所述码元序列中的每个码元序列被编码为基于七进制的数。
31.如权利要求21所述的方法,其特征在于,当所述线组合等于总共至少4根线时,所述码元序列中的每个码元序列被编码为基于十五进制的数。
32.一种装置,包括:
双导线串行总线;
包括通信接口的第一设备,所述通信接口被适配成将所述第一设备耦合至所述双导线串行总线并且被配置成使用与所述双导线串行总线相关联的预定义的基础协议来进行通信;
第二设备,其耦合至所述双导线串行总线并且被配置成使用所述预定义的基础协议来进行通信;以及
耦合至所述通信接口的处理电路,所述处理电路被配置成:
确定能配置成用于所述第一设备与所述第二设备之间的数据传输的一根或多根线的可用性;
根据高数据率协议在码元序列中编码数据以在包括所述双导线总线和所述一根或多根附加线的线组合上进行传输,其中时钟信息被编码在所述码元序列中的连贯码元对之间的转变中;以及
在所述线组合上传送所述码元序列。
33.如权利要求32所述的装置,其特征在于,所述预定义的基础协议使用所述一根或多根附加线来在所述第一设备与所述第二设备之间传送中断信号。
34.如权利要求33所述的装置,其特征在于,所述一根或多根附加线包括耦合至至少三个设备的共享线。
CN201580032218.8A 2014-06-18 2015-06-03 由多协议设备共享的可动态地调节的多线总线 Pending CN106462516A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462013818P 2014-06-18 2014-06-18
US62/013,818 2014-06-18
US14/728,777 2015-06-02
US14/728,777 US10007628B2 (en) 2014-06-18 2015-06-02 Dynamically adjustable multi-line bus shared by multi-protocol devices
PCT/US2015/033911 WO2015195329A2 (en) 2014-06-18 2015-06-03 Dynamically adjustable multi-line bus shared by multi-protocol devices

Publications (1)

Publication Number Publication Date
CN106462516A true CN106462516A (zh) 2017-02-22

Family

ID=54869778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580032218.8A Pending CN106462516A (zh) 2014-06-18 2015-06-03 由多协议设备共享的可动态地调节的多线总线

Country Status (5)

Country Link
US (1) US10007628B2 (zh)
EP (2) EP3236361A1 (zh)
JP (1) JP2017520053A (zh)
CN (1) CN106462516A (zh)
WO (1) WO2015195329A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273328A (zh) * 2017-08-02 2017-10-20 郑州云海信息技术有限公司 一种接口管理方法及系统
CN111314190A (zh) * 2020-04-15 2020-06-19 联合华芯电子有限公司 一种仲裁接口带复位功能的数据传输系统和方法
CN113347048A (zh) * 2021-07-28 2021-09-03 浙江国利信安科技有限公司 自适应调整网络组态的方法、节点设备和存储介质

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015126983A1 (en) * 2014-02-18 2015-08-27 Qualcomm Incorporated Technique to avoid metastability condition and avoid unintentional state changes of legacy i2c devices on a multi-mode bus
US10139875B2 (en) 2014-02-20 2018-11-27 Qualcomm Incorporated Farewell reset and restart method for coexistence of legacy and next generation devices over a shared multi-mode bus
US9852104B2 (en) 2014-02-20 2017-12-26 Qualcomm Incorporated Coexistence of legacy and next generation devices over a shared multi-mode bus
US10241955B2 (en) 2014-06-18 2019-03-26 Qualcomm Incorporated Dynamically adjustable multi-line bus shared by multi-protocol devices
US10089173B2 (en) * 2014-11-26 2018-10-02 Qualcomm Incorporated Error detection constants of symbol transition clocking transcoding
CN107408097A (zh) * 2015-03-11 2017-11-28 高通股份有限公司 用于旧式和下一代设备在共享多模总线上共存的告别重置和重启方法
US9727506B2 (en) * 2015-10-01 2017-08-08 Sony Corporation Communication system, communication system control method, and program
US10031882B2 (en) 2016-03-31 2018-07-24 Intel Corporation Sensor bus communication system
JP6971538B2 (ja) * 2016-05-18 2021-11-24 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
US10809134B2 (en) 2017-05-24 2020-10-20 Cisco Technology, Inc. Thermal modeling for cables transmitting data and power
US11054457B2 (en) 2017-05-24 2021-07-06 Cisco Technology, Inc. Safety monitoring for cables transmitting data and power
WO2019046214A1 (en) * 2017-08-28 2019-03-07 Sigma Designs, Inc. EXTERNAL MICROCONTROLLER COMMUNICATIONS
US11431420B2 (en) 2017-09-18 2022-08-30 Cisco Technology, Inc. Power delivery through an optical system
US10541758B2 (en) 2017-09-18 2020-01-21 Cisco Technology, Inc. Power delivery through an optical system
US20190095273A1 (en) * 2017-09-27 2019-03-28 Qualcomm Incorporated Parity bits location on i3c multilane bus
US20190171609A1 (en) * 2017-12-05 2019-06-06 Qualcomm Incorporated Non-destructive outside device alerts for multi-lane i3c
US10402365B2 (en) * 2018-01-16 2019-09-03 Qualcomm Incorporated Data lane validation procedure for multilane protocols
US11093012B2 (en) 2018-03-02 2021-08-17 Cisco Technology, Inc. Combined power, data, and cooling delivery in a communications network
US10281513B1 (en) 2018-03-09 2019-05-07 Cisco Technology, Inc. Verification of cable application and reduced load cable removal in power over communications systems
US10732688B2 (en) 2018-03-09 2020-08-04 Cisco Technology, Inc. Delivery of AC power with higher power PoE (power over ethernet) systems
US10631443B2 (en) 2018-03-12 2020-04-21 Cisco Technology, Inc. Splitting of combined delivery power, data, and cooling in a communications network
US10672537B2 (en) 2018-03-30 2020-06-02 Cisco Technology, Inc. Interface module for combined delivery power, data, and cooling at a network device
US10958471B2 (en) 2018-04-05 2021-03-23 Cisco Technology, Inc. Method and apparatus for detecting wire fault and electrical imbalance for power over communications cabling
US10735105B2 (en) 2018-05-04 2020-08-04 Cisco Technology, Inc. High power and data delivery in a communications network with safety and fault protection
US10684981B2 (en) * 2018-05-16 2020-06-16 Qualcomm Incorporated Fast termination of multilane single data rate transactions
US11038307B2 (en) 2018-05-25 2021-06-15 Cisco Technology, Inc. Cable power rating identification for power distribution over communications cabling
DE102018210061A1 (de) * 2018-06-21 2019-12-24 Robert Bosch Gmbh I3C-Slave-Schnittstelle, integrierte Schaltung mit einer I3C-Slave-Schnittstelle und Verfahren zum Betreiben einer I3C-Slave-Schnittstelle
US10528503B1 (en) * 2018-07-16 2020-01-07 Qualcomm Incorporated Real-time dynamic addressing scheme for device priority management
US11281603B2 (en) * 2018-08-03 2022-03-22 Kioxia Corporation Serial interface for semiconductor package
US10998685B2 (en) 2018-11-08 2021-05-04 Cisco Technology, Inc. Single pair ethernet connector system
US10763749B2 (en) 2018-11-14 2020-09-01 Cisco Technology, Inc Multi-resonant converter power supply
US10797893B2 (en) 2018-12-13 2020-10-06 Cisco Technology, Inc. Single pair ethernet management interface
US11061456B2 (en) 2019-01-23 2021-07-13 Cisco Technology, Inc. Transmission of pulse power and data over a wire pair
US10790997B2 (en) 2019-01-23 2020-09-29 Cisco Technology, Inc. Transmission of pulse power and data in a communications network
US10680836B1 (en) 2019-02-25 2020-06-09 Cisco Technology, Inc. Virtualized chassis with power-over-Ethernet for networking applications
US11456883B2 (en) 2019-03-13 2022-09-27 Cisco Technology, Inc. Multiple phase pulse power in a network communications system
US10849250B2 (en) 2019-03-14 2020-11-24 Cisco Technology, Inc. Integration of power, data, cooling, and management in a network communications system
US11063630B2 (en) 2019-11-01 2021-07-13 Cisco Technology, Inc. Initialization and synchronization for pulse power in a network system
US11252811B2 (en) 2020-01-15 2022-02-15 Cisco Technology, Inc. Power distribution from point-of-load with cooling
US11853138B2 (en) 2020-01-17 2023-12-26 Cisco Technology, Inc. Modular power controller
US11088547B1 (en) 2020-01-17 2021-08-10 Cisco Technology, Inc. Method and system for integration and control of power for consumer power circuits
US11438183B2 (en) 2020-02-25 2022-09-06 Cisco Technology, Inc. Power adapter for power supply unit
US11637497B2 (en) 2020-02-28 2023-04-25 Cisco Technology, Inc. Multi-phase pulse power short reach distribution
US11320610B2 (en) 2020-04-07 2022-05-03 Cisco Technology, Inc. Integration of power and optics through cold plate for delivery to electronic and photonic integrated circuits
US11307368B2 (en) 2020-04-07 2022-04-19 Cisco Technology, Inc. Integration of power and optics through cold plates for delivery to electronic and photonic integrated circuits
US11847089B2 (en) * 2022-04-27 2023-12-19 Mellanox Technologies Ltd. Electronic device and method for sharing data lanes of a network interface device between two or more computing devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997034238A1 (de) * 1996-03-13 1997-09-18 Siemens Aktiengesellschaft Verfahren und anordnung zum übertragen von systemspezifischen daten in einem synchronen mikroprozessorsystem
WO2000042740A1 (en) * 1999-01-15 2000-07-20 Telefonaktiebolaget Lm Ericsson (Publ) Interface interlace
US20120166702A1 (en) * 2010-12-28 2012-06-28 Sony Corporation Electronic apparatus, method for controlling electronic apparatus, transmission apparatus, and reception apparatus
US20140149617A1 (en) * 2012-11-27 2014-05-29 Hon Hai Precision Industry Co., Ltd. I2c bus structure and device availability query method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2728100A (en) 1999-01-14 2000-08-01 Tumbleweed Communications Corp. Web-based delivery of secure e-mail messages
FR2795256A1 (fr) 1999-06-15 2000-12-22 Koninkl Philips Electronics Nv Systeme de transmission, recepteur, emetteur et dispositif d'interface pour interfacer un systeme parallele avec un emetteur recepteur de type data-strobe
KR20050076924A (ko) 2004-01-26 2005-07-29 삼성전자주식회사 양방향 통신이 가능한 i2c 통신시스템 및 그 방법
KR100696111B1 (ko) * 2005-07-15 2007-03-20 삼성전자주식회사 통신시스템
TWI488045B (zh) 2011-06-15 2015-06-11 Inventec Corp 內部整合電路與通用串行輸入輸出的自動偵測裝置、系統及其方法
US10241955B2 (en) 2014-06-18 2019-03-26 Qualcomm Incorporated Dynamically adjustable multi-line bus shared by multi-protocol devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997034238A1 (de) * 1996-03-13 1997-09-18 Siemens Aktiengesellschaft Verfahren und anordnung zum übertragen von systemspezifischen daten in einem synchronen mikroprozessorsystem
WO2000042740A1 (en) * 1999-01-15 2000-07-20 Telefonaktiebolaget Lm Ericsson (Publ) Interface interlace
US20120166702A1 (en) * 2010-12-28 2012-06-28 Sony Corporation Electronic apparatus, method for controlling electronic apparatus, transmission apparatus, and reception apparatus
US20140149617A1 (en) * 2012-11-27 2014-05-29 Hon Hai Precision Industry Co., Ltd. I2c bus structure and device availability query method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273328A (zh) * 2017-08-02 2017-10-20 郑州云海信息技术有限公司 一种接口管理方法及系统
CN107273328B (zh) * 2017-08-02 2020-03-31 郑州云海信息技术有限公司 一种接口管理方法及系统
CN111314190A (zh) * 2020-04-15 2020-06-19 联合华芯电子有限公司 一种仲裁接口带复位功能的数据传输系统和方法
CN113347048A (zh) * 2021-07-28 2021-09-03 浙江国利信安科技有限公司 自适应调整网络组态的方法、节点设备和存储介质

Also Published As

Publication number Publication date
US10007628B2 (en) 2018-06-26
WO2015195329A2 (en) 2015-12-23
JP2017520053A (ja) 2017-07-20
EP3236361A1 (en) 2017-10-25
US20150370735A1 (en) 2015-12-24
WO2015195329A3 (en) 2016-04-21
EP3158459A2 (en) 2017-04-26

Similar Documents

Publication Publication Date Title
CN106462516A (zh) 由多协议设备共享的可动态地调节的多线总线
CN106255964B (zh) 传感器全局总线
CN105283862B (zh) 用于数据通信的方法和装置
CN105683936B (zh) 具有多个从设备标识符的相机控制从设备
US10241955B2 (en) Dynamically adjustable multi-line bus shared by multi-protocol devices
CN106415518A (zh) 具有带内中断的相机控制接口扩展
CN102420736B (zh) 用于传输数据的方法
CN108885602A (zh) 多协议i3c共用命令码
CN107209743A (zh) 串行总线的接收时钟校准
TWI406135B (zh) 資料傳輸系統與可編程序列周邊介面控制器
CN105637495B (zh) 低功率相机控制接口总线和设备
US10417172B2 (en) Sensors global bus
CN107454959A (zh) 基数为n的数到物理导线状态码元的转译方法
US20190356412A1 (en) Fast termination of multilane double data rate transactions
CN102193888B (zh) 数据传输系统与可编程串行外围设备接口控制器
CN106462533A (zh) 用于多码元字的同步方法
TW201921260A (zh) 在i3c多線匯流排上之奇偶校驗位元位置
CN104133792B (zh) 精简串行总线通信方法及系统
CN106649187B (zh) 一种芯片自动化外设协议选择的方法
CN115441991B (zh) 数据传输方法、装置、电子设备和计算机存储介质
CN105830045A (zh) 仅用接收机时钟来进行的CCIe接收机逻辑寄存器写入
WO2024072393A1 (en) Bandwidth maximization

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20170222