[發明專利]一種防止I2C總線鎖定的方法、裝置及系統有效
| 申請號: | 201210090362.5 | 申請日: | 2012-03-30 |
| 公開(公告)號: | CN102662902A | 公開(公告)日: | 2012-09-12 |
| 發明(設計)人: | 董超 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F13/40 | 分類號: | G06F13/40 |
| 代理公司: | 深圳鼎合誠知識產權代理有限公司 44281 | 代理人: | 薛祥輝 |
| 地址: | 518057 廣東省深*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 防止 i2c 總線 鎖定 方法 裝置 系統 | ||
技術領域
本發明涉及電子通信控制領域,具體涉及一種防止I2C總線鎖定的方法、裝置及系統。
背景技術
I2C(Inter-Integrated?Circuit)總線是由PHILIPS公司開發的兩線式串行總線,用于連接微控制器及其外圍設備。是微電子通信控制領域廣泛采用的一種總線標準。它是同步通信的一種特殊形式,具有接口線少,控制方式簡單,器件封裝形式小,通信速率較高等優點。目前已廣泛應用在計算機制造,電信設備,消費電子等領域。
在I2C總線技術規范中,總線協議有嚴格的時序要求。總線工作時,由總線上的主器件控制時鐘線SCL傳送時鐘脈沖,由雙向數據線SDA傳送數據。I2C總線上每次傳輸的數據字節數不受限制,但每一個字節必須為8位,而且每個傳送的字節后面從器件必須跟一個認可位(第9位),也叫應答位(ACK,Acknowledge?bit)
I2C總線技術規范中,開始和結束信號(也稱起始和停止信號)定義如下:
起始信號(S):在時鐘線SCL保持高電平期間,雙向數據線SDA出現由高電平向低電平的變化,用于啟動I2C總線,為I2C總線的起始信號;
停止信號(P):在時鐘線SCL保持高電平期間,雙向數據線SDA出現由低電平向高電平的變化,用于停止I2C總線,為I2C總線的終止信號;
應答信號(A):I2C總線的第9個脈沖對應應答位,若雙向數據線SDA上顯示低電平則為總線“應答”(A),若雙向數據線SDA上顯示高電平則為“非應答”(/A)。
開始和結束信號一般都是由主器件產生,只有主器件才能對I2C總線實現管理與檢測,如起始、停止、發送時鐘等。I2C總線數據傳輸時,在時鐘線SCL高電平期間,數據線SDA上必須保持有穩定的邏輯電平狀態,高電平為數據1,低電平為數據0。只有在時鐘線為低電平時,才允許數據線上的電平狀態變化I2C總線的工作速度一般是取決于主控器的性能,參考I2C的總線規范,時鐘線SCL的工作頻率可以低至0Hz。
在正常通信的情況下I2C總線是不會鎖定的,但是當系統復位時,如果I2C主器件還處在通信過程中,而此時SDA正由從器件驅動時,那么由于復位后主器件沒有再發送時鐘,SDA被從器件給拉到固定電平,如果SDA此時是低電平,那么主器件復位后,會一直認為I2C總線忙,進而無法對從器件操作,而從器件又無法自動退出這種狀態,導致I2C總線被掛起,需要人為干預恢復總線的正常時序。
目前各家芯片廠家正對這種情況提供了一些解決方法,例如從器件會檢測SCL,當一定時間內沒有時鐘就結束本次操作,但I2C器件眾多各個廠家之間都有差異,這就需要有一個附加的控制裝置,統一解決這個問題。
對于I2C鎖定的恢復,目前采用的主要方法有兩種:
1、復位時檢測SDA狀態,如果為低,往SCL上輸出9個時鐘。
這種方法實現相對比較簡單,也能解除總線鎖定的狀態,但如果時序在特定的位置被復位,會導致往從器件寫入錯誤數據,由于從器件一般沒有復位功能,這種誤寫有可能會影響系統的正常工作,下面舉常用器件EEPROM?AT24C04實例分析一下誤寫情況。
圖1是一個單字節寫操作的SDA時序,圖2是一個單字節隨機讀的SDA時序,在兩個圖上有1個ACK的標注了一根標示線,首先可以看到從開始到標示線處,讀和寫的時序都是完全相同的,如果主器件復位后,從器件時序正好處在標示線處,發出ACK等待主器件時鐘回應,那么從器件會一直拉低數據線,等待主器件發出的時鐘,這時防鎖定裝置檢測到SDA拉低,往SCL上送出9個時鐘,第1個時鐘后從器件結束響應釋放SDA,后面8個時鐘參考圖1實際上是往當前地址寫入了FF或者00(取決于主器件在復位狀態下SDA引腳輸出的默認電平,如果是1或者三態,寫入FF,如果是0,寫入00),由于EEPROM經常會保存一些配置信息,這種誤操作很有可能導致系統的異常,另外9個時鐘后時序并未結束,復位后主器件第一次操作,和上次復位時殘留的操作拼接成錯誤時序,也會導致第一次操作失敗,只有到主器件發送一個STOP,才能恢復正常。
2、復位時檢測SDA狀態,如果為低,往SCL上輸出1個時鐘,然后再檢測SDA狀態,如果為低再送一個時鐘,循環往復,直到SDA變高。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210090362.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:系統插塞連接器
- 下一篇:一種成卷基材雙面一次性涂布裝置





