RM新时代网站-首页

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

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

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

一文搞懂UART、I2C、SPI協(xié)議

STM32嵌入式開發(fā) ? 來源:STM32嵌入式開發(fā) ? 2023-03-26 09:29 ? 次閱讀

UART、I2C、SPI都是常見的低速板級通信協(xié)議,目前主流的SoC都內(nèi)置了這些通訊協(xié)議的控制器,同樣,各種傳感器、Touch控制器、指紋模塊、藍(lán)牙模塊、WIFI模塊也都兼容這三種通信方式的一種或幾種。

下面分別說下:

UART

UART一般由TXD、RXD、GND三根線組成,是一種異步傳輸協(xié)議。

無論是主機還是從機,均可以自由發(fā)送數(shù)據(jù),但是由于UART總線并沒有時鐘線,所以需要提前約定對應(yīng)的波特率,這是一種很簡單的傳輸協(xié)議。

e2a65a94-ca28-11ed-bfe3-dac502259ad0.jpg

I2C

I2C是兩根線,SDA(數(shù)據(jù))和SCL(時鐘),也是一種同步傳輸協(xié)議。主機在發(fā)送開始信號之后,先發(fā)送7個比特的地址位和1個比特的讀寫位,每個從機有自己的I2C地址,當(dāng)發(fā)現(xiàn)該條指令是發(fā)給自己的時候,拉低SDA線(即回復(fù)ACK信號),然后主機發(fā)送或接收數(shù)據(jù),完成傳輸。傳輸完成之后,主機發(fā)送停止位,完成該次傳輸。

wKgZomQfoBiATa_dAAATJvMracY215.png

SPI

SPI是四根線,分別是CS(片選)、MOSI(主發(fā)從收)、MISO(從發(fā)主收)、CLK(時鐘),是一種同步傳輸協(xié)議。主機送出CLK信號,主機到從機的數(shù)據(jù)在MOSI線上傳輸,從機到主機的數(shù)據(jù)在MISO線上傳輸。在啟動傳輸之前,需要先拉低(一般是這樣,也有各別芯片是CS高有效)對應(yīng)從機的CS管腳,在傳輸完成之后,再拉高CS管腳,從機的SPI Slave模塊進(jìn)入休眠。

wKgaomQfoBiAKwsdAAANdoff_uA398.png

使用場景

首先,I2C和SPI都是同步協(xié)議,都有時鐘信號,在一條總線上也都可以掛多個從設(shè)備,但是I2C的從設(shè)備是通過地址來區(qū)分的,SPI的從設(shè)備是通過片選線來區(qū)分的,所以SPI總線上,每多掛一個從設(shè)備,就要多用一個線作為片選線,而I2C則不用,只要地址不沖突,可以隨便掛設(shè)備。

但是,I2C總線速度一般普遍慢于SPI,I2C一般的速度是100kbs、400kbps和1Mbps,而SPI的速度可以在幾Mbps,也可以10+Mbps。所以看使用場合,低速的話,I2C就挺合適的,如果速度快一些,則一般都要選用SPI。另外,I2C總線的管腳都是開漏輸出,必須外接上拉電阻,阻值可以根據(jù)總線速度來推算,一般我們常用400kbps傳輸速率,上拉電阻選用2.2K。

UART和SPI、I2C不同,他是異步傳輸?shù)?,一般來說傳輸速度比較慢,傳統(tǒng)的傳輸速度一般在115200bps或以下,不過現(xiàn)在大部分UART控制器也能支持到4Mbps或者8Mbps了。UART目前最常用的就是調(diào)試接口,因為UART比較簡單,所以CPU輸出log一般都通過一個UART口來輸出。

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

    關(guān)注

    2550

    文章

    51035

    瀏覽量

    753053
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    879

    瀏覽量

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

    關(guān)注

    17

    文章

    1706

    瀏覽量

    91498
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1484

    瀏覽量

    123616
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1235

    瀏覽量

    101350

原文標(biāo)題:一文搞懂UART、I2C、SPI協(xié)議

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    SPI,UART,I2C區(qū)別與特點

    本內(nèi)容詳細(xì)介紹了SPI,UART,I2C區(qū)別與特點,SPI:高速同步串行口。3~4線接口,收發(fā)獨立、可同步進(jìn)行,UART:通用異步串行口。按
    發(fā)表于 02-02 16:15 ?6637次閱讀

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

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

    SPII2C、UART串行總線協(xié)議

    串口通訊通信協(xié)議UART,以及常用外設(shè)通信協(xié)議 SPI、I2C的介紹與他們之間的區(qū)別
    發(fā)表于 11-30 11:28 ?95次下載

    SPI、SCI、I2C、UART之間的異同

    詳細(xì)介紹了SPI、SCI、I2CUART幾種通信方式的異同便于讀者整體了解通信的意義.
    發(fā)表于 12-15 14:32 ?0次下載

    SPI、I2C、UART三種串行總線協(xié)議的區(qū)別

    SPII2C、UART三種串行總線協(xié)議的區(qū)別
    發(fā)表于 07-17 17:23 ?0次下載

    看懂I2C協(xié)議

    電子行業(yè)最常用的3種串行通訊協(xié)議UART、SPII2C。前面介紹了串口通訊協(xié)議及其FPGA實現(xiàn),SP
    發(fā)表于 01-25 18:32 ?40次下載
    <b class='flag-5'>一</b><b class='flag-5'>文</b>看懂<b class='flag-5'>I2C</b><b class='flag-5'>協(xié)議</b>

    什么是I2C協(xié)議

    I2C協(xié)議個允許多個 “從機” 芯片和個或更多的 “主機” 芯片進(jìn)行通訊的協(xié)議。它就像串行外設(shè)接口(
    發(fā)表于 10-11 16:46 ?4504次閱讀

    簡述UART、SPII2C協(xié)議區(qū)別

    I2CSPI、UART都是常見的低速板級通信協(xié)議 ,目前主流的SoC都內(nèi)置了這些通訊協(xié)議的控制器,同樣,各種傳感器、Touch控制器、指紋
    的頭像 發(fā)表于 02-17 10:50 ?2521次閱讀
    簡述<b class='flag-5'>UART</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b><b class='flag-5'>協(xié)議</b>區(qū)別

    低速板級通信協(xié)議UART、I2CSPI協(xié)議

    UARTSPI、I2C不同,他是異步傳輸?shù)模?b class='flag-5'>一般來說傳輸速度比較慢,傳統(tǒng)的傳輸速度般在115200bps或以下,不過現(xiàn)在大部分
    發(fā)表于 03-23 12:51 ?1702次閱讀

    詳解I2C總線協(xié)議

    I2C協(xié)議個允許主多從進(jìn)行通訊的協(xié)議。它就像串行外設(shè)接口(SPI
    發(fā)表于 04-11 10:33 ?2595次閱讀

    SPI自舉程序中使用的I2C協(xié)議

    電子發(fā)燒友網(wǎng)站提供《SPI自舉程序中使用的I2C協(xié)議.pdf》資料免費下載
    發(fā)表于 09-21 11:41 ?0次下載
    <b class='flag-5'>SPI</b>自舉程序中使用的<b class='flag-5'>I2C</b><b class='flag-5'>協(xié)議</b>

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

    如果您要為項目構(gòu)建開發(fā)板或使用通用MCU,則會發(fā)現(xiàn)許多用于通信其他活動組件的協(xié)議。USB和以太網(wǎng)之類的標(biāo)準(zhǔn)已內(nèi)置在大多數(shù)控制器中,用于與計算機外圍設(shè)備起使用。盡管如此,仍使用I2C,SPI
    的頭像 發(fā)表于 11-08 17:33 ?1111次閱讀
    <b class='flag-5'>I2C</b>與<b class='flag-5'>SPI</b>與<b class='flag-5'>UART</b>:如何布局這些通用總線

    UART、SPI、I2C比較 串口通信介紹

    ,較少用于遠(yuǎn)距離通信。 SPI實現(xiàn)要簡單些,UART需要固定的波特率,就是說兩位數(shù)據(jù)的間隔要相等,而SPI則無所謂,因為它是有時鐘的協(xié)議。
    的頭像 發(fā)表于 11-09 18:06 ?1389次閱讀
    <b class='flag-5'>UART</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>比較 串口通信介紹

    藍(lán)牙串口通訊總線——I2C/SPI/UART

    嵌入式工程師在做串口通信調(diào)試工作的時候,會經(jīng)常用到I2C、SPI、UART這3條總線,I2C、SPIU
    的頭像 發(fā)表于 01-22 09:41 ?1614次閱讀
    藍(lán)牙串口通訊總線——<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 ?1752次閱讀
    總結(jié)usart、<b class='flag-5'>uart</b>、<b class='flag-5'>i2c</b>、<b class='flag-5'>spi</b>區(qū)別及相關(guān)知識
    RM新时代网站-首页