在蓝牙应用框架中,系统采用数据传输量为723.2kbps的ACL链路来传输语
音数据,在蓝牙的高级音频规范中定义了在ACL链路上实现高质量单声道或者多
声道立体声传输的交互过程和音频编解码,为此在蓝牙点到点的传输系统中,采
用A2DP传输规范进行蓝牙立体声音频的传输。在A2DP中定义了两个角色:信源
(Source,SRC)和信宿(Sink,SNK).信源是蓝牙匹克网中将音频流向外发送端
的设备,如手机,MP3等:信宿是指蓝牙匹克网中接收音频流的设备,如耳机等。
蓝牙A2DP协议模型如下图所示:
音源端应用程序
AVDTPSDP
LMPL2CAP
Baband
音宿端应用程序
AVDTPSDP
LMPL2CAP
Baband
A2DP协议模型
在该协议中,Baband、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.Point
Identifier)表示一个特定流的设备间引用,在应用层进行分配,用于对等AVDTP
实体的信号传输。下图表示了一个音频流端点SEP从连接建立到释多个流端点的
过程。
INTACP
StreamEndDiscovery
GetCapalities
StreamConfiguration
StreamStart
StreamEstablishment
StreamSuspend
Streamreconfigure
StreamRelea
首先INT端发起一个StreamEndPointDiscovery请求,该过程返回一个流
端点或多个流端点的类型和SEID。根据上一个过程发现的SEID,INT(Initiator)
端通过发起GetCapabilities请求查询远程SEP的服务能力,服务能力包括媒
体传输能力、报告能力、恢复能力、内容保护能力、头压缩能力、复用能力以及
媒体编解码能力。然后INT根据本地和远程的SEID通过StreamConfigure过程
来配置ACP(Acceptor)端SEP。配置完毕后,INT端发起StreamStart请求建立
流连接,该过程完成后流连接建立即町以进行音频流传输。在传输过程中,任何
一端发起StreamSuspend请求,流传输则挂起,要想重新进行流传输,需要发
起StreamReconfigure过程。当流传输结束时,任何一方发起StreamRelea
请求,则流端点关闭,连接释放。
本文发布于:2022-11-22 16:56:26,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/393.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |