微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于ZigBee和ARM技术的火灾信息数据无线采集系统

基于ZigBee和ARM技术的火灾信息数据无线采集系统

时间:03-13 来源:互联网 点击:

,由一个含有基带modem的射频收发器、硬连线的MAC和内嵌8051内核的微控制器(带有内部FLASH存储器)组成,它内建ZigBee协议栈,通过串口与LPC2132进行数据通信。模块的高度集成极大地简化了设计、降低了功耗,节约了整个系统的成本。
硬件编程采用C语言,程序流程图如图3所示。数据采集模块分别采集连接到串口、模拟量口及开关量端口的数据,由主控芯片对采集到的数据进行转换封装,由ZigBee网络传送给传输设备。传输设备与数据采集模块之间的通信协议采用“一主多从”方式,传输设备作为主机巡检各个控制模块,每个模块有惟一的ID号,只有接收到与自己ID号一致的巡检命令才执行数据上传或动作,这样能有效地提高通信的可靠性。

LPC2132包含一个带8路输入的10位逐次逼近型模数转换器,测量范围为0~3.3 V,每秒可执行400 000次10位采样。所以可采集的模拟量类型可以是电压信号,也可以是电流LPC信号,电流型/电压型可通过图4电路转换输入给2132的AD管脚。

图4中,S1和S2为跳线,通过跳线帽同时短路1,2或者2,3来实现电压与电流输入的切换,同时短路1,2时是电流输入,输入范围为0~20 mA,同时短路2,3时是电压输入,输入范围为0~5 V。其中ADIN1为外部模拟量输入,AD1为LPC2132模拟量输入管脚。此外,可通过改变R4电阻值来改变电流的输入范围,还可以通过改变R3和R5电阻值来改变电压的输入范围。

2 主要功能函数
2.1 主要功能函数
主要功能函数如下:

函数说明如下:
Init_All():初始化变量,配置ARM内部寄存器;
Read_Config():从24C256中读取设置参数;
Deal_Data_Uart0():处理与ZigBee模块接口数据,将采集到的数据按协议封装好后发给传输设备;
Deal_Data_Uartl():采集数据,并将数据整理暂存;
Check_In():采集开关量数据;
Updata_Ad(8):采集更新模拟量数据;
Updata_Respon():更新需要应答上位机巡检的数据。
2.2 ADC初始化及A/D数值读取
ADC初始化及A/D数值读取如下:

初始化A/D管脚连接到通道0,转化时钟为1 MHz,工作于正常模式。

此函数实现A/D寄存器中数值的读取并计算实际电压值,存放到ad_data数组中,参数channel_num是需要转换的通道数。
2.3 串口信息处理
串口信息处理如下:

串口1中断服务,将接收到的火灾报警控制器数据放入到rXd_uartl数组中,在主函数中通过调用Deal_Data_Uartl()函数对采集到的数据进行整理暂存,以便发送给传输设备。

3 结语
本系统采用短距离无线技术及远程联网监控技术,实现了对火灾报警控制系统及联动系统的数据采集与远传,为消防联网监控系统的数据采集提供了一种新的思路和方法。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top