- 前言 -
開發中經常用到串口通訊,串即串行,顧名思義,是指數據在一根數據線上按照二進制的數位,從低到高位一位一位的傳輸。單片機中的串口有UART,USART。
UART/USART 在許多 DIY 電子項目中用于將 GPS 模塊、藍牙模塊、 RFID 讀卡器模塊等連接到Raspberry Pi、Arduino 或其他微控制器。
- UART -
UART介紹:
我們今天要介紹的UART,全稱Universal Asynchronous
Receiver/Transmitter,通用異步收發傳輸器。使用TTL電平信號,和電腦的COM口(遵循RS-232)不同。它們之間不能直接通訊,需要在之間加入轉換器(如MAX232)。
Tips:
采用二進制來表示數據時:
TTL(晶體管-晶體管邏輯電平)電平信號規定,+5V等價于邏輯“1”,0V等價于邏輯“0”。
RS-232規定邏輯“1”的電平為-5V~-15 V,邏輯“0”的電平為+5 V~+15 V
UART工作原理:
和其它串口一樣,數據按照二進制從低位到高位一位一位的傳輸,能將要傳輸的數據在串行通信與并行通信之間加以轉換,能夠靈活地與外部設備進行全雙工數據交換。例如要傳輸一個字節的數據10001110,它是從低位0開始,一位一位的傳輸過去。
在 UART 通信中,兩個 UART 直接相互通信。發送端將來自控制設備(如 CPU)的并行數據轉換為串行形式,接著將其串行傳輸到接收端,然后接收端將串行數據轉換回并行數據以供接收設備使用。
數據從一個UART的發送引腳(Tx) 流向另一個UART的接收(Rx) 引腳:
UART通訊分類:
單工:UART只用Tx或Rx其中一根線進行通訊,也就是只作接收或發送;
半雙工:UART在同一時間,只用作發送或接收;
全雙工:UART在發送的同時,也可以接收;
UART波特率:
UART的波特率是指每秒傳輸的二進制位數(單位bps),比如9600bps,意思就是每秒鐘可以傳輸9600個位(bit)。
例如:設字符傳輸的速率為120字符/秒,而每1個字符為10位(bit),那么傳送的波特率為:10位/字符 * 120 字符/秒 = 1200 /秒 = 1200bps。那么每1位二進制位(bit)的傳送時間:
T = 1/1200 = 0.833ms
UART要求發送與接收兩個UART的波特率配置相同。如果發送與接收波特率不同,相差很大,接收端采樣點跨過多個電平,造成接收丟失,或者造成波特率不匹配,接收失敗,如下圖:
常見的波特率有9600、115200、128000、256000等。
- 通訊 -
通訊過程:
UART屬于異步傳輸數據,這意味著沒有時鐘信號將發送的位輸出與接收的位采樣同步,也就是發送與接收使用各自的時鐘。發送端將開始和停止位添加到傳輸的數據幀中,通過數據幀中定義的開始位和結束位,接收端知道何時開始讀取這些位。
每個數據幀包含 1 個起始位、5 到 9 個數據位(取決于 UART的設置,如果有奇偶校驗位是5到8,沒有則是5到9)、一個可選的奇偶校驗位和 1 個或 2 個停止位:
起始位:UART 數據傳輸線在不傳輸數據時通常保持在高電平。要開始發送數據時,發送端UART先在一個時鐘周期內將傳輸線從高電平拉到低電平。當接收端UART 檢測到從高到低的電壓轉換時,它開始以設置好的波特率的頻率讀取數據幀中的位。
數據:數據幀包含正在傳輸的實際數據。如果使用奇偶校驗位,它可以是 5 位到 8 位。如果不使用奇偶校驗位,則數據幀可以是 9 位。在大多數情況下,首先發送的數據是最低有效位。
校驗:奇偶校驗位是接收端UART 判斷數據在傳輸過程中是否發生變化的一種方式。位會因電磁輻射、不匹配的波特率或長距離數據傳輸而發生改變。接收端 UART 讀取數據幀后,檢查數據部分值為1的個數是奇數還是偶數。當奇偶校驗位與數據匹配時,UART 知道傳輸沒有錯誤。
停止:發送端UART 將數據傳輸線從低電平拉到高電平持續至少兩個位的時間來表示整個數據包的傳輸已經結束。
發送接收過程:
1.UART 從數據總線并行接收數據:
2.發送 UART 將起始位、奇偶校驗位和停止位添加到數據幀:
3.整個數據包從發送 UART 串行發送到接收 UART。接收 UART 以預配置的波特率對數據線進行采樣:
4.接收 UART 丟棄數據幀中的起始位、奇偶校驗位和停止位:
5.接收端 UART 將串行數據轉換回并行,并將其傳輸到接收端的數據總線:
-
微控制器
+關注
關注
48文章
7490瀏覽量
151057 -
單片機
+關注
關注
6032文章
44521瀏覽量
633087 -
串口通訊
+關注
關注
1文章
258瀏覽量
24857 -
UART接口
+關注
關注
0文章
124瀏覽量
15268 -
RFID讀卡器
+關注
關注
0文章
57瀏覽量
11348
發布評論請先 登錄
相關推薦
評論