一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于TDMA的2.4G网络通信系统及方法与流程

2023-01-02 14:41:23 来源:中国专利 TAG:

一种基于tdma的2.4g网络通信系统及方法
技术领域
1.本发明属于网络通信技术领域,具体而言,涉及一种基于tdma的2.4g网络通信系统及方法。


背景技术:

2.2.4ghz是一个ism (industrial scientific medical,工业、科学、医疗)频段。在城市环境下,发射功率不能超过 100mw。无线局域网(ieee 802.11b/ieee 802.11g)、蓝牙、zigbee 等无线网络,均可工作在 2.4ghz 频段上。
3.在多节点组网和通信的情况下,信道通信容易出现冲突,通信系统可靠性差,同时无法检测网络中节点的在线情况。


技术实现要素:

4.为了解决上述技术问题,本发明提供一种基于tdma的2.4g网络通信系统及方法。
5.第一方面,本发明提供一种基于tdma的2.4g网络通信系统,包括:中心节点与若干终端节点;所述中心节点,用于建立网路,按照所述终端节点入网顺序分配网络中各个所述终端节点的设备id,确定各个所述终端节点的通信时隙,同时监控网络中所有所述终端节点的在线状态;所述中心节点设置有设备id表与第一无线数据发送缓冲区;所述设备id表用于储存加入网络的设备节点信息;所述第一无线数据发送缓冲区用于储存串口透传数据与心跳数据;所述终端节点设置有第二无线数据发送缓冲区与扫描单元;所述终端节点上电后,所述扫描单元扫描所述中心节点的网络并周期性向所述中心节点发送请求进行入网;入网后,各个所述终端节点在各自的通信时隙进行心跳检测;所述中心节点周期性发送同步广播帧数据,所有所述终端节点接收到所述同步广播帧数据后同步时钟,更新所述设备节点信息。
6.第二方面,本发明提供一种基于tdma的2.4g网络通信方法,包括:中心节点建立网路,按照终端节点入网顺序分配网络中各个所述终端节点的设备id,确定各个所述终端节点的通信时隙,同时监控网络中所有所述终端节点的在线状态;所述设备id表储存加入网络的设备节点信息;所述中心节点设置有第一无线数据发送缓冲区;所述第一无线数据发送缓冲区储存串口透传数据与心跳数据;所述终端节点设置有第二无线数据发送缓冲区与扫描单元;所述终端节点上电后,扫描所述中心节点的网络并周期性向所述中心节点发送请求进行入网;入网后,各个所述终端节点在各自的通信时隙进行心跳检测;所述中心节点周期性发送同步广播帧数据,所有所述终端节点接收到所述同步广
播帧数据后同步时钟,更新所述设备id表。
7.本发明的有益效果是:本发明通过时分多址原理把网络中的所有节点分成若干周期进行通信,在多节点组网和通信的情况下,避免信道冲突,提高通信的可靠性,同时中心节点可以快速并稳定的检测网络中节点的在线情况。
8.在上述技术方案的基础上,本发明还可以做如下改进。
9.进一步,所述中心节点进行串口透传数据透传时,所述中心节点将所述串口透传数据存放在所述第一无线数据发送缓冲区,当所述中心节点的广播时隙到来时,发送所述第一无线数据发送缓冲区的所述串口透传数据;所述终端节点进行串口透传数据透传时,所述终端节点将所述串口透传数据存放在所述第二无线数据发送缓冲区中;当所述终端节点接收到所述同步广播帧数据时,发送所述第二无线数据发送缓冲区中的所述串口透传数据。
10.进一步,所述终端节点入网的流程包括:所述中心节点上电,判断所述中心节点的flash存储器是否保存网络信息,若已保存网络信息,则恢复已保存的网络;否则,若没有保存则新建一个网络;所述终端节点上电,判断所述终端节点的flash存储器是否保存网络信息,若是,则所述终端节点以第一周期周期性的发送网络恢复请求,若所述中心节点在线且处于空闲状态,并且所述中心节点的设备id表内存还有空间,则向所述终端节点回复网络请求成功,同时将所述设备id表中对应的所述终端节点的网络状态更新为在线状态,所述终端节点接收到所述中心节点的回复后,恢复网络状态,网络状态为在线状态;否则,若所述终端节点没有保存网络信息,则所述终端节点以第一周期周期性发送入网请求,若所述中心节点在线且处于空闲状态,并且所述中心节点的所述设备id表内存还有空间,则所述中心节点向所述终端节点响应,允许入网,所述终端节点发送自己的mac地址向所述中心节点申请设备id;所述中心节点根据所述终端节点的入网顺序分配一个设备id,并把所述设备id和所述网络信息发送给所述终端节点,同时把所述终端节点的设备id和mac地址储存到设备id表中,所述终端节点接收到分配的设备id,则入网成功,同时把设备id和所述网络信息存储在所述终端节点的flash存储器中。
11.进一步,所述中心节点发送同步广播帧数据的周期的值等于加入网络的所述终端节点数量与每个所述终端节点的通信时隙的乘积。
12.进一步,所述终端节点上电,以第一周期发送入网请求帧扫描所述中心节点,若接收到所述中心节点的响应则停止发送入网请求帧,若发送次数大于设定次数则停止发送入网请求帧,所述中心节点没有在线,所述终端节点入网失败。
13.进一步,所述中心节点向所述终端节点发送所述串口透传数据进行数据透传时,所述串口透传数据包括目标地址;所述目标地址为设备id。
14.进一步,所述心跳检测包括:所述中心节点配网,设置加入网络的所述终端节点的数量;所述终端节点依次上电入网,所述中心节点依次为所述终端节点分配设备id;当所述终端节点加入网络后,所述中心节点周期性的发送所述第一无线数据发送缓冲区的数据至所述终端节点;网络中的所述终端节点接收到所述第一无线数据发送缓冲区的数据后,同步本地
定时器,依次定时广播发送所述第二无线数据发送缓冲区的数据;所述中心节点在接收到所述第二无线数据发送缓冲区的数据后,判断设备id表中的所述终端节点是否都广播所述第一无线数据发送缓冲区的数据;若所述中心节点在该周期内检测到任一所述终端节点没有广播所述第二无线数据发送缓冲区的数据,则该所述终端节点已经掉线,串口输出该所述终端节点的掉线信息,同时更新设备id表中该所述终端节点在线状态为掉线状态;若所述终端节点在该周期内没有接受到所述中心节点的所述第一无线数据发送缓冲区的数据,则该所述终端节点检测到自己从网络中掉线。
15.进一步,所述设备节点信息包括设备id、网络中所述终端节点的在线状态与设备全球唯一的mac物理地址。
附图说明
16.图1为本发明实施例1提供的中心节点中终端节点的设备id表;图2为本发明实施例1中网络节点的通信时隙的示意图;图3为本发明实施例1中终端节点入网流程图;图4为本发明实施例1中心跳检测过程的流程图;图5为本发明实施例1中增加终端节点数量的心跳检测过程的流程图;图6为本发明实施例1中中心节点间的串口透传数据发送流程图;图7为本发明实施例1中终端节点的串口透传数据发送流程图;图8为本发明实施例2中一种基于tdma的2.4g网络通信方法的流程图。
具体实施方式
17.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
18.实施例1作为一个实施例,为解决上述技术问题,本实施例提供一种基于tdma(time division multiple access,时分多址)的2.4g网络通信系统,包括:中心节点与若干终端节点;中心节点,用于建立网路,按照终端节点入网顺序分配网络中各个终端节点的设备id,确定各个终端节点的通信时隙,同时监控网络中所有终端节点的在线状态;中心节点设置有设备id表与第一无线数据发送缓冲区;设备id表用于储存加入网络的设备节点信息;第一无线数据发送缓冲区用于储存串口透传数据与心跳数据;终端节点设置有第二无线数据发送缓冲区与扫描单元;终端节点上电后,扫描单元扫描中心节点的网络并周期性向中心节点发送请求进行入网;入网后,各个终端节点在各自的通信时隙进行心跳检测;中心节点周期性发送同步广播帧数据,所有终端节点接收到同步广播帧数据后同步时钟,更新设备节点信息。
19.本发明通过时分多址原理把网络中的所有节点分成若干周期进行通信,在多节点组网和通信的情况下,避免信道冲突,提高通信的可靠性,同时中心节点可以快速并稳定的检测网络中节点的在线情况。
20.在实际应用过程中,设备id表中,中心节点的设备id恒为0。如附图1所示中心节点中终端节点的设备id表,终端节点的设备id入网后由中心节点来分配,终端节点的设备id值从1开始按照入网顺序排列,例如第一个入网的终端节点的设备id为1,第二个入网的终端节点的设备id为2,依次类推,设备id值决定了网络中的所有终端节点的通信时隙,保证每一个终端节点在自己的时隙通信,不会出现信道冲突的情况。
21.终端节点网络扫描周期t1和最大扫描次数m1,每当终端节点上电后会以周期t1进行扫描当前环境存在的网络,最大扫描m1次直到扫描到c节点网络进行请求入网,如果执行最大m1次扫描都没有发现网络则停止扫描节约功耗。
22.设中心节点中第一无线数据发送缓冲区为buffer0,当有串口透传数据到来时,buffer0中储存串口透传数据,当没有串口透传数据到来时,中心节点发送同步广播帧以周期t2进行广播,网络中所有终端节点接收到数据的同步时钟,网络中所有终端节点的时钟保持一致。
23.在实际应用过程中,m1、t1和t2的值可以根据不同的应用进行配置修改。
24.设终端节点的第二无线数据发送缓冲区为buffer1,用来储存无线发送的数据,当有串口透传数据到来时buffer1中储存透传数据,当没有串口透传数据到来时buffer1中储存的是心跳数据,当终端节点接收到中心节点同步广播帧后,延时设备id*5ms时间把buffer1中的数据发送出去。
25.可选的,中心节点进行串口透传数据透传时,中心节点将串口透传数据存放在第一无线数据发送缓冲区,当中心节点的广播时隙到来时,发送第一无线数据发送缓冲区的串口透传数据;终端节点进行串口透传数据透传时,终端节点将串口透传数据存放在第二无线数据发送缓冲区中;当终端节点接收到同步广播帧数据时,发送第二无线数据发送缓冲区中的串口透传数据。
26.可选的,如附图3所示,终端节点入网的流程包括:中心节点上电,判断中心节点的flash(flash eeprom memory,闪存)存储器是否保存网络信息,若已保存网络信息,则恢复已保存的网络;否则,若没有保存则新建一个网络;网络信息包括2.4g网络信道:2405mhz(11信道)~2480mhz(26信道)。
27.终端节点上电,判断终端节点的flash存储器是否保存网络信息,若是,则终端节点以第一周期周期性的发送网络恢复请求,若中心节点在线且处于空闲状态,并且中心节点的设备id表内存还有空间,则向终端节点回复网络请求成功,同时将设备id表中对应的终端节点的网络状态更新为在线状态,终端节点接收到中心节点的回复后,恢复网络状态,网络状态为在线状态;否则,若终端节点没有保存网络信息,则终端节点以第一周期周期性发送入网请求,若中心节点在线且处于空闲状态,并且中心节点的设备id表内存还有空间,则设备id表中向终端节点响应,允许入网;终端节点发送自己的mac地址(media access control address,媒体存取控制位址)向中心节点申请设备id,中心节点根据终端节点的入网顺序分配一个设备id,并把设备id和网络信息发送给终端节点,同时把终端节点的设备id和mac
地址储存到设备id表中,终端节点接收到分配的设备id,则入网成功,同时把设备id和网络信息存储在终端节点的flash存储器中。
28.可选的,中心节点发送同步广播帧周期的值等于加入网络的终端节点数量与每个终端节点的通信时隙的乘积。在实际应用过程中,如附图2所示网络节点的通信时隙的示意图,其中c为中心节点,e1、e2、e3、e4、e5、e6、e7、e8、e9为终端节点,每个终端节点的通信时隙为5ms,中心节点发送同步广播帧周期为t2,则t2=5ms*最大设备id。所述中心节点的广播周期t2,t2的值等于加入网络的终端节点数量*5ms,buffer0的数据延时t2进行发送,例如:加入网络的终端节点数量为100,则500ms周期广播。
29.可选的,终端节点上电,以第一周期发送入网请求帧扫描中心节点,若接收到中心节点的响应则停止发送入网请求帧,若发送次数大于设定次数则停止发送入网请求帧,中心节点没有在线,终端节点入网失败。
30.可选的,中心节点向终端节点发送串口透传数据进行数据透传时,串口透传数据包括目标地址;目标地址为设备id。具体的,中心节点向终端节点发送透传数据,串口透传数据储存到buffer0中,数据带目标地址,目标地址为十六进制ff则发送给所有设备,目标地址为设备id,则发送给指定设备。同理终端节点向中心节点发送数据,串口透传数据储存到buffer1中,数据带目标地址,目标地址为十六进制ff则发送给所有设备,目标地址为设备id,则发送给指定设备。
31.可选的,如附图4所示,各个终端节点在各自的通信时隙进行心跳检测,心跳检测过程包括:中心节点配网,设置加入网络的终端节点的数量n1;终端节点依次上电入网,中心节点依次为终端节点分配设备id从1到n1;当第n1个终端节点加入网络后,中心节点周期性(周期t2 为n1*5ms)发送第一无线数据发送缓冲区的数据至终端节点;网络中的终端节点接收到第一无线数据发送缓冲区buffer0中的数据后,同步本地定时器,依次定时(5ms*设备id时间)广播发送第二无线数据发送缓冲区buffer1中的数据;中心节点在接收到第二无线数据发送缓冲区buffer1中的数据后,判断设备id表中的终端节点是否都广播第二无线数据发送缓冲区buffer1中的数据;若中心节点在该周期内检测到任一终端节点没有广播第二无线数据发送缓冲区的数据,则该终端节点已经掉线,串口输出该终端节点的掉线信息,同时更新设备id表中该终端节点在线状态为掉线状态;若终端节点在该周期内没有接受到中心节点的第一无线数据发送缓冲区的数据,则该终端节点检测到自己从网络中掉线。
32.此外,如附图5所示,若在已经配对好的网络基础上增加终端节点数量,加入新的终端节点。则修改中心节点网络的终端节点数量为n2,中心节点停止广播buffer0,等待新的终端节点入网;新的终端节点依次上电入网,中心节点依次分配设备id 从n1 1到n2,当最后一个终端节点加入网络后,中心节点以t2周期(n2*5ms)广播buffer0中的数据。
33.具体的,中心节点建立网络后,当有终端节点加入到网络中同时保存到设备id表后,则启动定时器定时t2的周期广播buffer0中的数据。终端节点接收到中心节点广播的
buffer0中的数据后,定时器实现时间同步,目的让网络中所有节点的时间保持一致,定时器定时设备id*5ms发送buffer1中的数据。中心节点在t2周期内判断是否接收到终端节点buffer1数据,若有接收到则终端节点在线,若没有接收到则中心节点会反馈网络中有终端节点掉线。同理终端节点也会在t2周期内判断是否接收到中心节点的buffer0数据,接收到则在线,没有接收到则掉线。
34.可选的,设备节点信息包括设备id、网络中终端节点的在线状态与设备全球唯一的mac物理地址。
35.如附图6所示,中心节点间的串口透传数据发送流程,包括:中心节点接收到串口透传数据时,把串口透传数据存放到buffer0中,数据中携带源设备id和目标设备id,设0xff则表示发送给其他所有节点,1~n2则表示发送给指定(设备id为1~n2)的终端节点;中心节点的buffer0的数据广播周期t2到来时,buffer0中的数据广播发送;当终端节点接收到buffer0的数据,检测到自己网络在线,同时判断buffer0中的数据是否是串口透传数据,若是则进一步判断目标设备id是不是自己,若是自己则把buffer0中的数据通过串口透传出去。
36.如附图7所示,终端节点的串口透传数据发送流程,包括:终端节点接收到串口透传数据时,把透传数据存放到buffer1中,数据中携带源设备id和目标设备id,0xff则表示发送给其他所有节点,1到n2则表示发送给指定的终端节点,0表示发送给中心节点;终端节点的数据发送时隙到来时,buffer1中的数据广播发送;当终端节点接收到buffer1中的数据时,判断buffer1中的数据是否是串口透传数据,若是则进一步判断目标设备id是不是自己的设备id,若是则把数据通过串口透传出去;当中心节点接收到buffer1中的数据时,检测到发送buffer1中的数据的终端节点在线,同时判断buffer1中的数据是否是串口透传数据,若是则进一步判断目标设备id是不是自己的设备id,若是自己的设备id,则把数据通过串口透传出去。
37.实施例2基于与本发明的实施例1中所示的系统相同的原理,本发明的实施例中还提供了一种基于tdma的2.4g网络通信方法,包括:中心节点建立网路,按照终端节点入网顺序分配网络中各个终端节点的设备id,确定各个终端节点的通信时隙,同时监控网络中所有终端节点的在线状态;设备id表储存加入网络的设备节点信息;中心节点设置有第一无线数据发送缓冲区;第一无线数据发送缓冲区储存串口透传数据与心跳数据;终端节点设置有第二无线数据发送缓冲区与扫描单元;终端节点上电后,扫描中心节点的网络并周期性向中心节点发送请求进行入网;入网后,各个终端节点在各自的通信时隙进行心跳检测;中心节点周期性发送同步广播帧数据,所有终端节点接收到同步广播帧数据后同步时钟,更新设备id表。
38.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人
员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献