基于嵌入式的以太網(wǎng)數字語(yǔ)音廣播系統設計
語(yǔ)音數據的接收存儲采用循環(huán)隊列的方式,由于UDP數據傳輸的無(wú)序性,在語(yǔ)音數據接收端接收到語(yǔ)音數據以后需要對語(yǔ)音數據包進(jìn)行排序,以保證對語(yǔ)音數據的順序處理,還原出正確的語(yǔ)音信號。同時(shí)為了避免網(wǎng)絡(luò )抖動(dòng),每次在循環(huán)隊列中包含至少5個(gè)數據包的時(shí)候才對數據進(jìn)行處理。本文引用地址:http://dyxdggzs.com/article/149545.htm
設計中MS6336的數據輸入格式采用I2S格式,由于LM3S8962不支持該數據格式,所以通過(guò)GPIO口采用軟件模擬實(shí)現I2S功能。為了完整還原出語(yǔ)音信號,需要保證I2S信號時(shí)序嚴格精確,高低電平的轉換采用延時(shí)程序實(shí)現,I2S時(shí)序圖如圖5所示。
廣播系統播放終端時(shí)鐘頻率為40 MHz,由采樣率計算可得每發(fā)送一個(gè)數據位的時(shí)間為600 ns。LM3S8962給MS6336提供語(yǔ)音數據,按照采樣點(diǎn)通過(guò)GPIO口實(shí)現串行傳輸。每個(gè)采樣點(diǎn)包含四個(gè)字節,一個(gè)采樣點(diǎn)數據發(fā)送流程如圖6所示。
4 結果分析
該系統通過(guò)以太網(wǎng)傳輸的語(yǔ)音數據包大小為1024B,為了避免網(wǎng)絡(luò )抖動(dòng),終端在收到5個(gè)數據包的時(shí)候開(kāi)始廣播,廣播延時(shí)時(shí)間為30 ms左右,滿(mǎn)足功能指標。服務(wù)器端可以同時(shí)控制10個(gè)播放終端的工作,通過(guò)在服務(wù)器端選定相應終端的編號,可以成功實(shí)現廣播系統的全區廣播和局域廣播功能。
5 結語(yǔ)
這里從實(shí)際需求出發(fā),設計實(shí)現一個(gè)以太網(wǎng)數字語(yǔ)音廣播系統,實(shí)驗結果表明由系統播放終端決定是否進(jìn)行語(yǔ)音廣播來(lái)實(shí)現區域廣播是一種簡(jiǎn)單有效的實(shí)現語(yǔ)音信號全局廣播和區域廣播的方法。系統播放終端采 用GPIO口軟件模擬實(shí)現了I2S功能,能夠精確地實(shí)現I2S時(shí)序,完成語(yǔ)音信號的數據傳輸,實(shí)現語(yǔ)音信號的實(shí)時(shí)廣播。該設計結構合理,并且能夠方便地實(shí)現功能擴充,如定時(shí)播音、音樂(lè )播放、遠程管理、實(shí)時(shí)監控等。該設計具有重要的現實(shí)意義,為解決大型復雜的以太網(wǎng)廣播系統提供了基礎。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論