新型MP3解碼芯片VS1001K及其應用
關鍵詞:MP3 編碼 播放器 VS1001K
1 引言
目前,INTERNET網上和便攜式播放器所使用的MP3音頻數據壓縮方法已經成為一種公認的行業(yè)標準了。這種方法以其壓縮率高、音質好而迅速風靡全世界。但實際上,許多MP3播放器的核心就是一片MP3音頻解碼芯片。VS1001K是芬蘭VLSI Solution公司推出的新型MP3解碼芯片。該芯片內含高質量的立體聲數模轉換器(DAC)和耳機驅動電路,它支持PCM數據輸入,同時具有體積小、功耗低、接口簡單、價格便宜等優(yōu)點。因而有望成為新型MP3解碼器的首選芯片。
2 VS1001K的功能結構
2.1 VS1001K的引腳功能
VS1001K具有兩種封裝形式:分別為28腳SOIC雙列式和49腳BGA球柵陣列式。圖1給出了28腳SOIC封裝的引腳排列圖。各引腳的具體功能說明如表1所列。
表1 VS1001K的引腳功能
引腳號 | 引腳名稱 | 功 能 |
1 | DREQ | 數據請求端口 |
2 | DCLK | SDI時鐘信號輸入端 |
3 | SDATA | SDI數據輸入端 |
4 | BSYNC | 字節(jié)同步信號端 |
5,9,28 | DVDD | 數字電源 |
6,10,27 | DGND | 數字地 |
7 | XTALO | 時鐘信號輸出 |
8 | XTALI | 時鐘信號輸入 |
11 | XCS | 片選,低電平有效 |
12 | SCLK | SCI時鐘輸入端 |
13 | SI | SCI數據輸入端 |
14 | SO | SCI數據輸出端 |
15~17 | TEST0 | 備用測試端口 |
18,21,25 | AGND | 模擬地 |
19,23 | AVDD | 模擬電源 |
20 | RIGHT | 右聲道音頻輸出 |
22 | RCAP | 外接電容接入端 |
24 | LEFT | 左聲道音頻輸出 |
26 | XRESET | 電路復位端,低電平有效 |
表2 SCI寄存器功能
寄存器名 | 地 址 | 類 型 | 功 能 |
MODE | 0x00 | RW | 用于控制VS1001K的操作 |
STATUS | 0x01 | RW | 當前VS1001K的狀態(tài)信息 |
INT_FCTLH | 0x02 | - | 內部寄存器,一般不用 |
CLOCKF | 0x03 | RW | 控制時鐘頻率和倍頻器 |
DECODE_TIME | 0x04 | R | 確定解碼時間(單位為秒) |
AUDATA | 0x05 | R | 聲音數據 |
WRAM | 0x06 | W | 用于向程序RAM寫入用戶程序 |
WRAMADDR | 0x07 | W | 為WRAM操作設置基地址 |
HDAT0 | 0x08 | R | 讀取MP3表頭數據 |
HDAT1 | 0x09 | R | 讀取MP3表頭數據 |
A1ADDR | 0x0A | RW | 確定用戶應用程序的開始地址 |
VOL | 0x0B | RW | 用于音量控制,高、低字節(jié)分別為左、右聲道。音量取值范圍為0~FF,0位最大,FF為最小 |
RESERVED | 0x0C | - | 保留 |
A1CTRL[0] | 0x0D | RW | 用于控制用戶應用程序 |
A1CTRL[1] | 0x0E | RW | 用于控制用戶應用程序 |
2.2 VS1001K的內部結構
VS1001K解碼芯片內部集成有VS DSP處理器,同時它還集成有立體聲音頻DAC、立體聲耳機放大驅動器、以及程序ROM和程序RAM等,此外,VS1001K還帶有串行的數據接口和控制接口。圖2是VS1001K的內部結構原理框圖。
3 VS1001K的工作原理
VS1001K主要通過兩個串行接口SCI和SDI來接收外部微處理器傳送來控制命令和MP3數據。其中SCI用于接收外部微處理器傳送來控制命令,SDI用來接收外部微處理器傳送的MP3數據。
3.1 SCI控制接口
對VS1001K的控制主要是通過對SCI中的15個16位寄存器進行操作來實現的。表2所列是SCI的15個16位寄存器的名稱、地址、類型和功能說明。實際上,對VS1001K的主要操作都是通過MODE寄存器來完成的,表3給出了MODE寄存器各位的操作功能說明。
表3 MODE寄存器的操作方法
位 | 名 稱 | 功 能 | 操作說明 |
0 | SM_DIFF | 差分輸出控制 | 0為正常,1為左聲道反相 |
1 | SM_FFWD | 快進 | 0為正??焖俣?,1為快進 |
2 | SM_RESET | 軟件復位 | 0時不復位,1時復位 |
3 | SM_MP12 | 是否解碼MP1和2 | 0為只解MP3,1時解碼MP1/2/3 |
4 | SM_PDOWN | 掉電控制 | 0為上電,1為掉電 |
5 | SM_DAC | 數模轉換模式控制 | 0為一般MPEG解碼,1為PCM解碼 |
6 | SM_DACMONO | 立體聲數模轉換控制 | 0為立體聲,1為單聲道 |
7 | SM_BASS | 高/低音增強器 | 0為關,1為開 |
8 | SM_DACT | DCLK觸發(fā)沿 | 0為從MSB開始,1為從LSB開始 |
9 | SM_BYTEORD | 字節(jié)傳送順序 | 0為上升沿,1為降沿 |
10 | SM_IBMODE | 工作模式 | 0為從模式,1為主模式 |
11 | SM_IBCLK | VS1001K在主模式工作時,用于DCLK頻率設置 | 0時選512kHz,1時選1024kHz |
SCI和外部微處理器的通訊協議包括指令字節(jié)、地址字節(jié)和16位字三部分。其中指令字節(jié)?。埃兀埃硶r為讀寄存器,?。埃兀埃矔r為寫寄存器;地址字節(jié)的主要用途是確定地址寄存器的地址,其范圍為0X00~0X0E.而16位字則用于指向指定寄存器寫入或讀出的值。圖3所示是SCI寄存器的讀寫操作時序。
3.2 SDI數據接口
當外部微處理器通過SDI接口向VS1001K傳送MP3數據時,在MODE寄存器的不同設定下,SDI可工作在主、從兩種模式。
當SDI在主模式下工作時,其DCLK信號由VS1001K內部產生(具體是512kHz還是1024kHz由MODE寄存器的SM IBCLK位決定),而當SDI工作在從模式時,DCLK由外部輸入。
SDI通常以字節(jié)為單位來進行數據傳送,并在DCLK的上升沿或下降沿(具體由MODE寄存器的SM_DACT位決定)將SDATA數據信號輸入。數據傳送時采用高位在前還是低位在前是由MODE寄存器的SM DACT位來決定的。SDI采用BSYNC信號來確保數據傳送時不出現錯位的情況。
圖3、圖4
當SDI在從模式下接收數據時,如果片內FIFO還有足夠的空間,VS1001K會發(fā)出一個高電平DREQ數據請求信號,以表示可以接收至少32個字節(jié)的MP3數據。
4 VS1001K的應用
圖4是VS1001K通過SDI和SCI接口與外部微處理器進行連接的應用電路。從圖中可見,由于VS1001K解碼器在其芯片內部已經集成了數模轉換器和耳機音頻驅動電路,因而其外圍電路十分簡單。實際上,圖4電路已經對VS1001K與微處理器的接口電路進行了優(yōu)化。
關于讀寫SCI的寄存器或向SDI傳送MP3數據的軟件編程,對于不同的外部微處理器,其軟件編程可能會有所不同。但都不是很復雜。限于篇幅,本文不再贅述。
評論