新聞中心

EEPW首頁(yè) > 網(wǎng)絡(luò)與存儲(chǔ) > 設(shè)計(jì)應(yīng)用 > 一種基于嵌入式技術(shù)的VoIP網(wǎng)關(guān)設(shè)計(jì)

一種基于嵌入式技術(shù)的VoIP網(wǎng)關(guān)設(shè)計(jì)

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

作為目前熱門(mén)的嵌入式技術(shù),開(kāi)發(fā)基于嵌入式技術(shù)的voip網(wǎng)關(guān)有助于進(jìn)一步拓寬嵌入式技術(shù)的應(yīng)用范圍。本文介紹了基于嵌入式arm處理器的voip網(wǎng)關(guān)模塊的設(shè)計(jì)思路,并結(jié)合核心芯片ac4880xc-c詳細(xì)介紹了該模塊的設(shè)計(jì)流程、軟硬件結(jié)構(gòu)及其工作方式。

本文引用地址:http://m.butianyuan.cn/article/20731.htm


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


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

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

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

基于嵌入式技術(shù)的voip功能實(shí)現(xiàn)框圖

1、voip實(shí)現(xiàn)原理框圖:(如圖1)

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

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


系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)

硬件設(shè)計(jì)為以下六塊組成

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

采用amd公司生產(chǎn)的am79r70plcc芯片,通過(guò)該芯片產(chǎn)生輸入、輸出話音脈沖和鈴音脈沖。

2、codec(編解碼)部分

采用amd公司生產(chǎn)的am79q021jc編解碼芯片,通過(guò)該芯片產(chǎn)生的pcm流送到語(yǔ)音處理芯片處理。 3、語(yǔ)音處理部分

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

⊙ 支持itu的g.711、g.723.1、g.726、g.729a等分組語(yǔ)音處理標(biāo)準(zhǔn);

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

⊙ 高質(zhì)量壞幀插補(bǔ);

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

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

⊙ 提供語(yǔ)音、傳真、數(shù)據(jù)或信令等pcm高速接口;

⊙ 可選擇 或o 律;

⊙ 輸入輸出增益控制;

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

⊙ 144pin,tqfp封裝,1.8v內(nèi)核電壓,3.3v芯片電壓。

4、cpld部分

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

5、hpi接口部分

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

6、語(yǔ)音接口部分

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

軟件設(shè)計(jì)部分

該系統(tǒng)軟件主要用于對(duì)ac4880xc-c進(jìn)行控制,實(shí)現(xiàn)讀寫(xiě)等操作。

1、編寫(xiě)芯片ac4880xc-c的讀寫(xiě)函數(shù)

圖5 軟件流程圖(略)

主要是基于嵌入式arm處理器,通過(guò)hpi接口實(shí)現(xiàn)對(duì)ac4880xc-c及相關(guān)芯片的讀寫(xiě)操作。流程圖如圖5所示:

2、配置ac4880xc-c內(nèi)部設(shè)置

首先通過(guò)處理器對(duì)codec和cpld進(jìn)行配置,并調(diào)用audiocodes 公司提供的初始化內(nèi)核程序?qū)c4880xc-c進(jìn)行復(fù)位初始化。復(fù)位成功后,寫(xiě)入內(nèi)核程序,然后寫(xiě)入工作程序,最后再將這些程序通過(guò)ac4880xc-c的hpi接口寫(xiě)入到ac4880xc-c,芯片即開(kāi)始工作。


結(jié)語(yǔ)

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




關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉