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所示。
MP3处理模块子程序:
if(mp3_start_flag==1) /*初度刺进设备*/
{ ……
mp3_flag=1;
/*AU7842发动标志方位位,开端呼应*/
currentchannel=0x01;
if(Current_PlayDev==1) /*检测到USB接口有存储
设备接入*/
{ ……
Play_BreakPoint_USB(1);
/*读取USB存储设备中的数据 */
}
else if(Current_PlayDev==2)
/*检测到SD接口有存储设备接入*/
{ ……
Play_BreakPoint_SD(1); /*读取SD卡中的数据*/
}
} /* */
if((Dev_Status!=0)(Current_DevStatus!=Dev_Status)(Current_DevStatus==DEV_USB_SD))
/*后设备的发动播映*/
{ ……
if(Current_PlayDev==DEV_USB)
/*正在播映的USB存储器*/
{ DEV_Change_Flag=1; /*切换标志方位位*/
uart_putc(0x55);
uart_putc(0x00);
uart_putc(0xFF);
uart_putc(0x15);
uart_putc(0xEA);
……
Play_BreakPoint_SD(1);
/*切换到从SD卡播映*/
}
else if(Current_PlayDev==
DEV_SD) /*正在播映的是SD卡*/
{ DEV_Change_Flag=1; /*切换标志方位位*/
uart_putc(0x55);
uart_putc(0x00);
uart_putc(0xFF);
uart_putc(0x1B);
uart_putc(0xE4);
……
Play_BreakPoint_USB(1);
/*切换到从USB存储器播映*/
}
}
3.2掉电回忆功用
为满意运用的要求,车载MP3播映器应具有掉电回忆功用。掉电回忆功用可完成MP3播映器在掉电或关机后,前次各种设定值(如音量、音效、播映形式等)不会因断电而复位,鄙人一次开机时不需从头设定,能够直接调用前次设定值。回忆流程如图5所示。
掉电回忆子程序:
void Save_Data(void) /*界说掉电回忆函数*/
{ Wirte_EEPROM(0x06db,vol_val);
/*回忆掉电前音量设定值*/
Wirte_EEPROM(0x06dc,bass_val);
/*回忆掉电前低声设定值*/
Wirte_EEPROM(0x06dd,tre_val);
/*回忆掉电前高音设定值*/
Wirte_EEPROM(0x06de,loud_val);
/*回忆掉电前低声设定值*/
Wirte_EEPROM(0x0700,Save_USB_Song1);
/*回忆掉电前USB曲目次序号*/
… …
Wirte_EEPROM(0x0703,Save_USB_Min1);
/*回忆掉电前USB中正在播映曲目的播映时刻*/
… …
Wirte_EEPROM(0x0707,Save_SD_Song1);
/*回忆掉电前SD中正在播映的曲目次序号*/
… …
Wirte_EEPROM(0x070a,Save_SD_Min1);}
/*回忆掉电前USB中正在播映曲目的播映时刻*/
本文规划的车载MP3播映器,在MP3音频文件存储设备方面有较大的打破,新式大容量存储设备(SD卡等)替代了传统卡带存储,并能够以多种音效播映。体系操作简洁, MP3播映功用杰出。为确保播映器安稳作业,实验模仿轿车行进情况[5]:将播映器别离置于零下40℃和60℃环境中进行极限温度实验并置于四度一体空间振荡实验台上进行振荡测验,播映器长时刻运转,各项功用安稳,播映功用杰出。该款播映器现已成功应用在某些品牌工程车上。