关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于无线传感器网络的大棚环境参数采集系统

基于无线传感器网络的大棚环境参数采集系统

作者:时间:2012-06-04来源:网络收藏

命令模式适用于从提取大批量数据时使用,此时处于停止测量状态,其功耗小于3.5 mW。流模式是工厂默认模式,此时每秒产生2个测量数据,除了正处于测量的过程中以外,传感器会及时处理收到的命令,所以传感器在处理命令时可能会出现100 ms的延迟,这种工作模式的功耗为3.5 mW。查询模式时传感器并不产生数据,但是周期性的测量在后台继续,当传感器收到读取命令时,会将最近的测量值转换成数据送出。查询模式的功耗与查询频率有关,但是几乎接近3.5mW。
文中将COZIR的通讯口接到单片机的EUART0口,COZIR工作在查询模式(Polling Mode)。

2 软件设计
软件的开发为Keil uVision3,使用C51语言。通信部分采用标准MODBUS协议,为点对多点的通信方式。主机采用同样的电路,去除传感器部分,增加USB与UART桥接芯片CP2102,通过USB口连接PC机。PC机在安装Silicon Labs公司提供的免费驱动程序后,通过USB接口虚拟出一个COM口。从机为测量节点,每一个节点都拥有一个唯一的地址,工作方式为主站轮询,从站监听的方式。节点软件的主要流程如图3所示。

本文引用地址:http://www.eepw.com.cn/article/160513.htm

b.jpg


2.1 程序流程
初始化时,MCU进入掉电模式,Timer3选择32768 kHz晶振作时钟源,定时1 min中断。Si4432进入睡眠模式,开启Si4432的Wake-up Timer,定时31s。有两个事件会将MCU唤醒:Timer3定时和Si4432的nIRO引起的外部中断。
在Timer3的中断服务子程序中做两件工作:1)软时钟计时。由于对实时性要求不高,时钟可以分钟为最低计时单位。并且上位机可定期通过写指令对时钟进行校准;2)数据。从温湿度传感器和CO2浓度传感器读取数据并按规定格式存放在规定缓冲区,等待上位机读取。
MCU的INT0设置为低电平触发,连接Si4432的nIRQ脚,每31秒Si4432的Wake-up Timer使得nIRQ脚产生低电平,从而引发MCU外部中断。在中断服务子程序中MCU通过SPI口读取Si4432的iswdet和ipreaval位,以判断是否接收到前导码或同步码。若有,则命Si4432进入RX状态,继续接收数据并处理,否则回到休眠状态。上位机要唤醒节点,需连续发40 s(大于31 s)唤醒信号,这对于供电充分的上位机来说不是问题。
2.2 通信协议
通信协议采用MODBUS协议的RTU传输模式。MODBUS协议是免费的用于工业现场的总线协议。在我国,MODBUS已经成为国家标准GB/T195 82-2008。可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。
在本系统中,主机(PC)直接面对的是虚拟COM口,因此可方便地采用MODBUS协议,主机界面可采用简单的串口调试工具,如SSCOM等,也可以由用户自行开发。通过USB口连接主机的无线节点与从机之间采用透明传输,由上向下传输数据前需增加唤醒过程。从机(无线测量节点)向上发送数据时,则按照MODBUS帧格式组建数据包连续发送。
MODBUS通信使用主——从技术,即仅一个设备(主设备)能初始化传输(查询)。其他设备(从设备)根据主设备查询提供的数据作出相应反应。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一个消息作为回应,如果是以广播方式查询的,则不作任何回应。



评论


相关推荐

技术专区

关闭