首页 > 范文大全 > 正文

基于SPCE061A的IP电话系统

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于SPCE061A的IP电话系统范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文对SPCE061A芯片的主要特点进行了描述,并运用SPCE061A相关原理提出了一个简单基于spce061aip电话系统

关键词:SPCE061A;IP电话;系统设计

中图分类号:TN912文献标识码:A文章编号:1009-3044(2008)20-30229-02

The IP Phone System Based on SPCE061A

BAI Zeng,GUO Cui-juan

(Tianjin Industry University, Information and Communication Engineering Institute, Tianjin 300160, China)

Abstract: The papers describe the main features of the chip SPCE061A, and propose a simple IP phone system based on the SPCE061A with the relevant principles of SPCE061A.

Key words: SPCE061A; IP phone; system design

1 引言

IP电话技术是一种以Intemet/Intranet等IP数据网络为传输载体的语音传送通信技术。最初它只是一种互联网上的增值应用服务,形式也较为简单。随着互联网的普及,其在商业运营中的应用价值逐渐被人们发现。本文试图基于SPCE061A单片机设计IP电话系统。

2 SPCE061A的主要特性

SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机,使用它可以非常方便的实现语音的录放系统,该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。SPCE061A芯片内部集成了ICE(在线实时仿真/除错器)、FLASH(闪存)、SRAM(静态内存)、通用I/O端口、定时器/计数器、中断控制、CPU时钟锁相环(PLL)、ADC(模拟数字转换器)、DAC(数字模拟转换器)输出、UART(通用异步串行输入输出接口)、SIO(串行输入输出接口)、低电压监测/低电压复位等模块。这为实现语音录入,建立IP PHONE系统提供了方便的硬件条件。两路10精度的DAC,只需要外接功放(SPY0030)即可完成语音的播放。另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为IP电话系统软件开发提供了方便的条件。

SPCE061A芯片特性如下工作电压:内核工作电压VDD为3.0~3.6V(CPU),I/O口工作电压VDDH为VDD~5.5V(I/O);CPU时钟:0.32MHz~49.152MHz;内置2K字SRAM和32K闪存ROM;系统处于备用状态下(时钟处于停止状态),耗电小于2μA@3.6V;具备触键唤醒的功能;32位通用可编程输入/输出端口;2个16位可编程定时器/计数器(可自动预置初始计数值);7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;2个10位DAC(数-模转换)输出通道;14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;具备串行设备接口;低电压复位(LVR)功和低电压监测(LVD)功能;内置在线仿真(ICE,In- Circuit Emulator)接口。SPCE061A的内部结构框图如图1所示。

3 系统基本原理

目前IP电话有4种工作模式:PC到PC的形式;电话到PC的形式;PC到电话的形式:电话到电话的形式。基于这4种使用模式的IP电话采用的技术主要有两种:一种是ITU-I的H.323技术和IETF的SIP技术。目前,国内主要采用的是基于H.323技术的IP电话系统。

本系统的外扩存储器采用凌阳公司生产的SPR4096芯片,SPR4096内置512k×8bit高性价比FLASH存储器以及4k×8bitSRAM。SPR4096与SPCE061A之间的通讯采用SIO协议来实现的。语音处理采用一块SPR4096芯片。它是一个高性能的4Mbit(512*8-bit)FLASH,分为256个扇区(Sector),每个扇区为2K-byte。SPR4096内置了一个4K*8-bit(328128A)的SRAM。本方案中的语音采样数据就暂存于此。SPR4096按串行接口模式工作,其工作频率可达5MHz。SPR4096与SPCE061A硬件连接图如图2所示。

设计目的是要实现PC到PC之间的语音通信。PC机作为H.323的终端的用户界面。呼叫方进入用户界面,得到网守的认证后向被叫方发起呼叫。被叫方连接确认呼叫,呼叫方用凌阳单片的MIC进行原音输入,通过A/D转换,和移植到单片机中的语音压缩算法G.723的压缩,把数据送入单片机外扩的USB模组。经USB总线上传到PC机。PC机把数据包送到IP网络,进行分组转发。同理,被叫端收到IP网络分组转发来的数据包,经USB总线下载到单片机上,单片机调用解码算法,A/D转换后将语音样点送入单片机内置的SPEAKER,按预定频率(8KHz)播放。

图3中的电话线接口是用来连接公用电信网电话线的功能单元,包括振铃检测、极性检测等功能电路;听筒即受话器和送话器的组合,用来实现将电声转换;模拟语音电路主要是实现将听筒的信号放大、消侧音、2/4线转换等功能;MODEM模块实际是一款内置的、功能完整的56k/33.6k调制解调器。图3的核心l6位单片机SPCE061A。SPCE061A的主要实现的作用是:①控制模拟语音电路,实现完整的模拟电话功能,如DTMF拨号、控制模拟语音通话、来电显示等。②接收键盘命令,控制LCD显示屏显示各种状态信息。③传送并核对约定的信号并根据核对结果决定是否上网通话。④控制MODEM,以预设的账号和密码登陆网络并获取本机访问路径信息。⑤登陆服务器并提交本机访问路径信息,查询对方的访问路径信息并据此与对方建议网络连接。⑥将听筒送来的模拟语音信号转换成数字信号,压缩后通过网络按网络协议向对方传送;将网络上对方送来的数字信号解压缩,转换成模拟信号送到听筒。⑦根据键盘命令完成各种设置,并提供语音提示。

4 软件设计

本系统设计直接采用H.323体系结构中的网守OPENGK,它提供对H.323端点呼叫的管理功能。在逻辑上,网守是一个独立于端点的功能单元,然而在物理实现时,它可以装备在终端、MCU或者网关中。在本系统中它独立的装于服务器上。OPENGK程序使用的是Windows界面,比较友好。可以通过HTTP的Web方式查看和配置网守的属性,无疑此种方式是相当有利于远程管理的。程序流程如下:

(1)应用程序启动:应用程序启动,进行其它应用程序初始化设置。

(2)Start:应用程序完毕之后,调用OpenGk::OnStart()函数,在此函数中创建了终端类的实例。

(3)创建终端实例:在此应用程序中,继承自H.323EndPoint的MyEndPoint类中定义了一个从H.323gatekeeperServer类中继承来的MyGatekeeperServer类的实例。通过此种方式实现网守。在创建守终端实例后,终端会进行初始化操作,并在终端初始化函数中调用StartListener函数创建RAS等侦听线程。等待到来的RAS消息。