专业的信息化与通信融合产品选型平台及垂直门户
注册 登陆 设为首页 加入收藏
首页 企业新闻 招标信息 行业应用 厂商专区 活动 商城 中标信息

资讯
中心

新闻中心 人物观点
厂商专区 市场分析
行业
应用
政府机构 能源产业 金融机构
教育科研 医疗卫生 交通运输
应用
分类
统一协作 呼叫客服 IP语音 视频会议 智能管理 数据库
数字监控 信息安全 IP储存 移动应用 云计算 物联网

TOP

基于MC13192射频芯片的VoIP无线语音网络
2011-04-22 16:19:22 来源:互联网 作者:【
关键词:VoIP 无线语音
 
VoIP是当今热门技术,而越来越多的用户提出了在VoIP网络的用户侧一端构建起无线网络,传统意义上的VoIP终端充当 VoIP网关的方案。

  VoIP是当今热门技术,而越来越多的用户提出了在VoIP网络的用户侧一端构建起无线网络,传统意义上的VoIP终端充当 VoIP网关的方案。当前许多解决方案采用了蓝牙或其他技术,不难发现这些技术均有成本高,技术复杂等缺点。飞思卡尔MC13192是一款低功耗的射频芯片,具有低成本、低功耗、性能稳定等优点,适用于低速率无线网络的射频芯片。用户可以通过该芯片及zigbee协议栈实现无线网络的构建,该技术已经被普遍用于家电控制。本文介绍了一种利用此技术实现VoIP两路语音通信的方案,是无线语音网络的一种新的低成本、低功耗的解决方案。

  设计实现

  MC13192简介

  飞思卡尔MC13192收发器是一个典型的ZigBee产品。芯片采用16通道、2.4GHz的频带,数据速率为250kb/s。它们可与32位嵌入式控制器(如飞思卡尔的MCF523x系列)协同使用。MC13192采用标准的4线SPI及7根GPIO与MCU通信,MCU可以通过对SPI的读写来设置及获取MC13192的寄存器,还可以通过对特定GPIO的电平设置来将MC13192的特定引脚置高或者拉低。

  MC13192同32位嵌入式处理器的通信

  由于处理器及开发板的差异,MCU同MC13192相联接的引脚会有所差异,因此为了实现MC13192同MCU的正常通信,必须首先配置相关引脚的方向及功能,本文所描述的方案基于飞思卡尔MCF5234平台,该平台同MC13192的引脚对应关系如表1所示。

  引脚的配置分为三部分:QSPI的初始化、GPIO的初始化以及中断引脚的配置。QSPI和中断引脚的配置相对比较简单,下面首先对这两部分做一个介绍。

  QSPI的初始化要完成对模式寄存器及环绕寄存器的初始化,值得一提的是方式寄存器初始化需要设置宏MCF_QSPI_QMR_BAUD(x),该宏用于设置QSPI的波特率,括号内的数值x需要根据硬件环境及用户需要的QSPI的时钟频率来确定,计算公式为:

  x=系统时钟频率

  4xQSPI时钟频率

  MCF5234的时钟频率为150MHz,在本系统中使用的QSPI的频率为2MHz,因此波特率数值约等于19。对于中断引脚的初始化则更为简单,初始化过程包括触发方式、引脚方向以及中断允许三步。其中触发方式需要选择下降沿触发,引脚方向要设置为输出,由于MC13192使用IRQ3,因此最后要允许来自IRQ3的中断。

  GPIO的初始化主要分为三步:引脚配置,方向寄存器初始化,以及数据寄存器的初始化。首先需要将要使用的GPIO引脚配置为GPIO功能,然后要将这些引脚配置为输出(因为这些引脚均被MCU用来控制MC13192,方向是从MCU输出),最后要将这些引脚上的数据配置为初始值。

  通过以上步骤,就完成了射频芯片和MCU的引脚联接,可以进行下一步的设计。

  IEEE 802.15.4协议MAC层的实现

  由于本方案需要通过射频芯片来进行语音数据的传输,因此需要一个可靠的MAC层协议的支持,可以采用IEEE802.15.4协议的一部分来满足本方案的要求,由于MC13192包含4个定时器,因此可以利用这4个定时器来划分时槽从而实现时分复用。

  网络结构设计

  本方案实现了两路语音通信,即两个手持设备通过无线网络与网关进行通信,网关通过有线网络连接到因特网。手持设备可以同时与外界进行通话。

  MAC协议设计

  本方案采用时槽的方式实现两路语音的复用,因此需要手持设备和网关之间时槽的严格同步。根据协议,每16个时槽作为一个超帧,网关在每个超帧的第一个时槽发送Baecon帧,第2到第8时槽是竞争时槽,因此在本方案中保留这7个时槽,第9到第16时槽是无竞争时槽,用于时分复用,在本方案中,将8个时槽分为4部分,分别用于两个手持设备的上下行数据传输。

  MAC协议的实现

  MC13192自带有4个定时器,每个定时器定时结束时产生一个中断,可以通过MC13192中断状态寄存器获知中断源,例如,当定时器1定时结束,则会产生一个中断,此时的中断状态寄存器的第9位被置高,因此在中断服务程序中加入对定时器中断的处理,可以实现时槽的划分,并且根据当前的时槽数来决定数据的收发,可以实现MAC层协议所要求的功能。在本设计中,我们采用30ms作为一个超帧的长度。以网关为例,处理定时器中断的程序如下所示:

  if(u16StatusContent & TIMER1_IRQ_MASK)

  //中断类别为定时器1中断

  time_slot++;   //每次超时都将时槽加1

  if(time_slot==16)

  time_slot=0; //时槽数的合法数值为0-15

  PLMEEnableMC13192Timer1(1875);

  //每个时槽的长度为1.875ms

  switch(time_slot)

  case 0:  LoadBaecon(&tx_pkt);//读取一个Baecon

  MCPSDataRequest(&tx_pkt);//发送Baecon

  break;

  case 8:

  MLMERXEnableRequest(&rx_pkt1,0);

  //打开接收天线,并将数据保存到rx_pkt1

  break;

  case 9:

  MLMERXEnableRequest(&rx_pkt2,0);

  break;

  case 10:

 LoadPacket(&tx_pkt,0,1);   //读取一个数据包

  MCPSDataRequest(&tx_pkt);//发送数据

  case 11:

  LoadPacket(&tx_pkt,0,1);   //读取一个数据包

  MCPSDataRequest(&tx_pkt);//发送数据

  //12-15时槽略

  手持设备的程序设计与网关设计大同小异,所不同的是,网关在每个超帧的开始自动发送Baecon,而手持设备则被动的接收Baecon,每次收到Baecon之后才打开定时器来划分时槽,而第15个时槽完毕后,手持设备需要打开接收天线以接收下一个超帧的Baecon。

  MC13192与语音编解码器及网络设备的协同工作

  因为MC13192支持的速率仅为250kbit/s,因此在网关与手持设备之间必须只能传输编码后的语音数据。在选择编解码方案之前,首先需要粗略估计一下带宽,由于极限速率为250Kbit/s,而由于协议所限,仅有一半时槽可供使用,即125Kbit/s,供两个设备上下行使用。这样,每个设备的单向极限速率仅为31.25kbit/s。而MC13192自身的切换时间为144us,而如2.3.3节描述,30ms为一个超帧,每个时槽长度为 1.875ms,再加上物理层头部的消耗,每设备单项可用速率约为20kbit/s。所以,在本方案中选用ITU-T G.726作为语音编解码方案。G.726语音编码消耗带宽16kbit/s,可以满足MC13192的带宽要求。

  对于网关而言,需要记录每个手持设备的通话对象,它通过MC13192及802.15.4 MAC协议获得时槽中的数据,根据对应的时槽确定数据属于哪个手持设备。最后将收到的语音数据封装成RTP包发送到手持设备的目的地。对于从网络上收到的语音数据,则需要确定属于哪一个手持设备,再通过MC13192在特定的时槽发送出去。

  对于手持设备则比较简单,它只需要在特定的时槽发送要编码后的数据,再在特定的时槽接收数据。

  设计总结

  该设计方案已经被用于本人参与的基于MC13192的zigbee电话项目中。经过实际测试,在40M范围内,可以实现无误码通信,通话质量优良。相对于基于其他技术的同类方案,本方案具有低成本、低功耗等优点,是一种比较有经济和技术价值的设计。

      

责任编辑:admin
免责声明:以上内容转载互联网平台或企业单位自行提供,对内容的真实性、准确性和合法性不负责,Voipchina网对此不承担任何法律责任。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部

上一篇亿联正式推出千兆彩屏话机T38G
下一篇多媒体融合通信平台促进公网和专..

热门文章

图片主题

最新文章

相关文章

广告位

Copyright@2003-2009 网络通信中国(原VoIP中国) 版权所有
联系方式:503927495@qq.com
  京ICP备05067673号-1 京公网安1101111101259