基于无线传感器网络的智能智能作战服.docx
《基于无线传感器网络的智能智能作战服.docx》由会员分享,可在线阅读,更多相关《基于无线传感器网络的智能智能作战服.docx(23页珍藏版)》请在冰豆网上搜索。
基于无线传感器网络的智能智能作战服
基于无线传感器网络的智能作战服
摘要:
学生姓名:
杨昉浩,姚铠;34171121,34171102;
指导老师:
盛蔚;
针对现代战场的智能化、信息化作战要求,本文介绍了一种基于无线传感器网络的智能作战服的设计方案。
该系统以JENNICJN5121芯片为核心,应用了传感器SHT11用于环境温湿度测量,温度传感器DS18B20用于体温测量,FM1602CLCD模块,以及MOTOROLAGPS定位模块。
上位机采用C语言开发多线程实时图形监控界面。
本系统为实时监控战场环境,获知士兵生理参数和地理位置和报警信息,以及同时快速下达战术命令提供了一种可能。
同时本系统应用可穿戴式计算概念,采用模块式,分离式,高集成度方案,降低了成本,拓宽了应用前景。
系统网络基于IEEE802.15.4协议,具有可靠性好,稳定性好等特点,特别适合于组建以单兵为节点,小分队为整体的微型作战网络。
关键词:
智能,无线传感器网络,ZIGBEE,可穿戴式计算,作战服
TheIntelligentFightingUniformBasedOnWirelessSensorNetwork
Summary:
Author:
Yangfanghao,Yaokai
Tutor:
Shengwei
Aimingatthedemandofintelligentizingandapplicationofinformationtechnologyinbattlesofmoderntimes,thisarticleprovideakindofprojectschemewhichisbasedontheintelligentwirelesssensornetwork..Thissystemchoosesthechip----JENNICJN5121asacore,andusesthetemperature&humiditysensor----SHT11formeasuringparametersofcircumstance,thetemperaturesensor----DS18B20formeasuringanimalheatofsoldiers,andtheMOTOROLAGPSModuleforgeographylocation.Formore,weusetheLCDmodule----FM1602Ctodisplaythecommandofuppermachine.Consequentlythissystemprovidesapossibilityofmonitoringthecircumstanceandsoldiers’physiologicalparametersinrealtime,andacommandercantransmitinstructionstohissoldiersinamoreefficientwaythanbefore.Inaddition,thesystemthatappliestheconceptionofwearablecomputingisdesignedbythemethodsofmodulizationandSoc(systemonchip)whichreducethecostanddevelopapplicationforeground.Moreover,thenetworkbasedonIEEE802.15.4protocol,whichhasadvantagesofhigh-reliability&high-stability,isespeciallyforbuildingamicrofightingnetworkwhileasolosoldierdoasanodeandwholenetworkareaunit.
1.绪论
2.总体方案
3.功能描述
4.硬件设计
4.1JN5121网络节点电路
4.2SHT11传感器驱动电路
4.3DS18B20传感器驱动电路
4.4FM1602C液晶模块驱动电路
4.5GPS模块驱动电路
4.6系统安装位置设计
5.软件设计
5.1网络层软件设计
5.1.1控制器节点
5.1.2路由节点
5.2应用层软件设计
5.2.1控制器节点应用流程
5.2.2路由节点应用流程
5.3硬件驱动设计
5.3.1RS232接口通讯
5.3.2SHT11传感器
5.3.3DS18B20传感器
5.3.4HD44780LCD芯片
5.3.5GPS模块
5.4上位PC机监控软件设计
结论
致谢
参考文献
1.绪论
现代战争中,普通士兵已不像在二战时只能做坦克飞机的炮灰了,现在各国都希望在战场上使自己的士兵阵亡数降到最低。
因此,战场上针对士兵的实时监测就显得尤为重要。
此套系统恰能满足这种要求。
每一个作战小队形成一个网络,指挥官和理疗人员可以实时掌握每一个士兵的生命状况和士兵所处的环境情况,及时作出战场上的反应。
目前世界各国都有相应的解决方案,称之为“未来战士”,我们也是基于为我国相应技术发展提供一种可以参考的方案的目的来设计此套系统。
考虑到有限的经费,我们的设计重点,放在提供一种可搭载应用的无线网络平台,同时提供丰富的外部接口,为以后提供更丰富使用的功能做准备。
由于某些专用传感器的较高价格,从经费的角度我们无法选用,所搭载的应用是演示性的,所选用的传感器主要为较便宜的温度传感器和湿度传感器。
在条件允许的情况下,可以搭载更为复杂的士兵心率监控系统等。
然而我们的设计充分考虑了我国的实际情况,每个士兵基本节点成本可以控制再两百元以下,批量生产有望降到一百元以下,可以灵活的选择所需搭载的应用,有很好的应用前景。
2.总体方案
本系统网络应用层基于ZIGBEE协议,MAC层和物理层基于IEEE.802.15.4协议。
物理层协议可使用的2.4GHz,868MHz,915MHz均为免执照频段,最大可支持250kbps的数据传输率,一般传输距离为10到75米,搭载高功率RF模块后可以达到最多两公里的传输距离。
Zigbee是一种新型通讯技术,其技术特点有:
1.功耗低:
两节5号电池可在低待机模式下使用6个月到2年。
2.网络容量大:
每个网络最多支持255个设备。
3.延时短:
通常延时在15ms~30ms。
4.工作频段灵活:
使用的2.4GHz,868MHz,915MHz均为免执照频段。
5.支持硬件AdvancedEncryptionStandard加密,保证秘密讯息不被窃听。
本系统主要有指挥监测系统和微型无线网络组成。
其中指挥检测系统基于PC,通过RS232接口与主控节点通讯,通过多线程技术支持同时监测多个终端节点。
此系统在LABWINDOWS开发平台下,用C语言开发。
无线网络主要由两类节点构成----主控节点(Co-ordinater):
负责将接受到的信号传送给PC机,并将PC机发出的指令发给各下级节点。
路由节点(Router):
负责终端节点与主控节点间的数据无限传输,同时可以搭载各种应用功能。
本项目应用了可穿戴式计算网络概念,每一个路由节点对应一件陆军作战服。
服装内布置传感器和处理器。
处理器方案为Jennicjn5121,采用SoC设计,集成了多路输入输出端口和RF电路。
其网络层和应用层分开,每个节点(包括路由节点)都可以加载应用。
这样以来,整个系统灵活多变,通过网络的自组织和自修复功能,在路由节点丢失(如战斗人员伤亡,装置破坏)的情况下,网络结构可以自动改变,保证其它节点功能的正常运行。
整个网络的大体结构如下图所示:
具体的开发情况见下文。
3.功能描述
节点搭载应用能实现以下功能:
1.实时身体参数监测,比如可以实时得到士兵的体温数据。
2.实时环境参数监测,如环境温度,环境湿度等。
3.实时下达指挥命令,命令将通过网络显示在位于手部的LCD上。
士兵可以通过了解指挥官的命令做出行动,而指挥官可以远离前线。
4.紧急报警及命令反馈,报警按钮使用板载开关,士兵通过按下开关可触发报警信号。
也可发出其它预定义信号,有两组开关可供选择。
5.士兵地理定位,使用GPS全球定位,在终端可以显示士兵位置。
由于时间有限,本系统将只采用北航校内地图。
4.硬件设计
4.1JN5121网络节点电路
JN5121节点电路搭载了Jennic公司的JN5121-M0x模块,该模块内部集成了Zigbee无线收发用天线,为单片机提供16MHz主频的石英晶体和与单片机SPI串行通讯线直接相连的128k闪存等外围电路。
使用方便,价格也相对较低。
4.1.1JN5121网络节点的电源设计
由于JN5121采用3V电压供电,故只需使用2节七号干电池供电,再在两极间并联适当的去耦电容即可。
电源电路(DS1为电源指示灯)
电池两端去耦电容VCC两端去耦电容
4.1.2JN5121模块的复位与对外接口电路的设计
在JN5121网络节点电路中应设计一硬复位按钮用于JN5121的复位与进入编程模式。
对外接口共引出了JN5121模块大部分引脚用以连接传感器或是LCD等外部设备这些引脚包括21位DIO、SPI、4通道ADC、2通道DAC、比较器、2个定时/计数器、2通道UART等(其中绝大部分DIO与其他引脚复用)。
JN5121模块的引脚图与复位电路
对外接口ADC通过电阻分压后接入模块
4.1.3JN5121网络节点上RS232串行通讯接口电路的设计
JN5121网络节点上的RS232接口主要用于向模块中写入程序,只有主控节点的接口还用来和上位机进行数据实时传输。
因此在设计串口通讯电路时,还加入了一些跳线插头,短接接头就可进入编程模式或是程序保护模式。
电平转换芯片选用的是MAX3222EWN。
RS232电平转TTL电平电路(跳线短接JP1的2、3引脚后重启可使JN5121进入编程模式)
RS232接口电路
跳线短接2、1会使闪存写保护,短接2、3写程序短接1、2使SPI可向闪存传输数据
4.1.4JN5121网络节点上的LED指示灯与按键
由于JN5121节点在系统中是作为每件战斗服的控制部分使用的,因此在上面加入一些控制用的按键与显示用的LED指示灯是必需的。
例如,当士兵发觉身体不适而系统并未判断出该名士兵身体特征出现异常时,士兵就可以自己按动节点上的按键触发报警,LCD的背光开关也可以通过按键实现。
指示灯则可以设置成电池电量低时亮起,让使用者知道何时应该更换电池。
总之,节点上的按键与LED的功能完全由软件控制引脚电平而实现。
JN5121上的按键与LED设计电路
4.2SHT11传感器驱动电路
SHT11是盛世瑞恩(Sensirion)公司生产的温湿度传感器,它的主要特点与优势有:
-相对湿度和温度测量
-兼有露点
-全标定输出,无需标定即可互换使用
-卓越的长期稳定性
-两线制数字接口,无需额外部件
-基于请求式测量,因此低能耗
-表面贴片或4针引脚安装
-超小尺寸,仅有火柴头大小
-自动休眠
-超快响应时间
SHT1x系列传感器
我们正是看中SHT11所拥有的众多优点,才选择它作为片上温湿度来测量环境参数,由于他采用的是两线制串行数字接口,而片上串行接口资源相对比较有限,故使用两个DIO接口与其相连,通过软件产生虚拟串行时序来保证数据的正常传输。
具体硬件连接方式见下图:
SHT11连接电路
4.3DS18B20传感器驱动电路
DS18B20在系统中是作为体温传感器使用的,由于该传感器采用“一线总线”技术,只需用一个DIO接口与其相连用来传送体温数据与控制传感器,大大节省了单片机接口资源。
DS18B20的连接电路如下图所示:
DS18B20硬件接法
4.4FM1602C液晶模块驱动电路
为了使每位士兵能第一时间得知来自上位机指挥官发来的命令,并且出于战场上有时需要有静音的考虑,我们采用了LCD显示模块来显示指令与其他信息。
FM1602C是2*16位点阵字符型液晶显示模块,集成的驱动芯片是HD44780。
选用FM1602CLCD显示模块主要是出于成本考虑,如果经费充裕,还可以考虑采用汉显模块或是图形显示模块来显示更加丰富的信息。
FM1602C是8位并行输入的,而且还有RS、R/W、E等控制输入。
如果直接接在JN5121的DIO口上将会占去大部分DIO资源。
因此,我们在FM1602C与JN5121之间加入了一片74LS164,用来将JN5121的SPI串口输出转换为8位并行输出,大大节省了资源。
具体的电路图如下:
FM1602C电路
5.软件设计
5.1网络层软件设计
5.1.1控制器节点
控制器节点采用ZIGBEE网络结构定义,具体层次如下图
其中分为应用层,堆栈层和物理、数据连接层。
而应用层由ZIGBEE设备对象(ZDO)和应用对象组成。
ZDO内部包含网络设备的定义和设置参数,对应每个网络节点。
应用对象最多可由240个,对应最多240个应用项。
堆栈层包括应用支持底层(APS),和网络层。
其中APS其着沟通应用层和网络层的功能。
物理层符合IEEE802.15.4协议。
物理层和MAC层的操作有ZIGBEE协议自动完成,开发主要集中在网络的建立,信道和传输率的选择,应用层和网络层的数据传递,以及网络结构的制定。
协议支持三个频段的26个信道,其中处在2.4ghz的16个信道是全球范围免无线电执照的。
为了防止和同在2.4ghz工作的bluetooth或是WIFI冲突,我们也可以把工作频段设在其它范围。
RFBand
频段(MHz)
数据传输率(kbps)
信道数(s)
免执照地理范围
868MHz
868.3
20
0(1channel)
欧洲
915MHz
902-928
40
1-10(10channels)
美国和澳大利亚
2400MHz
2405-2480
250
11-26(16channels)
Worldwide
我们选用了第12信道作为通信信道,也可以通过扫描所有可用信道的信号强度,选用最好的信道。
其中2.4Ghz频段的理论传输率有250kbps,足以满足所有应用的数据传输要求。
应用层和网络层通过函数的调用传递数据,网络层数据主要分为KVP和MSG两种,其中KVP类型数据主要包含远程操作指令,而MSG类型数据一般包含普通数据。
我们通过调用函数JZA_u8AfMsgObject可以处理其它节点向控制器发出的MSG类型数据,将数据传递给以定义的数据结构体,为其它应用做准备。
ZIGBEE协议主要支持三种网络拓扑结构,为STAR星型网,TREE树型网和MESH网型网络。
StarTreeMesh
其中mesh型网络具有最好的稳定性和自修复能力,节点有多条路由路径将数据传向控制器节点。
但由于考虑到我们的节点数有限,我们选择了树型拓扑结构,通过绑定将每个路由节点和控制器连接。
5.1.2路由节点
路由节点的软件设计相对较简单,通过绑定和上层节点联系,将数据传输给上层节点。
路由节点的设计主要集中在应用层上。
5.2应用层软件设计
5.2.1控制器节点应用流程
控制器节点采取定时查询方式,每一百毫秒查询一次数据缓冲,如果有上行或是下行的数据马上调用函数发送给PC机或是下级路由节点。
5.2.2路由节点应用流程
路由器搭载多个应用,通过设定状态机的方式进行定时查询状态机状态,当某个应用相对应的状态为数据准备完成状态时,就调用相应函数进行处理。
查询时间设为100ms,当有中断进入时暂停。
中断操作由片上操作系统自动配置。
5.3硬件驱动设计
5.3.1RS232接口通讯
针对RS232接口的软件设计分为以下三个子文件:
serial.c,serialq.c,和uart.c。
其中serial.q的内容主要是针对串行通讯的基本操作的函数,serialq.c定义的函数用于在控制器内部形成一个FIFO队列形式的256字节的缓冲和其相关的缓冲队列操作函数。
而uart.c用于初始化RS232接口和对前两个文件内的函数的调用。
在向PC机传递数据时只要调用此文件内的函数,队列的组织和硬件的控制都自动完成。
对于RS232传输的数据格式和传输波特率都可以在头文件中通过宏方便的设置,在上位PC机中使用同样的设置就可以使PC和控制器节点交换数据。
5.3.2SHT11传感器
SHT11是一个贴片式封装的温湿度两用传感器,在本应用中拿来测量环境数据参数。
此传感器为数字式传感器,对传感器的命令和数据都通过串行方式传输,通过专用的通讯协议得到的数据经过简单的数据处理就可以使用。
传感器的数据处理公式如下:
湿度humidity(%)=0.648*ReadValue–4
温度temp(degreesC)=0.04*ReadValue-39.6
其中ReadValue为16位无符号量。
应为片上处理器为32位RISC处理器,不支持硬件浮点计算,通过一下公式转换为32位量储存。
湿度u32Result=ReadValue*1327–8192
温度u32Result=ReadValue*41–40550
通过位处理命令将32位量转为16位,通过函数传递给应用层软件。
5.3.3DS18B20传感器
DS18B20是一款广泛使用的温度传感器,采用单总线协议,所以传感器驱动的重点在于对其时序驱动的控制。
DS18B20简单的硬件接口是以相对复杂的借口编程为代价。
由于DS18B20通过但总线与外部进行通讯,所以其通讯功能是分时完成的,它与单片机的接口协议是通过严格的时序来实现的,DS18B20数据的写入和读出都是由主机读写特定的时间片来完成的。
系统对DS18B20的各种操作必须按协议进行。
操作协议为以下流程。
DS18B20内部存在一个唯一的64位长的ROM编码。
开始的8位是单线产品系列编码,接着的48位是唯一的系列号。
最后的8位是开始56位的CRC。
我们可以通过相应的算法检验读写驱动程序正确与否。
DS1820的存储器如下图所示的组织,由一个高速暂存RAM,和一个非易失性电可擦写E2PROM组成。
控制芯片每次读取RAM内的8字节数据和一位CRC,通过上面的公式可以校验数据是否正确。
5.3.4HD44780LCD芯片
HD44780为所选用的FM1602C模块的控制芯片,所编写的驱动程序也是针对这块控制芯片。
液晶显示模块的显示方式有整屏显示或单独显示两种。
整屏显示是将所要显示的数据一次性发送到显示数据RAM中,而单独显示实在屏幕上的指定位置进行。
两种方法倒是在控制器空闲的条件下才能进行,并在操作之前要读取忙读取标志,以判定控制器是否处于忙读取标志,再进行读写操作。
因为为了节省IO资源,我们采用了一块串口转并口的芯片74LS164,通过串行方式将数据送入转换芯片再在并口显示出来。
5.3.5GPS模块
GPS使用DIO接口TTL电平输出,只要针对相应的传输协议读取信息并上传到PC做进一步处理。
上位PC机监控软件设计
上位机监控软件是利用LabWindows/CVI生成面板,编程而成。
LabWindows/CVI与其他虚拟仪器软件开发平台相比,具有以下特点:
●基于标准C语言,编程技术主要采用事件驱动与回调函数方式,易于学习和掌握。
●可视化、交互式的开发工具,标准Windows风格的操作界面。
●运用LabWindows/CVI进行设计是以工程文件为主体框架,包含了源文件(*.c)、头文件(*.h)和用户界面文件(*.uir)三个部分,全部软件调试好后,可将工程文件编译生成可执行文件(*.exe)。
●制作好用户界面文件后,源文件和头文件的部分代码可以由LabWindows/CVI自动生成,减轻了使用者在程序开发过程中的工作量。
●软件工具包功能齐全(仪器控制,I/O控制,通讯、数据处理等)。
本系统中的监控软件由队员状态显示、指挥官命令发送、GPS定位地图实时显示、RS232串口控制4部分组成。
5.4.1队员状态显示部分:
队员状态显示部分能够实时显示每位队员所处的环境温度、湿度(由JN5121网络节点上的温湿度传感器SHT11提供)、队员体温(由温度传感器DS18B20提供)、队员位置坐标(由GPS模块提供)。
并且将每位队员的体温绘成折线图显示在面板上,如果队员体征参数出现异常,面板上报警LED指示灯会被点亮。
用户界面上队员状态显示部分
5.4.2指挥官命令发送部分:
指挥官可以单击每位队员状态显示面板旁的Message按钮给队员发送命令,发送出的命令经过传输之后将最终显示在该名士兵的LCD上。
点击Message按钮后弹出的对话框
5.4.3GPS地图实时显示部分:
由GPS模块传来的坐标数据,将不仅以数字的形式显示在队员状态显示部分中,还会换算成相对坐标后,在面板的地图上实时的显示出队员所在的位置。
如上图,一名士兵正在北航北京航空馆徘徊
4)RS232串口控制部分:
由于上位机是通过RS232串口与JN5121主控节点相连,因此每位士兵节点的数据通过无线传输到主控节点后都是由RS232传给上位PC机的。
而指挥官的命令也是通过RS232传给主控节点再传给其它JN5121节点的。
该软件的RS232控制部分就是控制协调这些“收”与“发”的。
得到下位机上来的数据后,经过一些预处理(例如将串口传来的2Byte数据合成一个16位整形变量)后再交给其他部分处理。
结论
根据以上所述,本系统使用了多种不同的传感器,实现了多种功能。
我们可以看出,基于嵌入式系统的微型无线传感器网络将在国防建设中起到有价值的作用。
对应于不同的任务需求,可以搭载不同的应用,是此套系统的优势之一。
创新的将智能无线传感器网络应用在单兵作战服,使得原本普通的作战服具有了环境监测,人体参数监测,命令发送和接收,以及地理定位功能,为我国国防现代化建设中士兵信息化提供了一种可以参考的设计方案。
致谢
在开发过程中给予帮助的所有师兄师姐和老师。
北航仪器光电学院微小型系统实验室。
参考文献
[1]ZigbeeStackUserGuide[M].UK:
JennicCorporation,2006
[2]张凤均.LabWindows/CVI开发入门和进阶[M].北京:
北京航空航天大学出版社,2001
[3]TheUserManual[M].Japan:
HITACHI,2003目录