新四季網

I2c總線中主器件復位的實現方法、復位裝置及其設備的製作方法

2023-11-06 07:05:57

專利名稱:I2c總線中主器件復位的實現方法、復位裝置及其設備的製作方法
技術領域:
本發明涉及通訊設備中使用I2C總線的情況,尤其是當I2C總線結構中實現主器件復位的方法和裝置。
背景技術:
I2C總線(Inter-IC BUS或IIC BUS,集成電路間互連總線)是一種由飛利浦(PHILIPS)公司開發的一套串行總線,用於連接微控制器及其外圍設備。I2C總線有兩根信號線一根時鐘線SCL,一根雙向數據線SDA。所有接到I2C總線上的器件的時鐘線SCL均接到總線的SCL,其數據線SDA都連接到總線的雙向數據線SDA線。總線使用軟體尋址來識別每個器件(如微控制器、存儲器、LCD驅動器、時鐘晶片和其他I2C總線器件),完全省去了每個器件的片選線,因而使系統的接線非常簡單。目前I2C已經成為重要的全球業界標準,被所有主要的IC廠商所認同和使用。在計算機網絡通訊設備中,具有I2C總線接口的器件應用也越來越多。
在I2C總線中,當某個器件生成總線上的時鐘信號SCK並發起數據傳輸時,被稱為是發送器(也叫主器件),某個器件從總線上接收控制信息時,被稱為接收器(也叫從器件)。主器件用於啟動總線,產生時鐘並傳送數據,此時任何被尋址的器件均被認為是從器件。
I2C總線工作時,由總線上的主器件控制時鐘線SCL提供時鐘同步信號脈衝,由雙向數據線SDA完成數據傳送。I2C總線的數據傳送速率,在標準工作方式下為100kbit/s,在快速方式下,最高傳送速率可達400kbit/s。I2C總線技術規範中,總線協議有著嚴格的時序要求。
I2C總線的數據傳送格式是在I2C總線開始信號後,送出的第一個字節數據是用來選擇從器件的地址和指示讀寫操作,其中前7bit為地址碼,第8bit為讀寫標誌位(R/W)。標誌位為「0」表示是主器件的「寫」操作,即主器件把信息寫入到所選址的從器件;標誌位為「1」表示主器件的「讀」操作。開始信號後,系統中的各個器件將自己的地址和主器件送到總線上的地址進行比較,如果與主器件發送到總線上的地址一致,則該器件即為被主器件尋址的器件,其接收信息還是發送信息則由第8bit標誌(R/W)確定。I2C總線上每次傳輸的數據字節數不受限制,但每一個字節必須為8位,而且每個傳送的字節後面(第9位),從器件必須跟一個認可位,也叫應答位(ACK,Acknowledge bit)I2C總線技術規範中,對開始和結束信號(也稱起始和停止信號)以及應答信號的定義如下起始信號(S)在時鐘線SCL保持高電平期間,雙向數據線SDA上出現由高電平向低電平的變化,用於啟動I2C總線,為I2C總線的起始信號;停止信號(P)在時鐘線SCL保持高電平期間,雙向數據線SDA上出現由低電平向高電平的變化,用於停止I2C總線,為I2C總線的終止信號;應答信號(A)在I2C總線傳輸過程中每一個字節的第9個SCL脈衝對應著應答位,若雙向數據線SDA上顯示低電平則為總線「應答(A)」,若雙向數據線SDA上顯示高電平則為總線「非應答(/A)」。
只有主器件才能對I2C總線實現管理與檢測,開始和結束信號一般都是由主器件產生。I2C總線數據傳輸時,在時鐘線SCL為高電平期間,數據線SDA上必須保持有穩定的邏輯電平狀態,高電平表示數據1,低電平表示數據0。只有在時鐘線SCL為低電平時,才允許數據線SDA上的電平狀態發生變化。
I2C總線的工作速度一般是取決於主器件和從器件的性能,參考I2C的總線規範,時鐘線SCL的工作頻率可以工作在0Hz到100kHz之間。
I2C總線本身不會鎖定,但如果總線上存在幹擾或者SDA或SCL被某些特定的因素拉成低電平,I2C總線就產生鎖定,這些情況通常是由於外部幹擾以及從器件的失效和故障造成。若SDA線被總線上的一個器件拉成低電平,主器件就不能產生起始、停止信號,進行下一步的傳送,此時主器件一般會檢測到I2C總線出現鎖定,無法實現下一步的數據傳輸。因此必須通過一定的手段來避免出現此種情況下造成I2C總線的故障。
在計算機通訊設備內,I2C總線上的主器件一般是CPU,從器件是連接在I2C總線上的其它器件,比如存儲器、傳感器、實時時鐘等。如果在印製電路板設計時經過仔細的布局布線,一般可以避免因總線上出現幹擾造成總線的鎖定。但是,還有一種可能出現但比較隱蔽的情況,也會造成I2C總線的鎖定,且必須要通過其它手段來解決。譬如,在主器件(CPU)在對I2C從器件的讀操作期間,如果CPU突然被復位(RESET),而此時I2C總線上的一個讀操作周期卻還沒有結束,I2C從器件一般有沒有復位輸入管腳,也無法知道主器件被復位的情況,從器件只是看到總線的SCL停止變化,但I2C總線允許時鐘線SCL停止,因此從器件也不會認為I2C總線的主器件出現故障。
在CPU復位過程中及復位後,SCL往往被上拉到高電平,保持穩定,按照I2C總線的規範,SDA數據線上的數據在時鐘線SCL高電平期間必須是穩定的,如果從器件此時在SDA上輸出的bit正巧為「低」,因此,從器件將始終驅動SDA線為低電平,使主器件無法產生任何起始、停止信號,從而由從器件鎖定SDA線,造成I2C總線的鎖定。
這種情況出現後,如果主器件能夠單獨控制SCK,可以通過發送幾個SCK脈衝,使從器件完成I2C總線上的讀操作周期,從而避免I2C總線的鎖定,但是,有許多CPU(主器件),其內部集成的I2C寄存器一般不提供直接對SCK的控制,因此,無法採用輸出SCK脈衝的辦法來解決。I2C總線如果被上述的原因鎖定後,一般無法僅僅通過復位(RESET)主器件來解決,若沒有其它合適可靠的解決辦法,必須要重新上電才能解決。
對於I2C總線被鎖定後的解決方法,現有技術中的一些器件提供了各自的解決途徑。
FreeScale公司(美國一家晶片公司)PowerPC處理器中的MPC8541、MPC8560系列CPU,其內部集成了I2C總線控制寄存器,在發現I2C總線被鎖定後,可以通過讀寫一系列的I2C總線控制寄存器來使I2C總線退出鎖定狀態。
MAXIM公司(美國一家晶片公司)的MAX7500系列I2C從器件,其內部集成了超時功能,提供I2C總線的鎖定保護。如果在250ms內時鐘線SCL沒有發生變化,從器件將自動結束本次的I2C操作,回到初始狀態,從而避免了從器件對I2C總線的鎖定;但是,在計算機通訊設備內I2C總線上連接的器件往往比較多,I2C主器件(一般是CPU)不一定具有解決I2C總線鎖定狀態的控制寄存器,同時,目前I2C總線上所有的從器件也不可能全部具備自動退出鎖定狀態的功能,因此,還需要提供一種適用性更好的裝置來解決I2C總線可能被鎖定的問題。

發明內容
本發明要解決的技術問題是提供一種I2C總線中主器件復位的實現方法,可以避免主器件復位時I2C總線被鎖定,且對主器件和從器件沒有特殊的設計要求。本發明還要提供一種可實現該方法的通訊設備,以及用於實現該方法的復位裝置。
為了解決上述技術問題,本發明提供了一種I2C總線中主器件復位的實現方法,包括以下步驟實時檢測I2C總線狀態,在接收到外界對所述主器件的復位信號時,先判斷當前時刻I2C總線的狀態,如果I2C總線空閒,立刻對主器件進行復位,如果I2C總線上正在有I2C總線操作周期,則在該操作周期結束後,再對所述主器件進行復位。
進一步地,上述實現方法還可具有以下特點該方法是通過獨立於主器件的一個復位裝置來檢測I2C總線的狀態,接收外界對所述主器件的復位信號,並完成狀態判斷和對主器件的復位操作。
本發明提供用於實現上述方法的I2C總線中主器件的復位裝置包括I2C總線監控部分和復位控制部分,其中所述I2C總線監控部分與I2C總線相連,用於監控I2C總線的狀態,並向復位控制部分提供當前I2C總線的狀態指示;所述復位控制部分用於接收外界對所述主器件的復位信號,從所述監控部分獲知I2C總線的當前狀態,在收到該復位信號時且I2C總線處於「空閒」狀態時,向所述主器件發出復位信號。
進一步地,上述復位裝置還可具有以下特點所述I2C總線監控部分實時監控I2C總線上是否有操作周期,如果有,提供I2C總線「忙」的狀態指示,否則,提供I2C總線「空閒」的狀態指示。
進一步地,上述復位裝置還可具有以下特點該復位裝置由可編程邏輯器件內部的邏輯電路所構成。
進一步地,上述復位裝置還可具有以下特點該復位裝置用硬體描述語言Verilog或VHDL實現。
本發明提供可實現上述方法的採用I2C總線的通訊設備包括通過I2C總線相連的主器件和從器件,其特徵在於,還包括一個用於所述主器件復位的裝置,該裝置獨立於所述主器件,用於實時監測I2C總線的狀態,在接收到外部對所述主器件的復位信號且I2C總線處於空閒狀態時,向所述主器件發出復位信號。
由上可知,採用本發明完全可以避免I2C主器件(一般是CPU)在對I2C總線讀操作期間因被復位而由從器件造成總線的鎖定,提高了系統的適應性、穩定性和可靠性,且實現起來方便靈活,硬體成本低。


圖1是本發明實施例I2C總線中主器件的復位裝置的結構框圖。
圖2是本發明實施例I2C總線中主器件的復位裝置工作狀態轉換圖具體實施方式
下面結合附圖對技術方案的實施作進一步的詳細描述
圖1所示是本實施例I2C總線中主器件的復位裝置的結構框圖。如圖所述,該裝置包括I2C總線上的主器件101、主器件的復位裝置102和I2C總線的從器件103。本實施例中,主器件101為CPU處理器。I2C總線上一般有多個從器件103,圖中只示出了其中的一個。
復位裝置102在本實施例中由可編程邏輯器件(PLD)實現,此裝置是用PLD內部邏輯電路構成的一個功能模塊。實際應用中,為了形成模塊化並適應多家廠商的PLD器件,此功能模塊一般由硬體描述語言Verilog或VHDL實現,以提高模塊的可移植性。如圖所示,外界對主器件的復位信號RESET_cpu、連接到主器件101 RESET端的復位信號線、I2C總線上的時鐘線SCL和雙向數據線SDA同時引入PLD內部的復位裝置102。
復位裝置102主要由I2C總線監控部分和復位控制部分構成。
I2C總線監控部分與IC總線相連,負責監控I2C總線的狀態,並向復位控制部分提供當前I2C總線的狀態輸出指示,比如,用電平『0』表示I2C總線空閒,電平『1』表示I2C總線上有操作周期。
復位控制部分負責監測外界對主器件的復位信號,接收到外界對所述主器件的復位信號時,如果I2C總線空閒,則對主器件立刻進行復位,如果I2C總線上有I2C總線操作周期,則等到主器件的I2C總線操作周期結束,I2C總線監控部分的狀態指示變為「空閒」後,再對主器件進行復位。
為了主器件復位的實現方法進行更清楚地說明,請參照圖2示出的復位裝置102工作時的狀態轉換圖,其中每一個圓圈,代表著一種狀態,箭頭表示出在不同條件下狀態的轉換。
I2C總線處於「空閒」狀態時,如果收到外界對I2C總線上主器件的復位信號,復位裝置立刻轉換到「主器件復位」狀態,對主器件進行復位,復位結束後狀態切換回「空閒」狀態;I2C總線處於「空閒」狀態時,如果I2C總線上出現起始信號,狀態轉換到「監視I2C總線」狀態,在該狀態下,如果I2C總線出現停止信號,表明一次I2C總線的操作周期完成,狀態轉換回「空閒」狀態;I2C總線處於「監視I2C總線」狀態,即I2C總線上正在有讀寫操作周期時,如果收到外界對主器件的復位信號,工作狀態轉換到「等待I2C總線周期結束」狀態;當I2C總線上出現停止信號後,表明I2C總線上的操作周期已經完成,復位裝置轉換到「主器件復位」狀態,向主器件發送復位信號,復位結束後,切換回「空閒」狀態。
綜上所述,本發明把原本由外界直接給主器件的復位信號改由經I2C總線中主器件的復位裝置供給主器件,避免在I2C主器件在對從器件讀操作期間被復位,從而防止從器件可能會對I2C總線造成的鎖定。並且不需要對主器件和從器件有特殊的設計,具有適應性好、穩定性和可靠性高,實現方便靈活,硬體成本低等優點。
權利要求
1.一種I2C總線中主器件復位的實現方法,包括以下步驟實時檢測I2C總線狀態,在接收到外界對所述主器件的復位信號時,先判斷當前時刻I2C總線的狀態,如果I2C總線空閒,立刻對主器件進行復位,如果I2C總線上正在有I2C總線操作周期,則在該操作周期結束後,再對所述主器件進行復位。
2.如權利要求1所述的實現方法,其特徵在於,該方法是通過獨立於主器件的一個復位裝置來檢測I2C總線的狀態,接收外界對所述主器件的復位信號,並完成狀態判斷和對主器件的復位操作。
3.一種I2C總線中主器件的復位裝置,其特徵在於,包括I2C總線監控部分和復位控制部分,其中所述I2C總線監控部分與I2C總線相連,用於監控I2C總線的狀態,並向復位控制部分提供當前I2C總線的狀態指示;所述復位控制部分用於接收外界對所述主器件的復位信號,從所述監控部分獲知I2C總線的當前狀態,在收到該復位信號時且I2C總線處於「空閒」狀態時,向所述主器件發出復位信號。
4.如權利要求3所述的復位裝置,其特徵在於,所述I2C總線監控部分實時監控I2C總線上是否有操作周期,如果有,提供I2C總線「忙」的狀態指示,否則,提供I2C總線「空閒」的狀態指示。
5.如權利要求3所述的復位裝置,其特徵在於,該復位裝置由可編程邏輯器件內部的邏輯電路所構成。
6.如權利要求3所述的復位裝置,其特徵在於,該復位裝置用硬體描述語言Verilog或VHDL實現。
7.一種採用I2C總線的通訊設備,包括通過I2C總線相連的主器件和從器件,其特徵在於,還包括一個用於所述主器件復位的裝置,該裝置獨立於所述主器件,用於實時監測I2C總線的狀態,在接收到外部對所述主器件的復位信號且I2C總線處於空閒狀態時,向所述主器件發出復位信號。
8.如權利要求7所述的通訊設備,其特徵在於,所述用於所述主器件復位的裝置進一步包括I2C總線監控部分和復位控制部分,其中所述I2C總線監控部分與I2C總線相連,用於監控I2C總線的狀態,並向復位控制部分提供當前I2C總線的狀態指示;所述復位控制部分用於接收外界對所述主器件的復位信號,從所述監控部分獲知I2C總線的當前狀態,在收到該復位信號時且I2C總線處於「空閒」狀態時,向所述主器件發出復位信號。
9.如權利要求8所述的通訊設備,其特徵在於,所述I2C總線監控部分實時監控I2C總線上是否有操作周期,如果有,提供I2C總線「忙」的狀態指示,否則,提供I2C總線「空閒」的狀態指示。
10.如權利要求8所述的通訊設備,其特徵在於,所述用於所述主器件復位的裝置由可編程邏輯器件內部的邏輯電路所構成。
全文摘要
本發明公開了一種I2C總線中主器件復位的實現方法、復位裝置和相應通訊設備,該方法包括步驟實時檢測I2C總線狀態,收到外界對所述主器件的復位信號時,判斷當前I2C總線狀態,如果空閒,立刻對主器件復位,如果I2C總線上有I2C總線操作周期,則在該操作周期結束後再對主器件復位。所述復位裝置獨立於主器件,包括監控部分,用於監控I2C總線狀態;以及復位控制部分,用於接收外界對主器件的復位信號,在收到該復位信號時且I2C總線處於空閒狀態時,向所述主器件發出復位信號。所述通訊設備包括通過I2C總線相連的主器件、從器件及上述復位裝置。本發明可以避免主器件復位時I2C總線被鎖定,且對主器件和從器件沒有特殊的設計要求。
文檔編號G06F13/42GK1740998SQ20051010269
公開日2006年3月1日 申請日期2005年9月13日 優先權日2005年9月13日
發明者於克泳, 董強, 邵國, 劉嶸 申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀