新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 蓝牙车载音频流播放器的设计与实现

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

作者:时间:2010-06-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。

本文引用地址:http://www.eepw.com.cn/article/197662.htm

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命令。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭