什麼是 UART?它是如何運作的? :完整指南

什麼是 UART?它是如何運作的? :完整指南

UART 對於數位設備之間的串行通訊至關重要。具有特定起始位元、資料位元和停止位元的非同步操作根據晶片及其技術發展,UART 有不同的類型。ESP32 和 MT3620 等現代開發板允許高階 UART 配置

多年來,串行通訊技術取得了長足的發展,但在數位電子領域,歷史最悠久、至今仍至關重要的標準之一仍然是 UART。此組件的英文全名為 通用異步收發器,是允許兩個設備之間進行資料傳輸和接收而無需共享時脈訊號的關鍵。

在本文中,我們將深入探討 UART 的概念、它的內部運作、它允許的配置、有哪些類型,以及如何在現代系統(例如 ESP32 或適用於 Azure Sphere 的微控制器)中使用。您還將了解它在硬體演進中的歷史作用,以及如何偵測已安裝的 UART 的確切類型。

什麼是 UART?UART 是一個 專用於非同步資料傳輸的硬體組件它負責將並行資料(例如來自微控制器或 PC 匯流排的資料)轉換為串列資料流,並透過通訊線路發送,反之亦然。要了解更多關於 UART 端口工作原理的信息,您可以查閱 TCP 協定是什麼?.

該協議以其簡單性和廣泛採用而聞名。與 I2C 或 SPI 等其他協議不同, UART不需要額外的時脈訊號 同步訊息的發送,從而簡化了其在許多平台上的實現。

UART協定的基本操作UART 的操作是基於 預定義的幀結構 這使得設備能夠識別每個傳輸訊息的不同元素。每幀包括:

起始位元: 表示傳輸的開始。它被檢測為從高(空閒)電壓電平到低電壓電平的轉換。數據位: 通常為 5 到 9 位,但最常見的是 7 位或 8 位。通常從最低有效位元 (LSB) 開始傳輸。奇偶校驗位(可選): 它充當錯誤檢測機制。停止位: 標記幀結束的一或兩位。這透過通道返回高電平來表示。傳輸線預設保持高電平。如果在沒有起始位元的情況下保持低電平,則表示線路故障或損壞。

字元傳輸範例為了更好地理解訊息是如何編碼的,我們以字符 'S' 以 7 位 ASCII 碼表示。其二進位值為 1010011UART 首先反轉順序(先發送最低有效位元),將其保留為 1100101。在此序列的開頭加上一個起始位元 (0),並在結尾加上一個或兩個停止位元 (1)。

UART類型與歷史演變自從個人電腦誕生以來,人們開發了眾多 UART 晶片,每一款都比上一款更先進。其中最值得注意的包括:

NS 8250: 首次出現在原始 IBM PC 上,但 BIOS 中的錯誤已修正。NS 8250A/B: 後續版本與舊 BIOS 的兼容性有所不同。NS 16450: 它在 AT PC 上很流行,允許高達 9600 bps 的更高速度。NS 16550: 它包含 16 個位元組 FIFO 緩衝區,非常適合高速運行。NS 16550A: 它改進了前代產品的問題並支援高達 115200 bps 的速度。16650 / 16750: 透過擴展緩衝區,他們甚至可以支援 56 Kbps 或更高。現在許多主機板將 UART 直接整合到晶片組中,同時仍保持與 16550 系列等經典晶片的兼容性。若要深入了解與 UART 連接埠通訊相關的作業系統的歷史,請參閱 Windows 95 的歷史.

UART 中的可能配置除了位元結構之外,UART還允許您配置多個影響傳輸的參數:

波特率: 常見值如9600、19200、38400、115200等,最高可達2Mbps。數據位數: 5 至 8 位元之間。停止位: 1或2。平價: 無、偶數或奇數。流量控制: RTS/CTS(硬體)、XON/XOFF(軟體)或無。外部訊號和其他介面電平UART 本身通常不處理來自外部的訊號電平。為此, 轉換晶片 使訊號適應 RS-232、RS-422 或 RS-485 等標準。甚至無線媒體, 藍牙或紅外線或光纜或射頻。

在 ESP32 上使用 UARTESP32 微控制器在物聯網專案中非常受歡迎,其變體包括 三個 UART 連接埠(UART0、UART1 和 UART2),取決於型號。與 Arduino 不同,這些連接埠可以自由地重新分配給其他引腳,這要歸功於它們的 內部多工器。有關編程和配置的更多詳細信息,請參閱 如何在 Raspberry Pi 5 上安裝並執行 CasaOS.

例如,UART1 預設配置在快閃記憶體使用的引腳上,因此 如果我們想使用它,就必須改變引腳UART2 也發生了類似的事情,它沒有預先分配的引腳,必須手動配置。

在 Arduino 環境中,ESP32 使用類 Serial, Serial1 y Serial2 處理 UART 端口,但實際上用類手動定義它們更方便 HardwareSerial完整的範例請見 SimulIDE Python實用教學.

HardwareSerial MySerial(1);

const int MySerialRX = 16;

const int MySerialTX = 17;

void setup() {

MySerial.begin(115200, SERIAL_8N1, MySerialRX, MySerialTX);

}

Azure Sphere 和 MT3620 上的 UART在生態系統中 Azure Sphere,還包括用於串行通訊的 UART。 MT3620 設備是最常見的平台之一,允許連接到從應用程式清單配置的 UART。有關其功能的更多技術細節,請參閱 什麼是 Symbian?.

在此背景下,UART 的一些顯著特徵包括:

支持波特率從 1200 到 2.000.000可自訂的資料位、奇偶校驗位和停止位設定硬體接收緩衝區最大可達32位元組使用 POSIX 函數進行讀取/寫入UART 連接埠測試和診斷為了確保 UART 連接埠正常運作, 環回測試連接器 模擬從外部設備接收資料。此方法依賴引腳橋接,將 TX 輸出鏡像到 RX 輸入。為了驗證相容性,請參閱 什麼是 XAMPP?.

例如,對於 DB9 連接器:

腳位 2 (RX) → 腳位 3 (TX)腳位 4 (DTR) → 腳位 6 (DSR) 和腳位 1 (CD)腳位 7 (RTS) → 腳位 8 (CTS)此外,像這樣的程序 MS-DOS 中的 msd.exe 或 Windows 診斷工具可讓您識別已安裝的 UART 類型、其速度和其他基本參數。

UART 仍然是一項廣泛應用且用途廣泛的技術,無論在開發或生產環境中,都能實現可靠且簡單的通訊。正確的幀配置、選擇合適的引腳以及了解每種 UART 型號的局限性,對於確保通訊系統穩健且高效至關重要。

什麼是 Subsonic Stream?學習如何創建自己的媒體伺服器。

萬用電表精通工業和家用軟體、開發和應用的專家。我們樂於充分利用市面上所有軟體、程式、應用程式、工具和作業系統的潛力。

相关星际资讯

壮瑶一家亲 共创致富路——马山县古寨瑶族乡脱贫故事
365体育手机版app下载

壮瑶一家亲 共创致富路——马山县古寨瑶族乡脱贫故事

🕒 09-09 👁️ 8840
手机QQ轻松保存聊天记录:本地保存与云同步操作指南
365bet体育在线导航

手机QQ轻松保存聊天记录:本地保存与云同步操作指南

🕒 07-20 👁️ 5113
ppt2016怎么开启录制宏
bat365入口

ppt2016怎么开启录制宏

🕒 07-25 👁️ 1311