笔者设计实现了一款蓝牙车载音频流播放器,该播放器和收音机及液晶屏之间通过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,只需要很少的外围元件便能完成电路设计。