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

在IO-Link通信中针对从设备的定时检测和校正方法与流程

2022-08-31 03:18:39 来源:中国专利 TAG:

在io-link通信中针对从设备的定时检测和校正方法
技术领域
1.本发明涉及一种在io-link通信中针对从设备的定时检测和校正方法,其中主设备和从设备在公共基本定时上操作。本发明还涉及一种io-link通信的从设备,其中主设备和从设备在公共基本定时上操作。


背景技术:

2.io-link是一种短距离工业通信网络标准(iec 61131-9)。经由io-link进行的通信是双向的、数字的、点对点的以及有线或无线的。例如,io-link用于连接工业应用中的数字传感器和执行器。io-link包括主设备和至少一个从设备,即,传感器或执行器。主设备提供与更高级控制器(plc)的接口,并且控制(尤其是发起)与从设备的通信。主设备与至少一个从设备之间的io-link通信基于通用异步接收器发射器(uart)通信。
3.通用异步接收器发射器(uart)通信是一种异步串行通信,其中数据格式和传输速度是可配置的。uart通信的一个主要设计方面和要求(异步)是主设备与从设备之间的定时精度。定时例如由商定的波特率定义,其中主设备和从设备使用基于晶体的定时参考或振荡器。但是,内部振荡器无法在整个温度范围内提供所需要的定时精度,并且外部的基于晶体的定时参考需要附加空间。


技术实现要素:

4.因此,本发明的一个目的是提高io-link通信的主设备与从设备之间的定时精度。
5.该目的是通过一种在io-link通信中针对从设备的时间检测和校正方法来解决的,其中主设备和从设备在公共基本定时上操作,该方法包括以下步骤:
6.在通信建立期间在从设备处检测从主设备发送的init请求,
7.根据所接收的init请求计算主设备的实际定时,
8.基于计算出的主设备的定时,将从设备的初始定时校正为实际定时。
9.在io-link通信中,特别是在通用异步收发器通信中,通信的主设备和从设备在公共基本定时上操作。从设备例如包括uart模块以检测在通信建立期间从主设备发送的init请求,如现有技术中已知的。为了提高定时精度,从设备尤其是uart模块,分析所接收的init请求,并且根据所接收的init请求计算主设备的实际定时。由于主设备和从设备在公共基本定时上操作,所以从设备知道基本定时,并且在此基础上,从设备可以通过检测与预期基本定时的差异根据所接收的init请求来计算实际定时。
10.基于公共基本定时的从设备的初始定时被校正为基于所计算的主设备的实际定时的实际定时。由于从设备的初始定时基于所接收的由主设备发送的init请求被校正为主设备的实际定时,因此从设备可以使用内部振荡器作为公共基本定时的定时参考。尽管这样的振荡器没有提供必要精度,特别是在高温范围内,但是根据本发明的方法基于根据所接收的init请求而计算出的主设备的实际定时来提高精度。因此,使用根据本发明的方法,从设备可以使用振荡器定时参考并且同时为协议通信提供必要的定时精度。
11.根据本发明的优选变型,公共基本定时定义为波特率,并且从设备的初始定时的校正基于波特率偏移。波特率定义了在电信或电子产品中的数据通道上的通信速度。波特率的单比特是每秒符号数或每秒脉冲数。波特率偏移定义了初始定时(即,初始波特率)必须如何被校正(修正)以对应于主设备的实际定时(即实际波特率)。
12.在本发明的有利变型中,该方法还包括连续跟踪主设备的实际定时并且校正从设备的实际定时的步骤。因此,从设备的定时不仅在通信开始时进行校正,即,通过校正从设备的初始定时进行校正,而且通过跟踪主设备的实际定时并且校正从设备的实际定时来不断地进行校正。
13.根据本发明的变型,主设备的实际定时的连续跟踪包括根据在从设备处接收的至少一个数据传输来计算主设备的实际定时的步骤。因此,代替分析由主设备在通信建立期间发送的init请求,从设备分析接收的规则数据传输,来连续校正从设备的实际定时。
14.根据本发明的变型,根据在从设备处接收的至少一个数据传输来计算主设备的实际定时的步骤在接收的每个数据传输之后或以规则间隔执行。根据从设备的定时参考的精度,根据在从设备处接收的数据传输来计算主设备的实际定时的步骤在每次接收到数据传输之后或以规则间隔执行。
15.在本发明的另一变型中,从设备的实际定时在一个或多个完整的主电报结束之后被校正,其中一个主电报包括两个或更多个数据传输。第一主电报可以包括init请求和一个或多个数据传输。在该变型中,从设备在所谓的主电报中从主设备接收多个数据传输(分别为init请求和一个或多个数据传输)。在接收到完整的主电报之后,从设备基于对主电报中的数据传输的分析(分别对init请求和数据传输的分析)来校正定时。同时,从设备可以准备对主电报的响应,并且使用从设备的校正后的实际定时向主设备发送响应。
16.根据本发明的变型,从设备的实际定时的校正基于对一个或多个主电报的多个数据传输进行低通滤波。同样,第一主电报包括init请求,这也可以在低通滤波期间考虑。
17.根据本发明的有利变型,根据所接收的init请求和/或所接收的数据传输计算主设备的实际定时,包括从所接收的init请求和/或所接收的数据传输中提取定时信息的步骤。从所接收的init请求和/或所接收的数据传输中提取定时信息的步骤,例如基于对init请求和/或所接收的数据传输中的比特的分析。
18.在本发明的一个特别优选的变型中,从所接收的init请求和/或所接收的数据传输中提取定时信息的步骤,包括检测init请求和/或所接收的数据传输中的上升沿和/或下降沿的步骤。通过计算init请求和/或所接收的数据传输中的某些比特的上升沿和/或下降沿之间的时间,从设备可以计算主设备的实际定时。
19.根据本发明的变型,从所接收的init请求和/或所接收的数据传输中提取定时信息的步骤由从设备的硬件组件执行。从所接收的init请求和/或所接收的数据传输中提取定时信息可以很容易地由硬件组件实现,例如通过使用比较器检测所接收的init请求和/或所接收的数据传输中的比特的上升和/或下降沿。硬件组件还提供高精度。
20.根据本发明的另一变型,根据所接收的init请求和/或所接收的数据传输来计算主设备的实际定时的步骤由从设备的软件组件执行,其中软件组件处理从所接收的init请求和/或所接收的数据传输中提取的定时信息。软件组件的优点在于,被用于根据从所接收的init请求和/或所接收的数据传输中提取的定时信息来计算实际定时的算法,可以很容
易地被修改、优化和/或替换。
21.在本发明的有利变型中,仅在某个阈值被超过时,对从设备的初始定时和/或实际定时进行校正。因此,并非从设备的实际定时相对于主设备的实际定时的每个微小偏差都被校正,因为微小偏差不会对数据传输产生负面影响。只有当某个阈值被超过时,才必须将从设备的实际定时校正为主设备的实际定时,以避免对数据传输产生任何负面影响。阈值水平可以是例如参数化的或自适应的,即,阈值可以取决于某些参数或者被调节。
22.根据本发明的变型,根据所接收的init请求计算主设备的实际定时、和/或根据接收的至少一个数据传输计算主设备的实际定时的步骤,包括对init请求、至少一个数据传输和/或主电报中的时钟脉冲进行计数的步骤。
23.根据本发明的优选变型,io-link通信的从设备包括至少一个通用异步接收器发射器(uart)模块,用于实现以下方法步骤:
24.在通信建立期间在从设备处检测从主设备发送的init请求,
25.根据所接收的init请求计算主设备的实际定时,
26.基于计算出的主设备的定时,将从设备的初始定时校正为实际定时。
27.在本发明的一个特别优选的变型中,io-link通信的从设备包括多个通用异步接收器发射器(uart)模块,每个uart模块实现上述方法步骤并且具有不同的初始定时设置。因此,io-link从设备具有多个uart模块,每个uart模块被配置给不同的初始定时。例如,从设备包括四个uart模块,该四个uart模块具有不同的在 /-5%上分布的初始定时。由于不同的初始定时设置,一个uart模块在通信建立期间正确接收从主设备发送的init请求的机会增加。之后,该uart模块用于io-link通信。如果增加uart模块的数目,则可以在更宽的定时范围内检测init请求。
28.该目的还通过一种io-link通信的从设备来解决,其中主设备和从设备在公共基本定时上操作,其中从设备包括实现根据本发明的方法的至少一个通用异步接收器发射器模块。从设备可以包括特定硬件和/或软件以实现本发明的方法。优选地,从设备在没有任何外部组件的集成电路中实现,例如基于晶体的计时设备。集成电路可以包括用于存储从设备的软件组件的存储器。
29.根据本发明的优选变型,从设备包括多个通用异步接收器发射器模块,该多个通用异步接收器发射器模块具有不同的初始定时设置,并且每个通用异步接收器发射器模块实现根据本发明的方法。因此,io-link从设备具有多个uart模块,每个uart模块被配置给不同的初始定时。例如,从设备包括四个uart模块,该四个uart模块具有不同的在 /-5%上分布的初始定时。由于不同的初始定时设置,一个uart模块在通信建立期间正确接收从主设备发送的init请求的机会增加。之后,该uart模块用于io-link通信。如果增加uart模块的数目,则可以在更宽的定时范围内检测init请求。
附图说明
30.下面将结合附图中所示的实施例进一步说明发明。附图示出:
31.图1是根据本发明的在io-link通信中针对从设备的定时和检测方法的第一实施例的流程图;
32.图2是根据本发明的在io-link通信中针对从设备的定时和检测方法的第二实施
例的流程图;以及
33.图3是io-link通信的init请求和从所接收的init请求中提取定时信息的信号图。
具体实施方式
34.图1示出了在io-link通信中针对从设备的定时和检测方法的第一实施例的流程图。
35.io-link通信是异步的,其中主设备和从设备在公共基本定时上操作。在异步通信中,主设备和从设备没有公共定时参考。定时例如由商定的波特率定义,其中主设备和从设备使用基于晶体的定时参考或振荡器。io-link通信的一个主要设计方面和要求(异步)是主设备与从设备之间的定时精度。
36.根据本发明的定时检测和校正方法,从设备检测主设备的实际定时并且将其初始定时校正为从设备的实际定时。在优选实施例中,从设备连续地跟踪主设备的实际定时并且将其实际定时校正为主设备的实际定时。
37.如图1所示,本发明的方法开始,即,从设备准备好进行通信并且监听通信信道。这例如由主设备通过向从设备发送唤醒请求(wurq)来发起。
38.在从设备准备好通信并且监听通信信道之后,主设备经由通信信道向从设备发送init请求,以在主设备与从设备之间建立通信。从设备检测从主设备发送的init请求。
39.根据所接收的init请求,从设备计算主设备的实际定时。在向主设备发送响应之前,从设备将其初始定时校正为计算出的主设备的实际定时,从而提高主设备与从设备之间的定时精度。
40.在主设备与从设备之间建立通信之后,从设备不断跟踪主设备的实际定时并且校正其实际定时。这是通过以下方式来实现的:在从设备处从主设备接收数据传输、并且根据在从设备处接收的数据传输计算主设备的实际定时。这可以例如在接收的每个数据传输之后或在预定数目的数据传输之后执行。
41.根据所接收的init请求和/或所接收的数据传输计算主设备的实际定时的步骤,优选地包括从所接收的init请求和/或所接收的数据传输中提取定时信息的步骤。从所接收的init请求和/或所接收的数据传输中提取定时信息,例如包括检测init请求和/或所接收的数据传输中的上升沿和/或下降沿的步骤。在init请求和/或所接收的数据传输中检测到的上升沿和/或下降沿之间的差异被用于计算主设备的实际定时。
42.根据所接收的init请求计算主设备的实际定时、和/或根据接收的至少一个数据传输计算主设备的实际定时的步骤,包括对init请求或至少一个数据传输中的时钟脉冲进行计数的步骤。例如,对init请求或至少一个数据传输中的预定义上升沿和/或下降沿之间的时钟脉冲进行计数。
43.从所接收的init请求和/或所接收的数据传输中提取定时信息的步骤由从设备的硬件组件执行。例如,硬件比较器检测init请求和/或所接收的数据传输中的上升沿和/或下降沿。
44.根据所接收的init请求和/或所接收的数据传输计算主设备的实际定时的步骤由从设备的软件组件执行,其中软件组件处理从所接收的init请求和/或所接收的数据传输中提取的定时信息。
45.根据本发明的优选变型,仅在某个阈值被超过时,对从设备的初始定时和/或实际定时进行校正。因此,如果主设备和从设备的定时之间只有很小的差异,这对通信没有负面影响,则不校正从设备的定时。
46.根据本发明的方法由从设备执行,直到与主设备的通信结束。
47.有利地,io-link通信的从设备包括多个通用异步接收器发射器模块,每个通用异步接收器发射器模块执行以下步骤:
48.在通信建立期间在从设备处检测从主设备发送的init请求,
49.根据所接收的init请求计算主设备的实际定时,
50.基于计算出的主设备的定时,将从设备的初始定时校正为实际定时。
51.此外,多个通用异步接收器发射器模块每个具有不同的初始定时设置。由此,由主设备在通信建立期间发送的init请求更有可能被至少一个通用异步接收器发射器模块正确接收。选择正确接收到init请求的模块,以进行从设备与主设备之间的进一步通信。如果一个以上的模块正确接收到init请求,则优选地选择最快模块。
52.图2示出了在io-link通信中针对从设备的定时和检测方法的第二实施例的流程图。
53.图2所示的第二实施例与图1所示的第一实施例的不同之处在于,在一个或多个完整的主电报结束之后校正从设备的实际定时。一个主电报包括两个或更多个数据传输或init请求和至少一个数据传输。
54.一旦从设备接收到一个或多个完整的主电报,从设备就可以根据所接收的主电报(即,两个或更多个数据传输,分别是init请求和一个或多个数据传输)计算主设备的实际定时。
55.在该变型中,从设备的实际定时的校正可以例如基于对一个或多个主电报的多个数据传输进行低通滤波。
56.图3示出了io-link通信的init请求和从所接收的init请求中提取定时信息的信号图。
57.一旦从设备检测到init请求的起始比特的下降沿,就会启动以下计数器:
[0058]-telegram_counter,
[0059]-bit_time_counter,以及
[0060]-bit_num_counter。
[0061]
电报计数器从协议中的第一下降沿对时钟脉冲进行计数,直到协议结束。该协议是根据图1所示的第一实施例的init请求或数据传输,或者是根据图2所示的第二实施例的数据电报。时钟脉冲由从设备的定时参考生成。
[0062]
bit_time_counter对每个配置的bit_time的标称时钟脉冲的数目进行计数。配置的bit_time取决于公共基本定时,特别是主设备与从设备之间的商定的波特率。当达到bit_time_clocks值时,bit_time_counter翻转。bit_time_counter在bit_time的大约50%处触发bit_num_counter的计数脉冲,以说明下一边沿的早到达/晚到达。
[0063]
bit_num_counter基于由bit_time_counter触发的滴答(tick)计数来从协议中的第一下降沿开始对经过的比特次数进行计数。
[0064]
一旦检测到协议中的第一上升沿,将telegram_counter的值存储在寄存器ct_
first_rising中,并且将bit_num_counter的值存储在寄存器nbit_firstrising中。
[0065]
一旦在协议中在第一下降沿之后检测到下降沿,将telegram_counter的值存储在寄存器ct_falling中,并且将bit_num_counter的值存储在寄存器nbit_falling中。这一操作重复,直到协议结束。
[0066]
一旦在协议中在第一上升沿之后检测到上升沿,将telegram_counter的值存储在寄存器ct_rising中,并且将bit_num_counter的值存储在寄存器nbit_rising中。这一操作重复,直到协议结束。
[0067]
所获取的定时值如图3所示。
[0068]
从设备的实际定时被校正为:
[0069][0070][0071]
在对主设备的实际定时的连续跟踪期间,从设备例如检查定时是否在由阈值定义的某些限制内。例如,阈值由寄存器x_counts定义。从设备继续从所接收的数据传输(协议)中提取上述定时信息。
[0072]
例如,从设备的实际定时校正如下:
[0073]
如果
[0074]
(((bit_time_clock*nbit_rising) pulse_asymmetry)<(ct_rising-x_counts))
[0075]
则增加bit_time_clock
[0076]
否则
[0077]
如果
[0078]
(((bit_time_clock*nbit_rising) pulse_asymmetry)>(ct_rising x_counts))
[0079]
则减少bit_time_clock
[0080]
否则没有变化。
[0081]
这只是用于将从设备的初始和/或实际定时校正为主设备的实际定时的算法的一个示例。也可以使用其他更复杂的方法,如低通滤波。
再多了解一些

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

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

相关文献