热搜关键词: 电路基础ADC数字信号处理封装库PLC

pdf

单片机实现MP3的播放

  • 1星
  • 2015-02-02
  • 439.55KB
  • 需要1积分
  • 0次下载
标签: 单片机

单片机

AVR

AVR

MP3

MP3

AVR单片机实现MP3播放

单片机实现
MP3
播放的方法
有一个东西½一定听说过或用过,那就
MP3
播放器。MP3 播放器以其小巧的½积、强
大的功½、优异的音质倍受人们的青睐。如果把它嵌入到我们的单片机系统中,实现音频输
出,那么对系统的增色是不言而喻的。单独拿单片机来说,要解码MP3 文件,是不可½的,
因为从处理速度和资源各个方面½是不½满足要求的。所以要依赖于专用
MP3
解码芯片,
而单片机要½的就是对其进行控制。这里我们围绕芬兰
VLSI
公司出品的
VS1003
来进行解
MP3
的实现方法。
1、VS1003
芯片
1)芯片简介
VS1003是由荷兰VLSI公司出品的一款单芯片的MP3/WMA/MIDI音频解码和
ADPCM编码芯片,其拥有一个高性½½功耗的DSP处理器核VS_DSP,5K的指令
RAM,0.5K的数据RAM,串行的控制和数据输入接口, 4个通用IO口,一个UART
口;同时片内带有一个可变采样率的ADC、一个立½声DAC以及音频耳机放大器。
VS1003通过一个串行接口来接收输入的比特流,它可以½为一个系统的从机。
输入的比特流被解码,然后通过一个数字竟是控制器到达一个18½过采样多½ε-
ΔDAC。通过串行总线控制解码器。除了基本的解码,在用户RAM中它还可以做其
他特殊应用,例如DSP音效处理。
2)芯片实物与 VS1003 MP3
模块
3)芯片封装
以下的讲述½是针对于
LQFP­48
封装的。
4)MP3
模块接口
5)VS1003
特性
1.½解码 MPEG1
MPEG2
音频层
III(CBR+VBR+ABR);WMA 4.0/4.1/7/8/9
5~384kbps
所有流文件;WAV
(PCM+IMA
AD­PCM)
;产生 MIDI/SP­MIDI
文件。
2.对话筒输入或线路输入的音频信号进行 IMA ADPCMM
编码
3.支持 MP3
WAVV
4.高½音控制
5.单时钟 12~13MHz
6.内部 PLLL
锁相环时钟倍频器
7.½功耗
8.内含高性½片上立½声数模½换器,两声道间无相½差
9.内含½驱动 30
欧负½½的耳机驱动器
10.模拟,数字,I/O
单独供电
11.为用户代码和数据准备的 5.5KB
片上
RAM
12.串行的控制/数据接口
13.可被用½微处理器的从机
14.特殊应用的 SPI Flash
引导
15.借高度用途的 UART
接口
16.新功½可以通过½件和 4 GPIO
添加
6)VS1003
的引脚定义
管脚名称
MICP
MICN
XRESET
DGND0
LQFP­48
1
2
3
4
管脚类型
AI
AI
DI
DGND
管脚功½
同相差分话筒输入,自偏压
反相差分话筒输入,自偏压
½电平有效,异步复½端
处理器核与
I/O
CVDD0
IOVDD0
CVDD1
DREQ
GPIO/DCLK
GPIO3/SDATA
XDCS/BSYNC
IOVDD1
VCO
DGND1
XTALO
XTALI
IOVDD2
DGND2
DGND3
DGND4
XCS
CVDD2
RX
TX
SCLK
SI
SO
CVDD3
TEST
GPIO0/SPIBOOT
GPIO1
AGND0
AVDD0
RIGHT
AGND1
AGND2
GBUF
AVDD1
RCAP
AVDD2
LEFT
AGND3
LINE IN
5
6
7
8
9
10
13
14
15
16
17
18
19
20
21
22
23
24
26
27
28
29
30
31
32
33
34
37
38
39
40
41
42
43
44
45
46
47
48
CPWR
IOPWR
CPEW
DO
DIO
DIO
DI
IOPWR
DO
DGND
AO
AI
IOPWR
DGND
DGND
DGND
DI
CPWR
DI
DO
DI
DI
DO3
CPWR
DI
DIO
DIO
APWR
APWR
AO
APWR
APWR
AO
APWR
AIO
APWR
AO
APWR
AI
处理器核电源
I/O
电源
处理器核电源
数据请求,输入总线
通用
I/O2 /串行数据总线时钟
通用
I/O3 /串行数据总线数据
数据片选端/字节同步
I/O
电源
时钟压控振荡器VCO 输出
处理器核与I/O 的地
晶振输出
晶振输入
I/O
电源
处理器核与I/O 地
处理器核与I/O 地
处理器核与I/O 地
片选输入,½电平有效
处理器核电源
UART接收口,不用时接IOVDD
UART发送口
串行总线的时钟
串行输入
串行输出
处理器核电源
保留做测试,连接至IOVDD
通用I/O0
/SPIBOOT,½用100K
下拉电阻
通用I/O1
模拟地,½噪声参考地
模拟电源
右声道输出
模拟地
模拟地
公共地缓冲器
模拟电源
基准滤波电容
模拟电源
左声道输出
模拟地
线路输入
7)VS1003
的功½寄存器
VS1003
共有
16
16
½的寄存器,地址分别为
0X0~0XF;除了模式寄存器
(MODE,
0X0)
和状态寄存器
(STATUS,
0X1)
在复½后的初始值分别为
0X800
OX3C
外,其½的寄存器在
VS1003
初始化后的值均为
0。下面将 VS1003
寄存器逐一进行介绍。
1.MODE(地址:0X0
可读写)
bit0:SM_DIFF
SM_DIFF=0
正常音频相½
SM_DIFF=1
左声道反½
½
SM_DIFF
½½时,VS1003 将左声道反相输出,立½声输入将产生环
绕效果,对于单声道输入将产生差分(反相)左/右声道信号。
bit1:SM_SETTOZERO
½零。
bit2:SM_RESET
SM_RESET=1,VS1003
½复½。½复½之后该½会自动清零。
bit3:SM_OUTOFWAV
SM_OUTOFWAV=1,停止 WAV
解码。
½ ½ 要 中 途 停 止
WAV
WMA
或 者
MIDI
文 件 的 解 码 时 , ½ ½
SM_OUTOFWAV,并向 VS1003
持续发送数据(对于
WAV
文件发送
0)
直到将
SM_OUTOFWAV
清零;同时
SCI_HIDAT1
也将被清零。
bit4:SM_PDOWN
SM_PDOWN=1,
½件省电模式,
该模式不及硬件省电模式
(可由
VS1003
XRESET
来激活)
bit5:SM_TESTS
SM_TESTS=1,进入 SDI
测试模式。
bit6:SM_STREAM
SM_STREAM=1,½½ VS1003
的流模式。
bit7:SM_PLUSV
SM_PLUSV=1,MP3+V
解码½½。
bit8:SM_DACT
SM_DACT=0,SCLK
上升沿有效;SM_DACT=1,SCLK 下降沿有效。
bit9:SM_SDIORD
SM_SDIORD=0,SDI
总线字节数据
MSB
在前,即须先发送
MSB;
SM_SDIORD=1,SDI
总线字节数据
LSB
在前,即须先发送
LSB;
该½的设½不会½响
SCI
总线。
bit10:SM_SDISHARE
SM_SDISHARE=1,SDI
SCI
将 共 用 一 个 片 选 信 号 ( 同 时
SM_SDINEW=1)
即将
XDCS
XCS
这两根信号线合为一条,
½省去一
IO
口。
bit11:SM_SDINEW
SM_SDINEW=1,VS1002
本地模式(新模式)
。VS1003 在启动后默认进
入该模式。
(这里所说的模式指的是总线模式。
bit12:SM_ADPCM
SM_ADPCM=1,ADPCM
½音½½。
同时½½
SM_ADPCM
SM_RESET
将½½
VS1003
IMA ADPCM
½
音功½。
bit13:SM_ADPCM_HP
SM_ADPCOM_HP=1
, ½ ½
ADPCM
高 通 滤 波 器 。 同 时 ½ ½
SM_ADPCM_HP、SM_ADPCM
SM_RESET
将开启
ADPCM
½音用高
通滤波器,对½音时的背景噪音有一定的抑制½用。
bit14:SM_LINE_IN
½音输入选择,SMLINE_IN=1,选择线入(line
in);SM_LINE_IN=0,选
择麦克风输入(默认)
2.SCI_STATUS(地址:0X1
可读写)
SCI_STATUS
VS1003
的状态寄存器,提供
VS1003
½前状态信息。
3.SCI_BASS(地址:0X2
可读写)
重音/高音设½寄存器。
VS1003
的内½的重音增强器
VSBE
是种高质量的重音增强
DSP
算法,
½
够最大限度的避免音频削波。½
SB_AMPLITUDE(bit:7~4)不为零时,重音
增 强 器 将 ½ ½ 。 可 以 根 据 个 人 需 要 来 设 ½
SB_AMPLITUDE
。 例 如 ,
SCI_BASS=0x00f6
, 即 对
60Hz
以 下 的 音 频 信 号 进 行
15dB
的 增 强 。 ½
ST_AMPLITUDE
bit:15~12
) 不 为 零 时 , 高 音 增 强 将 ½ ½ 。 例 如 ,
SCI_BASS=0x7a00,即 10kHz
以上的音频信号进行
10.5dB
的增强。
展开预览

猜您喜欢

评论

登录/注册

意见反馈

求资源

回顶部

推荐内容

热门活动

热门器件

随便看看

  • lsm303agr测量磁场的问题
    lsm303agr可以测量高达50gauss的磁场,地球磁场强度一搬在0.6gauss左右这样lsm303agr理论上可以用来测量磁铁的磁场方面,比如用它做一个游戏操纵杆因为会受到外界磁场的影响,地球磁场的影响一搬在1%左右外界影响应该可以通过再增加一颗传感器做补偿来解决实际测试时我使用csharp写了一个简单的上位机程序来显示X,Y,Z的曲线我遇到的问题是,在磁铁的磁场大到一定程度时,一搬是输出
  • 6618 不能配置DSP BIOS
    各位大仙我使用的是TCI6618,新建了一个工程,想配置它的DSP BIOS(.tcf文件),但是CCS5.2里面file->new->DSP bios configuration file->... 找不到支持6618的platform,有哪位大仙知道怎么解决。谢谢!
  • C5 最小文件系统求助
    因为项目中不能使用SD作为第一级启动源,因此只能考虑从QSPI Flash启动了。因为是nor Flash,只有64M大小,而我普通的根文件系统有130多M,在Altera官网上有教程指导如何用yocto Project制作最小根文件系统. 前期的lib库安装就不说了,现在到编译最小文件系统的时候有个库编译不了,错误提示为:| i686-linux-libtool: compile:gcc -DH
  • cc2650鼓捣教程-.一切的开始 Hello world程序!
    2.1.Hello World!hello world为一切工程的开始。1)首先要进入contiki源码中的hello world目录下:cd contiki/exaples/hello-world2)然后就可以通过 下面这条命令来编译:make TARGET=srf06-cc26xx hello-world并生成如下:3)然后就会生成相应的如下bin文件和hex文件:4)最后将bin文件或者he
  • 【国产FPGA高云GW1N-4系列开发板测评】——10、OSC抖动与rPLL抖动和偏差的疑惑?
    [i=s] 本帖最后由 gs001588 于 2022-1-10 21:20 编辑 [/i]【国产FPGA高云GW1N-4系列开发板测评】10、OSC抖动与rPLL抖动和偏差的疑惑上一贴中提到,用两种方法使用外部CLK_50M时钟和rPLL生成的CLK_50M2分别来测试内部OSC时钟,得到的结果有差别。那么其中必有一种测量是不准的,为什么会出现这种结果呢,上示波器对各个时钟分别测试。(上一贴地址
  • 下载网站资源问题???
  • ST研讨会的确认函——你还要让我等多久?
  • 专业音频快速参考指南
  • 拉杆包收到了,秀一下
  • 有做ocl放大电路的吗?

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
×