[发明专利]一种基于MCU的嵌入式实时调度控制装置及方法有效
申请号: | 201410213792.0 | 申请日: | 2014-05-20 |
公开(公告)号: | CN103995742B | 公开(公告)日: | 2017-02-22 |
发明(设计)人: | 周贤勇;李霖;资小林;谌文思;邱宝象;莫小波;林安伟 | 申请(专利权)人: | 万向钱潮股份有限公司;万向集团公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 杭州九洲专利事务所有限公司33101 | 代理人: | 陈继亮 |
地址: | 311215 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mcu 嵌入式 实时 调度 控制 装置 方法 | ||
技术领域
本发明涉及实时调度控制领域,主要是一种基于MCU的嵌入式实时调度控制装置及方法。
背景技术
MCU:Micro Control Unit,微控制单元,又称单片微型计算机(Single Chip Microcomputer)或者单片机,由微处理器(CPU)、定时器(Timer)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)、通信接口以及整形、驱动等大规模集成电路组成。其功能是通过执行存储在ROM或者RAM中的嵌入式软件指令和数据进行运算、处理、判断然后输出指令控制输出或者通信接口按照一定的逻辑规律输出信号。在嵌入式系统中,无论是工业控制、汽车电子还是消费电子等领域普遍采用MCU作为处理器,通过设计软件来处理输入输出、数据存储、时间定时、模数转换以及通信等工作,从而实现具体的嵌入式应用功能。
由于MCU中微处理器(CPU)执行软件指令的串口处理特点,即任意时刻只能处理输入输出、数据存储、时间定时、算法运算、模数转换、通信等其中的一项工作,而且在一个嵌入式系统中,每项工作也并非孤立,执行的时间先后顺序都有一定的要求,如何保证系统的所有功能能够合理有序的执行,同时在规定的时间内确保该运行的工作的执行,而且保证各项功能上下的连续关系是基于MCU嵌入式系统的核心技术。嵌入式实时调度技术就是基于上述目的,在有限的MCU资源下,为嵌入式软硬件系统所有一系列任务决定何时运行,以保证其时间约束、时序约束和资源约束得到满足,确保每个任务实时性的要求。
嵌入式系统多任务调度现有技术中,常用的有高优先权优先调度和基于时间片的轮转调度两种算法。高优先权优先调度的算法是将软件的各个任务模块在运行前赋予一定的优先级,运行时按照优先级从高到低依次执行,其基本思想是先来先服务。时间片轮转算法是系统将所有的任务按先来先服务算法的原则给每个任务分配一定的执行时间,执行时间用完后依次按照顺序执行。
常用的嵌入式系统调度控制方法有高优先权优先调度和基于时间片的轮转调度这两种算法,一般是嵌入式操作系统自带的,因此在使用时,需要付费购买嵌入式操作系统软件并进行移植。不仅成本高,而且开发周期长。另外:
1、高优先权优先调度的算法是将软件的各个任务模块在运行前赋予一定的优先级,运行时按照优先级从高到低依次执行,这种算法只能保证彼此互相独立的任务的实时性,无法实现相互影响的任务的实时性。因此在嵌入式软件中,很多任务并非独立,有的任务需要其他任务执行得到的条件和数据才能执行,如果一个优先级高的任务运行需要另外一个优先级低的任务传递一个变量,那么按照这种调度算法执行的话,在另外一个优先级低的任务没有执行,变量没有计算出来之前,高优先级的任务占用CPU其实就是一种浪费。
2、基于时间片的轮转调度算法只是将任务模块按照时间执行长短机械地轮流使用CPU的调度算法,没有时间基准的概念,不能突出任务的运行频率这个属性,而且轮流调度算法实时性不高。
发明内容
本发明的目的在于克服现有技术存在的不足,而提供一种基于MCU的嵌入式实时调度控制装置及方法,实现嵌入式系统软硬件的“串行任务并行化处理”的功能,确保MCU嵌入式系统软硬件运行的实时性和可靠性。
本发明的目的是通过如下技术方案来完成的,包括微处理器(MPU)、定时器(TIMER)、存储器、输入设备及输出设备,所述的输入设备由I/O接口、模拟数字转换器模块(ADC)和通信接口组成,存储器通过该输入设备获得传感器和总线通信传输的数据和指令,软件系统中的软件指令和数据存储在所述的存储器中,所述的微处理器根据定时器提供的时基信号和软件调度控制规律取出存储器中的软件指令和数据进行运算、处理和判断并得到处理结果输出给输出设备,输出设备由I/O接口、脉宽调制模块(PWM)和通信接口组成,输出的执行结果以不同信号形式通过输出设备传输。
一种采用上述的基于MCU的嵌入式实时调度控制装置的方法,该方法采用两级调度控制机制即优先级重构和时基时间片轮询的算法,并将嵌入式软件各个功能模块任务按照其属性分解成具有时间连续性的连续任务和空间频率性的离散任务,包括如下步骤:
1)、在嵌入式系统运行开始时,首先进行动态任务优先级的重构算法即优先级重构;
2)、在优先级重构中,如满足执行条件将被赋予原始优先级进入时基时间片轮询,如无任务优先级离散任务模块挂起则参与下次重构;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于万向钱潮股份有限公司;万向集团公司,未经万向钱潮股份有限公司;万向集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410213792.0/2.html,转载请声明来源钻瓜专利网。