CN105637496A - CCIe总线上的从动方标识符扫描和热插能力 - Google Patents

CCIe总线上的从动方标识符扫描和热插能力 Download PDF

Info

Publication number
CN105637496A
CN105637496A CN201480056056.7A CN201480056056A CN105637496A CN 105637496 A CN105637496 A CN 105637496A CN 201480056056 A CN201480056056 A CN 201480056056A CN 105637496 A CN105637496 A CN 105637496A
Authority
CN
China
Prior art keywords
inquiry
bit
bit configuration
address bus
equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480056056.7A
Other languages
English (en)
Other versions
CN105637496B (zh
Inventor
S·森戈库
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 CN105637496A publication Critical patent/CN105637496A/zh
Application granted granted Critical
Publication of CN105637496B publication Critical patent/CN105637496B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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

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)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

描述了促成数据传输(尤其是电子装置内的两个或更多个设备之间的数据传输)的系统、方法和装置。本文所公开的实施例涉及扫描CCIe总线上的从动方标识符(SID)。所公开的方法包括:在控制数据总线上传送第一查询,其中第一查询包括第一比特配置;确定具有包括与第一比特配置相匹配的第二比特配置的从动方标识符的从动设备的存在;以及在该控制数据总线上重复地传送具有不同比特配置的附加查询,直至该从动方标识符的所有比特都被确定。该从动设备可针对包括与该从动方标识符中的相应比特配置相匹配的比特配置的每个查询来断言响应。

Description

CCIe总线上的从动方标识符扫描和热插能力
相关申请的交叉引用
本申请要求于2013年10月9日提交的美国临时专利申请No.61/889,028的优先权和权益,该申请的全部内容通过引用纳入于此。
领域
本公开涉及启用共享总线上的高效操作,尤其涉及用于高效地标识耦合至共享总线的从动设备以及促成设备热插到共享总线的技术。
背景
I2C(也称为I2C)是被用于将低速外围设备附连至母板、嵌入式系统、蜂窝电话或其他电子设备的多主控串行单端总线。I2C总线包括具有7位寻址的时钟(SCL)和数据(SDA)线。该总线具有给设备/节点的两个角色:主控方和从动方。主控设备是生成时钟并发起与从动设备的通信的设备。从动设备是接收时钟并在被主控寻址时进行响应的设备。I2C总线是多主控总线,这意味着可以有任何数目的主控设备在场。另外,主控角色和从动角色可以在消息之间(在STOP被发送之后)被改变。I2C定义了基本的消息类型,其中每种消息类型始于START(开始)并结束于停止(STOP)。
在相机实现的此上下文中,单向传输可被用于从传感器捕捉图像并向基带处理器中的存储器传送此类图像数据,而控制数据可在该基带处理器与传感器以及其他外围设备之间被交换。在一个示例中,相机控制接口(CCI)协议可被用于基带处理器与图像传感器(和/或一个或多个从动设备)之间的此类控制数据。在一个示例中,CCI协议可在图像传感器与基带处理器之间的I2C串行总线上实现。
需要允许主控设备标识耦合至共享总线的从动设备和/或其他设备的技术。
概述
本文所公开的实施例提供了用于数据通信的系统、方法和装置。具体而言,本公开的某些方面涉及扫描CCIe总线上的从动方标识符(SID)。
在本公开的某些方面,一种用于扫描SID的方法包括:在控制数据总线上传送第一查询,其中第一查询包括第一比特配置;确定具有包括与第一比特配置相匹配的第二比特配置的从动方标识符的从动设备的存在;以及在该控制数据总线上重复地传送具有不同比特配置的附加查询,直至该从动方标识符的所有比特都被确定。该从动设备可针对包括与该从动方标识符中的相应比特配置相匹配的比特配置的每个查询来断言响应。
在一个方面,该从动设备通过将在第一查询中传送的字与该从动方标识符的已通过应用在第一查询中传送的掩码进行掩蔽的副本作比较来标识第一比特配置与第二比特配置之间的匹配。
在另一方面,附加查询可包括第二查询。该方法还可包括:修改该掩码以获得暴露该从动方标识符的附加比特以供比较的经修改掩码;以及在该控制数据总线上传送第二查询。第二查询可包括第一比特配置和经修改掩码。
在另一方面,附加查询可包括在没有接收到对先前查询的响应时传送的第三查询。该方法可进一步包括通过翻转第一比特配置的起效最高有效比特(MSB)的值来修改第一比特配置以获得第三比特配置,其中该起效MSB被定义为与该从动方标识符中通过应用在该先前查询中传送的掩码未被抑制的最高值比特相对应的比特。第三查询可包括第三比特配置以及在先前查询中所传送的掩码。
在另一方面,附加查询包括在已确定该从动方标识符的所有比特之后传送的第四查询。该方法可进一步包括:复原该掩码以获得具有在导致至少一个从动设备断言该响应的在先查询中传送的值的经复原掩码;修改该在先查询中所传送的比特配置以获得第四比特配置;以及在该控制数据总线上传送第四查询。第四查询包括第四比特配置和经复原掩码。不同从动设备可对第四查询作出响应。该不同从动设备可在第四比特配置匹配与该不同从动设备相关联的不同从动方标识符中的相应比特配置时断言该响应。
在另一方面,多个从动设备对第一查询作出响应。该多个从动设备可在第一比特配置匹配该多个从动设备的相应从动方标识符中的相应比特配置时断言相同的响应。该响应可使用该控制数据总线的第一线来断言。
在另一方面,该控制数据总线是双线总线。该双线总线的两条线均可被用于传递第一查询。
在另一方面,并且在该从动方标识符的所有比特都被确定之后,该方法进一步包括:在该控制数据总线上重复地传送具有不同比特配置的附加查询,直至耦合至该控制数据总线的所有从动设备的所有从动方标识符都已被确定。
在另一方面,第一查询被定向至耦合至该控制数据总线的所有从动设备。第一查询可被定向至耦合至该控制数据总线的先前尚未被标识的从动设备。第一查询可定义响应时段,其中如果第二比特配置与第一比特配置之间存在匹配,则该从动设备必须在该响应时段中在该控制数据总线上作出响应。该响应可由该从动设备通过在第二比特配置与第一比特配置之间存在匹配的情况下暂时拉低该控制数据总线的第一线来断言。耦合至该控制数据总线的其他设备在响应时段期间掩蔽其对该控制数据总线的第一线的输入。
在本公开的某些方面,一种适配成扫描SID的设备包括:耦合至控制数据总线的从动设备;主控设备,其耦合至该控制数据总线并且适配成管理该控制数据总线上的通信。该主控设备可被配置成:在控制数据总线上传送第一查询,其中第一查询包括第一比特配置;确定具有包括与第一比特配置相匹配的第二比特配置的从动方标识符的从动设备的存在;以及在该控制数据总线上重复地传送具有不同比特配置的附加查询,直至该从动方标识符的所有比特都被确定。该从动设备可针对包括与该从动方标识符中的相应比特配置相匹配的比特配置的每个查询来断言响应。
在本公开的某些方面,一种适配成扫描SID的设备包括:用于在控制数据总线上传送第一查询的装置,其中第一查询包括第一比特配置;以及用于确定具有包括与第一比特配置相匹配的第二比特配置的从动方标识符的从动设备的存在的装置。该用于传送的装置可被配置成在该控制数据总线上重复地传送具有不同比特配置的附加查询,直至该从动方标识符的所有比特都被确定。该从动设备可针对包括与该从动方标识符中的相应比特配置相匹配的比特配置的每个查询来断言响应。从动设备可通过将在第一查询中传送的字与该从动方标识符的已通过应用在第一查询中传送的掩码来掩蔽的副本作比较来标识第一比特配置与第二比特配置之间的匹配。
在本公开的某些方面,一种机器可读存储介质上存储有一条或多条指令。该一条或多条指令在由至少一个处理器执行时可使该至少一个处理器通过以下操作来扫描SID:在控制数据总线上传送第一查询,其中第一查询包括第一比特配置;确定具有包括与第一比特配置相匹配的第二比特配置的从动方标识符的从动设备的存在;以及在该控制数据总线上重复地传送具有不同比特配置的附加查询,直至该从动方标识符的所有比特都被确定。该从动设备可针对包括与该从动方标识符中的相应比特配置相匹配的比特配置的每个查询来断言响应。从动设备可通过将在第一查询中传送的字与该从动方标识符的已通过应用在第一查询中传送的掩码来掩蔽的副本作比较来标识第一比特配置与第二比特配置之间的匹配。
附图
在结合附图理解下面阐述的详细描述时,各种特征、本质、和优点会变得明显,在附图中,相像的附图标记贯穿始终作相应标识。
图1是解说具有基带处理器和图像传感器并且实现图像数据总线和多模控制数据总线的设备的框图。
图2解说了时钟可如何在CCIe模式中被嵌入在码元到码元转变内,由此允许将I2C总线中的两条线(即,SDA线和SCL线)用于数据传输。
图3是解说用于在发射机处将数据比特转码成经转码码元以将时钟信号嵌入在这些经转码码元内的示例性方法的框图。
图4解说了转变数与顺序码元之间的示例性转换。
图5解说了转变数与顺序码元之间的转换。
图6解说了用于从最高有效比特到最低有效比特将二进制比特转换成三进制数的方法。
图7解说了用于从最高有效比特到最低有效比特将二进制比特转换成三进制数的发射机侧逻辑电路。
图8解说了用于从最高有效比特到最低有效比特将三进制数转换成二进制比特的方法。
图9解说了用于将12数位三进制数转换成20比特的接收机侧逻辑电路。
图10概念性地解说了比特19(即,在比特计数开始于为比特0的第一比特时的第20比特)大多数情况下在CCIe协议中不被使用并且可被用于共享总线上的设备之间的命令。
图11解说了对CCIe模式进入指示符的示例性通用调用,该CCIe模式进入指示符可由主控设备在共享总线上发送以向从动设备指示共享总线正在从I2C模式切换到CCIe模式进行操作。
图12解说了可由CCIe主控设备(例如,图1中的处于I2C模式的主控设备)发布以向所有具有CCIe能力的设备指示从CCIe模式转变到I2C模式的示例性CCIe调用。
图13解说了示例性CCIe从动方标识符(SID)字格式。这解说了将16比特从动方标识符(SID)用作CCIeSID字格式的一部分。
图14解说了示例性CCIe地址字格式。
图15解说了示例性写数据字格式。
图16解说了示例性读规范字格式。
图17解说了示例性读数据字格式。
图18解说I2C一字节写数据操作的示例性时序图。
图19解说了其中数据比特已被转码为十二个码元以供在SDA线和SCL线上进行传输的示例性CCIe传输。
图20解说了从图2-10中解说的编码方案得到的第20比特(比特19)的示例性映射。
图21解说了图20的第20比特(比特19)区域的示例性映射内的子区域的细节。
图22解说了根据本文所公开的某些方面的可由主控设备发布的“SID扫描全部”命令的一个示例。
图23解说了根据本文所公开的某些方面的可被用于扫描SID的算法的示例。
图24解说了包括SDA线和SCL线的共享总线上的SID扫描的时序图。
图25解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图26解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图27解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图28解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图29解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图30解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图31解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图32解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图33解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图34解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图35解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图36解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图37解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图38解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图39解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图40解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图41解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图42解说了根据本文所公开的某些方面执行的SID扫描的各个步骤的示例。
图43解说了可由主控设备发布的“SID扫描新”命令的一个示例。
图44是解说采用可根据本文公开的某些方面来适配的处理系统的装置的示例的框图。
图45是解说用于在通信链路上进行从动方标识符扫描的方法的流程图。
图46是解说采用配置成在通信链路上进行从动方标识符扫描的处理电路的装置的硬件实现的示例的概念图。
详细描述
在以下描述中,给出了具体细节以提供对诸实施例的透彻理解。然而,本领域普通技术人员将理解,没有这些具体细节也可实践这些实施例。例如,电路可能用框图示出以免使这些实施例混淆在不必要的细节中。在其他实例中,公知的电路、结构、和技术可能不被详细示出以免使这些实施例不明朗。
示例性操作环境
图1是解说具有基带处理器104和图像传感器106并且实现图像数据总线116和多模控制数据总线108的设备102的框图。虽然图1解说了相机设备内的多模控制数据总线108,但是应当清楚,该控制数据总线108可实现在各种不同设备和/或系统中。图像数据可在图像数据总线116(例如,高速差分DPHY链路)上从图像传感器106发送给基带处理器104。
在一个示例中,控制数据总线108可以是I2C总线,其包括两条导线:时钟线(SCL)和串行数据线(SDA)。时钟线SCL可被用来发送被用于同步I2C总线(控制数据总线108)上的所有数据传输的时钟。数据线SDA和时钟线SCL耦合至I2C总线(控制数据总线108)上的所有设备112、114、和118。在该示例中,可以经由控制数据总线108在基带处理器104与图像传感器106以及其他外围设备118、122和/或124之间交换控制数据。I2C的标准时钟(SCL)速度最高达100KHz。I2C快速模式中的标准时钟SCL速度最高达400KHz,且在I2C快速模式加(Fm+)中其最高达1MHz。I2C总线上的这些操作模式可以在用于相机应用时被称为相机控制接口(CCI)模式。
根据一个方面,可以在多模控制数据总线108上实现改进的操作模式(即,大于1MHz的控制数据总线传输频率)以支持相机操作。I2C总线上的这种改进的操作模式可以在用于相机应用时被称为相机控制接口扩展(CCIe)模式。在CCIe模式中,SCL线和SDA线两者均可用于传送数据,而时钟被嵌入在这两条线上的码元到码元转变内。在该示例中,基带处理器104包括主控设备112且图像传感器106包括从动设备114,主控设备112和从动设备114两者可根据相机控制接口扩展(CCIe)模式在控制数据总线108上操作,而不影响耦合至控制数据总线108的其他旧式I2C设备的正确操作。根据一个方面,控制数据总线108上的这种改进模式可在CCIe设备与旧式I2C从动设备之间没有任何桥接设备的情况下实现。
提供了准许I2C兼容设备和CCIe兼容设备并发地耦合至共享控制数据总线108的协议。控制数据总线108可动态地在根据不同通信协议(例如,I2C模式和CCIe模式)操作之间切换。如先前提及的,多模主控设备112管理对共享控制数据总线108的通信和/或访问。主控设备传送进入调用以指示控制数据总线108要将其通信协议从第一协议模式(例如,I2C模式)切换到第二协议模式(例如,CCIe模式)。类似地,主控设备传送退出调用以指示控制数据总线108要将其通信协议从第二协议模式(例如,CCIe模式)切换到第一协议模式(例如,I2C模式)。耦合至共享总线108的从动设备监视这些进入和退出调用以查明它们何时可在共享总线108上操作。
示例性CCIe编码技术
图2解说了时钟可如何在CCIe模式中被嵌入在码元到码元转变内,由此允许将I2C总线中的两条线(即,SDA线和SCL线)用于数据传输。在一个示例中,对时钟的这种嵌入可以通过转变时钟转码来达成。例如,要在物理链路(导线)上传送的数据204被转码,从而保证所传送码元在所传送码元206的每个码元循环或转变处改变状态。在一个示例中,比特序列被转换成三进制数,并且该三进制数的每一数位被转换成码元以供传输。即使在三进制数的两个顺序数位相同的情况下,也保证顺序码元是不同的。因此,原始时钟202可被嵌入在每个码元循环的码元状态改变中。接收机从(所传送码元206中的)每个码元处的状态转变来恢复时钟信息208并且随后反转对所传送码元206的转码以获得原始数据210。在一个示例中,每个码元被转换成一数位,多个数位构成三进制数,其中该三进制数随后被转换成多个比特。因此,原始时钟202可被嵌入在每个码元循环的码元状态改变中。这允许I2C总线的这两条导线(图1中的控制数据总线108,SDA线和SCL线)被用于发送数据信息。另外,码元速率可以加倍,因为不再需要在时钟信号与数据信号之间具有建立和保持时间。
图3是解说用于在发射机处将数据比特转码成经转码码元以将时钟信号嵌入在这些经转码码元内的示例性方法的框图。在发射机302处,数据比特序列304被转换成三进制(基数为3)数(即,“转变数”),并且这些三进制数随后被转换成在时钟线SCL312和数据线SDA314上传送的(顺序)码元。
在一个示例中,原始的20比特二进制数据被输入到比特至转变数转换器块308以转换成12数位三进制数。该12数位三进制数的每一数位表示“转变数”。两个连贯转变数可具有相同的数字(即,三进制数的连贯数位可以是相同的)。每个转变数在转变至码元块310处被转换成顺序码元以使得任何两个连贯的顺序码元不具有相同值。由于在每个顺序码元处保证有转变,因而此类顺序码元转变可用于嵌入时钟信号。每个顺序码元316随后在双导线物理链路(例如,包括SCL线312和SDA线314的I2C总线)上被发送。
图4解说了转变数402与顺序码元404之间的示例性转换。三进制数(基数为3的数)的个体数位(也被称为转变数)可具有三(3)个可能数位或状态0、1或2之一。虽然在三进制数的两个连贯数位中可能出现相同值,但没有任何两个连贯顺序码元具有相同值。转变数和顺序码元之间的转换保证顺序码元即使在连贯的转变数是相同的情况下也总是改变(从顺序码元到顺序码元)。
图5中解说性地阐述了转换功能。在发射机侧(TX:T到S)502,转变数(T)可被转换成顺序码元(S)。例如,当前顺序码元(Cs)可基于先前顺序码元(Ps)和作为当前转变数(T)的函数的临时转变数(Ttmp)来获得。临时转变数(Ttmp)可通过将当前转变数T与0进行比较来获得,并且当T=0时,临时转变数(Ttmp)变成等于3,否则(当T不等于0时)Ttmp变成等于T(即,Ttmp=T=0?3:T)。当前顺序码元可以作为当前顺序码元(Cs)加先前顺序码元(Ps)加临时转变数(Ttmp)的总和(即,Cs=Ps+Ttmp)来获得。
在接收机侧(RX:S到T)504,转换操作被反转以从当前顺序码元(Cs)和先前顺序码元(Ps)获得转变数。临时转变数(Ttmp)可以作为当前顺序码元(Cs)加4减去先前码元(Ps)的总和(即,Ttmp=Cs+4-Ps)来获得。当前转变数(T)等于临时转变数(Ttmp),但是临时转变数(Ttmp)与三(3)进行比较,并且当Ttmp=3时,临时转变数(Ttmp)变成等于零(0),否则(当Ttmp不等于3时)T变成等于Ttmp(即,T=Ttmp=3?0:T)。
表506解说了转变数与顺序码元之间的转换。
再次参照图4,本文解说了转变数与顺序码元之间的转换的示例。例如,在第一循环406中,当前转变数(Ta)为2,所以Ttmp也为2,并且在先前顺序码元Ps为1的情况下,新的当前顺序码元Cs现在为3。
在第二循环408中,转变数(Tb)为1。由于转变数(Tb)不等于0,所以临时转变数Ttmp等于为1的转变数(Tb)值。通过将先前顺序码元(Ps)值3与为1的临时转变数Ttmp相加来获得当前顺序码元(Cs)。由于该加法运算的结果等于4,即大于3,因而翻转数0变成当前顺序码元(Cs)。
在第三循环410中,当前转变数(T)为1。因为转变数T为1,所以临时转变数Ttmp也为1。通过将先前顺序码元(Ps)值0与为1的临时转变数Ttmp相加来获得当前顺序码元(Cs)。由于加法运算的结果等于1,即不大于3,因而当前码元(Cs)等于1。
在第四循环412中,当前转变数(T)为0。因为转变数T为0,所以临时转变数Ttmp为3。
通过将先前顺序码元(Ps)值1与为3的临时转变数Ttmp相加来获得当前顺序码元(Cs)。由于该加法运算的结果为4,即大于3,因而翻转数0变成当前顺序码元(Cs)。
注意,即使两个连贯的三进制数位Tb和Tc具有相同数字,该转换也保证了两个连贯顺序码元具有不同状态值。正因如此,顺序码元404中的保证转变可以用于嵌入时钟信号,由此释放I2C总线中的时钟线SCL以用于数据传输。
再次参照图3,在接收机320处,该过程被倒转以将经转码码元转换回比特,并且在该过程中,从码元转变中提取时钟信号。接收机320在双导线物理链路(例如,包括SCL线324和SDA线326的I2C总线)上接收顺序码元序列322。所接收的顺序码元322被输入到时钟数据恢复(CDR)块328中以恢复时钟定时并采样经转码码元(S)。码元至转变数转换器块330随后将经转码(顺序)码元转换成转变数(即,一个三进制数位数)。接着,转变数至比特转换器332转换12个转变数以从12数位三进制数复原20比特原始数据。
图3和4中针对双导线总线和12个转变数解说的示例可被一般化为n导线系统和m个转变数。如果每一个T(T0到Tm-1)存在r个可能的码元转变状态,那么m个转变可发送rm个不同状态(即,r=2n-1)。因此,转变T0…Tm-1包含可具有(2n-1)m个不同状态的数据。
本文解说的此技术可被用来提高控制总线108(图1)的链路速率,以超出I2C标准总线提供的链路速率,并且于此被称为CCIe模式。在一个示例中,耦合至控制数据总线108的主控设备和/或从动设备可实现在码元传输内嵌入时钟信号的发射机和/或接收机(如图2、3、4和5中所解说的),以在相同控制数据总线上达成比使用标准I2C总线可能达成的更高比特率。
图6解说了用于从最高有效比特到最低有效比特将二进制比特转换成三进制数的方法。三进制数的每一数位可被转码(转换)成传送给接收方设备的码元。对于12数位三进制数602,其中T0、T1…T11表示该三进制数,T0表示30数位(并且是最低有效数位),而T11表示311数位(并且是最高有效数位)。从收到比特(例如,20比特序列)开始,首先获得三进制数602的最高有效数位T11。随后,接下来获得下一最高有效数位T10。此过程继续直至获得最低有效数位T0。三进制数602的每一数位也可被称为“转变数”。
图7解说了用于从最高有效比特到最低有效比特将二进制比特转换成三进制数的发射机侧逻辑电路。图6和7解说了以T11、T10、T9、...、T0的次序发送的12数位三进制数602。通过首先获得和发送最高有效比特,所涉及的逻辑和电路系统的复杂度被简化。在图6和7中的办法中,最高有效顺序码元被首先传送给接收方设备,并且因此被称为先MSS(首先最高有效码元)。如本文所使用的,“最低有效码元”指代与三进制数602的最低有效数位相对应的经转码码元。例如并且参照图4和5的描述,当T0被转码成顺序码元时,该码元是最低有效码元,因为它源自最低有效三进制数位。类似地,如本文所使用的,“最高有效码元”指代与三进制数602的最高有效数位相对应的经转码码元。例如并且参照图4和5的描述,当T11被转码成顺序码元时,该码元是最高有效码元,因为它源自最高有效三进制数位。并且在码元至转变数转换器块330(图3)随后接收并且将经转码的(顺序)码元转换成转变数(即,三进制数的数位)时,其将首先是最高有效数位T11并且最后是最低有效数位T0。
回头参考3,20比特的原始数据按倒序转换成三进制数(即,最高有效比特被首先提供给转换器),随后三进制数的每一数位(例如,每个转变数)按倒序转换(即,转码)成顺序码元,并且这些经转码码元按倒序(即,首先最高有效码元)在总线上被传送。
图8解说了用于从最高有效比特到最低有效比特将三进制数转换成二进制比特的方法。即,此接收机侧转换倒转在图6和7中所解说的发射机侧转换中执行的操作。接收方设备(例如,从动设备)接收倒序传输并且执行时钟恢复和码元采样以将经转码码元转换回三进制数,该三进制数随后以倒序被提供给图9中的逻辑电路,该逻辑电路将该三进制数转换回20比特二进制原始数据。图7解说了具有耦合至去往逻辑设备的单个输出端的12个输入端的复用器。
图9解说了用于将12数位三进制数转换成20比特的接收机侧逻辑电路。
图10概念性地解说了比特19(即,在比特计数开始于为比特0的第一比特时的第20比特)大多数情况下在CCIe协议中不被使用并且可被用于共享总线上的设备之间的命令。即,作为图3-9中解说的编码方案的结果,所传送码元中的额外比特(即,比特19)现在是可用的。更具体地,图10解说了比特19(即,第20比特)。换言之,如计算机科学中典型的情况,从零开始逐比特计数,并且比特19为第20个比特。此处,比特0-18在三进制数范围0000_0000_00003到2221_2201_20013内表示。范围2221_2201_20023到2222_2222_22223中的三进制数未被使用。因此,三进制数范围2221_2201_20023到2222_2222_22223可被用于表示比特19(即,第20比特)。换言之,三进制2221,2201,20023是二进制10,000,000,000,000,000,000(十六进制0x80000),并且三进制2222_2222_22223(0x81BF0)是最大可能的12数位三进制数。
用于CCIe模式的示例性协议
图11解说了对CCIe模式进入指示符的示例性通用调用,该CCIe模式进入指示符可由主控设备在共享总线上发送以向从动设备指示共享总线正在从I2C模式切换到CCIe模式进行操作。通用调用1102可由I2C主控设备在共享总线(例如,图1中的处于I2C模式的主控设备112在SDA线和SCL线)上发布以向所有I2C兼容设备指示从I2C模式到CCIe模式的转变。
在I2C模式中,CCIe主控设备发布具有“CCIe模式”字节或指示符1104的此I2C通用调用1102。CCIe兼容从动设备确认收到通用调用1102。CCIe兼容从动设备可通过在通用调用期间保持(控制数据总线108的)SCL线为低来插入等待循环(若必要)。
一旦处于CCIe模式,所有CCIe兼容设备能够对来自CCIe主控设备的请求作出响应。不支持CCIe模式的I2C兼容旧式从动设备在共享控制数据总线上的操作状态或任何功能性不受任何CCIe事务的影响。
图12解说了可由CCIe主控设备(例如,图1中的处于I2C模式的主控设备112)发布以向所有具有CCIe能力的设备指示从CCIe模式到I2C模式的转变的示例性CCIe调用1202。CCIe主控设备可发布此退出调用1202来代替CCIeSID。
在CCIe模式中,在CCIe模式中的之后跟随着S的最末数据之后,CCIe主控设备发送特殊的CCIeSID码(“退出”码/指示符1204)以指示(例如,向CCIe兼容设备指示)CCIe模式结束以及转变回到I2C模式。另外,在“退出”码/指示符1204之后,CCIe主控设备根据I2C协议来发送之后跟随着“通用调用”1206的S(开始比特),其中“退出”码1208在I2C协议内的第二个字节处。所有具有CCIe能力的从动设备都必须确收通用调用1204。
图13解说了示例性CCIe从动方标识符(SID)字格式。其解说了将16比特从动方标识符(SID)1304用作CCIeSID字格式1302的一部分。此类SID字格式将在该字被置于控制数据总线上时被用于标识特定从动设备。
图14解说了示例性CCIe地址字格式1402。其解说了每个地址字1406包括16比特地址1404。地址字1406还包括2比特控制码1408和1比特检错常数1410。表1412解说了控制码的各种可能值。
多个地址字可被顺序地发送。如果当前控制字是‘00’,则这表示地址字将跟在后面。如果控制码是‘01’,则下一数据字为写数据字。如果控制码是‘01’,则下一数据字为一字读数据字。控制码‘11’被禁止。
图15解说了示例性写数据字格式1502。其解说了每个数据字1500包括16比特写数据部分1502。写数据字1500还包括2比特控制码1504和1比特检错常数1510。表1514解说了控制码的各种可能值。
多个写数据字可被顺序地发送。若当前写码字的控制码是‘00’(码元C0),那么数据要被写入到先前地址。若当前写码字的控制码是‘01’(码元C1),那么数据要被写入到先前地址+1。如果控制码是‘10’(码元E),则下一字将是SID或退出码。
图16解说了示例性读规范字格式1600。读规范数据字1600可包括16比特读数据值部分1604、2比特控制码1608、和3比特检错常数1610。
在最后一个地址字1607之后,跟随着“读规范”(RS)字1612。读规范(RS)字1612指定了后面跟随的读数据字的数目。如表1616中解说的,控制码‘00’被用于指示来自相同地址的读字。控制码‘01’被用于指示来自增量地址的读字。(数据正被读取自的)从动设备不应发送比由“读规范”(RS)字1604指定的数据字更多的数据字(不包括CHK字)。从动设备应发送至少一个读字(不包括CHK字)。从动设备可在发送由“读规范”(RS)1604字指定的字数目之前结束读取传输。
图17解说了示例性读数据字格式1702。读数据字1702可包括16比特读数据值部分1704、2比特控制码1706、和1比特检错常数1708。由SID1707寻址的从动设备确定要返回给请求方主控设备的字的数目。如表1716中解说的,如果读字继续来自相同地址,则控制码是“00”(码元R0)。如果读字继续来自增量地址,则控制码是“01”(码元R1)。如果该字是最后一个读字并且在该字之后没有CHK,则控制码是“10”(码元E)。控制码“00”被禁止。
共享总线上的示例性I2C传输对CCIe传输
图18解说了I2C一字节写数据操作的示例性时序图。在该示例中,共享控制数据总线108(图1)包括串行数据线SDA1802和串行时钟线SCL1804。图18中解说的传输方案可被称为“I2C模式”。SCL线1804被用于从主控设备向所有从动设备发送时钟,而SDA线1802传送数据比特。I2C主控设备在SDA线1802中发送7比特从动方ID1808以指示主控设备希望访问I2C总线上的哪一个从动设备,然后发送指示写操作的1比特。只有其ID与该7比特从动方ID1808相匹配的从动设备才能导致预期动作。为了使I2C从动设备检测其自己的ID,主控设备必须在SDA线上发送至少8比特(或者在SCL线2204上发送8个时钟脉冲)。
I2C标准要求所有I2C兼容从动设备在接收到START(开始)状况1806(例如,由SCL线为高时在SDA线上的高到低转变来指示)之际使其总线逻辑复位。
CCIe协议将SDA线1802和SCL线1804两者用于数据传输,同时将时钟信号嵌入在数据传输内。例如,数据比特可被转码成随后在诸线上传送的多个码元。通过将时钟信号(图18中的I2C总线的SCL线)嵌入在码元转变内,SDA线1802和SCL线1804两者均可被用于数据传输。
图19解说了其中数据比特已被转码成12个码元以供在SDA线1902和SCL线1904上进行传输的示例性CCIe传输。图19中解说的传输方案可被称为“CCIe模式”。CCIe模式是源同步的,由推挽式驱动器来驱动。在共享控制数据总线上发出数据的任何设备也发出嵌入在数据中(例如,嵌入在码元到码元转变内)的时钟信息。因此,控制数据总线上的仅一个设备被允许在任一时间驱动共享控制数据总线。
为了在同一条总线上支持旧式I2C设备和CCIe设备两者,CCIe模式操作使用相同的START(开始)状况1906、1908、1910,这防止旧式I2C从动设备对任何CCIe操作作出反应(例如,CCIe模式期间的开始状况使旧式I2C从动设备复位)。在此示例中,在传送完整从动方ID(即,完整7比特)之前检测START状况1906、1908、1910(即,由在SCL线1904为高时在SDA线1902上的高到低转变来指示),因此这是不完整的从动方ID(少于7比特)。如果主控设备发送6个SCL脉冲随后发布START状况1906、1908、1910,则所有旧式I2C从动设备在它们将该数据识别为I2C从动方ID之前使其总线逻辑复位。由于这些6比特序列(例如,对应于每两个码元)是在两个START状况1906、1908、1910之间发送的,因而这些6比特序列不被任何I2C从动设备解码为有效的从动方ID。因此,旧式I2C从动设备将不会对不完整的从动方ID采取动作。
在此系统中,主控设备控制对总线的接入。因此,任何希望在控制数据总线上进行传送的设备通常必须向主控设备请求此类接入,例如通过发布中断请求来请求。用于发布中断的现有技术机制依赖于专用中断线或专用中断总线。然而,此类专用中断线或中断总线意味着设备必须包括至少一个附加引脚以容适此类中断线或中断总线。为了消除对此类专用中断引脚和中断线/总线的需要,需要用于CCIe内的带内中断的机制。
对带内中断的使用还应当避免总线争用或冲突。例如,为了避免冲突,当主控设备正驱动控制数据总线时,从动设备不应被允许驱动该控制数据总线(例如,SDA线1802或SCL线1904)以断言IRQ。
示例性比特19区域和校验和
图20解说了从图2-10中解说的编码方案得到的第20比特(比特19)的示例性映射。如能够领会的,可用的三进制数可用于扩展主控设备与从动设备之间的特征和能力。例如,比特19内可用的此三进制数空间(即,其比特19为“1”的数据区域)可用于促成或指示:(a)从动设备到从动设备传输,(b)传输的校验和,(c)主控操作至从动设备的切换,(d)心跳时钟等。
图21解说了图20的第20比特(比特19)区域的示例性映射内的子区域的细节。
SID扫描功能性
根据一个方面,可能期望主控设备高效地扫描耦合至控制数据总线的所有设备。例如,主控设备可在该主控设备引导时扫描耦合至控制总线的所有从动设备。
图22解说了包括SID“扫描全部”命令2202及其相应的有效载荷2204的CCIe传输的一个示例2200。SID“扫描全部”命令2202(由“0x4”码标识)可由主控设备发布。有效载荷2204可包括多个单元扫描ID2210。每个单元扫描ID2210包括SID掩码对2208和响应时段2206。SID掩码对2208可定义标识SID内所要查询的单个比特位置的掩码。
如表2220中所解说的,该32比特SID掩码对2208(展布在两个16比特数据D0和D1上)用于标识16比特SID的特定比特位置是否正被查询,并且若是则还标识正为其查询哪个值(即,0或1)。例如,SID掩码对2208的比特[1]可定义SID的比特[0]将被检查还是掩蔽(即,不被检查)。如果比特[1]指示“检查”,则SID掩码对2208的比特[0]定义该查询是针对“0”还是“1”。
由响应2206定义的时段允许从动设备在共享总线上带内地对SID查询进行响应。对于每个单元SID查询2210,其未被掩蔽的SID比特与该查询比特相匹配的每个从动设备(即,该从动设备的SID在所查询的比特位置处具有与该查询比特相匹配的比特)在共享总线的至少一条线上带内地发送查询响应。这允许主控设备查明总线上是否有任何从动设备具有部分匹配的SID(即,在所查询的比特位置处具有与该查询比特相匹配的比特的SID)。
多个单元SID查询2210由主控设备发送以完全标识耦合至共享总线的所有设备的SID。
“扫描全部”命令2202或其变型可在与主控的引导不直接相关的时机被发布。在一个示例中,主控设备可扫描耦合至控制总线的所有从动设备以检查是否所有从动设备都处于同步。在该示例中,主控设备不一定需要执行完整的“盲扫描”(例如参见图26-42),并且主控方可以发布无掩码和/或带有不将任何SID比特从比较中排除的掩码的查询,因为主控设备可能已经知道哪些从动设备耦合至总线。在另一示例中,主控设备可扫描耦合至控制总线的所有从动设备以检查一个或多个特定设备是否处于同步。在该示例中,主控设备针对要被扫描的每个从动设备可仅发送一个单元SID查询。
图23解说了可被用于扫描SID的一种算法2300的示例。算法2300可通过迭代地掩蔽SID比特并请求具有与未被掩蔽的比特相匹配的比特的每个从动设备发送响应来操作。在一个示例中,SID比特可从最低有效比特到最高有效比特来被迭代地掩蔽,但是也可以采纳其他掩蔽序列。
图24解说了包括SDA线和SCL线的共享总线上的SID扫描响应字“RESP”2206的时序图。在该示例中,SID扫描响应2430由三进制数2222_2221_21013或十六进制0x81B8F(其等于12码元序列3131_3130_2323)标识。这些码元在SDA线2426和SCL线2427上被传送。为了允许从动设备在响应时段2406期间使用SDA线2426来对SID扫描查询作出响应,主控设备释放SDA线。每个接收机设备随后掩蔽至其时钟数据恢复电路(CDR)的SDA线输入长达该响应时段2406。主控方翻转SCL线(改变其状态),从而每个接收机设备能够在SDA线处于使用中时从SCL线上的此类翻转中恢复时钟。
根据CCIe协议,接收方从动设备可以检测在开始S指示符2412后的例如第n个RXCLK2414。第n个RXCLK2414可触发内部SDA掩码2424以内部地(例如,在接收方从动设备内)掩蔽SDA线2426。
在n+1RXCLK2416处,从动设备可通过拉低SDA线2426来断言/发布响应。SDA线2426由主控设备微弱地拉高,从而在它被(从动设备)拉低时这用于指示对SID扫描查询的肯定响应。通过将SDA线2426微弱地拉高,这允许从动设备将SDA线2426拉低以断言对SID扫描查询的响应。
在n+1RXCLK2416与n+2RXCLK2418之间但在n+2RXCLK2418之前,并非等待直至下一个时钟循环,主控设备可监视SDA线2426以查明其是否和/或何时变低(意味着响应已被断言/发布)。注意,主控设备对SDA线2426的此种监视可以仅在响应时段2406期间被执行以便异步地检测来自从动设备的任何所断言/发布的响应。
在n+2RXCLK2418处,从动设备可释放SDA线2426。
在n+2RXCLK2418与n+3RXCLK2420之间,主控设备可重新启用其SDA线驱动器并开始将SDA线2426驱动至高。因此,接收机设备(例如,断言方从动设备)能够安全地在n+3RXCLK2420处释放SDA掩码2424。
在n+3RXCLK2420处,从动设备可释放SDA掩码2424。以此方式,SID扫描响应可由从动设备在SDA线2426上所定义的响应时段2406期间传送。
图25是解说可被迭代地执行以找出耦合至串行总线的多个设备的SID的扫描序列的流程图2500。该扫描包括在串行总线上传送包括SID比特2530和掩码2532的查询。耦合至该串行总线的从动设备向其自己的唯一性SID应用掩码2532,以使得例如被掩蔽的比特被迫为二进制0。从动设备可随后将其经掩蔽的SID与该查询中所传送的SID比特2530作比较。如果该比较产生匹配,则该从动设备在响应时段2406期间将SDA线2426驱动至低以向主控设备发信令通知该匹配的发生。主控设备可随后在修改掩码之后传送新的查询以减少从在从动设备处的比较中消除的比特数目。主控设备可逐比特位置地发现该从动设备的SID。在流程图2400中所解说的示例中,主控查找具有值0的SID比特位置,并且如果没有发生响应,则主控扫描在该SID比特位置中具有二进制1值的从动设备。
将领会,在该掩码操作用于掩蔽至少一个比特位置时,多个设备可对查询作出响应。当该掩码允许在SID中所有比特被测试时,这些SID比特对应于唯一性SID并且可预期仅与该唯一性SID相关联的从动设备会对该查询作出响应。
当SDA线2426响应于任何查询被驱动至低时,主控设备可注意到有至少一个从动设备正对其SID扫描查询作出响应。主控设备可随后测试其余SID比特,直至发现第一从动设备的唯一性SID。主控设备可随后“回溯”以找出可能已对与第一从动设备所响应的相同的查询作出了响应的其他从动设备。例如,第二从动设备可具有有某个数目的最低有效比特与第一从动设备的SID中相同数目的比特相同的SID。主控设备可返回至其中这些SID比特中未被掩蔽的最高有效比特(MSB)(起效MSB)被设为0的每个先前查询,并且主控设备可传送该起效MSB被设为值1的查询。该办法可发现与所发现的从动设备前后对一个或多个查询作出响应的一个或多个从动设备。换言之,回溯回访并搜索在先前扫描期间未被覆盖的路径。
当主控设备没有接收到对查询的响应时,它可避免发送包括该查询中的SID比特配置的进一步查询。
流程图2500解说了跟随在该扫描序列中的给定点之后的扫描过程。最初,所有SID比特可被设为0并且掩码可被设置成阻止从动设备对除了其唯一性SID的最低有效比特(LSB)之外的所有比特的比较。
该过程在框2502开始,其中主控设备确定扫描的起始点。该起始点可以是初始的起始点或者在已发现SID之后该扫描的恢复进行。该起始点可被定义为当前掩码2532和当前SID比特2530。在框2504,主控设备发送具有当前掩码2532和当前SID比特2530的查询。从动设备接收该查询并使用该查询中所提供的掩码2532来掩蔽其各自相应的唯一性SID。在一个示例中,掩蔽留下特定数目的最低有效比特作为经掩蔽的SID。如果经掩蔽的SID与在该查询中接收到的SID比特2530相匹配,则从动设备可将SDA线2426驱动至低。
主控设备将SDA线2426的断言认为是对该从动设备具有的唯一性SID具有与在该查询中所传送的SID比特2530相匹配的至少一些比特的确认。相应地,主控设备可在框2506确定SDA线2426已被断言,并且可前进至框2516。在框2516,主控设备确定掩码2532是否导致从动方SID中的任何比特在比较期间被忽略。如果否,则在框2518,主控设备确定从动设备具有与在该查询中发送的SID比特严格匹配的SID。如果在框2516确定掩码2532阻止了从动方SID的一个或多个比特被考虑,则该过程在框2520继续。在框2520,主控设备可修改掩码以使得从动方SID的下一个更高有效比特与将在下一查询中传送的SID比特2530作比较。主控设备可在框2522清除SID比特2530的当前MSB。该扫描可随后在框2504以经更新的掩码2532和SID比特2530恢复进行。在一些实例中,主控设备可跳过发送针对在步骤2524生成的比特配置的查询。在框2526,主控设备可确定是否接收到先前肯定响应。如果确定没有接收到先前响应,则该扫描在框2504继续。如果在框2526确定已接收到先前响应,则至少一个从动设备具有在步骤2524生成的比特配置,因为MSB的替换值(=0)没有引发来自该至少一个从动设备的响应。相应地,该扫描可在框2512继续。
如果在框2506处主控设备确定SDA线2426未响应于查询而被断言,则该过程在框2508继续。在框2508,主控设备可以可任选地将当前SID比特2530标记为没有在耦合至串行总线的任何从动设备的SID中发生的比特模式。主控设备可随后避免扫描在对应于掩码2532的诸比特位置中具有这些当前SID比特的任何设备。该过程随后在框2510继续,其中主控设备确定这些SID比特2530中由掩码2532的操作所定义的当前MSB是否被设为0。如果在框2510处确定SID比特2530的当前MSB被设为1,则可以假定没有设备对当前MSB被设为1或0的查询作出了响应,并且该扫描可在框2528终止。将领会,在没有从动设备对扫描序列中的任何查询作出响应时,可到达框2528。
如果在框2510处确定这些SID比特2530的当前MSB被设为0,则在框2524,这些SID比特2530的当前MSB被设为二进制值1。该扫描随后以经更新的SID比特2530前进至框2526。
如果在框2526处确定在当前扫描中没有接收到先前响应,则该扫描在框2504继续,其中发送当前MSB被设为1的查询。如果在框2526处,有先前响应被接收到,则可以假定未曾对当前MSB被设为0的查询作出响应的从动设备将对当前MSB被设为1的查询作出响应。相应地,无需发送当前MSB被设为1的查询,并且该扫描前进至框2512。在框2512,主控设备确定掩码2532是否导致从动方SID中的任何比特在比较期间被忽略。如果否,则确定已标识出SID并且当前扫描可在框2514终止。
如果在框2512确定掩码2532阻止了从动方SID的一个或多个比特被考虑,则该过程在框2520继续。在框2520,主控设备可修改掩码以使得从动方SID的下一个当前MSB与将在下一查询中传送的SID比特2530作比较。主控设备可在框2522清除这些SID比特2530的当前MSB。该扫描随后在框2504以经更新的掩码2532和SID比特2530恢复进行。
主控设备可跟踪导致SDA线2426的断言的任何掩码2532和SID比特2530组合,并且可基于这些掩码2532和SID比特2530组合中的一者或多者来发起新的扫描。在一个示例中,主控设备可在发现第一SID之后、或在从MSB比特被设为1的查询没有接收到响应时意识到没有从动设备具有该SID模式子集之后发起新的扫描(例如,流程2500)。新的扫描在响应于具有MSB值0的SID比特2530的上一次SDA线2426断言处开始,其中该MSB值是由相应掩码2532的动作来确定的。
图26-41解说了根据本文所公开的某些方面的迭代SID扫描的各种结果。该SID扫描可使用例如图25中解说的过程来执行,并且扫描序列在图26-41中描绘,图26-41关于SID比特索引2602解说了扫描序列的进展。出于本描述的目的,在三个从动设备耦合至串行总线时执行扫描。第一从动设备可具有等于十六进制数0x402A或二进制数0100_0000_0010_1010的设备标识符SID0。第二从动设备可具有等于十六进制数0x113E或二进制数0001_0001_0011_1110的设备标识符SID1。第三从动设备可具有等于十六进制数0x0908或二进制数0000_1001_0000_1000的设备标识符SID2。
如图26中所解说的,从16比特SID的最低有效比特2604开始,主控设备发送请求所有在其SID的最低有效比特(比特0)中具有‘0’的从动设备例如通过将SDA线2426保持为低来作出响应的查询。在图26中所解说的三个SID的示例中,所有三个从动设备都作出响应。
如图27中所解说的,该查询过程针对比特12704以及请求所有在其SID的该比特位置中具有‘0’的从动设备作出响应的查询来重复。只有具有SID0x0908(SID2)的从动设备通过将SDA线2426保持为低来作出响应。
如图28中所解说的,该查询过程针对比特22804以及请求所有在其SID的该比特位置中具有‘0’的从动设备作出响应的查询来重复。具有SID0x0908(SID2)的从动设备作出响应。
如图29中所解说的,该查询过程针对比特32904以及请求所有在其SID的该比特位置中具有‘0’的从动设备作出响应的查询来重复。没有从动设备作出响应。
如图30中所解说的,该查询过程针对比特32904以及请求所有在其SID的该比特位置中具有‘1’的从动设备作出响应的查询来重复。具有SID0x0908(SID2)的从动设备将作出响应。然而,由于主控设备知道此处将作出肯定响应,因此主控设备无需作出查询。取而代之,主控设备可简单地在SID比特索引2602中设置“1”值并继续行至比特43104(图31)。
如图31中所解说的,该查询过程针对比特43104至比特73106以及请求所有在其SID的相应比特位置中具有‘0’的从动设备作出响应的查询来迭代地重复。具有SID0x0908(SID2)的从动设备对这些单独查询中的每一者作出响应。
如图32中所解说的,该查询过程针对比特83204以及请求所有在其SID的该比特位置中具有‘0’的从动设备作出响应的查询来重复。没有从动设备作出响应。
如图33中所解说的,由于主控设备知道针对比特83204处的“1”的查询将作出肯定响应,因此主控设备无需作出查询。取而代之,主控设备可简单地在SID比特索引2602中设置“1”值并继续行至比特93204。
一般地,该查询过程使用等于‘0’的比特来重复直至没有响应被接收到并随后切换至等于‘1’的比特,直至找到第一设备的完整SID。
如图34中所解说的,该查询过程针对比特93404至比特153406迭代地重复。具有SID0x0908(SID2)的从动设备对这些单独查询中的每一者作出响应。由于该SID的所有16比特都已被检查,因此与SID20x0908相关联的从动设备被肯定地标识出。
在已标识出从动设备SID2的情况下,图35解说了该查询过程现在被回溯以尝试沿该路径标识另一从动设备。该回溯过程被重复,直至没有从动设备作出响应。在每个被回溯的比特位置,主控设备以先前未经测试的值来执行查询。例如,在比特15,该查询将‘1’用于其回溯查询。随后,在比特14,该查询将‘1’用于其回溯查询。
图36解说了在已回溯并消除下至比特12704的所有可能路径的情况下,该查询过程针对比特12704继续,比特12704是“回溯”得到响应的第一个查询。传送请求所有在其SID的该比特位置中具有‘1’的从动设备作出响应的查询。具有SID0x402A(SID0)的从动设备和具有SID0x113E(SID1)的从动设备通过将SDA线2426保持为低来作出响应。
图37和38解说了该查询过程继续直至该SID的所有16比特都已被检查,与SID00x402A相关联的从动设备被肯定地标识出。
图39再次解说了搜索更多匹配SID的回溯过程。
图40解说了在已回溯并消除下至比特22804的所有可能路径的情况下,该查询过程针对比特22804以及请求所有在其SID的该比特位置中具有‘1’的从动设备作出响应的查询来继续。仅具有SID0x113E(SID1)的从动设备通过将SDA线2426保持为低来作出响应。
图41解说了该查询过程继续直至该SID的所有16比特都已被检查,与SID10x113E相关联的从动设备被肯定地标识出。
图42再次解说了搜索更多匹配SID直至已针对该路径测试了所有替换比特的回溯过程。
主控设备可映射或以其他方式跟踪在结果得到肯定响应的查询中所使用的SID值以及跟踪在没有产生响应的查询中所使用的SID值。
主控设备可采用该“SID扫描全部“命令来扫描耦合至共享控制数据总线的新插入的以及先前存在的设备的所有SID。将领会,主控设备不限于其遍历SID比特索引2602的特定次序。在该示例中,如本文所描述的,SID比特索引2602从比特0到比特15被遍历。在另一示例中,SID比特索引2602从比特15到比特0被遍历。在其他示例中,如本文所描述的,SID比特索引2602可按照非线性和/或随机或伪随机次序被遍历,其中例如预期从动设备将被提供已根据特定次序或方案来指派的SID。
以SID扫描来支持热插
根据一个方面,可能期望在共享总线和/或主控设备在操作之后将设备(例如,从动设备)“热插”到共享控制数据总线。然而,允许设备在控制数据总线的主控设备的初始引导之后被耦合至控制数据总线需要某种方式来允许主控设备检测新插入的从动设备(或非活跃主控设备)。为了完成此类“热插”功能性,新插入的从动设备可(例如,经由专用IRQN)向主控设备发送IRQ信号并使用最长可能的信号周期。主控设备可随后发布“SID扫描新”命令以扫描耦合至共享控制数据总线的先前未曾被扫描的所有从动设备并标识新添加的从动设备。
根据一个方面,支持SID扫描的从动设备可存储指示在上电之后其SID是否已被扫描的信息。例如,一旦设备针对其SID已被扫描,该从动设备就可设置指示其已被扫描的内部寄存器。该寄存器允许先前被扫描过的从动设备忽略此“SID扫描新”命令,从而仅新插入的设备作出响应。
新耦合至共享控制数据总线的设备(包括具有先前未曾被扫描的SID的设备)通常被要求和/或预期对“SID扫描新”命令作出响应。具有先前已被扫描过的SID的设备无需对“SID扫描新”命令作出响应。
图43解说了包括SID“扫描新”命令4302及其相应的有效载荷4304的CCIe传输的一个示例4300。SID“扫描新”命令4302(由“0x5”码标识)可由主控设备发布。有效载荷4304可包括多个单元扫描ID4310。每个单元扫描ID4310包括SID掩码对4308和响应时段4306。SID掩码对4308可定义标识SID内要查询的单个比特位置的掩码。由于这是SID“扫描新”命令4302,因此所有先前被扫描过的设备可忽略它。因此,仅新插入共享总线的设备被标识。
如表4320中所解说的,32比特SID掩码对4308(展布在两个20比特字D0和D1上)用于标识16比特SID的特定比特位置是否正被查询,并且若是,则还标识正为其查询哪个值(即,0或1)。例如,SID掩码对4308的比特[1]可定义SID的比特[0]将被检查还是掩蔽(即,不被检查)。如果比特[1]指示“检查”,则SID掩码对4308的比特[0]定义该查询是针对“0”还是“1”。
由响应4306定义的时段允许从动设备在共享总线上带内地对SID查询进行响应。对于每个单元SID查询4310,其未被掩蔽的SID比特与该查询比特相匹配的每个从动设备(即,该从动设备的SID在所查询的比特位置处具有与该查询比特相匹配的比特)在共享总线的至少一条线上带内地发送查询响应。这允许主控设备查明总线上是否有任何从动设备具有部分匹配的SID(即,在所查询的比特位置处具有与该查询比特相匹配的比特的SID)。
多个单元SID查询4310由主控设备发送以完全标识耦合至共享总线的所有设备的SID。
扫描或发现新热插入的从动设备的SID可如图25-42中所解说地执行。
图44是解说采用可被配置成执行本文所公开的一个或多个功能的处理电路4402的装置的硬件实现的简化示例的概念图4400。根据本公开的各种方面,本文所公开的元素、或元素的任何部分、或者元素的任何组合可使用处理电路4402来实现。处理电路4402可包括一个或多个处理器4404,其由硬件和软件模块的某种组合来控制。处理器4404的示例包括:微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、状态机、定序器、门控逻辑、分立的硬件电路、以及其他配置成执行本公开中通篇描述的各种功能性的合适硬件。该一个或多个处理器4404可包括执行特定功能并且可由软件模块4416之一来配置、增强或控制的专用处理器。该一个或多个处理器4404可通过在初始化期间加载的软件模块4416的组合来配置,并且通过在操作期间加载或卸载一个或多个软件模块4416来进一步配置。
在所解说的示例中,处理电路4402可使用由总线4410一般化地表示的总线架构来实现。取决于处理电路4402的具体应用和整体设计约束,总线4410可包括任何数目的互连总线和桥接器。总线4410将各种电路链接在一起,包括一个或多个处理器4404、和存储4406。存储4406可包括存储器设备和大容量存储设备,并且在本文可被称为计算机可读介质和/或处理器可读介质。总线4410还可链接各种其他电路,诸如定时源、定时器、外围设备、稳压器、和功率管理电路。总线接口4408可提供总线4410与一个或多个收发机4412之间的接口。可针对处理电路所支持的每种联网技术来提供收发机4412。在一些实例中,多种联网技术可共享收发机4412中找到的电路系统或处理模块中的一些或全部。每个收发机4412提供用于通过传输介质与各种其它装置通信的手段。取决于该装置的本质,也可提供用户接口4418(例如,按键板、显示器、扬声器、话筒、操纵杆),并且该用户接口4418可直接或通过总线接口4408通信地耦合至总线4410。
处理器4404可负责管理总线4410和一般处理,包括对存储在计算机可读介质(其可包括存储4406)中的软件的执行。在这一方面,处理电路4402(包括处理器4404)可被用来实现本文所公开的方法、功能和技术中的任一种。存储4406可被用于存储处理器4404在执行软件时操纵的数据,并且该软件可被配置成实现本文所公开的方法中的任一种。
处理电路4402中的一个或多个处理器4404可执行软件。软件应当被宽泛地解释成意为指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数、算法等,无论其是用软件、固件、中间件、微代码、硬件描述语言、还是其他术语来述及皆是如此。软件可按计算机可读形式驻留在存储4406中或驻留在外部计算机可读介质中。外部计算机可读介质和/或存储4406可包括非瞬态计算机可读介质。作为示例,非瞬态计算机可读介质包括:磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩碟(CD)或数字多功能碟(DVD))、智能卡、闪存设备(例如,“闪存驱动器”、卡、棒、或钥匙驱动器)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦式PROM(EPROM)、电可擦式PROM(EEPROM)、寄存器、可移动盘、以及任何其他用于存储可由计算机访问和读取的软件和/或指令的合适介质。作为示例,计算机可读介质和/或存储4406还可包括载波、传输线、和任何其它用于传送可由计算机访问和读取的软件和/或指令的合适介质。计算机可读介质和/或存储4406可驻留在处理电路4402中、处理器4404中、在处理电路4402外部、或跨包括该处理电路4402在内的多个实体分布。计算机可读介质和/或存储4406可实施在计算机程序产品中。作为示例,计算机程序产品可包括封装材料中的计算机可读介质。本领域技术人员将认识到如何取决于具体应用和加诸于整体系统上的总体设计约束来最佳地实现本公开中通篇给出的所描述的功能性。
存储4406可维持以可加载代码段、模块、应用、程序等来维持和/或组织的软件,其在本文中可被称为软件模块4416。软件模块4416中的每一者可包括在安装或加载到处理电路4402上并被一个或多个处理器4404执行时有助于运行时映像4414的指令和数据,运行时映像4414控制一个或多个处理器4404的操作。在被执行时,某些指令可使得处理电路4402执行根据本文所描述的某些方法、算法和过程的功能。
软件模块4416中的一些可在处理电路4402初始化期间被加载,并且这些软件模块4416可配置处理电路4402以实现本文所公开的各种功能的执行。例如,一些软件模块4416可配置处理器4404的内部设备和/或逻辑电路4422,并且可管理对外部设备(诸如,收发机4412、总线接口4408、用户接口4418、定时器、数学协处理器等)的访问。软件模块4416可包括控制程序和/或操作系统,其与中断处理程序和设备驱动器交互并且控制对由处理电路4402提供的各种资源的访问。这些资源可包括存储器、处理时间、对收发机4412的访问、用户接口4418等。
处理电路4402的一个或多个处理器4404可以是多功能的,由此软件模块4416中的一些被加载和配置成执行不同功能或相同功能的不同实例。这一个或多个处理器4404可附加地被适配成管理响应于来自例如用户接口4418、收发机4412和设备驱动器的输入而发起的后台任务。为了支持多个功能的执行,这一个或多个处理器4404可被配置成提供多任务环境,由此多个功能中的每个功能按需或按期望实现为由一个或多个处理器4404服务的任务集。在一个示例中,多任务环境可使用分时程序4420来实现,分时程序4420在不同任务之间传递对处理器4404的控制权,由此每个任务在完成任何未决操作之际和/或响应于输入(诸如中断)而将对一个或多个处理器4404的控制权返回给分时程序4420。当任务具有对一个或多个处理器4404的控制权时,处理电路有效地专用于由与控制方任务相关联的功能所针对的目的。分时程序4420可包括操作系统、在循环法基础上转移控制权的主循环、根据各功能的优先级化来分配对一个或多个处理器4404的控制权的功能、和/或通过将对一个或多个处理器4404的控制权提供给处置功能来对外部事件作出响应的中断驱动式主循环。
图45是解说用于通信链路上的数据通信的方法的流程图4500。该方法可由控制数据总线(诸如CCIe总线)中的主控设备执行。在框4502,可在控制数据总线上传送第一查询。第一查询可包括第一比特配置。
在框4504,可确定从动设备的存在,其中该从动设备具有包括与第一比特配置相匹配的第二比特配置的从动方标识符。
在框4506,可确定该从动设备的SID是否已被标识出。如果该SID已被标识出,则该方法可终止。如果该SID尚未被标识出,则该方法在框4508继续。
在框4508,可在该控制数据总线上重复地传送具有不同比特配置的附加查询,直至该从动方标识符的所有比特都被确定。
在一个示例中,从动设备针对包括与该从动方标识符中的相应比特配置相匹配的比特配置的每个查询来断言响应。
从动设备可通过将在第一查询中传送的字与该从动方标识符的已通过应用在第一查询中传送的掩码进行掩蔽的副本作比较来标识第一比特配置与第二比特配置之间的匹配。附加查询可包括第二查询。掩码可被修改以获得暴露从动方标识符的附加比特以供比较的经修改掩码,并且第二查询可在该控制数据总线上被传送,其中第二查询包括第一比特配置和经修改掩码。附加查询可包括在没有接收到对先前查询的响应时传送的第三查询。第一比特配置可被修改以获得第三比特配置并且第三查询可在该控制数据总线上被传送,其中第三查询包括第三比特配置以及在先前查询中传送的掩码。
附加查询可包括在已确定该从动方标识符的所有比特之后传送的第四查询。掩码可被复原为具有在导致至少一个从动设备断言响应的在先查询中传送的值的经复原掩码。该在先查询中所传送的比特配置可被修改以获得第四比特配置。第四查询可在该控制数据总线上被传送,其中第四查询包括第四比特配置和经复原掩码。
不同从动设备可对第四查询作出响应。该不同从动设备可在第四比特配置匹配与该不同从动设备相关联的不同从动方标识符中的相应比特配置时断言响应。
在一些实例中,修改第一比特配置包括翻转第一比特配置的起效MSB的值。起效MSB可被定义为与从动方标识符中通过应用掩码未被抑制的最高值比特相对应的比特。
在一些实例中,多个从动设备可在第一查询所定义的响应时段内对该查询作出响应。该多个从动设备可通过在第一比特配置匹配该多个从动设备各自相应的从动方标识符中的相应比特配置时断言响应来作出响应。该响应可例如在由该多个从动设备共享的控制数据总线上被断言。
在一个示例中,该控制数据总线是双线总线。第一查询可响应于上电/复位事件或由从动设备在其首次耦合至控制数据总线时生成的中断而被传送。从动设备可根据CCIe协议来操作。查询可在扫描命令中传送。扫描命令可被定向至耦合至控制数据总线的所有从动设备(例如,“SID扫描全部”命令)。扫描命令可被定向至耦合至控制数据总线的先前未曾被标识的从动设备(例如,“SID扫描新”命令)。
图46是解说采用处理电路4602的装置4600的硬件实现的示例的概念图。在该示例中,处理电路4602可被实现成具有由总线4616一般化地表示的总线架构。取决于处理电路4602的具体应用和整体设计约束,总线4616可包括任何数目的互连总线和桥接器。总线4616将包括一个或多个处理器(由处理器4612一般化地表示)和计算机可读介质(由处理器可读存储介质4614一般化地表示)的各种电路链接在一起。总线4616还可链接各种其他电路,诸如定时源、定时器、外围设备、稳压器、和功率管理电路。总线接口4618提供总线4616与收发机4620之间的接口。收发机4620可包括提供用于在传输介质上与各种其它装置通信的手段的总线接口。取决于该装置的本质,也可提供用户接口4622(例如,按键板、显示器、扬声器、话筒、操纵杆)。一个或多个时钟生成电路或模块4624可以设在处理电路4602内或者由处理电路4602和/或一个或多个处理器4612控制。在一个示例中,时钟生成电路或模块4624可包括一个或多个晶体振荡器、一个或多个锁相环设备和/或一个或多个可配置的时钟树。
处理器4612负责管理总线4616和一般处理,包括对存储在处理器可读存储介质4614上的软件的执行。该软件在由处理器4612执行时使处理电路4602执行上文针对任何特定装置描述的各种功能。处理器可读存储介质4614还可被用于存储由处理器4612在执行软件时操纵的数据。
在一种配置中,处理电路可包括在控制数据总线4620(诸如CCIe总线)上传送信息的模块和/或电路4604。处理电路可包括配置成修改在查询中传送的掩码和/或SID比特的一个或多个模块和/或电路4606。处理电路可包括用于配置查询并使用查询序列来进行对SID的扫描的模块和/或电路4608。处理电路可包括检测并处置例如IRQ总线上的IRQ断言的模块和/或电路4610。在一个示例中,模块和/或电路4604、4606、4608、4610以及总线接口4618可以协作以:在控制数据总线上传送第一查询,第一查询包括第一比特配置;确定具有包括与第一比特配置相匹配的第二比特配置的从动方标识符的从动设备的存在;以及在该控制数据总线上重复地传送具有不同比特配置的附加查询,直至该从动方标识符的所有比特都被确定。从动设备可响应于包括与该从动方标识符中的相应比特配置相匹配的比特配置的每个查询来断言中断。从动设备可通过将在第一查询中传送的字与该从动方标识符的已通过应用在第一查询中传送的掩码来掩蔽的副本作比较来标识第一比特配置与第二比特配置之间的匹配。
应理解,所公开的过程中各步骤的具体次序或层次是示例性办法的解说。应理解,基于设计偏好,可以重新编排这些过程中各步骤的具体次序或层次。所附方法权利要求以范例次序呈现各种步骤的要素,且并不意味着被限定于所呈现的具体次序或层次。
提供先前描述是为了使本领域任何技术人员均能够实践本文中所描述的各种方面。对这些方面的各种改动将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。因此,权利要求并非旨在被限定于本文中所示出的方面,而是应被授予与语言上的权利要求相一致的全部范围,其中对要素的单数形式的引述除非特别声明,否则并非旨在表示“有且仅有一个”,而是“一个或多个”。除非特别另外声明,否则术语“一些”指的是一个或多个。本公开通篇描述的各种方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文中所公开的任何内容都并非旨在贡献给公众,无论这样的公开是否在权利要求书中被显式地叙述。没有任何权利要求元素应被解释为装置加功能,除非该元素是使用短语“用于……的装置”来明确叙述的。
附图中解说的组件、步骤、特征、和/或功能中的一个或多个可以被重新编排和/或组合成单个组件、步骤、特征、或功能,或者可以实施在数个组件、步骤或功能中。还可添加附加的元件、组件、步骤、和/或功能而不会脱离本文中所公开的新颖特征。附图中所解说的装置、设备和/或组件可以被配置成执行在这些附图中所描述的方法、特征、或步骤中的一个或多个。本文中描述的新颖算法还可以高效地实现在软件中和/或嵌入在硬件中。
另外应注意,这些实施例可能是作为被描绘为流程图、流图、结构图、或框图的过程来描述的。尽管流程图可能会把诸操作描述为顺序过程,但是这些操作中有许多操作能够并行或并发地执行。另外,这些操作的次序可以被重新安排。过程在其操作完成时终止。过程可对应于方法、函数、规程、子例程、子程序等。当过程对应于函数时,它的终止对应于该函数返回调用方函数或主函数。
此外,存储介质可以代表用于存储数据的一个或多个设备,包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光学存储介质、闪存设备、和/或其他用于存储信息的机器可读介质。术语“机器可读介质”包括但不限于:便携或固定的存储设备、光学存储设备、无线信道以及能够存储、包含、或承载指令和/或数据的各种其它介质。
此外,诸实施例可以由硬件、软件、固件、中间件、微代码、或其任何组合来实现。当在软件、固件、中间件、或微码中实现时,执行必要任务的程序代码或代码段可被存储在诸如存储介质之类的机器可读介质或其它存储中。处理器可以执行这些必要的任务。代码段可表示规程、函数、子程序、程序、例程、子例程、模块、软件包、类,或是指令、数据结构、或程序语句的任何组合。通过传递和/或接收信息、数据、自变量、参数、或存储器内容,一代码段可被耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可以经由包括存储器共享、消息传递、令牌传递、网络传输等的任何合适的手段被传递、转发、或传输。
结合本文中公开的示例描述的各个解说性逻辑块、模块、电路、元件和/或组件可用设计成执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑组件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以实现为计算组件的组合,例如DSP与微处理器的组合、数个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的示例描述的方法或算法可直接在硬件中、在能由处理器执行的软件模块中、或在这两者的组合中以处理单元、编程指令、或其他指示的形式实施,并且可被包含在单个设备中或跨多个设备分布。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。存储介质可耦合到处理器以使得该处理器能从/向该存储介质读写信息。替换地,存储介质可以被整合到处理器。
本领域技术人员将可进一步领会,结合本文中公开的实施例描述的各种解说性逻辑块、模块、电路、和算法步骤可被实现为电子硬件、计算机软件、或两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。
本文所述的本发明的各种特征可实现于不同系统中而不脱离本发明。应注意,以上实施例仅是示例,且不应被解释成限定本发明。这些实施例的描述旨在是解说性的,而并非旨在限定权利要求的范围。由此,本发明的教导可以现成地应用于其他类型的装置,并且许多替换、修改和变形对于本领域技术人员将是显而易见的。

Claims (30)

1.一种方法,包括:
在控制数据总线上传送第一查询,其中所述第一查询包括第一比特配置;
确定具有包括与所述第一比特配置相匹配的第二比特配置的从动方标识符的从动设备的存在;以及
在所述控制数据总线上重复地传送具有不同比特配置的附加查询,直至所述从动方标识符的所有比特都被确定,
其中所述从动设备针对包括与所述从动方标识符中的相应比特配置相匹配的比特配置的每个查询来断言响应。
2.如权利要求1所述的方法,其特征在于,所述从动设备通过将在所述第一查询中传送的字与所述从动方标识符的已通过应用在所述第一查询中传送的掩码进行掩蔽的副本作比较来标识所述第一比特配置与所述第二比特配置之间的匹配。
3.如权利要求2所述的方法,其特征在于,所述附加查询包括第二查询,并且所述方法进一步包括:
修改所述掩码以获得暴露所述从动方标识符的附加比特以供比较的经修改掩码;以及
在所述控制数据总线上传送所述第二查询,其中所述第二查询包括所述第一比特配置和所述经修改掩码。
4.如权利要求2所述的方法,其特征在于,所述附加查询包括在没有接收到对先前查询的响应时传送的第三查询,并且所述方法进一步包括:
通过翻转所述第一比特配置的起效最高有效比特(MSB)的值来修改所述第一比特配置以获得第三比特配置,其中所述起效MSB被定义为与所述从动方标识符中通过应用在所述先前查询中传送的掩码未被抑制的最高值比特相对应的比特;
修改所述掩码以获得暴露所述从动方标识符的附加比特以供比较的经修改掩码;以及
在所述控制数据总线上传送所述第三查询,其中所述第三查询包括所述第三比特配置以及在所述先前查询中传送的所述掩码。
5.如权利要求2所述的方法,其特征在于,所述附加查询包括在已确定所述从动方标识符的所有比特之后传送的第四查询,并且所述方法进一步包括:
复原所述掩码以获得具有在导致至少一个从动设备断言所述响应的在先查询中传送的值的经复原掩码;
修改所述在先查询中所传送的比特配置以获得第四比特配置;以及
在所述控制数据总线上传送所述第四查询,其中所述第四查询包括所述第四比特配置和所述经复原掩码。
6.如权利要求5所述的方法,其特征在于,不同从动设备对所述第四查询作出响应,其中所述不同从动设备在所述第四比特配置匹配与所述不同从动设备相关联的不同从动方标识符中的相应比特配置时断言所述响应。
7.如权利要求1所述的方法,其特征在于,多个从动设备对所述第一查询作出响应,其中所述多个从动设备在所述第一比特配置匹配所述多个从动设备各自相应的从动方标识符中的相应比特配置时断言相同的响应。
8.如权利要求7所述的方法,其特征在于,所述响应是使用所述控制数据总线的第一线来断言的。
9.如权利要求1所述的方法,其特征在于,所述控制数据总线是双线总线,其中所述双线总线的两条线均被用于传递所述第一查询。
10.如权利要求1所述的方法,其特征在于,在所述从动方标识符的所有比特都被确定之后,所述方法进一步包括:
在所述控制数据总线上重复地传送具有不同比特配置的附加查询,直至耦合至所述控制数据总线的所有从动设备的所有从动方标识符都已被确定。
11.如权利要求1所述的方法,其特征在于,所述第一查询被定向至耦合至所述控制数据总线的所有从动设备。
12.如权利要求1所述的方法,其特征在于,所述第一查询被定向至耦合至所述控制数据总线的先前未曾被标识的从动设备。
13.如权利要求1所述的方法,其特征在于,所述第一查询定义响应时段,其中如果所述第二比特配置与所述第一比特配置之间存在匹配,则所述从动设备必须在所述响应时段中在所述控制数据总线上作出响应。
14.如权利要求1所述的方法,其特征在于,所述响应是由所述从动设备通过在所述第二比特配置与所述第一比特配置之间存在匹配的情况下暂时拉低所述控制数据总线的第一线来断言的。
15.如权利要求14所述的方法,其特征在于,耦合至所述控制数据总线的其他设备在响应时段期间掩蔽其对所述控制数据总线的所述第一线的输入。
16.一种设备,包括:
耦合至控制数据总线的从动设备;
主控设备,其耦合至所述控制数据总线并且适配成管理所述控制数据总线上的通信,并且被配置成:
在控制数据总线上传送第一查询,其中所述第一查询包括第一比特配置;
确定具有包括与所述第一比特配置相匹配的第二比特配置的从动方标识符的从动设备的存在;以及
在所述控制数据总线上重复地传送具有不同比特配置的附加查询,直至所述从动方标识符的所有比特都被确定,
其中所述从动设备针对包括与所述从动方标识符中的相应比特配置相匹配的比特配置的每个查询来断言响应。
17.如权利要求16所述的设备,其特征在于,所述从动设备通过将在所述第一查询中传送的字与所述从动方标识符的已通过应用在所述第一查询中传送的掩码进行掩蔽的副本作比较来标识所述第一比特配置与所述第二比特配置之间的匹配。
18.如权利要求17所述的设备,其特征在于,所述附加查询包括第二查询,其中所述主控设备被进一步配置成:
修改所述掩码以获得暴露所述从动方标识符的附加比特以供比较的经修改掩码;以及
在所述控制数据总线上传送所述第二查询,其中所述第二查询包括所述第一比特配置和所述经修改掩码。
19.如权利要求17所述的设备,其特征在于,所述附加查询包括在没有接收到对先前查询的响应时传送的第三查询,并且其中所述主控设备被进一步配置成:
通过翻转所述第一比特配置的起效最高有效比特(MSB)的值来修改所述第一比特配置以获得第三比特配置,其中所述起效MSB被定义为与所述从动方标识符中通过应用在所述先前查询中传送的掩码未被抑制的最高值比特相对应的比特;
修改所述掩码以获得暴露所述从动方标识符的附加比特以供比较的经修改掩码;以及
在所述控制数据总线上传送所述第三查询,其中所述第三查询包括所述第三比特配置以及在所述先前查询中传送的所述掩码。
20.如权利要求17所述的设备,其特征在于,所述附加查询包括在所述从动方标识符的所有比特已被确定之后传送的第四查询,并且其中所述主控设备被进一步配置成:
复原所述掩码以获得具有在导致至少一个从动设备断言所述响应的在先查询中传送的值的经复原掩码;
修改所述在先查询中所传送的比特配置以获得第四比特配置;以及
在所述控制数据总线上传送所述第四查询,其中所述第四查询包括所述第四比特配置和所述经复原掩码,
其中不同从动设备对所述第四查询作出响应,其中所述不同从动设备通过在所述第四比特配置匹配与所述不同从动设备相关联的不同从动方标识符中的相应比特配置时断言所述响应来作出响应。
21.如权利要求16所述的设备,其特征在于,多个从动设备对所述第一查询作出响应,其中所述多个从动设备通过在所述第一比特配置匹配所述多个从动设备各自相应的从动方标识符中的相应比特配置时断言所述响应来作出响应。
22.如权利要求16所述的设备,其特征在于,所述第一查询定义响应时段,其中如果所述第二比特配置与所述第一比特配置之间存在匹配,则所述从动设备必须在所述响应时段中在所述控制数据总线上作出响应。
23.如权利要求16所述的设备,其特征在于,所述响应是由所述从动设备通过在所述第二比特配置与所述第一比特配置之间存在匹配的情况下暂时拉低所述控制数据总线的第一线来断言的。
24.如权利要求23所述的设备,其特征在于,耦合至所述控制数据总线的其他设备在响应时段期间掩蔽其对所述控制数据总线的所述第一线的输入。
25.一种设备,包括:
用于在控制数据总线上传送第一查询的装置,其中所述第一查询包括第一比特配置;以及
用于确定具有包括与所述第一比特配置相匹配的第二比特配置的从动方标识符的从动设备的存在的装置,
其中所述用于传送的装置被配置成在该控制数据总线上重复地传送具有不同比特配置的附加查询,直至该从动方标识符的所有比特都被确定,
其中所述从动设备针对包括与所述从动方标识符中的相应比特配置相匹配的比特配置的每个查询来断言响应,
其中所述从动设备通过将在所述第一查询中传送的字与所述从动方标识符的已通过应用在所述第一查询中传送的掩码进行掩蔽的副本作比较来标识所述第一比特配置与所述第二比特配置之间的匹配。
26.如权利要求25所述的设备,其特征在于,所述附加查询包括第二查询,并且所述设备进一步包括:
用于修改所述掩码以获得暴露所述从动方标识符的附加比特以供比较的经修改掩码的装置;以及
用于在所述控制数据总线上传送所述第二查询的装置,其中所述第二查询包括所述第一比特配置和所述经修改掩码。
27.如权利要求25所述的设备,其特征在于,所述附加查询包括在没有接收到对先前查询的响应时传送的第三查询,并且所述设备进一步包括:
用于通过翻转所述第一比特配置的起效最高有效比特(MSB)的值来修改所述第一比特配置以获得第三比特配置的装置,其中所述起效MSB被定义为与所述从动方标识符中通过应用在所述先前查询中传送的掩码未被抑制的最高值比特相对应的比特;
用于修改所述掩码以获得暴露所述从动方标识符的附加比特以供比较的经修改掩码的装置;以及
用于在所述控制数据总线上传送所述第三查询的装置,其中所述第三查询包括所述第三比特配置以及在所述先前查询中传送的所述掩码。
28.如权利要求25所述的设备,其特征在于,多个从动设备对所述第一查询作出响应,所述多个从动设备在所述第一比特配置匹配所述多个从动设备各自相应的从动方标识符中的相应比特配置时断言所述响应,并且所述响应是在由多个从动设备共享的所述控制数据总线上且在由所述第一查询定义的响应时段内被断言的。
29.一种其上存储有一条或多条指令的机器可读存储介质,所述指令在由至少一个处理器执行时使所述至少一个处理器:
在控制数据总线上传送第一查询,其中所述第一查询包括第一比特配置;
确定具有包括与所述第一比特配置相匹配的第二比特配置的从动方标识符的从动设备的存在;以及
在所述控制数据总线上重复地传送具有不同比特配置的附加查询,直至所述从动方标识符的所有比特都被确定,
其中所述从动设备针对包括与所述从动方标识符中的相应比特配置相匹配的比特配置的每个查询来断言响应,
其中所述从动设备通过将在所述第一查询中传送的字与所述从动方标识符的已通过应用在所述第一查询中传送的掩码进行掩蔽的副本作比较来标识所述第一比特配置与所述第二比特配置之间的匹配。
30.如权利要求29所述的机器可读存储介质,其特征在于,多个从动设备对所述第一查询作出响应,其中所述多个从动设备在所述第一比特配置匹配所述多个从动设备各自相应的从动方标识符中的相应比特配置时断言所述响应,并且其中所述响应是在由所述多个从动设备共享的所述控制数据总线上且在由所述第一查询定义的响应时段内被断言的。
CN201480056056.7A 2013-10-09 2014-10-09 CCIe总线上的从动方标识符扫描和热插能力 Expired - Fee Related CN105637496B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361889028P 2013-10-09 2013-10-09
US61/889,028 2013-10-09
PCT/US2014/059982 WO2015054549A1 (en) 2013-10-09 2014-10-09 SLAVE IDENTIFIER SCANNING AND HOT-PLUG CAPABILITY OVER CCIe BUS

Publications (2)

Publication Number Publication Date
CN105637496A true CN105637496A (zh) 2016-06-01
CN105637496B CN105637496B (zh) 2018-09-07

Family

ID=51894189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480056056.7A Expired - Fee Related CN105637496B (zh) 2013-10-09 2014-10-09 CCIe总线上的从动方标识符扫描和热插能力

Country Status (6)

Country Link
US (1) US9672176B2 (zh)
EP (1) EP3055780A1 (zh)
JP (1) JP6277267B2 (zh)
KR (1) KR101861453B1 (zh)
CN (1) CN105637496B (zh)
WO (1) WO2015054549A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112639753A (zh) * 2018-08-30 2021-04-09 高通股份有限公司 聚合带内中断

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9519603B2 (en) * 2013-09-09 2016-12-13 Qualcomm Incorporated Method and apparatus to enable multiple masters to operate in a single master bus architecture
US10169274B1 (en) * 2017-06-08 2019-01-01 Qualcomm Incorporated System and method for changing a slave identification of integrated circuits over a shared bus
CN107332749B (zh) * 2017-07-05 2020-09-22 北京东土科技股份有限公司 基于工业互联网现场层宽带总线架构的同步方法及装置
CN110532196B (zh) * 2019-08-30 2021-10-01 英业达科技有限公司 多地址响应的复杂可程序逻辑装置及运作方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1103221C (zh) * 1997-04-15 2003-03-19 领先病毒研究公司 治疗人类免疫缺陷性病毒感染的药物
CN1457578A (zh) * 2001-02-28 2003-11-19 皇家菲利浦电子有限公司 增强交叉点总线协议
US20070294443A1 (en) * 2006-05-03 2007-12-20 Standard Microsystems Corporation Address assignment through device ID broadcast
US20100131610A1 (en) * 2008-11-27 2010-05-27 Infineon Technologies Ag Master Nodes and Slave Nodes for a Communication Network, and Methods Thereof

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62125731A (ja) * 1985-11-26 1987-06-08 Nec Corp ポ−リング制御装置
US8225021B2 (en) 2009-05-28 2012-07-17 Lexmark International, Inc. Dynamic address change for slave devices on a shared bus
JP2012100222A (ja) * 2010-11-05 2012-05-24 Denki Kogyo Co Ltd 識別id検索方法
US9037766B2 (en) 2011-11-18 2015-05-19 Fairchild Semiconductor Corporation Pin selectable I2C slave addresses
WO2013077012A1 (ja) * 2011-11-25 2013-05-30 三菱電機株式会社 通信装置、通信方法、及び通信システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1103221C (zh) * 1997-04-15 2003-03-19 领先病毒研究公司 治疗人类免疫缺陷性病毒感染的药物
CN1457578A (zh) * 2001-02-28 2003-11-19 皇家菲利浦电子有限公司 增强交叉点总线协议
US20070294443A1 (en) * 2006-05-03 2007-12-20 Standard Microsystems Corporation Address assignment through device ID broadcast
US20100131610A1 (en) * 2008-11-27 2010-05-27 Infineon Technologies Ag Master Nodes and Slave Nodes for a Communication Network, and Methods Thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112639753A (zh) * 2018-08-30 2021-04-09 高通股份有限公司 聚合带内中断
CN112639753B (zh) * 2018-08-30 2022-08-16 高通股份有限公司 聚合带内中断

Also Published As

Publication number Publication date
EP3055780A1 (en) 2016-08-17
JP6277267B2 (ja) 2018-02-07
WO2015054549A1 (en) 2015-04-16
CN105637496B (zh) 2018-09-07
JP2016539400A (ja) 2016-12-15
US9672176B2 (en) 2017-06-06
KR20160067222A (ko) 2016-06-13
US20150100714A1 (en) 2015-04-09
KR101861453B1 (ko) 2018-05-28

Similar Documents

Publication Publication Date Title
CN105637496A (zh) CCIe总线上的从动方标识符扫描和热插能力
CN105683936B (zh) 具有多个从设备标识符的相机控制从设备
CN105283863A (zh) 相机控制接口扩展总线
CN106462516A (zh) 由多协议设备共享的可动态地调节的多线总线
US11282413B2 (en) Secure multi-party computation method, device, apparatus and computer-readable storage medium
US9348784B2 (en) Systems and methods for managing endian mode of a device
CN105683933B (zh) 相机控制接口从设备到从设备通信
CN105900340A (zh) CCIe协议上的错误检测能力
CN109270432B (zh) 测试方法与测试系统
TW201640359A (zh) N基底數字至實體線狀態符號翻譯方法
CN105474193A (zh) 用于将来自外围设备的irq线的数量最小化到一条导线的方法
US9990317B2 (en) Full-mask partial-bit-field (FM-PBF) technique for latency sensitive masked-write
CN105808476A (zh) 跨时钟域数据的传输方法及装置
CN101299207A (zh) 微处理器系统总线与微处理器接口总线转换装置及方法
CN115577725B (zh) 一种多协议uhf rfid读写器基带信号处理soc芯片
JP5871309B2 (ja) 双方向シリアルバスの通信制御方法および双方向シリアルバススイッチ
CN109634230B (zh) 一种信号采集与控制装置及其业务配置方法
JP2014119766A (ja) 通信システム
CN109075902A (zh) 通信装置、通信方法、程序和通信系统
CN107077381A (zh) 异步指令执行装置和方法
CN116015333B (zh) 射频前端芯片、串行通信方法、设备及存储介质
CN113947067A (zh) 标准问确定方法、装置、设备及计算机可读存储介质
CN105830045A (zh) 仅用接收机时钟来进行的CCIe接收机逻辑寄存器写入
US10270649B2 (en) System and method for improved server module addressing
JPS6041781B2 (ja) メモリアクセス方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180907

Termination date: 20191009

CF01 Termination of patent right due to non-payment of annual fee