新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 增城市| 乐亭县| 高陵县| 肇州县| 阳春市| 清徐县| 四会市| 莆田市| 民县| 大英县| 丰原市| 长乐市| 宾川县| 喀什市| 保德县| 定兴县| 闽清县| 六安市| 高安市| 忻州市| 三江| 揭阳市| 武城县| 南安市| 酉阳| 团风县| 通辽市| 宜宾县| 万载县| 紫阳县| 焦作市| 延长县| 海宁市| 平利县| 永康市| 武穴市| 阳朔县| 通江县| 聂拉木县| 平遥县| 高阳县|