微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ZigBee的城市照明监控系统网关节点的软硬件设计

基于ZigBee的城市照明监控系统网关节点的软硬件设计

时间:01-15 来源:单片机与嵌入式系统应用 点击:

3网关节点软件设计

3.1 基本任务实现

  MCF52223主要实现接收ZigBee无线传感网络主控节点传输的数据,然后通过GPRS发送到中心服务器。同时对于中心服务器发送的一些控制命令进行处理,并通过串口传输到无线传感网络主控节点中。此外还包括一些LCD显示、按键、I2C总线的操作。MCF52223主控程序流程如图6所示。

3.2 μC/OSII系统移植

  μC/OSII作为一个源代码公开的操作系统,在具体应用中稳定可靠,可扩展性强,功能强大,并且支持uIP、 TCP/IP协议栈、μC/GUI等。μC/OSII内核属于抢占式,最多可以处理64个任务,每个任务相对独立,都有超时函数,时间用完后交出MCU使用权。μC/OSII系统架构如图7所示。

  为了使所设计的网关程序实时性更强、运行稳定性更高、扩展性更强,将μC/OSII操作系统移植到MCF52223上。其移植步骤如下:

① 设置与处理器及编译器相关的代码(OS_CPU.H)。OS_CPU.H包括了用#define定义的与处理器相关的常量、宏和类型定义。不同的编译器会使用不同的字节长度来表示同一数据类型,所以要定义一系列数据类型以确保移植的正确性。

② 处理器相关部分汇编实现OS_CPU_A.ASM函数的修改。要求用户编写4个汇编语言函数:OSStartHighRdy()、OSCtxSw()、OSIntCtxSw()、OSTickISR()。

③ 用C语言实现与处理器任务相关的函数OS_CPU_C.C。μC/OS_II的移植要求用户编写6个简单的C函数:OSTaskStkInit()、OSTaskCreateHook()、OSTaskDelHook()、OSTaskSwHook()、OSTaskStatHook()、OSTimeTickHook()。

图6 MCF52223主控程序流程


图7 μC/OSII系统架构

  当μC/OSII系统移植完成后,添加网关节点实现的基本任务,包括网关与GPRS模块通信任务;网关与ZigBee模块通信任务;液晶屏显示任务;按键任务;I2C总线存储任务。

结语

在苏州科技园的某条道路上对20个景观灯安装了单灯测控节点,组成单灯ZigBee无线传感器网络,而后在道路电控柜中安装了所设计的网关,最后通过监控中心的上位机软件进行了测试。经实际运行,该系统可以很好地达到预期的效果,该网关方案较好地解决了ZigBee无线传感器网络与监控中心之间的数据传输问题。此外,虽然该网关设计方案是以照明监控系统为依托的,但为类似的无线传感器网络的网关设计提供了很好的参考,具有较高的实际应用价值。

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

网站地图

Top