一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

SPI可以像I2C掛多個設(shè)備嗎?

strongerHuang ? 來源:strongerHuang ? 2023-05-14 10:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

本文就給大家講講關(guān)于SPI接口的那些內(nèi)容。

SPI 介紹

SPI:Serial Peripheral Interface,是串行外設(shè)接口。

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

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

SPI 接口

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

MOSI:Master Output Slave Input,主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入;

MISO:Master Input Slave Output,主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出;

SCLK:Serial Clock,時鐘信號,由主設(shè)備產(chǎn)生;

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

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

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

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

一主一從

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

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

上圖例子是主機發(fā)送一個字節(jié)數(shù)據(jù)(0x53),從機應(yīng)答一個字節(jié)數(shù)據(jù)(0x46)。

一主多從

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

A.常規(guī)

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

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

B.一條SS信號

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

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

SPI數(shù)據(jù)傳輸

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

SPI時鐘

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

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

SPI數(shù)據(jù)

SPI的數(shù)據(jù)分兩個方向:

MOSI:主機 -> 從機

MISO:從機 -> 主機

SPI通信有一個“缺點”:沒有指定的流控制,沒有應(yīng)答機制確認(rèn)是否接收到數(shù)據(jù)。

可以理解為:不知道是什么時候主機發(fā)給從機,什么時候從機發(fā)給主機,到底該發(fā)多少字節(jié)數(shù)據(jù)等。

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

比如下面這個讀寫SPI Flash數(shù)據(jù)的操作:

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

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

時鐘極性和相位

除了設(shè)置時鐘頻率外,主機還必須配置與數(shù)據(jù)有關(guān)的時鐘極性和相位。

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

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

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

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

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

審核編輯:湯梓紅

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

    關(guān)注

    48

    文章

    7953

    瀏覽量

    155065
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17984

    瀏覽量

    366941
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    9005

    瀏覽量

    153758
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1804

    瀏覽量

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

    關(guān)注

    28

    文章

    1541

    瀏覽量

    127854

原文標(biāo)題:SPI可以像I2C掛多個設(shè)備嗎?

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    SPI總線及I2C總線工作原理

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

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

    CAN、I2S、I2C、SPI、SSP總線的介紹和比較。
    發(fā)表于 07-14 16:20 ?56次下載

    spii2c總線有什么區(qū)別

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

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

    SDA 和 SCL 都是雙向的。SPI 總線有兩根單獨的線,分別用于兩個方向的通信,而 I2C 總線不同,它使用同一根線來完成主機發(fā)送數(shù)據(jù)和接收從機響應(yīng)。另外,與 SPI 總線具有多個
    的頭像 發(fā)表于 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結(jié)合了SPI和UART的優(yōu)點。使用I2C,您可以多個設(shè)備連接到單個主
    發(fā)表于 09-13 15:46 ?2491次閱讀

    樹莓派怎樣連接多個I2C設(shè)備

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

    I2C總線的工作原理以及優(yōu)缺點解析

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

    I2C系列的合集,可以系統(tǒng)學(xué)習(xí)I2C協(xié)議

    這篇文章給大家?guī)砹?b class='flag-5'>I2C系列的合集,可以系統(tǒng)學(xué)習(xí)I2C協(xié)議。大家趕緊看看吧! 1、I2C總線:何時使用I2C緩沖器 本文討論了使用
    的頭像 發(fā)表于 09-23 15:28 ?3496次閱讀

    I2C總線能多少設(shè)備

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

    I2CSPI的區(qū)別是什么 速率對比

    high 應(yīng)用 重要數(shù)據(jù) 大量數(shù)據(jù) 流控 yes no 設(shè)備地址 yes no 常規(guī)用途 命令 數(shù)據(jù) ? I2CSPI 的速率如下: ? I2C模式 速度 標(biāo)準(zhǔn) 100KHz
    的頭像 發(fā)表于 07-27 10:55 ?4559次閱讀

    如何解決I2C器件死鎖的問題?

    如何解決I2C器件死鎖的問題? I2C總線是一種流行的串行通信協(xié)議,在許多嵌入式系統(tǒng)中使用。I2C可以連接多個從屬
    的頭像 發(fā)表于 09-12 11:18 ?3278次閱讀

    I2C總線能多少設(shè)備 I2C架構(gòu)

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

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

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

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

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

    I2C總線與SPI總線的比較

    于低速通信。它只需要兩根線:數(shù)據(jù)線(SDA)和時鐘線(SCL),這使得I2C非常適合于節(jié)省引腳的應(yīng)用。 特點 多主機支持 :多個微控制器可以共享同一I2C總線。 多從機支持 :
    的頭像 發(fā)表于 01-17 15:08 ?943次閱讀