《电子技术应用》
您所在的位置:首页 > 微波|射频 > 设计应用 > 基于ZigBee的分体式便携导航系统设计
基于ZigBee的分体式便携导航系统设计
2015年电子技术应用第6期
刘思庆,张 晞,王 娜
北京航空航天大学 仪器科学与光电工程学院,北京100191
摘要: 为了使便携式导航系统穿戴方便、工作可靠,设计了一种基于ZigBee技术的分体式便携导航系统。系统由传感器无线发送终端和手持无线接收终端两部分组成,发送终端采集微惯性测量单元(MIMU)数据并通过无线传输给接收终端。与其他个人导航系统相比,系统具有体积小、重量轻、功耗低、成本低和便于携带等优点,传感器数据通过无线传输不需要硬件连接,并且采用了DMA控制器实现串口数据收发,极大地提高了MCU利用效率。经过测试系统能够稳定可靠地实现导航数据无线传输和导航功能。
中图分类号: TN967
文献标识码: A
文章编号: 0258-7998(2015)06-0062-04
Design of split-type portable navigation system based on ZigBee
Liu Siqing,Zhang Xi,Wang Na
School of Instrumentation & Opto-electronics Engineering,Beihang University,Beijing 100191,China
Abstract: In order to make the Portable Navigation System(PNS) convenient for wearing and work reliably, we design a split-type PNS based on ZigBee technology. The system is composed of sensor wireless transmission terminal and handheld wireless receiving terminal, the sending terminal acquires the datas of MEMS inertial measurement unit(MIMU) data, and transmits the data to the receiving terminal through wireless. Compared with the other PNS, this system has the advantages of small volume, light weight, low power consumption, low cost and convenient carrying etc., and the sensor data transmission by wireless does not require hardware connection. Using DMA control to realize serial data transceiver, improves the efficiency of utilization of MCU greatly. After testing, this system can transmit the navigation data by wireless and realize the navigation function stably and reliably.
Key words : portable navigation system;ZigBee;MIMU;DMA

    

0 引言

    随着科技的进步和人们生活水平的提高,便携式导航系统在人们的生活中已经得到了广泛的应用。采用MIMU/GPS组合导航系统在一定程度上可以实现个人导航系统不受GPS信号限制的全区域导航的连续性和可靠性[1]。而便携式导航设备往往穿戴于人身上,若传感器是以硬件有线连接方式进行数据传输,会使设备穿戴不便,且会妨碍捕捉对象的正常运动过程。ZigBee技术是一种短距离、低成本、低功耗、低复杂度的无线通信技术,它拥有强大的网络功能,并且网络数据传输稳定、可靠[2]。基于上述现状,本导航系统使用GPS和MEMS组合导航,并采用全无线的通信方式,使本系统在穿戴时方便可靠,对捕捉对象运动无束缚作用。

1 便携式导航系统方案设计

    基于微惯性及GPS组合的便携式导航系统主要由无线发送终端和手持无线接收终端两部分构成。无线发送终端通常穿戴于人体的某个部位,如鞋上、腿上或腰上等,实现微惯性传感器数据采集,并通过无线通信的方式将数据发送到便携式手持无线接收终端;手持无线接收终端主要实现接收无线惯性传感器数据和采集GPS信息,并将所有数据传输给手持终端的导航计算机进行导航解算,并将解算的导航信息显示在LCD液晶屏幕上。便携式导航系统示意图如图1所示。

ck3-t1.gif

    系统主要由微惯性测量单元、导航计算机、GPS接收机、电源稳压电路、LCD液晶屏等构成。根据MIMU/GPS组合便携式导航系统对导航计算机体积、功耗、运算能力、接口等各方面需求,以DSP+MCU架构实现导航计算机的设计。其中DSP主要完成导航算法和系统控制的主处理器,专注于导航数据的实时解算;另一个为基于无线通信技术的微控制器MCU负责完成对外的数据接口电路及无线通信部分,导航器件包括一个集成三轴陀螺仪、三轴加速度计和三轴磁强计的微惯性测量传感器以及GPS接收机。

    系统选用的器件均为性价比高、可靠性强、技术发展成熟的器件,因此系统具有工作寿命长、功耗低、体积小、便于携带等优点,应用前景广阔。

2 系统硬件设计

2.1 数据采集发送终端

    如图2所示,数据采集发送终端主要由微惯性测量单元ADIS16405、ZigBee无线通信模块CC2530、电源稳压电路等构成,实现MEMS传感器数据采集,并可将数据通过无线或UART协议传输给外部设备(PC机等)。MEMS微惯性传感器选用ADIS16405惯性传感器,ADIS16405传感器是一个完整的惯性传感系统,它包括一个三轴陀螺仪、一个三轴加速度计和一个三轴磁强计[3]。CC2530微控制器通过SPI接口与MEMS微惯性测量传感电路之间进行双向通信,一方面通过 SPI 接口对惯性测量模块相应寄存器进行配置;另一方面读取MEMS微惯性测量传感器中的数据。在两者通信中,CC2530作为主机,ADIS16405为从机。

ck3-t2.gif

    由于CC2530本身带有射频的功能,对于此种小功率网络节点的设计不需要外加额外的射频芯片,只需加一些简单电路即可实现射频功能。但是在设计节点时,对于发射功率会有一定的要求,当传输距离较远的时候需要加上功放芯片。因为该外接电路的射频部分使用了单极子的不平衡天线,所以要用一个巴伦电路来优化性能,可以采用低成本的分立电容和电感来实现[4]

2.2 数据处理接收终端

    如图3所示,数据处理接收终端主要由ZigBee无线通信模块CC2530、导航计算机、GPS接收机、电源稳压电路、LCD液晶屏幕等构成。系统以DSP+MCU架构实现导航计算机的设计,其中DSP主要完成导航数据的实时解算,另一个基于ZigBee技术的微控制器MCU负责完成对外部无线通信数据和GPS数据接收。导航结果参数通过液晶屏幕显示。

ck3-t3.gif

    系统选用TI公司C6000系列的浮点DSP TMS320C6727B作为导航解算的主处理器,由C6727组成的最小系统主要包括其基础配置和存储器电路两部分,其中基础配置主要由时钟模块、复位电路、调试接口电路等组成。

3 系统软件设计

3.1 数据采集发送终端软件设计

    系统采用型号为CC2530的MCU,配置定时器10 ms中断,以100 Hz的采样频率通过SPI总线读取MEMS传感器原始数据,并应用ZigBee协议,将传感器数据传输到无线接收终端。其软件流程如图4所示。

ck3-t4.gif

3.1.1 MIMU传感器数据采集

    MEMS微惯性测量模块配置为SPI通信的从机模式,时钟由主机CC2530提供。SPI 通信双方靠主机提供的同步时钟协调各自的收/发操作,其双方是否可以通信取决于时钟模式是否匹配。ADIS16405的SPI模块在时钟上升沿接收数据,在时钟下降沿发送数据,因此要求主机CC2530在时钟空闲时期要处于低电平状态。

    在图5中,SCLK表示SPI 的时钟,DIN表示SPI接收数据,DOUT表示SPI发送数据。惯性测量模块的SPI在SCLK为高电平时有效,在SCLK上升沿时刻接收数据,在SCLK下降沿发送数据。

ck3-t5.gif

3.1.2 MIMU数据无线发送软件设计

    在组网步骤中,本文使用Basic RF。Basic RF由TI公司提供,它包含了IEEE 802.15.4标准的数据包的收发功能[7]。Basic RF为双向无线通信提供了一个简单的协议,通过这个协议能够进行数据的发送和接收。

    Basic RF的发送为:

    (1)创建一个buffer,把payload放入其中。Payload最大为103 B。

    (2)调用basicRfSendPacket()函数发送,并查看其返回值。uint8 basicRfSendPacket(uint16 destAddr, uint8* pPayload, uint8 length)函数功能是给目的短地址发送指定长度的数据,发送成功刚返回SUCCESS,失败则返回FAILED。其中destAddr为目的短地址,pPayload是指向发送缓冲区的指针,length为发送数据长度。

3.2 数据处理接收终端软件设计

    数据处理接收终端通过RF中断接收无线惯性传感器数据,使用DMA控制器采集GPS串口信息,并将所有数据传输到导航计算机进行导航解算,也可通过串口通信将数据传输给上位机监控平台。其软件流程图如图6所示。

ck3-t6.gif

3.2.1 无线接收软件设计

    Basic RF的接收为:

    (1)上层通过basicRfPacketIsReady()函数来检查是否收到一个新数据包,此函数功能是检查模块是否已经可以接收下一个数据,如果准备好则返回 TRUE。

    (2)调用basicRfReceive()函数,把收到的数据复制到buffer中,此函数功能是接收来自Basic RF层的数据包,并为所接收的数据配缓冲区。

3.2.2 基于DMA的串口数据收发

    便携式组合导航系统需要解析出的GPS相应参数主要为速度和位置信息。实际OEM板输出的数据主要有ASCII码和二进制方式两种格式。ASCII码格式比较符合人的阅读习惯,而二进制方式较适合计算机操作。本文选用二进制方式进行数据解析。GPS共输出180个字节,头信息28个字节,其中同步字符有3个AA 44 12,根据3个连续同步字符,可以判断数据帧接收开始。

    针对大数据量的GPS串口间通信,在常规的UART串行数据通信的基础上,结合CC2530微控制器中DMA控制器的作用,实现DMA控制的UART串口数据包收发,可以避免在MCU处理接收RF数据过程中大流量数据串口通信中的数据丢失,极大地提高串行数据通信过程的MCU独立性和MCU利用的效率[5-6]。 

    为了使用DMA通道,必须首先对DMA通道的源地址、目标地址、传送长度、触发事件等寄存器进行配置。当DMA通道配置完毕后,在允许任何传输发起之前,必须进入工作状态。DMA通道通过将DMA通道工作状态寄存器DMAARM中指定位置1,就可以进入工作状态。一旦DMA通道进入工作状态,当配置的DMA触发事件发生时,即可开始数据传送。图7为DMA工作流程图。

ck3-t7.gif

4 测试与验证

    本系统无线接收终端接收包含MIMU数据的RF信号并通过DMA采集GPS信号。CC2530有一个内置的接收信号强度指示器(RSSI),可以从寄存器读出,或自动附加到收到的帧[8];同时在采集MEMS数据时,MCU软件进行了帧计数,每采集一组数据便计数加1,采集的数据可以通过此信息计算误包率,判断是否有数据丢失。

    无线接收终端将表1所示的信息通过串口传输到上位机监控平台,并计算显示当前的误包率、RSSI值和接收到数据包的个数。

ck3-b1.gif

    在图8所示的实验结果中,RECE为接收包的序号,PER为误包率,RSSI为和传输距离等因素相关的信号强度值。根据串口助手显示的数据可以看到误包率一直为零,这说明所设计模块发送的数据包在一定的距离内全部被正确接收,无线通信的过程中没有丢包,实验证明了系统的可靠性很高。

ck3-t8.gif

    如图9所示,按矩形路线进行了系统导航实验,先向北行进大约45 m,再向东按矩形路线回到出发点,导航结果说明系统能够可靠正常地运行。

ck3-t9.gif

    本文设计的便携式导航系统采用型号为CC2530的ZigBee微控制器以100 Hz的采样频率读取MIMU原始数据,并以无线的方式将传感器数据发送给无线接收终端。同时无线接收终端通过功能强大的DMA控制器采集GPS串口数据,实现DMA控制的串口数据收发,避免了MCU处理串口通信大流量数据时数据丢失,极大地提高了MCU的利用效率。并根据误包率、RSSI值和接收到数据包的丢失情况对本系统的稳定性和信号传输质量进行了评价,最后通过行人导航实验验证了系统的正确性。

参考文献

[1] 庞晗.基于MEMS惯性器件的徒步个人导航仪设计与实现[D].哈尔滨:哈尔滨工程大学,2011.

[2] 王权平,王莉.ZigBee技术及其应用[J].现代电信科技.2004(1).

[3] 牛妍.基于MEMS的微小型嵌入式航姿系统的实现[D].南京:南京航空航天大学,2010.

[4] 刘辉,赵丽芬,孙番典,等.基于CC2530的ZigBee射频收发模块设计[J].云南民族大学学报(自然科学版),2012(6).

[5] 杨福广,李贻斌,尹占芳,等.ARM中基于DMA的高效UART通讯及其应用[J].微计算机信息,2008(2).

[6] 张为,胡晓楠,王晔.基于DMA控制器的UART串行通信设计[J].电子设计工程,2012(6).

[7] 王铭明,陈涛,王建立.基于BasicRF的家居环境监测预警系统设计[J].现代电子技术,2013(24).

[8] ZigBee Alliance.ZigBee Specification V1.0.2005.