logo资料库

用户手册(VS1003B-MP3-Board_UserManual_CN).pdf

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
特性参数
使用说明
模块引脚说明
模块使用说明
SPI通信
SCI寄存器
播放音频文件
结构尺寸
其他
VS1003B MP3 Board 使用手册 1. 特性参数 ........................................................................................................................ 2 2. 使用说明 ........................................................................................................................ 2 2.1 模块引脚说明 .......................................................................................................................... 2 2.2 模块使用说明 .......................................................................................................................... 3 SPI 通信 ........................................................................................................................... 3 2.3.1. 2.3.2. SCI 寄存器 ....................................................................................................................... 5 2.3.3. 播放音频文件 .................................................................................................................. 7 3. 结构尺寸 ........................................................................................................................ 8 4. 其他 ................................................................................................................................ 8
参数 3.3V 工作 WMA 4.0/4.1/7/8/9 5-384kbps 所有流文件、MP3 和 WAV 流 IMA ADPCM 编码 支持 5.5KB 片上 RAM 18 位 音量控制、高低音控制 1. 特性参数 特性 接口特性 解码格式 编码格式 板载录音 存储 DAC 分辨率 其他特性 2. 使用说明 2.1 模块引脚说明
与 MCU 连接 3.3V GND MOSI MISO SCK I/O1 I/O2 I/O3 I/O4 说明 通用 GPIO 0 通用 GPIO 1 通用 GPIO 2 通用 GPIO 3 模拟地 左声道输出 说明 3.3V 供电 电源地 SPI 总线数据输入线 SPI 总线数据输出线 SPI 总线时钟线 片选输入(低电平有效) 数据片选/字节同步 数据请求 复位引脚(硬件复位,低电平有效) 黑色弯排针管脚: 管脚名称 3.3V GND MISO MOSI SCLK xCS xDCS DREQ xRSET 黄色排针: 管脚名称 P0 P1 P2 P3 AGND OUT 如果在引导时间里, GPIO0 被上拉电阻拉到高电平, VS1003 尝试从外部 SPI 存储器中引 导, SPI 引导重定义的管脚如下: 正常模式 SPI 引导模式 正常模式 SPI 引导模式 GPIO0 GPIO1 DREQ GPIO2 xCS CLK MOSI MISO 必须有 16 位地址(即至少 1KB)的 SPI 串行 EEPROM。 SPI 时钟速度在 VS1003 工作在 12.288MHz 时为 245KHz。 此存储器中的前三字节必须是 0x50,0x26,0x48。 2.2 模块使用说明 2.3.1. SPI 通信 VS1003B MP3 Board 模块通过 SPI 接口与外部控制器连接, VS1003 的控制以及音频数 据都是通过 SPI 接口,VS1003 通过 7 根信号线共同控制器,分别是:xRSET、XCS、XDCS、 SI、 SO、SCK 和 DREQ。其中 xRSET 是 VS1003 的复位控制线,低电平有效。DREQ 是数据请
求线,用于通知控制器 VS1003 是否可以接收数据。 SI(MOSI)、 SO(MISO)、 SCK 则是 VS1003 的 SPI 通信接口,他们在 XCS 和 XDCS 的控制下执行不同的数据通信。 VS1003 的 SPI 支持两种模式:1,VS1002 有效模式(即新模式)。2,VS1001 兼容模式。这 里我们仅介绍 VS1002 有效模式(此模式也是 VS1003 的默认模式)。下表是在新模式下 VS1003 的 SPI 信号线功能描述: SDI 管脚 SCI 管脚 描述 XDCS XCS SCK SI SO 低电平有效片选输入, 高电平强制使串行接口进入 standby 模式, 结 束当前操作。SO 变成高阻态。如果 SM_SDISHARE 位设置为 1,则 不使用 XDCS,而有 XCS 内部反相后代替 XDCS。不过不推荐这种 设置方式。 串行时钟输入。 SCK 在传输的时候可以被打断,但是必须保持 XCS/XDCS 低电平不变,否则传输将中断。 串行数据输入。在片选有效的情况下, SI 在 SCK 的上升沿处采样。 所以, MCU 必须在 SCK 的下降沿上更新数据 串行输出, 在读操作时, 数据在 SCK 的下降沿处从此脚移出;在写 操作时为高阻态。 VS1003 的 SPI 数据传送,分为 SDI 和 SCI,SDI 用来传输数据, SCI 用于传输命令。 SDI 数据传输非常简单,就是标准 SPI 通信,不过 VS1003 的数据传输都是通过 DREQ 控制,主 机必须在判断 DREQ 有效(高电平有效)后,才可以发送数据,每次可以发送 32 字节。 SCI 串行总线命令接口包含了一个指令字节、一个地址字节和一个 16 位的数据字。读 写操作可以读写单个寄存器,在 SCK 的上升沿读出数据位,所以主机必须在下降沿刷新数据。 SCI 的字节数据总是高位在前低位在后。第一个字节指令字节,只有 2 个指令,也就是读和 写,读指令为:0X03,写指令为:0X02。 SCI 读时序如图所示: 从上图可以看出,向 VS1003 读取数据,通过先拉低 XCS,然后发送读指令(0X03)再 发送一个地址,最后,我们在 SO 线( MISO)上就可以读到输出的数据了。而同时 SI( MOSI) 上的数据将被忽略。 SCI 的写时序如下图:
SCI 写时序和 SCI 读时序类似,都是先发指令,再发地址。不过写时序中,我们的指令 是写指令(0X02),并且数据是通过 SI 写入 VS1003 的,SO 则一直维持低电平。在上两个 图中,DREQ 信号上都产生了一个短暂的低脉冲,也就是执行时间。这段时间,是不允许外 部打断的。 2.3.2. SCI 寄存器 VS1003 总共有 16 个 SCI 寄存器,通过这些寄存器实现 VS1003 的各种控制,VS1003 的 所有 SCI 寄存器如下表所示: SCI 寄存器 寄存器 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0X0F 类型 RW RW RW RW RW RW RW RW R R RW RW RW RW RW RW 复位值 0x0800 0X003C 0X0000 0X0000 0X0000 0X0000 0X0000 0X0000 0X0000 0X0000 0X0000 0X0000 0X0000 0X0000 0X0000 0X0000 缩写 MODE STATUS BASS CLOKF DECODE_TIME AUDATA WRAM WRAMADDR HDAT0 HDAT1 AIADDR VOL AICTRL0 AICTRL1 AICTRL2 AICTRL3 描述 控制模式 VS1003 状态 内置高低音增强器 时钟频率+倍频数 解码时间 各种音频数据 RAM 写/读 RAM 读写地址 流头数据 0 流头数据 1 用户代码起始地址 音量控制 应用控制寄存器 0 应用控制寄存器 1 应用控制寄存器 2 应用控制寄存器 3 以下介绍几个主要的寄存器: MODE 寄存器:该寄存器用于控制 VS1003 的模式,改寄存器的初始值为 0x0800,MODE 的各 位描述如下:
位 0 名称 SM_DIFF 功能 差分 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SM_LAYER12 允许 MPEG layers I&II SM_RESET 解码 软件复位 SM_CANCEL 取消当前文件的解码 SM_EARSPEAKER_LO EarSpeaker 低位设定 SM_TESTS 允许 SDI 测试 SM_STREAM 流模式 SM_EARSPEAKER_HI EarSpeaker 高位设定 SM_DACT DCLK 的有效边沿 SM_SDIORD SDI 位顺序 SM_SDISHARE SM_SDISHARE SM_SDINEW VS1002 本地 SPI 模式 SM_ADPCM ADPCM 录音激活 SM_ADPCM_HP ADPCM 高通滤波允许 SM_LINE_IN ADPCM 音源选择 SM_CLK_RANGE SM_CLK_RANGE 值 说明 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 正常的相同音频 左通道想相反 不允许 允许 不复位 复位 不取消 取消 关闭 激活 不允许 允许 不是 是 关闭 激活 上升沿 下降沿 MSB 在前 MSB 在后 不共享 共享 非本地模式 本地模式(新模式) 不激活 激活 不允许 允许 麦克风 线路输入 12…13Mhz 24…26Mhz 这个寄存器,我们这里只关注第 2 位和第 11 位,也就是 SM_RESET 和 SM_SDINEW。 这里 SM_RESET,可以提供一次软复位,建议在每播放一首歌曲之后,软复位一次。 SM_SDINEW 为模式设置位,这里我们选择的是新模式,所以设置该位为 1(默认的设置)。 单纯播放音乐的时候,我们只需要设置这两个位就差不多了,其他位的设置,请参考 VS1003 的数据手册 BASS 寄存器,该寄存器可以用于设置 VS1003 的高低音效。该寄存器的各位描述如表所示: 名称 位 描述 ST_AMPLITUDE 15:12 高音控制,1.5dB 步进( -8..7, 0 表示关闭)
ST_AMPLITUDE SB_AMPLITUDE SB_FREQLIMIT 11:8 7:4 3:0 最低频限 1000Hz 步进(0..15) 低音加重,1dB 步进(0..15, 0 表示关闭) 最低频限 10Hz 步进(2..15) 通过这个寄存器以上位的一些设置,我们可以随意配置自己喜欢的音效(其实就是高低 音的调节)。 CLOCKF 寄存器,这个寄存器用来设置时钟频率、倍频等相关信息,该寄存器的各位描 述如表所示: 15:13 SC_MULT 时钟倍频数 CLOCKF 寄存器 12:11 SC_ADD 允许倍频 10:0 SC_FREQ 时钟频率 CLKI=XTALI× (SC_MULT× 倍频增量 当外部时钟频率不为 位 名称 描述 说明 0.5+1) =SC_ADD*0.5 12.288Mhz 时,外部时钟的频 率。外部时钟频率为 12.288Mhz 时,此部分设置为 0 SC_FREQ 是以 4Khz 为步进的一个时钟寄存器,当外部时钟不是 12.288M 的时候,其 计算公式为: SC_FREQ=(XTALI-8000000)/4000 式中为 XTALI 的单位为 Hz。上表中 CLKI 是内部时钟频率, XTALI 是外部晶振的时钟频率。 由于我们使用的是 12.288M 的晶振,所以 SC_FREQ = 0; DECODE_TIME 寄存器。该寄存器是一个十六位的寄存器,用于存放解码时间,以秒钟 为单位,我们通过读取该寄存器的值,就可以得到解码时间了。不过它是一个累计时间,所 以我们需要在每首歌播放之前把它清空一下,以得到这首歌的准确解码时间。 VOL 寄存器,该寄存器用于控制 VS1003 的输出音量,该寄存器可以分别控制左右声 道的音量,每个声道的控制范围为 0~254,每个增量代表 0.5db 的衰减,所以该值越小, 代表音量越大。比如设置为 0X0000 则音量最大,而设置为 0XFEFE 则音量最小。注意:如 果设置 VOL 的值为 0XFFFF, 将使芯片进入掉电模式! 其他寄存器,这里就不一一介绍了,请大家参考 VS1003 的数据手册,里面有每个寄存 器的详细介绍。 2.3.3. 播放音频文件 用模块播放音频文件非常的简单,一般的音频文件(MP3/WMA/OGG/WAV/MIDI/AAC 等), 只需要简单的 3 步操作即可实现音频播放。 (1)复位 VS1003 这里包括了硬复位和软复位,是为了让 VS1003 的状态回到原始状态,准备解码下一首 歌曲。这里建议在每首歌曲播放之前都执行一次硬件复位和软件复位,以便更好的播放音乐。 (2)配置 VS1003 相关寄存器 配置的寄存器包括 VS1003 的模式寄存器(MODE)、时钟寄存器(CLOCKF)、音调寄存 器(BASS)、音量寄存器(VOL)等。 (3)发送音频数据 当经过以上两步配置以后,我们剩下来要做的事情,就是往 VS1003 里面扔音频数据了,
只要是 VS1003 支持的音频格式,直接往里面丢就可以了,VS1003 会自动识别,并进行播放。 不过发送数据要在 DREQ 信号的控制下有序的进行,不能乱发。只要 DREQ 变高,就向 VS1003 发送 32 个字节。然后继续等待 DREQ 变高,直到音频数据发送完。 3. 结构尺寸 VS1003B MP3 Board 模块的尺寸图如下: 4. 其他 购买地址: http://www.waveshare.net/shop/VS1003B-MP3-Board.htm 资料地址: http://www.waveshare.net/wiki/VS1003B_MP3_Board
分享到:
收藏