蓝牙里面的HCI是啥?


如上图,HCI就是HOST和Controller之间的通道。用来桥接Host和Controller Devices。
HCI是一个标准的蓝牙用的接口,用来Host发给Controller命令,HOST从controller接收events,和HOST发给Controller数据,和从HOST从Controller接收数据。
HOST就是指我们的主控芯片,Microcontroller/ MCU / μCON / MPU等,比如我正在使用的是iMX6ULL芯片。
Controller就是蓝牙芯片了,比如我比较熟悉的TI的CC2564芯片。
那这两个芯片之间用什么方式通信呢?
用的是串行通讯,主要有两种,一种是UART,另一种是USB。
这个是根据厂商实现的蓝牙芯片和所使用的协议栈共同决定的。
我们一般以UART为主要使用方式,更方便我们通过外部UART串口工具来抓取HCI通信数据或发送HCI命令给蓝牙芯片。
蓝牙5.0规范里HCI的介绍
我们网上搜索蓝牙5.0协议,下载bluetooth-Core_v5.0.pdf,以5.0为例,还有比5.0更高版本的蓝牙spec。
蓝牙协议内容很多,打开后发现里面分了8卷,从Volume 0 ~ Volu

最低0.47元/天 解锁文章
1891

被折叠的 条评论
为什么被折叠?



