• <noframes id="6fok0"><bdo id="6fok0"><listing id="6fok0"></listing></bdo>
    <ruby id="6fok0"></ruby>

    <progress id="6fok0"></progress>
  • <progress id="6fok0"></progress>
    <ruby id="6fok0"><table id="6fok0"></table></ruby>
  • <progress id="6fok0"><u id="6fok0"><form id="6fok0"></form></u></progress>

    24小時(shí)聯(lián)系電話(huà):18217114652、13661815404

    中文

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

    公司新聞

    串行通信協(xié)議第 5 部分 - SPI


    串行通信協(xié)議第 5 部分 - SPI

    我們將研究不同類(lèi)型的串行通信協(xié)議,我們將研究流行的 SPI 協(xié)議。這是我們將要研究的許多常用的流行協(xié)議之一。我們將在本系列的結尾對每種類(lèi)型的優(yōu)缺點(diǎn)進(jìn)行有用的總結。

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

    SPI 協(xié)議是由摩托羅拉開(kāi)發(fā)的,盡管它被用于其他制造商生產(chǎn)的大量不同 IC、模塊和設備中。

    SPI 協(xié)議允許全雙工通信,這意味著(zhù)連接到總線(xiàn)的設備可以同時(shí)發(fā)送和接收數據。

    SPI 通信協(xié)議除接地外還包括四條線(xiàn),它們是:

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

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

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

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

    根據數據表的來(lái)源,SPI 引腳可以標有不同的名稱(chēng),因此在開(kāi)始設計之前仔細閱讀數據表至關(guān)重要。

    兩個(gè)設備之間的 SPI 接線(xiàn)

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

    具有多個(gè) SS 引腳的 SPI 多設備連接

    使用 SPI 協(xié)議的一些典型應用包括:

    溫度和壓力傳感器

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

    觸摸屏、視頻游戲控制器

    相機鏡頭控制

    外部閃存和 EEPROM IC

    RTC(實(shí)時(shí)時(shí)鐘)

    液晶顯示器

    MMC SD

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

    然后,主機通過(guò)將適當的從機選擇引腳拉低來(lái)選擇它想要與哪個(gè)從機通信,這會(huì )導致該從機開(kāi)始偵聽(tīng)。將選擇引腳拉高的其他從設備將忽略這些命令。

    通信原理是主設備通過(guò)MOSI線(xiàn)向監聽(tīng)從設備發(fā)送數據。從機可以讀取這些數據,同時(shí)通過(guò) MISO 線(xiàn)將數據返回給主機,主機可以在那里讀取它。這就是全雙工數據傳輸的方式。

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

    主從通信及寄存器示例

    當傳輸完成時(shí),主設備通過(guò)拉高相應的從選擇引腳來(lái)取消選擇從。

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

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

    有四種不同的 SPI 模式:

    SPI模式

    警察 

    CPHA 

    時(shí)鐘極性(空閑狀態(tài))

    時(shí)鐘相位

    0

    0

    0

    邏輯低

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

    1

    0

    1

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

    2

    1

    1

    邏輯高

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

    3

    1

    0

    邏輯高

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

     

    下圖顯示了這些不同模式下 SPI 線(xiàn)的時(shí)序圖:

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

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

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

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

    SPI 協(xié)議流行的原因之一是接收硬件可以非常簡(jiǎn)單。它可以使用一個(gè)簡(jiǎn)單的移位寄存器來(lái)實(shí)現。這是一種比實(shí)現 I2C 所需的更簡(jiǎn)單、更便宜的解決方案。

    由于SPI總線(xiàn)速度較高,傳輸距離應保持很低(不超過(guò)幾米)。但是,可以通過(guò)降低時(shí)鐘速度或使用專(zhuān)門(mén)的 SPI 驅動(dòng)芯片來(lái)增加最大總線(xiàn)長(cháng)度。

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

    使用數據鏈路 IC SPI 總線(xiàn)擴展

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

    使用SPI協(xié)議的優(yōu)點(diǎn):

    I2C快得多

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

    可以支持多個(gè)slave

    使用SPI協(xié)議的缺點(diǎn):

    需要更多的信號線(xiàn)

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

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

    每個(gè)從設備通常需要單獨的 SS CS 線(xiàn)

    請輸入搜索關(guān)鍵字

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

    <progress id="6fok0"></progress>
  • <progress id="6fok0"></progress>
    <ruby id="6fok0"><table id="6fok0"></table></ruby>
  • <progress id="6fok0"><u id="6fok0"><form id="6fok0"></form></u></progress>