论文部分内容阅读
摘要:本文对SPCE061A芯片的主要特点进行了描述,并运用SPCE061A相关原理提出了一个简单基于SPCE061A的IP电话系统。
关键词: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μ[email protected];具备触键唤醒的功能;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消息。
(4)等待RAS消息:网守在完成创建侦听线程后,就开始等待到来的RAS消息,如端点登记消息,网守搜寻消息,呼叫消息等,然后根据接受到的消息执行不同的操作。
本系统使用的语音压缩格式有两个:通话功能采用的是16kbit/s的SACM—A2000格式,完全可以满足窄带通信的要求,语音提示则采用压缩比最高的2.4kbit/s的SACM_S240格式,可以最大限度地节省处理器空间。
5 结束语
本设计在MSVC++6.0和凌阳的IDE环境实现。但这只是一个简单的IP电话系统。若想建立更完善的IP电话机,需要更高的硬件环境。实践证明,SPCE061A单片机具有大容量的储存器和强大的运算处理能力,系统只用单颗芯片即完成了语音处理和控制功能。同专用的语音识别芯片相比,SPCE061A具有结构简单、成本低、易于实现的优点。同时,凌阳科技公司提供SPCEO6lA的C函数库和语音处理函数库供用户调用,缩短了开发周期.SPCE061A具有l6位单片机的所有特征,又有语音处理技术方面的独特优势,利用其语音处理优势可开发出IP电话系统、语音应答系统、语音合成系统等,具有广阔的市场前景。
参考文献:
[1] 管晓春,杨勇.基于SPCE061A的数码语音录音及播放系统的设计[J].电脑应用技术,2007(04).
[2] 管晓春.基于uC/OS-II和SPCE061A的應用系统设计[J].电脑应用技术,2007(04).
[3] 南光群.SPCE061A单片机与SPLC501液晶显示模块的连接[J].电工技术,2007(07).
[4] 张丹,贺西平,张峰,等.凌阳SPCE061A单片机超声测距系统设计[J].陕西师范大学学报(自然科学版),2007(04).
[5] 高红亮,刘金华.基于SPCE061A的语音识别技术及其应用研究[J].可编程控制器与工厂自动化,2007(09).
[6] 文环明,张艳.基于SPCE061A的电子语音播报称重系统[J].电脑开发与应用,2007(12).
[7] 韩东波,曾兵,葛良全,等.基于SPCE061A的语音控制智能小车设计[J].计算机测量与控制,2007(09).
[8] 陈秀华,赵悦,唐毅谦.基于SPCE061A单片机的语音控制机器人的设计[J].中国水运(学术版),2007(08).
[9] 高红亮,刘金华.基于SPCE061A的语音识别技术应用[J].电子技术,2007(Z1).
[10] 袁霞,杜潜,姚丽娜,等.基于凌阳单片机SPCE061A的语音识别控制系统的设计[J].河南机电高等专科学校学报,2007(02).
[11] 周文彬,周洵.基于SPCE061A的语音增强[J].电子质量,2007(04).
[12] 王选民,黄利君.应用SPCE061A单片机实现高精度测频[J].微计算机信息,2006(32).
[13] 段世政,聂惠娟.基于SPCE061A的语音识别系统设计[J].新乡师范高等专科学校学报,2006(05).
[14] 吕英英,邵建龙,张锐.基于SPCE061A实现的语音数控电源[J].仪器仪表用户,2006(05).
[15] 姚幽然,黎亚元,李文波,等.SPCE061A在远程控制系统中的应用[J].机电工程技术,2006(06).
关键词: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μ[email protected];具备触键唤醒的功能;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消息。
(4)等待RAS消息:网守在完成创建侦听线程后,就开始等待到来的RAS消息,如端点登记消息,网守搜寻消息,呼叫消息等,然后根据接受到的消息执行不同的操作。
本系统使用的语音压缩格式有两个:通话功能采用的是16kbit/s的SACM—A2000格式,完全可以满足窄带通信的要求,语音提示则采用压缩比最高的2.4kbit/s的SACM_S240格式,可以最大限度地节省处理器空间。
5 结束语
本设计在MSVC++6.0和凌阳的IDE环境实现。但这只是一个简单的IP电话系统。若想建立更完善的IP电话机,需要更高的硬件环境。实践证明,SPCE061A单片机具有大容量的储存器和强大的运算处理能力,系统只用单颗芯片即完成了语音处理和控制功能。同专用的语音识别芯片相比,SPCE061A具有结构简单、成本低、易于实现的优点。同时,凌阳科技公司提供SPCEO6lA的C函数库和语音处理函数库供用户调用,缩短了开发周期.SPCE061A具有l6位单片机的所有特征,又有语音处理技术方面的独特优势,利用其语音处理优势可开发出IP电话系统、语音应答系统、语音合成系统等,具有广阔的市场前景。
参考文献:
[1] 管晓春,杨勇.基于SPCE061A的数码语音录音及播放系统的设计[J].电脑应用技术,2007(04).
[2] 管晓春.基于uC/OS-II和SPCE061A的應用系统设计[J].电脑应用技术,2007(04).
[3] 南光群.SPCE061A单片机与SPLC501液晶显示模块的连接[J].电工技术,2007(07).
[4] 张丹,贺西平,张峰,等.凌阳SPCE061A单片机超声测距系统设计[J].陕西师范大学学报(自然科学版),2007(04).
[5] 高红亮,刘金华.基于SPCE061A的语音识别技术及其应用研究[J].可编程控制器与工厂自动化,2007(09).
[6] 文环明,张艳.基于SPCE061A的电子语音播报称重系统[J].电脑开发与应用,2007(12).
[7] 韩东波,曾兵,葛良全,等.基于SPCE061A的语音控制智能小车设计[J].计算机测量与控制,2007(09).
[8] 陈秀华,赵悦,唐毅谦.基于SPCE061A单片机的语音控制机器人的设计[J].中国水运(学术版),2007(08).
[9] 高红亮,刘金华.基于SPCE061A的语音识别技术应用[J].电子技术,2007(Z1).
[10] 袁霞,杜潜,姚丽娜,等.基于凌阳单片机SPCE061A的语音识别控制系统的设计[J].河南机电高等专科学校学报,2007(02).
[11] 周文彬,周洵.基于SPCE061A的语音增强[J].电子质量,2007(04).
[12] 王选民,黄利君.应用SPCE061A单片机实现高精度测频[J].微计算机信息,2006(32).
[13] 段世政,聂惠娟.基于SPCE061A的语音识别系统设计[J].新乡师范高等专科学校学报,2006(05).
[14] 吕英英,邵建龙,张锐.基于SPCE061A实现的语音数控电源[J].仪器仪表用户,2006(05).
[15] 姚幽然,黎亚元,李文波,等.SPCE061A在远程控制系统中的应用[J].机电工程技术,2006(06).