新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 手機和弦芯片C520原理及播放MIDI音樂文件的流程

        手機和弦芯片C520原理及播放MIDI音樂文件的流程

        作者: 時間:2010-10-09 來源:網絡 收藏

          與S3C4510B可以是并行接口或者串行接口,但是并行接口比串行接口數據傳輸速度快,因此在本設計中采用并行接口。應用電路如圖2所示。

          在這個電路中,的CS_N用S3C4510B的I/O P0進行控制。其實如果在片選信號線夠用的情況下,可選擇S3C4510B中ROM/SRAM/Flash片選信號 Nrcs[5∶0]中的任何一根信號線,這樣可以節省1根GPIO;同理,如果不想再控制復位,可以將其復位信號與S3C4510B的復位線nRESET相連,這樣S3C4510B與C520將在上電時同時復位;C520 PD腳是低功耗狀態控制引腳,“1”為正常工作狀態,“0”為進入低功耗狀態;C520 IRQ腳為中斷輸出腳,其可連接S3C4510B的外部中斷請求信號腳XINTREQ。

          3.2 初始化

          C520的初始化工作非常簡單,包括:

          ① 根據外部時鐘設置PLL分頻比。PLL分頻比由寄存器CLOCK(read:10h/write:11h)和寄存器Master Clock(read:18h/write:19h)共同決定。內部時鐘頻率fsys=fclock·(DN+1)/(DM+1)。其中DM為寄存器CLOCK[4∶0],DN為寄存器Master clock tuning[5∶0],fclock是外部輸入時鐘,內部系統時鐘頻率fsys必須定在48 MHz50 MHz之間。

          ② 打開模擬模塊,向寄存器Analog Power Down(read:66h/write:67h)的bit3寫0。

          ③ 設置Analog Select,根據寄存器Analog Select(read:60h/ write:61h)選擇模擬功能。

          3.3

          C520可以 FORMAT 0和MMD格式的

          MIDI FORMAT 0開頭4字節數據ASCII值為“MThd”,MMD文件開頭4字節數據ASCII值為“MMhd”。ARM發送這兩種格式的MIDI數據過程不同,在發送前根據文件開頭4字節數據進行區分。

          發送MIDI FORMAT 0格式的MIDI文件,文件中的所有數據都要發送。

          MMD格式的文件,可分為四塊,每塊的開頭都有8字節的頭數據部分。第1塊頭數據部分前4字節的ASCII碼值是“MMhd”,第2塊頭數據部分前4字節的 ASCII 碼值是 “MMly”, 第 3 塊頭數據部分前 4 字節的ASCII碼值是“MMdd”。第4塊頭數據部分前4字節的ASCII碼值是“MMex”。每一塊頭數據的第5、6、7、8字節是這塊數據的長度(不包括頭數據),第5字節是低字節位,第8字節是高字節位,這4個字節組成的十六進制數據加上頭數據長度8,就是這塊數據的長度。MMdd塊數據的頭數據后面就是經過壓縮的MIDI數據;MMly塊數據是用于卡拉OK的專用數據,MIDI時無須發送該塊;Mmex為擴展塊。

          

          圖3播放MIDI文件

          向C520發送MMD格式的MIDI數據時,先發送MMhd塊,接著發送MMdd塊的MIDI數據部分(即該塊中除塊名及塊長度的部分),而MMly塊不用發送。

          圖3為播放MIDI文件

          結語

          本文介紹了智多微公司的C520,給出了其及內部結構圖。采用三星的RISC芯片S3C4510B做控制器,實現了的播放。文中給出了詳細的電路圖和播放MIDI文件的,可以作為芯片在移動產品上的應用參考。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乡宁县| 万年县| 休宁县| 综艺| 日照市| 原阳县| 锡林郭勒盟| 民乐县| 印江| 崇信县| 麻栗坡县| 濮阳市| 宁蒗| 瑞金市| 镇安县| 光泽县| 涿州市| 莒南县| 敦煌市| 高淳县| 阳朔县| 晋中市| 长垣县| 小金县| 陕西省| 酒泉市| 新竹市| 石嘴山市| 延川县| 贵州省| 叙永县| 红原县| 四川省| 双峰县| 汶上县| 景谷| 新宁县| 安庆市| 元氏县| 芦山县| 曲沃县|