- 相關(guān)推薦
VoIP語(yǔ)音卡在路由器中的應(yīng)用及硬件設(shè)計(jì)
摘要:介紹了VoIP語(yǔ)音卡在路由器中的應(yīng)用,詳細(xì)描述了一款應(yīng)用于路由器的語(yǔ)音卡的硬件結(jié)構(gòu)及其工作方式。關(guān)鍵詞:VoIPPCIFXS路由器語(yǔ)音壓縮
。保郑铮桑性诼酚善髦械膽(yīng)用
近年來(lái),VoIP(VoiceoverInternetProtocol)給通信市場(chǎng)帶來(lái)了強(qiáng)大的沖擊。IP語(yǔ)音業(yè)務(wù)推出后,由于其在通話(huà)費(fèi)用上比傳統(tǒng)電話(huà)具有突出的優(yōu)勢(shì),因而受到了廣泛歡迎。VoIP技術(shù)在路由器中應(yīng)用,可以大大節(jié)省有多個(gè)部門(mén)在不同地方辦公的企業(yè)或機(jī)構(gòu)的電話(huà)費(fèi)用。圖1為一個(gè)VoIP路由器在公安分局與派出所間應(yīng)用的方案。
派出所網(wǎng)點(diǎn)的路由器DCR-2501V和DCR-2509V使用FR(幀中繼)或DDN線(xiàn)路同分局的DCR-3660實(shí)現(xiàn)互連,各網(wǎng)點(diǎn)的計(jì)算機(jī)可通過(guò)路由器連接分局的局域網(wǎng)或Internet,實(shí)現(xiàn)數(shù)據(jù)通信;同時(shí),DCR-2501V或DCR-2509V通過(guò)FXS語(yǔ)音端口連接普通電話(huà)機(jī),分局路由器通過(guò)E&M接口和PBX連接,這樣既可以實(shí)現(xiàn)內(nèi)部各部門(mén)間的數(shù)據(jù)通信,同時(shí)還可進(jìn)行零費(fèi)用的語(yǔ)音通話(huà)。
。郑铮桑性谫M(fèi)用上呈現(xiàn)巨大優(yōu)勢(shì)的原因在于其利用了計(jì)算機(jī)通訊的分組化、數(shù)字化傳輸技術(shù),先對(duì)語(yǔ)音數(shù)據(jù)按照一定的語(yǔ)音壓縮標(biāo)準(zhǔn)進(jìn)行壓縮編碼處理,然后把這些數(shù)據(jù)按IP相關(guān)協(xié)議打包,再將數(shù)據(jù)包通過(guò)IP網(wǎng)絡(luò)傳輸?shù)浇邮斩耍邮斩藢⑦@些以不同順序到達(dá)的數(shù)據(jù)包按其本身順序串起來(lái),并經(jīng)過(guò)解碼解壓恢復(fù)出原來(lái)的語(yǔ)音信號(hào)。與傳統(tǒng)的語(yǔ)音業(yè)務(wù)相比,VoIP在時(shí)間延遲、話(huà)音質(zhì)量等方面存在缺陷?梢圆捎靡恍┫冗M(jìn)的協(xié)議如資源預(yù)留協(xié)議(RSVP)和不同類(lèi)型服務(wù)(Diffserv)等方案來(lái)盡可能的優(yōu)化語(yǔ)音數(shù)據(jù)包的傳輸,以減少傳輸延遲和擁塞。
目前,VoIP的標(biāo)準(zhǔn)主要有國(guó)際電信聯(lián)盟技術(shù)部(ITU-T)建議的H.323系統(tǒng)和IETF建議的會(huì)話(huà)發(fā)起協(xié)議(SessionInitiationProtocol,SIP)系統(tǒng)兩種。前者主要在電信網(wǎng)絡(luò)上實(shí)現(xiàn)多媒體業(yè)務(wù)制訂,技術(shù)已趨成熟。后者基于動(dòng)態(tài)的Internet模式建網(wǎng),是基于軟交換技術(shù)的面向網(wǎng)絡(luò)會(huì)議和電話(huà)的簡(jiǎn)單信令協(xié)議。在我國(guó),主要選用H.323技術(shù)標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)VoIP,在H.323系列標(biāo)準(zhǔn)中,音頻壓縮編碼標(biāo)準(zhǔn)有G.711、G.722、G.723和G729等。
本文將介紹一種已經(jīng)應(yīng)用于路由器產(chǎn)品中的VoIP語(yǔ)音卡的硬件設(shè)計(jì)和工作原理。
。玻郑铮桑姓Z(yǔ)音卡硬件結(jié)構(gòu)
該語(yǔ)音卡基于AudioCodes公司的VoPP(VoiceOverPacketProcessor,即語(yǔ)音包處理器)AC48302設(shè)計(jì),采用PCI接口界面,可提供兩個(gè)FXS(ForeignExchangeStation)語(yǔ)音/傳真接口,可以方便靈活地應(yīng)用于本公司開(kāi)發(fā)的系列路由器中,實(shí)現(xiàn)VoIP功能。其硬件結(jié)構(gòu)框圖如圖2所示,以下介紹各部分硬件的原理和作用。
。玻保校茫山涌
路由器主板與語(yǔ)音卡之間通過(guò)PCI總線(xiàn)連接,便于通用。采用了PCI接口芯片PLX9030實(shí)現(xiàn)語(yǔ)音卡本地總線(xiàn)(HPI)與PCI總線(xiàn)之間的轉(zhuǎn)換。由于語(yǔ)音卡上數(shù)據(jù)流量不大,不需要利用如DMA方式主動(dòng)向路由器主板上的Memory空間傳遞數(shù)據(jù)。因此,語(yǔ)音卡工作于PCI的從模式方式,AC48302通過(guò)中斷方式接收或發(fā)送語(yǔ)音數(shù)據(jù),PCI總線(xiàn)的數(shù)據(jù)寬度和速度為32位/33MHz。
。玻玻茫校蹋牟糠
AC48302采用8位并行的主處理器接口HPI與外部CPU(即路由器CPU)進(jìn)行數(shù)據(jù)交換。在本設(shè)計(jì)中,HPI接口與PLX9030的本地總線(xiàn)接口時(shí)序稍有差別,經(jīng)過(guò)CPLD進(jìn)行調(diào)整。另外,路由器CPU還可通過(guò)CPLD控制CODEC和SLIC芯片。
。玻常粒茫矗福常埃残酒
。粒茫矗福常埃彩牵粒酰洌椋铮茫铮洌澹蠊就瞥龅囊豢畹凸、低價(jià)格的雙通道語(yǔ)音包處理器,其內(nèi)部集成了一個(gè)DSP內(nèi)核。該芯片的主要特性如下:
·支持兩個(gè)通道的語(yǔ)音壓縮編碼,語(yǔ)音壓縮標(biāo)準(zhǔn)包括G.729A、G.723.1、G.727、G.726、G.711。
·兼容T.38或FRF.11傳真中繼(2.4~14.4kbps)。
·呼叫ID產(chǎn)生和檢測(cè),呼叫進(jìn)程和用戶(hù)定義語(yǔ)音的檢測(cè)和產(chǎn)生。
·兼容G.168的25ms回聲消除。
·高性能的有效語(yǔ)音檢測(cè)(VAD)和舒適噪聲產(chǎn)生(CNG)。
·DTMF檢測(cè)和產(chǎn)生。
·A律/μ律可選的Codec接口,具有輸入輸出增益控制。
·PCMHighway接口。
·并行的主處理器接口(HPI)。
AC48302各部分硬件接口如圖3所示。
圖4AC48302HPI存儲(chǔ)器的映射關(guān)系
2.3.1語(yǔ)音接口(VoiceInterface)
語(yǔ)音接口提供未壓縮的語(yǔ)音、傳真數(shù)據(jù)的輸入輸出通道。語(yǔ)音接口對(duì)外提供四根信號(hào)線(xiàn)構(gòu)成PCM總線(xiàn),直接連接外部CODEC芯片的PCMHighway。這四根信號(hào)線(xiàn)為PCMIN、PCMOUT、PCMCLK、PCMFS。PCMIN輸入從CODEC送來(lái)的PCM信號(hào),AC48302內(nèi)部的DSP按照相應(yīng)標(biāo)準(zhǔn)(如G.729)壓縮后從HPI口交給路由器CPU轉(zhuǎn)發(fā)。PCMOUT則相反,AC48302將路由器CPU送來(lái)的語(yǔ)音數(shù)據(jù)按照合適的標(biāo)準(zhǔn)解壓縮,然后從PCMOUT口送到外部CODEC,CODEC經(jīng)過(guò)數(shù)/模轉(zhuǎn)換后恢復(fù)成語(yǔ)音信號(hào)?熏通過(guò)用戶(hù)接口送給用戶(hù)端。PCMCLK提供2.048MHz的比特同步時(shí)鐘,而PCMFS提供8kHz的幀同步時(shí)鐘。
。玻常玻龋校山涌
在本設(shè)計(jì)中,路由器CPU與AC48302通過(guò)HPI口進(jìn)行通信。路由器CPU和DSP通過(guò)AC48302的片內(nèi)共享的雙口存儲(chǔ)器實(shí)現(xiàn)數(shù)據(jù)交互。片內(nèi)共享存儲(chǔ)器的映射關(guān)系見(jiàn)圖4。
。龋校山涌诎ǎ备肝粩(shù)據(jù)總線(xiàn)和幾根控制總線(xiàn)。路由器CPU通過(guò)三個(gè)寄存器(HPIC、HPIA和HPID)控制AC48302及訪(fǎng)問(wèn)片內(nèi)存儲(chǔ)空間。HPIC為控制寄存器,用來(lái)選擇AC48302的高低字節(jié)順序、產(chǎn)生和接收中斷。HPIA為地址寄存器,用來(lái)尋址片內(nèi)的2K存儲(chǔ)空間。HPID為數(shù)據(jù)寄存器,用來(lái)緩存每次讀寫(xiě)的兩個(gè)字節(jié)數(shù)據(jù),外部CPU可以單個(gè)Word或塊數(shù)據(jù)方式訪(fǎng)問(wèn)HPID,當(dāng)以塊數(shù)據(jù)方式訪(fǎng)問(wèn)時(shí),HPIA寄存器自動(dòng)累加,這樣可以減少外部CPU寫(xiě)HPIA寄存器的開(kāi)銷(xiāo)。AC48302的內(nèi)部寄存器和存儲(chǔ)器為16位寬度,因此外部CPU每次訪(fǎng)問(wèn)AC48302必須以?xún)蓚(gè)字節(jié)為基本單位,信號(hào)線(xiàn)HI/LO用來(lái)選擇高低字節(jié),信號(hào)HRS1、HRS0指示當(dāng)前訪(fǎng)問(wèn)的是哪個(gè)寄存器。
除了以上兩個(gè)重要的接口外,AC48302內(nèi)部還包含一個(gè)PCM時(shí)鐘發(fā)生器、一個(gè)用于測(cè)試的JTAG接口以及一個(gè)用于訪(fǎng)問(wèn)外部SRAM及處理信道輔助信令的Memory&I/O接口。
2.4CODEC接口芯片
。茫希模牛眯酒(fù)責(zé)對(duì)DSP解壓縮后送來(lái)的PCM數(shù)據(jù)進(jìn)行解碼,并將濾波后的模擬語(yǔ)音信號(hào)送到用戶(hù)線(xiàn)接口芯片SLIC,SLIC對(duì)其進(jìn)行2-4線(xiàn)轉(zhuǎn)換后送給用戶(hù)端;同時(shí),CODEC還負(fù)責(zé)將SLIC送來(lái)的模擬語(yǔ)音信號(hào)進(jìn)行PCM編碼,然后送到DSP芯片進(jìn)行壓縮處理。
本設(shè)計(jì)中,CODEC芯片采用IDT公司的4通道PCM編解碼芯片IDT821034。該芯片具有可編程增益設(shè)置、主時(shí)鐘可選(2.048MHz、4.096MHz和8.192MHz)、最大可支持128?jìng)(gè)可編程時(shí)隙、A律/μ律可選、內(nèi)置數(shù)字濾波器、串行控制接口、低功耗等特點(diǎn)。本設(shè)計(jì)中選用主時(shí)鐘為2.048MHz(E1幀模式),可劃分為32個(gè)相等的時(shí)隙(Slot0~Slot31),4個(gè)通道的接收和發(fā)送時(shí)隙可通過(guò)向串行控制口寫(xiě)入控制字進(jìn)行動(dòng)態(tài)選擇。各時(shí)隙的位置都以8kHz的幀同步時(shí)鐘信號(hào)為參考,在IDT821034中,時(shí)隙0相對(duì)幀同步脈沖的位置有延遲模式和非延遲模式(圖6即為非延遲模式)。
。校茫椭鲿r(shí)鐘(BCLK)、幀同步時(shí)鐘(FS)、接收數(shù)據(jù)(DR)和發(fā)送數(shù)據(jù)(DX)一起構(gòu)成PCMHighway信號(hào),與AC48302進(jìn)行連接。BCLK與FS分別對(duì)應(yīng)AC48302的PCMCLK和PCMFS,這兩個(gè)時(shí)鐘信號(hào)都由AC48302產(chǎn)生;DR和DX分別對(duì)應(yīng)AC48302的PCMOUT和PCMIN。PCMHighway信號(hào)時(shí)序以及時(shí)隙與幀同步信號(hào)的關(guān)系分別如圖5、圖6所示。為了CODEC與DSP芯片間正確收發(fā)數(shù)據(jù),一般選擇CODEC芯片在BCLK的上升沿發(fā)送數(shù)據(jù)DX,下降沿采樣數(shù)據(jù)DR,而在另一端的AC48302,則在時(shí)鐘下降沿采樣PCMIN,上升沿發(fā)送PCMOUT。
。玻涤脩(hù)線(xiàn)接口(SLIC)芯片
設(shè)計(jì)中為了使語(yǔ)音卡能夠提供FXS接口功能,采用了愛(ài)立信公司的新型SLIC芯片PBL83710連接用戶(hù)接口。在該芯片內(nèi)部能夠產(chǎn)生高電壓鈴流信號(hào)及提供自動(dòng)電池饋電切換,具有環(huán)流振鈴和地鍵檢測(cè)功能及2-4線(xiàn)轉(zhuǎn)換功能。該芯片將許多傳統(tǒng)的振鈴繼電器、鈴流發(fā)生器等器件集成在一個(gè)片內(nèi),節(jié)省了印制板空間和成本。
3VoIP語(yǔ)音卡硬件驅(qū)動(dòng)流程
硬件驅(qū)動(dòng)程序主要完成以下功能:
。ǎ保┏跏蓟校蹋兀梗埃
0芯片,配置相關(guān)寄存器,選擇本地總線(xiàn)工作方式。
(2)初始化AC48302芯片,啟動(dòng)AC48302內(nèi)部的DSP內(nèi)核到正常工作狀態(tài)。AC48302的啟動(dòng)步驟按順序分為以下幾步:核代碼(Kernel)下載;程序代碼(Program)下載;初始化模式;啟動(dòng)運(yùn)行。
。ǎ常(qū)動(dòng)語(yǔ)音卡的正常操作。接收處理摘掛機(jī)中斷,將SLIC置于正確狀態(tài);配置CODEC芯片的各通道收發(fā)數(shù)據(jù)時(shí)隙以及CODEC芯片的增益控制;接收處理AC48302數(shù)據(jù)包處理中斷,AC48302每處理完一個(gè)語(yǔ)音數(shù)據(jù)包就通過(guò)中斷方式通知路由器CPU讀取當(dāng)前Buffer中的數(shù)據(jù)或向Buffer?qū)懭胂乱粋(gè)數(shù)據(jù)包。
本文采用的是FXS接口,只要對(duì)CODEC后面部分電路稍加改動(dòng)即可實(shí)現(xiàn)FXO或E&M接口功能。目前,該語(yǔ)音卡方案在路由器產(chǎn)品中已獲廣泛采用。
【VoIP語(yǔ)音卡在路由器中的應(yīng)用及硬件設(shè)計(jì)】相關(guān)文章:
CF卡在手機(jī)測(cè)試系統(tǒng)中的應(yīng)用08-06
AMBE-1000在語(yǔ)音壓縮中的應(yīng)用08-06
ISD4004語(yǔ)音芯片在語(yǔ)音報(bào)站器中的應(yīng)用08-06
語(yǔ)音處理芯片AC48105在低速語(yǔ)音編碼設(shè)備中的應(yīng)用08-06
藍(lán)牙芯片ROK 101 007在語(yǔ)音系統(tǒng)中的應(yīng)用08-06
SPCE061A在語(yǔ)音遙控器中的應(yīng)用08-06
語(yǔ)音識(shí)別在家電遙控器中的應(yīng)用08-06