CN109683903A - 多优先级、非中断式、伪并行嵌入式软件实时响应方法、系统及介质 - Google Patents
多优先级、非中断式、伪并行嵌入式软件实时响应方法、系统及介质 Download PDFInfo
- Publication number
- CN109683903A CN109683903A CN201811558333.0A CN201811558333A CN109683903A CN 109683903 A CN109683903 A CN 109683903A CN 201811558333 A CN201811558333 A CN 201811558333A CN 109683903 A CN109683903 A CN 109683903A
- Authority
- CN
- China
- Prior art keywords
- program
- module
- response
- real
- pseudo
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种多优先级、非中断式、伪并行嵌入式软件实时响应方法、系统及介质,包括:信号确定步骤:确定嵌入式软件所有的输入信号,确定不同输入信号的优先级以及输入信号的响应时间要求;总流程绘制步骤:绘制程序总的流程图;子模块流程绘制步骤:确定程序各子模块,绘制各子模块的流程图;定时单元确定步骤:配置软件系统时钟定时器,设定最优定时单元。本发明采用嵌入式软件多优先级非中断实现方法、嵌入式软件伪并行实时响应设计方法,能实时地对外部事件作出反应,根据输入的不同优先级进入不同处理模块,实时输出相应控制信号。
Description
技术领域
本发明涉及软件设计技术领域,具体地,涉及多优先级、非中断式、伪并行嵌入式软件实时响应方法、系统及介质。
背景技术
本发明是一种软件设计方法,具体是针对多个不同优先级的输入、要求实时响应的嵌入式软件设计方法。程序采用主循环结构,对输入端口、编码器、面板状态进行循环扫描,实施实时控制。当控制器上电后,系统首先进行初始化:软件系统各主要变量、系统所有输出端清零,系统看门狗复位。然后系统执行自检程序,再初始化UART串口、定时器T2和读入角度编码器相对零点后,系统进入一个主循环结构:根据系统的要求,反复按照系统流程图执行:根据输入状态、编码器状态和面板状态,按照控制要求,控制输出和LED指示灯。
由于嵌入式设计没有使用实时操作系统,所以不能像在操作系统下编程那样,由操作系统进行系统资源的分配和调度,不可能实现真正意义上的并行。本系统软件对于子程序的调度是运用CASE语句来实现的,通过程序运行步数标志符,如进入“陆上工况”子程序后,通过执行步数标志符_Step_Of_LandStatus来标识陆上工况执行到哪一步了,当进行跳转时,也是通过_Step_Of_LandStatus来决定究竟跳转到哪一步的。本软件设计方法对于解决系统的实时性是通过伪并行编程技术来实现的。
目前国内尚无对多优先级、非中断式、伪并行嵌入式软件实时响应方法的阐述,经检索及查询也无发现有同类技术及方法
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种多优先级、非中断式、伪并行嵌入式软件实时响应方法、系统及介质。
根据本发明提供的一种多优先级、非中断式、伪并行嵌入式软件实时响应方法,包括:
信号确定步骤:确定嵌入式软件所有的输入信号,确定不同输入信号的优先级以及输入信号的响应时间要求;
总流程绘制步骤:绘制程序总的流程图;
子模块流程绘制步骤:确定程序各子模块,绘制各子模块的流程图;
定时单元确定步骤:配置软件系统时钟定时器,设定最优定时单元;
变量定义步骤:定义程序各全局变量,根据全局变量控制各子单元执行入口和出口,实时响应更高优先级的输入信号;
编程步骤:根据输入信号、不同输入信号的优先级、输入信号的响应时间要求、程序总的流程图、子模块的流程图、最优定时单元及全局变量进行软件编程。
优选地,包括:多优先级输入非中断实现方法、伪并行实时响应设计方法;
所述最优定时单元为各程序定时时间的最大公约数。
优选地,所述多优先级输入非中断实现方法包括:
程序初始化步骤:单片机上电复位后,在程序初始化部分配置单片机的输入/输出端口类型,对输出端口赋初始化值,配置软件系统时钟定时器,设定系统合适的时钟周期,设定程序各类接口包括通讯接口参数,所述通讯接口参数包括:串口传输速率、数据格式检验码;
程序循环扫描步骤:根据所述不同输入信号的优先级,按照优先级顺序循环扫描各程序模块;
信号处理步骤:对接收到的输入信号进行处理,所述处理包括以下任一种或任多种:去抖动操作、防误操作;
信号响应步骤:根据所述不同输入信号的优先级,调用响应程序处理模块,响应输入信号,实现程序功能。
优选地,所述伪并行实时响应设计方法包括:
定时器设置步骤:采用所述软件系统时钟定时器,设定最优定时单元,作为软件响应的基本时钟因子;
主程序设计步骤:设计主程序,令软件主程序在进行了上电复位、自检和程序初始化后,进入一个循环扫描结构,令主程序不断扫描各输入端口,根据输入和优先级进入不同模块,待当前模块执行完成后,依然进入主程序扫描;
伪并行实时响应实现步骤:各程序响应模块伪并行实现,令各程序执行模块按照执行步数分为若干步骤,每一个步骤执行完毕后立即跳出当前子程序处理模块,并将子程序模块当前执行步数作为返回值,之后进入主循环进行输入端口扫描,判断是否有优先级更高的输入需要响应时:若有,则进入高优先级响应程序入口;否则,则按照执行步数进入当前子程序模块,执行下一步程序。
响应时间控制步骤:在主程序中实现响应时间控制,在主循环中通过定时来实现响应时间控制,通过调节基本时钟因子和程序定时时间控制响应速度。
根据本发明提供的一种多优先级、非中断式、伪并行嵌入式软件实时响应设计系统,包括:
信号确定模块:确定嵌入式软件所有的输入信号,确定不同输入信号的优先级以及输入信号的响应时间要求;
总流程绘制模块:绘制程序总的流程图;
子模块流程绘制模块:确定程序各子模块,绘制各子模块的流程图;
定时单元确定模块:配置软件系统时钟定时器,设定最优定时单元;
变量定义模块:定义程序各全局变量,根据全局变量控制各子单元执行入口和出口,实时响应更高优先级的输入信号;
编程模块:根据输入信号、不同输入信号的优先级、输入信号的响应时间要求、程序总的流程图、子模块的流程图、最优定时单元及全局变量进行软件编程。
优选地,包括:多优先级输入非中断实现系统、伪并行实时响应设计系统;
所述最优定时单元为各程序定时时间的最大公约数。
优选地,所述多优先级输入非中断实现系统包括:
程序初始化模块:单片机上电复位后,在程序初始化部分配置单片机的输入/输出端口类型,对输出端口赋初始化值,配置软件系统时钟定时器,设定系统合适的时钟周期,设定程序各类接口包括通讯接口参数,所述通讯接口参数包括:串口传输速率、数据格式检验码;
程序循环扫描模块:根据所述不同输入信号的优先级,按照优先级顺序循环扫描各程序模块;
信号处理模块:对接收到的输入信号进行处理,所述处理包括以下任一种或任多种:去抖动操作、防误操作;
信号响应模块:根据所述不同输入信号的优先级,调用响应程序处理模块,响应输入信号,实现程序功能。
优选地,所述伪并行实时响应设计系统包括:
定时器设置模块:采用所述软件系统时钟定时器,设定最优定时单元,作为软件响应的基本时钟因子;
主程序设计模块:设计软件主程序,令软件主程序在进行了上电复位、自检和程序初始化后,进入一个循环扫描结构,令主程序不断扫描各输入端口,根据输入和优先级进入不同模块,待当前模块执行完成后,依然进入主程序扫描;
伪并行实时响应实现模块:各程序响应模块伪并行
实现,令各程序执行模块按照执行步数分为若干步骤,每一个步骤执行完毕后立即跳出当前子程序处理模块,并将子程序模块当前执行步数作为返回值,之后进入主循环进行输入端口扫描,判断是否有优先级更高的输入需要响应时:若有,则进入高优先级响应程序入口;否则,则按照执行步数进入当前子程序模块,执行下一步程序。
响应时间控制模块:在主程序中实现响应时间控制,在主循环中通过定时来实现响应时间控制,通过调节基本时钟因子和程序定时时间控制响应速度。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述任一项所述的多优先级、非中断式、伪并行嵌入式软件实时响应方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
本发明采用嵌入式软件多优先级非中断实现方法、嵌入式软件伪并行实时响应设计方法,能实时地对外部事件作出反应,根据输入的不同优先级进入不同处理模块,实时输出相应控制信号。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例1提供的软件信息流示意图。
图2为本发明实施例1提供的程序流程示意图。
图3为本发明实施例2提供的水陆工况流程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种多优先级、非中断式、伪并行嵌入式软件实时响应方法,包括:
信号确定步骤:确定嵌入式软件所有的输入信号,确定不同输入信号的优先级以及输入信号的响应时间要求;
总流程绘制步骤:绘制程序总的流程图;
子模块流程绘制步骤:确定程序各子模块,绘制各子模块的流程图;
定时单元确定步骤:配置软件系统时钟定时器,设定最优定时单元;
变量定义步骤:定义程序各全局变量,根据全局变量控制各子单元执行入口和出口,实时响应更高优先级的输入信号;
编程步骤:根据输入信号、不同输入信号的优先级、输入信号的响应时间要求、程序总的流程图、子模块的流程图、最优定时单元及全局变量进行软件编程。
优选地,包括:多优先级输入非中断实现方法、伪并行实时响应设计方法;
所述最优定时单元为各程序定时时间的最大公约数。
优选地,所述多优先级输入非中断实现方法包括:
程序初始化步骤:单片机上电复位后,在程序初始化部分配置单片机的输入/输出端口类型,对输出端口赋初始化值,配置软件系统时钟定时器,设定系统合适的时钟周期,设定程序各类接口包括通讯接口参数,所述通讯接口参数包括:串口传输速率、数据格式检验码;
程序循环扫描步骤:根据所述不同输入信号的优先级,按照优先级顺序循环扫描各程序模块;
信号处理步骤:对接收到的输入信号进行处理,所述处理包括以下任一种或任多种:去抖动操作、防误操作;
信号响应步骤:根据所述不同输入信号的优先级,调用响应程序处理模块,响应输入信号,实现程序功能。
优选地,所述伪并行实时响应设计方法包括:
定时器设置步骤:采用所述软件系统时钟定时器,设定最优定时单元,作为软件响应的基本时钟因子;
主程序设计步骤:设计主程序,令软件主程序在进行了上电复位、自检和程序初始化后,进入一个循环扫描结构,令主程序不断扫描各输入端口,根据输入和优先级进入不同模块,待当前模块执行完成后,依然进入主程序扫描;
伪并行实时响应实现步骤:各程序响应模块伪并行实现,令各程序执行模块按照执行步数分为若干步骤,每一个步骤执行完毕后立即跳出当前子程序处理模块,并将子程序模块当前执行步数作为返回值,之后进入主循环进行输入端口扫描,判断是否有优先级更高的输入需要响应时:若有,则进入高优先级响应程序入口;否则,则按照执行步数进入当前子程序模块,执行下一步程序。
响应时间控制步骤:在主程序中实现响应时间控制,在主循环中通过定时来实现响应时间控制,通过调节基本时钟因子和程序定时时间控制响应速度。
本发明提供的多优先级、非中断式、伪并行嵌入式软件实时响应设计系统,可以通过本发明给的多优先级、非中断式、伪并行嵌入式软件实时响应设计方法的步骤流程实现。本领域技术人员可以将所述多优先级、非中断式、伪并行嵌入式软件实时响应设计方法,理解为所述多优先级、非中断式、伪并行嵌入式软件实时响应设计系统的一个优选例。
根据本发明提供的一种多优先级、非中断式、伪并行嵌入式软件实时响应设计系统,包括:
信号确定模块:确定嵌入式软件所有的输入信号,确定不同输入信号的优先级以及输入信号的响应时间要求;
总流程绘制模块:绘制程序总的流程图;
子模块流程绘制模块:确定程序各子模块,绘制各子模块的流程图;
定时单元确定模块:配置软件系统时钟定时器,设定最优定时单元;
变量定义模块:定义程序各全局变量,根据全局变量控制各子单元执行入口和出口,实时响应更高优先级的输入信号;
编程模块:根据输入信号、不同输入信号的优先级、输入信号的响应时间要求、程序总的流程图、子模块的流程图、最优定时单元及全局变量进行软件编程。
优选地,包括:多优先级输入非中断实现系统、伪并行实时响应设计系统;
所述最优定时单元为各程序定时时间的最大公约数。
优选地,所述多优先级输入非中断实现系统包括:
程序初始化模块:单片机上电复位后,在程序初始化部分配置单片机的输入/输出端口类型,对输出端口赋初始化值,配置软件系统时钟定时器,设定系统合适的时钟周期,设定程序各类接口包括通讯接口参数,所述通讯接口参数包括:串口传输速率、数据格式检验码;
程序循环扫描模块:根据所述不同输入信号的优先级,按照优先级顺序循环扫描各程序模块;
信号处理模块:对接收到的输入信号进行处理,所述处理包括以下任一种或任多种:去抖动操作、防误操作;
信号响应模块:根据所述不同输入信号的优先级,调用响应程序处理模块,响应输入信号,实现程序功能。
优选地,所述伪并行实时响应设计系统包括:
定时器设置模块:采用所述软件系统时钟定时器,设定最优定时单元,作为软件响应的基本时钟因子;
主程序设计模块:设计软件主程序,令软件主程序在进行了上电复位、自检和程序初始化后,进入一个循环扫描结构,令主程序不断扫描各输入端口,根据输入和优先级进入不同模块,待当前模块执行完成后,依然进入主程序扫描;
伪并行实时响应实现模块:各程序响应模块伪并行实现,令各程序执行模块按照执行步数分为若干步骤,每一个步骤执行完毕后立即跳出当前子程序处理模块,并将子程序模块当前执行步数作为返回值,之后进入主循环进行输入端口扫描,判断是否有优先级更高的输入需要响应时:若有,则进入高优先级响应程序入口;否则,则按照执行步数进入当前子程序模块,执行下一步程序。
响应时间控制模块:在主程序中实现响应时间控制,在主循环中通过定时来实现响应时间控制,通过调节基本时钟因子和程序定时时间控制响应速度。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述任一项所述的多优先级、非中断式、伪并行嵌入式软件实时响应方法的步骤。
下面通过优选例,对本发明进行更为具体地说明。
实施例1:
一种多优先级输入非中断实现方法
如图2所示,多优先级输入非中断实现步骤如下:
第1步:单片机上电复位,进行程序初始化。单片机上电复位后,在程序初始化部分配置单片机所有输入/输出端口类型,对输出端口赋初始化值,配置软件系统时钟定时器,设定系统合适的时钟周期,为后续实现非中断实时响应设定响应时间基本因子。设定程序各类接口包括通讯接口参数,如串口传输速率、数据格式检验码等。
第2步:进行程序循环扫描。按照优先级顺序,扫描各程序模块。单片机没有操作系统,因此程序扫描只能按照先后顺序依次进行。程序设计人员应准确判定各程序模块的优先级,并按照优先级从高到低的顺序分配到程序扫描的循环中。在进行优先级判断时,同一优先级的各子模块应归为一个程序入口,以减少扫描周期,提高程序执行效率,增强程序响应实时性。
第3步:接收输入数据。对接收到的输入数据需要进行处理,包括去抖动、防误操作。这里叙述一种单片机输入信号去抖动处理方法。通过对输入信号数组X[V]三次采样,三次采样状态一致认为输入有效,否则无效,有效避免误操作。
第4步:根据优先级,响应输入信号。根据输入信号优先级,调用响应程序处理模块,实现程序功能。通过IF、ELSE语句控制不同优先级输入响应程序入口的先后顺序。
如图1所示,各软件模块功能明确,模块相对独立,模块间的数据交换通过全局变量传递,减少对模块内局部变量的访问,提高软件执行速度和效率。下面以一段程序实例进行说明。其中
实施例2:
一种伪并行实时响应设计方法
实例1说明的是对多优先级输入的控制和非中断方式实现,在实例2中说明伪并行实时响应实现方法。
第1步:在软件设计过程中为确保软件的实时性和可靠性,采用单片机的软件系统时钟定时器,设置一个合适的时钟周期,作为一个软件响应的基本时钟因子,如50ms。
第2步:主程序设计。软件主程序在进行了上电复位、自检和程序初始化后,进入一个循环扫描结构,采用While语句实现,主程序不断扫描各输入端口,根据输入和优先级进入不同模块,等当前模块执行完成后,依然进入主程序扫描。
第3步:各程序响应模块伪并行实现。为实现高优先级实时优先响应,不可能等一个低优先级模块程序执行完成后再进入高优先级模块入口进行响应,这样就失去了实时的意义,因此各程序执行模块按照执行步数分为若干步骤,每一个步骤执行完毕后立即跳出当前子程序处理模块,并将子程序模块当前执行步数作为返回值,之后进入主循环进行输入端口扫描,当有优先级更高的输入需要响应时,进入高优先级响应程序入口;如果没有更高优先级的输入请求,按照执行步数进入当前子程序模块,执行下一步程序。这种伪并行实时响应需要通过设置全局变量执行步数和软件定时器,并通过switch、case配合实现。
下面举一个例子进行说明。假设一个软件模块如“水陆工况”有若干步组成,如图3所示。程序循环扫描系统各输入端口,如果系统检测到进入“水陆工况”信号,则执行“水陆工况”子程序的第一步,置延时标志后退出,系统继续向下执行系统主循环;如果“水陆工况”延时到,执行“水陆工况”子程序的第二步,置延时标志后退出;系统继续向下执行系统主循环。如此反复,直到“水陆工况”执行完毕。其他工况执行情况也如此。
当水陆工况延时定时器_Timer_Of_WaterLandStatus延时到后,进入定时器T2中断处理函数,对执行步数S、延时变量等循环控制变量进行处理和控制,完成系统各模块的执行控制和调用过程。
第4步:主程序中实现响应时间控制。在主循环中通过定时来实现响应时间控制,通过调节基本定时因子和定时时间控制响应速度。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (9)
1.一种多优先级、非中断式、伪并行嵌入式软件实时响应方法,其特征在于,包括:
信号确定步骤:确定嵌入式软件所有的输入信号,确定不同输入信号的优先级以及输入信号的响应时间要求;
总流程绘制步骤:绘制程序总的流程图;
子模块流程绘制步骤:确定程序各子模块,绘制各子模块的流程图;
定时单元确定步骤:配置软件系统时钟定时器,设定最优定时单元;
变量定义步骤:定义程序各全局变量,根据全局变量控制各子单元执行入口和出口,实时响应更高优先级的输入信号;
编程步骤:根据输入信号、不同输入信号的优先级、输入信号的响应时间要求、程序总的流程图、子模块的流程图、最优定时单元及全局变量进行软件编程。
2.根据权利要求1所述的多优先级、非中断式、伪并行嵌入式软件实时响应方法,其特征在于,包括:多优先级输入非中断实现方法、伪并行实时响应设计方法;
所述最优定时单元为各程序定时时间的最大公约数。
3.根据权利要求2所述的多优先级、非中断式、伪并行嵌入式软件实时响应方法,其特征在于,所述多优先级输入非中断实现方法包括:
程序初始化步骤:单片机上电复位后,在程序初始化部分配置单片机的输入/输出端口类型,对输出端口赋初始化值,配置软件系统时钟定时器,设定系统合适的时钟周期,设定程序各类接口包括通讯接口参数,所述通讯接口参数包括:串口传输速率、数据格式检验码;
程序循环扫描步骤:根据所述不同输入信号的优先级,按照优先级顺序循环扫描各程序模块;
信号处理步骤:对接收到的输入信号进行处理,所述处理包括以下任一种或任多种:去抖动操作、防误操作;
信号响应步骤:根据所述不同输入信号的优先级,调用响应程序处理模块,响应输入信号,实现程序功能。
4.据权利要求3所述的多优先级、非中断式、伪并行嵌入式软件实时响应方法,其特征在于,所述伪并行实时响应设计方法包括:
定时器设置步骤:采用所述软件系统时钟定时器,设定最优定时单元,作为软件响应的基本时钟因子;
主程序设计步骤:设计主程序,令软件主程序在进行了上电复位、自检和程序初始化后,进入一个循环扫描结构,令主程序不断扫描各输入端口,根据输入和优先级进入不同模块,待当前模块执行完成后,依然进入主程序扫描;
伪并行实时响应实现步骤:各程序响应模块伪并行实现,令各程序执行模块按照执行步数分为若干步骤,每一个步骤执行完毕后立即跳出当前子程序处理模块,并将子程序模块当前执行步数作为返回值,之后进入主循环进行输入端口扫描,判断是否有优先级更高的输入需要响应时:若有,则进入高优先级响应程序入口;否则,则按照执行步数进入当前子程序模块,执行下一步程序。
响应时间控制步骤:在主程序中实现响应时间控制,在主循环中通过定时来实现响应时间控制,通过调节基本时钟因子和程序定时时间控制响应速度。
5.一种多优先级、非中断式、伪并行嵌入式软件实时响应设计系统,其特征在于,包括:
信号确定模块:确定嵌入式软件所有的输入信号,确定不同输入信号的优先级以及输入信号的响应时间要求;
总流程绘制模块:绘制程序总的流程图;
子模块流程绘制模块:确定程序各子模块,绘制各子模块的流程图;
定时单元确定模块:配置软件系统时钟定时器,设定最优定时单元;
变量定义模块:定义程序各全局变量,根据全局变量控制各子单元执行入口和出口,实时响应更高优先级的输入信号;
编程模块:根据输入信号、不同输入信号的优先级、输入信号的响应时间要求、程序总的流程图、子模块的流程图、最优定时单元及全局变量进行软件编程。
6.根据权利要求5所述的一种多优先级、非中断式、伪并行嵌入式软件实时响应设计系统,其特征在于,包括:多优先级输入非中断实现系统、伪并行实时响应设计系统;
所述最优定时单元为各程序定时时间的最大公约数。
7.根据权利要求6所述的多优先级、非中断式、伪并行嵌入式软件实时响应设计系统,其特征在于,所述多优先级输入非中断实现系统包括:
程序初始化模块:单片机上电复位后,在程序初始化部分配置单片机的输入/输出端口类型,对输出端口赋初始化值,配置软件系统时钟定时器,设定系统合适的时钟周期,设定程序各类接口包括通讯接口参数,所述通讯接口参数包括:串口传输速率、数据格式检验码;
程序循环扫描模块:根据所述不同输入信号的优先级,按照优先级顺序循环扫描各程序模块;
信号处理模块:对接收到的输入信号进行处理,所述处理包括以下任一种或任多种:去抖动操作、防误操作;
信号响应模块:根据所述不同输入信号的优先级,调用响应程序处理模块,响应输入信号,实现程序功能。
8.据权利要求7所述的多优先级、非中断式、伪并行嵌入式软件实时响应设计系统,其特征在于,所述伪并行实时响应设计系统包括:
定时器设置模块:采用所述软件系统时钟定时器,设定最优定时单元,作为软件响应的基本时钟因子;
主程序设计模块:设计软件主程序,令软件主程序在进行了上电复位、自检和程序初始化后,进入一个循环扫描结构,令主程序不断扫描各输入端口,根据输入和优先级进入不同模块,待当前模块执行完成后,依然进入主程序扫描;
伪并行实时响应实现模块:各程序响应模块伪并行实现,令各程序执行模块按照执行步数分为若干步骤,每一个步骤执行完毕后立即跳出当前子程序处理模块,并将子程序模块当前执行步数作为返回值,之后进入主循环进行输入端口扫描,判断是否有优先级更高的输入需要响应时:若有,则进入高优先级响应程序入口;否则,则按照执行步数进入当前子程序模块,执行下一步程序。
响应时间控制模块:在主程序中实现响应时间控制,在主循环中通过定时来实现响应时间控制,通过调节基本时钟因子和程序定时时间控制响应速度。
9.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的多优先级、非中断式、伪并行嵌入式软件实时响应方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811558333.0A CN109683903A (zh) | 2018-12-19 | 2018-12-19 | 多优先级、非中断式、伪并行嵌入式软件实时响应方法、系统及介质 |
CN201910285280.8A CN109947434A (zh) | 2018-12-19 | 2019-04-10 | 非中断式及伪并行嵌入式软件实时响应方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811558333.0A CN109683903A (zh) | 2018-12-19 | 2018-12-19 | 多优先级、非中断式、伪并行嵌入式软件实时响应方法、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109683903A true CN109683903A (zh) | 2019-04-26 |
Family
ID=66186337
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811558333.0A Pending CN109683903A (zh) | 2018-12-19 | 2018-12-19 | 多优先级、非中断式、伪并行嵌入式软件实时响应方法、系统及介质 |
CN201910285280.8A Pending CN109947434A (zh) | 2018-12-19 | 2019-04-10 | 非中断式及伪并行嵌入式软件实时响应方法、系统及介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910285280.8A Pending CN109947434A (zh) | 2018-12-19 | 2019-04-10 | 非中断式及伪并行嵌入式软件实时响应方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN109683903A (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100485605C (zh) * | 2001-09-24 | 2009-05-06 | 中兴通讯股份有限公司 | 一种多任务实时操作系统的实现方法 |
CN101320337A (zh) * | 2008-07-16 | 2008-12-10 | 北京中星微电子有限公司 | 一种定时器及其实现方法 |
CN102063325B (zh) * | 2011-01-06 | 2013-04-03 | 哈尔滨工业大学 | 一种嵌入51系列单片机的多任务实时操作系统的实现方法 |
US20120192147A1 (en) * | 2011-01-25 | 2012-07-26 | Argen Wong | Develop real time software without an RTOS |
CN105204857B (zh) * | 2015-09-21 | 2018-08-07 | 中国船舶重工集团公司第七〇五研究所 | 一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法 |
CN108196950A (zh) * | 2018-01-24 | 2018-06-22 | 苏州大学 | 一种应用于窄带物联网的实时化操作系统及其方法 |
-
2018
- 2018-12-19 CN CN201811558333.0A patent/CN109683903A/zh active Pending
-
2019
- 2019-04-10 CN CN201910285280.8A patent/CN109947434A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN109947434A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101479704B (zh) | 为多处理器系统设计程序 | |
EP2754033A2 (en) | Parallel processing development environment extensions | |
CN109254763A (zh) | 一种基于有限状态机的核电厂控制软件设计方法 | |
WO2001063647A2 (en) | Digital circuit implementation by means of parallel sequencers | |
CN109683903A (zh) | 多优先级、非中断式、伪并行嵌入式软件实时响应方法、系统及介质 | |
Vanbekbergen et al. | A generalized signal transition graph model for specification of complex interfaces | |
Camurri et al. | Petri net based process scheduling: A model of the control system of flexible manufacturing systems | |
Freedman et al. | The analysis and optimization of repetition within robot workcell sequencing problems | |
CN113094260B (zh) | 一种分布式系统时序关系建模与仿真分析方法 | |
Balbo et al. | On the computation of performance characteristics of concurrent programs using GSPNs | |
Butler et al. | A facility for simulating multiprocessors | |
Huang et al. | Timed protocol verification for Estelle-specified protocols | |
Dotan et al. | Using flat concurrent prolog in system modeling | |
Hibino | A practical parallel garbage collection algorithm and its implementation | |
Lin et al. | A three-phase discrete event simulation with EPNSim graphs | |
CN110262884A (zh) | 一种基于申威众核处理器的核组内多程序多数据流分区并行的运行方法 | |
Chiola et al. | Exploiting timed petri net properties for distributed simulation partitioning | |
GB2308686A (en) | Integrated circuits for multi-tasking support in single or multiple processor networks | |
Zuberek | PETRI NETS AND TIMED PETRI NETS BASIC CONCEPTS AND PROPERTIES | |
AU2006235782B2 (en) | Integrated circuits for multi-tasking support in single or multiple processor networks | |
Hilal et al. | A reactive real-time systems modelling and programming aid tool based on the synchronous Petri nets formalism | |
Ben-Arieh et al. | Concurrent modeling and simulation of reactive manufacturing systems using Petri nets | |
Hansen | Concurrent Processes | |
Pina et al. | Genetic regulatory mechanisms by means of Extended Interactive Petri Nets | |
KR0152710B1 (ko) | AT-Bus에 장착하기 위한 병렬 신경망 보드의 제어회로 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190426 |
|
WD01 | Invention patent application deemed withdrawn after publication |