新聞中心

EEPW首頁 > 網絡與存儲 > 設計應用 > 一種基于嵌入式技術的VoIP網關設計

一種基于嵌入式技術的VoIP網關設計

——
作者:海軍工程大學 劉波 吳學智 林海濤 何如龍 時間:2007-01-26 來源:《世界電子元器件》 收藏

作為目前熱門的嵌入式技術,開發(fā)基于嵌入式技術的voip網關有助于進一步拓寬嵌入式技術的應用范圍。本文介紹了基于嵌入式arm處理器的voip網關模塊的設計思路,并結合核心芯片ac4880xc-c詳細介紹了該模塊的設計流程、軟硬件結構及其工作方式。

本文引用地址:http://2s4d.com/article/20731.htm


voip的應用趨勢
作為ngn(下一代網絡)中的重要組成部分,voip是面向未來、可持續(xù)發(fā)展的語音解決方案,可以為商業(yè)和家庭用戶提供質優(yōu)價廉的ip語音服務。隨著ngn網絡技術的快速發(fā)展,voip的通信量也已得到快速增長,并以其低廉的價格優(yōu)勢迅速占有市場。


voip語音技術與傳統(tǒng)電話的區(qū)別

voip(又稱ip phone)是建立在ip技術上的分組化、數字化語音傳輸技術。其基本原理是:通過語音壓縮算法對語音數據進行壓縮編碼處理,然后把這些語音數據按ip等相關協(xié)議進行打包,經過ip網絡把數據包傳輸到接收地,再把這些語音數據包串起來,經過解碼解壓處理后,恢復成原來的語音信號,從而達到由ip網絡傳送語音的目的。voip系統(tǒng)把傳統(tǒng)電話的模擬信號轉換成計算機可聯入因特網傳送的ip數據包,同時也將收到的ip數據包轉換成聲音的模擬電信號。經過voip系統(tǒng)的轉換及壓縮處理,每個普通電話傳輸速率約占用8~11kbit/s帶寬,因此在與普通電信網同樣使用傳輸速率為64kbit/s的帶寬時, voip線路數是原來的5~8倍。同時,ip技術允許多個用戶共用同一帶寬資源,改變了傳統(tǒng)電話由單個用戶獨占一個信道的方式,節(jié)省了用戶使用單獨信道的費用。

voip的基本結構由網關(gw)和網守(gk)兩部分構成。網關的主要功能是信令處理、h.323協(xié)議處理、語音編解碼和路由協(xié)議處理等,對外分別提供與pstn網連接的中繼接口以及與ip網絡連接的接口。網守的主要功能是用戶認證、地址解析、帶寬管理、路由管理、安全管理和區(qū)域管理。voip的核心與關鍵設備是voip網關。

基于嵌入式技術的voip功能實現框圖

1、voip實現原理框圖:(如圖1)

2、嵌入式系統(tǒng)中voip的工作過程:

① 在單個獨立的嵌入式系統(tǒng)內部進行語音通信時,該系統(tǒng)實現功能的過程如下:用戶話音脈沖通過slic和codec電路產生pcm流,載入語音處理器ac4880xc-c中,通過片內dsp進行語音壓縮、成幀(包括地址等用戶信息及語音信息),ac4880xc-c再將數據包通過hpi口傳送到主系統(tǒng),完成交換功能后,認定目的地是本系統(tǒng)的另一個用戶,將處理過的話音數據包傳給ac4880xc-c,ac4880xc-c進行解壓縮后, 以pcm流返回到codec部分,根據目的地址信息驅動目的用戶。 ② 在嵌入式系統(tǒng)之間進行語音通信時,過程如下:ac4880xc-c將話音數據包通過hpi口傳給本系統(tǒng)后,本系統(tǒng)的交換功能認定目的地是另一個嵌入式系統(tǒng)的一個用戶,本系統(tǒng)將數據包重組后,通過i/o端口傳給目的系統(tǒng),由目的系統(tǒng)自動完成解壓縮,驅動目的用戶的功能。


系統(tǒng)設計實現

硬件設計為以下六塊組成

1、slic(用戶線接口電路)部分

采用amd公司生產的am79r70plcc芯片,通過該芯片產生輸入、輸出話音脈沖和鈴音脈沖。

2、codec(編解碼)部分

采用amd公司生產的am79q021jc編解碼芯片,通過該芯片產生的pcm流送到語音處理芯片處理。 3、語音處理部分

作為本系統(tǒng)中的核心部分,語音處理采用以色列audiocodes公司生產的專用多通道語音處理芯片ac4880xc-c。它具有以下特點:

⊙ 支持itu的g.711、g.723.1、g.726、g.729a等分組語音處理標準;

⊙ 支持回波抵制和抵消、靜音檢測和舒適噪音等提高分組語音處理性能的配套模塊;

⊙ 高質量壞幀插補;

⊙ 支持2.4~14.4 kbps的t.38和frf.11的功能傳真業(yè)務;

⊙ 支持各種信令,如dtmf等;

⊙ 提供語音、傳真、數據或信令等pcm高速接口;

⊙ 可選擇 或o 律;

⊙ 輸入輸出增益控制;

⊙ 提供同步hpi、pcm、時鐘、存儲器以及i/o和仿真測試接口(如圖2);

⊙ 144pin,tqfp封裝,1.8v內核電壓,3.3v芯片電壓。

4、cpld部分

ac4880xc-c采用8位并行的主處理器接口hpi接口與主系統(tǒng)進行數據交換。鑒于嵌入式系統(tǒng)中接口邏輯繁雜,選用cpld實現接口適配功能。主cpu可通過cpld控制實現codec 和slic部分的功能。

5、hpi接口部分

本設計中,嵌入式系統(tǒng)cpu與ac4880xc-c通過hpi接口進行數據通信,cpu通過ac4880xc-c片內共享的雙口存儲器與其片內dsp實現數據交互。
hpi接口包括1根8位數據總線和11根控制總線。主系統(tǒng)cpu通過三個寄存器(hpic、hpia和hpid)控制ac4880xc-c及訪問片內存儲空間。hpic為控制寄存器,用來選擇ac4880xc-c的高低字節(jié)順序。hpia為地址寄存器,用來尋址片內的2k存儲空間。hpid為數據寄存器,用來緩存每次讀寫的兩個字節(jié)數據,外部cpu以單個word或塊數據訪問hpid。以塊數據方式訪問時,hpia寄存器自動累加,可減少外部cpu寫hpia寄存器的開銷。ac4880xc-c的內部寄存器和存儲器為16位,外部cpu每次訪問ac4880xc-c必須以兩個字節(jié)為基本單位,信號線hi/lo用來選擇高低字節(jié),信號hrs1、hrs0指示當前訪問的是哪個寄存器。

6、語音接口部分

語音接口提供未壓縮語音、傳真數據的i/o通道。語音接口對外提供四根信號線pcmin、pcmout、pcmclk、pcmfs構成pcm總線,直接連接外部codec芯片的pcm highway。pcmin輸入從codec送來的pcm信號,ac4880xc-c內部的dsp按照相應標準壓縮后從hpi口交給主系統(tǒng)cpu 處理。pcmout則相反,ac4880xc-c將主系統(tǒng)cpu送來的語音數據按照合適的標準解壓縮,然后從pcmout口送到外部codec,codec經過數/模轉換后恢復成語音信號再通過用戶接口送給用戶端。pcmclk提供2.048mhz的比特同步時鐘,而pcmfs提供8khz的幀同步時鐘。pcm主時鐘(bclk)、幀同步時鐘(fs)、接收數據(dr)和發(fā)送數據(dx)一起構成pcm highway信號,與ac4880xc-c進行連接。bclk與fs分別對應ac4880xc-c的pcmclk和pcmfs,這兩個時鐘信號都由ac4880xc-c 產生;dr和dx分別對應ac4880xc-c的pcmout和pcmin。pcm highway信號時序以及時隙與幀同步信號的關系分別如圖3、圖4所示。為了codec與dsp芯片間正確收發(fā)數據,一般選擇codec芯片在bclk的上升沿發(fā)送數據dx,下降沿采樣數據dr,而在另一端的ac4880xc-c,則在時鐘下降沿采樣pcmin,上升沿發(fā)送pcmout。

軟件設計部分

該系統(tǒng)軟件主要用于對ac4880xc-c進行控制,實現讀寫等操作。

1、編寫芯片ac4880xc-c的讀寫函數

圖5 軟件流程圖(略)

主要是基于嵌入式arm處理器,通過hpi接口實現對ac4880xc-c及相關芯片的讀寫操作。流程圖如圖5所示:

2、配置ac4880xc-c內部設置

首先通過處理器對codec和cpld進行配置,并調用audiocodes 公司提供的初始化內核程序對ac4880xc-c進行復位初始化。復位成功后,寫入內核程序,然后寫入工作程序,最后再將這些程序通過ac4880xc-c的hpi接口寫入到ac4880xc-c,芯片即開始工作。


結語

嵌入式系統(tǒng)作為一種功能強大的軟硬件操作開發(fā)平臺,很適合基于嵌入式arm處理器的voip的開發(fā)。ac4880xc-c是一款功能強大語音處理芯片,本方案利用該芯片作為核心芯片,配以其他功能芯片實現了基于嵌入式技術的voip網關。該網關已應用于嵌入式綜合實驗平臺,效果十分理想,在ip電話和多媒體通信領域的應用前景非常廣泛。




關鍵詞:

評論


相關推薦

技術專區(qū)

關閉
×

Digikey let's do
· 2025年第1期限时报名开启,5月8日截止
· Digikey助力,提供一站式免费器件支持
· 跟大佬一起 【DIY 功率监测与控制系统】