蓝牙核心技术概述(二):蓝牙使用场景


关键词:蓝牙核心技术协议  A2DP AVDTP  HF HCP BIP BPP…………
作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢!)
欢迎指正错误,共同学习、共同进步!!

下载链接:Bluetooth PROFILE SPECIFICATIONS (基本涵盖所有蓝牙协议)、buletooth core 2.1-4.0 SPECIFICATION(三蓝牙版本的核心协议v2.1\v3.0\v4.0)、蓝牙核心技术与应用 马建仓 版(蓝牙协议相关初学者必读,开发者参考)

蓝牙核心技术概述(一):蓝牙概述
蓝牙核心技术概述(二):蓝牙使用场景
蓝牙核心技术概述(三): 蓝牙协议规范(射频、基带链路控制、链路管理)
蓝牙核心技术概述(四):蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)
蓝牙核心技术概述(五):蓝牙协议规范(irOBEX、BNEP、AVDTP、AVCTP) 

蓝牙应用的过程中,不同的场合、功能及相关协议。这篇将做详细的介绍说明。

1、ADVANCED AUDIO DISTRIBUTION PROFILE高级音频分发配置文件


A2DP描述了立体声音频如何从媒体输出(source)传输至输入(sink)。
使用情景:
     简单说来,这是一个蓝牙音乐播放器(如MP3播放器、随身听、立体声等)音频输出是音乐播放器,而音频输入是无线耳机或无线立体声音响。 
产品范例:
以下是使用A2DP配置文件的部分设备类型:
立体声耳机、立体声音、MP3播放器、音乐手机、立体声音频适配器
技术知识:
此配置文件定义了音频设备的两个角色:输出和输入。
•       输出(SRC)-设备在将数字化音频流传输至微微网的输出时则作为输出设备。 
•       输入(SNK)-设备在输入来自同一微微网中SRC的数字化音频流时则作为输入设备。 
    A2DP定义了在ACL信道实现高品质音频内容的单声道或立体声分发协议和程序。因此,“高级音频”与“蓝牙音频”应该区别开来,后者是指根据基带规格定义的SCO信道中分发窄幅波段的语音。
    此配置文件建立在GAVDP基础上。它包括对复杂程度低的次频宽编解码技术(SBC)的必备支持和对MPEG-1,2音频、 MPEG-2,4 AAC和自适应声学转换编码技术(ATRAC)的可选支持。音频数据按适当的格式进行压缩后能在有限频宽中正常使用。环绕声的分发不在此配置文件的范围。


基带、LMP、L2CAP和SDP是蓝牙核心规格中定义的蓝牙协议。AVDTP包括一个用于沟通串流参数的信令实体以及一个处理串流的传输实体(请参阅“配置文件协议栈:配置文件模式”)。应用层是设备定义应用服务和传输服务参数的实体。它可以将音频流数据改编成指定的数据包格式,反之亦可。
2、Audio/VideoControl Transport Protocol Specification  音视频控制传输协议。

3、AUDIO/VIDEO REMOTE CONTROL PROFILE音视频远程控制配置文件:
(1)、视频控制,这个比较古老的应用

(2)、音频控制,比如蓝牙耳机的音量加减、快进、快退、暂停。

AVRCP可以提供标准接口以控制TV、hi-fi设备或其它设备,从而允许通过一个遥控器(或其它设备)来控制用户可以接入的所有 A/V 设备。它可以与A2DP或VDP配合使用。
使用情景:
基本上你掌控了全部控制。你可以调整通用的菜单功能,例如调整电视的亮度或色调或者调整录像机的时间,此外,你还可以控制声音大小、播放、暂停、跳过等音频功能。
产品范例:
以下例子说明了可能会使用AVRCP配置文件的若干设备类型:
控制器设备
个人电脑 、PDA 、手机 、遥控器 、AV设备,例如:耳机、播放器/录音机、计时器、调音器、显示器等
目标设备
音频播放器/录音器、视频播放器/摄录机、电视 、调音器、扩音器或耳机
技术知识
AVRCP定义了两个角色,即控制器和目标设备。
•       控制器 – 通常为远程控制设备。
•       目标设备 – 目标设备为特征可以更改的设备。
此协议规定了 AV/C 数字接口命令集(AV/C 命令集,由 1394 行业协会定义)的应用范围,实现了简化实施和易操作性。此协议为控制消息采用了AV/C设备模式和命令格式,这些消息可以通过音频/视频控制传输协议(AVCTP)传输。
在AVRCP中,控制器将检测到的用户操作翻译为 A/V 控制信号,然后再将其传输至远程蓝牙设备。常规红外遥控器的可用功能可以在此协议中实现。此协议中描述的远程控制专为A/V控制而设计。
基带、LMP和L2CAP均为OSI层级1和2蓝牙协议。AVCTP定义了用于控制A/V设备而进行交换的程序和信息。SDP是蓝牙服务发现协议[10]。AV控制是负责A/V设备控制信令的实体;该信令基于AV/C指令。
4、BASIC IMAGING PROFILE 图片传输配置文件(BIP)
这个协议包含在OBEX协议中。


5、BASIC PRINTING PROFILE 打印机配置文件(BPP)

6、Common ISDN Access Profile (CIP)

CTP CORDLESS TELEPHONY PROFILE  无绳电话协议

7、DEVICE IDENTIFICATION PROFILE驱动识别
8、DIAL-UP NETWORKING PROFILE 拨号网络配置文件

With phone ,Dial-up Networking profile


With modem, Dial-up Networking profile

拨号网络(DUN)提供一个通过蓝牙技术接入互联网和其他拨号业务的标准。
使用场景:
最常见的使用场景是把你的手机当作一个无线拨号调制解调器从手提电脑上接入互联网。
产品范例:
以下是你可能发现的使用拨号网络(DUN)的几种设备类型:手提电脑、个人电脑、手机、个人数字助理、调制解调器
技术知识:
拨号网络对两种功能作用进行定义,即网关(GW)功能和数据终端(DT)功能。
•     网关(GW)– 这是提供公共网络接入的设备。
•     数据终端(DT)–这是使用网关的拨号服务的设备。
基带,装入微程序(LMP)以及逻辑链路控制及适配协议(L2CAP)为开放系统接口(OSI)1和2层蓝牙协议。RFCOMM 是全球移动通信GSM TS 07.10 的蓝牙适配版,用于提供串口仿真。SDP指蓝牙服务发现协议。拨号与控制为用于对低层协议提供的异步串行链路之上的自动拨号和控制的命令和程序。
左边的图上所显示的调制解调仿真层为模拟调制解调器的实体,调制解调器的驱动器为数据终端中的驱动器软件。对于左边图中的屏蔽协议/实体,该串口配置文件用作基础标准。对于这些协议,在串口配置文件中所说明的所有要求都适用,除了该配置文件明确说明差别的情况除外。
注意:虽然没有在以上模型中显示出来,该配置文件仍假设该应用层接入到一些低级层的程序(举例,SCO同步链路的建立)
9、FAX PROFILE 传真配置文件
10、FILE TRANSFER PROFILE FTP文件传输配置

Bi-directional File Transfer Example between two PersonalComputeres

文件传输配置文件(FTP)定义了客户端设备如何浏览服务器设备上的文件夹和文件。客户端发现文件或定位后,文件即可使用GOEP从服务器抽出至客户端,或者从客户端推送至服务器。
使用情景:
典型的应用场景是两部个人电脑或手提电脑之间进行无线文件传输,或在服务器上浏览和接收文件。
产品范例:
以下是可能使用FTP的部分设备种类:手提电脑、个人电脑、手机、PDA
技术知识:
FTP定义了两种角色,分别为客户端及服务器。
•     客户端 – 客户端设备启动操作,向服务器推送以及从服务器处抽出目标。
•     服务器 – 服务器设备是目标远程蓝牙设备,提供对象交换服务器并可使用OBEX文件夹列表(Folder Listing)格式浏览文件夹。
基带、LMP和L2CAP均为OSI层级1和2蓝牙协议。RFCOMM是蓝牙对于GSM TS 07.10的采纳。SDP是蓝牙服务发现协议。OBEX是蓝牙对于IrOBEX的采纳。
GOEP中定义了RFCOMM、L2CAP、LMP和Baseband的互操作性要
11、GENERIC AUDIO/VIDEO DISTRIBUTION PROFILE通用A/V分发配置文件 (GAVDP)
GAVDP提供了A2DP和VDP的基础,该系统基础旨在使用蓝牙技术分发视频和音频流。
使用情景:
典型的使用情景是一副无线立体声耳机和一个音乐播放器,例如MP3播放器或者随身听。音乐播放器向耳机传送信息建立连接或调整音频流,反之亦然。
产品范例:
以下例子说明了可能会使用GAVDP的若干设备类型:音乐播放器、立体声耳机、立体声音响、手提电脑、个人电脑、手机、PDA
技术知识:
GAVDP定义了启动设备和接收设备两个角色:
•     启动设备(INT) – 这是启动信号发送过程的设备。
•     接收设备(ACP) – 这是回应INT输入请求的设备。
o     注:设备的角色并不固定。角色会于信号传输过程启动时确定,当过程结束时设备角色也将解除。当启动新一轮过程时,设备的角色可以互换。
      基带、LMP、L2CAP和SDP是蓝牙核心规格中定义的蓝牙协议。AVDTP包括一个用于沟通串流参数的信令实体以及一个处理串流的传输实体。
12、GENERIC OBJECT EXCHANGE PROFILE通用对象交换配置文件 (GOEP)
GOEP用于从一个设备向另一个设备传输对象。
使用情景:
一个简单的情景是手机或PDA与电脑之间使用蓝牙技术传输文件、电子名片(vCard)、日历数据(vCalendar)和图像等信息。

产品范例:
以下例子说明了可能会使用GOEP的若干设备类型:手提电脑、个人电脑、手机、PDA、媒体播放器。
技术知识:
GOEP定义了服务器和客户端两个角色:
•     服务器 – 该设备提供对象交换服务器,该服务器可以推送数据对象,而客户端也可以从中拉取数据对象。
•     客户端 – 该设备可以向服务器推送及/或从服务器拉取数据对象。
      基带、LMP和L2CAP均为OSI层级1和2蓝牙协议。RFCOMM是蓝牙对于GSM TS 07.10的采纳。SDP是蓝牙服务发现协议。OBEX是蓝牙对于IrOBEX的采纳。
13、HARDCOPY CABLE REPLACEMENT PROFILE硬拷贝电缆更换
Laptop sendinga print job to printer

14、Hands-Free Profile  免提配置
Hands-free  unit  installed in the car

HFP描述了免提设备如何使用网关设备拨打和接听电话。
使用情景:
汽车内的汽车套件是常见的使用情景。汽车套件将连接至手机并用于拨打和接听电话。将无线耳机连接至手机后使用耳机拨打和接听电话则更为常见。
产品范例:
以下例子说明了可能会使用HFP的若干设备类型:汽车、汽车套件、GPS系统、耳机 、手机、PDA
技术知识:
HFP定义了音频网关(AG)和免提组件(HF)两个角色:
•       音频网关(AG) – 该设备为音频(特别是手机)的输入/输出网关。
•       免提组件(HF) – 该设备作为音频网关的远程音频输入/输出机制,并可提供若干遥控功能。
基带、LMP和L2CAP均为OSI层级1和2蓝牙协议。RFCOMM是蓝牙串口模拟设备。SDP是蓝牙服务发现协议。

要求与v1.1或较新版本的核心规格兼容。
免提控制是负责免提组件个别控制信令的设备,该信令乃基于AT指令。
尽管上述模型并无显示,该配置文件已假设免提控制能够接入部分更低层级的程序(例如,同步连接建立)。左图所示音频接口模拟层级是模拟音频网关上音频接口的设备,而音频驱动是免提组件的驱动软件。对于左图阴影部分所示的协议/设备,串口配置文件则用作基础标准。对于这些协议而言,所有强制要求均载于所应用的串口配置文件,如果该规格明确列明其他情况则除外。
 15、HID --HUMANINTERFACE DEVICE (HID) PROFILE
比如蓝牙键盘鼠标

遥控:

16、HEADSET PROFILE 耳机配置
HSP描述了蓝牙耳机如何与电脑或例如手机等其他蓝牙设备进行通讯。
使用情景:典型的使用情景当然是使用无线耳机与手机进行连接。
产品范例:以下例子说明了可能会使用HSP的若干设备类型:耳机、手机、PDA、个人电脑、手提电脑
技术知识:
HSP定义了音频网关(AG)和耳机(HS)两个角色:
•       音频网关(AG) – 该设备为音频(特别是手机或电脑)的输入/输出网关。
•       耳机(HS) – 该设备作为音频网关的远程音频输入/输出机制。
基带、LMP和L2CAP均为OSI层级1和2蓝牙协议。RFCOMM是蓝牙对于GSM TS 07.10的采纳。SDP是蓝牙服务发现协议。耳机控制是专门负责耳机控制信令的设备,该信令乃基于AT指令。
注:尽管上述模型并无显示,该配置文件已假设耳机控制能够接入部分更低层级的程序(例如,SCO连接建立)。
左图所示音频接口模拟层级是模拟手机或电脑上音频接口的设备,而音频驱动是耳机的驱动软件。对于左图阴影部分所示的协议/设备,串口配置文件则用作基础标准。对于这些协议而言,所有要求均载于所应用的串口配置文件,如果该配置文

17、INTERCOM PROFILE 对讲机

18、OBJECT PUSH PROFILE对象推送配置文件
Push and pull example between two mobile phones


OPP定义了推送服务器和推送客户端的角色。这些角色与GOEP定义的服务器和客户端设备角色类似,而且必须与这些设备角色兼容。
使用情景:例如,两部手机或一部手机和一部电脑之间交换联络信息或任务。
产品范例:以下是可能使用OPP的部分设备种类:手机、个人电脑、手提电脑。
技术知识:
OPP定义了两种角色,分别为推送服务器及推送客户端:
•     推送服务器– 该设备提供对象交换服务器。
•     推送客户端– 该设备向服务器推送以及从服务器处抽出目标。
      基带、LMP和L2CAP均为OSI层级1和2蓝牙协议。RFCOMM是蓝牙对于GSM TS 07.10的采纳。SDP是蓝牙服务发现协议。OBEX是蓝牙对于IrOBEX的采纳。
19、PersonalArea Networking Profile


20、SERVICE DISCOVERY APPLICATION PROFILE服务发现应用配置文件

SDAP描述了一项应用应如何使用SDP发现远程设备上的服务。

使用情景:
SDAP描述了一项应用应如何使用SDP发现远程设备上的服务,SDAP描述了分别通过询问和询问扫描管理设备发现以及通过SDP管理服务发现的若干方式。SDAP规格中包含的概念增强了GAP、SDP和服务发现基础流程中提供的基本规格。SDAP的用例旨在纳入与所有配置文件和设备相关的大部分服务发现情景。
产品范例:
以下是可能使用SDAP的部分设备种类:个人电脑、手提电脑、手机、PDA、打印机/传真机、耳机
技术知识:
一如GAP所要求,任何蓝牙设备均应能够与任何其他蓝牙设备进行连接。据此,SDAP要求任何应用均应能够发现其连接的任何蓝牙设备中的可用服务。该配置文件负责搜索已知的个别服务以及一般服务。SDAP涉及服务发现用户应用,蓝牙设备对服务进行定位时需要该应用。该应用连接了与其他蓝牙设备发送和接收服务询问的SDP。SDAP依赖GAP,并重复使用GAP的组成部分。
SDAP定义了本地设备(LocDev)和远程设备(RemDev(s))两个角色:
•     本地设备(LocDev) – 该设备启动服务发现程序。
•     远程设备(RemDev(s)) – 通过回应本地设备发出的服务询问从而参与服务发现流程的任何设备。
本地设备(LocDev)界面中的服务发现用户应用(SrvDscApp)与蓝牙SDP客户端连接,发出服务询问并从远程设备(RemDevs)的SDP服务器中接收服务询问回应(BT_SDP_spec:[7])。SDP使用L2CAP中的连接导向(CO)传输服务,该服务则使用基带异步无连接(ACL)链路,从而最终实现无线传输SDP PDUs。服务发现与发现设备紧密相连,而发现设备则与进行询问及呼叫紧密相关。因此,SrvDscApp通过BT_module_Cntrl设备与基带连接,该设备指示蓝牙模组何时进入各种运行搜索模式。
21、SERIAL PORT PROFILE串行端口配置文件 (SPP)
Serial port frofile ,example with two notebooks

SPP定义了如何设置虚拟串口并连接两个蓝牙设备。
使用情景
一种使用情景将是使用两个设备,例如个人电脑或手提电脑作为虚拟串口,并通过蓝牙技术连接两个设备。
产品范例:以下是可能使用SPP的部分设备种类:个人电脑、手提电脑
技术知识:
SPP定义了设备A和设备B两种角色:
•     设备A– 该设备主动与另一设备建立连接(启动器)。
•     设备B– 该设备等待另一设备启动连接(接收器)。
基带、LMP和L2CAP均为OSI层级1和2蓝牙协议。RFCOMM是蓝牙对GSM TS 07.10的采纳,为串口模拟提供了传输协议。SDP是蓝牙服务发现协议。左图所示端口模拟层级是模拟串口或为应用提供API的设备。两边的应用是典型的遗留应用程序,能够并希望通过串行电缆(在这种情况下为虚拟)进行通讯。但遗留应用程序无法了解设置虚拟串行电缆的蓝牙程序,因此两边均需要像蓝牙识别助手应用程序的帮助。(本配置文件并无明确解决这个问题,其针对的主要问题是蓝牙互操作性。)
22、SYNCHRONIZATION PROFILE 同步
Synchronization example with mobile phone and computer

23、VIDEO DISTRIBUTION PROFILE






  • 33
    点赞
  • 145
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
时下智能语音交互市场火热,越来越多的设备都开始支持远场AI语音交互。 例如:智能音箱,智能电视等等。但这类产品的识别率和误唤醒率还需再不断的优化提升,以至于日常生活中人们还是离不开各式各样的遥控器。而蓝牙语音遥控器这一产品,作为远场语音交互的一个近场配件,也搭上了这趟语音交互的快速列车,成长速度令人惊讶。基于Actions炬芯的ATB1103芯片的语音遥控器,打造了一个AIoT时代的高性价比精品。 一、遥控器应用总体架构 遥控器总体架构分四层,从上到下依次为应用层、应用框架层、硬件抽象层、底层驱动层 1.1、应用层 • 应用状态机– 事件触发让遥控器应用处理不同的状态 • 应用定时器– 定时触发不同的事件,驱动遥控器正常运行 • 应用输入处理– 处理底层来的不同按键消息 • 应用音频输入处理– 将底层的音频处理消息,进行编码,然后通过蓝牙发送给对端设备 • BLE profile – HID profile,提供按键输入输出接口服务 – BAS service,提供电池服务 – DIS service,提供读取设备基本信息的接口服务 – ota profile,提供OTA 升级服务 1.2、应用框架层 • 输入管理– 按键映射处理、按键过滤机制 • 消息管理– 消息分配和释放、 消息发送和接收 • 内存管理– 动态内存管理 • 闪灯管理– 灯资源分配和释放 • 电池管理– 电量读取、电量管理策略 1.3、硬件抽象层 将应用层和驱动层剥离开的中间件层 1.4、底层驱动层 底层硬件操作接口 、遥控器模块流程概述 2.1、系统启动 系统相关初始化、板级相关外设初始化、蓝牙协议栈相关初始化、HidApp 应用初始化,并进入Main 主循环,等待消息处理 2.2、遥控器状态机 遥控器在运行过程中,主要靠如下3 种状态维持他的正常运行。 2.2.1. 触发遥控器进去空闲状态的事件: > 广播状态,没有连接成功,出现超时事件,进入idle > 连接状态,断开连接,如无操作主动断开连接,然后进入idle 2.2.2. 触发遥控器进入激活状态的事件: > 空闲状态,有按键、首次上电,进入激活状态 > 连接状态,出现异常断开,需要回连,进入激活状态 2.2.3. 触发遥控器进入工作状态的事件: > 激活状态下,配对成功或者回连成功,进入工作状态。 2.3、按键处理 由于遥控器的键值较多,通常用矩阵键盘方式以节省pin 的使用。当使能Key 模块后,Key 控制器就会处于矩阵扫描状态,当检测到外部按键有值时,就会产生中断,中断就将按键信息上报给应用。 2.4、红外处理 • 在非连接状态下,按下按键,就会发射红外码,进而通过红外操作对端设备,如使用红外进行配对. • IRC 协议上,最短的红外码重发时间为108 ms,而按键的重复上报时间,可能小于108ms,也可能大于108ms,因此按键输入和红外发送模块时间上存在三种可能: 2.4.1. 慢速点按 慢速点按动作特征是在大于Trpc 时间后有多次的按键输入。在Ta 时刻,发出初次按键值,在Tb 时刻,不做任何响应,在Tc 时刻,继续发送检测到的按键值,不会发送重复码. 2.4.2. 快速点按 快速点按的动作特征是用户在Trpc 时间内有两次或者以上的按键按下弹起的动作. 在Ta 时刻,将发送出初次按键,而Tb 时刻并不发送按键值,在Tc 时刻,如果按键仍然是按下状态,将发出按键值,否则将丢掉按键值. 2.4.3. 长按 长按的动作特征是按键按下后,一直不放开。此时CPU 检测到按键的持续按下,则在Ta 时刻发送出初次按键,发送出此时按键对应的红外键码,而在Trpc 时间内没有检测到按键的松开,则在Tb 时间输出重复码,直至检测到按键弹起为止. 2.5、语音采集 • 当启动Voice Key 后,ADC 开始采集 • 采集的数据通过DMA 搬运到应用的循环buffer 中,同时发送消息给Main 线程,让其处理语音数据。 • 如果Main 线程处理速度不够快,audioin 驱动就会因为分不到buffer,而将采集的语音数据丢弃。 2.6、BLE数据传送 • 将audioin 驱动发送上来的数据进行编码压缩。 • 然后将编码后的压缩数据切成几个20byte 的数据包 • 最后通过hid profile notify 接口发送给BLE 协议栈 2.7、应用软件Timer管理模块 2.8、LED管理模块 遥控器定义了几种LED 指示灯,用于指示遥控器的一些状态,如下表所示 通常遥控器只有一个物理的LED 灯用于各种场景的指示,这就需要软件上让其分时复用,如果同时需要显示两种状态,状态需要定义优先级,优先级高的状态先指示。如在配对模式下,处于闪灯状态下,这时候按下按键,那么灯还是处于快闪状态。 2.9、O

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值