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

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

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

I2C與SPI與UART:如何布局這些通用總線

要長高 ? 來源:韜放科技 ? 2023-11-08 17:33 ? 次閱讀

如果您要為項(xiàng)目構(gòu)建開發(fā)板或使用通用MCU,則會發(fā)現(xiàn)許多用于通信其他活動組件的協(xié)議。USB以太網(wǎng)之類的標(biāo)準(zhǔn)已內(nèi)置在大多數(shù)控制器中,用于與計(jì)算機(jī)外圍設(shè)備一起使用。盡管如此,仍使用I2C,SPI,UART等協(xié)議與下游MCU或可編程IC進(jìn)行接口。I2C總線,SPI總線和UART總線之間的區(qū)別很簡單,任何使用MCU的設(shè)計(jì)人員都應(yīng)該知道如何為這些協(xié)議設(shè)置路由和布局。

這些協(xié)議是速度較慢的信令標(biāo)準(zhǔn),因此,如果您使用這些協(xié)議,幾乎不必?fù)?dān)心諸如阻抗控制或傳輸線行為之類的問題。但是,在確保在接收器上正確讀取總線信號時(shí),必須考慮一些重要的設(shè)計(jì)要點(diǎn)。解決問題也很重要,但是特定的產(chǎn)品和您的代碼可以解決這一點(diǎn)?,F(xiàn)在,讓我們看一下如何在您的PCB布局中使用這三種通用協(xié)議,以及一些保持信號完整性的要點(diǎn)。

I2C與SPI與UART之間的差異

從8位到32位的所有MCU都將至少使用這些協(xié)議中的一種以及GPIO,以實(shí)現(xiàn)可編程性并將信號發(fā)送到簡單的外設(shè)。這三個串行協(xié)議是總線協(xié)議。I2C和UART使用尋址方案,而SPI是無地址的。盡管SPI是無地址的,但它是一種總線協(xié)議,仍可用于選擇下游設(shè)備以接收數(shù)據(jù)。

I2C協(xié)議

I2C(發(fā)音為I平方的C,有時(shí)也稱為集成電路間的IIC)使用兩條線(標(biāo)準(zhǔn),快速和快速加法模式)來控制其他設(shè)備;一條線是時(shí)鐘線(SCL),另一條線是數(shù)據(jù)線(SDA)。它具有三種模式,下表總結(jié)了這些模式。請注意,上升/下降時(shí)間值假定在I / O上安裝了典型的串聯(lián)電阻

wKgZomVLVVOAR0PSAABlQHfP81M908.png

*假設(shè)VDD / VCC = 5.5V。如果VDD / VCC較低,則按線性比例縮小

**將時(shí)鐘線的這些值除以2

請注意,超快速模式是唯一將通信僅用于下游寫入操作的模式。此模式也很重要,因?yàn)樗梢詭椭覀兞私夂螘r(shí)需要匹配總線阻抗,而實(shí)際上這幾乎是絕不可以匹配的。如果我們對臨界線長度采取非常保守的10%限制,我們會發(fā)現(xiàn)這些線的臨界長度為0.32 m,這比使用I2C的大多數(shù)電路板的尺寸要長得多。如果我們將拐點(diǎn)頻率用于最短的上升/下降時(shí)間,并且將臨界長度限制為10%,則得出的值會更長,為0.92 m。對于超快模式,我們應(yīng)該將保守的數(shù)字設(shè)置為0.32 m。任何小于此值的I2C線都不會充當(dāng)傳輸線,我們只需要擔(dān)心端接方案。

端接的重點(diǎn)是選擇合適的上拉電阻和串聯(lián)電阻。上拉電阻器和VDD / VCC線路總線的電容形成放電和充電RC電路,當(dāng)驅(qū)動器切換時(shí),該電路為接收器提供信號。信號線和時(shí)鐘線的上拉電阻值(Rp)必須遵守以下不等式:

wKgZomVLVWGAIgLsAAD0rQmmkkw998.png

總線電容是使用VCC總線阻抗的標(biāo)準(zhǔn)公式確定的,該公式使用與傳輸線(微帶或帶狀線)相同的公式計(jì)算得出。然后,您可以使用線路的阻抗和傳播延遲來解決總線電容。在I2C標(biāo)準(zhǔn)下,串聯(lián)電阻是可選的,但可以包括在內(nèi)以保護(hù)器件免受電壓尖峰的影響并減慢上升/下降時(shí)間。確定與您的上拉電阻值配對的正確串聯(lián)電阻值。

SPI協(xié)議

SPI協(xié)議類似于I2C。該總線上總共使用了4條線,并且可以兩種可能的方式排列組件。如果使用單個控制器設(shè)備來觸發(fā)單個下游設(shè)備,則拓?fù)渚褪屈c(diǎn)對點(diǎn)的。觸發(fā)多個設(shè)備取決于驅(qū)動器提供的芯片選擇輸出的數(shù)量(標(biāo)準(zhǔn)模式)。第二種模式使用菊花鏈,其中單個設(shè)備選擇輸出連續(xù)觸發(fā)菊花鏈中的每個設(shè)備。

與I2C不同,SPI中的各種信令參數(shù)都是高度可配置的。除非您運(yùn)行的接口非???,否則您可以將互連線上的信號電平近似為DC,因?yàn)樗鼘⒌陀趥鬏斁€行為的臨界長度。然后,您可以使用一個串聯(lián)電阻器來終止驅(qū)動器的低阻抗輸出,并確保最大的功率傳輸。上面顯示的具有跟蹤電容的RC放電方法可以控制接口的輸出電流和上升/下降時(shí)間。

UART協(xié)議

通用異步收發(fā)器(UART)與I2C相似。這些接口的最大數(shù)據(jù)速率約為5 Mbps。UART設(shè)備也很容易使用,因?yàn)樵O(shè)備之間沒有時(shí)鐘發(fā)送。一切都是異步的。注意,每個UART設(shè)備的內(nèi)部(系統(tǒng))時(shí)鐘必須以波特率的幾倍運(yùn)行(即,每個位被采樣N次)。單個控制器設(shè)備和單個下游設(shè)備之間僅使用兩條電線進(jìn)行通信。

注意,UART器件的數(shù)據(jù)格式,信號電平和波特率可通過外部驅(qū)動器電路進(jìn)行配置。不幸的是,這也意味著對于UART器件的布線和布局幾乎沒有硬性規(guī)定。遵循標(biāo)準(zhǔn)的高速設(shè)計(jì)指南,通過查看傳輸線行為的轉(zhuǎn)變來確定何時(shí)需要終止。減少過沖的典型端接方法是串聯(lián)端接。請注意,UART可能在高電平或低電平下處于空閑狀態(tài),并且可能需要上拉電阻來設(shè)置所需的空閑水平;在添加上拉電阻之前,請務(wù)必檢查您的組件規(guī)格。

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

    關(guān)注

    17

    文章

    1681

    瀏覽量

    91050
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1468

    瀏覽量

    122772
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1214

    瀏覽量

    100995
收藏 人收藏

    評論

    相關(guān)推薦

    詳解I2C總線SPI總線的區(qū)別

    I2C(Inter-Integrated Circuit)表示集成電路互連,是一種用于線路板內(nèi)部芯片之間通信的總線
    的頭像 發(fā)表于 10-16 15:16 ?467次閱讀
    詳解<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>與<b class='flag-5'>SPI</b><b class='flag-5'>總線</b>的區(qū)別

    了解I2C總線

    電子發(fā)燒友網(wǎng)站提供《了解I2C總線.pdf》資料免費(fèi)下載
    發(fā)表于 10-08 11:13 ?1次下載
    了解<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>

    DHT11用的是SPI還是I2C

    DHT11并不使用SPII2C通信協(xié)議,而是采用單總線(1-Wire)協(xié)議進(jìn)行通信 。單總線協(xié)議是由美國DALLAS達(dá)爾斯公司推出的外圍串行擴(kuò)展
    的頭像 發(fā)表于 09-04 09:11 ?564次閱讀

    I2C轉(zhuǎn)UART子系統(tǒng)設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《I2C轉(zhuǎn)UART子系統(tǒng)設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 08-28 10:27 ?0次下載
    <b class='flag-5'>I2C</b>轉(zhuǎn)<b class='flag-5'>UART</b>子系統(tǒng)設(shè)計(jì)

    UART轉(zhuǎn)I2C橋接器

    電子發(fā)燒友網(wǎng)站提供《UART轉(zhuǎn)I2C橋接器.pdf》資料免費(fèi)下載
    發(fā)表于 08-28 09:24 ?0次下載
    <b class='flag-5'>UART</b>轉(zhuǎn)<b class='flag-5'>I2C</b>橋接器

    I2C、SPI、UART的通信過程還可以這樣理解

    到目前為止,I2C、SPIUART等仍然是電子嵌入式設(shè)備中最常用的通信協(xié)議,本文,我們將剖析這三種協(xié)議,讓大家清楚、直觀的了解它們的功能、優(yōu)點(diǎn)和局限性,并輔以GIF動圖展示。一、IIC協(xié)議I
    的頭像 發(fā)表于 05-23 08:10 ?5554次閱讀
    <b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>UART</b>的通信過程還可以這樣理解

    SPII2C通信協(xié)議:應(yīng)用與區(qū)別

    本文深入解析了SPII2C這兩種通信協(xié)議的特點(diǎn)、工作原理和應(yīng)用場景。SPI適用于高速數(shù)據(jù)傳輸,常用于存儲器芯片和顯示器驅(qū)動等領(lǐng)域;I2C適用于低速控制和傳感器數(shù)據(jù)傳輸,常用于溫度傳感
    的頭像 發(fā)表于 04-22 16:45 ?1311次閱讀

    逼真動畫展示I2C、SPI、UART的通信過程

    到目前為止,I2CSPIUART等仍然是電子嵌入式設(shè)備中最常用的通信協(xié)議,本文,我們將剖析這三種協(xié)議,讓大家清楚、直觀的了解它們的功能、優(yōu)點(diǎn)和局限性,并輔以GIF動圖展示。I2C協(xié)
    的頭像 發(fā)表于 04-12 08:27 ?822次閱讀
    逼真動畫展示<b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>UART</b>的通信過程

    總結(jié)usart、uarti2c、spi區(qū)別及相關(guān)知識

    USART、UARTI2CSPI是四種不同的串行通信協(xié)議,它們各自具有獨(dú)特的特點(diǎn)和應(yīng)用領(lǐng)域
    的頭像 發(fā)表于 04-10 09:47 ?1350次閱讀
    總結(jié)usart、<b class='flag-5'>uart</b>、<b class='flag-5'>i2c</b>、<b class='flag-5'>spi</b>區(qū)別及相關(guān)知識

    藍(lán)牙串口通訊總線——I2C/SPI/UART

    嵌入式工程師在做串口通信調(diào)試工作的時(shí)候,會經(jīng)常用到I2CSPI、UART這3條總線I2C、SPI
    的頭像 發(fā)表于 01-22 09:41 ?1219次閱讀
    藍(lán)牙串口通訊<b class='flag-5'>總線</b>——<b class='flag-5'>I2C</b>/<b class='flag-5'>SPI</b>/<b class='flag-5'>UART</b>

    SPII2C的異同及優(yōu)缺點(diǎn)

    SPII2C的異同及優(yōu)缺點(diǎn)? SPI(Serial Peripheral Interface)和I2C(Inter-Integrated Circuit)是兩種常見的串行通信接口協(xié)議
    的頭像 發(fā)表于 12-07 10:46 ?2701次閱讀

    I2C總線信號與測試案例(一)

    I2C bus是Inter-IC bus的縮寫,意思是IC器件之間的通訊總線;I2C 總線的特點(diǎn)如下
    的頭像 發(fā)表于 11-20 15:45 ?1657次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>信號與測試案例(一)

    分享I2C總線規(guī)范

    電子發(fā)燒友網(wǎng)站提供《分享I2C總線規(guī)范.pdf》資料免費(fèi)下載
    發(fā)表于 11-18 10:49 ?0次下載
    分享<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>規(guī)范

    UART、SPI、I2C比較 串口通信介紹

    UARTSPI、I2C比較 I2C線更少,比UART、SPI更為強(qiáng)大,但是技術(shù)上也更加麻煩些,
    的頭像 發(fā)表于 11-09 18:06 ?1184次閱讀
    <b class='flag-5'>UART</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>比較 串口通信介紹

    I2C總線—電平轉(zhuǎn)換

    我們先來看一張圖,熟悉I2C的人一看,這不是I2C的level shifter電路嘛,在Philip的I2C標(biāo)準(zhǔn)里面有,沒有啥復(fù)雜的。
    的頭像 發(fā)表于 11-02 12:32 ?4301次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>—電平轉(zhuǎn)換