国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

SPI 為什么比 I2C 更快?

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

掃碼添加小助手

加入工程師交流群

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


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


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


SPI、I2C 和 UART 比 USB以太網藍牙和 WiFi 等協議慢得多,但它們更簡單,占用的硬件和系統資源更少。SPI、I2C 和 UART 非常適合微控制器之間以及微控制器與傳感器之間的通信,因為這些通信不需要傳輸大量高速數據。



串行與并行通信

電子設備通過物理連接的線路發送數據位來實現相互通信。比特就像單詞中的一個字母 ,只不過它不是英文字母表中的 26 個字母,而是二進制的,并且只能是 1 或 0。比特通過電壓的快速變化從一個設備傳輸到另一個設備。在一個工作電壓為 5 V 的系統中,0 比特通過 0 V 的短脈沖傳輸,而 1 比特通過 5 V 的短脈沖傳輸。


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


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


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


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



SPI 通信簡介

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


SPI 的一個獨特優勢是數據傳輸不間斷。它可以連續地發送或接收任意數量的比特。而 I2C 和 UART 則以數據包的形式發送,每個數據包的比特數有限。起始和停止條件定義了每個數據包的開始和結束,因此數據在傳輸過程中會被中斷。


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


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


MOSI(主輸出/從屬輸入) ——主機向從屬機發送數據的線路。

MISO(主輸入/從輸出) ——從機向主機發送數據的線路。

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

SS/CS(從機選擇/片選) ——主機選擇向哪個從機發送數據的線路。


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


*實際上,從機的數量受到系統負載電容的限制,這降低了主機在電壓水平之間準確切換的能力。



SPI 的工作原理

時鐘

時鐘信號將主機的數據位輸出與從機的位采樣同步。每個時鐘周期傳輸一位數據,因此數據傳輸速度取決于時鐘信號的頻率。SPI 通信始終由主機發起,因為主機負責配置和生成時鐘信號。


任何設備共享時鐘信號的通信協議都稱為同步通信協議。SPI 就是一種同步通信協議。此外,還有一些異步通信方法不使用時鐘信號。例如,在 UART 通信中,兩端都設置為預配置的波特率,該波特率決定了數據傳輸的速度和時序。


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


從屬選擇

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


多個從屬

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

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

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

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

MOSI 和 MISO

主機通過 MOSI 線以串行方式逐位向從機發送數據。從機通過 MOSI 引腳接收主機發送的數據。主機向從機發送數據時,通常先發送最高有效位。


從機也可以通過串行 MISO 線將數據發送回主機。從機發送回主機的數據通常以最低有效位優先的方式發送。


SPI 數據傳輸步驟

1、主機輸出時鐘信號:

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


4、如果需要響應,從設備會通過 MISO 線一次一位地向主設備返回數據。主設備在接收到數據后會讀取這些位:bc3c9676-e90a-11f0-8ce9-92fbcf53809c.jpg



SPI 的優點和缺點


使用 SPI 有一些優點和缺點,如果要在不同的通信協議之間進行選擇,您應該根據項目要求知道何時使用 SPI:


優勢

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

沒有像 I2C 那樣復雜的從屬尋址系統

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

分離 MISO 和 MOSI 線路,以便可以同時發送和接收數據


缺點

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

沒有確認數據已成功接收(I2C 有此情況)

沒有像 UART 中的奇偶校驗位那樣的錯誤檢查形式

僅允許單個主機


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

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

    關注

    48

    文章

    8381

    瀏覽量

    164575
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1885

    瀏覽量

    101241
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1556

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    SPII2C、UART串行總線協議

    串口通訊通信協議UART,以及常用外設通信協議 SPII2C的介紹與他們之間的區別
    發表于 11-30 11:28 ?96次下載

    SPI總線及I2C總線工作原理

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

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

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

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

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

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

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

    詳細介紹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>通訊原理以及物理層原理

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

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

    硬件I2C與模擬I2C

    硬件I2C對應芯片上的I2C外設,有相應I2C驅動電路,其所使用的I2C管腳也是專用的,因而效率要遠高于軟件模擬的I2C;一般也較為穩定,但
    發表于 12-28 19:14 ?82次下載
    硬件<b class='flag-5'>I2C</b>與模擬<b class='flag-5'>I2C</b>

    Gowin SPI to I2C IP用戶指南

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

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

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

    I2CSPI的區別是什么 速率對比

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

    SPI自舉程序中使用的I2C協議

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

    UART、SPII2C比較 串口通信介紹

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

    SPII2C的異同及優缺點

    SPII2C的異同及優缺點? SPI(Serial Peripheral Interface)和I2C(Inter-Integrated Circuit)是兩種常見的串行通信接口協議
    的頭像 發表于 12-07 10:46 ?5113次閱讀

    SPII2C通信協議:應用與區別

    本文深入解析了SPII2C這兩種通信協議的特點、工作原理和應用場景。SPI適用于高速數據傳輸,常用于存儲器芯片和顯示器驅動等領域;I2C適用于低速控制和傳感器數據傳輸,常用于溫度傳感
    的頭像 發表于 04-22 16:45 ?3713次閱讀