一种网络数据采集控制系统及无线路由方法

文档序号:9353381阅读:472来源:国知局
一种网络数据采集控制系统及无线路由方法
【技术领域】
[0001] 本发明属于数据采集和控制技术领域,特别是一种网络数据采集控制系统及无线 路由方法。
【背景技术】
[0002] 目前,常用的工业现场数据采集和控制设备大多采用中低端的单片机作为控制 器,显示屏为小尺寸的LCD屏幕,且没有触摸功能。其缺点是:随着工业现场设备联网的需 求越来越多,中低端单片机很难满足复杂的网络功能;中低端单片机很难有一个用户体验 很好的人机界面;中低端单片机很难处理日益增多的现场设备数据。而采用嵌入式领域高 档的处理器和大尺寸触摸IXD屏,能很好的解决这些问题。同时,工业现场的无线传感网 络,通常采用zigbee,而zigbee在复杂的工业现场,往往数据传输和组网速率比较低,且不 开源。很多厂家都设计自己的协议栈,来进行组网。

【发明内容】

[0003] 本发明的目的是针对现有技术的不足,而提出一种网络数据采集控制系统及无线 路由方法。
[0004] 本发明解决其技术问题是采取以下技术方案实现的:
[0005] -种网络数据采集控制系统,该系统包括主板CPU及分别与主板CPU连接的WIFI 模块、联通3G模块、以太网卡、WSN汇聚节点模块、CAN控制器模块、RS485收发器模块、64路 AD转换模块及IXD触摸屏,通过CAN,RS485总线和工业现场进行数据交互,通过64路AD转 换模块获取无线传感网汇聚节点的数据,通过3G,WIFI,以太网三种方式与企业服务器进行 数据交互。
[0006] 而且,所述主板CPU具体采用ARM Cortex-A9内核的Exynos4412作为系统网关 的CPU,所述WIFI模块、联通3G模块、以太网卡、WSN汇聚节点模块、CAN控制器模块、RS485 收发器模块及64路AD转换模块具体采用的具体型号依次为:SWB-A31、UNA-1 ite、DM9621、 cc2530、Mcp2515、SN65HVD 及 AD7490。
[0007] 而且,64路AD转换模块包括一个MCU及与MCU连接的4个16通道ADC芯片 AD7490, MCU采用的具体型号为STM32F105RBT6, MCU通过4个SPI片选脚,2个SPI 口,实 现对4片ADC芯片的64路的采集时序控制,64路AD转换模块与主板CPU通过USB和UART 接口进行数据传输。
[0008] -种基于上述网络数据采集控制系统的无线路由方法,包括步骤如下:
[0009] (1)将整个无线传感网络分为一个汇聚节点和其余的传感节点;
[0010] (2)上电开机后,汇聚节点将自己的跳数值设为0,传感节点将自己的跳数值设为 最大值65535,最大值65535为无效跳数;
[0011] ⑶汇聚节点申请反向路由表内存,传感节点申请正向路由表内存和反向路由表 内存,路由表由一系列路由表项构成,正向路由表由目的地址是汇聚节点的路由表项构成, 反向路由表由目的地址是传感节点的路由表项构成,路由表的数据结构如下:
[0012]
[0013] 每一行表示1个路由表项,其中,下_一跳地址表示该节点发送数据到目的地址节 点,选择将该数据发送至该下一跳地址节点,由下一跳地址节点进行路由转发,跳数值表示 经过该下一跳地址节点路由转发总共需要的跳数,信号强度表示该节点到下一跳地址节点 的无线信号强度;
[0014] (4)传感节点延时一个1秒以内的随机数,启动路由发现进程,路由发现进程如 下:
[0015] ①传感节点以1秒为周期发送RREQ路由请求报文,RREQ路由请求报文数据格式 如下:
[0016]
[0017] 报文类型为0x00,目的地址为汇聚节点的地址0x0000,跳数值为本传感节点到汇 聚节点的跳数值,报文序列号为依次递增的整数;
[0018] ②汇聚节点收到RREQ路由请求报文后,回应RREP路由回复报文;
[0019] ③传感节点收到RREQ路由请求报文后,若本传感节点已经建立了到汇聚节点的 路由,到汇聚节点的正向路由表非空,则回应RREP路由回复报文;若本传感节点没有建立 到汇聚节点的正向路由,到汇聚节点的正向路由表为空,则不作任何处理;RREP路由回复 报文的数据格式如下:
[0020]
[0021] 报文类型为0x01,目的地址为RREQ报文的源传感节点的地址,跳数值为本传感节 点到汇聚节点的跳数值,报文序列号为依次递增的整数;
[0022] ④传感节点收到RREP路由回复报文后,若RREP路由回复报文的目的地址是本传 感节点,则作如下处理:
[0023] (a)若RREP路由回复报文中的跳数值大于等于本传感节点的跳数值,则不做任何 处理;
[0024] (b)若RREP路由回复报文中的跳数值加1等于本传感节点的跳数值,则将RREP路 由回复报文的源节点地址作为本传感节点到汇聚节点的路由节点,若到汇聚节点的正向路 由表中没有这个路由表项,则加入该路由表项到正向路由表中;
[0025] (c)若RREP路由回复报文中的跳数值加1小于本传感节点的跳数值,则清空到汇 聚节点的正向路由表,将RREP路由回复报文的源节点地址作为本传感节点到汇聚节点的 路由节点,加入该路由表项到正向路由表中,且将本传感节点的跳数值设置为等于RREP路 由回复报文中的跳数值加1 ;
[0026] (5)传感节点结束路由发现进程,进入数据传输进程,数据传输进程过程如下:
[0027] ①传感节点传输NDATA数据报文至汇聚节点时,先查询正向路由表中是否有路由 表项,若不存在到汇聚节点的路由表项,则重新启动路由发现进程;若存在到汇聚节点的路 由表项,则在到汇聚节点的正向路由表中选择一个信号强度最好的路由表项,将NDATA数 据报文发往该路由表项的路由传感节点,NDATA数据报文的数据格式为:
[0028]
[0029] 报文类型为0x10,目的地址为汇聚节点地址0x0000,源地址为该传感节点的地 址,下一跳地址为正向路由表中信号强度最好的路由表项中的下一跳路由传感节点的地 址,
[0030] ②传感节点在发送NDATA数据报文时,启动超时定时器,若在定时器溢出时,还未 收到路由传感节点的NDATA_ACK数据ACK报文确认,则重传该NDATA数据报文,若重传3次, 仍没有收到路由传感节点的NDATA_ACK数据ACK报文确认,则认为该路由已经损坏,删除该 路由表项;
[0031 ] ③若传感节点依次尝试完正向路由表中所有路由项均失败,则启动路由修复进 程;
[0032] ④传感节点收到NDATA数据报文后,若该NDATA数据报文的下一跳地址为本传感 节点地址,则回应NDATA_ACK数据ACK报文,转发该NDATA数据报文至正向路由表中信号最 强的路由表项中的路由传感节点,若收到重复的NDATA数据报文,不做转发,但仍然需要回 应NDATA_ACK数据ACK报文,转发NDATA数据报文仍然需要步骤(5)中②的超时重发机制 和步骤(5)中③的判断,NDATA_ACK数据ACK报文的数据格式为:
[0033]
[0034] 报文类型为0x11,目的地址为发送NDATA报文的传感节点的地址;
[0035] ⑤在步骤(5)的④步中,传感节点收到NDATA数据报文后,若该NDATA数据报文 的下一跳地址为本传感节点地址,则根据NDATA数据报文的内容,记录反向路由表项,将 NDATA数据报文中的源地址作为反向路由表项的目的地址,将转发NDATA数据报文的传感 节点的地址作为下一跳路由传感节点地址;
[0036] (6)若传感节点没有任何
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1