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

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

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

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

深入剖析SPI協(xié)議

FPGA設(shè)計(jì)論壇 ? 來源:CSDN技術(shù)社區(qū) ? 2025-08-21 15:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、什么是SPI協(xié)議

SPI,全稱(Serial Peripheral interface)是由摩托羅拉公司首先定義的協(xié)議,中文名為串型外圍設(shè)備接口。SPI是一種高速全雙工的總線協(xié)議

Serial(串型):與并型相對應(yīng),單向數(shù)據(jù)通路只需要一根線,而同樣常見的AMBA則為并型總線

Peripheral(外圍):指此總線多用來連接如“AD轉(zhuǎn)換、EEPROM、PWM”等外圍設(shè)備,即對應(yīng)于AMBA的APB部分

Interface(總線接口):很好理解,不再贅述。

二、什么是全雙工通信協(xié)議

通信協(xié)議可以按照通信方式分為單工,半雙工,全雙工三種。

單工:發(fā)射端和接收端固定,有一條數(shù)據(jù)通路,通路上數(shù)據(jù)單向流動。

半雙工:發(fā)射端和接收端可變,有一條數(shù)據(jù)通路,通路上數(shù)據(jù)雙向流動。

全雙工:發(fā)射端和接收端,有兩條數(shù)據(jù)通路,一條從TX到RX,另一條從RX到TX。

一張形象的圖片表示如下

2f3b6b3c-7bfd-11f0-a18e-92fbcf53809c.png

比如說我們在從零開始的Verilog UART設(shè)計(jì)中所實(shí)現(xiàn)的就是一個單工UART

因?yàn)镾PI是全雙工總線協(xié)議,因此SPI的數(shù)據(jù)通路上存在從主設(shè)備到從設(shè)備的數(shù)據(jù)通道和從從設(shè)備到主設(shè)備的數(shù)據(jù)通道

三、SPI的信號

SPI需要四條線才能完成數(shù)據(jù)的發(fā)送,分為3條總線和1條片選線

2f51dc0a-7bfd-11f0-a18e-92fbcf53809c.png

SCK:Serial Clock, 串行時鐘信號,SPI需要依靠著這個信號的邊沿進(jìn)行數(shù)據(jù)的傳遞

MOSI:Master output Slave input,對于主設(shè)備來說,是發(fā)送數(shù)據(jù)的端口,對于從設(shè)備來說,是接收數(shù)據(jù)的端口。

MISO:Master input Slave output,對于從設(shè)備來說,是接收數(shù)據(jù)的端口,對于主設(shè)備來說,是發(fā)送數(shù)據(jù)的端口。

NSS: N Slave connect,一般情況下是由主機(jī)發(fā)送,從機(jī)接收,表示哪一個從設(shè)備有效的信號

因?yàn)镸OSI和MISO的存在,因此SPI才是一個全雙工的協(xié)議(即分別對于主設(shè)備和從設(shè)備來說,既可以發(fā)送數(shù)據(jù),又可以接收數(shù)據(jù))

四、SPI的連接方式

根據(jù)從設(shè)備之間是否存在聯(lián)系,我們可以將SPI的連接方式分為“多NSS形式”和”菊花鏈形式”。

4.1 多NSS形式

SPI的第一種連接方式是“多NSS形式”的連接,比如說從設(shè)備1是一個AD轉(zhuǎn)換模塊,從設(shè)備2是一個比較器,設(shè)備3是一塊液晶,他們之間沒有聯(lián)系,主設(shè)備需要操控哪個從設(shè)備,就拉低對應(yīng)NSS上面的信號,使能從設(shè)備進(jìn)行數(shù)據(jù)轉(zhuǎn)換

2f64a24a-7bfd-11f0-a18e-92fbcf53809c.png

4.2 菊花鏈形式

SPI協(xié)議的第二種形式是菊花鏈的形式,比如說從設(shè)備1是一塊EEPROM,從設(shè)備2是一個DSP,從設(shè)備3是一個比較器,三個從設(shè)備之間存在聯(lián)系,當(dāng)來自主設(shè)備的地址信號到來時,先從EEPROM中讀出數(shù)據(jù),數(shù)據(jù)放到DSP中進(jìn)行處理,處理后的數(shù)據(jù),最終在從設(shè)備3中進(jìn)行比較

2f80c13c-7bfd-11f0-a18e-92fbcf53809c.png

五、SPI可配置變量

5.1 時鐘極性(CPOL)

時鐘極性(CPOL)指通訊設(shè)備處于空閑狀態(tài)(SPI開始通訊前、nSS線無效)時,SCK的狀態(tài)。

2f98b7b0-7bfd-11f0-a18e-92fbcf53809c.png

這里的CPOL實(shí)際上對應(yīng)于狀態(tài)機(jī)IDLE狀態(tài)時的SCK的值是0是1,即三段式狀態(tài)機(jī)IDLE時的輸出

5.2 時鐘相位(CPHA)

時鐘相位(CPHA)指數(shù)據(jù)的采樣時刻位于SCK的偶數(shù)邊沿采樣還是奇數(shù)邊沿采樣。

2fab4f42-7bfd-11f0-a18e-92fbcf53809c.png

舉例:假如CPOL = 0時,CPHA=0,對應(yīng)1,3,5處采樣,即為上升沿采樣,CPHA=1,對應(yīng)2,4,6處采樣,即為下降沿采樣。

2fb87d16-7bfd-11f0-a18e-92fbcf53809c.png

這里的CPHA也同樣能在狀態(tài)機(jī)的跳變中得到體現(xiàn),即對應(yīng)某些狀態(tài)的采樣行為

5.3 CPOL和CPHA組合出四種情況

2fc9b5cc-7bfd-11f0-a18e-92fbcf53809c.png

根據(jù)這個圖,我們可以發(fā)現(xiàn)

Case1:CPOL=0, CPHA=0

Case2:CPOL=1, CPHA=1,Case1和Case2都對應(yīng)上升沿觸發(fā)

Case3:CPOL=0, CPHA=1

Case4:CPOL=1, CPHA=0,Case3和Case4都對應(yīng)下降沿觸發(fā)

為了保證采樣的時候數(shù)據(jù)穩(wěn)定,我們還需要做些什么?

我們需要保證采樣的時候數(shù)據(jù)是穩(wěn)定的,才不會發(fā)生建立時間和保持時間的違例,因此,當(dāng)我們在上升沿的時候進(jìn)行采樣,我們可以在前一個相差半個時鐘周期的下降沿,切換數(shù)據(jù)。

同樣,當(dāng)我們在下降沿的時候進(jìn)行采樣,我們也可以在前一個相差半個時鐘周期的上升沿,切換數(shù)據(jù),以此來保證采樣時的數(shù)據(jù)穩(wěn)定性。

5.4數(shù)據(jù)大小

有一張非常形象的圖片來形容SPI的數(shù)據(jù)發(fā)送與接收,即每當(dāng)Master發(fā)送一位數(shù)據(jù)的時候,他還會接收到一位數(shù)據(jù),因此對于SPI來說,數(shù)據(jù)傳輸?shù)谋举|(zhì)其實(shí)是兩個寄存器的移位操作,寄存器的位寬,就是我們所說的數(shù)據(jù)大小,一般情況下,SPI的數(shù)據(jù)大小是一個字節(jié)或者兩個字節(jié)(8位或16位)

2fe30626-7bfd-11f0-a18e-92fbcf53809c.png

5.5 波特率分頻系數(shù)

對于全局時鐘來講,頻率可能會很高,比如常見的CPU是GHz級別,常見的MCU也有近百M(fèi)Hz級別,但是對于所連接的外設(shè),受限于建立時間和保持時間的限制,可能沒有辦法跑到MCU主頻的級別,因此我們可能需要波特率分頻系數(shù)來對高速全局時鐘進(jìn)行處理,以此來確保不發(fā)生data的violation。

5.6 其他參數(shù)

以上參數(shù)可以保證SPI的基本功能,但一個更為完善的SPI當(dāng)然不僅限于以上參數(shù),以下參數(shù)僅作基本梳理,感興趣的同學(xué)可自行了解相關(guān)內(nèi)容。

SPI_FirstBit,決定SPI是MSB還是LSB的傳輸形式

SPI_CRCPolynomial,決定SPI是否采用CRC校驗(yàn)的形式進(jìn)行數(shù)據(jù)傳輸

SPI_Direction; 傳輸方向,兩向全雙工或單向接收

原文鏈接

https://blog.csdn.net/weixin_43698385/article/details/124928101

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

    關(guān)注

    28

    文章

    1086

    瀏覽量

    42077
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    9507

    瀏覽量

    156881
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    3037

    瀏覽量

    91609
  • SPI協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    8830

原文標(biāo)題:理解SPI協(xié)議

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    深入剖析I2C協(xié)議

    I2C是由Philips開發(fā)的簡單的雙向兩線總線,在深入淺出理解SPI協(xié)議中,我們區(qū)分了單工,半雙工,全雙工協(xié)議數(shù)據(jù)流向的區(qū)別,根據(jù)特征,I2C協(xié)議
    的頭像 發(fā)表于 08-21 15:10 ?3648次閱讀
    <b class='flag-5'>深入</b><b class='flag-5'>剖析</b>I2C<b class='flag-5'>協(xié)議</b>

    深入最經(jīng)典的電容剖析

    本帖最后由 eehome 于 2013-1-5 10:07 編輯 最深入最經(jīng)典的電容剖析
    發(fā)表于 08-02 21:52

    深入最經(jīng)典的電容剖析

    `最深入最經(jīng)典的電容剖析PCB打樣找華強(qiáng) http://www.hqpcb.com/3 樣板2天出貨`
    發(fā)表于 10-17 10:50

    STM32 單片機(jī)C語言課程4-C語言預(yù)處理深入剖析1

    本帖最后由 張飛電子學(xué)院張角 于 2021-9-13 11:42 編輯 大家上午好!今天為大家講解C語言預(yù)處理深入剖析,請持續(xù)關(guān)注,會持續(xù)進(jìn)行更新!前期回顧:STM32 單片機(jī)C語言課程3-C
    發(fā)表于 09-10 08:31

    STM32 單片機(jī)C語言課程5-C語言預(yù)處理深入剖析2

    大家上午好!今天為大家講解C語言預(yù)處理深入剖析,請持續(xù)關(guān)注,會持續(xù)進(jìn)行更新!前期回顧:STM32 單片機(jī)C語言課程4-C語言預(yù)處理深入剖析1STM32 單片機(jī)C語言課程3-C語言“函數(shù)
    發(fā)表于 09-13 11:40

    STM32 SPI通信協(xié)議的相關(guān)資料分享

    特性及架構(gòu)4.1、STM32的SPI外設(shè)簡介4.2、STM32的SPI架構(gòu)剖析4.2.1、通信引腳4.2.2、時鐘控制邏輯4.2.3、數(shù)據(jù)控制邏輯4.2.4、整體控制邏輯4.2.5、通信過程(一)
    發(fā)表于 02-11 06:10

    深入剖析Android消息機(jī)制

    深入剖析Android消息機(jī)制
    發(fā)表于 01-22 21:11 ?11次下載

    基于FPGA的SPI協(xié)議及設(shè)計(jì)實(shí)現(xiàn)

    基于FPGA的SPI協(xié)議及設(shè)計(jì)實(shí)現(xiàn)博主微信:flm13724054952,不懂的有疑惑的也可以加微信咨詢,歡迎大家前來投稿,謝謝!引言介紹在電子通信領(lǐng)域里采用的通信協(xié)議有IIC,SPI
    發(fā)表于 11-05 19:05 ?24次下載
    基于FPGA的<b class='flag-5'>SPI</b><b class='flag-5'>協(xié)議</b>及設(shè)計(jì)實(shí)現(xiàn)

    STM32 SPI通信協(xié)議詳細(xì)講解—小白入門

    特性及架構(gòu)4.1、STM32的SPI外設(shè)簡介4.2、STM32的SPI架構(gòu)剖析4.2.1、通信引腳4.2.2、時鐘控制邏輯4.2.3、數(shù)據(jù)控制邏輯4.2.4、整體控制邏輯4.2.5、通信過程(一)
    發(fā)表于 12-07 18:36 ?13次下載
    STM32 <b class='flag-5'>SPI</b>通信<b class='flag-5'>協(xié)議</b>詳細(xì)講解—小白入門

    STM32 SPI配置及深入解析

    SPI分析平時會使用硬件SPI,但是只用于應(yīng)用沒有具體深入了解SPI的執(zhí)行流程,此處我采用抓取波形的方式對SPI進(jìn)行了一下
    發(fā)表于 12-22 19:16 ?4次下載
    STM32 <b class='flag-5'>SPI</b>配置及<b class='flag-5'>深入</b>解析

    SPI協(xié)議

    目錄SPI協(xié)議簡介SPI物理層SPI協(xié)議SPI協(xié)議
    發(fā)表于 12-22 19:17 ?37次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>協(xié)議</b>

    spi協(xié)議介紹

    文章目錄前言一、SPI介紹1.SPI總線2.尋址方式二、通信原理1.通信過程2.極性和相位3.四種工作模式三、SPI與I2C的異同1.相同點(diǎn)2.不同點(diǎn)總結(jié)前言spi
    發(fā)表于 12-22 19:21 ?19次下載
    <b class='flag-5'>spi</b><b class='flag-5'>協(xié)議</b>介紹

    一文看懂SPI協(xié)議

    作者:王超首發(fā):電子電路開發(fā)學(xué)習(xí)都有哪些內(nèi)容?SPI協(xié)議簡介4線還是3線?4種工作模式多種傳輸速率SPI協(xié)議的時序SPI
    發(fā)表于 01-25 18:35 ?38次下載
    一文看懂<b class='flag-5'>SPI</b><b class='flag-5'>協(xié)議</b>

    SPI協(xié)議相關(guān)的內(nèi)容

    今天分享SPI協(xié)議相關(guān)的內(nèi)容。
    的頭像 發(fā)表于 09-05 10:50 ?1785次閱讀

    深入剖析高速SiC MOSFET的開關(guān)行為

    深入剖析高速SiC MOSFET的開關(guān)行為
    的頭像 發(fā)表于 12-04 15:26 ?2353次閱讀
    <b class='flag-5'>深入</b><b class='flag-5'>剖析</b>高速SiC MOSFET的開關(guān)行為