在硬件系统上动态构建行为模型的系统和方法

文档序号:6595374阅读:822来源:国知局
专利名称:在硬件系统上动态构建行为模型的系统和方法
技术领域
本发明涉及构建用于电子硬件控制系统的行为模型-特别是直接在生产硬件平台上动态构建行为模型。
背景技术
本申请涉及电子控制系统的设计。各种类型的系统利用处理器来控制系统。系统的一个示例是管理汽车操作的自动控制器。另一个示例系统是管理建筑物内环境控制操作的加热和通风控制器。处理器含有具有软件或固件的电路板,其中软件或固件包括与系统操作有关的程序指令。当前,开发和更新控制系统的行为是困难和费时的。因此,在现有技术中需要更有效地动态更新控制系统的行为的系统和方法。电子控制系统开发一直都是很难的任务。其要求包括控制系统工程、电子工程、系统(固件)工程、和高级软件工程的广泛的专业技术。由于控制系统硬件持续以摩尔定律 (在计算硬件的历史上的一个长期趋势,其中可以便宜地放置在集成电路上的晶体管的数量大约每两年翻一翻)控制的速度进步,因此固件和软件工程任务的复杂度增加。该趋势使得嵌入式控制系统的开发极大地更为昂贵和费时。在电子控制系统中使用的嵌入式处理器现在有足够的能力来运行操作系统,并且一些最新的处理器甚至具有类似于在高端桌上型计算机中使用的最新处理器的多“核”特性。这意味着电子控制系统开发者必须扩展他们的专业技术以更进一步包括诸如多线程、 操作系统、操作系统资源、设备驱动器、和通信协议的新概念。面对变得令人沮丧的任务,该行业已经广泛采用某些新的工具链。其包括一些非常贵(通常是昂贵)的硬件和软件。通常最被接受的设计流程包括首先使用非常面向学术的软件来构建电子控制系统的每个独立部分将如何运转的图形流程图。然后,必须在试图模仿真实环境的专用仿真样机硬件上对这些“行为模型”中的每一个进行仿真和测试,其中电子控制系统在这样的真实环境中运作。该样机硬件非常昂贵并且仅能以有限精度来模仿真实世界的运作。最后,一旦设计已经在多个级别上进行仿真并且被认为是可接受的,必须将其“移植(ported),,到真实的电子控制系统-图形流程图必须被生成为将在嵌入式处理器上运行的代码。这些工业上可接受的工具链努力使从设计模型创建代码的这一重要步骤自动化。它们都试图自动地产生代码,但是由于自动代码生成软件,该过程是复杂、耗时和受限的。 主要的障碍是明显的-如果编写正确的电子控制系统代码即使对好的人类程序员来说也是极其困难的话,那么编写自动生成该代码的工具就更困难了。本发明背后的基本原理是该工作不仅困难,而且随着嵌入式处理器复杂度的增加,该方法可能变得完全不可能实现。图1描述了传统的控制系统开发流程。开发从1、行为模型的设计开始。该设计通常通过商业上可使用的行为建模设计软件包来完成。MathWorks有限公司以及其它厂商提供这样的软件包。过程中的下一步由2、3和4来描述,其是仿真和样机处理。有几个提供样机硬件的厂商,例如美国国家仪器有限公司(National Instruments he.)和Dspace有限公司,其中开发者能够下载行为模型的设计并运行用于验证和测试的控制系统。这些系统通常对开发者来说是昂贵的,并且要求工程专业技术来运行。一旦确定行为模型适于测试,5表示代码生成步骤,其中代码可以自动生成的或者是手工编写的。自动代码生成步骤通常不是100%自动化的,并且要求工程工作以产生准备构建的代码。一旦代码生成,开发过程将通常包括6、7、8和9所描述的步骤。步骤6通常包括由工具厂商提供的用于硬件平台上使用的特定微处理器的编译器和连接器的运用。在步骤6中使用的工具链通常是昂贵的并且要求软件工程资源。步骤7包括生产级别硬件控制系统的实际测试。步骤8描述了在数据获取和行为验证中包括的工程工作。步骤9包括实现步骤8所要求的代码修改,其中依次进行如图6所示的编译、连接和下载。这是个迭代过程,其中修改系统以调整该行为与原始设计中计划的行为相一致。能够购买可使用的几个软件包以帮助开发者到生产级别硬件平台的移植并有助于管理包括在步骤6、7、8和9中的各种复杂状态。这些软件包通常会给开发周期增加大量成本并且要求附加的工程资源以学习软件。在行为模型设计改变的情况下,必须重复2-9的全部序列,从而又导致开发周期延长。至少,必须重复代码生成5, 并且必须执行步骤6、7、8和9的迭代验证。

发明内容
本发明的一个优势是提供一种性价比合算和有效率的动态修改系统行为的系统和方法。直接在生产级别硬件系统上的开发控制系统模型的开发在进入市场的时间和成本上更有效率。开发者将节省昂贵的样机硬件、昂贵的开发软件工具、多种工程规定要求和较长的开发周期。图2描述了本发明的控制系统开发流程。行为模型设计9与图1中描述的 1相似。本发明的优势是将设计直接下载到生产硬件平台上,而不用下载到图1的步骤2、3 和4所示的单独样机硬件系统中。直接在如图2的步骤10中所示的生产硬件平台上制造行为模型的样机。由于本发明更为直接的方法,因此将1、10和11的迭代开发处理实施为开发者集中到所希望的行为,并且缩短了开发周期。本发明的再一个优势是提供一种系统和方法,其中能够通过主系统完全地管理电子控制系统的负载平衡和处理控制。本系统的另一优势是控制系统的构建块可下载到目标系统以更新系统行为而无需重新编译目标系统中现有的固件图像,从而导致更有效的开发周期和更快进入市场的时间。


图1是目前在工业上使用的控制系统开发流程的示意图。图2是由本发明提供的控制系统开发流程的示意图。
图3是从主机到目标通信接口的框图和从主机下载配置构建块到目标的示意图。图4是控制系统的行为模型的示意图。这是本发明中系统产生的连通性。图5是本发明的系统中各处理任务的示意图,其中用图形表示任务控制和配置构建块控制。
具体实施例方式本发明的实施方式涉及直接在硬件平台上动态构建行为模型。在本发明中将电子控制系统称为目标。电子控制系统是作为行为模型设计目标的硬件平台。将在目标硬件系统上动态地构建行为模型,从而能够使硬件平台读取输入并控制输出以产生期望的控制系统行为。主系统是开发者能够连接到目标硬件平台的开发平台。主系统通常是个人计算机, 但可以是能够使用正确的通信协议与目标进行通信的任何系统。图3描述了主系统与目标系统的连接。12描述了主系统,且13表示在能够与目标硬件平台15进行通信的主机上运行的应用程序。主应用13给开发者提供接口,其中开发者能够在接口中创建配置构建块14。配置构建块14是描述将在目标硬件系统上创建的部分行为的对象。配置构建块可以是数学计算、定时控制或者目标硬件系统15的硬件输入和输出行为的一部分。配置构建块14可以是能够在目标系统上处理的几个不同类型的构建块中的一个。配置构建块14可以是能够在目标硬件系统15上的状态机中解释的微代码块。配置构建块14可以是能够在目标硬件系统15上解释的内建命令描述和数据。配置构建块14可以是能够在目标硬件系统15的微处理器上直接执行的机器目标代码。16表示配置构建块14能够被下载到目标硬件系统15的过程。配置构建块14将存储在目标系统15 的非易失性存储器17中。将14存储在目标硬件系统15的非易失性存储器17中将允许在动力循环的事件中检索配置构建块14。过程16也表示如果希望则主应用13允许开发者观察、修改和删除配置构建块14。图4描述了作为目标硬件系统中的连接图的行为模型。图4中描述的行为连接系统可以包含任意数量的配置构建块,并受限于目标硬件系统的系统资源。盒18表示包括由 5个配置构建块19、20、21、22和23组成的行为模型的系统的实施例。每个配置构建块可以从非易性存储器中检索并在目标硬件平台的RAM中进行汇编。根据输入M和系统18包含的构建块所描述的行为来确定系统的输出25。可以将配置构建块连接起来以产生目标硬件系统所期望的行为。为了创建所期望的行为,所述主应用将给开发者提供接口,凭借该接口开发者能够与配置构建块相连接。开发者可以从由所述主应用提供的一组配置构建块中选择每个配置构建块。将配置构建块下载到目标硬件系统,并且由目标硬件系统软件对配置进行连接和汇编。在图4中描述的所指定的连接性将由目标硬件平台软件进行汇编。目标硬件系统上的配置构建块的处理将产生指定的行为。图4中描述的行为连接系统给出了连接性,由此将配置构建块19和20输入到块21,并将19输入到块22,将块21和22输入到块23。系统25的输出是所描述系统18的全部所包括的配置构建块19、20、21、22和23的输出的全集。图5描述了本发明的内部处理架构。为了满足所设计行为的延迟和定时要求,所述目标硬件系统的内部固件包括能够以严格定时方式处理所述配置构建块的软件。目标硬件平台可包括能够控制微处理器的处理状态并管理包括R0M(只读存储器)、EEPR0M(电可擦除可编程只读存储器)、RAM(随机存储存储器)、硬件输入和硬件输出的资源的软件。目标硬件系统通常可使用RTOS(实时操作系统)来管理微处理器的执行和所述资源。本发明将对微处理器执行和所述资源的细节进行抽象,并在所述主应用中给开发者展露灵活的控制接口。为了维持所设计的行为模型的微处理器执行负载平衡和硬件定时要求,在本发明中设计的微处理器执行和所述资源上的抽象以允许给开发者完全的灵活性。图5是本发明的处理架构的示意框图。处理任务沈是微处理器执行控制结构。 由于这些术语是同义的,处理任务沈也可称为处理线程。所述目标硬件平台的操作系统或者内部软件具有给处理任务26分配微处理器执行的能力并将上下文转换到不同的处理任务。31表示在系统中有多个处理任务沈,并且处理任务的数量仅受限于特定目标硬件系统上的系统资源。为了允许全部控制微处理器执行,本发明将处理任务控制参数27通过所述主应用展露给开发者。为了调整处理以产生所期望的系统行为,将任务优先级、任务处理控制和任务性能参数展露给用户以作为配置构建块,从而用户能够修改数值。任务优先级可控制基本的微处理器执行管理系统的任务交换仲裁。任务处理控制可调整处理任务中处理配置构建块之间的任务休眠时间。休眠时间可通知基本的微处理器执行控制从当前处理任务沈转换所要求的时间。任务性能参数将微处理器执行时间展露给开发者,使得微处理器的执行带宽能够负载平衡以允许系统完成整个控制模型的计算要求。开发者能够监控任务性能并调整任务优先级和任务处理控制以调整系统来实现所要求的行为。随着具有调整处理任务沈的微处理器执行的能力,因此本发明包括配置构建块处理控制28。配置构建块处理控制允许开发者控制系统中独立的每个块的处理行为。每个所述配置构建块四具有单独控制每个块的处理行为的块优先级、块处理控制和块性能30。 所述主应用将块优先级、块处理控制和块性能27展露给开发者,从而开发者能够修改这些参数来调整系统以产生所期望的系统行为。块优先级将控制给定配置构建块的处理顺序。 块处理控制将调整配置控制块在特定处理线程中进行处理的频率。可以将块处理控制展露为控制计算配置构建块的频率的迭代计数值。具有处理控制值为4的配置构建块可以在处理任务的每个第4次迭代进行处理。块处理控制还能根据预定的系统事件来调度要处理的块。块处理控制将具有全范围的灵活性,从而开发者能够具有对由主应用指定的配置构建块进行处理的完全控制。块性能值可以是要求计算特定配置构建块的微处理器执行时间。 开发者能够监控块性能并调整块优先级和块处理控制以实现所期望的行为。本发明的优势在于由开发者对微处理器执行和所述资源的管理进行抽象,从而卸下开发者的这种管理的复杂度。开发者不需要承担在RTOS (实时操作系统)的编程中所要求的任务管理和系统资源管理的复杂细节。本发明的提取微处理器执行和系统资源的管理的策略的另一优势在于基本的RTOS(实时操作系统)能够改变或移植到完全的新系统,并且展露给开发者的本发明不会变化。这将允许将本发明移植到市场上可获得的任何微处理器或任何硬件或任何操作系统。在本申请中描述的控制系统模型的开发是一个新方法,并将证明是更有效、低成本的并且在未来的工业中将获得显著的牵引力。根据上述教导,本发明的多种修改和变化是可行的。因此,在所附权利要求的范围内,本发明可以按与具体描述不同的方式实现。
权利要求
1.一种用于直接在目标硬件系统上动态构建控制系统的方法,所述方法包括以下步骤提供用于下载控制系统的至少一个配置构建块的接口; 使用主计算机系统上的主应用选择性地定义至少一个配置构建块的类型;以及使用主计算机系统上的主应用选择性地定义至少一个配置构建块的连通性。
2.根据权利要求1所述的方法,进一步包括以下步骤使用所述主计算机上的所述主应用,通过修改用于任务优先级、任务处理控制(休眠控制)的参数选择性地定义微处理器执行控制。
3.根据权利要求1所述的方法,进一步包括以下步骤使用所述主计算机上的所述主应用选择性地定义配置块优先级顺序和配置构建块处理控制。
4.根据权利要求1所述的方法,进一步包括在所述目标硬件系统上修改或删除至少一个配置构建块的步骤。
5.根据权利要求1所述的方法,其中将所述至少一个配置构建块存储在所述目标系统的非易性存储器中。
6.根据权利要求3所述的方法,其中所述配置构建块处理控制根据系统事件指定处理任务中的处理频率或块处理的调度。
7.根据权利要求1所述的方法,其中所述至少一个配置构建块选自于由下列内容组成的组由所述目标硬件系统上的解释器所处理的微代码块;以及直接在所述目标硬件系统的微处理器上执行的机器目标代码。
8.一种用于直接在目标硬件系统上动态构建控制系统的方法,该方法包括以下步骤 提供用于下载控制系统的至少一个配置构建块的接口;使用主计算机系统上的主应用选择性地定义至少一个配置构建块的类型; 使用主计算机系统上的主应用选择性地定义至少一个配置构建块的连通性; 使用主计算机系统上的主应用,通过修改用于任务优先级、任务处理控制(休眠控制) 的参数选择性地限定微处理器执行控制;使用主计算机系统上的主应用选择性地定义配置块优先级顺序和配置构建块处理控制。
9.根据权利要求8所述的方法,进一步包括在所述目标硬件系统上修改或删除至少一个配置构建块的步骤。
10.根据权利要求8所述的方法,其中将所述至少一个配置构建块存储在所述目标系统的非易性存储器中。
11.根据权利要求8所述的方法,其中所述配置构建块处理控制根据系统事件指定处理任务中的处理频率或块处理的调度。
12.根据权利要求8所述的方法,其中所述至少一个配置构建块选自于由下列内容组成的组由所述目标硬件系统上的解释器所处理的微代码块;以及直接在所述目标硬件系统的微处理器上执行的机器目标代码。
全文摘要
控制系统动态地直接构建在目标硬件系统上。主计算机上的主应用提供接口以将用于控制系统的配置构建块直接下载到目标硬件上。主应用用于定义构建块类型和连通性。同样可以由主应用定义系统的微处理器执行控制以及块优先级。
文档编号G06F9/44GK102203728SQ200980143522
公开日2011年9月28日 申请日期2009年11月3日 优先权日2008年11月3日
发明者J·维托, P·布朗 申请人:引擎实验室公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1