chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

SPI通信筆記:基礎(chǔ)+動(dòng)圖+時(shí)序圖+總結(jié),一文吃透!

工程師看海 ? 來(lái)源:硬件筆記本 ? 作者:硬件筆記本 ? 2025-07-29 14:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

原文授權(quán)自公眾號(hào):硬件筆記本

大家好,今天咱們來(lái)詳細(xì)聊聊SPI接口,文章內(nèi)容有點(diǎn)多,建議先收藏起來(lái)再慢慢看。

SPI現(xiàn)在已經(jīng)成為MCU和外圍設(shè)備之間最常用的通信方式了。它是一種同步、全雙工、主從式的通信接口。工作原理其實(shí)很直接:主機(jī)產(chǎn)生時(shí)鐘信號(hào),從機(jī)跟著這個(gè)時(shí)鐘同步收發(fā)數(shù)據(jù)。允許雙向傳輸,可以在同一時(shí)鐘周期內(nèi)進(jìn)行主從設(shè)備的數(shù)據(jù)交換。

wKgZPGiIaBWAX4OmAAMyAiNf-bY767.png

這種設(shè)計(jì)讓SPI既簡(jiǎn)單又高效,特別適合需要快速傳輸數(shù)據(jù)的場(chǎng)合。不過(guò)要注意的是,SPI沒(méi)有標(biāo)準(zhǔn)的通信協(xié)議,不同廠家的設(shè)備可能會(huì)有差異,所以用的時(shí)候一定要仔細(xì)看芯片手冊(cè)。

011

典型應(yīng)用場(chǎng)景

SPI接口的核心優(yōu)勢(shì)在于它的簡(jiǎn)單性靈活性,典型應(yīng)用場(chǎng)景包括:

1、傳感器數(shù)據(jù)采集(如溫度傳感器、IMU),例如:TMP124芯片,它是由TI推出的工業(yè)級(jí)數(shù)字溫度傳感器,主打高精度+SPI接口組合,適合對(duì)測(cè)溫有嚴(yán)苛要求的場(chǎng)景。

wKgZPGiIaBWAXDqtAABb1J-lRew552.png

2、存儲(chǔ)器讀寫(Flash、EEPROM),比如小容量的AT25040,常用來(lái)存儲(chǔ)配置參數(shù)和校準(zhǔn)數(shù)據(jù)。

wKgZPGiIaBWABBpAAABBjKl3iKk304.png

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

wKgZPGiIaBWAGCh2AAAd-stUY08410.png

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

wKgZPGiIaBWAZHdZAAWcvFPilKg179.png

021

SPI的連接方式和工作速度

連接方式

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

片選(CS):片選信號(hào),低電平有效

時(shí)鐘(SPI CLK, SCLK):時(shí)鐘信號(hào)由主機(jī)產(chǎn)生

MOSI:主機(jī)輸出,從機(jī)輸入

MISO主機(jī)輸入,從機(jī)輸出

wKgZPGiIaBWAG1UtAABUjYREXu8824.png

主機(jī)和從機(jī)之間的SPI連接 這里要注意一下,主機(jī)和從機(jī)的MOSI和MISO的接線,這個(gè)跟串口TX,RX不一樣,很多人容易搞錯(cuò),主機(jī)的MISO接從機(jī)的MISO,主機(jī)的MOSI接從機(jī)的MOSI,直連不交叉。 那怎么判斷哪個(gè)是主機(jī)呢?咱們產(chǎn)生時(shí)鐘信號(hào)的器件稱為主機(jī)。主機(jī)和從機(jī)之間傳輸?shù)臄?shù)據(jù)與主機(jī)產(chǎn)生的時(shí)鐘同步。另外SPI接口只能有一個(gè)主機(jī),但可以有一個(gè)或多個(gè)從機(jī)。關(guān)注公眾號(hào):硬件筆記本 來(lái)自主機(jī)的片選信號(hào)用于選擇從機(jī)。這通常是一個(gè)低電平有效信號(hào),拉高時(shí)從機(jī)與SPI總線斷開(kāi)連接。當(dāng)使用多個(gè)從機(jī)時(shí),主機(jī)需要為每個(gè)從機(jī)提供單獨(dú)的片選信號(hào)。

工作速度

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

消費(fèi)級(jí)IC:1-10 MHz(4-40 Mbps) 工業(yè)級(jí)器件:10-25 MHz(40-100 Mbps) 但咱們?cè)趯?shí)際應(yīng)用中,會(huì)受限于外設(shè)支持(如Flash芯片可達(dá)80 MHz,傳感器通常8 MHz)

這里再插一句,對(duì)比I2C來(lái)說(shuō),I2C速度就低太多了:標(biāo)準(zhǔn)模式100Kbps,高速模式5Mbps(理論值),但是I2C會(huì)少占用兩個(gè)IO口,所以I2C速度勝在省引腳,SPI贏在速度快。

031

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

SPI的數(shù)據(jù)傳輸,整個(gè)過(guò)程是這樣的:

首先,作為主控的設(shè)備要產(chǎn)生時(shí)鐘信號(hào)(SCLK),這個(gè)信號(hào)就像通信的節(jié)拍器。同時(shí),主機(jī)要通過(guò)拉低片選信號(hào)(CS)來(lái)選中要通信的從設(shè)備,這個(gè)CS信號(hào)通常是低電平有效,所以主機(jī)要給它一個(gè)邏輯0。

SPI最厲害的地方在于它是全雙工的,這意味著主機(jī)可以通過(guò)MOSI線往外發(fā)送數(shù)據(jù)的同時(shí),從設(shè)備也能通過(guò)MISO線往主機(jī)發(fā)送數(shù)據(jù),兩邊是同時(shí)進(jìn)行的。具體來(lái)說(shuō),主機(jī)把數(shù)據(jù)一位一位地放到MOSI線上移出去,同時(shí)又在MISO線上一位一位地收數(shù)據(jù)。

所有這些數(shù)據(jù)的發(fā)送和接收都是嚴(yán)格跟著時(shí)鐘信號(hào)的邊沿走的,你可以選擇在時(shí)鐘的上升沿或者下降沿來(lái)采樣數(shù)據(jù)。至于每次通信要傳多少位數(shù)據(jù),這個(gè)得看具體器件的規(guī)格書(shū),不同芯片的要求可能不一樣。

咱們來(lái)看兩張動(dòng)圖

wKgZPGiIaBaAK6YJAAElvIE8UBY687.gif

wKgZPGiIaBaAIGnfAANvDuistc0786.gif

這個(gè)過(guò)程中要注意三點(diǎn):

1、是時(shí)鐘必須由主機(jī)產(chǎn)生;

2、CS信號(hào)要提前拉低選中從機(jī);

3、數(shù)據(jù)的收發(fā)是同步進(jìn)行的,不是先發(fā)后收或者先收后發(fā)。這種設(shè)計(jì)讓SPI既簡(jiǎn)單又高效,特別適合需要快速傳輸數(shù)據(jù)的場(chǎng)合。

原文授權(quán)自公眾號(hào):硬件筆記本

041

工作模式

SPI有4種工作模式,主要通過(guò)CPOL和CPHA兩個(gè)參數(shù)來(lái)配置:

wKgZPGiIaBaAAF3GAADX6H8UT1A604.png

如下是SPI模式0的時(shí)序圖。

傳輸?shù)拈_(kāi)始和結(jié)束用綠色虛線表示;采樣邊沿用橙色虛線表示;移位邊沿用藍(lán)色虛線表示。當(dāng)然,這些圖形僅供參考。要成功進(jìn)行SPI通信,必須參閱器件的數(shù)據(jù)手冊(cè)并確保滿足器件的時(shí)序規(guī)格。

wKgZPGiIaBaAOVUpAAEroTRsMNM137.png

如下是SPI模式1的時(shí)序圖。此時(shí):

時(shí)鐘極性為0,表示時(shí)鐘信號(hào)的空閑狀態(tài)為低電平;

時(shí)鐘相位為1,表示數(shù)據(jù)在下降沿采樣(由橙色虛線顯示),并且數(shù)據(jù)在時(shí)鐘信號(hào)的上升沿移出(由藍(lán)色虛線顯示)。

wKgZPGiIaBaAbP1FAAD9nT2P9dk815.png

如下是SPI模式2的時(shí)序圖。此時(shí):

時(shí)鐘極性為1,表示時(shí)鐘信號(hào)的空閑狀態(tài)為高電平。

時(shí)鐘相位為1,表示數(shù)據(jù)在下降沿采樣(由橙色虛線顯示),并且數(shù)據(jù)在時(shí)鐘信號(hào)的上升沿移出(由藍(lán)色虛線顯示)。

wKgZPGiIaBaANYRQAAF6rC14DrA437.png

如下是SPI模式3的時(shí)序圖。此時(shí):

時(shí)鐘極性為1,表示時(shí)鐘信號(hào)的空閑狀態(tài)為高電平。

時(shí)鐘相位為0,表示數(shù)據(jù)在上升沿采樣(由橙色虛線顯示),并且數(shù)據(jù)在時(shí)鐘信號(hào)的下降沿移出(由藍(lán)色虛線顯示)。

wKgZPGiIaBaAICnxAAGqzx2A8-s880.png

051

多從機(jī)配置

咱們的多個(gè)從機(jī)可與單個(gè)SPI主機(jī)一起使用。從機(jī)可以采用常規(guī)模式連接,或采用菊花鏈模式連接。

常規(guī)SPI模式:

wKgZPGiIaBaAZ3xbAADBjpjXj1Y866.png

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

這里有個(gè)重要限制:同一時(shí)間只能有一個(gè)從機(jī)的CS信號(hào)被拉低,如果同時(shí)拉低多個(gè)CS信號(hào),會(huì)導(dǎo)致多個(gè)從機(jī)同時(shí)在MISO線上返回?cái)?shù)據(jù),造成數(shù)據(jù)沖突,主機(jī)就無(wú)法分辨這些數(shù)據(jù)到底來(lái)自哪個(gè)從機(jī)。

隨著系統(tǒng)連接的從機(jī)數(shù)量增多,主機(jī)需要提供的片選線數(shù)量也會(huì)相應(yīng)增加。比如連接8個(gè)從機(jī)就需要8根獨(dú)立的CS線,這會(huì)快速占用主機(jī)的IO口資源,從而限制了系統(tǒng)能夠支持的從機(jī)數(shù)量。為了解決這個(gè)問(wèn)題,可以采用一些擴(kuò)展技術(shù),比如使用多路復(fù)用器(MUX)來(lái)產(chǎn)生片選信號(hào)。不過(guò)這種方案會(huì)增加一些硬件復(fù)雜度,需要額外添加多路復(fù)用器芯片。

菊花鏈模式:

wKgZPGiIaBeAYcLLAACk0cxnIFk342.png

在SPI菊花鏈連接方式下,所有從設(shè)備共享同一個(gè)片選信號(hào)(CS),從一個(gè)從機(jī)傳播到下一個(gè)從機(jī)。具體工作過(guò)程是:主機(jī)發(fā)出時(shí)鐘信號(hào)(SCLK)后,數(shù)據(jù)首先傳輸?shù)降谝粋€(gè)從機(jī),第一個(gè)從機(jī)將數(shù)據(jù)提供給第二個(gè)從機(jī),這樣依次傳遞下去。所有從機(jī)都使用同一個(gè)時(shí)鐘信號(hào)進(jìn)行同步。

這種連接方式的特點(diǎn)是數(shù)據(jù)傳輸需要更多的時(shí)鐘周期。如下圖,比如在一個(gè)8位數(shù)據(jù)寬度的系統(tǒng)中,如果要讓第三個(gè)從機(jī)收到數(shù)據(jù),就需要24個(gè)時(shí)鐘脈沖(3個(gè)從機(jī)×8位),而在常規(guī)SPI模式下只需要8個(gè)時(shí)鐘脈沖。這是因?yàn)閿?shù)據(jù)需要依次通過(guò)每個(gè)從機(jī),每個(gè)從機(jī)都會(huì)對(duì)數(shù)據(jù)進(jìn)行處理和轉(zhuǎn)發(fā)。

wKgZPGiIaBeAcBTlAAFbK052Pfo446.png

菊花鏈配置:數(shù)據(jù)傳播

需要注意的是,不是所有SPI設(shè)備都支持菊花鏈模式。在使用這種連接方式前,必須仔細(xì)查看所用芯片的技術(shù)手冊(cè),確認(rèn)其是否支持菊花鏈功能。有些芯片可能只支持常規(guī)的獨(dú)立片選模式。此外,菊花鏈模式雖然節(jié)省了片選信號(hào)線,但會(huì)降低通信效率,因此要根據(jù)實(shí)際應(yīng)用需求權(quán)衡選擇。

061

總結(jié)

SPI接口雖然簡(jiǎn)單,但在實(shí)際應(yīng)用中需要注意很多細(xì)節(jié):

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

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

3、多從機(jī)時(shí)要合理選擇連接方式。

記住這些要點(diǎn),就能用好SPI接口啦!如果遇到問(wèn)題,最靠譜的辦法就是查閱器件的數(shù)據(jù)手冊(cè)。

原文授權(quán)自公眾號(hào):硬件筆記本 特此鳴謝!

掃碼關(guān)注,看更多技術(shù)文章

wKgZPGiIaBeAaXdeAAB8M7_Wfjg826.jpg

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

    關(guān)注

    17

    文章

    1835

    瀏覽量

    98651
  • 通信接口
    +關(guān)注

    關(guān)注

    3

    文章

    256

    瀏覽量

    31721
  • SPI接口
    +關(guān)注

    關(guān)注

    0

    文章

    271

    瀏覽量

    36129
  • SPI通信
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    AD7193如何通過(guò)spi時(shí)序來(lái)進(jìn)行模擬spi通信編程?

    本人準(zhǔn)備應(yīng)用AD7193,現(xiàn)在直無(wú)法實(shí)現(xiàn)AD7193 的spi通信,請(qǐng)問(wèn)如何通過(guò)spi時(shí)序
    發(fā)表于 12-21 07:36

    如何看時(shí)序,如何用時(shí)序

    如何看時(shí)序,如何用時(shí)序?求些詳細(xì)的資料。
    發(fā)表于 01-21 12:29

    什么是SPISPI通信過(guò)程?是怎樣的

    目錄SPI主線協(xié)議——ESP32學(xué)習(xí)筆記零、前言、什么是SPI?二、通信過(guò)程?三、極性和相位四、總結(jié)
    發(fā)表于 02-17 06:52

    求分享下FlexIO時(shí)序嗎?

    引腳:FlexIO_D6 來(lái)自主控端的 SPI 固定為模式 3(即 CPOL = 1 和 CPHA = 1)。所以 uC FlexIO 將支持模式 3。 可以分享下 FlexIO 時(shí)序
    發(fā)表于 05-04 08:17

    AD9945與STM32之間通過(guò)SPI通信,通信時(shí)序怎么寫?

    我最近做個(gè)CCD的項(xiàng)目,需要用到AD9945,因?yàn)樗念l率高,但是AD9945怎么與STM32F103外部引腳連接,他輸出的12位并行數(shù)據(jù)接到哪里?還有AD9945與STM32之間通過(guò)SPI通信
    發(fā)表于 12-05 08:28

    時(shí)序和類的關(guān)系

    時(shí)序是在軟件系統(tǒng)設(shè)計(jì)中直接和程序代碼相關(guān)聯(lián)的,準(zhǔn)確地說(shuō),程序代碼是由類直接產(chǎn)生,而時(shí)序
    發(fā)表于 10-29 11:21 ?7109次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>圖</b>和類<b class='flag-5'>圖</b>的關(guān)系

    什么是時(shí)序_時(shí)序怎么看_教你如何看懂時(shí)序

    時(shí)序在有些教材上,又被翻譯為順序,兩者在表述上雖然有些差別,但是大體都是準(zhǔn)確的,可能稱之為時(shí)序
    發(fā)表于 12-11 19:31 ?17.2w次閱讀
    什么是<b class='flag-5'>時(shí)序</b><b class='flag-5'>圖</b>_<b class='flag-5'>時(shí)序</b><b class='flag-5'>圖</b>怎么看_教你如何看懂<b class='flag-5'>時(shí)序</b><b class='flag-5'>圖</b>

    SPI通信筆記

    、SPI通信概述SPI,Serial Peripheral Interface,串行外設(shè)接口。1、總線構(gòu)成:時(shí)鐘線SCK(主機(jī)用于控制通信
    發(fā)表于 12-09 17:21 ?6次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>通信筆記</b>

    SPI主線協(xié)議——ESP32學(xué)習(xí)筆記

    目錄SPI主線協(xié)議——ESP32學(xué)習(xí)筆記零、前言、什么是SPI?二、通信過(guò)程?三、極性和相位四、總結(jié)
    發(fā)表于 12-22 19:23 ?18次下載
    <b class='flag-5'>SPI</b>主線協(xié)議——ESP32學(xué)習(xí)<b class='flag-5'>筆記</b>

    SPI總線協(xié)議及SPI時(shí)序詳解

    的管腳,同時(shí)為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡(jiǎn)單易用的特性,現(xiàn)在越來(lái)越多的芯片集成了這種通信協(xié)議。 SPI個(gè)環(huán)形總線結(jié)構(gòu),由ss(cs)、sck、sdi、sdo構(gòu)成,其時(shí)序
    發(fā)表于 02-11 15:41 ?31次下載
    <b class='flag-5'>SPI</b>總線協(xié)議及<b class='flag-5'>SPI</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>圖</b>詳解

    關(guān)于紅外通信原理時(shí)序介紹

    關(guān)于紅外通信原理時(shí)序介紹,幫助單片機(jī)寫代碼程序
    發(fā)表于 06-26 09:25 ?0次下載

    PLC時(shí)序的理解

    學(xué)習(xí)PLC編程的過(guò)程中,經(jīng)常接觸到個(gè)概念,就是時(shí)序,開(kāi)始的時(shí)候,跳過(guò)了時(shí)序的學(xué)習(xí),今天在這里補(bǔ)上時(shí)
    的頭像 發(fā)表于 04-25 11:31 ?1.5w次閱讀
    PLC<b class='flag-5'>時(shí)序</b><b class='flag-5'>圖</b>的理解

    UML時(shí)序詳解

    本篇介紹了UML時(shí)序的基礎(chǔ)知識(shí),并通過(guò)visio繪制個(gè)物聯(lián)網(wǎng)設(shè)備WIFI配網(wǎng)的UML時(shí)序實(shí)例,來(lái)介紹UML
    的頭像 發(fā)表于 05-16 09:09 ?3394次閱讀
    UML<b class='flag-5'>時(shí)序</b><b class='flag-5'>圖</b>詳解

    SPI子系統(tǒng)之SPI時(shí)序

    ,硬件設(shè)計(jì)必須注意信號(hào)質(zhì)量風(fēng)險(xiǎn),軟件開(kāi)發(fā)人員也要會(huì)看波形。 這里的參數(shù),spi 驅(qū)動(dòng)不需要設(shè)置,但是半導(dǎo)體廠商提供的 spi 控制器驅(qū)動(dòng)中,可以修改這些參數(shù)
    的頭像 發(fā)表于 07-27 10:51 ?5748次閱讀
    <b class='flag-5'>SPI</b>子系統(tǒng)之<b class='flag-5'>SPI</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>圖</b>

    10張動(dòng):秒懂各種常用通信協(xié)議原理

    這絕對(duì)是個(gè)寶藏級(jí)別的動(dòng),這些顯示電子系統(tǒng)中信號(hào)波形的動(dòng),有助于幫助我們理解傳輸?shù)臋C(jī)理。Chrent1、
    的頭像 發(fā)表于 11-07 08:06 ?1630次閱讀
    10張<b class='flag-5'>動(dòng)</b><b class='flag-5'>圖</b>:秒懂各種常用<b class='flag-5'>通信</b>協(xié)議原理