那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SPI可以像I2C掛多個設備嗎?

strongerHuang ? 來源:strongerHuang ? 2023-05-14 10:10 ? 次閱讀

最近看到有小伙伴在討論:SPI可以像I2C掛多個設備嗎?

簡單來說,就是一主多從。

其實,SPI是在I2C發展之后才起來的,自然在設計的時候,會考慮這個情況。

本文就給大家講講關于SPI接口的那些內容。

SPI 介紹

SPI:Serial Peripheral Interface,是串行外設接口。

SPI是由摩托羅拉于 1985 年前后開發,是一種適用于短距離、設備到設備通信的同步串行接口。

從那時起,這種接口就已成為許多半導體制造商,特別是微控制器MCU)和微處理器(MPU)采用的事實標準。

SPI 接口

SPI總線是一種4線總線,通常有一個主設備和一個或多個從設備,需要至少4根線,事實上3根也可以。

MOSI:Master Output Slave Input,主設備數據輸出,從設備數據輸入;

MISO:Master Input Slave Output,主設備數據輸入,從設備數據輸出;

SCLK:Serial Clock,時鐘信號,由主設備產生;

SS:Slave Select,從設備選擇信號,由主設備控制;

ab543d24-f0aa-11ed-90ce-dac502259ad0.png

上面的SS信號,也可以理解為CS信號,一般是低電平有效,所以也是NSS(非)信號;

CS:Chip Select,片選信號(從設備使能/選擇信號),由主設備控制;

一主一從

最基本的SPI通信就是一主一從,比如:一個STM32作為主機,一個W25Q16(SPI Flash)作為從機。還有兩個MCU之間進行SPI通信等。

ab65a3e8-f0aa-11ed-90ce-dac502259ad0.png

上圖例子是主機發送一個字節數據(0x53),從機應答一個字節數據(0x46)。

一主多從

SPI可以一主一從(一個主機,一個從機),但也可以一主多從。一主多從常見有兩種連接方式。

A.常規

通常,每個從機都需要一條單獨的SS線,要與指定的從機通信,將該從機的SS線設為低電平,并將其余的保持為高電平即可。

ab82beb0-f0aa-11ed-90ce-dac502259ad0.png

B.一條SS信號

某些應用只需要一條NSS即可(比如:移位寄存器),對于這種布局,數據從一個從設備移位到另一個從設備。

ab95e742-f0aa-11ed-90ce-dac502259ad0.png

SPI數據傳輸

SPI的通信比較簡單,一個時鐘傳輸一位數據(主機 -> 從機,或者從機 -> 主機)。

SPI時鐘

理論上SPI的時鐘頻率可以做到很大,一般幾MHz~幾百MHz,拿常見的W25Q16來說,SPI最高支持80MHz。

SPI通信速率要結合實際情況,不能超過主機或從機支持的最大時鐘頻率。

SPI數據

SPI的數據分兩個方向:

MOSI:主機 -> 從機

MISO:從機 -> 主機

SPI通信有一個“缺點”:沒有指定的流控制,沒有應答機制確認是否接收到數據。

可以理解為:不知道是什么時候主機發給從機,什么時候從機發給主機,到底該發多少字節數據等。

此時,需要通信的主機和從機達成約定,一般由主機進行控制讀寫的操作。

比如下面這個讀寫SPI Flash數據的操作:

abab0ca8-f0aa-11ed-90ce-dac502259ad0.jpg

前面1字節是指令,緊接著再3字節(24位)地址,都是由主機發送給從機。 之后,主機讀取數據(由從機發送出來)。

時鐘極性和相位

除了設置時鐘頻率外,主機還必須配置與數據有關的時鐘極性和相位。

abc7cb5e-f0aa-11ed-90ce-dac502259ad0.jpg

CPOL確定時鐘的極性,極性可以通過簡單的逆變器進行轉換。

CPHA確定相對于時鐘脈沖的數據位的時序(即相位)。

一般集成有SPI外設的處理器,都有SPI相關的配置寄存器,拿STM32來說,參考手冊里面有詳細介紹SPI配置的信息

建議大家結合時序圖理解,不要死記硬背。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7649

    瀏覽量

    152104
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17317

    瀏覽量

    352630
  • 接口
    +關注

    關注

    33

    文章

    8691

    瀏覽量

    151911
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1721

    瀏覽量

    92116
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1495

    瀏覽量

    124545

原文標題:SPI可以像I2C掛多個設備嗎?

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    SPI總線及I2C總線工作原理

    SPI總線及I2C總線工作原理,本內容詳細介紹了SPI總線和I2C總線的工作原理和比較
    發表于 12-08 16:55 ?0次下載

    CAN、I2S、I2CSPI、SSP總線的介紹和比較

    CAN、I2S、I2CSPI、SSP總線的介紹和比較。
    發表于 07-14 16:20 ?53次下載

    spii2c總線有什么區別

    SPI是串行外設接口(Serial Peripheral Interface)的縮寫。I2C總線是一個真正的多主機總線,總線上多個主機初始化傳輸,可以通過傳輸檢測和仲裁來防止數據被破壞
    發表于 12-06 11:39 ?4.1w次閱讀
    <b class='flag-5'>spi</b>與<b class='flag-5'>i2c</b>總線有什么區別

    淺談I2C總線,I2C接口和SPI接口的作用相同

    SDA 和 SCL 都是雙向的。SPI 總線有兩根單獨的線,分別用于兩個方向的通信,而 I2C 總線不同,它使用同一根線來完成主機發送數據和接收從機響應。另外,與 SPI 總線具有多個
    的頭像 發表于 03-21 10:24 ?2.5w次閱讀
    淺談<b class='flag-5'>I2C</b>總線,<b class='flag-5'>I2C</b>接口和<b class='flag-5'>SPI</b>接口的作用相同

    I2C總線是如何工作的

    I2C結合了SPI和UART的優點。使用I2C,您可以多個設備連接到單個主
    發表于 09-13 15:46 ?2318次閱讀

    樹莓派怎樣連接多個I2C設備

     簡單。 i2c是一輛公共汽車。總線的目的是與多個設備通信。將設備并行連接到同一i2c總線。您可以
    的頭像 發表于 11-13 09:27 ?1.9w次閱讀
    樹莓派怎樣連接<b class='flag-5'>多個</b><b class='flag-5'>I2C</b><b class='flag-5'>設備</b>

    I2C總線的工作原理以及優缺點解析

    如果您正在使用OLED顯示器,氣壓傳感器或陀螺儀/加速度計模塊的項目,您可能會發現正在使用I2C總線。 I2C總線簡介 I2C結合了SPI和UART的優點。使用
    發表于 11-28 09:13 ?1.5w次閱讀
    <b class='flag-5'>I2C</b>總線的工作原理以及優缺點解析

    I2C系列的合集,可以系統學習I2C協議

    這篇文章給大家帶來了I2C系列的合集,可以系統學習I2C協議。大家趕緊看看吧! 1、I2C總線:何時使用I2C緩沖器 本文討論了使用
    的頭像 發表于 09-23 15:28 ?3192次閱讀

    詳細介紹GPIO、I2CSPI通訊原理以及物理層原理

    6. I2C接口工作模式7. 硬件拉高拉低的過程8. 一對多9. 開發流程三. SPI1. 什么是SPI2. SPI優與缺點3.
    發表于 12-05 12:51 ?21次下載
    詳細介紹GPIO、<b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>通訊原理以及物理層原理

    I2C總線能多少設備

    I2C 總線能多少設備? 7-bit address :2 的 7 次方,能 128 個設備
    的頭像 發表于 07-25 09:45 ?4270次閱讀
    <b class='flag-5'>I2C</b>總線能<b class='flag-5'>掛</b>多少<b class='flag-5'>設備</b>

    I2CSPI的區別是什么 速率對比

    high 應用 重要數據 大量數據 流控 yes no 設備地址 yes no 常規用途 命令 數據 ? I2CSPI 的速率如下: ? I2C模式 速度 標準 100KHz
    的頭像 發表于 07-27 10:55 ?3907次閱讀

    I2C總線能多少設備 I2C架構

    I2C總線能多少設備? 理論上: 7-bit address :2 的 7 次方,能 128 個設備
    的頭像 發表于 09-28 14:20 ?3060次閱讀
    <b class='flag-5'>I2C</b>總線能<b class='flag-5'>掛</b>多少<b class='flag-5'>設備</b> <b class='flag-5'>I2C</b>架構

    UART、SPII2C比較 串口通信介紹

    ,較少用于遠距離通信。 SPI實現要簡單一些,UART需要固定的波特率,就是說兩位數據的間隔要相等,而SPI則無所謂,因為它是有時鐘的協議。 I2C的速度比SPI慢一點,協議比
    的頭像 發表于 11-09 18:06 ?1548次閱讀
    UART、<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>比較 串口通信介紹

    SPII2C通信協議:應用與區別

    /DAC芯片等場合。SPII2C在連接方式、傳輸速率和設備支持等方面有顯著差異,但隨著物聯網和智能設備的發展,它們都將在嵌入式系統中發揮重要作用。
    的頭像 發表于 04-22 16:45 ?1960次閱讀

    I2C總線與SPI總線的比較

    于低速通信。它只需要兩根線:數據線(SDA)和時鐘線(SCL),這使得I2C非常適合于節省引腳的應用。 特點 多主機支持 :多個微控制器可以共享同一I2C總線。 多從機支持 :
    的頭像 發表于 01-17 15:08 ?191次閱讀
    百家乐官网游戏真钱游戏| 百家乐特殊计| 百家乐如何投注技巧| 百家乐官网输了100万| 海立方百利宫娱乐城| 百家乐现金网平台排名| 金宝博百家乐游戏| 百家乐那个平台信誉高| 澳门百家乐娱乐城打不开| 澳门百家乐技巧| 网络百家乐玩法| 休闲百家乐的玩法技巧和规则| 百家乐什么方法容易赢| 大发888娱乐官网地址| 狮威百家乐的玩法技巧和规则| 威尼斯人娱乐网反| 易玩棋牌怎么样| 方城县| 百家乐平注法到6| 德州扑克起手牌概率| 西贡区| 百家乐官网全透明牌靴| 奔驰百家乐官网游戏电玩| 太阳城百家乐官网下载网址| 新锦江百家乐官网娱乐平台| 怎样看百家乐官网路纸| 百家乐官网人生信条漫谈| 百家乐官网路有几家| 百家乐庄家出千内幕| 网上百家乐赌博经历| 博彩开户| 百家乐官网稳赚打法| 百家乐官网巴厘岛上海在线| 平台百家乐官网的区别| 百家乐官网平注常赢规则| 做生意进门风水| 沙龙百家乐娱乐场| 网上百家乐乐代理| 真钱棋牌导航| 百家乐官网强弱走势图| 金博士百家乐娱乐城 |