一、簡介
USART(Universal Synchronous/Asynchronous Receiver/Transmitter,通用同步/異步收發器)是一種常見的串行通信協議,廣泛應用于微控制器、傳感器、模塊和其他電子設備之間的數據傳輸。本節課主要學習USART的基本結構以及其原理。
二、通信接口
通信的目的:將一個設備的數據傳送到另一個設備,擴展硬件系統
在STM32芯片當中,有一些功能是沒有的,比如藍牙、WIFI、陀螺儀等,這些外掛的模塊是存有數據的,但是需要將數據傳輸到STM32里面,這就需要通過USART串口通信進行數據傳輸給芯片
通信協議:制定通信的規則,通信雙方按照協議規則進行數據收發,下圖為不同通信模式的通信協議。
1、工作方式
半雙工:發送的時候不能接收,接收的時候不能發送
全雙工:發送和接收能夠同步進行?
2、時鐘
為了讓數據傳輸的時候要能夠準確的采集數據,就引入了時鐘,時鐘分為同步、異步兩種
I2C和SPI因為有單獨的時鐘線,所以能夠實現同步
USART、CAN、USB沒有時鐘線,所以只能通過約定采樣頻率和引入幀頭幀尾進行采樣位置對齊
3、電平特性
單端:通信的高低電平是相對于GND的,所以雙方必須接GND引腳,否則無法通信
差分:靠兩個差分引腳電壓差實現信號傳輸,可以不需要接GND,但是一些USB協議里需要,不接GND是不行的。
4、引腳說明:?
USART????????TX:發送? ? ? ? RX:接收
I2C? ? ? ? SCl:時鐘線? ? ? ? SDA:數據線?
SPI? ? ? ? SCLK:時鐘????????MOSI:主出從入????????MISO:出入從出????????CS:片選
片選:因為片選的存在所以SPI能夠實現多設備的接入
三、串口通信的設備
???????串口是一種廣泛應用的通信接口,具有成本低、使用簡便和線路簡單的特點,能夠實現兩個設備間的雙向通信。一般來說串口是點對點的設備,兩個設備之間的通信。
????????通過串口,單片機可以與其他單片機、計算機以及各類功能模塊進行通信。這不僅大幅拓展了單片機的應用范圍,還顯著提升了單片機系統的硬件能力。
圖中的的設備都是可以通過USART實現設備之間的通信
1、USB轉串口模塊,采用的是CH340芯片,它可以實現將串口協議轉USB協議
2、陀螺儀傳感器,可以測量角速度、加速度等參數,左側引腳是串口,右側是I2C
3、藍牙模塊,下面接口是串口連接,這樣就可以實現單片機與手機的互聯硬件電路
在簡單雙向串口通信中,需要連接兩根通信線:發送端(TX)和接收端(RX),TX和RX需要交叉連接
若僅需單向數據傳輸,則只需連接一根通信線即可
當通信雙方電平標準不一致時,需添加電平轉換芯片
假設設備1是STM32,設備2是藍牙模塊,藍牙模塊是沒有電源的,那么VCC就可以連接STM32的VCC實現子模塊的供電(要滿足供電要求,不同電平需要加電平轉換模塊)
電平標準是數據1和數據0的表達方式,是傳輸線纜中人為規定的電壓與數據的對應關系,串口常用的電平標準有如下三種:
TTL電平:+3.3V或+5V表示1,0V表示0
RS232電平:-3~-15V表示1,+3~+15V表示0
RS485電平:兩線壓差+2~+6V表示1,-2~-6V表示0(差分信號)(通信距離可達上千米)
四、串口參數以及時序
波特率:決定串口通信傳輸速率的參數,常見的波特率包括9600、19200、115200等。波特率越高,相同時間內傳輸的數據越快。波特率設置需保證通信雙方一致,否則會導致數據解析錯誤。
起始位:數據幀開始的標識信號,始終保持低電平狀態,其作用是通知接收方準備接收數據,并作為同步時鐘的參考點。
數據位:承載實際數據的有效位,高位表示1(高電平),低位表示0(低電平),按從低到高順序傳輸
校驗位:基于數據位計算得出的校驗值,用于檢測傳輸準確性
校驗位用于檢測數據傳輸中的錯誤,常見校驗方式包括:
????????偶校驗:數據位和校驗位中?1
?的個數為偶數。
????????奇校驗:數據位和校驗位中?1
?的個數為奇數。
????????無校驗:不添加校驗位。
停止位:標記數據幀結束的間隔信號,始終保持高電平
無校驗位:八位載荷?
?有校驗位:八位載荷 ,一位校驗
在末尾插入一個校驗位
偶:傳輸的是0000 1111就插入一個0,如果傳輸的是0000 1110就插入一個1,使1滿足偶數個
奇:傳輸的是0000 1111就插入一個1,如果傳輸的是0000 1110就插入一個0,使1滿足奇數個
但是不一定是百分百正確判斷,它的存在只是減少數據傳輸的不正確。?假設有兩個數據出錯了,但是沒有改變奇偶特性就不會檢出錯誤。
五、總結
????????USART是一種通用串行通信協議,用于微控制器與外部設備的數據傳輸。其支持同步/異步通信,具有全雙工和半雙工兩種工作方式。通信協議包含起始位(低電平)、數據位(高低電平表示1/0)、可選校驗位(奇偶校驗)和停止位(高電平)。電平標準包括TTL、RS232和RS485三種,波特率需雙方一致以確保通信正確。USART通過TX(發送)和RX(接收)引腳實現設備間連接,適用于STM32與傳感器、藍牙模塊等外設的數據交互,具有成本低、接線簡單的特點。不同電平設備通信時需使用轉換芯片。