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

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

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

SPI傳輸原理 SPI傳輸機(jī)制

麥辣雞腿堡 ? 來(lái)源:嵌入式Linux系統(tǒng)開(kāi)發(fā) ? 作者:嵌入式Linux系統(tǒng)開(kāi) ? 2023-07-27 10:43 ? 次閱讀

SPI 傳輸機(jī)制

圖片

從圖可以看出,主機(jī)和從機(jī)都有一個(gè)串行移位寄存器,主機(jī)通過(guò)向它的 SPI 串行寄存器寫(xiě)入一個(gè)字節(jié)來(lái)發(fā)起一次傳輸。寄存器通過(guò) MOSI
信號(hào)線將字節(jié)傳送給從機(jī),從機(jī)也將自己的移位寄存器中的內(nèi)容通過(guò) MISO 信號(hào)線返回給主機(jī)。這樣,兩個(gè)移位寄存器中的內(nèi)容就被交換。

外設(shè)的寫(xiě)操作和讀操作是同步完成的。如果只進(jìn)行寫(xiě)操作,主機(jī)只需忽略接收到的字節(jié);反之,若主機(jī)要讀取從機(jī)的一個(gè)字節(jié),就必須發(fā)送一個(gè)空字節(jié)來(lái)引發(fā)從機(jī)的傳輸。

雖然 SPI 四線制支持讀寫(xiě)同時(shí)進(jìn)行,但實(shí)際上我們很多時(shí)候并不需要又讀又寫(xiě),見(jiàn)以下兩種情況(參考 BMA223 數(shù)據(jù)手冊(cè)):

注意:如下三幅圖示均為 CPOL=1,CPHA=1

1、主機(jī)向從機(jī)寫(xiě)數(shù)據(jù)

圖片

主機(jī)發(fā)送先發(fā)送 8 bits,第一個(gè) bit 為 0 代表這次主機(jī)是想寫(xiě)數(shù)據(jù)到從機(jī),AD6~AD0
表示要寫(xiě)的寄存器地址。然后,主機(jī)就會(huì)一直寫(xiě)下去。在這期間 SDO 一直沒(méi)用,一直是高阻態(tài),算是一直讀到1。

2、主機(jī)從從機(jī)讀數(shù)據(jù)

圖片

這種情況下,主機(jī)先發(fā)送 8 bits,第一位為 1 代表這次是讀,然后 AD6 ~ AD0 是想要讀的寄存器地址,然后 SDO 開(kāi)始返回?cái)?shù)據(jù)。

聲明:本文內(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)投訴
  • 主機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    982

    瀏覽量

    35008
  • 傳輸
    +關(guān)注

    關(guān)注

    0

    文章

    152

    瀏覽量

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

    關(guān)注

    17

    文章

    1688

    瀏覽量

    91215
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SPI總線電路圖設(shè)計(jì)及傳輸原理

    當(dāng)主機(jī)發(fā)送一個(gè)連續(xù)的數(shù)據(jù)流時(shí),有些外設(shè)能夠進(jìn)行多字節(jié)傳輸.多數(shù)具有SPI接口的存儲(chǔ)芯片就以這種方式工作.在這種傳輸方式下,從機(jī)的片選端必須在整個(gè)傳輸過(guò)程中保持低電平.
    發(fā)表于 09-05 11:09 ?1.5w次閱讀
    <b class='flag-5'>SPI</b>總線電路圖設(shè)計(jì)及<b class='flag-5'>傳輸</b>原理

    SPI采用DMA傳輸問(wèn)題

    = 0x0000; /*選擇DMA通道0外設(shè)地址寄存器SPI1*/ DMA0PAD = (volatile u16) &SPI1BUF; /*DMA0傳輸計(jì)數(shù)設(shè)置*/ DMA0CNT
    發(fā)表于 09-25 16:23

    藍(lán)牙的SPI傳輸的開(kāi)發(fā)版推薦

    現(xiàn)在淘寶上大多數(shù)藍(lán)牙模塊都是通過(guò)串口傳輸的,但是傳輸的速度太慢,本人想找個(gè)藍(lán)牙開(kāi)發(fā)模塊,可以支持SPI傳輸的,求推薦一個(gè)比較合適的藍(lán)牙模塊,謝謝
    發(fā)表于 03-08 21:09

    SPI的最大傳輸速率是多少 ?

    一般情況下,SPI模塊的最大時(shí)鐘頻率為系統(tǒng)時(shí)鐘頻率的1/2。雖然SPI傳輸速率主要受限于CPU處理SPI數(shù)據(jù)的能力,但在同另一個(gè)非常高速率的SPI
    發(fā)表于 08-07 06:13

    連續(xù)SPI傳輸時(shí)發(fā)生傳輸超時(shí)的原因是什么?

    ); spi_set_cs(SPI,F(xiàn)ALSE); SPI->主 - > unprepare_transfer_hardware(SPI->主);打破;在連續(xù)
    發(fā)表于 04-29 06:24

    SPI的特點(diǎn)及傳輸模式

    目錄(?)[-]SPI簡(jiǎn)介SPI特點(diǎn)1采用主-從模式Master-Slave 的控制方式2采用同步方式Synchronous傳輸數(shù)據(jù)3數(shù)據(jù)交換Data Exchanges4 SPI有四
    發(fā)表于 08-05 08:15

    SPI總線的傳輸速度

    SPI總線的傳輸速度比IIC速度快,故通常追求速度常常采用硬件SPI進(jìn)行傳輸數(shù)據(jù)。下面記錄了利用stm32cubeMx配置硬件SPI1,外設(shè)
    發(fā)表于 08-11 06:04

    使用SPI傳輸數(shù)據(jù)

    一、前言最近因?yàn)樾枰x取傳感器數(shù)據(jù),需要單片機(jī)發(fā)送命令,傳感器返回24位數(shù)據(jù),因?yàn)槭褂?b class='flag-5'>SPI傳輸數(shù)據(jù),雖然命令只有8位,但是必須發(fā)送24位數(shù)據(jù)才能獲得傳感器的24位數(shù)據(jù)。關(guān)于SPI的知識(shí)可...
    發(fā)表于 01-13 06:34

    SPI總線數(shù)據(jù)遠(yuǎn)距離傳輸實(shí)現(xiàn)

    SPI總線是一種應(yīng)用廣泛的短距離串行同步通信協(xié)議,針對(duì)SPI 總線數(shù)據(jù)不能進(jìn)行遠(yuǎn)距離傳輸的問(wèn)題,本文介紹了采用RS-422/RS-485 通信協(xié)議,利用MAX3045 和MAX3093 芯片構(gòu)成RS-422/RS-4
    發(fā)表于 08-18 15:17 ?78次下載

    基于SPI總線的無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

    基于SPI總線的無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)   摘要: 通過(guò)基于SPI總線的無(wú)線數(shù)據(jù)通信設(shè)備,利用無(wú)線數(shù)據(jù)收發(fā)芯片NRF905和51單片機(jī)STC89C52RC進(jìn)行設(shè)計(jì),給出了無(wú)線數(shù)據(jù)傳輸
    發(fā)表于 03-13 11:42 ?3769次閱讀
    基于<b class='flag-5'>SPI</b>總線的無(wú)線數(shù)據(jù)<b class='flag-5'>傳輸</b>系統(tǒng)設(shè)計(jì)

    SPI傳輸模擬資料匯總

    SPI傳輸模擬資料匯總
    發(fā)表于 11-17 15:39 ?7次下載

    SPI通信簡(jiǎn)介

    目錄(?)[-]SPI簡(jiǎn)介SPI特點(diǎn)1采用主-從模式Master-Slave 的控制方式2采用同步方式Synchronous傳輸數(shù)據(jù)3數(shù)據(jù)交換Data Exchanges4 SPI有四
    發(fā)表于 12-22 19:14 ?9次下載
    <b class='flag-5'>SPI</b>通信簡(jiǎn)介

    SPI是什么 SPI數(shù)據(jù)傳輸

    數(shù)據(jù)傳輸 SPI 的英文全稱為 Serial Peripheral Interface,顧名思義為串行外設(shè)接口。 SPI 是一種同步串行通信接口規(guī)范,主要應(yīng)用于嵌入式系統(tǒng)中的短距離通信。該接口由
    的頭像 發(fā)表于 07-21 10:03 ?8522次閱讀

    什么是SPI機(jī)制

    1、前言 在之前的 JVM 分析系列之類加載 提到過(guò) Java SPI 機(jī)制,主要是類加載器反雙親委派的實(shí)現(xiàn)(第三方包不在指定jdk路徑,一般類加載器無(wú)法加載,需要特殊
    的頭像 發(fā)表于 10-08 15:03 ?1063次閱讀
    什么是<b class='flag-5'>SPI</b><b class='flag-5'>機(jī)制</b>

    探索SPI單線傳輸模式中時(shí)鐘線與數(shù)據(jù)傳輸的簡(jiǎn)化

    探索SPI單線傳輸模式:時(shí)鐘線與數(shù)據(jù)傳輸的簡(jiǎn)化之道 在當(dāng)今的嵌入式系統(tǒng)和微控制器通信中,串行外設(shè)接口(SPI)因其高速、全雙工和同步的特點(diǎn)而廣受歡迎。然而,隨著設(shè)備尺寸和復(fù)雜性的不斷減
    的頭像 發(fā)表于 05-28 18:26 ?1055次閱讀