目前手機(jī)市場(chǎng)有多種和弦控制芯片,,使用較多的有日本的Yamaha,我國(guó)臺(tái)灣的華邦和旺宏,、大陸的中星微和智多微,。各個(gè)公司的和弦芯片都有自己的特點(diǎn),其中智多微的C520能夠支持民族樂(lè)器播放,,所以選用C520作和弦音樂(lè)控制,。
2 C520和弦芯片
C520是上海智多微電子有限公司的一款和弦芯片,專(zhuān)門(mén)用于為手機(jī)提供清脆逼真的音樂(lè)鈴聲和豐富游戲音效,。該芯片集成了64和弦,、16音色波表和21首中國(guó)民樂(lè),具有3D立體聲環(huán)繞增效的MIDI合成器,、MIDI GM預(yù)置ROM,、16位高性能音頻數(shù)模轉(zhuǎn)換器和2/4位ADPCM解碼器等功能。
2.1 芯片特點(diǎn)
相對(duì)于市場(chǎng)上的其他手機(jī)和弦芯片,,C520具有以下幾個(gè)特點(diǎn):
① 能夠通過(guò)片上的音樂(lè)合成器對(duì)輸入MIDI信號(hào)合成,,或者通過(guò)ADPCM解調(diào)器對(duì)輸入的ADPCM信號(hào)解調(diào),然后通過(guò)內(nèi)置的DAC輸出波形,。
② 集成了高質(zhì)量的MIDI GM音色庫(kù),,容量高達(dá)3 Mb;提供GM音色庫(kù)之外的民族樂(lè)器音色庫(kù),支持二胡、古箏,、琵琶等20多種民族樂(lè)器;支持多音色和復(fù)音——最多同時(shí)支持16個(gè)音色和64復(fù)音,。
③ 具有多個(gè)功能端口,可支持手機(jī)振動(dòng)驅(qū)動(dòng)及LCD背光驅(qū)動(dòng),,可用于播放音樂(lè)同步的PWM來(lái)控制七彩燈,。
④ 與主控端的接口可以是并行接口或者串行接口;允許芯片工作于DAC輸入模式,接受兼容通用串行DAC數(shù)據(jù)格式的輸入數(shù)據(jù);片內(nèi)集成不同輸入數(shù)據(jù)的FIFO;待機(jī)模式下典型工作電流小于50 μA,。
2.2 功能單元
整個(gè)芯片由IOU(I/O接口單元),、 SG(音樂(lè)合成器)、ADEC(ADPCM解調(diào)器),、TG(時(shí)鐘模塊)和ANALOG(邏輯)模塊組成,。
IOU完成與外部CPU的接口,控制內(nèi)部的FIFO以及芯片其他功能接口;形成音樂(lè)的MIDI數(shù)據(jù)以及外部CPU對(duì)芯片的控制命令也是通過(guò)IOU中的寄存器送出,。SG模塊從IOU的FIFO中取的MIDI數(shù)據(jù),,采用波表合成的方式合成音樂(lè)。ADEC接收經(jīng)過(guò)壓縮的PCM數(shù)據(jù),,根據(jù)相應(yīng)的控制信號(hào)進(jìn)行解碼,,將解碼后的16位PCM碼輸出至SG的DSP單元。TG對(duì)輸入時(shí)鐘倍頻以及產(chǎn)生內(nèi)部時(shí)鐘,。ANALOG包括一個(gè)DAC和對(duì)DAC的輸出信號(hào)進(jìn)行低通濾波以及功率放大的AMP,。C520芯片內(nèi)部結(jié)構(gòu)如圖1所示。
3 應(yīng)用
3.1 典型電路
控制CPU選用三星公司的32位RISC芯片S3C4510B,。該芯片是專(zhuān)為嵌入式以太網(wǎng)應(yīng)用開(kāi)發(fā)的,,內(nèi)核為ARM7TDMI,支持高代碼密度的THUMB指令集,,適用于對(duì)價(jià)格及功耗敏感的應(yīng)用場(chǎng)合,。
圖1 C520內(nèi)部結(jié)構(gòu)框圖
圖2典型應(yīng)用電路
C520與S3C4510B可以是并行接口或者串行接口,但是并行接口比串行接口數(shù)據(jù)傳輸速度快,,因此在本設(shè)計(jì)中采用并行接口,。芯片應(yīng)用電路如圖2所示。
在這個(gè)電路中,,C520的CS_N用S3C4510B的I/O P0進(jìn)行控制,。其實(shí)如果在片選信號(hào)線夠用的情況下,,可選擇S3C4510B中ROM/SRAM/Flash片選信號(hào) Nrcs[5∶0]中的任何一根信號(hào)線,,這樣可以節(jié)省1根GPIO;同理,如果不想再控制C520復(fù)位,,可以將其復(fù)位信號(hào)與S3C4510B的復(fù)位線nRESET相連,,這樣S3C4510B與C520將在上電時(shí)同時(shí)復(fù)位;C520 PD腳是低功耗狀態(tài)控制引腳,“1”為正常工作狀態(tài),“0”為進(jìn)入低功耗狀態(tài);C520 IRQ腳為中斷輸出腳,,其可連接S3C4510B的外部中斷請(qǐng)求信號(hào)腳XINTREQ,。
3.2 芯片初始化
C520的初始化工作非常簡(jiǎn)單,包括:
① 根據(jù)外部時(shí)鐘設(shè)置PLL分頻比,。PLL分頻比由寄存器CLOCK(read:10h/write:11h)和寄存器Master Clock(read:18h/write:19h)共同決定,。內(nèi)部時(shí)鐘頻率fsys=fclock·(DN+1)/(DM+1)。其中DM為寄存器CLOCK[4∶0],,DN為寄存器Master clock tuning[5∶0],,fclock是外部輸入時(shí)鐘,內(nèi)部系統(tǒng)時(shí)鐘頻率fsys必須定在48 MHz"50 MHz之間,。
② 打開(kāi)模擬模塊,向寄存器Analog Power Down(read:66h/write:67h)的bit3寫(xiě)0,。
③ 設(shè)置Analog Select,根據(jù)寄存器Analog Select(read:60h/ write:61h)選擇模擬功能。
3.3 播放MIDI音樂(lè)文件
C520可以播放MIDI FORMAT 0和MMD格式的MIDI文件,。
MIDI FORMAT 0文件開(kāi)頭4字節(jié)數(shù)據(jù)ASCII值為“MThd”,,MMD文件開(kāi)頭4字節(jié)數(shù)據(jù)ASCII值為“MMhd”。ARM發(fā)送這兩種格式的MIDI數(shù)據(jù)過(guò)程不同,,在發(fā)送前根據(jù)文件開(kāi)頭4字節(jié)數(shù)據(jù)進(jìn)行區(qū)分,。
發(fā)送MIDI FORMAT 0格式的MIDI文件,文件中的所有數(shù)據(jù)都要發(fā)送,。
MMD格式的文件,,可分為四塊,每塊的開(kāi)頭都有8字節(jié)的頭數(shù)據(jù)部分,。第1塊頭數(shù)據(jù)部分前4字節(jié)的ASCII碼值是“MMhd”,,第2塊頭數(shù)據(jù)部分前4字節(jié)的 ASCII 碼值是 “MMly”, 第 3 塊頭數(shù)據(jù)部分前 4 字節(jié)的ASCII碼值是“MMdd”,。第4塊頭數(shù)據(jù)部分前4字節(jié)的ASCII碼值是“MMex”,。每一塊頭數(shù)據(jù)的第5、6,、7,、8字節(jié)是這塊數(shù)據(jù)的長(zhǎng)度(不包括頭數(shù)據(jù)),第5字節(jié)是低字節(jié)位,,第8字節(jié)是高字節(jié)位,,這4個(gè)字節(jié)組成的十六進(jìn)制數(shù)據(jù)加上頭數(shù)據(jù)長(zhǎng)度8,就是這塊數(shù)據(jù)的長(zhǎng)度,。MMdd塊數(shù)據(jù)的頭數(shù)據(jù)后面就是經(jīng)過(guò)壓縮的MIDI數(shù)據(jù);MMly塊數(shù)據(jù)是用于卡拉OK的專(zhuān)用數(shù)據(jù),,播放MIDI時(shí)無(wú)須發(fā)送該塊;Mmex為擴(kuò)展塊。
圖3播放MIDI文件流程
向C520發(fā)送MMD格式的MIDI數(shù)據(jù)時(shí),,先發(fā)送MMhd塊,,接著發(fā)送MMdd塊的MIDI數(shù)據(jù)部分(即該塊中除塊名及塊長(zhǎng)度的部分),,而MMly塊不用發(fā)送。
圖3為播放MIDI文件流程,。
結(jié)語(yǔ)
本文介紹了智多微公司的手機(jī)和弦芯片C520,,給出了其原理及內(nèi)部結(jié)構(gòu)圖。采用三星的RISC芯片S3C4510B做控制器,,實(shí)現(xiàn)了和弦音樂(lè)的播放,。文中給出了詳細(xì)的電路原理圖和播放MIDI音樂(lè)文件的流程,可以作為和弦芯片在移動(dòng)產(chǎn)品上的應(yīng)用參考,。