中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > DIY之樂:基于PIC32的以太網(wǎng)音箱設(shè)計案例,硬件框圖、器件選型、數(shù)據(jù)結(jié)構(gòu)、軟件流程

        DIY之樂:基于PIC32的以太網(wǎng)音箱設(shè)計案例,硬件框圖、器件選型、數(shù)據(jù)結(jié)構(gòu)、軟件流程

        作者: 時間:2014-05-09 來源:網(wǎng)絡(luò) 收藏

        本文引用地址:http://www.antipu.com.cn/article/256940.htm

        4.2以太網(wǎng)終端設(shè)備軟件設(shè)計

        4.1.1緩沖區(qū)數(shù)據(jù)結(jié)構(gòu)設(shè)計

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


        考慮到網(wǎng)絡(luò)的傳輸?shù)目赡艹霈F(xiàn)一些抖動、PC軟件定時器的誤差和需要給MP3解碼預(yù)留時間,因此需要在終端設(shè)備中緩沖一定的數(shù)據(jù)量。又由于,MP3音頻要實時播放因此不需要緩沖太大的數(shù)據(jù)量。

        在本次設(shè)計中,在終端設(shè)備里將上面的數(shù)據(jù)結(jié)構(gòu)定義為20個緩沖區(qū)。當數(shù)據(jù)緩沖解碼到數(shù)據(jù)緩沖區(qū)個數(shù)的一半時,開始播放PCM碼流。

        4.1.2以太網(wǎng)終端設(shè)備軟件設(shè)計

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

        圖13以太網(wǎng)音響終端設(shè)備程序流程圖

        圖13描述了以太網(wǎng)終端設(shè)備程序流程圖,通過SW3按鍵向PC程序發(fā)送請求數(shù)據(jù)。圖14中描述了以太網(wǎng)終端設(shè)備的SP3 TX空的中斷服務(wù)程序。

        圖14以太網(wǎng)終端設(shè)備SPI TX空中斷服務(wù)程序流程圖

        5總結(jié)

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

        DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY


        模擬信號相關(guān)文章:什么是模擬信號


        數(shù)字通信相關(guān)文章:數(shù)字通信原理



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

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉