CN200880025294.6
2008.07.16
CN101755259A
2010.06.23
撤回
无权
发明专利申请公布后的视为撤回IPC(主分类):G06F 13/42申请公布日:20100623|||实质审查的生效IPC(主分类):G06F 13/42申请日:20080716|||公开
G06F13/42; H04L29/12
G06F13/42
NXP股份有限公司
罗伯特·亨利·德尼; 亚历让德拉·纳瓦罗·莱西纳
荷兰艾恩德霍芬
2007.07.20 EP 07112871.4
北京天昊联合知识产权代理有限公司 11112
陈源;张天舒
本发明提供了一种系统,该系统包括在操作使用过程中连接至总线的多个电子装置。对于这些装置的自动地址配置,将这些装置连接成菊花链。在该菊花链中,这些装置中的前一个装置将其地址传送至这些装置中的下一个装置,并且后者通过相对于所接收到的地址的偏移量确定其自己的地址。
1. 一种系统(500),包括在所述系统的操作使用过程中连接至总线(108)的多个电子装置(502、504、506、508、510),并且在为所述各个电子装置配置各自的地址期间所述多个电子装置彼此互连以形成菊花链(511),其中:所述多个电子装置中的每一个均包括:-总线接口(704),用于与所述总线进行通信;-输入端(602)和输出端(616);所述菊花链中的所述多个电子装置中的每个下一电子装置的输入端都连接至前一电子装置的输出端;所述多个电子装置中的各个电子装置都具有用于确定各自的地址的各自的确定装置(604、606、608、610、612、614、618);所述每个下一电子装置的确定装置都用于基于相对于从所述前一电子装置接收到的前一地址的偏移量来确定下一地址,以及用于在其输出端提供所述下一地址。2. 根据权利要求1所述的系统,其中,所述偏移量为1。3. 根据权利要求1或2所述的系统,其中:所述多个电子装置中的一对连续电子装置通过串行位传输信道(513、515、517、519)在所述菊花链中互连;以及所述多个电子装置中的每个下一电子装置都具有用于接收所述前一地址的第一移位寄存器(604)和用于提供所述下一地址的第二移位寄存器(608)。4. 根据权利要求1、2或3所述的系统,其中,至少所述多个电子装置中的一个指定电子装置具有另一装置(702、710),其被配置为当在用来确定指定电子装置的地址的所述确定装置中检测到故障时,将所述指定电子装置的输入端连接至所述指定电子装置的输出端。5. 一种电子装置,包括:总线接口(704);输入端(602)和输出端(616);以及确定装置(604、606、608、610、612、614、618),用于基于在所述输入端处接收到的第二数字量,并基于相对于所述第二数字量的偏移量来确定第一数字量,以及用于在其输出端提供所述第一数字量。6. 根据权利要求5所述的电子装置,其中,所述偏移量为1。7. 根据权利要求5或6所述的电子装置,其中:所述输入端为串行位输入端;所述输出端为串行位输出端;以及所述电子装置具有接收所述第二数字量的第一移位寄存器(604)和用于提供所述第一数字量的第二移位寄存器(608)。8. 根据权利要求5、6或7所述的电子装置,还包括另一装置(702、710),其被配置为在用来确定电子装置的地址所述确定装置中检测到故障时,将指定电子装置的输入端连接至指定电子装置的输出端。9. 一种配置系统(500)的方法,所述系统具有在系统的操作使用过程中连接至总线(108)的多个电子装置(502、504、506、508、510),其中,所述多个电子装置中的每一个均具有总线接口(704)、输入端(602)和输出端(616),用于为所述多个电子装置中的各个电子装置配置各自的地址,所述方法包括以下步骤:将所述多个电子装置中的每个下一电子装置的输入端连接至所述多个电子装置中的每个前一装置的输出端,以形成菊花链(511);基于相对于从所述前一电子装置接收到的前一地址的偏移量来为每个下一电子装置确定下一地址;以及在所述下一电子装置的输出端提供所述下一地址。10. 根据权利要求9所述的方法,还包括以下步骤:对于所述多个电子装置中的指定电子装置,在确定所述指定电子装置的地址过程中、或在将所述指定电子装置的地址在所述指定电子装置的输出端进行提供的过程中检测到故障时,将所述指定电子装置的输入端连接至所述指定电子装置的输出端。
用于通信总线的自动地址分配 技术领域 本发明涉及一种包括了在操作使用中连接至总线的多个电子装置的系统,涉及一种用于这样的系统的装置,以及涉及一种在这样的系统中配置各装置的地址的方法。 背景技术 考虑了将经由总线(例如,I2C总线、SPI总线或并行I/O总线等)进行控制的多个(比方说,八个或更多)装置(例如,集成电路或包括集成电路的电子设备)。如果总线在其协议中缺少用于为这些装置分配地址的机制,则为连接至该物理总线的每个装置都分配唯一的装置地址会变得繁重。这通常占用每个装置的大量可编程管脚、或少量多电平管脚、或特殊选择电路,来解决为连接至这样的总线的电路分配唯一装置地址的问题。在所有这些情况中,PCB布图变得更加麻烦,尤其是在位置和地址之间的关系已知的情况下,正如这样的情况,例如,在面向矩阵的显示器装置(matrix-oriented displaydevice)或发光装置中。 发明内容 本发明提供了一种用于对系统进行配置的解决方案的高效途径,该系统包括了在系统的操作使用中连接至总线的多个电子装置。在本发明的系统中,在为各装置配置各自地址期间,这些装置还彼此连接或可彼此连接,以形成菊花链。这些装置中的每个装置都包括用于与总线进行通信的总线接口、输入端和输出端。在配置期间,菊花链中的每个下一装置都使其输入端连接至前一装置的输出端。这些装置中的每一个都具有用于确定各自地址的各自的确定装置。每个下一装置的确定装置都用于基于相对于从前一装置接收到的前一地址的偏移量来操作以确定下一地址,并用于将该下一地址提供至其输出端。该偏移量可以为统一的或可以为另一值,或者在配置地址之前,可以在每个装置中进行编程(例如,手动或优选地经由总线或经由其他通信介质)。 在该系统的一个实施例中,这些装置中的一对连续装置通过位传输信道在菊花链中互连,并且这些装置中的每个下一装置都具有用于接收前一地址的第一移位寄存器、和用于提供下一地址的第二移位寄存器。该位信道可以只是单条导线,以保持系统的互连简单。 在另一个实施例中,这些装置中的至少一个指定装置包括另一装置,该另一装置用于在前面提到的用来确定指定装置地址的确定装置中检测到故障时,将该指定装置的输入端连接至该指定装置的输出端。该另一装置然后在地址配置模式中在功能上将该指定装置锁定在菊花链以外。例如,在用于确定该指定地址的确定装置的硬件实施的情形中,提供给装置的电路的或具体提供给前述确定装置的电源故障会引起切换从而将该指定装置的输入和输出连接起来。 本发明还涉及在这样的系统中使用的电子装置。这样的电子装置包括:至总线的接口;输入端和输出端;以及确定装置,用于基于在输入端接收到的第二数字量以及基于相对于第二数字量的偏移量来确定第一数字量,以及用于在其输出端提供该第一数字量。此外,该偏移量可以具有预定值(例如一)。在一个实施例中,该输入端是串行位输入端,输出端是串行位输出端,从而保持这些装置之间的互连简单。于是,该装置具有用于串行接收所述第二数字量的第一移位寄存器和用于串行提供所述第一数字量的第二移位寄存器。 本发明还涉及一种配置系统的方法,其中该系统包括在该系统的操作使用中连接至总线的多个电子装置。这些装置中的每个装置都具有总线接口以及输入端和输出端。对于为这些装置之中的各装置配置各自的地址,该方法包括:将这些装置中的每个下一装置的输入端连接至这些装置中的前一个装置的输出端,从而形成菊花链;基于相对于从前一个装置接收到的前一个地址的偏移量来为每个下一装置确定下一地址;以及在下一装置的输出端提供该下一地址。 这种方法可以与需要不止一次重新配置系统的系统操作者商业相关。例如,该系统被包括在用于舞台表演、展览、或其他公共活动的照明系统中。在这种情况中,每个装置都包括可以经由总线单独进行控制的照明设备。每一种活动都可以要求这些装置的另一种配置(不同的装置数量、不同的装置顺序、改变同一装置的物理位置,等)。如另一个实例,该系统允许进行模块化配置,其中,本发明使得能够进行每种配置的自动地址分配。 附图说明 下面将利用实例以及参照附图对本发明进行进一步详细描述,其中: 图1是具有连接至总线的多个装置的总线系统的框图,其中应用了本发明; 图2-图4是用于图1的总线系统的已知装置的示意图; 图5是本发明的装置的示意图; 图6是操作使用中的本发明的总线系统的示意图;以及 图7本发明的装置的另一个示意图。 在所有的附图中,类似或相应的特征被标以相同的参考标号。 具体实施方式 图1是系统100的框图,其中,多个电子装置102、104、…、和106连接至总线108,例如I2C总线。如上所述,还可以使用其他类型的总线。这些装置102-106可以是相同的类型,例如,具有可控LED的照明设备。所考虑的问题涉及利用向装置102-106分配地址的方式来对系统100进行配置。 图2是用于示出使用上述总线配置分配地址的第一种已知方式的各方面的装置102的框图200。图2中的地址分配基于提供N个输入管脚,N等于地址中可编程位的所需数量,其在操作使用中可连接至地(GND)或电源电压(VDD)。这产生2N个可能地址。 因此,对于N=8个不同的地址,需要已经有了的3个额外管脚,即管脚202、204、和206。 图3是用于示出使用上述总线配置分配地址的第二种已知方式的各方面的装置102的框图300。图3中的地址分配基于多电平输入端的使用。在电源电压VDD的电压范围内,可以定义(例如)三个电压电平,从而在装置102的外部,可以利用连接在地GND和电源电压VDD之间的分压器来定义多个电压。在所示实例中,电阻器302和304形成一个分压器,电阻器306和308形成另一个分压器。该途径的缺点在于,例如,需要该电路定义并施加不同的电压电平以及保证这些电平在电源电压范围和温度范围内保持有效的方式。然而,如所示,仅占用两个管脚就能提供16个可能的地址。 图4是用于示出使用上述总线配置分配地址的第三种已知方式的各方面的装置102的框图400。图4中的地址分配基于装置102具有“片选”管脚402以及具有多个输出端口的微控制器(未示出)。微控制器可以通过激活管脚402来选择装置102,于是装置102根据经由总线108给出的命令来动作,而装置102-106中未被选择的装置保持无效。此处的主要缺点在于选择装置102-106中的一个或多个所需的附加导线的数量,以及微控制器的可用输出端口的数量(其需要至少等于系统100在操作使用中的装置102-106的数量)。 如上所述,本发明解决了如何为总线配置中的装置102-108分配(优选为连续的)地址,以及提供如下参照图5和图6描述的可替换解决方案。 图5是被配置用于实现寻址方案的系统500的框图。系统500包括位于菊花链配置511中并连接至总线108的多个装置502、504、506、508、…、和510。这些连续装置502-510中的各对分别通过各传输信道513、515、517和519连接。在本发明的一个实施例中,信道513-519均是串行位传输信道(例如单条导线)。系统500包括在操作使用中经由总线108控制装置502-510的系统控制器512。系统控制器512被配置为在系统500的地址配置期间监控该菊花链中的最后一个装置(此处为装置510)的输出。为了更详细地说明该配置,对图6进行了参考。 图6是根据本发明设计的装置502-510中任意一个的框图600。关于系统500中的地址配置,装置502-510具有类似的构造。串行输入管脚602连接至寄存器604。寄存器604可以在装置控制器606的控制下被并行加载、串行移位或可以保存其数据。控制器606还向第二寄存器608以及多路复用器610和612传送控制信号。寄存器604和608的输出端连接至输出选择器614。选择器614提供输出信号以驱动串行输出管脚616。寄存器604的输出端经由实现“增加”功能的级618连接至多路复用器612。增加值(或偏移量)为例如一或其他合适值。该增加值(或偏移量)可以由装置502-512的制造者固定,或可以由终端用户通过合适的接口(未示出)设置或编程。寄存器608的输出位构成所需的可编程地址位。此外,控制器606从系统控制器512接收“启动”信号以及从寄存器604接收最高有效位(MSB)。寄存器604和608、以及控制器606由同一时钟信号“clk”驱动。 在并行地为装置502-510执行复位期间,控制器606进入“Init”状态。在该状态中,以具有输入端602处存在的逻辑值的位对寄存器604进行加载,以及以所有都为逻辑1的值对寄存器608进行加载。这意味着菊花链中其输入端602连接至地的第一装置(此处为装置502)将在其寄存器604中全为零。其输入端602都连接至菊花链中前一装置的输出端616的所有其他装置504-510将全部在其寄存器604中具有逻辑1,这是因为所有的寄存器608都只包括逻辑1,这导致在输出端616处为逻辑1,与寄存器604的内容无关,这是由于选择器614的结构造成的。 复位周期一结束,控制器606就进入“Wait Start”状态。当发出信号“start”时,控制器606将状态改变为“Store Addr”状态,在该状态中,发出信号“load”。因此,寄存器608将以增加了一定值(例如,一)的寄存器604的当前值被加载,并且同时寄存器604被以十六进制值0x01(即,十进制的1)被初始化。 在这一点上,装置502的可编程地址被定义,并且将总具有逻辑为1的值,而链中其他装置504-510的可编程地址位仍将都为逻辑1。 在下一个时钟周期期间,控制器606将转变为“Shift Addr”状态。在该状态中,发出“shift”信号,使寄存器604中的各位从输入端602移动到MSB位置。由于以逻辑1(见0x01)对最低有效位(LSB)进行了初始化,因此,将总是有逻辑1最终移动到寄存器604的MSB位置中。在移动处理期间,寄存器608的值保持不变。当寄存器604中的逻辑1移动时,选择器614将会从寄存器608的MSB开始把寄存器608中的各位的值提供至输出端616。选择器614是优先级译码器:寄存器604中各位的最高有效逻辑1确定将寄存器608的哪一位发送至输出端616。即,寄存器604中所有的逻辑1中具有较高位等级的寄存器604中的多个位的逻辑1决定该发送。 由于装置504-510中的每一个都连接至其前级,因此,除了第一装置502(其寄存器604将总是被填充以逻辑零)以外,每个装置都在移动操作过程中利用其前级的可编程位对寄存器604进行填充。寄存器604的MSB一使逻辑1翻转,控制器606就将脱离“Shift Addr”状态并返回至“Wait Start”状态。在接收到下一个启动命令时,将再次执行该整个循环。该启动命令将被从装置的接口传送到总线108。如一个实例,可以考虑I2C协议中固有的启动条件,但是通常应该可以在启动传输时从任何可应用总线协议获得这样的命令。 换言之,对于每个工作循环(代表“Store Addr”(利用“start”命令)、“Shift Add”(利用“shift”命令)、和“Wait Start”状态的序列),装置502-510中下一个装置的寄存器608都采用由装置502-510中前一个装置的寄存器608中的各位代表的值,其中该值增加了一个偏移量(例如,该实例中为1)。将被转发给链中下一个装置的当前装置的地址位在串行时钟控制下被移出该装置,并移入下一个装置,以能够仅使用单个位传输信道(例如,单条导线)。还可以选择其他的偏移量。例如,装置502-510可以仅使用用于仅产生偶地址或仅产生奇地址的偏移量或初始值。如另一个实例,装置502-510中连续的装置的地址可以采用以格雷码进行格式化的连续的地址,从而该连续的地址仅有一位不同。这可能会涉及按照连接至总线108的顺序来启动或停止的多个装置的系统。 因此在每次开始传输时,链中的装置502-510的可编程位将按照这些装置在菊花链511中连接的顺序被逐装置地定义。由于第一个装置已经在第一次传输开始时被定义,因此其可以立即被寻址并与其进行通信。通过以与链中顺序相同的寻址顺序的方式对传输方案进行组织,对于地址分配处理本身将不会浪费时间,并且也不会在总线控制器512中浪费开销。 通过观察链中最后一个装置510的输出,控制器512将能够确定其何时对该最后一个装置进行寻址。该输出将为逻辑高,直到寄存器608不再包含全部的逻辑1。因此,在检测到逻辑低时,就寻址到该装置。当然,只有在已经执行前述传输方案的条件下才可能是这种情况。此时控制器512将能够检查是否存在所有的装置502-510。 应该注意到,不能使用全部都为逻辑零的可编程地址组合。可以使用全部为逻辑1的组合,不过如果这样使用,将不再能够通过观察输出端616来对最后一个装置512进行检测。在另一个实施例中,可以使用附加的寄存器(未示出)来存储寄存器608的编程地址。于是当各位移出时,寄存器608将被清空,并且可以通过在输入端602处移入各个位来对寄存器604进行填充。然后,输出端616与寄存器608的MSB连接,从而可以省略选择器614。 本发明可以用于需要自动为连接至总线的许多电路分配地址的任何应用中,从而根据各装置在菊花链中的顺序来单独地确定这些地址。同样,本发明还可以用于其中这些装置作为具有用于进行可控发光的LED的照明设备的基于LED的照明应用中。此外,本发明还可应用于LCD背光中,其中,利用上述系统对背光进行分割,以及其中,经由总线接口对装置进行控制以可控地进行发光。类似的,本发明还可以用于平板显示环境照明配置中。此外,本发明还可以用于汽车照明中,其中,多个光源必须受控于单个车辆控制单元。本发明还可以用于通用载荷点控制器,其中,该控制器的模块化方法有益于实现可缩放及灵活的系统。 图6中,各种部件,例如部件604、608、610、612和614已经被描述为如以硬件实现。很显然,这些部件的功能性还可以完全以软件以及集成为当前独立绘制的控制器606的一部分、或集成为门阵列等来实现。 在已经以(可编程)软件实现了部件604、608、610、612和614的系统中执行上述地址配置之前,操作者可粗略地知道菊花链中装置的数量。于是操作者可以使用总线控制器512来设置寄存器604和608的尺寸以及选择器614的输入范围和输出范围,以提供对于所述具体装置数量执行地址配置方案所需的位数。 当在系统500中使用自动地址分配机制并且装置502-510中的一个在地址配置期间损坏或之前就已经损坏时,地址分配可能不能成功完成。如果装置502-510中的一个或多个损坏,则从控制器512的角度看,至少链中最后一个损坏的装置的下游装置都将被丢失,尽管这些下游装置对于总线108仍然是可用以及可操作的。 下面,描述了一种方法,用于避免在连接在菊花链中的装置502-510中的一个或多个关于地址产生而发生故障的问题。 当在一个长的装置链中使用上述地址产生机制时,输入端连接至地的第一装置502将在该链中取地址1(1被加到装置基地址上,例如6位可配置装置中的0x41)。连接在该链中的下一个装置504将在输入端处看到1,并将在该链中以地址2(相同的前一实例中的0x42)对其自身进行配置。装置504将在其输出端提供地址2,并且下一个装置506将以地址3对其自身进行配置等等。最后一个装置510的输出端将连接至控制器512。当控制器512检测到零时,控制器512将知道地址分配已经完成,并可以在系统500的操作使用过程中启动对装置502-510的寻址。 假设在适当的初始化之后,装置502-510中的一个(例如该链中间的装置506)损坏,就会出现下列问题。如果故障使得电源(VDD)(其为包括在自动地址配置中和连接至总线108的接口中的部件供电)仍然可用,则装置506仍将获得一个地址。装置506将可被控制器512访问,并且控制器512将能够检测(例如,通过寄存器存取)装置506不再适合工作(例如,在照明情况中不再发光)。在这种情况中,损坏的装置不干扰系统500正常的寻址操作。 如果装置506以包括在自动寻址配置中以及接口中的电路不再被供电的方式损坏,则装置506的输出端616将接地。位于损坏装置之后下游的装置508和510将再次启动加地址机制。在最糟糕的情况中,一半的装置具有与另一半装置相同的地址(或根本不可寻址),以及产生总线寻址冲突。由控制器512进行的寻址就成为一个问题并且系统500整体上变得不能工作。为了解决该问题,可以实现一种机制来将故障装置506的输入端602连接至故障装置506的输出端616。 图7是装备有这样机制的装置502-510中任意一个装置(例如,装置506)的框图。装置506包括框702,其代表包含在如上所述的自动地址分配处理中的部件,例如部件604、606、608、610、612和614。装置506还包括用于装置506的可操作使用的电路,其包括经由用于连接至总线108的时钟线“clk”的管脚706以及经由连接至总线108的数据线“data”的管脚708而连接至总线108的接口704。在所示的实例中,开关710位于管脚602和616之间。开关710以以下方式进行控制:在装置506的适当初始化之后断开并适当地起到电源VDD的作用,而在其他情况下闭合。如果框702的电源中断,例如,由于电路故障,则开关710将把装置506锁定到菊花链之外,并且进行寻址处理就好像此处不存在装置506一样。一些实施例在其IC中对于输入端602和输出端616可能使用标准接合焊盘。在该情况中,如果没有VDD,则这些焊盘将使保护二极管接地(“gnd”)。因此,信道513-519中的菊花链信号将不能达到其逻辑高电平。这个问题可以通过使用没有至VDD的保护二极管的焊盘来避免。 利用该解决方案,如果系统500(例如,照明设备)中的IC损坏,则该链不会由于损坏的装置而损坏。如果装置仅是部分损坏,则电源VDD保持可用,但是不能使装置506在操作使用中发挥作用,例如,在照明应用情形中装置506不发光。地址分配仍将起作用,并且控制器512之后将能够检测到装置506没有正常工作,并可以对其他装置改编程序以与在系统中所有装置都正常工作的情形一样得到全部光通量输出。相应地,对于装置502-506中指定的一个装置,如果在确定该指定装置的地址的电路中、或在该指定装置的输出端616处提供该指定装置的地址的电路中检测到了故障,则将该指定装置的输入端连接至该指定装置的输出端。
《用于通信总线的自动地址分配.pdf》由会员分享,可在线阅读,更多相关《用于通信总线的自动地址分配.pdf(13页珍藏版)》请在专利查询网上搜索。
本发明提供了一种系统,该系统包括在操作使用过程中连接至总线的多个电子装置。对于这些装置的自动地址配置,将这些装置连接成菊花链。在该菊花链中,这些装置中的前一个装置将其地址传送至这些装置中的下一个装置,并且后者通过相对于所接收到的地址的偏移量确定其自己的地址。 。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1