專(zhuān)利名稱(chēng)::I2c從設(shè)備中的多個(gè)i/o組的同時(shí)控制的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明概括而言涉及通信設(shè)備和方法,并具體涉及使用相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)I/O組同時(shí)進(jìn)行編程的方法和裝置。
背景技術(shù):
:菲利浦公司開(kāi)發(fā)的集成電路間(I2C)總線允許集成電路通過(guò)簡(jiǎn)單的雙向2線總線(正電源和地)彼此直接通信。設(shè)備與總線上兩個(gè)線中的每一個(gè)連接,一個(gè)是用于數(shù)據(jù)通信的串行數(shù)據(jù)線(SDA),另一個(gè)是用于設(shè)備間數(shù)據(jù)通信的控制和同步的串行時(shí)鐘線(SCL)。每個(gè)設(shè)備與其他設(shè)備中的每一個(gè)并行連接,每一條總線,SDA和SCL,用作總線上所有線的線與(wired-AND)。將每個(gè)設(shè)備的輸出配置為集電極開(kāi)路/漏極開(kāi)路設(shè)備,并且當(dāng)總線處于靜止?fàn)顟B(tài)時(shí),一個(gè)或多個(gè)上拉電阻器保持總線上的'軟'邏輯高值。當(dāng)設(shè)備需要訪問(wèn)總線時(shí),通過(guò)導(dǎo)通狀態(tài)下位于地電勢(shì)的集電極開(kāi)路/漏極開(kāi)路設(shè)備,設(shè)備將總線拉至邏輯低值。與I2C總線連接的每個(gè)設(shè)備可由地址來(lái)識(shí)別,并且可作為發(fā)送方或接收方、或作為兩者而操作。使用主-從通信協(xié)議實(shí)現(xiàn)數(shù)據(jù)傳送。主設(shè)備是啟動(dòng)數(shù)據(jù)傳送并產(chǎn)生允許該傳送的時(shí)鐘信號(hào)的設(shè)備;被尋址的任何設(shè)備為該傳送的從設(shè)備。可通過(guò)主設(shè)備啟動(dòng)數(shù)據(jù)傳送,將數(shù)據(jù)發(fā)送到從設(shè)備(此處稱(chēng)作寫(xiě)),或者向從設(shè)備請(qǐng)求數(shù)據(jù)(此處稱(chēng)作讀)。例如,諸如顯示屏的輸出設(shè)備通常不能啟動(dòng)數(shù)據(jù)傳送,因而將其配置成僅以從設(shè)備而操作。另一方面,微處理器通常被配置成根據(jù)情況需要而作為主設(shè)備或從設(shè)備而操作。在靜止?fàn)顟B(tài)下,SDA和SCL總線都處于邏輯高狀態(tài)(此處稱(chēng)作高,或邏輯狀態(tài)l)。主設(shè)備通過(guò)斷言(assert)SDA線上轉(zhuǎn)變成邏輯低狀態(tài)(此處稱(chēng)作低,或邏輯狀態(tài)O)來(lái)啟動(dòng)數(shù)據(jù)傳送,同時(shí)SCL線為高;將其稱(chēng)作START條件。之后,主設(shè)備來(lái)回切換(toggle)SCL線,以控制數(shù)據(jù)傳送的同步;當(dāng)SCL時(shí)鐘為低時(shí),SDA線上發(fā)生數(shù)據(jù)值的改變,并且只有當(dāng)SCL時(shí)鐘為高時(shí)才認(rèn)為SDA線的狀態(tài)有效??蓴嘌远鄠€(gè)START,以實(shí)現(xiàn)同一傳送對(duì)話期內(nèi)的一系列數(shù)據(jù)傳送。通常,每次數(shù)據(jù)傳送都需要來(lái)自被尋址的數(shù)據(jù)傳送接收方的應(yīng)答。為了終止該數(shù)據(jù)傳送,當(dāng)SCL時(shí)鐘為高時(shí),主機(jī)斷言SDA線上的由低到高的轉(zhuǎn)變;將其稱(chēng)作STOP條件。之后,任何設(shè)備都可以作為主設(shè)備,通過(guò)斷言使SDA線上發(fā)生低到高的轉(zhuǎn)換來(lái)控制總線,如上所述。注意,為了易于描述,此處所使用的術(shù)語(yǔ)"斷言"用于實(shí)現(xiàn)或試圖實(shí)現(xiàn)特定的邏輯狀態(tài)。在轉(zhuǎn)變到邏輯高狀態(tài)的示例中,通常通過(guò)斷言設(shè)備將總線從強(qiáng)制下拉狀態(tài)中釋放而提供。斷言邏輯高狀態(tài)允許總線上的上述上拉設(shè)備使總線處于邏輯高狀態(tài),除非另一設(shè)備也迫使下拉狀態(tài)。I2C數(shù)據(jù)傳送的一般格式包括構(gòu)成I2C總線的SDA線和SCL線上的信號(hào)。START條件(S)對(duì)應(yīng)于當(dāng)SCL線為高時(shí),SDA線上的信號(hào)從高到低的轉(zhuǎn)變。在START之后,主機(jī)發(fā)送額定為7位的地址,之后發(fā)送讀/寫(xiě)非(read/write-not)指示符。在發(fā)送地址和數(shù)據(jù)傳送方向(R/W-)之后,主機(jī)釋放SDA線,允許其升高到邏輯高電平。如果從設(shè)備識(shí)別出其地址,則從設(shè)備通過(guò)將總線拉低而發(fā)送應(yīng)答信號(hào)(ACK)。因此,主機(jī)釋放SDA線時(shí)不存在低信號(hào)表示未應(yīng)答(NAK)。如果通過(guò)SDA上的低電平使地址得到應(yīng)答,則發(fā)送設(shè)備發(fā)送數(shù)據(jù)。如果數(shù)據(jù)傳送的方向相對(duì)于主機(jī)是"讀",則從設(shè)備為發(fā)送設(shè)備;如果該方向相對(duì)于主機(jī)是"寫(xiě)",則主設(shè)備為發(fā)送設(shè)備。發(fā)送設(shè)備釋放對(duì)SDA線的控制,接收設(shè)備通過(guò)斷言SDA線上的邏輯低值而對(duì)數(shù)據(jù)接收進(jìn)行應(yīng)答。如果數(shù)據(jù)得到應(yīng)答,則發(fā)送法發(fā)送附加的數(shù)據(jù)。持續(xù)這一過(guò)程直到全部數(shù)據(jù)都得到傳輸,或者直至所傳輸?shù)臄?shù)據(jù)項(xiàng)沒(méi)有得到應(yīng)答為止。隨后,主設(shè)備可重新斷言START信號(hào),并重復(fù)上述過(guò)程,或者可斷言STOP信號(hào)(P),終止這個(gè)數(shù)據(jù)傳送對(duì)話。上述接口協(xié)議可通過(guò)多種方法來(lái)實(shí)現(xiàn)。為了使I2C接口的編程或設(shè)計(jì)的開(kāi)發(fā)時(shí)間最短,己經(jīng)公開(kāi)了多種通用接口方案。美國(guó)新墨西哥州立大學(xué)(UniversityofNewMexico)AmritaDeshpande的碩士論文"DESIGNOFABEHAVIORAL(REGISTERTRANSFERLEVEL,RTL)MODELOFTHEINTER-INTEGRATEDCIRCUITORI2C-BUSMASTER-SLAVEINTERFACE"(1999)披露了一種包含在I2C設(shè)備中的I2C主設(shè)備接口和從設(shè)備接口,該文章在此引作參考。通過(guò)提供得到驗(yàn)證的I2C接口,系統(tǒng)設(shè)計(jì)人員無(wú)需致力于I2C規(guī)范和協(xié)議的細(xì)節(jié)。該論文中主設(shè)備和從設(shè)備接口兩者都基于狀態(tài)機(jī)。在美國(guó)專(zhuān)利編號(hào)6,799,233中進(jìn)一步描述了基于狀態(tài)機(jī)的系統(tǒng)和方法,該專(zhuān)利在此引作參考。
發(fā)明內(nèi)容本發(fā)明的多個(gè)方面涉及使用串行總線,按照解決和克服上述問(wèn)題的方式,用相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)工/0組同時(shí)進(jìn)行編程的方法和裝置。根據(jù)一個(gè)示例性實(shí)施例,本發(fā)明涉及一種使用用于實(shí)現(xiàn)通信協(xié)議的I2C串行數(shù)據(jù)傳送總線的通信系統(tǒng),所述工2C串行數(shù)據(jù)傳送總線具有串行數(shù)據(jù)線和時(shí)鐘線。該通信系統(tǒng)包括具有兩個(gè)或更多個(gè)接口端口寄存器的從設(shè)備,每個(gè)接口端口寄存器具有兩個(gè)或更多個(gè)位,在第一配置中,每個(gè)接口端口寄存器被配置為把根據(jù)通信協(xié)議在數(shù)據(jù)傳送總線上接收到的數(shù)據(jù)加載到其中,在第二配置中,每個(gè)接口端口寄存器被配置為將單一邏輯值加載到多個(gè)位中。將可編程配置寄存器配置為根據(jù)數(shù)據(jù)傳送總線上的通信協(xié)議進(jìn)行編程,以選擇兩個(gè)或更多個(gè)接口端口寄存器,以便在第二配置中將單一邏輯值加載到所選接口端口寄存器的兩個(gè)或更多個(gè)位中。根據(jù)另一示例性實(shí)施例,本發(fā)明涉及一種方法,包括根據(jù)數(shù)據(jù)傳送總線上的通信協(xié)議對(duì)從設(shè)備中的配置寄存器進(jìn)行編程,以便從兩個(gè)或更多個(gè)可選接口端口寄存器中選擇至少兩個(gè)接口端口寄存器。選擇邏輯值,并將該邏輯值并發(fā)地加載到所選擇的至少兩個(gè)接口端口寄存器的每一個(gè)中。本發(fā)明的上述概括描述無(wú)意于描述本發(fā)明的每個(gè)實(shí)施例或每種實(shí)施方式。參照下面結(jié)合附圖進(jìn)行的詳細(xì)描述和權(quán)利要求,本發(fā)明的優(yōu)點(diǎn),效果以及對(duì)本發(fā)明更完全的理解將變得明顯且可以理解??紤]到下面結(jié)合附圖對(duì)本發(fā)明多個(gè)實(shí)施例的詳細(xì)描述,可以更充分地理解本發(fā)明,在附圖中圖1為根據(jù)本發(fā)明的實(shí)施例,使用相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)I/O組同時(shí)進(jìn)行編程的數(shù)據(jù)通信系統(tǒng)的框圖2為根據(jù)本發(fā)明的實(shí)施例,使用相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)I/O組同時(shí)進(jìn)行編程的數(shù)據(jù)通信系統(tǒng)的數(shù)據(jù)流示意圖3為根據(jù)本發(fā)明的實(shí)施例,使用相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)I/0組同時(shí)進(jìn)行編程的系統(tǒng)的框圖;以及圖4為根據(jù)本發(fā)明的實(shí)施例,使用相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)1/0組同時(shí)進(jìn)行編程的方法的流程圖。具體實(shí)施例方式盡管本發(fā)明存在多種修改和備選形式,但附圖中示例性地示出了其具體形式,下面將對(duì)此進(jìn)行詳細(xì)描述。然而,應(yīng)該理解,本發(fā)明并不限于所描述的特定實(shí)施例。相反,本發(fā)明將涵蓋由所附權(quán)利要求定義的本發(fā)明范圍內(nèi)的所有修改、等效和備選。本發(fā)明一般可用于使用相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)I/O組同時(shí)進(jìn)行編程的方法和裝置。本發(fā)明已被發(fā)現(xiàn)特別有益于集成電路間(I2C)串行數(shù)據(jù)通信總線,不過(guò)也有益于其他總線和通信協(xié)議,如系統(tǒng)管理總線(SMBus)體系結(jié)構(gòu)和/或協(xié)議,或其他串行數(shù)據(jù)通信系統(tǒng)。為了說(shuō)明而非限制的目的,將在具有控制與從設(shè)備的通信的主設(shè)備的I2C總線的上下文中描述本發(fā)明。在I2C總線結(jié)構(gòu)上,主設(shè)備控制與I2C從設(shè)備的通信。I2C從設(shè)備可應(yīng)用于多個(gè)應(yīng)用領(lǐng)域中,從蜂窩電話,PDA和智能電話(SmartPhone)到LCDTV,醫(yī)療設(shè)備,游戲及其他應(yīng)用。12C從設(shè)備的一個(gè)具體應(yīng)用是作為通用輸入/輸出(GPI0)設(shè)備。在這種設(shè)備中,存在多個(gè)可用作輸入或輸出的多功能管腳。當(dāng)用作輸入時(shí),這些管腳通常指示被監(jiān)測(cè)的特定信號(hào)的狀態(tài)。I2C從設(shè)備的一種具體應(yīng)用是作為通用輸入/輸出(GP10)。在這種設(shè)備中,存在多個(gè)可用作輸入或輸出的多功能管腳。當(dāng)被配置為輸出時(shí),這些設(shè)備可以用于例如對(duì)多個(gè)發(fā)光二級(jí)管(LED)進(jìn)行驅(qū)動(dòng)的系統(tǒng)中。典型地,將這些輸出分為組(bank),并通過(guò)I2C總線單獨(dú)地進(jìn)行編程。根據(jù)一個(gè)示例性實(shí)施例,使用于實(shí)現(xiàn)通信協(xié)議的、具有串行數(shù)據(jù)線和時(shí)鐘線的串行數(shù)據(jù)傳送總線的通信系統(tǒng),包括并發(fā)地將邏輯值可編程地加載到并行從設(shè)備的寄存器中。該通信系統(tǒng)包括兩個(gè)或更多個(gè)輸出驅(qū)動(dòng)器組,其輸出駐留在相關(guān)的輸出端口寄存器中的數(shù)據(jù)。每個(gè)從設(shè)備接收串行數(shù)據(jù),并將其加載到輸出端口寄存器中。使用通信協(xié)議對(duì)每個(gè)從設(shè)備中的可編程寄存器進(jìn)行編程,以選擇一個(gè)或更多個(gè)從設(shè)備配置。至少兩個(gè)輸出端口寄存器并行地耦合。一種可選從設(shè)備配置使輸出端口寄存器并行地加載,另一種可選從設(shè)備配置使輸出端口寄存器一次一個(gè)地加載來(lái)自I2C總線的串行數(shù)據(jù)。在一個(gè)示例性實(shí)施例中,本發(fā)明包括通過(guò)I2C總線對(duì)配置寄存器進(jìn)行編程,從而將邏輯值可編程地加載到并行從設(shè)備的寄存器中。例如,表1示出了根據(jù)本發(fā)明在從設(shè)備中可提供的可編程配置寄存器的示例。表l示出了被編程到該寄存器中的8位字。表l:配置寄存器<table><row><column>位</column><column>BSEL</column><column>X</column><column>X</column><column>B4</column><column>B3</column><column>B2</column><column>B1</column><column>B0</column></row><row><column>缺省</column><column>1</column><column>0</column><column>0</column><column>0</column><column>0</column><column>0</column><column>0</column><column>0</column></row><table>該寄存器允許所有的輸出端口寄存器組或所選擇的組加載相同的數(shù)據(jù)。位B0到B4分別控制應(yīng)用于組0至組4的邏輯值。Bx=0:相應(yīng)的組X中的所有輸出加載O。Bx=l:相應(yīng)的組X中的所有輸出加載1。位5和6是為其他控制功能所預(yù)留的,并且在本示例中加載0。BSEL為只允許加載某些組,不允許加載其他組的過(guò)濾位。BSEL=0:當(dāng)Bx=0時(shí),組X中的所有輸出加載O。當(dāng)Bx=1時(shí),組X中的所有輸出加載來(lái)自其輸出端口寄存器的值。BSEL=0:當(dāng)Bx=l時(shí),組X中的所有輸出加載1。當(dāng)Bx=0時(shí),組X中的所有輸出加載來(lái)自其輸出端口寄存器的值。使用串行總線、同時(shí)將多個(gè)V0組可編程地加載相同邏輯值的從設(shè)備,可以被配置為通用輸入/輸出(GPIO)設(shè)備,或其他從設(shè)備。通信系統(tǒng)可符合I2C,SMBus,和/或其他串行通信規(guī)范。圖1為根據(jù)本發(fā)明的實(shí)施例,使用相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)I/O組同時(shí)進(jìn)行編程的數(shù)據(jù)通信系統(tǒng)的框圖。將SDA線110和SCL線120設(shè)置成I2C數(shù)據(jù)總線125。主設(shè)備130和從設(shè)備140與I2C數(shù)據(jù)總線125相連。主設(shè)備130與I2C數(shù)據(jù)總線125電連接,使用時(shí)鐘連接134和數(shù)據(jù)連接132分別與SCL線120和SDA線110電連接。從設(shè)備140與I2C數(shù)據(jù)總線125電連接,使用時(shí)鐘連接144和數(shù)據(jù)連接142分別與SCL線120和SDA線110電連接。主設(shè)備130尋址152從設(shè)備140,并且將從設(shè)備編程154為以特定配置而操作,例如一次一個(gè)地或并行地加載寄存器。從設(shè)備140通過(guò)諸如在指定從設(shè)備140的輸出端口寄存器的配置的寄存器中放置某個(gè)字來(lái)接收162程序154。然后,從設(shè)備對(duì)通過(guò)編程162所選擇的輸出端口寄存器同時(shí)加載166單一邏輯值(例如邏輯0或邏輯1),例如上面參照?qǐng)Dl所描述的。例如,可以將從設(shè)備配置為具有20個(gè)I/0管腳、用于驅(qū)動(dòng)5個(gè)七段顯示器的GPIO設(shè)備??梢詫?0個(gè)管腳分成5個(gè)由4個(gè)管腳組成的組,每個(gè)組可以與輸出端口寄存器相關(guān)聯(lián),該輸出端口寄存器用于包含對(duì)與輸出端口相耦合的七段顯示器進(jìn)行驅(qū)動(dòng)的BCD數(shù)據(jù)字。可使用配置寄存器表明用單一邏輯值對(duì)5個(gè)組中的哪些組進(jìn)行更新,而其他組等待將來(lái)的加載。按照此種方式,可以以減小的通過(guò)總線傳輸?shù)臄?shù)據(jù)的帶寬將所有被指定的輸出端口寄存器復(fù)位成邏輯O或邏輯1,從而對(duì)七段顯示器進(jìn)行復(fù)位。圖2為根據(jù)本發(fā)明實(shí)施例,使用相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)1/0組同時(shí)進(jìn)行編程的數(shù)據(jù)通信系統(tǒng)的串行數(shù)據(jù)流200的示意圖。圖2中所示的串行數(shù)據(jù)流200符合12C通信協(xié)議。在I2C總線上,由主設(shè)備發(fā)送的START條件222之后為從設(shè)備地址202。從設(shè)備地址202之后為READ/WRITE位210,隨后為來(lái)自從設(shè)備的ACKNOWLEDGE信號(hào)212。圖2中將READ/WRITE信號(hào)210表示成邏輯0,表明主設(shè)備對(duì)從設(shè)備進(jìn)行寫(xiě)入。主設(shè)備發(fā)送第一數(shù)據(jù)字節(jié)204,第二數(shù)據(jù)字節(jié)206和第三數(shù)據(jù)字節(jié)208,每個(gè)數(shù)據(jù)字節(jié)204,206,208后面是來(lái)自從設(shè)備的各個(gè)ACKNOWLEDGE214,216,218。在示例性實(shí)施例中,可使用數(shù)據(jù)字節(jié)204對(duì)從設(shè)備中的配置寄存器進(jìn)行編程,諸如前面所描述的,以使24位輸出加載邏輯1。在這個(gè)示例性實(shí)施例中,不需要數(shù)據(jù)字節(jié)206,208來(lái)更新所有的24位,因?yàn)閿?shù)據(jù)字節(jié)204可用于同時(shí)加載所有的24位。在另一示意性實(shí)施例中,可以將數(shù)據(jù)字節(jié)204,206,208連續(xù)發(fā)送給三個(gè)8位輸出端口寄存器,每個(gè)輸出端口寄存器與從設(shè)備中的串行數(shù)據(jù)總線并行連接,從而更新24位需要所有三個(gè)字節(jié)。圖3為根據(jù)本發(fā)明的實(shí)施例,使用相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)I/O組同時(shí)進(jìn)行編程的系統(tǒng)300的框圖。從設(shè)備320連接到I2C總線310上。圖3中將從設(shè)備320表示成GPI0設(shè)備。從設(shè)備320可包括輸入電路360,以引導(dǎo)和/或控制來(lái)自I2C總線310的數(shù)據(jù)的組合和流動(dòng)。圖3中將輸入電路360表示成把來(lái)自I2C總線310的數(shù)據(jù)引導(dǎo)到配置寄存器370中。輸入電路360還耦合至輸出端口寄存器331-338。輸入電路360并行耦合至輸出端口寄存器331-338,從而相同的數(shù)據(jù)對(duì)于每一個(gè)輸出端口寄存器331-338并發(fā)地可用。例如,可使用諸如12C總線的串行總線,使用并行數(shù)據(jù)總線或使用另一種邏輯流方案,將輸入電路360耦合至輸出端口寄存器331-338。在一個(gè)具體示例中,可以將輸出端口寄存器331-338配置為4位寄存器,每個(gè)輸出端口寄存器331-338并行連接至構(gòu)成4位數(shù)據(jù)總線的4條數(shù)據(jù)線。在另一具體示例中,可以將輸出端口寄存器33卜338配置為4位寄存器,每一個(gè)由兩個(gè)輸出端口寄存器組成的組(331,332),(333,334),(335,336)和(337,338)與構(gòu)成I2C總線結(jié)構(gòu)的2條線(加上地)并行連接。從設(shè)備320可包含任意數(shù)量或配置的輸出端口寄存器和/或輸出端口驅(qū)動(dòng)器。圖3中所示的輸出端口寄存器331-338分別耦合至輸出端口驅(qū)動(dòng)器341-348,而輸出端口驅(qū)動(dòng)器341-348分別耦合至七段顯示器351-358。在這種設(shè)置中,根據(jù)本發(fā)明,可一次一個(gè)地或并行地加載輸出端口寄存器331-338,以驅(qū)動(dòng)七段顯示器351-358。將配置寄存器370配置為使用I2C總線310通信協(xié)議進(jìn)行編程,以選擇一個(gè)或更多個(gè)從設(shè)備配置。輸出端口寄存器331-338被配置為接收由輸入電路360所提供的數(shù)據(jù),其中,根據(jù)配置寄存器370所選擇的從設(shè)備配置,輸出端口寄存器331-338中的每一個(gè)寄存器可以與輸出端口寄存器331-338中另外的寄存器并行地者一次一個(gè)地加載單一邏輯值。圖4為根據(jù)本發(fā)明的實(shí)施例,使用相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)I/O組同時(shí)進(jìn)行編程的方法400的流程圖。方法400涉及諸如GPIO設(shè)備的從設(shè)備,根據(jù)可編程配置寄存器所選擇的從設(shè)備配置,一次一個(gè)地或者與至少兩個(gè)輸出端口寄存器組中另外的寄存器組并行地,更新從設(shè)備中的所述至少兩個(gè)輸出端口寄存器組。該方法包括諸如通過(guò)使用從設(shè)備中的配置寄存器把從設(shè)備編程410為特定配置??墒褂?2C通信協(xié)議執(zhí)行所述的編程,以指定對(duì)從設(shè)備的輸出端口寄存器是相繼更新還是并行更新。如果配置415針對(duì)串行加載,則使用諸如I2C總線的串行數(shù)據(jù)傳送總線接收420串行數(shù)據(jù)。根據(jù)編程410加載430輸出端口寄存器,每一個(gè)寄存器相對(duì)于其他寄存器一次一個(gè)地更新。如果配置415針對(duì)并行加載,則將編程410所表示的單一邏輯值同時(shí)加載到所有被選擇的寄存器中440。使用GPIO設(shè)備作為實(shí)現(xiàn)方法400的從設(shè)備,僅僅是為了說(shuō)明的目的,而非進(jìn)行限制??墒褂糜布碳?,軟件或者它們的組合來(lái)實(shí)現(xiàn)此處所描述的使用相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)I/O組同時(shí)進(jìn)行編程的多個(gè)實(shí)施例。本發(fā)明所使用的主設(shè)備功能可以存在于所述的I2C主設(shè)備中,或備選地可存在于與串行數(shù)據(jù)通信系統(tǒng)100連接的獨(dú)立或聯(lián)網(wǎng)的計(jì)算機(jī)中。圖1中所示的串行數(shù)據(jù)通信系統(tǒng)100是一種示例結(jié)構(gòu),它可結(jié)合所述通信系統(tǒng),計(jì)算機(jī)或其他計(jì)算機(jī)實(shí)現(xiàn)的設(shè)備使用,以執(zhí)行本發(fā)明的操作。圖1中所示的適于執(zhí)行根據(jù)本發(fā)明的編程的示例性主設(shè)備130和/或從設(shè)備140,通常包括與隨機(jī)存取存儲(chǔ)器(RAM)和/或只讀存儲(chǔ)器(ROM)的某些變體相耦合的中央處理器(CPU)。R.OM也可以是其他種類(lèi)的用于存儲(chǔ)程序的存儲(chǔ)介質(zhì),諸如可編程ROM(PROM),可擦除PROM(EPROM)等等。處理器可通過(guò)輸入/輸出(I/O)電路和/或其他總線(bussing)與其他內(nèi)部和外部部件進(jìn)行通信,以提供控制信號(hào),通信信號(hào)等。主設(shè)備130和/或從設(shè)備140還可以包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備,包括硬盤(pán)和軟盤(pán)驅(qū)動(dòng)器,CD-R0M驅(qū)動(dòng)器,以及能夠讀和/或存儲(chǔ)信息的其他硬件,諸如DVD等。在一個(gè)實(shí)施例中,實(shí)現(xiàn)根據(jù)本發(fā)明的以相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)I/O組同時(shí)進(jìn)行編程的軟件,可以被存儲(chǔ)并分發(fā)到CD-ROM,磁盤(pán)或其他能夠以便攜式存儲(chǔ)信息的介質(zhì)上。這些存儲(chǔ)介質(zhì)可以被插入諸如CD-ROM驅(qū)動(dòng)器、磁盤(pán)驅(qū)動(dòng)器等的設(shè)備中,并且被讀取。也可以通過(guò)數(shù)據(jù)信號(hào)將該軟件傳輸給計(jì)算裝置,例如通過(guò)諸如互聯(lián)網(wǎng)的網(wǎng)絡(luò)而電下載。另外,如前面所描述的,可以將實(shí)現(xiàn)本發(fā)明相關(guān)功能的軟件備選地存儲(chǔ)到計(jì)算設(shè)備的內(nèi)部存儲(chǔ)器/存儲(chǔ)器中,例如存儲(chǔ)在ROM中。所產(chǎn)生的具有計(jì)算機(jī)可讀程序代碼的任何程序,都可以被包含在一個(gè)或多個(gè)計(jì)算機(jī)可用介質(zhì)中,諸如存儲(chǔ)器設(shè)備或傳輸設(shè)備,從而得到根據(jù)本發(fā)明的計(jì)算機(jī)程序產(chǎn)品或制品。由此,此處使用的"計(jì)算機(jī)可讀介質(zhì)","制品","計(jì)算機(jī)程序產(chǎn)品"或其他類(lèi)似語(yǔ)言意在包含永久,臨時(shí)或暫時(shí)存在于諸如任何存儲(chǔ)器設(shè)備或任何傳輸設(shè)備的計(jì)算機(jī)可用介質(zhì)上的計(jì)算機(jī)程序。說(shuō)明書(shū)中所披露的每個(gè)特征(包括任何所附的權(quán)利要求,摘要和附圖),都可以被具有相同、等效或類(lèi)似作用的備選特征所取代,除非另有說(shuō)明。因此,除非另有說(shuō)明,否則所披露的每個(gè)特征僅是等效或類(lèi)似特征的一般系列的一個(gè)示例。不應(yīng)認(rèn)為本發(fā)明局限于上面所述的特定示例。本發(fā)明可采用的多種變型,等效過(guò)程以及多種結(jié)構(gòu)都落入本發(fā)明的范圍之內(nèi)。例如,可使用類(lèi)似構(gòu)成的在公共總線(諸如SMBus或其他總線配置)上的設(shè)備之間進(jìn)行通信的單向或雙向接口來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明使用相同邏輯值對(duì)I2C從設(shè)備中的多個(gè)I/O組同時(shí)進(jìn)行編程的實(shí)施例。這些變體都被認(rèn)為是如所附權(quán)利要求中清楚地提出的所要求保護(hù)的發(fā)明的一部分。權(quán)利要求1.一種在使用用于實(shí)現(xiàn)通信協(xié)議的、具有串行數(shù)據(jù)線和時(shí)鐘線的串行數(shù)據(jù)傳送總線(125)的通信系統(tǒng)(100)中的從設(shè)備,所述從設(shè)備包括多個(gè)接口端口寄存器(331-338),每個(gè)接口端口寄存器包括多個(gè)位,每個(gè)接口端口寄存器被配置為在第一配置(415)中把根據(jù)通信協(xié)議在數(shù)據(jù)傳送總線上接收到的數(shù)據(jù)加載到其中,在第二配置(415)下將單一邏輯值加載到所述多個(gè)位中;以及可編程配置寄存器(370),被配置為根據(jù)數(shù)據(jù)傳送總線上的通信協(xié)議而編程(410),以選擇多個(gè)接口端口寄存器中的兩個(gè)或更多個(gè),以便在第二配置中將單一邏輯值加載到所選擇的接口端口寄存器的多個(gè)位中。2.如權(quán)利要求l所述的設(shè)備,其中,所述配置寄存器被配置為8位寄存器,其中,l位用于選擇單一邏輯值,而5位用于選擇期望用于加載所述單一邏輯值的接口端口寄存器。3.如權(quán)利要求1所述的設(shè)備,其中,所述從設(shè)備(140)被配置為通用輸入/輸出設(shè)備。4.如權(quán)利要求1所述的設(shè)備,其中,所述從設(shè)備被配置為符合SMBus串行通信協(xié)議。全文摘要根據(jù)一個(gè)示例性實(shí)施例,使用用于實(shí)現(xiàn)通信協(xié)議的、具有串行數(shù)據(jù)線(110)和時(shí)鐘線(120)的串行數(shù)據(jù)傳送總線的通信系統(tǒng)(100,300),包括將邏輯值可編程地加載到并行從設(shè)備的寄存器(331-338)中。該通信系統(tǒng)包括具有兩個(gè)或更多個(gè)寄存器的從設(shè)備(320),每個(gè)寄存器具有兩個(gè)或更多個(gè)位,在第一配置中,每個(gè)接口端口寄存器被配置為把根據(jù)通信協(xié)議在數(shù)據(jù)傳送總線上接收到的數(shù)據(jù)加載到其中,在第二配置中,每個(gè)接口端口寄存器被配置為將單一邏輯值加載到多個(gè)位中。將可編程配置寄存器配置為根據(jù)數(shù)據(jù)傳送總線上的通信協(xié)議進(jìn)行編程,以選擇兩個(gè)或更多個(gè)寄存器,以便在第二配置中將單一邏輯值加載到所選寄存器的兩個(gè)或更多個(gè)位中。文檔編號(hào)H04L12/40GK101208913SQ200680023187公開(kāi)日2008年6月25日申請(qǐng)日期2006年5月1日優(yōu)先權(quán)日2005年4月29日發(fā)明者保羅·博加德斯,斯蒂芬·布洛佐斯,讓-馬克·伊拉扎巴爾,阿姆里塔·德什潘德,阿爾瑪·安德森申請(qǐng)人:皇家飛利浦電子股份有限公司