① 解码芯片的初始化。初始化STA013包括如下几个步骤:硬件复位STA013;SPI初始化;将由ST公司提供的配置文件通过I2C接口写入解码芯片;对解码后的PCM数据、PLL、解码器工作模式以及输入比特流时钟极性等进行配置。
② 音频数据的传送。由于STA013具有较强的解码功能,因此当STA013需要数据(DATA_REQ为高)时,须立即通过SDI接口以尽可能快的速度(但要低于20 Mbps)传送给它。可以通过设置SPI总线的SPICLK来实现,这里将SPI时钟设置为4 MHz。数据以扇区为单位从MCU发向解码芯片的缓冲器,注意在用SPI传送数据时,需将BIT_EN端口置高才能进行有效的传送。STA013会自动决定数据输入与输出传输率的大小,当其缓冲存储器饱和时,它会终止数据请求。对于易变的比特流的MP3数据,STA013也能自动处理。另外,它还能根据自动探测到的MP3的采样频率合理调整DAC的时钟。
③ 对音频数据的解码。通过获取MP3文件帧头来获取一些解码参数,从而自动适应不同MP3音频流的解码。例如,可以通过解码参数中的采样频率来自动调整音频的输出时钟频率等。