首頁>>>技術(shù)>>>VoIP

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

劉波 吳學(xué)智 林海濤 何如龍 2008/08/20

  作為目前熱門的嵌入式技術(shù),開發(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)及其工作方式。

voip的應(yīng)用趨勢(shì)

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

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

  voip(又稱ip phone)是建立在ip技術(shù)上的分組化、數(shù)字化語音傳輸技術(shù)。其基本原理是:通過語音壓縮算法對(duì)語音數(shù)據(jù)進(jìn)行壓縮編碼處理,然后把這些語音數(shù)據(jù)按ip等相關(guān)協(xié)議進(jìn)行打包,經(jīng)過ip網(wǎng)絡(luò)把數(shù)據(jù)包傳輸?shù)浇邮盏兀侔堰@些語音數(shù)據(jù)包串起來,經(jīng)過解碼解壓處理后,恢復(fù)成原來的語音信號(hào),從而達(dá)到由ip網(wǎng)絡(luò)傳送語音的目的。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)過voip系統(tǒng)的轉(zhuǎn)換及壓縮處理,每個(gè)普通電話傳輸速率約占用8~11kbit/s帶寬,因此在與普通電信網(wǎng)同樣使用傳輸速率為64kbit/s的帶寬時(shí), voip線路數(shù)是原來的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é)議處理、語音編解碼和路由協(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的工作過程

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

 、 在嵌入式系統(tǒng)之間進(jìn)行語音通信時(shí),過程如下:ac4880xc-c將話音數(shù)據(jù)包通過hpi口傳給本系統(tǒng)后,本系統(tǒng)的交換功能認(rèn)定目的地是另一個(gè)嵌入式系統(tǒng)的一個(gè)用戶,本系統(tǒng)將數(shù)據(jù)包重組后,通過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芯片,通過該芯片產(chǎn)生輸入、輸出話音脈沖和鈴音脈沖。

  2、codec(編解碼)部分

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

  3、語音處理部分

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

  4、cpld部分

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

  5、hpi接口部分

  本設(shè)計(jì)中,嵌入式系統(tǒng)cpu與ac4880xc-c通過hpi接口進(jìn)行數(shù)據(jù)通信,cpu通過ac4880xc-c片內(nèi)共享的雙口存儲(chǔ)器與其片內(nèi)dsp實(shí)現(xiàn)數(shù)據(jù)交互。

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

  6、語音接口部分

  語音接口提供未壓縮語音、傳真數(shù)據(jù)的i/o通道。語音接口對(duì)外提供四根信號(hào)線pcmin、pcmout、pcmclk、pcmfs構(gòu)成pcm總線,直接連接外部codec芯片的pcm highway。pcmin輸入從codec送來的pcm信號(hào),ac4880xc-c內(nèi)部的dsp按照相應(yīng)標(biāo)準(zhǔn)壓縮后從hpi口交給主系統(tǒng)cpu 處理。pcmout則相反,ac4880xc-c將主系統(tǒng)cpu送來的語音數(shù)據(jù)按照合適的標(biāo)準(zhǔn)解壓縮,然后從pcmout口送到外部codec,codec經(jīng)過數(shù)/模轉(zhuǎn)換后恢復(fù)成語音信號(hào)再通過用戶接口送給用戶端。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)讀寫等操作。

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

圖5 軟件流程圖

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

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

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

結(jié)語

  嵌入式系統(tǒng)作為一種功能強(qiáng)大的軟硬件操作開發(fā)平臺(tái),很適合基于嵌入式arm處理器的voip的開發(fā)。ac4880xc-c是一款功能強(qiáng)大語音處理芯片,本方案利用該芯片作為核心芯片,配以其他功能芯片實(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)鏈接:
VoIP應(yīng)用準(zhǔn)備 NetQoS網(wǎng)絡(luò)管理架構(gòu)介紹 2008-08-20
Adhearsion-下一個(gè)Ruby殺手級(jí)應(yīng)用? 2008-08-18
CIO應(yīng)關(guān)注統(tǒng)一通信(UC) 為企業(yè)管理鋪路 2008-08-15
VoIP不是UC的必由之路 2008-08-13
網(wǎng)吧成本為先 VOIP擴(kuò)展技術(shù)助網(wǎng)吧創(chuàng)新增值服務(wù) 2008-08-12

分類信息: