摘 要:提出了一種基于會(huì)話初始化協(xié)議的VoIP系統(tǒng)(包括IP電話終端、SIP服務(wù)器和PSTN接入端口),并對(duì)SIP與PSTN的互聯(lián)進(jìn)行了系統(tǒng)級(jí)構(gòu)建。利用Altera的SOPC軟核CPU技術(shù)和Nios II處理器構(gòu)建了一個(gè)IP電話終端。該設(shè)計(jì)具有靈活的可擴(kuò)展性,能夠在實(shí)現(xiàn)語音通信的基礎(chǔ)上較容易地?cái)U(kuò)展視頻接口、短信平臺(tái)等多媒體功能,給產(chǎn)品用戶和運(yùn)營商提供了一種低成本的多媒體網(wǎng)絡(luò)通信終端設(shè)備,具有廣闊的市場前景。
關(guān)鍵詞:VoIP技術(shù);SOPC;IP電話終端;Nios Ⅱ;軟核CPU技術(shù)
中圖分類號(hào):TN91 文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004-373X(2008)11-093-04
Study and Design of IP Phone Interface Based on Soft Core CPU Technology
XUE Wenjian,F(xiàn)U Huisheng,CHEN Hongbo,YAN Jingjie
(School of Information and Electrical Engineering,China University of Mining Technology,Xuzhou,221008,China)
Abstract:This paper brings forward a VoIP system based on Session Initial Protocol (SIP),including IP phone terminal,SIP server and PSTN interface.Meanwhile,it builds an interconnection structure between SIP and PSTN.It makes use of Altera SOPC soft core CPU technology and Nios Ⅱ processor to build a IP phone terminal.It′s able to expand flexibly and upgrade,such as easily expand a VGA interface and short message platform.That is a low-cost multi-media communication terminal for production user and server support.So it has a broad market foreground.
Keywords:VoIP technology;SOPC;IP phone terminal;Nios Ⅱ;soft core CPU technology
1 引 言
VoIP[1]技術(shù)是一種基于IP數(shù)據(jù)網(wǎng)的語音傳輸技術(shù),它將標(biāo)準(zhǔn)的語音信號(hào)轉(zhuǎn)換成壓縮的數(shù)據(jù)報(bào)后在數(shù)據(jù)網(wǎng)絡(luò)而非傳統(tǒng)的電話網(wǎng)上進(jìn)行傳輸,是一種實(shí)時(shí)語音通信技術(shù)。在利用VoIP技術(shù)進(jìn)行通信時(shí),一般先使用語音壓縮算法對(duì)語音信號(hào)進(jìn)行壓縮編碼處理,再按IP 標(biāo)準(zhǔn)進(jìn)行打包,經(jīng)Internet發(fā)送到接收地;接收端把這些語音數(shù)據(jù)報(bào)串起來,經(jīng)解碼解壓縮處理后恢復(fù)成原來的語音信號(hào),從而達(dá)到由IP網(wǎng)絡(luò)傳送語音的目的。其關(guān)鍵技術(shù)包括:信令、媒體編碼、媒體實(shí)時(shí)傳輸、業(yè)務(wù)質(zhì)量保障和網(wǎng)絡(luò)傳輸?shù)?。?/p>
當(dāng)然,VoIP不是非電話網(wǎng)上傳送語音業(yè)務(wù)的惟一方式,實(shí)際上,存在另外兩種快速、高效、價(jià)格合理的能達(dá)到長途話音傳輸?shù)姆椒?,即幀中繼語音網(wǎng)絡(luò)技術(shù)(Voice over Frame Relay,VoFR)和ATM語音網(wǎng)絡(luò)技術(shù)(Voice over Asynchronous Transfer Mode,VoATM基于異步傳輸模式的語音網(wǎng)絡(luò)技術(shù)),但目前這兩種技術(shù)的發(fā)展速度較緩,技術(shù)不夠成熟。
2 硬件系統(tǒng)設(shè)計(jì)
一個(gè)完整的VoIP系統(tǒng)應(yīng)包含IP電話終端、網(wǎng)關(guān)、網(wǎng)守、網(wǎng)管系統(tǒng)、計(jì)費(fèi)系統(tǒng)等幾部分。本文重點(diǎn)研究可直接掛接在計(jì)算機(jī)網(wǎng)絡(luò)上的IP電話終端。
2.1 硬件系統(tǒng)方案
通過對(duì)國內(nèi)外VoIP技術(shù)的研究,要面向社會(huì)推廣價(jià)格低廉的IP電話業(yè)務(wù),普通用戶的電話終端成本,運(yùn)營商的設(shè)備、管理成本都是必須考慮的因素。因此,設(shè)計(jì)出了一個(gè)VoIP系統(tǒng)方案,如圖1所示。
圖1 VoIP系統(tǒng)整體設(shè)計(jì)圖
該設(shè)計(jì)方案具有一個(gè)功能可擴(kuò)展的基于軟核CPU技術(shù)的IP電話終端;具備基于會(huì)話初始化協(xié)議的SIP服務(wù)器,該協(xié)議是專為網(wǎng)絡(luò)會(huì)話而生的;并利用語音接口卡實(shí)現(xiàn)SIP與PSTN的互聯(lián)。具有技術(shù)先進(jìn)、針對(duì)性強(qiáng)和通用性好等特點(diǎn),是可行有效的。
2.2 IP電話終端硬件設(shè)計(jì)
根據(jù)IP電話終端的硬件需求,為該終端配置了音頻接入口、音頻編解碼芯片WM8731;網(wǎng)絡(luò)接口芯片DM9000A;存儲(chǔ)器IC42S16400;主控制器EP2C35;直流電源9 V,如圖2所示。
圖2 IP電話終端電路結(jié)構(gòu)圖
IP電話終端采用直流9 V供電,通過穩(wěn)壓芯片(輸出+5 V)為電路板供電,終端的A/D、D/A轉(zhuǎn)換器選用了Wolfson公司的24 b音頻編解碼芯片WM8731,以太網(wǎng)傳輸部分選用了Davicom公司的網(wǎng)絡(luò)接口芯片DM9000A,并為輸入撥號(hào)配備了鍵盤(號(hào)碼撥盤),為實(shí)現(xiàn)語音數(shù)據(jù)存儲(chǔ),還在電路上給終端配置了存儲(chǔ)器(SDRAM,SRAM,F(xiàn)LASH),用戶可以根據(jù)自己的情況選擇包含所有或其中任一種存儲(chǔ)器的電話機(jī)。本設(shè)計(jì)選用了其中的SDRAM作語音數(shù)據(jù)存儲(chǔ)器。
[BT4]2.2.1 撥號(hào)電路
為實(shí)現(xiàn)IP電話與普通電話的通用性,該終端加入鍵盤模塊,按鍵開關(guān)KEY0~KEY9,KEYX,KEYY,KEYON,KEYOFF(其中,除KEYON和KEYOFF是鎖閉式按鍵外,其余均為非鎖閉式按鍵)采用行列掃描式接法,加入了74HC245總線收發(fā)器作為緩沖器,電路如圖3所示(由于按鍵過多,圖中僅給出KEY0~KEY3電路)。
圖3 鍵盤輸入及撥號(hào)電路
每個(gè)這種開關(guān)用來控制史密特觸發(fā)電路,史密特觸發(fā)裝置的14個(gè)出口直接與Cyclone Ⅱ FPGA相連。每個(gè)開關(guān)當(dāng)不按下時(shí)提供一個(gè)高電平(3.3 V),在按下時(shí)提供一個(gè)低電平(0 V)。非鎖閉式按鍵開關(guān)是反彈的,它們相當(dāng)于電路的時(shí)鐘或復(fù)位輸入;鎖閉式按鍵是不可反彈的,按下時(shí)相當(dāng)于一個(gè)邏輯低電平(0 V),彈出時(shí)提供一個(gè)邏輯高電平(3.3 V)。
[BT4]2.2.2 音頻輸入及編解碼
音頻輸入及編解碼電路是通過Wolfson公司的WM8731[2]編解碼器(編碼器和解碼器)實(shí)現(xiàn)的。它可以提供高質(zhì)量的24 b/s音頻,由一系列的I2C總線接口控制,這些接口連接到Cyclone II FPGA的引腳上。硬件電路如圖4所示。
圖4 音頻輸入輸出電路
3 軟核CPU的構(gòu)建
Altera推出的Nios/Nios Ⅱ系列嵌入式處理器擴(kuò)展了目前世界上最流行的嵌入式軟核處理器的性能,是Altera公司為其FPGA產(chǎn)品配套開發(fā)的軟核CPU。在邏輯功能上,它們是32 b的精簡指令集CPU,用戶可以獲得超過200 DMIPS(Dhrystone Millions of Instructions Per Second,百萬條指令/秒)的性能,并從三種處理器(e型、s型、f型)以及超過60個(gè)的IP核中選擇所需要的。Nios Ⅱ系統(tǒng)為用戶提供了最基本的多功能性,設(shè)計(jì)師可以據(jù)此創(chuàng)建一個(gè)最適合他們需求的嵌入式系統(tǒng)。Nios及Nios Ⅱ處理器通過FPGA編程的方式實(shí)現(xiàn)用戶所需,這是與傳統(tǒng)的CPU的一個(gè)根本的差別。
SOPC系統(tǒng)的平臺(tái)包括:Altera的Nios處理器、Avalon總線,片內(nèi)外存儲(chǔ)器以及外設(shè)模塊等。利用SOPC Builder,用戶可以很方便地將處理器、存儲(chǔ)器和其他外設(shè)模塊連接起來,形成一個(gè)完整的系統(tǒng)。其中,SOPC Builder中已包含了Nios處理器和其他一些常用的外設(shè)IP模塊。用戶也可以設(shè)計(jì)自己的外設(shè)IP。
可見,利用SOPC的軟核CPU技術(shù)在以下方面具有很大的技術(shù)優(yōu)勢:提高系統(tǒng)性能;更低的系統(tǒng)成本;應(yīng)對(duì)產(chǎn)品的生命周期;功能強(qiáng)大、易用的開發(fā)工具等。
SOPC Builder是Quartus Ⅱ附帶的一個(gè)用來開發(fā)基于處理器、外圍以及存儲(chǔ)器的片上可編程系統(tǒng)的開發(fā)工具。SOPC Builder可以根據(jù)用戶的編輯實(shí)時(shí)地生成.ptf文件;系統(tǒng)PTF文件類似于一個(gè)數(shù)據(jù)庫文件,它存儲(chǔ)了系統(tǒng)模塊列表,模塊信息等。
在SOPC Builder環(huán)境里,用戶可以直接調(diào)用軟件提供的用于構(gòu)建CPU的基本模塊,也可以自定義模塊。本課題需要的模塊中,網(wǎng)絡(luò)接口與語音處理接口需要自定義,在構(gòu)建前必須有二者的源文件,設(shè)計(jì)采用了Verilog HDL書寫源程序[3],事先寫好了DM9000A.v和OpenI2C.v兩個(gè)底層程序。
前述SDRAM接口、鍵盤輸入接口、網(wǎng)絡(luò)接口芯片接口、音頻處理接口和I2C接口均連接到Avalon總線,相當(dāng)于總線的外掛設(shè)備。構(gòu)建完成,選擇自動(dòng)生成地址,其結(jié)果如圖5所示。
圖5 Nios Ⅱ處理器
構(gòu)建完成后生成(Generate).bsf格式文件system.bsf,轉(zhuǎn)到Quartus Ⅱ環(huán)境下可以直接調(diào)用,相當(dāng)于一個(gè)自定義的控制器芯片。
4 接口電路的軟件設(shè)計(jì)
4.1 軟件設(shè)計(jì)
作為IP網(wǎng)絡(luò)的一個(gè)端點(diǎn),IP電話必須像其他IP終端一樣,為其分配IP地址、子網(wǎng)掩碼、缺省路由器、DNS(Domain Name System,域名系統(tǒng))等。同時(shí)它存在自動(dòng)和人工兩種配置方式,自動(dòng)方式的IP電話必須使能DHCP(Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)分配協(xié)議),手動(dòng)方式由用戶對(duì)IP電話配置必要的信息。整個(gè)IP終端的軟件設(shè)計(jì)包括了主控制器、網(wǎng)絡(luò)接口、音頻輸入/輸出口和可選擇的存儲(chǔ)器等部分的設(shè)計(jì),其軟件系統(tǒng)結(jié)構(gòu)如圖6所示。
圖6 軟件系統(tǒng)結(jié)構(gòu)圖
首先使用SOPC Builder系統(tǒng)工具構(gòu)建了一個(gè)Nios CPU作為整個(gè)系統(tǒng)的處理器核,它的Avalon總線對(duì)其他接口及控制器進(jìn)行指令和數(shù)據(jù)傳輸,包括:由內(nèi)部定時(shí)器控制的Avalon總線;為Nios CPU配置了JATG通用異步收發(fā)器UART;為可選擇的片外存儲(chǔ)器配備了專用存儲(chǔ)器接口;控制語音輸入輸出的音頻數(shù)據(jù)接口,實(shí)現(xiàn)語音編解碼的控制和流處理;以太網(wǎng)接口負(fù)責(zé)CPU與DM9000A的數(shù)據(jù)收發(fā)和協(xié)議轉(zhuǎn)換;
工作過程如下:
當(dāng)撥號(hào)確認(rèn)后,主控制器對(duì)編解碼器發(fā)送控制指令,開始語音A/D轉(zhuǎn)換,并進(jìn)行編碼,送到片外存儲(chǔ)器內(nèi)進(jìn)行緩存;Nios CPU對(duì)撥號(hào)信息的解析確定目的地址,通過Avalon總線對(duì)以太網(wǎng)接口發(fā)送數(shù)據(jù)傳輸指令;將符合以太網(wǎng)標(biāo)準(zhǔn)的數(shù)據(jù)從片外存儲(chǔ)器內(nèi)讀出,送入Internet中,返回確認(rèn)信息。系統(tǒng)處理流程圖如圖7所示。
圖7 系統(tǒng)處理流程圖
4.2 I2C語音模塊
由于語音編解碼器的處理延時(shí)是影響VoIP話音質(zhì)量的因素之一,為了保證語音編解碼的實(shí)時(shí)性,軟件系統(tǒng)在控制WM8731編解碼器的編解碼同時(shí),加入了I2C語音模塊,以實(shí)現(xiàn)語音數(shù)據(jù)的實(shí)時(shí)處理。它采用自頂向下設(shè)計(jì)方法利用Quartus Ⅱ進(jìn)行設(shè)計(jì)[4]。
I2C是一種雙向制串行總線協(xié)議[5],只有總線處于“非忙”狀態(tài)時(shí),數(shù)據(jù)傳輸才能被初始化。數(shù)據(jù)傳輸期間,只要時(shí)鐘線為高電平,數(shù)據(jù)線都必須保持穩(wěn)定,否則數(shù)據(jù)線上的任何變化都被當(dāng)作“啟動(dòng)”或“停止”信號(hào)。它實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)傳輸。
首先在Quartus Ⅱ環(huán)境內(nèi)創(chuàng)建一個(gè)名為I2C的原理圖文件,然后建立包括各個(gè)模塊的頂層圖(使用Altera提供的LPM功能模塊或者建立自己的功能模塊),在頂層圖中將各個(gè)功能模塊進(jìn)行連接,如圖8所示。
調(diào)試通過以后必須對(duì)其引腳進(jìn)行手動(dòng)設(shè)置,以便程序的下載,如圖9所示。
將Wolfson WM8731音頻編解碼器被配置為控制模式,可以自動(dòng)產(chǎn)生AD/DA的連續(xù)比特時(shí)鐘和左/右聲道時(shí)鐘(CLOCK500.v)。編解碼系統(tǒng)采樣頻率設(shè)定為48 kHz。
I2C.v程序流程見圖10。
圖8 I2C語音頂層原理圖
圖9 I2C引腳設(shè)置
圖10 語音數(shù)據(jù)流處理程序流程圖
在Quartus Ⅱ中對(duì)本模塊進(jìn)行測試,輸入頻率50 MHz,波形結(jié)果如圖11所示。
AUDADCDAT與AUDDACDAT分別為I2C總[LL]線的輸入輸出,由圖11中可見其延遲為9.033 ns,實(shí)現(xiàn)了語音數(shù)據(jù)的實(shí)時(shí)處理。
圖11 I2C.v程序波形分析
5 結(jié) 語
本文研究并設(shè)計(jì)了一個(gè)基于SIP的IP電話終端,其結(jié)構(gòu)比較完整。同時(shí)對(duì)系統(tǒng)進(jìn)行了分塊測試和環(huán)境測試,實(shí)現(xiàn)了語音數(shù)據(jù)的A/D、D/A實(shí)時(shí)轉(zhuǎn)換,進(jìn)行了數(shù)據(jù)報(bào)的收發(fā)。同時(shí),本文提出的SIP與PSTN的互聯(lián)模型,使用戶(尤其是長途電話用戶)不必?fù)?dān)心SIP IP終端與PSTN用戶的連接,可以在運(yùn)營商的支持下自由地同其他用戶進(jìn)行通信,而不用擔(dān)心產(chǎn)生高昂的通話費(fèi)用。
Altera公司的軟件開發(fā)工具Quartus Ⅱ和Nios Ⅱ因其功能強(qiáng)大、可移植性強(qiáng)、可擴(kuò)展性高,作為CPU開發(fā),給大系統(tǒng)的升級(jí)與擴(kuò)展提供了簡便的操作界面與操作方法。
從長遠(yuǎn)來看,在VoIP技術(shù)發(fā)展過程中僅實(shí)現(xiàn)語音傳輸功能是遠(yuǎn)遠(yuǎn)不夠的。但利用Altera公司的軟核CPU技術(shù),若在本文研究的基礎(chǔ)上添加短信平臺(tái)、VGA接口等,則IP電話終端就不僅能實(shí)現(xiàn)語音通信,還能實(shí)現(xiàn)短消息傳輸、視頻通訊等,或者與一些數(shù)據(jù)平臺(tái)服務(wù)商聯(lián)合,為用戶提供數(shù)字點(diǎn)播等服務(wù),以成為一個(gè)功能強(qiáng)大的多媒體通信終端。
參 考 文 獻(xiàn)
[1]Uyless Black.VOICE OVER IP.American:Prentice Hall/Pearson,2000.
[2]Wolfson.Microelectronics plc.WM8731/WM8731L.pdf.American,2004.
[3]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程\\[M\\].北京:北京航空航天大學(xué)出版社,2003.
[4]王志華,鄧仰東.數(shù)字集成系統(tǒng)的結(jié)構(gòu)化設(shè)計(jì)與高層次綜合\\[M\\].北京:清華大學(xué)出版社,2001.
[5]楊玉峰,黃煒.基于Nios的IP網(wǎng)絡(luò)電話終端設(shè)計(jì)\\[C\\].2006年中國大學(xué)生電子設(shè)計(jì)文章競賽優(yōu)秀作品集,2006.
作者簡介
許文建 男,1983年出生, 江蘇徐州人,碩士研究生。研究方向?yàn)闄z測技術(shù)與自動(dòng)化裝置。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。