色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > UART、I2C、SPI串行總線通信原理,你知道嗎?

          UART、I2C、SPI串行總線通信原理,你知道嗎?

          發(fā)布人:美男子玩編程 時(shí)間:2024-04-24 來源:工程師 發(fā)布文章

          圖片

          I2C、SPI、UART是嵌入式物聯(lián)網(wǎng)終端備最常用的三種串口通信協(xié)議


          本篇博文簡(jiǎn)要介紹UART、I2C、SPI串行總線通信原理。更詳細(xì)的說明請(qǐng)看以下三篇文章。

          一文搞懂I2C總線通信

          一文搞懂SPI通信協(xié)議

          一文搞懂UART通信協(xié)議

          01

          I2C 通信協(xié)議

          圖片

          I2C (Inter-Integrated Circuit) 通信協(xié)議是一種多主從架構(gòu)的串行通信總線,有兩根雙向的信號(hào)線:一根數(shù)據(jù)線SDA用于收發(fā)數(shù)據(jù),一根時(shí)鐘線SCL用于通信雙方時(shí)鐘的同步。I2C 通信協(xié)議通常用于連接低速設(shè)備,如傳感器、存儲(chǔ)器和其他外設(shè)。連接在I2C總線上的器件分為主機(jī)和從機(jī)。主機(jī)有權(quán)發(fā)起和結(jié)束一次通信,從機(jī)只能被動(dòng)呼叫。


          I2C 通信協(xié)議規(guī)范的規(guī)定的數(shù)據(jù)傳輸速率如下:


          • 標(biāo)準(zhǔn)模式下,數(shù)據(jù)傳輸速率為 100kb/s

          • 快速模式下,數(shù)據(jù)傳輸速率為 400Kb/s

          • 高速模式下,數(shù)據(jù)傳輸速率為 3.4 Mb/s

          I2C 通信協(xié)議的優(yōu)點(diǎn):

          • 多設(shè)備支持:I2C支持多個(gè)設(shè)備連接到同一總線上,每個(gè)設(shè)備都有唯一的地址。

          • 簡(jiǎn)單:I2C協(xié)議相對(duì)簡(jiǎn)單,易于實(shí)現(xiàn)和調(diào)試。

          • 低功耗:在空閑狀態(tài)時(shí),I2C總線上的器件可以進(jìn)入低功耗模式,節(jié)省能量。


          I2C 通信協(xié)議的缺點(diǎn):

          • 速度較慢:I2C通信速度較低,適用于低速設(shè)備。

          • 受限制:I2C的總線長(zhǎng)度和設(shè)備數(shù)量受到限制,過長(zhǎng)的總線可能導(dǎo)致通信問題。

          • 沖突:當(dāng)多個(gè)設(shè)備嘗試同時(shí)發(fā)送數(shù)據(jù)時(shí),可能會(huì)發(fā)生沖突,需要額外的沖突檢測(cè)和處理機(jī)制。


          I2C 通信協(xié)議在緊湊電路中的效率高成本低,因此在小型傳感器、LCD 屏幕控制器和 RTC模塊、溫度控制設(shè)備、電池管理系統(tǒng)中很常見。


          02

          SPI 通信協(xié)議

          圖片

          SPI(Serial Peripheral Interface)是一種同步串行通信接口,主要應(yīng)用于短距離、低數(shù)據(jù)速率的通信,常用于嵌入式系統(tǒng)。


          SPI通信協(xié)議的四個(gè)重要元素:


          • 主機(jī)(Master):初始化通信并控制時(shí)鐘信號(hào)的設(shè)備。

          • 從機(jī)(Slave):被主機(jī)通信的設(shè)備。

          • 時(shí)鐘信號(hào)(SCK):主機(jī)生成的同步時(shí)鐘信號(hào),用于同步數(shù)據(jù)傳輸。

          • 數(shù)據(jù)輸出(MOSI)和數(shù)據(jù)輸入(MISO):用于主機(jī)和從機(jī)之間的數(shù)據(jù)傳輸。


          SPI通信協(xié)議分為四種模式:


          • 模式0:時(shí)鐘信號(hào)的第一個(gè)跳變沿對(duì)應(yīng)數(shù)據(jù)的首位。

          • 模式1:時(shí)鐘信號(hào)的第一個(gè)跳變沿對(duì)應(yīng)數(shù)據(jù)的末位。

          • 模式2:時(shí)鐘信號(hào)的第一個(gè)跳變沿對(duì)應(yīng)數(shù)據(jù)的首位,相對(duì)模式0,SS信號(hào)延遲。

          • 模式3:時(shí)鐘信號(hào)的第一個(gè)跳變沿對(duì)應(yīng)數(shù)據(jù)的末位,相對(duì)模式0,SS信號(hào)延遲。


          SPI通信協(xié)議的基本步驟:


          1. 初始化主機(jī)和從機(jī),設(shè)置SPI模式和時(shí)鐘速率。

          2. 主機(jī)發(fā)起通信,拉低從機(jī)的片選信號(hào)(SS)。

          3. 主機(jī)發(fā)送第一個(gè)字節(jié)的數(shù)據(jù),同時(shí)從機(jī)回應(yīng)第一個(gè)字節(jié)的數(shù)據(jù)。

          4. 主機(jī)接收數(shù)據(jù)并發(fā)送下一個(gè)數(shù)據(jù)字節(jié),以此類推,直至完成通信。

          5. 通信結(jié)束后,主機(jī)釋放片選信號(hào),結(jié)束SPI通信。


          SPI通信協(xié)議的優(yōu)點(diǎn):

          • 高速:SPI通信速度較快,適用于對(duì)速度要求較高的應(yīng)用。

          • 全雙工:SPI支持全雙工通信,可以同時(shí)進(jìn)行數(shù)據(jù)發(fā)送和接收。

          • 簡(jiǎn)單:SPI的通信協(xié)議相對(duì)簡(jiǎn)單,適用于快速開發(fā)和實(shí)現(xiàn)。


          SPI通信協(xié)議的缺點(diǎn):

          • 連線復(fù)雜:SPI需要多根線進(jìn)行連接,可能會(huì)增加硬件設(shè)計(jì)的復(fù)雜性。

          • 長(zhǎng)距離傳輸受限:SPI的傳輸距離受到限制,過長(zhǎng)的線路可能導(dǎo)致信號(hào)衰減和干擾。

          • 主從模式限制:SPI通常采用主從模式,主設(shè)備數(shù)量受限,不適用于多主設(shè)備場(chǎng)景。


          SPI 非常適合需要快速可靠的數(shù)據(jù)傳輸?shù)那闆r,例如 TFT 顯示器、SD 存儲(chǔ)卡和無線通信模塊。然而,在具有許多從站的復(fù)雜系統(tǒng)中,其有效性會(huì)降低。


          03

          UART 通信協(xié)議

          圖片

          UART(Universal Asynchronous Receiver/Transmitter)是一種全雙工的通信協(xié)議,常用于各種嵌入式系統(tǒng)之間的通信。UART 通信只需要兩條線即可運(yùn)行:TX(發(fā)送)和 RX(接收)。該協(xié)議允許異步通信,也就是說發(fā)送器和接收器之間無需共享時(shí)鐘。數(shù)據(jù)被組織成數(shù)據(jù)包,每個(gè)數(shù)據(jù)包包含一個(gè)起始位、5 到 9 個(gè)數(shù)據(jù)位、一個(gè)可選的奇偶校驗(yàn)位和一個(gè)或兩個(gè)停止位。


          以下是UART通信協(xié)議的基本原理:


          • 起始位:通信開始時(shí),數(shù)據(jù)線被拉低。

          • 數(shù)據(jù)位:接著起始位,數(shù)據(jù)位逐位傳輸。通常為5位、6位、7位、8位,由雙方約定。

          • 奇偶校驗(yàn)位:可選,用于檢測(cè)數(shù)據(jù)傳輸過程中的錯(cuò)誤。

          • 停止位:數(shù)據(jù)傳輸結(jié)束時(shí),數(shù)據(jù)線被高電平持續(xù)。停止位可以是1位、1.5位、2位,由雙方約定。

          • 波特率:數(shù)據(jù)的傳輸速率,如9600bps、115200bps等。


          UART通信協(xié)議的優(yōu)點(diǎn):


          • 簡(jiǎn)單:UART通信協(xié)議相對(duì)簡(jiǎn)單,易于實(shí)現(xiàn)和調(diào)試。

          • 適用性廣泛:UART被廣泛應(yīng)用于各種設(shè)備之間的通信,具有較好的兼容性。

          • 距離:UART通信距離較遠(yuǎn),適用于需要長(zhǎng)距離傳輸?shù)膱?chǎng)景。


          UART通信協(xié)議的缺點(diǎn):


          • 速度較低:UART通信速度相對(duì)較低,不適用于對(duì)速度要求較高的應(yīng)用。

          • 雙工:UART通信是雙工的,可以進(jìn)行低速雙工傳輸數(shù)據(jù),進(jìn)行數(shù)據(jù)的發(fā)送和接收。

          • 不可靠:由于UART是異步通信,可能會(huì)受到噪聲和干擾的影響,導(dǎo)致數(shù)據(jù)傳輸不可靠。


          04

          我們?cè)撊绾芜x擇通信協(xié)議


          當(dāng)我們?yōu)槲锫?lián)網(wǎng)硬件選擇合適串口通信協(xié)議需要考慮以下幾個(gè)方面:

          • 通信速度:SPI 提供高速度,UART 提供高靈活性,I2C 適用于速度要求較低接線簡(jiǎn)單的配置。

          • 電路設(shè)計(jì):I2C 可實(shí)現(xiàn)多個(gè)設(shè)備的高效空間管理,SPI 可實(shí)現(xiàn)大型設(shè)計(jì)中的性能,而 UART 可實(shí)現(xiàn)簡(jiǎn)單性和多功能性。

          • 距離和通信環(huán)境:UART 在長(zhǎng)距離上具有穩(wěn)定性,而 I2C 更適合短距離。

          • 雙工要求:SPI 和 UART 提供全雙工功能,而 I2C 僅限于半雙工。


          I2C 通信協(xié)議因其簡(jiǎn)單性和用最少的引腳管理多個(gè)從設(shè)備的能力而脫穎而出,使其成為短距離通信的理想選擇。


          SPI 通信協(xié)議具有高速和全雙工模式,非常適合在空間不是主要問題的系統(tǒng)中進(jìn)行快速高效的數(shù)據(jù)傳輸。


          UART 通信協(xié)議在長(zhǎng)距離通信和速度要求較低的場(chǎng)景中表現(xiàn)出色。


          *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



          關(guān)鍵詞: UART I2C SPI 串行總線

          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉