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

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

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

什么是SPI?SPI的優(yōu)點(diǎn)有哪些?

Q4MP_gh_c472c21 ? 來源:CSDN ? 作者:kaivenscode ? 2021-06-21 15:41 ? 次閱讀

1、什么是SPI?SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫,是Motorola公司推出的一種同步串行接口技術(shù),是一種高速、全雙工、同步的通信總線。

2、SPI優(yōu)點(diǎn)支持全雙工通信

通信簡(jiǎn)單

數(shù)據(jù)傳輸速率塊

poYBAGDQRAiARuoKAADo-rSz75g140.jpg

3、缺點(diǎn)沒有指定的流控制,沒有應(yīng)答機(jī)制確認(rèn)是否接收到數(shù)據(jù),所以跟IIC總線協(xié)議比較在數(shù)據(jù)可靠性上有一定的缺陷。

4、特點(diǎn)(1):高速、同步、全雙工、非差分、總線式

(2):主從機(jī)通信模式5、SPI電路連接

(1):SPI的通信原理很簡(jiǎn)單,它以主從方式工作,這種模式通常有一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備,有三線制和四線制之分。信號(hào)線包括SDI(串行數(shù)據(jù)輸入 Serial Digital IN)、SDO(串行數(shù)據(jù)輸出 Serial Digital OUT)、SCLK(時(shí)鐘)、CS(片選)。

(2):SDO/MOSI – 主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入

(3):SDI/MISO – 主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸

(4):SCLK – 時(shí)鐘信號(hào),由主設(shè)備產(chǎn)生;

(5):CS/SS – 從設(shè)備使能信號(hào),由主設(shè)備控制。當(dāng)有多個(gè)從設(shè)備的時(shí)候,因?yàn)槊總€(gè)從設(shè)備上都有一個(gè)片選引腳接入到主設(shè)備機(jī)中,當(dāng)主設(shè)備和某個(gè)從設(shè)備通信時(shí)將需要將從設(shè)備對(duì)應(yīng)的片選引腳電平拉低(一般低有效)。

pYYBAGDQRAKAfWZDAACUNZDRmMg672.jpg

6、SPI通信模式分析SPI通信有4種不同的模式,不同的從設(shè)備在出廠時(shí)配置模式已經(jīng)固定, 這是不能改變的,但通信雙方設(shè)備必須工作在同一模式下,所以可以對(duì)主設(shè)備的SPI模式進(jìn)行配置,通過CPOL(時(shí)鐘極性)和CPHA(時(shí)鐘相位)來控制主設(shè)備的通信模式。

具體模式具體如下:

:CPOL=0,CPHA=0

Mode1:CPOL=0,CPHA=1

Mode2:CPOL=1,CPHA=0

Mode3:CPOL=1,CPHA=1

模式CPOLCPHA

Mode000

Mode101

Mode210

Mode311

時(shí)鐘極性CPOL是用來配置SCLK電平的有效態(tài)的;

時(shí)鐘相位CPHA是用來配置數(shù)據(jù)采樣是發(fā)生在第幾個(gè)邊沿的。 CPOL=0表示當(dāng)SCLK=0時(shí)處于空閑態(tài),所以SCLK處于高電平時(shí)有效;

CPOL=1表示當(dāng)SCLK=1時(shí)處于空閑態(tài),所以SCLK處于低電平時(shí)有效;

CPHA=0表示數(shù)據(jù)采樣是在第1個(gè)邊沿,數(shù)據(jù)發(fā)送在第2個(gè)邊沿;

CPHA=1表示數(shù)據(jù)采樣是在第2個(gè)邊沿,數(shù)據(jù)發(fā)送在第1個(gè)邊沿; SPI主模塊和與之通信的外設(shè)通信時(shí),兩者的時(shí)鐘相位和極性應(yīng)該保持一致。7、SPI 時(shí)序詳解CPOL=0,CPHA=0:此時(shí)空閑態(tài)時(shí),SCLK處于低電平,數(shù)據(jù)采樣是在第1個(gè)邊沿,也就是SCLK由低電平到高電平的跳變,所以數(shù)據(jù)采樣是在上升沿,數(shù)據(jù)發(fā)送是在下降沿。 CPOL=0,CPHA=1:此時(shí)空閑態(tài)時(shí),SCLK處于低電平,數(shù)據(jù)發(fā)送是在第1個(gè)邊沿,也就是SCLK由低電平到高電平的跳變,所以數(shù)據(jù)采樣是在下降沿,數(shù)據(jù)發(fā)送是在上升沿。 CPOL=1,CPHA=0:此時(shí)空閑態(tài)時(shí),SCLK處于高電平,數(shù)據(jù)采集是在第1個(gè)邊沿,也就是SCLK由高電平到低電平的跳變,所以數(shù)據(jù)采集是在下降沿,數(shù)據(jù)發(fā)送是在上升沿。 CPOL=1,CPHA=1:此時(shí)空閑態(tài)時(shí),SCLK處于高電平,數(shù)據(jù)發(fā)送是在第1個(gè)邊沿,也就是SCLK由高電平到低電平的跳變,所以數(shù)據(jù)采集是在上升沿,數(shù)據(jù)發(fā)送是在下降沿。

poYBAGDQQ_uAWjhBAAGJtgOANHA880.jpg

注意:SPI主設(shè)備能夠控制時(shí)鐘信號(hào),因?yàn)镾PI通信并不像UART或者IIC通信那樣有專門的通信周期、通信起始信號(hào)、通信結(jié)束信號(hào);所以SPI協(xié)議只能通過控制時(shí)鐘信號(hào)線,在沒有數(shù)據(jù)交流的時(shí)候,時(shí)鐘線要么是保持高電平,要么是保持低電平。 例如:工作在模式0這種時(shí)序(CPOL=0,CPHA=0),如下:

poYBAGDQQ_WAIbXFAADsmFCjIsc371.jpg

我們來關(guān)注SCK的第一個(gè)時(shí)鐘周期,在時(shí)鐘的前沿采樣數(shù)據(jù)(上升沿,第一個(gè)時(shí)鐘沿),在時(shí)鐘的后沿輸出數(shù)據(jù)(下降沿,第二個(gè)時(shí)鐘沿)。首先來看主器件,主器件的輸出口(MOSI)輸出的數(shù)據(jù)bit1,在時(shí)鐘的前沿被從器件采樣,那主器件是在何時(shí)刻輸出bit1的呢?bit1的輸出時(shí)刻實(shí)際上在SCK信號(hào)有效以前,比SCK的上升沿還要早半個(gè)時(shí)鐘周期。bit1的輸出時(shí)刻與SSEL信號(hào)沒有關(guān)系。再來看從器件,主器件的輸入口MISO同樣是在時(shí)鐘的前沿采樣從器件輸出的bit1的,那從器件又是在何時(shí)刻輸出bit1的呢。從器件是在SSEL信號(hào)有效后,立即輸出bit1,盡管此時(shí)SCK信號(hào)還沒有起效。 從這張圖就可以很清楚的看出主從器件的bit1是怎樣輸出的。

poYBAGDQQ--ADHJvAAECHJlf9Y8259.jpg

原文:https://blog.csdn.net/kai_zone/article/details/78038716
責(zé)任編輯:lq6

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

    關(guān)注

    17

    文章

    1682

    瀏覽量

    91059

原文標(biāo)題:SPI怎么玩?搞懂時(shí)序,運(yùn)用自如

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    瀚海微SD NAND之SD 協(xié)議(36)SPI模式

    是在上電后的第一個(gè)reset (CMD0)命令中選擇的,設(shè)備上電后不能更改。 SPI標(biāo)準(zhǔn)只定義了物理鏈路,而不是完整的數(shù)據(jù)傳輸協(xié)議。 SDl存儲(chǔ)卡SPI實(shí)現(xiàn)使用SD存儲(chǔ)卡協(xié)議和命令集的一個(gè)子集。 SPI模式的
    的頭像 發(fā)表于 10-08 10:13 ?156次閱讀
    瀚海微SD NAND之SD 協(xié)議(36)<b class='flag-5'>SPI</b>模式

    轉(zhuǎn)換SPI的電壓

    電子發(fā)燒友網(wǎng)站提供《轉(zhuǎn)換SPI的電壓.pdf》資料免費(fèi)下載
    發(fā)表于 09-21 10:48 ?0次下載
    轉(zhuǎn)換<b class='flag-5'>SPI</b>的電壓

    SPI總線的定義和特點(diǎn)

    SPI總線(Serial Peripheral Interface),全稱為串行外圍設(shè)備接口,是由Motorola公司提出并定義的一種同步、串行、高速的通信總線。SPI總線以其獨(dú)特的優(yōu)勢(shì)在電子通信
    的頭像 發(fā)表于 09-03 14:05 ?333次閱讀

    Vision Board上的SPI設(shè)備驅(qū)動(dòng)配置和SPI主控的外部loopback功能測(cè)試

    感謝發(fā)燒友/* attach spi device */static int rt_spi_device_init(void){ ? ?struct rt_spi_configuration cfg
    的頭像 發(fā)表于 06-04 09:21 ?455次閱讀
    Vision Board上的<b class='flag-5'>SPI</b>設(shè)備驅(qū)動(dòng)配置和<b class='flag-5'>SPI</b>主控的外部loopback功能測(cè)試

    FPGA設(shè)計(jì)中SPI的參數(shù)化結(jié)構(gòu)設(shè)計(jì)方法

    為了避免每次SPI驅(qū)動(dòng)重寫,直接參數(shù)化,盡量一勞永逸。SPI master啥用呢,你發(fā)現(xiàn)各種外圍芯片的配置一般都是通過SPI配置的,只不過
    發(fā)表于 04-02 10:01 ?661次閱讀
    FPGA設(shè)計(jì)中<b class='flag-5'>SPI</b>的參數(shù)化結(jié)構(gòu)設(shè)計(jì)方法

    超詳細(xì)的SPI原理和通信模式

    SPI分為主、從兩種模式,一個(gè)SPI通訊系統(tǒng)需要包含一個(gè)(且只能是一個(gè))主設(shè)備,一個(gè)或多個(gè)從設(shè)備。提供時(shí)鐘的為主設(shè)備(Master),接收時(shí)鐘的設(shè)備為從設(shè)備(Slave),SPI接口的讀寫操作,都是由主設(shè)備發(fā)起。
    發(fā)表于 02-29 12:33 ?3651次閱讀
    超詳細(xì)的<b class='flag-5'>SPI</b>原理和通信模式

    一文詳解SPI串行外設(shè)接口

    SPI也是MCU最常見的對(duì)外通信口之一,由摩托羅拉在上世紀(jì)80年代中開發(fā),用于嵌入式系統(tǒng)中器件之間的短距離數(shù)據(jù)通信,標(biāo)準(zhǔn)模式使用四條信號(hào)線。目前常見的應(yīng)用器件:LCD模組、以太網(wǎng)模塊、SPI串行Flash和很多傳感器等,大部分
    的頭像 發(fā)表于 01-18 09:45 ?5679次閱讀
    一文詳解<b class='flag-5'>SPI</b>串行外設(shè)接口

    硬件spi和軟件spi的區(qū)別

    的,這些模塊通常集成在微控制器或微處理器中。硬件SPI一些獨(dú)立的硬件引腳,用于傳輸數(shù)據(jù),包括時(shí)鐘信號(hào)(SCK)、主設(shè)備輸出數(shù)據(jù)(MOSI)、主設(shè)備輸入數(shù)據(jù)(MISO)和片選信號(hào)(CS)。硬件SPI的傳輸速度較快,可以達(dá)到幾MH
    的頭像 發(fā)表于 12-26 16:55 ?5236次閱讀

    SPI接口的相關(guān)介紹

    SPI和IIC接口一樣是非常常見的開發(fā)板接口,但與IIC相比,SPI設(shè)計(jì)了一種二進(jìn)制流的交互方式,擁有更快的傳輸速度,它可以在任何兩個(gè)嵌入式設(shè)備之間交換消息,ELF1開發(fā)板也是通過SPI接口連接了六
    的頭像 發(fā)表于 12-06 15:49 ?1161次閱讀
    <b class='flag-5'>SPI</b>接口的相關(guān)介紹

    什么是SPI?SPI防火墻的優(yōu)點(diǎn)

    SPI防火墻(Stateful Packet Inspection Firewall)是一種用于網(wǎng)絡(luò)安全的防火墻技術(shù)。SPI防火墻是一種全狀態(tài)數(shù)據(jù)包檢測(cè)型防火墻,主要通過檢查網(wǎng)絡(luò)數(shù)據(jù)包的狀態(tài)信息來
    的頭像 發(fā)表于 11-29 09:42 ?752次閱讀

    SPI接口知識(shí)

    電子發(fā)燒友網(wǎng)站提供《SPI接口知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 11-23 10:12 ?0次下載
    <b class='flag-5'>SPI</b>接口知識(shí)

    SPI協(xié)議知識(shí)講解

    電子發(fā)燒友網(wǎng)站提供《SPI協(xié)議知識(shí)講解.ppt》資料免費(fèi)下載
    發(fā)表于 11-16 10:41 ?2次下載
    <b class='flag-5'>SPI</b>協(xié)議知識(shí)講解

    SPI上拉合不上拉的區(qū)別 UART和SPI的主要區(qū)別

     使用SPI接口時(shí),需要根據(jù)具體的外設(shè)和系統(tǒng)需求來配置SPI的參數(shù),如通信速度、數(shù)據(jù)位寬、主從模式等。主設(shè)備通過操作SPI相關(guān)的寄存器或調(diào)用相應(yīng)的庫函數(shù)來控制數(shù)據(jù)傳輸和通信。從設(shè)備則根據(jù)SPI
    的頭像 發(fā)表于 11-10 16:47 ?9165次閱讀

    單片機(jī)spi接口的使用方法哪些(spi接口和串口的區(qū)別)

    如果單片機(jī)沒有硬件SPI模塊,或者需要額外的IO引腳來實(shí)現(xiàn)多個(gè)SPI設(shè)備的通信,可以使用軟件SPI模擬。軟件SPI通常使用GPIO口模擬SPI
    的頭像 發(fā)表于 11-10 16:38 ?3373次閱讀

    SPI總線協(xié)議概述

    SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫。
    的頭像 發(fā)表于 10-26 15:26 ?529次閱讀
    <b class='flag-5'>SPI</b>總線協(xié)議概述