色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

需要把握住的SPI通信知識點

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

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

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

1通信形式

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

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

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

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

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

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

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

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

2通信線路

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

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

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

當然如果獨立的IO口引腳有限,可以采用IO口擴展芯片進行選中,也是比較方便的。

3通信數據

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

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

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

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

細心的朋友應該注意到上圖中MSB和LSB方向了,通常SPI通信都是以MSB來進行發送,但像stm32芯片這樣的芯片可以設置是LSB先發送還是MSB先發送。

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

4通信電平?

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

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

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

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

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

1、CPOL和CPHA共同決定數據的采集方式。

2、CPOL決定了SCLK默認狀態,當CPOL=0,時鐘空閑時是低電平;當CPOL=1,時鐘空閑時為高電平。

3、CPHA決定了數據在第幾個跳變沿采集,當CPHA=0,在SCLK第一個跳變沿采集穩定數據;當CPHA=1,在SCLK第二個跳變沿采集穩定數據。

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

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

下一篇進階避坑篇,我們再更加深入聊聊SPI。

原文標題:大話SPI通信--基礎鞏固篇

文章出處:【微信公眾號:痞子衡嵌入式】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅

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

    關注

    10

    文章

    2924

    瀏覽量

    88902
  • SPI通信
    +關注

    關注

    0

    文章

    35

    瀏覽量

    11483
  • MOSI
    +關注

    關注

    0

    文章

    5

    瀏覽量

    4086

原文標題:大話SPI通信--基礎鞏固篇

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

收藏 0人收藏
  • jf_514407661

評論

相關推薦

電氣工程師必知必會的100個電?知識點分享

電??程師也都是從電?學徒??步?步積累成長起來的。積跬步?千?,匯細流成江海!朋友們,現在讓我們??個捷徑,花半個?時的時間來積累100個必知必會的電?知識點吧!
的頭像 發表于 03-14 11:05 ?327次閱讀

華邦電子安全閃存關鍵知識點

黑客攻擊?高溫考驗?駕駛安全?通通沒在怕的!1月15日,華邦電子舉辦了“安全閃存強化車用電子安全性”為主題的線上研討會。為了讓沒能參加這場線上研討會的邦友們也可以清晰 Get 安全閃存關鍵知識點,邦
的頭像 發表于 02-12 18:15 ?525次閱讀

為什么要把屏幕拿過來調試

為什么要把屏幕拿過來調試?明思銳顯示方案商為您解答。因為每個屏幕的參數會有差別,可能導致屏幕不亮或者顯示異常。 顯示器驅動板輸出的信號和屏幕模組接口的信號相同,且pin定義也相同時,如果是
的頭像 發表于 01-17 09:23 ?217次閱讀
為什么<b class='flag-5'>要把</b>屏幕拿過來調試

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

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

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

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

Aigtek功率放大器應用:電感線圈的知識點分享

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

一些關于ldc1000的spi通信的問題求解

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

后悔沒有早點看到:天線設計中的知識點

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

spi master接口的fpga實現

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

接口測試理論、疑問收錄與擴展相關知識點

本文章使用王者榮耀游戲接口、企業微信接口的展示結合理論知識,講解什么是接口測試、接口測試理論、疑問收錄與擴展相關知識點知識學院,快來一起看看吧~
的頭像 發表于 11-15 09:12 ?546次閱讀
接口測試理論、疑問收錄與擴展相關<b class='flag-5'>知識點</b>

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

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

單片機SPI通信實現

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

使用myir的開發板進行spi通信,emmc模式下使用spi1則無法接收到數據,為什么?

spi1的a7節,開啟(或不開啟)m4_spi1的節點依然無法進行通信。 問題:兩個spi
發表于 05-21 06:10

模擬電子技術知識點問題總結概覽

給大家分享模擬電子技術知識點問題總結。
的頭像 發表于 05-08 15:16 ?1320次閱讀
模擬電子技術<b class='flag-5'>知識點</b>問題總結概覽

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

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

電子發燒友

中國電子工程師最喜歡的網站

  • 2931785位工程師會員交流學習
  • 獲取您個性化的科技前沿技術信息
  • 參加活動獲取豐厚的禮品
主站蜘蛛池模板: 国产一在线精品一区在线观看 | 国产精品99久久久久久AV色戒 | 日日射夜夜干夜夜插在线播放 | 国产精品无码人妻99999 | 永久免费精品影视网站 | 嫩草影院未满十八岁禁止入内 | 日韩欧美群交P内射捆绑 | 日本国产黄色片 | 边做边爱免费视频 | 天津相声广播在线收听 | 男人大臿蕉香蕉大视频 | 夜夜国产亚洲视频香蕉 | 一边吃奶一边啪啪真舒服 | 99久久国产综合精品 | 99久久精品费精品国产一区二 | 狼人大香伊蕉国产WWW亚洲 | 亚洲AV无码久久流水呻蜜桃久色 | 野花日本韩国视频免费高清观看 | 国产亚洲精品久久精品69 | 久久黄色大片 | 国产精品第3页 | 久久爽狠狠添AV激情五月 | 黑人操白逼 | 一本色道久久88综合日韩精品 | 久久久久综合一本久道 | 99免费观看视频 | 动漫美女被爆挤奶歪歪漫画 | 久久AV喷吹AV高潮欧美 | 男生插女生下体 | 亚洲AV无码乱码国产精品品麻豆 | 国产爱豆果冻传媒在线观看 | 亚洲国产欧美国产综合在线 | 国产高清视频在线观看不卡v | 黄色天堂网| 老色哥网站| 秋霞成人午夜鲁丝一区二区三区 | 国产欧美精品一区二区三区-老狼 | 久久人妻少妇嫩草AV蜜桃99 | 恋夜影视列表免费安卓手机版 | 影音先锋xfplay影院av | 中文字幕亚洲欧美在线视频 |