CN102597956A - 具有用于对分区进行管理的实时核的电子控制单元 - Google Patents
具有用于对分区进行管理的实时核的电子控制单元 Download PDFInfo
- Publication number
- CN102597956A CN102597956A CN2010800481567A CN201080048156A CN102597956A CN 102597956 A CN102597956 A CN 102597956A CN 2010800481567 A CN2010800481567 A CN 2010800481567A CN 201080048156 A CN201080048156 A CN 201080048156A CN 102597956 A CN102597956 A CN 102597956A
- Authority
- CN
- China
- Prior art keywords
- task
- subregion
- real
- time
- nuclear
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种电子控制单元,包括微控制器,该微控制器带有与变量数据相对应的动态存储器,以及与软件操作系统的代码相对应的只读存储器,所述软件操作系统具有用于执行计算机任务的实时核,动态存储器和只读存储器包括被分配給多个分区的区域,其中一个分区被分配给实时核,而其他分区中的每一个分区都被分配到任务中的至少一个,所述控制单元在物理上与被编程地址相组合,以使得每一个分区无法在动态存储器的另一个区域中进行写入,并且也无法执行只读存储器的另一个区域。实时核与用于将执行时间分配到每一个分区的计时器相对应。
Description
本发明涉及具有实时核的电子控制单元,该实时核对分区进行管理。本发明特别旨在用于航空应用。
在这样的应用中,被称为全权数字引擎控制器(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)类型。
Claims (9)
1.一种电子控制单元,包括:微控制器,所述微控制器具有ROM和RAM,所述ROM包含软件操作系统的代码,所述软件操作系统结合有用于执行计算机任务的实时核,所述RAM包含涉及所述实时核和所述任务的变量数据,所述RAM和ROM包括与多个分区相对应的区域,其中一个分区被分配给所述实时核,而其他分区中的每一个分区都被分配给所述任务中的至少一个,所述ROM和所述RAM与地址总线相关联,所述地址总线在物理上被编程,以首先防止每一个分区在所述RAM的所述区域中的另一个区域中进行写入,其次防止执行所述ROM的所述区域中的另一个区域,所述实时核与用于将执行时间分配到每一个分区的计时器相关联。
2.根据权利要求1所述的单元,其中,所述实时核被配置为使得所述分区在循环的执行周期内被执行。
3.根据权利要求2所述的单元,其特征在于,所述执行周期包括一给定分区达若干次。
4.根据权利要求2所述的单元,其特征在于,所述执行周期包括时间预留间隔。
5.根据权利要求1所述的单元,分配给所述实时核的所述分区包含存储器页面,每一个存储器页面都被分配给任务,以便包含每一个任务的寄存器,所述实时核被配置为管理任务指针,所述任务指针用于包含将被执行的任务的页面的地址。
6.根据权利要求1所述的单元,其特征在于,被分配给所述实时核的分区包含准备要被执行的且由分区所组织的任务列表,而所述实时核被配置为管理分区指针,所述分区指针用于访问准备好的任务的列表。
7.根据权利要求6所述的单元,其特征在于,所述准备好的任务的列表是以链接首部的形式,所述链接首部包含准备要被执行的任务中的所述第一个和最后一个任务的上下文地址。
8.根据权利要求1所述的单元,其特征在于,所述控制单元是微控制器,所述微控制器包括用于微控制器以及这样的微处理器的外围设备的的一组指令。
9.根据权利要求1所述的单元,其特征在于,所述微控制器是可编程逻辑阵列。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0905077A FR2951840B1 (fr) | 2009-10-22 | 2009-10-22 | Unite electronique de commande a noyau temps reel gerant un partitionnement |
FR0905077 | 2009-10-22 | ||
PCT/EP2010/006361 WO2011047823A1 (fr) | 2009-10-22 | 2010-10-19 | Unite electronique de commande a noyau temps reel gerant un partitionnement |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102597956A true CN102597956A (zh) | 2012-07-18 |
CN102597956B CN102597956B (zh) | 2016-02-24 |
Family
ID=42226714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080048156.7A Expired - Fee Related CN102597956B (zh) | 2009-10-22 | 2010-10-19 | 具有用于对分区进行管理的实时核的电子控制单元 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8843937B2 (zh) |
EP (1) | EP2491491A1 (zh) |
CN (1) | CN102597956B (zh) |
BR (1) | BR112012009290A2 (zh) |
CA (1) | CA2777729C (zh) |
FR (1) | FR2951840B1 (zh) |
RU (1) | RU2524570C2 (zh) |
WO (1) | WO2011047823A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834567A (zh) * | 2015-04-13 | 2015-08-12 | 中国航空无线电电子研究所 | 一种分区和应用时间窗符合性检测系统 |
CN117743008A (zh) * | 2023-12-13 | 2024-03-22 | 国家电网有限公司直流技术中心 | 多核处理器故障诊断与异常处理方法、主控板卡及设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9857975B2 (en) | 2015-06-26 | 2018-01-02 | International Business Machines Corporation | Non-volatile memory drive partitions within microcontrollers |
FR3071630B1 (fr) | 2017-09-25 | 2021-02-19 | Schneider Electric Ind Sas | Procede de gestion de modules logiciels embarques pour un calculateur electronique d'un appareil electrique de coupure |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117575A1 (en) * | 2001-04-03 | 2004-06-17 | Jean-Francios Link | System and method for controlling access to protected data stored in a storage unit |
US7010602B2 (en) * | 1997-07-23 | 2006-03-07 | Filenet Corporation | Multilevel queuing system for distributing tasks in an enterprise-wide work flow automation |
US20060107264A1 (en) * | 2004-11-18 | 2006-05-18 | Hamilton Sundstrand Corporation | Operating system and architecture for embedded system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1826787A1 (ru) * | 1990-07-18 | 1995-12-20 | Научно-производственное объединение "Сфера" | Процессор |
RU10896U1 (ru) * | 1998-04-27 | 1999-08-16 | Общество с ограниченной ответственностью "Радуга" | Программируемый контроллер |
US7805514B2 (en) * | 2003-08-26 | 2010-09-28 | Yang Harold Haoran | Accessing results of network diagnostic functions in a distributed system |
RU57497U1 (ru) * | 2006-03-14 | 2006-10-10 | Олег Юрьевич Уваров | Демонстрационный стенд |
-
2009
- 2009-10-22 FR FR0905077A patent/FR2951840B1/fr not_active Expired - Fee Related
-
2010
- 2010-10-19 US US13/502,460 patent/US8843937B2/en not_active Expired - Fee Related
- 2010-10-19 WO PCT/EP2010/006361 patent/WO2011047823A1/fr active Application Filing
- 2010-10-19 CN CN201080048156.7A patent/CN102597956B/zh not_active Expired - Fee Related
- 2010-10-19 EP EP10771341A patent/EP2491491A1/fr not_active Ceased
- 2010-10-19 BR BR112012009290A patent/BR112012009290A2/pt not_active IP Right Cessation
- 2010-10-19 CA CA2777729A patent/CA2777729C/fr not_active Expired - Fee Related
- 2010-10-19 RU RU2012120848/08A patent/RU2524570C2/ru not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7010602B2 (en) * | 1997-07-23 | 2006-03-07 | Filenet Corporation | Multilevel queuing system for distributing tasks in an enterprise-wide work flow automation |
US20040117575A1 (en) * | 2001-04-03 | 2004-06-17 | Jean-Francios Link | System and method for controlling access to protected data stored in a storage unit |
US20060107264A1 (en) * | 2004-11-18 | 2006-05-18 | Hamilton Sundstrand Corporation | Operating system and architecture for embedded system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834567A (zh) * | 2015-04-13 | 2015-08-12 | 中国航空无线电电子研究所 | 一种分区和应用时间窗符合性检测系统 |
CN104834567B (zh) * | 2015-04-13 | 2018-04-17 | 中国航空无线电电子研究所 | 一种分区和应用时间窗符合性检测系统 |
CN117743008A (zh) * | 2023-12-13 | 2024-03-22 | 国家电网有限公司直流技术中心 | 多核处理器故障诊断与异常处理方法、主控板卡及设备 |
Also Published As
Publication number | Publication date |
---|---|
RU2012120848A (ru) | 2013-11-27 |
CA2777729A1 (fr) | 2011-04-28 |
FR2951840B1 (fr) | 2011-12-23 |
BR112012009290A2 (pt) | 2016-05-31 |
FR2951840A1 (fr) | 2011-04-29 |
CN102597956B (zh) | 2016-02-24 |
RU2524570C2 (ru) | 2014-07-27 |
US20120216213A1 (en) | 2012-08-23 |
US8843937B2 (en) | 2014-09-23 |
WO2011047823A1 (fr) | 2011-04-28 |
CA2777729C (fr) | 2015-06-09 |
EP2491491A1 (fr) | 2012-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tabish et al. | A real-time scratchpad-centric os for multi-core embedded systems | |
US10846251B1 (en) | Scratchpad-based operating system for multi-core embedded systems | |
Tabish et al. | A real-time scratchpad-centric os with predictable inter/intra-core communication for multi-core embedded systems | |
Giannopoulou et al. | Mapping mixed-criticality applications on multi-core architectures | |
CN102375761A (zh) | 业务管理方法和装置、以及设备 | |
JP2019091492A (ja) | メモリ装置及び不揮発性メモリの制御方法 | |
Ahmadinia et al. | Task scheduling for heterogeneous reconfigurable computers | |
CN102597956A (zh) | 具有用于对分区进行管理的实时核的电子控制单元 | |
JPH06222999A (ja) | スワップ・ブロック組立方法及びメモリ管理機構 | |
Zini et al. | Analyzing arm's MPAM from the perspective of time predictability | |
EP1760580B1 (en) | Processing operation information transfer control system and method | |
JP2021043814A (ja) | メモリシステム | |
US8510529B2 (en) | Method for generating program and method for operating system | |
Hebbache et al. | Work-conserving dynamic time-division multiplexing for multi-criticality systems | |
JP2003271448A (ja) | スタック管理方法及び情報処理装置 | |
CN103593606B (zh) | 上下文信息管理方法及系统 | |
EP3702911B1 (en) | Hardware for supporting os driven load anticipation based on variable sized load units | |
JP7447782B2 (ja) | 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム | |
Danne | Operating systems for fpga based computers and their memory management | |
Jozwik et al. | Rainbow: an OS extension for hardware multitasking on dynamically partially reconfigurable FPGAs | |
CN114064225A (zh) | 一种自适应调度方法、装置、计算机存储介质及系统 | |
JP7439773B2 (ja) | 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム | |
Jiang et al. | Many-Core Real-Time Network-on-Chip I/O Systems for Reducing Contention and Enhancing Predictability | |
Craciunas et al. | Programmable temporal isolation in real-time and embedded execution environments | |
WO2024070015A1 (ja) | 電子制御装置、車両制御システム、及びタスクの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160224 Termination date: 20201019 |
|
CF01 | Termination of patent right due to non-payment of annual fee |