蓝牙的语音传输

时间:2008-12-16

  蓝牙的重要应用是传输语音信息。蓝牙支持64Kbit/s的实时语音传输和各种速率的数据传输,语音编码采用对数脉冲编码调制(PCM),或连续可变斜率增量调制(CVSD)。语音和数据可单独或同时传输。蓝牙支持的语音链路是双向的。蓝牙标准指明语音应通过SCO链路载运。数据通过ALC链路载运。

 图1  主从设备本地时钟与主设备时钟的关系 sao链路同步信道的建立和维护离不开蓝牙时钟的作用。每个Bluetooth设备都有一个内部系统时钟,用来决定跳频频率和发送、接收数据包的时间,这个时钟起源于一个自由的一直运行的本地时钟。为了与其他设备同步,只在本地时钟上加偏移,提供临时时钟,使它们相互同步。应该注意,Bluetooth时钟与自然界的天和时间没有关系,它可以从任意值开始。它的分辨率至少为发送/接收时隙长度的一半,即31.25μs。如果时钟以计数器方式执行,要求一个28比特计数器,以228为周期循环。单元瞬间312.5μs,时钟率为3.2kHz。在微微网的信道中,秽‘频频率由主设各时钟决定。每个从设各加一个偏差到它的本地时钟,以与主时钟同步。因为这个主时钟是自由运行的,所以偏差是有规律地不断改变。在不同工作状态,设备所使用的时钟有本地时钟(CLKN,Native Clock)、估计时钟(CLKE,Estimated clock)、主设 备时钟(CLK,MasterClock)等。

  CLKN是自由运转的本地时钟,是其他所有时钟的参考。CLK是微微网中主设各的时钟,所有Bluetooth从设 备使用CLK来确定它们的发送和接收时间,它是在自己的CLKN上加上偏移量来得到的,如图1所示。对于主 设备,偏移量是0,因为CLK与自己的本地时钟CLKN是相同的。每个从设备在自己的CLKN基础上加上合适的 偏差使得自己的CLK与主设备的CLK相同。主设备的CLKL近似等于从设备的本地时钟CLKN,CLKE是对从设备 本地时钟的估计。

  在建立微微网之后,主从设备己经同步,从设备使用的时钟是CLK=CLKN+Offset。就是说这时候可以认 为主从设备使用同样的一个时钟。主从可以通过预先设定对话的周期和偏差达到同步通信的目的,也即在 预留位置开始收发。

  建立sao是为了主从设备仅在特定的位置周期发送和接收,这些位置之间的间隔一般为Tsco。为了建立 SOC链路,主或从设备使用一个LM命令。命令信息中应包括SC0通信的周期间隔Tsco和偏差间隔Dsco。主从 设备分别根据CLK(mod)Tsco=Dsco的方式来初始化发送时刻,即判断当前时钟是否符合此等式。如果符 合,此时的时钟即为初始化时刻CLK(0),后续的预留时间就可利用CLK(K+1)=CLK(0+Tsco得到。但 是由于所用时钟的周期性(不连续)和主从进行初始化的时间不同,就可能产生时钟卷绕的问题。

  为简化说明,假设时钟周期T=lO,预留周期Tsco=4,Dsco=0。主设各和从设备的时钟是同步的,也就 是从设备的时钟是加上了偏差,主、从都是CLK。若直接利用CLK(mod)Tsco=Dsco获得CLK(0),CLK(K +1)=CLK(K)+T。假设主设各在时钟周期第3时刻为初始化时刻,即CLK(0)=3,CLK(1)=7, 则在第二时钟周期,对应为工作时间CLK(2)=1,CLK(3)=5。如果从设备在周期内收到初始化命 令,根据CLK(mod)Tsco=Dsco进行运算,获得的CLK(0)为周期的7,则在第二时钟周期,对应为工 作时间CLK(2)=1,CLK(3)=5。显然没有问题。具体如表1所示。但是如果主设备初始化时刻不变,从 设备在第二时钟周期接到初始化命令,开始初始化,则获得的CLK(0)为第二周期的3或7,主、从不能同 步工作,具体过程如表2所示。这就是时钟卷绕问题。造成时钟卷绕的原因是时钟周期T与Tsco取模运算不 为零并且主从设备没在工个周期内进行初始化。

  表1  未发生时钟卷绕

  表2  发生时钟卷绕

  为解决时钟卷绕问题,需要对初始化方式作一些修改。在蓝牙协议中给出了很多解决的方案。首先主设 备根据CLK27的值来决定初始化方式,即当CLK27为0时,说明时钟运行在周期的前半周。足以保证主从时钟 在同一个周期内进行初始化。主从都可用CLK27-l modT=D。当CLK27为1,主时钟在后半周期,可能出现时 钟卷绕问题,主设备利用(CLK27反,CLK26-1)mod T=D进行初始化,若从设备初始化时CLK27不产生跳 变,利用此公式进行初始化是没有问题的,若从设备初始化时CLK27产生,9t变,即由1变为0,则利用公式 2进行初始化相当于CLK27为0时,从设备初始化时向位的进位。仍可看成主从在同一周期内进行初始化 ,避开了时钟卷绕问题。由于这两种初始化方式的存在,主设备在定下其初始化方式后,要通过LM命令把 此信aJ告诉从设备。通过以上过程,SOC链路就建立起来了。

  蓝牙1.1版协议仅规定语音作为HOI包中的数据通过Hal的应用模型和传输机制。如图2所示为语音通过 HCI传输与协议栈和实体的关系示意图。该语音路径适用于语音经过微控制器接口直接由HOI接收的情况, 例如源于PC机的语音。通过HCI载运语音数据有一些不足,Hal的流控受到由于微控制器执行HOI和LM任务而 引起的可变延时的影响。从而影响在同时传输语音和数据的系统中语音数据的及时传送。在实际实现中常 采用直接的PCM连接基带语音编解码器(CODEC)。

  图3是语音通过CODEC传输与协议栈和实体的关系示意图。该语音路径适用于应用数字语音直接可用的情况,例如蜂窝电话、耳机、麦克风等。

                     
     图2 语音通过H0i传输与协议栈和实体的关系                                   图3 语音通过CODEC传输与协议栈和实体的关系

  利用SCO链路只能传输一般质量的实时语音。如果需要传输更高质量的语音,就必须考虑使用ALC链路。蓝 牙SIG音频/视频工作组在2002年公布了基于实时传输协议(RTP,Real-Time Transportation Protocol) 的音频/视频播放传输协议(AVDTP,AudioNideo DistributionTransport Protocol)及其相关的应用模型。可以传输高质量的音频/视频信号。

  语音信源的采样和编码速率(数据率)是衡量语音质量的一个简单方法。如表3所示为蓝牙语音和其他一 些语音的常用数据率。从表中可见,蓝牙SCO链路提供的语音质量与有线电话的语音质量相同。蓝牙语音连 接不能传输原始CD质量的声音,但是通过合适的压缩,例如MP3,可以使用AOL信道传送高质量语音。这是 因为蓝牙AOL链路的不对称数据率是723.2Kbit/s,很合适传输MP3编码的语音。

  表3  几种常用语啬的数据率

  欢迎转载,信息来源维库电子市场网(www.dzsc.com


  
上一篇:线性相位FIR滤波器
下一篇:无线局域网标准

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料