0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

你所不了解的实时系统 微控制器最好的伴侣

电子工程师 来源:fqj 2019-05-07 17:11 次阅读

实时嵌入式系统是什么?很多人都没有明确的答案,甚至可能目前获取到的都是一些似是而非的知识,简单来说,实时嵌入式系统包括分类,约束和设计模式。

嵌入式系统设计是电气和计算机工程领域中最Amazing但也是最具挑战性的领域之一。如果您不确定嵌入式系统设计是什么,请一定要看完本篇。嵌入式系统设计如此具有挑战性的很大原因在于嵌入式系统所需的众多设计约束,这些限制条件可能包括功耗,有限的内存,I/O可用性,温度,空间限制,当然还有总体成本。对于某些嵌入式系统,一个特别重要的约束是时间。

当系统必须在严格定义的时间内响应事件或请求时,我们将其称为实时系统。这个定义的时间称为截止日期。这些系统必须是可预测的,因此根据定义是确定性的。

如果嵌入了实时系统,我们称之为实时嵌入式系统,我们在本文中可互换地使用这两个术语。实时嵌入式系统很好的范例就是那些“关键任务”应用,例如飞机控制,防抱死制动系统,起搏器和可编程逻辑控制器等。

实时系统分类

可以针对错过其时序约束的可接受性这个特点来对实时系统进行分类。

如果错过时间限制是绝对不可接受的,例如,如果这可能导致人命,我们称之为硬实时系统,上面提到的起搏器就是这个类型。

如果错过或者缺少时序约束是可以接受的,那我们称之为软实时系统。像电子邮件系统,无线路由器和家里的一些有线电视盒也都具有设计要满足的实时约束,但是,即便如此,错过这些截止时间的后果往往很小或微不足道,例如,你可能会因为你最喜欢的电视节目需要缓冲一秒钟而烦恼。当软实时系统错过给定操作的最后期限时,操作不会立即失去其所有值。相反,随着时间的推移,该值会减小——即,随着时间的推移越过截止日期,它会逐渐减小到零(参见下图,左)。

许多系统存在于从硬到软的频谱上,其中错过最后期限并不是不可接受的,所以没必要去立即执行操作,一旦执行就失去了它的全部价值,位于此频谱范围内的系统通常称为固定实时系统(参见下图,中间)。

在一个硬实时系统中,错过的最后期限不仅会造成完全的价值损失,还会产生负值,即损害(见下图,右图)。

你所不了解的实时系统 微控制器最好的伴侣

时间限制

每个实时系统都有一组设计满足的时序约束,如果系统没有时序约束,则不是实时的。这些时序约束可以分为两类:事件响应和任务调度。

事件响应

事件是系统必须响应的刺激因素。这些可以在硬件和软件中启动,它们表明发生了某些事情并且必须处理。当事件以内部或外部中断的形式出现时,它可能看起来最熟悉。例如,当按下按钮时,系统可以感知到该按钮并执行必要的操作。系统检测到更改时,可以生成事件。系统检测到事件的时刻与响应该事件的时刻之间的时间称为延迟。延迟定义为响应时间减去检测时间。

任务调度

任务是一组需要由系统处理器运行的指令。一些实时系统设计人员更愿意安排任务,特别是如果这些任务会定期运行。许多嵌入式系统需要重复检测多个输入,然后根据这些新信息修改输出。这些类型的系统适合使用任务。通常使用称为调度程序的软件构造来调度和运行这些任务。计划任务运行与实际运行之间的时间称为抖动。抖动定义为实际时间减去所需时间。

无论实时系统是使用事件响应,任务调度还是两者,最终目标都是尽可能减少延迟和抖动,同时定义被认为可接受的最坏情况的上限。

设计方法

如何设计实时嵌入式系统?随着系统要求的增长和时序约束的加剧,在满足最后期限的同时管理嵌入式系统的所有需求变得越来越困难,以下是整个行业中使用的一些完善的原则。

轮询

轮询调度是用于管理实时系统约束的最熟知且广泛使用的调度算法之一。它的工作方式与其名称相同:它为每个系统组件提供了一个转向,以使用共享资源并完成所需的任务。下图显示了CPU在切换到下一个任务之前为每个任务提供500毫秒的处理时间,任务可能会或可能不会在500毫秒内完成,而接下去他们通常会在轮到他们的时候从他们离开的地方继续。

你所不了解的实时系统 微控制器最好的伴侣

队列

实时系统中另一个有用的构造是队列。队列可以被视为生产线,其中物品进入并等待处理。准备就绪后,系统将从队列中删除下一个项目并对其进行处理。通过这种方式,可以将需要执行的新任务放入队列中,并在系统处理之前执行的任何任务时等待。最终,即使更多任务进入后面,也会处理新任务。下图显示了先进先出(FIFO)队列,其中任务C位于队列中,直到任务A和任务B都已处理完毕。

你所不了解的实时系统 微控制器最好的伴侣

RTOS

当管理时序约束的开销非常大以至于使用任何单一设计方法或原理不再可行时,实时系统的设计和实现就出现了问题。正是在这一点上,实时操作系统成为最合适的解决方案。实时操作系统(RTOS)利用调度和排队的设计模式,但它增加了更多功能,包括任务优先级,中断处理,任务间通信,文件系统,多线程等,所有这些都是实现和超越时间约束目标的最有效方法。

流行的实时操作系统包括VxWorks,QNX,eCos,MbedOS和FreeRTOS

以上前两个是专有的,也就是收费的,但后面三个可以免费使用。MbedOS与Arm的Mbed平台配合使用,FreeRTOS已经移植到许多不同的微控制器上,在以后的文章中会介绍如何启动和运行其中一个。

结论

我们对实时嵌入式系统进行了高级解析,重点介绍了如何对这些类型的系统进行分类和定义,我们根据系统错过截止日期的可接受程度以及错过截止日期的后果来对实时系统进行分类并且还讨论了时序约束以及组织和实现实时系统的三种常用方法。本文虽然更多地关注概念性理解而不是实践知识,但即便如此,通过了解这些概念,微控制器和RTOS,你也可以大致分析出目前手上的项目是否需要用到RTOS,是否可以通过RTOS来解决以前无法实现的问题。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7572

    浏览量

    151645
  • 实时嵌入
    +关注

    关注

    0

    文章

    2

    浏览量

    5470

原文标题:你所不了解的实时系统,微控制器最好的伴侣

文章出处:【微信号:cirmall,微信公众号:电路设计技能】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    TMS320F28003x实时微控制器技术参考手册

    电子发烧友网站提供《TMS320F28003x实时微控制器技术参考手册.pdf》资料免费下载
    发表于 11-12 14:18 5次下载
    TMS320F28003x<b class='flag-5'>实时</b><b class='flag-5'>微控制器</b>技术参考手册

    TMS320F28P65x实时微控制器技术参考手册

    电子发烧友网站提供《TMS320F28P65x实时微控制器技术参考手册.pdf》资料免费下载
    发表于 11-08 14:45 1次下载
    TMS320F28P65x<b class='flag-5'>实时</b><b class='flag-5'>微控制器</b>技术参考手册

    TMS320F2837xD双核实时微控制器技术参考手册

    电子发烧友网站提供《TMS320F2837xD双核实时微控制器技术参考手册.pdf》资料免费下载
    发表于 11-08 14:10 33次下载
    TMS320F2837xD双核<b class='flag-5'>实时</b><b class='flag-5'>微控制器</b>技术参考手册

    TMS320F2807x实时微控制器技术参考手册

    电子发烧友网站提供《TMS320F2807x实时微控制器技术参考手册.pdf》资料免费下载
    发表于 11-08 14:07 0次下载
    TMS320F2807x<b class='flag-5'>实时</b><b class='flag-5'>微控制器</b>技术参考手册

    C2000™实时控制微控制器(MCU)使用入门

    电子发烧友网站提供《C2000™实时控制微控制器(MCU)使用入门.pdf》资料免费下载
    发表于 11-07 09:08 0次下载
    C2000™<b class='flag-5'>实时</b><b class='flag-5'>控制</b><b class='flag-5'>微控制器</b>(MCU)使用入门

    TMS320F280013x实时微控制器技术参考手册

    电子发烧友网站提供《TMS320F280013x实时微控制器技术参考手册.pdf》资料免费下载
    发表于 10-31 09:51 2次下载
    TMS320F280013x<b class='flag-5'>实时</b><b class='flag-5'>微控制器</b>技术参考手册

    使用C2000™实时微控制器的基本开发指南

    电子发烧友网站提供《使用C2000™实时微控制器的基本开发指南.pdf》资料免费下载
    发表于 08-27 10:08 0次下载
    使用C2000™<b class='flag-5'>实时</b><b class='flag-5'>微控制器</b>的基本开发指南

    微控制器内部的存储有哪些

    微控制器(MCU)内部的存储微控制器系统的重要组成部分,它负责存储程序代码、数据以及控制逻辑等信息。这些存储
    的头像 发表于 08-22 10:41 815次阅读

    微控制器的结构和应用

    微控制器(Microcontroller Unit,简称MCU)作为嵌入式系统的核心部件,其原理和应用在现代科技发展中占据了举足轻重的地位。本文将从微控制器的原理、基本结构、工作原理、性能特点以及广泛的应用领域等方面进行详细阐述
    的头像 发表于 08-22 10:40 1171次阅读

    TMS320F2805x实时微控制器数据表

    电子发烧友网站提供《TMS320F2805x实时微控制器数据表.pdf》资料免费下载
    发表于 08-06 11:33 0次下载
    TMS320F2805x<b class='flag-5'>实时</b><b class='flag-5'>微控制器</b>数据表

    TMS320F28004x实时微控制器数据表

    电子发烧友网站提供《TMS320F28004x实时微控制器数据表.pdf》资料免费下载
    发表于 08-01 14:08 0次下载
    TMS320F28004x<b class='flag-5'>实时</b><b class='flag-5'>微控制器</b>数据表

    TMS320F280013x实时微控制器数据表

    电子发烧友网站提供《TMS320F280013x实时微控制器数据表.pdf》资料免费下载
    发表于 07-31 09:37 0次下载
    TMS320F280013x<b class='flag-5'>实时</b><b class='flag-5'>微控制器</b>数据表

    TMS320F280015x实时微控制器数据表

    电子发烧友网站提供《TMS320F280015x实时微控制器数据表.pdf》资料免费下载
    发表于 07-31 09:34 0次下载
    TMS320F280015x<b class='flag-5'>实时</b><b class='flag-5'>微控制器</b>数据表

    嵌入式微控制器的自动代码生成

    然而,在工作中,电气工程师经常被分配对嵌入式微控制器进行编程的任务,这是有充分理由的:他们在如何控制电力电子电路方面拥有经验,并且了解整个系统的要求。此外,他们对
    发表于 05-03 17:33 469次阅读
    嵌入式<b class='flag-5'>微控制器</b>的自动代码生成

    实时微控制器TMS320F2806x数据表

    电子发烧友网站提供《实时微控制器TMS320F2806x数据表.pdf》资料免费下载
    发表于 03-21 09:11 0次下载
    <b class='flag-5'>实时</b><b class='flag-5'>微控制器</b>TMS320F2806x数据表