吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

你眼中簡單的IIC,其實并不簡單

電子工程師 ? 來源:網易號 ? 作者:創易棧 ? 2021-04-03 11:02 ? 次閱讀

01我們習以為常的IIC通常是什么樣子?

在我們研發/應用工程師眼中,IIC的形象通常是如圖這樣的吧?(你們說是不是?)

JjEnei.png

nuEZZr.png

EJzmYz.png

是的,對于理想的硬件調程序,這個層面已經基本夠用。(我是已經get到了)

02IIC還可以是這樣的

Mn2m22.png

簡單實用的IIC電平匹配電路,原理很簡單、也很巧妙。

v2Qn2a.jpeg

Si8400芯片,做UART或者IIC隔離是很不錯的。做隔離也有實際意義的:

比如涉及強電的板子,需要隔離后的UART口打印調試信息,方便debug;電容觸摸按鍵調試中,某些產品采用隔離的IIC接口(如Azoteq,Cypress等芯片大部分采用IIC)調試能得到更準確的數據(原理上涉及到人體大地等構成的寄生電容,挺有意思,可以看創易棧的觸摸按鍵相關內容)。

有朋友會問,我見過5V芯片和3V芯片,直接把IIC接在一起的,不需要做電壓匹配呀?

這個不建議用。需要仔細看數據手冊的:一般來說3V芯片的I/O都有如圖的保護結構,導致SCL、SDA信號高電平被限制在3V+0.3V,5V芯片經常不能正確識別的。

EJZfem.png

03支持雙電壓的高速IIC接口

7zq6ra.jpeg

TI的TXS0102帶OE功能的高速IIC接口芯片。

這個有什么好處呢?

當然有,除了支持電平匹配;從它的MOS結構也可以看出,對SCL和SDA的上升邊緣有個加速過程,速度可以支持到2Mbps喔。

04觸碰IIC的核心

每一個IIC總線器件內部的SDA、SCL引腳電路結構都是一樣的,引腳的輸出驅動與輸入緩沖連在一起。其中輸出為漏極開路的場效應管、輸入緩沖為一只高輸入阻抗的同相器[1]。這種電路具有兩個特點:

①由于SDA、SCL為漏極開路結構,借助于外部的上拉電阻實現了信號的“線與”邏輯;

②引腳在輸出信號的同時還將引腳上的電平進行檢測,檢測是否與剛才輸出一致。為 “時鐘拉伸”和“總線仲裁”提供硬件基礎。

jURJje.jpeg

I2C總線接口內部結構

IIC設備對總線的操作僅有“把線路拉到地”——輸出邏輯0。基于IIC總線的設計,線路上不可能出現電平沖突現象。如果一設備發送邏輯0,其他發送邏輯1,那么線路看到的只有邏輯0。也就是說,如果出現電平沖突,發送邏輯0的始終是“贏家”。總線的物理接法允許主設備往總線寫數據的同事讀取數據。這樣兩主設備爭總線的時候“贏家”并不知道競爭的發生,只有“輸家”發現了沖突——當寫一個邏輯1,卻讀到了0——而退出競爭。

時鐘拉伸(Clock stretching)

如果被控器希望主控器降低傳送速度可以通過將SCL主動拉低延長其低電平時間的方法來通知主控器,當主控器在準備下一次傳送發現SCL的電平被拉低時就進行等待,直至被控器完成操作并釋放SCL線的控制控制權。這樣以來,主控器實際上受到被控器的時鐘同步控制。可見SCL線上的低電平是由時鐘低電平最長的器件決定;高電平的時間由高電平時間最短的器件決定。這就是時鐘拉伸,它解決了I2C總線的速度同步。

7b2AN3.jpeg

總線仲裁

假設主控器1要發送的數據DATA1為“101 ……”;主控器2要發送的數據DATA2為“1001 ……”總線被啟動后兩個主控器在每發送一個數據位時都要對自己的輸出電平進行檢測,只要檢測的電平與自己發出的電平一致,他們就會繼續占用總線。在這種情況下總線還是得不到仲裁。當主控器1發送第3位數據“1”時(主控器2發送“0” ),由于“線與”的結果SDA上的電平為“0”,這樣當主控器1檢測自己的輸出電平時,就會測到一個與自身不相符的“0”電平。這時主控器1只好放棄對總線的控制權;因此主控器2就成為總線的唯一主宰者。

總結

① 對于整個仲裁過程主控器1和主控器2都不會丟失數據;

② 各個主控器沒有對總線實施控制的優先級別;

③總線控制隨即而定,他們遵循“低電平優先”的原則,即誰先發送低電平誰就會掌握對總線的控制權。

根據上面的描述,“時鐘拉伸”與“總線仲裁”可以總結如下規律:

①主控器通過檢測SCL上的電平來調節與從器件的速度同步問題——時鐘拉伸;

②主控器通過檢測SDA上自身發送的電平來判斷是否發生總線“沖突”——總線仲裁。因此,I2C總線的“時鐘同步”與“總線仲裁”是靠器件自身接口的特殊結構得以實現的。
編輯:lyn

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 硬件
    +關注

    關注

    11

    文章

    3382

    瀏覽量

    66461
  • IIC
    IIC
    +關注

    關注

    11

    文章

    302

    瀏覽量

    38513
  • IIC接口
    +關注

    關注

    0

    文章

    23

    瀏覽量

    11735
收藏 人收藏

    評論

    相關推薦

    簡單了解SDK與APK的區別

    不少小伙伴在開發軟件中會提到兩個詞:API和SDK。雖然它們看起來很專業,但其實背后的概念并不復雜。這篇文章能簡單的幫你了解SDK與APK的區別。
    的頭像 發表于 10-11 10:08 ?1764次閱讀

    IIC信號線需要增加上拉電阻,是因為IIC的IO是什么

    IIC通信中扮演著至關重要的角色,而上拉電阻的加入則是實現這種通信方式有效性和可靠性的關鍵。以下是對此現象的介紹: 一、IIC通信與開漏輸出 IIC通信協議是一種廣泛應用的串行通信協議,由飛利浦公司(現被恩智浦電子收購)于198
    的頭像 發表于 10-06 15:50 ?1062次閱讀

    SMBus變得簡單

    電子發燒友網站提供《SMBus變得簡單.pdf》資料免費下載
    發表于 09-18 14:45 ?3次下載
    SMBus變得<b class='flag-5'>簡單</b>

    PCB打樣不簡單:這些特殊工藝知道嗎?

    在電子產品的設計與制造過程中,印制電路板(PCB)扮演著至關重要的角色。PCB打樣,即小批量試產PCB的過程,是電子工程師在設計好電路并完成繪制PCB后,向線路板工廠提交生產請求的關鍵環節。PCB打樣不僅涉及標準的工藝流程,還包含多種特殊工藝,以滿足不同設計需求和應用場景。本文將深入探討PCB打樣中的幾種特殊工藝,包括金手指處理、阻抗控制、盲孔與埋孔技術、厚
    的頭像 發表于 09-18 13:39 ?1029次閱讀
    PCB打樣<b class='flag-5'>不簡單</b>:這些特殊工藝<b class='flag-5'>你</b>知道嗎?

    使用MODE引腳進行簡單的恒壓調節

    電子發燒友網站提供《使用MODE引腳進行簡單的恒壓調節.pdf》資料免費下載
    發表于 08-30 10:05 ?0次下載
    使用MODE引腳進行<b class='flag-5'>簡單</b>的恒壓調節

    tensorflow簡單的模型訓練

    在本文中,我們將詳細介紹如何使用TensorFlow進行簡單的模型訓練。TensorFlow是一個開源的機器學習庫,廣泛用于各種機器學習任務,包括圖像識別、自然語言處理等。我們將從安裝
    的頭像 發表于 07-05 09:38 ?788次閱讀

    一個簡單的分頻器電路分享

    這是一個簡單的分頻器電路,該電路的優點是電路小,它僅使用晶體管和其他幾個組件。
    的頭像 發表于 06-10 15:55 ?1739次閱讀
    一個<b class='flag-5'>簡單</b>的分頻器電路分享

    簡單的C程序設計

    電子發燒友網站提供《最簡單的C程序設計.pptx》資料免費下載
    發表于 05-28 16:41 ?10次下載

    學串口屏可以做什么簡單的作品

    學習串口屏(通常指的是通過串行接口(如UART、SPI等)與微控制器通信的顯示屏)后,可以制作多種簡單的作品。
    的頭像 發表于 05-09 10:13 ?519次閱讀
    學串口屏可以做什么<b class='flag-5'>簡單</b>的作品

    面包板小技巧: 使用簡單的LED來替代邏輯探針

    LED是一個有價值的故障排除工具,特別是在數字電路原型設計時。這篇文章介紹了一種簡單的施工技術,可以節省寶貴的時間。
    的頭像 發表于 05-09 09:27 ?1430次閱讀
    面包板小技巧: 使用<b class='flag-5'>簡單</b>的LED來替代邏輯探針

    簡單電源恢復報警電路說明

    最受歡迎的定時器IC NE555再次證明,其應用僅限于用戶的獨創性。這里顯示的簡單電源恢復報警電路很簡單,其中 IC1以一種特殊的模式接線。
    的頭像 發表于 05-05 11:04 ?630次閱讀
    <b class='flag-5'>簡單</b>電源恢復報警電路說明

    步進電機的簡單介紹

    步進電機的命名,參數,轉速簡單介紹
    的頭像 發表于 04-17 21:40 ?1273次閱讀

    熱電阻與熱電偶區別與測溫原理分析

    熱電偶是常見的溫度測量元件,熱電偶原理比較簡單,它直接把溫度信號轉換成熱電動勢信號,通過電氣儀表轉換成被測介質的溫度,雖然原理簡單,但測量并不簡單
    發表于 04-11 11:36 ?4610次閱讀

    鴻蒙HarmonyOS開發實例:【簡單時鐘】

    通過使用[@ohos.display]接口以及Canvas組件來實現一個簡單的時鐘應用。
    的頭像 發表于 04-10 09:48 ?1012次閱讀
    鴻蒙HarmonyOS開發實例:【<b class='flag-5'>簡單</b>時鐘】

    壓榨輥軸頸磨損修復其實簡單

    電子發燒友網站提供《壓榨輥軸頸磨損修復其實簡單.docx》資料免費下載
    發表于 03-13 15:37 ?0次下載
    有百家乐的游戏平台| 百家乐官网视频世界| 百家乐官网模拟游戏下载| 百家乐游戏运营| 大发888 制度| 百家乐官网视频软件下载| 现金百家乐代理| 棋牌百家乐官网程序破解| 真人百家乐蓝盾娱乐场| 网上玩百家乐官网好吗| 百家乐赌场现金网| 百家乐官网的必胜方法| 威尼斯人娱乐城微博| 娱乐城代理| 德州百家乐官网扑克牌| 顶级赌场dj| 百家乐官网平注法到6| 古田县| 百家乐官网平玩法lm0| 尊龙百家乐赌场娱乐网规则| 真人百家乐官网娱乐场| 太阳城在线娱乐城| 现场百家乐官网的玩法技巧和规则| 大发888游戏平台hplsj| 八卦罗盘24山图| 宜州市| 五星百家乐的玩法技巧和规则| 百家乐官网赌法| 大发888真钱游戏下载到桌面| 百家乐官网平注法到6| 百家乐官网规则博彩正网| 大发888赌场娱乐网规则| 百家乐黄金城游戏大厅| 赌场百家乐官网是如何玩| 大发888娱乐城 17| 网上百家乐娱乐平台| 百家乐官网百姓话题| 百家乐网页游戏| 百家乐路技巧| 金域百家乐官网的玩法技巧和规则 | 金字塔百家乐的玩法技巧和规则|