Global Sources
電子工程專輯
 
電子工程專輯 > 處理器/DSP
 
 
處理器/DSP  

使用SIP實現具有成本效益的嵌入式VoIP產品設計

上網時間: 2004年09月19日     打印版  Bookmark and Share  字型大小:  

關鍵字:SIP  會話啟動協議  ATA  模擬電話配接器  VoIP 

下一代類比電話配接器(ATA)將需要認真處理目前尚未解決的分配和安全問題。設計者需要檢查這些要求對硬體和軟體產生的影響,並保證使現有的平台對這些有待證實的考慮具有可擴展能力。本文將探討在VoIP ATA設計中需要考慮的一些因素並對相關硬體和軟體供應商所提供的方案做出評價。

寬頻標準的採納為大量實現VoIP建立了良好的基礎,但最大的影響來自於硬體和軟體技術的演變。許多研究工作都專注於開發能夠同時滿足消費者與廠商所期望的品質、價格與效能的解決方案。而過去幾年來大量問世的晶片組、韌體與信號協議,逐漸使VoIP步入現實應用。

我們應該留意類比電話適配器(ATA),這種裝置能以最基本的形式實現VoIP。ATA的在家庭中的作用與微波爐、錄放影機或答錄機一樣。這類產品具有比其他產品更多的設計挑戰。由於通常沒有專業的網路工程師協助客戶安裝,因此這類產品必須擁有非常高的強韌度、價格必須夠低。這些要求將是大多數工程師的主要奮鬥目標。在這裡,我們將探討一些設計考量,並選擇一些可供這類產品使用的硬體與軟體。

硬體設計考量

開發消費性VoIP ATA硬體時必須權衡許多因素,才能生產出具備遠距音質(toll quality)的低成本產品。首要工作是選擇核心處理器,因為它佔據材料清單中的大多數成本,同時決決定其他的控制功能如外部周邊、非揮發性記憶體與執行期間的數據儲存等功能。

設計人員會選擇其熟悉的特定處理器,但最好選擇擁有一系列產品,且整合了外部DSP的處理器,內建的DSP功能可用來處理壓縮、解壓縮以及回聲消除等音頻處理功能。在一般情況下,32位元的RISC處理器可處理像TCP/IP與SIP(Session Initiation Protocol)這類的網路與信號協議。同時,我們能夠用一個純RISC架構的處理器來處理音頻與其他控制功能,它很有可能僅使用一個簡單的編解碼器(codec)來支援單音頻通道。

雙處理器核心為工程師帶來更大的靈活性,並強化了單一封裝元件所能提供的利益。本文採用的處理器內含了RISC與DSP核心。目前在市場上有許多低成本元件可供選擇,而這些元件都驅動現有消費型VoIP產品的成長。雙核心運算環境需要兩個處理器的軟體開發、除錯工具,以及能管理處理器之間通訊的能力。這將增加軟體開發的負擔,因此,許多半導體供應商都提供解決方案來協助此一開發過程。

另一種選擇是採用帶有兩個執行單元,但使用單一指令管線的RISC/DSP處理器。RISC/DSP解決方案能在不需要處理器間通訊功能的情況下,同時支援音頻處理與網路協議功能。如此將能消除RISC與DSP之間的處理器互通過載現象,保證良好的語音品質。許多音頻處理演算法都需要使用乘法累加單元(MAC)與其他的用於迴圈的數學運算。一個功能完整的DSP必須帶有晶片上記憶體、單一循環周期MAC指令、零負載迴圈、柱形移位器(barrel shifter),同時能以餘數定址(modulo addressing)方式大幅改善系統效能。一個整合型RISC/DSP處理器可免除分離式DSP的成本,簡化整體設計的複雜性,並加速產品上市時程。

晶片上周邊也是設計低成本VoIP產品的關鍵因素。例如,晶片上的雙10/100Mbps乙太網路MAC能免除對外部乙太網路控制器的需求,並保證產品可實現多埠的LAN/WAN配置。許多雙MAC元件均包含整合型乙太網路橋接器,能在不需要CPU介入的情況下自動前饋乙太網路訊框,從而讓CPU專注於處理像路由這類的其他任務,同時這個簡單的元件也不需要整合路由器或防火牆等功能。一個在200MIPS速率執行的處理器或許能以接近線速支援網路路由、NAT與防火牆功能。但商用級元件需要更強大的加密與硬體整合加速功能。因此,隨著時間的推移,消息摘要(message digest)將變得日益重要。

一個帶有FIFO收發功能的脈衝編碼調變(PCM)介面能讓設計人員無縫地連結音頻編解碼器,以及用於VoIP適配器,帶有SLIC整合元件的音頻編解碼器。

在VoIP產品設計中,記憶體子系統扮演相當重要的角色,依功能分共有四種:指令與數據快取、DSP記憶體、快閃記憶體、SDRAM。較大的晶片上指令與數據快取能讓核心處理器以全速率執行,而一個多路設定的組合式快取記憶體則能改善其命中率(hit rate)。專用的晶片上DSP記憶體能協助保持程式參數,而晶片上的樣本語音數據則能維持數據吞吐率,在此同時,我們還需要快閃記憶體與SDRAM來儲存程式、執行程式碼,同時在系統執行期間儲存數據。設計人員應該為外部SDRAM與快閃記憶體尋找可提供無膠合介面的元件,同時要記住,帶有16位元固定長度指令集的處理器比32位元或帶有可變長度指令集的處理器擁有更高的程式碼密度。這點非常重要,因為程式碼密度最終將決定外部記憶體需求與最佳的密度,這意味著是否能為OEM客戶節省成本。

系統級封裝(SiP)是一種系統設計人員能夠採用的先進技術。這是一種精密的封裝技術,能為設計人員提供在單一的BGA封裝中,將堆疊SDRAM或快閃記憶體與微處理器裸晶整合在一起的選擇。SiP技術的優勢之一是大幅減小PCB尺寸。我們可以透過免除外部記憶體與匯流排來減少PCB複雜性、增加可靠度,並最大限度地減小EMI與開關雜訊。如此我們將不必擔心記憶體元件的可靠性,便能完成低成本的設計。

DSP演算法

語音傳輸編解碼演算法的處理是DSP的首要任務。對於節省網路頻寬來說,壓縮語音數據是非常必要的。為了實現互通性,標準的VoIP產品必須支援幾個通用的ITU編解碼標準,如G.711、G.723.1、G.726與G.729A。這些編解碼標準能夠在位元率、多功能的實現與音頻品質中取得良好折衷。舉例來說,G.711是一種可實現遠距音質的標準,它同時是一種僅需使用1MIPS DSP的簡單編解碼標準,但加上RTP、UDP與IP header,它將佔用64kbps的網路頻寬。G.723.1僅佔用5.3或6.3kbps的網路頻寬,可提供接近遠距音質的語音品質,但它會大幅佔用DSP資源(包含MIPS與記憶體)。G.726可支援多重位元率(16~40kbps),而G.729A則支援8kbps的位元率。兩種編解碼標準都能提供接近遠距音頻的語音品質,且無需佔用太多DSP資源。

最佳化編解碼器使DSP負載減至最小將使VoIP產品得以支援更多的語音通道,而無需使用更快的處理器或增加其他的處理器。我們必須針對位元準確性對編解碼器進行驗證,以保證音頻品質並確定其相容於ITU標準。一個多階管線設計、執行速度為200MHz的RISC/DSP處理器可提供260MIPS的效能,並能使用更複雜的編解碼器、即時作業系統與網路協議來支援3個語音串流通道。除了編解碼器之外,還需要線路迴聲消除與聲學迴音消除演算法來消除由失配SLIC混合阻抗產生的近端迴聲,以及在某些狀況下產生的遠端迴聲。

OEM廠商客以從很多軟體供應商獲得應用於多種平台的編解碼器授權,這種授權將賦多OEM使用編解碼演算法以實現各種特殊應用。然而,這些編解碼演算法的專利同時也被許多其他單位持有。為此,供應商應該提供一個能在全球各地如北美、亞洲與歐州使用的授權專利,讓OEM能安心地在全球銷售其VoIP產品。

除了基本需求外,一些處理器也提供晶片上Ipsec加速功能,以便減輕處理器核心上的VPN運算負擔。標準的加密功能包含了DES、3DES、MD5、SHA-1加速器等,可用來實現安全通訊設計與高效能安全語音路由器。

軟體考量

所有元件都需要自己的作業系統。你可以自行從原始碼開始設計一套系統或採用傳統的RTOS,但你必須歷經長期的開發與測試周期,並不斷維護你的基本程式碼。使用基本的相容型作業系統能讓你專注在產品的差異化,同時能在下一代產品中持續使用程式碼。

目前在市面上有多種作業系統可供選擇,但請記住,用戶的關鍵需求‘除了價錢還是價錢’。這通常會讓設計人員排除第三方廠商提供的作業系統,如VxWorks,並促使你注意到Linux、uClinux與其他開放原始碼的嵌入式作業系統。這些作業系統能在合理的記憶體大小內提供完整、標準、相容的網路堆疊與廣泛的微控制器支援,但有時並沒有現成的產品來配置與部署它們。

採用成熟的作業系統能帶來極大的利益,僅需做一些小修正,就能為ATA加入第二個乙太網路埠。在硬體部份,我們僅需做一些微小的變動,但在軟體部份卻從終端到路由器產生了極大的變化。因此,要實現DHCP伺服器、NAT、PAT、PPPoE、橋接、MAC或IP尋址複製等功能,都需要QoS與防火牆堆疊。這就是成熟的作業系統能勝過設計人員自行開發或專有作業系統之處。對於後兩者,每個組件都代表額外的成本。

QoS與延遲

QoS是大多數消費性VoIP的討論主題。雖然除消費性VoIP使用者之外還有許多其它實現策略想法,這些想法對於了解QoS的侷限與意向非常重要。最後,VoIP服務很容易受到各種因素影響,如在公眾網路上傳輸時的延遲抖動或遺失封包等。雖然這些並不是數據流量的關心重點,但ATA必須具有更高效能的抖動緩衝器,否則就無法滿足消費者的遠距音質需求。QoS能協助改善這個問題,但無法徹底解決它。

QoS意味著標示‘高優先權’封包傳輸,以便使它不會因為網路壅塞被延遲或下降而成為‘低優先級’。這將成為在ATA與寬頻連接之間的理想解決方案,它能藉由使用頻寬保留協議如RSVP簡單地實現。透過從寬頻連接申請預定數量的頻寬,將免除音頻串流遭遇瓶頸的可能性,並在它到達公眾網際網路前保證其品質。

其他的QoS相關考量是與封包大小有關的延遲。在一個低速的128Kbit ADSL上行連結中,最大長度的乙太網路訊框為1,500個位元組,大約需要佔用2個音頻訊框的時間。針對這個問題,ATA設備整合了NAT與路由器功能,可直接連結寬頻數據機,進而降低最大區段尺寸(Maximum Segment Size,MSS)以持續VoIP的通話時間,或在周期性發送外送封包時實施可預期的中斷,這種特性將能在不顧資料負載的情況下插入語音封包。在類似的於ATA傳送資料、終止或起始封包的情況下,我們可以使用網路流量調節方法。這涉及了封包傳輸的持殊頻寬限制類型,有時間限制的封包將優先傳送,而其他的則在後面等待。這種功能可以動態地將封包分類,包括最大和最小的頻寬與優先權,以決定數據串流接收與發送的優先級。如果封包遺失,則每個終端的TCP控制機制將被觸發以減小發送率。

許多網際網路結構會響應內嵌於TCP封包頭內ToS域的‘提示’。差異化服務(DiffServ)的封包類別會被用來指示封包該如何處理,而透過授予和產生此一域,我們將獲得某部份的QoS。路由器將使用DiffServ域將語音封包放置在高優先權佇列中,保證它們能接收到更高比率可用性頻寬,並大幅減少延遲和損失。

網路流量調節能以多種方法實現。用於網路流量調節的分級式佇列容器(Hierarchical Token Bucket,HTB)理論可運用所有的標準協助將封包分類到多個佇列中。HTB採用類似Token與桶(bucket)的概念與基於類別的系統和過濾器,共同在傳輸過程中實現複雜與顆粒度控制。HTB允許IP堆疊輕易地以及可預測地管理所有能使用的佇列頻寬。它考慮到了最大與最小的頻寬分配,並允許暫存的‘最低’優先權佇列從當前的佇列臨時借用未使用的高優先權頻寬。HTB的一項主要優勢是其以‘樹狀’結構組織其佇列,每個類別都繼承了來自其母節點的頻寬限制,能以高度顆粒化方式控制流量傳輸。另一個優勢是使用成熟的作業系統,其效能優於使用者自行開發或私有的作業系統。

防火牆和穿越技術

NAT使網際網路的成長遠超過IPv4。當我們試圖到達一個或多個NAT防火牆之後的終端用戶時,這也是一個極大的問題。NAT共有四種類型,分別為:full-cone、address restricted cone、port restricted cone以及symmetric NAT,有幾種方法可以穿越它們:ALG、媒體隧道(media tunnel)、第三方代理或STUN。由於提供ALG、隧道或第三方代理必須結合住宅NAT裝置或附加設備,對使用者來說是不切實際的,因此,ATA供應商必須自行解決NAT問題。

STUN是部署時最常見的選擇,它能穿越大多數的NAT防火牆。STUN藉由使用一個輕量級的UDP協議進行工作,一個外部的STUN伺服器會識別經過NAT防火牆傳送的類別。此功能可具體地辨認NAT,以用於RTP或SIP的特殊UDP連接。這些資訊的收集不需要特別結合NAT防火牆,它們可被用來建立SIP與RTC之間的交易。在此同時,所有的消費性住宅設備都使用了cone NAT,在公司環境中,它可能會遇到同步的NAT。在這種情況下,我們仍需要一個ANG或本地代理(proxy)。

分配和管理

VoIP使用兩個方法提供VoIP ATA的定址配置,在傳送前的預配置以及使用TFTP的自動分配(provisioning)。這很像透過廠商對SIP標準所做的信號修改,每個服務供應商都擁有其獨特的分配模式。從彈性化的角度來看,預配置是不切實際的,因此我們必須辨認遠端分配設備需要滿足哪些要求。

標準的資訊配置會包含SIP UID、來話顯示、密碼、用戶功能,以及所有的帳號訊息,包括E911要求的可能所在地區資訊。伺服器資訊必須包含SIP代理伺服器、韌體升級伺服器、媒體與功能伺服器。參數與變數必須定義包含QoS容限、韌體修正、鈴聲類型、定時器與計時器。最合適的實現方法是將從配置檔案收集到的語法分析值饋入後端MIB資料庫。這些資料庫會擷取適當的資源並向設備申請改變。

另外,也能使用腳本以達到同樣的結果,但很可能必須在可攜式與延伸性上增加成本。消費性產品與商用設備具有不同的管理需求。當商用設備要求設備整合其現有的NMS,消費性設備則要求基於網頁的工具並使用少許的SNMP。再次強調,這是資料庫架構的優勢,能實現多點傳輸並保持一個組織化的結構。

強韌性與升級性

由於消費者將ATA視為適配器,因此沒有什麼比強韌性更為重要了。高階嵌入式設備如STB的設計人員可配置更多記憶體容量以提供更強大的影像功能。在失效情形下,這些設備在影像之間的仲裁功能將緩和失敗風險。但在一個小型的嵌入式設備中,數據儲存佔據了總BOM費用的極大部份。

結合這些因素,開發人員可透過將快閃記憶體分割為功能塊而建立擁有同樣強韌性的設備,每個功能塊都具有冗餘圖像,但不能馬上把失敗自動切換的記憶體開銷從兩倍降低到某個較小的係數。按照這種形式進行分割,一個與使用PKI的數位簽名相結合的非常低水準仲裁器和一個Watchdog定時器(而不是使用前面提到的良好分割)可以識別並隔離損壞的或未授權的甚至可能是惡意的新韌體。可以把這個設備設計成在各種韌體升級失敗的情況下(如在消除完全冗餘的快閃記憶體的成本的過程中)正常工作,滿足Cable Lab的要求。可以把該元件設置成在只有啟動程式碼保持工作的災難性失敗事件產生時轉入第二‘災難恢復’模式,在這個模式下,低水準啟動程式碼將嘗試尋找一組外部圖像。

在升級期間,分割快閃記憶體的第二個好處更為明顯。由於快閃記憶體的每個分割區段都能獨立升級,因此它能依照元件的單獨需求進行升級,並有可能在無需更換整個韌體的情況下加入功能或完成本地化。這將能節省頻寬,更重要的是加速推動成千上萬的設備升級。

消費型VoIP的未來

如同我們所期待的,下一代ATA必須提出當前所欠缺的預防與安全議題。設計人員必須審查這些需求對軟硬體的衝擊,保證現有平台能為未來考量提供更大延展性。目前市場上單一功能的ATA可能不是長期的解決方案,但它們是首波消費性VoIP在市場上大量應用的基礎。在市場大量採用此一技術後,設計人員必須持續開發創新的服務與安全功能,以保證消費性VoIP具有長期的可行性。

作者:Jeff Dionne


CEO兼首席架構師


Email: jdionne@arcturus.com


Arcturus網路公司

Brian Davis


先進方案事業部業務開發總監


Email: brian.davis@renesas.com


Renesas科技(美國)公司





投票數:   加入我的最愛
我來評論 - 使用SIP實現具有成本效益的嵌入式VoIP...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首