0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于CC2530F256芯片和WiFi协议栈实现双模无线网关的设计方案

电子设计 来源:电子工程网 作者:电子工程网 2021-06-29 14:53 次阅读

基于IEEE802.15.4标准的ZigBee协议具有自组织、稳定性好、抗干扰性强、功耗低等优点,主要应用于农业、工业检测、军事和医疗等方面。但其控制中心多是PC,不能适应野外等特殊环境。WiFi作为一种越来越普及的无线通信技术,凭借覆盖范围广、无需布线等优点,广泛存在于人们的生产生活中。以此提出一种适应于复杂环境的双模无线网关设计方案,具有良好的应用性和前瞻性。

1 系统总体结构

系统由ZigBee模块、开发板模块和WiFi模块组成。ZigBee模块中,Coordinator作为ZigBee网络的中心节点,负责控制和监测ZigBee路由节点,每一个路由节点携带一个传感器,负责把传感器采集的数据发送给Coordinator。开发板模块作为协议转换的枢纽,用于解析 Coordinator传输的数据。WiFi模块,将开发板解析的数据封装成WiFi帧。这样就实现双模无线网关的转换,系统结构如图1所示。

图1 系统总体结构

2 无线网关的设计

2.1 ZigBee数据流分析

ZB253002模块是基于CC2530F256芯片,执行ZigBee2007/PRO协议的 ZigBee模块,它具有ZigBee协议的全部特点。其主要的特点:

①自动组网。所有的模块通电即自动组网,协调器(Coordinator)自动给所有的节点分配地址,不需要用户手动分配地址,网络加入、应答等专业ZigBee组网流程。

②简单数据传输。ZB253002模块可以理解为“无线的 RS232 连接”,通过串行端口即可在任意节点间进行数据传输。ZigBee模块有两种数据的传输方式:数据透明传输,只要传送的第一个字节不是0xFE、0xFD 或0xFC,则自动进入数据透明传输方式;点对点的数据传输方式,数据传输的格式为0xFD(数据传输命令)+ 0x0A(数据长度)+(目标地址)+(数据)。由协调节点传输给开发板的数据添加以0xFE开头的15字节的节点信息,用来提供给 TI Sensor Monitor,观察网络结构。

Zigbee模块设置命令表如表1所列。

表1 Zigbee模块设置命令表

2.2 通信协调器的设计

Coordinator是整个网关转换和无线传感器网络建立的中心,是数据传输的中心枢纽。因此,Coordinator的设计关系到整个系统的稳定性和可靠性。Coordinator CC2530采用ZigBee2007协议栈。ZStack是TI公司提供的一种轮询式操作系统,借助于Z-Stack,Coordinator上电后,首先进行硬件和网络初始化,然后创建3个任务:①ZigBee网络任务,该任务通过Coordinator与其子节点的“绑定”完成。其绑定的过程,协调器建立网络,创建绑定表,并设定允许绑定模式,子节点发送绑定请求,Coordinator更新绑定表并响应子节点。②串口协议解析任务,该任务用于解析来自开发板和子节点的数据,并将解析后的数据传输给子节点任务或发送给开发板。③子节点任务,该任务主要用于接收子节点返回的数据,并将数据传输给串口协议解析任务。这样ZigBee协议帧的解析就转到开发板端,由Linux操作系统完成,Linux解析完成后,将有效的数据放入指定的共享内存。当 BOA收到外部Web请求,调用相应的CGI获取共享内存中的数据,并经由无线网卡以WiFi的形式传送给用户。

2.3 传输协议的实现

本设计经由Linux操作系统完成ZigBee协议的解析和WiFi协议帧的形成,主要的重点在于Coordinator与Linux串口传输协议的设计。串口传输协议自定义帧格式如下:

串口传输协议自定义帧格式

自定义帧的格式由帧头、功能号、有效数据长度、有效数据和FCS校验5部分组成。帧头定义为0x02;功能号因获取的数据类型不同而异,有关帧格式功能码定义如表2所列;有效数据长度用于标识读取有效数据的长度范围,最大值为255;有效数据存放ZigBee协议帧;FCS校验用于数据段的校验。

表2 协议帧功能码

根据设计中的自定义帧格式,报文中的有效数据被封装成固定格式,通过串口进行传送。开发板和Coordinator通过监听串口数据分别对收到得数据包进行解析。解析流程(以Coordinator为例)如图2所示,具体解析过程如下。

Step1:Coordinator监听串口(以中断的方式),直到串口有数据。

Step2:读取一个字节,判定是否为自定义帧头。若不是,丢弃数据,回到Step1。

Step3:读取两个字节,匹配功能码。匹配失败,置错误标志位,丢弃数据,回到Step1。

Step4:读取一个字节,若该字节数据为0,则直接跳到Step6。

Step5:若读到的数据值为N(0 Step6:读取两个自己数据,对Step1~5读到得数据FCS校验,若无差错,发送N个字节的有效数据给Z-Stack协议栈,由ZStack协议栈发送给子节点。回到Step1。

Step7:若FCS校验错误,置错误标志位,丢弃已读数据,回到Step1。

图2 串口协议解析流程图

3 系统软件设计

3.1 系统软件架构

无线网关软件采用模块化设计,如图3所示,由硬件驱动层、操作系统、网络协议层和应用程序组成。硬件驱动层主要描述网关节点中ZigBee模块、 WiFi模块以及其他外设的一些驱动;操作系统层移植ARM Linux,添加无线网卡驱动模块;网络协议层主要包括ZigBee协议栈和WiFi协议栈;应用程序层主要移植了嵌入式Web服务器(BOA)、嵌入式数据库(Sqlite)、CGIC库和图形化用户界面(Qt)。

图3 系统软件架构图

3.2 系统软件流程

根据系统软件架构图,系统软件数据流详细设计如图4所示。

图4 系统数据流图

以ZigBee终端节点发送至异地终端浏览器的数据为例,介绍数据传送的整个过程。当ZigBee协调器接收到来自ZigBee终端节点的数据后,封装成自定义帧的格式经由串口传送给Linux传输协议,经协议解析,将有效数据写入共享内存。当收到外部Web请求时,Web服务器通过CGI实时获取共享内存中的数据,并动态更新网页,经由WiFi无线网卡以无线的形式传送至终端浏览器。

3.3 测试与验证

利用嵌入式技术对两种协议进行解析,完成协议转换,最终利用手机通过WiFi远程访问Web页面,读取ZigBee终端传感器数据,并对ZigBee终端的小灯开关进行远程控制,实现双模网关的基本功能。实验结果如图5所示。

图5 实验结果图

结语

本文通过分析ZigBee与WiFi协议栈的特点,提出了一种双模无线网关转换的方案,该方案可以很好地完成ZigBee组网、远程数据采集和远程控制等任务。实验结果表明,基于ZigBee和WiFi的双模网关切实可行,可以实现全无线网络的组建,为网络通信从有线向无线过渡提供了一种解决方案。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    452

    文章

    50199

    浏览量

    420723
  • 无线
    +关注

    关注

    31

    文章

    5417

    浏览量

    172959
  • WIFI
    +关注

    关注

    81

    文章

    5279

    浏览量

    203061
收藏 人收藏

    评论

    相关推荐

    ZigBee与WiFi双模无线网关设计方案解析

    通过分析ZigBee和WiFi协议,结合嵌入式技术,提出了一种实现双模无线网关方案。借助于Zi
    发表于 09-30 10:10 1.8w次阅读

    cc2530 Zigbee 智能家居无线网路传感器节点设计

    本帖最后由 冒汗的心情 于 2016-3-9 09:50 编辑 cc2530 Zigbee 智能家居无线网路传感器节点 为了对智能家居实现无线智能控制、环境实时监测等的需求,用
    发表于 03-08 10:53

    【海尔U+智能WIFI模块试用申请】基于ZigBee和WiFi双模网关设计

    和监测 ZigBee路由节点,每一个路由节点携带一个传感器,负责把传感器采集的数据发送给Coordinator。开发板模块作为协议转换的枢纽,用于解析 Coordinator传输的数据。WiFi模块,将开发板解析的数据封装成WiFi
    发表于 08-03 18:19

    CC2530F256RHAR 无线收发器芯片

    结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其他强大的功能。CC2530 有不同的闪存版本:CC2530F256/128,分别
    发表于 10-18 10:27

    关于CC2530F256 的内存分配问题

    各位大师:大家好!第一次发帖,请多多包涵。本人最近在做一个项目:利用CC2530F256芯片进行开发,其中要求功能之一为对射频芯片的IEEE地址进行软件修改,即对flash的write操作;看了许多
    发表于 08-08 07:49

    CC2530F256RHAR 无线收发器芯片

    结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其他强大的功能。CC2530 有不同的闪存版本:CC2530F256/128,分别
    发表于 02-15 17:27

    CC2530F256RHAR 无线收发器芯片

    结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其他强大的功能。CC2530 有不同的闪存版本:CC2530F256/128,分别
    发表于 03-23 11:04

    分享一款不错的基于ZigBee和WiFi双模网关设计方案

    本文通过分析ZigBee与WiFi协议的特点,提出了一种双模无线网关转换的方案,该
    发表于 05-24 06:37

    CC2530F256RHAR 无线收发器芯片 ZigBee 解决方案

    CC2530F256/128,分别具有 256/128KB 的闪存。具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短进一步确保了低能源消耗。CC2530F256 结合了德州仪器
    发表于 10-11 15:07

    zigbee网关与zigbee模块怎么进行通信配置?? zigbee网关是什么

    领域。如何将ZigBee网络与以太网、WiFi网络连接,实现便携式设备(如手机、平板电脑等)对小型区域的实时监控?本文提出了一种基于Android系统的ZigBee无线网关设计方案。 
    发表于 12-08 15:59

    基于ZigBee和以太网的无线网关设计

    本文给出了结合ZigBee 和以太网的网关硬件设计方案,利用CC2430 和RTL8019 芯片进行无线网关的硬件电路设计,同时提出一种网络
    发表于 10-08 14:11 2500次阅读
    基于ZigBee和以太网的<b class='flag-5'>无线网关</b>设计

    cc2530 不跑协议无线收发程序下载

    cc2530 不跑协议无线收发程序。支持每秒最大六千字节传送,传送需要配合自身硬件测试。
    发表于 03-27 15:46 9次下载

    片上系统SoC芯片CC2530F256数据手册

    8051 MCU的领先射频收发器具有优异的性能可编程闪存、8-KB RAM和许多其他强大功能。CC2530有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/
    发表于 07-21 15:32 3次下载

    CC2530 芯片介绍

    源消耗。 CC2530F256 结合了德州仪器的业界领先的黄金单元ZigBee 协议(Z-Stack™),提供了一个强大和完整的ZigBee 解决方案
    发表于 01-03 11:00 3685次阅读

    stm32f4ZG 和 cc2530f256的移植教程

    在嵌入式中printf 这种功能强大的函数可谓是c语言库函数的中的一股清流!也就是太好用了吧!今天分享的例程有 stm32f4ZG 和 cc2530f256,这个两款芯片的移植例程和移植教程!相信你
    的头像 发表于 06-22 11:47 1252次阅读
    stm32<b class='flag-5'>f</b>4ZG 和 <b class='flag-5'>cc2530f256</b>的移植教程