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

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

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

藍牙串口通訊總線——I2C/SPI/UART

美迅物聯(lián)網(wǎng) ? 來源:jf_75680484 ? 作者:jf_75680484 ? 2024-01-22 09:41 ? 次閱讀

嵌入式工程師在做串口通信調(diào)試工作的時候,會經(jīng)常用到I2C、SPI、UART這3條總線,I2C、SPI、UART這三種通信總線在嵌入式領(lǐng)域很常見,目前主流的SOC芯片都內(nèi)置了這三種總線的控制器,各種Sensor、Touch、藍牙模塊、WIFI模塊等也都兼容這三種通信協(xié)議的1種以上。那么這三條通信總線有什么區(qū)別呢?工業(yè)物聯(lián)網(wǎng)無線通信專業(yè)廠商為您一一細說——

I2C:半雙工、同步、串行傳輸,物理上只有兩根線(SDA/SCL);傳輸數(shù)據(jù)必須8位8位的傳輸。

I2C串口通信傳輸步驟

1.在SCL線為高電平時,主機通過將SDA線從高電平切換到低電平來啟動總線通信;

2.主機向總線發(fā)送要與之通信的從機的7位或10位地址,以及讀/寫位;

3.每個從機將主機發(fā)送的地址與其自己的地址進行比較。如果地址匹配,則從機通過將SDA線拉低一位返回一個ACK位。如果主機的地址與從機的地址不匹配,則從機將SDA線拉高。

4.主機發(fā)送或接收數(shù)據(jù)幀;

5.傳輸完每個數(shù)據(jù)幀后,接收設(shè)備將另一個ACK位返回給發(fā)送方,以確認已成功接收到該幀;

6.隨后主機將SCL切換為高電平,然后再將SDA切換為高電平,從而向從機發(fā)送停止條件。

SPI:全雙工、同步、串行傳輸,收發(fā)獨立,傳輸速率高,但是沒有指定的流控制,沒有應(yīng)答機制確認是否接收到數(shù)據(jù)。物理上4根線(CLK/SDI/SDO/CS),因為是全雙工,并且不需要尋址,所以速度要比I2C快,但是占用的物理線的數(shù)量要比I2C多;通信時可以一位一位的傳輸數(shù)據(jù)。

SPI串口通信傳輸步驟:

1.主機輸出時鐘信號;

2.主機拉低SS/CS引腳,激活從機;

3.主機通過MOSI將數(shù)據(jù)發(fā)送給從機;

4.如果需要相應(yīng),則從機通過MISO將數(shù)據(jù)返回給從機。

UART:全雙工、異步、串行傳輸,收發(fā)獨立,UART總線并沒有時鐘線,所以需要提前約定對應(yīng)的波特率,傳輸速度較慢,物理上4根線(VCC/TX/RX/GND),雖然速度慢,但是可用于不同主機間的通信,通常用于debug調(diào)試非常方便;傳輸時數(shù)據(jù)位可以5、6、7、8位。

UART串口通信傳輸步驟:

1.發(fā)送UART從數(shù)據(jù)總線并行接收數(shù)據(jù);

2.發(fā)送UART將起始位、奇偶校驗位和停止位添加到數(shù)據(jù)幀;

3.整個數(shù)據(jù)包從發(fā)送UART串行發(fā)送到接收UART。接收UART以預(yù)先配置的波特率對數(shù)據(jù)線進行采樣;

4.接收UART丟棄數(shù)據(jù)幀中的起始位、奇偶校驗位和停止位;

5.接收UART將串行數(shù)據(jù)轉(zhuǎn)換回并行數(shù)據(jù),并將其傳輸?shù)浇邮斩说臄?shù)據(jù)總線。

單工、半雙工、全雙工

單工:數(shù)據(jù)只能在一個方向上傳輸。

半雙工:數(shù)據(jù)可以在兩個方向上進行傳輸,但是同一時刻,只允許數(shù)據(jù)在一個方向上傳輸,相當于單工通信的分時復(fù)用。

全雙工:數(shù)據(jù)可以同時在兩個方向上傳輸,相當于兩個單工通信的結(jié)合。

同步通信和異步通信

同步是阻塞模式,異步是非阻塞模式。

同步通信要求發(fā)收雙方具有同頻同相的同步時鐘信號(一般共用一個時鐘),同步通信效率高。

異步通信的收發(fā)雙方?jīng)]有同步時鐘,比如UART,收發(fā)雙方僅僅是約定,你按照什么樣的速率發(fā),而我也按照這樣的速率去接收,這樣如果速度越快,那么信號寬度越窄,誤差就越大,所以異步通信效率較低。

綜上所述,工業(yè)物聯(lián)網(wǎng)無線通信專業(yè)廠商要說的是I2C、SPI、UART這三條總線在通信速度上,SPI最快,UART最慢;通信距離上,I2C和SPI通常用于片上通信,而UART通常用于設(shè)備間通信,比如PC機和我們要調(diào)試的產(chǎn)品設(shè)備。

wKgaomWtx96AFO9kAAM4WMrTP2Y515.jpg

審核編輯 黃宇


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

    關(guān)注

    114

    文章

    5723

    瀏覽量

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

    關(guān)注

    17

    文章

    1681

    瀏覽量

    91050
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2848

    瀏覽量

    87839
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1214

    瀏覽量

    100995
  • 串口通訊
    +關(guān)注

    關(guān)注

    1

    文章

    257

    瀏覽量

    24785
收藏 人收藏

    評論

    相關(guān)推薦

    詳解I2C總線SPI總線的區(qū)別

    I2C(Inter-Integrated Circuit)表示集成電路互連,是一種用于線路板內(nèi)部芯片之間通信的總線
    的頭像 發(fā)表于 10-16 15:16 ?467次閱讀
    詳解<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>與<b class='flag-5'>SPI</b><b class='flag-5'>總線</b>的區(qū)別

    了解I2C總線

    電子發(fā)燒友網(wǎng)站提供《了解I2C總線.pdf》資料免費下載
    發(fā)表于 10-08 11:13 ?1次下載
    了解<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>

    I2C轉(zhuǎn)UART子系統(tǒng)設(shè)計

    電子發(fā)燒友網(wǎng)站提供《I2C轉(zhuǎn)UART子系統(tǒng)設(shè)計.pdf》資料免費下載
    發(fā)表于 08-28 10:27 ?0次下載
    <b class='flag-5'>I2C</b>轉(zhuǎn)<b class='flag-5'>UART</b>子系統(tǒng)設(shè)計

    UART轉(zhuǎn)I2C橋接器

    電子發(fā)燒友網(wǎng)站提供《UART轉(zhuǎn)I2C橋接器.pdf》資料免費下載
    發(fā)表于 08-28 09:24 ?0次下載
    <b class='flag-5'>UART</b>轉(zhuǎn)<b class='flag-5'>I2C</b>橋接器

    I2C、SPIUART的通信過程還可以這樣理解

    到目前為止,I2C、SPIUART等仍然是電子嵌入式設(shè)備中最常用的通信協(xié)議,本文,我們將剖析這三種協(xié)議,讓大家清楚、直觀的了解它們的功能、優(yōu)點和局限性,并輔以GIF動圖展示。一、IIC協(xié)議I
    的頭像 發(fā)表于 05-23 08:10 ?5554次閱讀
    <b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>UART</b>的通信過程還可以這樣理解

    逼真動畫展示I2C、SPI、UART的通信過程

    到目前為止,I2C、SPIUART等仍然是電子嵌入式設(shè)備中最常用的通信協(xié)議,本文,我們將剖析這三種協(xié)議,讓大家清楚、直觀的了解它們的功能、優(yōu)點和局限性,并輔以GIF動圖展示。I2C協(xié)
    的頭像 發(fā)表于 04-12 08:27 ?822次閱讀
    逼真動畫展示<b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>UART</b>的通信過程

    總結(jié)usart、uart、i2c、spi區(qū)別及相關(guān)知識

    USART、UARTI2CSPI是四種不同的串行通信協(xié)議,它們各自具有獨特的特點和應(yīng)用領(lǐng)域
    的頭像 發(fā)表于 04-10 09:47 ?1350次閱讀
    總結(jié)usart、<b class='flag-5'>uart</b>、<b class='flag-5'>i2c</b>、<b class='flag-5'>spi</b>區(qū)別及相關(guān)知識

    XV4001BC車載用SPI/I2C輸出接口的數(shù)字輸出

    XV4001BC車載用SPI/I2C輸出接口的數(shù)字輸出,可實現(xiàn)角速度輸出和溫度傳感器輸出,滿足汽車導(dǎo)航和通訊系統(tǒng)的要求。SPI / I2C
    發(fā)表于 01-02 16:33 ?0次下載

    最簡單的總線通訊!I2C通訊總線的原理原來這么好懂

    通訊I2C
    安泰儀器維修
    發(fā)布于 :2024年01月02日 11:16:31

    I2C總線信號與測試案例(一)

    I2C bus是Inter-IC bus的縮寫,意思是IC器件之間的通訊總線;I2C 總線的特點如下
    的頭像 發(fā)表于 11-20 15:45 ?1657次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>信號與測試案例(一)

    分享I2C總線規(guī)范

    電子發(fā)燒友網(wǎng)站提供《分享I2C總線規(guī)范.pdf》資料免費下載
    發(fā)表于 11-18 10:49 ?0次下載
    分享<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>規(guī)范

    UART、SPII2C比較 串口通信介紹

    UARTSPI、I2C比較 I2C線更少,比UART、SPI更為強大,但是技術(shù)上也更加麻煩些,
    的頭像 發(fā)表于 11-09 18:06 ?1184次閱讀
    <b class='flag-5'>UART</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>比較 <b class='flag-5'>串口</b>通信介紹

    最簡單的總線通訊!I2C通訊總線的原理原來這么好懂#總線 #電路知識 #串口通訊 #電工 #單片機

    單片機I2C串口通訊
    安泰小課堂
    發(fā)布于 :2023年11月08日 18:29:39

    I2CSPIUART:如何布局這些通用總線

    ,UART等協(xié)議與下游MCU或可編程IC進行接口。I2C總線,SPI總線UART
    的頭像 發(fā)表于 11-08 17:33 ?906次閱讀
    <b class='flag-5'>I2C</b>與<b class='flag-5'>SPI</b>與<b class='flag-5'>UART</b>:如何布局這些通用<b class='flag-5'>總線</b>