首页 / 专利库 / 专利权 / 形式要求 / 一种基于MCU的嵌入式实时调度控制装置及方法

一种基于MCU的嵌入式实时调度控制装置及方法

阅读:756发布:2021-07-01

专利汇可以提供一种基于MCU的嵌入式实时调度控制装置及方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于MCU的嵌入式实时调度控制装置及方法,包括 微处理器 、 定时器 、 存储器 、输入设备及输出设备,所述的输入设备由I/O 接口 、模拟数字转换器模 块 和 通信接口 组成,存储器通过该输入设备获得 传感器 和总线通信传输的数据和指令, 软件 指令和数据存储在所述的存储器中,所述的微处理器根据定时器提供的时基 信号 和软件调度控制规律取出存储器中的软件指令和数据进行运算、处理和判断并得到处理结果输出给输出设备,输出设备由I/O接口、脉宽调 制模 块和通信接口组成,输出的执行结果以不同信号形式通过输出设备传输。本发明有益的效果:本发明即保障了连续任务和离散任务的独立性,同时又提高了任务的运行效率和实时性要求。,下面是一种基于MCU的嵌入式实时调度控制装置及方法专利的具体信息内容。

1.一种基于MCU的嵌入式实时调度控制装置,其特征在于:包括微处理器定时器存储器、输入设备及输出设备,所述的输入设备由I/O接口、模拟数字转换器模通信接口组成,存储器通过该输入设备获得传感器和总线通信传输的数据和指令,软件指令和数据存储在所述的存储器中,所述的微处理器根据定时器提供的时基信号和软件调度控制规律取出存储器中的软件指令和数据进行运算、处理和判断并得到处理结果输出给输出设备,输出设备由I/O接口、脉宽调制模块和通信接口组成,输出的执行结果以不同信号形式通过输出设备传输。
2.一种采用权利要求1所述的基于MCU的嵌入式实时调度控制装置的方法,其特征在于:该方法采用两级调度控制机制即优先级重构和时基时间片轮询的算法,并将嵌入式软件各个功能模块任务按照其属性分解成具有时间连续性的连续任务和空间频率性的离散任务,包括如下步骤:
1)、在嵌入式系统运行开始时,首先进行动态任务优先级的重构算法即优先级重构;
2)、在优先级重构中,如满足执行条件将被赋予原始优先级进入时基时间片轮询,如无任务优先级离散任务模块挂起则参与下次重构;
3)、在时基时间片轮询中,通过状态机时间片轮询调度本次时间片的离散任务集合,该执行当前时间片离散任务模块占用CPU运行,其他时间片离散任务模块则挂起参与下次轮询。
3.根据权利要求2所述的基于MCU的嵌入式实时调度控制装置的方法,其特征在于:
所述的优先级重构由时基、时间片、任务标志、执行条件、上次优先级因素来决定,通过任务优先级=[(上次优先级)||(任务标志)]&&(执行条件)的关系式得到任务优先级基数,再同原始优先级进行比较,如果基数大于原始优先级,则需比较原始优先级比其高的任务是否挂起,如挂起,则优先级基数即本次任务优先级,如没有挂起则按照原始任务优先级决定本次任务优先级。
4.根据权利要求2所述的基于MCU的嵌入式实时调度控制装置的方法,其特征在于:
所述的时基时间片轮询通过时基标志判断定时中断是否产生,如果时基中断没有产生,则按照上次循环的时间片调度算法执行;如果时基中断到来,开始执行本次离散任务调度算法,离散任务的调度算法通过定时的时基和时基累计计数器计算本次循环的时间片来决定。

说明书全文

一种基于MCU的嵌入式实时调度控制装置及方法

技术领域

[0001] 本发明涉及实时调度控制领域,主要是一种基于MCU的嵌入式实时调度控制装置及方法。

背景技术

[0002] MCU:Micro Control Unit,微控制单元,又称单片微型计算机(Single Chip Microcomputer)或者单片机,由微处理器(CPU)、定时器(Timer)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)、通信接口以及整形、驱动等大规模集成电路组成。其功能是通过执行存储在ROM或者RAM中的嵌入式软件指令和数据进行运算、处理、判断然后输出指令控制输出或者通信接口按照一定的逻辑规律输出信号。在嵌入式系统中,无论是工业控制、汽车电子还是消费电子等领域普遍采用MCU作为处理器,通过设计软件来处理输入输出、数据存储、时间定时、模数转换以及通信等工作,从而实现具体的嵌入式应用功能。
[0003] 由于MCU中微处理器(CPU)执行软件指令的串口处理特点,即任意时刻只能处理输入输出、数据存储、时间定时、算法运算、模数转换、通信等其中的一项工作,而且在一个嵌入式系统中,每项工作也并非孤立,执行的时间先后顺序都有一定的要求,如何保证系统的所有功能能够合理有序的执行,同时在规定的时间内确保该运行的工作的执行,而且保证各项功能上下的连续关系是基于MCU嵌入式系统的核心技术。嵌入式实时调度技术就是基于上述目的,在有限的MCU资源下,为嵌入式软硬件系统所有一系列任务决定何时运行,以保证其时间约束、时序约束和资源约束得到满足,确保每个任务实时性的要求。
[0004] 嵌入式系统多任务调度现有技术中,常用的有高优先权优先调度和基于时间片的轮转调度两种算法。高优先权优先调度的算法是将软件的各个任务模在运行前赋予一定的优先级,运行时按照优先级从高到低依次执行,其基本思想是先来先服务。时间片轮转算法是系统将所有的任务按先来先服务算法的原则给每个任务分配一定的执行时间,执行时间用完后依次按照顺序执行。
[0005] 常用的嵌入式系统调度控制方法有高优先权优先调度和基于时间片的轮转调度这两种算法,一般是嵌入式操作系统自带的,因此在使用时,需要付费购买嵌入式操作系统软件并进行移植。不仅成本高,而且开发周期长。另外:
[0006] 1、高优先权优先调度的算法是将软件的各个任务模块在运行前赋予一定的优先级,运行时按照优先级从高到低依次执行,这种算法只能保证彼此互相独立的任务的实时性,无法实现相互影响的任务的实时性。因此在嵌入式软件中,很多任务并非独立,有的任务需要其他任务执行得到的条件和数据才能执行,如果一个优先级高的任务运行需要另外一个优先级低的任务传递一个变量,那么按照这种调度算法执行的话,在另外一个优先级低的任务没有执行,变量没有计算出来之前,高优先级的任务占用CPU其实就是一种浪费。
[0007] 2、基于时间片的轮转调度算法只是将任务模块按照时间执行长短机械地轮流使用CPU的调度算法,没有时间基准的概念,不能突出任务的运行频率这个属性,而且轮流调度算法实时性不高。

发明内容

[0008] 本发明的目的在于克服现有技术存在的不足,而提供一种基于MCU的嵌入式实时调度控制装置及方法,实现嵌入式系统软硬件的“串行任务并行化处理”的功能,确保MCU嵌入式系统软硬件运行的实时性和可靠性。
[0009] 本发明的目的是通过如下技术方案来完成的,包括微处理器(MPU)、定时器(TIMER)、存储器、输入设备及输出设备,所述的输入设备由I/O接口、模拟数字转换器模块(ADC)和通信接口组成,存储器通过该输入设备获得传感器和总线通信传输的数据和指令,软件系统中的软件指令和数据存储在所述的存储器中,所述的微处理器根据定时器提供的时基信号和软件调度控制规律取出存储器中的软件指令和数据进行运算、处理和判断并得到处理结果输出给输出设备,输出设备由I/O接口、脉宽调制模块(PWM)和通信接口组成,输出的执行结果以不同信号形式通过输出设备传输。
[0010] 一种采用上述的基于MCU的嵌入式实时调度控制装置的方法,该方法采用两级调度控制机制即优先级重构和时基时间片轮询的算法,并将嵌入式软件各个功能模块任务按照其属性分解成具有时间连续性的连续任务和空间频率性的离散任务,包括如下步骤:
[0011] 1)、在嵌入式系统运行开始时,首先进行动态任务优先级的重构算法即优先级重构;
[0012] 2)、在优先级重构中,如满足执行条件将被赋予原始优先级进入时基时间片轮询,如无任务优先级离散任务模块挂起则参与下次重构;
[0013] 3)、在时基时间片轮询中,通过状态机时间片轮询调度本次时间片的离散任务集合,该执行当前时间片离散任务模块占用CPU运行,其他时间片离散任务模块则挂起参与下次轮询。
[0014] 作为优选,所述的优先级重构由时基、时间片、任务标志、执行条件、上次优先级因素来决定,通过任务优先级=[(上次优先级)||(任务标志)]&&(执行条件)的关系式得到任务优先级基数,再同原始优先级进行比较,如果基数大于原始优先级,则需比较原始优先级比其高的任务是否挂起,如挂起,则优先级基数即本次任务优先级,如没有挂起则按照原始任务优先级决定本次任务优先级。
[0015] 作为优选,所述的时基时间片轮询通过时基标志判断定时中断是否产生,如果时基中断没有产生,则按照上次循环的时间片调度算法执行;如果时基中断到来,开始执行本次离散任务调度算法,离散任务的调度算法通过定时的时基和时基累计计数器计算本次循环的时间片来决定。
[0016] 本发明的有益效果为:实现了基于MCU平台运行的嵌入式软硬件系统各个功能模块的实时运行;提高了嵌入式软件的执行效率,同时本发明的调度算法运算简单、简化了软件设计,不会增加整个系统的软硬件开销,适合实时性要求比较高的自动控制和汽车电子控制系统应用领域。附图说明
[0017] 图1是本发明的MCU软硬件系统运行原理框图
[0018] 图2是本发明的基于优先级重构和时基时间片轮询原理框图。
[0019] 图3是本发明的嵌入式系统任务两级嵌套划分图。
[0020] 图4是本发明的基于时基时间片的离散任务调度流程图

具体实施方式

[0021] 下面将结合附图对本发明做详细的介绍:如附图1所示,本发明由微处理器(MPU)、定时器(TIMER)、存储器(ROM和RAM)、输入设备及输出设备组成,其中软件系统中的软件指令和数据被存储在存储器中,软件指令是构成嵌入式软件任务的集合,输入设备由I/O接口、模拟数字转换器模块和通信接口组成,通过这些接口MCU获得传感器和总线通信传输的指令和数据,MCU中的微处理器(MPU)根据定时器(TIMER)提供的时基信号和软件调度控制规律在一定时刻取出ROM和RAM中的软件指令和数据进行运算、处理和判断并得到处理结果输出给输出设备,输出设备由I/O接口、脉宽调制模块和通信接口组成,输出的执行结果以不同信号形式通过输出设备传输。通过MCU软硬件的协同运行实现了一个基于MCU单片机的嵌入式系统采集、运算、处理、判断、通信、输出的整个过程。本发明旨在提供一种基于MCU的嵌入式系统工作实时调度控制技术/方法,通过这种技术可以使得MCU中的微处理器(MPU)能够根据整个系统实时性和可靠性的要求对系统的各个功能模块进行调度处理,达到“串行任务并行化处理”的功能。
[0022] 如图2所示,本发明创造性的采用了两级调度控制机制即优先级重构和时基时间片轮询的算法。其实现原理:
[0023] 1、在嵌入式系统运行开始时,首先进行动态任务优先级的重构算法,该算法的主要任务是决定本次循环的连续任务的优先级,动态优先级重构由任务标志、执行条件、时基、时间片、上次优先级等因素来决定,因此每个连续任务都有一个结构体变量保存任务的优先级重构信息,其定义格式如下:
[0024] typedef struct结构体名称{
[0025] 数据类型:本次优先级;
[0026] 数据类型:上次优先级;
[0027] 数据类型:任务标志;
[0028] 数据类型:执行条件;
[0029] 数据类型:时基标志;
[0030] 数据类型:时间片;
[0031] 数据类型:任务重构关系式(上次优先级、任务标志、执行条件、时基、时间片参数的运算关系);
[0032] 动态任务优先级重构的实现如下表所示:
[0033]
[0034] 如上表为n个任务的动态优先级重构算法实现过程,通过表中得到的变量在根据任务重构关系式来决定本次优先级,任务重构关系式根据不同的任务赋予,运算因子有时基、时间片、任务标志、执行条件、上次优先级组成。如上表中任务1的优先级,由任务标志、执行条件、上次优先级通过逻辑和算术运算得到。而任务1的任务标志取决于时基和时间片,如上表中,设第n个时间片时刻时,任务1的任务标志为1,那么其优先级运算关系式:
[0035] 任务1优先级=[(上次优先级)||(任务标志)]&&(执行条件);此关系式中,任务1的优先级通过上次优先级(即第n-1个时间片)同任务标志进行逻辑或运算,得到的逻辑真值(“是“或”非“),在同执行条件进行逻辑与运算得到任务1优先级基数,此式表明任务1的优先级主要是上次优先级、任务标志和执行条件决定,如上式计算得到任务1的优先级基数为1,如果上次优先级为0,即任务1被挂起,但是任务标志为1时,可以将任务1从挂起状态唤醒,当执行条件也为1时,任务1的优先级基数重新回到1的状态。通过此关系式得到任务1优先级基数,再同原始优先级进行比较,如果基数大于原始优先级,则需比较原始优先级比其高的任务是否挂起,如挂起,则优先级基数即本次任务优先级,如没有挂起则按照原始任务优先级决定本次任务优先级。因此表中可以看到任务1的优先级依旧是1,而任务2由于执行条件变量为0,不具备本次执行条件被挂起不执行,任务3的优先级升级为2,被挂起的任务在下次循环时重新参加优先级重构,如果满足执行条件将被赋予原始优先级。
[0036] 1、时基时间片轮询算法主要针对嵌入式软件的离散任务,其基本思想是通过定时的时基和时基累计计数器计算本次循环的时间片,然后通过状态机轮询调度本次时间片的离散任务集合,该时间片的离散任务占用CPU运行,其他时间片离散任务则挂起等待下次循环进行轮询,其原理如图2所示。由于离散任务在执行过程中具有空间频率特性,因此这些任务集合具有周期性的属性,如图3所示,本发明根据嵌入式软件系统的实时任务进行了两级分离,目的是在主程序一次循环中尽量区分确保优先任务的执行,同时分离出本时间段暂不执行的任务,让其直接挂起,这样既保证了任务的实时性,同时也降低了一次循环的冗余时间,缩短了循环周期,增强了任务的响应时间,从这一点开看最终也即提高了任务的实时性。如图3所示,在一级任务划分中,本发明将嵌入式软件各个功能模块任务按照其属性分解成具有时间连续性的连续任务和空间频率性的离散任务,在下一级又分别对连续和离散任务进行分解,如按照连续任务的不同执行特性设置任务初始优先级,然后通过优先级重构调度在运行过程中进行动态分配,而离散任务按照其出现的不同频率通过时间片进行划分,从而分解成不同时间片的离散任务集合,通过实际时基时间片轮询状态机决定本次循环应该执行的离散任务集。
[0037] 如图4所示,首先通过时基标志判断定时中断是否产生,如果时基中断没有产生,则按照上次循环的时间片调度算法执行。如果时基中断到来,开始执行本次离散任务调度算法,离散任务的调度算法通过时基定时标志和时间片计数器来决定,即本发明的时基时间片调度算法,其运算关系式:
[0038] 时间片=n x T,其中n为时间片计数器计数值,T为定时器时基标准,通过时间片计数器的计数值乘时基得到当前循环的时间片,然后通过状态机轮询调度符合当前时间片的离散任务集占用CPU,其他离散任务挂起,等待下次循环重新进行调度。
[0039] 离散任务基于时基时间片的调度控制算法程序执行流程如下:
[0040] 基于时基时间片的调度控制算法程序流程:
[0041]
[0042]
[0043] 本发明的创新点及优势为:
[0044] 1、将与时间呈线性关系的嵌入式系统任务赋予空间特性,即各个功能模块按照不同属性划分成连续和离散任务,连续任务具有时间连续性,而离散任务具有空间频率性;
[0045] 2、动态优先级结合时基时间片的调度算法,使得嵌入式软件任务在空间上进行了两级嵌套分离,如图2所示,确保了调度时任务在空间上的独立性,又保证了任务运行时在时间上的关联性;
[0046] 3、采用优先级重构和时基时间片两级任务调度算法的机制,即保障了连续任务和离散任务的独立性,同时又提高了任务的运行效率和实时性要求;
[0047] 4、采用动态优先级分配和基于时基时间片的调度算法极大地提高了嵌入式系统的实时性,同时简化了嵌入式软件的主体架构,减轻了系统开销,降低了整个系统的开发难度。
[0048] 可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换或改变都应属于本发明所附的权利要求的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈