基于TInyOS的CC2430定位方案

相关专题: 无线 芯片

  1 CC2430芯片介绍

  CC2430芯片是TI/Chipcon公司生产的真正意义上的片上系统(SOC)级解决方案,它集增强型工业标准8051核心、优秀的射频芯片CC24 20、强大的外围资源于一体。集成的外设资源主要有DMA、定时/计数器、看门狗定时器、AES-128协处理器、8通道8~14位ADC、USART、休眠模式定时器、复位电路及21个可编程I/O,支持IEEE802.15.4和ZigBee协议。

  CC2430芯片具有性能高、功耗低、接收灵敏度高、抗干扰性强、硬件CSMA/CA支持、数字化RSSI/LQI支持、DMA支持等特点,支持无线数据传输率高达250 kbps.

  2 TinyOS系统与nesC语言

  由于无线传感器网络的特殊性,需要操作系统能够高效地使用传感器节点的有限内存、低功耗处理器、多样传感器、有限的电源,并且能对各种特定应用提供最大的支持。

  基于此,UC Berkeley研究人员专为嵌入式无线传感器网络开发出TinyOS系统,目前已经成为无线传感器网络领域事实上的标准平台。  TinyOS系统具有组件化编程、事件驱动模式、轻量级线程技术、主动消息通信技术等特点。TinyOS采用组件架构方式,快速实现各种应用,组件包括网络协议、分布式服务、传感器驱动以及数据获取工具等,一个完整的应用系统通过组合不同的组件来实现。采用事件驱动的运行模型,可以处理高并发性的事件,并实现节能。

  TinyOS应用程序通常由顶层配件、核心处理模块和其它组件构成。每个应用程序有且仅有一个顶层配件,组件间通过接口进行连接通信,下层组件提供接口,通过provideinterface interfaceName来声明,上层组件使用接口,通过useinterface interfaceName来声明。接口提供两类函数,分别是命令(command)函数与事件(event)函数,上层组件向下层组件发出命令,启动下层组件的功能:下层组件完成相应的功能后向上层组件报告事件。应用程序总体框架如图1所示。

  TinyOS系统本身以及应用程序都是采用nesC语言编写,nesC语言是对C语言的扩展,具有类似于C语言的语法,但支持TinyOS的并发模型,同时具有组件化机制,能够与其他组件连接在一起从而形成一个鲁棒性很好的嵌入式系统。nesC语言把组件化/模块化的编程思想和基于事件驱动的执行模型紧密结合起来。应用nesC语言能够更快速方便地编写基于TinyOS的应用程序。

  3 RSSI定位原理

  RSSI全称Received Signal Strength Indicator(接收信号强度指示),是一种基于距离的定位算法。RSSI原理是已知发射节点的发射信号强度,接收节点根据接收信号的强度,计算出信号在传播过程中的损耗,利用理论和经验模型将传输损耗转化为距离,再根据接收节点的已知位置利用三边测量法计算出发射节点的位置。由于该方法不需要额外的硬件设备,是一种低功耗廉价的测距技术,因此在很多项目中得到了广泛的应用。

  本文在RSSI定位基础上使用质心算法提高定位精度,如图2所示,最后求得的盲节点坐标为点D、E和F组成的三角形的质心。

  4 定位算法在TinyOS中的实现

  根据RSSI测距原理,要确定盲节点的位置,至少需要三个锚节点(已知位置的接收节点),并需要一个汇聚节点来传输各锚节点的RSSI寄存器值到PC机,最终通过串口调试助手来显示结果并进一步定位盲节点坐标。下面分别介绍移动盲节点、静态锚节点以及汇聚节点的实现流程。

  4.1 盲节点

  盲节点的主要任务是向所有锚节点广播信息,具体的流程如图3所示。

 

 

1  2  3  

微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书
  • 2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21
  • 3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书
  • 4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 5、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 7、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 8、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 本周热点本月热点

     

      最热通信招聘

      最新招聘信息

    最新技术文章

    最新论坛贴子