CN111797044A - 一种异步串口通信系统数据延迟处理系统及方法 - Google Patents
一种异步串口通信系统数据延迟处理系统及方法 Download PDFInfo
- Publication number
- CN111797044A CN111797044A CN202010448494.5A CN202010448494A CN111797044A CN 111797044 A CN111797044 A CN 111797044A CN 202010448494 A CN202010448494 A CN 202010448494A CN 111797044 A CN111797044 A CN 111797044A
- Authority
- CN
- China
- Prior art keywords
- data
- sensors
- processing
- sensor
- semaphore
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004891 communication Methods 0.000 title claims abstract description 20
- 230000005540 biological transmission Effects 0.000 claims abstract description 37
- 230000003213 activating effect Effects 0.000 claims abstract description 4
- 230000000630 rising effect Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims description 5
- 238000005070 sampling Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0064—Latency reduction in handling transfers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开一种异步串口通信系统数据延迟处理系统、方法、计算机设备及计算机可读存储介质,应用于处理多个传感器传输的数据,包括:缓存单元,用于将所述多个传感器传输的数据分别刷新至所述缓存单元的数据缓冲区;处理单元,用于处理所述数据缓冲区内的数据;控制单元,用于在检测到所述信号量触发时刻到来时,激活所述处理单元进行数据处理;其中,所述信号量触发时刻为多个传感器中数据传输周期最长的传感器的数据到来时刻,利用改进后的基于信号量的数据处理架构,能够有效降低由于长周期采样传感器带来的数据延迟问题,数据延迟由传统的长周期传感器数据采样周期降低至短周期传感器数据采样周期之内。
Description
技术领域
本发明涉及系统数据处理技术领域。更具体地,涉及一种异步串口通信系统数据延迟处理系统、方法、计算机设备及计算机可读存储介质。
背景技术
在数据处理系统中,各传感器与执行机构间一般采用的通信方式主要有:1553B总线、CAN总线以及异步串口(RS232/422)等,对于采用异步串口进行通信的系统而言,由于系统各设备之间采用异步通信机制与中断触发方式,各系统设备均处于独立工作状态,在主计算机进行各设备的数据处理与分发时,数据同步(或有效降低数据延迟)显得尤为重要。
发明内容
为解决背景技术中所提出的技术问题中的至少一个,本发明的一个目的在于提供一种异步串口通信系统数据延迟处理系统,应用于处理多个传感器传输的数据,包括:
缓存单元,用于将所述多个传感器传输的数据分别刷新至所述缓存单元的数据缓冲区;
处理单元,用于处理所述数据缓冲区内的数据;
控制单元,用于在检测到所述信号量触发时刻到来时,激活所述处理单元进行数据处理;
其中,所述信号量触发时刻为多个传感器中数据传输周期最长的传感器的数据到来时刻。
可选地,上述系统还包括:
比较单元,用于比较所述多个传感器的数据传输周期,并选择所述多个传感器的数据传输周期最长的传感器的数据到来时刻作为信号量触发时刻。
可选地,上述系统还包括
采集单元,用于采集所述多个传感器在数据传输过程中相邻两个上升沿到来的时间;
其中,所述相邻两个上升沿到来的时间为传感器的数据传输周期。
可选地,上述系统中,所述比较单元比较所述多个传感器在数据传输中相邻两个上升沿到来的时间,并选择所述述多个传感器在数据传输中相邻两个上升沿到来的时间最长的传感器的数据到来时刻作为信号量触发时刻。
可选地,上述系统中,所述控制单元为微控制器、上位机或处理器。
本发明的第二个目的在于提供一种异步串口通信系统数据延迟处理方法,应用于处理多个传感器传输的数据,包括:
将多个传感器中数据传输周期最长的传感器的数据到来时刻指定为信号量触发时刻;
所述缓存单元将所述多个传感器传输的数据分别刷新至所述缓存单元的数据缓冲区;
当所述控制单元检测到信号量触发时刻到来时,激活处理单元进行数据处理。
可选地,所述将多个传感器中数据传输周期最长的传感器的数据到来时刻指定为信号量触发时刻包括:
利用比较单元比较所述多个传感器的数据传输周期,并选择所述多个传感器的数据传输周期最长的传感器的数据到来时刻作为信号量触发时刻。
可选地,在所述将多个传感器中数据传输周期最长的传感器的数据到来时刻指定为信号量触发时刻之前,利用采集单元采集所述多个传感器在数据传输过程中相邻两个上升沿到来的时间。
本发明的第三个目的在于提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求6-8中任一项所述的方法。
本发明的第四个目的在于提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述计算机可读存储介质在计算机上运行时,使得所述计算机执行权利要求6-8中任一项所述的方法。
本发明的有益效果如下:
本发明的目的在于提供一种异步串口通信系统数据延迟处理系统、方法、计算机设备及计算机可读存储介质,利用改进后的基于信号量的数据处理架构,能够有效降低由于长周期采样传感器带来的数据延迟问题,数据延迟由传统的长周期传感器数据采样周期降低至短周期传感器数据采样周期之内。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开至少一实施例提供的传统数据延迟处理延迟机制示意图;
图2示出本公开至少一实施例提供的数据延迟处理系统的框架图;
图3示出本公开至少一实施例提供的数据延迟处理方法的流程图;
图4示出本公开至少一实施例提供的数据延迟处理延迟机制示意图;
图5示出本公开至少一实施例提供的经过数据仿真得到的数据延迟统计直方图;以及
图6示出本公开至少一实施例提供的一种计算机设备的结构框图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,本发明术语【本发明实施例不对步骤a至e的执行顺序进行限制,例如,可依次执行步骤c、步骤a】。
传统的数据处理采用“传感器或设备通信中断+数据处理定时器”的结构,基本示意图如图1。由图1可知,采用数据处理定时器机制对多传感器数据进行处理时,可能引入的时间延迟在传感器最小更新周期与传感器最大更新周期之间,且时间延迟逐次上电启动变化范围很大。形成该现象的主要原因是:各传感器或设备采用外部中断通信机制,而数据处理定时器是由处理器自行进行配置,由于各设备均独立工作,因此无法保证数据时间同步性能。
如图2示出的一种异步串口通信系统数据延迟处理系统,应用于处理多个传感器传输的数据,包括:
缓存单元,用于将所述多个传感器传输的数据分别刷新至所述缓存单元的数据缓冲区;
处理单元,用于处理所述数据缓冲区内的数据;
控制单元,用于在检测到所述信号量触发时刻到来时,激活所述处理单元进行数据处理;所述控制单元为微控制器、上位机或处理器。
其中,所述信号量触发时刻为多个传感器中数据传输周期最长的传感器的数据到来时刻。
具体地,上述系统还包括:
比较单元,用于比较所述多个传感器的数据传输周期,并选择所述多个传感器的数据传输周期最长的传感器的数据到来时刻作为信号量触发时刻。
具体地,上述系统还包括
采集单元,用于采集所述多个传感器在数据传输过程中相邻两个上升沿到来的时间;
其中,所述相邻两个上升沿到来的时间为传感器的数据传输周期;利用所述比较单元比较所述多个传感器在数据传输中相邻两个上升沿到来的时间,并选择所述述多个传感器在数据传输中相邻两个上升沿到来的时间最长的传感器的数据到来时刻作为信号量触发时刻。
利用改进后的基于信号量的数据处理架构,能够有效降低由于长周期采样传感器带来的数据延迟问题,数据延迟由传统的长周期传感器数据采样周期降低至短周期传感器数据采样周期之内。
如图3示出的一种异步串口通信系统数据延迟处理方法,应用于处理多个传感器传输的数据,包括:
利用采集单元采集所述多个传感器在数据传输过程中相邻两个上升沿到来的时间;
利用比较单元比较所述多个传感器在数据传输中相邻两个上升沿到来的时间,并选择所述述多个传感器在数据传输中相邻两个上升沿到来的时间最长的传感器的数据到来时刻作为信号量触发时刻;
所述缓存单元将所述多个传感器传输的数据分别刷新至所述缓存单元的数据缓冲区;
当所述控制单元检测到信号量触发时刻到来时,激活处理单元进行数据处理。
在一个具体的实施例中,以5ms和20ms两个传感器数据同步处理为例说明该方法,基本原理见图4。
由图4可以看出,当数据采样周期较长的传感器2的外部中断到来时,同时对数据处理信号量进行置位,当中断处理完毕切换至主循环时,立即启动数据处理流程。
采用改进后的机制能够有效降低数据延迟,对于5ms与20ms两个传感器数据同步处理而言,采用上述结构能够降低数据延迟至5ms以内,较传统的20ms以内,数据延迟有了明显降低。
如图5示出的,针对系统逐次启动的数据延迟分布问题,以5ms和20ms两个异步串口传感器系统数据处理为例,进行数据仿真,逐次启动系统100次,得到数据延迟统计直方图5。
本发明的再一个实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述接口用例测试方法。如图6所示,适于用来实现本实施例提供的服务器的计算机系统,包括中央处理单元(CPU),其可以根据存储在只读存储器(ROM)中的程序或者从存储部分加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有计算机系统操作所需的各种程序和数据。CPU、ROM以及RAM通过总线被此相连。输入/输入(I/O)接口也连接至总线。
以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。
特别地,提据本实施例,上文流程图描述的过程可以被实现为计算机软件程序。例如,本实施例包括一种计算机程序产品,其包括有形地包含在计算机可读介质上的计算机程序,上述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。
附图中的流程图和示意图,图示了本实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或示意图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,示意图和/或流程图中的每个方框、以及示意和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括缓存单元、处理单元、控制单元等。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。例如,处理单元还可以被描述为“数据处理单元”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本发明的异步串口通信系统数据延迟处理方法。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (10)
1.一种异步串口通信系统数据延迟处理系统,其特征在于,应用于处理多个传感器传输的数据,包括:
缓存单元,用于将所述多个传感器传输的数据分别刷新至所述缓存单元的数据缓冲区;
处理单元,用于处理所述数据缓冲区内的数据;
控制单元,用于在检测到所述信号量触发时刻到来时,激活所述处理单元进行数据处理;
其中,所述信号量触发时刻为多个传感器中数据传输周期最长的传感器的数据到来时刻。
2.根据权利要求1所述的系统,其特征在于,还包括:
比较单元,用于比较所述多个传感器的数据传输周期,并选择所述多个传感器的数据传输周期最长的传感器的数据到来时刻作为信号量触发时刻。
3.根据权利要求2所述的系统,其特征在于,还包括
采集单元,用于采集所述多个传感器在数据传输过程中相邻两个上升沿到来的时间;
其中,所述相邻两个上升沿到来的时间为传感器的数据传输周期。
4.根据权利要求3所述的系统,其特征在于,所述比较单元比较所述多个传感器在数据传输中相邻两个上升沿到来的时间,并选择所述述多个传感器在数据传输中相邻两个上升沿到来的时间最长的传感器的数据到来时刻作为信号量触发时刻。
5.根据权利要求1所述的系统,其特征在于,所述控制单元为微控制器、上位机或处理器。
6.一种异步串口通信系统数据延迟处理方法,其特征在于,应用于处理多个传感器传输的数据,包括:
将多个传感器中数据传输周期最长的传感器的数据到来时刻指定为信号量触发时刻;
所述缓存单元将所述多个传感器传输的数据分别刷新至所述缓存单元的数据缓冲区;
当所述控制单元检测到信号量触发时刻到来时,激活处理单元进行数据处理。
7.根据权利要求6所述的方法,其特征在于,所述将多个传感器中数据传输周期最长的传感器的数据到来时刻指定为信号量触发时刻包括:
利用比较单元比较所述多个传感器的数据传输周期,并选择所述多个传感器的数据传输周期最长的传感器的数据到来时刻作为信号量触发时刻。
8.根据权利要求7所述的方法,其特征在于,在所述将多个传感器中数据传输周期最长的传感器的数据到来时刻指定为信号量触发时刻之前,利用采集单元采集所述多个传感器在数据传输过程中相邻两个上升沿到来的时间。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求6-8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述计算机可读存储介质在计算机上运行时,使得所述计算机执行权利要求6-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010448494.5A CN111797044A (zh) | 2020-05-25 | 2020-05-25 | 一种异步串口通信系统数据延迟处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010448494.5A CN111797044A (zh) | 2020-05-25 | 2020-05-25 | 一种异步串口通信系统数据延迟处理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111797044A true CN111797044A (zh) | 2020-10-20 |
Family
ID=72806717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010448494.5A Pending CN111797044A (zh) | 2020-05-25 | 2020-05-25 | 一种异步串口通信系统数据延迟处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111797044A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094305A (zh) * | 2021-04-02 | 2021-07-09 | 北京黑蚁兄弟科技有限公司 | 一种异步通信处理方法、装置和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0628913A1 (en) * | 1993-06-08 | 1994-12-14 | Nec Corporation | Interrupt signal detection circuit |
CN103729312A (zh) * | 2012-10-11 | 2014-04-16 | 中国航空工业集团公司第六三一研究所 | 基于异步fifo的多路异步数据同步方法 |
CN109697767A (zh) * | 2018-12-29 | 2019-04-30 | 华为技术有限公司 | 数据处理方法、相关设备及计算机存储介质 |
CN111064890A (zh) * | 2019-12-25 | 2020-04-24 | 安凯(广州)微电子技术有限公司 | 一种多目电路设备及多目电路控制方法 |
-
2020
- 2020-05-25 CN CN202010448494.5A patent/CN111797044A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0628913A1 (en) * | 1993-06-08 | 1994-12-14 | Nec Corporation | Interrupt signal detection circuit |
CN103729312A (zh) * | 2012-10-11 | 2014-04-16 | 中国航空工业集团公司第六三一研究所 | 基于异步fifo的多路异步数据同步方法 |
CN109697767A (zh) * | 2018-12-29 | 2019-04-30 | 华为技术有限公司 | 数据处理方法、相关设备及计算机存储介质 |
CN111064890A (zh) * | 2019-12-25 | 2020-04-24 | 安凯(广州)微电子技术有限公司 | 一种多目电路设备及多目电路控制方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094305A (zh) * | 2021-04-02 | 2021-07-09 | 北京黑蚁兄弟科技有限公司 | 一种异步通信处理方法、装置和存储介质 |
CN113094305B (zh) * | 2021-04-02 | 2024-03-26 | 北京黑蚁兄弟科技有限公司 | 一种异步通信处理方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115150471B (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN107273130A (zh) | 加速界面绘制的方法、装置和终端 | |
Le Moal | I/o latency optimization with polling | |
CN111427758A (zh) | 任务计算量确定方法、装置和电子设备 | |
CN111177079A (zh) | 网络文件系统数据读取方法、装置、设备、介质 | |
CN111797044A (zh) | 一种异步串口通信系统数据延迟处理系统及方法 | |
CN110851297B (zh) | 一种接口抖动状态的处理方法、装置、系统及介质 | |
EP1766518B1 (en) | Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments | |
US9785463B2 (en) | Using per task time slice information to improve dynamic performance state selection | |
CN110825326A (zh) | 提升ssd随机读性能的方法、装置、计算机设备及存储介质 | |
CN111261143A (zh) | 一种语音唤醒方法、装置及计算机可读存储介质 | |
CN109298974B (zh) | 系统控制方法、装置、计算机及计算机可读存储介质 | |
CN113360736B (zh) | 互联网数据的抓取方法和装置 | |
CN114328153A (zh) | 一种rdma性能测试系统、方法、装置及介质 | |
CN113886746A (zh) | 页面加载方法、装置、设备和介质 | |
CN106569879B (zh) | 唤醒外设的方法及移动终端 | |
CN118094090B (zh) | 一种移动识别方法、移动识别装置、美容仪及存储介质 | |
CN117076169B (zh) | 操作系统的中断异常检测方法、装置及电子设备 | |
CN116662276B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US6766463B1 (en) | Method and apparatus for controlling and normalizing the desired rate of a visual process across different computing platforms and environments | |
CN118484361A (zh) | 一种异常sql的检测方法、装置、设备、存储介质及程序产品 | |
CN115098167A (zh) | 指令执行方法及装置 | |
CN116860557A (zh) | 一种业务堆栈信息的采集方法、装置、设备及介质 | |
CN116756058A (zh) | 一种内存缓存处理方法、装置、终端及存储介质 | |
CN116893920A (zh) | 一种io延迟时间统计方法、系统、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201020 |
|
RJ01 | Rejection of invention patent application after publication |