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

文档序号:9872431阅读:来源:国知局
之间交换控制数据。I2C的标准时钟(SCL)速度最高达10KHz。I2C快速模式中的标准时钟SCL速度最高达400KHz,且在I2C快速模式加(Fm+)中其最高达IMHz。12(:总线上的这些操作模式可以在用于相机应用时被称为相机控制接口(CCI)模式。
[0076]根据一个方面,可以在多模控制数据总线108上实现改进的操作模式(S卩,大于IMHz的控制数据总线传输频率)以支持相机操作。I2C总线上的这种改进的操作模式可以在用于相机应用时被称为相机控制接口扩展(CCIe)模式。在CCIe模式中,SCL线和SDA线两者均可用于传送数据,而时钟被嵌入在这两条线上的码元到码元转变内。在该示例中,基带处理器104包括主控设备112且图像传感器106包括从动设备114,主控设备112和从动设备114两者可根据相机控制接口扩展(CCIe)模式在控制数据总线108上操作,而不影响耦合至控制数据总线108的其他旧式I2C设备的正确操作。根据一个方面,控制数据总线108上的这种改进模式可在CCIe设备与旧式I2C从动设备之间没有任何桥接设备的情况下实现。
[0077]提供了准许I2C兼容设备和CCIe兼容设备并发地耦合至共享控制数据总线108的协议。控制数据总线108可动态地在根据不同通信协议(例如,I2C模式和CCIe模式)操作之间切换。如先前提及的,多模主控设备112管理对共享控制数据总线108的通信和/或访问。主控设备传送进入调用以指示控制数据总线108要将其通信协议从第一协议模式(例如,I2C模式)切换到第二协议模式(例如,CCIe模式)。类似地,主控设备传送退出调用以指示控制数据总线108要将其通信协议从第二协议模式(例如,CCIe模式)切换到第一协议模式(例如,I2C模式)。耦合至共享总线108的从动设备监视这些进入和退出调用以查明它们何时可在共享总线108上操作。
[0078]示例性CCIe编码技术
[0079]图2解说了时钟可如何在CCIe模式中被嵌入在码元到码元转变内,由此允许将I2C总线中的两条线(即,SDA线和SCL线)用于数据传输。在一个示例中,对时钟的这种嵌入可以通过转变时钟转码来达成。例如,要在物理链路(导线)上传送的数据204被转码,从而保证所传送码元在所传送码元206的每个码元循环或转变处改变状态。在一个示例中,比特序列被转换成三进制数,并且该三进制数的每一数位被转换成码元以供传输。即使在三进制数的两个顺序数位相同的情况下,也保证顺序码元是不同的。因此,原始时钟202可被嵌入在每个码元循环的码元状态改变中。接收机从(所传送码元206中的)每个码元处的状态转变来恢复时钟信息208并且随后反转对所传送码元206的转码以获得原始数据210。在一个示例中,每个码元被转换成一数位,多个数位构成三进制数,其中该三进制数随后被转换成多个比特。因此,原始时钟202可被嵌入在每个码元循环的码元状态改变中。这允许I2C总线的这两条导线(图1中的控制数据总线108,SDA线和SCL线)被用于发送数据信息。另外,码元速率可以加倍,因为不再需要在时钟信号与数据信号之间具有建立和保持时间。
[0080]图3是解说用于在发射机处将数据比特转码成经转码码元以将时钟信号嵌入在这些经转码码元内的示例性方法的框图。在发射机302处,数据比特序列304被转换成三进制(基数为3)数(即,“转变数”),并且这些三进制数随后被转换成在时钟线SCL 312和数据线SDA 314上传送的(顺序)码元。
[0081]在一个示例中,原始的20比特二进制数据被输入到比特至转变数转换器块308以转换成12数位三进制数。该12数位三进制数的每一数位表示“转变数”。两个连贯转变数可具有相同的数字(即,三进制数的连贯数位可以是相同的)。每个转变数在转变至码元块310处被转换成顺序码元以使得任何两个连贯的顺序码元不具有相同值。由于在每个顺序码元处保证有转变,因而此类顺序码元转变可用于嵌入时钟信号。每个顺序码元316随后在双导线物理链路(例如,包括SCL线312和SDA线314的12C总线)上被发送。
[0082]图4解说了转变数402与顺序码元404之间的示例性转换。三进制数(基数为3的数)的个体数位(也被称为转变数)可具有三(3)个可能数位或状态0、I或2之一。虽然在三进制数的两个连贯数位中可能出现相同值,但没有任何两个连贯顺序码元具有相同值。转变数和顺序码元之间的转换保证顺序码元即使在连贯的转变数是相同的情况下也总是改变(从顺序码元到顺序码元)。
[0083]图5中解说性地阐述了转换功能。在发射机侧(TX: T到S) 502,转变数(T)可被转换成顺序码元(S)。例如,当前顺序码元(Cs)可基于先前顺序码元(Ps)和作为当前转变数(T)的函数的临时转变数(Ttmp)来获得。临时转变数(Ttmp)可通过将当前转变数T与O进行比较来获得,并且当T = O时,临时转变数(Ttmp)变成等于3,否则(当T不等于O时)1\_变成等于T(即,Ttmp = T = 0?3: T)。当前顺序码元可以作为当前顺序码元(Cs)加先前顺序码元(Ps)加临时转变数(Ttmp )的总和(S卩,Cs = Ps+Ttmp )来获得。
[0084]在接收机侧(RX:S到T)504,转换操作被反转以从当前顺序码元(Cs)和先前顺序码元(Ps)获得转变数。临时转变数(Ttmp)可以作为当前顺序码元(Cs)加4减去先前码元(Ps)的总和(S卩,Ttmp = Cs+4-Ps)来获得。当前转变数(T)等于临时转变数(Ttmp),但是临时转变数(Ttmp)与三(3)进行比较,并且当Ttmp = 3时,临时转变数(Ttmp)变成等于零(O),否则(当1\_不等于3时)T变成等于Ttmp(S卩,T = Ttmp = 3?0:T)。
[0085]表506解说了转变数与顺序码元之间的转换。
[0086]再次参照图4,本文解说了转变数与顺序码元之间的转换的示例。例如,在第一循环406中,当前转变数(Ta)为2,所以Ttmp也为2,并且在先前顺序码元Ps为I的情况下,新的当前顺序码元Cs现在为3。
[0087]在第二循环408中,转变数(Tb)为I。由于转变数(Tb)不等于O,所以临时转变数Ttmp等于为I的转变数(Tb)值。通过将先前顺序码元(Ps)值3与为I的临时转变数Ttmp相加来获得当前顺序码元(Cs)。由于该加法运算的结果等于4,即大于3,因而翻转数O变成当前顺序码
J Li ( Cs ) ο
[0088]在第三循环410中,当前转变数(T)为I。因为转变数T为I,所以临时转变数Ttmp也为
I。通过将先前顺序码元(Ps)值O与为I的临时转变数Ttmp相加来获得当前顺序码元(Cs)。由于加法运算的结果等于I,即不大于3,因而当前码元(Cs)等于I。[0089 ]在第四循环412中,当前转变数(T)为O。因为转变数T为O,所以临时转变数!\_为3。
[0090]通过将先前顺序码元(Ps)值I与为3的临时转变数Ttmp相加来获得当前顺序码元(Cs)。由于该加法运算的结果为4,即大于3,因而翻转数O变成当前顺序码元(Cs)。
[0091]注意,即使两个连贯的三进制数位Tb和Tc具有相同数字,该转换也保证了两个连贯顺序码元具有不同状态值。正因如此,顺序码元404中的保证转变可以用于嵌入时钟信号,由此释放I2C总线中的时钟线SCL以用于数据传输。
[0092]再次参照图3,在接收机320处,该过程被倒转以将经转码码元转换回比特,并且在该过程中,从码元转变中提取时钟信号。接收机320在双导线物理链路(例如,包括SCL线324和SDA线326的I2C总线)上接收顺序码元序列322。所接收的顺序码元322被输入到时钟数据恢复(CDR)块328中以恢复时钟定时并采样经转码码元(S)。码元至转变数转换器块330随后将经转码(顺序)码元转换成转变数(即,一个三进制数位数)。接着,转变数至比特转换器332转换12个转变数以从12数位三进制数复原20比特原始数据。
[0093]图3和4中针对双导线总线和12个转变数解说的示例可被一般化为η导线系统和m个转变数。如果每一个Τ(Τ0到Tm-1)存在r个可能的码元转变状态,那么m个转变可发送,个不同状态(即,r = 2n-l)。因此,转变TO-Tm-1包含可具有(2n-l)m个不同状态的数据。
[0094]本文解说的此技术可被用来提高控制总线108(图1)的链路速率,以超出12C标准总线提供的链路速率,并且于此被称为CCIe模式。在一个示例中,耦合至控制数据总线108的主控设备和/或从动设备可实现在码元传输内嵌入时钟信号的发射机和/或接收机(如图
2、3、4和5中所解说的),以在相同控制数据总线上达成比使用标准I2C总线可能达成的更高比特率。
[0095]图6解说了用于从最高有效比特到最低有效比特将二进制比特转换成三进制数的方法。三进制数的每一数位可被转码(转换)成传送给接收方设备的码元。对于12数位三进制数602,其中Τ0、?1...Τ11表示该三进制数,TO表示3°数位(并且是最低有效数位),而Tll表示311数位(并且是最高有效数位)。从收到比特(例如,20比特序列)开始,首先获得三进制数602的最高有效数位Tl I。随后,接下来获得下一最高有效数位TlO。此过程继续直至获得最低有效数位T0。三进制数602的每一数位也可被称为“转变数”。
[0096]图7解说了用于从最高有效比特到最低有效比特将二进制比特转换成三进制数的发射机侧逻辑电路。图6和7解说了以T11、T1、T9.....TO的次序发送的12数位三进制数
602。通过首先获得和发送最高有效比特,所涉及的逻辑和电路系统的复杂度被简化。在图6和7中的办法中,最高有效顺序码元被首先传送给接收方设备,并且因此被称为先MSS(首先最高有效码元)。如本文所使用的,“最低有效码元”指代与三进制数602的最低有效数位相对应的经转码码元。例如并且参照图4和5的描述,当TO被转码成顺序码元时,该码元是最低有效码元,因为它源自最低有效三进制数位。类似地,如本文所使用的,“最高有效码元”指代与三进制数602的最高有效数位相对应的经转码码元。例如并且参照图4和5的描述,当Tll被转码成顺序码元时,该码元是最高有效码元,因为它源自最高有效三进制数位。并且在码元至转变数转换器块330(图3)随后接收并且将经转码的(顺序)码元转换成转变数(即,三进制数的数位)时,其将首先是最高有效数位Tll并且最后是最低有效数位TC。
[0097]回头参考3,20比特的原始数据按倒序转换成三进制数(S卩,最高有效比特被首先提供给转换器),随后三进制数的每一数位(例如,每个转变数)按倒序转换(即,转码)成顺序码元,并且这些经转码码元按倒序(即,首先最高有效码元)在总线上被传送。
[0098]图8解说了用于从最高有效比特到最低有效比特将三进制数转换成二进制比特的方法。即,此接收机侧转换倒转在图6和7中所解说的发射机侧转换中执行的操作。接收方设备(例如,从动设备)接收倒序传输并且执行时钟恢复和码元采样以将经转码码元转换回三进制数,该三进制数随后以倒序被提供给图9中的逻辑电路,该逻辑电路将该三进制数转换回20比特二进制原始数据。图7解说了具有耦合至去往逻辑设备的单个输出端的12个输入端的复用器。
[0099]图9解说了用于将12数位三进制数转换成20比特的接收机侧逻辑电路。
[0100]图10概念性地解说了比特19(8卩,在比特计数开始于为比特O的第一比特时的第20比特)大多数情况下在CCIe协议中不被使用并且可被用于共享总线上的设备之间的命令。即,作为图3-9中解说的编码方案的结果,所传送码元中的额外比特(S卩,比特19)现在是可用的。更具体地,图10解说了比特19(8卩,第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数位三进制数。
[0101]用于CCIe模式的示例性协议
[0102]图11解说了对CCIe模式进入指示符的示例性通用调用,该CCIe模式进入指示符可由主控设备在共享总线上发送以向从动设备指示共享总线正在从I2C模式切换到CCIe模式进行操作。通用调用1102可由I2C主控设备在共享总线(例如,图1中的处于I2C模式的主控设备112在SDA线和SCL线)上发布以向所有I2C兼容设备指示从I2C模式到CCIe模式的转变。
[0103]在I2C模式中,CCIe主控设备发布具有“CCIe模式”字节或指示符1104的此I2C通用调用1102<XCIe兼容从动设备确认收到通用调用1102<XCIe兼容从动设备可通过在通用调用期间保持(控制数据总线108的)SCL线为低来插入等待循环(若必要)。
[0104]—旦处于CCIe模式,所有CCIe兼容设备能够对来自CCIe主控设备的请求作出响应。不支持CCIe模式的I2C兼容旧式从动设备在共享控制数据总线上的操作状态或任何功能性不受任何CCIe事务的影响。
[0105]图12解说了可由CCIe主控设备(例如,图1中的处于I2C模式的主控设备112)发布以向所有具有CCIe能力的设备指示从CCIe模式到I2C模式的转变的示例性CCIe调用1202。CCIe主控设备可发布此退出调用1202来代替CCIe SID0
[0106]在CCIe模式中,在CCIe模式中的之后跟随着S的最末数据之后,CCIe主控设备发送特殊的CCIe SID码(“退出”码/指示符1204)以指示(例如,向CCIe兼容设备指示)CCIe模式结束以及转变回到I2C
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1