作者: Feasycomr ???? 發布時間:2023-06-13 17:19
一,串口:
串行接口簡稱為串口,也叫串行通信接口,一般也叫COM口,這是一個統稱,采用串行通信的接口都叫作串口,串口是一個硬件接口。
UART是UniversalAsynchronous Receiver/Transmitter的簡稱,意為通用異步收發傳輸器。
UART包含TTL電平的串口和RS-232電平的串口,使用UART通信的雙方設備都需要遵從UART協議。
二,UART協議:
根據協議格式的不同,又分為 H4(TX/RX/CTS/RTS/GND)和H5(TX/RX/GND)兩種協議格式
H4:Á 通訊不包含重傳(re-trasnmition),因此 CTS/RTS 必須使用.UART通訊為”透傳”模式,即通過邏輯分析儀監控到的數據數據為實際的通訊數據. Direction Head DataType Host->Controller 0x01 HCI Command Host->Controller 0x02 ACL Packet Host->Controller 0x03 SCO Packet Controller->Host 0x04 HCI Event Controller->Host 0x02 ACL Packet Controller->Host 0x03 SCO Packet
H5:Á (也稱為3-wire),由于支持重傳,因此CTS/RTS可選.H5通訊的數據包都以0xC0作為打頭、結尾,即:0xC0 …payload.. 0xC0. 若payload中包含0xC0,則轉換成0xDB 0xDC;若payload中包含0xDB,則轉換成0xDB 0xDD
三,藍牙模塊串口:
大部分藍牙HCI模塊都支持H5模式,
少部分(如BW101/BW104/BW151)只支持H4模式(即必須要CTS/RTS)
無論H4還是H5,藍牙初始化時協議棧都以115200bps波特率和模塊握手,握手成功后再跳轉至高波特率(>=921600bps),常用的有921600/1M/1.5M/2M/3M
注意:H4串口配置不包含校驗位;H5一般會用偶校驗(even).用邏輯分析儀抓串口數據包時要記得設置格式。
四,案例: