一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

通信教程的04_SPI接口說(shuō)明及原理

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-02-05 12:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

教程由作者strongerHuang于2019年09月原創(chuàng)發(fā)布。

標(biāo)簽:串口、 SPI、 通信

版權(quán)所有:禁止商用

申明:該文檔僅供個(gè)人學(xué)習(xí)使用,轉(zhuǎn)載請(qǐng)公眾號(hào)聯(lián)系作者授權(quán)。

1寫(xiě)在前面

SPI:Serial Peripheral Interface,是串行外設(shè)接口。

SPI是由摩托羅拉于 1985 年前后開(kāi)發(fā),是一種適用于短距離、設(shè)備到設(shè)備通信的同步串行接口。

從那時(shí)起,這種接口就已成為許多半導(dǎo)體制造商,特別是微控制器MCU)和微處理器(MPU)采用的事實(shí)標(biāo)準(zhǔn)。

2SPI接口

SPI總線是一種4線總線,通常有一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備,需要至少4根線,事實(shí)上3根也可以。

MOSI:Master Output Slave Input,主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入;

MISO:Master Input Slave Output,主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出;

SCLK:Serial Clock,時(shí)鐘信號(hào),由主設(shè)備產(chǎn)生;

SS:Slave Select,從設(shè)備選擇信號(hào),由主設(shè)備控制;

上面的SS信號(hào),也可以理解為CS信號(hào),一般是低電平有效,所以也是NSS(非)信號(hào);

CS:Chip Select,片選信號(hào)(從設(shè)備使能/選擇信號(hào)),由主設(shè)備控制;

2.1 一主一從

最基本的SPI通信就是一主一從,比如:一個(gè)STM32作為主機(jī),一個(gè)W25Q16(SPI Flash)作為從機(jī)。還有兩個(gè)MCU之間進(jìn)行SPI通信等。

上圖例子是主機(jī)發(fā)送一個(gè)字節(jié)數(shù)據(jù)(0x53),從機(jī)應(yīng)答一個(gè)字節(jié)數(shù)據(jù)(0x46)。

2.2 一主多從

SPI可以一主一從(一個(gè)主機(jī),一個(gè)從機(jī)),但也可以一主多從。一主多從常見(jiàn)有兩種連接方式。

A.常規(guī)

通常,每個(gè)從機(jī)都需要一條單獨(dú)的SS線,要與指定的從機(jī)通信,將該從機(jī)的SS線設(shè)為低電平,并將其余的保持為高電平即可。

B.一條SS信號(hào)

某些應(yīng)用只需要一條NSS即可(比如:移位寄存器),對(duì)于這種布局,數(shù)據(jù)從一個(gè)從設(shè)備移位到另一個(gè)從設(shè)備。

3SPI數(shù)據(jù)傳輸

SPI的通信比較簡(jiǎn)單,一個(gè)時(shí)鐘傳輸一位數(shù)據(jù)(主機(jī) -> 從機(jī),或者從機(jī) -> 主機(jī))。

3.1 SPI時(shí)鐘

理論上SPI的時(shí)鐘頻率可以做到很大,一般幾MHz~幾百M(fèi)Hz,拿常見(jiàn)的W25Q16來(lái)說(shuō),SPI最高支持80MHz。

SPI通信速率要結(jié)合實(shí)際情況,不能超過(guò)主機(jī)或從機(jī)支持的最大時(shí)鐘頻率。

3.2 SPI數(shù)據(jù)

SPI的數(shù)據(jù)分兩個(gè)方向:

MOSI:主機(jī) -> 從機(jī)

MISO:從機(jī) -> 主機(jī)

SPI通信有一個(gè)“缺點(diǎn)”:沒(méi)有指定的流控制,沒(méi)有應(yīng)答機(jī)制確認(rèn)是否接收到數(shù)據(jù)。

可以理解為:不知道是什么時(shí)候主機(jī)發(fā)給從機(jī),什么時(shí)候從機(jī)發(fā)給主機(jī),到底該發(fā)多少字節(jié)數(shù)據(jù)等。

此時(shí),需要通信的主機(jī)和從機(jī)達(dá)成約定,一般由主機(jī)進(jìn)行控制讀寫(xiě)的操作。

比如下面這個(gè)讀寫(xiě)SPI Flash數(shù)據(jù)的操作:

前面1字節(jié)是指令,緊接著再3字節(jié)(24位)地址,都是由主機(jī)發(fā)送給從機(jī)。之后,主機(jī)讀取數(shù)據(jù)(由從機(jī)發(fā)送出來(lái))。

3.3 時(shí)鐘極性和相位

除了設(shè)置時(shí)鐘頻率外,主機(jī)還必須配置與數(shù)據(jù)有關(guān)的時(shí)鐘極性和相位。

CPOL確定時(shí)鐘的極性,極性可以通過(guò)簡(jiǎn)單的逆變器進(jìn)行轉(zhuǎn)換。

CPHA確定相對(duì)于時(shí)鐘脈沖的數(shù)據(jù)位的時(shí)序(即相位)。

一般集成有SPI外設(shè)的處理器,都有SPI相關(guān)的配置寄存器,拿STM32來(lái)說(shuō),參考手冊(cè)里面有詳細(xì)介紹SPI配置的信息。

建議大家結(jié)合時(shí)序圖理解,不能死記硬背。

5

說(shuō)明

1.該文檔僅供個(gè)人學(xué)習(xí)使用,版權(quán)所有,禁止商用。

2.本文由我一個(gè)人編輯并整理,難免存在一些錯(cuò)誤。

3.本文收錄于公眾號(hào)『嵌入式專欄』,關(guān)注微信公眾號(hào)回復(fù)【通信教程】即可查看全系列教程。

6最后

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

    關(guān)注

    18

    文章

    6206

    瀏覽量

    137820
  • SPI接口
    +關(guān)注

    關(guān)注

    0

    文章

    264

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    ESP32平臺(tái) + SPI接口芯片DM9051ANX實(shí)現(xiàn)以太網(wǎng)通信

    比較之外,在實(shí)際應(yīng)用上,同學(xué)稍微作下功課,就可以知道C3普遍是做無(wú)線應(yīng)用,如果遇到需要有線以太網(wǎng)口的場(chǎng)景,我們其實(shí)可以利用SPI、UART等GPIO較少的硬件接口,作為對(duì)外通信,在這里我選用在市場(chǎng)上
    發(fā)表于 05-23 10:22

    基于RK3576開(kāi)發(fā)板的SPI使用說(shuō)明

    SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫(xiě),是 Motorola 公司推出的一種同步串行接口技術(shù),是一種高速、全雙工、同步的通信總線在用戶空間
    的頭像 發(fā)表于 05-07 10:31 ?758次閱讀
    基于RK3576開(kāi)發(fā)板的<b class='flag-5'>SPI</b>使用<b class='flag-5'>說(shuō)明</b>

    串行通信接口SPI與QSPI的區(qū)別

    在嵌入式系統(tǒng)的世界里,選擇正確的通信技術(shù)可以對(duì)項(xiàng)目的性能和可擴(kuò)展性產(chǎn)生重大影響。讓我們比較兩個(gè)流行的串行通信接口SPI(串行外設(shè)接口)和Q
    的頭像 發(fā)表于 04-09 15:24 ?1249次閱讀
    串行<b class='flag-5'>通信</b><b class='flag-5'>接口</b><b class='flag-5'>SPI</b>與QSPI的區(qū)別

    ADS8556使用SPI接口通信時(shí),F(xiàn)S/CS管腳與RANGE管腳通過(guò)MCU如何控制?

    ADS8556使用SPI接口通信時(shí),F(xiàn)S/CS管腳與RANGE管腳通過(guò)MCU如何控制?
    發(fā)表于 02-13 07:00

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

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

    DAC7714的SPI直接接FPGA的3.3VIO,這樣用長(zhǎng)時(shí)間會(huì)不會(huì)隨器件損耗接口通信出現(xiàn)不正常?

    DAC7714 的輸入邏輯高電平手冊(cè)中說(shuō)明最大3.325V。由于使用的DAC7714 芯片較多,受板面積限制沒(méi)有加電平轉(zhuǎn)換芯片,DAC7714的SPI直接接FPGA的3.3VIO。使用過(guò)程沒(méi)有什么問(wèn)題。 請(qǐng)問(wèn),這樣用長(zhǎng)時(shí)間會(huì)不會(huì)隨器件損耗
    發(fā)表于 12-20 16:19

    使用stm32的SPI5通信接口與DAC1282通信失敗了怎么解決?

    使用stm32的SPI5通信接口與DAC1282通信失敗,如何查看是否寫(xiě)入寄存器了,我寫(xiě)程序?qū)eset接口來(lái)復(fù)位DAC為啥輸出還是啥也沒(méi)
    發(fā)表于 12-06 07:31

    ADS131B04-Q1 SPI通信時(shí),為什么無(wú)法得到正常的CRC校驗(yàn)?

    你好,我使用 ADS131B04 進(jìn)行產(chǎn)品開(kāi)發(fā),使用中遇到如下問(wèn)題還請(qǐng)幫忙解答。謝謝。 1 . SPI 通信時(shí) CRC 不清楚怎么使用,按如下方法使用時(shí)無(wú)法得到正常的CRC 校驗(yàn)。 初始化代碼如下
    發(fā)表于 11-22 06:40

    spi master接口的fpga實(shí)現(xiàn)

    前言 當(dāng)你器件的引腳賊少的時(shí)候,需要主機(jī)和從機(jī)通信,spi就派上了用場(chǎng),它可以一對(duì)多,但只是片選到的從機(jī)能和主機(jī)通信,其他的掛機(jī)。 spi:serial peripheral inte
    的頭像 發(fā)表于 11-16 10:35 ?1191次閱讀
    <b class='flag-5'>spi</b> master<b class='flag-5'>接口</b>的fpga實(shí)現(xiàn)

    DS1302芯片與FPGA之間SPI通信原理

    本文通過(guò)以DS1302芯片為基礎(chǔ),介紹該芯片與FPGA之間SPI通信原理,詳細(xì)描述硬件設(shè)計(jì)原理及FPGA SPI接口驅(qū)動(dòng)設(shè)計(jì)。
    的頭像 發(fā)表于 10-24 14:16 ?1558次閱讀
    DS1302芯片與FPGA之間<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>原理

    SPI接口靜電放電防護(hù)方案

    SPI(Serial Peripheral Interface,串行外圍設(shè)備接口),是Motorola公司提出的一種同步串行接口技術(shù),是一種高速、全雙工、同步通信總線,在芯片中只占用四
    的頭像 發(fā)表于 09-20 15:31 ?764次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>接口</b>靜電放電防護(hù)方案

    SPI接口用于TRF7960

    電子發(fā)燒友網(wǎng)站提供《將SPI接口用于TRF7960.pdf》資料免費(fèi)下載
    發(fā)表于 09-18 14:29 ?0次下載
    將<b class='flag-5'>SPI</b><b class='flag-5'>接口</b>用于TRF7960

    SPI通信協(xié)議的基本概念和工作模式

    SPI(Serial Peripheral Interface)通信協(xié)議,即串行外圍設(shè)備接口,是一種高速、全雙工、同步通信總線,由摩托羅拉公司提出并廣泛應(yīng)用。
    的頭像 發(fā)表于 09-09 17:04 ?3198次閱讀

    單片機(jī)SPI通信實(shí)現(xiàn)

    在深入探討單片機(jī)(如基于STM32、AVR、PIC等)如何通過(guò)SPI(Serial Peripheral Interface)進(jìn)行通信之前,我們先概述SPI通信的基本原理,隨后以STM
    的頭像 發(fā)表于 09-09 17:00 ?1652次閱讀

    M800/M80/E80/C80系列plc接口說(shuō)明書(shū)

    三菱數(shù)控系統(tǒng)plc接口說(shuō)明書(shū)
    發(fā)表于 09-09 10:13 ?14次下載