91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

電子工程師 ? 來源:網(wǎng)易號 ? 作者:創(chuàng)易棧 ? 2021-04-03 11:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

JjEnei.png

nuEZZr.png

EJzmYz.png

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

02IIC還可以是這樣的

Mn2m22.png

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

v2Qn2a.jpeg

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

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

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

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

EJZfem.png

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

7zq6ra.jpeg

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

這個有什么好處呢?

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

04觸碰IIC的核心

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

①由于SDA、SCL為漏極開路結(jié)構(gòu),借助于外部的上拉電阻實現(xiàn)了信號的“線與”邏輯;

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

jURJje.jpeg

I2C總線接口內(nèi)部結(jié)構(gòu)

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

時鐘拉伸(Clock stretching)

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

7b2AN3.jpeg

總線仲裁

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

總結(jié)

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

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

③總線控制隨即而定,他們遵循“低電平優(yōu)先”的原則,即誰先發(fā)送低電平誰就會掌握對總線的控制權(quán)。

根據(jù)上面的描述,“時鐘拉伸”與“總線仲裁”可以總結(jié)如下規(guī)律:

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3595

    瀏覽量

    69011
  • IIC
    IIC
    +關(guān)注

    關(guān)注

    11

    文章

    309

    瀏覽量

    40633
  • IIC接口
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    12017
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    簡單高效的鴻蒙編譯提速技巧

    在鴻蒙應(yīng)用開發(fā)中編譯構(gòu)建是開發(fā)者最頻繁的操作,每一次編譯提速都能顯著提升項目整體開發(fā)效率。本次分享幾個簡單卻高效的鴻蒙編譯提速技巧,從編譯配置、構(gòu)建方式等維度進行優(yōu)化,讓的開發(fā)流程更快捷高效。 1
    的頭像 發(fā)表于 03-04 16:09 ?43次閱讀
    <b class='flag-5'>簡單</b>高效的鴻蒙編譯提速技巧

    linux-arm開發(fā)環(huán)境的簡單配置

    linux-arm開發(fā)環(huán)境簡單配置 關(guān)于linux-arm開發(fā)環(huán)境簡單配置是ARM學(xué)習(xí)的第一步,很多初學(xué)者會在這問題上糾結(jié)很久都不能配置好開發(fā)環(huán)境。推薦大家看一下韋東山視頻,講得很詳細,代碼基本上
    發(fā)表于 01-13 07:56

    合科泰教你如何焊接簡單LED閃爍電路

    是否曾好奇那些閃爍的LED燈背后的原理?今天教你用5分鐘焊接一個簡單的LED閃爍電路,無需編程,只需一把電烙鐵、幾個簡單元件和基礎(chǔ)的焊接技能,就能打造屬于自己的電子小玩具。 這不僅能獲得好玩的電子玩具,還是理解電路工作原理的實
    的頭像 發(fā)表于 01-07 17:28 ?1077次閱讀
    合科泰教你如何焊接<b class='flag-5'>簡單</b>LED閃爍電路

    通信協(xié)議IIC與SPI最全對比分析

    10Mbps。IIC最高的速度也就快速+模式(1Mbps)和高速模式(3.4Mbps),后面的模式還需要額外的I/O緩沖區(qū),還并不是總是容易實現(xiàn)的。 優(yōu)雅性 IIC常被稱更優(yōu)雅于SPI。公正的說,筆者
    發(fā)表于 12-10 06:04

    漢威科技薄膜鉑電阻溫度傳感器到底有多強

    測量溫度簡單嗎?簡單卻也不簡單,為了測得準(zhǔn),人類已經(jīng)努力了上千年!薄膜鉑電阻溫度傳感器到底有多強?為何是高端溫度傳感器的代表?
    的頭像 發(fā)表于 11-28 11:51 ?786次閱讀

    【LoRa模組】無卡有人感應(yīng)開關(guān)怎么做?

    在智慧樓宇、宿舍、公寓、辦公樓等場景中,一個看似簡單的需求越來越普遍: “不刷卡、不按鍵,只要有人,就自動亮燈/開門;沒人就自動關(guān)閉、節(jié)能?!?實現(xiàn)這個“真正自動”的開關(guān),背后其實并不簡單。尤其在
    的頭像 發(fā)表于 11-25 16:36 ?605次閱讀
    【LoRa模組】無卡有人感應(yīng)開關(guān)怎么做?

    看似簡單的自動泊車需要哪些技術(shù)支撐?

    [首發(fā)于智駕最前沿微信公眾號]要實現(xiàn)自動泊車,背后需要哪些技術(shù)作為支撐?自動泊車作為現(xiàn)在很多車主應(yīng)用非常多的一項功能,看似只是簡單的入庫操作,但想要完美入庫,其實需要非常多的技術(shù)支持。 ? 感知
    的頭像 發(fā)表于 10-30 09:09 ?686次閱讀
    看似<b class='flag-5'>簡單</b>的自動泊車需要哪些技術(shù)支撐?

    使用瑞薩RUHMI工具實現(xiàn)AI模型部署過程

    AI無處不在。在部署AI,的競爭對手也在部署AI,幾乎所有人都在做AI。然而,AI并不簡單,不僅在生成有效模型上復(fù)雜,在部署上同樣充滿挑戰(zhàn)。
    的頭像 發(fā)表于 10-17 10:00 ?2767次閱讀
    使用瑞薩RUHMI工具實現(xiàn)AI模型部署過程

    萊姆傳感器接線指南:簡單易懂的步驟

    實用的接線技巧和注意事項,讓輕松上手!什么是萊姆傳感器?首先,簡單介紹一下萊姆傳感器。萊姆傳感器(LimeSensor)是一種用于監(jiān)測土壤或水質(zhì)的傳感器,它能夠?qū)?/div>
    的頭像 發(fā)表于 08-04 11:27 ?838次閱讀
    萊姆傳感器接線指南:<b class='flag-5'>簡單</b>易懂的步驟

    諧波怎么處理最簡單的方法

    諧波問題是電力系統(tǒng)中常見的電能質(zhì)量問題,它不僅影響設(shè)備正常運行,還可能造成能源浪費和設(shè)備損壞。針對諧波處理的最簡單方法,我們可以從以下幾個方面入手: 一、理解諧波產(chǎn)生的原因 諧波主要由非線性負載產(chǎn)生
    的頭像 發(fā)表于 07-13 16:35 ?3427次閱讀
    諧波怎么處理最<b class='flag-5'>簡單</b>的方法

    一個簡單的串聯(lián)電池組充放電實驗

    文章介紹了電池充放電中的數(shù)據(jù)采集并簡單階段了電池容量
    的頭像 發(fā)表于 07-03 14:41 ?1567次閱讀
    一個<b class='flag-5'>簡單</b>的串聯(lián)電池組充放電實驗

    MID電表很難,其實一點不簡單!# 電能表 #MID認(rèn)證

    電表
    瑞銀電子
    發(fā)布于 :2025年04月28日 15:10:41

    RV1126 實現(xiàn)簡單的UI開發(fā)示例

    在RV1126上實現(xiàn)簡單的UI開發(fā)實例
    的頭像 發(fā)表于 04-09 16:08 ?1121次閱讀
    RV1126 實現(xiàn)<b class='flag-5'>簡單</b>的UI開發(fā)示例

    看完這篇,SPI其實也很簡單嘛(可下載)

    首先我們來簡單介紹一下SPI,SPI是串行外設(shè)接口(SerialPeripheralInterface)簡單來講就是它一種高速的,全雙工,同步的通信總線被各種總線搞的暈頭轉(zhuǎn)向的人來說就會問了
    發(fā)表于 03-26 14:29 ?2次下載

    為什么IIC總線會難住這么多人?

    為什么 IIC 總線讓很多人頭疼?其實可以把它想象成一場復(fù)雜的 "設(shè)備對話游戲",新手容易在這些地方栽跟頭:
    的頭像 發(fā)表于 03-12 10:14 ?965次閱讀
    為什么<b class='flag-5'>IIC</b>總線會難住這么多人?