您现在的位置:首页 > 技术资料 | ![]() |
MP3解码芯片VS1001K特点及应用 引言 对于诸如便携式MP3播放器等独立式MP3应用,其核心是一片MP3解码芯片。芬兰VLSI Solution公司于去年十月出品的一款MP3解码芯片--VS1001K,片内含立体声数模转换(DAC)和耳机驱动、支持PCM数据输入,具有体积小、功耗低、接口简单、价廉等特点,是MP3解码芯片中的佼佼者。 内部结构及引脚功能 在一片VS1001K内部嵌入了MP3解码核心VS_DSP及与外部微处理器接口电路:串行数据接口(SDI)和串行控制接口(SCI)。具体如图1所示。 性能特点 (1)与外部微处理器接口 通过VS1001K的SDI和SCI(均是采用SPI总线结构),微处理器可向其传送MP3数据和对其功能实施控制。 SDI作用与特点: 作用:外部微处理器通过此接口向VS1001K传送MP3数据。 特点:(1)SDI可以在“主”或“从”模式下工作(由寄存器MODE的位1SM_IBMODE设定)。 (2)SDI在“主”模式下工作时,VS1001K产生DCLK信号(是512还是1024KHz由MODE的位SM_IBCLK决定)。SDI在“从”模式下工作时,DCLK信号由外部输入(DCLK:SDI时钟信号输入端)。 (3)SDI是以字节为单位进行数据传送,在DCLK的上升沿或下降沿(由MODE的位SM_DACT决定),将数据信号SDATA打入,传送时是最高位(MSB)还是最低位(LSB)在前由MODE的位SM_BYTEORD决定(SDATA:SDI数据输入端)。 (4)为确保数据传送时不发生错位,SDI具有字节同步信号BSYNC。 (5)当SDI在“从”模式下工作时,如果片内缓存(FIFO)空间允许,VS1001K会发出一个数据请求信号DREQ(高),表明此时至少可以接收32个字节的MP3数据。 SCI作用与特点: 作用:微处理器通过此接口对VS1001K的功能进行控制,在具体的实现上是通过对SCI的15个16位寄存器(详见表1)的读、写操作来完成的。 特点:SCI通信协议包括“指令字节”、“地址字节”和一个“字”(16位)三部分。指令字节:取值0x03表示读寄存器,取值0x02表示写寄存器。地址字节:寄存器的地址(0x00-0x0E)。字:指定寄存器读出或写入值。 (2)内部数据流动 如图2所示。首先,根据MODE寄存器SM_DAC位的设置,VS1001K接收MPEG编码或PCM编码的数据,并对其进行解码。然后,将数据送到高/低音增强器(此时,高/低音增强器SM_BASS=1表示开)。如果SCI的寄存器A1ADDR不为零,接下来数据将被送到用户程序中,之后,数据被送到了音量控制单元和FIFO中,最后经过数模转换将音频输出。 应用 作为协处理器,VS1001K通过SDI和SCI与外部微处理器的接口非常简单,见图3所示。同时由于VS1001K内置了数模转换和耳机驱动等功能,因而其外围辅助电路也非常简单。如果受到微处理器的I/O端线数量限制,还可采用图4所示连接方案。 以图4连接为例,读写SCI寄存器或向SDI发送MP3数据编程可参考以下步骤: 写SCI寄存器:(以音量设置为例,音量寄存器的地址为0x0B,左右声道音量分别设置为-2dB、-3.5dB); GIO1=0,启动SCI(XCS=0); 向SCI写4字节(0x02,0x0B,0x04,0x07);//每级为-0.5dB; GIO1=1,结束SCI传输。 读SCI寄存器:(仍以读音量寄存器为例); GIO1=0,启动SCI; 向SCI写2字节(0x03,0x0B)数据;//读操作,0x0B为音量寄存器; 向SCI写任意内容的一字节数据,读取微处理器的MISO,此时其值为音量寄存器的高8位; 向SCI写任意内容的一字节数据,读取微处理器的MISO,此时其值为音量寄存器的低8位; 合成音量寄存器值; GIO1=1,结束SCI传输。 向SDI发送MP3数据: 设置VS1001K为“从”工作模式; 等待,直到DREQ=1; GIO1=1,使SCK输出到DCLK; 对于每个字节重复下述步骤: BSYNC=1(BSYNC为SDI的字节同步信号); 启动SPI传输; 等待8位传输结束; BSYNC=0; 等待SPI结束。
|