ZigBee与μIP的嵌入式网络监控系统设计
摘要:针对传统远程通信方式在嵌入式监控系统中的低速、传输距离短、布线复杂等问题,提出了一种基于ZigBee与μIP协议栈的嵌入式网络监控系统。选用STM32F103C6作为监控系统下位机的主控芯片,与ENC28J60以太网控制器通过SPI接口相连,在μIP协议栈的基础上实现下位机与远程监控主机的网络通信功能,并在ZigBee协议栈的基础上通过CC2530芯片组建无线传感器网络,通过串口与主控芯片通信。
关键词:ZigBee;μIP;无线传感器网络;远程监控;STM32F103C6
引言
嵌入式系统因具有低功耗、实时性强、可靠性高等优点而日益普及,随着网络对人们的生活越来越重要,网络通信功能也成为嵌入式系统的发展趋势。传统的远程监控系统多采用8位或16位主控芯片,通过485总线、红外线等方式进行远程通信。这样的远程监控系统存在反应速度慢、数据传输速率低、布线复杂、易受干扰等缺点。本系统采用32位的STM32F103C6作为主控芯片,现场采集的数据通过ZigBee无线传感器网络,用ENC28J60以太网控制器实现嵌入式系统与远程监控主机的网络通信。该系统可以广泛应用于工业现场、楼宇等需要进行远程监控的场所,具有实时性强、多用户、监控方便、成本低等优点。
1 系统总体结构设计
根据系统的功能,可以把整个监控系统分为3部分:数据采集部分、数据处理与控制部分、远程监控部分。监控系统总体结构如图1所示。
数据采集部分采用CC2530芯片与ZStack协议栈组建的ZigBee无线传感器网络。终端设备对现场的温度、湿度等数据进行采集,通过路由器把数据传送到协调器。协调器与主控芯片STM32F103C6通过RS-232串口通信。
数据处理与控制部分(嵌入式服务器)是整个监控系统的核心,负责接收ZigBee网络采集的数据,并通过以太网把数据发送给远程监控主机,接收远程监控主机发送的命令并执行相应的控制功能。嵌入式服务器由STM32F103C6芯片与ENC28J60以太网控制芯片组成,采用μIP协议栈实现可靠的端到端服务。
远程监控部分由PC机与应用软件组成。应用软件为Visual Studio 2010开发的监控软件,可供用户实时地查看监控对象的参数,并控制远程设备。
2 硬件设计
2.1 数据采集部分
该部分采用TI公司的CC2530芯片。CC2530通过I/O口与数据采集芯片相连,把采集到的数据经过ZigBee无线传感器网络传到数据处理与控制部分。
CC2530除具有代码预取功能的低功耗8051微控制器内核外,还具有8 KB内存、最高128 KB闪存、5通道DMA、一个16位定时器和一个8位定时器、8路输入和可配置分辨率的12位ADC、2个支持多种串行通信协议的强大USART,21个通用I/O口,适应2.4 GHz IEEE802.15.4标准的RF收发器。其具有极高的接收灵敏度和抗干扰性能,只需要一个晶振和极少的外接元件即可正常运行。CC2530与外围器件的连接关系如图2所示。
2.2 数据处理与控制部分
该部分是整个监控系统的核心,主要由STM32F103C6芯片与ENC28J60芯片组成。数据处理与控制部分的连接原理如图3所示。STM32F103 C6接收CC2530采集的数据,并在μIP协议栈的基础上把数据封装成符合以太网格式的数据包发送给远程监控主机。同时,控制ZigBee无线传感器网络、接收远程监控主机的命令,对电动机、电灯、风扇、空调、总开关等设备进行控制。
STM32F103C6采用ARM Cortex-M3(32位RISC)内核,最高运行频率可达72 MHz。具有丰富的片上资源:32 KB的Flash、10 KB的SRAM、2个通用定时器和1个高级定时器、1个SPI接口、1个I2C总线接口、2个USART接口、1个USB接口、1个CAN总线接口、2个12位同步ADC模块。
ENC28J60集成了10BASE-T PHY和MAC,带接收器和冲突抑制电路,是兼容IEEE 802.3的以太网控制器。支持一个带自动极性检测和校正的10BASE—T端口,支持全双工和半双工模式,具有可编程在发生冲突时自动重发、可编程填充和CRC生成、可编程自动拒绝错误数据包的特性,并带一个最高速度可达10 Mbps的SPI接口。具备8 KB发送/接收数据包双端口SRAM,支持单播、组播和广播数据包,可以自动收发、过滤数据包。ENC28J60通过SPI接口与STM32F103C6连接,接收STM32F103C6的数据并把数据转化成符合IEEE 802.3标准的以太网数据包,实现网络通信。
HR911105A是单口RJ45插座,符合IEEE802.3、IEEE802.3ab标准,自适应10/100/1000M以太网,内部集成了网络隔离变压器,具有强大的电磁干扰抑制功能。
2.3 远程监控部分
该部分由PC机组成,PC机数量可以根据用户的数量确定,可以分布于不同的地理位置,通过网线与嵌入式服务器连接,获取嵌入式服务器的数据并发送用户的控制命令给嵌入式服务器。
3 系统软件设计
3.1 嵌入式服务器软件总体设计
嵌入式服务器程序是本系统中最重要的功能实现模块。主要实现3部分功能:接收ZigBee无线网络的数据和传输数据采集控制命令,建立客户机一服务器(C/S)模式的网络通信机制以及控制外围器件。
在本系统中,由STM32F103C6组成的嵌入式服务器即为C/S模式中的服务器,监控PC为客户机。嵌入式服务器软件系统是由μC/OS嵌入式实时操作系统、μIP协议栈、应用程序组成的。嵌入式服务器上电后对系统进行初始化,等待ZigBee网络就绪,接收监控PC发送的命令,根据命令采集数据或控制外围器件。嵌入式服务器软件的流程如图4所示。
ZigBee &mu IP 无线传感器网络 远程监控 STM32F103C6 相关文章:
- 浅析基于MG2455微处理器Zigbee的汽车无线黑匣子实现(08-29)
- 基于ZigBee的城市照明监控系统网关节点的软硬件设计(01-15)
- 基于RSSI测距的定位算法的研究(01-15)
- 基于GPRS和ZigBee的远程油阀控制系统(01-17)
- 基于ZigBee无线网络的嵌入式智能家居监控系统(03-18)
- 设计实例:森林火灾实时监测与预警系统(03-18)