基于csr的蓝牙音频网关设计_第1页
基于csr的蓝牙音频网关设计_第2页
基于csr的蓝牙音频网关设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于csr的蓝牙音频网关设计

蓝牙是一种短距离无线通信的标准化技术,用于描述和确定各种信息系统产品如何在短距离内连接到对方的无线系统。蓝牙技术的主要用途是取代电缆。由于蓝牙具有比802.11b、HomeRF、红外等无线技术高得多的性能价格比,蓝牙技术应用具有非常广阔的前景。目前已有不少公司生产出高集成度的蓝牙芯片组,例如朗讯的W7020+W7400芯片组、飞利浦的LMX3162芯片、Atmel的T2901和AT76C551芯片等。利用这些芯片可进一步方便地进行蓝牙产品的开发;同时,也有许多公司还开发出了高层协议栈及相应的API。开发者基于这些高级协议栈,可不必对蓝牙技术作深入的研究就可以方便地开发基于蓝牙的应用。本文讨论一个基于CSR的BlueCore01b芯片和CCL的BlueStack协议栈的嵌入式音频网关的实现实例。1蓝牙音频网关由于蓝牙的低功耗和小体积的特点,在实现移动电话具备短距离无线通信的能力时,蓝牙是首选的,而且是唯一的。目前已有一些移动电话公司推出了蓝牙手机产品,如爱立信的T39和T68等、诺基亚的6310、摩托罗拉的T270c、索尼的C413S和阿尔卡特的OT702等;但大部分手机仍不具有蓝牙功能。通过在普通手机的音频接口上加装一个蓝牙音频网关,就可实现普通手机的蓝牙功能,与蓝牙无线耳麦进行短距离无线通信。所实现的音频网关符合蓝牙技术规范PARTK:6中的耳麦应用规范。音频网关(AG)既用作输入也用作输出。AG可与耳麦建立一个RFCOMM连接,向耳麦发送AT命令。AG和耳麦之间也可建立SCO连接,进行音频传输。2蓝牙系统模块音频网关的电路设计利用CSR提供的BlueCore01b蓝牙芯片。BlueCore01b是在单芯片上集成了射频单元和基带控制器。芯片的方框图如图1所示。该芯片由射频接收器、射频发射器、射频合成器、物理层DSP硬件引擎、猝发状态控制器、微处理器、内存管理单元等部分组成。BlueCore0b是一个完整的单片系统,只要与内含蓝牙软件栈配合,即可向数据和语音设备提供全兼容的蓝牙接口。因此,实现音频网关的硬件电路相当简单。它主要包括以下几部分:蓝牙芯片、外部闪存、音频编/解码器(CODEC)、键盘/显示。嵌入式音频网关电路方框图如图2所示。3音频网关应用程序实现有了相应的硬件平台以后,功能的完成主要通过软件实现。音频网关应用程序的实现是基于BlueStack协议栈来完成的。下面详细讨论音频网关的实现。3.1ag/sak传输协议层如图3所示,音频网关软件分为三层结构。(1)BlueStack协议栈BlueStack是剑桥咨询有限公司(CCL)的蓝牙协议软件栈,是用C语言实现的Bluetooth高层协议栈软件。它遵循由蓝牙特殊兴趣小组(SIG)提出的分层模型,支持在L2CAP上使用RFCOMM或TCS二进制作为传输协议层规范。基于BlueStack协议栈,可实现Bluetooth的所有功能。音频网关就是基于BlueStack实现的。(2)AG客户机程序这是AG软件的最高层,主要进行设备的查询、配对、连接等的请求;PIO事件的处理;识别码输入、音量控制、发送AT命令及状态显示;启动调度程序等。这一层的程序由用户根据不同的应用来编制。(3)连接管理器程序这是AG软件的中间层,也由用户编制。引入连接管理器,主要是为了减少高层应用程序的指令数量,为高层应用程序和低层协议栈之间提供一个通用接口。连接管理器级主要是处理高层的请求信息,传送至BlueStack,并接收BlueStack的处理结果,进行相应处理后,通知高层应用程序级。3.2ag项目软件设计模拟(1)消息整个协议栈的Bluestack实现是消息驱动的,因此层与层之间使用消息传递方法。从图3的结构可看出,只有相邻层有接口关系。在嵌入式音频网关应用程序中,涉及到两大类消息:CM消息和BlueStack消息。前者在客户机和连接管理器之间进行传递,如图4所示为消息传递示意图;后者为连接管理器和BlueStack协议栈之间传递的消息。消息使用服务原语模型。一般地,在服务原语后加上扩展名_REQ、_IND、_RES(or_RSP)和_CFM,分别表明原语是一个服务请求、指示、响应还是证实。CM消息格式为CM_原语_扩展名,如SCO连接请求消息为CM_SCO_CONNECT_REQ。BlueStack原语类型有四种:DM_PRIM、RFC_PRIM、SDP_PRIM及L2CAP_PRIM。在AG应用中,用到前三种。BlueStack消息格式为DM(RFC、SDC或SDS)_原语_扩展名,如SCO连接请求消息为DM_SCO_CONNECT_REQ。(2)消息传递各应用层之间的消息传递通过消息队列来完成。消息的处理是通过某项任务进行的。每一个任务都有一个消息队列,消息被提交给所属某一任务的消息队列。实现任务和消息队列之间的捆绑是静态的。消息队列n,归属于任务n。在此AG应用中,我们定义了两个任务:一是AG任务,任务号为1,队列号也为1;另一是CM任务,任务号为0,队列号也为0。因此,AG客户机将所要传递给CM的消息提交到队列0中,而CM传递给AG客户机的消息送入队列1中。在软件中,一个服务原语是一个结构。结构名一般采用原语_T。结构成员包括这些原语的类型及相关的载荷数据,如CM的查询请求服务结构定义如下:(3)消息处理对某一消息队列中的消息,由相应的任务来完成,调度程序运行消息队列不为空的任务。在应用程序中,任务用宏定义“DECLARE_TASK”来声明,用参数来标识某个任务。参数必须为整数,表示其任务号。分别在AG客户机程序和CM中声明任务1和任务0。程序结构如下。3.3事件类型及事件整个应用程序的实现是事件驱动的。在AG应用中,事件包括BlueStack事件、PIO事件、RFCOMM源端及目的端事件。所有事件的处理以及前面介绍的消息队列中的消息处理均由调度程序来执行。调度程序由高层应用程序启动,而各事件及消息处理分布在各软件层中。图5给出调度程序的流程。4ag与耳麦连接本文提出的音频网关,通过普通手机的音频口进行连接。经测试,可与市售的蓝牙耳麦及自行研制的蓝牙耳麦进行配对、通话。操作过程如下。(1)当AG启动时,若AG原先已经配对,则直接进入连接模式。(2)若原先未配对,有两种情况:如果AG内已经存储有识别码(PINcode),则开始查询耳麦与之配对;如果无PIN码,则进入PIN输入模式,输入PIN码。此PIN码要与所要配对的耳麦的PIN码一致。当配对成功后,AG即进入可连接模式(作为子设备连接)。在此种模式下,AG处于寻呼扫描状态,耳麦可与之连接。AG也可作为主设备连接耳麦。此时,AG与耳麦建立一个RFCOMM连接,AG可发送AT命令给耳麦。AG和HS之间也可建立SCO连接,进行音频传

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论