当前位置:首页 > 单片机 > 单片机
[导读] 本文针对传统远程通信方式在嵌入式监控系统中的低速、传输距离短、布线复杂等问题,提出了一种基于ZigBee与μIP协议栈的嵌入式网络监控系统。选用STM32F103C6作为监控系统下位机的主控芯片,与ENC28J

本文针对传统远程通信方式在嵌入式监控系统中的低速、传输距离短、布线复杂等问题,提出了一种基于ZigBeeμIP协议栈的嵌入式网络监控系统。选用STM32F103C6作为监控系统下位机的主控芯片,与ENC28J60以太网控制器通过SPI接口相连,在μIP协议栈的基础上实现下位机与远程监控主机的网络通信功能,并在ZigBee协议栈的基础上通过CC2530芯片组建无线传感器网络,通过串口与主控芯片通信。


嵌入式系统因具有低功耗、实时性强、可靠性高等优点而日益普及,随着网络对人们的生活越来越重要,网络通信功能也成为嵌入式系统的发展趋势。传统的远程监控系统多采用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 GHzIEEE802.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所示。


3.2 ZigBee无线传感器网络
ZigBee协议是基于国际标准化组织(ISO)的开放系统互连(OSI)基本参考模型,ISO/OSI模型有7层,而ZigBee仅实现了低功耗、低数据传输率的无线网络必需的部分:物理层(PHY)、介质访问控制层(MAC)、网络层(NWK)和应用层(APL)。最低的两层:物理层和介质访问控制层,由IEEE 802.15.4标准定义。网络层和应用层由ZigBee标准定义。在应用层内提供了应用支持子层和ZigBee设备对象。
ZigBee网络包含3种设备类型:协调器(ZC)、路由器(ZR)、终端设备(ZE)。ZigBee无线传感器网络拓扑结构如图5所示。


协调器负责启动和控制网络,存储关于网络的信息;路由器负责中转数据包,扩展网络覆盖面,提供备份路由以防网络拥挤和设备通信失败,支持子设备。终端设备可以发送或接收信息,但不能执行路由操作,必须被联系到协调器或者一个路由器,并且终端设备不支持子设备。在本系统中终端设备负责采集温度、湿度、烟雾、光照等数据,协调器通过RS-232接口与嵌入式服务器连接,把采集到的数据传送到嵌入式服务器。

本系统采用TI公司符合ZigBee2007协议栈标准的Z—Stack协议栈实现ZigBee无线网络。系统上电后,各结点首先实行硬件初始化,然后初始化ZigBee无线网络,网络组建完成并且运行正常后,终端设备进行数据采集,并通过路由器结点把数据传递给协调器。ZigBee无线网络的工作顺序如图6所示。


3.3 μIP协议栈
μIP协议栈是由瑞典计算机科学研究所的AdamDunkels开发,并在BSD风格的许可证下发布的免费、开放源代码的协议栈。完整TCP/IP协议栈的实现分别需要几百KB的程序存储空间和内存,这对8位或16位芯片组成的系统来说,需消耗太多的资源而无法得到应用。对于大多数应用来说,实现完整的TCP/IP协议栈是没有必要的。μIP设计成仅仅实现完整TCP/IP协议栈里必需的特性,其中包括IP、ICMP、μDP和TCP协议,整个协议栈是用C语言实现的,并且只能处理一个网络接口。
应用程序调用μIP协议栈提供的用户接口函数实现网络通信功能。发送数据时,μIP协议栈把应用程序的数据封装成符合以太网标准的数据包,再调用底层驱动程序把数据发送到以太网中的目标机器。一旦以太网控制器接收到符合要求的数据包,则μIP协议栈提取包中的有效数据传递给应用程序。μIP协议栈与底层驱动、应用程序的调用关系如图7所示。


3.4 监控系统测试结果
把程序下载到嵌入式服务器,硬件连接完毕后整个系统上电。在远程监控主机中打开监控程序,对本系统进行测试,结果如图8所示。

结语
通过对该监控系统进行运行测试,本系统可以接收远程监控PC发送的监控命令,并根据命令将ZigBee无线传感器网络采集到的数据通过以太网发送给远程监控PC、控制现场设备,实现了远距离监测与控制功能。本设计解决了传统远程监控系统中传输距离短、布线复杂与实时性差等问题,具有重要的实际意义。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

深圳2024年4月23日 /美通社/ -- 全球AI解决方案与工业级存储领导品牌宜鼎国际 (Innodisk)持续深化边缘AI布局,今(23)日发表全球首创"MIPI over Type-C"独家技术,让旗下嵌入式相机模...

关键字: AI 嵌入式 相机

为增进大家对嵌入式主板的认识,本文将对嵌入式主板以及嵌入式主板常见问题及其解决方法予以介绍。

关键字: 嵌入式 指数 主板

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

为增进大家对嵌入式的认识,本文将对嵌入式、嵌入式工作相关的内容予以介绍。

关键字: 嵌入式 指数 嵌入式技术

机器人操作系统(ROS)驱动程序基于ADI产品而开发,因此可直接在ROS生态系统中使用这些产品。本文将概述如何在应用、产品和系统(例如,自主导航、安全气泡地图和数据收集机器人)中使用和集成这些驱动程序;以及这样将如何有助...

关键字: 电机控制器 机器人 嵌入式

支持高达48V@5A的PD受电模式,达到目前USB PD最高标准。

关键字: 嵌入式 开发板

【2024年4月8日,德国慕尼黑讯】低碳化和数字化是当今时代人们面临的两大核心挑战,人类社会需要依靠创新和先进的技术,才能破除挑战、推动转型进程。在德国纽伦堡举办的2024国际嵌入式展(Embedded World 20...

关键字: 半导体 微控制器 嵌入式

TDK 株式会社(TSE:6762)进一步扩充 Micronas 嵌入式电机控制器系列 HVC 5x,完全集成电机控制器与 HVC-5222D 和 HVC-5422D,以驱动小型有刷(BDC)、无刷(BLDC)或步进电机...

关键字: 嵌入式 电机控制器 内存

嵌入式开发作为信息技术领域的重要分支,在当今智能化社会中的地位日益显著。它不仅在日常生活中的消费电子产品、工业自动化、汽车电子、航空航天等诸多领域发挥着不可或缺的作用,而且随着物联网、大数据、人工智能技术的发展,嵌入式开...

关键字: 嵌入式 信息技术
关闭
关闭