哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

1通信形式

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

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

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

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

片選信號(hào)CS引腳,還記得有一次面試問(wèn)片選信號(hào)CS英文是什么?英文直譯即可--Chip Select。

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

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

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

2通信線(xiàn)路

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

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

通過(guò)不同的片選引腳來(lái)選中不同的從設(shè)備,從而完成一對(duì)多的通信過(guò)程。通常多從機(jī)的情況都會(huì)采用多余的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)流動(dòng),所以其硬件線(xiàn)路上并沒(méi)有像I2C那樣有所謂的應(yīng)答機(jī)制,通信效率上提高不少,但數(shù)據(jù)可靠性也會(huì)有一定的減弱。

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

細(xì)心的朋友應(yīng)該注意到上圖中MSB和LSB方向了,通常SPI通信都是以MSB來(lái)進(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等等,出廠(chǎng)就已經(jīng)是固定了某種模式,我們需要做的就是通過(guò)配置可編程的主機(jī)SPI外設(shè)在相同的一種頻率和模式下通信,否則就是造成數(shù)據(jù)錯(cuò)亂。

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

下一篇進(jìn)階避坑篇,我們?cè)俑由钊肓牧腟PI。

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

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

審核編輯:湯梓紅

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

    關(guān)注

    10

    文章

    3057

    瀏覽量

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

    關(guān)注

    0

    文章

    41

    瀏覽量

    12011
  • MOSI
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    4364

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    示波器小知識(shí)點(diǎn)

    示波器的系統(tǒng)帶寬:是指一個(gè)逐漸升高頻率的正弦輸入信號(hào)顯示幅度下降3dB時(shí)的頻率點(diǎn)。測(cè)試信號(hào)一般是方波,而方波信號(hào)由基波及奇次諧波組成。如果用示波器去測(cè)一個(gè)方波,需要注意示波器應(yīng)從頻率上能夠測(cè)量到它
    的頭像 發(fā)表于 04-16 11:04 ?82次閱讀
    示波器小<b class='flag-5'>知識(shí)點(diǎn)</b>

    【黑金云課堂筆記】第三期知識(shí)點(diǎn)總結(jié)

    ,對(duì) FPGA 免費(fèi)直播課的熱情也感染到了黑金云課堂的老師們。接下來(lái)我們會(huì)再接再厲,把每一期直播都做得更扎實(shí) ? 更多精彩課程歡迎關(guān)注我們 黑金云課堂全年免費(fèi)直播課 ,現(xiàn)在讓我們先來(lái)回顧一下上周的知識(shí)點(diǎn)精華—— ? 數(shù)據(jù)類(lèi)型 常量 進(jìn)制表示:二進(jìn)制(b/B)、八進(jìn)制(o/
    的頭像 發(fā)表于 04-01 16:08 ?172次閱讀
    【黑金云課堂筆記】第三期<b class='flag-5'>知識(shí)點(diǎn)</b>總結(jié)

    瑞芯微(EASY EAI)RV1126B SPI使用

    1.SPI簡(jiǎn)介SPI是串行外設(shè)接口(SerialPeripheralInterface)的縮寫(xiě),是Motorola公司推出的一種同步串行接口技術(shù),是一種高速、全雙工、同步的通信總線(xiàn)在用戶(hù)空間
    的頭像 發(fā)表于 01-03 14:00 ?1928次閱讀
    瑞芯微(EASY EAI)RV1126B <b class='flag-5'>SPI</b>使用

    SPI 支持單線(xiàn)半雙工通信模式

    SPI 支持單線(xiàn)半雙工通信模式,在該模式下,主機(jī)和從機(jī)通過(guò)一條雙向數(shù)據(jù)線(xiàn)進(jìn)行數(shù)據(jù)通信,主機(jī)使用 MOSI,從機(jī)使用 MISO,未使用的其他 SPI 信號(hào)線(xiàn)可供其它功能使用。設(shè)置控制寄存
    發(fā)表于 12-12 07:52

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

    IIC通信中,主設(shè)備決定了時(shí)鐘速度。因?yàn)闀r(shí)鐘脈沖信號(hào)是由主設(shè)備顯式發(fā)出的。但是,當(dāng)從設(shè)備沒(méi)辦法跟上主設(shè)備的速度時(shí),從設(shè)備需要一種機(jī)制來(lái)請(qǐng)求主設(shè)備慢一點(diǎn),這種機(jī)制稱(chēng)為時(shí)鐘拉伸。而基于IIC結(jié)構(gòu)的特殊性
    發(fā)表于 12-10 06:04

    SPI的多機(jī)通信

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

    單片機(jī)學(xué)習(xí)的8個(gè)知識(shí)點(diǎn)分享

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

    AEK-COM-ISOSPI1技術(shù)解析:SPI隔離通信在汽車(chē)電子中的應(yīng)用

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

    基于STEVAL-BMS1T的隔離式SPI通信技術(shù)解析與應(yīng)用指南

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

    串行通信相關(guān)的基礎(chǔ)知識(shí)

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

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

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

    適用TI ADS1299器件的ADS129x設(shè)備SPI通信問(wèn)題調(diào)試步驟教程

    適用TI ADS1299器件的ADS129x設(shè)備SPI通信問(wèn)題調(diào)試步驟教程
    的頭像 發(fā)表于 06-18 16:19 ?2618次閱讀
    適用TI ADS1299器件的ADS129x設(shè)備<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>問(wèn)題調(diào)試步驟教程

    國(guó)內(nèi)ntp網(wǎng)絡(luò)授時(shí)服務(wù)器的發(fā)展方向

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

    C51單片機(jī)及C語(yǔ)言知識(shí)點(diǎn)必備秘籍

    單片機(jī)關(guān)鍵知識(shí)點(diǎn)一覽: 系列一 1:?jiǎn)纹瑱C(jī)簡(jiǎn)敘 2:?jiǎn)纹瑱C(jī)引腳介紹 3:?jiǎn)纹瑱C(jī)存儲(chǔ)器結(jié)構(gòu) 4:第一個(gè)單片機(jī)小程序 5:?jiǎn)纹瑱C(jī)延時(shí)程序分析 6:?jiǎn)纹瑱C(jī)并行口結(jié)構(gòu) 7:?jiǎn)纹瑱C(jī)的特殊
    發(fā)表于 05-15 14:00

    電機(jī)選型計(jì)算公式與知識(shí)點(diǎn)匯總

    純分享帖,需要者可點(diǎn)擊附件獲取完整資料~~~*附件:電機(jī)選型計(jì)算公式與知識(shí)點(diǎn)匯總.pdf 【免責(zé)聲明】?jī)?nèi)容轉(zhuǎn)自今日電機(jī),因轉(zhuǎn)載眾多,無(wú)法確認(rèn)真正原始作者,故僅標(biāo)明轉(zhuǎn)載來(lái)源。版權(quán)歸原出處所有,純分享帖,侵權(quán)請(qǐng)聯(lián)系刪除內(nèi)容以保證您的權(quán)益。
    發(fā)表于 04-29 16:10
    石泉县| 剑河县| 灌南县| 句容市| 靖江市| 嘉荫县| 宁城县| 紫阳县| 桂林市| 牡丹江市| 怀仁县| 玛沁县| 兴文县| 巨野县| 新闻| 仁布县| 龙口市| 安达市| 财经| 鹤庆县| 霍山县| 伊宁市| 西华县| 平乡县| 贵港市| 突泉县| 剑阁县| 平泉县| 名山县| 沁源县| 阳谷县| 旬阳县| 抚顺市| 钟祥市| 礼泉县| 赤峰市| 信阳市| 兰州市| 新巴尔虎右旗| 常熟市| 新丰县|