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

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

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

簡(jiǎn)述UART、SPI、I2C協(xié)議區(qū)別

jf_78858299 ? 來(lái)源:硬件大熊 ? 作者: 雕塑者 ? 2023-02-17 10:50 ? 次閱讀

I2C、SPI、UART都是常見的低速板級(jí)通信協(xié)議 ,目前主流的SoC都內(nèi)置了這些通訊協(xié)議的控制器,同樣,各種傳感器、Touch控制器、指紋模塊、藍(lán)牙模塊、WIFI模塊也都兼容這三種通信方式的一種或幾種。對(duì)于這三種通信協(xié)議的差別,可以區(qū)分到非常細(xì),包括信號(hào)的單位、傳輸協(xié)議中的封包格式等。

UART一般由TXD、RXD、GND三根線組成,是一種異步傳輸協(xié)議。無(wú)論是主機(jī)還是從機(jī),均可以自由發(fā)送數(shù)據(jù),但是由于UART總線并沒有時(shí)鐘線,所以需要提前約定對(duì)應(yīng)的波特率,這是一種很簡(jiǎn)單的傳輸協(xié)議,以此基礎(chǔ)再搭電路可以實(shí)現(xiàn)RS-232、RS-242、RS-485等通信協(xié)議。 過去老式電腦是具備RS-232接口的,但近10年的電腦都只具備USB,因此通常需要透過一個(gè)UART轉(zhuǎn)USB的轉(zhuǎn)接電路才能互相連接 。

UART比較簡(jiǎn)單,所以CPU輸出log一般都是通過一個(gè)UART口來(lái)輸出,是目前最常用的調(diào)試接口,其傳輸速度比較慢, 傳統(tǒng)的傳輸速度在115200bps或以下,不過現(xiàn)在大部分UART控制器也能支持到4Mbps或者8Mbps了** 。

圖片

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

傳輸完成之后,主機(jī)發(fā)送停止位,完成該次傳輸。 I2C最早是由PHILIPS提出來(lái)的,用于晶片間的傳輸,理論上可以連接128個(gè)從機(jī)(一般最多只接10個(gè)) ,原則上只能以PCB板上的銅箔線路來(lái)走,然而目前許多應(yīng)用卻是把I2C纜線化。

另外,I2C總線的管腳都是開漏輸出,必須外接上拉電阻,阻值可以根據(jù)總線速度來(lái)推算,一般我們常用400kbps傳輸速率(標(biāo)準(zhǔn)模式:100kbps,快速模式:400kbps,高速模式:3.4Mbps),上拉電阻選用2.2K。

圖片

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

SPI由Motorola發(fā)明,與I2C相同可以接多個(gè)從機(jī),只是每增加一個(gè)從機(jī),線路至少要增加一條,其發(fā)送與接收可以同時(shí)進(jìn)行,傳輸速度可達(dá)到幾Mbps水平,比I2C快 。

UART和后面兩者最大的區(qū)別在于后面兩者是同步的,要有統(tǒng)一的時(shí)鐘線,而UART不需要 ,接線方便,但收發(fā)雙方都需要配置相同的波特率,即設(shè)備要有自己的時(shí)鐘源; I2C協(xié)議中是有地址規(guī)則的,因此在一對(duì)多通信的時(shí)候更有優(yōu)勢(shì)。常用來(lái)連接傳感器 ;SPI編程簡(jiǎn)單,在設(shè)備不多,端口充足,對(duì)通信速度要求不高的場(chǎng)合可以應(yīng)用,較常用來(lái)連接EEPROM、FLASH或液晶顯示器。

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

    關(guān)注

    112

    文章

    16103

    瀏覽量

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

    關(guān)注

    17

    文章

    1688

    瀏覽量

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

    關(guān)注

    28

    文章

    1477

    瀏覽量

    123059
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1219

    瀏覽量

    101120
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    SPII2CUART三種串行總線協(xié)議區(qū)別

    第一個(gè)區(qū)別當(dāng)然是名字: SPI(Serial Peripheral Interface:串行外設(shè)接口);I2C(INTER IC BUS)UART(Universal Asynchro
    發(fā)表于 11-02 09:48

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

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

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

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

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

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

    一文看懂I2C協(xié)議

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

    I2CSPI及其UART通信協(xié)議之間的區(qū)別

    UART和后面兩者最大的區(qū)別在于后面兩者是同步的,要有統(tǒng)一的時(shí)鐘線,而UART不需要,接線方便,但收發(fā)雙方都需要配置相同的波特率,即設(shè)備要有自己的時(shí)鐘源;I2C
    的頭像 發(fā)表于 07-27 17:16 ?2423次閱讀
    <b class='flag-5'>I2C</b>與<b class='flag-5'>SPI</b>及其<b class='flag-5'>UART</b>通信<b class='flag-5'>協(xié)議</b>之間的<b class='flag-5'>區(qū)別</b>

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

    UART、I2C、SPI都是常見的低速板級(jí)通信協(xié)議,目前主流的SoC都內(nèi)置了這些通訊協(xié)議的控制器,同樣,各種傳感器、Touch控制器、指紋模
    的頭像 發(fā)表于 03-26 09:29 ?1978次閱讀

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

    電子發(fā)燒友網(wǎng)站提供《SPI自舉程序中使用的I2C協(xié)議.pdf》資料免費(fèi)下載
    發(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:如何布局這些通用總線

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

    UART、SPII2C比較 串口通信介紹

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

    i2c接口和spi接口區(qū)別

    重要的區(qū)別I2C接口和SPI接口都屬于串行通信接口標(biāo)準(zhǔn),廣泛應(yīng)用在嵌入式系統(tǒng)和電子設(shè)備中。它們之間的主要區(qū)別在于通信協(xié)議、電氣特性、速度
    的頭像 發(fā)表于 12-25 15:02 ?3644次閱讀

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

    嵌入式工程師在做串口通信調(diào)試工作的時(shí)候,會(huì)經(jīng)常用到I2C、SPI、UART這3條總線,I2C、SPI、U
    的頭像 發(fā)表于 01-22 09:41 ?1384次閱讀
    藍(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)知識(shí)

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

    SPII2C通信協(xié)議:應(yīng)用與區(qū)別

    本文深入解析了SPII2C這兩種通信協(xié)議的特點(diǎn)、工作原理和應(yīng)用場(chǎng)景。SPI適用于高速數(shù)據(jù)傳輸,常用于存儲(chǔ)器芯片和顯示器驅(qū)動(dòng)等領(lǐng)域;I2C
    的頭像 發(fā)表于 04-22 16:45 ?1556次閱讀