车载无线传感器网络监测系统设计
引言
为了满足人们对车载安全性、操控性以及舒适性的要求,车载上集成了越来越多的电子系统。目前,汽车电子设备广泛采用16位或32位微处理器进行控制。本文基于IEEE 802.15.4和ZigBee标准的无线传感器网络构建车载监测系统,设计实现更加优化的无线传感器网络,逐步实现车载系统的网络化、智能化和可控性,以提,高车载系统的安全性。
1 系统设计方案
本文在现有的车载系统上,将数据传输的方式扩展为无线传输方式,实现一个星型网络的数据采集系统。并能分别将各个数据采集节点的所获得的数据传输到网关,网关通过串口将数据上传到主机上,在主机中实现数据的实时波形显示,并以数据库的方式加以保存,供后续数据处理。该采集系统的应用对象由温度传感器、油压传感器、转速传感器、速度传感器、电流传感器、压力传感器等传感器子系统所组成。这样设计的目的是用一个监控主机端来检测多个待测目标环境,考虑到接入的数据吞吐量和软件系统的复杂程度,采用时分复用的方式,逐个对网内的终端采集点进行控制采集。
如图1所示,该车载系统分3个部分:车载监控中心、车载网关和车载传感器节点。车载网关是整个车载系统的核心,可以和所有的车载传感器节点通信。车载监控中心可以向车载网关发出控制命令,由车载网关将控制命令转换为射频信号后发送给车载传感器节点。当车载传感器节点发送数据时,车载网关进入数据接收状态,并将数据上传到车载监控中心作进一步处理。此外,车载传感器节点之间不能互相通信。监控中心的监控软件与车载网关之间以RS232的接口标准进行通信。
车载传感器节点的生命周期由活跃期和休眠期构成。节点在活跃期完成数据采集,向网关发送数据,接收并执行网关命令;在休眠期关闭无线射频模块以节省能量,直到下一个活跃期来临。系统通过这种休眠机制来减少系统的能量消耗,延长系统整体寿命。
本系统用PC机作为监控中心,PC机上的监控软件在VB环境下开发,是一个基于对话框的应用软件。为了提高通信传输模块的智能化水平,在设计中,它的功能不限于数据的实时显示,所有的数据采集由监控软件通过发送请求信号的方式触发。考虑到原始数据需要进行后续的处理与深入的分析,才能对车载系统的状况进行准确的判定,软件中还添加了数据文件形式的保存与数据文件回显功能。
总体上来讲,整个网络的所有节点都受控于主机监控软件,工作过程中网络的每一个节点都不需要人为的参与。
2 系统硬件设计
2.1 应用芯片介绍
Freescale公司的MC13192符合IEEE 802.15.4标准,工作频率是2.405~2.480 GHz,数据传输速率为250kbps,采用0-QPSK调试方式。这种功能丰富的双向2.4 GHz收发器带有一个数据调制解调器,可以在ZigBee技术应用中使用。它还具有一个优化的数字核心,有助于降低MCU处理功率,缩短执行周期。
主控MCU选用Freescale公司HCS08系列的低功耗、高性能微处理器MC9S08GB60。该处理器具有60 KB的应用可编程Flash、4 KB的RAM、8通道的10位ADC、2个异步串行通信接口(SCI)、1个同步串行外部接口(SPI)以及I2C总线模块,完全能够满足车载网关和节点对处理器的要求。
2.2 MCl3192与MC9S08GB60的硬件连接
MC13192与MC9S08GB60的硬件连接图如图2所示。MC13192的控制和数据传送依靠4线串行外设接口(SPI)完成,其4个接口信号分别是MOS-I、MISO、/CE、SPICLK。主控MCU通过/ATTN控制信号退出睡眠模式或休眠模式,通过/RST来复位收发器,通过RXTXEN来控制数据的发送和接收,或者强制收发器进入空闲模式。由传感器输出的模拟信号经过MCU的8通道10位ADC转换后输入到MCU。MCU通过SPI口进行MC13192的读写操作,并把传感器采集的信号经过处理后通过MC13192发射出去。MC13192的中断通过IRQ引脚和中断寄存器来判断中断类型。MC908GB60通过/ATTN /RST RXTXEN引脚来控制MC13192进入不同的工作模式。对传感器的控制信号可以从MC13192的天线接收进来,通过SPI传送到MCU上,经过MCU的判断处理后通过GPIO口传送到传感器上,完成对传感器的控制。同时,MCU完成MC13192收发控制和所需要的MAC层操作。
3 系统软件设计
3.1 软件整体设计
软件设计是本设计的核心,关键在于软件的总体架构和数据结构的设计。着重要考虑的因素一个是效率,另一个是设计的清晰性。
车载系统软件由网关节点与传感器节点两大部分组成,这两部分都需要完成SMAC协议的移植,并根据不同需要为上层通信应用提供API接口函数。因为SMAC协议栈编程模型采用层次设计,只有底层的PHY和MAC程序层与硬件相关,而网络层和应用层程序则不受硬件影响。SMAC在不同硬件平台的移植只需修改PHY和MAC层,其上各层可以屏蔽硬件差异直接运行。
如图3所示,本设计把软件分为系统平台层、协议层和应用层3层。同时,定义了3个API接口:系统层接口、协议层接口和应用层接口。系统层接口定义了硬件的寄存器映射,这样C语言就能直接访问硬件寄存器来控制硬件。系统平台层建立在μC/OS-II实时操作系统上,为协议层提供系统服务。硬件驱动模块提供硬件驱动程序,所有对硬件的控制都通过该模块提供的服务。系统平台层通过协议层接口为协议层提供服务。协议层则实现了基于IEEE 802.15.4的物理层和链路层以及基于ZigBee的网络层协议。应用层通过应用层接口来调用协议层提供的服务,实现网络的管理和数据传输等任务。应用配置模块既会调用协议层提供的网络服务,也会直接对系统进行配置和查询,这主要是通过AT指令来实现的,因此该模块会调用应用层接口和协议层接口提供的服务。
3.2 传感器节点软件设计
基于系统长期使用的功能需求,传感器节点中软件设计的关键是既能实现所需的功能,又能最大限度地减少传感器节点的能耗。
通过测试发现,ZigBee模块的能耗要远远大于中央处理器和传感模块的能耗。因此,传感器节点应用软件的设计既要尽量使各模块处于休眠状态,又要尽量减少唤醒ZigBee模块的次数。因此,在传感器节点上电各功能模块初始化完成、并加入了网络后,即进入休眠状态,中央处理器周期地被定时唤醒向网关发送数据,并接收网关的命令。传感器节点的工作流程如图4所示。
3.3 网关节点软件设计
车载网关向下管理传感器节点,向上完成和PC监控中心的交互,需要进行复杂的任务管理和调度,因此,采用基于uC/OS内核的嵌入式操作系统管理整个网关,为应用任务的高效运行提供良好的软件平台支撑。根据网关的功能需求,将μC/OS-II、SMAC协议有机的结合,构成一个网络化的操作环境,用户可以方便地在其基础上开发应用程序。基于μC/OS-II扩展的网关软件平台结构如图5所示。基于μC/OS-II操作系统,分别构建系统任务SYS_task()、SMAC星型组网任务START_task()、网关和传感器节点交互任务COMM_task()、PC临控中心端口监听任务SER_task()等一系列应用任务,从而实现网关软件的应用功能。
3.4 主机监控软件的设计
本系统最终目的是将采集到的车载传感器数据实时地传送到主机,并在主机中得到显示和保存。显示的目的是获得被车载传感器节点所监控环境的初步情况,保存的目的是作为深入分析的数据样本。除此以外,作为整个系统的主控方和数据采集请求的发起者,需要能够按照要求发送数据请求信号。根据以上要求,在VB环境下开发了一个基于对话框的应用程序。这个应用程序包括了4个模块:
①实时数据显示波形模块。该模块的作用是将节点的数据以波形的形式实时地进行显示,实现的方式是利用MSChart和Timer控件。
②拓扑显示模块。当用户希望了解无线传感器网络的拓扑构建情况时,可以查看拓扑信息栏,了解网络中节点的加入和丢失情况。
③历史数据显示模块。在车载网络系统运行到一定时期,可能需要对过去某一段时间的原始数据进行后续的处理与深入的分析,以便对车载系统的状况进行准确的判定。借助历史数据显示模块,可以将监控中心从车载网关中得到的数据,按照不同节点的属性、地址和时间分别保存到数据库的相应字段中,并可以通过波形图的方式将历史数据显示出来,供用户分析。
④控制模块。在车载系统运行过程中可能关心某一个车载传感器节点的数值,或者需要对某一个传感器进行阈值设置,以便待监测的环境出现异常情况可以及时地报告给系统。这些都可以通过控制模块对系统进行相应的设置,控制模块还可以对系统中的某个不需要的节点进行删除操作。
总之,通过主机监控软件用户可以直观且多方面地对通用无线传感器网络系统进行了解和使用。
- 基于WSN的小区自行车防盗系统的设计(05-02)
- 基于ZigBee的汽车轮胎压力实时监测系统设计(10-13)
- 基于C8051F和Zigbee无线网络的汽车测试系统设计(07-03)
- 经典射频收发芯片CC1100在TPMS中的应用(07-19)
- 基于C8051F的Zigbee无线网络的汽车测试系统设计(08-26)
- 基于ZigBee的疲劳驾驶警示系统的研究与设计 (11-09)