chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

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

痞子衡嵌入式 ? 來源:最后一個bug ? 作者:bug菌 ? 2022-06-17 17:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

1通信形式

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

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

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

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

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

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

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

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

2通信線路

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

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

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

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

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

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

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

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

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

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

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

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共同決定數(shù)據(jù)的采集方式。

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

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

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

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

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

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

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

審核編輯:湯梓紅

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

    關注

    10

    文章

    3029

    瀏覽量

    91468
  • SPI通信
    +關注

    關注

    0

    文章

    39

    瀏覽量

    11935
  • MOSI
    +關注

    關注

    0

    文章

    5

    瀏覽量

    4323

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    通信協(xié)議IIC與SPI最全對比分析

    IIC通信中,主設備決定了時鐘速度。因為時鐘脈沖信號是由主設備顯式發(fā)出的。但是,當從設備沒辦法跟上主設備的速度時,從設備需要一種機制來請求主設備慢一,這種機制稱為時鐘拉伸。而基于IIC結構的特殊性
    發(fā)表于 12-10 06:04

    SPI的多機通信

    SPI支持多機通信模式。在該模式下,主機的從機選擇 CS 引腳應配置為輸入,與其他主機的總線申請信號相連,用于檢測 SPI 總線是否發(fā)生沖突。如果某一主機的從機選擇 CS 引腳被拉為低電平,說明有
    發(fā)表于 12-08 06:47

    單片機學習的8個知識點分享

    1、上拉電阻的選擇 在單片機電路中,上拉電阻的選擇是很重要,它能夠提高電路的驅動能力和穩(wěn)定性,同時也能保護內部電路免受外部干擾。選擇合適的上拉電阻需要考慮以下因素: ①電阻值:上拉電阻的電阻值需要
    發(fā)表于 11-20 07:58

    AEK-COM-ISOSPI1技術解析:SPI隔離通信在汽車電子中的應用

    根。ISOSPI協(xié)議具有差分通信的特點,有助于提高遠程通信的抗噪性和魯棒性。AEK-COM-ISOSPI1加密狗承載有L9963T收發(fā)器,可配置為SPI總線的從機或主機,并支持8位至64位SP
    的頭像 發(fā)表于 10-24 15:48 ?604次閱讀
    AEK-COM-ISOSPI1技術解析:<b class='flag-5'>SPI</b>隔離<b class='flag-5'>通信</b>在汽車電子中的應用

    基于STEVAL-BMS1T的隔離式SPI通信技術解析與應用指南

    STMicroelectronics STEVAL-BMS1T SPI轉隔離式SPI加密狗支持將SPI信號轉換為隔離式SPI信號,從而將必要的電線數(shù)量從四根減至兩根。ISOSPI協(xié)議提
    的頭像 發(fā)表于 10-16 14:01 ?477次閱讀
    基于STEVAL-BMS1T的隔離式<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>技術解析與應用指南

    串行通信相關的基礎知識

    串行通信是電子設備中數(shù)據(jù)交換的基石。最常見的串行通信協(xié)議有UART,SPI,I2C等。
    的頭像 發(fā)表于 10-15 10:53 ?1849次閱讀
    串行<b class='flag-5'>通信</b>相關的基礎<b class='flag-5'>知識</b>

    SPI通信可不可以不使用中斷?

    你好,我目前在使用TC377芯片,我需要在PWM中斷內使用QSPI通信,出于某種原因,我不得不將PWM中斷優(yōu)先級提到最高,這導致我無法進入spi中斷。因此,我希望知道SPI
    發(fā)表于 07-31 08:15

    國內ntp網(wǎng)絡授時服務器的發(fā)展方向

    完整性到網(wǎng)絡安全的各種環(huán)節(jié)來說,這項操作都至關重要。 我們聽過一句話:“科技無國界,但科學家有”;因此作為一項至關重要的的技術,我們必須要自己牢牢把握,而這也就是我們發(fā)展的方向。那么作為ntp服務器,我們需要把握住哪些核心科
    的頭像 發(fā)表于 06-06 13:50 ?408次閱讀

    C51單片機及C語言知識點必備秘籍

    單片機關鍵知識點一覽: 系列一 1:單片機簡敘 2:單片機引腳介紹 3:單片機存儲器結構 4:第一個單片機小程序 5:單片機延時程序分析 6:單片機并行口結構 7:單片機的特殊
    發(fā)表于 05-15 14:00

    電機選型計算公式與知識點匯總

    純分享帖,需要者可點擊附件獲取完整資料~~~*附件:電機選型計算公式與知識點匯總.pdf 【免責聲明】內容轉自今日電機,因轉載眾多,無法確認真正原始作者,故僅標明轉載來源。版權歸原出處所有,純分享帖,侵權請聯(lián)系刪除內容以保證您的權益。
    發(fā)表于 04-29 16:10

    嵌入式硬件雜談:推挽、開漏、高阻態(tài)、上拉電阻

    對于嵌入式硬件這個龐大的知識體系而言,太多離散的知識點很容易疏漏,因此對于這些容易忘記甚至不明白的知識點做成一個梳理,供大家參考以及學習,本文主要針對推挽、開漏、高阻態(tài)、上拉電阻這些知識點
    的頭像 發(fā)表于 04-17 19:31 ?2014次閱讀
    嵌入式硬件雜談:推挽、開漏、高阻態(tài)、上拉電阻

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

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

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

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

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

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

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

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