網易首頁 > 網易號 > 正文 申請入駐

SPI通信筆記:基礎+動圖+時序圖+總結,一文吃透!

0
分享至

▼關注公眾號: 工程師看海▼

原文授權自公眾號:硬件筆記本

大家好,今天咱們來詳細聊聊SPI接口,文章內容有點多,建議先收藏起來再慢慢看。

SPI現在已經成為MCU和外圍設備之間最常用的通信方式了。它是一種同步、全雙工、主從式的通信接口。工作原理其實很直接:主機產生時鐘信號,從機跟著這個時鐘同步收發數據。允許雙向傳輸,可以在同一時鐘周期內進行主從設備的數據交換。

這種設計讓SPI既簡單又高效,特別適合需要快速傳輸數據的場合。不過要注意的是,SPI沒有標準的通信協議,不同廠家的設備可能會有差異,所以用的時候一定要仔細看芯片手冊。

011

典型應用場景

SPI接口的核心優勢在于它的簡單性靈活性,典型應用場景包括:

1、傳感器數據采集(如溫度傳感器、IMU),例如:TMP124芯片,它是由TI推出的工業級數字溫度傳感器,主打高精度+SPI接口組合,適合對測溫有嚴苛要求的場景。

2、存儲器讀寫(Flash、EEPROM),比如小容量的AT25040,常用來存儲配置參數和校準數據。

3、數字信號轉換(ADC/DAC)。比如通用ADC芯片MCP4921,它是Microchip推出的低成本12位數字模擬轉換器(DAC),主打簡單易用+SPI接口組合,適合需要數字控制模擬輸出的場景。

4、顯示驅動(OLED、TFT屏幕),例如咱們常用的0.96寸OLED屏,一般有I2C和SPI兩種接口,雖然SPI多占用兩個IO口,但速度比I2C快很多。

021

SPI的連接方式和工作速度

連接方式

SPI接口可以是3線式或4線式,這里主要介紹常用的4線SPI接口,4線SPI器件有四個信號:

  • 片選(CS):片選信號,低電平有效

  • 時鐘(SPI CLK, SCLK):時鐘信號由主機產生

  • MOSI: 主機輸出,從機輸入

  • MISO 主機輸入,從機輸出

主機和從機之間的SPI連接

這里要注意一下,主機和從機的MOSI和MISO的接線,這個跟串口TX,RX不一樣,很多人容易搞錯,主機的MISO接從機的MISO,主機的MOSI接從機的MOSI,直連不交叉。

那怎么判斷哪個是主機呢?咱們產生時鐘信號的器件稱為主機。主機和從機之間傳輸的數據與主機產生的時鐘同步。另外SPI接口只能有一個主機,但可以有一個或多個從機。關注公眾號:硬件筆記本

來自主機的片選信號用于選擇從機。這通常是一個低電平有效信號,拉高時從機與SPI總線斷開連接。當使用多個從機時,主機需要為每個從機提供單獨的片選信號。

工作速度


SPI速度的典型范圍:1 MHz至100 MHz(4 Mbps至400 Mbps),具體速率取決于器件等級:

消費級IC:1-10 MHz(4-40 Mbps)

工業級器件:10-25 MHz(40-100 Mbps)

但咱們在實際應用中,會受限于外設支持(如Flash芯片可達80 MHz,傳感器通常8 MHz)

這里再插一句,對比I2C來說,I2C速度就低太多了:標準模式100Kbps,高速模式5Mbps(理論值),但是I2C會少占用兩個IO口,所以I2C速度勝在省引腳,SPI贏在速度快。

031

數據傳輸

SPI的數據傳輸,整個過程是這樣的:

首先,作為主控的設備要產生時鐘信號(SCLK),這個信號就像通信的節拍器。同時,主機要通過拉低片選信號(CS)來選中要通信的從設備,這個CS信號通常是低電平有效,所以主機要給它一個邏輯0。

SPI最厲害的地方在于它是全雙工的,這意味著主機可以通過MOSI線往外發送數據的同時,從設備也能通過MISO線往主機發送數據,兩邊是同時進行的。具體來說,主機把數據一位一位地放到MOSI線上移出去,同時又在MISO線上一位一位地收數據。

所有這些數據的發送和接收都是嚴格跟著時鐘信號的邊沿走的,你可以選擇在時鐘的上升沿或者下降沿來采樣數據。至于每次通信要傳多少位數據,這個得看具體器件的規格書,不同芯片的要求可能不一樣。

咱們來看兩張動圖

這個過程中要注意三點:

1、是時鐘必須由主機產生;

2、CS信號要提前拉低選中從機;

3、數據的收發是同步進行的,不是先發后收或者先收后發。這種設計讓SPI既簡單又高效,特別適合需要快速傳輸數據的場合。

原文授權自公眾號:硬件筆記本


041

工作模式

SPI有4種工作模式,主要通過CPOL和CPHA兩個參數來配置:



如下是SPI模式0的時序圖。

傳輸的開始和結束綠色虛線表示;采樣邊沿橙色虛線表示;移位邊沿藍色虛線表示。當然,這些圖形僅供參考。要成功進行SPI通信,必須參閱器件的數據手冊并確保滿足器件的時序規格。

如下是SPI模式1的時序圖。此時:
時鐘極性為0,表示時鐘信號的空閑狀態為低電平
時鐘相位為1,表示數據在下降沿采樣(由橙色虛線顯示),并且數據在時鐘信號的上升沿移出(由藍色虛線顯示)。


如下是SPI模式2的時序圖。此時:時鐘極性為1,表示時鐘信號的空閑狀態為高電平。時鐘相位為1,表示數據在下降沿采樣(由橙色虛線顯示),并且數據在時鐘信號的上升沿移出(由藍色虛線顯示)。


如下是SPI模式3的時序圖。此時:時鐘極性為1,表示時鐘信號的空閑狀態為高電平。時鐘相位為0,表示數據在上升沿采樣(由橙色虛線顯示),并且數據在時鐘信號的下降沿移出(由藍色虛線顯示)。

051

多從機配置

咱們的多個從機可與單個SPI主機一起使用。從機可以采用常規模式連接,或采用菊花鏈模式連接常規SPI模式:

在咱們SPI常規連接模式下,咱們主機必須為每個從設備單獨配備一個片選信號線(CS)。當主機將某個從機的CS信號拉低時,這個從機就被選中,此時MOSI和MISO線上的時鐘和數據信號就可以和這個特定的從機進行通信。關注公眾號:硬件筆記本

這里有個重要限制:同一時間只能有一個從機的CS信號被拉低,如果同時拉低多個CS信號,會導致多個從機同時在MISO線上返回數據,造成數據沖突,主機就無法分辨這些數據到底來自哪個從機。

隨著系統連接的從機數量增多,主機需要提供的片選線數量也會相應增加。比如連接8個從機就需要8根獨立的CS線,這會快速占用主機的IO口資源,從而限制了系統能夠支持的從機數量。為了解決這個問題,可以采用一些擴展技術,比如使用多路復用器(MUX)來產生片選信號。不過這種方案會增加一些硬件復雜度,需要額外添加多路復用器芯片。

菊花鏈模式:

在SPI菊花鏈連接方式下,所有從設備共享同一個片選信號(CS),從一個從機傳播到下一個從機。具體工作過程是:主機發出時鐘信號(SCLK)后,數據首先傳輸到第一個從機,第一個從機將數據提供給第二個從機,這樣依次傳遞下去。所有從機都使用同一個時鐘信號進行同步。

這種連接方式的特點是數據傳輸需要更多的時鐘周期。如下圖,比如在一個8位數據寬度的系統中,如果要讓第三個從機收到數據,就需要24個時鐘脈沖(3個從機×8位),而在常規SPI模式下只需要8個時鐘脈沖。這是因為數據需要依次通過每個從機,每個從機都會對數據進行處理和轉發。

菊花鏈配置:數據傳播

需要注意的是,不是所有SPI設備都支持菊花鏈模式。在使用這種連接方式前,必須仔細查看所用芯片的技術手冊,確認其是否支持菊花鏈功能。有些芯片可能只支持常規的獨立片選模式。此外,菊花鏈模式雖然節省了片選信號線,但會降低通信效率,因此要根據實際應用需求權衡選擇。

061

總結

SPI接口雖然簡單,但在實際應用中需要注意很多細節:

1、接線要正確(直連不交叉);

2、模式要匹配(看器件手冊);

3、多從機時要合理選擇連接方式。

記住這些要點,就能用好SPI接口啦!如果遇到問題,最靠譜的辦法就是查閱器件的數據手冊。

如果這篇文章對你有幫助,別忘了點贊收藏,并分享給更多需要的人!

原文授權自公眾號:硬件筆記本

如果看到這里,請點贊、收藏、分享三連!

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
人民日報發文,揭張桂梅真實現狀,卸任華坪女高校長傳聞早有真相

人民日報發文,揭張桂梅真實現狀,卸任華坪女高校長傳聞早有真相

小撇說事
2026-04-23 14:20:05
施明離世留市值千萬房產,長子全家獨占,還怪父親弟弟沒出喪禮錢

施明離世留市值千萬房產,長子全家獨占,還怪父親弟弟沒出喪禮錢

臨云史策
2026-04-24 14:13:09
139場136球!凱恩用不到兩個賽季追上埃爾伯,在德甲徹底封神!

139場136球!凱恩用不到兩個賽季追上埃爾伯,在德甲徹底封神!

歲月有情1314
2026-04-24 13:57:58
泰山隊兩大主力未隨隊出征,3人有3張黃牌,打海牛陣容有變化

泰山隊兩大主力未隨隊出征,3人有3張黃牌,打海牛陣容有變化

牛眼看球
2026-04-24 18:24:00
印度考察團來華被震撼到恍惚,他們預判,中國將超越美國引領世界

印度考察團來華被震撼到恍惚,他們預判,中國將超越美國引領世界

通文解武
2026-04-23 15:15:03
許利民:威廉姆斯打得很好,無私的球風會在季后賽給球隊巨大幫助

許利民:威廉姆斯打得很好,無私的球風會在季后賽給球隊巨大幫助

懂球帝
2026-04-24 21:36:10
深圳大勝廣州鎖第三創隊史最佳 賀希寧29+7史密斯26+13+13

深圳大勝廣州鎖第三創隊史最佳 賀希寧29+7史密斯26+13+13

醉臥浮生
2026-04-24 21:32:52
因賭球終身禁賽!就為了那么些錢....

因賭球終身禁賽!就為了那么些錢....

柚子說球
2026-04-24 19:34:28
湖人G3決戰火箭!4大喜訊重磅來襲,3-0拿賽點沒懸念

湖人G3決戰火箭!4大喜訊重磅來襲,3-0拿賽點沒懸念

越嶺尋蹤
2026-04-24 10:36:15
眼紅啊!工資到賬19380.52元,自稱“長沙教培牛馬”發帖刷爆網絡

眼紅啊!工資到賬19380.52元,自稱“長沙教培牛馬”發帖刷爆網絡

火山詩話
2026-04-24 07:35:54
洗腦、性侵、亂倫,全球頭號變態復出了

洗腦、性侵、亂倫,全球頭號變態復出了

獨立魚
2026-04-23 22:35:39
特朗普:“伊朗說愿意開放霍爾木茲海峽,一旦開放,他們每天能賺5億美元,我不想讓他們賺,堅持封鎖了海峽,我們完全掌控著局面”

特朗普:“伊朗說愿意開放霍爾木茲海峽,一旦開放,他們每天能賺5億美元,我不想讓他們賺,堅持封鎖了海峽,我們完全掌控著局面”

魯中晨報
2026-04-24 14:32:16
孫怡綜藝煮自熱火鍋,范瑋琪震驚直呼沒見過,網友:臺灣太落后

孫怡綜藝煮自熱火鍋,范瑋琪震驚直呼沒見過,網友:臺灣太落后

橙星文娛
2026-04-24 15:35:02
林允變得越來越嫵媚了,綠色短袖搭配黑色西服少婦韻味滿滿!

林允變得越來越嫵媚了,綠色短袖搭配黑色西服少婦韻味滿滿!

說不盡的人心
2026-04-24 21:30:42
北大饒毅教授發文:“再刪試試看”

北大饒毅教授發文:“再刪試試看”

TOP大學來了
2026-04-21 22:33:06
?從紐卡棄將到英超搶手貨,安德森憑什么讓曼城曼聯都眼紅?

?從紐卡棄將到英超搶手貨,安德森憑什么讓曼城曼聯都眼紅?

樂道足球
2026-04-24 20:32:42
德國工程師:中國人難道不知南水北調的弊端,環保大國稱號何來?

德國工程師:中國人難道不知南水北調的弊端,環保大國稱號何來?

心靈得以滋養
2026-03-13 22:44:44
河南一縣,將獲5000萬元中央財政補助

河南一縣,將獲5000萬元中央財政補助

大象新聞
2026-04-24 12:53:09
恭喜印度,跟中國叫板了這么多年,終于把自己叫到了“小孩那桌”

恭喜印度,跟中國叫板了這么多年,終于把自己叫到了“小孩那桌”

軒逸阿II
2026-04-24 08:23:32
雷軍車展整活出圈!送上趣味定制T恤,李想李斌何小鵬全員接梗

雷軍車展整活出圈!送上趣味定制T恤,李想李斌何小鵬全員接梗

雷科技
2026-04-24 17:46:03
2026-04-24 22:15:00
工程師看海 incentive-icons
工程師看海
專注硬件設計、PCB走線
327文章數 202關注度
往期回顧 全部

科技要聞

DeepSeek V4牽手華為,價格依然"屠夫級"

頭條要聞

航班提前起飛10分鐘 大學生把海航告了

頭條要聞

航班提前起飛10分鐘 大學生把海航告了

體育要聞

里程碑之戰拖后腿,哈登18分8失誤

娛樂要聞

停工16個月!趙露思證實接拍新劇

財經要聞

LG財閥內斗:百億美元商業帝國爭奪戰

汽車要聞

零跑Lafa5 Ultra北京車展上市:11.88-12.48萬

態度原創

親子
房產
教育
手機
公開課

親子要聞

韓國叔叔又來看小滿了 看看小叔子說話那個表情 笑死...

房產要聞

新一輪教育大爆發來了!海口,開始瘋狂建學校!

教育要聞

官宣!西城中部教育格局變臉!老牌示范校新校區來了

手機要聞

消息稱蘋果20周年紀念版iPhone將采用定制“微曲面”OLED屏幕

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進入關懷版