前言:
蓝牙产品在实际落地中,很多时候采用host+controller的通信模型,其中host负责实现协议栈profile是运行在主控cpu上的。controller为另外一颗单独的蓝牙芯片,负责蓝牙link layer的处理,两个芯片通过hci消息来交互数据。
hci定义了消息格式,但只有消息格式是不完整的,还需要定义在什么硬件总线上传输数据。协议规定hci消息可以在usb总线上传输,也可以在uart协议上传输,还可以在sdio协议上传输,这部分是hci的传输层定义的内容。
传输层HCI:
传输层,主机控制层接口,通过硬件接口uart/usb/sdio把host协议层的数据发送给controller层,并且接收controller层的数据。
usb总线传输:
由于USB总线除了VCC和GND之外,数据总线只有两根,