一种多路点火时序测试方法、系统及计算机设备与流程

文档序号:25346611发布日期:2021-06-08 12:07阅读:147来源:国知局
一种多路点火时序测试方法、系统及计算机设备与流程

1.本发明属于测控技术领域,更具体地,涉及一种多路点火时序测试方法、系统及计算机设备。


背景技术:

2.随着国际形势的日益严峻,计算机自主可控显得越来越重要。而国产操作系统仍处于起步阶段,与主流的国外操作系统水平存在一定的差距,想要打破主流操作系统的垄断地位非一日之功。同样,基于国产操作系统的测控系统技术研究也是迫在眉睫。
3.目前,国内武器型号产品的点火时序测试系统绝大多数采用的windows等国外操作系统,安全性和可控性都存在隐患,无法满足国家自主可控的要求。


技术实现要素:

4.针对现有技术的至少一个缺陷或改进需求,本发明提供了一种多路点火时序测试方法、系统及计算机设备,实现从硬件、操作系统到软件的自主可控。
5.为实现上述目的,按照本发明的一个方面,提供了一种多路点火时序测试方法,包括:
6.s1:主线程响应于外部输入的测试指令,将系统内置的测试标志置为表征测试状态的第一标识,并创建测试线程;
7.s2:所述测试线程执行设备初始化,打开系统的对外接口并将系统内置的线程标志置为启动线程的第二标识,创建接收线程;
8.s3:所述接收线程实时监测所述对外接口,拉取对外接口获取的数据并进行解析以判断时序状态是否发生变化,并将发生变化的时序状态变化帧放入全局变量;
9.s4:测试线程从所述全局变量中获取所述时序状态变化帧,查找发生变化的时序信息,发送更新界面信号给所述主线程;
10.s5:主线程根据所述更新界面信号对显示界面中的表示信息进行更新。
11.优选的,上述多路点火时序测试方法还包括:
12.s6:主线程响应于外部输入的停止测试指令,将系统内置的测试标志置为表征测试结束状态的第四标识;
13.s7:测试线程关闭对外接口,将系统内置的线程标志置为表征结束线程的第三标识;并发送测试结束的提示信息给主线程,测试线程结束;
14.s8:主线程将所述提示信息展示在所述显示界面上,完成测试。
15.优选的,上述多路点火时序测试方法还包括:
16.接收线程按照预设的第一时间间隔判断所述线程标志是否为维持所述第二标识,若是,执行步骤s3;若否,接收线程结束。
17.优选的,上述多路点火时序测试方法还包括:
18.测试线程按照预设的第二时间间隔判断所述测试标志是否为维持所述第一标识,
若是,执行步骤s4;若否,执行步骤s7。
19.优选的,上述多路点火时序测试方法,所述显示界面中的表示信息包括过
20.程信息、结果信息和指示灯信息;
21.所述指示灯信息用于显示时序当前状态;所述过程信息用于记录时序发生的时刻和当前状态;所述结果信息用于记录时序之间的相对时间以及有效宽度。
22.按照本发明的第二个方面,还提供了一种多路点火时序测试系统,该系统采用分层架构并具有多线程,包括数据访问层、业务逻辑层和表示层,以及分别与所述表示层、业务逻辑层、数据访问层对应的主线程、测试线程和接收线程;
23.其中,所述主线程被配置为响应于外部输入的测试指令,将系统内置的测试标志置为表征测试状态的第一标识,并创建测试线程;
24.所述测试线程被配置为执行设备初始化,打开系统的对外接口并将系统内置的线程标志置为启动线程的第二标识,创建接收线程;
25.所述接收线程被配置为实时监测所述对外接口,拉取对外接口获取的数据并进行解析以判断时序状态是否发生变化,并将发生变化的时序状态变化帧放入全局变量;
26.测试线程从所述全局变量中获取所述时序状态变化帧,查找发生变化的时序信息,发送更新界面信号给所述主线程;
27.主线程根据所述更新界面信号对显示界面中的表示信息进行更新。
28.优选的,上述多路点火时序测试系统,
29.所述主线程被配置为响应于外部输入的停止测试指令,将系统内置的测试标志置为表征测试结束状态的第四标识;以及将测试线程提供的所述提示信息展示在显示界面上;
30.所述测试线程被配置为关闭对外接口,将系统内置的线程标志置为表征结束线程的第三标识;并发送给测试结束的提示信息给主线程。
31.优选的,上述多路点火时序测试系统,
32.所述接收线程按照预设的第一时间间隔判断所述线程标志是否为维持所述第二标识,并在维持所示第二标识的时间段内实时监测所述对外接口;
33.所述测试线程按照预设的第二时间间隔判断所述测试标志是否为维持所述第一标识,若是,从所述全局变量中获取所述时序状态变化帧;若否,关闭对外接口,将系统内置的线程标志置为表征结束线程的第三标识。
34.优选的,上述多路点火时序测试系统,所述显示界面中的表示信息包括过程信息、结果信息和指示灯信息;
35.所述指示灯信息用于显示时序当前状态;所述过程信息用于记录时序发生的时刻和当前状态;所述结果信息用于记录时序之间的相对时间以及有效宽度。
36.按照本发明的第三个方面,还提供了一种计算机设备,其包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述计算机程序被所述处理单元执行时,使得所述处理单元执行上述任一项所述多路点火时序测试方法的步骤。
37.总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
38.本发明提供的多路点火时序测试方案,实现了点火时序测试系统从硬件、操作系
统到软件的自主可控;采用“分层”思想进行软件架构设计,保证了软件框架高内聚、低耦合,提高了软件的可维护性、可移植性;采用了多线程技术,实现了点火时序状态信息的实时显示;采用了指示灯、文字信息等多种形式,丰富了测试系统的显示界面。
附图说明
39.图1是本发明实施例提供的多路点火时序测试系统的组成结构示意图;
40.图2是本发明实施例提供的多路点火时序测试系统的系统框架结构图;
41.图3是本发明实施例提供的多路点火时序测试方法的流程示意图;
42.图4是本发明实施例提供的点火时序测试方法的一个具体操作流程示意图;
43.图5是本发明实施例提供的计算机设备的组成框图。
具体实施方式
44.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
45.本实施例公开的一种多路点火时序测试系统,该系统采用“分层架构+多线程”技术,用于系统点火时序测试。具体而言,该系统采用分层架构进行设计,从下至上分别为:数据访问层、业务逻辑层和表示层;其中,数据访问层主要用于实现对串口进行初始化、控制数据采集单元获取串口数据并进行解析,获得点火时序的状态数据;业务逻辑层主要用于实现状态数据的处理并完成表示层和数据访问层之间的数据交换,降低系统耦合度,从而提高系统的可维护性和可移植性;表示层主要用于获取用户的输入并传递给业务逻辑层,并将业务逻辑层提交的信息显示和保存,实现对测试系统的控制。
46.该系统采用多线程设计,分为主线程、测试线程和接收线程;数据访问层、业务逻辑层和表示层属于不同的线程,具体而言,表示层、业务逻辑层和数据访问层分别对应主线程、测试线程和接收线程;其中,主线程主要实现系统初始化、测试线程创建、时序状态指示灯的控制和状态信息的显示与保存;测试线程主要实现接收线程的创建、将表示层的测试指令传递给数据访问层,并实时处理从数据访问层获取的时序状态数据,将处理后的结果传递给表示层显示;接收线程主要实现串口数据的接收并解析。
47.该测试系统的时序状态信息采用多样的展示形式:指示灯、过程文字信息和结果文字信息;指示灯用于显示时序当前状态;过程文字信息记录时序发生的时刻和当前状态;结果文字信息记录时序之间的相对时间以及有效宽度。
48.本实施例提供的多路点火时序测试系统可以运行在龙芯处理器的中标麒麟操作系统上,实现点火时序测试;随着国际形势的日益严峻以及可能面临国际禁止中国使用进口芯片和操作系统的问题,该测试系统实现了点火时序测试系统从硬件、操作系统到软件的自主可控。
49.图1是本实施例提供的多路点火时序测试系统的结构示意图,参见图1,该测试系统通过电缆连接到被测系统,测试系统中包括计算机设备和信号采集板,该信号采集板通过串口(如rs422)与计算机设备通信,
50.信号采集板实时采集被测系统的时序状态,并通过串口按照预设的时间间隔(例如:每隔1ms)向计算机设备发送时序状态信息,计算机设备中运行有基于中标麒麟操作系统开发的多路点火时序测试软件程序,该多路点火时序测试软件实时接收、解析、处理、显示和记录时序状态信息。
51.图2是本实施例提供的多路点火时序测试系统的系统框架结构图,如图2所示,数据访问层包括驱动管理类和测试异常类,驱动管理类实现串口的初始化、发送、接收、关闭等功能,在测试过程中通过接收线程实时接收并解析串口上的时序状态信息,将时序发生变化的信息发送给业务逻辑层;测试异常类实现将数据访问层异常信息发送给业务逻辑层。业务逻辑层实现数据访问层和表示层之间的数据传输以及业务逻辑,具体功能包括:为表示层提供访问串口的接口;接收来自数据访问层的时序状态信息;处理时序状态信息获得对应时序变化时刻和状态等信息,将需要显示的过程信息、结果信息、指示灯状态发送给表示层。表示层包括操作界面类、实时信息类、测试结果类、指示灯类和测试说明类,操作界面类提供界面给用户选择测试类型、启动和停止测试;实时界面类实时显示发生变化的时序名称、时刻、状态等信息;测试结果类实时显示时序发生的时刻、宽度、相对时间等信息;指示灯类实时刷新各时序指示灯的状态(例如:绿色

打开,红色

关闭);测试说明类提供给用户记录测试的产品、地点、环境等说明等信息,并保存测试数据。
52.图3是本实施例提供的多路点火时序测试方法的流程示意图,参见图3,该测试方法包括以下步骤:
53.s1:主线程响应于外部输入的测试指令,将系统内置的测试标志置为表征测试状态的第一标识,并创建测试线程;
54.s2:测试线程执行设备初始化,打开系统的对外接口并将系统内置的线程标志置为启动线程的第二标识,创建接收线程;
55.s3:接收线程按照预设的第一时间间隔判断所述线程标志是否为维持所述第二标识,若是,接收线程实时监测所述对外接口,拉取对外接口获取的数据并进行解析以判断时序状态是否发生变化,并将发生变化的时序状态变化帧放入全局变量;若否,接收线程结束;
56.s4:测试线程按照预设的第二时间间隔判断所述测试标志是否为维持所述第一标识,若是,测试线程从全局变量中获取所述时序状态变化帧,查找发生变化的时序信息,发送更新界面信号给主线程;若否,直接执行步骤s7;
57.作为一个可选的实施例,测试线程借助qt的信号与槽给主线程发送更新过程信息、结果信息、指示灯界面的信号,实时更新测试界面。
58.s5:主线程根据更新界面信号对显示界面中的表示信息进行更新。
59.在一个可选的示例中,显示界面中的表示信息包括过程信息、结果信息和指示灯信息;指示灯信息用于显示时序当前状态;过程信息用于记录时序发生的时刻和当前状态;结果信息用于记录时序之间的相对时间以及有效宽度。
60.至此,用户可以通过显示界面实时且直观的获取被测系统的时序变化,完成点火时序测试。
61.进一步地,上述多路点火时序测试方法还包括以下步骤:
62.s6:主线程响应于外部输入的停止测试指令,将系统内置的测试标志置为表征测
试结束状态的第四标识;
63.s7:测试线程关闭对外接口,将系统内置的线程标志置为表征结束线程的第三标识;并发送测试结束的提示信息给主线程,测试线程结束;
64.s8:主线程将所述提示信息展示在所述显示界面上,完成测试。
65.作为一个可选的实施方式,用户在通过显示界面获知测试结束的提示信息之后,输入本次测试相关的测试说明信息,该测试说明信息包括但不限于测试时间、地点、人员等等;主线程获取上述说明信息并保存,整个测试过程结束。此外,上述测试说明信息也可以在测试开始时由用户输入,比如这些测试说明信息可以包含在测试指令中。
66.图4是本实施例提供的点火时序测试方法的一个具体操作流程示意图,如图4所示,具体步骤如下:
67.(1)用户在系统的显示界面点击开始测试后,系统主线程置m_btesting标识为true,创建测试线程,进入步骤(2);
68.(2)测试线程进行设备初始化,打开串口并置m_bthreadflag标识为true,创建接收线程进入步骤(3);执行完上述操作后进入步骤(7);
69.(3)接收线程判断串口接收缓存是否有数据,若是进入步骤(4);若否,进入步骤(6):
70.(4)接收线程取出串口接收到的数据放入接收队列并解析,判读时序状态是否发生变化,若是,进入步骤(5);若否,进入步骤(6);
71.(5)接收线程将时序发生变化的帧放入全局变量,进入步骤(6)
72.(6)延时4ms,判断m_bthreadflag标识是否为true,若是,将进入步骤(3);若否,接收线程结束;
73.(7)测试线程判断m_btesting标识是否为true,若是,将进入步骤(8);若否,进入步骤(13);
74.(8)测试线程判断是否有待处理的时序状态变化帧,若是,进入步骤(9);若否,进入步骤(11);
75.(9)测试线程处理时序状态变化帧,找出发生变化的时序信息,发送更新界面信号(过程信息、结果信息、指示灯),进入步骤(11);
76.(10)主线程根据测试线程发送的信号更新界面中的过程信息、结果信息和指示灯;
77.(11)测试线程延时10ms,进入步骤(7);
78.(12)用户在显示界面点击停止测试后,系统主线程置m_btesting标识为false;
79.(13)测试线程关闭串口设备,置m_bthreadflag标识是否为false,保存后台数据,发送提示用户输入测试信息;
80.(14)主线程提示并获取用户输入的测试说明信息,测试结束。
81.参见图5,其示出了本申请实施例所涉及的测试系统中的计算机设备的结构示意图,该计算机设备可以用于实施图1所示实施例中的方法。如图5所示,计算机设备500可以包括:至少一个中央处理器(如龙芯处理器)501,至少一个网络接口504,用户接口503,存储器505,至少一个通信总线502。
82.其中,通信总线502用于实现这些组件之间的连接通信。
83.其中,用户接口503可以包括显示屏(display)、摄像头(camera),可选用户接口503还可以包括标准的有线接口、无线接口。
84.其中,网络接口504可选的可以包括标准的有线接口、无线接口(如wi

fi接口)。
85.其中,中央处理器501可以包括一个或者多个处理核心。中央处理器501利用各种接口和线路连接整个终端500内的各个部分,通过运行或执行存储在存储器505内的指令、程序、代码集或指令集,以及调用存储在存储器505内的数据,执行终端500的各种功能和处理数据。可选的,中央处理器501可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field

programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。中央处理器501可集成中央中央处理器(central processing unit,cpu)、图像中央处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到中央处理器501中,单独通过一块芯片进行实现。
86.其中,存储器505可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read

only memory)。可选的,该存储器505包括非瞬时性计算机可读介质(non

transitory computer

readable storage medium)。存储器505可用于存储指令、程序、代码、代码集或指令集。存储器505可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器505可选的还可以是至少一个位于远离前述中央处理器501的存储装置。如图5所示,作为一种计算机存储介质的存储器505中可以包括操作系统、网络通信模块、用户接口模块以及程序指令。
87.在图5所示的计算机设备500中,用户接口503主要用于为用户提供输入的接口,获取用户输入的数据;而处理器501可以用于调用存储器505中存储的点火时序测试方法应用程序,并具体执行上述测试方法的步骤。
88.本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、dvd、cd

rom、微型驱动器以及磁光盘、rom、ram、eprom、eeprom、dram、vram、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器ic),或适合于存储指令和/或数据的任何类型的媒介或设备。
89.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
90.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
91.在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式
实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
92.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
93.另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
94.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
95.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(read

only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
96.以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
97.本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1