新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 一種基于EFSL的嵌入式MP3播放器設計方法

        一種基于EFSL的嵌入式MP3播放器設計方法

        作者: 時間:2012-11-02 來源:網絡 收藏
        -stroke-width: 0px">  2.2.4 配置EFS文件

          存放在。MP3Playerefslinc目錄下的debug.h文件支持半主機調試功能。通過相關代碼可以設置所有調試消息并通過JTAG調試器的I/O終端窗口進行顯示。通過。MP3Playerefslconf下的config.h配置文件,可以設置RAM 內存使用水平和緩沖區大小。

          2.2.5 配置系統文件

          由于文件初始化需要良好的LPC2148運行環境,需要把LPC2148提高到最大性能(60Hz),同時需要開啟PLL功能,設置IRQ 中斷管理定時器為0和VPB分頻器為1.同時Philips_LPC2148_Startup.s必須包括相關預處理編譯指令。要在IDE中設置編譯器指令,只需要在項目瀏覽器窗口選擇Philips_LPC2148_Startup.s的文件,然后選擇預處理選項卡,并填寫預處理器定義此屬性。

          2.2.6 編譯批處理文件

          要進行編譯批處理文件,需要具備兩個文件,一個是項目文件MP3Player,一個是針對ARM 的RowleyCross Studio文件Rowley Associates Limited.Cross-Works for ARM 1.6文件中有可以自行批處理文件:

          build_all_debug.bat,build_all_release.bat.

        3 系統流程

          系統啟動后,先初始化硬件模塊。由LPC2148讀取SD卡的一些基本信息,如容量、扇區大小、FAT表及根目錄所在的啟始扇區等。通過獲得這些信息后,就可以找出SD卡是否有可以播放的音樂文件。若有音樂文件,微處理器將通過SPI總線方式讀出該文件的音頻信息,并將歌曲的碼流信息送入到VS1003芯片中,通過VS1003芯片解碼以及其內含的高質量的立體DAC和耳機驅動電路,實現MP3歌曲的播放功能,軟件系統流程圖如圖3所示。

          一種基于EFSL的嵌入式MP3播放器設計方法

          圖3 軟件系統流程圖

          4 調 試

          Main.c文件(源代碼略)顯示的工作過程。init_IO()函數LPC2148定時器0進行初始化,使之產生周期性的中斷,并啟動了一些數據結構。周期性中斷速率要與解碼器數據流一樣,然后由efs_init(efs,″″)進行MP3文件調用,若找不到文件則會通過JTAG interface 接口向CrossStudio IDE 傳入“Could not open filesystem”參數,否則正常顯示文件信息。其文件處理結果顯示如圖4所示。通過調試顯示信息可知能正常顯示文件信息。另經過實物制作并測試,此能流暢播放SD 卡中的MP3文件,驗證了本設計是正確可行的。

          一種基于EFSL的嵌入式MP3播放器設計方法

          圖4 調試終端顯示信息

          5 結 語

          本文基于開源軟件項目設計了一款,介紹了播放器系統的硬件架構和軟件架構以及相關碼源移植和修改。通過CrossWorks forARM 1.6軟件調試,驗證了設計的可行性。整個設計體現了碼源移植簡單、配置方便的優點。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 石台县| 临邑县| 定兴县| 同仁县| 九寨沟县| 克山县| 桑日县| 建瓯市| 和田市| 瑞金市| 东源县| 香格里拉县| 儋州市| 正定县| 金寨县| 东山县| 抚顺县| 互助| 新平| 银川市| 宣威市| 玉山县| 西丰县| 拉萨市| 望都县| 册亨县| 锡林郭勒盟| 黄浦区| 榆林市| 卢氏县| 怀来县| 梅州市| 葵青区| 萝北县| 平顶山市| 卢龙县| 利川市| 西充县| 高陵县| 吐鲁番市| 巴里|