蓝牙核心规范(V5.2)6.0-深入详解之Uart传输层

简介: 蓝牙核心规范(V5.2)6.0-深入详解之Uart传输层

image.png

这个HCIUART传输层的目标是使在同一PCB上的两个UART之间的串行接口上使用蓝牙HCI成为可能。HCIUART传输层假定UART通信没有线路错误。


image.png


协议

传输层可通过UART发送五种HCI包,即HCI命令包、HCI事件包、HCIACL数据包、HCI同步数据包和HCIISO数据包。HCI命令数据包只能发送到蓝牙控制器,HCI事件数据包只能从蓝牙控制器发送,HCIACL/同步/ISO数据包可以从蓝牙控制器发送到蓝牙控制器发送。


HCI不提供区分这四种HCI数据包类型的能力。因此,如果HCI包通过公共物理接口发送,则必须根据下表2.1添加HCI包指示器。


HCI包指示器应在HCI包之前立即发送。所有四种HCI数据包都有一个长度字段,用于确定HCI数据包需要多少个字节。当接收到整个HCI包时,下一个HCI包需要下一个HCI包指示器。在UART传输层上,只允许HCI包指示器,后面跟着HCI包。


RS232设置

image.png


使用RTS/CTS的流量控制用于防止临时UART缓冲区溢出。它不应该用于HCI的流控制,因为HCI有自己的针对HCI命令、HCI事件和HCI数据的流控制机制。


如果CTS为1,则允许主机/控制器发送。


如果CTS为0,则不允许主机/控制器发送。


流量关闭响应时间定义了从将RTS设置为0到字节流实际停止的最大时间。


RS232信号应以零调制解调器的方式连接,即本地TXD应连接到远程RXD,而本地RTS应连接到远程CTS,反之亦然。


错误恢复

如果主机或控制器在通过RS232的通信中失去同步,则需要重置。同步丢失意味着检测到不正确的HCI包指示器,或者HCI包中的长度字段超出了范围。


如果UART同步在主机与控制器之间的通信中丢失,则控制器应发送一个HCI_Hardware_Error事件,告诉主机有关同步错误。然后,控制器将期望接收到来自主机的HCI_Reset命令,以执行重置。控制器还将使用从主机到控制器的字节流中的HCI_Reset命令来重新同步。


如果在控制器与主机之间的通信中UART同步丢失,则主机应发送HCI_Reset命令以重置控制器。然后,主机应该通过在从控制器到主机的字节流中寻找HCI_Reset命令的HCI_Command_Complete事件来重新同步。


目录
相关文章
|
3月前
|
数据采集 网络协议 数据处理
LabVIEW中实现Trio控制器的以太网通讯
LabVIEW中实现Trio控制器的以太网通讯
21 0
|
5月前
|
传感器 监控 芯片
嵌入式系统中MCU与SoC通信方式的选择与应用
嵌入式系统中MCU与SoC通信方式的选择与应用
242 3
|
5月前
[通讯方式] 串口通信
[通讯方式] 串口通信
94 0
|
11月前
|
存储 开发框架 前端开发
单片机与HC-05蓝牙模块通信
单片机与HC-05蓝牙模块通信
140 0
|
物联网
zigbee DL-20无线串口收发模块使用(双车通讯,电赛模块推荐)
zigbee DL-20无线串口收发模块使用(双车通讯,电赛模块推荐)
439 0
|
Linux API 芯片
USB2S可编程USB转串口适配器开发原理的通讯协议
USB2S可编程USB转串口适配器基于FTDI FT2232H芯片设计,对多种通讯协议的支持,包括UART,I2C,SMBus,1-Wire,SPI,CAN和PWM等。
USB2S可编程USB转串口适配器开发原理的通讯协议
Adurion两个HCO5蓝牙模块之间互相通信
Adurion两个HCO5蓝牙模块之间互相通信
121 0
|
传感器 Ubuntu 物联网
ESP32-C3 学习测试 蓝牙 篇(一、认识 ESP-IDF 的蓝牙框架、简单的了解蓝牙协议栈)
在我们前面 ESP32-C3 的教程中,从基本的外设,到wifi,到最后使用MQTT连接云平台完成了一个 简单的项目,我们已经掌握了ESP32-C3 的大部分功能了。 但是作为一款蓝牙芯片,蓝牙的使用是必不可少的,今天我们就开始对 ESP32-C3 蓝牙的使用进行学习测试。 蓝牙部分已经不敢叫教学了,为了搞清楚ESP-IDF的那些示例程序到底是关于什么内容, 因为自己也是边学习边测试花了大量时间补充蓝牙的基本知识,希望小伙伴指出不足之处! ...更新说明,ESP32-C3只支持BLE
1896 2
ESP32-C3 学习测试 蓝牙 篇(一、认识 ESP-IDF 的蓝牙框架、简单的了解蓝牙协议栈)
|
监控 定位技术 数据格式
UART子系统(六) 串口应用编程之GPS定位
UART子系统(六) 串口应用编程之GPS定位
407 0
UART子系统(六) 串口应用编程之GPS定位