什么是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类介绍)采集音色的格式。

 

、芯片内部特性
2.1  CPU组成部分

32-bit DSP支持硬浮点单元 (FPU)

高达160MHz 可编 程处理器

64矢量中断

4级中断优先级
2.2  DSP 音频处理

支持MP2, MP3, WMA, APE, FLAC, AAC, MP4, M4A, WAV, AIF, AIFC音频解码

10波段EQ配置语音效果

内置麦克风回声功能
2.3  音频编解码器

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欧姆扬声器加载。

2.4  外围设备
全速USB 2.0 OTG控制器

多功能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

 

2.7  温度

工作温度:-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。

六、参考原理图