作者:許文建,付慧生,陳洪波,閻靜杰
1 引 言
VoIP技術(shù)是一種基于IP數(shù)據(jù)網(wǎng)的語(yǔ)音傳輸技術(shù),它將標(biāo)準(zhǔn)的語(yǔ)音信號(hào)轉(zhuǎn)換成壓縮的數(shù)據(jù)報(bào)后在數(shù)據(jù)網(wǎng)絡(luò)而非傳統(tǒng)的電話網(wǎng)上進(jìn)行傳輸,是一種實(shí)時(shí)語(yǔ)音通信技術(shù)。在利用VoIP技術(shù)進(jìn)行通信時(shí),一般先使用語(yǔ)音壓縮算法對(duì)語(yǔ)音信號(hào)進(jìn)行壓縮編碼處理,再按IP標(biāo)準(zhǔn)進(jìn)行打包,經(jīng)Internet發(fā)送到接收地;接收端把這些語(yǔ)音數(shù)據(jù)報(bào)串起來,經(jīng)解碼解壓縮處理后恢復(fù)成原來的語(yǔ)音信號(hào),從而達(dá)到由IP網(wǎng)絡(luò)傳送語(yǔ)音的目的。其關(guān)鍵技術(shù)包括:信令、媒體編碼、媒體實(shí)時(shí)傳輸、業(yè)務(wù)質(zhì)量保障和網(wǎng)絡(luò)傳輸?shù)取?/p>
當(dāng)然,VoIP不是非電話網(wǎng)上傳送語(yǔ)音業(yè)務(wù)的惟一方式,實(shí)際上,存在另外兩種快速、高效、價(jià)格合理的能達(dá)到長(zhǎng)途話音傳輸?shù)姆椒?,即幀中繼語(yǔ)音網(wǎng)絡(luò)技術(shù)(Voice over Frame. Relay,VoFR)和ATM語(yǔ)音網(wǎng)絡(luò)技術(shù)(Voice over Asynchronous Transfer Mode,VoATM基于異步傳輸模式的語(yǔ)音網(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ì)國(guó)內(nèi)外VoIP技術(shù)的研究,要面向社會(huì)推廣價(jià)格低廉的IP電話業(yè)務(wù),普通用戶的電話終端成本,運(yùn)營(yíng)商的設(shè)備、管理成本都是必須考慮的因素。因此,設(shè)計(jì)出了一個(gè)VoIP系統(tǒng)方案,如圖1所示。
該設(shè)計(jì)方案具有一個(gè)功能可擴(kuò)展的基于軟核CPU技術(shù)的IP電話終端;具備基于會(huì)話初始化協(xié)議的SIP服務(wù)器,該協(xié)議是專為網(wǎng)絡(luò)會(huì)話而生的;并利用語(yǔ)音接口卡實(shí)現(xiàn)SIP與PSTN的互聯(lián)。具有技術(shù)先進(jìn)、針對(duì)性強(qiáng)和通用性好等特點(diǎn),是可行有效的。
2.2 IP電話終端硬件設(shè)計(jì)
根據(jù)1P電話終端的硬件需求,為該終端配置了音頻接入口、音頻編解碼芯片WM8731;網(wǎng)絡(luò)接口芯片DM9000A;存儲(chǔ)器IC42S16400;主控制器EP2C35;直流電源9 V,如圖2所示。
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)語(yǔ)音數(shù)據(jù)存儲(chǔ),還在電路上給終端配置了存儲(chǔ)器(SDRAM,SRAM,F(xiàn)LASH),用戶可以根據(jù)自己的情況選擇包含所有或其中任一種存儲(chǔ)器的電話機(jī)。本設(shè)計(jì)選用了其中的SDRAM作語(yǔ)音數(shù)據(jù)存儲(chǔ)器。
2.2.1 撥號(hào)電路
為實(shí)現(xiàn)IP電話與普通電話的通用性,該終端加入鍵盤模塊,按鍵開關(guān)KEY0~KEY9,KEY_X,KEY_Y,KEY_ON,KEY_OFF(其中,除KEY_ON和KEY_OFF是鎖閉式按鍵外,其余均為非鎖閉式按鍵)采用行列掃描式接法,加入了74HC245總線收發(fā)器作為緩沖器,電路如圖3所示(由于按鍵過多,圖中僅給出KEY0~KEY3電路)。
每個(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)。
2.2.2 音頻輸入及編解碼
音頻輸入及編解碼電路是通過Wolfson公司的WM8731編解碼器(編碼器和解碼器)實(shí)現(xiàn)的。它可以提供高質(zhì)量的24 b/s音頻,由一系列的I2C總線接口控制,這些接口連接到Cyclone II FPGA的引腳上。硬件電路如圖4所示。
3 軟核CPU的構(gòu)建
Altera推出的Nios/NiosⅡ系列嵌入式處理器擴(kuò)展了目前世界上最流行的嵌入式軟核處理器的性能,是Altera公司為其FPGA產(chǎn)品配套開發(fā)的軟核CPU。在邏輯功能上,它們是32 b的精簡(jiǎn)指令集CPU,用戶可以獲得超過200 DMIPS(Dhrystone Millions of Instructions Per Sec—ond,百萬(wàn)條指令/秒)的性能,并從三種處理器(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處理器、Aval—on總線,片內(nèi)外存儲(chǔ)器以及外設(shè)模塊等。利用SOPCBuilder,用戶可以很方便地將處理器、存儲(chǔ)器和其他外設(shè)模塊連接起來,形成一個(gè)完整的系統(tǒng)。其中,SOPC Build—er中已包含了Nios處理器和其他一些常用的外設(shè)IP模塊。用戶也可以設(shè)計(jì)自己的外設(shè)IP。
可見,利用SOPC的軟核CPU技術(shù)在以下方面具有很大的技術(shù)優(yōu)勢(shì):提高系統(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ù)庫(kù)文件,它存儲(chǔ)了系統(tǒng)模塊列表,模塊信息等。
在SOPC Builder環(huán)境里,用戶可以直接調(diào)用軟件提供的用于構(gòu)建CPU的基本模塊,也可以自定義模塊。本課題需要的模塊中,網(wǎng)絡(luò)接口與語(yǔ)音處理接口需要自定義,在構(gòu)建前必須有二者的源文件,設(shè)計(jì)采用了Verilog HDL書寫源程序,事先寫好了DM9000A.v和Open_I2C.v兩個(gè)底層程序。
前述SDRAM接口、鍵盤輸入接口、網(wǎng)絡(luò)接口芯片接口、音頻處理接口和I2C接口均連接到Avalon總線,相當(dāng)于總線的外掛設(shè)備。構(gòu)建完成,選擇自動(dòng)生成地址,其結(jié)果如圖5所示。
構(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(Do—main 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所示。
首先使用SOPC Builder系統(tǒng)工具構(gòu)建了一個(gè)NiosCPU作為整個(gè)系統(tǒng)的處理器核,它的Avalon總線對(duì)其他接口及控制器進(jìn)行指令和數(shù)據(jù)傳輸,包括:由內(nèi)部定時(shí)器控制的Avalon總線;為Nios CPU配置了JATG通用異步收發(fā)器UART;為可選擇的片外存儲(chǔ)器配備了專用存儲(chǔ)器接口;控制語(yǔ)音輸入輸出的音頻數(shù)據(jù)接口,實(shí)現(xiàn)語(yǔ)音編解碼的控制和流處理;以太網(wǎng)接口負(fù)責(zé)CPU與DM9000A的數(shù)據(jù)收發(fā)和協(xié)議轉(zhuǎn)換;
工作過程如下:
當(dāng)撥號(hào)確認(rèn)后,主控制器對(duì)編解碼器發(fā)送控制指令,開始語(yǔ)音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所示。
4.2 I2C語(yǔ)音模塊
由于語(yǔ)音編解碼器的處理延時(shí)是影響VoIP話音質(zhì)量的因素之一,為了保證語(yǔ)音編解碼的實(shí)時(shí)性,軟件系統(tǒng)在控制WM8731編解碼器的編解碼同時(shí),加入了I2C語(yǔ)音模塊,以實(shí)現(xiàn)語(yǔ)音數(shù)據(jù)的實(shí)時(shí)處理。它采用自頂向下設(shè)計(jì)方法利用QuartusⅡ進(jìn)行設(shè)計(jì)。
I2C是一種雙向制串行總線協(xié)議,只有總線處于“非忙”狀態(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í)鐘(CLOCK_500.v)。編解碼系統(tǒng)采樣頻率設(shè)定為48 kHz。
I2C.v程序流程見圖10。
在QuartusⅡ中對(duì)本模塊進(jìn)行測(cè)試,輸入頻率50 MHz,波形結(jié)果如圖11所示。
AUD_ADCDAT與AUD_DACDAT分別為I2C總線的輸入輸出,由圖11中可見其延遲為9.033 ns,實(shí)現(xiàn)了語(yǔ)音數(shù)據(jù)的實(shí)時(shí)處理。
5 結(jié) 語(yǔ)
本文研究并設(shè)計(jì)了一個(gè)基于SIP的IP電話終端,其結(jié)構(gòu)比較完整。同時(shí)對(duì)系統(tǒng)進(jìn)行了分塊測(cè)試和環(huán)境測(cè)試,實(shí)現(xiàn)了語(yǔ)音數(shù)據(jù)的A/D、D/A實(shí)時(shí)轉(zhuǎn)換,進(jìn)行了數(shù)據(jù)報(bào)的收發(fā)。同時(shí),本文提出的SIP與PSTN的互聯(lián)模型,使用戶(尤其是長(zhǎng)途電話用戶)不必?fù)?dān)心SIP IP終端與PSTN用戶的連接,可以在運(yùn)營(yíng)商的支持下自由地同其他用戶進(jìn)行通信,而不用擔(dān)心產(chǎn)生高昂的通話費(fèi)用。
Altera公司的軟件開發(fā)工具QuflrtusⅡ和NiosⅡ因其功能強(qiáng)大、可移植性強(qiáng)、可擴(kuò)展性高,作為CPU開發(fā),給大系統(tǒng)的升級(jí)與擴(kuò)展提供了簡(jiǎn)便的操作界面與操作方法。
從長(zhǎng)遠(yuǎn)來看,在VoIP技術(shù)發(fā)展過程中僅實(shí)現(xiàn)語(yǔ)音傳輸功能是遠(yuǎn)遠(yuǎn)不夠的。但利用Altera公司的軟核CPU技術(shù),若在本文研究的基礎(chǔ)上添加短信平臺(tái)、VGA接口等,則IP電話終端就不僅能實(shí)現(xiàn)語(yǔ)音通信,還能實(shí)現(xiàn)短消息傳輸、視頻通訊等,或者與一些數(shù)據(jù)平臺(tái)服務(wù)商聯(lián)合,為用戶提供數(shù)字點(diǎn)播等服務(wù),以成為一個(gè)功能強(qiáng)大的多媒體通信終端。
責(zé)任編輯:gt
-
芯片
+關(guān)注
關(guān)注
452文章
50206瀏覽量
420859 -
控制器
+關(guān)注
關(guān)注
112文章
16103瀏覽量
177067 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7430瀏覽量
163514
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論