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

一种基于光纤串行通信的地址码识别方法、装置及其应用与流程

2021-11-15 17:54:00 来源:中国专利 TAG:


1.本发明涉及通信技术领域,具体而言,涉及一种基于光纤串行通信的地址码识别方法、装置及其应用。


背景技术:

2.串行通信技术,是指通信双方按位进行,遵守时序的一种通信方式。串行通信中,将数据按位依次传输,每位数据占据固定的时间长度,即可使用少数几条通信线路就可以完成系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。串行通信多用于系统间通信(多主控制系统)、设备间(主控设备与附属设备)、器件间(主控cpu与功能芯片)之间数据的串行传送,实现数据的传输与共享。
3.传统的串行通信方案多使用导线作为连接介质,在诸如高压变频器的单元旁路控制等使用中不具备高电压隔离要求;各分控器间通过拨码开关进行识别,且需要独立设置各分控器的地址码。这种方案的缺点是:1.不具备高电压隔离环境下的使用能力;2.地址码需要人工单独设置,容易出错,且分控器不方便随意互换。


技术实现要素:

4.本发明解决的问题是:传统串行通信不具备高电压隔离环境下的使用条件以及人工设置分控器地址码容易出错。
5.为解决上述问题,一方面,本发明提供一种基于光纤串行通信的地址码识别方法,其中,包括如下步骤:
6.s1.使用光纤连接1个主控器和多个分控器;
7.s2.所述1个主控器和多个分控器之间进行串行通信;
8.s3.上电时,主控器发送地址码检验命令进行地址码校验,各分控器的地址码保存在各分控器内部的通信控制芯片中;
9.s4.地址码校验正确时,执行其它控制命令;地址码校验异常时,根据需要执行地址码重设置命令。
10.优选地,所述串行通信共享1个串行数据通道,所述串行通信采用分时复用法进行通信。
11.优选地,所述串行通信以时间片为单位,1个时间片是数据包传输的时间与数据包间距的时间和。
12.优选地,所述其它控制命令包括用地址码识别各分控器,分控器根据主控器数据包的地址码来判断是否是对自己的控制命令。
13.优选地,所述主控器发送地址码检验命令进行地址码校验,各分控器的地址码保存在各分控器内部的通信控制芯片中包括如下步骤:
14.s31.主控器发送地址码校验命令数据包,并延时,延时时间大于n 1个时间片,其中,n是分控器的个数,延时期间主控器只接收数据,不发送任何数据。
15.s32.主控器发送完地址码校验命令数据包后,全部分控器都同时接收到数据包,分控器接收到数据包后,执行数据校验和命令解析,当解析到是主控器发来的地址码校验命令后,全部分控器等待当前主控器数据包时间片完成。
16.s33.等主控器数据包时间片完成后,全部分控器都判断自己的地址码是否为1,为1则发送包含自己地址码信息的地址码响应数据包,且1#分控器不再发送数据,根据数据单向传输原理,1#分控器后面的分控器都能接收到1#分控器的地址码响应数据包,且保存地址码响应数据包的地址码,此时为1。
17.s34.等1#分控器的地址码响应数据包时间片完成后,1#分控器后面的全部分控器都将接收的最新的地址码响应数据包中的地址码 1,此时为2,与自己的地址码比较,如果相等,则发送包含此分控器地址码信息的地址码响应数据包,且2#分控器不再发送数据,此时2#分控器之后的分控器都能接收到此地址码响应数据包,且保存地址码响应数据包的地址码,此时为2。
18.s35.等2#分控器的地址码响应数据包时间片完成后,2#分控器后面的全部分控器都将接收的最新的地址码响应数据包中的地址码 1,此时为3,与自己的地址码比较,如果相等,则发送包含此分控器地址码信息的地址码响应数据包,且3#分控器不再发送数据,此时3#分控器之后的分控器都能接收到此地址码响应数据包,且保存地址码响应数据包的地址码,此时为3。
19.s36.以此类推,直到n#分控器完成地址码响应数据,且等待时间片完成,即全部分控器地址码响应操作完成。
20.s37.等待步骤s31中的主控器延时n 1个时间片完成,主控器判断最后一个地址码响应数据包中的地址码与设置的分控器个数是否相同,如果相同,则地址码校验正确;反之,则地址码校验错误。
21.优选地,所述地址码校验异常时,根据需要执行地址码重设置命令包括如下步骤:
22.s41.在第1个时间片内,主控器发送地址码重设置数据包,全部分控器接收到主控器的地址码重设置数据包后,从第2个时间片开始,全部分控器都发送干扰数据包,所述干扰数据包用于分控器在时间片数据发送期间,使自己的发送光模tx常亮,用于屏蔽正常数据向后传输。
23.s42.第2个时间片,主控器发送地址码为0的地址码重设置响应数据包,用于触发1#分控器设置自己的地址码,主控器发送完地址码重设置响应数据包后,直到全部分控器地址初始化完成都不会发送任何数据包,第2个时间片的数据包只有与主控器发送光模tx连接的1#分控器才能正常接收,因为此时全部分控器都发送干扰数据包,1#分控器以后的全部分控器都只收到干扰数据包,包头和包尾以及各种校验码都无法正常校验,数据包会被抛弃且不响应,1#分控器根据接收到的地址码重设置响应数据包,提取包内的地址码并加1处理后,作为自己的地址码保存起来,1#分控器地址码设置成功,此时为1。
24.s43.第3个时间片,1#分控器设置完自己的地址码后,停止向后发送干扰数据包,向后发送携带自己地址码的地址码重设置响应数据包,这时只有物理位置与第1个分控器发送光模tx连接的2#分控器才能接收到地址码重设置响应数据包,2#分控器把接收到的地址码重设置响应数据包的地址码加1作为自己的地址码保存起来,2#分控器地址码设置成功,此时为2。
25.s44.第4个时间片,2#分控器设置完自己的地址码后,停止向后发送干扰数据包,向后发送携带自己地址码的地址码重设置响应数据包,这时只有物理位置与第2个分控器发送光模tx连接的3#分控器才能接收到地址码重设置响应数据包,3#分控器把接收到的地址码重设置响应数据包的地址码加1作为自己的地址码保存起来,3#分控器地址码设置成功,此时为3。
26.s45.以此类推,直到第n个分控器发送完自己的地址码重设置响应数据包。
27.s46.当第n个分控器发送完自己的地址码重设置响应数据包后,主控器检测最后一个分控器的地址码重设置响应数据包中携带的地址码与设置的分控器个数是否相同,如果相同,则地址码重设置成功;反之,则地址码重设置失败。
28.另一方面,本发明还提供一种装置,其采用了如上所述的基于光纤串行通信的地址码识别方法,其中,所述装置包括:
29.1个主控器,是执行地址码检验、地址码重设置、下发控制命令的主动器件;
30.多个分控器,是协助主控器完成地址码校验、地址码重设置、主控器控制命令执行的被动器件;
31.以及光纤,是主控器与分控器、分控器与分控器间的通信介质;
32.所述主控器与分控器、分控器与分控器间通过所述光纤连接进行串行通信。
33.优选地,主控器的发送光模tx连接第1个分控器的接收光模rx,第1个分控器的发送光模tx连接第2个分控器的接收光模rx,第2个分控器的发送光模tx连接第3个分控器的接收光模rx,以此类推,最后1个分控器的发送光模tx连接到主控器的接收光模rx,这样形成1个闭合的串行通信装置。
34.优选地,所述发送光模tx负责把电信号转成光信号,以使信号能在光纤中传输;所述接收光模rx负责把光信号转成电信号,以使主控器和分控器内的通信控制可以解析。
35.优选地,主控器的发送光模tx把电信号转换成光信号,受主控器通信控制电路的控制,执行地址码检验、地址码重设置、下发控制命令的操作;主控器的接收光模rx把光信号转换成电信号,监视串行数据线路中数据的正确性,接收分控器的反馈数据;分控器的接收光模rx把光信号转换成电信号,一边直接通过当前分控器的发送光模tx把电信号转换成光信号向下一个分控器传输,一边传入当前分控器的通信控制电路,当前分控器的通信控制电路校验数据的正确性、解析数据并做出判断执行。
36.再一方面,本发明还提供一种如上所述的基于光纤串行通信的地址码识别方法的应用,其中,所述方法应用于高压变频器的单元旁路控制使用中。
37.相对于现有技术,本发明所述的基于光纤串行通信的地址码识别方法、装置及其应用具有以下有益效果:
38.(1)本发明所述的基于光纤串行通信的地址码识别方法、装置及其应用是在主控器和各分控器间使用光纤连接进行串行通信,可以应用在诸如高压变频器的单元旁路控制等需要高电压隔离的场合;
39.(2)本发明所述的基于光纤串行通信的地址码识别方法、装置及其应用不需要人工设置分控器地址码,分控器地址码存放在分控器控制芯片内,当主控器上电时或每次发送控制命令前通过软件自动检测各分控器地址码的正确性,如果不正确,则由主控器通过软件控制执行分控器地址码的重设置,这样,各分控器都可以任意更换,且不需要管理各分
控器的地址码,节省了人工设置地址码的成本,防止了地址码设置错误的异常发生,在分控器更换位置时仍然可以保证不会发生误控制;
40.(3)本发明的地址码校验方法,可以判断地址重码、地址码与物理位置不符、分控器异常不响应、通信异常等全部地址码异常问题,只有当分控器地址码设置与分控器物理位置相符时才会得到正确的地址码响应信息。
41.(4)本发明的地址码重设置命令中的干扰数据包可以使分控器在时间片数据发送期间,使自己的发送光模tx常亮,用于屏蔽正常数据向后传输。
附图说明
42.图1为本发明的方法流程图;
43.图2为本发明的分控器地址码校验程序流程图;
44.图3为本发明的分控器地址码重设置程序流程图;
45.图4为本发明的硬件连接示意图。
46.附图标记说明:
47.1、2、3、

n、分控器;a、主控器;b、光纤;tx、发送光模;rx、接收光模。
具体实施方式
48.为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
49.实施例一
50.提供一种基于光纤串行通信的地址码识别方法,如图1所示,其中,包括如下步骤:
51.s1.使用光纤连接1个主控器和多个分控器;
52.s2.所述1个主控器和多个分控器之间进行串行通信;
53.s3.上电时,主控器发送地址码检验命令进行地址码校验,各分控器的地址码保存在各分控器内部的通信控制芯片中;
54.s4.地址码校验正确时,执行其它控制命令;地址码校验异常时,根据需要执行地址码重设置命令。
55.其中,所述串行通信共享1个串行数据通道;所述串行通信采用分时复用法进行通信。分时复用(time division multiplexing,tdm),是采用同一物理连接的不同时段来传输不同的信号,能达到多路传输的目的。在网络中应用于用一条线路传输多路数据。分时复用以时间作为信号分割传输的参量,故必须使各路信号在时间轴上互不重叠,从而使不同的信号在不同的时间内传送。将整个传输时间分割为互不重叠的时间间隔,又称为时隙。分时复用技术将这些时隙分配给每一个信号源使用,每个时隙只能被一路信号占用。分时复用通过在时间上交叉发送每一路信号的一部分来实现一条电路传送多路信号。电路上的每一短暂时刻只有一路信号存在。分时复用适用于数字信号的传输。因数字信号是有限个离散值,所以分时复用技术广泛应用于包括计算机网络在内的数字通信系统。
56.其中,所述串行通信以时间片为单位,1个时间片是数据包传输的时间与数据包间距的时间和。时间片(timeslice)又称为“量子(quantum)”或“处理器片(processor slice)”,是分时操作系统分配给每个正在运行的进程微观上的一段cpu时间(在抢占内核
中是:从进程开始运行直到被抢占的时间)。现代操作系统(如:windows、linux、mac os x等)允许同时运行多个进程,例如,你可以在打开音乐播放器听音乐的同时用浏览器浏览网页并下载文件。事实上,虽然一台计算机通常可能有多个cpu,但是同一个cpu永远不可能真正地同时运行多个任务。在只考虑一个cpu的情况下,这些进程“看起来像”同时运行的,实则是轮番穿插地运行,由于时间片通常很短(在linux上为5ms-800ms),用户不会感觉到。
57.其中,所述其它控制命令包括用地址码识别各分控器,分控器根据主控器数据包的地址码来判断是否是对自己的控制命令。
58.本方法分控器地址码设置规则与分控器在整个串行通信中的物理位置相关联,如:主控器发送光模tx连接的1#分控器地址为1,再下一个2#分控器的地址为2,
……
,n#分控器的地址为n,分控器的个数需要在主控器中设置。
59.地址码校验工作原理如下:
60.1.主控器发送地址码校验命令数据包,并延时,延时时间大于n 1个时间片,这里n是分控器的个数。延时期间主控器只接收数据,不发送任何数据。
61.2.主控器发送完地址码校验命令数据包后,全部分控器都同时接收到数据包,分控器接收到数据包后,执行数据校验和命令解析,当解析到是主控器发来的地址码校验命令后,全部分控器等待当前主控器数据包时间片完成(即协议时间,全部分控器均知晓)。
62.3.等主控器数据包时间片完成后,全部分控器都判断自己的地址码是否为1,为1则发送包含自己地址码信息的地址码响应数据包,且1#分控器不再发送数据。根据数据单向传输原理,1#分控器后面的分控器都能接收到1#分控器的地址码响应数据包,且保存地址码响应数据包的地址码(此时为1)。
63.4.等1#分控器的地址码响应数据包时间片完成后,1#分控器后面的全部分控器都将接收的最新的地址码响应数据包中的地址码 1(此时为2)与自己的地址码比较,如果相等,则发送包含此分控器地址码信息(此时为2)的地址码响应数据包,且2#分控器不再发送数据。此时2#分控器之后的分控器都能接收到此地址码响应数据包,且保存地址码响应数据包的地址码(此时为2)。
64.5.等2#分控器的地址码响应数据包时间片完成后,2#分控器后面的全部分控器都将接收的最新的地址码响应数据包中的地址码 1(此时为3)与自己的地址码比较,如果相等,则发送包含此分控器地址码信息(此时为3)的地址码响应数据包,且3#分控器不再发送数据。此时3#分控器之后的分控器都能接收到此地址码响应数据包,且保存地址码响应数据包的地址码(此时为3)。
65.6.以此类推,直到n#分控器完成地址码响应数据,且等待时间片完成,即全部分控器地址码响应操作完成。
66.7.等待步骤1中的主控器延时n 1个时间片完成,主控器判断最后一个地址码响应数据包中的地址码与设置的分控器个数是否相同,如果相同,则地址码校验正确;反之,则地址码校验错误。
67.如图2所示,地址码校验的程序流程具体包括如下步骤:
68.步骤1:程序开始;
69.步骤2:判断是否收到新数据包,若是,转步骤3,否则,转步骤2;
70.步骤3:判断新数据包数据检验是否正确,若是,转步骤4,否则,转步骤2;
71.步骤4:判断是否是主控器发送的地址码校验数据包,若是,转步骤5,否则,转步骤9;
72.步骤5:判断自己的地址码是否是1,若是,转步骤6,否则,转步骤2;
73.步骤6:等待数据包时间片完成;
74.步骤7:用地址码1修改数据包地址,并把数据包修改成地址码校验命令的响应数据包,并向后发送响应数据包;
75.步骤8:等待数据包发送完成,转步骤2;
76.步骤9:判断是否是分控器发送的地址码校验命令的响应数据包,若是,转步骤10,否则,转步骤11;
77.步骤10:判断收到的响应数据包的地址码 1是否等于自己的地址码,若是,转步骤12,否则,转步骤2;
78.步骤11:其他数据包处理;
79.步骤12:等待数据包时间片完成;
80.步骤13:用自己的地址码修改数据包地址,并向后发送地址码校验命令的响应数据包;
81.步骤14:等待数据包发送完成,转步骤2。
82.以上地址码校验方法,可以判断地址重码、地址码与物理位置不符、分控器异常不响应、通信异常等全部地址码异常问题。只有当分控器地址码设置与分控器物理位置相符时才会得到正确的地址码响应信息。地址码校验是使用软件重设置地址码的基础。
83.当主控器执行地址码校验命令结果为异常时,主控器根据用户需要执行地址码重设置命令,程序相关用词释义:
84.干扰数据包:分控器在时间片数据发送期间,使自己的发送光模tx常亮,用于屏蔽正常数据向后传输,此为地址码重设置的核心技术点。
85.地址码重设置响应数据包:当某个分控器地址码设置成功后,向后发送包含自己地址码的响应数据包。
86.地址码重设置工作原理如下:
87.1.在第1个时间片内,主控器发送地址码重设置数据包,全部分控器接收到主控器的地址码重设置数据包后,从第2个时间片开始,全部分控器都发送干扰数据包。
88.2.第2个时间片,主控器发送地址码为0的地址码重设置响应数据包,用于触发1#分控器设置自己的地址码。主控器发送完地址码重设置响应数据包后,直到全部分控器地址码初始化完成都不会发送任何数据包。第2个时间片的数据包只有与主控器发送光模tx连接的分控器才能正常接收,因为此时全部分控器都发送干扰数据包,1#分控器以后的全部分控器都只收到干扰数据包,包头和包尾以及各种校验码都无法正常校验,数据包会被抛弃且不响应。1#分控器根据接收到的地址码重设置响应数据包,提取包内的地址码并加1处理后,作为自己的地址码保存起来,1#分控器地址码设置成功。
89.3.第3个时间片,1#分控器设置完自己的地址码后,停止向后发送干扰数据包,向后发送携带自己地址码(此时为1)的地址码重设置响应数据包,这时只有物理位置与第1个分控器发送光模tx连接的分控器(即2#分控器)才能接收到地址码重设置响应数据包,2#分控器把接收到的地址码重设置响应数据包的地址码加1作为自己的地址码保存起来,2#分
控器地址码设置成功。
90.4.第4个时间片,2#分控器设置完自己的地址码后,停止向后发送干扰数据包,向后发送携带自己地址码(此时为2)的地址码重设置响应数据包,这时只有物理位置与第2个分控器发送光模tx连接的分控器(即3#分控器)才能接收到地址码重设置响应数据包,3#分控器把接收到的地址码重设置响应数据包的地址码加1作为自己的地址码保存起来,3#分控器地址码设置成功。
91.5.以此类推,直到第n个分控器发送完自己的地址码重设置响应数据包。
92.6.当第n个分控器发送完自己的地址码重设置响应数据包后,主控器检测最后一个分控器的地址码重设置响应数据包中携带的地址码与设置的分控器个数是否相同,如果相同,则地址码重设置成功;反之,则地址码重设置失败。
93.如图3所示,分控器地址码重设置的程序流程具体包括如下步骤:
94.步骤1:程序开始;
95.步骤2:判断新数据包标志是否置1,若是,转步骤3,否则,转步骤2;
96.步骤3:判断数据crc检验是否正确,若是,转步骤4,否则,转步骤2;
97.步骤4:判断是否是主控器发送的地址码初始化命令包,若是,转步骤5,否则,转步骤10;
98.步骤5:干扰数据包计数置为设定值;
99.步骤6:判断干扰数据包计数是否大于0,若是,转步骤7,否则,转步骤2;
100.步骤7:等待数据包时间片完成;
101.步骤8:干扰数据包计数执行减1处理,并发送干扰数据包;
102.步骤9:等待干扰数据包发送完成,转步骤2;
103.步骤10:判断是否是地址码初始化命令包的响应数据包,若是,转步骤11,否则,转步骤12;
104.步骤11:用响应包的地址码 1作为当前分控器的地址码初始化地址,转步骤13;
105.步骤12:其他数据包处理;
106.步骤13:等待数据包时间片完成;
107.步骤14:干扰数据包计数置为0,发送地址码初始化命令包的响应数据包(用自己的地址码填充数据包);
108.步骤15:等待地址码初始化命令包的响应数据包发送完成,转步骤2。
109.实施例二
110.提供一种装置,其采用了如实施例一所述的基于光纤串行通信的地址码识别方法,如图4所示,其中,所述装置包括1个主控制器(简称主控器,是执行地址码检验、地址码重设置、下发控制命令的主动器件)、多个分控制器(简称分控器,是协助主控器完成地址码校验、地址码重设置、主控器控制命令执行的被动器件)以及光纤(是主控器与分控器、分控器与分控器间的通信介质),所述主控器与分控器、分控器与分控器间通过所述光纤连接进行串行通信。
111.主控器的tx(发送光模,负责把电信号转成光信号,以使信号能在光纤中传输)连接第1个分控器的rx(接收光模,负责把光信号转成电信号,以使主控器和分控器内的通信控制可以解析),第1个分控器的tx(发送光模)连接第2个分控器的rx(接收光模),第2个分
控器的tx连接第3个分控器的rx,以此类推,最后1个分控器(图4中以n表示)的tx(发送光模)连接到主控器的rx(接收光模),这样形成1个闭合的串行通信装置。
112.主控器的tx把电信号转换成光信号,受主控器通信控制电路的控制,执行地址码检验、地址码重设置、下发控制命令的操作;主控器的rx把光信号转换成电信号,监视串行数据线路中数据的正确性,接收分控器的反馈数据。分控器的rx把光信号转换成电信号,一边直接通过当前分控器的tx把电信号转换成光信号向下一个分控器传输,一边传入当前分控器的通信控制电路,分控器的通信控制电路校验数据的正确性、解析数据并做出判断执行。
113.这样,本实施例中的装置是在主控器和各分控器间使用光纤连接进行串行通信,可以应用在高电压隔离场合;本装置不需要人工设置分控器地址码,分控器地址码存放在分控器控制芯片内,当主控器上电时或每次发送控制命令前通过软件自动检测各分控器地址码的正确性,如果不正确,则由主控器通过软件控制执行分控器地址码的重设置,这样,各分控器都可以任意更换,且不需要管理各分控器的地址码,节省了人工设置地址码的成本,防止了地址码设置错误的异常发生,在分控器更换位置时仍然可以保证不会发生误控制。
114.实施例三
115.提供一种如实施例一所述的基于光纤串行通信的地址码识别方法的应用,其中,所述方法应用于高压变频器的单元旁路控制使用中。
116.虽然本发明披露如上,但本发明的保护范围并非仅限于此。本领域技术人员在不脱离本发明的精神和范围的前提下,可进行各种变更与修改,这些变更与修改均将落入本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献