專利名稱:I<sup>2</sup>C時鐘發(fā)生方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明總體涉及fC時鐘發(fā)生,更具體地,涉及針對快速加模式 (Fast-Plus Mode)的12(:時鐘的實現(xiàn)。
背景技術:
電子系統(tǒng)通常使用互連接在系統(tǒng)組件間傳輸信息。這樣的互連接 通常由一條或多條匯聚在一起信號線構成,也被稱作總線。為了傳輸 信息,系統(tǒng)的組件必須將總線的電壓電平驅動至適當?shù)碾娖健Mǔ4?在一些規(guī)范,用于規(guī)定在特定系統(tǒng)中電壓可以何種快慢程度發(fā)生變化。 例如,某些系統(tǒng)使用被稱為內置集成電路總線或I"C總線的總線協(xié)議。
^c總線是控制總線,提供系統(tǒng)中集成電路間的通信鏈路。這種帶 有軟件定義協(xié)議的簡單的雙線總線是由Philips在80年代初期開發(fā)的,
目前該雙線總線已經發(fā)展成為用于系統(tǒng)控制的事實上的全球標準,在 從溫度傳感器和電壓電平轉換器到EEPROMs、通用1/0、 A/D和D/A轉 換器、CODECs,以及微處理器等各種設備中得到應用。Modands等 人的題為"Two-Wire Bus-System Comprising a Clock Wire and a Data Wire for Interconnecting a Number of Stations"的美國專利4,689,740描 述了一種計算機系統(tǒng),該計算機系統(tǒng)包括許多工作站,這些工作站由 時鐘總線線路和數(shù)據(jù)總線線路進行互連,從而根據(jù)由工作站在時鐘總 線線路和數(shù)據(jù)總線線路上產生的信號形成布線邏輯總線,其全部內容 被合并于此以作參考。在題為"The I2C Bus Specification (Version2.1,January 2000)"的^C規(guī)范中同樣可以找到有關I忙設備的實現(xiàn)方面的 其他信息。
fC總線還可以節(jié)省空間并降低總成本。使用lt規(guī)范,設計者可 以迅速地根據(jù)方框圖實現(xiàn)最終硬件,使得向現(xiàn)有總線接口添加新設備 和新功能得到了簡化。由于該系統(tǒng)已經歷了幾代的發(fā)展,因此可以很 容易地添加或移除lt設備,而不對系統(tǒng)的其余部分造成影響。雙線結 構意味著較少的跡線(trace line),因而PCB可以制作得更小。由于較 少的跡線和相對簡單的協(xié)議的緣故,調試和測試也更加方便。
迄今為止I"C總線已延續(xù)了20多年這一事實是由若干原因所導致 的。首先,最新引入的集線器、總線中繼器、雙向開關和復用器增加 了總線所能夠支持的設備的數(shù)量,擴充了最初受400pF的最大總線容 量所限的設備數(shù)量。此外,軟件控制的沖突檢測(collision detection) 和仲裁(arbitration)即使在復雜的系統(tǒng)中也可以防止數(shù)據(jù)損壞,并確 保實現(xiàn)可靠的性能。除了性能以外,使用也十分方便。兩條簡單的線
路連接系統(tǒng)中的所有集成電路。任意fc設備都可以連接在公共i忙總
線上,并且任意主設備均可與任意從設備交換信息。軟件控制的尋址 方案消除了對于尋址-譯碼硬件的需要,并且,由于I化協(xié)議己經提供 了外部控制邏輯,因此無需設計和調試外部控制邏輯。此外,總線的 性能與時俱迸,目前能夠提供使用遞增的時鐘速度實現(xiàn)4種級別的數(shù)據(jù) 速率傳輸。例如,在標準模式下時鐘速度可以達到100KHz,在快速模 式下可以達到400KHz,在快速模式加(Fast-Mode plus)下可以達到 lMHz,在高速模式下可以達到3.4MHz。盡管高速模式使時鐘速度能 夠達到3.4MHz,但是高速模式需要附加總線邏輯,而標準、快速和快 速加模式并不需要這種附加總線邏輯。
根據(jù)標準、快速和快速模式加規(guī)范,片上"C接口包括開漏NMOS 下拉設備,而PC總線上的所有設備共用一個單獨的上拉電阻器。為了 補償快速模式加提高了的總線速度,規(guī)范要求能過產生頻率在400KHz 和lMHz之間的時鐘信號。為了保持后向兼容,還需要產生兼容標準 模式和快速模式的時鐘信號。
可以使用各種方法實現(xiàn)同標準和快速模式規(guī)范兼容的時鐘信號的發(fā)生。 一種方法是利用由Philips Semiconductor Corportion制造的設 備PCF8584和PCA9564予以實現(xiàn)的。在"PCF8584 I2C Bus Controller (October 1977)"禾卩"PCA9564 Parallel Bus to I2C Controller (June
2004)"的數(shù)據(jù)表中可以找到關于這些設備的其他信息。然而,這樣的
設備不具備產生同快速加模式兼容的時鐘信號的能力。
上述和其它問題在為I^總線產生時鐘信號這方面造成了困難。因 此,在為^C總線產生同快速加模式兼容的時鐘信號方面存在可以改進 的空間。
發(fā)明內容
本發(fā)明的各個方案涉及解決和克服了上述問題的、用于為快速加 模式產生I^時鐘的方法和配置。
根據(jù)一示例實施例,實現(xiàn)了一種同具有時鐘信號的I化總線一起使
用的方法。該方法使用邏輯電路控制fc總線上的時鐘信號。邏輯電路
是以狀態(tài)機的方式進行配置的。狀態(tài)機的第一狀態(tài)判定是否要實現(xiàn)時 鐘伸展延遲。狀態(tài)機的第二狀態(tài)對不實現(xiàn)時鐘伸展延遲判定予以響應, 判定I勺總線是被配置為運行于標準時鐘模式還是運行于多種其中之 一為快速時鐘模式的更快速的時鐘模式中的一種。狀態(tài)機的第三狀態(tài) 對該設備既未被配置為運行于標準時鐘模式也未被配置為運行于快速 時鐘模式的判定予以響應,在大于大約0.5微秒且小于大約2.5微秒的 時間內以一種二進制邏輯狀態(tài)驅動時鐘信號。然后允許以另一種二進 制邏輯狀態(tài)驅動時鐘信號。在時鐘信號再次被驅動為所述一種二進制 邏輯狀態(tài)之前,在大于大約0.5微秒且小于大約2.5微秒的時間內將時
鐘信號保持于另一種邏輯狀態(tài)。
根據(jù)另一示例實施例,實現(xiàn)了一種邏輯電路,用于控制^C總線的 時鐘信號。所述邏輯電路包含配以多種狀態(tài)的狀態(tài)機。第一狀態(tài)判定 是否實現(xiàn)時鐘伸展延遲。第二狀態(tài)對不實現(xiàn)時鐘伸展延遲判定予以響 應,判定^C總線是被配置為運行于標準時鐘模式還是運行于多種其中 之一為快速時鐘模式的更快速的時鐘模式中的一種。第三狀態(tài)對該設 備既未被配置為運行于標準時鐘模式也未被配置為運行于快速時鐘模式的判定予以響應,在大于大約0.5微秒且小于大約2.5微秒的時間內 以一種二進制邏輯狀態(tài)驅動時鐘信號。然后允許在時鐘信號再次被驅 動為第一種二進制邏輯狀態(tài)之前,在大于大約0.5微秒且小于大約2.5 微秒的時間內,以另一種二進制邏輯狀態(tài)驅動時鐘信號。
本發(fā)明的上述概要本意并不在于描述本發(fā)明的各實施例或每種 實現(xiàn)。參照以下結合附圖的詳細說明和權利要求,本發(fā)明的優(yōu)勢和效 果以及對于本發(fā)明的更加全面的理解,將變得顯而易見和易于體會。
考慮以下結合附圖的本發(fā)明的各實施例的詳細說明,可以更加全
面地理解本發(fā)明,附圖中
圖1示出了根據(jù)本發(fā)明的示例實施例的為標準、快速和快速加模
式配置的I化系統(tǒng)的框圖2示出了根據(jù)本發(fā)明的示例實施例的用于產生同快速加模式規(guī)
范兼容的時鐘信號的方法的流程圖;以及
圖3A-3E示出了根據(jù)本發(fā)明的示例性實施例的用于產生選擇性地 同標準模式、快速模式和快速加模式規(guī)范兼容的時鐘信號的狀態(tài)機的 示意圖。
具體實施例方式
雖然本發(fā)明可以由各種修改方案和可替換形式,但在附圖中以示 例的方式示出了其特定方案,并將對其予以詳細說明。然而,應當理 解的是,本發(fā)明不局限于所描述的特定實施例。相反,本發(fā)明應涵蓋 屬于由所附權利要求限定的發(fā)明的精神和范圍內的全部修改方案,等 價方案,以及候選方案。
本發(fā)明被認為適于各種fc設備和涉及fc快速加模式設備的方
法。然而本發(fā)明未必局限于這樣的應用,通過在這樣的環(huán)境下討論示 例可以獲得對本發(fā)明各方案的最佳理解。
根據(jù)本發(fā)明的示例實施例,通過實現(xiàn)狀態(tài)機來產生大約位于 400KHz和lMHz之間的時鐘信號。狀態(tài)機的第一狀態(tài)判定是否實現(xiàn)時鐘伸展延遲(clock stretching dday)。狀態(tài)機的第二狀態(tài)判定I"C總線 是被配置為運行于標準時鐘模式還是運行于多種更快速的時鐘模式中 的一種,其中多種更快的時鐘模式包括快速時鐘模式或快速加時鐘模 式。如果設備既未被配置為運行于標準時鐘模式也未被配置為運行于 快速加時鐘模式,那么狀態(tài)機的第三狀態(tài)就在允許以另一種二進制邏 輯狀態(tài)驅動時鐘信號之前,在大于大約0.5微秒且小于大約2.5微秒的 時間內以一種二進制邏輯狀態(tài)驅動時鐘信號,并允許在大于大約0.5 微秒且小于大約2.5微秒的時間內以另一種二進制邏輯狀態(tài)保持時鐘 信號。設備可以重復這些狀態(tài),以產生400KHz和lMHz之間的時鐘信 號。
根據(jù)本發(fā)明的另一示例實施例,狀態(tài)機產生用于PC總線事務(bus transaction)的12(3時鐘(SCL)。狀態(tài)機還分別在I^總線上產生"啟動" 和"終止"條件以啟動和終止通信。使其時鐘與SCL線上的其它時鐘
同步。狀態(tài)機還支持時鐘伸展。狀態(tài)機能夠為三種不同的fc頻率模式
(標準、快速和快速加模式)產生定時。狀態(tài)機提供可編程的、用于 適當?shù)貜腻e誤狀態(tài)中恢復過來的超時特征。狀態(tài)機對用于判定是否實 現(xiàn)超時特征的使能信號予以響應。當該特征啟用時,在指示^C總線上 出現(xiàn)錯誤前,狀態(tài)機等待一段等同于超時值的時間。
下面參考附圖,圖l示出了根據(jù)本發(fā)明的示例實施例的標準、快 速和快速加模式的fC系統(tǒng)的框圖。I力設備102實現(xiàn)3種fC時鐘模式, 標準104、快速106和快速加108。這些模式決定了在fC總線上提供的 時鐘信號110 (SCL)和數(shù)據(jù)信號112 (SDA)的速率。標準模式104使 用小于大約100KHz的時鐘;快速模式106使用小于大約400KHz的時 鐘,快速加模式108使用小于大約lMHz的時鐘。產生的SCL110時鐘由 設備114予以接收,并與SDA112結合使用,以在設備之間發(fā)送數(shù)據(jù)。
圖2示出了根據(jù)本發(fā)明的示例實施例的用于產生同快速模式加規(guī) 范兼容的時鐘信號的方法的流程圖。圖2示出了輸出模式202、208、212、 214和216以及判決塊204、206和210。這些狀態(tài)和判決塊可以通過例如, 主^C設備的狀態(tài)機予以實現(xiàn)??梢允褂糜商幚砥骱腿我忸愃品椒▽崿F(xiàn) 的可編程邏輯、分立電路、軟件來設計和實現(xiàn)的所述狀態(tài)機。當判定設備需要發(fā)生時鐘信號時,狀態(tài)機進入輸出模式202。這 樣的判定基于fc規(guī)范,并且所述判定包括諸如對另一I忙設備予以響 應以及從另一fC設備請求數(shù)據(jù)等情況。在輸出模式202期間,時鐘信 號被驅動為邏輯低電平值。
判決塊204在實現(xiàn)時鐘伸展期間保持邏輯低電平值。 一旦判定不 再需要時鐘伸展,判決塊206就判定設備是否被配置用于標準模式。如 果設備被配置用于標準模式,狀態(tài)機就進入輸出模式208,實現(xiàn)針對于 標準模式的延遲。否則,狀態(tài)機就進入判決塊210,判定是否將設備配 置用于快速模式。如果設備被配置用于快速模式,狀態(tài)機就進入輸出 模式212,實現(xiàn)針對于快速模式的延遲。否則,狀態(tài)機就進入輸出模式 214,實現(xiàn)針對于快速加模式的延遲。 一旦完成了適當?shù)臅r鐘延遲,狀 態(tài)機就進入輸出模式216,在與由判決塊206和210所確定的模式相一致 的時間內釋放時鐘。然后重復所述整個過程,以為SCL線產生時鐘信 號。
圖2示出了針對于標準模式順序實現(xiàn)的輸出模式208、 212和214, 以及針對于快速模式順序實現(xiàn)的輸出模式212和214。例如,工作于標 準模式的設備的總時鐘延遲是輸出模式208、 212和214的延遲之和。這 樣的順序操作對于通過重用針對于標準或快速模式的輸出模式212和 214的延遲從而降低狀態(tài)機的復雜性而言特別有用。在其它實施例中, 可以通過例如在針對于各時鐘模式的一種輸出模式下實現(xiàn)整個延遲的 方式,使每個延遲獨立于其它延遲。
圖3A-E示出了根據(jù)本發(fā)明的示例實施例、用于產生選擇性地同標 準模式、快速模式和快速加模式規(guī)范兼容的時鐘信號的狀態(tài)機的示意 圖。該狀態(tài)機為I^總線事務產生SCL時鐘。該狀態(tài)機還在I^總線上產 生"啟動"和"終止"條件,以分別啟動和終止通信。該狀態(tài)機使其 時鐘同SCL線上的其它時鐘同步。狀態(tài)機還支持時鐘伸展。狀態(tài)機能 夠為三種不同I^頻率模式(標準、快速和快速加模式)產生定時。狀 態(tài)機使用一個或多個計數(shù)器遍歷各個狀態(tài)。為簡潔起見,以下說明描 述了一個用于整個過程的計數(shù)器,然而,由于可以對各種延遲使用多 個計數(shù)器,因此其本意并不是限制性的。狀態(tài)圖示出了36種狀態(tài)(Sl-S36),并顯示了事件應該以何種順 序發(fā)生,以在^C總線上產生正確的定時信號(timed signal)。以下對
各種狀態(tài)以及這些狀態(tài)用于實現(xiàn)正確的fc行為的方式進行了說明。
50 -復位,狀態(tài)機進入狀態(tài)SO。這是狀態(tài)機的默認狀態(tài)。當處于
該狀態(tài)時,如果狀態(tài)機在fc總線上檢測到"啟動"條件,狀態(tài)機就進
入指示總線繁忙(例如,總線正被另一主設備所使用)的狀態(tài)S13。 如果狀態(tài)機接收到發(fā)送"啟動"條件的信號,就進入狀態(tài)S1。
51 -當處于該狀態(tài)時,如果狀態(tài)機在PC總線上檢測到"啟動" 條件,就進入狀態(tài)S13,總線繁忙狀態(tài)。否則,狀態(tài)機就檢查SCL線, 以確定SCL線為高電平。SCL線上的高電平表明,前一設備已經釋放 了^C總線,并且狀態(tài)機進入狀態(tài)S2。如果己經啟用了超時操作,并且 SCL線為低電平(即,SCL線還沒有被另一設備釋放),狀態(tài)機就開始 對超時期進行計數(shù)。如果沒有啟用超時操作,狀態(tài)機就停留在狀態(tài)S1, 直到SCL線釋放或在總線上檢測到"啟動"條件為止。 一旦超時期結 束,如果SCL線仍為低電平,狀態(tài)機就進入狀態(tài)S17,以表明^C總線 的SCL線上的錯誤。
S2-如果狀態(tài)機檢測到"啟動"條件,就進入狀態(tài)S13(總線繁忙 狀態(tài))。否則,狀態(tài)機檢測SDA線。如果SDA線為高電平,即,在^C 總線上沒有其它設備將SDA線保持為低電平,狀態(tài)機就進入狀態(tài)S3。 如果檢測到SDA線為低電平,則假設某些從設備將SDA線下拉至低電 平,因此狀態(tài)機進入狀態(tài)S18,在狀態(tài)S18下狀態(tài)機嘗試發(fā)送9個時鐘 脈沖,以使可能導致SDA線變?yōu)榈碗娖降臏魪脑O備(stuck slave)同 步。如果,在9個時鐘脈沖之后,該SDA線仍舊滯留在低電平,狀態(tài)機 就進入狀態(tài)S16,以表明SDA線上的錯誤。
S3 -在狀態(tài)S3中,SDA線被下拉至低電平,以便在fC總線上產 生"啟動"條件。當狀態(tài)機檢測到在^C總線上的SDA己變?yōu)榈碗娖剑?狀態(tài)機就進入狀態(tài)S4,否則,就停留在狀態(tài)S3中。根據(jù)PC規(guī)范,該檢 測確保SDA線上的電壓電平已經達到足夠低的電壓。
S4-計數(shù)器為"啟動"條件對保持時間進行計數(shù)。如果在計數(shù)器 完成計數(shù)之前SCL線變?yōu)榈碗娖剑瑺顟B(tài)機就進入S19,否則,狀態(tài)機在完成計數(shù)之后進入狀態(tài)S5。
55- 在狀態(tài)S5中,SCL線被下拉至低電平。一旦狀態(tài)機檢測到SCL 線為低電平,狀態(tài)機就進入狀態(tài)S23。根據(jù)I^規(guī)范,該檢測確保SCL 線上的電壓電平已經達到足夠低的電壓。
56- 在狀態(tài)S6中,計數(shù)器對SCL時鐘的低電平期進行計數(shù)。 一旦 完成計數(shù),狀態(tài)機就進入狀態(tài)S7。在SDA出錯的情況下,(即,狀態(tài) 機發(fā)送了9個時鐘脈沖而SDA線依舊保持在低電平的情況下),狀態(tài)機 就進入狀態(tài)S16,以表明SDA線上的錯誤。
57- 只要需要伸展SCL時鐘,狀態(tài)機就停留在狀態(tài)S7。狀態(tài)機基 于主設備的^C模式(標準模式、快速模式和快速加模式)進入下一狀 態(tài)。對于標準模式,狀態(tài)機進入狀態(tài)S32;對于快速模式,狀態(tài)機進 入狀態(tài)S31;對于快速加模式,狀態(tài)機進入狀態(tài)S27。
58- 在狀態(tài)S8中,SCL線被釋放。該狀態(tài)還判定主設備是否已經 失去了控制權。如果失去了控制權,狀態(tài)機就進入狀態(tài)S13。如果已 經啟用了超時操作,計數(shù)器就從SCL線釋放之后開始對超時期進行計 數(shù)。如果在超時期之后,SCL線未被釋放,狀態(tài)機就進入狀態(tài)S17,表 明存在SCL線滯留于低電平的問題。如果沒有啟用超時操作,并且SCL 滯留于低電平,狀態(tài)機就停留在狀態(tài)S8,并需要從外部進行復位以便 脫離該狀態(tài)。當SCL線被成功釋放時,狀態(tài)機進入狀態(tài)S22。
59- 在該狀態(tài)中,計數(shù)器對重復"啟動"條件的建立時間進行計 數(shù)。當完成該計數(shù)時,狀態(tài)機進入狀態(tài)S3。
S10 -在該狀態(tài)中,計數(shù)器對SCL時鐘的高電平期進行計數(shù)。如 果SCL線在計數(shù)器完成計數(shù)前變?yōu)榈碗娖?,狀態(tài)機就進入狀態(tài)S19。當 狀態(tài)機完成計數(shù)時,狀態(tài)機進入狀態(tài)S5。
511- 在狀態(tài)S11中,狀態(tài)機對"終止"條件的建立時間進行計數(shù)。 如果SCL線在計數(shù)器完成計數(shù)之前變?yōu)榈碗娖?,狀態(tài)機就進入狀態(tài)S13 或總線繁忙狀態(tài)。這意味著,盡管主設備期望在^C總線上發(fā)送"終止" 條件,但是其它一些主設備期望在SCL線上繼續(xù)發(fā)送時鐘脈沖。如果 計數(shù)器成功地完成了計數(shù),狀態(tài)機就進入下一個狀態(tài)S12。
512- 在該狀態(tài)中,釋放SDA線,以便在I^總線上產生"終止"條件。狀態(tài)機進入下一狀態(tài)S13。
S13-在S13狀態(tài)中,狀態(tài)機判定是否檢測到"終止"條件。如果 檢測到"終止"條件,就進入狀態(tài)S14。如果沒有在總線上檢測到"終 止"條件,SCL和SDL均為高電平,主設備期望在fC總線上發(fā)送"啟 動"條件,并且啟用了超時特征,狀態(tài)機就進入狀態(tài)S20。
S14 -在該狀態(tài)中,計數(shù)器對"終止"條件和接下來的"啟動" 條件之間的總線空閑時間進行計數(shù)。如果狀態(tài)機在計數(shù)器完成對總線 空閑時間的計數(shù)之前檢測到"啟動"條件,就進入S13總線繁忙狀態(tài)。 如果計數(shù)器完成了對總線空閑時間的計數(shù),狀態(tài)機就進入狀態(tài)S24。
516 -狀態(tài)S16表明在SDA線滯留于低電平的^C總線上存在錯誤 條件。狀態(tài)機停留在狀態(tài)S16中。需要從外部進行復位以便脫離該狀 態(tài)。
517 -這個狀態(tài)表明存在SCL線滯留于低電平的問題。狀態(tài)機一 直停留在該狀態(tài)下,直到從外部對其進行復位。
518- 在這個狀態(tài)中,計數(shù)器會發(fā)出9個時鐘脈沖。下一狀態(tài)是狀 態(tài)SIO。
519- 在狀態(tài)S19中,狀態(tài)機準備開始對SCL時鐘的低電平期重新 計數(shù)。下一狀態(tài),,狀態(tài)機進入狀態(tài)S23。
520- 在狀態(tài)S20中,當超時啟用時,計數(shù)器對超時期進行計數(shù)。 如果未啟用超時,狀態(tài)機返回至S13總線繁忙狀態(tài)。如果狀態(tài)機在總 線上檢測到"終止"條件,就進入狀態(tài)S26。如果計數(shù)器完成了對超 時期的計數(shù),狀態(tài)機就進入狀態(tài)S3,在狀態(tài)S3中主設備將通過發(fā)送"啟 動"條件獲得對fC總線的控制權。如果SCL或SDA變?yōu)榈碗娖?,計?shù) 器就終止計數(shù),且狀態(tài)機返回至狀態(tài)S13。
S21 -該狀態(tài)是為關于時鐘的數(shù)據(jù)提供內部保持時間的多個這 樣狀態(tài)的一部分。狀態(tài)機進入下一狀態(tài)S6。
S22-在該狀態(tài)中,狀態(tài)機判定下面的^C操作。如果控制信號表 明需要發(fā)送時鐘脈沖,狀態(tài)機就進入狀態(tài)SIO。如果控制信號表明需 要發(fā)送"終止"條件,狀態(tài)機就進入狀態(tài)Sll。如果控制信號表明需 要在fC總線上發(fā)送重復的"啟動"條件,狀態(tài)機就進入狀態(tài)S9。S23 -該狀態(tài)是為關于時鐘的數(shù)據(jù)提供內部保持時間的多個這樣 狀態(tài)中的一部分。狀態(tài)機進入下一狀態(tài)S21。
S24-該狀態(tài)表示^C總線處于總線空閑狀態(tài)。如果狀態(tài)機在總線 上檢測到"啟動"條件,就進入S13總線繁忙狀態(tài)。如果主設備期望 在I^總線上發(fā)送"啟動"條件,狀態(tài)機就進入狀態(tài)S25。
S25 -該狀態(tài)檢查SCL線是否為高電平,如果是高電平,狀態(tài)機 就進入狀態(tài)S3,否則就進入狀態(tài)S17。
526- 該狀態(tài)令超時計數(shù)器復位。狀態(tài)機由此處進入狀態(tài)S14。
527- S30-這些狀態(tài)針對標準、快速和快速加模式提供關于時鐘 的數(shù)據(jù)建立。如果單獨實現(xiàn)(即,沒有狀態(tài)31-36),延遲表示針對快 速加模式時鐘的延遲。狀態(tài)機的下一個狀態(tài)是S8。
531 -該狀態(tài)針對快速模式提供關于時鐘的數(shù)據(jù)建立時間。狀態(tài) 機的下一狀態(tài)是S27。
532 - S36 -這些狀態(tài)針對標準模式提供關于時鐘的數(shù)據(jù)建立時 間。狀態(tài)機的下一狀態(tài)是S27。
上述以及附圖中所示的各種實施例是僅以示例的方式來提供的, 不應視為對本發(fā)明的限制?;谝陨嫌懻摵褪纠?,本技術領域的技術 人員容易認識到,可以對本發(fā)明進行各種修改和改進而不必嚴格地遵
循此處說明的和描述的典型實施例和應用。例如,除了fc主設備之外,
還可以采用類似的方法實現(xiàn)其他應用。這樣的修改和改進不應背離由 以下權利要求中所闡釋的本發(fā)明的真實范圍。
權利要求
1、一種同具有時鐘信號(110)的I2C總線一起使用的、利用邏輯電路控制I2C總線上的時鐘信號(110)的方法,所述方法是通過以狀態(tài)機方式配置的邏輯電路予以實現(xiàn)的,包括在狀態(tài)機的第一狀態(tài)(204)中,判定是否要實現(xiàn)時鐘伸展延遲;在狀態(tài)機的第二狀態(tài)(206)中,對不實現(xiàn)時鐘伸展延遲的判定予以響應,判定I2C總線是被配置為運行于標準時鐘模式還是運行于包括快速時鐘模式在內的多種更快速的時鐘模式中的一種;以及在狀態(tài)機的第三狀態(tài)(210)中,對所述設備既未被配置為運行于標準時鐘模式也未被配置為運行于快速時鐘模式的判定予以響應,在允許以另一種二進制邏輯狀態(tài)驅動時鐘信號(110)之前,在大于0.5微秒且小于2.5微秒的時間內以一種二進制邏輯狀態(tài)驅動時鐘信號,并在以所述一種二進制邏輯狀態(tài)驅動時鐘信號之前,在大于0.5微秒且小于2.5微秒的時間內使時鐘信號保持于所述另一種二進制邏輯狀態(tài)。
2、 根據(jù)權利要求l所述的方法,其中,所述多個更快速的時鐘模 式包括快速時鐘模式和快速加時鐘模式。
3、 根據(jù)權利要求l所述的方法,還包括使時鐘信號(110)與同fc總線以通信方式相耦合的外部信號同步的步驟。
4、 根據(jù)權利要求l所述的方法,還包括在狀態(tài)機的另一狀態(tài)中,對fc總線上的通信予以響應,檢測錯誤并對錯誤做出響應。
5、 一種同具有時鐘信號(110)的fC總線一起使用的、用于控制^C總線上的時鐘信號(110)的方法,所述方法包括 判定是否要實現(xiàn)時鐘伸展延遲;對不實現(xiàn)時鐘伸展延遲的判定予以響應,判定^C總線是否被配置 為運行于標準時鐘模式;對所述設備被配置為并非運行于標準時鐘模式的判定予以響應, 判定^C總線是否被配置為運行于快速時鐘模式;以及對設備并非被配置為運行于快速時鐘模式的判定予以響應,在允 許以高電平驅動時鐘信號(110)之前,在大于0.5微秒且小于2.5微秒的時間內以低電平驅動時鐘信號(iio),并在以低電平驅動時鐘信號 OIO)之前,在大于0.5微秒且小于2.5微秒的時間內使時鐘信號(110)保持于高電平。
6、 一種用于控制fC總線的時鐘信號(110)的邏輯電路,所述邏 輯電路包括狀態(tài)機裝置,包括第一裝置,用于工作于第一狀態(tài)(204),以判定是否要實現(xiàn)時鐘 伸展延遲;第二裝置,用于工作于第二狀態(tài)(206),對不實現(xiàn)時鐘伸展延遲的判定予以響應,判定fc總線是被配置為運行于標準時鐘模式還是運行于包括快速時鐘模式在內的多種更快速的時鐘模式中的一種;以及 第三裝置,用于工作于第三狀態(tài)(210),對所述設備既未被配置 為運行于標準時鐘模式也未被配置為運行于快速時鐘模式的判定予以 響應,在允許以另一種二進制邏輯狀態(tài)驅動時鐘信號(110)之前,用 在大于0.5微秒且小于2.5微秒的時間內以一種二進制邏輯狀態(tài)驅動時 鐘信號(110),并在以所述一種二進制邏輯狀態(tài)驅動時鐘信號(110) 之前,在大于0.5微秒且小于2.5微秒的時間內使時鐘信號(110)保持于所述另一種二進制邏輯狀態(tài)。
7、 一種用于控制lt總線的時鐘信號的邏輯電路,所述邏輯電路包括狀態(tài)機,被配置為在第一狀態(tài)(204)中,判定是否要實現(xiàn)時鐘伸展延遲; 在第二狀態(tài)(206)中,對不實現(xiàn)時鐘伸展延遲的判定予以響應,判定fc總線是被配置為運行于標準時鐘模式還是運行于包括快速時鐘模式在內的多種更快速的時鐘模式中的一種;以及在第三狀態(tài)(210)中,對所述設備既未被配置為運行于標準時鐘模式未被配置為運行于快速時鐘模式的判定予以響應,在允許以另 一種二進制邏輯狀態(tài)驅動時鐘信號(110)之前,在大于0.5微秒且小 于2.5微秒的時間內以一種二進制邏輯狀態(tài)驅動時鐘信號(110),并在 以所述一種二進制邏輯狀態(tài)驅動時鐘信號(110)之前,在大于0.5微秒且小于2.5微秒的時間內使時鐘信號(110)保持于所述另一種二進制邏輯狀態(tài)。
8、 根據(jù)權利要求7所述的邏輯電路,其中,所述多個更快速的時鐘模式包括快速時鐘模式和快速加時鐘模式。
9、 根據(jù)權利要求7所述的邏輯電路,其中,所述狀態(tài)機還被配置 為使時鐘信號(110)與同^C總線以通信方式相耦合的外部信號同步。
10、 根據(jù)權利要求7所述的邏輯電路,所述狀態(tài)機還被配置為在狀態(tài)機的另一狀態(tài)中,對fC總線上的通信予以響應,檢測錯誤并對 錯誤做出響應。
11、 根據(jù)權利要求7所述的邏輯電路,其中,所述多個更快速的 時鐘模式包括快速時鐘模式和快速加時鐘模式;所述狀態(tài)機還被配 置為使時鐘信號(110)與同fC總線以通信方式相耦合的外部信號 同步;并且所述狀態(tài)機還被配置為在狀態(tài)機的另一狀態(tài)中,對I^總 線上的通信予以響應,檢測錯誤并對錯誤做出響應。
12、 根據(jù)權利要求ll所述的邏輯電路,其中,驅動時鐘信號包括 在允許將時鐘信號(110)驅動至高電壓之前,在大于0.5微秒且小于 2.5微秒的時間內將時鐘信號(110)驅動至低電壓,并在將時鐘信號(110)驅動至低電壓之前,在大于0.5微秒且小于2.5微秒的時間內使 時鐘信號(110)保持于高電壓。
全文摘要
使用多種方法實現(xiàn)了I<sup>2</sup>C時鐘發(fā)生器。根據(jù)一種這樣的方法,這種方法的實現(xiàn)方式是,利用以狀態(tài)機方式配置的邏輯電路來控制I<sup>2</sup>C總線上的時鐘信號(110)。狀態(tài)機的第一狀態(tài)(202)判定是否要實現(xiàn)時鐘伸展延遲。狀態(tài)機的第二狀態(tài)(206)判定I<sup>2</sup>C總線是被配置為運行于標準時鐘模式還是運行于多種更快速的時鐘模式中的一種。狀態(tài)機的第三狀態(tài)(210)在允許以另一種二進制邏輯狀態(tài)驅動時鐘信號(110)之前,在大于大約0.5微秒的時間內以一種二進制邏輯狀態(tài)驅動時鐘信號,并在大于大約0.5微秒的時間內使時鐘信號保持于另一種二進制邏輯狀態(tài)。
文檔編號G06F13/42GK101627375SQ200780012025
公開日2010年1月13日 申請日期2007年3月31日 優(yōu)先權日2006年3月31日
發(fā)明者阿姆里塔·迪什潘德 申請人:Nxp股份有限公司