在运行中改变fpga的信号值的制作方法

文档序号:9264719阅读:698来源:国知局
在运行中改变fpga的信号值的制作方法
【技术领域】
[0001]本发明涉及一种用于在运行中改变信号值的方法。
[0002]同样,本发明涉及一种数据处理装置,所述数据处理装置具有处理器单元和FPGA,其中数据处理装置实施为用于执行上述方法。本发明也涉及一种计算机程序产品,所述计算机程序产品具有计算机实施的指令,该计算机程序产品在合适的数据处理装置中加载和实施之后实施上述方法的步骤,以及涉及一种数字存储器介质,其具有电子可读取的控制信号,所述控制信号可以与可编程的数据处理装置配合作用使得实施上述方法。最后,本发明包括一种用于基于FPGA模型以硬件描述语言执行FPGA构建的方法。硬件描述语言可以以文本形式例如VHDL或图形或作为Simulink程序存在。
【背景技术】
[0003]复杂动态模型的实时仿真由于严格的时间边界条件本身对现代计算节点提出了高要求。在汽车硬件在环仿真(HiL)中,尤其将这样的模型使用在快速控制回路必须闭合的地方,例如针对环境模型的非常动态的部分。这例如在仿真气缸内部压力传感器时情况如此,气缸内部压力传感器在消耗或废气减少时起到越来越大的作用。但即使在具有高动态性的调节系统中例如在电动机中,短循环时间和小延迟是不可或缺的。所述短循环时间和小延迟利用基于CPU的仿真在实践上几乎不再能够实现。FPGA越来越多地进入快速控制原型(RCP)的领域,因为所仿真的环境模型(例如所仿真的电动机)或控制设备必须越来越精确和越来越复杂。就这点而言,例如复杂的控制部分被扩展到FPGA中,从而确保保持足够精确且快速的反应时间。
[0004]现场可编程门阵列(FPGA)可以通过其承担模型的动态部分的计算的方式在实时仿真时辅助计算节点。由于信号的并行处理的可能性和高灵活性,通过使用FPGA也可以容易地满足严格的实时要求。FPGA可以用作计算节点的CPU的硬件加速器。对HiL仿真器的这样的实施方案例如是dSPACE的DS5203-FPGA板。相应地,例如环境模型的非常高动态部分扩展到FPGA中,从而确保控制设备的足够精确的且快速的反应时间。FPGA硬件配置通常基于FPGA模型以硬件描述语言在构建过程中产生。
[0005]调节系统的模型由于对精度要求提高而越来越复杂并且因此也会难以操作。在汽车HiL环境中,这样的模型通常利用MathWorks公司的工具集Matlab/Simulink来创建。Simulink针对这样的模型以框图形式呈现基于块的视图。模型部分可以在框图中组合成数个子系统并且彼此与信号联结。在这些块之间的数据流在此通过信号线路示出。
[0006]在基于CPU的实时仿真中,模型的框图借助Simulink编码器首先翻译成C/C++源文件。接着,这些C/C++源文件通过编译器翻译成可执行的应用程序,所述应用程序可以在计算节点上利用具有实时能力的操作系统来执行。
[0007]附加地,在CPU构建时产生跟踪文件,所述跟踪文件为拓扑文件,拓扑文件以图形方式模型化,例如在Simulink中模型化。在TRC文件中包含所有可访问的变量并且变量映射到存储器位置。变量优选按拓扑类似模型的拓扑存储。
[0008]模型翻译成CPU应用程序使得仿真的计算顺序地以固定的步长来执行。由此在计算节点的主存储器中始终有所有模型状态或模型变量(例如在信号线路上的数据或块的输入/输出值)一致的映射。通过直接访问主存储器,模型变量可以在实验工具例如ControlDesk中被分析和/或操作。可以自由选择地写入/读取访问HiL仿真的变量。借助跟踪文件可以选择信号值例如马达转速并且通过显示器输出或操作。在HiL环境中,该操作方式概括为术语“测量”和“调整”。
[0009]基于FPGA的仿真可以借助dSPACE的FPGA编程模块集和Xi Iinx系统生成器(XSG)类似于基于CPU的仿真在框图中利用Simulink模型化。
[0010]然而与基于CPU仿真相反,该模型并不被翻译成迭代的编程语言,而是翻译成硬件描述语言,所述硬件描述语言描述客户特定的数字电路。客户特定的电路的描述通过合成过程被翻译成FPGA配置数据流。尤其在必须调整非常多的参数的控制设备的校准的领域中需要节约资源和节约时间的方法。校准数据通常实施为常数,错哦高二通常在FPGA运行中不存在改变。
[0011]对于一些FPGA可能的是为了调试目的停止和读取FPGA的完整状态。然而通过FPGA的闭合的输入/输出属性不可能类似于计算节点的主存储器任意地访问模式状态和必要时改变这些模型状态。应用者想要测量或调整的任何模型变量都必须通过显式模型化经由信号线路引导至FPGA的接口。紧接于该匹配之后,模型必须被重新翻译,这会持续数个小时。该情况会导致基于FPGA的实时仿真的开发周期非常长。尤其,在(例如控制设备的)校准的领域中,当必须调整非常多的参数时,这会要求非常多的资源。

【发明内容】

[0012]基于上述现有技术,本发明因此基于的任务是提出一种方法、一种数据处理装置、一种计算机程序以及一种数字存储器介质,其具有上述类型的电子可读取的控制信号,它们能够实现在运行时改变FPGA中的模型变量并且缩短在创建基于FPGA的实时仿真时的重复开发周期。
[0013]该任务的解决根据本发明通过独立权利要求的特征实现。本发明的有利实施方案在从属权利要求中予以说明。
[0014]根据本发明,因此提出了一种用于在运行中改变FPGA的信号值的方法,其包括如下步骤:将具有至少一个信号值的FPGA硬件配置加载到FPGA上,在FPGA上实施FPGA硬件配置,设置用于传输至FPGA的信号值,由信号值确定回写数据,将回写数据作为状态数据写入到FPGA的配置存储器中,并且将状态数据从配置存储器传输到FPGA的功能层中。
[0015]根据本发明还提出了一种数据处理装置,所述数据处理装置具有处理器单元和FPGA,其中,数据处理装置实施为用于执行上述方法。
[0016]根据本发明,也提出了一种计算机程序产品,其具有计算机实施的指令,该计算机程序产品在加载和执行之后在合适的数据处理装置中执行上述方法的步骤。
[0017]此外,根据本发明提出了一种数字存储介质,所述数字存储介质具有电子可读取的控制信号,所述控制信号可以与可编程的数据处理装置配合作用,使得上述方法在数据处理装置上执行。
[0018]本发明的基本思想于是在于能够实现在运行中改变FPGA的信号值,其方式是:在FPGA运行期间将状态数据写入功能层中,以便改变信号值。状态数据根据需要被改变,以便由此实现改变FPGA中的信号值,其中不需要对FPGA的结构改变。也不需要中断FPGA的运行。因此可以自由选择地访问FPGA的信号值用以改变。信号值的改变可以如由软件在CPU上的实施已知的那样进行,包括经由(Uber)拓扑文件(跟踪文件)访问和利用Simulink图形地模型化。信号值例如点火时间点可以相应地选择并且显示和/或改变。
[0019]FPGA的信号值的改变仅要求将针对该信号值的值写入到FPGA上。并不需要所写入的值与信号值的事先设置的值不同。由于在实践中通常改变信号值的值,所以在此选择了改变的术语。
[0020]同样,能够实现访问FPGA的信号值,其方式是,在FPGA运行期间从FPGA读取状态数据并且由此确定信号值。状态数据被读取并且根据需要组合,其中不需要结构上改变FPGAo也不需要中断FPGA的运行。因此可以可选择地访问FPGA的信号值。访问信号值可以如由软件的执行所已知的那样进行,包括经由拓扑文件(跟踪文件)访问和利用Simulink图形地模型化。信号值例如马达转速可以相应地选择并且显示或操作。
[0021]此外,提出了一种用于在运行中访问FPGA的信号值的方法,所述方法包括如下步骤:将FPGA硬件配置加载到FPGA上,在FPGA上实施FPGA硬件配置,请求FPGA的信号值,将状态数据从FPGA的功能层传输到FPGA的配置层中的配置存储器中,从配置存储器读取状态数据作为回写数据,以及由回读数据确定信号值。各个步骤对应于前面所描述的用于改变信号值的方法的步骤。
[0022]有利地,FPGA的实现不需要改变,使得对FPGA的性能和资源的需求不变。相应地,对信号值的访问对正常运行没有影响,既不在所产生的FPGA硬件配置方面也不在执行期间产生影响。不同的模型变量的状态可以一致地存储,以便能够实现访问。可以进行对所期望的信号值的访问,而不产生匹配的FPGA硬件配置并且不必将其传输至FPGA中,由此可以缩短开发时间。对FPGA的实时特征和可用的资源的影响被避免或减小。尤其是,在不改变FPGA硬件配置的情况下可以根据需要从FPGA读取不同的信号值。
[0023]配置层涉及FPGA的逻辑层,该逻辑层用于初始化FPGA。在初始配置过程中,配置数据被写入配置存储器中,由此功能层接着起模型化作用。在运行期间,于是例如通过触发器将功能层的所有寄存器内容向回镜像到配置层中。配置存储器的内容接着可以被读取以便由此确定信号值。反之,在运行期间于是例如通过触发器可以将所有内容从配置层中的配置存储器传输至功能层的寄存器内容。这样的触发器例如可以是复位信号。复位信号可以针对FPGA的一部分来设置或明确地针对在FPGA程序中的多个寄存器来设定。当配置层中的改变直接作用于功能层时,对查找表和复用器的改变可以不需要这样的触发器。
[0024]信号值的选择可以在运行期间任意地改变。优选地,对多个信号值作为回读数据和/或回写数据进行访问。
[0025]回读数据和/或回写数据可以包含FPGA的任意数据单元。回读数据和/或回写数据可以包括FPGA的各个寄存器值或较大的存储器块。存储器块例如可以是FPGA的回读列。回读数据和回写数据在结构上相同并且仅在概念上不同。优选地,要改变的信号值作为FPGA中的常数实施,例如作为Simulink常数块来实施,所述Simulink常数块仅在开发期间必须被匹配。
[0026]所说明的方法的顺序原理上可以变化并且并不限于在此所说明的顺序。尤其,该方法在加载和实施FPGA硬件配置之后执行以改变信号值和/或访问所述信号值,以便重复访问信号值或以便改变信号值。
[0027]产生对FPGA的写访问。所述访问在运行时进行,而不影响FPGA。所描述的细节分别相应地适用于对FPGA的信号值的读访问以及适用于进行写访问以用于改变信号值并且可以分别单独地相应应用。
[0028]在用于改变FPGA的信号值的进行写访问时进行FPGA的动态的部分的重配置,其中FPGA中的包括信号值的相应相关部分在运行中被覆盖。在此例如Simulink常数块或对信号值的任意其他模型化可以映射到可重配
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1