电路板之间的通讯方法及装置与流程
未命名
08-07
阅读:158
评论:0

1.本发明涉及电路板通讯技术领域,尤其涉及电路板之间的通讯方法及装置。
背景技术:
2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.目前,电路板之间进行通讯时,完全依赖接收到的报文长度指示和实际接收到的报文数量来区别不同报文,例如,接收到的报文长度指示为20,则在接收到20个报文后,将20个报文确定为一个完整的报文数据。但是在实际的通讯过程中,因为通讯抖动等,有的报文发送之后可能无法到达,导致电路板实际接收到的报文根据报文长度指示计算属于同一个报文数据,但是实际并不属于同一个报文数据,造成报文传输信息错误,当前电路板之间的通信效率低,准确性较差。
技术实现要素:
4.本发明实施例提供一种电路板之间的通讯方法,用以有效划分电路板之间传输的报文数据,提高电路板之间的通信效率、以及通信准确性,该方法包括:
5.接收到报文发送电路板发送的本次报文数据中的头部标识报文时,启动第一定时器采集接收本次报文数据中相邻报文的第一间隔时长;
6.在第一间隔时长大于第一预设时长时,关闭直接存储器访问dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文;
7.在第一间隔时长不大于第一预设时长时,继续接收本次报文数据中的报文;
8.在接收到本次报文数据中标识报文长度的长度报文时,根据报文长度确定第二预设时长,启动第二定时器采集接收本次报文数据中的长度报文到最终报文之间的第二间隔时长;
9.在第二间隔时长大于第二预设时长时,关闭dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文。
10.本发明实施例还提供一种电路板之间的通讯装置,用以有效划分电路板之间传输的报文数据,提高电路板之间的通信效率、以及通信准确性,该装置包括:
11.第一处理模块,用于接收到报文发送电路板发送的本次报文数据中的头部标识报文时,启动第一定时器采集接收本次报文数据中相邻报文的第一间隔时长;
12.第二处理模块,用于在第一间隔时长大于第一预设时长时,关闭直接存储器访问dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文;
13.第三处理模块,用于在第一间隔时长不大于第一预设时长时,继续接收本次报文数据中的报文;
14.第四处理模块,用于在接收到本次报文数据中标识报文长度的长度报文时,根据
报文长度确定第二预设时长,启动第二定时器采集接收本次报文数据中的长度报文到最终报文之间的第二间隔时长;
15.第五处理模块,用于在第二间隔时长大于第二预设时长时,关闭dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文。
16.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述电路板之间的通讯方法。
17.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述电路板之间的通讯方法。
18.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述电路板之间的通讯方法。
19.本发明实施例中,接收到报文发送电路板发送的本次报文数据中的头部标识报文时,启动第一定时器采集接收本次报文数据中相邻报文的第一间隔时长;在第一间隔时长大于第一预设时长时,关闭直接存储器访问dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文;在第一间隔时长不大于第一预设时长时,继续接收本次报文数据中的报文;在接收到本次报文数据中标识报文长度的长度报文时,根据报文长度确定第二预设时长,启动第二定时器采集接收本次报文数据中的长度报文到最终报文之间的第二间隔时长;在第二间隔时长大于第二预设时长时,关闭dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文。这样,能够根据报文数据中的报文传输时间间隔、以及预设时长,来判断接收到的报文是否属于同一个报文数据,是否应该开始下一个报文数据的接收,降低因为通讯抖动而导致的报文错位,有效划分电路板之间传输的报文数据,提高电路板之间的通信效率、以及通信准确性。
附图说明
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
21.图1为本发明实施例中提供的一种电路板之间的通讯方法的流程图;
22.图2为本发明实施例中提供的一种报文接收电路板中的报文数据和第一间隔时长和第二间隔时长示例图;
23.图3为本发明实施例中提供的一种电路板之间的通讯装置的示意图;
24.图4为本发明实施例中提供的又一种电路板之间的通讯装置的示意图;
25.图5为本发明实施例中提供的一种计算机设备的示意图。
具体实施方式
26.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并
不作为对本发明的限定。
27.本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
28.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
29.在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本技术的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
30.经研究发现,电路板之间进行通讯时,完全依赖接收到的报文长度指示和实际接收到的报文数量来区别不同报文,例如,接收到的报文长度指示为20,则在接收到20个报文后,将20个报文确定为一个完整的报文数据。但是在实际的通讯过程中,因为通讯抖动等,有的报文发送之后可能无法到达,导致电路板实际接收到的报文根据报文长度指示计算属于同一个报文数据,但是实际并不属于同一个报文数据,造成报文传输信息错误,当前电路板之间的通信效率低,准确性较差。
31.针对上述研究,如图1所示,为本发明实施例提供的一种电路板之间的通讯方法,应用于报文接收电路板,包括:
32.s101:接收到报文发送电路板发送的本次报文数据中的头部标识报文时,启动第一定时器采集接收本次报文数据中相邻报文的第一间隔时长;
33.s102:在第一间隔时长大于第一预设时长时,关闭直接存储器访问dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文;
34.s103:在第一间隔时长不大于第一预设时长时,继续接收本次报文数据中的报文;
35.s104:在接收到本次报文数据中标识报文长度的长度报文时,根据报文长度确定第二预设时长,启动第二定时器采集接收本次报文数据中的长度报文到最终报文之间的第二间隔时长;
36.s105:在第二间隔时长大于第二预设时长时,关闭dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文。
37.本发明实施例中,接收到报文发送电路板发送的本次报文数据中的头部标识报文时,启动第一定时器采集接收本次报文数据中相邻报文的第一间隔时长;在第一间隔时长大于第一预设时长时,关闭直接存储器访问dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文;在第一间隔时长不大于第一预设时长时,继续接收本次报文数据中的报文;在接收到本次报文数据中标识报文长度的长度报文时,根据报文长度确定第二预设时长,启动第二定时器采集接收本次报文数据中的长度报文到最终报文之间的第二间隔时长;在第二间隔时长大于第二预设时长时,关闭dma接
收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文。这样,能够根据报文数据中的报文传输时间间隔、以及预设时长,来判断接收到的报文是否属于同一个报文数据,是否应该开始下一个报文数据的接收,降低因为通讯抖动而导致的报文错位,有效划分电路板之间传输的报文数据,提高电路板之间的通信效率、以及通信准确性。
38.下面对上述电路板之间的通讯方法加以详细说明。
39.本发明实施例所述的报文发送电路板和报文接收电路板在通讯过程中可以进行双向通信,也即报文发送电路板不仅可以发送报文数据,也可以应用本发明实施例所述的电路板之间的通讯方法接收报文接收电路板发送的报文,例如电路板1报文发送电路板,电路板2为报文接收电路板,则电路板1向电路板2发送数据报文时,电路板2要根据接收到的报文向电路板1反馈报文,电路板1也能作为报文接收方接收电路板2发送的报文。
40.为了更加清晰的理解本发明实施例所述的电路板之间的通讯方法,以下结合图2进行说明,图2为本发明实施例提供的一种报文接收电路板中的报文数据和第一间隔时长和第二间隔时长示例图,其中,h、l、其他数据、c1为一个完整的报文数据,是电路板2即报文接收电路板接收到的报文数据,dm、h、c1为一个完整的报文数据,是电路板2根据前述报文数据要反馈给报文发送电路板的报文数据,timer1为第一间隔时长,timer2为第二间隔时长,第二r1、r2、r13、t1、t2、t13等代表一个完整的报文数据中相邻两报文间的部分间隔时长,其加上预先配置的报文接收电路板相邻报文接收的传输间隔延时时长等于第一间隔时长,例如r1+sleep=timer1。
41.针对上述s101,如图2所示,每一报文数据中包括的数据例如有:报文头部标识(如图2中的h)、标识报文长度的长度报文(如图2中的l)、报文内容(如图2中的其他数据)、校验码(如图2中的c1),电路板之间传输报文数据时,会先传输报文头部标识,然后发送长度报文,然后传输长度报文标识的报文长度的报文内容,最终发送校验码。报文接收电路板接收到本次报文数据中的头部标识报文时,马上启动dma数据传输,将接收到的数据传输到内存中进行缓存,同时启动一个定时器(即第一定时器),作为本次报文数据的数据传输的看门狗,用于采集接收本次报文数据中相邻报文的第一间隔时长,例如,报文头部标识与标识报文长度的长度报文之间的第一间隔时长、长度报文与报文内容中的第一个报文之间的第一间隔时长、
…
、报文内容中的最后一个报文和校验码之间的第一间隔时长。
42.针对上述s102,第一预设时长为预先设置的第一定时器的超时时长。当确定第一间隔时长大于第一预设时长时,代表本次报文数据传输因为一些情况(例如网络抖动等)报文发送电路板已经传输完毕,但是报文接收电路板没有接收到对应的报文,之后接收到的报文应该属于下一个报文数据中的报文了,因此在第一间隔时长大于第一预设时长时,关闭直接存储器访问dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文。
43.本发明一是实施利中,采用下述公式确定第一预设时长:
44.timeout 1=a
×
(bit/b+sleep)+t_offse1;
45.其中,timeout 1为第一预设时长,t_offset1为报文接收电路板的内部机器时钟周期,a为预设系数,为bit/b报文发送电路板的每波特率的单词数据传输长度,sleep为预先配置的报文接收电路板相邻报文接收的传输间隔延时时长。
46.示例性的,电路板2每次在收到报文数据后,马上启动dma数据传输,将接收到的报文数据传输到内存中进行缓存,同时启动第一定时器timer1,作为本次报文数据t传输的看门狗,用于监视本次数据通讯是否发生超时。定时器1的超时时长timeout1(即第一预设时长)设定根据电路板1的波特率b、单次数据传输长度bit、传输间隔延时sleep、电路板2内部机器时钟周期t_offset1(表示该电路板内部芯片单步运行的最小周期)来确定,本发明一实施例中,取预设系数a为1.1,电路板1的波特率b为3500000、单次数据传输长度bit为16、预先配置的报文接收电路板相邻报文接收的传输间隔延时时长sleep为0.00005秒,t_offset为0.000001秒,则利用上述公式计算可得timeout1为0.000061秒,即61微秒。
47.针对上述s103,第一间隔时长不大于第一预设时长代表本次报文数据中的报文传输和接收都正常,可以接续接收本次报文数据中的报文。
48.针对上述s104,第二预设时长为预先设置的第二定时器的超时时长。第二预设时长根据报文长度确定,因此在接收到报文数据中的长度报文后,再启动第二定时器采集接收本次报文数据中的长度报文到最终报文之间的第二间隔时长。
49.本发明一实施例中,采用下述公式确定第二预设时长:
50.timeout 2=timeout 1
×
(l+3)-t_offset2;
51.其中,timeout 2为第二预设时长,timeout 1为第一预设时长,l为本次报文数据中标识的报文长度,t_offset2为报文接收电路板内部读取、处理报文消耗的时长。
52.示例性的,电路板2在接收到报文数据的长度报文l后,启动第二定时器timer2,报文长度l的大小,决定了后续还有l个有效数据传输d0~d(l-1),还有2个c1数据,记及本次通讯的时间,即:总共包含了l+3次数据通讯报文和l+3次传输间隔。定时器2的超时时间timeout2设定根据电路板1的波特率b、单次数据传输长度bit、报文接收电路板内部读取、处理报文消耗的时长t_offset2来确定,本发明一实施例中,数据长度l为9电路板1的波特率b为3500000、单次数据传输长度bit为16、t_offset2为0.000005秒,则根据上述公式可确定timeout2为0.000727秒,即727微秒。
53.针对上述s105,当确定第二间隔时长大于第二预设时长时,代表本次报文数据传输完毕,之后接收到的报文应该属于下一个报文数据中的报文了,因此在第二间隔时长大于第二预设时长时,关闭直接存储器访问dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文。
54.此外,为了避免轻微抖动就切换到下一报文数据的接收,本发明一实施例中,在接收到本次报文数据中标识报文长度的长度报文时,根据报文长度确定第二预设时长,启动第二定时器采集接收本次报文数据中的长度报文到最终报文之间的第二间隔时长,包括:预先配置预留时长;在接收到本次报文数据中标识报文长度的长度报文时,启动第二定时器采集接收本次报文数据中的长度报文到接收到最终报文等待预留时长后的第二间隔时长,如图2中采集r2到r13之后再经过sleep时长后的总时间长度作为第二间隔时长。
55.本发明实施例中还提供了一种电路板之间的通讯装置,如下面的实施例所述。由于该装置解决问题的原理与电路板之间的通讯方法相似,因此该装置的实施可以参见电路板之间的通讯方法的实施,重复之处不再赘述。
56.如图3所示,为本发明实施例中提供的一种电路板之间的通讯装置的示意图,包括:
57.第一处理模块301,用于接收到报文发送电路板发送的本次报文数据中的头部标识报文时,启动第一定时器采集接收本次报文数据中相邻报文的第一间隔时长;
58.第二处理模块302,用于在第一间隔时长大于第一预设时长时,关闭直接存储器访问dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文;
59.第三处理模块303,用于在第一间隔时长不大于第一预设时长时,继续接收本次报文数据中的报文;
60.第四处理模块304,用于在接收到本次报文数据中标识报文长度的长度报文时,根据报文长度确定第二预设时长,启动第二定时器采集接收本次报文数据中的长度报文到最终报文之间的第二间隔时长;
61.第五处理模块305,用于在第二间隔时长大于第二预设时长时,关闭dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文。
62.在一种可能的实施方式中,如图4所示,电路板之间的通讯装置,还包括:第一预设时长确定模块401,用于采用下述公式确定第一预设时长:
63.timeout 1=a
×
(bit/b+sleep)+t_offse1;
64.其中,timeout 1为第一预设时长,t_offset1为报文接收电路板的内部机器时钟周期,a为预设系数,为bit/b报文发送电路板的每波特率的单词数据传输长度,sleep为预先配置的报文接收电路板相邻报文接收的传输间隔延时时长。
65.在一种可能的实施方式中,第四处理模块304,具体用于采用下述公式确定第二预设时长:
66.timeout 2=timeout 1
×
(l+3)-t_offset2;
67.其中,timeout 2为第二预设时长,timeout 1为第一预设时长,l为本次报文数据中标识的报文长度,t_offset2为报文接收电路板内部读取、处理报文消耗的时长。
68.在一种可能的实施方式中,第四处理模块304,具体用于预先配置预留时长;在接收到本次报文数据中标识报文长度的长度报文时,启动第二定时器采集接收本次报文数据中的长度报文到接收到最终报文等待预留时长后的第二间隔时长。
69.基于前述发明构思,如图5所示,本发明还提出了一种计算机设备500,包括存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序530,所述处理器520执行所述计算机程序530时实现前述电路板之间的通讯方法。
70.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述电路板之间的通讯方法。
71.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述电路板之间的通讯方法。
72.本发明实施例中,接收到报文发送电路板发送的本次报文数据中的头部标识报文时,启动第一定时器采集接收本次报文数据中相邻报文的第一间隔时长;在第一间隔时长大于第一预设时长时,关闭直接存储器访问dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文;在第一间隔时长不大于第一预设时长时,继续接收本次报文数据中的报文;在接收到本次报文数据中标识报文长度的长度报文时,根据报文长度确定第二预设时长,启动第二定时器采集接收本次报文数据中的长
度报文到最终报文之间的第二间隔时长;在第二间隔时长大于第二预设时长时,关闭dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文。这样,能够根据报文数据中的报文传输时间间隔、以及预设时长,来判断接收到的报文是否属于同一个报文数据,是否应该开始下一个报文数据的接收,降低因为通讯抖动而导致的报文错位,有效划分电路板之间传输的报文数据,提高电路板之间的通信效率、以及通信准确性。
73.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
74.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
75.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
76.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
77.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种电路板之间的通讯方法,其特征在于,应用于报文接收电路板,包括:接收到报文发送电路板发送的本次报文数据中的头部标识报文时,启动第一定时器采集接收本次报文数据中相邻报文的第一间隔时长;在第一间隔时长大于第一预设时长时,关闭直接存储器访问dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文;在第一间隔时长不大于第一预设时长时,继续接收本次报文数据中的报文;在接收到本次报文数据中标识报文长度的长度报文时,根据报文长度确定第二预设时长,启动第二定时器采集接收本次报文数据中的长度报文到最终报文之间的第二间隔时长;在第二间隔时长大于第二预设时长时,关闭dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文。2.如权利要求1所述的电路板之间的通讯方法,其特征在于,还包括:采用下述公式确定第一预设时长:timeout 1=a
×
(bit/b+sleep)+t_offse1;其中,timeout 1为第一预设时长,t_offset1为报文接收电路板的内部机器时钟周期,a为预设系数,为bit/b报文发送电路板的每波特率的单词数据传输长度,sleep为预先配置的报文接收电路板相邻报文接收的传输间隔延时时长。3.如权利要求1所述的电路板之间的通讯方法,其特征在于,还包括:采用下述公式确定第二预设时长:timeout 2=timeout 1
×
(l+3)-t_offset2;其中,timeout 2为第二预设时长,timeout 1为第一预设时长,l为本次报文数据中标识的报文长度,t_offset2为报文接收电路板内部读取、处理报文消耗的时长。4.如权利要求1所述的电路板之间的通讯方法,其特征在于,在接收到本次报文数据中标识报文长度的长度报文时,根据报文长度确定第二预设时长,启动第二定时器采集接收本次报文数据中的长度报文到最终报文之间的第二间隔时长,包括:预先配置预留时长;在接收到本次报文数据中标识报文长度的长度报文时,启动第二定时器采集接收本次报文数据中的长度报文到接收到最终报文等待预留时长后的第二间隔时长。5.一种电路板之间的通讯装置,其特征在于,包括:第一处理模块,用于接收到报文发送电路板发送的本次报文数据中的头部标识报文时,启动第一定时器采集接收本次报文数据中相邻报文的第一间隔时长;第二处理模块,用于在第一间隔时长大于第一预设时长时,关闭直接存储器访问dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文;第三处理模块,用于在第一间隔时长不大于第一预设时长时,继续接收本次报文数据中的报文;第四处理模块,用于在接收到本次报文数据中标识报文长度的长度报文时,根据报文长度确定第二预设时长,启动第二定时器采集接收本次报文数据中的长度报文到最终报文之间的第二间隔时长;
第五处理模块,用于在第二间隔时长大于第二预设时长时,关闭dma接收中断,清除本次报文数据的dma缓存,启动下一次dma接收中断,等待接收下一个报文数据的报文。6.如权利要求5所述的电路板之间的通讯装置,其特征在于,还包括:第一预设时长确定模块,用于采用下述公式确定第一预设时长:timeout 1=a
×
(bit/b+sleep)+t_offse1;其中,timeout 1为第一预设时长,t_offset1为报文接收电路板的内部机器时钟周期,a为预设系数,为bit/b报文发送电路板的每波特率的单词数据传输长度,sleep为预先配置的报文接收电路板相邻报文接收的传输间隔延时时长。7.如权利要求5所述的电路板之间的通讯装置,其特征在于,第四处理模块,具体用于采用下述公式确定第二预设时长:timeout 2=timeout 1
×
(l+3)-t_offset2;其中,timeout 2为第二预设时长,timeout 1为第一预设时长,l为本次报文数据中标识的报文长度,t_offset2为报文接收电路板内部读取、处理报文消耗的时长。8.如权利要求5所述的电路板之间的通讯装置,其特征在于,第四处理模块,具体用于预先配置预留时长;在接收到本次报文数据中标识报文长度的长度报文时,启动第二定时器采集接收本次报文数据中的长度报文到接收到最终报文等待预留时长后的第二间隔时长。9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一所述方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至4任一所述方法。11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至4任一所述方法。
技术总结
本发明公开了一种电路板之间的通讯方法及装置,涉及电路板通讯技术领域,其中该方法包括:接收到头部标识报文时,启动第一定时器采集接收相邻报文的第一间隔时长;在第一间隔时长大于第一预设时长时,清除本次报文数据的DMA缓存,启动下一次DMA接收中断;在第一间隔时长不大于第一预设时长时,继续接收本次报文数据中的报文;在接收到本次报文数据中标识报文长度的长度报文时,根据报文长度确定第二预设时长,启动第二定时器采集接收本次报文数据中的长度报文到最终报文之间的第二间隔时长;在第二间隔时长大于第二预设时长时,清除本次报文数据的DMA缓存,启动下一次DMA接收中断。本发明可以提高电路板之间的通信准确性。本发明可以提高电路板之间的通信准确性。本发明可以提高电路板之间的通信准确性。
技术研发人员:刘东 于洋 田淑杭
受保护的技术使用者:中冶京诚工程技术有限公司
技术研发日:2023.05.18
技术公布日:2023/8/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种户外LCD节能控制系统及方法与流程 下一篇:一种车辆智慧避让方法与流程