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