二、和外围电路的接线图:
三、SPI接口(音频数据传输接口)介绍
- SPI 引脚介绍
SPI 接口是用来传输音频数据的。引脚连接图如下:
因为VS1053B工作的是时候,执行两种协议:
一种是串行数据接口的串行协议(SDI),
一种是串行命令接口的串行协议(SCI).
所以片选有两个XCS and XDCS.
- 其他引脚DREQ 说明:
- DREQ为高电平的时候,VS1053B可接受最少32字节的数据。DREQ为低电平,不能向VS1053B发送数据。
四、协议介绍: 串行数据接口的串行协议(SDI) and 串行命令接口的串行协议(SCI)
-
- 串行数据接口的串行协议(SDI)
- 传输原则:
- 串行数据接口在从机模式下工作,因此DCLK信号必须由一个外部电路提供。数据(SDATA信号)可以在DCLK的上升沿或下降沿输入。
- SDI 传输数据的时候,SCI_MODE 决定了MSb or LSb 在前。
- SM_NEWMODE =1,字节同步是由XDCS完成的。
- 请注意,通过SDI发送数据时,您必须在以下位置检查数据请求引脚DREQ至少每32个字节之后。
- SDI协议下传输数据的格式如下,推荐使用守则,SDATA每传输完32位字节后,XDCS拉高一会。再拉低。是为了偶尔出现时钟故障,也要保持数据同步。
- 传输原则:
- 串行数据接口的串行协议(SDI)
-
- SDI 时序图如下:
-
- 串行命令接口的串行协议(SCI)
- 协议规则:
- 串行命令接口SCI的串行总线协议由一个指令字节,一个地址字节和一个16位数据字组成。每个读取或写入操作都可以读取或写一个寄存器。
- 协议规则:
- 串行命令接口的串行协议(SCI)
-
- 在上升沿读取数据位,因此用户应更新数据在下降的边缘。
- 字节总是先发送MSb。
- XCS应该在整个持续时间内保持低电平。
- 注意:VS1053b在每次SCI操作后将DREQ设置为低电平。持续时间取决于具体的操作行为。在DREQ再次变为高电平之前,不允许启动一个新的SCI / SDI操作。
-
- 不同操作下的时序图:
- SCI 读操作
- 不同操作下的时序图:
-
- SCI 写操作
-
- SCI 多重写操作
-
- SCI 时序图
-
- 两个SCI写操作
-
- 两个SDI字节
-
- 在两个SDI字节之间的SCI操作
五、支持的音频解码器格式
六、功能描述
-
- 主要特点
VS1053b是一个建立在私有基础上的数字信号处理器VS_DSP。它包含 Ogg Vorbis,MP3,AAC,WMA 和 WAV PCM + ADPCM 音频解码、MIDI合成器,串行接口,一个多种速率的立体声DAC 和 模拟输出放大器加滤波器。和他们所需要的所有有关代码和数据存储。
此外,PCM / ADPCM音频编码器可以使用一个麦克风放大器 和/或 线路级的输入,以及一个立体声A / D转换器。
带有软件插件的该芯片,还可以解码无损FLAC,并记录高质量的Ogg Vorbis格式。
提供UART用于调试目的。
-
- VS1053B 的数据流动原理
-
- EarSpeaker 的空间效果处理
- 目的:使头挂式耳机发出的声音,更接近来自真实音箱或者现场音乐的效果。
- 设置方法:
- EarSpeaker 的空间效果处理
可以将EarSpeaker处理参数化为几种不同的模式,每种模式都可以模拟一些不同类型的声学环境,适合不同的个人喜好和记录类型。
•关:通过扬声器收听或要播放的音频包含音频时的最佳选择双耳预处理。
•最小:非常适合戴着耳机听普通的乐谱。
•正常:适合通过耳机收听正常的乐谱,移动声音来源远不止于此。
•极端:适合于旧的或“干式”录音,或者如果要播放的音频是人造的,则适用于示例生成的MIDI。
SM_EARSPEAKER_LO和SM_EARSPEAKER_HI位控制EarSpeaker空间处理。如果两者均为0,则该处理无效。其他组合激活处理,并选择3种不同的效果等级:
LO = 1,HI = 0选择最小,
LO = 0,HI = 1选择正常,
LO = 1,HI = 1选择极端。
-
- 串行数据接口(SDI)
定义(功能):
VS1053B的串行数据接口用于为 压缩解码器的 不同解码器 传输压缩数据。
特点:
如果解码器的输入无效或接收速度不够快,则模拟输出将自动静音。
功能:
可以通过SDI激活几种不同的测试.
-
- 串行控制接口(SCI)
串行控制接口与SPI总线规范兼容。数据传输是总是16位。VS1053B就是通过此接口的读取和写入来控制的。
主控器可以通过串行控制接口来进行下面的操作:
•操作模式,时钟和内置效果的控制
•访问状态信息和数据标头的数据
•访问录音模式下的编码数据
•上传和控制用户程序
-
- SCI 寄存器
-
- SCI_MODE(RW)
-
- SCI_STATUS(RW)
-
- SCI_BASS(RW)
-
- SCI_CLOCKF(RW)
-
- SCI_DECODE_TIME(RW)
解码正确数据时,当前解码时间以秒为单位显示在该寄存器中。
-
- SCI_AUDATA(RW)
解码正确的数据时,当前的采样率和通道数分别在SCI_AUDATA的位15:1和0中找到。位15:1包含了两个采样率,位0为0表示单声道数据,为1表示立体声。写入SCI_AUDATA将改变直接采样速率。
-
- SCI_WRAM(RW)
-
- SCI_WRAMADDR(W)
SCI_WRAMADDR用于设置程序地址,以用于后续的SCI_WRAM写/读。
使用下表中的地址偏移量访问X,Y,I或外围存储器。
-
- SCI_HDAT0和SCI_HDAT1(R)
读取时,SCI_HDAT0和SCI_HDAT1包含从中提取的标头信息当前正在解码的MP3流。
-
- SCI_AIADDR(RW)
SCI_AIADDR指示先前用SCI_WRAMADDR编写的应用程序代码的起始地址和SCI_WRAM寄存器。如果未使用任何应用程序代码,则不应初始化该寄存器,否则应将其初始化为零。
-
- SCI_VOL(RW)
-
- SCI_AICTRL [x](RW)
SCI_AICTRL [x]寄存器(x = [0 .. 3])可用于访问用户的应用程序。
AICTRL寄存器也可用于PCM / ADPCM编码模式。
七、操作
-
- 时钟
VS1053b通常运作在一个频率为12.288MHz的基本频率主时钟上。
在12.288MHz时钟下,最高到48000HZ的所有采样率都可用。
-
- 硬件复位
-
- 软件复位
这可以通过激活寄存器SCI_MODE中SM_RESET位来完成。然后等待至少2 µs,然后查看DREQ状态,DREQ上升变为高,就可以照常继续播放了。
-
- 播放和解码
- 播放整个文件
- 播放和解码
-
- 取消播放
-
- 快速播放
-
- 无音频的快进和快退
-
- 保持正确的解码时间
-
- 传送PCM数据
-
- Ogg Vorbis 录音
-
- PCM / ADPCM 录制
- 激活PCM / ADPCM记录模式
- 读取PCM / IMA ADPCM数据
- 添加PCM RIFF标头
- 添加IMA ADPCM RIFF标头
- 播放ADPCM数据
- 采样率注意事项
- 记录监控量
- PCM / ADPCM 录制
-
- SPI引导
-
- 实时MIDI
-
- 外部参数
-
- 通用参数
-
- WMA
-
- AAC
-
- MIDI
MIDI仅仅是一个通信标准,它是由电子乐器制造商们建立起来的,用以确定电脑音乐程序、合成器和其他电子音响的设备互相交换信息与控制信号的方法。
MIDI系统实际就是一个作曲、配器、电子模拟的演奏系统。从一个MIDI设备转送到另一个MIDI设备上去的数据就是MIDI信息。MIDI数据不是数字的音频波形,而是音乐代码或称电子乐谱。
-
- Ogg Vorbis
OGG Vorbis是一种新的音频压缩格式,类似于MP3等现有的音乐格式。
-
- SDI 测试
- 新的正弦和扫频测试
- 引脚测试
- SCI测试
- 内存测试
- SDI 测试
八、VS1053B 寄存器
当用户希望添加一些自己的功能(例如DSP效果)时,需要使用用户软件至VS1053b。但是,大多数VS1053b的用户无需担心编写自己的代码,