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

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

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

關(guān)于SPI傳輸過程 stm32 SPI配置

MCU開發(fā)加油站 ? 來源:未知 ? 作者:胡薇 ? 2018-04-20 11:01 ? 次閱讀

SPI (Serial Peripheral interface),顧名思義就是串行外圍設(shè)備接口。SPI是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時為PCB的布局上節(jié)省空間,提供方便,主要應(yīng)用在 EEPROM,F(xiàn)LASH,實時時鐘AD轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。

SPI內(nèi)部簡明結(jié)構(gòu)圖

關(guān)于SPI傳輸過程(下面由靈魂畫家作圖)

SPI包含四根線:

1、SS(Slave Select):片選信號線,當(dāng)有多個SPI設(shè)備與MCU相連時,每個設(shè)備的這個片選信號線是與MCU單獨的引腳相連的,而其他SCK,MOSI,MISO線則為多個設(shè)備并聯(lián)到相同的SPI總線上,當(dāng)SS信號線為低電平時,片選有效,開始SPI通信

2、SCK(Serial Clock):時鐘信號線,由主通信設(shè)備產(chǎn)生,不同的設(shè)備支持的時鐘頻率不一樣。

3、MOSI(Master Output,Slave Input):主設(shè)備輸出、從設(shè)備輸入引腳

4、MISO(Master Input,Slave Output):主設(shè)備輸入、從設(shè)備輸出引腳

關(guān)于SPI模式

根據(jù)SPI時鐘極性(CPOL)和時鐘相位(CPHA)配置的不同可分為4種模式

時鐘極性是指SPI通信設(shè)備處于空閑狀態(tài)時(或SPI通信開始時,即SS為低電平時),SCK的電平信號CPOL=0時,SCK空閑狀態(tài)為低電平,CPOL=1時則相反。

時鐘相位是指數(shù)據(jù)采樣的時刻,當(dāng)CPHA=0時,MOSI或MISO數(shù)據(jù)線會在時鐘線第一個邊沿開始采樣(奇數(shù)邊沿)

當(dāng)CPHA=1時,MOSI或MISO數(shù)據(jù)線會在時鐘線第二個邊沿開始采樣(偶數(shù)邊沿)

步驟分析:SS片選信號線拉低-->根據(jù)CPOL和CPHA進(jìn)行數(shù)據(jù)采樣

stm32 SPI接口框圖

stm32 SPI配置過程

1、配置相關(guān)引腳的復(fù)用功能,使能SPIx時鐘

void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);

2、初始化SPIx,設(shè)置SPIx工作模式

void SPI_Init(SPI_TypeDef* SPIx, SPI_InitTypeDef* SPI_InitStruct);

3、使能SPIx

void SPI_Cmd(SPI_TypeDef* SPIx, FunctionalState NewState);

4、SPI傳輸數(shù)據(jù)

void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data);

uint16_t SPI_I2S_ReceiveData(SPI_TypeDef* SPIx);

5、查看SPI傳輸狀態(tài)

FlagStatus SPI_I2S_GetFlagStatus(SPI_TypeDef* SPIx, uint16_t SPI_I2S_FLAG);

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

    關(guān)注

    4319

    文章

    23099

    瀏覽量

    397941
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1706

    瀏覽量

    91598
  • AD轉(zhuǎn)換器
    +關(guān)注

    關(guān)注

    4

    文章

    250

    瀏覽量

    41420

原文標(biāo)題:stm32之SPI通信協(xié)議

文章出處:【微信號:mcugeek,微信公眾號:MCU開發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    請問stm32 SPI DMA傳輸過程該如何操作?

    程序要使用spi dma,由于以前沒有用到過,有些疑惑,主要使用的是spi2,我主要是想用其接收一幀數(shù)據(jù),主要的配置如下:RCC_AHBPeriphClockCmd
    發(fā)表于 09-05 09:30

    SPI通信模式的配置過程分析

    SPI通信分析許久不更,想你們了。SPI 模式的配置SPI通信配置STM官方的芯片手冊中對于SPI
    發(fā)表于 02-17 07:57

    SPI方式FPGA配置SPI flash編程

    SPI方式FPGA配置SPI flash編程
    發(fā)表于 05-16 18:01 ?165次下載
    <b class='flag-5'>SPI</b>方式FPGA<b class='flag-5'>配置</b>和<b class='flag-5'>SPI</b> flash編程

    關(guān)于STM32SPI通信

    STM32SPI通信調(diào)試經(jīng)驗
    發(fā)表于 02-07 15:53 ?24次下載

    STM32F0xx_SPI讀寫(Flash) 配置詳細(xì)過程

    STM32F0xx_SPI讀寫(Flash)配置詳細(xì)過程
    的頭像 發(fā)表于 04-07 11:40 ?5271次閱讀
    <b class='flag-5'>STM32F0xx_SPI</b>讀寫(Flash) <b class='flag-5'>配置</b>詳細(xì)<b class='flag-5'>過程</b>

    STM32SPI接口、cubeMX軟件配置SPI接口和分析SPI相關(guān)代碼

    本文主要介紹STM32SPI接口、cubeMX軟件配置SPI接口和分析SPI相關(guān)代碼。 STM32
    的頭像 發(fā)表于 09-24 14:09 ?1.6w次閱讀
    <b class='flag-5'>STM32</b>的<b class='flag-5'>SPI</b>接口、cubeMX軟件<b class='flag-5'>配置</b><b class='flag-5'>SPI</b>接口和分析<b class='flag-5'>SPI</b>相關(guān)代碼

    SPI配置要點

    SPI配置要點SPI_DeInit(SPI1);SPI_Init(SPI1,
    發(fā)表于 11-30 12:21 ?7次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>配置</b>要點

    STM32F103和STM32F030 SPI-miso配置不同點

    在調(diào)試STM32F103和STM32F030的SPI時,發(fā)現(xiàn)兩者的MISO配置不同,STM32F103: /**
    發(fā)表于 12-02 16:06 ?17次下載
    <b class='flag-5'>STM32</b>F103和<b class='flag-5'>STM32</b>F030 <b class='flag-5'>SPI</b>-miso<b class='flag-5'>配置</b>不同點

    STM32F1x HAL庫學(xué)習(xí)筆記(12)硬件 SPI配置

    STM32CubeMx 配置 硬件 SPI 主機文章目錄一、硬件 SPI 的使用二、SPI配置
    發(fā)表于 12-06 11:36 ?18次下載
    <b class='flag-5'>STM32</b>F1x HAL庫學(xué)習(xí)筆記(12)硬件 <b class='flag-5'>SPI</b> 的<b class='flag-5'>配置</b>

    SPI的基本知識(偏向STM32中的SPI

    SPI的基本知識1. 雜談2.什么是SPI?3. SPI的通信協(xié)議4. STM32SPI配置
    發(fā)表于 12-07 11:51 ?11次下載
    <b class='flag-5'>SPI</b>的基本知識(偏向<b class='flag-5'>STM32</b>中的<b class='flag-5'>SPI</b>)

    SPI通信分析

    SPI通信分析許久不更,想你們了。SPI 模式的配置SPI通信配置STM官方的芯片手冊中對于SPI
    發(fā)表于 12-22 19:12 ?2次下載
    <b class='flag-5'>SPI</b>通信分析

    STM32 SPI配置及深入解析

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

    關(guān)于STM32SPI外設(shè)時鐘分頻對應(yīng)的SCK速率

    STM32F103為例,經(jīng)過system_stm32f10x.c文件中的SystemInit()函數(shù)之后,這里是指的默認(rèn)時鐘配置如下圖所示:STM32F103的系統(tǒng)框架圖如下所示:可
    發(fā)表于 12-22 19:23 ?9次下載
    <b class='flag-5'>關(guān)于</b><b class='flag-5'>STM32</b>的<b class='flag-5'>SPI</b>外設(shè)時鐘分頻對應(yīng)的SCK速率

    STM32學(xué)習(xí)筆記--SPI

    目錄:一、SPI簡介1.SPI信號線2.SPI模式3.工作時序二、STM32SPI1.SPI特性2.S
    發(fā)表于 12-22 19:24 ?11次下載
    <b class='flag-5'>STM32</b>學(xué)習(xí)筆記--<b class='flag-5'>SPI</b>

    STM32CubeMX-HAL庫的SPI接口使用

    本文主要介紹STM32SPI接口、cubeMX軟件配置SPI接口和分析SPI相關(guān)代碼。
    發(fā)表于 02-08 15:27 ?10次下載
    <b class='flag-5'>STM32</b>CubeMX-HAL庫的<b class='flag-5'>SPI</b>接口使用