在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

串行通信SPI總線的詳解分析

硬件設(shè)計(jì)解析 ? 來源:愛搞研究的阿燦 ? 作者:愛搞研究的阿燦 ? 2023-05-05 16:40 ? 次閱讀

??SPI(Serial Peripheral Interface)總線系統(tǒng)是一種同步串行外設(shè)接口,可以是MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息,該接口一般使用4條線:串行時鐘線(SCLK)、主入從出數(shù)據(jù)線(MISO)、主出從入數(shù)據(jù)線(MOSI)和低電平有效的從機(jī)選擇線(SS);其主要特點(diǎn)包括:可以同時發(fā)出和接收船型數(shù)據(jù);可以作為主機(jī)或從機(jī)工作;發(fā)送結(jié)束中斷標(biāo)志;寫沖突保護(hù)和總線競爭保護(hù)。
SPI總線架構(gòu)示意圖:
7ac98cde-eb20-11ed-878e-dac502259ad0.png
??SPI是一個環(huán)形總線結(jié)構(gòu),有SS、SCK、SDISDO組成,在主設(shè)備和從設(shè)備之間進(jìn)行雙向傳輸,實(shí)現(xiàn)發(fā)送和接收數(shù)據(jù),最高速率可達(dá)5Mbps。由SS信號來選定主設(shè)備通信的從設(shè)備,在某時間點(diǎn)內(nèi)主設(shè)備和從設(shè)備之間可以實(shí)現(xiàn)點(diǎn)對點(diǎn)通信,不需要進(jìn)行尋址操作。SPI共有4種工作模式,SP0、SP1、SP2、SP3,其中比較常用的是SP0、SP3。為了和外設(shè)進(jìn)行數(shù)據(jù)交換,根據(jù)外設(shè)工作要求,其輸出串行同步時鐘極性和相位可以進(jìn)行設(shè)置。
??如果時鐘極性CPOL=0,則串行同步時鐘的空閑狀態(tài)為低電平;如果時鐘極性CPOL=1,則串行同步時鐘的空閑狀態(tài)為高電平。
??如果時鐘相位CPHA=0,則在串行同步時鐘的第一個跳變沿(上升或下降)數(shù)據(jù)被采樣;如果時鐘相位CPHA=1,則在串行同步時鐘的第二個跳變沿(上升或下降)數(shù)據(jù)被采樣。SPI主模塊和與之通信的外設(shè)時鐘相位和極性應(yīng)該一致。
SPI總線4中工作模式的SCK示意:
7af8134c-eb20-11ed-878e-dac502259ad0.png
??SPI主要工作時序是在SCK的控制下,兩個雙向移位寄存器進(jìn)行數(shù)據(jù)交換。
??假設(shè)下面的8位寄存器裝的是待發(fā)送的數(shù)據(jù)1010 1010,上升沿發(fā)送,下降沿接收,高位先發(fā)送。那么第一個上升沿來的時候數(shù)據(jù)將會是sdo=1,寄存器=0101 010x;下降沿到來的時候,sdi上的電平將鎖存到寄存器中去,那么這時寄存器=0101 010sdi,這樣在8個時鐘脈沖以后,兩個寄存器的內(nèi)容相互交換一次,從而完成了一個spi時序。
7b0f81c6-eb20-11ed-878e-dac502259ad0.png
7b382946-eb20-11ed-878e-dac502259ad0.png
??硬件SPI方式:
??(1)寫一個字節(jié):
??SPI_Writebyte(u8 data)
??{
??While(SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_TXE)==RESET);//等待發(fā)送緩沖區(qū)為空
??SPI_I2S_SendData(SPI1,Data);
??While(SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_RXNE)==RESET);//等待接收到一個字節(jié)數(shù)據(jù)
??SPI_I2S_ReceiveData(SPI1);
??}
??(2)讀一個字節(jié):
??SPI_Readbyte(u8 data)
??{
??While(SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_TXE)==RESET);//等待發(fā)送緩沖區(qū)為空
??SPI_I2S_SendData(SPI1,Data);
??While(SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_RXNE)==RESET);//等待接收到一個字節(jié)數(shù)據(jù)
??return SPI_I2S_ReceiveData(SPI1);
??}
??解析:當(dāng)不使用FIFO時,只有一個中斷,接收和發(fā)送共用一個,因?yàn)榘l(fā)送和接收是同時完成的:例如主機(jī)上升沿發(fā)送下降沿接收,那么從機(jī)就是上升沿接收下降沿發(fā)送,所以一串時鐘之后,主機(jī)發(fā)送完了數(shù)據(jù),從機(jī)也發(fā)送完了數(shù)據(jù)。
??軟件SPI:
7b4f5f12-eb20-11ed-878e-dac502259ad0.png
7b725814-eb20-11ed-878e-dac502259ad0.png
7b91cd52-eb20-11ed-878e-dac502259ad0.png
7ba86d28-eb20-11ed-878e-dac502259ad0.png
7bc74b94-eb20-11ed-878e-dac502259ad0.png

7bde3f02-eb20-11ed-878e-dac502259ad0.png
??軟件SPI方式和硬件SPI方式的區(qū)別:
??1.硬件SPI效率高些,編寫程序時只需把要發(fā)送的數(shù)據(jù)寫到寄存器中,硬件自動進(jìn)行發(fā)送;軟件SPI需要根據(jù)時序?qū)崿F(xiàn)時鐘拉高拉低,串行數(shù)據(jù)輸出等。
??2.硬件SPI必須要求處理器支持該功能;而軟件SPI不需要特定要求,一般的IO口就可以使用
??3.硬件SPI傳輸速度可以達(dá)到3Mbps,軟件SPI傳輸速度一般700K左右。
??總結(jié):在使用SPI時,根據(jù)實(shí)際情況選擇使用硬件SPI,還是軟件SPI,注意在使用時確保時序的準(zhǔn)確性。


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

    關(guān)注

    146

    文章

    17851

    瀏覽量

    360676
  • 時鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1884

    瀏覽量

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

    關(guān)注

    17

    文章

    1784

    瀏覽量

    94801
  • SPI總線
    +關(guān)注

    關(guān)注

    4

    文章

    104

    瀏覽量

    27944
  • 串行通信
    +關(guān)注

    關(guān)注

    4

    文章

    586

    瀏覽量

    36036
收藏 人收藏

    評論

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

    SPI通信總線概述和Verilog實(shí)現(xiàn)

    SPI = Serial Peripheral Interface,是串行外圍設(shè)備接口,是一種高速,全雙工,同步的通信總線
    的頭像 發(fā)表于 02-07 14:28 ?1287次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>通信</b><b class='flag-5'>總線</b>概述和Verilog實(shí)現(xiàn)

    IIC總線SPI總線通信詳解

    IIC總線SPI總線通信介紹
    發(fā)表于 12-23 07:02

    串行通信中的IIC總線工作原理是什么

    數(shù)據(jù)輸出線)。1-wire:即單線總線,又叫單總線(只有一條線)I2C:同步串行2線方式進(jìn)行通信(一條時鐘線,一條數(shù)據(jù)線)SPI:同步
    發(fā)表于 12-08 07:52

    基于SPI串行總線的語音接口電路的軟硬件設(shè)計(jì)

    摘要:使用SPI串行總線可以達(dá)到MCU與語音芯片串行通信的目的。通過對PIC單片機(jī)與ISD4003的連接電路和軟件控制的設(shè)計(jì),實(shí)現(xiàn)現(xiàn)場語音分
    發(fā)表于 05-08 09:29 ?24次下載

    串行總線分析功能之總線觸發(fā)與總線分析

    串行總線分析功能分為兩個部分,總線觸發(fā)和總線分析。DLM2000支持標(biāo)準(zhǔn)的CAN/LIN/I2
    發(fā)表于 04-07 15:14 ?1808次閱讀
    <b class='flag-5'>串行</b><b class='flag-5'>總線</b><b class='flag-5'>分析</b>功能之<b class='flag-5'>總線</b>觸發(fā)與<b class='flag-5'>總線</b><b class='flag-5'>分析</b>

    SPI通信總線的原理及工作過程簡單分析

    SPI, 串行外圍設(shè)備接口。高速的,全雙工的,同步通信總線。有四個引腳:SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCLK(時鐘),CS(片選)。
    的頭像 發(fā)表于 03-08 09:39 ?3.3w次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>通信</b><b class='flag-5'>總線</b>的原理及工作過程簡單<b class='flag-5'>分析</b>

    一文介紹SPI串行總線

    SPI協(xié)議是由摩托羅拉公司提出的通訊協(xié)議(SerialPeripheralInterface),即串行外圍設(shè)備接口,是一種高速全雙工的通信總線
    發(fā)表于 07-16 17:58 ?3170次閱讀
    一文介紹<b class='flag-5'>SPI</b><b class='flag-5'>串行</b><b class='flag-5'>總線</b>

    基于SPI串行總線接口的Verilog實(shí)現(xiàn)

    與各種外圍接口器件以串行方式進(jìn)行通信、交換信息。本文簡述了SPI總線的特點(diǎn),介紹了其4條信號線,SPI
    的頭像 發(fā)表于 05-29 10:16 ?5402次閱讀
    基于<b class='flag-5'>SPI</b><b class='flag-5'>串行</b><b class='flag-5'>總線</b>接口的Verilog實(shí)現(xiàn)

    串行總線SPI、IIC、UART

    三種常用的串行數(shù)據(jù)傳輸總線一、SPI1.1 概念SPI(Serial Peripheral Interface - 串行外設(shè)接口)是一種用于
    發(fā)表于 12-06 19:21 ?2次下載
    <b class='flag-5'>串行</b><b class='flag-5'>總線</b>:<b class='flag-5'>SPI</b>、IIC、UART

    SPI總線詳解

    SPI英文全稱(Serial Perripheral Interface),即串行外圍設(shè)備接口,是一種同步全雙工串行接口,MCU可以通過SPI方式與各種外圍設(shè)備進(jìn)行高速數(shù)據(jù)
    發(fā)表于 12-22 19:16 ?12次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>總線</b><b class='flag-5'>詳解</b>

    SPI總線協(xié)議及詳解

    串行外圍設(shè)備接口。SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡單易用的特性,現(xiàn)
    發(fā)表于 12-22 19:18 ?17次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>總線</b>協(xié)議及<b class='flag-5'>詳解</b>

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

    SPI,是英語Serial Peripheral Interface的縮寫,顧名思義就是串行外圍設(shè)備接口。SPI,是一種高速的,全雙工,同步的通信
    發(fā)表于 02-11 15:41 ?31次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>總線</b>協(xié)議及<b class='flag-5'>SPI</b>時序圖<b class='flag-5'>詳解</b>

    常用串行總線——SPI協(xié)議(上)

    SPI(Serial Perripheral Interface, 串行外圍設(shè)備接口)** 是 Motorola 公司推出的一種同步串行接口技術(shù)。SPI
    的頭像 發(fā)表于 01-21 17:00 ?1703次閱讀
    常用<b class='flag-5'>串行</b><b class='flag-5'>總線</b>——<b class='flag-5'>SPI</b>協(xié)議(上)

    常用串行總線——SPI協(xié)議(下)

    SPI(Serial Perripheral Interface, 串行外圍設(shè)備接口)** 是 Motorola 公司推出的一種同步串行接口技術(shù)。SPI
    的頭像 發(fā)表于 01-21 17:03 ?1179次閱讀
    常用<b class='flag-5'>串行</b><b class='flag-5'>總線</b>——<b class='flag-5'>SPI</b>協(xié)議(下)

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

    SPI總線(Serial Peripheral Interface),全稱為串行外圍設(shè)備接口,是由Motorola公司提出并定義的一種同步、串行、高速的
    的頭像 發(fā)表于 09-03 14:05 ?1982次閱讀
    主站蜘蛛池模板: 激情爱爱的免费视频 | 五月婷婷在线视频观看 | 五月伊人婷婷 | 日本午夜大片a在线观看 | 亚洲韩国日本欧美一区二区三区 | 海外毛片 | 亚欧有色亚欧乱色视频 | 午夜视频黄色 | 欧美性猛交xxxx免费看久久 | 男人j桶进女人免费视频 | 成人在色线视频在线观看免费大全 | wwwxxx亚洲| 午夜啪啪福利视频 | 日本三级欧美三级香港黄 | 成人亚洲网站www在线观看 | 高清不卡毛片 | 五月天婷婷影院 | 综合激情网五月 | 日本一区二区三区四区不卡 | 日日噜噜噜夜夜爽爽狠狠 | 性色爽爱性色爽爱网站 | 天天摸天天舔天天操 | 一级免费黄色片 | 婷婷综合久久狠狠色99h | 亚色在线| 国产午夜精品久久久久免费视 | 78摸在线 | 午夜色网站 | 国产午夜精品福利久久 | 双性受粗大撑开白浊 | 久久午夜影视 | 日韩欧美视频在线一区二区 | 日韩欧美亚洲综合一区二区 | 毛片网此 | 天天免费视频 | 影音先锋午夜资源网站 | 69女poren60| 久久婷婷激情综合色综合也去 | 国产精品国产三级国产普通话对白 | 奇米影视四色7777 | 色综合五月婷婷 |