日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

I2C總線:硬件實(shí)現(xiàn)細(xì)節(jié)

 Ycp2016 2019-02-25

了解和設(shè)計(jì)I2C總線所需硬件的基本信息。

支持信息

·I2C總線簡(jiǎn)介

·I2C總線固件實(shí)現(xiàn)細(xì)節(jié)

·何時(shí)使用I2C緩沖區(qū)

有時(shí)一點(diǎn)復(fù)雜是件好事

I2C協(xié)議值得注意的是一些不太直接的特性:你不只要將幾個(gè)IC引腳連接在一起,然后讓低級(jí)硬件在讀取或?qū)懭脒m當(dāng)?shù)木彌_區(qū)時(shí)接管,或者更多或者SPI(串行外設(shè)接口)或UART(通用異步接收器/發(fā)送器)的情況較少。但I(xiàn)2C的復(fù)雜性并非沒有目的; 本文的其余部分將幫助您了解有些細(xì)微差別的硬件實(shí)現(xiàn)細(xì)節(jié),使I2C成為多個(gè)獨(dú)立IC之間串行通信的通用可靠選項(xiàng)。

漏極開路

I2C的一個(gè)定義特性是總線上的每個(gè)器件都必須通過漏極開路(或開路集電極)輸出驅(qū)動(dòng)器連接時(shí)鐘信號(hào)(縮寫為SCL)和數(shù)據(jù)信號(hào)(縮寫為SDA)。讓我們來看看這實(shí)際意味著什么。首先考慮典型的CMOS(反相)輸出級(jí):

I2C總線:硬件實(shí)現(xiàn)細(xì)節(jié)

如果輸入為邏輯高,則NMOS晶體管導(dǎo)通,PMOS晶體管截止。因此輸出具有低阻抗接地連接。如果輸入為邏輯低電平,則情況相反,輸出與V DD的低阻抗連接。這被稱為推挽輸出級(jí),盡管這個(gè)名稱并不特別有用,因?yàn)樗鼪]有強(qiáng)調(diào)控制輸出的連接的低阻抗特性。通常,您不能直接連接兩個(gè)推挽輸出,因?yàn)槿绻粋€(gè)邏輯高電平而另一個(gè)邏輯低電平,電流將從V DD自由地流到地。

I2C總線:硬件實(shí)現(xiàn)細(xì)節(jié)

現(xiàn)在考慮開漏輸出配置:

I2C總線:硬件實(shí)現(xiàn)細(xì)節(jié)

PMOS晶體管已被IC外部的電阻取代。如果輸入為邏輯高,則NMOS晶體管提供低阻抗接地連接。但如果輸入為邏輯低電平,則NMOS看起來像開路,這意味著輸出通過外部電阻上拉至V DD。這種安排導(dǎo)致兩個(gè)重要的區(qū)別。首先,當(dāng)輸出為邏輯低電平時(shí)會(huì)發(fā)生非平凡功耗,因?yàn)殡娏魍ㄟ^NMOS晶體管的溝道流過電阻器到地(在推挽式配置中,此電流被關(guān)閉的高阻抗阻斷 - 狀態(tài)PMOS晶體管)。其次,輸出信號(hào)在邏輯高時(shí)表現(xiàn)不同,因?yàn)樗B接到V DD通過更高的電阻(通常至少1kΩ)。此功能可以直接連接兩個(gè)(或更多)開漏驅(qū)動(dòng)器:即使一個(gè)邏輯低電平而另一個(gè)邏輯高電平,上拉電阻確保電流不會(huì)從V DD自由流到地。

I2C總線:硬件實(shí)現(xiàn)細(xì)節(jié)

以下是這種開漏總線配置的三個(gè)重要含義:

·信號(hào)始終默認(rèn)為邏輯高電平。例如,如果I2C主設(shè)備嘗試與已失效的從設(shè)備通信,則數(shù)據(jù)信號(hào)永遠(yuǎn)不會(huì)進(jìn)入未定義狀態(tài)。如果從機(jī)沒有驅(qū)動(dòng)信號(hào),它將被讀為邏輯高電平。同樣,如果主設(shè)備在傳輸過程中斷電,SCL和SDA將返回邏輯高電平。其他設(shè)備可以通過觀察SCL和SDA在一定時(shí)間內(nèi)邏輯高電平來確定總線可用于新傳輸。

·即使另一個(gè)設(shè)備試圖將它們驅(qū)動(dòng)為高電平,總線上的任何設(shè)備都可以安全地將信號(hào)驅(qū)動(dòng)為邏輯低電平。這是I2C“時(shí)鐘同步”或“時(shí)鐘延長(zhǎng)”功能的基礎(chǔ):主器件產(chǎn)生串行時(shí)鐘,但如果需要,從器件可以將SCL保持為低電平,從而降低時(shí)鐘頻率。

·具有不同電源電壓的器件可以共存于同一總線上,只要較低電壓器件不會(huì)被較高電壓損壞即可。例如,如果SCL和SDA上拉至5 V,3.3 V器件可以與5 V器件通信 - 開漏配置導(dǎo)致邏輯高電壓達(dá)到5 V,即使3.3 V器件無法驅(qū)動(dòng) 5 V來自典型的推挽輸出級(jí)。

如果你有R,你就有RC

開漏輸出驅(qū)動(dòng)器絕不是數(shù)字IC中的標(biāo)準(zhǔn)配置,并且有充分的理由:它具有一些顯著的缺點(diǎn)。當(dāng)我們回想起電容無處不在時(shí),其中一個(gè)缺點(diǎn)就變得明顯了。電壓變化受到與特定節(jié)點(diǎn)相關(guān)的電容充電或放電所需的時(shí)間的限制。麻煩的是,SCL和SDA上的上拉電阻限制了充電電流量 - 換句話說,我們?cè)赗C時(shí)間常數(shù)中有更多的R來控制從邏輯低到邏輯高的轉(zhuǎn)換。

I2C總線:硬件實(shí)現(xiàn)細(xì)節(jié)

I2C總線:硬件實(shí)現(xiàn)細(xì)節(jié)

如這些圖所示,從低到高的轉(zhuǎn)換將明顯慢于從高到低的轉(zhuǎn)換,從而產(chǎn)生經(jīng)典的I2C“鋸齒”波形:

I2C總線:硬件實(shí)現(xiàn)細(xì)節(jié)

這兩個(gè)示波器捕獲顯示I2C時(shí)鐘信號(hào)從低到高和從高到低的轉(zhuǎn)換,具有1kΩ上拉電阻和最小電容(總線上只有兩個(gè)器件,PCB走線很短)。

I2C總線:硬件實(shí)現(xiàn)細(xì)節(jié)

如何調(diào)整上拉電阻的大小

此時(shí),應(yīng)該明顯的是,上拉電阻對(duì)特定I2C總線的最大時(shí)鐘頻率施加了限制。實(shí)際上,電阻和電容都是這里的因素,盡管我們對(duì)電容幾乎沒有控制,因?yàn)樗饕Q于總線上有多少器件以及這些器件之間互連的性質(zhì)。這導(dǎo)致了持久的問題,權(quán)衡的是速度與功耗“我應(yīng)該用什么樣的價(jià)值上拉電阻的?”:低阻力降低了RC時(shí)間常數(shù),但增加的電流從V流入量DD到當(dāng)SCL或SDA為邏輯低電平時(shí),接地(通過上拉電阻)。

該官方I2C規(guī)范(第9頁)指出,直到它達(dá)到V的70%的電壓不被認(rèn)為是“邏輯高” VDD。您可能還記得RC時(shí)間常數(shù)告訴我們電壓達(dá)到最終電壓的約63%需要多長(zhǎng)時(shí)間。因此,為簡(jiǎn)單起見,我們假設(shè)R×C告訴我們信號(hào)從接地電壓附近上升到邏輯高電壓需要多長(zhǎng)時(shí)間。

現(xiàn)在我們?nèi)绾握业诫娙荩俊昂?jiǎn)單”的方法是組裝整個(gè)系統(tǒng)并進(jìn)行測(cè)量; 至少,這可能比嘗試執(zhí)行計(jì)算每個(gè)電容源的精確計(jì)算更容易 - 正如德州儀器的應(yīng)用筆記所表達(dá)的那樣,“在電路的正常構(gòu)造中,形成了難以想象的電容器數(shù)量。”如果測(cè)量方法不是一種選擇(通常是這種情況),您可以通過查找總線上每個(gè)器件的引腳電容進(jìn)行粗略估計(jì)(希望數(shù)據(jù)表不會(huì)讓您失誤),然后再添加3 pF每英寸PCB走線和每英尺同軸電纜30 pF(這些數(shù)字來自同一應(yīng)用說明,第3頁)。

假設(shè)我們有50 pF的總線電容,我們希望遵守I2C“標(biāo)準(zhǔn)模式”規(guī)范,該規(guī)范規(guī)定最大上升時(shí)間為1000 ns。

I2C總線:硬件實(shí)現(xiàn)細(xì)節(jié)

因此,您可以滿足Rpull-up =20kΩ 的規(guī)格; 此值還可為您提供最低功耗。速度怎么樣?假設(shè)您希望時(shí)鐘高電平時(shí)間至少是上升時(shí)間的三倍。

I2C總線:硬件實(shí)現(xiàn)細(xì)節(jié)

如果167 kHz不夠快,您可以降低電阻(以增加功耗為代價(jià)),直到達(dá)到所需的時(shí)鐘速度。(實(shí)際上,“標(biāo)準(zhǔn)模式”將時(shí)鐘速度限制為100 kHz,但您可以根據(jù)系統(tǒng)需要調(diào)整這些規(guī)格。)

這些是粗略的計(jì)算,但老實(shí)說,你不需要強(qiáng)調(diào)找到完美的阻力。這種通用方法可以幫助您確定合理的值,并且如果某些東西沒有按照您想要的方式工作,您可以隨時(shí)更換不同的電阻。

結(jié)論

如果本文已達(dá)到其目的,您現(xiàn)在已完全熟悉I2C硬件設(shè)計(jì)中涉及的重要細(xì)節(jié)。我們將在另一篇文章中介紹固件實(shí)現(xiàn)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多