精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

SPI串行外設(shè)接口的特點(diǎn)概述

冬至子 ? 來源:硬件工程師的小世界 ? 作者:TTYY ? 2023-04-24 17:29 ? 次閱讀

一、概述

SPI是Serial Peripheral interface的縮寫,是一種串行外設(shè)接口。全雙工通信,有4根信號線,在MCU、SOC、FLASH、DSP芯片上常見。

SPI特點(diǎn)

SPI接口只有一個(gè)主機(jī),可以有一個(gè)或者多個(gè)從機(jī)。時(shí)鐘信號由主機(jī)發(fā)送,所以主機(jī)要讀一個(gè)字節(jié)就需要發(fā)送一個(gè)字節(jié),為從機(jī)提供時(shí)鐘信號。當(dāng)存在多個(gè)從機(jī)時(shí)由CS片選信號選擇從機(jī)。

一主一從連接框圖

圖片

一主多從連接框圖

圖片

SPI的片選信號

如果是一主一從也可以不使用片選信號,此時(shí)從機(jī)SPI的接收數(shù)據(jù)中斷使能,在中斷ISR里處理數(shù)據(jù);如果使用片選信號,可以不使用SPI硬件片選信號,可以使用一個(gè)帶外部中斷功能的IO作為CS。

SPI的4根信號

MISO: 主機(jī)輸入/從機(jī)輸出引腳。

MOSI: 主機(jī)輸出/從機(jī)輸入引腳。

CLK:串行時(shí)鐘信號,由主機(jī)產(chǎn)生。

CS:從機(jī)片選信號,由主機(jī)控制。

當(dāng)然,4根線也不是必須全用上,可以只發(fā)送或只接收??梢詤⒖?a href="http://www.nxhydt.com/v/tag/751/" target="_blank">STM32的SPI介紹。

SPI的4種mode

所謂的模式,是指可以通過配置CPOL(時(shí)鐘極性)來設(shè)定CLK空閑狀態(tài)的電平是高還是低;通過配置CPHA(時(shí)鐘相位)來設(shè)定在CLK的哪個(gè)沿進(jìn)行數(shù)據(jù)采樣和數(shù)據(jù)發(fā)送。CPOL和CPHA可以配置成0或1,所以組合有4種mode。

主機(jī)和從機(jī)的使用的mode要匹配對應(yīng)。比如SPI FLASH只支持兩種mode,所以主機(jī)初始化配置要注意。如下圖FLASH只支持mode 0 和 mode 3:

圖片

二、STM32程序初始化舉例

void SPI1_Init(void)

{

//Enable SPI1 clock and GPIO clock for SPI1

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_SPI1, ENABLE);

GPIO_InitTypeDef GPIO_InitStructure;

//Configure SPI1 pins: SCK, MISO and MOSI

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

GPIO_Init(GPIOA, &GPIO_InitStructure);

//SPI1 Config

SPI_InitTypeDef SPI_InitStructure;

SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;

SPI_InitStructure.SPI_Mode = SPI_Mode_Slave;

SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;

SPI_InitStructure.SPI_CPOL=SPI_CPOL_Low;//主從機(jī)的配置相同

SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;//主從機(jī)的配置相同

SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;

SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;

SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_LSB;//主從機(jī)的配置相同

SPI_InitStructure.SPI_CRCPolynomial = 7;

SPI_Init(SPI1, &SPI_InitStructure);

NVIC_InitTypeDef NVIC_InitStructure;

NVIC_InitStructure.NVIC_IRQChannel = SPI1_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;

NVIC_Init(&NVIC_InitStructure);

SPI_I2S_ITConfig(SPI1,SPI_I2S_IT_RXNE,ENABLE);//使能接收中斷

//Enable SPI1

SPI_Cmd(SPI1, ENABLE);

}

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

    關(guān)注

    552

    文章

    7962

    瀏覽量

    348308
  • STM32
    +關(guān)注

    關(guān)注

    2266

    文章

    10876

    瀏覽量

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

    關(guān)注

    17

    文章

    1701

    瀏覽量

    91345
  • 時(shí)鐘信號
    +關(guān)注

    關(guān)注

    4

    文章

    445

    瀏覽量

    28512
  • MCU芯片
    +關(guān)注

    關(guān)注

    3

    文章

    248

    瀏覽量

    11394
收藏 人收藏

    評論

    相關(guān)推薦

    串行外設(shè)接口SPI模塊簡析

    慕課蘇州大學(xué).嵌入式開發(fā)及應(yīng)用.第四章.較復(fù)雜通信模塊.串行外設(shè)接口SPI模塊0 目錄4 較復(fù)雜通信模塊4.1 串行
    發(fā)表于 11-08 07:35

    一文讀懂串行外設(shè)接口SPI

    串行外設(shè)接口SPI是什么?其有哪些部分組成呢?如何對串行外設(shè)
    發(fā)表于 12-16 06:28

    ADIuC812的串行外設(shè)接口(SPI)及其在LonWork

    ADIuC812的串行外設(shè)接口(SPI)及其在LonWorks智能節(jié)點(diǎn)中的應(yīng)用:介紹了ADIuC812單片機(jī)的串行
    發(fā)表于 05-29 12:20 ?22次下載

    串行外設(shè)接口SPI

    串行外設(shè)接口SPISPI是一個(gè)高速同步串行輸入/輸出端口,傳送速率可編程,應(yīng)用:外部移位寄存器、D/A轉(zhuǎn)換器、A/D轉(zhuǎn)換器、串行EEPROM
    發(fā)表于 09-15 08:01 ?14次下載

    理解ATE SPI (串行外設(shè)接口)

    理解ATE SPI (串行外設(shè)接口) 大多數(shù)Maxim® ATE設(shè)計(jì)都采用了一個(gè)串行接口
    發(fā)表于 01-26 16:34 ?2595次閱讀
    理解ATE <b class='flag-5'>SPI</b> (<b class='flag-5'>串行</b><b class='flag-5'>外設(shè)</b><b class='flag-5'>接口</b>)

    一文讀懂SPI串行外設(shè)接口

    SPI總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。正是由于有了通信方式,我們才能夠通過芯片控制
    發(fā)表于 04-27 15:19 ?1w次閱讀

    dsPIC33E/PIC24E器件之串行外設(shè)接口SPI

    串行外設(shè)接口(Serial Peripheral Interface,SPI)模塊是用于同其他外設(shè)或單片機(jī)進(jìn)行通信的同步
    發(fā)表于 06-03 09:19 ?19次下載

    dsPIC30F系列參考手冊之串行外設(shè)接口SPI

    串行外設(shè)接口(Serial Peripheral Interface,SPI)模塊是用于同其他外設(shè)或單片機(jī)進(jìn)行通信的同 步
    發(fā)表于 06-22 08:20 ?5次下載
    dsPIC30F系列參考手冊之<b class='flag-5'>串行</b><b class='flag-5'>外設(shè)</b><b class='flag-5'>接口</b>(<b class='flag-5'>SPI</b>)

    PIC24F系列參考手冊之串行外設(shè)接口SPI

    串行外設(shè)接口(Serial Peripheral Interface,SPI)模塊是用于同其他外設(shè)或單片機(jī)器件進(jìn)行通信 的同步
    發(fā)表于 06-24 03:20 ?3次下載
    PIC24F系列參考手冊之<b class='flag-5'>串行</b><b class='flag-5'>外設(shè)</b><b class='flag-5'>接口</b>(<b class='flag-5'>SPI</b>)

    PIC24H系列參考手冊之串行外設(shè)接口SPI

    串行外設(shè)接口(Serial Peripheral Interface,SPI)模塊是用于同其他外設(shè)或單片機(jī)器件進(jìn)行通信 的同步
    發(fā)表于 06-25 03:20 ?4次下載
    PIC24H系列參考手冊之<b class='flag-5'>串行</b><b class='flag-5'>外設(shè)</b><b class='flag-5'>接口</b>(<b class='flag-5'>SPI</b>)

    PIC32系列參考手冊之串行外設(shè)接口SPI

    本文主要介紹了PIC32系列參考手冊之串行外設(shè)接口SPI)。
    發(fā)表于 06-06 17:28 ?6次下載

    SPI串行外設(shè)接口的編程說明資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是SPI串行外設(shè)接口的編程說明資料免費(fèi)下載。
    發(fā)表于 03-25 08:00 ?2次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>串行</b><b class='flag-5'>外設(shè)</b><b class='flag-5'>接口</b>的編程說明資料免費(fèi)下載

    第9章:串行外設(shè)接口模塊(SPI)PPT下載

    第9章:串行外設(shè)接口模塊(SPI)PPT下載
    發(fā)表于 10-08 14:56 ?35次下載

    SPI 串行外設(shè)接口

    **SPI簡介:**串行外設(shè)接口(Serial Peripheral Interface Bus)SPI是一種用于芯片通信的同步
    發(fā)表于 12-20 19:31 ?9次下載
    <b class='flag-5'>SPI</b> <b class='flag-5'>串行</b><b class='flag-5'>外設(shè)</b><b class='flag-5'>接口</b>

    SPI串行外設(shè)接口設(shè)計(jì)實(shí)現(xiàn)

    SPI 全稱為 Serial Peripheral Interface,譯為串行外設(shè)接口。它是 Motorola 公司推出的一種相對高速的同步、全雙工的通信總線協(xié)議。
    發(fā)表于 05-29 15:40 ?1453次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>串行</b><b class='flag-5'>外設(shè)</b><b class='flag-5'>接口</b>設(shè)計(jì)實(shí)現(xiàn)