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

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

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

一文解讀SPI

硬件攻城獅 ? 來源:硬件攻城獅 ? 2024-11-19 11:37 ? 次閱讀

前言

讓我們回顧一下,我們學(xué)習(xí)了串口通訊(優(yōu)點(diǎn)是全雙工,缺點(diǎn)是只能點(diǎn)對(duì)點(diǎn)通訊)

另外還學(xué)習(xí)了IIC通訊(優(yōu)點(diǎn)是一主多從通訊,缺點(diǎn)是半雙工)

技巧:看一個(gè)總線是半雙工還是全雙工就看有幾根數(shù)據(jù)線

那有沒有總線是以全雙工,并且還是一主多從的方式通訊呢?

2e93ae74-a01b-11ef-93f3-92fbcf53809c.jpg

答案是有的,那就是用SPI通訊

寫數(shù)據(jù)

先來看看設(shè)備之間如何使用SPI方式來通訊

2ead7b2e-a01b-11ef-93f3-92fbcf53809c.jpg

可以看出設(shè)備之間有4根線連接(SCK、MOSI、MISO、SS),下面來細(xì)說每根線的作用

SS為片選信號(hào)線(用來選擇哪個(gè)設(shè)備)

MOSI (master output , slave input)主機(jī)輸出,從機(jī)輸入

MISO(master input , slave output )主機(jī)輸入,從機(jī)輸出

SCK為時(shí)鐘信號(hào)線(用來提供基準(zhǔn)時(shí)鐘信號(hào))

下面以控制EEPROM為例(圖中型號(hào)為93C46的是EEPROM)

2ed3af92-a01b-11ef-93f3-92fbcf53809c.jpg

假設(shè)EEPROM里面有128個(gè)內(nèi)存地址(用一個(gè)字節(jié)就可以尋址完)

2ef0190c-a01b-11ef-93f3-92fbcf53809c.jpg

這SPI的數(shù)據(jù)格式

2f191032-a01b-11ef-93f3-92fbcf53809c.jpg

無論是寫操作還是讀操作,起始位都為1,但操作碼01是寫操作,操作碼10是讀操作

當(dāng)?shù)刂反a寫入EEPROM中寄存器的地址,這時(shí)就選中了這個(gè)地址,相當(dāng)于打通了直達(dá)該地址的通道

緊接著寫入數(shù)據(jù),這樣數(shù)據(jù)被保存下來了

2f354a86-a01b-11ef-93f3-92fbcf53809c.jpg

用電平表示是這樣的

2f5ef214-a01b-11ef-93f3-92fbcf53809c.jpg

那是不是直接發(fā)送給被控設(shè)備就行了?

當(dāng)然是不行的

因?yàn)镾PI是串行同步通訊的,所以需要數(shù)據(jù)線和時(shí)鐘線兩根線才能傳輸數(shù)據(jù)

而且SPI發(fā)送數(shù)據(jù)是當(dāng)時(shí)鐘線處于跳變沿時(shí)才能被發(fā)送的(具體是處于什么跳變沿,取決于該設(shè)備)這里以上升沿為例

2f754dc0-a01b-11ef-93f3-92fbcf53809c.jpg

在SS(片選信號(hào))被選中期間,當(dāng)SCK(時(shí)鐘信號(hào))發(fā)生上升沿,數(shù)據(jù)就被確定下來

以上面的數(shù)據(jù)為例

2f812078-a01b-11ef-93f3-92fbcf53809c.jpg

根據(jù)時(shí)鐘信號(hào)線空閑狀態(tài)是高電平還是低電平,又因?yàn)槊糠N狀態(tài)可以分為上升沿和下降沿觸發(fā)

共計(jì)有4種狀態(tài)

2f8cd288-a01b-11ef-93f3-92fbcf53809c.jpg

讀數(shù)據(jù)

讀操作也是同樣的操作

現(xiàn)在要把EEPROM里的數(shù)據(jù)讀出來

2faf2112-a01b-11ef-93f3-92fbcf53809c.jpg

根據(jù)SPI的數(shù)據(jù)格式

2fb8f69c-a01b-11ef-93f3-92fbcf53809c.jpg

現(xiàn)在需要MOSI寫入1 10 0000001

MISO后半段就可以讀取數(shù)據(jù)了(上面EEPROM存儲(chǔ)的為0000 1111)

2fcfee7e-a01b-11ef-93f3-92fbcf53809c.jpg

總結(jié)

SPI是全雙工,一主多從

SPI是當(dāng)發(fā)生跳變沿時(shí),傳輸數(shù)據(jù)

SPI本質(zhì)是移位寄存器

2fe169ba-a01b-11ef-93f3-92fbcf53809c.jpg

聲明:本文內(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

    文章

    1715

    瀏覽量

    91830
  • 通訊
    +關(guān)注

    關(guān)注

    9

    文章

    908

    瀏覽量

    34980

原文標(biāo)題:秒懂SPI

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    詳解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 ?7289次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>詳解<b class='flag-5'>SPI</b>串行外設(shè)接口

    搞懂SPI通信協(xié)議

    SPI 的英文全稱為 Serial Peripheral Interface,顧名思義為串行外設(shè)接口。SPI種同步串行通信接口規(guī)范,主要應(yīng)用于嵌入式系統(tǒng)中的短距離通信。該接口由摩托羅拉在20世紀(jì)80年代中期開發(fā),后發(fā)展成了
    發(fā)表于 06-06 10:02 ?1208次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>搞懂<b class='flag-5'>SPI</b>通信協(xié)議

    詳解SPI總線協(xié)議

    SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫。是Motorola公司推出的種同步串行接口技術(shù),是種高速的,全雙工,同步的通信總線。主要應(yīng)用在EEPROM,F(xiàn)LASH,實(shí)時(shí)時(shí)鐘,AD轉(zhuǎn)換
    發(fā)表于 10-26 15:27 ?1011次閱讀

    詳解SPI接口

    來源:易特創(chuàng)芯串行外設(shè)接口(SPI)是微控制器和外圍IC(如傳感器、ADC、DAC、移位寄存器、SRAM等)之間使用最廣泛的接口之。本文先簡要說明SPI接口,然后介紹ADI公司支持SPI
    發(fā)表于 10-22 18:05

    解讀HEVC視頻標(biāo)準(zhǔn)的環(huán)內(nèi)濾波,看完你就懂了

    解讀HEVC視頻標(biāo)準(zhǔn)的環(huán)內(nèi)濾波,看完你就懂了
    發(fā)表于 06-03 06:08

    STM芯片解讀

    STM芯片解讀(p5)2.1.1芯片內(nèi)部資源手冊(cè)可知信息:(我們選芯片時(shí)的依據(jù):大多是多少個(gè)IO口、多大的儲(chǔ)存容量)定時(shí)器、io口、ADC、DAC、SPI、flash size2.1.1.1
    發(fā)表于 01-06 08:09

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

    SPI總線系統(tǒng)是種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。正是由于有了通信方式,我們才能夠通過芯片控制各種各樣的外圍器件,實(shí)現(xiàn)很多“不可思議”的現(xiàn)代科技。這里將以SPI為題,從編程角度來介紹
    發(fā)表于 04-27 15:19 ?1w次閱讀

    讀懂MSP430 SPI總線

    通過另控制位I2C控制,I2C位0則工作于SPI。在SPI模式下,允許單片機(jī)以確定的速率發(fā)送和接收7位或8位數(shù)據(jù)。
    發(fā)表于 05-13 09:03 ?6609次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>讀懂MSP430 <b class='flag-5'>SPI</b>總線

    AN1245中手冊(cè)之Microchip SPI串行SRAM器件的建議用法

    本文主要介紹了AN1245中手冊(cè)之Microchip SPI串行SRAM器件的建議用法.
    發(fā)表于 06-21 15:25 ?19次下載
    AN1245中<b class='flag-5'>文</b>手冊(cè)之Microchip <b class='flag-5'>SPI</b>串行SRAM器件的建議用法

    介紹SPI串行總線

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

    解讀FPGA設(shè)計(jì)者的5項(xiàng)基本功及設(shè)計(jì)流程資料下載

    電子發(fā)燒友網(wǎng)為你提供解讀FPGA設(shè)計(jì)者的5項(xiàng)基本功及設(shè)計(jì)流程資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-24 08:46 ?38次下載
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>解讀</b>FPGA設(shè)計(jì)者的5項(xiàng)基本功及設(shè)計(jì)流程資料下載

    講完SPI通訊,看后不懂來找我

    外設(shè)接口 (SPI) 是微控制器和外圍 IC(如傳感器、ADC、DAC、 移位寄存器、SRAM等)之間使用最廣泛的接口之。 SPI種同步、全雙工、主從式接口。來自主機(jī)或從機(jī)的數(shù)
    的頭像 發(fā)表于 11-01 10:23 ?5756次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>講完<b class='flag-5'>SPI</b>通訊,看后不懂來找我

    看懂SPI協(xié)議

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

    搞懂SPI通信協(xié)議

    SPI是Serial Peripheral Interface的簡稱,是由Motorola公司推出的種高速、全雙工的總線協(xié)議,可以實(shí)現(xiàn)一對(duì)一、對(duì)多芯片通信。
    的頭像 發(fā)表于 03-23 16:51 ?2433次閱讀

    解讀GNSS信號(hào)對(duì)網(wǎng)絡(luò)中授時(shí)應(yīng)用的益處

    漲知識(shí) | 解讀GNSS信號(hào)對(duì)網(wǎng)絡(luò)中授時(shí)應(yīng)用的益處
    的頭像 發(fā)表于 11-24 14:26 ?534次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>解讀</b>GNSS信號(hào)對(duì)網(wǎng)絡(luò)中授時(shí)應(yīng)用的益處