專利名稱:具有鎖存服務(wù)請(qǐng)求的從設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明概括而言涉及通信設(shè)備和方法,并具體涉及通過(guò)通信總線 上的從設(shè)備鎖存服務(wù)請(qǐng)求的方法及裝置。
背景技術(shù):
菲利浦公司開發(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è)備的輸出配置為集電極開路/漏極開 路設(shè)備,并且當(dāng)總線處于靜止?fàn)顟B(tài)時(shí), 一個(gè)或更多個(gè)上拉電阻器保持 總線上的'軟'邏輯高值。當(dāng)設(shè)備需要訪問(wèn)總線時(shí),通過(guò)導(dǎo)通狀態(tài)下 位于地電勢(shì)的集電極開路/漏極開路設(shè)備,設(shè)備將總線拉至邏輯低值。
與12C總線連接的每個(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è)備(此處稱作寫),或者向從設(shè)備請(qǐng)求數(shù)據(jù)(此處稱作讀)。例 如,諸如顯示屏的輸出設(shè)備通常不能啟動(dòng)數(shù)據(jù)傳送,因而將其配置成 僅以從設(shè)備而操作。另一方面,微處理器通常被配置成根據(jù)情況需要 而作為主設(shè)備或從設(shè)備而操作。
在靜止?fàn)顟B(tài)下,SDA和SCL總線都處于邏輯高狀態(tài)(此處稱作高, 或邏輯狀態(tài)l)。主設(shè)備通過(guò)斷言(assert) SDA線上轉(zhuǎn)變成邏輯低狀 態(tài)(此處稱作低,或邏輯狀態(tài)O)來(lái)啟動(dòng)數(shù)據(jù)傳送,同時(shí)SCL線為高;
將其稱作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)變;將其稱作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ā)送讀/寫非(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ī)是"寫",則主設(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)沒有得到應(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ì)的開發(fā)時(shí)間最短,已經(jīng)公開了多種通用接口方案。美國(guó)新墨西哥 州立大學(xué)(University of New Mexico) Amrita Deshpande的碩士論
文"DESIGN OF A BEHAVIORAL (REGISTER TRANSFER LEVEL, RTL) MODEL OF THE INTER-INTEGRATED CIRCUIT OR I2C-BUS MASTER-SLAVE INTERFACE"(1999)披露了一種包含在12C設(shè)備中的12C主設(shè)備接口和 從設(shè)備接口,該文章在此引作參考。通過(guò)提供得到驗(yàn)證的I2C接口, 系統(tǒng)設(shè)計(jì)人員無(wú)需致力于I2C規(guī)范和協(xié)議的細(xì)節(jié)。該論文中主設(shè)備和 從設(shè)備接口兩者都基于狀態(tài)機(jī)。在美國(guó)專利編號(hào)6,799,233中進(jìn)一步 描述了基于狀態(tài)機(jī)的系統(tǒng)和方法,該專利在此引作參考。
發(fā)明內(nèi)容
本發(fā)明的多個(gè)方面涉及以解決和克服上述問(wèn)題的方式、通過(guò)通信 總線上的從設(shè)備鎖存服務(wù)請(qǐng)求的方法和裝置。
根據(jù)一個(gè)示例性實(shí)施例,本發(fā)明涉及一種具有數(shù)據(jù)線電路和服務(wù) 請(qǐng)求電路的從設(shè)備,所述數(shù)據(jù)線電路被配置為接收來(lái)自總線的數(shù)據(jù), 而所述服務(wù)請(qǐng)求電路被配置為對(duì)期望進(jìn)行服務(wù)做出響應(yīng),在獨(dú)立于總 線之處斷言(assert)服務(wù)請(qǐng)求。服務(wù)請(qǐng)求電路包括鎖存器,該鎖存 器被配置為鎖存所斷言的服務(wù)請(qǐng)求,直至使用數(shù)據(jù)線電路對(duì)從設(shè)備進(jìn) 行服務(wù)為止。
在其他實(shí)施例中,用軟件來(lái)實(shí)現(xiàn)鎖存器,和/或?qū)㈡i存器可編程 地配置為鎖存服務(wù)請(qǐng)求電路所斷言的請(qǐng)求,直至從設(shè)備得到服務(wù); 或者不對(duì)服務(wù)請(qǐng)求電路進(jìn)行鎖存??梢詫⒏鶕?jù)本發(fā)明的設(shè)備的實(shí)施例 配置成通用輸入/輸出設(shè)備,CODEC裝置或其他從設(shè)備。根據(jù)本發(fā)明的 設(shè)備的實(shí)施例可以遵從I2C串行通信規(guī)范,SMBus串行通信規(guī)范,或 其他串行數(shù)據(jù)傳送總線規(guī)范。
根據(jù)本發(fā)明的方法的實(shí)施例涉及使用用于實(shí)現(xiàn)通信協(xié)議的、具有 串行數(shù)據(jù)線和時(shí)鐘線的串行數(shù)據(jù)傳送總線的通信系統(tǒng)。 一個(gè)或更多個(gè) 從設(shè)備向主設(shè)備請(qǐng)求服務(wù)的方法包括在從設(shè)備內(nèi),在獨(dú)立于串行數(shù) 據(jù)傳送總線的公共節(jié)點(diǎn)處,檢測(cè)向串行數(shù)據(jù)傳送總線的主設(shè)備斷言服 務(wù)請(qǐng)求信號(hào)的條件。在從設(shè)備內(nèi)鎖存該服務(wù)請(qǐng)求,使得服務(wù)請(qǐng)求保持 被斷言,無(wú)需考慮所檢測(cè)條件的改變。主設(shè)備使用串行數(shù)據(jù)傳送總線, 響應(yīng)于從設(shè)備的詢問(wèn)(interrogation)而對(duì)服務(wù)請(qǐng)求去斷言
該方法的實(shí)施例還可以包括將一個(gè)或更多個(gè)輸入值存儲(chǔ)到從設(shè) 備,把一個(gè)或更多個(gè)輸入的當(dāng)前條件與存儲(chǔ)值進(jìn)行比較,并確定存儲(chǔ) 值與當(dāng)前條件不同。
本發(fā)明的上述概括描述無(wú)意于描述本發(fā)明的每個(gè)實(shí)施例或每種 實(shí)施方式。參照下面結(jié)合附圖迸行的詳細(xì)描述和權(quán)利要求,本發(fā)明的 優(yōu)點(diǎn),效果以及對(duì)本發(fā)明更完全的理解將變得明顯且可以理解。
考慮到下面結(jié)合附圖對(duì)本發(fā)明多個(gè)實(shí)施例的詳細(xì)描述,可以更充 分地理解本發(fā)明,在附圖中
圖1A為根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)鎖存的服務(wù)請(qǐng)求的數(shù)據(jù)通信系統(tǒng) 的框圖1B為根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)非鎖存和鎖存的服務(wù)請(qǐng)求的數(shù)據(jù) 通信系統(tǒng)的信號(hào)線的圖示;
圖2為根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)鎖存的服務(wù)請(qǐng)求的方法的流程以及
圖3為根據(jù)本發(fā)明其他實(shí)施例實(shí)現(xiàn)可編程鎖存的服務(wù)請(qǐng)求的另一 方法的流程圖。
具體實(shí)施例方式
盡管本發(fā)明存在多種修改和備選形式,但附圖中示例性地示出了 其具體形式,下面將對(duì)此進(jìn)行詳細(xì)描述。然而,應(yīng)該理解,本發(fā)明并 不限于所描述的特定實(shí)施例。相反,本發(fā)明將涵蓋由所附權(quán)利要求定 義的本發(fā)明范圍內(nèi)的所有修改、等效和備選。
本發(fā)明一般而言可應(yīng)用于由通信總線上的從設(shè)備鎖存服務(wù)請(qǐng)求 的方法和裝置。本發(fā)明已被發(fā)現(xiàn)特別有益于集成電路間(I2C)串行數(shù)據(jù) 通信總線,不過(guò)也有益于其他總線和通信協(xié)議,如系統(tǒng)管理總線(SMBus) 體系結(jié)構(gòu)和/或協(xié)議,或其他串行數(shù)據(jù)通信系統(tǒng)。為了說(shuō)明而非限制的 目的,將在具有控制與從設(shè)備的通信的主設(shè)備的12C總線的上下文中
描述本發(fā)明。
在I2C總線結(jié)構(gòu)上,主設(shè)備控制與12C從設(shè)備的通信。12C從設(shè) 備可應(yīng)用于多個(gè)應(yīng)用領(lǐng)域中,從蜂窩電話,PDA和智能電話 (SmartPhone)到LCD TV,醫(yī)療設(shè)備,游戲及其他應(yīng)用。I2C從設(shè)備的 一個(gè)具體應(yīng)用是作為通用輸入/輸出(GPIO)設(shè)備。在這種設(shè)備中,存在 多個(gè)可用作輸入或輸出的多功能管腳。當(dāng)用作輸入時(shí),這些管腳通常 指示被監(jiān)測(cè)的特定信號(hào)的狀態(tài)。
有些時(shí)候,希望監(jiān)測(cè)輸入管腳的值的改變,并將該信息傳遞給系 統(tǒng)控制主設(shè)備,如微控制器。這可通過(guò)指示針對(duì)主設(shè)備的服務(wù)的請(qǐng)求 的INTERRUPT管腳來(lái)完成。當(dāng)被斷言時(shí),服務(wù)請(qǐng)求信號(hào)(此處稱作 INTERRUPT)向微控制器指示輸入信號(hào)的值已經(jīng)發(fā)生改變。例如,GPIO 可存儲(chǔ)輸入管腳的初始值,然后當(dāng)任何一個(gè)輸入發(fā)生改變時(shí),比較存 儲(chǔ)值與當(dāng)前值,并且如果不同的話,則產(chǎn)生INTERRUPT信號(hào)。
已知的12C從設(shè)備的一個(gè)問(wèn)題是,如果輸入管腳變回到其初始條 件,則INTERRUPT信號(hào)被去斷言,如果系統(tǒng)主設(shè)備沒有機(jī)會(huì)在斷言 INTERRUPT時(shí)讀取輸入值,則指示輸入信號(hào)已經(jīng)發(fā)生改變的信息會(huì)發(fā) 生丟失。根據(jù)本發(fā)明的設(shè)備鎖存輸入信號(hào)的改變,使得即使信號(hào)切換 回其初始值,仍舊保持對(duì)INTERRUPT的斷言。由此,改變信息不會(huì)發(fā) 生丟失。在根據(jù)本發(fā)明的其他實(shí)施例中,可通過(guò)I2C總線在非鎖存與 鎖存服務(wù)請(qǐng)求之間對(duì)從設(shè)備進(jìn)行編程。
根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例,串行數(shù)據(jù)通信總線上的一個(gè)或 更多個(gè)從設(shè)備通過(guò)在獨(dú)立于串行數(shù)據(jù)傳送總線的公共節(jié)點(diǎn)處,在從設(shè) 備中檢測(cè)向串行數(shù)據(jù)傳送總線的主設(shè)備斷言服務(wù)請(qǐng)求信號(hào)的條件,向 主設(shè)備請(qǐng)求服務(wù)。在從設(shè)備中對(duì)服務(wù)請(qǐng)求進(jìn)行鎖存,從而服務(wù)請(qǐng)求保 持被斷言,無(wú)需考慮所檢測(cè)條件的改變。主設(shè)備使用串行數(shù)據(jù)傳送總 線,響應(yīng)從設(shè)備的詢問(wèn),對(duì)服務(wù)請(qǐng)求進(jìn)行去斷言??梢詫脑O(shè)備配置 為通用輸入/輸出設(shè)備,CODEC裝置或其他從設(shè)備。通信系統(tǒng)可符合 I2C, SMBus和/或其他串行通信規(guī)范。
圖1A為根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)鎖存的服務(wù)請(qǐng)求的數(shù)據(jù)通信系統(tǒng) 100的框圖。將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電連接。與I2C數(shù)據(jù)總線 125分離的服務(wù)請(qǐng)求節(jié)點(diǎn)150,被表示成將主設(shè)備130與從設(shè)備140 電連接。根據(jù)本發(fā)明,可使用服務(wù)請(qǐng)求節(jié)點(diǎn)150斷言INTERRUPT。盡 管在圖1A中將服務(wù)請(qǐng)求節(jié)點(diǎn)150表示成物理連接,例如跡線(trace), 然而服務(wù)請(qǐng)求節(jié)點(diǎn)150可通過(guò)中間設(shè)備路由。例如,服務(wù)請(qǐng)求節(jié)點(diǎn)150 備選地可以是從設(shè)備140上的中斷請(qǐng)求管腳,該管腳可通信地與執(zhí)行 中斷例程的微處理器(未示出)耦合,其中微處理器檢測(cè)來(lái)自從設(shè)備 140的服務(wù)請(qǐng)求,并與主設(shè)備130進(jìn)行通信,以啟動(dòng)從設(shè)備140所斷 言的INTERRUPT的服務(wù)。
除主設(shè)備130所執(zhí)行的任何其他動(dòng)作以外,主設(shè)備130包括至少 三種針對(duì)INTERRUPT的服務(wù)的狀態(tài)152, 154, 156。檢測(cè)服務(wù)請(qǐng)求節(jié) 點(diǎn)150上的服務(wù)請(qǐng)求的狀態(tài)152,是一種針對(duì)頂TERRUPT的服務(wù)的靜 止?fàn)顟B(tài)。主設(shè)備130完成它的其他職能(如果有的話),直到服務(wù)請(qǐng)求 節(jié)點(diǎn)150上斷言INTERRUPT為止。主設(shè)備130可連續(xù)地檢測(cè)服務(wù)請(qǐng)求 節(jié)點(diǎn)150的條件,或者以有規(guī)律的間隔檢測(cè)服務(wù)請(qǐng)求節(jié)點(diǎn)150的條件, 或者可以響應(yīng)于提示(prompt)而檢測(cè)服務(wù)請(qǐng)求節(jié)點(diǎn)150的條件。
如果主設(shè)備130檢測(cè)服務(wù)請(qǐng)求節(jié)點(diǎn)150處的INTERRUPT,則主設(shè) 備130在狀態(tài)154下獲得I2C數(shù)據(jù)總線125的控制。主設(shè)備130使用 仲裁方法獲得12C數(shù)據(jù)總線125的控制,例如在可從菲利浦半導(dǎo)體公 司獲得的、文檔號(hào)為9398-393-4001-1的"I2C總線規(guī)范"(2000年1 月,2. l版)中進(jìn)一步描述的。主設(shè)備130在狀態(tài)156下對(duì)從設(shè)備的 INTERRUPT進(jìn)行服務(wù),并返回其靜止?fàn)顟B(tài)152。
根據(jù)本發(fā)明的實(shí)施例,在圖1A中將從設(shè)備140表示成GPIO設(shè)備, 其把一個(gè)或更多個(gè)輸入/輸出(I/O)管腳處的當(dāng)前條件與初始條件進(jìn) 行比較,并在服務(wù)請(qǐng)求節(jié)點(diǎn)150處斷言鎖存的INTERRUPT。在狀態(tài)162 下,從設(shè)備140檢測(cè)希望主設(shè)備130進(jìn)行服務(wù)的條件。從設(shè)備140對(duì) 服務(wù)請(qǐng)求節(jié)點(diǎn)150上的服務(wù)請(qǐng)求164進(jìn)行鎖存。與啟動(dòng)服務(wù)請(qǐng)求164 的條件的改變無(wú)關(guān),在服務(wù)請(qǐng)求節(jié)點(diǎn)150處保持對(duì)INTERRUPT的斷言, 從而將INTERRUPT鎖存,至少到從設(shè)備140被主設(shè)備130尋址和服務(wù) 為止。響應(yīng)于主設(shè)備130對(duì)從設(shè)備140的尋址以及對(duì)INTERRUPT的服 務(wù),從設(shè)備140將服務(wù)請(qǐng)求節(jié)點(diǎn)150上的INTERRUPT去斷言166。
圖IB為根據(jù)本發(fā)明實(shí)施例,實(shí)現(xiàn)鎖存的服務(wù)請(qǐng)求的數(shù)據(jù)通信系 統(tǒng)的數(shù)據(jù)線的圖示170,其對(duì)異步INTERRUPT進(jìn)行鎖存。曲線172對(duì) 應(yīng)于根據(jù)本發(fā)明的GPIO從設(shè)備的1/0管腳的邏輯狀態(tài),曲線174對(duì)應(yīng) 于GPIO從設(shè)備的服務(wù)請(qǐng)求管腳的邏輯狀態(tài)。曲線172和174示出了 I/O管腳與服務(wù)請(qǐng)求管腳的邏輯狀態(tài)之間的對(duì)應(yīng)。在圖1B所示的示例 中,事件184導(dǎo)致曲線172表現(xiàn)出從邏輯狀態(tài)1到0的轉(zhuǎn)變,曲線174 中也表現(xiàn)出從邏輯狀態(tài)1到0發(fā)生轉(zhuǎn)變。事件186導(dǎo)致曲線172表現(xiàn) 出從邏輯狀態(tài)0到1的轉(zhuǎn)變,曲線174中也表現(xiàn)出從邏輯狀態(tài)0到1 的轉(zhuǎn)變。如果從設(shè)備INTERRUPT,在本示例中為事件184與事件186 之間的曲線174的低狀態(tài),在事件184與事件186的時(shí)間之間并沒有 得到總線上主設(shè)備的服務(wù),則可能丟失與INTERRUPT有關(guān)的信息。
曲線176對(duì)應(yīng)于根據(jù)本發(fā)明具有鎖存的INTERRUPT的GPIO從設(shè) 備的I/O管腳的邏輯狀態(tài),曲線178對(duì)應(yīng)于GPIO從設(shè)備的服務(wù)請(qǐng)求管 腳的邏輯狀態(tài)。根據(jù)鎖存的INTERRUPT,曲線176和178示出了 I/O 管腳與服務(wù)請(qǐng)求管腳的邏輯狀態(tài)之間的對(duì)應(yīng)。在圖1A中曲線176, 178 所示的示例中,事件182導(dǎo)致曲線176表現(xiàn)出從邏輯狀態(tài)1到0的轉(zhuǎn) 變,曲線178中也表現(xiàn)出從邏輯狀態(tài)1到0的轉(zhuǎn)變,在服務(wù)請(qǐng)求線上 斷言鎖存的INTERRUPT.在事件184之后,事件182導(dǎo)致邏輯狀態(tài)從0 到1的轉(zhuǎn)變,而曲線178不是這樣(例如,沒有將INTERRUPT去斷言)。 響應(yīng)于在總線上對(duì)從設(shè)備進(jìn)行尋址,以及INTERRUPT得到服務(wù),例如 通過(guò)事件188,曲線178表示通過(guò)邏輯狀態(tài)從0到1的轉(zhuǎn)變將INTERRUPT 去斷言。即使事件184可能是瞬時(shí)異步條件,根據(jù)本發(fā)明對(duì)服務(wù)請(qǐng)求 進(jìn)行鎖存能夠確保從設(shè)備得到總線上的主設(shè)備的服務(wù),從而解決了瞬 時(shí)異步條件的問(wèn)題。
圖2為根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)鎖存的服務(wù)請(qǐng)求的方法的流程圖 200。從設(shè)備檢測(cè)210要求服務(wù)的條件。例如,GPIO從設(shè)備可監(jiān)測(cè)輸 入管腳邏輯狀態(tài)的改變。如果所監(jiān)測(cè)的管腳的邏輯狀態(tài)發(fā)生改變,則 從設(shè)備諸如通過(guò)在服務(wù)請(qǐng)求節(jié)點(diǎn)上斷言INTERRUPT,來(lái)斷言并鎖存服 務(wù)請(qǐng)求220。響應(yīng)于總線上主設(shè)備對(duì)從設(shè)備的尋址,以及對(duì)INTERRUPT 的服務(wù)230,從設(shè)備諸如通過(guò)從服務(wù)請(qǐng)求節(jié)點(diǎn)去除INTERRUPT而去斷 言服務(wù)請(qǐng)求240。使用GPI0設(shè)備作為實(shí)現(xiàn)方法200的從設(shè)備,僅僅是
為了說(shuō)明的目的,而非進(jìn)行限制。
圖3為根據(jù)本發(fā)明其他實(shí)施例實(shí)現(xiàn)可編程鎖存的服務(wù)請(qǐng)求的方法 300的流程圖。為了說(shuō)明而非限制,將在I2C總線上的GPI0從設(shè)備的 上下文中描述方法300。
從設(shè)備諸如通過(guò)使用易失性和/或非易失性存儲(chǔ)器來(lái)存儲(chǔ)初始輸 入條件310。把存儲(chǔ)的輸入條件與當(dāng)前條件進(jìn)行比較320。如果判斷 330存儲(chǔ)的輸入條件與當(dāng)前條件不存在差異,則不斷言服務(wù)請(qǐng)求332, 并執(zhí)行進(jìn)一步比較320。如果判斷330存儲(chǔ)的輸入條件與當(dāng)前條件不 同,則進(jìn)行檢查340以確定是否需要鎖存的服務(wù)請(qǐng)求。如果檢査340 表明不需要鎖存,則斷言服務(wù)請(qǐng)求350,并進(jìn)行進(jìn)一步比較320。如果 檢查340表明需要鎖存,則斷言服務(wù)請(qǐng)求360并進(jìn)行鎖存370。
然后,從設(shè)備等待主設(shè)備使用總線進(jìn)行尋址和對(duì)服務(wù)請(qǐng)求進(jìn)行服 務(wù)。如果主設(shè)備使用總線對(duì)從設(shè)備進(jìn)行尋址,并且執(zhí)行期望的服務(wù) 372,那么將服務(wù)請(qǐng)求去斷言374,并進(jìn)行進(jìn)一步的比較320。
正如本領(lǐng)域所公知的,如果期望對(duì)服務(wù)請(qǐng)求進(jìn)行去鎖存(諸如進(jìn)
行硬件復(fù)位或軟件重啟),可以使用看門狗定時(shí)器或其他方法對(duì)服務(wù)請(qǐng) 求去斷言374,從而去除服務(wù)請(qǐng)求鎖存370。
可使用硬件,固件,軟件或者它們的組合來(lái)實(shí)現(xiàn)此處所描述的服 務(wù)請(qǐng)求鎖存和可編程服務(wù)請(qǐng)求鎖存的多個(gè)實(shí)施例。本發(fā)明所使用的服 務(wù)功能可以存在于所述的主設(shè)備中,或者備選地可存在于與串行數(shù)據(jù) 通信系統(tǒng)100連接的獨(dú)立或聯(lián)網(wǎng)的計(jì)算機(jī)中。圖1中所示的串行數(shù)據(jù) 通信系統(tǒng)100是一種可結(jié)合該通信系統(tǒng),計(jì)算機(jī)或其他計(jì)算機(jī)實(shí)現(xiàn)的 設(shè)備使用的、執(zhí)行本發(fā)明操作的示例結(jié)構(gòu)。
圖1中所示的適于實(shí)現(xiàn)根據(jù)本發(fā)明的服務(wù)功能的示例性主設(shè)備
130,通常包括與隨機(jī)存取存儲(chǔ)器(RAM)和/或只讀存儲(chǔ)器(ROM)的某些 變體相耦合的中央處理器(CPU)。 ROM也可以是其他種類的用于存儲(chǔ)程 序的存儲(chǔ)介質(zhì),諸如可編程ROM (PROM),可擦除PROM(EPROM)等等。處 理器可通過(guò)輸入/輸出(I/O)電路和/或其他總線(bussing)與其他內(nèi)部 和外部部件進(jìn)行通信,以提供控制信號(hào),通信信號(hào)等。
主設(shè)備130還可以包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備,包括硬盤和軟 盤驅(qū)動(dòng)器,CD-ROM驅(qū)動(dòng)器,以及能夠讀和/或存儲(chǔ)信息的其他硬件, 諸如DVD等。在一個(gè)實(shí)施例中,實(shí)現(xiàn)根據(jù)本發(fā)明的服務(wù)請(qǐng)求鎖存和可 編程服務(wù)請(qǐng)求鎖存的軟件可以被存儲(chǔ)并分發(fā)到CD-R0M,磁盤或其他能 夠以便攜式存儲(chǔ)信息的介質(zhì)上。這些存儲(chǔ)介質(zhì)可以被插入諸如CD-ROM 驅(qū)動(dòng)器、磁盤驅(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)品"或其他類似語(yǔ)言意在包含永 久,臨時(shí)或暫時(shí)存在于諸如任何存儲(chǔ)器設(shè)備或任何傳輸設(shè)備的計(jì)算機(jī) 可用介質(zhì)上的計(jì)算機(jī)程序。
說(shuō)明書中所披露的每個(gè)特征(包括任何所附的權(quán)利要求,摘要和 附圖),都可以被具有相同、等效或類似作用的備選特征所取代,除非 另有說(shuō)明。因此,除非另有說(shuō)明,否則所披露的每個(gè)特征僅是等效或 類似特征的一般系列的一個(gè)示例。
因而,描述了多個(gè)實(shí)施例作為實(shí)現(xiàn)本發(fā)明的示例,解決了從與總 線結(jié)構(gòu)連接的多個(gè)設(shè)備請(qǐng)求服務(wù)的問(wèn)題。在每種實(shí)施方式中,可以對(duì) 服務(wù)請(qǐng)求進(jìn)行鎖存,以確保由總線上的主設(shè)備對(duì)服務(wù)請(qǐng)求進(jìn)行服務(wù), 無(wú)需考慮瞬態(tài)或改變的輸入條件。
不應(yīng)認(rèn)為本發(fā)明局限于上面所述的特定示例。多種變型,等效過(guò) 程以及本發(fā)明可采用的多種結(jié)構(gòu)都落入本發(fā)明的范圍之內(nèi)。例如,可
使用類似構(gòu)成的在公共總線(諸如SMBus或其他總線配置)上的設(shè)備 之間進(jìn)行通信的單向或雙向接口來(lái)實(shí)現(xiàn)服務(wù)請(qǐng)求鎖存裝置。這些變體 都被認(rèn)為是如所附權(quán)利要求清楚給出的所要求保護(hù)的發(fā)明的一部分。
權(quán)利要求
1.一種通信系統(tǒng)(100),使用用于實(shí)現(xiàn)通信協(xié)議的、具有串行數(shù)據(jù)線(110)和時(shí)鐘線(120)的串行數(shù)據(jù)傳送總線(125),所述通信系統(tǒng)包括主設(shè)備(130),與串行數(shù)據(jù)傳送總線連接,并且被配置為控制串行數(shù)據(jù)線上的雙向串行通信;獨(dú)立于串行數(shù)據(jù)傳送總線的服務(wù)請(qǐng)求節(jié)點(diǎn)(150),所述服務(wù)請(qǐng)求節(jié)點(diǎn)可由主設(shè)備訪問(wèn);以及從設(shè)備模塊(140),與總線電耦合,而且被配置為通過(guò)對(duì)服務(wù)請(qǐng)求節(jié)點(diǎn)上的服務(wù)請(qǐng)求進(jìn)行鎖存而響應(yīng)某個(gè)條件,以及響應(yīng)于主設(shè)備使用串行數(shù)據(jù)傳送總線對(duì)從模塊的詢問(wèn),而去除服務(wù)請(qǐng)求。
2. 如權(quán)利要求1所述的系統(tǒng),其中,所述從設(shè)備模塊包括存儲(chǔ)器,存儲(chǔ)一個(gè)或更多個(gè)輸入的初始值(310);以及比較系統(tǒng)(320), 把一個(gè)或更多個(gè)輸入的當(dāng)前值與存儲(chǔ)的初始值進(jìn)行比較,并確定足以 在服務(wù)請(qǐng)求節(jié)點(diǎn)處斷言服務(wù)請(qǐng)求的條件(330)。
3. 如權(quán)利要求1所述的系統(tǒng),其中,將所述從設(shè)備模塊配置為 通用輸入/輸出設(shè)備。
4. 如權(quán)利要求1所述的系統(tǒng),其中,將所述從設(shè)備模塊配置為 CODEC裝置的解碼器。
全文摘要
根據(jù)一個(gè)實(shí)施例,一種通信系統(tǒng)(100),使用用于實(shí)現(xiàn)通信協(xié)議的、具有串行數(shù)據(jù)線和時(shí)鐘線的串行數(shù)據(jù)傳送總線,所述通信系統(tǒng)包括鎖存的服務(wù)請(qǐng)求。一個(gè)或更多個(gè)從設(shè)備向主設(shè)備(130)請(qǐng)求服務(wù)的方法,包括在獨(dú)立于串行數(shù)據(jù)傳送總線的公共節(jié)點(diǎn)處(156),檢測(cè)向總線的主設(shè)備斷言服務(wù)請(qǐng)求信號(hào)的條件(162)。在從設(shè)備內(nèi),對(duì)服務(wù)請(qǐng)求進(jìn)行鎖存(164),從而服務(wù)請(qǐng)求保持被斷言,無(wú)需考慮所檢測(cè)的條件的改變。主設(shè)備使用串行數(shù)據(jù)傳送總線,響應(yīng)于從設(shè)備的詢問(wèn),將服務(wù)請(qǐng)求去斷言(166)??梢詫⒃O(shè)備配置為通用輸入/輸出設(shè)備,CODEC裝置或其他從設(shè)備,并且可符合I2C和/或SMBus串行通信規(guī)范。
文檔編號(hào)G06F13/42GK101208682SQ200680023262
公開日2008年6月25日 申請(qǐng)日期2006年5月1日 優(yōu)先權(quán)日2005年4月29日
發(fā)明者保羅·博加德斯, 斯蒂芬·布洛佐斯, 讓-馬克·伊拉扎巴爾, 阿姆里塔·德什潘德, 阿爾瑪·安德森 申請(qǐng)人:皇家飛利浦電子股份有限公司