- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于软核CPU技术的IP电话接口设计
摘 要:提出了一种基于会话初始化协议的VoIP系统(包括IP电话终端、SIP服务器和PSTN接入端口),并对SIF,与PSTN的互联进行了系统级构建。利用Ahera的SOPC软核CPU技术和Nios II处理器构建了一个IP电话终端。该设计具有灵活的可扩展性,能够在实现语音通信的基础上较容易地扩展视频接口、短信平台等多媒体功能,给产品用户和运营商提供了一种低成本的多媒体网络通信终端设备,具有广阔的市场前景。
关键词:VoIP技术;SOPC;IP电话终端;NiosⅡ;软核CPU技术
l 引 言
VoIP技术是一种基于IP数据网的语音传输技术,它将标准的语音信号转换成压缩的数据报后在数据网络而非传统的电话网上进行传输,是一种实时语音通信技术。在利用VoIP技术进行通信时,一般先使用语音压缩算法对语音信号进行压缩编码处理,再按IP标准进行打包,经Internet发送到接收地;接收端把这些语音数据报串起来,经解码解压缩处理后恢复成原来的语音信号,从而达到由IP网络传送语音的目的。其关键技术包括:信令、媒体编码、媒体实时传输、业务质量保障和网络传输等。
当然,VoIP不是非电话网上传送语音业务的惟一方式,实际上,存在另外两种快速、高效、价格合理的能达到长途话音传输的方法,即帧中继语音网络技术(Voice over Frame Relay,VoFR)和ATM语音网络技术(Voice over Asynchronous Transfer Mode,VoATM基于异步传输模式的语音网络技术),但目前这两种技术的发展速度较缓,技术不够成熟。
2 硬件系统设计
一个完整的VoIP系统应包含IP电话终端、网关、网守、网管系统、计费系统等几部分。本文重点研究可直接挂接在计算机网络上的IP电话终端。
2.1 硬件系统方案
通过对国内外VoIP技术的研究,要面向社会推广价格低廉的IP电话业务,普通用户的电话终端成本,运营商的设备、管理成本都是必须考虑的因素。因此,设计出了一个VoIP系统方案,如图1所示。
该设计方案具有一个功能可扩展的基于软核CPU技术的IP电话终端;具备基于会话初始化协议的SIP服务器,该协议是专为网络会话而生的;并利用语音接口卡实现SIP与PSTN的互联。具有技术先进、针对性强和通用性好等特点,是可行有效的。
2.2 IP电话终端硬件设计
根据1P电话终端的硬件需求,为该终端配置了音频接入口、音频编解码芯片WM8731;网络接口芯片DM9000A;存储器IC42S16400;主控制器EP2C35;直流电源9 V,如图2所示。
IP电话终端采用直流9 V供电,通过稳压芯片(输出+5 V)为电路板供电.终端的A/D、D/A转换器选用了Wolfson公司的24 b音频编解码芯片WM8731,以太网传输部分选用了Davicom公司的网络接口芯片DM9000A,并为输入拨号配备了键盘(号码拨盘),为实现语音数据存储,还在电路上给终端配置了存储器(SDRAM,SRAM,FLASH),用户可以根据自己的情况选择包含所有或其中任一种存储器的电话机。本设计选用了其中的SDRAM作语音数据存储器。
2.2.1 拨号电路
为实现IP电话与普通电话的通用性,该终端加入键盘模块,按键开关KEY0~KEY9,KEY_X,KEY_Y,KEY_ON,KEY_OFF(其中,除KEY_ON和KEY_OFF是锁闭式按键外,其余均为非锁闭式按键)采用行列扫描式接法,加入了74HC245总线收发器作为缓冲器,电路如图3所示(由于按键过多,图中仅给出KEY0~KEY3电路)。
每个这种开关用来控制史密特触发电路,史密特触发装置的14个出口直接与CycloneⅡFPGA相连。每个开关当不按下时提供一个高电平(3.3 V)。在按下时提供一个低电平(0 V)。非锁闭式按键开关是反弹的,它们相当于电路的时钟或复位输入;锁闭式按键是不可反弹的,按下时相当于一个逻辑低电平(0 V),弹出时提供一个逻辑高电平(3.3 V)。
2.2.2 音频输入及编解码
音频输入及编解码电路是通过Wolfson公司的WM8731编解码器(编码器和解码器)实现的。它可以提供高质量的24 b/s音频,由一系列的I2C总线接口控制,这些接口连接到Cyclone II FPGA的引脚上。硬件电路如图4所示。
3 软核CPU的构建
Altera推出的Nios/NiosⅡ系列嵌入式处理器扩展了目前世界上最流行的嵌入式软核处理器的性能,是Altera公司为其FPGA产品配套开发的软核CPU。在逻辑功能上,它们是32 b的精简指令集CPU,用户可以获得超过200 DMIPS(Dhrystone Millions of Instructions Per Sec—ond,百万条指令/秒)的性能,并从三种处理器(e型、s型、f型)以及超过60个的IP核中选择所需要的。NiosⅡ系统为用户提供了最基本的多功能性,设计师可以据此创建一个最适合他们需求的嵌入式系统。Nios及NiosⅡ处理器通过FPGA编程的方式实现用户所需,这是与传统的CPU的一个根本的差别。
SOPC系统的平台包括:Altera的Nios处理器、Aval—on总线,片内外存储器以及外设模块等。利用SOPCBuilder,用户可以很方便地将处理器、存储器和其他外设模块连接起来,形成一个完整的系统。其中,SOPC Build—er中已包含了Nios处理器和其他一些常用的外设IP模块。用户也可以设计自己的外设IP。
可见,利用SOPC的软核CPU技术在以下方面具有很大的技术优势:提高系统性能;更低的系统成本;应对产品的生命周期;功能强大、易用的开发工具等。
SOPC Builder是QuartusⅡ附带的一个用来开发基于处理器、外围以及存储器的片上可编程系统的开发工具。SOPC Builder可以根据用户的编辑实时地生成.ptf文件;系统PTF文件类似于一个数据库文件,它存储了系统模块列表,模块信息等。
在SOPC Builder环境里,用户可以直接调用软件提供的用于构建CPU的基本模块,也可以自定义模块。本课题需要的模块中,网络接口与语音处理接口需要自定义,在构建前必须有二者的源文件,设计采用了Verilog HDL书写源程序,事先写好了DM9000A.v和Open_I2C.v两个底层程序。
前述SDRAM接口、键盘输入接口、网络接口芯片接口、音频处理接口和I2C接口均连接到Avalon总线,相当于总线的外挂设备。构建完成,选择自动生成地址,其结果如图5所示。
构建完成后生成(Generate).bsf格式文件system.bsf,转到QuartusⅡ环境下可以直接调用,相当于一个自定义的控制器芯片。
作者:许文建,付慧生,陈洪波,阎静杰 中国矿业大学 来源:现代电子技术