FMUSER更輕鬆地傳輸視頻和音頻!

[電子郵件保護] WhatsApp的+ 8618078869184
語言

    如何設計帶有以太網的數字語音廣播系統?

     

    本文提供了一種嵌入式以太網數字語音廣播系統解決方案,可以輕鬆實現廣播系統的區域廣播功能。 該系統基於arm架構,採用系統回放終端仲裁的方法來控制區域廣播的實現,廣播內容可以同時播放和保存。

    以太網數字語音廣播系統主要是指使用以太網作為傳輸介質提供音頻服務的廣播系統。 以太網可以用來解決語音信號的長距離傳輸問題。 允許設計人員創建大規模網絡結構,以實現以太網上數千種數字語音信號的傳輸,充分利用現有網絡資源,避免重複設置線路的麻煩,並實現廣播和計算機網絡的集成。 它解決了傳統廣播系統中音質差,易受干擾,維護和管理複雜以及交互性差的問題。 同時,可以選擇全部,部分或特定區域進行定向組廣播,這突破了傳統廣播系統只能對所有區域進行公共廣播的限制。 在實現區域廣播功能時,現有的以太網數字語音廣播系統大多使用控制信號來控制廣播終端加入或離開組播組。 在可以實現廣播之前,必鬚髮送控制信號以使終端加入多播組。 ,或者在服務器端建立一個複雜的映射表,以維持播放終端的狀態來實現區域廣播,實現起來更加複雜。

    1結構設計

    該系統採用C / S結構,由廣播系統服務器端和廣播系統廣播終端兩部分組成,如圖1所示。

    廣播系統的服務器是在PC上實現的,它是通過VC ++實現的語音信號收集,存儲和網絡傳輸程序。 該部分通過麥克風收集並存儲語音信號,然後通過UDP將語音數據傳輸到以太網,以實現語音數據的網絡傳輸功能。

    廣播系統回放終端是基於LM3S8962的嵌入式終端,可以接收從以太網發送給它的IP語音數據包,音頻解碼芯片MS6336完成語音數據的數字/模擬轉換和回放。

    2廣播系統廣播終端的硬件設計

    廣播系統廣播終端的主控制芯片採用LuminaryMicro提供的微控制器LM3S8962。 該系列芯片是第一個基於ARM CortexTM-M3的控制器,具有內部集成的以太網控制器。 它是業界第一個支持工業以太網(IEEE)並可以輕鬆實現網絡功能的ARM芯片。

    音頻解碼器芯片使用MOSA生產的MS6336芯片。 該芯片是一個16位立體聲音頻數模轉換器,支持的數字輸入格式為Right Justifl-ed,Left Justified,I2S。 MS6336控制接口採用I2C總線,該接口易於設置。 DAC部分具有準確和穩定的電流,再加上出色的對稱解碼方法,可以再現高質量的音頻信號。

    主控制芯片LM3S8962通過磁性組件連接到RJ45接口,並用於從以太網接收語音數據。 LM3S8962為音頻解碼器芯片MS6336提供控制信號和語音數據信號。 LM3S8962支持I2C功能。 PB2和PB3端口分別提供I2C時鐘和數據信號。 這兩個引腳可以直接連接到MS2的I6336C功能引腳,並且需要一個上拉電阻。 LM3S8962不支持MS6336要求的數據輸入格式。 系統中MS6336的數據輸入格式採用I2S。 因此,要向MS6336提供語音數據,必須使用LM3S8962的GPIO端口軟件來模擬MS2所需的I6336S數據輸入格式。 在設計中,PA5,PA6和PA7端口用於模擬此功能。 這三個引腳分別對應於I2S通道選擇信號,時鐘信號和數據信號。 將這三個引腳連接到MS2的I6336S功能引腳。

    以太網數字語音廣播系統的回放終端的硬件結構如圖2所示。

    3廣播系統軟件設計

    廣播系統軟件分為兩部分:廣播系統服務器軟件和廣播終端軟件。

    該設計實現了語音數據的實時回放,因此需要保證語音數據傳輸的實時性能,但是對數據完整性的要求不是太嚴格,少量的丟包不會影響語音數據的傳輸。整體播放效果好,所以系統的語音數據傳輸採用UDP傳輸方式。 同時,該系統可在局域網中運行,並且臨時用戶很少。 因此,採用靜態IP地址分配來簡化回放終端軟件的實現。

    3.1在廣播系統服務器端收集,存儲和傳輸語音數據

    語音數據的收集是使用低級WAVE音頻API函數實現的。 為了不引起語音數據丟失,本設計使用雙緩衝來存儲語音數據。 實現過程如圖3所示。

    當一個記錄緩衝區已滿時,系統會立即將另一個記錄緩衝區發送到記錄設備以繼續記錄,並且應用程序應讀取已滿記錄緩衝區中的數據並進行處理。 然後,調用waveInAddBuffer函數將緩衝區重新分配給記錄設備以進行回收。

    為了防止在錄製過程中丟失語音數據,僅使用雙重緩衝是不夠的。 還應注意,當一個緩衝區已滿時,應用程序將處理該緩衝區中的數據,而第二個緩衝區將被使用。該緩衝區用於記錄,並且數據處理時間必須小於第二個緩衝區完全充滿所需的時間。記錄,否則在第二個緩衝區已滿後,第一個緩衝區尚未重新分配給記錄設備,這將導致語音數據丟失。 當語音信號的採樣率較大時,適當增加緩衝區的大小可以有效地解決此問題。

    為了保存廣播內容供以後使用,有必要將廣播內容保存在WAV文件中。 WAV文件具有固定的標頭格式。 保存語音數據之前,需要設置WAV文件的標題,否則無法播放保存的WAV文件。 每次記錄緩衝區已滿時,首先找到WAV文件的結尾,然後將收集的數據依次寫入文件的結尾。 整個廣播過程結束後,所有語音數據都保存在WAV文件中,從而實現了語音數據的存儲。

    當記錄緩衝區已滿時,有必要通過網絡發送收集的語音數據。 在設計中,首先使用Csocket類創建一個套接字,然後只需要將收集的數據封裝到IP數據包中並發送出去。 此設計中語音信號的採樣率為44.1 kHz,16位雙通道。 為了避免語音數據丟失,記錄緩衝區的大小設置為1024B。

    3.2實現區域廣播

    以太網數字語音廣播系統的重要應用不僅是實現全區域廣播,而且是實現本地廣播功能,即向指定終端廣播。 因此,UDP多播分組用於語音IP數據分組的網絡傳輸中的數據傳輸。 使用組播數據包傳輸數據,局域網中組中包含的所有終端都可以接收數據,從而實現了整個區域的廣播。 為了實現本地廣播功能,在設計中在語音數據之前添加了一個結構,如下所示,並使用一個配置文件存儲系統每個終端的IP地址。

    02廣播系統廣播終端硬件設計

    廣播系統廣播終端的主控制芯片採用LuminaryMicro提供的微控制器LM3S8962。 該系列芯片是第一個基於ARM CortexTM-M3的控制器,具有內部集成的以太網控制器。 它是業界第一個支持工業以太網(IEEE)並可以輕鬆實現網絡功能的ARM芯片。

    音頻解碼器芯片使用MOSA生產的MS6336芯片。 該芯片是一個16位立體聲音頻數模轉換器,支持的數字輸入格式為Right Justifl-ed,Left Justified,I2S。 MS6336控制接口採用I2C總線,該接口易於設置。 DAC部分具有準確和穩定的電流,再加上出色的對稱解碼方法,可以再現高質量的音頻信號。

    主控制芯片LM3S8962通過磁性組件連接到RJ45接口,並用於從以太網接收語音數據。 LM3S8962為音頻解碼器芯片MS6336提供控制信號和語音數據信號。 LM3S8962支持I2C功能。 PB2和PB3端口分別提供I2C時鐘和數據信號。 這兩個引腳可以直接連接到MS2的I6336C功能引腳,並且需要一個上拉電阻。 LM3S8962不支持MS6336要求的數據輸入格式。 系統中MS6336的數據輸入格式採用I2S。 因此,要向MS6336提供語音數據,必須使用LM3S8962的GPIO端口軟件來模擬MS2所需的I6336S數據輸入格式。 在設計中,PA5,PA6和PA7端口用於模擬此功能。 這三個引腳分別對應於I2S通道選擇信號,時鐘信號和數據信號。 將這三個引腳連接到MS2的I6336S功能引腳。

    以太網數字語音廣播系統的回放終端的硬件結構如圖2所示。

     

    3廣播系統軟件設計

    廣播系統軟件分為兩部分:廣播系統服務器軟件和廣播終端軟件。

    該設計實現了語音數據的實時回放,因此需要保證語音數據傳輸的實時性能,但對數據完整性的要求不是太嚴格,少量的丟包不會影響語音數據的傳輸。整體播放效果好,所以系統的語音數據傳輸採用UDP傳輸方式。 同時,該系統可在具有較少臨時用戶的局域網中工作。 因此,採用靜態IP地址分配來簡化回放終端軟件的實現。

    3.1在廣播系統服務器端收集,存儲和傳輸語音數據

    語音數據的收集是使用低級WAVE音頻API函數實現的。 為了不引起語音數據丟失,本設計使用雙緩衝來存儲語音數據。 實現過程如圖3所示。

     

    當一個記錄緩衝區已滿時,系統會立即將另一個記錄緩衝區發送到記錄設備以繼續記錄,並且應用程序應讀取已滿記錄緩衝區中的數據並進行處理。 然後,調用waveInAddBuffer函數將緩衝區重新分配給記錄設備以進行回收。

    為了防止在錄製過程中丟失語音數據,僅使用雙重緩衝是不夠的。 還應注意,當一個緩衝區已滿時,應用程序將處理該緩衝區中的數據,而第二個緩衝區將被使用。該緩衝區用於記錄,並且數據處理時間必須小於第二個緩衝區完全充滿所需的時間。記錄,否則在第二個緩衝區已滿後,第一個緩衝區尚未重新分配給記錄設備,這將導致語音數據丟失。 當語音信號的採樣率較大時,適當增加緩衝區的大小可以有效地解決此問題。

    為了保存廣播內容供以後使用,有必要將廣播內容保存在WAV文件中。 WAV文件具有固定的標頭格式。 保存語音數據之前,需要設置WAV文件的標題,否則無法播放保存的WAV文件。 每次記錄緩衝區已滿時,首先找到WAV文件的結尾,然後將收集的數據依次寫入文件的結尾。 整個廣播過程結束後,所有語音數據都保存在WAV文件中,從而實現了語音數據的存儲。

    當記錄緩衝區已滿時,有必要通過網絡發送收集的語音數據。 在設計中,首先使用Csocket類創建一個套接字,然後只需要將收集的數據封裝到IP數據包中並發送出去。 此設計中語音信號的採樣率為44.1 kHz,16位雙通道。 為了避免語音數據丟失,記錄緩衝區的大小設置為1024B。

    3.2實現區域廣播

    以太網數字語音廣播系統的重要應用不僅是實現全區域廣播,而且是實現本地廣播功能,即向指定終端廣播。 因此,UDP多播分組用於語音IP數據分組的網絡傳輸中的數據傳輸。 使用組播數據包傳輸數據,局域網中組中包含的所有終端都可以接收數據,從而實現了整個區域的廣播。 為了實現本地廣播功能,在設計中在語音數據之前添加了一個結構,如下所示,並使用一個配置文件存儲系統每個終端的IP地址。

    結構STRING

    {字符串IPNO1;

    字符串IPNO2;

    ...

    字符串IPNO9;

    字符串IPNO10};

    當需要在某些終端上進行區域廣播時,請在廣播系統服務器端的面板上選擇這些終端的相應編號(如圖4所示)。 此時,將從配置文件中讀取所選終端的IP地址,並將其分配給結構中的相應變量。 當終端接收到一個IP組播數據包時,首先判斷該結構是否與其自身的IP地址具有相同的變量,如果存在,則接收並播放數據,否則,將數據丟棄,從而實現廣播區域功能。 與使用控制信號控制回放終端加入或退出組播組,或者動態維護複雜的映射表來實現區域廣播功能的方法相比。 該方法不需要在每次廣播之前交互式地控制回放終端,也不需要動態跟踪終端的狀態。 終端首次加入系統時,只需將終端對應的IP地址寫入配置文件即可。 該函數易於實現。

    3.3廣播系統廣播終端軟件的實現

    廣播系統廣播終端分為兩部分來實現,音頻數據接收部分用於接收語音數據並進行存儲和轉發,音頻解碼器實現語音信號的D / A轉換和回放。 音頻數據接收部分採用Socket編程,從以太網接收語音數據。 收到語音數據包後,必須首先判斷該數據包是否適合自己。 終端將IP數據包中結構STRING的成員變量與其自己的IP地址進行比較,如果任何成員變量等於其自己的IP地址,則它將數據存儲在數據包中,否則將其丟棄。

    語音數據被接收並存儲在循環隊列中。 由於UDP數據傳輸的混亂,需要在語音數據接收端接收到語音數據後對語音數據包進行分類,以確保對語音數據和正確的還原語音信號進行順序處理。 同時,為了避免網絡抖動,每次在循環隊列中至少有5個數據包時都要處理數據。

    本設計中MS6336的數據輸入格式採用I2S格式。 由於LM3S8962不支持該數據格式,因此採用軟件仿真通過GPIO端口實現I2S功能。 為了完全恢復語音信號,有必要確保I2S信號的時序嚴格而準確,並且通過延遲程序實現高低電平之間的轉換。 I2S時序圖如圖5所示。

    廣播系統廣播終端的時鐘頻率為40 MHz,根據採樣率計算出的發送每個數據位的時間為600 ns。 LM3S8962向MS6336提供語音數據,並根據採樣點通過GPIO端口實現串行傳輸。 每個採樣點包含四個字節,採樣點的數據發送過程如圖6所示。

    4結果分析

    系統通過以太網發送的語音數據包的大小為1024B。 為了避免網絡抖動,終端在接收到5個數據包時開始廣播。 廣播延遲時間約為30毫秒,符合功能指標。 服務器端可以同時控制10個廣播終端的工作。 通過在服務器側選擇相應的終端號,可以成功地實現廣播系統的整個區域廣播和本地廣播功能。

    5結論

    從實際需求出發,我們設計並實現了以太網數字語音廣播系統。 實驗結果表明,系統的回放終端決定是否進行語音廣播以實現區域廣播,是實現語音信號的全球廣播和區域廣播的一種簡單有效的方法。 系統播放器終端採用GPIO端口軟件仿真來實現I2S功能,可以準確實現I2S時序,完成語音信號的數據傳輸,實現語音信號的實時廣播。 該設計結構合理,可以輕鬆實現定時廣播,音樂播放,遠程管理,實時監控等功能的擴展。該設計具有重要的現實意義,為解決大型複雜的以太網廣播提供了基礎。系統。

     

     

     

     

    列出所有問題

    暱稱

    電子郵件

    問題

    我們的其他產品:

    專業調頻電台設備包

     



     

    酒店IPTV解決方案

     


      輸入電子郵件以獲取驚喜

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org ->荷蘭語
      sq.fmuser.org ->阿爾巴尼亞人
      ar.fmuser.org ->阿拉伯語
      hy.fmuser.org - >亞美尼亞
      az.fmuser.org ->阿塞拜疆
      eu.fmuser.org ->巴斯克
      be.fmuser.org ->白俄羅斯語
      bg.fmuser.org - >保加利亞
      ca.fmuser.org ->加泰羅尼亞語
      zh-CN.fmuser.org ->中文(簡體)
      zh-TW.fmuser.org - >中國(繁體)
      hr.fmuser.org ->克羅地亞語
      cs.fmuser.org ->捷克
      da.fmuser.org ->丹麥語
      nl.fmuser.org - >荷蘭
      et.fmuser.org ->愛沙尼亞語
      tl.fmuser.org ->菲律賓
      fi.fmuser.org ->芬蘭語
      fr.fmuser.org - >法國
      gl.fmuser.org ->加利西亞語
      ka.fmuser.org ->喬治亞
      de.fmuser.org ->德語
      el.fmuser.org - >希臘
      ht.fmuser.org ->海地克里奧爾語
      iw.fmuser.org ->希伯來語
      hi.fmuser.org ->印地語
      hu.fmuser.org - >匈牙利
      is.fmuser.org ->冰島語
      id.fmuser.org ->印尼語
      ga.fmuser.org ->愛爾蘭
      it.fmuser.org - >意大利
      ja.fmuser.org ->日語
      ko.fmuser.org ->韓文
      lv.fmuser.org ->拉脫維亞
      lt.fmuser.org - >立陶宛
      mk.fmuser.org ->馬其頓語
      ms.fmuser.org ->馬來語
      mt.fmuser.org ->馬耳他語
      no.fmuser.org - >挪威
      fa.fmuser.org ->波斯語
      pl.fmuser.org ->波蘭語
      pt.fmuser.org ->葡萄牙語
      ro.fmuser.org - >羅馬尼亞
      ru.fmuser.org ->俄語
      sr.fmuser.org ->塞爾維亞語
      sk.fmuser.org ->斯洛伐克
      sl.fmuser.org - >斯洛文尼亞
      es.fmuser.org ->西班牙語
      sw.fmuser.org ->斯瓦希里語
      sv.fmuser.org ->瑞典語
      th.fmuser.org - >泰國
      tr.fmuser.org ->土耳其語
      uk.fmuser.org ->烏克蘭語
      ur.fmuser.org ->烏爾都語
      vi.fmuser.org - >越南
      cy.fmuser.org ->威爾士語
      yi.fmuser.org - >意第緒語

       
  •  

    FMUSER更輕鬆地傳輸視頻和音頻!

  • 聯絡我們

    地址:
    305廣州市環浦路273號匯蘭大廈510620室

    電子郵件:
    [電子郵件保護]

    電話/ WhatApps:
    + 8618078869184

  • 分類

  • 訂閱成為第一個收到我們最新消息的人。

    名字或全名

    Email

  • 貝寶的解決方案  西聯匯款中國銀行
    電子郵件:[電子郵件保護]   WhatsApp:+8618078869184 Skype:sky198710021 跟我聊天
    版權所有2006-2020技術支持 www.fmuser.org

    聯絡我們