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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通信教程的04_SPI接口說明及原理

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 作者:黃工的嵌入式技術 ? 2020-02-05 12:29 ? 次閱讀

教程由作者strongerHuang于2019年09月原創發布。

標簽:串口、 SPI、 通信

版權所有:禁止商用

申明:該文檔僅供個人學習使用,轉載請公眾號聯系作者授權。

1寫在前面

SPI:Serial Peripheral Interface,是串行外設接口

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

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

2SPI接口

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

MOSI:Master Output Slave Input,主設備數據輸出,從設備數據輸入;

MISO:Master Input Slave Output,主設備數據輸入,從設備數據輸出;

SCLK:Serial Clock,時鐘信號,由主設備產生;

SS:Slave Select,從設備選擇信號,由主設備控制;

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

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

2.1 一主一從

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

上圖例子是主機發送一個字節數據(0x53),從機應答一個字節數據(0x46)。

2.2 一主多從

SPI可以一主一從(一個主機,一個從機),但也可以一主多從。一主多從常見有兩種連接方式。

A.常規

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

B.一條SS信號

某些應用只需要一條NSS即可(比如:移位寄存器),對于這種布局,數據從一個從設備移位到另一個從設備。

3SPI數據傳輸

SPI的通信比較簡單,一個時鐘傳輸一位數據(主機 -> 從機,或者從機 -> 主機)。

3.1 SPI時鐘

理論上SPI的時鐘頻率可以做到很大,一般幾MHz~幾百MHz,拿常見的W25Q16來說,SPI最高支持80MHz。

SPI通信速率要結合實際情況,不能超過主機或從機支持的最大時鐘頻率。

3.2 SPI數據

SPI的數據分兩個方向:

MOSI:主機 -> 從機

MISO:從機 -> 主機

SPI通信有一個“缺點”:沒有指定的流控制,沒有應答機制確認是否接收到數據。

可以理解為:不知道是什么時候主機發給從機,什么時候從機發給主機,到底該發多少字節數據等。

此時,需要通信的主機和從機達成約定,一般由主機進行控制讀寫的操作。

比如下面這個讀寫SPI Flash數據的操作:

前面1字節是指令,緊接著再3字節(24位)地址,都是由主機發送給從機。之后,主機讀取數據(由從機發送出來)。

3.3 時鐘極性和相位

除了設置時鐘頻率外,主機還必須配置與數據有關的時鐘極性和相位。

CPOL確定時鐘的極性,極性可以通過簡單的逆變器進行轉換。

CPHA確定相對于時鐘脈沖的數據位的時序(即相位)。

一般集成有SPI外設的處理器,都有SPI相關的配置寄存器,拿STM32來說,參考手冊里面有詳細介紹SPI配置的信息

建議大家結合時序圖理解,不能死記硬背。

5

說明

1.該文檔僅供個人學習使用,版權所有,禁止商用。

2.本文由我一個人編輯并整理,難免存在一些錯誤。

3.本文收錄于公眾號『嵌入式專欄』,關注微信公眾號回復【通信教程】即可查看全系列教程。

6最后

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 通信
    +關注

    關注

    18

    文章

    6072

    瀏覽量

    136433
  • SPI接口
    +關注

    關注

    0

    文章

    259

    瀏覽量

    34554
收藏 人收藏

    評論

    相關推薦

    DAC7714的SPI直接接FPGA的3.3VIO,這樣用長時間會不會隨器件損耗接口通信出現不正常?

    DAC7714 的輸入邏輯高電平手冊中說明最大3.325V。由于使用的DAC7714 芯片較多,受板面積限制沒有加電平轉換芯片,DAC7714的SPI直接接FPGA的3.3VIO。使用過程沒有什么問題。 請問,這樣用長時間會不會隨器件損耗
    發表于 12-20 16:19

    KeyStone架構串行外設接口(SPI)手冊

    SPI(Serial Peripheral Interface)是一種高速、全雙工、同步的串行通信協議,它允許微控制器與一個或多個外圍設備進行通信SPI
    發表于 12-16 10:33 ?0次下載

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

    使用stm32的SPI5通信接口與DAC1282通信失敗,如何查看是否寫入寄存器了,我寫程序對reset接口來復位DAC為啥輸出還是啥也沒
    發表于 12-06 07:31

    ADS131B04-Q1 SPI通信時,為什么無法得到正常的CRC校驗?

    你好,我使用 ADS131B04 進行產品開發,使用中遇到如下問題還請幫忙解答。謝謝。 1 . SPI 通信時 CRC 不清楚怎么使用,按如下方法使用時無法得到正常的CRC 校驗。 初始化代碼如下
    發表于 11-22 06:40

    spi master接口的fpga實現

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

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

    本文通過以DS1302芯片為基礎,介紹該芯片與FPGA之間SPI通信原理,詳細描述硬件設計原理及FPGA SPI接口驅動設計。
    的頭像 發表于 10-24 14:16 ?612次閱讀
    DS1302芯片與FPGA之間<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>原理

    SPI接口靜電放電防護方案

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

    SPI接口用于TRF7960

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

    SPI通信協議的基本概念和工作模式

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

    單片機SPI通信實現

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

    M800/M80/E80/C80系列plc接口說明

    三菱數控系統plc接口說明
    發表于 09-09 10:13 ?12次下載

    請問可以用FX3作為SPI的Master,通過GPIF II接口實現SPI通信嗎?

    你好,我有一塊 CYUSBKIT-003 電路板,我正在研究它。 1.為了學習GPIF II接口的使用,我想用FX3的GPIF II實現SPI通信。請問可以用FX3作為SPI的Mast
    發表于 05-29 07:46

    想搞懂通信協議?先來看一篇SPI熱熱身

    SPI是串行外設接口(SerialPeripheralInterface)的縮寫,它是一種同步串行通信接口,用于微控制器和外圍設備(如傳感器、SD卡、其他微控制器等)之間的
    的頭像 發表于 05-12 08:10 ?1864次閱讀
    想搞懂<b class='flag-5'>通信</b>協議?先來看一篇<b class='flag-5'>SPI</b>熱熱身

    鴻蒙原生應用元服務開發-WebGL網頁圖形庫開發接口說明

    一、場景介紹 WebGL主要幫助開發者在前端開發中完成圖形圖像的相關處理,比如繪制彩色圖形等。目前該功能僅支持使用兼容JS的類Web開發范式開發。 二、接口說明 表1 WebGL主要接口列表 本文參考引用HarmonyOS官方開發文檔,基于API9。
    發表于 03-11 15:51

    超詳細的SPI原理和通信模式

    SPI分為主、從兩種模式,一個SPI通訊系統需要包含一個(且只能是一個)主設備,一個或多個從設備。提供時鐘的為主設備(Master),接收時鐘的設備為從設備(Slave),SPI接口
    發表于 02-29 12:33 ?5021次閱讀
    超詳細的<b class='flag-5'>SPI</b>原理和<b class='flag-5'>通信</b>模式
    主站蜘蛛池模板: 免费四影虎ww4hu10 | 免费视频一级片 | 欧美网站视频 | 操美女的视频网站 | 国产在线精品美女观看 | 98色花堂永久地址国产精品 | 色www 永久免费网站 | 亚洲国产欧美在线人成aaa | 91md天美精东蜜桃传媒在线 | 成人宗合网 | 2018天天干天天操 | 欧亚激情偷乱人伦小说视频 | 亚洲伊人久久综合影院2021 | 色综合久久久久久久久五月 | freesexvideo性欧美医生护士 | avtt亚洲一区中文字幕 | 婷婷影院在线综合免费视频 | 无毒三级 | 欧美精品video| 精品国产第一国产综合精品gif | 免费一级牲交毛片 | 黄网站免费视频 | 99久久精品免费看国产 | 日本一卡二卡≡卡四卡精品 | 五月天婷婷网亚洲综合在线 | 黄色片网站观看 | 35qao强力打造免费上线高清 | 国产成人在线播放视频 | 国产美女流出白浆在线观看 | 国产精品李雅在线观看 | 四虎精品永久在线 | 午夜影院视频 | 夜夜爱夜夜做 | 你懂的欧美 | 成人综合网站 | 国产三级精品在线观看 | 男人和女人做爽爽视频在线观看 | 国产真实灌醉美女疯狂弄 | 永久免费在线看 | 国产欧美乱码在线看 | 日日干夜夜草 |