UART、SPI 和 I2C 串行通信的工作原理,以及我們為何仍在使用它們

UART、SPI 和 I2C 串行通信的工作原理,以及我們為何仍在使用它們

無論是計算機外圍設備、智能電器、物聯網 (IoT) 設備,還是電子測量工具,它們都使用串行通信協議將不同的電子元件連接在一起。

這些組件通常由微控制器和從屬模塊組成,例如指紋傳感器、ESP8266(Wi-Fi 模塊)、伺服器和串行顯示器。

這些設備使用不同種類的通信協議。下面您將了解一些最流行的串行通信協議、它們的工作原理、它們的優點以及它們為什麼仍然被使用。

什麼是串行通信?

自 1838 年莫爾斯電碼發明以來,串行通信協議一直存在。今天,現代串行通信協議使用相同的原理。通過將兩個導體反复短接在一起,在單根導線上生成和傳輸信號。這條短線就像一個開關;它打開(高)和關閉(低),提供二進制信號。該信號的傳輸和接收方式取決於所使用的串行通信協議的類型。

UART、SPI 和 I2C 串行通信的工作原理,以及我們為何仍在使用它們

圖片來源:shankar.s/維基共享資源

隨著晶體管的發明和隨之而來的創新,工程師和修補匠都使處理單元和存儲器更小、更快、更節能。這些變化要求總線通信協議在技術上與所連接的組件一樣先進。因此發明了串行協議,例如 UART、I2C 和 SPI。儘管這些串行協議已有幾十年的歷史,但它們仍然是微控制器和裸機編程的首選。

UART(通用異步收發器)

UART 協議是我們今天仍在使用的最古老但最可靠的串行通信協議之一。該協議使用稱為 Tx(發送)和 Rx(接收)的兩條線來讓兩個組件進行通信。

UART、SPI 和 I2C 串行通信的工作原理,以及我們為何仍在使用它們

要傳輸數據,發送器和接收器都必須同意五種常見配置,它們是:

  • 波特率:數據傳輸速度的傳輸速度。
  • 數據長度:接收方將保存到其寄存器中的約定位數。
  • 起始位:一個低信號,讓接收器知道何時將要傳輸數據。
  • 停止位:一個高電平信號,讓接收器知道最後一位(最高有效位)何時已發送。
  • 奇偶校驗位:用於檢查發送的數據是否正確或損壞的高或低信號。

由於 UART 是一種異步協議,它沒有自己的時鐘來調節數據傳輸速度。作為替代方案,它確實在傳輸比特時利用波特率進行計時。UART 常用的波特率為 9600 波特,即每秒 9600 位的傳輸速率。

如果我們進行數學運算並將一位除以 9600 波特,我們就可以計算出一位數據傳輸到接收器的速度。

1/9600 = 104 微秒

這意味著我們的 UART 設備將開始計數 104 微秒,以了解下一位何時傳輸。

UART、SPI 和 I2C 串行通信的工作原理,以及我們為何仍在使用它們

當連接了 UART 設備時,默認信號總是升高到高電平。當它檢測到低頻信號時,接收器將開始計數 104 微秒加上另外 52 微秒,然後才開始將位保存到其寄存器(存儲器)中。

由於已經約定了八位是數據長度,一旦它保存了八位數據,它就會開始檢查奇偶校驗以檢查數據是奇數還是偶數。奇偶校驗後,停止位會發出一個高電平信號,通知設備整個八位數據已成功傳輸到接收器。

作為僅使用兩根線的最簡約的串行協議,UART 目前普遍用於智能卡、SIM 卡和汽車。

相關:什麼是 SIM 卡?你需要知道的事情

SPI(串行外設接口)

SPI 是另一種流行的串行協議,用於實現約 20Mbps 的更快數據速率。它總共使用了四根線,分別是SCK(串行時鐘線)、MISO(Master Out Slave In)、MOSI(Master In Slave Out)和SS/CS(Chip Select)。與 UART 不同,SPI 使用主從格式來控制多個從設備,只需一個主設備。

UART、SPI 和 I2C 串行通信的工作原理,以及我們為何仍在使用它們

MISO 和 MOSI 的作用類似於 UART 的 Tx 和 Rx,用於發送和接收數據。Chip Select 用於選擇主機要與哪個從機通信。

由於 SPI 是一種同步協議,它使用來自主設備的內置時鐘來確保主設備和從設備運行在相同的頻率上。這意味著兩個設備不再需要協商波特率。

UART、SPI 和 I2C 串行通信的工作原理,以及我們為何仍在使用它們

該協議從主設備通過將其信號降低到連接到從設備的特定 SS/CK 來選擇從設備開始。當從設備接收到低電平信號時,它開始監聽 SCK 和 MOSI。然後,主機在發送包含數據的位之前發送一個起始位。

MOSI 和 MISO 都是全雙工的,這意味著它們可以同時傳輸和接收數據。

SPI 能夠連接到多個從設備、全雙工通信以及比 I2C 等其他同步協議更低的功耗,因此用於存儲設備、數字存儲卡、ADC 到 DAC 轉換器和晶體存儲器顯示器。

I2C(內部集成電路)

I2C 是另一種類似 SPI 的同步串行協議,但有幾個優點。這些包括具有多個主設備和從設備的能力、簡單的尋址(不需要片選)、在各種電壓下運行以及僅使用連接到兩個上拉電阻的兩條線。

UART、SPI 和 I2C 串行通信的工作原理,以及我們為何仍在使用它們

I2C 常用於許多物聯網設備、工業設備和消費電子產品。

I2C 協議中的兩個引腳是發送和接收數據的 SDA(串行數據線)和用作時鐘的 SCL(串行時鐘線)引腳。

UART、SPI 和 I2C 串行通信的工作原理,以及我們為何仍在使用它們

  1. 該協議從主機從其 SDA 引腳發送一個起始位(低)開始,然後是一個選擇從機的七位地址,以及一個用於選擇讀或寫的地址。
  2. 在接收到起始位和地址後,從機向主機發送一個確認位並開始監聽 SCL 和 SDA 以獲取傳入傳輸。
  3. 一旦主機收到此信息,它就知道已與正確的從機建立連接。主機現在將從它想要訪問的從機中選擇哪個特定寄存器(存儲器)。它通過發送另外八位指定要使用的寄存器來實現。
  4. 收到地址後,從設備現在準備好選擇寄存器,然後再向主設備發送另一個確認。
  5. 在選擇了要使用的特定從設備及其寄存器中的哪些之後,主設備最終將數據位發送到從設備。
  6. 數據發送後,在主機以停止位(高)結束之前,最後一個確認位被發送到主機。

相關:最佳 Arduino 物聯網項目

為什麼串行通信會繼續存在

隨著並行和許多無線協議的興起,串行通信從未停止流行。通常只使用兩到四根線來傳輸和接收數據,串行協議是電子設備的基本通信模式,只有幾個端口可供備用。

另一個原因是它的簡單性轉化為可靠性。一次只用幾根線發送數據,串行已證明其可靠性可以發送完整的數據包,而不會在傳輸時丟失或損壞。即使在高頻和遠程通信中,串行協議仍然勝過當今可用的許多現代並行通信協議。

儘管許多人可能認為 UART、SPI 和 I2C 等串行通信具有陳舊和過時的缺點,但事實仍然是它們幾十年來已經證明了其可靠性。如此古老而沒有任何真正替代品的協議只是表明它們實際上是必不可少的,並且在可預見的未來將繼續用於電子產品。


什麼是同態加密?

什麼是同態加密?

最近突然出現的一個詞是同態加密。許多公司和在線服務正在將他們的加密模型轉換為一種同態加密,宣傳它是為了更好的用戶隱私和安全。

什麼是位圖圖像?

什麼是位圖圖像?

對於大多數人來說,數字媒體是您日常生活的一部分。但我們並不總是考慮它是如何創建的。

Android TV 和 Google TV 有什麼區別?

Android TV 和 Google TV 有什麼區別?

考慮到 Android 操作系統是由 Google 開發的,您可能會對 Google TV 和 Android TV 之間的差異感到困惑,這是可以理解的。它是一樣的嗎?

什麼是光場顯示及其工作原理?

什麼是光場顯示及其工作原理?

光場顯示器正在逐漸改變我們看待周圍世界的方式。或者更確切地說,我們如何看待不在我們周圍的世界。從經典攝影到高級教育和診斷再到遠程呈現和娛樂,本文將介紹光場顯示器是什麼、不同顯示器類型的工作原理以及它們的使用方式。

什麼是矩陣協議及其工作原理?

什麼是矩陣協議及其工作原理?

我們用來在線相互交流的大多數平台都綁定到一個提供商。但事情是這樣的,沒有技術上的原因。有一些在線聊天方式可以提供更大程度的隱私和自由。矩陣是其中一種方式。

什麼是網絡欺凌以及如何應對?

什麼是網絡欺凌以及如何應對?

無論是好是壞,互聯網讓更多的人能夠比以往任何時候都連接起來。就像人們將互聯網用於建設性和娛樂目的一樣,其他人也用它來執行一種新的欺凌:網絡欺凌。

99 個加密貨幣術語解釋:您需要的每個加密定義

99 個加密貨幣術語解釋:您需要的每個加密定義

加密貨幣是在稱為區塊鏈的分散計算機網絡上運行的數字貨幣。一些最重要且被廣泛接受的加密貨幣是比特幣、以太坊、Tether、Cardano、Binance Coin 和 USD Coin。

什麼是管理程序?它與虛擬機不同嗎?

什麼是管理程序?它與虛擬機不同嗎?

管理程序是一種用於創建虛擬機的軟件。虛擬機是對計算機的模擬。虛擬機用於在單個硬件上創建多個計算環境。

存儲資產的 8 個最佳軟件加密錢包

存儲資產的 8 個最佳軟件加密錢包

如果您擁有任何數量的加密貨幣,您可能想知道如何最安全可靠地存儲它。鑑於加密貨幣是一種數字形式的貨幣,您不能將其放入床頭櫃或保險箱中。相反,它需要存儲在一個硬件或軟件上。

Tonal 和 Nordic Tracks 數字權重如何工作?

Tonal 和 Nordic Tracks 數字權重如何工作?

您是否看過使用數字重量的健身器材的廣告,並想知道那到底是什麼?或者您是否看過這些時尚整潔的新機器,並想知道所有阻力來自哪裡?

您一直想問的關於電動汽車的 10 個常見問題

您一直想問的關於電動汽車的 10 個常見問題

電動汽車 (EV) 正變得越來越受歡迎。截至 2020 年,美國約有 180 萬輛註冊電動汽車,是 2016 年的三倍。全球範圍內,2020 年估計有 1020 萬輛電動汽車。

Mac mini eGPU 可提升圖形性能

Mac mini eGPU 可提升圖形性能

將 eGPU 與 Mac mini 搭配使用是一種絕佳方式,可以充分利用小巧的外殼,同時還能在遊戲和圖像處理等任務中實現出色的圖形性能。在本指南中,很好地解釋了 eGPU 可以添加到您的設置中的內容、它們的工作原理,以及是否值得為這個整潔的小工具包投入一些額外的現金。

如何在您的汽車中安裝行車記錄儀

如何在您的汽車中安裝行車記錄儀

如果你有一個行車記錄儀,安裝它可能看起來有點麻煩。在某些情況下,這並不像您希望的那麼簡單,但是在您的汽車中安裝行車記錄儀值得您花在它上面的每一分鐘。

為什麼 Nvidia 的 30 系列 GPU 比 AMD 好

為什麼 Nvidia 的 30 系列 GPU 比 AMD 好

Nvidia 是顯卡開發中兩個值得信賴的名字之一。您要么擁有 Nvidia GPU,要么選擇 AMD GPU。取決於你問的是誰,在 GPU 方面,Nvidia 總是略領先於 AMD。更快、更大、更強、更具創新性。

16 位與 24 位與 32 位音頻

16 位與 24 位與 32 位音頻

在處理數字音頻時,您經常會看到諸如音頻分辨率、採樣率和其他描述文件特徵的術語。了解好音頻與壞音頻的區別很重要,因此熟悉這些術語會有所幫助。

Xbox Series X 與 PS5:哪個 Teraflops 最多?

Xbox Series X 與 PS5:哪個 Teraflops 最多?

新一代遊戲機即將到來。PlayStation 5 和 Xbox Series X 的到來標誌著主機遊戲向前邁進了一步。正如您所料,遊戲玩家想知道哪個控制台更好?在可預見的未來,哪種遊戲選項將為您帶來最大的收益?

為什麼你會在破碎的屏幕上看到墨水

為什麼你會在破碎的屏幕上看到墨水

在損壞的設備(手機、平板電腦或筆記本電腦)的屏幕上看到看起來像墨水的黑色或紫色斑點並不少見。但是你的屏幕上真的有墨水嗎?

力和触覺反饋如何使遊戲更具沉浸感?

力和触覺反饋如何使遊戲更具沉浸感?

我們享受遊戲的很大一部分是沉浸感,讓您沉浸在虛擬世界中,彷彿身臨其境。可以增加您沉浸感的一件事是模擬現實世界的物理觸摸,讓您接近虛擬世界。

尼古拉·特斯拉 (Nikola Tesla) 的 5 項最佳發明以及它們如何塑造世界

尼古拉·特斯拉 (Nikola Tesla) 的 5 項最佳發明以及它們如何塑造世界

當你想到特斯拉這個詞時,電動汽車和億萬富翁的形象自然會出現。然而,埃隆·馬斯克(Elon Musk)以他的公司名字命名的發明家尼古拉·特斯拉(Nikola Tesla)在歷史上發揮了巨大作用,並改變了許多人的生活軌跡。那麼,尼古拉·特斯拉是誰,他負責哪些關鍵發明?

什麼是同態加密?

什麼是同態加密?

最近突然出現的一個詞是同態加密。許多公司和在線服務正在將他們的加密模型轉換為一種同態加密,宣傳它是為了更好的用戶隱私和安全。

什麼是位圖圖像?

什麼是位圖圖像?

對於大多數人來說,數字媒體是您日常生活的一部分。但我們並不總是考慮它是如何創建的。

什麼是光場顯示及其工作原理?

什麼是光場顯示及其工作原理?

光場顯示器正在逐漸改變我們看待周圍世界的方式。或者更確切地說,我們如何看待不在我們周圍的世界。從經典攝影到高級教育和診斷再到遠程呈現和娛樂,本文將介紹光場顯示器是什麼、不同顯示器類型的工作原理以及它們的使用方式。

什麼是矩陣協議及其工作原理?

什麼是矩陣協議及其工作原理?

我們用來在線相互交流的大多數平台都綁定到一個提供商。但事情是這樣的,沒有技術上的原因。有一些在線聊天方式可以提供更大程度的隱私和自由。矩陣是其中一種方式。

UART、SPI 和 I2C 串行通信的工作原理,以及我們為何仍在使用它們

UART、SPI 和 I2C 串行通信的工作原理,以及我們為何仍在使用它們

無論是計算機外圍設備、智能電器、物聯網 (IoT) 設備,還是電子測量工具,它們都使用串行通信協議將不同的電子元件連接在一起。

什麼是網絡欺凌以及如何應對?

什麼是網絡欺凌以及如何應對?

無論是好是壞,互聯網讓更多的人能夠比以往任何時候都連接起來。就像人們將互聯網用於建設性和娛樂目的一樣,其他人也用它來執行一種新的欺凌:網絡欺凌。

99 個加密貨幣術語解釋:您需要的每個加密定義

99 個加密貨幣術語解釋:您需要的每個加密定義

加密貨幣是在稱為區塊鏈的分散計算機網絡上運行的數字貨幣。一些最重要且被廣泛接受的加密貨幣是比特幣、以太坊、Tether、Cardano、Binance Coin 和 USD Coin。

什麼是管理程序?它與虛擬機不同嗎?

什麼是管理程序?它與虛擬機不同嗎?

管理程序是一種用於創建虛擬機的軟件。虛擬機是對計算機的模擬。虛擬機用於在單個硬件上創建多個計算環境。

接入點與路由器——有何不同?

接入點與路由器——有何不同?

為您的家庭或企業設置 Wi-Fi 很容易讓人不知所措和困惑。這個過程涉及很多不同的術語和設備,每種 Wi-Fi 情況都是獨一無二的。擁有大量設備連接到大面積網絡的大型企業將需要與擁有少量設備的簡單家庭截然不同的東西。

存儲資產的 8 個最佳軟件加密錢包

存儲資產的 8 個最佳軟件加密錢包

如果您擁有任何數量的加密貨幣,您可能想知道如何最安全可靠地存儲它。鑑於加密貨幣是一種數字形式的貨幣,您不能將其放入床頭櫃或保險箱中。相反,它需要存儲在一個硬件或軟件上。