<progress id="jlsnq"><code id="jlsnq"></code></progress>

<strong id="jlsnq"><del id="jlsnq"></del></strong>
    <mark id="jlsnq"></mark>

    <legend id="jlsnq"><table id="jlsnq"></table></legend>
    <small id="jlsnq"></small>
  • <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

      <strong id="jlsnq"></strong>

      24小時聯系電話:18217114652、13661815404

      中文

      您當前的位置:
      首頁>
      電子資訊>
      公司新聞>
      串行通信協議第 5 部...

      公司新聞

      串行通信協議第 5 部分 - SPI


      串行通信協議第 5 部分 - SPI

      我們將研究不同類型的串行通信協議,我們將研究流行的 SPI 協議。這是我們將要研究的許多常用的流行協議之一。我們將在本系列的結尾對每種類型的優缺點進行有用的總結。

      SPI 代表串行外設接口。它是一種串行通信總線,常用于微控制器和小型外圍設備之間的短距離通信,例如射頻模塊、移位寄存器、外部閃存IC以及各種傳感器和SD卡。它是同步的,這意味著它有一個單獨的時鐘線。

      SPI 協議是由摩托羅拉開發的,盡管它被用于其他制造商生產的大量不同 IC、模塊和設備中。

      SPI 協議允許全雙工通信,這意味著連接到總線的設備可以同時發送和接收數據。

      SPI 通信協議除接地外還包括四條線,它們是:

      SCLK - 串行時鐘(主機輸出)

      MOSI - Master Out Slave In(數據從主機輸出)

      MISO - Master In Slave Out(從機輸出數據)

      SS CS - 從機選擇或片選(通常為低電平有效信號,由主機輸出)

      根據數據表的來源,SPI 引腳可以標有不同的名稱,因此在開始設計之前仔細閱讀數據表至關重要。

      兩個設備之間的 SPI 接線

      SPI架構通常由一個主設備和多個主設備通信的從設備組成,這意味著一組數據線可以連接到多個從設備。但是,從選擇與 I2C 完全不同??稍?span> SPI 通信網絡中使用的從設備數量受可用的 SS(從設備選擇)或 CS(芯片選擇)引腳數量限制。

      具有多個 SS 引腳的 SPI 多設備連接

      使用 SPI 協議的一些典型應用包括:

      溫度和壓力傳感器

      ADC、DAC、音頻編解碼器、數字電位器

      觸摸屏、視頻游戲控制器

      相機鏡頭控制

      外部閃存和 EEPROM IC

      RTC(實時時鐘)

      液晶顯示器

      MMC SD

      我們將首先研究主站和從站之間的通信??偩€主設備應配置 SPI 通信時鐘設置以使用從設備支持的頻率(通常高達幾 MHz)。

      然后,主機通過將適當的從機選擇引腳拉低來選擇它想要與哪個從機通信,這會導致該從機開始偵聽。將選擇引腳拉高的其他從設備將忽略這些命令。

      通信原理是主設備通過MOSI線向監聽從設備發送數據。從機可以讀取這些數據,同時通過 MISO 線將數據返回給主機,主機可以在那里讀取它。這就是全雙工數據傳輸的方式。

      通常,這種通信涉及使用 8 位大小的寄存器,第一位是 MSB(最高位)。主機和從機都通過寄存器向前移動一位,并在時鐘邊沿輸出最后一位。

      主從通信及寄存器示例

      當傳輸完成時,主設備通過拉高相應的從選擇引腳來取消選擇從。

      盡管 SPI 數據傳輸通常包含 8 位消息傳遞,但其他字長(例如 16 位)也常用于音頻編解碼器的觸摸屏控制器等應用。

      在使用時鐘速度以外的機制的數據傳輸期間,可以使用備用設置,例如時鐘極性(哪個邏輯電平代表空閑狀態)和相位(在哪個時鐘沿,上升或下降,數據線被采樣)。

      有四種不同的 SPI 模式:

      SPI模式

      警察 

      CPHA 

      時鐘極性(空閑狀態)

      時鐘相位

      0

      0

      0

      邏輯低

      上升沿采樣數據,下降沿輸出

      1

      0

      1

      數據下降沿采樣,上升沿輸出
       

      2

      1

      1

      邏輯高

      下降沿采樣數據,上升沿輸出
       

      3

      1

      0

      邏輯高

      數據在上升沿采樣并在下降沿輸出

       

      下圖顯示了這些不同模式下 SPI 線的時序圖:

      SPI 模式 0CPOL = 0,CPHA = 0,CLK 空閑狀態 = 低,數據在上升沿采樣并在下降沿移位

      SPI 模式 1CPOL = 0,CPHA = 1,CLK 空閑狀態 = 低,數據在下降沿采樣并在上升沿移位

      SPI 模式 2CPOL = 1,CPHA = 1,CLK 空閑狀態 = 高,數據在下降沿采樣并在上升沿移位

      SPI 模式 3CPOL = 1,CPHA = 0,CLK 空閑狀態 = 低,數據在上升沿采樣并在下降沿移位

      SPI 協議流行的原因之一是接收硬件可以非常簡單。它可以使用一個簡單的移位寄存器來實現。這是一種比實現 I2C 所需的更簡單、更便宜的解決方案。

      由于SPI總線速度較高,傳輸距離應保持很低(不超過幾米)。但是,可以通過降低時鐘速度或使用專門的 SPI 驅動芯片來增加最大總線長度。

      擴展范圍的另一種解決方案是使用數據鏈路 IC 作為中間階段:

      使用數據鏈路 IC SPI 總線擴展

      例如,您可以通過使用 RS-422 數據鏈路作為中間階段來擴展 SPI 通信距離。

      使用SPI協議的優點:

      I2C快得多

      接收硬件很簡單(簡單的移位寄存器)

      可以支持多個slave

      使用SPI協議的缺點:

      需要更多的信號線

      通信必須明確定義,因為大多數從設備使用自己的協議

      主站必須控制通信(沒有主站的命令,從站不能相互交談)

      每個從設備通常需要單獨的 SS CS

      請輸入搜索關鍵字

      確定
      色鲁99热99re超碰精品_91精品一区二区三区无码吞精_亚洲国产欧洲综合997久久_一级a性色生活片久久无
      <progress id="jlsnq"><code id="jlsnq"></code></progress>

      <strong id="jlsnq"><del id="jlsnq"></del></strong>
        <mark id="jlsnq"></mark>

      <legend id="jlsnq"><table id="jlsnq"></table></legend>
      <small id="jlsnq"></small>
    1. <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

        <strong id="jlsnq"></strong>