基于飞思卡尔射频芯片MC13192的无线语音网关
当前许多解决方案采用了蓝牙或其他技术,不难发现这些技术均有成本高,技术复杂等缺点。飞思卡尔MC13192是一款低功耗的射频芯片,具有低成本、低功耗、性能稳定等优点,适用于低速率无线网络的射频芯片。用户可以通过该芯片及zigbee协议栈实现无线网络的构建,该技术已经被普遍用于家电控制。本文介绍了一种利用此技术实现VoIP两路语音通信的方案,是无线语音网络的一种新的低成本、低功耗的解决方案。
飞思卡尔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平台.
引脚的配置分为三部分:QSPI的初始化、GPIO的初始化以及中断引脚的配置。QSPI和中断引脚的配置相对比较简单,下面首先对这两部分做一个介绍。
QSPI的初始化要完成对模式寄存器及环绕寄存器的初始化,值得一提的是方式寄存器初始化需要设置宏MCF_QSPI_QMR_BAUD(x),该宏用于设置QSPI的波特率,括号内的数值x需要根据硬件环境及用户需要的QSPI的时钟频率来确定,计算公式为:
MCF5234的时钟频率为150MHz,在本系统中使用的QSPI的频率为2MHz,因此波特率数值约等于19。对于中断引脚的初始化则更为简单,初始化过程包括触发方式、引脚方向以及中断允许三步。其中触发方式需要选择下降沿触发,引脚方向要设置为输出,由于MC13192使用IRQ3,因此最后要允许来自IRQ3的中断。
GPIO的初始化主要分为三步:引脚配置,方向寄存器初始化,以及数据寄存器的初始化。首先需要将要使用的GPIO引脚配置为GPIO功能,然后要将这些引脚配置为输出(因为这些引脚均被MCU用来控制MC13192,方向是从MCU输出),最后要将这些引脚上的数据配置为初始值。