<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 如何選擇VoIP解決方案中的處理器

          如何選擇VoIP解決方案中的處理器

          作者: 時間:2011-11-28 來源:網絡 收藏

          隨著在企業(yè)語音通信市場繼續(xù)取代模擬電話,在住宅環(huán)境和中小型企業(yè)(SMBs)里也迅速采用了該技術。的優(yōu)勢,比如多線路、使用廉價數字介質語音通信系統(tǒng)以及顯著降低了通信速率,不僅對大企業(yè),對較小的客戶都有相當的吸引力。隨著設備、手持機、IPPBXs和網關等設備需求的持續(xù)增長,對更高聲音質量的要求顯然成為首要考慮,市場反饋已經表明,如果VoIP比典型的POTS(普通老式電話服務)的品質更低,則主流顧客不會轉向VoIP。VoIP硬件開發(fā)商的挑戰(zhàn)是一種平臺,在系統(tǒng)性能和總的材料清單(BOM)成本上實現恰當的結合,為競爭激烈的市場中提供一種成功的。 VoIP系統(tǒng)中的核心是設計中的關鍵部件,在很大程度上影響處理的語音質量、特性集合和材料清單。本文將從多個層面考查VoIP的硬件需求和有效方法時又必須考慮的折衷。

          本文引用地址:http://www.ex-cimer.com/article/155471.htm


          VoIP應用對要求


          VoIP硬件產品開發(fā)商需要面對的主要問題與特性集合、語音質量、產品費用、研制計劃,以及設計的可擴展性有關。理想的方式是開發(fā)出一個公共的硬件/軟件平臺,以能夠滿足多個不同的產品。然而,每個終端設備(IP電話、IAD (集成接入設備),家用網關和IP-PBX)都有不同的要求,滿足所有這些要求的平臺就是一個很大的挑戰(zhàn)。多數終端設備生命周期非常短,很快就會被具有新性能或不同特性的新版本取代,這種趨勢就需要有一種方法,使其具備更大的靈活性,而且有助于快速設計,該方法確保將新產品的上市時間減到最小。


          以下表格介紹了可選用的VoIP硬件工作平臺。所有這些方案都針對具有已知性能等級和合成語音質量的產品權衡了使用的材料成本清單、設計靈活性、研制計劃和上市時間。

          表1:基于關鍵決策標準的VoIP設備處理器比較。


          表1:基于關鍵決策標準的VoIP設備處理器比較。


          不同的方法都有各自的優(yōu)勢和缺點,所作的決定必須考慮產品和市場優(yōu)先順序?;谖⒖刂破鞯钠脚_為嵌入式設計人員提供一種熟悉和便宜的方法,也提供了友好的開發(fā)環(huán)境,其本身也是典型的低成本,且能簡易處理IP包。然而,對于語音編碼/解碼、回聲消除信號處理等方面的處理,微控制器不是一個很好的選擇,它對于VoIP產品的演化是一個有限的平臺。DSP架構更擅長數據流處理,這對于語音處理更容易。基于這個原因,設計中加入DSP就更有道理,這使分配給處理器的處理任務更適合執(zhí)行。但這會使材料清單有所增加,不僅僅是增加額外處理器,同時需要更多的存儲器和外設。而多芯片(無論是MCU加DSP,還是MCU加ASIC)都將增加更多的材料清單,以及更多的工作量。


          專用的、功能固定的硬件是另外一種方法,它對設計靈活性有明顯的負面影響,如果是定制芯片設計,還有NRE(一次性工程費用)和上市時間方面的影響。如果是商業(yè)上可用的ASSP(特定應用標準產品),設計差異化產品的能力將受到明顯的影響。另外一種較好的方式是搭建或購買在單芯片上集成了MCU和DSP的SOC,這能減少產品封裝數量,在靈活性上有一定的損失,但提供了可編程能力。MCU和DSP程序可以運用到不同的目標應用中。


          討論的最后一個方法是使用單個“匯聚”的處理器來處理控制邏輯和語音引擎。“匯聚”處理器,就是指在獨立的DSPs領域具有信號處理性能的單個處理器。不同的MCU制作商都集成了某些信號處理功能,比如指令集擴展和在MCU核上有MAC單元,但這種方法缺乏為高性能信號處理所需要的根本結構基礎,來處理先進的語音質量增強,比如高性能的回聲消除器和噪聲抑制。


          ADI公司的Blackfin處理器在信號和控制程序執(zhí)行方面具備很高的性能,符合“匯聚”處理器標準。由于“匯聚”處理滿足VoIP硬件平臺中所有的關鍵性成功因素,具有明顯的領先優(yōu)勢,因此,本文余下的部分將就這種方法展開討論。

          Blackfin,優(yōu)化的媒體處理“匯聚”處理器結構


          ADI公司的Blackfin是一個單處理器系統(tǒng)結構,具有其他所有RISC微控制器不具有的DSP特性,同時具有DSPs上通常不具備的重要微控制器特征,在同一個處理器核內管理所有的包處理和媒體處理,因此是IP媒體處理的一個更高效率的


          在上面介紹的MCU加DSP方法中,設計人員實現VoIP方案時有個重要的瓶頸,數據必須在MCU和DSP子系統(tǒng)之間來回傳輸,這無疑引入了延遲,增加了系統(tǒng)開銷。Blackfin還是一個非常靈活的高性能處理引擎,所有Blackfin周期都可以分配為執(zhí)行控制程序處理或信號處理,沒有MCU加DSP設計方案中出現的某些單獨限制。另外,Blackfin還提供了一種完全可編程的,去除了將設計人員鎖定到固定編解碼器或算法的硬件塊,增加或改變某些特性都可通過軟件改變,通過可選堆疊式FLASH存儲器,或板級裝配FLASH,大大簡化了設計工作。Blackfin處理器還具有大量方案導向的外設和接口,可以減少開發(fā)工作量、復雜性和器件數,包括10/100以太網MAC、多DMA通道、LCD接口、多個串行口、并行口和音頻口,以及低功耗等特色,所有這些對解決方案都有價值。


          另外,產業(yè)領先的應用級、系統(tǒng)級和開發(fā)工具軟件為Blackfin處理器提供支持。來自于Global IP Solutions的VoIP解決方案和開源Asterisk軟件包都針對Blackfin處理器作了優(yōu)化。采用系統(tǒng)級內核和固件解決方案,ADI公司的軟件(VDK)、Unicoi (Fusion)和uClinux全部支持Blackfin處理器。


          ADI公司的開發(fā)工具(VisualDSP++)和開源GNU工具允許快速代碼開發(fā)和驗證。ADI公司為了滿足不同客戶在硬件和軟件上的設計要求,支持不同的選項,覆蓋了從一系列獨立的軟件組件到完整的FOB產品參考設計,且具有工業(yè)領先水平的性能,功耗和價格。

          圖1:具有面向VoIP外設的BF516低功耗Blackfin處理器。


          圖1:具有面向VoIP外設的BF516低功耗Blackfin處理器。


          BF516具有很高的性能,支持400MHz操作,它集成了關鍵外設,以及與其他系統(tǒng)設備的無縫接口,因此降低了BOM成本。


          BF516的主要特點包括:


          · 高達到400MHz的Blackfin內核和116KB的L1片上存儲器,提供更多的性能去處理高復雜度的媒體算法;

          · 帶有DMA支持的以太網MAC,提供了具有更少處理器開銷的網絡連接;

          · 針對IP電話用戶接口的PPI/LCD控制器;

          · 兩個SPORTS口,可連接到編解碼器和SLIC;

          · 一個針對IP-PBX的可連接MMC、SD和CE-ATA設備的移動存貯接口(RSI)控制器;

          · 多達40個GPIO口,可用于IP電話鍵盤和LED控制;

          · 2個UARTS;

          · 2個SPI接口;

          · TWI (I2C)控制器;

          · 8個定時器;

          · 用于安全和IP保護的LockBox/8kB大小的OTP。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();