手機和弦芯片C520原理及應用
C520與S3C4510B可以是并行接口或者串行接口,但是并行接口比串行接口數(shù)據(jù)傳輸速度快,因此在本設計中采用并行接口。芯片應用電路如圖2所示。本文引用地址:http://m.butianyuan.cn/article/165855.htm
在這個電路中,C520的CS_N用S3C4510B的I/O P0進行控制。其實如果在片選信號線夠用的情況下,可選擇S3C4510B中ROM/SRAM/Flash片選信號 Nrcs[5∶0]中的任何一根信號線,這樣可以節(jié)省1根GPIO;同理,如果不想再控制C520復位,可以將其復位信號與S3C4510B的復位線nRESET相連,這樣S3C4510B與C520將在上電時同時復位;C520 PD腳是低功耗狀態(tài)控制引腳,“1”為正常工作狀態(tài),“0”為進入低功耗狀態(tài);C520 IRQ腳為中斷輸出腳,其可連接S3C4510B的外部中斷請求信號腳XINTREQ。
3.2 芯片初始化
C520的初始化工作非常簡單,包括:
?、?根據(jù)外部時鐘設置PLL分頻比。PLL分頻比由寄存器CLOCK(read:10h/write:11h)和寄存器Master Clock(read:18h/write:19h)共同決定。內(nèi)部時鐘頻率fsys=fclock·(DN+1)/(DM+1)。其中DM為寄存器CLOCK[4∶0],DN為寄存器Master clock tuning[5∶0],fclock是外部輸入時鐘,內(nèi)部系統(tǒng)時鐘頻率fsys必須定在48 MHz50 MHz之間。
?、?打開模擬模塊,向寄存器Analog Power Down(read:66h/write:67h)的bit3寫0。
?、?設置Analog Select,根據(jù)寄存器Analog Select(read:60h/ write:61h)選擇模擬功能。
3.3 播放MIDI音樂文件
C520可以播放MIDI FORMAT 0和MMD格式的MIDI文件。
MIDI FORMAT 0文件開頭4字節(jié)數(shù)據(jù)ASCII值為“MThd”,MMD文件開頭4字節(jié)數(shù)據(jù)ASCII值為“MMhd”。ARM發(fā)送這兩種格式的MIDI數(shù)據(jù)過程不同,在發(fā)送前根據(jù)文件開頭4字節(jié)數(shù)據(jù)進行區(qū)分。
發(fā)送MIDI FORMAT 0格式的MIDI文件,文件中的所有數(shù)據(jù)都要發(fā)送。
MMD格式的文件,可分為四塊,每塊的開頭都有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ù)的長度(不包括頭數(shù)據(jù)),第5字節(jié)是低字節(jié)位,第8字節(jié)是高字節(jié)位,這4個字節(jié)組成的十六進制數(shù)據(jù)加上頭數(shù)據(jù)長度8,就是這塊數(shù)據(jù)的長度。MMdd塊數(shù)據(jù)的頭數(shù)據(jù)后面就是經(jīng)過壓縮的MIDI數(shù)據(jù);MMly塊數(shù)據(jù)是用于卡拉OK的專用數(shù)據(jù),播放MIDI時無須發(fā)送該塊;Mmex為擴展塊。
圖3播放MIDI文件流程
向C520發(fā)送MMD格式的MIDI數(shù)據(jù)時,先發(fā)送MMhd塊,接著發(fā)送MMdd塊的MIDI數(shù)據(jù)部分(即該塊中除塊名及塊長度的部分),而MMly塊不用發(fā)送。
圖3為播放MIDI文件流程。
結(jié)語
本文介紹了智多微公司的手機和弦芯片C520,給出了其原理及內(nèi)部結(jié)構(gòu)圖。采用三星的RISC芯片S3C4510B做控制器,實現(xiàn)了和弦音樂的播放。文中給出了詳細的電路原理圖和播放MIDI音樂文件的流程,可以作為和弦芯片在移動產(chǎn)品上的應用參考。
評論