您好,欢迎访问三七文档
在蓝牙应用框架中,系统采用数据传输量为723.2kbps的ACL链路来传输语音数据,在蓝牙的高级音频规范中定义了在ACL链路上实现高质量单声道或者多声道立体声传输的交互过程和音频编解码,为此在蓝牙点到点的传输系统中,采用A2DP传输规范进行蓝牙立体声音频的传输。在A2DP中定义了两个角色:信源(Source,SRC)和信宿(Sink,SNK).信源是蓝牙匹克网中将音频流向外发送端的设备,如手机,MP3等:信宿是指蓝牙匹克网中接收音频流的设备,如耳机等。蓝牙A2DP协议模型如下图所示:音源端应用程序AVDTPSDPLMPL2CAPBaseband音宿端应用程序AVDTPSDPLMPL2CAPBasebandA2DP协议模型在该协议中,Baseband、L2CAP、LMP、SDP是蓝牙核心协议,蓝牙音频传输协议AVDTP(Audio/Vdeo,DistributionTransportProtocol)是上层应用协议,定义了蓝牙音频传输交互过程,A2DP的实现是在上层应用程序里实现的。AVDTP定义了音频流的三处协商,连接建立和传输过程,同时还规定了设备之间交换消息的格式。AVDP协议用下层的L2CAP层提供的服务,完成自己的功能后为上层提供相应的服务,其内部可以按照功能分成不同的模块,主要有数据流管理器、数据恢复模块、适配层和信令实体四个部分,AVDPT各部分的功能如下:数据流管理器:提供数据帧的生成、时间戳的管理、媒体包序列编号、数据流的传输、向对等层和上层报告包丢失和抖动计算等功能。数据恢复模块:在L2CAP层恢复丢失的数据分组,提供没有前向纠错编码的恢复分组和有前向纠错编码的恢复分组。适配层:提供使用鲁棒包头压缩方案压缩包头功能和在一个传输信道上实现多个传输会话的复用的功能。信令:主要完成服务发现、数据流参数协商、建立和拆除等相关的信令过程。在AVDTP中采用L2CAP信道进行媒体流传输,L2CAP是基带上层协议,为上层提供协议复用的功能,L2CAP使用L2CAP请求连接(ConnectionRequest)命令中的PSM(ProtocolServiceMulitiplexor)字段来实现协议复用,AVDTP协议的PSM字段为0x0019。此外,AVDTP可以实现不同的传输服务,包括基本服务、恢复服务、报告服务、适应服务和传输及信令信道建立:下面介绍一下流传输的交互过程,设备之间要进行流传输,首先要建立流连接,在AVDTP中定义了流端点SEP(StreamEndPoint)的概念,流端点是一个抽象的概念,它包含了设备的应用能力和可用的资源,应用程序在AVDTP中注册自己的SEPs以使其它设备可以发现它们并建立连接。SEID(StreamEnd.PointIdentifier)表示一个特定流的设备间引用,在应用层进行分配,用于对等AVDTP实体的信号传输。下图表示了一个音频流端点SEP从连接建立到释多个流端点的过程。INTACPStreamEndDiscoveryGetCapalitiesStreamConfigurationStreamStartStreamEstablishmentStreamSuspendStreamreconfigureStreamRelease首先INT端发起一个StreamEndPointDiscovery请求,该过程返回一个流端点或多个流端点的类型和SEID。根据上一个过程发现的SEID,INT(Initiator)端通过发起GetCapabilities请求查询远程SEP的服务能力,服务能力包括媒体传输能力、报告能力、恢复能力、内容保护能力、头压缩能力、复用能力以及媒体编解码能力。然后INT根据本地和远程的SEID通过StreamConfigure过程来配置ACP(Acceptor)端SEP。配置完毕后,INT端发起StreamStart请求建立流连接,该过程完成后流连接建立即町以进行音频流传输。在传输过程中,任何一端发起StreamSuspend请求,流传输则挂起,要想重新进行流传输,需要发起StreamReconfigure过程。当流传输结束时,任何一方发起StreamRelease请求,则流端点关闭,连接释放。
本文标题:蓝牙音频的传送机制
链接地址:https://www.777doc.com/doc-2025181 .html