DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 111|回复: 0
打印 上一主题 下一主题

基于ARM9微处理器S3C2410的IP电话通信设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 18:48:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                    ???? 摘要:介绍了一种基于SIP协议的IP电话通信系统的组成原理,给出了一种独立式IP电话设计方案。该方案通过在S3C24lO微处理器上移植μC/0S-II操作系统来完成多任务管理,可使用一个RJ-45以太网接口直接连接Internet来实现和其他IP电话的通话。
  0 引言
  IP电话以其通话费率低、方便集成和智能化等优势而得到了众多消费者的极大认可,并因此而对原有固定电话运营者的长途电话和国际电话业务造成了巨大冲击。因此,随着以太网接口的直接入户,开发出一种带有RJ-45以太网接口并直接连入因特网,从而使使用更加方便的IP电话非常需要。利用这种IP电话,用户可以直接拨叫远端的电话号码,并通过关守(gate keeper)把所拨的电话号码转换成远端IP电话的IP地址,从而建立通话连接。事实上,新型IP电话终端已经可以直接把输入语音信号数字化,并按照G.728或G.729等一定的语音压缩编码算法来完成对输入语音信号的实时压缩,使带宽从64kbps降低到8kbps,从而大大提高了信道的利用率。IP电话终端通常遵循SIP(或者H.323)协议,并通过网关(gate way)实现IP电话和普通电话的互通。
  1 IP电话系统组成
  IP电话通信的基本原理是利用数字通信技术来对语音信号进行数字压缩编码处理,然后按TCP/IP标准进行打包,再经过互联网络把数据包发送到接收地。同时在接收端将这些语音数据包串起来。再经过解码解压处理,以使其恢复成原来的语音信号,从而达到由互联网传送语音的目的。IP电话的基本组成原理如图l所示。




  在图2中,CPU内核模块是搭建一个带CPU及存储器的工作核心。其中的微处理器采用的就是三星公司的S3C2410(ARM920T),Flash采用的是SST公司的SST39VFl60的NOR Flash,SDRAM则采用hynix公司的HY57V641620HG;以太网接口主要帮助CPU完成TCP/IP数据包的接收和发送。本设计采用的RTL8019AS是一种全双工的即插即用型以太网控制器,它兼容RTL8019控制软件和NE2000 8bit或16bit的传输,并支持UTP、AUI、BNC和PNP自动检测模式,同时支持外接闪烁存储器读写操作以及I/0口地址的完全解码,此外,它还具有LED指示功能,其接口符合Ethernet2和E802.3、10Base5、lOBase2、10BaseT等标准。
  系统中的显示模块采用一块普通数显LCD,主要用来完成电话号码的显示及一些本机工作状态的显示;键盘模块和EEPROM主要提供*机的拨号键盘,以完成拨号和电话机的功能设置。EEPROM主要用于系统参数的设置和存储。语音模块可选用飞利浦半导体公司的UDAl341TS音频编解码器。另外,系统中的上位机接口主要完成一些参数的设定和一些已经被记录的参数的读取。
  3 系统软件设计
  软件方面的工作主要是驱动程序的编写、任务的划分和任务的编写等三个方面。由于μC/OS-II基本上不提供API接口库或者需要额外购买,因此,*中需要编写的主要驱动软件有包括TCP/IP、液晶驱动、EEPROM驱动、键盘驱动、IO驱动、USB驱动等程序。这些驱动程序的编写一般都有固定的模式和套路。一般情况下,IP电话软件应包括完成语音通话所需的所有功能。该软件按功能可划分为图3所示的四部分。




  3.1 呼叫处理模块
  呼叫处理模块主要完成呼叫的建立与拆除功能。呼叫控制可采用SIP协议建立会话。呼叫建立过程通常是先由一个SIP终端向本地的代理服务器发出呼叫请求,本地的代理服务器则通过查询本地的重定向服务器来查找下一个代理服务器的地址,并向其转发呼叫请求。当下一个代理服务器收到呼叫请求后,首先通过定向服务器查找被叫所在网络的代理服务器,然后向该代理服务器转发呼叫请求。被叫所在网络的代理服务器确定被叫终端后,再向被叫终端转发呼叫请求。最后由被叫终端应答,从而实现连接。
  3.2 语音编码/解码模块
  虽然语音采集所得到的PCM编码数据能够提供较好的长途通信语音质量,但其速率往往过高,因而占用网络带宽资源过高。为此,一般都需要对语音数据进一步压缩,以降低语音编码的速率。这样,相应的,在接收端也就需要同样的解压算法来恢复原始语音数据。编制这部分代码可采用现在比较成熟的语音编解码算法,并进行一定的改进,以提高语音通话质量。
  3.3 数据封包/拆包模块
  数据封包/拆包软件模块主要对压缩编码后的语音数据进行打包,包括添加包头、时标和其他信息,以使其形成语音包。在接收时。则应进行相应的拆包,并提取语音压缩包。
  3.4 数据传输模块
  该模块主要完成语音包的发送和接收。因为把音频数据实时地传输给对方才是保证实时语音通信的关键。所以,在考虑可靠性和实时性方面,更应注重速度和实时性。故在选择协议时,可采用UDP协议,并在编程时使用对应的数据报套接字。
  4 结束语
  IP电话通信系统是利用现有计算机网络资源组成的电话通信系统,它无需铺设电话线和购置电话通信网络设备,故可节省大量建设电话网络的设备费、线路费和工程费用,可在不需要铺设电话线的情况下,方便地实现电话通信,增加电话用户,缩短安装工程周期,提高计算机网络资源的利用率,扩大电话的普及范围,同时可加大信息传递量,因而具有良好的社会和经济效益。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-6-1 09:41 , 耗时 0.088599 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表