一、UART
1、UART和USART的異同?
相同點
- 基本功能:都是用于串行通信的數據收發設備,能夠實現數據在不同設備之間的傳輸。在異步通信模式下,二者的工作方式相似,都使用起始位、數據位、校驗位(可選)和停止位來構成數據幀進行數據傳輸。
- 全雙工通信:都支持全雙工通信,即可以同時進行數據的發送和接收23。
不同點
- 通信模式:
- UART:只支持異步通信模式,數據發送方和接收方不需要共享時鐘信號,依靠預先設定的波特率來同步發送和接收數據。
- USART:既支持異步通信模式,也支持同步通信模式。在同步模式下,數據的發送和接收通過共享時鐘信號來同步。
- 時鐘信號:
- UART:沒有時鐘信號引腳,通信雙方通過事先約定好的波特率來同步通信。
- USART:在同步模式下,使用一個共享的時鐘信號來同步數據傳輸,需要額外的時鐘引腳(如 SCK)。USART 還可以通過外部時鐘源來提供時鐘信號,或者通過內部時鐘生成。
- 硬件支持:
- UART:一般接口硬件設計較為簡單,只有發送(TX)和接收(RX)兩個基本功能引腳,適用于異步串行通信場合。
- USART:除具備 UART 的功能外,還支持同步通信,其硬件能直接與時鐘信號協作,可提高數據傳輸的穩定性和速度,適合長距離或者高速通信。
- 應用場景:
- UART:常用于較低速、較短距離的通信,如計算機與外設之間的通信、設備配置等簡單數據傳輸場景。
- USART:適用于更為復雜的通信場景,特別是需要同步傳輸數據、進行高速通信的應用,如 SPI 或 I2S 等協議的硬件實現。
- 引腳數量:
- UART:通常只需兩個引腳,即 TX(發送)和 RX(接收)。
- USART:在同步模式下使用時,除了 TX 和 RX 引腳外,還需要額外的時鐘引腳(如 SCK)來同步數據的傳輸。
- 速度與穩定性:
- UART:速度相對較低,在高波特率下,由于沒有時鐘信號支持,可能會出現誤差或時序問題。
- USART:由于有同步模式,在高速度和長距離傳輸時能保持數據的穩定性,減少誤碼率。
2、什么是UART?
????????通用異步接收器/發送器,通常稱為UART,是一種廣泛應用于嵌入式領域的串行、異步、全雙工通信協議。?
3、物理連線?
????????UART 通道有兩條數據線。每個設備上都有一個 RX 引腳和一個 TX 引腳(RX 用于接收,TX 用于發送)。每個設備的 RX 引腳都連接到另一個設備的 TX 引腳。
注:沒有共享時鐘線!這是通用異步接收方發送方的“異步”通信!?
4、通信協議?
(1)工作原理:逐位傳輸傳輸數據的每個二進制位?
(2)信號線上的狀態為高時:代表“1”;當信號線上的狀態為低時:代表“0”。
(3)串行通信:指利用一根傳輸線逐位依次傳輸數據,也可以用兩根信號線組成全雙工通信。
(4)異步通信:以一個字符為傳輸單位。兩包數據的間隔時間可以不同,但是數據每個位的間隔時間是固定的。比如傳輸0x02,0000 0010,1和0之間的間隔時間就可以根據設置的波特率,每兩個位之間的傳輸速率就是1/波特率。一般來說,兩個UART設備之間的通信不需要時鐘線。此時,需要在兩個UART設備上指定相同的傳輸速率,以及空閑位、起始位、奇偶校驗位和結束位,即遵循相同的協議。
(5)數據傳輸速率以波特率表示,即每秒傳輸的位數。例如,如果數據傳輸速率為960個字符/秒,每個字符為10位(1個起始位、7個數據位、1個校驗位、1個停止位),則其傳輸的波特率為10×960 = 9600 個字符/秒 = 9600 波特率?
5、數據通信格式
(1)起始位:每次通信開始時,發送方發送一個邏輯“0”信號(VOL),表示傳輸字符的開始。由于總線空閑時為高電平,因此在開始通信時先發送一個與空閑狀態明顯不同的信號,即VOL。
(2)數據位:起始位之后是我們要傳輸的數據。數據位可通常是8位。首先發送最低位,最后發送最高位。用低電平?表示“0”,高電平表示“1”。
(3)奇偶校驗位:將該位添加到數據位后,“1”位的個數應為偶數(偶校驗)或奇數(奇校驗),以驗證數據傳輸的正確性。
a、奇校驗:如果數據位中“1”的個數為偶數,則奇偶校驗位為“1”,如果“1”的個數為奇數,則奇偶校驗位為“0”。
b、偶校驗:如果數據中“1”的個數為偶數,則奇偶校驗位為“0”,如果數據中“1”的個數為奇數,則奇偶校驗位為“1”。
(4)停止位:它是字符數據的結束標記。它可以是 1 位、1.5 位或 2 位 VOH。
?
?