基于CC2500的无线楼字跟踪系统软硬件设计

发布者:清新生活最新更新时间:2007-12-03 来源: 现代电子技术关键字:MCU  封装  缓冲  接收 手机看文章 扫描二维码
随时随地手机看文章

1 引 言

随着楼宇智能化程度的提高,人们已经不再满足于仅仅使用摄像设备对楼宇中的人员或物品进行跟踪监控。于是基于无线的定位技术在悄然间兴起。这种技术不但可以进行目标跟踪,实施监视目标的行动路线,还可以预测目标的前进轨迹,这些都是传统的摄像监控系统不能做到的。这种定位系统从底层硬件到上层软件涉及到非常多的技术,本文只针对无线定位部分的软硬件进行重点介绍。

无线跟踪系统的关键就是如何定位。目前比较成熟的无线定位技术当属GPS,然而这种技术无法在楼宇中使用,因此需要寻找一种新的定位方式来达到我们的目标。这里选择了基于接收信号强度(RSSI)的带信标定位技术。大多数射频芯片都可以得到RSSI,但综合整体性能,我们采用了Chipon推出的一款低功耗2.4 GHz全球免许可费用频段的射频芯片CC2500。他体积小,操作简单,采用3线制SPI。与MCU通信,并能够在每次接收到信号后自动产生RSSI,方便上层完成定位。

2 CC2500芯片介绍

2.1 整体性能

他的主要特性有:

(1)体积小,外围电路简单。CC22500只有20引脚,4×4 mmQLP封装。相对于其他射频芯片的封装,这种封装在手工焊接上要容易一些。

(2)灵敏度高,功耗低,速率可调。CC2500与常用的几款2.4 GHz射频芯片的比较如表1所示。表中未注明速率的数据是在数据传输速率250 kb/s下得到的。

(3)CC2500硬件支持包数据处理,数据接收时,有缓冲,信息同步字自动检测,地址检测,信息长度分析和CRC校验等功能,支持前向纠错,内部集成温度传感器。

2.2 WOR功能

为了节约电能,射频芯片通常采用休眠模式。芯片在休眠时势必会丢失信息,CC22500的WOR(Wakeup-on-Radio)功能能很好地避免这点。WOR功能保证芯片在深度睡眠时周期性地苏醒,探听周围是否有信号,这个过程不需要CPU的中断,如果有数据包成功接收,芯片可通过引脚输出中断通知MCU读取。在使用WOR功能时,片上的RC时钟作为WOR时钟。溢出的周期时间可由编程确定。

2.3 RSSI和LQI功能

RSSI反映接收信号强度,LQI反映信号的连接质量,两者都可以通过读取芯片的寄存器得到。LQI虽然能够判断连接质量,但会因调制方式的不同而不同。

RSSI是判断两个节点距离的很好的参数。在从RSSI寄存器中读到数值后我们需要进行一系列转化,才能得到接收强度值。首先判断RSSI寄存器中的值RSSI dec是否大于128,如果成立,则:

如果小于128,则:

其中RSSI offset按照数据传输速率的不同而改变,其取值可参照文献[1]。

2.4 CCA功能

CCA(Clear Channel Assessment)能够指示当前信道是否处于空闲状态。其作用与CSMA相似。当芯片要转入发送模式时,会首先检查信道,只有当信道为空闲时,才进入发送模式,否则停留在原模式或由编程设定进入其他模式。有3种情况可触发CCA功能:

(1)在RSSI低于门限值时;

(2)当接收到一个数据包时;

(3)以上两者都具备。

2.5 发射功率表

CC2500的功率表是用来在每次发送时设置发送功率的,其中最多可以存放8字节的功率值,默认情况下,每次在发送时,从最低位功率值开始读取,每次读取一个字节。当读取到最后一个字节的时候,自动回到第一个字节。如果有需要,可编程设置不从第一个字节开始读取,以实现发射功率可调。

3 跟踪算法

3.1 定位算法

所谓的跟踪轨迹其实就是若干次定位结果按时间顺序的集合。所以如何定位非常重要。目前常用的定位技术如基于准确测距的定位方法、质心算法等在空旷的环境中能够比较准确地完成定位,但在建筑物内部则相对效果较差。试验表明基于上述方法进行定位轨迹将是跳跃的,而非连续的。在建筑物内进行定位,有一个好处就是身处其中的待定位目标在活动空间上有一定约束,比如人在走廊中行走时,只能向前或者向后,左右两边都是墙壁,无法行走,这样实际上他的轨迹是遵循一定规律的。所以可以综合楼宇内部的位置信息进行定位。

考虑以上应用要求和环境,我们借鉴了文献[2]中的RADAR系统,采用基于RSSI技术的室内定位系统,但在测试方法上进行了改进,不利用基站定位,而是采用信标定位。

在系统中存在两种节点:一种是位置完全已知的信标节点;一种是位置待测的目标节点。经测试,我们本次基于CC2500硬件的节点在楼宇中的极限传输距离在60 m左右(PCB板射频部分走线影响最大传输距离),所以为准确起见,使用信标之间的间隔在20 m,在两个位置中间有墙壁或障碍物时,则一定要放置两个信标,不遵守上述规律。当然,信标数量越多,定位相对就更加准确。目标节点周期性地发出信号,信标接收到目标节点的信号后得到信号强度值RSSI,根据强度值推算目标节点的位置,然后把定位信息发往基站,完成定位工作。

楼宇内定位算法通常有基于信号传输的经验模型和基于信号传播的理论模型两种。后一种的准确性受建筑物材料的影响较大,最后还要进行大量的试验修正,所以我们采用信号传播的经验模型。首先放置好信标。并给定其坐标。设两个信标之间的距离的一半为D(m),如果两个信标之间有障碍物,则将信标到障碍物之间的距离定义为D。利用目标节点在距离D内移动,得到各点位置的RSSI,建立各个点上的位置和信号强度关系的离散数据表(x,y,RSSI)。同时要注意保证目标节点在每一点的时候都会有信标节点进行定位。可见系统的定位精度:



其中(x1,y1,RSSI1),(x2,y2,RSSI2)为离散数据表中两个相邻数据。

定位时,信标查表进行定位,当目标节点信号小于表中最小的门限RSSI时,直接舍弃,会有其他信标对其定位。

3.2 分簇路由算法

信标在得到目标节点的位置之后,需要将位置信息发往基站,由基站进入监控软件系统。在楼宇中信标的数量非常多,如果不选择一种良好的路由算法,那么很容易造成信息的丢失和误码率升高。我们采用分簇路由算法,这种拓扑有利于分布式算法的应用,适合大规模网络,簇头节点担负数据融合的任务,可使整个网络的数据传输量大大减轻,在使用电池供电的场合,其还可以显著延长整个网络的生存周期。

所有信标结点都固定划分成若干个簇,每一个簇选择一个簇头节点,在选择簇头节点的时候,要注意选择处于偏僻位置的信标节点,这种信标定位的工作相对较少,不容易在定位和传输中产生冲突。分簇主要以地理位置为准,每个簇的节点数不需要相同,这样有利于避免数据发往基站时产生冲突。簇头节点负责为簇内的所有信标节点分配时槽,每个信标节点在自己规定的时间发送定位信息给簇头节点。簇头节点接到所有簇内节点的信息后进行综合,总结成一帧数据发送给基站。在这帧中,所有信标的定位时间差被忽略,当作是同一个时间的定位信息。

如采用2s定位一次,有一个包含5个节点的簇,簇头节点为每个节点分配的时槽可以为300 ms。以250 kb/s为传输速率的CC2500在这个时槽内完全可以完成定位和数据传输工作。这样可以留给簇头节点约800 ms的时间进行数据融合和数据传输。信标节点数据融合的过程见图1。

数据上传到基站后,基站通过网口上传到电脑的监控软件。监控软件采用图形化方式将节点的位置示意出来,如图2所示。

4 结 语

试验表明CC2500在系统中能够很好地完成定位工作,但这种定位方式比较简单,不够精确,其准确程度主要依赖于系统组成之前的RSSI数据表准确程度,由于整个测量过程带有相当大的随机性和主观因素,所以通常不能达到理想的程度。如何降低这种主观因素以及如何减少前期工作量,还需要进一步的探索。

关键字:MCU  封装  缓冲  接收 引用地址:基于CC2500的无线楼字跟踪系统软硬件设计

上一篇:高码率QPSK全数字接收机关键技术研究
下一篇:基于AD8346的直接变频发射机设计与实现

推荐阅读最新更新时间:2024-05-07 15:59

STM32F4-DISCO 学习之DMA双缓冲机制
DMA具备双缓冲机制,可以让数据在传输时候不断流,也就是我们所谓的PING-PONG-BUFFER,也就是说有AB两个BUFFER,DMA访问A时候,CPU访问B,DMA访问B时候,CPU访问A.这种实现导致总线矩阵相对复杂,所以,一般低端MCU也不会有这个机制.但是在做这个机制的试验时候,虽然可以做到PING-PONG BUFFER的传输,但是..却有点小意外.其实双缓冲,在配置过程并不难,比如提供一个配置参考: DMA_DeInit(DMA1_Stream4); DMA_StructInit(&DMA_InitStructure); DMA_InitStructure.DMA_Channel = DMA_Chann
[单片机]
基于单片机的LED显示系统设计
引 言   最近,笔者在某工厂大型生产线上基于现场总线的物流呼叫系统项目中发现,由于所需要显示的信息流比较大,用现有的基于AT89C51芯片组成的LED显示屏控制系统,由于受到微处理器的处理速度、体系架构、寻址范围、外围接口资源等诸多限制,已难以在要求显示较多像素、显示内容帧频较高、动态显示效果复杂的情况下,得到良好的动态视觉效果。针对以上情况,在利用现有资源的基础上,重新设计和研制了一种全新的,由32位高性能ARM微处理器组成的led显示屏控制图1系统的硬件结构框图系统,并通过RS485接口与现场总线中的上位机进行实时数据通信,实现整个系统的信息显示。 1 系统硬件结构   该系统的硬件组成框图如图1所示。图1中,
[单片机]
基于<font color='red'>单片机</font>的LED显示系统设计
基于MSP430单片机的地下微水检测系统设计
  微水试验法是一种瞬时向井中注入或抽取一定量的水,通过观测井水位变化情况,求得井附近含水层渗透系数的方法。对于渗透性较高的含水层,瞬时抽取或注入一定流量水后,井中水位很快恢复到初始水位,不易观测井中水位降深随时间的变化;对于低渗透性含水层,瞬时抽取或注入一定流量水后,能够较好观测到井中水位降深随时间的变化,求得含水层水文地质参数。   1 地下微水检测系统的设计方案   该检测系统用于确定不同低渗透性含水层介质中的渗透参数。通过在含水层布置的钻孔中激发水头变化,实时测量水头随时间的变化,利用地下水动力学原理,计算含水层的渗透系数。   该系统通过MSP430单片机采集压力式液位变送器和温度传感器的信号,将采集的信号经过简
[单片机]
基于MSP430<font color='red'>单片机</font>的地下微水检测系统设计
什么是单片机,单片机有什么用
什么是单片机,单片机有什么用?这是一个有意思的问题,因为谁也不能给出一个谁都认可的概念,那到底什么是单片机呢?单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机,其实这个概念也是不能使人认可的,反例就是DSP,ARM等处理器为什么不叫单片机呢?哈哈,其实没必要去找到明确的概念来解析什么是单片机,要想了解它,随便弄种单片机(最好是8051单片机)来搞个小项目,你就知道了什么是单片机。 现在高校的课程,只要专业跟电相关,就离不开单片机课程,而且大部分是8051系列的。学生在做相关课程设计时,写跟单片机相关论文是时,总喜欢把 单片机 作为关键词,这又设计到 单片
[单片机]
16F870单片机的中断应用程序
; Filename: WK_PCHG.asm * ; Date: Mar/13/2001 * ;********************************************************************** list p=16f870 #include p16f870.inc ; __CONFIG _CP_OFF & _WDT_ON & _BODEN_ON & _PWRTE_ON & _RC_OSC & _WRT_ENABLE_ON & _LVP_OFF & _CPD_OFF FLAG EQU 0x20 Var1 EQU 0x21 Var2 EQU 0x22 INT_Var1 EQU 0x30
[单片机]
单片机和多片DS1820组成的多点温度测控系统
1 概述 DS1820 是美国DALLAS公司生产的单线数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,特别适合于构成多点温度测控系统,可直接将温度转化成串行数字信号供微机处理,而且每片DS1820都有唯一的产品号并可存入其ROM中,以使在构成大型温度测控系统时在单线上挂任意多个 DS1820芯片。从DS1820读出或写入DS1820信息仅需要一根口线,共读写及温度变换功率来源于数据总线,该总线本身也可以向所挂接的 DS1820供电,而无需额处电源。DS1820能提供九位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。 2 DS1820的工作原理 DS1820采用3脚PR-3
[单片机]
由<font color='red'>单片机</font>和多片DS1820组成的多点温度测控系统
由可编程逻辑器件与单片机构成的双控制器
    摘要: 介绍一种利用可编程逻辑器件CPLD与单片机AT89C51串行双向通信而构成的双控制器。     关键词: CPLD AT89C51 串行通信 在传统的控制系统中,人们常常采用单片机作为控制核心。但这种方法硬件连线复杂,可靠性差,且单片机的端口数目、内部定时器和中断源的个数都有限,在实际应用中往往需要外加扩展芯片。这无疑对系统的设计带来诸多不便。 现在有很多系统采用可编程逻辑器件CPLD作为控制核心。它与传统设计相比较,不仅简化了接口和控制,提高了系统的整体性能及工作可靠性,也为系统集成创造了条件。但可编程逻辑器件的D触发器资源非常有限,而且可编程逻辑器件在控制时序方面不如单片机那样方便,很多
[半导体设计/制造]
基于51单片机的直流电机调速系统(L298的使用)
设计要求 一个按键控制启动/停止 一个按键控制正反转 两个按键控制结束减速 四位数码管前一位显示正反转、1表示正转、0表示反转,后三位显示速度值 采用AT89C51单片机,以及直流电机驱动器L298 L298的IN1、IN2控制OUT1、OUT2输出高低电平 IN3、IN4控制OUT3、OUT4输出高低电平 使电机两端有一个电压差 可以外接两路直流电机。 ENA、ENB使能两路电机控制端口高电平有效。 用到的模块有数码管显示、按键获取、定时器0. 数码管显示部分 #include REGX52.H #include Delay.h sbit we2=P2^1; sbit w
[单片机]
基于51<font color='red'>单片机</font>的直流电机调速系统(L298的使用)
小广播
最新网络通信文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved