《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > VoIP語音卡在路由器中的應用及硬件設(shè)計

VoIP語音卡在路由器中的應用及硬件設(shè)計

2008-08-04
作者:楊 輝, 樂正友

??? 摘? 要: 介紹了VoIP語音卡在路由器中的應用,詳細描述了一款應用于路由器的語音卡的硬件結(jié)構(gòu)" title="硬件結(jié)構(gòu)">硬件結(jié)構(gòu)及其工作方式,。

??? 關(guān)鍵詞: VoIP PCI FXS? 路由器? 語音壓縮

?

???

1 VoIP在路由器中的應用

  近年來,,VoIP(Voice over Internet Protocol)給通信市場帶來了強大的沖擊。IP語音業(yè)務推出后,,由于其在通話費用上比傳統(tǒng)電話具有突出的優(yōu)勢,,因而受到了廣泛歡迎。VoIP技術(shù)在路由器中應用,,可以大大節(jié)省有多個部門在不同地方辦公的企業(yè)或機構(gòu)的電話費用,。圖1為一個VoIP路由器在公安分局與派出所間應用的方案。

?

  派出所網(wǎng)點的路由器DCR-2501V和DCR-2509V使用FR(幀中繼)或DDN線路同分局的DCR-3660實現(xiàn)互連,,各網(wǎng)點的計算機可通過路由器連接分局的局域網(wǎng)或Internet,,實現(xiàn)數(shù)據(jù)通信,;同時,DCR-2501V或DCR-2509V通過FXS語音端口連接普通電話機,,分局路由器通過E&M接口和PBX連接,,這樣既可以實現(xiàn)內(nèi)部各部門間的數(shù)據(jù)通信,同時還可進行零費用的語音通話,。

  VoIP在費用上呈現(xiàn)巨大優(yōu)勢的原因在于其利用了計算機通訊的分組化,、數(shù)字化傳輸技術(shù),先對語音數(shù)據(jù)按照一定的語音壓縮標準進行壓縮編碼處理,,然后把這些數(shù)據(jù)按IP相關(guān)協(xié)議打包,,再將數(shù)據(jù)包通過IP網(wǎng)絡(luò)傳輸?shù)浇邮斩耍邮斩藢⑦@些以不同順序到達的數(shù)據(jù)包按其本身順序串起來,,并經(jīng)過解碼解壓恢復出原來的語音信號" title="語音信號">語音信號,。與傳統(tǒng)的語音業(yè)務相比,VoIP在時間延遲,、話音質(zhì)量等方面存在缺陷,。可以采用一些先進的協(xié)議如資源預留協(xié)議(RSVP)和不同類型服務(Diffserv)等方案來盡可能的優(yōu)化語音數(shù)據(jù)包的傳輸,,以減少傳輸延遲和擁塞,。

  目前,VoIP的標準主要有國際電信聯(lián)盟技術(shù)部(ITU-T)建議的H.323系統(tǒng)和IETF建議的會話發(fā)起協(xié)議(Session Initiation Protocol,,SIP)系統(tǒng)兩種,。前者主要在電信網(wǎng)絡(luò)上實現(xiàn)多媒體業(yè)務制訂,技術(shù)已趨成熟,。后者基于動態(tài)的Internet模式建網(wǎng),,是基于軟交換技術(shù)的面向網(wǎng)絡(luò)會議和電話的簡單信令協(xié)議。在我國,,主要選用H.323技術(shù)標準來實現(xiàn)VoIP,,在H.323系列標準中,音頻壓縮編碼標準有G.711,、G.722,、G.723和G729等。

  本文將介紹一種已經(jīng)應用于路由器產(chǎn)品中的VoIP語音卡的硬件設(shè)計和工作原理,。

2 VoIP語音卡硬件結(jié)構(gòu)

  該語音卡基于AudioCodes公司的VoPP(Voice Over Packet Processor,,即語音包處理器)AC48302設(shè)計,,采用PCI接口界面,,可提供兩個FXS(Foreign Exchange Station)語音/傳真接口,可以方便靈活地應用于本公司開發(fā)的系列路由器中,,實現(xiàn)VoIP功能,。其硬件結(jié)構(gòu)框圖如圖2所示,,以下介紹各部分硬件的原理和作用。

?

2.1 PCI接口

  路由器主板與語音卡之間通過PCI總線連接,,便于通用,。采用了PCI接口芯片" title="接口芯片">接口芯片PLX9030實現(xiàn)語音卡本地總線(HPI)與PCI總線之間的轉(zhuǎn)換。由于語音卡上數(shù)據(jù)流量不大,,不需要利用如DMA方式主動向路由器主板上的Memory空間傳遞數(shù)據(jù),。因此,語音卡工作于PCI的從模式方式,,AC48302通過中斷方式接收或發(fā)送語音數(shù)據(jù),,PCI總線的數(shù)據(jù)寬度和速度為32位/33MHz。

2.2 CPLD部分

  AC48302采用8位并行的主處理器接口HPI與外部CPU(即路由器CPU)進行數(shù)據(jù)交換,。在本設(shè)計中,,HPI接口與PLX9030的本地總線接口時序稍有差別,經(jīng)過CPLD進行調(diào)整,。另外,,路由器CPU還可通過CPLD控制CODEC和SLIC芯片。

2.3 AC48302芯片

  AC48302是AudioCodes公司推出的一款低功耗,、低價格的雙通道語音包處理器,,其內(nèi)部集成了一個DSP內(nèi)核。該芯片的主要特性如下:

  ·支持兩個通道的語音壓縮編碼,,語音壓縮標準包括G.729A,、G.723.1、G.727,、G.726,、G.711。

  ·兼容T.38或FRF.11傳真中繼(2.4~14.4kbps),。

  ·呼叫ID產(chǎn)生和檢測,,呼叫進程和用戶定義語音的檢測和產(chǎn)生。

  ·兼容G.168的25ms回聲消除,。

  ·高性能的有效語音檢測(VAD)和舒適噪聲產(chǎn)生(CNG),。

  ·DTMF檢測和產(chǎn)生。

  ·A律/μ律可選的Codec接口,,具有輸入輸出增益控制,。

  ·PCM Highway接口。

  ·并行的主處理器接口(HPI),。

  AC48302各部分硬件接口如圖3所示,。

?

2.3.1 語音接口(Voice Interface)

  語音接口提供未壓縮的語音、傳真數(shù)據(jù)的輸入輸出通道,。語音接口對外提供四根信號線構(gòu)成PCM總線,,直接連接外部CODEC芯片的PCM Highway,。這四根信號線為PCMIN、PCMOUT,、PCMCLK,、PCMFS。PCMIN輸入從CODEC送來的PCM信號,,AC48302內(nèi)部的DSP按照相應標準(如G.729)壓縮后從HPI口交給路由器CPU轉(zhuǎn)發(fā),。PCMOUT則相反,AC48302將路由器CPU送來的語音數(shù)據(jù)按照合適的標準解壓縮,,然后從PCMOUT口送到外部CODEC,,CODEC經(jīng)過數(shù)/模轉(zhuǎn)換后恢復成語音信號?熏通過用戶接口送給用戶端。PCMCLK提供2.048MHz的比特同步時鐘,,而PCMFS提供8kHz的幀同步" title="幀同步">幀同步時鐘,。

2.3.2 HPI接口

  在本設(shè)計中,路由器CPU與AC48302通過HPI口進行通信,。路由器CPU和DSP通過AC48302的片內(nèi)共享的雙口存儲器實現(xiàn)數(shù)據(jù)交互,。片內(nèi)共享存儲器的映射關(guān)系見圖4。

?

  HPI接口包括1根8位數(shù)據(jù)總線和幾根控制總線,。路由器CPU通過三個寄存器(HPIC,、HPIA和HPID)控制AC48302及訪問片內(nèi)存儲空間。HPIC為控制寄存器,,用來選擇AC48302的高低字節(jié)順序,、產(chǎn)生和接收中斷。HPIA為地址寄存器,,用來尋址片內(nèi)的2K存儲空間,。HPID為數(shù)據(jù)寄存器,用來緩存每次讀寫的兩個字節(jié)數(shù)據(jù),,外部CPU可以單個Word或塊數(shù)據(jù)方式訪問HPID,,當以塊數(shù)據(jù)方式訪問時,HPIA寄存器自動累加,,這樣可以減少外部CPU寫HPIA寄存器的開銷,。AC48302的內(nèi)部寄存器和存儲器為16位寬度,因此外部CPU每次訪問AC48302必須以兩個字節(jié)為基本單位,,信號線HI/LO用來選擇高低字節(jié),,信號HRS1、HRS0指示當前訪問的是哪個寄存器,。

  除了以上兩個重要的接口外,,AC48302內(nèi)部還包含一個PCM時鐘發(fā)生器、一個用于測試的JTAG接口以及一個用于訪問外部SRAM及處理信道輔助信令的Memory&I/O接口,。

2.4 CODEC接口芯片

  CODEC芯片負責對DSP解壓縮后送來的PCM數(shù)據(jù)進行解碼,,并將濾波后的模擬語音信號送到用戶線接口芯片SLIC,,SLIC對其進行2-4線轉(zhuǎn)換后送給用戶端;同時,,CODEC還負責將SLIC送來的模擬語音信號進行PCM編碼,,然后送到DSP芯片進行壓縮處理。

  本設(shè)計中,,CODEC芯片采用IDT公司的4通道PCM編解碼芯片IDT821034,。該芯片具有可編程增益設(shè)置、主時鐘可選(2.048MHz,、4.096MHz和8.192MHz),、最大可支持128個可編程時隙" title="時隙">時隙、A律/μ律可選,、內(nèi)置數(shù)字濾波器,、串行控制接口、低功耗等特點,。本設(shè)計中選用主時鐘為2.048MHz(E1幀模式),,可劃分為32個相等的時隙(Slot0~Slot31),4個通道的接收和發(fā)送時隙可通過向串行控制口寫入控制字進行動態(tài)選擇,。各時隙的位置都以8kHz的幀同步時鐘信號為參考,,在IDT821034中,時隙0相對幀同步脈沖的位置有延遲模式和非延遲模式(圖6即為非延遲模式),。

  PCM主時鐘(BCLK),、幀同步時鐘(FS)、接收數(shù)據(jù)(DR)和發(fā)送數(shù)據(jù)(DX)一起構(gòu)成PCM Highway信號,,與AC48302進行連接,。BCLK與FS分別對應AC48302的PCMCLK和PCMFS,這兩個時鐘信號都由AC48302 產(chǎn)生;DR和DX分別對應AC48302的PCMOUT和PCMIN,。PCM Highway信號時序以及時隙與幀同步信號的關(guān)系分別如圖5,、圖6所示。為了CODEC與DSP芯片間正確收發(fā)數(shù)據(jù),,一般選擇CODEC芯片在BCLK的上升沿發(fā)送數(shù)據(jù)DX,,下降沿采樣數(shù)據(jù)DR,而在另一端的AC48302,,則在時鐘下降沿采樣PCMIN,,上升沿發(fā)送PCMOUT。

?

?

2.5 用戶線接口(SLIC)芯片

  設(shè)計中為了使語音卡能夠提供FXS接口功能,,采用了愛立信公司的新型SLIC芯片PBL83710連接用戶接口,。在該芯片內(nèi)部能夠產(chǎn)生高電壓鈴流信號及提供自動電池饋電切換,具有環(huán)流振鈴和地鍵檢測功能及2-4線轉(zhuǎn)換功能,。該芯片將許多傳統(tǒng)的振鈴繼電器,、鈴流發(fā)生器等器件集成在一個片內(nèi),,節(jié)省了印制板空間和成本。

3 VoIP語音卡硬件驅(qū)動流程

  硬件驅(qū)動程序主要完成以下功能:

  (1)初始化PLX9030芯片,,配置相關(guān)寄存器,,選擇本地總線工作方式。

  (2)初始化AC48302芯片,,啟動AC48302內(nèi)部的DSP內(nèi)核到正常工作狀態(tài),。AC48302的啟動步驟按順序分為以下幾步:核代碼(Kernel)下載;程序代碼(Program)下載;初始化模式;啟動運行。

  (3)驅(qū)動語音卡的正常操作,。接收處理摘掛機中斷,,將SLIC置于正確狀態(tài);配置CODEC芯片的各通道收發(fā)數(shù)據(jù)時隙以及CODEC芯片的增益控制;接收處理AC48302數(shù)據(jù)包處理中斷,AC48302每處理完一個語音數(shù)據(jù)包就通過中斷方式通知路由器CPU讀取當前Buffer中的數(shù)據(jù)或向Buffer寫入下一個數(shù)據(jù)包,。

  本文采用的是FXS接口,,只要對CODEC后面部分電路稍加改動即可實現(xiàn)FXO或E&M接口功能。目前,,該語音卡方案在路由器產(chǎn)品中已獲廣泛采用,。

?

參考文獻

1 AC4830xC-C VoPP Voice Over Packet Process Data Book Version3.00.AudioCodes Inc, 2002

2 劉暉等譯.PCI 系統(tǒng)結(jié)構(gòu)(第四版).北京:電子工業(yè)出版社, 2000

3 謝希仁.計算機網(wǎng)絡(luò)(第二版).北京:電子工業(yè)出版社, 1999

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。