<strike id="0k9r3"><p id="0k9r3"></p></strike>
  • <form id="0k9r3"></form>
    <nav id="0k9r3"></nav>
    <em id="0k9r3"><p id="0k9r3"></p></em>
  • <tr id="0k9r3"><source id="0k9r3"></source></tr>
    <form id="0k9r3"></form>
    <sub id="0k9r3"></sub>

      <sub id="0k9r3"><address id="0k9r3"></address></sub>
      1. <form id="0k9r3"></form>

        24小時聯系電話:18217114652、13661815404

        中文

        您當前的位置:
        首頁>
        電子資訊>
        技術專題>
        I2C與SPI與UART:如何...

        技術專題

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


        I2CSPIUART:如何布局這些通用總線

        如果您要為項目構建開發板或使用通用MCU,則會發現許多用于通信其他活動組件的協議。USB和以太網之類的標準已內置在大多數控制器中,用于與計算機外圍設備一起使用。盡管如此,仍使用I2CSPI,UART等協議與下游MCU或可編程IC進行接口。I2C總線,SPI總線和UART總線之間的區別很簡單,任何使用MCU的設計人員都應該知道如何為這些協議設置路由和布局。

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

        I2CSPIUART之間的差異

        8位到32位的所有MCU都將至少使用這些協議中的一種以及GPIO,以實現可編程性并將信號發送到簡單的外設。這三個串行協議是總線協議。I2CUART使用尋址方案,而SPI是無地址的。盡管SPI是無地址的,但它是一種總線協議,仍可用于選擇下游設備以接收數據。

        I2C協議

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

        模式

        數據速率/時鐘速度

        最大限度。上升/下降時間

        最小 上升/下降時間

        方向性

        標準

        100 kHz

        1000納秒

        --

        雙向的

        快速地

        400 kHz

        300納秒

        20 ns *

        雙向的

        快加

        1兆赫

        300納秒

        20 ns *

        雙向的

        高速

        3.4 MHz100 pF總線)

        1.7 MHz400 pF總線)

        120 ns **
        240 ns **

        15 ns **
        30 ns **

        雙向的

        超快

        5兆赫

        50納秒

        25納秒

        單向

        *假設VDD / VCC = 5.5V。如果VDD / VCC較低,則按線性比例縮小
        **
        將時鐘線的這些值除以2

        請注意,超快速模式是唯一將通信僅用于下游寫入操作的模式。此模式也很重要,因為它可以幫助我們了解何時需要匹配總線阻抗,而實際上這幾乎是絕不可以匹配的。如果我們對臨界線長度采取非常保守的10%限制,我們會發現這些線的臨界長度為0.32 m,這比使用I2C的大多數電路板的尺寸要長得多。如果我們將拐點頻率用于最短的上升/下降時間,并且將臨界長度限制為10%,則得出的值會更長,為0.92 m。對于超快模式,我們應該將保守的數字設置為0.32 m。任何小于此值的I2C線都不會充當傳輸線,我們只需要擔心端接方案。

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


         

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

        SPI協議

        SPI協議類似于I2C。該總線上總共使用了4條線,并且可以兩種可能的方式排列組件。如果使用單個控制器設備來觸發單個下游設備,則拓撲就是點對點的。觸發多個設備取決于驅動器提供的芯片選擇輸出的數量(標準模式)。第二種模式使用菊花鏈,其中單個設備選擇輸出連續觸發菊花鏈中的每個設備。

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

        UART協議

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

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

        請輸入搜索關鍵字

        確定
        国产在线视频在线