基于嵌入式的以太網(wǎng)數(shù)字語音廣播系統(tǒng)設(shè)計
語音數(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ù)進行處理。本文引用地址:http://butianyuan.cn/article/149545.htm
設(shè)計中MS6336的數(shù)據(jù)輸入格式采用I2S格式,由于LM3S8962不支持該數(shù)據(jù)格式,所以通過GPIO口采用軟件模擬實現(xiàn)I2S功能。為了完整還原出語音信號,需要保證I2S信號時序嚴(yán)格精確,高低電平的轉(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左右,滿足功能指標(biāo)。服務(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)播放終端采 用GPIO口軟件模擬實現(xiàn)了I2S功能,能夠精確地實現(xiàn)I2S時序,完成語音信號的數(shù)據(jù)傳輸,實現(xiàn)語音信號的實時廣播。該設(shè)計結(jié)構(gòu)合理,并且能夠方便地實現(xiàn)功能擴充,如定時播音、音樂播放、遠(yuǎn)程管理、實時監(jiān)控等。該設(shè)計具有重要的現(xiàn)實意義,為解決大型復(fù)雜的以太網(wǎng)廣播系統(tǒng)提供了基礎(chǔ)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論