摘要:为了解决有线数据传输的线路布放和数据通信接口问题,方便仪器设备之间的连接,设计了一种基于USB接口的嵌入式无线传输系统。系统把新一代USB接口芯片CP2101与低功耗RF收发芯片CC1101相结合,采用单片机控制,通过自主灵活的通信协议和全球ISM频段通信标准,以及高效前向纠错信道编码技术,实现了中短距离内准确、稳定、高速的数据传输。
关键词:无线传输;CP2101;CC1101;嵌入式系统
基于USB接口的嵌入式无线传输系统设计在涉及通信接口时,为了解决PC机串口和并口严重不足的问题以及方便仪器设备之间的连接,提出了无线传输技术和USB接口相结合的方案。无线传输和USB接口在各自的应用领域都不再是新概念,但将两者相结合确是一个较为独特的设计创新。
1 系统结构总体设计
整个设计主要实现基于USB接口的数字无线RF发送与接收,系统结构设计如图1所示,可分为3大部分:无线RF电路、微控制器电路、USB接口电路。
无线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)功能。RF芯片CC1101采用的是基于0.18μsCMOS晶体的Chipcon的SmartRF04技术,它资源开放性非常好,外围电路设计简单,特别是这款RF芯片的输出功率、载波频率、通信波特率可由控制芯片对相关寄存器编程更改,设计与应用非常灵活。
www.55dianzi.com
整个系统采用的是上电复位,与基于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所示)完成了系统和计算机或设备端的物理连接,提供总线的硬件收发接口,实现电气和底层的逻辑功能,完成上层协议处理、数据收发控制以及电压调节。
图中的USB芯片采用的是美国SILICon公司生产的高集成度USB转UART专用芯片CP2101,它集成度高,内置USB2.0全速功能控制器、USB收发器、晶体振荡器、EEPROM(EEPROM可以通过USB在应用板上进行编程这使得在产品制造和调试过程中就可以实现对它进行编程)及异步串行数据总线(UART),内带电压调节器(3.3V输出),支持调制解调器全功能信号,无需任何外部的USB器件,功能强大且占用空间非常小。
利用CP2101设计的工作电路有很大的优越性,它只需使用USB接口就可以完成提供TTL电源、串行口通信、IAP编程及复位信号控制,减少了计算机与外设之间的接口。使用CYGNAL免费提供的器件驱动程序CP2101可以很容易地将PC的USB口虚拟成COM口。虚拟COM口的器件驱动程序允许一个基于CP2101的器件以PC应用软件的形式,作为一个增加的COM口独立于任何现有的硬件。COM口使用运行在PC上的应用软件,以访问一个标准硬件COM口的方式访问基于CP2101的器件。因此,无需修改现有的软件和硬件就可以通过USB向基于CP-2101的器件传输数据,大量省去了CP2101系列器件二次开发的投入。
3 软件设计
由于RF芯片CC1101优秀的接收器选择性和模块化性能,整个系统的通信协议可以人为编程设定。在无线传输系统之间的通信中大多采用主从式结构,主机和从机之间的通信都是采用查询中断方式进行,它的通信信道是半双工的,最适合点对点、点对多点的通信方式。
点对多点多机通信的多机通信方式首先需要设一个主机,其余为从机,所有主从机都编一个唯一的地址。通信的协调完全由主机控制,主机采用带地址码的数据帧发送数据或命令,从站全部都接收,并将接收到的地址码与本地地址码比较,不同则将数据全部丢掉,不作任何响应。地址码相同,则证明数据是给本地的,从站根据传过来的数据或命令进行不同的响应,将响应的数据发送回去。这些工作都需要采用上层通信协议来完成,并可保证在任何一个瞬间,通信网中只有一对电台处于通信状态,以免相互干扰。