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