国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      總線地址分配的制作方法

      文檔序號:11851465閱讀:460來源:國知局
      總線地址分配的制作方法與工藝

      本公開涉及唯一總線地址向連接到總線(諸如I2C總線或任何其它類型的總線)的設(shè)備的分配。



      背景技術(shù):

      I2C是可以用于將低速外圍設(shè)備附連到主板、嵌入式系統(tǒng)、蜂窩電話或其它電子設(shè)備的一種類型的串行計算機總線。在總線的上下文中,主設(shè)備是可以發(fā)起通過總線的交易的設(shè)備,并且從設(shè)備是連接到總線但是不能發(fā)起通過它的任何交易(并且因而僅響應于主設(shè)備而通過總線通信)的設(shè)備。典型地,I2C使用在印刷電路板(PCB)上以將有限數(shù)目的從設(shè)備連接到單個主設(shè)備微控制器。不管怎樣,I2C協(xié)議的確允許多個主設(shè)備,即各自可以發(fā)起通過總線的交易(以便向另一設(shè)備提供指令或信息,或者從另一設(shè)備讀取信息)的多個設(shè)備。甚至可能的是,每一個參與方是主設(shè)備。另外,I2C可以用于經(jīng)由線纜而不是僅僅在一個PCB內(nèi)連接組件。

      基于I2C的系統(tǒng)典型地使用通用構(gòu)建塊而建立。在其中I2C使用于PCB上以將有限數(shù)目的“啞”功能塊連接到一個“智能”(微)控制器的情況下,系統(tǒng)設(shè)置和地址的可用性事先已知。



      技術(shù)實現(xiàn)要素:

      將合期望的是使諸如I2C之類的總線系統(tǒng)更加適用于較寬范圍的應用,諸如照明控制系統(tǒng)。例如,可能期望的是提供多個模塊,諸如智能照明器,其中每一個模塊包括全部單獨地連接到相同總線的控制器設(shè)備和一個或多個第二設(shè)備。例如,在智能照明器的情況下,每一個照明器可以包括智能控制器和一個或多個啞設(shè)備,諸如存儲器(例如EEPROM)、燈和/或傳感器;每一個模塊中的每一個智能和啞設(shè)備全部單獨地連接到相同總線,諸如I2C總線。

      使用諸如I2C總線之類的總線作為將不同模塊連接在一起的通信接口(例如以建立諸如照明控制系統(tǒng)之類的系統(tǒng))可以提供優(yōu)點,但是也有挑戰(zhàn)。優(yōu)點在于,其允許更大的靈活性,例如“智能”(微)控制器和許多標準“啞”功能設(shè)備,比如存儲器、輸入、輸出、感測和許多其他功能設(shè)備,在市場上可獲得。這允許快速且成本有效的開發(fā)。然而,挑戰(zhàn)是在I2C的典型應用領(lǐng)域之外并且仍舊達到可接受性能的環(huán)境中使用該系統(tǒng)。數(shù)據(jù)吞吐量和魯棒性方面的性能由系統(tǒng)設(shè)置和其所使用的環(huán)境來確定。例如,將合期望的是提供I2C地址分配過程,其允許多個(類似)模塊互連而同時確保所有I2C候選者具有唯一地址且模塊控制器知曉所有其自身設(shè)備的地址。

      將系統(tǒng)放大至連接在相同總線上的多個“智能”控制器極大地增加了保證每一個參與方得到唯一I2C地址的問題。由于給定類型的“啞”功能塊可以多于一次地使用于系統(tǒng)中,所以如通常在I2C系統(tǒng)中所使用的固定尋址方案將不總是可行。在設(shè)計階段中,可能不必知曉哪些通用構(gòu)建塊將要組合在系統(tǒng)中,并且因此也許不大可能在設(shè)計階段處選擇用于構(gòu)建塊的合適地址。例如,如果具有I2C EEPROM的智能控制器使用與具有I2C EEPROM的另一智能控制器相同的I2C總線,則將合期望的是提供“智能”尋址方案,其提供用于兩個控制器并且用于其相應EEPROM的不同I2C地址。類似考慮也可以出現(xiàn)在其它應用和/或其它類型的總線中。

      本公開提供了一種系統(tǒng),其中多個控制器連接到總線,并且每一個控制器負責分配也連接到總線的一個或多個相應第二設(shè)備的地址。例如,每一個控制器設(shè)備及其相應的(多個)第二設(shè)備可以形成相同的相應模塊的部分,例如相同照明器。出于本申請的目的,“智能”設(shè)備是負責分配一個或多個地址的控制器設(shè)備,并且“啞”設(shè)備是具有其由控制器設(shè)備分配的地址的第二設(shè)備(例如,因為其不能夠分配其自身地址或者實際上任何地址)。在實施例中,智能控制器還可以具有其它責任,例如每一個控制器可以負責控制其相應的(多個)第二設(shè)備。智能控制器可以是主設(shè)備,這意味著能夠發(fā)起通過總線的交易的設(shè)備,而啞第二設(shè)備可以是從設(shè)備,這意味著不能夠發(fā)起通過總線的交易的設(shè)備(盡管智能和啞不需要在所有可能的實施例中與主和從同義)。

      在這樣的布置中,一個特別的問題在于,可以存在用于拾取地址的有限選項,其中僅總線的地址范圍內(nèi)的一些地址適用于一些設(shè)備,而僅某些其它地址可能適用于其它設(shè)備。例如,每一個第二設(shè)備可能僅能夠被分配來自包括比總線的地址范圍少的地址的有限、預確定的可能地址范圍之中的地址,例如受約束于有限的出廠地址范圍;或者某些地址可能由于其它原因而不適用,例如由于設(shè)計師的設(shè)計考慮。這意味著當添加新設(shè)備或模塊或者其變得具有所分配的地址時,可能必要的是再次訪問較早的選擇。

      根據(jù)本公開,智能控制器設(shè)備嘗試尋找自由地址以分配給其啞第二設(shè)備(它不能配給其自身地址),但是如果沒有自由地址,則控制器向一個或多個其它智能設(shè)備詢問它們是否可以改變其地址之一(其自身的或者它們所負責的一個啞設(shè)備)。

      因而,根據(jù)本文公開的一個方面,提供了一種包括總線接口和地址配給邏輯的控制器設(shè)備??偩€接口使得能夠基于分配給多個設(shè)備(其通過該總線通信)的地址而實現(xiàn)通過總線的通信。這些設(shè)備包括多個第二設(shè)備,以及包括所述控制器設(shè)備的多個控制器設(shè)備。每一個控制器設(shè)備負責分配一個或多個總線地址,包括至少第二設(shè)備中的相應一個或多個的(多個)地址。地址配給邏輯配置成向所述控制器設(shè)備的相應一個或多個第二設(shè)備中的每一個分配地址。其通過以下過程而完成這一點:搜索要分配給其相應一個或多個第二設(shè)備中的每一個的當前未分配地址,并且如果沒有找到用于一個或多個相應第二設(shè)備中的一個的未分配地址,則向所述控制器設(shè)備中的至少一個其它控制器設(shè)備發(fā)出請求(例如通過總線)以請求其它控制器設(shè)備改變所述其它控制器設(shè)備負責分配的一個或多個地址中的一個。

      在實施例中,所述請求包括改變所述其它設(shè)備的相應一個或多個第二設(shè)備中的一個的地址的請求。在實施例中,每一個控制器設(shè)備還可以負責分配其自身地址,并且所述請求可以包括改變所述其它設(shè)備的地址或者所述其它設(shè)備的相應一個或多個第二設(shè)備中的一個的地址的請求。

      在另外的實施例中,控制器設(shè)備可以通過用于分配其(多個)地址的分離連接而連接到其一個或多個相應第二設(shè)備中的每一個,即通過與所述總線分離的連接。因而在實施例中,控制器設(shè)備可以包括第二接口以用于經(jīng)由與所述總線分離的分離連接而分配所述控制器設(shè)備的相應一個或多個第二設(shè)備的地址。在實施例中,這可以針對控制器設(shè)備及其相應第二設(shè)備中的每一個來提供。該附加連接可以是控制器與其相應第二(例如,從)設(shè)備之間的專用或點對點連接,其中具有針對每一個第二設(shè)備的單獨連接。在實施例中,每一個控制器可以通過單獨的專用或點對點連接而連接到其一個或多個自身相應(多個)第二(例如,從)設(shè)備中的每一個(相反地說,相等設(shè)備連接在鏈環(huán)中并且沿鏈向下傳遞地址)。

      為了實現(xiàn)請求機構(gòu),在實施例中,所述請求可以包括所述控制器設(shè)備提出使用于其相應一個或多個第二設(shè)備中的一個的所提出的地址,由此觸發(fā)其它控制器設(shè)備確定其是否可以借助于所述改變而釋放所提出的地址,如果所提出的地址已經(jīng)由所述其它控制器設(shè)備分配的話。

      控制器設(shè)備還可以包括允許(多個)其它設(shè)備做出它的類似請求的互逆機構(gòu)。因而在實施例中,地址配給邏輯可以可操作成從至少一個其它控制器設(shè)備接收包括所述其它控制設(shè)備提出使用于其相應一個或多個第二設(shè)備中的一個的所提出的地址的請求;并且地址配給邏輯可以配置成作為響應,如果所提出的地址已經(jīng)由所述控制器設(shè)備分配,則確定其是否可以通過改變所述控制器設(shè)備負責分配的一個或多個地址中的一個而釋放所提出的地址。

      在另外的實施例中,地址配給邏輯可以配置成通過以下過程執(zhí)行針對當前未分配地址的所述搜索:通過總線向候選地址發(fā)送消息,并且如果作為響應從候選地址接收回確認,則確定候選地址已經(jīng)被分配,并且如果作為響應沒有從候選地址接收回確認,則確定候選地址當前未分配。

      根據(jù)本文公開的另一方面,可以提供一種系統(tǒng),包括:總線;以及連接到總線并且各自請求用于通過總線通信的地址的多個設(shè)備,多個設(shè)備布置在分組中,每一個分組包括相應控制器設(shè)備和相應一個或多個第二設(shè)備。例如,每一個分組可以形成相應模塊的部分,例如相應照明器。每一個控制器設(shè)備負責分配所述地址中的一個或多個,包括至少其相應一個或多個第二設(shè)備中的每一個的地址。另外,每一個控制器設(shè)備配置成通過以下過程執(zhí)行所述分配:搜索要分配給其相應一個或多個第二設(shè)備中的每一個的當前未分配地址,并且如果不能找到用于一個或多個相應第二設(shè)備中的一個的未分配地址,則向所述控制器設(shè)備中的至少一個其它控制器設(shè)備發(fā)出請求,以請求所述其它控制器設(shè)備改變所述其它控制器設(shè)備負責分配的一個或多個地址中的一個。

      在實施例中,系統(tǒng)的控制器設(shè)備中的任一個、一些或全部可以依照本文公開的任何控制器設(shè)備的任何特征來配置;并且系統(tǒng)的第二設(shè)備中的任一個、一些或全部可以依照本文公開的任何第二設(shè)備的任何特征來配置。

      根據(jù)另一方面,本公開提供了一種計算機程序產(chǎn)品,其體現(xiàn)在計算機可讀介質(zhì)上并且配置成以便在控制器設(shè)備上執(zhí)行時實施依照本文公開的任何控制器設(shè)備的操作。

      附圖說明

      為了幫助理解本公開并且示出實施例可以如何付諸實踐,作為示例而參照附圖,其中:

      圖1是總線和所連接的設(shè)備的示意性框圖,

      圖2是照明系統(tǒng)的示意性框圖,

      圖3是控制器設(shè)備的示意性框圖,

      圖4是總線和所連接的設(shè)備的另一示意性框圖,

      圖5是由控制器設(shè)備控制的第二設(shè)備的示意性框圖,

      圖6是地址分配過程的示意性流程圖,以及

      圖7是提供地址分配過程的另外細節(jié)的示意性流程圖。

      具體實施方式

      以下實施例提供了I2C控制器,其布置成連接到I2C總線,并且分離地連接到也連接至I2C總線的I2C從設(shè)備。I2C控制器配置成確定連接到I2C總線的所有其它I2C控制器具有分配給它們的相應地址,并且然后一次一個地向I2C地址的列表發(fā)送確認請求。一旦確認請求中的一個沒有得出確認,則I2C控制器停止發(fā)送確認請求并且然后向I2C從設(shè)備分配所述那個確認請求原本發(fā)送至的地址。如果可能沒有找到這樣的地址,則I2C控制器向一個或多個其它控制器發(fā)送請求以詢問它們是否可以改變它們所負責的任何地址,由此釋放出用于由請求控制器分配給其一個從設(shè)備的地址。這考慮到以下情況:當總線可以具有原則上可獲得的某一總體地址范圍時,僅那些地址中的一些地址可以適用于某些設(shè)備,而其它地址可能適用于其它設(shè)備。例如,標準“開架”功能塊可以僅具有其地址可以選自其中的固定出廠地址范圍。

      圖1圖示了一種系統(tǒng),包括通信總線2和連接到總線2的多個設(shè)備6,8,使得設(shè)備6,8之間的通信可以通過總線2而根據(jù)合適的總線協(xié)議進行。在實施例中,總線2是通過其而根據(jù)I2C協(xié)議進行通信的I2C總線。連接到總線2并且布置成根據(jù)相關(guān)總線協(xié)議而通過總線2接收和/或傳送消息的設(shè)備6,8可以被稱為該總線的參與方。在當前情況下,總線參與方包括多個“智能”設(shè)備6和一個或多個“啞”設(shè)備8。

      如在下文中使用的“智能”設(shè)備是指控制器設(shè)備,其包括依照本文公開的實施例的地址配給邏輯機構(gòu)的實例,并且其優(yōu)選地包括布置成執(zhí)行用于控制連接到總線2的一個或多個其它設(shè)備6,8的軟件的微控制器或其它處理器。因此,每一個智能設(shè)備優(yōu)選地是主設(shè)備,即能夠發(fā)起通過總線2的交易(以控制從設(shè)備和/或以與其它主設(shè)備通信)。另一方面,“啞”設(shè)備是指不具有依照本文公開的實施例的地址配給邏輯的設(shè)備,并且它要求通過負責它的相關(guān)聯(lián)(智能)控制器設(shè)備6向它分配它的地址。每一個啞設(shè)備可以是從設(shè)備(即不能發(fā)起總線交易),或者是主設(shè)備,但是僅根據(jù)標準或之前已知的總線技術(shù)配置并且自身不能夠分配地址的主設(shè)備。例如,“啞”設(shè)備可以是標準(“開架”)I2C設(shè)備。啞設(shè)備可以實現(xiàn)在專用硬件中,或者在僅編程有有限功能性的微控制器中。在實施例中,一個、一些或全部啞設(shè)備8可以是從設(shè)備??商鎿Q地,每一個總線參與方可以是主設(shè)備。在以下示例中,每一個智能設(shè)備6可以可交換地描述為主設(shè)備,并且每一個啞設(shè)備8可以可交換地描述為從設(shè)備。然而,將領(lǐng)會到,在所有可能的實施例中,情況未必如此。

      每一個控制器設(shè)備6包括通信邏輯10,其配置成依照其相應設(shè)備的主設(shè)備狀態(tài)而通過總線2與其它設(shè)備6,8通信。主設(shè)備6可以自主地訪問總線2,即可以向總線上發(fā)出消息而沒有首先輪詢或者從連接到總線2的另一設(shè)備接收請求。也就是說,如所提及的,主設(shè)備6是可以發(fā)起通過總線的交易的設(shè)備。另一方面,從設(shè)備8僅可以接收消息并且對所接收的消息做出響應。從設(shè)備自身不能發(fā)起交易。每一個從設(shè)備8包括用于根據(jù)總線協(xié)議而通過總線2接收消息并對消息做出響應的(有限)總線通信邏輯11。

      除通過總線2通信之外,每一個設(shè)備6,8還具有提供設(shè)備的“最終使用”或目的的某種其它功能性。例如,在照明系統(tǒng)中,一些設(shè)備各自可以包括布置成光照空間(例如室內(nèi)空間,諸如房間、走廊、大廳、劇院、車間等;或者室外空間,諸如花園、公園、體育場等;或者任何其它空間,諸如車輛內(nèi)部)的相應燈或光源。一個或多個設(shè)備可以提供其它類型的功能性,諸如存在傳感器。存在傳感器是檢測人員在空間中的存在的設(shè)備,例如通過檢測運動和/或熱量。存在傳感器可以通過其進行操作的示例技術(shù)包括被動紅外(PIR)或超聲。其它示例設(shè)備可以包括存儲器設(shè)備,諸如EEPROM,和/或用于經(jīng)由總線2控制一個或多個燈和/或傳感器的控制器。

      每一個主設(shè)備6可以從總線2上的另一設(shè)備6,8請求數(shù)據(jù),例如請求狀態(tài)信息。每一個主設(shè)備還可以向總線2上的另一模塊6,8發(fā)送數(shù)據(jù),例如以控制它提供某種功能性,或者以在那里存儲信息。

      如圖1中所示,設(shè)備6,8布置成分組12,其中每一個分組包括一個或多個相應從設(shè)備8和充當針對該分組12的控制器的相應主設(shè)備6。例如,每一個分組12可以是通過總線2連接在一起的智能模塊的系統(tǒng)的相應模塊的設(shè)備6,8。例如,每一個模塊12可以是智能照明系統(tǒng)的相應智能照明器。在每一個給定模塊或分組12內(nèi),主控制器設(shè)備6負責其相應模塊或分組12中的相應一個或多個從設(shè)備8。依照本公開,這至少意味著主控制器設(shè)備6布置成向其一個或多個相應從設(shè)備8中的每一個分配總線地址,如很快將更加詳細討論的。優(yōu)選地,這還意味著主控制器設(shè)備6布置成經(jīng)由總線2控制或利用其一個或多個相應從設(shè)備8的功能性。要指出的是,每一個單獨的設(shè)備6,8(不僅僅是每一個模塊12)單獨連接到總線2,這意味著任何主設(shè)備6潛在地能夠與任何其它設(shè)備6,8通信(取決于它們是否編程或以其它方式部署成在任何給定應用中這樣做);但是不管怎樣,每一個主設(shè)備6至少主要負責控制其相應分組或模塊12的相應從設(shè)備8。

      在實施例中,每一個設(shè)備6,8還可以連接到分離的電力供應線4,諸如以太網(wǎng)供電連接,其提供設(shè)備6,8的前端功能性。例如,在照明器的情況下,第一電源4可以連接到照明器的(多個)光源的驅(qū)動器??商鎿Q地,一些或全部設(shè)備6,8各自可以提供有其自身單獨的電源,或者電源可以并入到通信總線2中。

      本公開的示例應用在圖2中圖示。此處,系統(tǒng)包括多個智能照明器12,每一個包括各自連接到總線2的多個設(shè)備6,8。例如,每一個照明器的設(shè)備6,8可以包括在相同外殼內(nèi)。在所示示例中,每一個照明器12包括燈或光源、存在傳感器、諸如EEPROM之類的存儲器、以及控制器。光源、傳感器和存儲器中的每一個可以實現(xiàn)為從設(shè)備或啞設(shè)備8,并且每一個控制器可以實現(xiàn)為智能主設(shè)備6。每一個主控制器設(shè)備6主要負責控制其自身相應照明器12的光源并且從其自身照明器12的傳感器取得傳感器讀數(shù),盡管也許還可能的是控制器6發(fā)起通過總線2與其它照明器12的從設(shè)備8的交易。另外,控制器6可以通過總線2與其它控制器6通信,例如以交換用于協(xié)調(diào)照明器12的操作的信息,例如以僅接通或調(diào)亮其中基于來自存在傳感器的傳感器讀數(shù)而確定用戶存在的區(qū)中的那些照明器12,并且關(guān)斷或調(diào)暗其它照明器12以便節(jié)省電力消耗。將領(lǐng)會到,這僅僅是一個示例,并且各種其它布置可能用于實現(xiàn)照明系統(tǒng)或其它種類的系統(tǒng)。

      在該應用或其它應用的實施例中,總線2可以包括在不同電路板上和/或容納在不同單元中的設(shè)備6,8或模塊12之間的一個或多個長度的線纜,其可以通過幾米線纜分離。例如,在諸如照明系統(tǒng)之類的上下文中,總線2可以包括連接在各種智能照明器6之間的幾米線纜。

      圖3示出了單獨的主設(shè)備6的細節(jié)。在實施例中,參與在總線2上的每一個主設(shè)備6可以如圖3中那樣配置。主設(shè)備6包括用于連接到總線2的端口19。另外,主設(shè)備6包括總線通信邏輯10和地址配給邏輯21??偩€通信邏輯10配置成根據(jù)相關(guān)總線協(xié)議而通過總線2通信,例如I2C。地址配給邏輯12配置成能夠向其自己及其相應(多個)從設(shè)備8分配地址,如將很快更加詳細討論的。

      在示例性實現(xiàn)中,主設(shè)備6可以包括包含一個或多個處理單元或核的處理器14,以及包含一個或多個存儲單元或存儲介質(zhì)的存儲器16。在實施例中,處理器14和存儲器16可以采取嵌入式微控制器的形式,例如嵌入在照明器12中,盡管一般地不就處理器或存儲器的尺寸或類型做出限制。在這樣的實現(xiàn)中,總線通信邏輯10和/或地址配給邏輯21中的一些或全部可以以代碼的形式實現(xiàn),該代碼存儲在存儲器16上并且布置用于在相應主模塊6的處理器14上執(zhí)行。例如,存儲器16可以包括通過總線2將來自分離的存儲器模塊(例如EEPROM)的代碼獲取到其中的RAM,和/或嵌入式非易失性存儲裝置,諸如其中預存儲代碼的啟動ROM。因此要指出的是,“邏輯”或“機構(gòu)”不暗示著專用硬件電路中的實現(xiàn)。不管怎樣,在可替換實現(xiàn)中,可能的是總線通信邏輯10和/或預設(shè)結(jié)構(gòu)20中的一些或全部可以實現(xiàn)在專用硬件電路中,或者可配置或可重新配置的電路中,諸如PGA或FPAG。一般地,邏輯或機構(gòu)可以是指軟實現(xiàn)或硬實現(xiàn)。

      不同主設(shè)備6上的配給邏輯21一起形成依照本公開的實施例的分布式地址分配系統(tǒng),其示例將在下文參照圖4-7更加詳細地討論。

      下文公開了保證系統(tǒng)內(nèi)的每一個設(shè)備6,8(智能或不智能)的I2C地址的唯一性的智能、自動化尋址機構(gòu),從而使得能夠與每一個分離的設(shè)備單獨地交互。該自動化尋址機構(gòu)考慮到啞功能設(shè)備8可以連接到I2C總線,并且將避免這樣的設(shè)備可能聲明的典型地址(因此在新的從設(shè)備8添加到I2C總線2時仍舊保證所有地址的唯一性)。

      一旦啞“開架”I2C設(shè)備8由連接到總線2的模塊12之一使用,則相同設(shè)備8或模塊12的另一實例將引起總線2上的地址沖突,從而不允許單獨地尋址分離的開架設(shè)備8。因為在設(shè)計時整個系統(tǒng)的構(gòu)建可能未知,因此需要在運行時間期間注意到尋址暗示。下文描述了決定如何向附加設(shè)備配給地址的高校方式,以及設(shè)定所選地址的構(gòu)件。

      要指出的是:附加啞或從設(shè)備8沒有在地址沖突的情況下改變其自身地址的構(gòu)件。

      在實施例中,解決方案具有以下特征。

      a)每一個智能模塊6包括具有使用智能尋址方案所獲得的唯一地址的(微)控制器(階段i)。

      b)每一個從設(shè)備8耦合到一個(微)控制器。

      c)每一個從設(shè)備8具有用于從出廠地址范圍之中設(shè)定特定地址的外部輸入。

      d)使用于每一個從設(shè)備8的所分配的地址唯一使得總是存在具有特定地址的一個(并且僅一個)設(shè)備6,8(具有相同地址的多個設(shè)備可能彼此干擾并且可能引起不想要的行為)??梢允褂谩皺z查和聲明”尋址方案而使地址唯一(階段ii)。

      這樣,相同啞從設(shè)備8的實例可以使用在多個智能模塊12上,同時維持唯一的單獨地址,而不管哪些模塊12或設(shè)備6,8組合成實現(xiàn)系統(tǒng)。

      如在圖4和5中所圖示的,每一個啞或從設(shè)備8使用I2C連接到總線2,但是還具有到其相應智能(微)控制器8的附加連接23,從而允許選擇從設(shè)備8的I2C地址。該連接23沒有經(jīng)由總線2,并且優(yōu)選地這采取專用硬件連接的形式。例如,從設(shè)備8可以采取“開架”集成電路(IC)的形式,并且該附加連接23可以包括IC的一個或多個外部引腳,以及到控制器6形成于其上的IC的導線連接。這樣的引腳可能已經(jīng)存在于啞或從設(shè)備8中,制造商最初意圖用于在系統(tǒng)設(shè)計或調(diào)試階段期間設(shè)置地址。然而,依照本文公開的實施例,引腳的存在被用于允許控制器6“現(xiàn)場”動態(tài)地配給其從設(shè)備8的地址,包括動態(tài)地改變已經(jīng)配給的地址的可能性。

      在實施例中,其它連接也可以提供在控制器6與其相應從設(shè)備8之間,諸如從控制器6到其從設(shè)備8的重置引腳的連接22,其允許控制器6經(jīng)由除總線2之外的其它構(gòu)件而重置從設(shè)備8(例如,在總線被卡于錯誤狀態(tài)中的從設(shè)備6遮擋的情況下)。

      圖6和7圖示了向設(shè)備6,8分配地址總線以用于通過總線2通信的過程。

      在尋址方案的第一階段(i)中,每一個智能(微)控制器6將接收唯一的I2C地址。這些可以在設(shè)計階段或調(diào)試階段預配置,或者控制器6可以配置成在運行時間分配其自身的地址。在控制器6分配其自身地址的情況下,它們可以配置成通過相互協(xié)商而這樣做,或者一個控制器6可以負責以集中化方式分配所有控制器地址,或者各種控制器可以各自自主地在不同(例如隨機化)時間處開始起作用,其中一個控制器6首先聲明第一地址,然后下一控制器6檢查自由地址并且從其余地址之中聲明其自身地址,等等。在后一情況下,控制器設(shè)備6可以檢查自由地址,例如通過經(jīng)由總線2向其意圖聲明的地址發(fā)送消息,并且檢查其是否接收到確認(如果是,則地址不自由并且它必須再次嘗試)。

      不管如何實現(xiàn),階段(i)的總體過程通過圖6中的步驟S10和S20概念性地表示。在步驟S10處,將地址分配給第一控制器6,然后在步驟S20處,確定是否存在另外的控制器6,并且如果是,則方法循環(huán)回到步驟S10以分配下一控制器6的地址,等等。一旦已經(jīng)分配所有控制器地址,則方法就繼續(xù)到步驟S30,其中確定是否存在任何從設(shè)備8并且因此請求分配地址。這是地址分配過程的階段(ii)。

      在階段(ii)中,智能(微)控制器6確定用于連接到它的每一個從設(shè)備8的合適地址。圖7和以下描述詳述了用于附連到單獨智能控制器6的一個啞I2C從設(shè)備8的示例性進程。用于附連到單獨智能控制器6的多個這樣的從設(shè)備8的過程以相同方式工作,其中每一從設(shè)備8具有尋址過程的分離實例。過程的實例還在每一個控制器6處針對其相應從設(shè)備8中的每一個單獨地運行。

      步驟S35:控制器6選擇用于從設(shè)備8的可能地址,并且通過總線2向該地址發(fā)送出消息;并且在步驟40處等待結(jié)果。

      步驟S50:控制器6將核驗該地址是否可用(access_claim-address)。如果是,則將通過總線從所討論的地址接收回非確認(no<ACK>)(其可以通過等待超時時段或者從總線2接收回錯誤來檢測)??刂破?然后選擇該地址用于當前考慮之下的從設(shè)備8(經(jīng)由分離連接23)。這包括在步驟S60處:保持總線2被占用(使用例如重復開始或時鐘展寬),并且在保持總線2被占用時,配置用于從設(shè)備的地址并且重置或啟用從設(shè)備8(例如經(jīng)由連接22),然后釋放總線2。一旦已經(jīng)針對控制器6所負責的所有從設(shè)備8找到相應地址,則進行到步驟S120(參見下文),其中進入后臺過程。

      步驟S70:另一方面,如果所討論的地址不可用,則這將通過經(jīng)由總線2從已經(jīng)具有該地址的設(shè)備6,8接收回確認(<ACK>)來檢測。在該情況下,控制器6確定其是否具有更多可能的地址選項(在給定適用于所討論的從設(shè)備8的地址上的任何約束的情況下,例如由于有限出廠地址范圍)。如果是,則其嘗試用于從設(shè)備8的下一可能地址,重復步驟S40-S60的迭代過程;否則,進行到步驟S80,其中它向一個或多個其它控制器6詢問它們是否可以釋放它們之前已經(jīng)分配的其地址之一(通過向當前具有它的設(shè)備6,8重新分配另一地址)。

      步驟S75:控制器6選擇用于從設(shè)備的可能地址(已經(jīng)確定已經(jīng)被分配給另一設(shè)備6,8的那個)。其通過總線2發(fā)送出聲明請求消息以信令它提出使用該地址(send_request_ask-address);并且在步驟S80處等待回復(參見在接收控制器6中運行的步驟S120-S140)。

      步驟S90:控制器6評估其從其它控制器6接收回的響應。

      步驟S110:如果回復是拒絕請求([refused]),則控制器6確定其是否具有更多可能地址選項來嘗試(在給定適用于所討論的從設(shè)備8的地址上的任何約束的情況下,例如由于有限出廠地址范圍)。如果是,則它嘗試用于從設(shè)備的下一可能地址(從步驟S75起重復步驟)。否則,進行到步驟S150:在給定當前選擇的模塊的情況下,沒有系統(tǒng)解決方案可用。控制器6等待系統(tǒng)的改變。

      步驟S110:另一方面,如果回復是接受請求([accepted]),則控制器6選擇用于該從設(shè)備8的地址。這包括:配置用于從設(shè)備8的地址(例如經(jīng)由分離連接23),重置或啟用從設(shè)備8,并且向其它控制器6發(fā)送確認它接受提議的恢復消息([using])。

      步驟S120:控制器6等待來自其它控制器6的消息([release finished])。當接收到時,分配和重新分配已經(jīng)完成,并且控制器6進行到以步驟S120處開始的后臺過程。

      步驟120-140的后臺過程是控制器6在其一旦已經(jīng)向所有其自身的從設(shè)備8分配地址就連續(xù)地運行的過程,并且現(xiàn)在傾聽來自其它控制器6的請求,其可能要求它釋放那些地址中的一個(通過重新分配)。

      步驟S120:控制器6等待來自另一控制器6的請求消息([send_request_ask])(參見步驟S75)。請求消息包括所提出的地址,請求設(shè)備提出將其使用于其自身的一個從設(shè)備8,但是目前由當前控制器6(接收請求的控制器)分配給其一個從設(shè)備8。

      步驟S130:控制器6檢查以查明是否有多于一個地址可用于當前使用在請求消息中提及的所提出的地址的從設(shè)備8。如果否,則其僅僅通過總線2返回拒絕消息([refused])給請求控制器6

      步驟S140:另一方面,如果一個或多個可替換地址可用于所討論的從設(shè)備8,則控制器向請求控制器6返回接受消息([accepted])。它然后等待來自請求設(shè)備的確認消息([using])以確認它已經(jīng)接受提議并且將實際上聲明所討論的地址。當接收到確認消息([using])時,當前控制器6的從設(shè)備8被禁用,釋放完成消息([release finished])被回復到請求控制器6,并且針對所禁用的從設(shè)備8開始新的聲明循環(huán)。

      以上參照圖7的示例描述的過程在每一個控制器設(shè)備處運行,其中每一個控制器6布置成分配其自身相應從設(shè)備8的地址,并且不同控制器6相互協(xié)商以適應彼此的從設(shè)備地址上的潛在約束。因而,控制器以分布式方式分配其相應從設(shè)備8的地址,從而不要求任何一個集中式地址配給,允許設(shè)備6,8或模塊12在運行時“現(xiàn)場”添加。

      此外,過程是動態(tài)的,使得當添加新的從設(shè)備8時,其自動地具有通過其相應控制器6分配給它的地址,其中另一控制器自動地重新分配其地址之一以適應新的從設(shè)備8的地址約束,如果要求的話。用于向新的從設(shè)備8分配地址的過程(在步驟S30處開始)可以在添加新的從設(shè)備時觸發(fā)(步驟S30),或者在間隔處(例如周期性地)針對新的設(shè)備重復檢查。另外,后臺過程(步驟S110-S140)繼續(xù)在后臺中運行,使得如果添加在另一控制器6處新的設(shè)備6,則地址可以動態(tài)地并且自動化地“重新攪亂”,如所要求的那樣。

      將領(lǐng)會到,已經(jīng)僅通過示例的方式描述了以上實施例。通過研究附圖、公開內(nèi)容和隨附權(quán)利要求,本領(lǐng)域技術(shù)人員在實踐所要求保護的發(fā)明時可以理解和實現(xiàn)對所公開的實施例的其它變形。在權(quán)利要求中,詞語“包括”不排除其它元件或步驟,并且不定冠詞“一”或“一個”不排除多個。單個處理器或其它單元可以滿足在權(quán)利要求中記載的若干項的功能。在相互不同的從屬權(quán)利要求中記載某些措施的僅有事實不指示這些措施的組合不能用于獲利。計算機程序可以存儲和/或分布在合適的介質(zhì)上,諸如與其它硬件一起供應或者作為其部分的光學存儲介質(zhì)或固態(tài)介質(zhì),但是也可以以其它形式分布,諸如經(jīng)由互聯(lián)網(wǎng)或其它有線或無線電信系統(tǒng)。權(quán)利要求中的任何參考標記不應當解釋為限制范圍。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1