新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于ARM的多通道專業MP3播放器設計

        基于ARM的多通道專業MP3播放器設計

        作者:徐英欣 時間:2008-06-27 來源:微計算機信息 收藏

          1  引 言

        本文引用地址:http://www.104case.com/article/84900.htm

          隨著微電子技術的飛速發展,產品以其自然的人機交互界面和豐富的處理能力迅速得以推廣,并取得了巨大成功[1]。目前,在音頻領域中,占據了絕對的主導地位。但現有的驅動能力非常有限,只適合個人使用,不能滿足大型公共場所在不同區域播放不同背景音樂的多通道播放需要。基于以上分析,本文設計了一種基于S3C44B0X芯片的μClinux環境下的多通道專業

          2  系統功能分析與結構設計

          多通道專業MP3播放器是專為滿足公共語音廣播市場的需求而設計的,其主要功能包括:(1)音頻解碼和播放功能;(2)通過USB接口與大容量外部存儲設備進行數據傳輸;(3)操作界面統一管理功能;(4)多通道播放功能。

          為了提高系統運行效率,實現多通道播放管理,本系統選用三星公司的S3C44B0X作為核心處理器,主要負責數據轉換,輸出通道的選擇,以及LCD的控制。同時,選用意法半導體的STA013作為解碼芯片,配合AK4393實現模擬音頻信號的輸出,此外,使用SL811HS和ISP1520提供兩個主USB接口,以實現移動硬盤或U盤的掛接。其系統總體結構如圖1所示:


        圖1 系統總體結構圖

          3  系統硬件設計

          作為一種典型的系統,其開發的優點在于軟硬件的可裁剪性[2],在確保有一個穩定的最小系統以后,再對外圍的設備進行擴展。此多通道專業MP3播放器的核心芯片S3C44B0X是基于7而開發的多功能SOC(Signal Operation Control)。S3C44B0X除具備一般芯片所具有的總線、SDRAM控制器和3個串口等外設之外,還具有TFT LCD控制器、USB Slave、USB Host、I2C總線控制器、SPI控制器、IIS音頻接口、SD&MMC存儲卡接口等豐富的擴展功能[3]。由于S3C44B0X對于SL811構建的主USB接口技術已經相當成熟,在這里就不再敘述。此外,S3C44B0X提供的標準接口可以支持市面上絕大多數型號的LCD顯示屏,制作也相對簡單,所以本文只對MP3播放器的解碼實現部分和多通道的實現方法進行詳細說明。

          3.1  MP3解碼電路設計

          本系統解碼部分的硬件采用了ST公司的STA013解碼芯片以及AKM的AK4393芯片。STA013是一款優秀的MP3解碼芯片,它通過IIC總線來傳輸控制信息,通過串行數據線接收語音數據。AK4393是一款高品質的立體聲DAC芯片,支持24bit/96KHz取樣,采用 “復合比特”技術使芯片的解碼更為快速和準確。

          解碼部分與S3C44B0X的接口電路部分如圖2所示。通過S3C44B0X的I/O口對STA013發送音頻數據,解碼過程由STA013的DSP核來進行。STA013解碼后的數字音頻信號由SDO(串行數據輸出), SCKT(串行時鐘), LRCKT(左右聲道時鐘), OCLK(采樣時鐘)4個腳輸出到D/A轉換器AK4393。通過AK4393將得到的模擬音頻信號,再經過功率放大電路放大后就可以直接驅動無源音箱。


        圖2 解碼部分接口電路圖

          此外,由于實現多通道的播放形式,所以需要在設計過程中提供多套相同的解碼芯片和DAC。

          3.2  多通道功能的實現

          系統多通道播放采用的基本方法是(以四通道為例):當系統上電以后,解碼控制信號為了實現對每一個解碼通道的具體工作狀態控制,通過采用外接一個四路轉換開關(CD4066),控制各路通道解碼芯片的工作狀態。轉換開關四路通道的輸入部分連接CPU的IIC總線的IICSDA,通過與CPU相連的多個控制引腳(CTRL1,2,3,4),確定控制數據的傳輸方向。四路通道的時鐘信號則直接連接在CPU上,只有控制數據傳輸時才發生作用。

          在播放過程中,CPU實時響應各通道傳輸數據的請求,選通該路的解碼芯片,被選通的解碼芯片對從總線上獲取的mp3文件數據進行解碼,而未被選通的解碼通道則忽略總線上的音頻數據。當數據請求的中斷請求信號由高變低,系統開始響應下一次數據請求。通過這種各通道交替工作的方式,實現四通道同步播放的功能。工作原理圖如圖3所示:


        圖3 多通道工作原理圖

          4  系統軟件設計

          系統軟件包括操作系統、驅動程序及播放器應用程序3部分。

          4.1  操作系統的實現

          在嵌入式系統中,通常并沒有像BIOS那樣的固件程序,因此整個系統的加載啟動任務就完全由BootLoader來完成。BootLoader的任務是初始化芯片和主板,系統選用的是U-Boot-1.1.2啟動程序,因為U-Boot的優點在于對多系統和多平臺的支持。由于S3C44B0X沒有存儲管理單元(MMU),所以無法移植標準的Linux內核,而μClinux主要是針對沒有MMU的處理器設計的操作系統[4],因此可以作為播放器的操作系統平臺進行移植。通過修改相應的配置文件和驅動程序就可以實現移植過程中需要創建的開發板文件。

         

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

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 凤冈县| 临海市| 崇义县| 叶城县| 广东省| 舞阳县| 平泉县| 绥宁县| 陈巴尔虎旗| 新晃| 营口市| 平舆县| 仙桃市| 库车县| 东光县| 隆林| 德格县| 礼泉县| 资中县| 耒阳市| 奉新县| 抚顺县| 青河县| 横山县| 黄石市| 昌平区| 惠州市| 新巴尔虎左旗| 万宁市| 太原市| 汉川市| 元谋县| 洮南市| 黄龙县| 手机| 临汾市| 清河县| 尤溪县| 上蔡县| 洞口县| 龙州县|