AU7842是MVSILICON公司设计的一款集成了微控制器、MP3/WMA解码器、USB主机控制器、SD/MMC卡控制器、16 bit音频解码器和一个红外线解码器的MP3/WMV音频解码芯片。在同一芯片上集成了MP3播放器所需要的全部关键解码组件,只需少量的外围元件,降低了布线要求,节省了成本。本文介绍用STC12C561624 AD通过I2C总线控制AU7842芯片,运用软件对寄存器的读写操作,实现多种音效的MP3播放。
1 I2C总线技术及AU7842芯片原理
1.1 I2C协议
I2C总线作为同步串行数据输出总线,由一条串行数据线(SDA)和一条串行时钟线(SCL)组成。它是一个真正的多主机总线,如果2个或更多主机同时初始化数据传输可以通过冲突检测和仲裁,防止数据被破坏。每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址;主机可以作为主机发送器或主机接收器[1]。
1.2 AU7842芯片原理
AU7842芯片是将在存储器中以数字信号形式存储的音乐解码成可以播放的模拟信号。它可以解码MP3和WMA两种格式的音频信号。工作原理如图1所示。开机后,单片机循环检测解码芯片周围电路的动作。当检测到芯片外围有存储设备接入,单片机控制芯片直接访问存储器里的内容,读取数据送入MP3/WMA解码器,解码得到的数字信号通过数模转换器转换成模拟信号,经模拟音频放大和低通滤波,就可以听到音乐[2]。
2 硬件电路
2.1 电路设计
根据车载MP3播放器的特点选STC12C5624 AD系列单片机。该单片机是台湾宏晶公司推出的51增强型单片机,其具有低功耗,计算速度快等特点。当关闭MP3播放器时,单片机进入低功耗休眠状态,单片机切断所有外围模块的供电。播放器需要工作时,通过外部中断唤醒单片机工作,这样最大限度地减少功耗[3]。其计算速度是普通单片机的8~12倍。播放器电路图如图2所示。
2.2 外围硬件模块
本文以STC12C5624AD单片机为核心,来控制其他模块的工作。硬件模块框图如图3示。
(1)电源模块:完成对整个MP3播放器的供电。电源模块的电压输入端是发电机或蓄电池,电压经过开关型集成稳压电路(LM2575/LM2576),得到的输出电压稳定且纹波小[4]。
(2)LCD模块:显示MP3播放时的曲目序号、播放的时间、文件的格式以及播放模式。
(3)按键模块:结合软件可以实现控制MP3播放器的工作,如浏览播放、顺序播放、随机播放以及不同播放音效之间的切换等。
(4)MP3模块:读取存储设备(SD卡/U盘)中的音频文件(MP3/WMA),通过数模转换将数字信号解码成模拟信号。
(5)音效模块:音效模块提供音效处理功能。来自MP3模块的音频信号经过音效处理,能够以爵士、摇滚、古典、流行等多种音效播放音乐,带给听众很好的听觉感受。
(6)其他:包括USB接口和SD接口等。
3 软件设计
MP3播放器受控于按键模块,单片机循环检测按键模块按键的动作,并通过软件对相关的寄存器进行读写操作,实现MP3播放器相应的功能。
3.1存储设备读取及切换
单片机循环检测芯片外围电路电平的变化,判断当前是否有存储设备插入,是否须进行存储设备之间的切换。通过软件改变相应标志位的值,实现存储设备的读取或存储设备的切换。读取流程如图4所示。