CCIe总线上的从动方标识符扫描和热插能力的制作方法_4

文档序号:9872431阅读:来源:国知局
的从动设备前后对一个或多个查询作出响应的一个或多个从动设备。换言之,回溯回访并搜索在先前扫描期间未被覆盖的路径。
[0144]当主控设备没有接收到对查询的响应时,它可避免发送包括该查询中的SID比特配置的进一步查询。
[0145]流程图2500解说了跟随在该扫描序列中的给定点之后的扫描过程。最初,所有SID比特可被设为O并且掩码可被设置成阻止从动设备对除了其唯一性SID的最低有效比特(LSB)之外的所有比特的比较。
[0146]该过程在框2502开始,其中主控设备确定扫描的起始点。该起始点可以是初始的起始点或者在已发现SID之后该扫描的恢复进行。该起始点可被定义为当前掩码2532和当前SID比特2530。在框2504,主控设备发送具有当前掩码2532和当前SID比特2530的查询。从动设备接收该查询并使用该查询中所提供的掩码2532来掩蔽其各自相应的唯一性SID。在一个示例中,掩蔽留下特定数目的最低有效比特作为经掩蔽的SID。如果经掩蔽的SID与在该查询中接收到的SID比特2530相匹配,则从动设备可将SDA线2426驱动至低。
[0147]主控设备将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继续。
[0148]如果在框2506处主控设备确定SDA线2426未响应于查询而被断言,则该过程在框2508继续。在框2508,主控设备可以可任选地将当前SID比特2530标记为没有在耦合至串行总线的任何从动设备的SID中发生的比特模式。主控设备可随后避免扫描在对应于掩码2532的诸比特位置中具有这些当前SID比特的任何设备。该过程随后在框2510继续,其中主控设备确定这些SID比特2530中由掩码2532的操作所定义的当前MSB是否被设为O。如果在框2510处确定SID比特2530的当前MSB被设为I,则可以假定没有设备对当前MSB被设为I或O的查询作出了响应,并且该扫描可在框2528终止。将领会,在没有从动设备对扫描序列中的任何查询作出响应时,可到达框2528。
[0149]如果在框2510处确定这些SID比特2530的当前MSB被设为O,则在框2524,这些SID比特2530的当前MSB被设为二进制值I。该扫描随后以经更新的SID比特2530前进至框2526。
[0150]如果在框2526处确定在当前扫描中没有接收到先前响应,则该扫描在框2504继续,其中发送当前MSB被设为I的查询。如果在框2526处,有先前响应被接收到,则可以假定未曾对当前MSB被设为O的查询作出响应的从动设备将对当前MSB被设为I的查询作出响应。相应地,无需发送当前MSB被设为I的查询,并且该扫描前进至框2512。在框2512,主控设备确定掩码2532是否导致从动方SID中的任何比特在比较期间被忽略。如果否,则确定已标识出SID并且当前扫描可在框2514终止。
[0151]如果在框2512确定掩码2532阻止了从动方SID的一个或多个比特被考虑,则该过程在框2520继续。在框2520,主控设备可修改掩码以使得从动方SID的下一个当前MSB与将在下一查询中传送的SID比特2530作比较。主控设备可在框2522清除这些SID比特2530的当前MSB。该扫描随后在框2504以经更新的掩码2532和SID比特2530恢复进行。
[0152]主控设备可跟踪导致SDA线2426的断言的任何掩码2532和SID比特2530组合,并且可基于这些掩码2532和SID比特2530组合中的一者或多者来发起新的扫描。在一个示例中,主控设备可在发现第一 SID之后、或在从MSB比特被设为I的查询没有接收到响应时意识到没有从动设备具有该SID模式子集之后发起新的扫描(例如,流程2500)。新的扫描在响应于具有MSB值O的SID比特2530的上一次SDA线2426断言处开始,其中该MSB值是由相应掩码2532的动作来确定的。
[0153]图26-41解说了根据本文所公开的某些方面的迭代SID扫描的各种结果。该SID扫描可使用例如图25中解说的过程来执行,并且扫描序列在图26-41中描绘,图26-41关于SID比特索引2602解说了扫描序列的进展。出于本描述的目的,在三个从动设备耦合至串行总线时执行扫描。第一从动设备可具有等于十六进制数0x402A或二进制数0100_0000_0010_1010的设备标识符SIDO。第二从动设备可具有等于十六进制数Oxl 13E或二进制数0001_0001_0011_1110的设备标识符SIDl。第三从动设备可具有等于十六进制数0x0908或二进制数0000_1001_0000_1000 的设备标识符 SID2。
[0154]如图26中所解说的,从16比特SID的最低有效比特2604开始,主控设备发送请求所有在其SID的最低有效比特(比特O)中具有‘0’的从动设备例如通过将SDA线2426保持为低来作出响应的查询。在图26中所解说的三个SID的示例中,所有三个从动设备都作出响应。
[0155]如图27中所解说的,该查询过程针对比特I2704以及请求所有在其SID的该比特位置中具有‘ O ’的从动设备作出响应的查询来重复。只有具有SID 0x0908(SID2)的从动设备通过将SDA线2426保持为低来作出响应。
[0156]如图28中所解说的,该查询过程针对比特22804以及请求所有在其SID的该比特位置中具有‘O ’的从动设备作出响应的查询来重复。具有SID 0x0908(SID2)的从动设备作出响应。
[0157]如图29中所解说的,该查询过程针对比特32904以及请求所有在其SID的该比特位置中具有‘0’的从动设备作出响应的查询来重复。没有从动设备作出响应。
[0158]如图30中所解说的,该查询过程针对比特32904以及请求所有在其SID的该比特位置中具有‘I’的从动设备作出响应的查询来重复。具有SID 0x0908(SID2)的从动设备将作出响应。然而,由于主控设备知道此处将作出肯定响应,因此主控设备无需作出查询。取而代之,主控设备可简单地在SID比特索引2602中设置“I”值并继续行至比特4 3104(图31)。
[0159]如图31中所解说的,该查询过程针对比特4 3104至比特7 3106以及请求所有在其SID的相应比特位置中具有‘0’的从动设备作出响应的查询来迭代地重复。具有SID 0x0908(SID2)的从动设备对这些单独查询中的每一者作出响应。
[0160]如图32中所解说的,该查询过程针对比特83204以及请求所有在其SID的该比特位置中具有‘0’的从动设备作出响应的查询来重复。没有从动设备作出响应。
[0161]如图33中所解说的,由于主控设备知道针对比特83204处的“I”的查询将作出肯定响应,因此主控设备无需作出查询。取而代之,主控设备可简单地在SID比特索引2602中设置“I”值并继续行至比特9 3204。
[0162]—般地,该查询过程使用等于‘0’的比特来重复直至没有响应被接收到并随后切换至等于‘I’的比特,直至找到第一设备的完整SID。
[0163]如图34中所解说的,该查询过程针对比特9 3404至比特15 3406迭代地重复。具有SID 0x0908(SID2)的从动设备对这些单独查询中的每一者作出响应。由于该SID的所有16比特都已被检查,因此与SID2 0x0908相关联的从动设备被肯定地标识出。
[0164]在已标识出从动设备SID2的情况下,图35解说了该查询过程现在被回溯以尝试沿该路径标识另一从动设备。该回溯过程被重复,直至没有从动设备作出响应。在每个被回溯的比特位置,主控设备以先前未经测试的值来执行查询。例如,在比特15,该查询将‘I’用于其回溯查询。随后,在比特14,该查询将‘I’用于其回溯查询。
[0165]图36解说了在已回溯并消除下至比特I2704的所有可能路径的情况下,该查询过程针对比特I 2704继续,比特I 2704是“回溯”得到响应的第一个查询。传送请求所有在其SID的该比特位置中具有‘I’的从动设备作出响应的查询。具有SID 0x402A(SID0)的从动设备和具有SID 0xll3E(SIDl)的从动设备通过将SDA线2426保持为低来作出响应。
[0166]图37和38解说了该查询过程继续直至该SID的所有16比特都已被检查,与SIDO0x402A相关联的从动设备被肯定地标识出。
[0167]图39再次解说了搜索更多匹配SID的回溯过程。
[0168]图40解说了在已回溯并消除下至比特22804的所有可能路径的情况下,该查询过程针对比特2 2804以及请求所有在其SID的该比特位置中具有‘I’的从动设备作出响应的查询来继续。仅具有SID 0xll3E(SIDl)的从动设备通过将SDA线2426保持为低来作出响应。
[0169]图41解说了该查询过程继续直至该SID的所有16比特都已被检查,与SIDlOxl 13E相关联的从动设备被肯定地标识出。
[0170]图42再次解说了搜索更多匹配SID直至已针对该路径测试了所有替换比特的回溯过程。
[0171]主控设备可映射或以其他方式跟踪在结果得到肯定响应的查询中所使用的SID值以及跟踪在没有产生响应的查询中所使用的SID值。
[0172]主控设备可采用该“SID扫描全部“命令来扫描耦合至共享控制数据总线的新插入的以及先前存在的设备的所有SID。将领会,主控设备不限于其遍历SID比特索引2602的特定次序。在该示例中,如本文所描述的,SID比特索引2602从比特O到比特15被遍历。在另一示例中,SID比特索引2602从比特15到比特O被遍历。在其他示例中,如本文所描述的,SID比特索引2602可按照非线性和/或随机或伪随机次序被遍历,其中例如预期从动设备将被提供已根据特定次序或方案来指派的SID。
[0173]以SID扫描来支持热插
[0174]根据一个方面,可能期望在共享总线和/或主控设备在操作之后将设备(例如,从动设备)“热插”到共享控制数据总线。然而,允许设备在控制数据总线的主控设备的初始引导之后被耦合至控制数据总线需要某种方式来允许主控设备检测新插入的从动设备(或非活跃主控设备)。为了完成此类“热插”功能性,新插入的从动设备可(例如,经由专用IRQN)向主控设备发送IRQ信号并使用最长可能的信号周期。主控设备可随后发布“SID扫描新”命令以扫描耦合至共享控制数据总线的先前未曾被扫描的所有从动设备并标识新添加的从动设备。
[0175]根据一个方面,支持SID扫描的从动设备可存储指示在上电之后其SID是否已被扫描的信息。例如,一旦设备针对其SID已被扫描,该从动设备就可设置指示其已被扫描的内部寄存器。该寄存器允许先前被扫描过的从动设备忽略此“SID扫描新”命令,从而仅新插入的设备作出响应。
[0176]新耦合至共享控制数据总线的设备(包括具有先前未曾被扫描的SID的设备)通常被要求和/或预期对“SID扫描新”命令作出响应。具有先前已被扫描过的SID的设备无需对“SID扫描新”命令作出响应。
[0177]图43解说了包括SID“扫描新”命令4302及其相应的有效载荷4304的CCIe传输的一个示例4300JID“扫描新”命令4302(由“0x5”码标识)可由主控设备发布。有效载荷4304可包括多个单元扫描ID 4310。每个单元扫描ID 4310包括SID掩码对4308和响应时段4306。SID掩码对4308可定义标识SID内要查询的单个比特位置的掩码。由于这是SID “扫描新”命令4302,因此所有先前被扫描过的设备可忽略它。因此,仅新插入共享总线的设备被标识。
[0178]如表4320中所解说的,32比特SID掩码对4308(展布在两个20比特字DO和Dl上)用于标识16比特SID的特定比特位置是否正被查询,并且若是,则还标识正为其查询哪个值(即,O或I)。例如,SID掩码对4308的比特[I]可定义SID的比特[O]将被检查还是掩蔽(S卩,不被检查)。如果比特[I]指示“检查”,则SID掩码对4308的比特[O]定义该查询是针对“O”还是T。
[0179]由响应4306定义的时段允许从动设备在共享总线上带内地对SID查询进行响应。对于每个单元SID查询4310,其未被掩蔽的SID比特与该查询比特相匹配的每个从动设备(即,该从动设备的SID在所查询的比特位置处具有与该查询比特相匹配的比特)在共享总线的至少一条线上带内地发送查询响应。这允许主控设备查明总线上是否有任何从动设备具有部分匹配的SID(即,在所查询的比特位置处具有与该查询比特相匹配的比特的SID)。
[0180]多个单元SID查询4310由主控设备发送以完全标识耦合至共享总线的所有设备的SID0
[0181 ]扫描或发现新热插入的从动设备的SID可如图25-42中所解说地执行。
[0182]图44是解说采用可被配置成执行本文所公开的一个或多个功能的处理电路
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1