
什么是MP3解码芯片?
一、MP3解码芯片介绍:
(1)音乐的通道与音色:
包络(envelope)方波(patch) 通道(channel)
包络:合成音色的一部分,单位时间内音符输出的变化,常见有“ADSR”
方波:合成音色的一部分,单位时间内音符方波电流的变化。(另见三角波等)
通道:在同一时间内,芯片输出的音符个数,即“单音乐器”的个数。
PCT:模拟音色的一种,通过采样256个点的乐器声音来模拟出各个音符的音高。(音色柔和,占空间小,但不够真实)
FULL WAVE:通过采集一种乐器声音来模拟各个音符音高。(乐器声真实,但占用空间大,且采集音色音质要求高)
(2)音乐的压缩:
由于音乐数据量庞大,对音乐数据进行有效压缩是很必要的,能够使我们在有限的ROM空间里录入更多的音乐内容。有以下几种方式:
音乐分段:将音乐中可以重复的部分截取出来,通过排列组合将内容完整地回放出来。
音色:根据音乐的丰满程度、需求程度,来确定Full wave,PCT、dual tone的选择,各个音色占用空间不懂,音色质量也不同。。
数学压缩:主要是针对采样的音色(Full wave)进行压缩,这种方式也是有损压缩,对于要采集的音色进行降采样、处理等减小采集音色的大小(同语音类的修音)。
(3)常用音乐格式:
MID格式:MIDI(Musical Instrument Digital Interface)乐器数字接口 ,是20 世纪80 年代初为解决电声乐器之间的通信问题而提出的。MIDI 传输的不是声音信号, 而是音符、控制参数等指令。
WAV格式:(相见语音IC类介绍)采集音色的格式。
32-bit DSP支持硬浮点单元 (FPU)
高达160MHz 可编 程处理器
64矢量中断
支持MP2, MP3, WMA, APE, FLAC, AAC, MP4, M4A, WAV, AIF, AIFC音频解码
10波段EQ配置语音效果
2通道16位DAC,信噪比>= 92dB
1通道16位ADC,信噪比>= 90dB
采样率为8KHz/11.025KHz/16KHz/22.05KHz/24KHz/ 32KHz / 44.1KHz/ 48KHz都受支持。
一个模拟MIC放大器,内置MIC偏置发生器。
双通道单路模拟MUX
支持无cap、单端和差分模式的DAC路径
支持16欧姆和32欧姆扬声器加载。
多功能32位定时器,支持捕获和PWM模式
三种全双工基本UART、UART0和UART1支持DMA模式
两个SPI接口支持主机和设备模式
一个硬件IIC接口支持主机和设备模式
10位ADC模拟采样
外部唤醒/中断在所有GPIOs。
2.5 PMU
3uA软关模式下的电流消耗
用于内部数字和模拟电路电源的低压LDO
内置LDO为核心,I/O和flash
VBAT为3.3V ~ 5.5V
VDDIO为3.3V
2.6 芯片封装:SOP16
工作温度:-40℃~ +85℃
储存温度:-65℃~ +150℃
2.8 应用程序
卡片MP3高品质播放器
DATA_RX:
- :平时 DATA_RX脚为低电平
- :每发一个信号前必须要有一个同步头。
- :同步头为8MS 高和 1MS 低组成。
- :数据“0” : 0.5MS 高电平和 1.5MS 低电平组成。
- :数据“1” : 1.5MS 高电平和 0.5MS 低电平组成。
- :先接收数据的最高位BIT7,在接收 N-1 位,最后接收数据的最低位BIT0。
- :DATA_RX为输入接收脚。
- :所用引脚PB7
DATA_TX脚:
- :平时 DATA_TX脚为低电平
- :每发一个信号前必须要有一个同步头。
- :同步头为8MS 高和 1MS 低组成。
- :数据“0” : 0.5MS 高电平和 1.5MS 低电平组成。
- :数据“1” : 1.5MS 高电平和 0.5MS 低电平组成。
- :先接收数据的最高位BIT7,在接收 N-1 位,最后接收数据的最低位BIT0。
- :DATA_TX为输出反馈脚。
- :所用引脚PB6
MUTE脚:
- MUTE为功放使能脚(低开高关)
- 所用引脚PA0
busy脚:
- busy为声音播放状态反馈脚(高开低关)
- 所用引脚PB6
功耗:可实现功耗低于20uA
五、串口协议参考表
序号 | 协议码 | 说明 | 备注 |
1 | 0X00 | 固定声音1 | |
2 | 0X01 | 固定声音2 | |
3 | 0X02 | 固定声音3 | |
4 | 0X03 | 固定声音4 | |
5 | 0X04 | 固定声音5 | |
6 | 0X05 | 固定声音6 | |
7 | 0X06 | 固定声音7 | |
8 | 0X07 | 固定声音8 | |
9 | 0X08 | 固定声音9 | |
10 | 0X09 | 固定声音10 | |
11 | 0X0A | 固定声音11 | |
12 | 0X0B | 固定声音12 | |
13 | 0X0C | 固定声音13 | |
14 | ~ | ~N | |
15 | 0XDF | 最大曲目 | |
16 | 0XF1 | 音量1(最小音量) | |
17 | 0XF2-0XFF | 音量2-音量15 | |
18 | 0XE9 | 音量加 | |
19 | 0XEA | 音量减 | |
20 | 0XEB | 静音 | |
21 | 0XEC | 重播 | |
22 | 0XED | 上一曲 | |
23 | 0XEE | 下一曲 | |
24 | 0XEF | 循环指令:必须先发音乐协议后隔120MS再发循环指令 | |
25 | 0XF0 | 停止 | |
26 | 0XE0 | 唤醒指令 | 睡眠后,先发唤醒指令,隔间850MS后再发送所需要的指令 |
27 | 0XE1 | 睡眠指令 | IC进入睡眠状态 |
28 | 0XE6 | 获取当前曲目总数 | 通过DATA_TX返回信息 |
29 | 0XE7 | 获取当前播放状态 | 通过DATA_TX返回信息 |
DATA_TX反馈协议表:
1 | 0x00-0XBE | 获取当前曲目总数后反馈的曲目数 | MCU上电会发送一次 |
2 | 0XEB | 在连电脑状态下发读曲目的反馈值 | |
3 | 0XEC | 获取当前播放状态后播放状态的反馈值 | |
4 | 0XED | 获取当前播放状态后暂停状态的反馈值 | |
5 | 0XEE | 获取当前播放状态后停止状态的反馈值 | |
6 | 0XEF | MCU进入休眠反馈值 |
说明:
1:上电等待时间不能接收协议,可以先设定上电等待时间850MS。
2:开始播放音乐会主动通过DATA_TX反馈0XEC。发送播放指令到反馈播放状态会有120MS的间隔,期间不要发送协议,会丢失。此时间用于启动解码。
3:结束播放音乐会主动通过DATA_TX反馈0XEE。
4:循环指令再音乐播放过程中有效,需要循环播放正确的协议顺序是 音量指令+延时20MS+固定指令+延时120MS+循环指令。
5:语言IC不会主动睡眠,睡眠需要发送睡眠指令0XE1,睡眠后需要发送唤醒指令0XE0唤醒,并同上电时序一致,需过等上电完成后等收到曲目总数的反馈后可正常的发送协议。睡眠后所有参数恢复到上电默认状态,唤醒后需要重新设置。
6:不想使用DATA_TX,可以通过BUSY的高低电平来判断是否在播放。
7:FLASH可以通过USB插入电脑删除和增加。
备注:更换语音:只支持MP3格式和WAV格式,MP3采样率不要低于16K。
六、参考原理图