衡阳派盒市场营销有限公司

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

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

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

需要把握住的SPI通信知識點(diǎn)

痞子衡嵌入式 ? 來源:最后一個(gè)bug ? 作者:bug菌 ? 2022-06-17 17:03 ? 次閱讀

SPI通信嵌入式領(lǐng)域是非常常用的一種通信方式了,相比串口、IIC等等,SPI通信是一種高速、高效率的串行接口技術(shù)

然而最近在新項(xiàng)目開發(fā)中使用SPI通信卻遇到了不少問題,過程中還是有挺多技術(shù)細(xì)節(jié)和知識點(diǎn)需要把握住的,那么今天bug菌就結(jié)合最近的使用情況和一直以來在SPI通信上踩過的坑進(jìn)行總結(jié)和記錄,一起避坑。 本文為基礎(chǔ)鞏固篇:

1通信形式

SPI是一種全雙工、同步串行的通信方式,全雙工、半雙工等,表示某一時(shí)刻,數(shù)據(jù)的流動形式,全雙工即可雙向同時(shí)收發(fā),而半雙工則在一個(gè)時(shí)刻只能收或者發(fā),通常全雙工具有兩條獨(dú)立通信線路,而半雙工則共用同一條線路。

af95fd88-ed5d-11ec-ba43-dac502259ad0.png

從SPI通信接線圖可以看出,MOSI用于主機(jī)數(shù)據(jù)輸出,從機(jī)數(shù)據(jù)輸入,MISO引腳的數(shù)據(jù)流則剛好與之相反,所以數(shù)據(jù)流收發(fā)是走的兩條獨(dú)立的線路,從而可實(shí)現(xiàn)全雙工通信模式,當(dāng)然你也可以用于只用于單向數(shù)據(jù)傳輸,比如省略掉MISO僅主機(jī)傳輸從機(jī)數(shù)據(jù)等。

SPI通信有一個(gè)SCLK時(shí)鐘線作為通信的同步信號,用來標(biāo)定數(shù)據(jù)在MOSI和MISO引腳上的傳輸情況,SCLK是由主機(jī)來控制提供,從機(jī)檢測識別,從而同步完成數(shù)據(jù)傳輸。

片選信號CS引腳,還記得有一次面試問片選信號CS英文是什么?英文直譯即可--Chip Select。

片選信號在大部分?jǐn)?shù)字芯片都有存在,外界給該引腳相應(yīng)的電平即可選中,相當(dāng)于一個(gè)"總開關(guān)",大部分從設(shè)備都是低電平被選中(電路圖中通常在CS上劃線標(biāo)識),如果一直被選中則直接接地即可;當(dāng)然也有少部分高電平選中則可直接接到VCC,切記不可懸空,以免異常。

這樣看SPI的通信線路非常簡單,沒有繁雜的線路硬件也省了不少事,但很多朋友包括bug菌曾經(jīng)因?yàn)榘阎鳈C(jī)的MOSI接到從機(jī)的MISO而折騰得不輕,都是慣性思維惹的禍,一定要記住是對應(yīng)引腳相連。

afa70146-ed5d-11ec-ba43-dac502259ad0.png

2通信線路

SPI是一種主從通信方式,在SPI通信總線上通常只有一個(gè)主機(jī),一切通信的開始都是以主機(jī)發(fā)起,那如果在一條總線上與多個(gè)從設(shè)備通信呢?下面以兩個(gè)從機(jī)為例,更多的從機(jī)也是類似的。

afb31620-ed5d-11ec-ba43-dac502259ad0.png

通過不同的片選引腳來選中不同的從設(shè)備,從而完成一對多的通信過程。通常多從機(jī)的情況都會采用多余的IO口連接從設(shè)備的片選引腳,以便分時(shí)控制從設(shè)備,達(dá)到一主多從機(jī)的主從控制方式。

當(dāng)然如果獨(dú)立的IO口引腳有限,可以采用IO口擴(kuò)展芯片進(jìn)行選中,也是比較方便的。

3通信數(shù)據(jù)

SPI通信是一種交換數(shù)據(jù)的形式,主機(jī)根據(jù)SCLK時(shí)鐘把數(shù)據(jù)從MOSI引腳按bit位發(fā)送的同時(shí),從機(jī)也以相同的速率把數(shù)據(jù)從MISO引腳傳輸,其傳輸數(shù)據(jù)形式如下:

afbdc3ae-ed5d-11ec-ba43-dac502259ad0.png

從SPI通信數(shù)據(jù)流圖可以看出其發(fā)送與接收形成了一個(gè)封閉的環(huán),所要傳輸?shù)臄?shù)據(jù)像水在一根管道內(nèi)循環(huán)流動,所以其硬件線路上并沒有像I2C那樣有所謂的應(yīng)答機(jī)制,通信效率上提高不少,但數(shù)據(jù)可靠性也會有一定的減弱。

前面bug也談到SPI是一種主從通信機(jī)制,那么使得“管子”內(nèi)數(shù)據(jù)流涌動的源泉一方面需要SPI的SCLK時(shí)鐘保持好節(jié)奏,另一方面就是需要主機(jī)來推動,所以如果master只是想獲取slave的數(shù)據(jù),也需要發(fā)送空數(shù)據(jù)來使得整個(gè)數(shù)據(jù)流動起來,從而獲得從機(jī)的數(shù)據(jù)。

細(xì)心的朋友應(yīng)該注意到上圖中MSB和LSB方向了,通常SPI通信都是以MSB來進(jìn)行發(fā)送,但像stm32芯片這樣的芯片可以設(shè)置是LSB先發(fā)送還是MSB先發(fā)送。

所以在分析SPI通信數(shù)據(jù)的時(shí)候這些數(shù)據(jù)都是需要提前了解的。

4通信電平?

SPI比較麻煩點(diǎn)的就是時(shí)鐘極性和時(shí)鐘相位的確定了,但再怎么麻煩也就確定了4種模式。

如下是4種模式的時(shí)序圖,其中CPOL(Clock Polarity)表示時(shí)鐘極性,CPHA(Clock Phase)表示時(shí)鐘相位。

afc7bbe8-ed5d-11ec-ba43-dac502259ad0.png

afd2a5da-ed5d-11ec-ba43-dac502259ad0.png

從圖中我們可以分析得到:

1、CPOL和CPHA共同決定數(shù)據(jù)的采集方式。

2、CPOL決定了SCLK默認(rèn)狀態(tài),當(dāng)CPOL=0,時(shí)鐘空閑時(shí)是低電平;當(dāng)CPOL=1,時(shí)鐘空閑時(shí)為高電平。

3、CPHA決定了數(shù)據(jù)在第幾個(gè)跳變沿采集,當(dāng)CPHA=0,在SCLK第一個(gè)跳變沿采集穩(wěn)定數(shù)據(jù);當(dāng)CPHA=1,在SCLK第二個(gè)跳變沿采集穩(wěn)定數(shù)據(jù)。

每個(gè)bit的數(shù)據(jù)交換,都是在電平穩(wěn)定的時(shí)候進(jìn)行數(shù)據(jù)電平采集,在電平變化的時(shí)候進(jìn)行數(shù)據(jù)發(fā)送,一般從設(shè)備像高精度ADC等等,出廠就已經(jīng)是固定了某種模式,我們需要做的就是通過配置可編程的主機(jī)SPI外設(shè)在相同的一種頻率和模式下通信,否則就是造成數(shù)據(jù)錯(cuò)亂。

現(xiàn)在比較流行庫開發(fā),很多外設(shè)使用案例直接可以拿過來用,或者嘗試著調(diào)整幾個(gè)參數(shù)就可以了,似乎不需要懂太多的原理,但這樣的學(xué)習(xí)終究只是把芯片玩起來了,要做到一通百通還是得從最原始的理論出發(fā),只有把握住這些重點(diǎn)才能在項(xiàng)目開發(fā)的過程中直面問題并搞定它。

下一篇進(jìn)階避坑篇,我們再更加深入聊聊SPI。

原文標(biāo)題:大話SPI通信--基礎(chǔ)鞏固篇

文章出處:【微信公眾號:痞子衡嵌入式】歡迎添加關(guān)注!文章轉(zhuǎ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)投訴
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2903

    瀏覽量

    88400
  • SPI通信
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    11432
  • MOSI
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    4030

原文標(biāo)題:大話SPI通信--基礎(chǔ)鞏固篇

文章出處:【微信號:pzh_mcu,微信公眾號:痞子衡嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Docker-鏡像的分層-busybox鏡像制作

    目錄 知識點(diǎn)1:鏡像的分層 示例:進(jìn)入 docker hub查看Jenkins的Dockerfile 知識點(diǎn)2:base鏡像 知識點(diǎn)3:scratch鏡像 scratch 鏡像是什么? 示例:在
    的頭像 發(fā)表于 01-15 10:44 ?133次閱讀
    Docker-鏡像的分層-busybox鏡像制作

    spi16f887與ldc1000的spi通信,是否對于讀、寫,都是只需要把CSB變成低電平即可?

    對于ldc1000的spi通信我有以下幾個(gè)問題: 應(yīng)用情況是spi16f887與ldc1000的spi通信 1.是否對于讀、寫,都是只
    發(fā)表于 01-14 07:45

    Aigtek功率放大器應(yīng)用:電感線圈的知識點(diǎn)分享

    電磁驅(qū)動是功率放大器的一大基礎(chǔ)應(yīng)用領(lǐng)域,其中我們最常見的就是用功放來驅(qū)動電感線圈,那么關(guān)于電感線圈的這10大知識點(diǎn)你都知道嗎?今天Aigtek安泰電子來給大家介紹一下電感線圈的基礎(chǔ)知識
    的頭像 發(fā)表于 01-07 15:43 ?165次閱讀
    Aigtek功率放大器應(yīng)用:電感線圈的<b class='flag-5'>知識點(diǎn)</b>分享

    一些關(guān)于ldc1000的spi通信的問題求解

    我有一些關(guān)于ldc1000的spi通信的問題。 應(yīng)用情況是spi16f887與ldc1000的spi通信 1.是否對于讀、寫,都是只
    發(fā)表于 12-26 08:23

    后悔沒有早點(diǎn)看到:天線設(shè)計(jì)中的知識點(diǎn)

    Cat.1 bis R13架構(gòu),天線架構(gòu)精簡為單天線架構(gòu),去掉了分集接收天線,因此只需要一根天線。 ? 知識點(diǎn): Cat.1 bis相對于Cat.1的區(qū)別是,后者為兩根天線(一根主天線,一根分集天線
    的頭像 發(fā)表于 12-24 17:11 ?503次閱讀
    后悔沒有早點(diǎn)看到:天線設(shè)計(jì)中的<b class='flag-5'>知識點(diǎn)</b>!

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

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

    接口測試?yán)碚摗⒁蓡柺珍浥c擴(kuò)展相關(guān)知識點(diǎn)

    本文章使用王者榮耀游戲接口、企業(yè)微信接口的展示結(jié)合理論知識,講解什么是接口測試、接口測試?yán)碚摗⒁蓡柺珍浥c擴(kuò)展相關(guān)知識點(diǎn)知識學(xué)院,快來一起看看吧~
    的頭像 發(fā)表于 11-15 09:12 ?389次閱讀
    接口測試?yán)碚摗⒁蓡柺珍浥c擴(kuò)展相關(guān)<b class='flag-5'>知識點(diǎn)</b>

    移為通信閃耀亮相2024中國摩博會,攜手錢江摩托共創(chuàng)智能騎行新未來

    隨著新國標(biāo)政策的逐步落地執(zhí)行,以及消費(fèi)者對高品質(zhì)智能車輛需求的日益增加,兩輪車市場正在加速向智能化轉(zhuǎn)型。移為通信敏銳地把握住這一發(fā)展趨勢,憑借深厚的技術(shù)積累和廣泛的市場布局,幫助國內(nèi)外兩輪車廠商在智能化升級中實(shí)現(xiàn)技術(shù)與成本的平衡。
    的頭像 發(fā)表于 09-20 16:32 ?438次閱讀
    移為<b class='flag-5'>通信</b>閃耀亮相2024中國摩博會,攜手錢江摩托共創(chuàng)智能騎行新未來

    模擬電子技術(shù)知識點(diǎn)問題總結(jié)概覽

    給大家分享模擬電子技術(shù)知識點(diǎn)問題總結(jié)。
    的頭像 發(fā)表于 05-08 15:16 ?1238次閱讀
    模擬電子技術(shù)<b class='flag-5'>知識點(diǎn)</b>問題總結(jié)概覽

    PCB主板對三防漆的選擇具體要求在哪里?需要哪些測試?

    很多PCBA工廠在使用 三防漆 時(shí)對于產(chǎn)品本身特性有所認(rèn)知,但在不同使用環(huán)境、溫度、濕度變化時(shí)卻沒有去把握住三防漆特性變化。在使用的過程中沒有好的防護(hù)措施,會對人造成一定的傷害,所以使用三防漆一定
    的頭像 發(fā)表于 04-17 16:57 ?1025次閱讀

    一篇搞定DCS系統(tǒng)相關(guān)知識點(diǎn)

    目標(biāo)。DCS系統(tǒng)廣泛應(yīng)用于各個(gè)行業(yè),如化工、電力、制藥等。在這些行業(yè)中,DCS系統(tǒng)可以實(shí)現(xiàn)對生產(chǎn)過程的集中監(jiān)控和分散控制,提高生產(chǎn)效率和產(chǎn)品質(zhì)量,降低能耗和減少環(huán)境污染,從而保證產(chǎn)品質(zhì)量,并確保生產(chǎn)過程的安全可靠。 二.DCS系統(tǒng)知識點(diǎn)
    的頭像 發(fā)表于 03-26 18:40 ?1003次閱讀
    一篇搞定DCS系統(tǒng)相關(guān)<b class='flag-5'>知識點(diǎn)</b>

    使用myir開發(fā)板進(jìn)行spi通信的疑問求解

    spi1的a7節(jié)點(diǎn),開啟(或不開啟)m4_spi1的節(jié)點(diǎn)依然無法進(jìn)行通信。 問題點(diǎn):兩個(gè)spi
    發(fā)表于 03-26 07:39

    光纖通信應(yīng)對高流量高標(biāo)準(zhǔn)挑戰(zhàn)與光纖鏈路運(yùn)維要點(diǎn)解析

    面對如此高流量高標(biāo)準(zhǔn)的增長趨勢,作為通信網(wǎng)骨干的光纖通信承受著巨大的升級壓力,相應(yīng)地,關(guān)于光纖鏈路運(yùn)維的知識點(diǎn)及注意事項(xiàng)也逐漸受到人們的重視。
    發(fā)表于 03-22 11:30 ?617次閱讀
    光纖<b class='flag-5'>通信</b>應(yīng)對高流量高標(biāo)準(zhǔn)挑戰(zhàn)與光纖鏈路運(yùn)維要點(diǎn)解析

    【量子計(jì)算機(jī)重構(gòu)未來 | 閱讀體驗(yàn)】第二章關(guān)鍵知識點(diǎn)

    本帖最后由 oxlm_1 于 2024-3-6 23:20 編輯 之所以將第二章單獨(dú)拿出來,是因?yàn)樵陂喿x過程中,發(fā)現(xiàn)第二章知識點(diǎn)較多,理解起來比較耗時(shí)間。 第二章的主要知識點(diǎn): 量子
    發(fā)表于 03-06 23:17

    企業(yè)在實(shí)施MES時(shí)要把握什么

    電子發(fā)燒友網(wǎng)站提供《企業(yè)在實(shí)施MES時(shí)要把握什么.docx》資料免費(fèi)下載
    發(fā)表于 02-22 15:01 ?1次下載
    百家乐赌场公司| 百家乐官网策略与心得| 百家乐赌场怎么玩| 百家乐官网事电影| 大发888信誉888娱乐城| 百家乐官网平注法到6568| 网上在线赌场| 澳门百家乐哪家信誉最好| 百家乐官网方法技巧| 大发888的示例| 网上百家乐官方网站| 百家乐官网路单破解方法| 励骏会百家乐的玩法技巧和规则| 玩百家乐官网游戏的最高技巧| 鸿胜国际| 索罗门百家乐的玩法技巧和规则| 成都百家乐官网的玩法技巧和规则 | 百家乐游戏解码器| 百家乐官网正式版| 婺源县| 威尼斯人娱乐城网上赌场| 家百家乐破解软件| 百家乐官网真人游戏网上投注 | 百家乐官网www| 合法赌博网站| 百家乐筹码套装100片| 做生意放什么东西招财| 百家乐代理 | 黄金城百家乐手机版| 真钱百家乐赌博| 百家乐官网双层筹码盘| 真人网上娱乐城| 大发888真钱电玩游戏| 棋牌百家乐程序破解| 百家乐官网免费下| 高手百家乐官网赢钱法| 博彩游戏机| 九州百家乐的玩法技巧和规则| 免费百家乐官网过滤软件| 百家乐官网汝河路| 都昌县|