蓝牙车载音频流播放器的设计与实现

发布者:WiseThinker最新更新时间:2011-05-30 关键字:蓝牙  车载音频流播放器 手机看文章 扫描二维码
随时随地手机看文章
    现在的车载信息娱乐系统中标准配置有带CD播放功能的收音机、液晶屏,其他可选配置有GPS和蓝牙免提装置等设备。随着蓝牙技术在音视频传输中的应用,一种可以增强用户娱乐体验的蓝牙音频流播放功能正逐步在车载信息娱乐系统中得到应用。蓝牙音频流播放功能是指将蓝牙MP3或蓝牙手机上的音乐通过蓝牙以流媒体的方式传输到远端设备上进行解码后通过远端设备的功放系统播放,同时远端设备还带有远程控制功能,使得用户可以在远端设备上操作音乐,使其暂停、播放、快进快退或进行上下首切换。笔者设计实现了一款蓝牙车载音频流播放器,该播放器和收音机及液晶屏之间通过CAN总线进行连接,控制操作在收音机上实现,液晶屏显示音乐的tagID3、播放时间、音轨、总音轨等信息,控制命令和播放信息都是通过CAN总线进行传输。从用户的使用角度来说,该蓝牙音频流播放器是和收音机、液晶屏组成一套系统的。
1 系统结构
    系统结构如图1所示。音频流播放器、液晶屏和收音机组成一个车载娱乐系统的CAN网络,控制命令及状态信息均通过CAN总线传输,其中收音机带有功放,直接驱动汽车喇叭,并统一管理包括FM、CD和音频流播放器的音频输出在内的音源。音频流播放器和蓝牙手机通过蓝牙进行交互,采用A2DP(Advanced Audio Distribution Profile)完成音乐音频流数据及相关格式信息的传输,通过AVRCP(Audio/Video Remote Control Profile)完成对音乐的远程播放控制及播放信息及状态的读取。在A2DP中引入了2个终端名:SRC(Source)和SNK(Sink)。在这里,数字音频流的数据发送端蓝牙手机称为SRC,数字音频流的接收端蓝牙音频流播放器称为SNK。

2 硬件设计
    蓝牙音频流播放器的硬件设计中,包括CAN通讯、蓝牙子系统和音频系统3个部分,其中蓝牙子系统和音频系统部分采用CSR的蓝牙单芯片Bluecore5-MutiMedia(以下简称BC5)实现。该芯片集成了MCU实现蓝牙协议栈及应用,集成了性能高达64MIPS的DSP实现音乐文件的编解码,集成了CODEC、音频ADC及DAC,实现了音频输入输出功能,图2描述了基于该芯片的硬件设计。
    由图2可见,BC5内部集成了蓝牙射频及基带控制、MCU、DSP和音频CODEC,只需要很少的外围元件便能完成电路设计。

3 播放控制状态机的设计
    蓝牙音频流的远程播放控制使得用户可以使用车载收音机上控制CD音乐的按键来控制蓝牙手机上的音乐,控制操作包括播放、暂停、上一首、下一首、快进和快退,通过AVRCP(音视频远程控制剖面)命令实现。考虑到用户操作随机性很强及蓝牙手机的音频流支持特性不同的问题,需要设计一个完善的远程播放控制状态机来保证良好的操作体验。
    远程播放控制状态机是个组合式状态机,包括2个小的状态机:(1)状态为蓝牙手机音乐状态,输入为人机接口操作,在人机接口操作的处理中判断当前音乐状态,决定输出的AVRCP命令;(2)状态为人机接口操作或者说“期望状态”,输入为蓝牙手机音乐当前状态的更新,在音乐状态更新的处理中根据期望状态决定输出的AVRCP命令。把人机接口操作称为“期望状态”,把当前音乐状态称为“实际状态”,这两个状态机的原理便是当期望状态和实际状态不一致时,发送可以达到期望状态的AVRCP命令。下面详细介绍下状态机的设计要点。
    首先每个人机操作的控制命令在AVRCP上都对应2个命令,对于播放、暂停、上一首、下一首操作,命令是连续执行的,比如暂停操作便是在AVRCP上连续执行PAUSE_PRESS和PAUSE_RELEASE命令;而对于快进命令,则是先执行FF_PRESS命令,在快进按键松开时再执行FF_RELEASE命令。[page]


    音乐状态(包括期望状态和实际状态)包括2个稳定状态(播放状态PLAY、暂停状态PAUSE)和2个中间状态(快进状态FF和快退状态FB)。对于PLAY和PAUSE状态,由于蓝牙手机的播放键和暂停键是一个乒乓按键,即暂停状态下按下会启动播放,播放状态下按下会引起暂停,所以如果实际状态和期望状态一致时便不发送AVRCP命令,而且对于用户在手机上进行操作引起的实际状态和期望状态的不一致,也不发送任何AVRCP命令,否则会造成本该暂停却播放或本该播放却暂停的错误。对于快进快退,首先在快进快退中不要判断当前音乐是暂停还是播放,其次因为部分手机在快进快退结束后会先把音乐暂停一下再播放,所以不要在快进快退刚结束时便调用播放控制状态机,需要延迟一段时间处理。
4 音频流状态处理及信息解析
    流媒体信息包括编解码格式及采样率设置、音乐播放状态、当前播放时间、TagID3信息等。首先蓝牙传输的数据为编码后的音乐文件,SRC端实现编码,SINK端实现解码,所以首先要按照编码格式选择相应的解码器,其次还需要在本地音频输出端设置同样的采样频率。
    播放状态对应于播放模式,包括播放、暂停、快进、快退4种状态,其中播放和暂停是对播放控制状态机非常关键的状态。对无法把播放和暂停状态发送上来的蓝牙手机,需要设计一种方法来判断当前音乐处于哪种状态。音乐在播放状态时,流媒体音乐数据通过蓝牙从SRC端传输到SNK端,SNK端将该蓝牙数据传输到BC5的DSP中进行解码,所以可以通过判断DSP的解码器缓存中是否有数据来判断当前音乐状态,如果没有数据则音乐处于暂停状态。
    当前播放时间、TagID3信息需要AVRCP V1.3的支持,AVRCP V1.3定义了一种独特格式的TagID3信息,下面以迈克杰克逊的Billie Jean这首音乐为实例分析AVRCP中的TagID3格式,其Tag ID3数据为十六进制形式的“0 0 0 1 0 6a 0 b 42 69 6c 6c 69 65 20 4a 65 61 6e 0 0 0 2 0 6a 0 f 4d 69 63 68 61 65 6c 20 4a 61 63 6b 73 6f 6e 0 0 0 3 0 6a 0 0 0 0 0 4 0 6a 0 1 32”。TagID3包括标题名、演唱者、专辑名称、音轨(第几首)、总音轨(音乐总数)5个属性,每条属性采用“4个字节的属性ID+2个字节的字符集信息+2个字节的属性长度+属性数据”的格式,其中属性ID“0 0 0 1”表示标题名,“0 0 0 2”表示演唱者,“0 0 0 3”表示专辑名称,“0 0 0 4”表示音轨,“0 0 0 5”表示总音轨,常用字符集为avrcp_char_set_ascii=0 3,avrcp_char_set_utf_8=0 6a。按照上述格式,该音乐标题名为长度为11(0 b)的“42 69 6c 6c 69 65 20 4a 65 61 6e”,即Billie Jean,演唱者为长度为15(0 f)的“4d 69 63 68 61 65 6c 20 4a 61 63 6b 73 6f 6e”,即Michael Jachson,没有专辑名称和总音轨(长度为0),音轨为0x32,即第2首歌。
    根据该格式设计属性提取器如下:
    While(m    {
        for (k=0;k<4;k++)
        {   av_streaming[n].attri[k]=TagID3[m];
            m++;
        }                   
       if((av_streaming[n].attri[0]!=0)‖(av_streaming[n].attri[1]!=0)‖(av_streaming[n].attri[2]!=0)‖(av_streaming[n].attri[3]>5))
       {     errorflag=1;
       }
    if(errorflag==0)
    {                                                       for(k=0;k<2;k++)
       {     av_streaming[n].charset[k]=TagID3[m];    
             m++;    
       }
       for (k=0;k<2;k++)       
       {     av_streaming[n].datalength[k]=TagID3[m];       
             m++;
       }            
       av_streaming[n].datalen=av_streaming[n].datalength[1]|(av_streaming[n].datalength[0]<<8);
       for (k=0;k       {     av_streaming[n].tagid3data[k]=TagID3[m];
             m++;
       }
             av_streaming[n].tagid3data[av_streaming[n].datalen]=‘’;
             n++;
       }
       else
       {     errorflag=0;
       }
    }
    经上述代码的解析,属性ID在av_streaming[n].attri中,属性数据在长度为av_streaming[n].datalen的数据av_streaming[n].tagid3data中。
    本文设计了一款蓝牙车载音频流播放器。该播放器运行稳定可靠,兼容性好,大大方便了用户的使用,有很好的实用价值。
参考文献
[1] 苏民生.蓝牙A2DP技术与音频应用测试[J].电子设计应用,2008(11):92-94.
[2] 胡沛茹,芮亚楠.一种蓝牙音频流传输方案的设计与实现[J].现代电子技术,2006(3):31-33.
[3] BluetoothSIG. AUDIO/VIDEO REMOTE CONTROL PROFILE Revision 1.3. 2007-04-16.

 

关键字:蓝牙  车载音频流播放器 引用地址:蓝牙车载音频流播放器的设计与实现

上一篇:基于ARM7的蓝牙接入点的设计与应用
下一篇:蓝牙单芯片在车载信息娱乐设备中的应用及开发

推荐阅读最新更新时间:2024-05-07 16:27

MindTree于MEDICA上展示蓝牙4.0解决方案
印度班加罗尔和新泽西州沃伦,2012年2月9日:MindTree Limited,全球IT解决方案和产品工程服务公司,在德国杜塞尔多夫举行的2011年国际医院及医疗设备展览会(MEDICA)的可穿戴技术展馆里展示了蓝牙低耗能技术综合IP套件——BlueLitE。S2C公司是MindTree在中国的正式代理商, 想了解MindTree的IP方案详情和购买产品,请联系 sales@s2cinc.com 。 BlueLitE IP套件由堆栈和简表、链路层和数字物理层(调制解调器)组成,设计用于满足不断增长的将专用低耗能无线空间中的半导体播放器转移至蓝牙低耗能技术的需要。 由于蓝牙技术的优势,低耗能无线空间中的大多数应用将转移到蓝牙技
[网络通信]
蓝牙位置服务增速领跑,高精度距离测量将打开更广泛市场空间
随着高精度室内定位服务的需求日益增长, 蓝牙技术 目前已被广泛用作设备定位技术。蓝牙可以提供其他任何无线电定位技术都无可比拟的灵活性,使用户能够轻松调整位置服务解决方案的应用规模,以满足不断变化的用例需求。随着蓝牙位置服务的优势逐渐渗透到生产和生活的方方面面,该领域的市场规模也在快速增长。根据蓝牙技术联盟 (Bluetooth Special Interest Group, SIG) 近期发布的年度报告《2022蓝牙市场最新资讯》显示,未来五年蓝牙位置服务设备出货量将持续攀升,到2026年,年出货量将达5.68亿。 位置服务是增长最快的解决方案领域 分析师预测,2021-2026年,蓝牙设备的年出货量将增长1.5倍。在四大
[网络通信]
传感器/蓝牙低功耗添力 穿戴装置开创智能联网新应用
    在晶片业者的努力下,微机电系统(MEMS)感测器与蓝牙低功耗方案,无论尺寸或耗电量皆已能符合穿戴式装置应用要求,并可提供常时运作的情境感知和高相容性的无线连结能力,有助穿戴式装置实现更多创新的智慧联网应用。 穿戴式电子装置因小巧、轻便,用户可随身穿戴而得名。从产品类别来看,穿戴式装置包括智慧手表、电脑手机的配件、健身追踪器、人身安全装置或专门的医疗装置。以功能而言,穿戴式装置可以是独立的电子产品,也可以是平板电脑或智慧型手机的周边设备配件,具有一定运算能力,能够充当主设备的输入输出设备。   穿戴式装置具六大特点  从历史角度看,虽然手表和穿戴式计算机曾一度相当热门,但是直到低功耗蓝牙(Bluetooth)通讯、低功
[手机便携]
蓝牙这两大利器,可让无线通讯变得更可靠
干扰是任何无线技术实现可靠数据通信的最大挑战之一。与有线数据通信技术不同的是,无线技术必须共享传输介质,多个设备可能会尝试在同一无线频谱、同一通用区域和在完全相同的时间内进行通信。当发生这种情况时,数据包之间会发生空中冲突(in-air collisions),这可能会使接收设备无法读取数据包,造成丢包。 这一挑战在全球ISM频段等非许可频段尤为严重。在此类频段中,一种通信技术需要适应来自使用相同通信技术的其他设备以及在同一频段内使用其他通信技术的设备所产生的潜在干扰。 例如蓝牙技术和Wi-Fi与使用IEEE 802.15.4标准的技术都在2.4 GHz ISM频段运行。因此,如果两个蓝牙设备之间传输的数据包,与另一
[网络通信]
<font color='red'>蓝牙</font>这两大利器,可让无线通讯变得更可靠
低功耗蓝牙无线传感器
如今,科技发展迅猛,各种设备让世界变得更加智能。新技术的不断出现,不仅改进了现有技术,还创造了新的细分市场。蓝牙技术的进步使得智能蓝牙(低功耗蓝牙BLE)应运而生。按照蓝牙技术联盟(SIG)的定义,BLE是一种低功率、短距离、低数据速率的无线通信协议。BLE的分层协议栈能以低功耗高效传输少量数据,使其成为电池供电应用的首选无线协议,如需要定期提取和处理数据的低功耗传感器网络接口等。本文将重点介绍如何在数据变化不频繁的传感器应用中,有效地利用BLE维持低功耗无线运行。 目前,全球正进入一个各种系统都需要采集和交换数据的物联网(IoT)时代。在传感器以无线方式连接,形成网络并实现设备间数据交换的物联网中,BLE发挥着至关重要的角色。主
[网络通信]
Nut寻物防丢器使用 Nordic SoC 通过 Apple Find My 应用程序进行低功耗蓝牙定位
Nut寻物防丢器使用 Nordic SoC 通过 Apple Find My 应用程序进行低功耗蓝牙定位 Nutale Air Tag-F11X防丢器使用 nRF52832 SoC 帮助用户定位贵重物品,成为 Apple Find My 网络的一部分 挪威奥斯陆 – 2022年6月28日 –– 中国科技品牌 Nut 成功开发轻巧的全新寻物防丢器“Nutale Air Tag-F11X”以帮助用户寻找丢失的贵重物品。 这款产品专门与全球数亿台 Apple 设备组成的Apple Find My™网络配合使用 。用户将支持 Find My功能的Nutale Air Tag-F11X 贴附到钥匙、背包、钱包或钱夹等个人物品上
[网络通信]
Nut寻物防丢器使用 Nordic SoC 通过 Apple Find My 应用程序进行低功耗<font color='red'>蓝牙</font>定位
应用蓝牙技术组建无线局域网
作者Email: zhh@httc.com.cn 随着计算机、网络通信技术的发展,采用蓝牙技术组建无线局域网,不仅在办公条件不完善时能发挥作用,而且在临时增删办公点和移动性办公业务方面也有着独特的优势。文中对蓝牙技术做了介绍,并就组网体系结构做了说明,对蓝牙技术的发展趋势做了展望。 关键词 蓝牙技术 办公网络 蓝牙协议 一、 前言 在现代企业的办公局域网络中.个人电脑要登录单位内部的局域网以及Internet ,访问网上资源,个人电脑之间要进行文件、资料和设备的共享。这样一来PC 机与各种外设之间,PC 机与各种共享设备之间.以及PC 机与局域网插口之间,就存在许许多多的连线,给移动办公及调度管理带来了极大的
[应用]
GCT半导体获取CEVA 低能耗蓝牙IP授权许可用于LTE IoT 单芯片
   CEVA ,全球领先的智能和互联设备的信号处理IP授权许可厂商宣布,先进4G移动半导体解决方案的领先设计商和供应商GCT半导体公司已经获得 CEVA 的RivieraWaves 低能耗蓝牙 (BLE) IP授权许可,用于其面向物联网(IoT)的新解决方案 GDM7243i  LTE 单芯片中。 GDM7243i 将低能耗蓝牙BLE与GCT的先进LTE-M和NB-IoT蜂窝技术结合在一个高度集成的单芯片解决方案中,面向广泛的下一代物联网设备,包括跟踪、可穿戴设备、安保、农业、医疗保健、工业和消费应用。下面就随网络通信小编一起来了解一下相关内容吧。       GCT首席执行官John Schlaefer表示:“快速发展的Io
[网络通信]
小广播
最新网络通信文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved