微电子和无线通信技术的飞速发展,使得低功耗、低成本、体积微小的传感器网络的研制成为可能。
本文介绍了一种无线传感器开发系统的设计方法.包括节点和开发板。节点具有功耗低、通用性好的特点,带有多种传感器,可以感知温度、湿度和光等,并带有扩展口。开发板用于配置节点和下载程序。开发板具有友好的上位机用户界面,并支持多种编译系统生成的不同目标文件格式。
1 节点的硬件设计
传感器节点的硬件结构主要由传感模块、处理模块、通信模块和电源模块组成。传感器节点一般采用电池供电,由于节点放置在危险或不易到达的区域,更换电池几乎是不可能,因此节能成为设计的关键技术,此外,还要控制成本和体积。设计的节点硬件框图如图1所示。
1.1 微处理器模块
微处理器选用atmel公司的atmelgal28l。该芯片功耗低,且有多种睡眠模式;多个中断源,53个10口,可以连接多个传感器扩展口;内带8路 10位a/d转换器,可以将传感器送来的模拟信号转换为数据信号;双向i2c串行总线接口;主/从spi串行接口;可编程串行通信接口;jtag和spi 在线编程方式等。该芯片的丰富资源可以满足节点数据处理和传输的要求,尤其是六种不同的睡眠模式,特别适合有能量限制的应用。
存储器存放待处理或接收的数据.选用mierochip公司的25aal024。该芯片的存储量为1024kb,功耗低,读写方式为spi,占用10口少。节点索引号产生器选用maxim公司的ds2411,用来产生48位随机数,作为节点的惟一标识号。
1.2 射频模块
射频芯片的选取直接影响节点的功耗,因为节点消耗能量的近2/3都用于无线收发。选用的射频芯片为nordic公司的nrf24l01。该芯片功耗低。在相同工作模式下,比chipcon公司的cc2420芯片节省近l/3的能量;工作于2.4g~2.5ghz ism频段;支持高速跳频;体积很小;外围器件少,配置简单,且使用两层pcb板,节省成本。nrf24l0l配置框图如图2所示。
nrf24l01与微处理器相连只需6根信号线,其中4根是spi信号线,与atmelgal28l的spi口相连;其余一根为片选,另一根用于中断请求。
射频电路要取得好的rf性能,pcb设计必须合理。nrf24l01的供电电源必须经过良好的滤波,并且与数字电路分开;避免长距离走线;在射频信号输出部分,根据发送功率设置滤波网络,以实现阻抗匹配,使到达天线的信号最强。要防止高频信号泄漏,否则会对发射信号造成很大干扰。由于天线要散播电磁能量,需选用q我较小的器件。制作pcb板时,在器件周围覆铜,以提高抗干扰性能。
1.3 传患器模块和扩展口
板上设有一光敏电阻感应光信号,由于是模拟信号,需接入atmelgal28l的ad引脚进行ad转换后才可处理。板上还装有一数字型温湿度传感芯片sht15,可感知温度和湿度,精确度较高,且功耗低,采用i2c读写,占有io口很少。
为了让节点具有更广泛的应用,节点板上接有扩展口,其中有i2c口、ad口和中断口等,用来连接其他传感器。
1.4 电源横块和电能消耗
节点有两种供电方式,在实验室调试和测试时通过开发板供电,在外界环境中工作时,用2个aa电池供电。为了防止2个电源之间的干扰,在板上加有一个手动开关。
因为电能的消耗决定了传感器节点的使用寿命,在节点的软、硬件设计时,必须充分考虑能源的有效性。节点在各种运行模式下,必须关闭不必要的模块以节省能量。当通信采用节点定时关闭和打开的协议且关闭与打开的时间比为1:99时,使用2节1000毫安时(mahr)的aa电池供电,节点耗能如表1所示。
在上述工作模式下,如果用2节1000ma-hr的aa电池供电,则节点寿命为12.55个月。此值是在最大发送功率情况下计算的。当发送功率和收发速率变小时,耗能更少,传感器的寿命会更长。
2 开发板的硬件设计
开发板的硬件系统框图如图3所示。
节点cpu的jtag口接在开发板上。如果使用jtag口下载和调试程序,则需要jtag下载器。为此,设计了另一种下载方式,即串行下载。cpu通过 usb口接收上位机的代码,然后通过spi口下载到节点cpu的flash。cpu为中心控制模块,接收上位机的各种命令并进行相应处理。cpu芯片选用 atmel公司的atmelgal6l,该芯片带有可编程uart口和工作于主机,从机模式的spi口。
usb转换芯片实现上位机端的usb数据与下位机端的uart数据之间的转换。选用芯片为ft232bm。由于编程板cpu、atmelgal28都要通过usb口与上位机通信,为了防止不同输入输出信号间的干扰,设计时用了两个带有使能控制的buffer来控制不同cpu串口通信的通断。
为了更方便地配置传感器节点,在板上集成了一块e2prom。目标代码可以先存储在ezprom中。当需要向节点下载时,通过按钮激发外部中断即可将e2prom的代码通过spi口写入节点cpu。操作方便简单,摆脱了上位机的限制。
节点连接器是17针的节点与开发板和扩展传感器之间的接口,除了编程口和串口,还有连接传感器的扩展口,包括i2c口、中断口和ad口等。
节点cpu spi编程共需4根信号线,其中3根spi通信线与开发板cpu的spi口相连,节点cpu的reset信号 由开发板cpu的io口控制即可。
3 开发板软件设计
3.1 上位机程序设计
用c++ builder 6.0编写上位机程序,制作了用户操作界面,并将不同编译系统生成的多种目标文件格式转换成上、下位机约定的文件格式,传送给下位机。
为提高向atmelgal28l的flash和e2prom写代码的效率和便于从e2prom向flash写代码,上位机传送给下位机的代码采用图4所示的格式。
图4中,地址指该段代码要写入flash的初始地址,包括2字节的页地址和l字节的页内地址;序列号表示该段代码是全部代码中的第几段;长度指该段代码的字节数,不包括地址和序列号。每一地址段代码都采用表2的格式。
上位机程序支持的目标文件格式有:tinyos、avrgcc和iar生成的intel hex文件。intel hex是intel公司提出的一种文件标准,是最常用的目标文件格式之一。上位机程序还支持ti(德州仪器)公司提出的msp430-txt格式,该格式及说明如表2所示。
上位机程序将不同编译系统生成的不同格式的目标文件转换成图4所示的格式,再发给下位机。上位机操作界面提供了各种命令按钮,用户点击命令按钮后,上位机即按制定的该命令模式处理协议发送命令和数据。在传送文件时,为确保数据传送不出差错,采用了停止-等待传输协议。上位机发送约定长度的数据后停止发送,等接收到下位机发来的确认标志后再开始发送。上位机总程序框图如图5所示。
3.2 下位机程序设计
下位机接收上位机的命令,完成读写flash、e2prom、镇定位、熔丝位和usb口使用权的切换等功能。由于实现的功能较多,采用了模块化、自下向上的结构化设计方法。首先按照atmelcal28l数据手册提供的spi编程算法,用c语言实现了读写flash、锁定位和熔丝位等模块。
程序设计的一个难点是将接收的上位机发送的文件写入flash或e2prom,因为涉及到接收数据和写flash或ezprom的交互。解决方法是采用停止一等待传输协议进行数据传送。下位机开辟约定数量的缓冲区,利用中断接收上位机数据至缓冲区满,处理完缓冲区数据后发送确认标志,上位机收到确认后再开始下一次发送。
按制定的协议写atmelga128l的fiash的流程图如图6所示。
下载 (76 kb)
2010-7-15 10:51
写ezprom与写flash类似,只是要将接收的地址、序列号、长度也写入e2prom。代码在e2prom中存放时仍保持表2所示的格式,即段初始地址、序列号、该段长度、数据的格式,以便将e2prom中存储的代码写入flash。
编写下位机程序时,依据各模块分别用子函数实现、模块间接口清晰、主程序简单的原则,实现了读写flash和e2prom、读写锁定位和锁定位、从 e2prom写flash等几大模块,主函数接收到命令调用相应模块即可。当按下中断按钮时,中断程序先检测flash连接,如果检测成功,则调用从 e2prom写flash模块;否则红灯闪烁指示操作失败。
使用本文设计的开发板对节点下载程序,程序运行正常,节点间通信状态良好,且功耗低,实现了预计的功能并满足性能要求。
从设计过程和使用可以看出,本开发系统具有以下优点:
(1)节点功耗低,体积小,射频芯片灵敏度高;
(2)节点通用性好,可以连接多种传感板;
(3)开发工具用户界面友好,支持多种目标文件格式;
(4)代码可存储在e2prom中,需要下载时按下按钮便写入flash,配置节点方便。
本文所设计的传感器开发系统便于研究者做更深入的实践研究,推动了传感器更广泛的应用。
霍尔效应的工作原理
华为麦芒6、华为mate10和荣耀畅玩7X,华为全面屏新机扎堆发布,你选哪一款?
基于STM32单片机的手环系统设计
电梯 已被彻底颠覆
自动驾驶≠速度与激情
一种无线传感器开发系统的设计方法
物流行业的无人驾驶前景可观 雄安新区启动无人驾驶道路测试
深度学习视觉系统,高精密检测系统,多相机并行检测系统,机器人视觉系统
RoboSense智能固态激光雷达入围PACE大奖--汽车行业创新风向标
5G新视听发展趋势及应用前景分析
直流电机如果老化了它将会出现哪些问题
许家印国内布局汽车产业 积极开拓生产制造及销售渠道市场
数字照片墙创新多媒体展厅互动体验
对于传输线的反射、特性阻抗、阻抗匹配的详细解析
电子邮件需要依靠零信任安全模型来避免攻击
有钳位二极管的零电压移相全桥变换器
人工智能领域发展的重心在哪里
中国移动“5G+北斗”的应用落地取得了哪些成功案例?
一种可直接实时评估心脏功能的可穿戴超声成像传感器
视频干货丨USB PD3.1 如何升级电源和电池充电器应用?