蓝牙设备开发一般包含蓝牙芯片及主机的开发。主机部分根据应用情况可以是PC,单片机,ARM等。蓝牙通讯协议是一组协议的集合,从最底层的硬件驱动,到上层的通讯协议,都由明确的规定。蓝牙设备必须实现这些协议组,才能与其他标准蓝牙设备进行无缝通讯。

对于中上层的协议,既可以由主机实现,也可以在蓝牙芯片上实现,根据蓝牙芯片与主机所要实现的协议多少,可以分为三种蓝牙设备的开发方式。

方式一:

主机实现到HCI层,底层由蓝牙芯片实现。HCI层实现的是蓝牙芯片与主机通讯的方式。目前一般是串口或者USB通讯。所谓的USB也不是真正意义上的USB通讯,而是类似与USB转串口的方式,即通过驱动模拟USB设备实现串口通讯。目前USB蓝牙适配器基本都是这种设备模式。PC端实现了L2CAP, SDP, RFCOMM协议,以及USB转串口的驱动。Windows XP SP2操作系统以上版本的都内置了这些协议栈,还有如WIDCOMM等公司提供的第三方协议栈。

android 多活动 共用 蓝牙_串口

 

方式二:

这类设备其实所有的蓝牙相关的协议都由蓝牙芯片实现了。主机端只进行应用程序的开发。一般像单片机等资源较少的主机采用这种方式。比如目前的蓝牙串口适配器,单片机只需要与该适配器进行串口通讯,蓝牙所有的通讯协议都由蓝牙芯片进行实现。

android 多活动 共用 蓝牙_单片机_02

 

方式三:

这种方式一般就不需要主机端,是真正意义上的单芯片方案。所有的程序包括协议的实现以及应用程序都由蓝牙芯片实现。比如现在市场上卖的蓝牙耳机,就是采用这种方式。蓝牙芯片不仅实现音频数据的蓝牙收发,而且实现了音频数据的解码播发。

android 多活动 共用 蓝牙_串口_03