新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 一种ZigBee以太网网关的设计

一种ZigBee以太网网关的设计

作者:时间:2013-05-14来源:网络收藏

2 软件
2.1 主控板软件
主控板软件在LM3S6911微处理器上移植了μC/OS-Ⅱ嵌入式实时操作系统,μC/OS-Ⅱ是一个开放源码的实时操作系统,但它只是一个实时的任务调度及通信内核,缺少对外围设备和接口的充分支持。为获得对接口的支持,在其上移植了LwIP(Light Weight IP)TCP/IP协议栈。LwIP是一套用于嵌入式系统的开放源代码的TCP/IP协议栈,实现的重点是在保持TCP协议主要功能的基础上减少对RAM的占用,适合在低端嵌入式系统中使用。
在设计中基于μC/OS-Ⅱ操作系统,同时编写了SPI通信驱动程序和串口通信驱动程序,其中SPI驱动程序用于和射频模块进行通信,串口驱动程序用于提供的串口配置功能。主控板软件工作流程如图4所示。

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

f.JPG


其中OSTaskCreate(taskStart,…)为μC/OS-Ⅱ操作系统第一个任务,在其中要进行目标板和TCP/IP的初始化,并建立通信处理任务taskNet、SPI通信处理任务taskSPI和串口通信处理任务taskUART,最后通过OSStart()启动μC/OS-Ⅱ内核。通信处理任务task Net启动LwIP协议栈,完成TCP和UDP相关通信服务;SPI通信处理任务taskSPI完成通过SPI总线与射频模块的通信;串口通信处理任务taskUART完成参数配置相关工作。
2.2 射频模块软件设计
射频模块软件设计是基于CC2530芯片,移植了TI公司的ZigBee协议栈Z-Stack,Z-Stack协议栈采用轮转查询式操作系统,包括系统初始化和操作系统的执行,系统初始化完成初始化硬件平台和软件架构所需要的各个模块,为操作系统的运行做好准备工作,系统初始化完成后,就开始执行操作系统入口程序。轮转查询式操作系统专门分配了存放所有任务事件的tasksEvents[]数组,每个单元对应存放着每一个任务的所有事件,操作系统通过一个do—while循环来遍历tasksEvents[],找到优先级最高的任务来处理,射频模块软件工作流程如图5所示。

g.JPG



评论


相关推荐

技术专区

关闭