基于USB接口的嵌入式无线传输系统设计在涉及通信接口时,为了解决PC机串口和并口严重不足的问题以及方便仪器设备之间的连接,提出了无线传输技术和USB接口相结合的方案。无线传输和USB接口在各自的应用领域都不再是新概念,但将两者相结合确是一个较为独特的设计创新。
1 系统结构总体设计
整个设计主要实现基于USB接口的数字无线RF发送与接收,系统结构设计如图1所示,可分为3大部分:无线RF电路、微控制器电路、USB接口电路。
图1系统设计结构图
无线RF电路的主要功能是将从微控制器送来的数据按照预设的调制格式送到天线激励电磁波发射,并将从天线接收到的调制信号解调得到基带信号,再送给微控制器。微控制器(AT89C51)电路是整个设计系统的控制核心,是RF电路与USB接口之间的通信桥梁,同时也是RF电路的控制芯片,这部分需完成两大功能:其一是对RF芯片进行寄存器配置(通信参数配置)和数字通信,其二是与USB芯片进行数据传递以及对USB接口通信波特率设置。
2 硬件电路设计与实现
硬件电路按结构与功能分由3部分组成:无线RF电路、微控制器接口电路、USB接口电路。
2.1 无线RF电路
基于CC1101的无线RF电路设计如图2所示。CC1101是TI公司生产的一款高集成度、高灵敏度、多通道UHF收发机,专为低功耗无线数据传输所设计,特别是用在315/433/868/915 MHz频点的ISM(工业、科学、医疗)和SRD(短距离设备)领域。它的RF收发器集成了一个配置非常灵活的调制解调器,支持多种不同的调制方式,其数据传输率可达 500 kbps,且具有远程无线唤醒(WOR)功能[13]。RF芯片CC1101采用的是基于0.18 μs CMOS晶体的Chipcon的 SmartRF04技术,它资源开放性非常好,外围电路设计简单,特别是这款RF芯片的输出功率、载波频率、通信波特率可由控制芯片对相关寄存器编程更改,设计与应用非常灵活[2]。
图2 无线RF电路
2.1.1 输出功率调节
来自设备的RF输出功率等级有两个可程控等级。首先,专用的PATABLE寄存器能保持8个用户(PATABLE(0)~PATABLE(7))选择输出功率设定。然后,3位FREND0.PA_POWER[2:0]值选择PATABLE使用入口。这个两级功能在传输的开始和结束时提供灵活的PA功率线性上升或下降,及ASK调制整形。在每种情况下,PATABLE中序号0~FREND0.PA_POWER的所有PA功率设定值都会用到。
2.1.2 载波频率控制
CC1100的频率控制用来最小化一个信道导向系统需要的设计。为了建立一个带信道数目的系统,理想信道间隔由MDMCFG0.CHANSPC_M和MDMCFG1.CHANSPC_E寄存器设定。信道间隔寄存器分别为尾数和指数。基频率和起始频率由位于FREQ2、FREQ1和FREQ0寄存器的24位频率词汇设定。这个词汇典型地设定为将要使用的最低信道频率的中心。理想信道数目由 8位信道数目寄存器CHANNR.CHAN设定。寄存器CHANNR.CHAN为信道偏移的倍数。合成载波频率为(式中的fxosc晶振选用的频率为26 MHz):
选定的fIF(中间频率)由FSCTRL1.FREQ_IF寄存器控制:
2.1.3 通信波特率设置
系统传输时的数据率由MDMCFG3.DRATE_M和MDMCFG4.DRATE_E配置寄存器控制。数据率由下式算得,控制的数据率由晶体频率决定。
下面的方法能用来找到对应于给定数据率的合适的值:
若DRATE_M靠近其最近的寄存器而且接近256,则增加DRATE_E,使DRATE_M为0。
2.2 微控制器接口电路
微控制器接口电路设计如图3所示。整个控制电路的核心即MCU选用的是Atmel公司生产的低电压,高性能CMOS 8位单片机AT89C51,它片内含4 KB的Flash和128字节的数据RAM,提供5个中断源并支持两级中断嵌套,拥有一个全双工串行通信口,器件采用高精度、非易失性存储技术生产,兼容标准MCS51指令系统。
图3 微控制器接口电路
整个系统采用的是上电复位,与基于USB接口即插即用的特性非常吻合。图中D1和D2两个LED为整个模块的通信指示灯,分别接单片机的P1.6和P1.7,工作状态由编程控制;J1为微控制器与无线RF电路的接口,其中SCLK为RF芯片CC1101的时钟输入信号,接单片机P1.0与单片机时钟同步,端口SO(GDO1)、GDO0、还有GDO2为无线RF电路的数字输出口,端口SI和CSn为无线RF电路的数字输入口。微控制器除了为RF电路提供控制以外,还预留了键盘输入与液晶显示端口,为以后的需求作铺垫。
2.3 USB接口电路
USB接口电路(如图4所示)完成了系统和计算机或设备端的物理连接,提供总线的硬件收发接口,实现电气和底层的逻辑功能,完成上层协议处理、数据收发控制以及电压调节。
图4 USB接口与控制电路
图中的USB芯片采用的是美国Silicon公司生产的高集成度USB转UART专用芯片CP2101,它集成度高,内置USB2.0全速功能控制器、USB收发器、晶体振荡器、EEPROM(EEPROM可以通过USB在应用板上进行编程这使得在产品制造和调试过程中就可以实现对它进行编程)及异步串行数据总线(UART),内带电压调节器(3.3 V输出),支持调制解调器全功能信号,无需任何外部的USB器件,功能强大且占用空间非常小。
利用CP2101设计的工作电路有很大的优越性,它只需使用USB接口就可以完成提供TTL电源、串行口通信、IAP编程及复位信号控制,减少了计算机与外设之间的接口。使用CYGNAL免费提供的器件驱动程序CP2101可以很容易地将PC的USB口虚拟成COM口。虚拟COM口的器件驱动程序允许一个基于CP2101的器件以PC应用软件的形式,作为一个增加的COM口独立于任何现有的硬件。COM口使用运行在PC上的应用软件,以访问一个标准硬件COM口的方式访问基于CP2101的器件。因此,无需修改现有的软件和硬件就可以通过USB向基于CP2101的器件传输数据,大量省去了CP2101系列器件二次开发的投入。
3 软件设计
由于RF芯片CC1101优秀的接收器选择性和模块化性能,整个系统的通信协议可以人为编程设定。在无线传输系统之间的通信中大多采用主从式结构,主机和从机之间的通信都是采用查询中断方式进行,它的通信信道是半双工的,最适合点对点、点对多点的通信方式。
点对多点多机通信的多机通信方式首先需要设一个主机,其余为从机,所有主从机都编一个唯一的地址。通信的协调完全由主机控制,主机采用带地址码的数据帧发送数据或命令,从站全部都接收,并将接收到的地址码与本地地址码比较,不同则将数据全部丢掉,不作任何响应。地址码相同,则证明数据是给本地的,从站根据传过来的数据或命令进行不同的响应,将响应的数据发送回去。这些工作都需要采用上层通信协议来完成,并可保证在任何一个瞬间,通信网中只有一对电台处于通信状态,以免相互干扰。多机通信主机程序流程见本刊网站www.mesnet.com.cn——编者注。
4 系统测试及结论
基于USB接口的嵌入式无线传输系统的整个电路设计集于一块PCB板上,由于采用了极低功率和具有同类芯片中性能极佳的UHF无线收发器CC1101,结合高度集成的USB收发器CP2101,使整个系统模块几乎不需要外部器件,体积小,传输距离远。为了避免高频收发信号会对MCU产生干扰,所以无线RF电路必须外加金属罩屏蔽。系统设计在利用LNA(低噪声放大器)和可编程PA(功率放大器)模块在不同环境和通信参数下做了大量测试。表1是在下列条件下的测试结果:天线输入阻抗50 Ω,增益2.5 dB;GFSK调制方式;在开阔地环境下通信。
表1 无线数据传输模块测试结果
测试结果表明:基于USB接口的嵌入式无线传输系统能够实现在中短距离内准确(在信道误码率为10-3时,可得到实际误码率低于10-5)、稳定(可长时间抗干扰通信)、高速(最高传输率可达500 kbps)的数据传输。它的电路设计简单实用,成本低,功耗低,能提供256个通信信道,且各项通信指标良好,具有非常好的实用性。此设计模块已成功应用于无线传感器网络。