新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > DIY之樂:基于PIC32的以太網音箱設計案例,硬件框圖、器件選型、數據結構、軟件流程

        DIY之樂:基于PIC32的以太網音箱設計案例,硬件框圖、器件選型、數據結構、軟件流程

        作者: 時間:2014-05-09 來源:網絡 收藏

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

        4.2以太網終端設備軟件設計

        4.1.1緩沖區數據結構設計

        下面是一個數據單元的結構體。ucIndex為數據包序號;uiHeader該數據類型;uiSize為解碼的數據個數,數據單位為字節;ucBuffer為MP3解碼后的PCM碼流;fiInfo為針砭信息。解碼后的最大的數據長度為2304,因此將ucBuffer定義最大長度為2400。


        考慮到網絡的傳輸的可能出現一些抖動、PC軟件定時器的誤差和需要給MP3解碼預留時間,因此需要在終端設備中緩沖一定的數據量。又由于,MP3音頻要實時播放因此不需要緩沖太大的數據量。

        在本次設計中,在終端設備里將上面的數據結構定義為20個緩沖區。當數據緩沖解碼到數據緩沖區個數的一半時,開始播放PCM碼流。

        4.1.2以太網終端設備軟件設計

        以太網終端設備模塊有三個分別是EthernetSpeaker.c、EthernetSpeakerPlayer.c和MP3Api.c。EthernetSpeaker.c的功能是負責網絡通訊模塊,EthernetSpeakerPlayer.c是DA驅動模塊,MP3Api.c中包含MP3庫載入初始化,和MP3解碼函數。

        圖13以太網音響終端設備程序流程圖

        圖13描述了以太網終端設備程序流程圖,通過SW3按鍵向PC程序發送請求數據。圖14中描述了以太網終端設備的SP3 TX空的中斷服務程序。

        圖14以太網終端設備SPI TX空中斷服務程序流程圖

        5總結

        本文實現了以太網音響在現有的以太網上可以播放MP3文件,解決了傳統模擬廣播系統的模擬的信號的缺點。實現了PC服務器勻速發送MP3幀文件,終端設備軟解碼并實時播放。最后的成品可以在局域網上流暢播放、控制終端設備。設計基本達到了賽前的設計需求。當然,本次設計還是有遺憾和不足之處,遺憾的是由于不支持I2S,所以只有用SPI驅動DA,導致了只能播放單聲道。

        DIY機械鍵盤相關社區:機械鍵盤DIY


        模擬信號相關文章:什么是模擬信號


        數字通信相關文章:數字通信原理



        上一頁 1 2 3 4 5 6 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 馆陶县| 开封县| 吉木萨尔县| 怀仁县| 景宁| 沾化县| 阆中市| 彰武县| 乐陵市| 清镇市| 军事| 宜兴市| 孙吴县| 商丘市| 宁安市| 花莲市| 湟源县| 开平市| 安福县| 涞水县| 麦盖提县| 紫金县| 绥中县| 建平县| 思茅市| 武穴市| 新源县| 章丘市| 甘谷县| 青浦区| 大关县| 海兴县| 茌平县| 师宗县| 原平市| 邵武市| 若尔盖县| 淳化县| 鄯善县| 碌曲县| 改则县|