《I2C地址转换.pdf》由会员分享,可在线阅读,更多相关《I2C地址转换.pdf(19页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102339267A43申请公布日20120201CN102339267ACN102339267A21申请号201110158929322申请日2011053061/351,56320100604US13/046,61020110311USG06F13/4220060171申请人英特赛尔美国股份有限公司地址美国加利福尼亚州72发明人DB贝尔PJ班泽尔74专利代理机构上海专利商标事务所有限公司31100代理人钱慰民54发明名称I2C地址转换57摘要本发明的实施例涉及转换I2C地址的系统、设备和方法。根据实施例,转换I2C地址的方法包括经由第一I2C兼容设备连接到的I2C总线从第。
2、一I2C兼容设备接收原始I2C地址。该方法还包括将原始I2C地址转换成经转换的I2C地址,并经由隶属设备连接至的I2C总线的次级侧将经转换的I2C地址输出至第二I2C兼容设备。可通过从原始I2C地址减去或加上一偏移值来将原始I2C地址转换成经转换的I2C地址,从而产生成经转换的I2C地址。该偏移值可使用引脚包扎来规定,或通过将偏移值存储在可经由I2C总线编程的寄存器或非易失存储器中来规定。替代地,可经由I2C总线编程的查找表可用来执行I2C地址转换。30优先权数据51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书8页附图7页CN102339280A1/3页21一。
3、种方法,包括A接收原始I2C地址;B将所述原始I2C地址转换成经转换的I2C地址;以及C输出所述经转换的I2C地址。2如权利要求1所述的方法,其特征在于步骤A包括经由第一I2C兼容设备连接至的I2C总线的主侧从所述第一I2C兼容设备接收所述原始I2C地址;以及步骤C包括经由第二I2C兼容设备连接至的I2C总线的次级侧将经转换的I2C地址输出至第二I2C兼容设备。3如权利要求2所述的方法,其特征在于,所述第一I2C兼容设备包括主机设备,而所述第二I2C兼容设备包括隶属设备。4如权利要求1所述的方法,其特征在于步骤B包括从所述原始I2C地址减去或加上一偏移值以产生经转换的I2C地址。5如权利要求4。
4、所述的方法,其特征在于,所述偏移值是使用一个或多个端子规定的,其中每个端子有选择地连接于供电电压干线或接地。6如权利要求4所述的方法,其特征在于,存储所述偏移值。7如权利要求6所述的方法,其特征在于,所述存储的偏移值是可经由I2C总线编程的。8如权利要求1所述的方法,其特征在于步骤B包括使用查找表来基于所述原始I2C地址来产生经转换的I2C地址。9如权利要求8所述的方法,其特征在于,所述查找表是可经由I2C总线编程的。10如权利要求1所述的方法,其特征在于步骤B包括使用算法来基于所述原始I2C地址来产生经转换的I2C地址。11如权利要求1所述的方法,其特征在于,在步骤B的至少一部分转换和在步骤。
5、C的至少一部分输出是在步骤A接收到整个原始I2C地址前执行的。12一种独立地发送命令至均具有第一地址的两设备的方法,所述方法包括A通过将第一地址纳入第一命令而将第一命令送至两设备中的第一设备;以及B通过将不同于所述第一地址的第二地址纳入第二命令而将第二命令送至两设备中的第二设备,其中所述第二命令中的第二地址在所述设备中的第二设备接收到第二命令前被转换成第一地址。13如权利要求12所述的方法,其特征在于,所述方法由主机设备使用以允许主机设备独立地将命令发送至均具有第一地址的两个I2C兼容设备,其中所述两个I2C兼容设备中的第一设备和所述主机设备连接于I2C总线的第一侧,而所述两个I2C兼容设备中。
6、的第二设备连接于所述I2C总线的第二侧,且其中步骤A包括通过将第一地址纳入第一命令而将第一命令送至两I2C兼容设备中的第一设备,所述第一设备附连于I2C总线的第一侧;以及步骤B包括通过将第二地址纳入第二命令而将第二命令发送至两个I2C兼容设备中的第二设备,所述第二设备附连于I2C总线的第二侧,其中所述第二命令中的第二地址在两个I2C兼容设备中的第二设备接收到第二命令前被转换成第一地址。权利要求书CN102339267ACN102339280A2/3页314一种I2C地址转换器,包括配置成接收原始I2C地址的接收电路;配置成将接收的原始I2C地址转换至经转换的I2C地址的转换电路;以及配置成输出。
7、经转换的I2C地址的输出电路。15如权利要求14所述的I2C地址转换器,其特征在于所述接收电路配置成经由I2C总线的主侧接收原始I2C地址;以及所述输出电路配置成经由I2C总线的次级侧输出经转换的I2C地址。16如权利要求14所述的I2C地址转换器,其特征在于,所述转换电路包括基于偏移值修改原始I2C地址由此产生经转换的I2C地址的电路。17如权利要求16所述的I2C地址转换器,其特征在于,所述转换电路还包括存储所述偏移值的电路。18如权利要求17所述的I2C地址转换器,其特征在于,所述转换电路还包括允许对所述偏移值编程的电路。19如权利要求14所述的I2C地址转换器,其特征在于,所述转换电路。
8、包括可编程查找表,所述可编程查找表存储一个或多个原始I2C地址和针对一个或多个原始I2C地址中每一个的经转换的地址。20如权利要求14所述的I2C地址转换器,其特征在于原始I2C地址通过转换电路的转换的至少一部分发生在接收电路接收到整个的原始I2C地址前;以及至少一部分经转换的I2C地址在接收电路接收到整个的原始I2C地址前由输出电路输出。21一种系统,包括I2C总线的主侧;连接于所述I2C总线主侧的多个设备;I2C总线的次级侧;连接于所述I2C总线次级侧的多个设备;以及连接在所述I2C总线的主侧和所述I2C总线的次级侧之间的I2C地址转换器;其中,所述I2C地址转换器配置成经由I2C总线的主。
9、侧从连接于所述I2C总线主侧的设备之一接收原始I2C地址;将所述原始I2C地址转换成经转换的I2C地址;以及将经转换的I2C地址经由所述I2C总线的次级侧发送,以使所述经转换的I2C地址能由连接于I2C总线的次级侧的设备接收。22如权利要求21所述的系统,其特征在于,所述I2C地址转换器配置成通过从所述原始I2C地址减去偏移值或将偏移值加到所述原始I2C地址来将所述原始I2C地址转换至经转换的I2C地址。23如权利要求21所述的系统,其特征在于,所述I2C地址转换器配置成使用查找表将所述原始I2C地址转换成经转换的I2C地址。24如权利要求21所述的系统,其特征在于,连接于所述I2C总线的次级。
10、侧的所述多个设备中的每个设备权利要求书CN102339267ACN102339280A3/3页4包括I2C地址;经由所述I2C总线的次级侧接收经转换的I2C地址;以及将所述经转换的I2C地址与其I2C地址比较。权利要求书CN102339267ACN102339280A1/8页5I2C地址转换0001优先权声明0002本申请要求以下美国专利申请的优先权0003由DAVIDBBELL和PHILLIPJBENZEL在2011年3月11日提交的题为“I2CADDRESSTRANSLATIONI2C地址转换”的美国专利申请NO13/046,610委托案号NOELAN01254US1;以及0004由DAV。
11、IDBBELL和PHILLIPJBENZEL在2010年6月4日提交的题为“I2CADDRESSTRANSLATORI2C地址转换器”的美国临时专利申请NO61/351,563委托案号NOELAN1254US0。技术领域0005本发明的诸实施例总地涉及用于内部集成电路总线I2C总线的系统、设备和方法。背景技术0006内部集成电路总线I2C总线是经常用来将低速外设附连于主板、嵌入式系统或蜂窝电话之中或之上的串行总线。如图1所示,I2C总线101仅包括两条双向总线,该双向总线包括串行数据线SDA和串行时钟线SCL。另外如图1所示,拉高电阻器RP连接在每条数据线和供电电压干线VDD之间。用于VDD的。
12、常见电压是5V或33V,尽管也允许具有其它例如更高或更低供电电压干线的系统。当总线空闲时,拉高电阻器RP将SDA和SCL线两者拉为高HIGH。在图1中,一个主机设备102例如微控制器和三个隶属设备104分别标示为104A、104B和104C图示为连接于I2C总线101。0007电子系统越来越多地使用由I2C总线互连的集成电路IC。这些IC由于与I2C总线的兼容性而通常被称为I2C兼容芯片,或更具体地称为I2C兼容设备。示例性I2C兼容设备包括,但不局限于,微控制器、液晶显示器LCD、LED驱动器、输入/输出端口、随机存取存储器RAM、模数转换器ADC、数模转换器DAC、温度传感器和数字信号处理。
13、器DSP。这类I2C兼容设备的输出级它们是漏极开路或集电极开路的可用来有选择地拉低SDA和SCL线,由此提供数据和时钟信号。0008对给定的I2C兼容设备存在四种潜在的工作模式,尽管多数设备仅使用单功能主机或隶属及其两个模式发送和接收。这些模式包括主机发送主机设备将数据发送至隶属;主机接收主机设备从隶属接收数据;隶属发送隶属设备将数据发送至主机;以及隶属接收隶属设备从主机接收数据。0009主机一开始通过发送起始位后面跟随想要与之通信的隶属的7位地址这可被称为I2C地址,而后是代表是否希望从隶属读1或写0至隶属的单个读/写位而处于主机发送模式。起始位通知与总线连接的全部IC以侦听总线的输入地址。。
14、当每个IC接收地址时,IC将该地址与其本身的地址比较。如果接收的地址与IC地址不匹配,则IC知道它未被寻址。如果接收的地址与IC地址匹配,则IC知道它正被寻址,响应于此,IC产生确说明书CN102339267ACN102339280A2/8页6认ACK位确认为低电平有效。换句话说,如果总线上存在所寻址的隶属,则该隶属对该地址响应以ACK位。主机随后继续发送或接收模式根据其发送的读/写位,并且隶属继续其互补模式分别为接收或发送。地址和数据字节首先送出最高有效位。起始位由SCL高电平下的SDA高低跳变指示,停止位由SCL高电平下的SDA低高跳变指示。如果主机设备想要对隶属设备写入,则它随着隶属发送。
15、ACK位而反复发送一个字节在这种情形下,主机处于主机发送模式而隶属处于隶属接收模式。如果主机设备想要从隶属设备读出,则它从隶属反复接收一个字节,主机在除了最后一个字节外的每个字节后发送一个ACK位在这种情形下,主机处于主机接收模式而隶属处于隶属发送模式。主机随后用终止位来结束发送,或者主机如果想要对另一次传输“组合消息”保留总线控制则可发送另一起始位。0010为说明的目的,由主机发送的包括起始位紧随的7位地址然后是读/写位的多个位根据读/写位被称为读命令或写命令。0011由于只有7个位用来指示隶属的地址,因此只有27即128个可能的地址。然而,由于保留了16个地址,通常可寻址最多112个不同的。
16、设备即12816112。0012在一些情形下,要求同一IC有多种应用,这意味着许多相同IC例如相同外设IC的多个实例可附连于同一I2C总线。然而,由于每个设备必须具有唯一的I2C地址,因此使用具有同一I2C地址的多个IC可能导致数据损坏。这种潜在问题的最常见解决方案是设计具有若干可选地址的外设I2C兼容设备。例如,I2C兼容设备可包括专用于选择设备的地址并由此允许赋予设备四个不同地址之一的两个引脚。然而,如果相同设备的数目超出可选地址的数目在本例中为4,则存在相同地址重叠问题。从成本和空间角度看,单纯地保持增加更多专用于选择设备地址的引脚是不切实际的。0013存在几百种当前正在生产的不同I2C。
17、兼容设备。尽管其中的一些可设计成具有若干可选地址,但其它的设备设计成固定地址。由于仅可获得112种不同的设备地址,因此很可能两个提供完全不同功能的不同IC可具有相同地址并附连于同一I2C总线。由于每个设备必须具有唯一的I2C地址,这能防止这两个IC被分别寻址。如果两个不同IC具有相同地址并连接于同一I2C总线,这也会导致数据损坏。0014目前对前述I2C寻址局限性没有方便的解决方案。最常见的解决方案是创建具有另一完全地址集的另一独立I2C总线,但这需要在主机控制器上设置另一I2C端口,这时不合需的。发明内容0015本发明的实施例涉及转换I2C地址的系统、设备和方法。这些系统、设备和方法可用来克。
18、服与寻址I2C兼容设备关联的前述局限性的至少一些。0016根据某些实施例,用于转换I2C地址的方法包括经由第一I2C兼容设备连接到的I2C总线的主侧从I2C兼容设备例如主机设备接收原始I2C地址。该方法还包括将原始I2C地址转换成经转换的I2C地址,并经由第二I2C兼容设备连接至的I2C总线的次级侧将经转换的I2C地址输出至第二I2C兼容设备例如隶属设备。在某些实施例中,经转换的I2C地址的至少一部分转换和至少一部分输出是在接收到整个原始I2C地址前执行的。可通过从原始I2C地址减去或加上一偏移值来将原始I2C地址转换成经转换的说明书CN102339267ACN102339280A3/8页7I。
19、2C地址,从而产生成经转换的I2C地址。可使用引脚包扎或通过将偏移值以允许偏移值可经由I2C总线编程的方式存储来指定该偏移值。或者,可使用可经由I2C总线编程的查找表将原始I2C地址转换成经转换的I2C地址。在特定实施例中,这些方法可通过I2C地址转换器来执行。0017其它方法可由主机设备执行,其中这些方法允许主机设备单独地发送命令至均具有第一地址例如同一地址的两个I2C兼容设备例如相同类型或不同类型的两个隶属设备,其中两个I2C可兼容设备中的第一个和主机设备连接于I2C总线的第一侧,而两个I2C兼容设备中的第二个连接于I2C总线的第二侧。这种方法可包括通过将第一地址纳入到第一命令而将第一命令。
20、发送至两个I2C兼容设备中附连于I2C总线的第一侧的第一个设备。该方法还可包括通过将第二地址纳入到第二命令而将第二命令发送至两个I2C兼容设备中附连于I2C总线的第二侧的第二个设备,其中第二命令中的第二地址在两个I2C兼容设备中的第二个接收到第二命令前被转换成第一地址。0018根据实施例,I2C地址转换器包括配置成经由I2C总线接收原始I2C地址的电路以及配置成将接收的原始I2C地址转换成经转换的I2C地址的电路。另外,I2C地址转换器包括配置成经由I2C总线的次级侧输出经转换的I2C地址的电路。配置成将接收的原始I2C地址转换成经转换的I2C地址的电路可包括自原始I2C地址减去一偏移值或加上。
21、一偏移值以由此产生经转换的I2C地址的电路。该电路也可包括例如存储偏移值并允许对该偏移值编程的电路,例如寄存器。在替代实施例中,配置成将接收的原始I2C地址转换成经转换的I2C地址的电路包括可编程查找表,该可编程查找表存储一个或多个原始I2C地址以及针对一个或多个原始I2C的每一个的经转换地址。0019根据本发明实施例的系统可包括I2C总线的主侧,且多个设备连接于I2C总线的主侧。另外,该系统可包括I2C总线的次级侧,且多个设备连接于I2C总线的次级侧。I2C地址转换器连接在I2C总线的主侧和I2C总线的次级侧。I2C地址转换器配置成经由I2C总线的主侧从连接于I2C总线主侧的多个设备之一接收。
22、原始I2C地址。另外,I2C转换器配置成将原始I2C地址转换成经转换的I2C地址,并经由I2C总线的次级侧发送经转换的I2C地址以使经转换的I2C地址可由连接于I2C总线次级侧的多个设备之一接收。0020该概述无意于概括本发明的所有实施例。根据下面给出的详细说明、附图以及权利要求,本发明的其他和替代实施例以及实施例的特征、方面以及优点将变得更为显而易见。具体实施方式0021本发明的特定实施例涉及I2C地址转换器,该I2C地址转换器可实现为集成电路IC或具有固件的微控制器,但不局限于此。参见图2,根据本发明一个实施例的I2C地址转换器210一侧其上有总线主控器102以及第一多个隶属外围设备104。
23、A、104B连接于主I2C总线1011也简称为I2C总线,而另一侧该侧连接于第二多个隶属外围设备104Y、104Z上形成次级I2C总线1012。由于I2C地址转换器210本质上延长了主I2C总线1011,因此主I2C总线也被称为I2C总线的主侧,而由I2C地址转换器210形成的次级I2C总线1012也被称为I2C总线的次级侧。0022根据某些实施例,I2C地址转换器210可被编程以转换I2C地址,以使主机设备能说明书CN102339267ACN102339280A4/8页8独立地与具有同一I2C地址的一对I2C兼容设备通信例如对其发送命令。下面参照图3、图4和图5给出这个操作如何完成的进一步细。
24、节,其中I2C地址转换器210的不同实施例分别标示为210A、210B和210C。0023通过转换I2C地址,根据本发明的一个实施例,具有相同地址的多对I2C兼容设备可独立寻址,只要一对I2C兼容设备中的一个连接于I2C总线1011的主侧而该对I2C兼容设备中的另一个连接于I2C总线1012的次级侧。例如,假设第一I2C兼容设备例如DAC具有7位二进制地址0101111,而第二I2C兼容设备例如LED驱动器也具有7位二进制地址0101111。如果I2C地址转换器210被编程为减去4的偏移值即二进制值100,则位于I2C总线1011的主侧上的主机设备例如102可使用二进制地址0101111对第一。
25、I2C兼容设备例如DAC寻址;而主机设备例如102可使用二进制地址0110011它等于二进制值0101111加上二进制值100对位于I2C总线1012的次级侧上的第二I2C兼容设备例如LED驱动器寻址。如此,当I2C地址转换器210从I2C总线1011主侧上的主机设备例如102接收到二进制地址0110011时,I2C地址转换器210将在I2C总线1012的次级侧上输出二进制地址0101111,由此允许位于次级侧上的第二I2C兼容设备例如LED驱动器被寻址。0024在刚才描述的例子中,共享共用地址的第一和第二I2C兼容设备是不同类型的设备,例如一个是DAC而另一个是LED驱动器。替代地,第一和第。
26、二I2C兼容设备可以是完全相同类型的设备,例如两例具有相同部件号的完全相同类型DAC。0025I2C地址转换器210的另一种使用如下。假设特定I2C兼容设备包括专用于选择设备的地址并由此允许赋予设备四个不同地址之一的两个引脚。在不使用本发明实施例的I2C地址转换器210的情况下,该特定I2C兼容设备的四个实例可通过使用两个引脚各自附连于同一I2C总线以对四个设备中的每一个赋予四个不同地址中的不同的一个地址。但是如果特定I2C兼容设备的第五实例附连于该I2C总线,则特定I2C兼容设备中的两个需要共享同一地址由于只有四个不同地址可用,这会导致数据损坏。然而,如果使用本发明实施例的I2C地址转换器2。
27、10,则可独立地对特定I2C兼容的高达八个实例进行寻址。更具体地,I2C地址转换器210可用来将I2C总线的主侧与I2C总线的次级侧划界。这允许特定I2C兼容设备的四个实例附连于I2C总线的主侧通过使用两个引脚来对四个设备中的每一个赋予四个不同地址中的一个不同地址,并允许该特定I2C兼容设备的四个更多实例附连于I2C总线的次级侧同样通过使用两个引脚来对四个设备中的每个设备赋予四个不同地址中的一个不同地址。继续该示例,假设I2C地址转换器210通过从接收的I2C地址减去偏移值来执行I2C地址转换,如下面结合图3和图4描述的那样。连接于I2C总线1011主侧的主机设备可使用四个独立的原始I2C地址。
28、以对连接于I2C总线1011主侧的特定I2C兼容设备的四个实例作写入和读出,而主机设备可使用四个独立的附加I2C地址对连接于I2C总线1012的次级侧的特定I2C兼容设备的四个实例作写入和读出。在该示例中,这四个独立的附加I2C地址用来对连接于I2C总线1012的次级侧的特定I2C兼容设备的四个实例寻址将等于四个独立原始I2C地址加上偏移值。0026现在参考图3、图4和图5描述I2C地址转换器的各个不同实施例。如前所述,在图3、图4和图5中,I2C地址转换器210的不同实施例分别标示为210A、210B和210C。尽管本文中描述了I2C地址转换器210的多种配置,然而本领域内普通技术人员将理解。
29、落在说明书CN102339267ACN102339280A5/8页9本发明精神和范围内的其它实施例也是可能的。0027参见图3,在某些实施例中,I2C地址转换器210A可通过外部引脚例如引脚包扎从由I2C主机图2中的102提供的地址减去一偏移值例如1、2、4或8或一些其它值来编程。例如,参见图3的高级图解,四个引脚302中的每一个可选择地接地或连接于供电电压干线例如VDD以经由解码器304选择由求和器306从I2C主机接收到的地址值中减去的偏移值,由此产生经转换的地址。通过适当配置转换器210A,附连于I2C总线的次级侧的外设IC的地址可映射至不由I2C总线的主侧使用的I2C地址空间中的地址。。
30、还要注意,可类似地使用除引脚外的其它类型端子以对偏移值编程以供I2C地址转换器210使用。0028在其它实施例中,I2C地址转换器210可经由EEPROM电可擦除可编程只读存储器、OTP一次性可编程存储器等被编程,这些存储器可通过最终用户藉由微控制器图1中的102使用主I2C总线来寻址转换器210并将寻址转换信息写至转换器210而被写入。这可通过对转换器210赋予唯一的7位地址来达成,类似于当前的标准I2C设备并可相应地受到控制。0029在某些实施例中,转换信息可被编程为用来产生经转换的I2C地址的偏移。例如,参照图4的高级图解,标准I2C控制器402可用于响应I2C地址转换器210B被寻址和。
31、写入而将偏移值写至寄存器404。之后,当转换器210B不被明确寻址时,求和器406从经由I2C总线主侧从I2C主机接收的地址值中减去存储在寄存器404中的值,由此产生经由I2C总线的次级侧输出的经转换的地址。这种偏移值可替代地以允许对偏移值编程的其它方式存储。例如,可将偏移值存储在I2C地址转换器210的非易失性存储器内,其中该非易失性存储器经由I2C地址转换器210所连接至的I2C总线编程。0030在图3和图4中,求和器306、406描述为用来从接收的地址减去一偏移值。因此,可将求和器306、406称为“求差器”或“减法器”。在替代实施例中,求和器例如306和406可用来将偏移值加至接收的地。
32、址。注意,如果接收地址和偏移值之和超出最大地址例如超出1111111,则可能发生上溢。同样,在地址转换器减去偏移值时,在接收到的地址减去偏移值是负数的情况下可能发生下溢。因此,应当将注意力放在理解上溢和/或下溢会如何影响地址转换。0031在其它实施例中,转换算法或查找表可用来实现将次级隶属地址再映射至I2C总线的主侧上的未使用地址。例如,参见图5,标准I2C控制器502可用来对查找表504中的多个地址中的每一个的转换值例如存储在多个寄存器中,但不仅限于此进行编程。此后,当I2C地址转换器210C不被明确寻址时,如果通过I2C地址转换器210C接收到查找表504中的地址,则I2C地址转换器210。
33、C经由I2C总线的次级侧输出相应经转换的地址。0032通常参考图25描述的I2C地址转换器210的诸个实施例可涉及一旦最初产品制造和最初加电定序时即被编程。根据某些实施例,在执行该编程操作前,次级总线上的隶属设备是不可寻址的并且被禁用。0033I2C地址转换器210可使用硬件来转换地址。作为附加或替代,I2C地址转换器210可使用固件和/或软件来转换地址。例如,I2C地址转换器210可包括使用算法来执行地址转换的固件。这种算法简化为规定经转换的地址等于原始地址减去偏移值。然而,可使用替代类型的算法并仍然落在本发明的范围内。又如,如果原始地址落在第一范围内,则算说明书CN102339267ACN。
34、102339280A6/8页10法可规定使用第一偏移值,而如果原始地址落在第二范围内,则算法规定使用第二偏移值。算法也可使用除减法以外的其它函数,例如可使用加法。算法使用乘法和/或除法也落在本发明的实施例的范围内,但使用这些函数比使用减法和/或加法更为复杂。0034参照图25对I2C地址转换器的各实施例进行总括地描述,图25示出I2C地址转换器经由I2C总线的主侧的主SDA线从I2C主机接收地址,并经由I2C总线的次级侧的次级SDA线输出经转换的地址。然而,I2C地址转换器也可接收SCL线,并如下面描述的那样,在某些实施例中可对SCL线施加控制。0035I2C地址转换器可利用I2C总线的同步特。
35、征从而以完全透明和遵照规范的方式执行地址转换。根据特定实施例,下面示出一个顺序0036步骤1I2C地址转换器例如210从主机例如102接收七个I2C地址位,如同任何附连的隶属IC。I2C地址转换器输出保持无效SDA和SCL输出高。0037步骤2一旦I2C地址转换器已接收到例如暂存七个地址位,则主侧上的SCL线由I2C地址转换器保持低。此时,转换地址例如从存储的地址中减去偏移值,并在次级侧上串行地驱动输出。主侧上的总线活动挂起,同时SCL线通过I2C地址转换器保持低。0038步骤3一旦经转换的地址已完全移出隶属侧,则次级侧上的SDA线逻辑连接于主侧上的SDA线。0039步骤4在短暂延时后,隶属侧。
36、上的SCL线被释放并逻辑连接于主侧上的SCL线。这将导致I2C地址转换器两侧上的SCL线变高。0040步骤5此时,I2C地址转换器的主侧上的SCL和SDA线逻辑连接于次级侧上的SCL和SDA线。剩下的I2C事务以透明方式完成,就像I2C地址转换器简单地由导线代替那样但由于I2C地址转换器内的可选缓冲器电路而可能具有微小的延时。0041图6示出前述过程的示例性时序图。也可使I2C地址转换器调整隶属侧上的地址传输速度以使其粗略地匹配于主机侧的速度。在最初主机地址传输过程中测量时钟频率提供必要的信息以调整I2C地址转换器的内部时钟,以当发送隶属地址时粗略地匹配时钟频率。0042在某些实施例中,I2C。
37、地址转换器210可配置成使用局限于值2N其中N1、2、3、4、5或6的偏移来执行转换。在这些实施例中,可使I2C地址转换器210在从主机接收到全部七个地址前开始地址转换,并在接收到全部七个地址位和/或完成地址转换前开始输出I2C总线的次级侧上的经转换地址的一部分。当与主侧总线时序相比时,这样做可减少连接于I2C总线次级侧的隶属作出响应的等待时间。换句话说,如果转换偏移值是2N值的二进制加权,则有一种情形是经转换的地址的最高有效位MSB在地址转换器210从主机接收拟转换的全部7位I2C地址前可能开始移出地址转换器210。这是因为如果偏移值的最低有效位LSB为零,则偏移值的任何减或加不影响拟转换的。
38、I2C地址的至少一些LSB。对于特定例子,假设偏移值是十进制数32即2532,其二进制值为0100000。另外假设该主机正对十进制地址53写入,其二进制值为0110101。假设I2C地址转换器210从接收自主机的I2C地址减去偏移值,则经转换的地址将是533221,即二进制值0010101。注意I2C地址的五个LSB不受转换影响,更具体地,一旦两个MSB由I2C地址转换器210接收,则转换不再变化。因此,在I2C地址转换器210接收拟转换的整个I2C地址前在本例中是在地址转换器210接收拟转换的地址的5个LSB前地址转换在本例中说明书CN102339267ACN102339280A7/8页11。
39、通过减法来获得可以是完成的并且一部分得到的经转换地址可能开始移出I2C总线的次级侧上的I2C地址转换器210。0043图7是用来概括方法的高级流程图,该方法由I2C转换器使用以根据本发明实施例转换I2C地址。参见图7,在步骤702,经由第一I2C兼容设备连接至的I2C总线的主侧从第一I2C兼容设备接收原始I2C地址。在步骤704,原始I2C地址被转换至经转换的I2C地址。在步骤706,经转换的I2C地址经由第二I2C兼容设备连接至的I2C总线的次级侧输出至第二I2C兼容设备例如隶属设备。0044根据实施例,在步骤704的地址转换是通过从原始I2C地址减去或加上偏移值以产生经转换的I2C地址来完。
40、成的。该偏移值可使用一个或多个端子例如引脚来规定,其中每个端子有选择地连接于供电电压干线或接地,例如参考图3描述的那样。替代地,偏移值可存储在寄存器或非易失存储器中,例如前面参考图4所述那样。这种存储的偏移值可经由I2C总线编程,如同前面参考图4描述的那样。在一替代实施例中,在步骤704的地址转换是使用查找表完成的,例如前面参考图5描述的那样。该查找表可经由I2C总线编程,就像前面参考图5描述的那样。使用如前所述除简单减法或加法以外的算法执行步骤704的地址转换也落在本发明的范围内。0045图8是用来概括方法的高级流程图,该方法由主机设备使用,允许主机设备独立地将命令发送至均具有相同地址的两个。
41、I2C兼容设备,其中两个I2C兼容设备中的第一个和主机设备连接于I2C总线的第一侧,而两个I2C兼容设备的第二个连接于I2C总线的第二侧。参照图8,在步骤802,主机通过将第一地址纳入第一命令而将第一命令送至两个I2C兼容设备中的第一个,该第一个I2C兼容设备附连于I2C总线的第一侧。在步骤804,主机通过将第二地址纳入第二命令而将第二命令发送至两个I2C兼容设备中的第二个,该第二个I2C兼容设备附连于I2C总线的第二侧,其中第二命令中的第二地址在两个I2C兼容设备中的第二个接收到第二命令前被转换成第一地址。0046上述描述是本发明的优选实施例。出于说明和描述目的提供这些实施例,但它们不旨在穷。
42、举或将本发明限制在所公开的精确形式。许多改型和变化对本领域内技术人员而言是明显的。这些实施例的选择和描述是为了最好地阐述本发明的原理及其实践应用,由此使本领域内技术人员理解本发明。微小的修改和变化相信落在本发明的精神和范围内。本发明的范围旨在由下面的权利要求及其等效方案限定。附图说明0047图1是用来解释I2C兼容设备通常如何与I2C总线中使用的另一I2C兼容设备通信的高级方框图。0048图2是根据本发明实施例解释I2C地址转换器如何一侧连接于主I2C总线而另一侧形成次级I2C总线的高级框图。0049图35示出用于编程图2中介绍的I2C转换器的本发明各实施例。0050图6是用来示出I2C地址转。
43、换器如何利用I2C总线的同步特征来以透明和遵照规范的方式执行地址转换的示例性时序图。0051图7是用来概括根据本发明实施例的方法的高级流程图,该方法由I2C转换器使用以转换I2C地址。说明书CN102339267ACN102339280A8/8页120052图8是用来概括一方法的高级流程图,该方法由主机设备使用,该方法允许主机设备独立发送命令至均具有同一地址的两个I2C兼容设备,其中两个I2C兼容设备中的第一个和主机设备连接于I2C总线的第一侧,而两个I2C兼容设备中的第二个连接于I2C总线的第二侧。0053附图中主要组件的附图标记列表0054101内部集成电路总线I2C总线00551011主。
44、I2C总线00561012次级I2C总线0057102主设备0058104A,104B,104C隶属设备0059104Y,104Z0060210,210A,210B,210C12C地址转换器0061302引脚0062304解码器0063306,406求和器0064402,502I2C控制器0065404寄存器0066504查找表0067702,704,708,802,804步骤0068RP拉高电阻器0069SCL串行时钟线0070SDA串行数据线0071VDD供电电压干线说明书CN102339267ACN102339280A1/7页13图1图2说明书附图CN102339267ACN102339280A2/7页14图3说明书附图CN102339267ACN102339280A3/7页15图4说明书附图CN102339267ACN102339280A4/7页16图5说明书附图CN102339267ACN102339280A5/7页17图6说明书附图CN102339267ACN102339280A6/7页18图7说明书附图CN102339267ACN102339280A7/7页19图8说明书附图CN102339267A。