91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

SPI 為什么比 I2C 更快?

信盈達(dá) ? 2026-01-04 09:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當(dāng)你將微控制器連接到傳感器、顯示器或其他模塊時(shí),你有沒有想過這兩個(gè)設(shè)備是如何相互通信的?它們到底在說什么?它們是如何相互理解的?


電子設(shè)備之間的通信就像人與人之間的通信。雙方需要使用相同的語言。在電子領(lǐng)域,這些語言被稱為通信協(xié)議 。幸運(yùn)的是,在構(gòu)建大多數(shù) DIY 電子項(xiàng)目時(shí),我們只需要了解少數(shù)幾種通信協(xié)議。在本系列文章中,我們將討論三種最常見協(xié)議的基礎(chǔ)知識:串行外設(shè)接口 (SPI)、 集成電路間通信 (I2C) 和通用異步收發(fā)器 (UART) 驅(qū)動(dòng)的通信 。


首先,我們將介紹一些電子通信的基本概念,然后詳細(xì)解釋 SPI 的工作原理。在下一篇文章中,我們將討論 UART 驅(qū)動(dòng)的通信,在第三篇文章中,我們將深入探討 I2C 通信。


SPI、I2C 和 UART 比 USB以太網(wǎng)、藍(lán)牙和 WiFi 等協(xié)議慢得多,但它們更簡單,占用的硬件和系統(tǒng)資源更少。SPI、I2C 和 UART 非常適合微控制器之間以及微控制器與傳感器之間的通信,因?yàn)檫@些通信不需要傳輸大量高速數(shù)據(jù)。



串行與并行通信

電子設(shè)備通過物理連接的線路發(fā)送數(shù)據(jù)位來實(shí)現(xiàn)相互通信。比特就像單詞中的一個(gè)字母 ,只不過它不是英文字母表中的 26 個(gè)字母,而是二進(jìn)制的,并且只能是 1 或 0。比特通過電壓的快速變化從一個(gè)設(shè)備傳輸?shù)搅硪粋€(gè)設(shè)備。在一個(gè)工作電壓為 5 V 的系統(tǒng)中,0 比特通過 0 V 的短脈沖傳輸,而 1 比特通過 5 V 的短脈沖傳輸。


數(shù)據(jù)位可以并行或串行傳輸。在并行通信中,所有數(shù)據(jù)位同時(shí)發(fā)送,每個(gè)位通過單獨(dú)的線路。下圖顯示了二進(jìn)制字母“C”(01000011)的并行傳輸:


bb9236d6-e90a-11f0-8ce9-92fbcf53809c.jpg


在串行通信中,位通過單線逐位發(fā)送。下圖顯示了二進(jìn)制字母“C”(01000011)的串行傳輸:


bba88026-e90a-11f0-8ce9-92fbcf53809c.jpg



SPI 通信簡介

SPI 是許多不同設(shè)備使用的常見通信協(xié)議。例如,SD 卡讀卡器模塊 、 RFID 卡讀卡器模塊和 2.4 GHz 無線發(fā)射器/接收器都使用 SPI 與微控制器通信。


SPI 的一個(gè)獨(dú)特優(yōu)勢是數(shù)據(jù)傳輸不間斷。它可以連續(xù)地發(fā)送或接收任意數(shù)量的比特。而 I2C 和 UART 則以數(shù)據(jù)包的形式發(fā)送,每個(gè)數(shù)據(jù)包的比特?cái)?shù)有限。起始和停止條件定義了每個(gè)數(shù)據(jù)包的開始和結(jié)束,因此數(shù)據(jù)在傳輸過程中會被中斷。


通過 SPI 通信的設(shè)備屬于主從關(guān)系。主設(shè)備是控制設(shè)備(通常是微控制器),而從設(shè)備(通常是傳感器、顯示器或存儲芯片)則接受主設(shè)備的指令。SPI 最簡單的配置是單主單從系統(tǒng),但一個(gè)主設(shè)備可以控制多個(gè)從設(shè)備(下文將詳細(xì)介紹)。


bbb20826-e90a-11f0-8ce9-92fbcf53809c.jpg


MOSI(主輸出/從屬輸入) ——主機(jī)向從屬機(jī)發(fā)送數(shù)據(jù)的線路。

MISO(主輸入/從輸出) ——從機(jī)向主機(jī)發(fā)送數(shù)據(jù)的線路。

SCLK(時(shí)鐘) ——時(shí)鐘信號線。

SS/CS(從機(jī)選擇/片選) ——主機(jī)選擇向哪個(gè)從機(jī)發(fā)送數(shù)據(jù)的線路。


bbe344fe-e90a-11f0-8ce9-92fbcf53809c.jpg


*實(shí)際上,從機(jī)的數(shù)量受到系統(tǒng)負(fù)載電容的限制,這降低了主機(jī)在電壓水平之間準(zhǔn)確切換的能力。



SPI 的工作原理

時(shí)鐘

時(shí)鐘信號將主機(jī)的數(shù)據(jù)位輸出與從機(jī)的位采樣同步。每個(gè)時(shí)鐘周期傳輸一位數(shù)據(jù),因此數(shù)據(jù)傳輸速度取決于時(shí)鐘信號的頻率。SPI 通信始終由主機(jī)發(fā)起,因?yàn)橹鳈C(jī)負(fù)責(zé)配置和生成時(shí)鐘信號。


任何設(shè)備共享時(shí)鐘信號的通信協(xié)議都稱為同步通信協(xié)議。SPI 就是一種同步通信協(xié)議。此外,還有一些異步通信方法不使用時(shí)鐘信號。例如,在 UART 通信中,兩端都設(shè)置為預(yù)配置的波特率,該波特率決定了數(shù)據(jù)傳輸?shù)乃俣群蜁r(shí)序。


SPI 中的時(shí)鐘信號可以使用時(shí)鐘極性和時(shí)鐘相位的屬性進(jìn)行修改。這兩個(gè)屬性共同定義位輸出和采樣的時(shí)間。主設(shè)備可以設(shè)置時(shí)鐘極性,以允許在時(shí)鐘周期的上升沿或下降沿輸出和采樣位??梢栽O(shè)置時(shí)鐘相位,使輸出和采樣發(fā)生在時(shí)鐘周期的第一個(gè)邊沿或第二個(gè)邊沿,無論是上升沿還是下降沿。


從屬選擇

主機(jī)可以通過將從機(jī)的 CS/SS 線設(shè)置為低電平來選擇要與哪個(gè)從機(jī)通信。在空閑、非傳輸狀態(tài)下,從機(jī)選擇線保持高電平。主機(jī)上可能有多個(gè) CS/SS 引腳,這樣就可以并行連接多個(gè)從機(jī)。如果只有一個(gè) CS/SS 引腳,則可以通過菊花鏈方式將多個(gè)從機(jī)連接到主機(jī)。


多個(gè)從屬

SPI 可以設(shè)置為單主機(jī)單從機(jī)模式,也可以設(shè)置為單主機(jī)控制多從機(jī)模式。將多從機(jī)連接到主機(jī)有兩種方法。如果主機(jī)有多個(gè)從機(jī)選擇引腳,則可以像這樣并聯(lián)連接多從機(jī):

bbec394c-e90a-11f0-8ce9-92fbcf53809c.jpg

如果只有一個(gè)從機(jī)選擇引腳可用,則可以像這樣以菊花鏈形式連接從機(jī):

bc0355fa-e90a-11f0-8ce9-92fbcf53809c.jpg

MOSI 和 MISO

主機(jī)通過 MOSI 線以串行方式逐位向從機(jī)發(fā)送數(shù)據(jù)。從機(jī)通過 MOSI 引腳接收主機(jī)發(fā)送的數(shù)據(jù)。主機(jī)向從機(jī)發(fā)送數(shù)據(jù)時(shí),通常先發(fā)送最高有效位。


從機(jī)也可以通過串行 MISO 線將數(shù)據(jù)發(fā)送回主機(jī)。從機(jī)發(fā)送回主機(jī)的數(shù)據(jù)通常以最低有效位優(yōu)先的方式發(fā)送。


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

1、主機(jī)輸出時(shí)鐘信號:

bc0f27e0-e90a-11f0-8ce9-92fbcf53809c.jpg
2、主機(jī)將 SS/CS 引腳切換至低電壓狀態(tài),從而激活從機(jī):bc200376-e90a-11f0-8ce9-92fbcf53809c.jpg
3、主機(jī)通過 MOSI 線將數(shù)據(jù)逐位發(fā)送給從機(jī)。從機(jī)接收到數(shù)據(jù)后,讀取這些位:bc296bdc-e90a-11f0-8ce9-92fbcf53809c.jpg


4、如果需要響應(yīng),從設(shè)備會通過 MISO 線一次一位地向主設(shè)備返回?cái)?shù)據(jù)。主設(shè)備在接收到數(shù)據(jù)后會讀取這些位:bc3c9676-e90a-11f0-8ce9-92fbcf53809c.jpg



SPI 的優(yōu)點(diǎn)和缺點(diǎn)


使用 SPI 有一些優(yōu)點(diǎn)和缺點(diǎn),如果要在不同的通信協(xié)議之間進(jìn)行選擇,您應(yīng)該根據(jù)項(xiàng)目要求知道何時(shí)使用 SPI:


優(yōu)勢

沒有起始位和停止位,因此數(shù)據(jù)可以連續(xù)傳輸而不會中斷

沒有像 I2C 那樣復(fù)雜的從屬尋址系統(tǒng)

數(shù)據(jù)傳輸速率比 I2C 更高(幾乎快兩倍)

分離 MISO 和 MOSI 線路,以便可以同時(shí)發(fā)送和接收數(shù)據(jù)


缺點(diǎn)

使用四根線(I2C 和 UART 使用兩根)

沒有確認(rèn)數(shù)據(jù)已成功接收(I2C 有此情況)

沒有像 UART 中的奇偶校驗(yàn)位那樣的錯(cuò)誤檢查形式

僅允許單個(gè)主機(jī)


希望本文能幫助您更好地理解 SPI。

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

    關(guān)注

    48

    文章

    8375

    瀏覽量

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

    關(guān)注

    17

    文章

    1885

    瀏覽量

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

    關(guān)注

    28

    文章

    1556

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    SPI、I2C、UART串行總線協(xié)議

    串口通訊通信協(xié)議UART,以及常用外設(shè)通信協(xié)議 SPI、I2C的介紹與他們之間的區(qū)別
    發(fā)表于 11-30 11:28 ?96次下載

    SPI總線及I2C總線工作原理

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

    SPI、SCI、I2C、UART之間的異同

    詳細(xì)介紹了SPI、SCI、I2C、UART幾種通信方式的異同便于讀者整體了解通信的意義.
    發(fā)表于 12-15 14:32 ?0次下載

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

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

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

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

    詳細(xì)介紹GPIO、I2C、SPI通訊原理以及物理層原理

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

    詳細(xì)介紹GPIO、I2C、SPI通訊原理以及物理層原理

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

    硬件I2C與模擬I2C

    硬件I2C對應(yīng)芯片上的I2C外設(shè),有相應(yīng)I2C驅(qū)動(dòng)電路,其所使用的I2C管腳也是專用的,因而效率要遠(yuǎn)高于軟件模擬的I2C;一般也較為穩(wěn)定,但
    發(fā)表于 12-28 19:14 ?82次下載
    硬件<b class='flag-5'>I2C</b>與模擬<b class='flag-5'>I2C</b>

    Gowin SPI to I2C IP用戶指南

    電子發(fā)燒友網(wǎng)站提供《Gowin SPI to I2C IP用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-16 15:34 ?0次下載
    Gowin <b class='flag-5'>SPI</b> to <b class='flag-5'>I2C</b> IP用戶指南

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

    最近看到有小伙伴在討論:SPI可以像I2C掛多個(gè)設(shè)備嗎?
    的頭像 發(fā)表于 05-14 10:10 ?6331次閱讀
    <b class='flag-5'>SPI</b>可以像<b class='flag-5'>I2C</b>掛多個(gè)設(shè)備嗎?

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

    I2CSPI 對比 ? 功能 I2C SPI 線數(shù) 2(SDA,SCL) 4(MOSI,MISO,SCLK,CS) 主機(jī)數(shù)量 >=1
    的頭像 發(fā)表于 07-27 10:55 ?5837次閱讀

    SPI自舉程序中使用的I2C協(xié)議

    電子發(fā)燒友網(wǎng)站提供《SPI自舉程序中使用的I2C協(xié)議.pdf》資料免費(fèi)下載
    發(fā)表于 09-21 11:41 ?0次下載
    <b class='flag-5'>SPI</b>自舉程序中使用的<b class='flag-5'>I2C</b>協(xié)議

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

    UART、SPII2C比較 I2C線更少,UART、SPI更為強(qiáng)大,但是技術(shù)上也更加麻煩些,因?yàn)?b class='flag-5'>I2
    的頭像 發(fā)表于 11-09 18:06 ?2781次閱讀
    UART、<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>比較 串口通信介紹

    SPII2C的異同及優(yōu)缺點(diǎn)

    SPII2C的異同及優(yōu)缺點(diǎn)? SPI(Serial Peripheral Interface)和I2C(Inter-Integrated Circuit)是兩種常見的串行通信接口協(xié)議
    的頭像 發(fā)表于 12-07 10:46 ?5103次閱讀

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

    本文深入解析了SPII2C這兩種通信協(xié)議的特點(diǎn)、工作原理和應(yīng)用場景。SPI適用于高速數(shù)據(jù)傳輸,常用于存儲器芯片和顯示器驅(qū)動(dòng)等領(lǐng)域;I2C適用于低速控制和傳感器數(shù)據(jù)傳輸,常用于溫度傳感
    的頭像 發(fā)表于 04-22 16:45 ?3708次閱讀