协同工作方法、系统、电子设备及计算机可读存储介质与流程

文档序号:33382486发布日期:2023-03-08 06:30阅读:41来源:国知局
协同工作方法、系统、电子设备及计算机可读存储介质与流程
协同工作方法、系统、电子设备及计算机可读存储介质
1.本技术为2022年7月29日提交至中国专利局、申请号为202210902112.0、发明名称为“数据处理方法、系统、电子设备及计算机可读存储介质”的中国专利申请的分案。
技术领域
2.本技术涉及通信领域,特别涉及协同工作方法、系统、电子设备及计算机可读存储介质。


背景技术:

3.mcu(microcontroller unit,微控制单元)和fpga(field programmable gate array,现场可编程逻辑门阵列)在通信时,通常以mcu作为通信master(主设备),fpga作为通信slave(从设备),在很多应用场景下,需要mcu和fpga协同完成一项任务,协同完成任务的过程包括fpga先获取数据存储到其内部的存储空间中,然后mcu再从fpga的存储空间中读取数据。
4.在二者协同完成任务时,经常遇到需要双方都延时一段时间后再进行下一步操作的场景,在这种场景下,由于mcu和fpga各自时钟不一致,如果双方各自按各自的时钟进行延时就很可能导致mcu在fpga还没有完成延时的情况下就执行了下一步操作,即在fpga按其时钟计算的当前延时时间未达到目标延时时间还未获取到数据时,若mcu按其时钟计算的当前延时时间已经达到目标延时时间,此时mcu就开始从fpga的存储空间中读取数据,这样会导致mcu无法获取到准确的数据,产生非预期的结果,影响任务的完成。
5.因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。


技术实现要素:

6.本技术的目的是提供一种协同工作方法、系统、电子设备及计算机可读存储介质,能够使主设备可以在确定从设备延时完成后,再从从设备中获取协同工作场景对应的数据,保证协同任务正常完成。
7.为解决上述技术问题,本技术提供了一种协同工作方法,应用于主从系统中的主设备,所述主从系统还包括从设备,所述从设备包括标记寄存器,所述标记寄存器的值每隔预设时间段加1,其中,所述预设时间段为n倍的所述从设备的时钟周期,n为正整数,该协同工作方法包括:
8.若当前工作场景为协同工作场景,按读取周期读取所述标记寄存器的值;
9.基于当前读取周期读取到的所述标记寄存器的值确定当前延时时间;
10.当所述当前延时时间大于目标延时时间,从所述从设备中获取所述协同工作场景需求的数据。
11.可选的,基于当前读取周期读取到的所述标记寄存器的值确定当前延时时间的过程包括:
12.判断当前读取周期是否为第一个读取周期;
13.若否,基于所述当前读取周期读取到的所述标记寄存器的值和所述第一个读取周期读取到的所述标记寄存器的值确定当前延时时间。
14.可选的,基于所述当前读取周期读取到的所述标记寄存器的值和所述第一个读取周期读取到的所述标记寄存器的值确定当前延时时间的过程包括:
15.通过第一关系式计算当前延时时间,所述第一关系式为tf=(tmp-start)
×
α;
16.其中,tf为所述当前延时时间,tmp为所述当前读取周期读取到的所述标记寄存器的值,start为所述第一个读取周期读取到的所述标记寄存器的值,α为预设系数。
17.可选的,所述协同工作场景需求的数据为测量设备测量的数据;
18.按读取周期读取所述标记寄存器的值之前,该协同工作方法还包括:
19.向所述从设备下发启动测量命令,以使所述从设备对所述测量设备进行初始化并反馈所述测量设备的初始化状态;
20.按读取周期读取所述标记寄存器的值的过程包括:
21.当确定所述初始化状态为正常状态,按读取周期读取所述标记寄存器的值。
22.可选的,所述从设备还包括状态寄存器;
23.向所述从设备下发启动测量命令,以使所述从设备对所述测量设备进行初始化并反馈所述测量设备的初始化状态的过程包括:
24.向所述从设备下发启动测量命令,以使所述从设备对所述测量设备进行初始化并根据所述测量设备的初始化状态更新所述状态寄存器的值;
25.按读取周期读取所述标记寄存器的值的过程包括:
26.当查询到所述状态寄存器的值为目标值,按读取周期读取所述标记寄存器的值,所述目标值为所述初始化状态为正常状态时对应的值。
27.可选的,所述测量设备为模数转换器。
28.可选的,所述从设备还包括数据存储寄存器,所述从设备用于在所述当前延时时间达到所述目标延时时间时获取所述协同工作场景需求的数据并将所述数据存储到所述数据存储寄存器;
29.当所述当前延时时间大于目标延时时间,从所述从设备中获取所述协同工作场景需求的数据的过程包括:
30.当所述当前延时时间大于目标延时时间,从所述数据存储寄存器中获取所述协同工作场景需求的数据。
31.为解决上述技术问题,本技术还提供了一种协同工作系统,应用于主从系统中的主设备,所述主从系统还包括从设备,所述从设备包括标记寄存器,所述标记寄存器的值每隔预设时间段加1,其中,所述预设时间段为n倍的所述从设备的时钟周期,n为正整数,该协同工作系统包括:
32.读取模块,用于若当前工作场景为协同工作场景,按读取周期读取所述标记寄存器的值;
33.确定模块,用于基于当前读取周期读取到的所述标记寄存器的值确定当前延时时间;
34.获取模块,用于当所述当前延时时间大于目标延时时间,从所述从设备中获取所
述协同工作场景需求的数据。
35.为解决上述技术问题,本技术还提供了一种电子设备,包括:
36.存储器,用于存储计算机程序;
37.处理器,用于执行所述计算机程序时实现如上文任意一项所述的协同工作方法的步骤。
38.为解决上述技术问题,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任意一项所述的协同工作方法的步骤。
39.本技术提供了一种协同工作方法,在主从系统的从设备中设置一个标记寄存器,以从设备的时钟确定预设时间段,该标记寄存器的值每隔预设时间段加1,若当前工作场景为协同工作场景,主设备通过读取从设备的标记寄存器的值来确定自身的当前延时时间,即主设备和从设备均以从设备的时钟来计算当前延时时间,以使主设备可以在确定从设备延时完成后,再从从设备中获取协同工作场景对应的数据,保证协同任务正常完成。本技术还提供了一种协同工作系统、电子设备及计算机可读存储介质,具有和上述协同工作方法相同的有益效果。
附图说明
40.为了更清楚地说明本技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本技术所提供的一种主从系统的结构示意图;
42.图2为本技术所提供的一种协同工作方法的步骤流程图;
43.图3为本技术所提供的一种应用于同步测量场景的协同工作方法的流程图;
44.图4为本技术所提供的一种协同工作系统的结构示意图。
具体实施方式
45.本技术的核心是提供一种协同工作方法、系统、电子设备及计算机可读存储介质,能够使主设备可以在确定从设备延时完成后,再从从设备中获取协同工作场景对应的数据,保证协同任务正常完成。
46.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
47.为便于理解本技术所提供的一种协同工作方法,对该协同工作方法所适用的主从系统进行说明,请参照图1,图1为本技术所提供的一种主从系统的结构示意图,包括主设备和从设备,可以理解的是,主从系统可以包括一个或多个主设备,每个主设备对应一个或多个从设备,图1中仅示出了一个主设备和一个从设备,主设备可以为mcu,从设备可以为fpga,从设备中包括一个标记寄存器,该标记寄存器的值每隔预设时间段加1,预设时间段为n倍的从设备的时钟周期,n为正整数,举例说明,假设从设备的时钟周期为10μs,令n=
10,则预设时间段可以设置为100μs,即预设时间段为0.1ms。
48.请参照图2,图2为本技术所提供的一种应用于主从系统的主设备的协同工作方法的步骤流程图,该协同工作方法包括:
49.s101:若当前工作场景为协同工作场景,按读取周期读取标记寄存器的值;
50.s102:基于当前读取周期读取到的标记寄存器的值确定当前延时时间;
51.具体的,在执行本步骤之前,还包括确定当前工作场景的操作,若当前工作场景为协同工作场景,主设备以从设备的时钟为基准执行计时操作,若当前工作场景不是协同工作场景,主设备以自身时钟为基准执行计时操作。
52.具体的,若当前工作场景为协同工作场景,考虑到主设备和从设备协同工作时会遇到需要二者同时延时一段时间再执行下一步操作的情况,主设备可以按读取周期读取从设备的标记寄存器的值,因为从设备的标记寄存器的值是基于从设备的时钟周期进行叠加的,因此,主设备根据当前读取周期读取到的标记寄存器的值即可确定从设备的当前延时时间,并按照从设备的当前延时时间执行后续协同操作,避免出现主设备和从设备协同工作时计时不同步的问题。
53.s103:当当前延时时间大于目标延时时间,从从设备中获取协同工作场景需求的数据。
54.其中,从设备还包括数据存储寄存器,从设备用于在当前延时时间达到目标延时时间时获取协同工作场景需求的数据并将数据存储到数据存储寄存器;
55.当当前延时时间大于目标延时时间,从从设备中获取协同工作场景需求的数据的过程包括:
56.当当前延时时间大于目标延时时间,从数据存储寄存器中获取协同工作场景需求的数据。
57.可以理解的是,从设备以自身时钟周期为基准确定当前延时时间达到目标延时时间,从设备获取协同工作场景需求的数据将其存储到自身的数据存储寄存器中,为进一步保证主设备从从设备中获取数据时,从设备已经获取到协同工作场景需求的数据并将其存储到数据存储寄存器中,本技术将主设备的获取条件设置为根据从设备的标记寄存器的值判定从设备的当前延时时间大于目标延时时间,再从从设备中获取协同工作场景需求的数据。
58.可见,本实施例中,在主从系统的从设备中设置一个标记寄存器,以从设备的时钟确定预设时间段,该标记寄存器的值每隔预设时间段加1,若当前工作场景为协同工作场景,主设备通过读取从设备的标记寄存器的值来确定自身的当前延时时间,即主设备和从设备均以从设备的时钟来计算当前延时时间,以使主设备可以在确定从设备延时完成后,再从从设备中获取协同工作场景对应的数据,保证协同任务正常完成。
59.在上述实施例的基础上:
60.作为一种可选的实施例,基于当前读取周期读取到的标记寄存器的值确定当前延时时间的过程包括:
61.判断当前读取周期是否为第一个读取周期;
62.若否,基于当前读取周期读取到的标记寄存器的值和第一个读取周期读取到的标记寄存器的值确定当前延时时间。
63.作为一种可选的实施例,基于当前读取周期读取到的标记寄存器的值和第一个读取周期读取到的标记寄存器的值确定当前延时时间的过程包括:
64.通过第一关系式计算当前延时时间,所述第一关系式为tf=(tmp-start)
×
α;
65.其中,tf为所述当前延时时间,tmp为所述当前读取周期读取到的所述标记寄存器的值,start为所述第一个读取周期读取到的所述标记寄存器的值,α为预设系数。
66.具体的,如果当前读取周期为第一个读取周期,将当前读取周期读取到的标记寄存器的值记为变量start,如果当前读取周期不是第一个读取周期,将当前读取周期读取到的标记寄存器的值记为变量tmp,基于第一关系式tf=(tmp-start)
×
α即可确定从设备的当前延时时间,α为预设系数,用于保证当前延时时间tf和目标延时时间处于同一时间数量级。
67.举例说明,假设从设备的时钟周期为10μs,令n=10,则预设时间段可以设置为100μs,即预设时间段为0.1ms,再假设目标延时时间为10ms,那么α可以设置为0.1。
68.作为一种可选的实施例,协同工作场景需求的数据为测量设备测量的数据;
69.按读取周期读取标记寄存器的值之前,该协同工作方法还包括:
70.向从设备下发启动测量命令,以使从设备对测量设备进行初始化并反馈测量设备的初始化状态;
71.按读取周期读取标记寄存器的值的过程包括:
72.当确定初始化状态为正常状态,按读取周期读取标记寄存器的值。
73.作为一种可选的实施例,从设备还包括状态寄存器;
74.向从设备下发启动测量命令,以使从设备对测量设备进行初始化并反馈测量设备的初始化状态的过程包括:
75.向从设备下发启动测量命令,以使从设备对测量设备进行初始化并根据测量设备的初始化状态更新状态寄存器的值;
76.按读取周期读取标记寄存器的值的过程包括:
77.当查询到状态寄存器的值为目标值,按读取周期读取标记寄存器的值,目标值为初始化状态为正常状态时对应的值。
78.作为一种可选的实施例,测量设备为模数转换器。
79.请参照图3对一种协同测量任务场景下的协同工作方法进行说明,图3中,以mcu表示主设备,以fpga表示从设备,adc(analog-to-digital converter,模数转换器)表示测量设备。
80.具体的,mcu通过读写fpga的软件寄存器实现对fpga的控制,所以mcu下发命令给fpga,实际就是读写fpga的软件寄存器。fpga在接收到mcu下发的启动测量命令后,控制adc初始化,并负责采集adc的测量数据。在系统启动后,默认没有开启测量,即测量设备未初始化,当需要获得测量数据时,mcu下发启动测量命令给fpga,fpga收到该命令后对adc进行初始化。
81.进一步的,从设备还包括状态寄存器,状态寄存器用于指示测量设备的初始化状态,为了确认启动测量指令是否执行完成,mcu查询fpga的状态寄存器,fpga读取adc的初始化状态并将该状态转换为启动测量成功与否标志返回给mcu,具体的,比如启动测量成功可将该状态寄存器置1,启动测量失败则将该状态寄存器置0,当mcu确认启动测量成功时,需
要等待一段时间才能从fpga中读取测量数据,假设adc初始化完成以后,需要10ms其采集到的测量数据才能稳定,那么fpga需要等待10ms才能去获取测量数据并将数据放在数据存储寄存器中,mcu也需要等待10ms才能读取fpga的数据存储寄存器,期间如果mcu先结束延时并且马上要求fpga读数据存储寄存器,就会得到无效的数据。
82.因此,在图3中的时间a,mcu和fpga都确定了adc初始化完成,此时,mcu和fpga都需要等待10ms进行下一步。图3中以tick表示每个读取周期读取到的标记寄存器的值,mcu在时间a的值adc初始化完成后,先读取fpga的标记寄存器的值,并保存至变量start中,接下来mcu就按读取周期循环读取fpga的标记寄存器的值并保存至变量tmp中,当(tmp-start)
×
0.1》10,就表示fpga的时间经过了10ms,而fpga在第10ms的时候就会读取adc的测量数据并将测量数据放入数据存储寄存器中,此时,mcu读取数据存储寄存器获取到的测量数据就是有效的测量数据。本技术可在不修改硬件的基础上,通过软件高效的实现mcu和fpga的计时同步。
83.另一方面,请参照图4,图4为本技术所提供的一种协同工作系统的结构示意图,应用于主从系统中的主设备,主从系统还包括从设备,从设备包括标记寄存器,标记寄存器的值每隔预设时间段加1,其中,预设时间段为n倍的从设备的时钟周期,n为正整数,该协同工作系统包括:
84.读取模块1,用于若当前工作场景为协同工作场景,按读取周期读取标记寄存器的值;
85.确定模块2,用于基于当前读取周期读取到的标记寄存器的值确定当前延时时间;
86.获取模块3,用于当当前延时时间大于目标延时时间,从从设备中获取协同工作场景需求的数据。
87.可见,本实施例中,在主从系统的从设备中设置一个标记寄存器,以从设备的时钟确定预设时间段,该标记寄存器的值每隔预设时间段加1,若当前工作场景为协同工作场景,主设备通过读取从设备的标记寄存器的值来确定自身的当前延时时间,即主设备和从设备均以从设备的时钟来计算当前延时时间,以使主设备可以在确定从设备延时完成后,再从从设备中获取协同工作场景对应的数据,保证协同任务正常完成。
88.作为一种可选的实施例,基于当前读取周期读取到的标记寄存器的值确定当前延时时间的过程包括:
89.判断当前读取周期是否为第一个读取周期;
90.若否,基于当前读取周期读取到的标记寄存器的值和第一个读取周期读取到的标记寄存器的值确定当前延时时间。
91.作为一种可选的实施例,基于当前读取周期读取到的标记寄存器的值和第一个读取周期读取到的标记寄存器的值确定当前延时时间的过程包括:
92.通过第一关系式计算当前延时时间,所述第一关系式为tf=(tmp-start)
×
α;
93.其中,tf为所述当前延时时间,tmp为所述当前读取周期读取到的所述标记寄存器的值,start为所述第一个读取周期读取到的所述标记寄存器的值,α为预设系数。
94.作为一种可选的实施例,协同工作场景需求的数据为测量设备测量的数据;
95.按读取周期读取标记寄存器的值之前,该协同工作系统还包括:
96.初始化模块,用于向从设备下发启动测量命令,以使从设备对测量设备进行初始
化并反馈测量设备的初始化状态;
97.按读取周期读取标记寄存器的值的过程包括:
98.当确定初始化状态为正常状态,按读取周期读取标记寄存器的值。
99.作为一种可选的实施例,从设备还包括状态寄存器;
100.向从设备下发启动测量命令,以使从设备对测量设备进行初始化并反馈测量设备的初始化状态的过程包括:
101.向从设备下发启动测量命令,以使从设备对测量设备进行初始化并根据测量设备的初始化状态更新状态寄存器的值;
102.按读取周期读取标记寄存器的值的过程包括:
103.当查询到状态寄存器的值为目标值,按读取周期读取标记寄存器的值,目标值为初始化状态为正常状态时对应的值。
104.作为一种可选的实施例,测量设备为模数转换器。
105.作为一种可选的实施例,从设备还包括数据存储寄存器,从设备用于在当前延时时间达到目标延时时间时获取协同工作场景需求的数据并将数据存储到数据存储寄存器;
106.当当前延时时间大于目标延时时间,从从设备中获取协同工作场景需求的数据的过程包括:
107.当当前延时时间大于目标延时时间,从数据存储寄存器中获取协同工作场景需求的数据。
108.另一方面,本技术还提供了一种电子设备,包括:
109.存储器,用于存储计算机程序;
110.处理器,用于执行计算机程序时实现如上文任意一个实施例所描述的协同工作方法的步骤。
111.具体的,存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读命令,该内存储器为非易失性存储介质中的操作系统和计算机可读命令的运行提供环境。处理器为超声设备提供计算和控制能力,执行存储器中保存的计算机程序时,可以实现以下步骤:若当前工作场景为协同工作场景,按读取周期读取标记寄存器的值;基于当前读取周期读取到的标记寄存器的值确定当前延时时间;当当前延时时间大于目标延时时间,从从设备中获取协同工作场景需求的数据。
112.可见,本实施例中,在主从系统的从设备中设置一个标记寄存器,以从设备的时钟确定预设时间段,该标记寄存器的值每隔预设时间段加1,若当前工作场景为协同工作场景,主设备通过读取从设备的标记寄存器的值来确定自身的当前延时时间,即主设备和从设备均以从设备的时钟来计算当前延时时间,以使主设备可以在确定从设备延时完成后,再从从设备中获取协同工作场景对应的数据,保证协同任务正常完成。
113.另一方面,本技术还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上文任意一个实施例所描述的协同工作方法的步骤。
114.具体的,该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,计算机程序被处理器执行时实现上
述协同工作方法的步骤。
115.本技术所提供的一种计算机可读存储介质具有和上述协同工作方法相同的有益效果。
116.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
117.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其他实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1