基于网络编码的二线系统设备间通信方法与流程

专利2023-01-21  94



1.本发明涉及数据通信领域。更具体地说,本发明涉及一种基于网络编码的二线系统设备间通信方法。


背景技术:

2.1-wire单总线协议是一种总线标准,线的数量少是其特点:除了地线外只用一根物理线既传输时钟,也传输数据。1-wire适用于单主机系统,能够控制一个或多个从机设备。主机设备可以是微控制器,从机设备可以是单总线器件。1-wire协议支持主设备与从设备之间通信但不直接支持从设备间通信,如果要将其中一个从设备的信息传输给另一个从设备,按标准1wire操作过程需要进行6次通信,以图2为例,c为主设备,a与b作为从设备,其交互流程包括:
3.s11,主设备发送复位信号,在此期间主设备判断是否有从设备挂在当前总线上;
4.s12,进行总线读操作,主设备c从总线读取从设备a发来的数据(a,α1);
5.s13,进行总线写操作,主设备c向从设备b写入数据,从设备b接收到数据α1;
6.s14,主设备发送复位信号,在此期间主设备判断是否有从设备挂在当前总线上;
7.s15,进行总线读操作,主设备c从总线读取从设备b发来的数据(b,β1);
8.s16,进行总线写操作,主设备c向从设备a写入数据,从设备a接收到数据β1。
9.图2交互流程中的交互内容包括:
10.1:由主设备c发出的查询从机a的数据,包括命令码以及a的设备id:
11.101000011100000100101111001100010110110000010010110011000001110100101101;
12.2:由从设备a发出的回复主机c的数据,包括命令码以及a的设备id以及要传输的数据包:
13.10100011110000010010111100110001011011000001001011001100000111010010110110110010010000001110011101111101110111001010001110111011010001110100110010011101;
14.3:由主设备c发出的查询从机b的数据,包括命令码以及b的设备id:
15.1010000111000010101101011101010011010101011001011110001111110010 00011101;
16.4:由从设备b发出的回复主机c的数据,包括命令码以及b的设备id以及要传输的数据包:
17.10100011110000101011010111010100110101010110010111100011111100100001110110110010010000001111101110010110110101101000101000110010011101010100010100000000;
18.5:由主机c发出的向从设备b写入从设备a发来的数据,包括命令码以及b的从设备id以及数据包:
19.10100010110000101011010111010100110101010110010111100011111100100001110110110001010000001110011101111101110111001010001110111011010001110100110010011101;
20.6:由主机c发出的向从设备a写入从设备b发来的数据,包括命令码以及a的从设备id以及数据包:
21.10100010110000010010111100110001011011000001001011001100000111010010110110110001010000001111101110010110110101101000101000110010011101010100010100000000。
22.由上述可知,标准单总线数据传输资源结构简单,但是这种结构在设备间传输的数据信息单一,增加了网络通信的时间成本,增加了传输的数据量,使效率和速度受到限制。
23.而网络编码是信息理论中的一套编码理论,它提出了数据在网络传输中可以通过中间节点进行处理而带来额外增益,其“蝴蝶网络”模型阐述了网络编码的基本原理。图1为网络编码中的“蝴蝶网络”模型。如图1所示,点s是信源节点,y和z是信宿节点,其余为中间节点。传统路由传输在节点w处会在收到的信息b1和b2间选择一个进行转发,这使得网络的吞吐量较小,且影响带宽利用率。


技术实现要素:

24.本发明的一个目的是解决至少上述问题和/或缺陷,并提供至少后面将说明的优点。
25.为了实现根据本发明的这些目的和其它优点,提供了一种基于网络编码的二线系统设备间通信方法,在单总线的网络通信中,主设备通过在传输数据的头部位置设置相应的第一标志位,以对各从设备进行区分,包括:
26.步骤一,主设备向从设备发送带第一标志位的查询信号,从设备收到查询信息在向主设备进行数据回复,并对自己发送的报文数据以及自身地址信息进行保存;
27.步骤二,主设备分别读取从设备发送的数据,并向各从设备发送带第二标志位的广播数据,各从设备将收到的带第二标志位广播数据与自身存储的数据进行网络演算处理,以得到从设备之间互相交互的数据;
28.其中,在步骤二中,主设备在读取到从设备需要交互的数据后,先对各从设备和各回复数据分别进行前期的网络演算处理,以便位于接收端的从设备从广播数据中识别位于发送端的从设备地址信息和报文数据。
29.优选的是,在步骤二中,所述网络演算处理被配置为采用异或运算。
30.优选的是,在步骤一中,主设备在每次采用总线进行数据通信时,都先发送复位用的查询信号以判断当前是否有从设备挂在总线上。
31.本发明至少包括以下有益效果:本发明在主设备和从设备通信的基础上,进一步实现了基于网络编码方法的从设备和从设备通信,最终实现1wire中任意两个设备进行通信。本方法相比标准1wire操作过程减少了交互次数,节省了传输数据量,提高了通信效率。且对比传统路由传输,网络编码提升了网络的吞吐量,提高了带宽利用率。
32.本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本
发明的研究和实践而为本领域的技术人员所理解。
附图说明
33.图1为本发明网络编码中的“蝴蝶网络”模型;
34.图2为现有技术中单总线数据标准交互流程;
35.图3为本发明利用网络编码改进后的单总线数据交互流程。
具体实施方式
36.下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
37.本发明在主设备和从设备通信的基础上,进一步实现了基于网络编码方法的从设备和从设备通信,最终实现1wire中任意两个设备进行通信。本方法相比标准1wire操作过程减少了交互次数,节省了传输数据量,提高了通信效率。
38.本发明网络编码中的“蝴蝶网络”模型如图1所示,点s是信源节点,y和z是信宿节点,其余为中间节点。点w执行存储和转发操作,并对输入的信息进行模二加(异或)操作,然后将操作结果发送至输出链路wx,然后又通过链路xy和xz,最终到达信宿y和z。传统路由传输在节点w处会在收到的信息b1和b2间选择一个进行转发,而采用网络编码技术在w节点处会将收到的信息b1以及b2进行异或运算得到b1

b2,在节点y处将收到的信息(b1

b2、b1)进行异或操作就能得到b2。在节点z处将收到的信息(b1

b2、b2)进行异或操作就能得到b1。对比传统路由传输,网络编码提升了网络的吞吐量,提高了带宽利用率。网络编码支持异或运算(b1

b2)

b1=b2((b1

b2)

b2=b1。
39.利用网络编码改进后的单总线数据交互流程如图3所示,利用网络演算进行改进后传输效率将增加。在图3中g为主设备,d与e作为从设备,为了实现在特定设备间通信,在传输数据中添加一个标志位在传输数据的头部位置,当主设备g与从设备e通信时标志位的数据为0x81,当e收到此标志位,会回复数据给g并且将自己发送的数据进行存储。当主设备g与从设备f通信时标志位的数据为0x91,当f收到此标志位,会回复数据给g并且将自己发送的数据进行存储。当g发送广播数据时,标志位数据为0xa0,当e、f收到带此标志位的数据时会收下此数据并将其与自身存储的数据进行异或运算,即从设备识别带有标志位的广播数据进行异或操作,以得到目标设备的地址信息和报文数据。具体来说,交互流程包括:
40.s21,因本发明的每次总线通信前主设备会首先发送复位信号,在此期间主设备可判断是否有从设备挂在当前总线上,故主设备g向从设备e发送复位信号;
41.s22,总线读操作,主设备g从总线读取从设备e发来的数据(e,α2),其中e为从设备e的地址信息,α2为从设备e发送的报文数据;
42.s23,故主设备g向从设备f发送复位信号;
43.s24,进行总线读操作,主设备g从总线读取从设备f发来的数据(f,β2)。此时,主设备对接收到a发来的数据(e,α2)和f发来的数据(f,β2)进行异或运算处理。
44.s25,进行总线写操作,主机写入数据,从设备e经过运算后接收到数据β2,从设备b经过运算后接收到数据α2;
45.其中,从设备a处理运算如下:
46.(e

f)

e=f,(α2⊕
β2)

α2=β2;
47.经过异或运算后,a收到了b传输来的数据β2。
48.从设备b处理运算如下:
49.(e

f)

f=e,(α2⊕
β2)

β2=α2;
50.经过异或运算后,b收到了a传输来的数据α2。
51.图3利用网络编码改进后的交互内容如下:
52.1:由主设备c发出的查询从机a的数据,包括命令码以及标志位0x81以及a的设备id:
53.100000011100000100101111001100010110110000010010110011000001110100101101;
54.2:由从设备a发出的回复主机c的数据,包括命令码以及a的设备id以及要传输的数据包:
55.10100011110000010010111100110001011011000001001011001100000111010010110110110010010000001110011101111101110111001010001110111011010001110100110010011101;
56.3:由主设备c发出的查询从机b的数据,包括命令码以及标志位0x91以及b的设备id:
57.100100011100001010110101110101001101010101100101111000111111001000011101;
58.4:由从设备b发出的回复主机c的数据,包括命令码以及b的设备id以及要传输的数据包:
59.10100011110000101011010111010100110101010110010111100011111100100001110110110010010000001111101110010110110101101000101000110010011101010100010100000000;
60.5:由主设备c发出的广播消息,包括命令码和标志位0xa0,从设备a以及从设备b接收数据,并进行异或运算:
61.1010000000100000011100110101110010110111001011101110010111111101111001100000001110011101011000010100010100110001001001100100000100110011101。
62.对于主设备g来说,其网络编码计算包括:
63.通过以上交互内容,提取出以下交互流程中必要的交互信息,所述交互信息包括地址信息:
64.e:
65.1100000100101111001100010110110000010010110011000001110100101101
66.f:
67.1100001010110101110101001101010101100101111000111111001000011101
68.报文信息:
69.α2:1110011101111101110111001010001110111011010001110100110010011101
70.β2:1111101110010110110101101000101000110010011101010100010100000000
71.对地址信息计算的运算处理包括:
72.1、地址信息的e

f计算过程:
73.e:
74.1100000100101111001100010110110000010010110011000001110100101101;
75.f:1100001010110101110101001101010101100101111000111111001000011101;
76.e

f:
77.001110011010111001011011100101110111001011111110111100110000;
78.报文内容的α2

β2计算过程:
79.α2:1110011101111101110111001010001110111011010001110100110010011101;
80.β2:1111101110010110110101101000101000110010011101010100010100000000;
81.α2

β2:0001110011101011000010100010100110001001001100100000100110011101;
82.图3步骤5的发送信息组成:e

f,α2

β2
83.分别对应序列:
84.001110011010111001011011100101110111001011111110111100110000;
85.0001110011101011000010100010100110001001001100100000100110011101;
86.e的网络编码计算内容包括:
87.在设备e处存储它自身地址信息e以及它发出的信息α2,当e收到g发出的信息(e

f,α2

β2),e根据交互过程中的公式计算得到f发出的内容,包括f以及β2。
88.地址信息计算
89.e

(e

f)=f
90.=1100001010110101110101001101010101100101111000111111001000011101;
91.报文内容计算
92.α2

(α2

β2)=β2
93.=1111101110010110110101101000101000110010011101010100010100000000;
94.f的网络编码计算,在设备f处存储它自身地址信息f以及它发出的信息β2,当f收到g发出的信息(e

f,α2

β2),f根据交互过程中的公式计算得到e发出的内容,包括e以及α2。
95.1、地址:息计算:f

(e

f)=e
96.=1100000100101111001100010110110000010010110011000001110100101101;
97.2、报:内容计算:
98.β2

(α2

β2)=α2
99.=1110011101111101110111001010001110111011010001110100110010011101。
100.通过以上交互方式、交互内容以及g、e、f处的网络编码计算,实现从设备e、f之间通信,具体包括获得对方的地址信息、以及对方的报文内容。
101.基于网络编码进行改进后的方法将从设备间信息交互过程由6个步骤变为5个步骤,利用网络编码后的数据携带了更多的信息,例如当没有进行网络编码时传输的数据为1byte时,那么实际传输的信息也只有1byte;当经过网络编码后传输的数据为1byte时,实际传输的信息相当于2byte。这减少了交互次数,节省了传输数据量,提高了通信效率。
102.以上方案只是一种较佳实例的说明,但并不局限于此。在实施本发明时,可以根据
使用者需求进行适当的替换和/或修改。
103.这里说明的设备数量和处理规模是用来简化本发明的说明的。对本发明的应用、修改和变化对本领域的技术人员来说是显而易见的。
104.尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用。它完全可以被适用于各种适合本发明的领域。对于熟悉本领域的人员而言,可容易地实现另外的修改。因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

技术特征:
1.一种基于网络编码的二线系统设备间通信方法,其特征在于,在单总线的网络通信中,主设备通过在传输数据的头部位置设置相应的第一标志位,以对各从设备进行区分,包括:步骤一,主设备向从设备发送带第一标志位的查询信号,从设备收到查询信息在向主设备进行数据回复,并对自己发送的报文数据以及自身地址信息进行保存;步骤二,主设备分别读取从设备发送的数据,并向各从设备发送带第二标志位的广播数据,各从设备将收到的带第二标志位广播数据与自身存储的数据进行网络演算处理,以得到从设备之间互相交互的数据;其中,在步骤二中,主设备在读取到从设备需要交互的数据后,先对各从设备和各回复数据分别进行前期的网络演算处理,以便位于接收端的从设备从广播数据中识别位于发送端的从设备地址信息和报文数据。2.如权利要求1所述的基于网络编码的二线系统设备间通信方法,其特征在于,在步骤二中,所述网络演算处理被配置为采用异或运算。3.如权利要求1所述的基于网络编码的二线系统设备间通信方法,其特征在于,在步骤一中,主设备在每次采用总线进行数据通信时,都先发送复位用的查询信号以判断当前是否有从设备挂在总线上。

技术总结
本发明公开了一种基于网络编码的二线系统设备间通信方法,在单总线的网络通信中,主设备向从设备发送查询信号,从设备收到查询信息在向主设备进行数据回复,并对自己发送的报文数据以及自身地址信息进行保存;主设备分别读取从设备发送的数据,各从设备将收到的带第二标志位广播数据与自身存储的数据进行网络演算,以得到从设备之间互相交互的数据。本发明提供一种基于网络编码的二线系统设备间通信方法,相比标准1Wire操作过程减少了交互次数,节省了传输数据量,提高了通信效率。且对比传统路由传输,网络编码提升了网络的吞吐量,提高了带宽利用率。提高了带宽利用率。提高了带宽利用率。


技术研发人员:朱亚 赵全鑫 薛俊层 雒祖宇
受保护的技术使用者:四川灵通电讯有限公司
技术研发日:2022.07.22
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-310.html

最新回复(0)