国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

I2C中為什么線與?為什么要有上拉電阻?

這篇具有很好參考價(jià)值的文章主要介紹了I2C中為什么線與?為什么要有上拉電阻?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、為什么采用漏極開路?

????????首先,連接到 I2C 上的設(shè)備是開漏輸出的。以漏極開漏輸出(OD)為例,是指將輸出級(jí)電路結(jié)構(gòu)改為一個(gè)漏極開路輸出的 MOS 管。這樣做的好處在于:

  • 防止短路。
  • 可以實(shí)現(xiàn)“線與”邏輯,可以減少一個(gè)與門的使用,簡化電路。

結(jié)論:I2C支持多個(gè)主設(shè)備與多個(gè)從設(shè)備連接在同一根總線上,如果不開漏輸出,會(huì)出現(xiàn)短路現(xiàn)象。

2、為什么要加上拉電阻?

但是,采用開漏輸出時(shí),如果沒有上拉電阻的存在,只能輸出低電位,無法輸出高點(diǎn)位。

結(jié)論:連接上拉電阻后,才可以輸出高電位。

在驗(yàn)證 I2C 接口時(shí),我們同樣要對(duì)上拉電阻做處理。如下:以從端驅(qū)動(dòng) SDA 和 SCL 為例

從端對(duì)SDA/SCL線的驅(qū)動(dòng):

assign SCL = scl_slave === 0 ? 1'b0 : 1'bz ;
assign SDA = sda_slave === 0 ? 1'b0 : 1'bz ;

也就是說:

  • 當(dāng)從端驅(qū)動(dòng) SDA/SCL 為低(0)時(shí),從端會(huì)直接給 SDA/SCL 一個(gè)0值;
  • 如果從端驅(qū)動(dòng) SDA/SCL 不為低(0)時(shí),從端會(huì)給 SDA/SCL 一個(gè)高阻態(tài)值。

為什么是高阻態(tài)?而不是直接給高電位(1)呢?

因?yàn)楦咦钁B(tài)是一個(gè)無效驅(qū)動(dòng),而高電位(1)是一個(gè)有效驅(qū)動(dòng),如果置為1會(huì)跟其他的驅(qū)動(dòng)源造成多驅(qū)動(dòng)沖突。為了避免多重驅(qū)動(dòng)的問題,當(dāng) Slave 或者 Master 不打算驅(qū)動(dòng)任何一根線時(shí)(SDA/SCL),那必須把 SDA/SCL 給一個(gè)高阻態(tài)(z)值。

經(jīng)過上拉處理:

如果在整個(gè)總線上,master 和 slave 都沒有給 SDA/SCL 一個(gè)有效驅(qū)動(dòng)(即低電位),會(huì)通過上拉電阻將 SCL/SDA置為高電位(1)。

注意:這個(gè)給的高電位(1)是一個(gè)弱信號(hào),可以防止形成多驅(qū)動(dòng)源造成沖突。

assign (week0,week1) SCL = enable_pullup_registor ? 1: 0;
assign (week0,week1) SDA = enable_pullup_registor ? 1: 0;

舉個(gè)例子:

I2C支持多主設(shè)備與多個(gè)從設(shè)備,下面 master1 給 slave1 發(fā)送一個(gè)從地址(0110 011),master2 給 slave2 發(fā)送一個(gè)從地址(0110 001),

I2C中為什么線與?為什么要有上拉電阻?

解釋上圖中的例子:

  • 當(dāng) master1 發(fā)送最后一個(gè)R/W位 = 0 時(shí),此時(shí),會(huì)直接將SDA線拉低,slave1 可以看到SDA線為低。
  • 當(dāng) master2 發(fā)送最后一個(gè)R/W位 = 1 時(shí),此時(shí),master2 會(huì)給 SDA一個(gè)高阻值(Z),表明 master1 不對(duì)總線SDA做驅(qū)動(dòng),此時(shí)上拉電阻會(huì)將SDA信號(hào)線置為1(弱信號(hào)),slave2 看到的是SDA為高。

3、為什么要線與?? ? ??

????????現(xiàn)在,我們已經(jīng)知道了 I2C 為什么要漏極開路和添加上拉電阻的目的了,那么又為什么要線與?I2C 支持多個(gè)主設(shè)備與多個(gè)從設(shè)備連接在同一根總線上,如果多個(gè)設(shè)備同時(shí)占用總線,怎么判斷誰先占用總線呢?所以就需要一種仲裁機(jī)制。I2C 沒有 Arbiter 直接的來處理仲裁,而是通過線與的邏輯實(shí)現(xiàn)仲裁。

仲裁過程:當(dāng)主設(shè)備A準(zhǔn)備占用I2C時(shí),需要在SCL為高時(shí),將SDA拉高,再拉低,滿足一個(gè)啟動(dòng)條件。當(dāng)主設(shè)備A將SDA拉高后,需要檢查SDA的電平:

  • 如果此時(shí)SDA電平為高,說明主設(shè)備可以占用總線,然后主設(shè)備A會(huì)將SDA拉低,一次滿足啟動(dòng)條件,開始傳輸;
  • 如果此時(shí)SDA電平為低,說明總線已經(jīng)被其他設(shè)備占用,主設(shè)備A會(huì)退出。

為什么SDA為低,就是被其他設(shè)備占用了呢?
因?yàn)榫€與邏輯的存在。只有總線上有其他的設(shè)備將SDA置為0,線與后,SDA線的電平為0。主設(shè)備A檢查SDA線的電平時(shí),會(huì)發(fā)現(xiàn)為低電平。所以仲裁時(shí),哪個(gè)設(shè)備更早地將SDA線拉低,誰就搶占了優(yōu)先權(quán)。文章來源地址http://www.zghlxwxcb.cn/news/detail-491948.html

4、總結(jié)全文

  • 漏極開路是為了防止I2C上連接多個(gè)主設(shè)備與多個(gè)從設(shè)備時(shí)出現(xiàn)短路;
  • 上拉電阻的存在是為了在使用漏極開路之后,可以輸出高電平;
  • “線與”是為了在多個(gè)主設(shè)備同時(shí)占用總線時(shí),具有仲裁的能力。
    ?

到了這里,關(guān)于I2C中為什么線與?為什么要有上拉電阻?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【UML】淺談為什么要有UML?

    上高中的時(shí)候,經(jīng)常使用一些軟件,覺得這些軟件挺有意思的,就一直很好奇系統(tǒng)這個(gè)東西是怎么構(gòu)建出來的。直到后來,大學(xué)的時(shí)候上了一門叫做系統(tǒng)分析與設(shè)計(jì)的課程,從UML開始再到用Spring Boot和Vue寫一個(gè)系統(tǒng),慢慢的有一點(diǎn)點(diǎn)的概念,但是還是感覺迷迷糊糊。研究生的

    2024年02月05日
    瀏覽(25)
  • 97-TCP為什么要有一個(gè)“TIME_WAIT“的狀態(tài)

    97-TCP為什么要有一個(gè)“TIME_WAIT“的狀態(tài)

    \\\"TIME_WAIT\\\"狀態(tài)存在的原因主要有兩點(diǎn): 假設(shè)上圖中用于確認(rèn)服務(wù)器結(jié)束報(bào)文段6的TCP報(bào)文段7丟失,那么服務(wù)器將重發(fā)結(jié)束報(bào)文段,因此客戶端需要停留在某個(gè)狀態(tài)以處理重復(fù)收到的結(jié)束報(bào)文段.否則客戶端將以復(fù)位報(bào)文段來回應(yīng)服務(wù)器,服務(wù)器則認(rèn)為這是一個(gè)錯(cuò)誤,因?yàn)樗谕氖且?/p>

    2024年02月01日
    瀏覽(32)
  • 為什么MCS-51 單片機(jī)總線和端口要有匹配的驅(qū)動(dòng)電路?

    ? ? ? ? MCS-51系列單片機(jī)是一種廣泛使用的8位微控制器,它通常用在嵌入式系統(tǒng)中。單片機(jī)的總線和端口可能需要額外的驅(qū)動(dòng)電路,這取決于外部設(shè)備的電氣特性和所需的電流能力。下面將從以下幾個(gè)方面分析為什么驅(qū)動(dòng)電路這么重要: ? ? ? ? ?電流驅(qū)動(dòng)能力: MCS-51單片機(jī)

    2024年02月20日
    瀏覽(23)
  • 【Linux(0)】為什么要學(xué)習(xí)Linux,為什么互聯(lián)網(wǎng)公司在招聘時(shí),會(huì)提出要有Linux經(jīng)驗(yàn),及其使用;一些Linux常見指令

    【Linux(0)】為什么要學(xué)習(xí)Linux,為什么互聯(lián)網(wǎng)公司在招聘時(shí),會(huì)提出要有Linux經(jīng)驗(yàn),及其使用;一些Linux常見指令

    ??作者簡介: 加油,旭杏,目前大二,正在學(xué)習(xí) C++ , 數(shù)據(jù)結(jié)構(gòu) 等?? ??作者主頁:加油,旭杏的主頁?? ?本文收錄在:再識(shí)C進(jìn)階的專欄?? ??代碼倉庫:旭日東升 1?? ??歡迎大家點(diǎn)贊 ?? 收藏 ? 加關(guān)注哦!?? ???????在學(xué)習(xí)完C語言后,緊接著,我們要來 學(xué)習(xí)Li

    2024年02月05日
    瀏覽(23)
  • 【C/C++】詳解程序環(huán)境和預(yù)處理(什么是程序環(huán)境?為什么要有程序環(huán)境?如何理解程序環(huán)境?)

    【C/C++】詳解程序環(huán)境和預(yù)處理(什么是程序環(huán)境?為什么要有程序環(huán)境?如何理解程序環(huán)境?)

    目錄 一、前言 二、 什么是程序環(huán)境? 三、 為什么要有程序環(huán)境? 四、如何理解程序環(huán)境? ???ANSI?C 標(biāo)準(zhǔn)? ???翻譯環(huán)境和執(zhí)行環(huán)境 ?五、詳解翻譯環(huán)境和執(zhí)行環(huán)境 ???翻譯環(huán)境(重點(diǎn)?。。????編譯環(huán)境(預(yù)處理---編譯---匯編) ???鏈接環(huán)境(鏈接) ???執(zhí)行環(huán)境

    2024年02月21日
    瀏覽(25)
  • I2C知識(shí)大全系列四 —— I2C驅(qū)動(dòng)之Linux下的I2C

    I2C知識(shí)大全系列四 —— I2C驅(qū)動(dòng)之Linux下的I2C

    Linux 系統(tǒng)定義了 I2C 驅(qū)動(dòng)體系結(jié)構(gòu)。在 Linux 系統(tǒng)中, I2C 驅(qū)動(dòng)由三部分組成,即 I2C 核心 、 I2C 總線驅(qū)動(dòng) 和 I2C 設(shè)備驅(qū)動(dòng) 。這三部分相互協(xié)作,形成了非常通用、可適應(yīng)性很強(qiáng)的 I2C 框架。 I2C核心 I2C 核心提供了 I2C 總線驅(qū)動(dòng) 和 設(shè)備驅(qū)動(dòng) 的 注冊(cè) 、 注銷方法 , I2C 通信方法

    2024年02月07日
    瀏覽(29)
  • I2C總線 | I2C總線介紹

    I2C總線 | I2C總線介紹

    目錄 I2C 總線 | I2C 總線介紹 I2C 總線介紹 I2C有如下特點(diǎn): I2C 總線術(shù)語 I2C 總線位傳輸 IIC總線數(shù)據(jù)傳輸 1.字節(jié)格式 2.應(yīng)答響應(yīng) IIC 總線尋址方式 1.7位尋址 2.10位尋址 快速和高速模式 1.快速模式 2.高速模式 I2C ( Inter - Intergrated Circuit )總線(也稱 IIC 或 I2C )是由 PHILIPS 公司開發(fā)

    2024年02月04日
    瀏覽(20)
  • 【STM32 CubeMX】I2C層次結(jié)構(gòu)、I2C協(xié)議

    【STM32 CubeMX】I2C層次結(jié)構(gòu)、I2C協(xié)議

    在STM32 CubeMX環(huán)境中,I2C(Inter-Integrated Circuit)是一種常用的串行通信協(xié)議,廣泛應(yīng)用于連接各種外設(shè)和傳感器。理解I2C的層次結(jié)構(gòu)、協(xié)議和硬件結(jié)構(gòu)對(duì)于STM32微控制器的開發(fā)至關(guān)重要。通過STM32 CubeMX提供的圖形化配置工具,我們能夠更輕松地理解和配置I2C通信,同時(shí)深入了解

    2024年02月22日
    瀏覽(34)
  • I2C用法和MSP430F5299上的I2C

    I2C用法和MSP430F5299上的I2C

    1. 二線傳輸; 2. 無中心主機(jī); 3. 軟件尋址; 4. 應(yīng)答式數(shù)據(jù)傳輸過程; 5. 節(jié)點(diǎn)可帶點(diǎn)接入或撤出; 6. IIC的SCL和SDA都需要接上拉電阻,保證空閑狀態(tài)的穩(wěn)定性; 由主機(jī)發(fā)出起始信號(hào)和停止信號(hào)。 起始信號(hào): 當(dāng)SCL保持為高電平時(shí),SDA產(chǎn)生一個(gè)下降沿,則代表起始信號(hào); 停止信

    2024年02月13日
    瀏覽(18)
  • 由I2C data信號(hào)低電平不到0,再思考I2C及GPIO

    由I2C data信號(hào)低電平不到0,再思考I2C及GPIO

    最近做項(xiàng)目測(cè)試時(shí)發(fā)現(xiàn)I2C data信號(hào)低電平不能完全到0電平,如下圖 量測(cè)到低電平最大值150mV左右,檢查SOC及負(fù)載端SPEC,低電平最大值都是VIL max =0.35VDD 對(duì)于1.8V的IO 電平,這個(gè)電壓是0.35x1.8=0.63V 顯然150mV630mV,不影響邏輯判斷,因此從項(xiàng)目的角度考慮,此問題并不影響項(xiàng)目,可以

    2023年04月24日
    瀏覽(89)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包