日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]嵌入式以太網(wǎng)數(shù)字語音廣播系統(tǒng)的設(shè)計與實現(xiàn)

 以太網(wǎng)數(shù)字語音廣播系統(tǒng)主要是指以以太網(wǎng)為傳播介質(zhì)提供音頻服務(wù)的廣播系統(tǒng),可以很好地利用以太網(wǎng)解決語音信號遠距離傳輸難題。允許設(shè)計者創(chuàng)建大型網(wǎng)絡(luò)結(jié)構(gòu)來實現(xiàn)數(shù)以千路的數(shù)字語音信號在以太網(wǎng)上傳輸,充分利用了現(xiàn)有網(wǎng)絡(luò)資源,避免重復(fù)架設(shè)線路的麻煩,實現(xiàn)了廣播與計算機網(wǎng)絡(luò)的多網(wǎng)合一,徹底解決了傳統(tǒng)廣播系統(tǒng)存在的音質(zhì)不佳、容易受干擾、維護管理復(fù)雜以及互動性差等問題。同時可以實現(xiàn)選擇全部、部分或特定區(qū)域進行定向分組廣播,突破了傳統(tǒng)廣播系統(tǒng)只能對全部區(qū)域進行公共廣播的局限。現(xiàn)有的以太網(wǎng)數(shù)字語音廣播系統(tǒng)在實現(xiàn)區(qū)域廣播功能上大都采用控制信號控制播放終端加入或者離開組播組的方式實現(xiàn),需要在實現(xiàn)廣播之前發(fā)送控制信號使終端加入組播組然后才能實現(xiàn)廣播,或者在服務(wù)器端建立一張復(fù)雜的映射表來維護播放終端的狀態(tài)以實現(xiàn)區(qū)域廣播,功能實現(xiàn)較為復(fù)雜。
    在此給出一種嵌入式以太網(wǎng)數(shù)字語音廣播系統(tǒng)解決方案,能夠較簡單地實現(xiàn)廣播系統(tǒng)的區(qū)域廣播功能。該系統(tǒng)基于ARM架構(gòu),采用系統(tǒng)播放終端仲裁的方法控制區(qū)域廣播的實現(xiàn),廣播內(nèi)容能夠同步播放和保存。

1 結(jié)構(gòu)設(shè)計
    該系統(tǒng)采用C/S結(jié)構(gòu),由廣播系統(tǒng)服務(wù)器端與廣播系統(tǒng)播放終端兩部分組成,如圖1所示。


    廣播系統(tǒng)服務(wù)器端在PC機上實現(xiàn),是一個由VC++實現(xiàn)的語音信號采集、存儲、網(wǎng)絡(luò)傳輸?shù)某绦?。該部分通過麥克風(fēng)對語音信號進行采集存儲,然后將語音數(shù)據(jù)通過UDP的方式傳輸?shù)揭蕴W(wǎng)上,實現(xiàn)語音數(shù)據(jù)的網(wǎng)絡(luò)傳輸功能。
    廣播系統(tǒng)播放終端為基于LM3S8962的嵌入式終端,實現(xiàn)從以太網(wǎng)上接收發(fā)送給它的IP語音數(shù)據(jù)包,并由音頻解碼芯片MS6336完成語音數(shù)據(jù)的數(shù)/模轉(zhuǎn)換及播放。

2 廣播系統(tǒng)播放終端硬件設(shè)計
    廣播系統(tǒng)播放終端主控制芯片采用LuminaryMicro公司所提供的微控制器LM3S8962。該系列芯片是首款基于ARM CortexTM-M3的控制器,內(nèi)部集成以太網(wǎng)控制器,是業(yè)界首款支持工業(yè)以太網(wǎng)(IEEE)的ARM芯片,可以方便地實現(xiàn)網(wǎng)絡(luò)功能。
    音頻解碼芯片采用MOSA公司生產(chǎn)的MS6336芯片。該芯片是一款16位立體聲音頻數(shù)字模擬轉(zhuǎn)換器,支持的數(shù)字輸入格式有Right Justifl-ed,Left Justified,I2S。MS6336控制接口采用I2C總線,接口容易設(shè)定。DAC部分具有精確穩(wěn)定的電流量,結(jié)合極好的對稱譯碼方式,能夠重現(xiàn)出高質(zhì)量的音頻信號。
    主控制芯片LM3S8962通過磁性元件與RJ45接口相連,用于從以太網(wǎng)上接收語音數(shù)據(jù)。LM3S8962為音頻解碼芯片MS6336提供控制信號和語音數(shù)據(jù)信號。LM3S8962支持I2C功能,PB2和PB3口分別提供了I2C的時鐘和數(shù)據(jù)信號,可以將這兩個引腳和MS6336的I2C功能引腳直接相連,并且需要加上拉電阻。LM3S8962不支持MS6336需要的數(shù)據(jù)輸入格式,系統(tǒng)中MS6336的數(shù)據(jù)輸入格式采用I2S,所以要給MS6336提供語音數(shù)據(jù),需要采用LM3S8962的GPIO口軟件模擬實現(xiàn)MS6336需要的I2S數(shù)據(jù)輸入格式。在設(shè)計中采用PA5,PA6,PA7口來模擬實現(xiàn)該功能。三個引腳分別對應(yīng)I2S的聲道選擇信號、時鐘信號和數(shù)據(jù)信號,將這三個引腳和MS6336的I2S功能引腳相連。
    以太網(wǎng)數(shù)字語音廣播系統(tǒng)播放終端硬件結(jié)構(gòu)如圖2所示。



3 廣播系統(tǒng)軟件設(shè)計
    廣播系統(tǒng)軟件分為廣播系統(tǒng)服務(wù)器端軟件和播放終端軟件兩部分。
    該設(shè)計實現(xiàn)語音數(shù)據(jù)的實時播放,所以要求語音數(shù)據(jù)傳輸?shù)膶崟r性得到保障,而對于數(shù)據(jù)的完整性要求不是太嚴格,少量的丟包也不會影響整體的播放效果,所以該系統(tǒng)的語音數(shù)據(jù)傳輸采用UDP傳輸方式,同時本系統(tǒng)工作在局域網(wǎng)內(nèi),臨時用戶較少,故采用IP地址靜態(tài)分配,簡化播放終端軟件部分的實現(xiàn)。
3.1 廣播系統(tǒng)服務(wù)器端語音數(shù)據(jù)的采集、存儲與發(fā)送
    語音數(shù)據(jù)的采集利用低層WAVE音頻API函數(shù)實現(xiàn),為了不造成語音數(shù)據(jù)的丟失,該設(shè)計利用雙緩沖來存儲語音數(shù)據(jù),實現(xiàn)流程如圖3所示。


    當一個錄音緩沖區(qū)滿時,系統(tǒng)立刻將另一個錄音緩沖區(qū)發(fā)送給錄音設(shè)備繼續(xù)錄音,而應(yīng)用程序此時要讀取已經(jīng)錄音滿的緩沖區(qū)中的數(shù)據(jù),并進行處理。然后調(diào)用waveInAddBuffer函數(shù)將該緩沖區(qū)重新賦給錄音設(shè)備,循環(huán)利用。[!--empirenews.page--]
    為了防止錄音過程中語音數(shù)據(jù)的丟失,只是簡單地利用雙緩沖是不夠的,還要注意的一點是,當一個緩沖區(qū)錄音滿以后,應(yīng)用程序?qū)υ摼彌_區(qū)的數(shù)據(jù)進行處理,同時第二個緩沖區(qū)用于錄音,數(shù)據(jù)處理的時間一定要小于第二個緩沖區(qū)錄音滿需要的時間,否則在第二個緩沖區(qū)錄音滿以后第一個緩沖區(qū)還沒有重新賦給錄音設(shè)備,就會造成語音數(shù)據(jù)的丟失。當語音信號采樣率大的時候適當增加緩沖區(qū)的大小,可以有效地解決這個問題。
    為了將廣播的內(nèi)容進行保存以備后需,需要將廣播內(nèi)容保存在一個WAV文件中。WAV文件具有固定的頭格式,在保存語音數(shù)據(jù)之前,需要先將WAV文件的頭部設(shè)定好,否則保存的WAV文件無法播放。在每一次錄音緩沖區(qū)滿時,首先找到WAV文件的結(jié)尾處,然后將采集到的數(shù)據(jù)依次寫在文件尾部。當整個廣播過程結(jié)束時,所有的語音數(shù)據(jù)都被保存在了WAV文件中,實現(xiàn)了語音數(shù)據(jù)的存儲。
    當一個錄音緩沖區(qū)滿后,這時就需要將已經(jīng)采集到的語音數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送出去。在設(shè)計中首先利用Csocket類創(chuàng)建一個套接字,接下來只需要將采集到的數(shù)據(jù)封裝成IP包發(fā)送出去。該設(shè)計中語音信號的采樣率為44.1 kHz,16位雙聲道。為了避免語音數(shù)據(jù)丟失,錄音緩沖區(qū)的大小設(shè)定為1024B。
3.2 區(qū)域廣播的實現(xiàn)
    以太網(wǎng)數(shù)字語音廣播系統(tǒng)的一個重要應(yīng)用就是不僅可以實現(xiàn)全區(qū)廣播,同時可以實現(xiàn)局域廣播功能,即對指定的終端進行廣播。因此,在語音IP數(shù)據(jù)包的網(wǎng)絡(luò)傳輸中采用UDP組播包的形式進行數(shù)據(jù)傳輸。采用組播包傳輸數(shù)據(jù),在局域網(wǎng)內(nèi)所有包含在該組中的終端都可以接收到數(shù)據(jù),實現(xiàn)全區(qū)廣播。為了實現(xiàn)局域廣播功能,該設(shè)計中在語音數(shù)據(jù)前面添加了一個結(jié)構(gòu)體,如下所示,同時還有一個配置文件用于存儲系統(tǒng)各終端的IP地址。
   
    當需要對某幾個終端進行區(qū)域廣播時,在廣播系統(tǒng)服務(wù)器端的面板上(如圖4所示)將這幾個終端對應(yīng)的編號選上。這時就將被選中終端的IP地址從配置文件中讀出并賦給該結(jié)構(gòu)體中對應(yīng)的變量。當終端接收到IP組播包時,首先判斷該結(jié)構(gòu)體是否有和自己的IP地址相同的變量,如果有,則進行數(shù)據(jù)的接收播放,如果沒有則對數(shù)據(jù)進行丟棄處理,這樣就實現(xiàn)了區(qū)域廣播功能。相對于采用控制信號控制播放終端加入或者離開組播組,或者通過動態(tài)維護復(fù)雜的映射表以實現(xiàn)區(qū)域廣播功能的方法。該方法不需要在每次廣播之前對播放終端進行交互控制,也不需要動態(tài)跟蹤終端狀態(tài),只需要在終端第一次加入系統(tǒng)時將終端對應(yīng)的IP地址寫入配置文件即可,功能實現(xiàn)簡單。


3.3 廣播系統(tǒng)播放終端軟件的實現(xiàn)
    廣播系統(tǒng)播放終端分為兩個部分來實現(xiàn),音頻數(shù)據(jù)接收部分用于接收語音數(shù)據(jù)并進行存儲轉(zhuǎn)發(fā),音頻解碼器實現(xiàn)語音信號的D/A轉(zhuǎn)換并播放。音頻數(shù)據(jù)接收部分采用Socket編程實現(xiàn)從以太網(wǎng)上接收語音數(shù)據(jù),在接收到語音數(shù)據(jù)包以后,首先要對數(shù)據(jù)包進行判斷,是否是發(fā)給自己的數(shù)據(jù)包。終端通過將IP包中結(jié)構(gòu)體struct STRING的成員變量與自己的IP地址進行比較,如果有成員變量和自己的IP地址相等,則存儲該數(shù)據(jù)包中的數(shù)據(jù),否則丟棄。
    語音數(shù)據(jù)的接收存儲采用循環(huán)隊列的方式,由于UDP數(shù)據(jù)傳輸?shù)臒o序性,在語音數(shù)據(jù)接收端接收到語音數(shù)據(jù)以后需要對語音數(shù)據(jù)包進行排序,以保證對語音數(shù)據(jù)的順序處理,還原出正確的語音信號。同時為了避免網(wǎng)絡(luò)抖動,每次在循環(huán)隊列中包含至少5個數(shù)據(jù)包的時候才對數(shù)據(jù)進行處理。
    設(shè)計中MS6336的數(shù)據(jù)輸入格式采用I2S格式,由于LM3S8962不支持該數(shù)據(jù)格式,所以通過GPIO口采用軟件模擬實現(xiàn)I2S功能。為了完整還原出語音信號,需要保證I2S信號時序嚴格精確,高低電平的轉(zhuǎn)換采用延時程序?qū)崿F(xiàn),I2S時序圖如圖5所示。


    廣播系統(tǒng)播放終端時鐘頻率為40 MHz,由采樣率計算可得每發(fā)送一個數(shù)據(jù)位的時間為600 ns。LM3S8962給MS6336提供語音數(shù)據(jù),按照采樣點通過GPIO口實現(xiàn)串行傳輸。每個采樣點包含四個字節(jié),一個采樣點數(shù)據(jù)發(fā)送流程如圖6所示。



4 結(jié)果分析
    該系統(tǒng)通過以太網(wǎng)傳輸?shù)恼Z音數(shù)據(jù)包大小為1024B,為了避免網(wǎng)絡(luò)抖動,終端在收到5個數(shù)據(jù)包的時候開始廣播,廣播延時時間為30 ms左右,滿足功能指標。服務(wù)器端可以同時控制10個播放終端的工作,通過在服務(wù)器端選定相應(yīng)終端的編號,可以成功實現(xiàn)廣播系統(tǒng)的全區(qū)廣播和局域廣播功能。

5 結(jié)語
    這里從實際需求出發(fā),設(shè)計實現(xiàn)一個以太網(wǎng)數(shù)字語音廣播系統(tǒng),實驗結(jié)果表明由系統(tǒng)播放終端決定是否進行語音廣播來實現(xiàn)區(qū)域廣播是一種簡單有效的實現(xiàn)語音信號全局廣播和區(qū)域廣播的方法。系統(tǒng)播放終端

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

美國紐約州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)發(fā)布 2022 年第三季度業(yè)績報告。 IBM 董事長兼首席執(zhí)行官 Arvind Kri...

關(guān)鍵字: IBM 軟件 BSP 云平臺

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機 CAN

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關(guān)鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉