首页> 中国专利> 具有用于对分区进行管理的实时核的电子控制单元

具有用于对分区进行管理的实时核的电子控制单元

摘要

本发明涉及一种电子控制单元,包括微控制器,该微控制器带有与变量数据相对应的动态存储器,以及与软件操作系统的代码相对应的只读存储器,所述软件操作系统具有用于执行计算机任务的实时核,动态存储器和只读存储器包括被分配給多个分区的区域,其中一个分区被分配给实时核,而其他分区中的每一个分区都被分配到任务中的至少一个,所述控制单元在物理上与被编程地址相组合,以使得每一个分区无法在动态存储器的另一个区域中进行写入,并且也无法执行只读存储器的另一个区域。实时核与用于将执行时间分配到每一个分区的计时器相对应。

著录项

  • 公开/公告号CN102597956A

    专利类型发明专利

  • 公开/公告日2012-07-18

    原文格式PDF

  • 申请/专利权人 萨甘安全防护公司;

    申请/专利号CN201080048156.7

  • 发明设计人 G·雷诺特;

    申请日2010-10-19

  • 分类号G06F9/50;G06F12/14;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人毛力

  • 地址 法国巴黎

  • 入库时间 2023-12-18 06:12:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-02-24

    授权

    授权

  • 2012-09-19

    实质审查的生效 IPC(主分类):G06F9/50 申请日:20101019

    实质审查的生效

  • 2012-07-18

    公开

    公开

说明书

本发明涉及具有实时核的电子控制单元,该实时核对分区进行管理。 本发明特别旨在用于航空应用。

在这样的应用中,被称为全权数字引擎控制器(FADEC)的控制单 元被已知包括有:结合了用于执行计算机应用程序任务的软件操作系统的 微控制器。这些应用程序可以完全地或部分地同时地执行。操作系统结合 了实时核,即:用于管理应用程序的执行并用于确保数据被在两个应用程 序之间以及在应用程序和硬件之间被路由的实时操作系统(RTOS)。提供 了分区,分区被分配给每一应用程序,以便避免应用程序在被执行时彼此 干扰。在航空领域,这样的分区是由ARINC 653标准管制的,该标准提供 了空间-划分分区,从而保证了应用程序不能在对应于另一应用程序的分区 的存储器区域进行写入,并提供了时间-划分分区,保证了将一些执行时间 分配到每一个应用程序。这种分区使得能够存有来自不同的供应商和/或具 有不同关键程度的应用程序。与ARINC 653标准相兼容的实时核仍然是麻 烦的,它们具有分区纯粹在软件中执行的缺点,以致于在实时核的控制以 外执行的应用程序的呈现是效率是低下的。

此外,在多任务核中,当核调度器指示从第一任务切换到第二任务 时,第一任务的上下文(即,用于微控制器执行所需的、并且特别记录在 微控制器的存储寄存器中的全部状态值)需要被备份,而第二任务的上下 文需要被找到并被恢复。如此,上下文的改变是相对耗时的,特别是由于 微控制器具有越来越多数量的用于备份的寄存器。由于同样的理由,分区 的改变是冗长的。这就构成了与ARINC 653标准兼容的多任务处理核的额 外的缺点。

本发明的目标是提供控制单元,该控制单元提供强的空间划分分区 和时间划分分区。

为此,本发明提供了电子控制单元,其中包括微控制器,该微控制 器带有包含软件操作系统的代码的只读存储器(ROM),并带有包含与任 务相关联的变量数据的随机存取存储器(RAM),该软件操纵系统结合有 用于执行计算机任务的实时核。ROM和RAM具有对应于分区的区域,其 中一个区域被分配給实时核,而其他的分区中的每一个分区都被分配給多 个任务中的至少一个。ROM和RAM与地址总线相关联,该地址总线在物 理上被编程为首先阻止每一个分区在RAM的另一个区域中进行写入,并且 其次阻止每一个分区执行ROM的区域中的另一个区域,而实时核与用于将 执行时间分配到每一个分区的计时器相关联。

如此,地址总线在物理上被以这样的方式变成,以使得在任何一个 分区中执行的任务都没有在除了被分配给其的分区之外的分区中进行写入 数据或执行代码的硬件装置。在不涉及实时核且不经由对地址总线的编程 的情况下,数据交换无法在分区之间进行。如此,实时核确保了在当前正 在被执行的分区之外的分区中的数据的完整性。实时核还确保了可以通过 将执行时间窗口分配到每一个任务来执行每一个任务。因此,可以同时执 行多个任务,而最小化由于它们的执行所造成的相互干扰的任何风险。

优选情况下,实时核被配置为使得分区将在循环的执行周期中执行, 更优选地,执行周期可包括一给定分区达若干次。

这样的周期管理起来简单。

还优选地,执行周期包括时间预留间隔。

时间预留允许一个或多个任务被以简单的方式添加,而不需要完全 重新组织执行周期。

根据本发明的第一特别有利的特征,分配给实时核的分区包含存储 器页面,每一个存储器页面都被分配给一任务,以便包含每一个任务的寄 存器,实时核被配置为管理任务指针,任务指针用于包含将被执行的任务 的页面的地址。

这通过免除了将当前任务的寄存器备份在预定义的固定地址区域中 的必要性以及恢复将要被执行的任务的寄存器的必要性而使得寄存器改变 的加速成为可能。这产生了相对快速的上下文改变,其具有不依赖于寄存 器数量的时长。这也通过要求对任务指针的适当控制以便访问寄存器,而 使得对寄存器的分区成为可能。

根据本发明的第二特别有利的特征,被分配给实时核的分区包含准 备要被执行的且由分区来组织的任务列表,实时核被配置为管理分区指针, 该分区指针用于访问准备好的任务的列表,优选地,准备好的任务的列表 是以链接首部的形式,链接首部包含准备要被执行的第一和最后一个任务 的上下文地址。

这可使得分区改变只通过更新分区指针来快速地执行。

在阅读了下面的对特定的非限制性本发明的实施例之后,本发明的 其他特征以及优点将变得显而易见。

参考各个附图,其中:

·图1是ROM和RAM的空间划分分区的示意图;

·图2是根据本发明的控制单元的示意图,特别示出了RAM分区是 如何组织的;以及

·图3是分区的排序的示意图。

此处在用于控制一个或多个飞机发动机的航空应用中描述了本发 明。在此示例中,控制单元是FADEC类型,它符合ARINC 653标准。

参考附图,根据本发明的控制单元是片上系统(SOC)类型的微电 路,包括用于微控制器以及其外围设备的程序指令。控制单元可以等效地 以现场可编程门阵列(FPGA)的形式来实现。作为示例,微控制器可以以 VHDL语言来编写,可以是可重复编程的。(其中,VHDL代表超高速集 成电路硬件描述语言)。

如此,控制单元包括具有ROM 2和RAM 3的微控制器1。控制单 元还包括未示出的特定装置,用于与在每一个发动机上安置的传感器以及 与航空器的驾驶舱中安置的控制仪器建立连接。

ROM 2具有对应于诸个分区(P0到P3)的区域,其中一个分区被 分配给软件操作系统的代码,而其他分区中的每一个都被分配给包括任务 的应用程序代码或计算机程序。ROM 2与地址总线相关联,该地址总线在 物理上被编程,以便每一个分区都能够在ROM中的与该分区相对应的区域 之外的存储器区域中执行代码。软件操作系统结合了实时核,该实时核具 有调度任务的功能,并且确保了预定时间约束兼容于执行任务。如此,分 区P0对应于实时核代码,而其他分区(在这里是分区P1到P3)分别对应 于一个或多个任务(在这里是任务T1到T6)的代码。

RAM 3具有对应于分区P0到P3的诸个区域,其中一个分区被分配 给实时核,而其他分区中的每一个都分配给至少一个任务,而RAM与地址 总线相关联,该地址总线在物理上被编程,以便每一个分区不能向RAM中 的与该分区相对应的区域之外的区域进行写入。如此,分区P0被分配给数 据以及实时核的其他变量,而分区中的其他分区(在这里是分区P1到P3) 被分别分配给一个或多个任务(在这里是任务T1到T6)的数据。

如此,这提供了空间划分分区,该分区是通过由存储器控制器所管 理的虚拟寻址机制的方式来实现的,该存储器控制器被结合入微控制器中 并且管理地址总线和数据总线(照常规虚拟寻址来推论,被编程的地址对 应于虚拟地址,而实际地址对应于物理地址;参见图1)。提供了缓冲器(也 称为MPC 5554类型的微控制器中的转换后备缓冲器(TLB),用于对翻译 地址进行编程,该翻译地址使得从被编程的地址到实际地址成为可能。如 此,微控制器管理四个缓冲器,该四个缓冲器用于可以在任何给定瞬间执 行的两个分区:

·代码的缓冲器,以及用于被分配给实时核的分区P0的数据的缓冲 器;以及

·代码的缓冲器,以及用于被分配给在所述瞬间活动的任务的分区 PX的数据的缓冲器。

对代码以及数据的所有访问都通过缓冲器来进行:当缓冲器被擦除 时,对物理地址的访问是不可能的。如此,通过只使用四个缓冲器,只有 两个期望的分区是可访问的(实时核以及所选的应用程序任务)。其他分 区是不可访问的。

此外,还可以给予超级用户和用户到缓冲器的许可,以便防止分配 给实时核的分区P0(超级用户模式)被在用户模式下执行的应用程序分区 进行不期望的访问。

实时核还被配置为实现定时,以便将执行时间分配给分区P1到P3 中的每一个。该定时被组织为由微控制器的时钟中断所计时的基础周期的 倍数,由中断所激活的任务调用了实时核的时间管理例程,以便实时核接 过对每一个中断上的控制,以便判断是否应该暂停当前分区的执行。在此 示例中,实时核被特别配置为控制在循环的执行周期内的分区的执行,并 由此控制任务的执行。执行周期包括时间预留间隔R,时间预留间隔R允 许通过从时间预留中取出新分区的执行时间而加入新分区。

被分配给实时核的分区P0包含存储器页面(PM1到PM6),每一 个存储器页面都被分配给相应的任务(T1到T6),以便包含每一个任务的 寄存器,实时核被配置为管理任务指针(PT),任务指针(PT)用于包含 当前正在被执行的任务页面的地址。

分配给实时核的分区P0包含准备要被执行的且由分区所组织的任 务列表(LTP1到LTP3),实时核被配置为管理分区指针(PP)以便访问 准备好的任务的列表(LTP1到LTP3)。

准备好的任务的每一个列表(LTP1到LTP3)是以链接首部的形式, 链接首部包含准备要被执行的任务中的第一个和最后一个任务的上下文地 址。实时核保持准备好的任务的最新的列表,作为用于触发所述任务的事 件发生(诸如函数调用或中断)的函数。另外,实时核考虑可以被分配给 每一个任务的优先级,以便对准备好的任务的列表进行排序。

当启动对每一个分区的准备好的任务的执行时,实时核触发超时, 并在超时结束时,它暂停所述分区的执行,以便启动对接下来的分区的准 备好的任务的执行。

分区改变是通过更新分区指针来执行的。

执行新任务之前的上下文的改变是通过加载任务指针PT来执行,该 任务指针PT带有包含将要被执行的任务的寄存器的存储器页面的地址。上 文所描述的控制单元的结构允许以特别有效的方式实现本发明的上下文改 变模式,因为其尤其使得对微控制器的程序指令以及外围设备的修改成为 可能。

上下文(任务或分区)的改变是快速的且恒定时长的。其时长首先 独立于微控制器的内部寄存器数量,其次独立于要被管理的准备好的任务 的数量或分区的数量。

如此,本发明可以使得微控制器实时地执行多任务处理操作,而同 时仍然符合ARINC 653标准,并限制控制单元的成本。

以常规方式,被分配给实时核的分区P0包含用于管理实时核的资源 (时间延迟、队列……)的其他链接列表。

自然,本发明不仅限于所描述的各实施例,而且还涵盖如权利要求 书所定义的本发明的范围内的任何变形。

具体而言,分区可以是相同的或不同的大小。

执行周期可包括任何给定分区达一次或多次。

可以预见到用于免于备份和随后的寄存器恢复的各种方法:

·修改寄存器访问指令,以便以索引模式访问它们(其中索引由任 务指针来提供),而不是以直接模式访问它们;

·当寄存器区域的地址是可配置时,借助于任务指针,授权(不仅 在启动时的)动态重新配置(不修改指令);以及

·创建专用于寄存器的地址总线,其中,可以使用任务指针来动态 地配置地址区域。

电子单元可以是不同于所描述结构的结构。例如,ROM 2可以等效 地是电可擦可编程只读存储器(EEPROM)类型或非易失性存储器(NVM) 类型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号