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

一种数据收发系统、方法、电子设备及存储介质与流程

2022-02-19 05:25:27 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其是涉及一种数据收发系统、方法、电子设备及存储介质。


背景技术:

2.控制器局域网can(controller area network)是一种串行通信现场总线,最初主要用于实现汽车中众多的控制和测量仪器之间的数据通信,随着can总线的应用和普及,其所具有的实时性好、可靠性高、抗干扰能力强等优势也被航天领域所认可,并被广泛地应用到航天领域中。国内外均已将其引入综合电子系统,大量微小卫星已经将can总线作为星上骨干网络来完成星上设备间的信息交互。
3.现有技术中,星上设备在作为can总线上的节点进行数据收发时,通常是由微控制器实现对can总线数据的控制,多数微控制器内部都集成了can控制器,并通过外部连接的can收发器实现can总线通信。然而,can总线可实现的通信频率较低,在航空航天领域广泛使用的高速can总线的可靠通信频率仅为500khz,运低于目前主流微控制器的运行主频50mhz至100mhz。同时,微控制器的主要任务通常不是收发数据,而是对数据包的解析和运算处理,在接收数据时需要中断数据处理任务转而执行数据收发任务,这里,can总线的单帧数据仅包含8字节的目标数据,也就是说,每接收8字节的目标数据就需要触发一次中断。
4.上述数据收发方式中,当can总线上的某节点需要接收大量数据时,不但需要花费较长的时间,同时,还会造成因触发多次中断而导致微控制器的数据处理发生滞后的问题。


技术实现要素:

5.有鉴于此,本技术提供一种数据收发系统、方法、电子设备及存储介质,其目的是利用节点缓冲器将全部目标数据接收至缓存中,通过一次触发中断即可完成微控制器对目标数据的接收,解决了can总线上某节点在接收大量数据时接收时间较长,以及因为触发多次中断而导致微控制器的数据处理发生滞后的问题。
6.第一方面,本技术实施例提供了一种数据收发系统,包括微控制器和节点缓冲器,节点缓冲器包括处理单元以及总线控制单元;
7.微控制器将数据接收指令通过第一总线发送至处理单元,数据接收指令包括读取数据标识;
8.总线控制单元通过第二总线从外部节点实时接收目标长度的目标数据;
9.处理单元基于读取数据标识,将符合条件的目标数据放入缓存中进行存储;
10.处理单元判断缓存中存储的目标数据的数据总长度是否达到中断触发长度;
11.如果达到中断触发长度,则处理单元产生第一中断信号,并将第一中断信号发送至微控制器;
12.微控制器基于第一中断信号读取缓存中存储的目标数据。
13.可选地,第一总线的时钟频率与微控制器的主频同频,第一总线的通信速率高于
第二总线的通信速率。
14.可选地,总线控制单元通过第二总线从外部节点每接收到目标长度的目标数据,则产生第二中断信号;处理单元检测到第二中断信号后,从总线控制单元读取目标长度的目标数据。
15.可选地,处理单元可通过以下方式对目标数据进行存储:从读取的目标数据中提取目标数据所携带的目标数据标识;确定目标数据标识与读取数据标识是否一致;如果目标数据标识与读取数据标识一致,则确定目标数据符合条件,并将符合条件的目标数据放入缓存中进行存储;如果目标数据标识与读取数据标识不一致,则确定目标数据不符合条件。
16.可选地,处理单元可包括第一总线接口、第二总线接口和中断接口,处理单元通过第一总线接口连接到微控制器的总线接口,以从微控制器接收数据接收指令;处理单元通过第二总线接口连接到总线控制单元的总线接口,以从总线控制单元接收目标数据;处理单元通过中断接口连接到微控制器的中断触发引脚,以将第一中断信号通过中断接口发送至微控制器。
17.可选地,数据收发系统还可包括总线收发器;其中,总线控制单元通过第二总线连接到总线收发器,以通过总线收发器从外部节点实时接收目标数据。
18.第二方面,本技术实施例提供了一种数据同步方法,包括:
19.通过第一总线从微控制器接收数据接收指令,数据接收指令包括读取数据标识;
20.通过第二总线从总线控制单元接收目标长度的目标数据;
21.基于读取数据标识,将符合条件的目标数据放入缓存中进行存储;
22.判断缓存中存储的目标数据的数据总长度是否达到中断触发长度;
23.如果达到中断触发长度,则产生第一中断信号,并将第一中断信号发送至微控制器,以使微控制器基于第一中断信号读取缓存中存储的目标数据。
24.可选地,基于读取数据标识,将符合条件的目标数据进行存储的步骤可包括:从读取的目标数据中提取目标数据所携带的目标数据标识;确定目标数据标识与读取数据标识是否一致;如果目标数据标识与读取数据标识一致,则确定目标数据符合条件,并将符合条件的目标数据放入缓存中进行存储;如果目标数据标识与读取数据标识不一致,则确定目标数据不符合条件。
25.第三方面,本技术实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的数据收发方法的步骤。
26.第四方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述的数据收发方法的步骤。
27.本技术实施例带来了以下有益效果:
28.本技术实施例提供了一种数据收发系统、方法、电子设备及存储介质,数据收发系统包括微控制器和节点缓冲器,节点缓冲器包括处理单元以及总线控制单元;微控制器将数据接收指令通过第一总线发送至处理单元,数据接收指令包括读取数据标识;总线控制单元通过第二总线从外部节点实时接收目标长度的目标数据;处理单元基于读取数据标
识,将符合条件的目标数据放入缓存中进行存储;处理单元判断缓存中存储的目标数据的数据总长度是否达到中断触发长度;如果达到中断触发长度,则处理单元产生第一中断信号,并将第一中断信号发送至微控制器;微控制器基于第一中断信号读取缓存中存储的目标数据。本技术中利用节点缓冲器将全部目标数据接收至缓存中,通过一次触发中断即可完成微控制器对目标数据的接收,解决了can总线上某节点在接收大量数据时接收时间较长,以及因为触发多次中断而导致微控制器的数据处理发生滞后的问题。
29.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
30.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,以下附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
31.图1为现有技术中数据收发系统实施例一的结构示意图;
32.图2为现有技术中数据收发系统实施例二的结构示意图;
33.图3为本技术实施例提供的数据收发系统的结构示意图;
34.图4为本技术实施例提供的节点缓冲器的硬件结构示意图;
35.图5为本技术实施例提供的数据收发方法的流程示意图;
36.图6为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
37.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
38.现有技术中,星上设备在作为can总线上的节点进行数据收发时,通常是由微控制器实现对can总线数据的控制,多数微控制器内部都集成了can控制器,并通过外部连接的can收发器实现can总线通信。
39.图1为现有技术中数据收发系统实施例一的结构示意图,如图1所示,含can功能的微控制器通过can总线与can收发器直接通信,并控制can收发器收发数据,然而,can总线可实现的通信频率较低,在航空航天领域广泛使用的高速can总线的可靠通信频率仅为500khz,运低于目前主流微控制器的运行主频50mhz至100mhz,这种将微控制器直接连接can收发器从can总线上获取有效数据的方式,将微控制器获取数据的波特率与can总线的运行波特率绑定,这会降低数据接收的效率,当can总线上的某节点需要接收大量数据时,就需要花费较长的时间才能接收全部数据。同时,微控制器的主要任务通常不是收发数据,而是对数据包的解析和运算处理,在接收数据时需要中断数据处理任务转而执行数据收发任务,而can总线的单帧数据仅包含8字节的目标数据,也就是说,每接收8字节的目标数据就需要触发一次中断,如果需要接收128字节的数据,就需要触发16次中断,这会造成因触发多次中断而导致微控制器的数据处理发生滞后的问题。另外,在接收的数据量较大时,微
控制器内部对数据的缓存设计也较为复杂,既要保存尚未完全处理的数据,也需要对当前触发接收中断的数据进行缓存,这就要求对接收端的缓存逻辑进行优化设计,增加了微控制器的算法复杂度。
40.图2为现有技术中数据收发系统实施例二的结构示意图,如图2所示,不含can功能的微控制器通过can控制器与can收发器通信,并通过can收发器收发数据,当微控制器从can总线上收发数据时,需要微控制器对can控制器进行芯片时序操作,这会占用微控制器的芯片引脚以及指令资源,造成微控制器的数据处理滞后的问题。
41.基于此,本技术实施例提供一种数据收发系统、方法、电子设备及存储介质,利用节点缓冲器将全部目标数据接收至缓存中,通过一次触发中断即可完成微控制器对目标数据的接收,解决了can总线上某节点在接收大量数据时接收时间较长,以及因为触发多次中断而导致微控制器的数据处理发生滞后的问题。
42.为便于对本实施例进行理解,首先对本技术实施例所公开的一种数据收发系统进行详细介绍,图3为本技术实施例提供的数据收发系统的结构示意图,如图3所示,该数据收发系统10包括微控制器100、节点缓冲器200以及总线收发器300,节点缓冲器200包括处理单元201以及总线控制单元202。
43.微控制器100将数据接收指令通过第一总线发送至处理单元201。数据接收指令包括读取数据标识。
44.具体的,星上设备间进行信息交互时,可将每个设备视为一个节点,各个节点之间通过can总线进行通信,当某个节点要接收外部节点发送的目标数据时,该节点的微控制器100作为上位机,会将数据接收指令通过第一总线发送至处理单元201,以命令处理单元201执行数据接收任务,处理单元201接收到数据接收指令后,控制总线控制单元202接收外部节点发送的目标数据。另外,如果微控制器100不需要节点缓冲器200工作时,微控制器100可通过第一总线向节点缓冲器200发送关闭指令,使得节点缓冲器200停止工作。
45.示例性的,第一总线可以是外围总线(advanced peripheral bus,apb总线),并且第一总线的时钟频率与微控制器的主频同频,可以理解的,由于第一总线的时钟频率与微控制器的主频同频,使得微控制器100在读写can总线数据时,将不再受到波特率的限制,提高了微控制器100数据读取和写入的效率。处理单元201可以是现场可编程逻辑门阵列(field programmable gate array,fpga),它能够接收微控制器100发送的数据接收指令,并根据该数据接收指令控制总线控制单元202接收外部节点发送的目标数据,总线控制单元202可以是can控制器,它与处理单元201共同构成了节点缓冲器200。可以理解的,由节点缓冲器200执行can总线上数据的收发处理,而微控制器100仅需要对特定地址进行数据写入或者读取操作,这不但简化了微控制器100的中断处理操作,还释放了微控制器100在接收数据时耗费的总线处理的指令资源。
46.在一示例中,数据接收指令的发送是微控制器100通过对特定地址写入数据来实现的,每个特定地址对应实现特定的功能,例如:地址0x00用于控制can总线节点缓冲器200的使能,位宽为2位,低位1为开启,0为关闭;高位1为can扩展帧,0为can标准帧。地址0x10用于设置中断触发长度,位宽与接收中断缓存深度有关,如接收缓存深度为128字节,则位宽为8位,值为中断触发长度,例如:如果目标数据的总长度为9字节,这中断触发长度可设置为9。地址0x20用于读取缓存中的目标数据,位宽为8位,当读取0x20时,会将接收缓存中的
目标数据按照先入先出的方式发送到第一总线中。地址0x30用于将目标数据写入发送缓存中,位宽为8位,当向0x30写入字节时,目标数据将被逐个字节写入发送缓存中。地址0x40用于发送控制,位宽为1位,当向0x40写入0x01时,使能发送功能,将发送缓存中的目标数据,按照总线控制器202的发送逻辑逐个发送到第二总线上。地址0x50用于设置读取数据标识,处理单元201将根据读取数据标识对目标数据进行过滤。
47.总线控制单元202通过第二总线从外部节点实时接收目标长度的目标数据。
48.具体的,总线控制单元202通过第二总线连接到总线收发器300,以通过总线收发器300从外部节点实时接收目标数据,总线控制单元202通过第二总线从外部节点每接收到目标长度的目标数据,则产生第二中断信号,处理单元201检测到第二中断信号后,从总线控制单元202读取目标长度的目标数据。
49.示例性的,第二总线可以是can总线,第一总线的通信速率高于第二总线的通信速率,总线收发器300可以是can收发器,总线控制单元202从外部节点实时接收的数据为can数据帧,该can数据帧中包括目标数据标识以及目标数据,目标数据的长度为8字节,这8个字节即为目标数据的目标长度。总线控制单元202每接收到8字节的目标数据后,就会触发硬件接收中断,该硬件接收中断即为第二中断信号,处理单元201会检测总线控制单元202是否触发硬件接收中断,如果检测到总线控制单元202触发了硬件接收中断,则从总线控制单元202读取8字节的目标数据。
50.以上述示例为例,处理单元201为fpga,总线控制单元202为can控制器,处理单元201将触发方式设置为下降沿触发,能够实时敏感到硬件接收中断引脚的电平变化,如果触发了硬件接收中断引脚的高电平到低电平的下降沿,则处理单元201从总线控制单元202读取目标数据。
51.处理单元201基于读取数据标识,将符合条件的目标数据放入缓存中进行存储。
52.具体的,处理单元201从总线控制单元202读取目标数据后,从读取的目标数据中提取目标数据所携带的目标数据标识,确定目标数据标识与读取数据标识是否一致,如果目标数据标识与读取数据标识一致,则确定目标数据符合条件,并将符合条件的目标数据放入缓存中进行存储,如果目标数据标识与读取数据标识不一致,则确定目标数据不符合条件。
53.以上述示例为例,微控制器100发送的数据接收指令中读取数据标识为id3,处理单元201会从接收的can数据帧中提取目标数据标识,确定目标数据标识与读取数据标识是否均为id3,如果目标数据标识与读取数据标识均为id3,则确定目标数据符合条件,并将该目标数据放入缓存中进行存储,如果目标数据标识不是id3,则确定该目标数据不符合条件,并将该目标数据过滤掉,不将其存储在缓存中。需要说明的是,缓存包括接收缓存和发送缓存,在接收目标数据时,将目标数据存储在接收缓存中,在发送目标数据时,将目标数据存储在发送缓存中。
54.处理单元201判断缓存中存储的目标数据的数据总长度是否达到中断触发长度。
55.具体的,数据接收指令中还包括中断触发长度,该中断触发长度也是由微控制器100写入指定地址的,处理单元201会依据该中断触发长度判断缓存中存储的目标数据的数据总长度是否达到微控制器100所要接收数据的长度。
56.如果达到中断触发长度,则处理单元201产生第一中断信号,并将第一中断信号发
送至微控制器100。
57.具体的,如果处理单元201确定缓存中存储的目标数据的数据总长度达到中断触发长度,则产生第一中断信号,并且处理单元201通过中断接口连接到微控制器100的中断触发引脚,以将第一中断信号通过中断接口发送至微控制器100,如果处理单元201确定缓存中存储的目标数据的数据总长度未达到中断触发长度,则重复执行数据接收过程,直至缓存中存储的目标数据的数据总长度达到中断触发长度。需要指出的是,处理单元201可包括第一总线接口、第二总线接口和中断接口,处理单元201通过第一总线接口连接到微控制器100的总线接口,以从微控制器100接收数据接收指令,处理单元201通过第二总线接口连接到总线控制单元202的总线接口,以从总线控制单元202接收目标数据,处理单元201通过中断接口连接到微控制器100的中断触发引脚,以将第一中断信号通过中断接口发送至微控制器100。
58.以上述示例为例,如果处理单元201确定缓存中存储的目标数据的数据总长度达到9字节,则处理单元201产生第一中断信号,并将第一中断信号通过中断接口发送至微控制器100。
59.微控制器100基于第一中断信号读取缓存中存储的目标数据。
60.具体的,微控制器100接收到第一中断信号后,从缓存中逐个字节的读取全部目标数据。可以理解的,微控制器100经过一次中断处理即可从缓存中读取全部数据,这不但能够简化can总线接收中断的处理函数,还避免了接收大量数据时,由于触发多次中断而导致的微控制器100无法及时处理主要任务的问题。
61.数据收发系统10还能够实现微控制器100向外部节点发送数据的功能。这里,微控制器100将发送数据指令通过第一总线发送至处理单元201,并将要发送的全部目标数据直接写入发送缓存中,处理单元201检测发送缓存是否为空,如果发送缓存不为空,则自动从发送缓存中读取目标数据,并对所读取的目标数据进行分包处理,然后将经过分包处理后的目标数据以数据帧的形式发送至总线控制单元202,总线控制单元202通过总线收发器300将目标数据发送至外部节点。这里,分包处理是按照目标长度进行分包的,以上述示例为例,目标长度仍为8字节,如果要发送的目标数据为10个字节,则将该目标数据分成2个数据包,这2个数据包分别包括8字节的数据以及2字节的数据,然后将这2个数据包经由总线控制器202发送至外部节点。
62.图4为本技术实施例提供的节点缓冲器的硬件结构示意图,如图4所示,处理单元201选用fpga,总线控制单元202选用sja1000t芯片,总线收发器选用can收发器,由于sja1000t的运行电压为5v,而fpga的引脚电平多为3.3v及以下,所以在fpga与sja1000t芯片间加入电平转换芯片实现引脚电平标准的转换。sja1000t芯片实现了地址数据总线复用的方法,所以分时复用的引脚是具有方向控制的三态门引脚,所以也要求电平转换芯片具有收发双向电平转换的功能。综合这些要求,电平转换芯片确定为sn74lvc16t245。
63.这里,电平协议转换芯片sn74lvc16t245具有2个分区,可独立控制信号传输方向以及电平转换协议。因为节点缓冲器中信号传递方向有包括三种情况,分别是由fpga传输到sja1000t、由sja1000t传输到fpga以及双向传输分时复用,所以利用2片sn74lvc16t245的三个分区分别适配如上三种情况。
64.可见,节点缓冲器与微控制器和can收发器配合使用时,对外接口仅有总线收发器
端的can总线接口canh和canl,这与微控制器利用内部can控制算法配合can收发器实现的can总线的接口是一致的,可以直接兼容原有can总线的节点设计,具有良好的兼容性。
65.图5为本技术实施例提供的数据收发方法的流程示意图,上述数据收发方法可以在上述的数据收发系统中的处理单元201中执行,如图5所示,该方法包括:
66.步骤401,通过第一总线从微控制器接收数据接收指令。这里,数据接收指令包括读取数据标识。
67.步骤402,通过第二总线从总线控制单元接收目标长度的目标数据。
68.步骤403,基于读取数据标识,将符合条件的目标数据放入缓存中进行存储。
69.步骤404,判断缓存中存储的目标数据的数据总长度是否达到中断触发长度。
70.如果达到中断触发长度,则执行步骤405:产生第一中断信号,并将第一中断信号发送至微控制器,以使微控制器基于第一中断信号读取缓存中存储的目标数据。
71.如果没有达到中断触发长度,则执行步骤406:继续从外部节点实时接收目标长度的目标数据。
72.由于本技术实施例中的方法解决问题的原理与本技术实施例上述数据收发系统相似,因此方法的实施可以参见系统的实施,重复之处不再赘述。
73.对应于图5中的数据收发方法,本技术实施例还提供了一种电子设备500的结构示意图,所述电子设备500可以是数据收发系统10中的处理单元201,如图6所示,所述电子设备500包括处理器510、存储器520和总线530。所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过总线530通信,所述机器可读指令被所述处理器510执行时,能够执行上述数据收发方法,利用节点缓冲器将全部目标数据接收至缓存中,通过一次触发中断即可完成微控制器对目标数据的接收,解决了can总线上某节点在接收大量数据时接收时间较长,以及因为触发多次中断而导致微控制器的数据处理发生滞后的问题。
74.对应于图5中的数据收发方法,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述数据收发方法的步骤。
75.具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述数据收发方法,利用节点缓冲器将全部目标数据接收至缓存中,通过一次触发中断即可完成微控制器对目标数据的接收,解决了can总线上某节点在接收大量数据时接收时间较长,以及因为触发多次中断而导致微控制器的数据处理发生滞后的问题。
76.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,可以参考上述方法实施例中的对应过程,在此不再赘述。
77.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
78.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
79.另外,在本技术提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
80.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
81.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
82.最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
再多了解一些

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

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

相关文献