基于蓝牙和数传模块的小型四旋翼无人机通信系统设计

2016-10-22 03:37施洪平李志宇徐义华
电子设计工程 2016年17期
关键词:数传寄存器旋翼

施洪平,李志宇,徐义华

(1.南京航空航天大学自动化学院,江苏南京210016;2.南京航空航天大学无人机研究院中小型无人机先进技术工信部重点实验室江苏南京210016;3.空军驻江苏地区军事代表室江苏南京210016)

基于蓝牙和数传模块的小型四旋翼无人机通信系统设计

施洪平1,李志宇2,徐义华3

(1.南京航空航天大学自动化学院,江苏南京210016;2.南京航空航天大学无人机研究院中小型无人机先进技术工信部重点实验室江苏南京210016;3.空军驻江苏地区军事代表室江苏南京210016)

为实现四旋翼无人机与安卓地面站的无线通信,文中设计了一种基于蓝牙和数传模块的通信系统。系统由蓝牙Hc06模块、控制器C8051F930和数传Si4432模块组成。文中介绍了系统组成模块的特点,设计并实现了软硬件方案,并使设计的功耗最低化,详细阐述了设计过程中解决的重要技术问题。通过实验验证,本系统能以较高质量在1.5 km范围内进行无线通信。

蓝牙;数传;四旋翼无人机;无线通信

四旋翼无人机是一种具有4个螺旋桨的飞行器,并且四个螺旋桨分为两组呈十字形交叉结构,两组的旋转方向不同,而相对的螺旋桨旋转方向相同。与传统的直升机不同,四旋翼直升机只能通过改变螺旋桨的速度来实现各种动作。四旋翼无人机体积小、机动性好、结构较简单、性价比高,因此在军事和民用方面有巨大的应用价值,是目前研究的一个热点。

四旋翼无人机地面站是无人机系统的信息控制中心,主要负责飞行器的数据接收与处理、电子地图定位、飞行姿态显示、轨迹导航、任务规划、图像接收与处理等重要功能,集通讯、显示、控制及数据处理于一体。而安卓地面站又是一种新兴的地面站,与传统地面站比较,安卓地面站既实现了主要功能,又兼有质量轻易携带、工作时间长、移植性强等优点。

本设计解决的核心问题是实现四旋翼无人机和安卓地面站之间的无线通信。由于安卓手机自带蓝牙功能,蓝牙的有效通信距离是10m,而数传电台的通信距离能达到2~3公里甚至更远。本设计通过蓝牙结合数传电台和四旋翼通信,提出了一种新的无线的地面系统和四旋翼机载平台的通讯方式的设计思路。

1 通信系统设计

1.1系统总体方案

无线通信系统的结构框图如图1所示,安卓地面站通过蓝牙发送数据时,蓝牙模块Hc06接收数据并经串口传输给发送模块中的C8051F930单片机,其再将数据转送给数传芯片Si4432进行编码,然后以特定的格式发送出去。当接收模块接收到发送模块传来的信号后,对射频信号进行放大、解调,再将数据发送至C8051F930单片机进行相应的处理,最后通过串口传输给四旋翼机载平台;而当机载平台发送数据时,通过上述通信链路的逆向传输也可以使数据传输至安卓地面站。

图1 无线通信系统框图

1.2系统硬件选择

数传模块选用无线数传芯片Si4432。它是Silicon Labs公司生产的一款EZRadioPRO系列无线收发芯片,具有多频段、低功耗、高集成度等特点。Si4432芯片输出功率可达+20 dBm,接收灵敏度达到-121 dBm,可提供对数据包处理、数据缓冲FIFO、接收信号强度指示(RSSI)、空闲信道评估(CCA)、唤醒定时器、低电压检测、温度传感器、8位AD转换器和通用输入/输出口等功能的硬件支持。Si4432在使用时对外部元件的依赖性较小,配置若干电容、电感和一个30 MHz的晶振就可组成一个可靠性较高的数据收发系统,从而大大减小了二次开发的工作量。

控制芯片选用Silicon Labs公司的C8051F930单片机。它有64KB的Flash和4KB的RAM,并且集成了丰富的外围模块(包括10位A/D转换器、SPI、串口等),完全满足本系统的设计需求;有多种电源管理模式(如正常模式、休眠模式、空闲模式等),内部集成的2个内建欠压检测器分别适用于正常模式和休眠模式,在休眠模式下电流仅为50 nA。C8051F930单片机包括一个效率很高的直流升压转换器,最多提供65 mW给内部微控制器和其他元器件,在功耗方面它也做到了极致,其省电架构能将操作模式下的电流减小到170 μA/MHz。

为了减少设计风险和加快开发进程,蓝牙模块选用了广州汇承信息科技有限公司推出的Hc06模块,Hc06蓝牙模块采用CSR公司的BC417蓝牙芯片,使用蓝牙V2.0协议标准。模块供电电压为3.3~3.6V,模块尺寸大小为27 mm×13 mm× 2 mm,工作电流不大于50 mA,功耗较低。Hc06模块的有效通信距离可达到10m,并且通过AT指令可以对蓝牙通信的波特率和配对密码进行修改。

1.3系统硬件设计

C8051F930单片机利用SPI接口来控制数传Si4432的工作模式,并实现读写状态寄存器、读写缓冲数据等功能。SPI接口包括主输入、从输出(MISO),主输出、从输入(MOSI)和串行时钟(CLK)。主机用CLK与从机时钟同步。C8051F930单片机除了完成基本的芯片初始化工作、数据的发送和接收之外,还要求能够根据需求在数传Si4432的引脚产生中断,并由所编写的中断处理程序进行状态识别和状态切换,执行相应的中断处理,从而使得无线通信可以在发射、接收和待机之间转换。

C8051F930单片机通过UART接口和SPI接口主要完成下面两个方面工作:

1)C8051F930单片机通过SPI接口配置数传Si4432的工作参数,主要是对相应的配置寄存器进行设置。

2)在发射模式下,C8051F930单片机通过UART接口接收蓝牙Hc06模块发送来的数据,再通过SPI接口时序要求将发送数据写入数传Si4432的发送寄存器中;在接收模式下,C8051F930单片机将数传Si4432接收到的数据通过SPI接口读入到接收缓冲区,再通过UART接口发送给蓝牙Hc06模块。

数传Si4432与微控制器C8051F930是采用SPI接口进行通信的,所以只需要把数传Si4432的SPI接口与状态引脚与单片机相连即可完成两者之间的硬件连接。而蓝牙模块Hc06与控制器C8051F930之间是采用UART接口进行通信的,所以只需把蓝牙Hc06的Rx和Tx引脚分别接上C8051F930单片机的Tx和Rx引脚即可。硬件连接部分原理图如图2所示。

图2 微控制器C8051F930和数传芯片Si4432硬件连接图

1.4系统软件设计

1.4.1软件主流程

软件的开发环境为keiluVISION4,使用的语言为keilC51。软件的功能主要为了完成C8051F930单片机和数传Si4432的初始化;与蓝牙模块Hc06进行通信;对数传Si4432的管理;完成数据的无线传输。系统软件的主要流程图如图3所示。

首先对C8051F930单片机、数传Si4432和蓝牙Hc06进行初始化,再判断UART是否有来自蓝牙的完整的数据包,如果有完整数据包则继续判断是否是配置命令包,是则进行相应的配置操作,不是则通过数传Si4432发送数据;如果没有完整数据包则判断是否产生数传Si4432的中断,是则处理其相应事件,通过UART向蓝牙发送接收的数据。软件采用中断驱动模式,因此可以最大程度降低功耗,即在没有任何外部中断触发时,C8051F930单片机将进入空闲模式;否则,被唤醒,并执行相关的操作,在执行完当前操作后,再次进入空闲模式。RSSI信号是对接收信号强度的评估值,最后将该值返回至安卓地面站,从而让地面站实时地了解当前的信号质量。

图3 软件主流程图

1.4.2C8051F930单片机的编程要点

C8051F930是一个支持混合信号的单片机,在使用前必须对它进行初始化,而在运行过程中,在模块不影响正常工作的前提下,可以充分利用其低功耗特性,把系统功耗降到最低。可根据寄存器的定义或者可视化的配置工具来对单片机进行初始化,内容包括端口、URAT、定时器、振荡器、SPI和中断的初始化。下面为初始化代码片段。

1.4.3数传Si4432的编程要点

1)寄存器操作

数传Si4432共有128个寄存器,通过SPI接口对它们的进行访问来控制芯片的工作方式和记录工作状态。SPI的bit顺序是可配置的,配置缺省时与MCU的顺序相同,命令格式为两字节结构:读/写标志(1bit,0为读,1为写),寄存器地址(7bit)+待写入数据。每次可由时钟信号来决定读写一至多个字节,即在读写一个字节后,如果时钟仍然有效,那么,地址将会自动加1,对下一个寄存器继续进行读写。通过Silicon Labs提供的WDS(WirelessDevelopment Suit)也可访问上述寄存器,并可生成相应的代码进行初始化。要注意的是只能在空闲状态下对寄存器进行初始化,否则将可能出现意外结果。为提高传输信号的质量,保证数据的可靠性,增大通信距离,系统采用GFSK调制并使能数据白化、CRC校验、曼彻斯特(Manchester)编码。

2)状态机

在完成不同的功能时,芯片所处的状态是不同的。这些状态在满足一定的条件时可实现相互转移。状态机如图4示。

图4Si4432的状态转移图

由上图可以看出,数传Si4432有空闲、关闭、发送、接收几种状态,其中空闲和关闭状态为低功耗状态。而空闲状态又可细分为传感器、准备、休眠、挂起、调整频率5种子状态,它们主要是为了低功耗地完成各种与无线数据收发无关的操作。发送和接收两种状态又统称为激活状态,它们主要用来完成无线数据的发送和接收。除了关闭状态只能通过单片机的I/O脚来设置外,其它状态都可以通过SPI接口来设置和读取。对于当前状态的检测,可通过访问02h寄存器来获取。对于状态的切换,可以通过写寄存器07h来实现,其不仅可以使状态立即发生改变,而且可以决定在完成收发任务后返回到空闲状态的哪一个子状态(本系统设置为休眠状态,即enwt=1)。数传Si4432还有个唤醒定时器,利用它来定时唤醒芯片进入Rx状态,可以保证数据不被漏收,即设置定时常数寄存器14 h和19 h中的值,并设置08 h寄存器中的enldm位为1,确认收完数据后再返回到原来的空闲子状态。

2 系统的低功耗设计

由于系统的耗电主要集中在C8051F930单片机和数传Si4432模块,而它们都具备低功耗运行功能。C8051F930单片机有正常、停止、空闲、挂起和休眠5种功率模式,电源管理单元对这些模式进行管理和切换。设置C8051F930单片机的常态为休眠,在收到任何中断后,单片机将从休眠模式切换到正常模式;而在完成相应的任务后,单片机又立即从正常模式切换回休眠模式。同时单片机禁止所有不用的模拟端口,设置数字外设为低功率工作模式。并且利用C8051F930单片机内部集成的DC-DC升压模块的输出电源给蓝牙Hc06模块和数传Si4432芯片供电,这使得该模块的电源可以低至0.9V。在数传Si4432方面,由于芯片内部集成的功放(PA)的输出功率是可编程的,大小可为11、14、17或者20 dBm,因此可根据RSSI的值来动态调整输出功率的值。当RSSI的值较小时,可增大输出功率,反之则减小功率。

3 软硬件设计策略

在硬件和软件设计的过程中,本设计也遇到若干问题。在硬件设计初期,由于未考虑PCB板的耦合效应以及射频电路的特殊性,导致数传Si4432的射频模块工作并不稳定,信号时好时坏。所以在设计PCB时应尽量消去电路元件间的耦合效应,走线应避免信号输入输出端,使各电感保持相互垂直,电源端增加去耦电容和旁路电容;射频电路应尽量选用较小封装的元器件,所布信号线应尽可能短,并尽量减少过孔数目。而在软件设计过程中,在状态转换时也遇到转换失败的问题,原因是数传Si4432状态转换前需要先进入挂起状态再等待15 ms;之后遇到在没有发送唤醒的情况下接收端数传Si4432自动产生下降沿中断问题,发现是由于同步字检测中断设置过于简单,数传Si4432易受空气中无线电波干扰;在通信前也必须要先设置蓝牙Hc06的波特率使其与数传Si4432一致。下面是硬件和软件设计时为避免错误使用的一些策略。

3.1硬件设计策略

1)对整个PCB板都覆地铜,以减少辐射效应。数传Si4432芯片的外围元件使用体积小的0402封装贴片器件。其中电感是关键部分,应选用高精度电感。

2)数传Si4432的扼流电感LC应尽量靠近Tx引脚;并联在RX_N和RX_P上的电感LR应与LC垂直布局;Tx通道上的电感LM、LH、LO也需要保证相互垂直以减少耦合。同时PCB板上其它走线应尽量避免Tx/Rx区域,防止产生耦合效应。

3)为得到更好滤波性能,滤波电容应尽量靠近相应管脚。电源接入端需添加去耦电容,且尽量靠近Si4432芯片。

3.2软件设计策略

1)对数传Si4432初始化时,应先设置其处于空闲状态。

2)数传Si4432发送和接收之间可以相互转换,但是转换之前需要先进入挂起状态然后至少15 ms之后再进入发送或者接收状态。故while(1)函数之前就将其配置为挂起状态:SI4432_WriteReg(0x07,?0x01)。

3)数传Si4432在低功耗模式下的同步字检测中断,容易被空气中其他无线电波干扰触发,故设置同步字为3-4位并打开检测超时,PRABL设置为20位,寄存器33的最高位设置为0。

4)在对C8051F930单片机初始化后,利用UART口发送AT指令给蓝牙Hc06模块,以修改蓝牙的波特率和数传Si4432一致,本系统默认设置为115 200 bps。

4 系统测试与分析

为验证本无线通信系统设计的可靠性,进行了6组“安卓地面站—四旋翼机载平台”通信实验。在空旷地通信距离约为1 500m时,6组“安卓地面站—四旋翼机载平台”分别工作在430MHz、431MHz、432MHz等6个中心频率上,带宽取常用串口通信频率,发送3 000个数据包,实验结果如表1所列。

表1 系统在6组不同中心频率及常用波特率下的通信误码率

从以上实验结果分析,当系统的传输速率较低时,误码率为0;当系统的传输速率大于115 200 bps时,存在一定的误码率,但误码率较低。故得出以下结论:该无线通信系统传输距离可达1.5 km以上,并且误码率较低,通信稳定,能够应用在四旋翼机载平台和安卓地面站的通信上。

5 结束语

本系统设计为实现四旋翼无人机和安卓地面站之间的无线通信。通过蓝牙Hc06模块、单片机C8051F930、数传Si4432的配合开发,最终实现这一目的。并且经过大量测试,证明该系统稳定、可靠,高质量通信距离达到1.5 km左右,如果需要更远的通信距离,相应提高数传模块的功率即可。而且,该系统方案不仅可应用在无人机地面站上,在其他数据传输和通信领域也有较好的应用前景。

[1]肖征宇.无人机地面站软件的设计与实现[D].杭州:浙江大学,2010.

[2]金大鹏.四旋翼无人飞行器控制器的设计与实现[D].沈阳:东北大学,2010.

[3]孙雨.小型无人机通信系统的研究与构建[D].广州:华南理工大学,2011.

[4]潘旭兵.基于Si4432的无线收发模块的设计[J].计算机应用,2009,12(29),189-192.

[5]郭亮.基于Si4432的无线射频收发系统设计[J].单片机与嵌入式系统应用,2009(11)38-41.

[6]Burdakov A O.Positioning Unmanned Aerial Vehicles as Communication Relays for SurveillanceTasks[C]//In Proceedings of the 5th Robotics:Science and Systems Conference(RSS),Seattle,Washington,2009.

[7]Dynia M.Maintaining communication between an explorer and a base station[J].Biologically Inspired Cooperative Computing,2006:137-146.

The communication system of small quadrotor UAV based on bluetooth and digital radio

SHI Hong-ping1,LI Zhi-yu2,XU Yi-hua3
(1.College of Automation Engineering,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China;2.Research Institute of Unmanned Aerial Vehicle,Nanjing University of Aeronautics and Astronautics,Middle and Small Size UAV Advanced Technique Key Laboratory of Ministry of Industry and Information Technology,Nanjing 210016,China;3.Office of Air Force Military Affairs Delegate for Jiangsu Area,Nanjing 210016,China)

In order to realize the communication between small quadrotor UAV and its ground station based on android,One kind of communication system based on bluetooth and digital radio is presented in this paper.This kind of system is consisted of bluetooth Hc06 module,controller C8051F930,and digital radio Si4432 module.This paper introduces the characteristics of the modules of system.Software and hardware scheme are designed and realized in this paper,which making the design costs minimum power at the same time.This paper also expounds the important technical problems in the design process.The experimental results show that this kind of system is high qualified within the scope of 1.5 km for wireless communication.

buletooth;digital radio;quadrotor UAV;wireless communication

TN923

A

1674-6236(2016)17-0081-04

2015-09-23稿件编号:201509160

总装预研资助项目(51325010601)

施洪平(1991—),男,江苏镇江人,硕士研究生。研究方向:嵌入式系统应用、飞行控制系统。

猜你喜欢
数传寄存器旋翼
STM32和51单片机寄存器映射原理异同分析
改进型自抗扰四旋翼无人机控制系统设计与实现
基于数传电台的靶弹测控系统设计
大载重长航时油动多旋翼无人机
Lite寄存器模型的设计与实现
基于STM32的四旋翼飞行器的设计
嫦娥卫星数传副瓣信号的干涉测量研究与精度验证
移位寄存器及算术运算应用
四旋翼无人机动态面控制
Arkbird 10通道跳频433高频头增程数传