CN105204857A - 一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法 - Google Patents
一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法 Download PDFInfo
- Publication number
- CN105204857A CN105204857A CN201510603284.8A CN201510603284A CN105204857A CN 105204857 A CN105204857 A CN 105204857A CN 201510603284 A CN201510603284 A CN 201510603284A CN 105204857 A CN105204857 A CN 105204857A
- Authority
- CN
- China
- Prior art keywords
- task
- control cycle
- time
- tasks
- real
- 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.)
- Granted
Links
Landscapes
- Control By Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法,首先根据每个任务的处理时间和系统控制周期,判断是否需要将任务分解,其次将所要完成的所有任务分为定时任务、实时任务和随机任务三类,并在单个系统控制周期内设计三类任务的执行程序。本发明适用于无操作系统裸机模式下多任务实时嵌入式系统的设计和实现,可以兼顾操作系统多任务并行处理的便利性,裸机系统的快速启动,及对毫秒级以上事件响应的实时性,适用于实时性要求较高、启动时间要求苛刻的嵌入式系统设计,还可以达到对系统资源的最大化利用。
Description
技术领域
本发明涉及嵌入式控制系统技术领域,具体为一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法,适用于无操作系统的多任务嵌入式实时控制系统设计。
背景技术
嵌入式控制系统的设计涉及两种平台,一种是自带操作系统,如VxWorks,这种方式的优点是便于开发者进行多任务管理,但因操作系统的存在,启动时间比裸机长,且操作系统采用信号量的形式进行调度和管理,无法满足毫秒级实时事件的响应要求;一种是不带操作系统,裸机运行,这种方式的优点是启动快,实时性强,但是在进行多任务并行处理时,实现较为困难。通常的做法是通过自定义中断任务确保定周期实时事件的执行,但在中断任务频繁且耗时较长时,会影响系统实时性和可靠性。
发明内容
为解决嵌入式系统快速启动、高实时性和多任务并行处理的矛盾,本发明提出一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法,得到的嵌入式控制系统能够基于裸机运行,启动时间优于操作系统,实时性也强,而且该系统基于多任务查询模式,避免了因大量中断服务程序运行对实时性造成的影响;可根据不同任务设置不同的优先级进行分级调度,满足多类任务处理需求。
本发明的技术方案为:
所述一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法,其特征在于:包括以下步骤:
步骤1:确定嵌入式控制系统所要完成的每个任务的处理时间,若某一任务的处理时间大于系统控制周期,则将该任务分解为若干子任务,且分解后的单个子任务处理时间小于系统控制周期;
步骤2:将嵌入式控制系统所要完成的所有任务分为定时任务、实时任务和随机任务三类,所述定时任务指在每个系统控制周期内均需完成的任务;所述嵌入式控制系统所要完成的所有任务由所有处理时间小于系统控制周期的任务和步骤1得到的分解后的子任务组成;
步骤3:在嵌入式控制系统的单个系统控制周期内,设计采用以下处理流程:
步骤3.1:在系统控制周期开始时刻,轮询本系统控制周期的任务标签库,所述任务标签库由所有定时任务标签、本系统控制周期要完成的实时任务标签以及在上一系统控制周期形成的随机任务标签组成;
步骤3.2:判断本系统控制周期任务标签库中的所有任务的处理时间之和是否大于系统控制周期,若是,则将本系统控制周期任务标签库中的某些实时任务标签和/或随机任务标签转移至下一系统控制周期任务标签库,确保本系统控制周期任务标签库中所有任务的处理时间之和小于系统控制周期;
步骤3.3:执行本系统控制周期任务标签库中的所有任务,当执行过程中出现新加入的随机任务,则将新加入的随机任务标签放入下一系统控制周期的任务标签库中。
有益效果
采用本发明方法设计的嵌入式控制系统无操作系统,可以兼顾操作系统多任务并行处理的便利性,裸机系统的快速启动,及对毫秒级以上事件响应的实时性。本方法适用于实时性要求较高、启动时间要求苛刻的嵌入式控制系统设计,可以达到对系统资源的最大化利用。
具体实施方式
本实施例中所要设计的嵌入式控制系统,其要完成的任务包括系统航行控制任务、端口通讯任务、检测任务、弹道执行任务、系统在线监控任务。为了快速启动、高实时性和多任务处理,本实施例采用基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法设计嵌入式控制系统,包括以下步骤:
步骤1:确定嵌入式控制系统所要完成的每个任务的处理时间,若某一任务的处理时间大于系统控制周期,则将该任务分解为若干子任务,且分解后的单个子任务处理时间小于系统控制周期。
步骤2;将嵌入式控制系统所要完成的所有任务分为定时任务、实时任务和随机任务三类。所述定时任务指在每个系统控制周期内均需完成的任务,定时任务的执行与系统控制周期相匹配。本实施例中,系统航行控制任务、端口通讯任务、检测任务、弹道执行任务、系统在线监控任务的处理时间均小于系统控制周期,所以都不用分解,其中系统航行控制任务、系统在线监控任务属于定时任务,需按周期执行;端口通讯为实时任务,有则执行;检测任务和弹道执行任务为随机任务。
步骤3:在嵌入式控制系统的单个系统控制周期内,设计采用以下处理流程,将所有任务按时间片进行精确分配和调度,达到在一个系统控制周期内,定时任务定周期执行,实时任务随时响应,随机任务择机执行的效果,同时也杜绝任务处理过程中跨周期问题的出现。
步骤3.1:在系统控制周期开始时刻,轮询本系统控制周期的任务标签库,所述任务标签库由所有定时任务标签、本系统控制周期要完成的实时任务标签以及在上一系统控制周期形成的随机任务标签组成;
步骤3.2:判断本系统控制周期任务标签库中的所有任务的处理时间之和是否大于系统控制周期,若是,则将本系统控制周期任务标签库中的某些实时任务标签和/或随机任务标签转移至下一系统控制周期任务标签库,确保本系统控制周期任务标签库中所有任务的处理时间之和小于系统控制周期;
步骤3.3:执行本系统控制周期任务标签库中的所有任务,当执行过程中出现新加入的随机任务,则将新加入的随机任务标签放入下一系统控制周期的任务标签库中。
通过上述方法设计得到的嵌入式控制系统基于裸机运行,启动时间优于操作系统,实时性也强;基于轮询模式,避免了因大量中断服务程序运行对实时性造成的影响;可根据不同任务设置不同的优先级进行分级调度,满足多类任务处理需求。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (1)
1.一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法,其特征在于:包括以下步骤:
步骤1:确定嵌入式控制系统所要完成的每个任务的处理时间,若某一任务的处理时间大于系统控制周期,则将该任务分解为若干子任务,且分解后的单个子任务处理时间小于系统控制周期;
步骤2:将嵌入式控制系统所要完成的所有任务分为定时任务、实时任务和随机任务三类,所述定时任务指在每个系统控制周期内均需完成的任务;所述嵌入式控制系统所要完成的所有任务由所有处理时间小于系统控制周期的任务和步骤1得到的分解后的子任务组成;
步骤3:在嵌入式控制系统的单个系统控制周期内,设计采用以下处理流程:
步骤3.1:在系统控制周期开始时刻,轮询本系统控制周期的任务标签库,所述任务标签库由所有定时任务标签、本系统控制周期要完成的实时任务标签以及在上一系统控制周期形成的随机任务标签组成;
步骤3.2:判断本系统控制周期任务标签库中的所有任务的处理时间之和是否大于系统控制周期,若是,则将本系统控制周期任务标签库中的某些实时任务标签和/或随机任务标签转移至下一系统控制周期任务标签库,确保本系统控制周期任务标签库中所有任务的处理时间之和小于系统控制周期;
步骤3.3:执行本系统控制周期任务标签库中的所有任务,当执行过程中出现新加入的随机任务,则将新加入的随机任务标签放入下一系统控制周期的任务标签库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510603284.8A CN105204857B (zh) | 2015-09-21 | 2015-09-21 | 一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510603284.8A CN105204857B (zh) | 2015-09-21 | 2015-09-21 | 一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105204857A true CN105204857A (zh) | 2015-12-30 |
CN105204857B CN105204857B (zh) | 2018-08-07 |
Family
ID=54952563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510603284.8A Active CN105204857B (zh) | 2015-09-21 | 2015-09-21 | 一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105204857B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885787A (zh) * | 2014-04-10 | 2014-06-25 | 刘兴光 | 一种操作指令分层设计方法及装置 |
CN107102868A (zh) * | 2016-02-23 | 2017-08-29 | 北京兆易创新科技股份有限公司 | 嵌入式系统及其快速启动方法和装置 |
CN107577528A (zh) * | 2017-09-01 | 2018-01-12 | 长沙小卡机器人科技有限公司 | 多任务序列并行运行的方法 |
CN109784647A (zh) * | 2018-12-14 | 2019-05-21 | 兰州空间技术物理研究所 | 一种用于空间站的主动电位控制系统的任务调度方法 |
CN109947434A (zh) * | 2018-12-19 | 2019-06-28 | 中国兵器装备集团上海电控研究所 | 非中断式及伪并行嵌入式软件实时响应方法、系统及介质 |
CN109962941A (zh) * | 2017-12-14 | 2019-07-02 | 华为技术有限公司 | 通信方法、装置以及服务器 |
CN112383964A (zh) * | 2020-10-21 | 2021-02-19 | 武汉虹信科技发展有限责任公司 | 无线网络物理层的单核多任务调度方法及系统 |
CN114661449A (zh) * | 2022-05-19 | 2022-06-24 | 四川傲势科技有限公司 | 任务调度方法、嵌入式系统及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421702B1 (en) * | 1998-06-09 | 2002-07-16 | Advanced Micro Devices, Inc. | Interrupt driven isochronous task scheduler system |
CN1409209A (zh) * | 2001-09-24 | 2003-04-09 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种多任务实时操作系统的实现方法 |
CN101266553A (zh) * | 2008-05-06 | 2008-09-17 | 无锡紫芯集成电路系统有限公司 | 基于嵌入式系统的多任务管理方法 |
CN103399798A (zh) * | 2013-07-29 | 2013-11-20 | 深圳市汇川控制技术有限公司 | Plc的多任务控制方法和装置 |
US20140059553A1 (en) * | 2012-08-24 | 2014-02-27 | Sundeep Chandhoke | Hardware assisted real-time scheduler using memory monitoring |
CN104915254A (zh) * | 2014-12-31 | 2015-09-16 | 杰瑞石油天然气工程有限公司 | 一种嵌入式系统的多任务调度方法及系统 |
-
2015
- 2015-09-21 CN CN201510603284.8A patent/CN105204857B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421702B1 (en) * | 1998-06-09 | 2002-07-16 | Advanced Micro Devices, Inc. | Interrupt driven isochronous task scheduler system |
CN1409209A (zh) * | 2001-09-24 | 2003-04-09 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种多任务实时操作系统的实现方法 |
CN101266553A (zh) * | 2008-05-06 | 2008-09-17 | 无锡紫芯集成电路系统有限公司 | 基于嵌入式系统的多任务管理方法 |
US20140059553A1 (en) * | 2012-08-24 | 2014-02-27 | Sundeep Chandhoke | Hardware assisted real-time scheduler using memory monitoring |
CN103399798A (zh) * | 2013-07-29 | 2013-11-20 | 深圳市汇川控制技术有限公司 | Plc的多任务控制方法和装置 |
CN104915254A (zh) * | 2014-12-31 | 2015-09-16 | 杰瑞石油天然气工程有限公司 | 一种嵌入式系统的多任务调度方法及系统 |
Non-Patent Citations (6)
Title |
---|
曹营: ""嵌入式系统任务调度机制的研究与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
李涛等: ""在同一多线程中执行定时任务和随机任务"", 《飞行器测控学报》 * |
林刚勇等: ""基于裸机编程的实时系统"", 《单片机与嵌入式系统应用》 * |
王瑜瑜等: ""实时多任务机制在单片机系统中的研究"", 《国外电子测量技术》 * |
钱宜平: ""基于单片机应用系统的多任务程序结构设计"", 《无锡职业技术学院学报》 * |
高国胜等: ""单片机系统的实时多任务机制研究"", 《舰船电子工程》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885787A (zh) * | 2014-04-10 | 2014-06-25 | 刘兴光 | 一种操作指令分层设计方法及装置 |
CN107102868A (zh) * | 2016-02-23 | 2017-08-29 | 北京兆易创新科技股份有限公司 | 嵌入式系统及其快速启动方法和装置 |
CN107577528A (zh) * | 2017-09-01 | 2018-01-12 | 长沙小卡机器人科技有限公司 | 多任务序列并行运行的方法 |
CN107577528B (zh) * | 2017-09-01 | 2020-09-08 | 长沙小卡机器人科技有限公司 | 多任务序列并行运行的方法 |
CN109962941A (zh) * | 2017-12-14 | 2019-07-02 | 华为技术有限公司 | 通信方法、装置以及服务器 |
CN109784647A (zh) * | 2018-12-14 | 2019-05-21 | 兰州空间技术物理研究所 | 一种用于空间站的主动电位控制系统的任务调度方法 |
CN109947434A (zh) * | 2018-12-19 | 2019-06-28 | 中国兵器装备集团上海电控研究所 | 非中断式及伪并行嵌入式软件实时响应方法、系统及介质 |
CN112383964A (zh) * | 2020-10-21 | 2021-02-19 | 武汉虹信科技发展有限责任公司 | 无线网络物理层的单核多任务调度方法及系统 |
CN112383964B (zh) * | 2020-10-21 | 2022-07-19 | 武汉虹信科技发展有限责任公司 | 无线网络物理层的单核多任务调度方法及系统 |
CN114661449A (zh) * | 2022-05-19 | 2022-06-24 | 四川傲势科技有限公司 | 任务调度方法、嵌入式系统及计算机可读存储介质 |
CN114661449B (zh) * | 2022-05-19 | 2022-08-19 | 四川傲势科技有限公司 | 任务调度方法、嵌入式系统及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105204857B (zh) | 2018-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105204857A (zh) | 一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法 | |
CN101452404B (zh) | 一种嵌入式操作系统的任务调度装置及方法 | |
CN101894047A (zh) | 一种基于内核虚拟机调度策略的实现方法 | |
CN101266553B (zh) | 基于嵌入式系统的多任务管理方法 | |
CN102073572B (zh) | 用于多核处理器的监控方法及系统 | |
CN103279385A (zh) | 一种云计算环境中集群任务调度方法及系统 | |
CN102890643A (zh) | 基于应用效果即时反馈的显卡虚拟化下的资源调度系统 | |
EP3594809A1 (en) | Control system for microkernel architecture of industrial server and industrial server comprising the same | |
CN102541651A (zh) | 一种嵌入式虚拟机的实时调度系统 | |
CN104536835A (zh) | 一种热备份实时控制系统中自适应任务调度方法 | |
Valente et al. | Development of multi-level adaptive control and scheduling solutions for shop-floor automation in reconfigurable manufacturing systems | |
CN103389913A (zh) | 一种用于Linux系统的实时中断处理方法 | |
CN112559159A (zh) | 一种基于分布式部署的任务调度方法 | |
CN101968749B (zh) | 虚拟机过度分配环境下的mpi消息接收方法 | |
CN104915254A (zh) | 一种嵌入式系统的多任务调度方法及系统 | |
CN103914346A (zh) | 一种基于分组的实时操作系统双优先级任务调度节能方法 | |
CN103049314A (zh) | 一种开放式系统实时调度方法 | |
CN104597820B (zh) | 一种扩展单片机硬件定时器的方法 | |
US20170132030A1 (en) | Virtual machine system, control method thereof, and control program recording medium thereof | |
CN112860401A (zh) | 任务调度方法、装置、电子设备和存储介质 | |
CN101996105A (zh) | 可重构计算平台上的静态软硬件任务划分与调度方法 | |
CN104021041B (zh) | 一种多任务操作环境状态的计算机调度方法 | |
CN101349975B (zh) | 一种在嵌入式操作系统上实现中断底半部机制的方法及装置 | |
CN110969351A (zh) | 面向多任务跨厂协同的生产任务调度方法 | |
Lumpp et al. | Enabling Kubernetes orchestration of mixed-criticality software for autonomous mobile robots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |