- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于S3C4480X控制的蓝牙音频网关设计与实现
2.2 蓝牙音频网关硬件结构
蓝牙音频网关的硬件包括蓝牙芯片和音频编/解码器(CODEC)。嵌入式蓝牙音频网关电路主要用于提供音频输入/输出接口,并建立音频连接。图4为蓝牙音频网关的硬件电路。蓝牙模块电压为+3.3 V。利用蓝牙模块的UART与单片机S3C44BOX的UART进行相互连接。可构成通信通道。而S3C44BOX也可与PC机通过UART接口进行通信并互操作。CODEC负责音频的输入输出。
3 蓝牙音频网关的软件设计
蓝牙音频网关的实现主要基于Bluestack协议栈来完成,音频网关软件分为三层机构,即BlueStack协议栈、AG客户机程序和连接管理器。
BlueStack是剑桥咨询有限公司的蓝牙协议软件栈,可用C语言实现。它遵循蓝牙特殊兴趣小组提出的分层模型,可支持逻辑链路控制并适配协议上使用串口仿真协议或二进制电话控制协议,并将其作为传输协议的规范层。基于BlueStack协议栈可实现Bluetooth的所有功能。
整个BlueStack的协议栈实现采用消息驱动,层与层之间使用消息队列传递。在嵌入式蓝牙音频网关应用程序中,一般会涉及两大类消息:CM消息和BlueStack消息。CM消息可在客户机和连接管理器之间进行传递,而BlueStack消息则在BlueStack协议栈之间传递。BlueStack原语类型有DM PRIM、RFC_PRIM、SDP_PRIM 及L2CAP_PRIM四种,在AG应用中,一般会用到前三种。BlueStack消息格式为DM (RFC、SDC或SDS)_原语_扩展名。
AG应用中通常会定义两个任务,一个是CM任务,任务号与队列号为O;另一个是AG任务,任务号与队列号为1。AG客户机将所要传递给CM的消息提交给队列l,CM则将要传递给AG的消息提交给队列0。
应用程序应为ARM与蓝牙之间提供通信接口,主要是在主机间建立两个L2CAP信道(控制信道与数据信道)。初始化时,蓝牙模块应被唤醒,并进行写数据操作(队列形式),然后通过请求建立连接。当AG客户机发出请求信号时,如果CM有回应,说明可以建立连接。数据收发过程中,数据要进行封装/解封、分类等操作。图5所示为蓝牙数据收发过程的软件流程图。
4 结束语
S3C44BOX内核的功能强大,并可实现操作系统的内嵌,因而可通过单片机系统构建嵌入式操作系统平台。本文在ARM平台的基础上,设计了一种基于S3C44BOX的蓝牙音频网关。经测试,该网关可实现蓝牙耳机的接入,并成功实现配对与语音数据传输。蓝牙耳机与音频网关在进行相互操作前,需要建立配对连接,也就是说,这种连接是要通过蓝牙鉴权和绑定来实现的。而这种关系一旦建立,之后就不用再执行此操作了。
作者:刘 蓓,嵇启春 来源:国外电子元器件
上一篇:UMTS通信技术特性及技术分析
下一篇:直放站在移动通信网络盲区覆盖中的应用