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

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

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

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

??? 關鍵詞: VoIP PCI FXS? 路由器? 語音壓縮

?

???

1 VoIP在路由器中的應用

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

?

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

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

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

  本文將介紹一種已經應用于路由器產品中的VoIP語音卡的硬件設計和工作原理。

2 VoIP語音卡硬件結構

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

?

2.1 PCI接口

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

2.2 CPLD部分

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

2.3 AC48302芯片

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

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

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

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

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

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

  ·DTMF檢測和產生。

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

  ·PCM Highway接口。

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

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

?

2.3.1 語音接口(Voice Interface)

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

2.3.2 HPI接口

  在本設計中,路由器CPU與AC48302通過HPI口進行通信。路由器CPU和DSP通過AC48302的片內共享的雙口存儲器實現數據交互。片內共享存儲器的映射關系見圖4。

?

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

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

2.4 CODEC接口芯片

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

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

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

?

?

2.5 用戶線接口(SLIC)芯片

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

3 VoIP語音卡硬件驅動流程

  硬件驅動程序主要完成以下功能:

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

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

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

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

?

參考文獻

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

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

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

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