和弦芯片C520的結構與典型應用
1 和弦鈴聲概述
和弦原來(lái)是樂(lè )理上的一個(gè)概念,指的是按照三度關(guān)系疊置起來(lái)的三個(gè)或三個(gè)以上的音的結合;而在音頻器材的工作設計領(lǐng)域中,和弦指的是多個(gè)音源同時(shí)發(fā)音,也叫復音、多音(polyphony)。和弦鈴聲在手機中得到了廣泛的應用。它的音色飽滿(mǎn)圓潤,立體感強、已經(jīng)全面取代了以往的單音鈴聲,目前和弦鈴聲文件格式有多種,如midi、mmf、amr、mp3、imy等,其中midi是目前支持度最高的鈴音文件格式,它的文件占用空間小,表現力強,幾乎已經(jīng)成為目前和弦鈴聲手機的標準配置。
手機中的midi和弦音樂(lè )是通過(guò)內置高集成度的和弦芯片播放midi音樂(lè )文件里實(shí)現的,和弦芯片使用的聲音合成和音色調用方式?jīng)Q定了鈴聲的播放效果。早期的fm(frequency
modulation)合成法將多個(gè)頻率的單音組成復合音來(lái)模擬各種樂(lè )器的聲音,產(chǎn)生的聲音音色少、音質(zhì)差。另一種是波形表(wavetable)合成法。這種方法是先把各種真正樂(lè )器的音樂(lè )錄制下來(lái)再進(jìn)行合成處理,音色好,音域廣。根據波表產(chǎn)生方式的不同分為軟件和弦和硬件和弦兩種,軟件和弦比硬件和弦節省系統開(kāi)銷(xiāo),更容易集成到移動(dòng)設備上。
目前手機市場(chǎng)有多種和弦控制芯片,使用較多的有日本的yamaha,我國臺灣的華邦和旺宏、大陸的中星微和智多微。各個(gè)公司的和弦芯片都有自己的特點(diǎn),其中智多微的c520能夠支持民族樂(lè )器播放、所以選用c520作和弦音樂(lè )控制。
2 c520和弦芯片
c520是上海智多微電子有限公司的一款和弦芯片,專(zhuān)門(mén)用于為手機提供清脆逼真的音樂(lè )鈴聲和豐富游戲音效。該芯片集成了64和弦、16音色波表和21首中國民樂(lè ),具有3d立體聲環(huán)繞增效的midi合成器,midi
gm預置rom,16位高性能音頻數模轉換器和2/4位adpcm解碼器等功能。
2.1 芯片特點(diǎn)
相對于市場(chǎng)上的其他手機和弦芯片,c520具有以下幾個(gè)特點(diǎn):
1)能夠通過(guò)片上的音樂(lè )合成器對輸入midi信號合成,或者通過(guò)adpcm解調器對輸入的adpcm信號解調,然后通過(guò)內部的dac輸出波形。
2)集成了高質(zhì)量的midm gm音色庫,容量高達3mb;提供gm音色庫之外的民族樂(lè )器音色庫,支持二胡、古箏、琵琶等20多種民族樂(lè )器,支持多音色和復音--最多同時(shí)支持16個(gè)音色和64復音。
3)具有多個(gè)功能端口,可支持手機振動(dòng)驅動(dòng)及l(fā)cd背光驅動(dòng),可用于播放音樂(lè )同步的pwm來(lái)控制七彩燈。
4)與主控端的接口可以是并行接口或者串行接口,允許芯片工作于dac輸入模式,接收兼容通用串行dac數據格式的輸入數據;片內集成不同輸入數據的fifo;待機模式下典型工作電流小于50μa。
2.2 功能單元
整個(gè)芯片由iou(i/o接口單元)、sg(音樂(lè )合成器)、adec(adpcm解調器)、tg(時(shí)鐘模塊)和analog(邏輯)模塊組成。
iou完成與外部cpu的接口,控制內部的fifo以及芯片其他功能接口;形成音樂(lè )的midi數據以及外部cpu對芯片的控制命令也是通過(guò)iou中的寄存器送出,sg模塊從iou的fifo中取的midi數據,采用波表合成的方式合成音樂(lè ),adec接收經(jīng)過(guò)壓縮的pcm數據,根據相應的控制信號進(jìn)行解碼,將解碼后的16位pcm碼輸出至sg的dsp單元,tg對輸入時(shí)鐘倍頻以及產(chǎn)生內部時(shí)鐘,analog包括一個(gè)dac和對dac的輸出信號進(jìn)行低通濾波以及功率放大的amp,c520芯片內部結構如圖1所示。

3.1 典型電路
控制cpu選用三星公司的32位risc芯片s3c4510b。該芯片是專(zhuān)為嵌入式以太網(wǎng)應用開(kāi)發(fā)的,內核為arm7tdmi,支持高代碼密度的thumb指令集,適用于對價(jià)格及功耗敏感的應用場(chǎng)合。
c520與s3c4510b可以是并行接口或者串行接口,但是并行接口比串行接口數據傳輸速度快,因此在本設計中采用并行接口,芯片應用電路如圖2所示。

在這個(gè)電路中,c520的cs_n用s3c4510b的i/o p0進(jìn)行控制。其實(shí)如果在片選信號線(xiàn)夠用的情況下,可選擇中s3c4510b中rom/sram/flash片選信號nrcs[5:0]中的任何一根信號線(xiàn),這樣可以節省1根gpio;同理,如果不想再控制c520復位,可以將其復位信號與s3c4510b的復位線(xiàn)nreset相連,這樣s3c4510b與c520將在上電時(shí)同時(shí)復位;c520
pd腳是低功耗狀態(tài)控制引腳,"1"為正常工作狀態(tài),"0"為進(jìn)入低功耗狀態(tài);c520 irq腳為中斷輸出腳,其可連接s3c4510b的外部中斷請求信號腳xintreq[0]。
3.2 芯片初始化
c520的初始化工作非常簡(jiǎn)單,包括:
1)根據外部時(shí)鐘設置pll分頻比,pll分頻比由寄存器clock(read:10h/write:11h)和寄存器master clock(read:18h/write:19h)共同決定。
內部時(shí)鐘頻率fsys=fclock·(dn+1)/(dm+1)。其中dm為寄存器clock[4:0],dn為寄存器master
clock tuning[5:0],fclock是外部輸入時(shí)鐘,內部系統時(shí)鐘頻率fsys必須定在48mhz-50mhz之間。
2)打開(kāi)模擬模塊,向寄存器analog power down(read:66h/write:67h)的bit3寫(xiě)0。
3)設置analog select,根據寄存器analog select(read:60h/write:
61h)選擇模擬功能。
3.3 播放midi音樂(lè )文件
c520可以播放midi format0和mmd格式的midi文件。
midi format 0文件開(kāi)頭4字節數據ascⅱ值為"mthd",mmd文件開(kāi)頭4字節數據ascⅱ值為"mmhd"。arm發(fā)送這兩種格式的midi數據過(guò)程不同,在發(fā)送前根據文件開(kāi)頭4字節數據進(jìn)行區分。
發(fā)送midi format 0格式的midi文件,文件中的所有數據都要發(fā)送。
mmd格式的文件,可分為四塊,每塊的開(kāi)頭都有8字節的頭數據部分,第1塊頭數據部分前4字節的ascⅱ碼值是"mmhd",第2塊頭數據部分前4字節的ascⅱ碼值是"mmly",第3塊頭數據部分前4字節的ascⅱ碼值是"mmdd"。第4塊頭數據部分前4字節的ascⅱ碼值是"mmex",每一塊頭數據的第5、6、7、8字節是這塊數據的長(cháng)度(不包括頭數據),第5字節是低字節位,第8字節是高字節位,這4個(gè)字節組成的十六進(jìn)制數據加上頭數據長(cháng)度8,就是這塊數據的長(cháng)度,mmdd塊數據的頭數據后面就是經(jīng)過(guò)壓縮的midi數據,mmly塊數據是用于卡拉ok的專(zhuān)用數據,播放midi時(shí)無(wú)須發(fā)送該塊:mmex為擴展塊。
向c520發(fā)送mmd格式的midi數據時(shí),先發(fā)送mmhd塊,接著(zhù)發(fā)送mmdd塊的midi數據部分(即該塊中除塊名及塊長(cháng)度的部分),而mmly塊不用發(fā)送。
圖3為播放midi文件流程。

結語(yǔ)
本文介紹了智多微公司的手機和弦芯片c520,給出了其原理及內部結構圖,采用三星的risc芯片s3c4510b做控制器,實(shí)現了和弦音樂(lè )的播放。文中給出了詳細的電路原理圖和播放midi音樂(lè )文件的流程,可以作為和弦芯片在移動(dòng)產(chǎn)品上的應用參考。
評論