CN105247594B - 具有多个可配置模块卡的可配置模拟器 - Google Patents
具有多个可配置模块卡的可配置模拟器 Download PDFInfo
- Publication number
- CN105247594B CN105247594B CN201480003217.6A CN201480003217A CN105247594B CN 105247594 B CN105247594 B CN 105247594B CN 201480003217 A CN201480003217 A CN 201480003217A CN 105247594 B CN105247594 B CN 105247594B
- Authority
- CN
- China
- Prior art keywords
- configurable
- card
- simulator
- input
- module card
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B9/00—Simulators for teaching or training purposes
- G09B9/02—Simulators for teaching or training purposes for teaching control of vehicles or other craft
- G09B9/08—Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of aircraft, e.g. Link trainer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Engineering & Computer Science (AREA)
Abstract
本公开涉及可配置模拟器,其包括至少一个配置部件和多个可配置模块卡。所述配置部件确定卡的配置参数并且与卡交换配置消息。每个卡包括包含多个可配置输入端和输出端的可配置输入/输出单元以及包含多个可配置电源电路的电源。所述输入/输出单元与模拟控制器交换配置消息。每个卡还包括处理器,其用于配置可配置输入/输出单元的多个输入端和输出端,以及配置电源的多个电源电路。处理器还执行模拟代码来实现模拟器的功能。本公开还涉及一种用于操作包括多个可配置模块卡的可配置模拟器的方法。
Description
技术领域
本公开涉及模拟器的领域。更多具体地,本公开涉及具有多个可配置模块卡的可配置模拟器。
背景
飞行模拟器被商业航空公司和空军用于训练他们的飞行员以面对各种类型的情况。由于每架飞机都有其特殊性,因此通常针对一种类型或相似类型的飞机建立飞行模拟器来训练飞行员。
飞行模拟器被分为成几组部件,每组对应于飞机的特定功能。例如,第一组部件被用于模拟在显示器上显示的信息,第二组部件被用于模拟飞机的运动,第三组部件被用于模拟电气回路,另一组部件被用于模拟液压回路等。该几组部件由一个或多个处理器集中控制。
因此,需要具有多个可配置模块卡的可配置模拟器。
发明内容
根据第一方面,本公开提供了可配置模拟器。该模拟器包括至少一个配置部件和多个可配置模块卡。该配置部件包括输入/输出单元,其用于从多个可配置模块卡接收广播消息,并且将具有配置参数的广播响应消息发送到多个可配置模块卡。该配置部件还包括处理器,其用于确定多个可配置模块卡的配置参数。每个卡包括可配置输入/输出单元,其包括多个可配置输入端和输出端。可配置输入/输出单元具有用于发送广播消息的预定义输出端以及用于接收广播响应消息的预定义输入端。该卡还包括电源,其包括多个可配置电源电路。该卡还包括处理器,其执行输入/输出配置代码以基于广播响应消息来配置可配置输入/输出单元的多个输入端和输出端。该处理器还执行电源配置代码以基于广播响应消息来配置电源的多个电源电路。该处理器进一步执行模拟代码以实现模拟器的功能。
在特定的方面中,配置可配置输入/输出单元的多个输入端和输出端包括执行输入端和输出端的网络配置。
在另一个特定的方面中,配置可配置输入/输出单元的多个输入端和输出端包括确定哪些输入端和输出端与至少一个其他模拟部件交换数据。
在再一个特定的方面中,配置电源的多个电源电路包括确定以下中至少一项:由特定电源电路递送到电子部件的电力的特定电流强度和特定电压。
在又一个特定的方面中,模拟器的功能包括若干子功能,并且配置可配置输入/输出单元的多个输入端和输出端包括确定哪些输入端和输出端被用于接收和发送与特定子功能相关的数据。
根据第二方面,本公开提供了用于操作包括多个可配置模块卡的可配置模拟器的方法。该方法包括将用于多个可配置模块卡的配置参数存储在模拟控制器的存储器中。该方法包括将配置代码、模拟代码和测试代码存储在多个可配置模块卡中的一个可配置模块卡的存储器中。该方法包括将用于多个可配置模块卡中的一个可配置模块卡的特定配置参数从模拟控制器传送到卡。该方法包括将所接收到的特定配置参数存储在卡的存储器中。该方法还包括由卡的处理器执行配置代码。配置代码的执行基于特定配置参数来配置卡的可配置输入/输出单元的多个输入端和输出端。配置代码的执行还基于特定配置参数来配置卡的电源的多个电源电路。该方法包括由卡的处理器执行模拟代码以实现模拟器的功能。该方法还包括由卡的处理器执行测试代码。测试代码的执行产生用以基于特定配置参数配置的可配置输入/输出单元的多个输入端和输出端的测试信号。测试代码的执行还产生用以基于特定配置参数配置的电源的多个电源电路的测试信号。该方法还包括监测模拟代码的执行。
在特定的方面中,该方法还包括通过卡的处理器产生具有由处理器执行的测试代码的测试结果的测试通知,其由可配置输入/输出单元发送到模拟控制器。
在另一个特定方面中,该方法还包括:基于所接收到的测试结果,在模拟控制器处确定用于多个可配置模块卡中的至少一个可配置模块卡的新的配置参数,并且将新的配置参数发送到多个可配置模块卡中的至少一个可配置模块卡。
附图说明
本公开的实施例将仅通过示例的方式参考附图来描述,其中:
图1是可配置模块卡的方框图;
图2是根据第一方面的、包括若干图1的可配置模块卡的可配置模拟器的方框图;
图3是根据另一方面的、包括若干图1的可配置模块卡的可配置模拟器的方框图;
图4是根据再一方面的图1的可配置模块卡的方框图;
图5示出根据又一方面的、用于操作包括多个图1的可配置模块卡的可配置模拟器的方法;以及
图6示出包括若干图1的可配置模块卡的示例性飞行模拟器。
具体实施方式
通过阅读以下以仅通过示例参考附图给出的本文中的说明性实施例的非限制性描述,前述和其他特征将变得更加明显。在各个附图中类似的标号表示类似的特征。
本公开的各个方面大体上解决具有用于执行模拟的多个计算部件的模拟器的一个或多个问题。
在本公开中提及的模拟器可用于不同的模拟目的。例如,第一种类型的模拟器可由交通工具模拟器构成,诸如飞机模拟器、陆地车辆模拟器、船只模拟器、地铁模拟器,采矿模拟器或核电站模拟器。
模拟器是通常包括多个部件的复杂系统。第一种类型的部件由计算部件构成,包括用于执行特定模拟软件(在本公开中模拟软件和模拟代码可以互换使用)的处理器。计算部件通常接收数据、通过特定模拟软件处理接收到的数据以产生新的数据、并传送该新的数据。计算部件还可以能够与一个或若干专用硬件部件进行交互,诸如传感器、机械致动器、气动致动器、液压致动器、显示器、开关、灯、电气部件等。计算部件可从专用硬件部件接收数据和/或将命令发送到专用硬件(例如,从传感器接收数据和将致动命令发送到致动器)。计算部件还彼此交换数据,以执行并且同步模拟。
该模拟器通常实现为用于实现模拟器的多个功能的多个子系统。每个子系统包括多个计算部件和多个专用硬件部件。计算部件由具有执行控制软件的处理器的一个或若干专用实体集中控制。计算部件通常由专用卡实现,每个专用卡具有设计成实现模拟器的特定的功能或子功能的特定电子部件。另外,每个专用卡可仅能够执行存储在专用卡的存储器中的专用软件。因此,当这种专用卡没有正常运行时,唯一的选择是修复专用卡(可能中断模拟),或用完全相同类型的专用卡(其可能不会立即获得或可能是非常昂贵的)替换该专用卡。
本公开介绍了可配置模块卡,其可以配置成起到前述若干计算部件的作用。因此,该模拟器不再依赖于多个专用卡,其由可配置模块卡的实例来替代。可配置模块卡包括若干可配置电子部件(诸如可配置输入/输出单元、可配置电源)。由特定的可配置模块卡执行的模拟软件还可以是可配置的。可配置模块卡由具有执行配置和控制软件的处理器的一个或若干专用实体进行配置和控制。因此,当实现模拟器的关键功能的特定可配置模块卡不能正常运行时,模拟器的另一种可配置模块卡可以重新配置为替代缺陷卡来实现关键功能。
图6示出包括模拟控制器610和若干可配置模块卡(631、632、641、642、652、661和671)的示例性飞行模拟器600。可配置模块卡分层地实现飞行模拟器600的两个示例性子系统(发动机620和起落架650)。图6将用在本说明书后面的更多细节来说明。
可配置模块卡
现在参考图1,示出了用于模拟器的可配置模块卡100。
卡100包括板10和安装在该板上的处理器20。虽然在图1中示出单个处理器20,但是卡100可包括若干并行操作的处理器,这在本领域中是众所周知的。另外,每个处理器可以是单核或多核处理器。至少一个处理器可以执行模拟代码,或者模拟代码的一部分,以实现模拟器的功能。模拟器的功能的示例包括但不限于:模拟在显示器上显示的信息、模拟飞机的运动、模拟飞机的电气回路、模拟飞机的液压回路、模拟心跳、模拟身体机能,和/或已知的任何其他类型的模拟规程。
卡100还包括安装在板10上并且与处理器20进行电子通信的存储器30。虽然图1示出单个存储器30,但是卡100可包括若干存储器或内存条。存在于卡100上的每个存储器可以专用于卡100的单个处理器,或可以在卡100的若干处理器之间共享。
卡100还包括可配置输入/输出(I/O)单元40。由处理器20执行的模拟代码可以通过可配置I/O单元40接收。可配置I/O单元40包括多个可配置的输入端和输出端。为了说明的目的,在图1中所示的可配置I/O单元40包括可配置的输入端41、可配置的输出端42和可配置的输入端/输出端43。可配置的输入端41能够接收图1中未示出的、来自一个或若干其他部件的数据。可配置的输出端42能够将数据传送到图1中未示出的一个或若干部件。可配置的输入端/输出端43能够与一个或若干部件110交换(传送和接收)数据。
可配置I/O单元40还可以包括一个或若干开关。例如,图1中示出了可选开关44。开关44能够完成以下至少一项:切换、复用和解复用在可配置的输入端/输出端43和其他模拟部件110之间所交换的信号。
可配置I/O单元40可以包括任意数量的可配置的输入端/输出端,只要其与板10的尺寸和形状相容,并与其他电子部件在板10上所留下的空间相容。可配置I/O单元40中的每个可配置的输入端/输出端能够与单个或与多个其他模拟部件进行通信,诸如,例如:面板、电子器件、传感器、马达和致动器和/或任何类型的飞机或交通工具的导航、航空电子设备等。
当处理器20执行模拟代码以实现模拟器的功能时,处理器20可以处理由可配置I/O单元40从其他部件接收到的数据,并且产生由可配置I/O单元40发送到其他部件的数据。
可配置I/O单元40的可配置的输入端/输出端根据一种或若干类型的通信协议为卡100提供通信能力。例如,可配置I/O单元40可包括用于经由以太网协议接收/传送数据的至少一个以太网板。另选地或同时,可配置I/O单元40可包括模拟或数字的输入端/输出端、串行输入端/输出端、USB输入端、以太网输入端、用于经由Wi-Fi协议接收/传送数据的无线保真(Wi-Fi)板、控制器局域网总线、I2输入端/输出端。可配置I/O单元40还可以包括高清多媒体接口(HDMI)板,用于将视频(和音频)数据传送到屏幕。其他类型的输入端和输出端可以基于与卡100交换数据的各种类型的其他模拟部件(例如,110),通过可配置I/O单元40来实现。
可配置I/O单元40进一步发送广播消息和接收广播响应消息。广播消息可以由可配置I/O单元40的不同的输出端发送并且广播响应消息40可以由可配置I/O单元40的不同的输入端接收。另外,不同的通信协议可以用于发送广播消息并接收广播响应消息。在特定方面中,可配置I/O单元40具有用于发送广播消息的预定义输出端和用于接收广播响应消息的预定义输入端。在图1中示出的实施例中,经由输入端/输出端43发送广播消息120并且接收广播响应消息121。另选地,广播消息120可经由输出端42发送,而广播响应消息121可经由输入端41接收。在另一个实施例中,广播消息120可以经由可配置I/O单元40的以太板发送,并且广播响应消息121可以经由可配置I/O单元40的Wi-Fi板接收。另选地,广播消息120可以经由可配置I/O单元40的Wi-Fi板发送,并且广播响应消息121可以经由可配置I/O单元40的以太板接收。
当卡100在被制造/在使用前预配置时,预定义输出端和预定义输入端可以被永久地存储在存储器30中。在卡100启动时,处理器20可以执行永久地存储在存储器30中的启动程序。该启动程序包括通过存储的预定义输出端发送广播消息120和通过存储的预定义输入端接收广播响应消息121。
在特定的实施例中,广播消息120包括配置请求、卡100的识别(例如,序列号),以及预定义输入端的识别(例如,以太网或互联网协议(IP)地址)。广播消息120由配置部件接收。配置部件配置基于卡100的识别来确定配置参数。然后,配置部件经由被发送到预定义输入端的广播响应消息121将配置参数传送到卡100。配置部件可以基于许多可能的变量(例如,需要的替换卡、所需的处理能力、将被执行的模拟、物理I/O能力等)来确定配置参数。配置参数可包括必须与卡100通信来执行模拟的其他可配置模块卡的列表。例如,配置参数可包括卡的列表及其相应的子功能,使得在执行模拟时卡100可以通过识别特定的子功能由来自列表中的特定的卡执行而直接与其他卡进行通信。配置参数还可以包括卡100必须与其通信来执行模拟的专用硬件部件的列表。在图1中表示的其他模拟部件110中的一个可以实现配置部件。
由于卡100没必要知道配置部件,因此使用广播消息120。通过以广播模式发送消息120,卡100确保消息120由配置部件(以及由其他实体)接收。配置部件接收广播消息120,确定其是预期接收者,处理该广播消息120,并发送回广播响应消息121。
卡100还包括总线50,其与可配置I/O单元40、与板10的至少一个处理器20、并与板10的至少一个存储器30电连接。总线50提供在其间的电子数据交换。例如,处理器20经由总线50读取存储器30中的数据、处理该数据、并经由总线50将所处理的数据传送到可配置I/O单元40(用于由可配置I/O单元40的输出端进一步传送到另一模拟部件)。类似地,处理器20经由总线50从可配置I/O单元40接收数据(该数据从另一个模拟部件由可配置I/O单元40的输入端接收)、处理该数据、并经由总线50将所处理的数据传送到存储器30以用于在其中存储。
输入/输出(I/O)配置代码(未在图1中示出)被存储在存储器30中。I/O配置代码由处理器20执行,以基于所接收的广播响应消息121配置可配置I/O单元40的多个输入端和输出端(例如,41、42和43)。
可配置I/O单元40的配置可以包括其输入端和输出端的网络配置。网络配置在本领域中是已知的,并且取决于特定类型的输入端和输出端,且取决于其支持的特定类型的通信协议。例如,以太网输入端/输出端的配置可包括其IP地址的配置。Wi-Fi输入端/输出端的配置可包括服务集标识符(SSID)和无线密钥以及其IP地址的配置。在这些示例中,IP地址、SSID和无线密钥是经由广播响应消息121被传送到卡100的网络配置参数。
可配置I/O单元40的配置可以包括其输入端和输出端的功能配置。例如,卡100的第一子功能与第一输入端/输出端相关联。当执行第一子功能时,与其他模拟部件(例如,110)交换的所有数据用第一输入端/输出端传送并接收。卡100的另一个子功能与第二输入端/输出端相关联。当执行第二子功能时,与其他模拟部件交换的所有数据用第二输入端/输出端传送并接收。例如,可配置I/O单元40可以具有两个视频输出端。第一视频输出端被连接到学员的视频屏幕并且第二视频输出端被连接到导师的视频屏幕。处理器20运行模拟软件,其产生用于学员的特定视频数据(第一子功能),以及用于导师的特定视频数据(第二子功能)。所接收的广播响应消息121提供以下配置:用于学员的特定视频数据要经由第一视频输出端被传送并且用于导师的特定视频数据要经由第二视频输出端被传送。
可替换地,可配置I/O单元40的输入端和输出端的功能配置可以在于确定多个输入端和输出端中的哪些输入端和输出端被用于与另一个模拟部件交换数据。参考之前的示例,其中可配置I/O单元40具有两个视频输出端,所接收的广播响应消息121提供以下配置:被发送到第一屏幕(例如,学员屏幕)的视频数据要经由第一视频输出端被传送并且被发送到第二屏幕(例如,导师屏幕)的视频数据要经由第二视频输出端被传送。广播消息的参数的示例还包括:声音数据、传感器数据、飞机协议数据、交通工具协议数据等。
卡100还包括电源60。电源60接收预定电压的输入电源65,并且包括多个可配置电源电路。为了说明的目的,图1中示出的电源60包括两个可配置电源电路61和62。电源60可以包括任何数量的可配置电源电路,只要其与板10的尺寸和形状相容,并与其他电子部件在板10上所留下的空间相容。
可配置电源电路向卡100的一个或若干电子部件提供电力。另外,可配置电源电路中的一些可配置电源电路可以向一个或若干其他模拟部件(例如,110)的电子部件提供电力。为了说明的目的,图1中示出的可配置电源电路61向可配置I/O单元40提供电力并且可配置电源电路62向处理器20提供电力67。根据实施优先权或电源60的能力或由卡100供电的其他部件的电力需求的能力,使用与输入电源65具有相同的电压和电流的电力的部件可以从输入电源65直接接收电力,而非通过电源60,如在输入电源65和I/O单元40之间由虚线示出。虽然为了简化的目的未在图1中示出,但是可配置电源电路61和62还可以将电力递送到总线50、存储器30、以及其他的模拟部件110。另选地,附加的可配置电源电路可以用于将电力递送到总线50、存储器30、以及其他的模拟部件110。例如,其他模拟部件110可以由用于显示数据的一个或若干屏幕组成,该屏幕接收来自供电单元60的可配置电源电路的至少一个可配置电源电路的电力。
电源配置代码(未在图1中示出)被存储在存储器30中。电源配置代码由处理器20执行,以基于所接收到的广播响应消息121来配置电源60的多个电源电路(例如,61和62)。
每个特定的电源电路的配置可由特定电流强度(电压类似于输入电源65)、特定电压(电流强度类似于输入电源65)、脉宽调制功率、或电流强度和电压的特定组合构成,用于由特定电源电路提供的电力。如果电源电路具有用于将电力递送到若干实体的多个输出端,则每个电源输出端可以被单独配置。
广播响应消息121包括用于电源60的每个可配置电源电路的电源配置参数(例如,电流强度和/或电压)。在图1中示出的实施例中,相同的广播消息120/广播响应消息121中的一个或二个被用于配置可配置I/O单元40和电源60。另选地,专用广播消息/广播响应消息可用于分别配置可配置I/O单元40和电源60。
电源60的一个或若干电源电路可以具有默认配置,以允许卡100的正常运行直到接收到包括电源配置参数的广播响应消息121。一些电源电路的默认配置可以由所接收的电源配置参数覆盖,同时可以保持一些电源电路的默认配置。
当卡100在被制造/在使用前预配置时,配置代码(I/O配置代码和电源配置代码)可以被永久地存储在存储器30中。在卡100启动时,在广播响应消息121接收之后,处理器30可以执行该配置代码。该配置代码还在其他时刻被执行:在卡100的复位之后、在卡100(软件或硬件)故障之后需要完整重新配置等。经由广播响应消息121接收到的可配置I/O单元40和电源60的配置参数可以永久存储在存储器30中,以随时可供配置代码使用。
另选地,配置代码可能最初不存在于存储器30中,而是从外部实体(例如,其他模拟部件110中的一个)中下载并存储在存储器30中用于进一步使用。可配置I/O单元40的预定义输出端和预定义输入端(例如,43)可用于执行配置代码的下载。广播消息120/广播响应消息121可用于这一目的;或者可以使用专用于配置代码的下载的额外的广播消息/广播响应消息。
测试代码(未在图1中示出)被存储在存储器30中。测试代码由处理器20执行,以产生测试信号到基于广播响应消息121而配置的可配置I/O单元40的多个输入端和输出端。由处理器20执行的测试代码还产生测试信号到基于广播响应消息121而配置的电源60的多个电源电路。
产生测试信号到可配置I/O单元40的多个输入端和输出端允许验证输入端和输出端以符合经由广播响应消息121所接收的配置参数进行操作。该验证可包括确定输入端和输出端的网络配置的验证。例如,该测试信号可允许确定特定输入端或特定输出端分别能够以特定的吞吐量、以特定的延迟、以特定的丢包率等接收和传送数据。该验证还可包括对输入端和输出端与另一个模拟部件的网络连接的验证。
同时地或另选地,该验证还可以包括电压状态和电流状态的持续验证。为了这一目的,产生测试信号到电源60的多个电源电路允许验证电源电路以符合经由广播响应消息121所接收的配置参数进行操作。例如,该测试信号可以允许确定特定电源电路以特定的电压和/或电流强度进行操作。
与配置代码类似,当卡100在被制造/在使用前预配置时,测试代码可以被永久地存储在存储器30中。另选地,该测试代码可能最初不存在于存储器30中,而是从外部实体(例如,其他模拟部件110中的一个)中下载并存储在存储器30中以用于进一步使用。
如果若干处理器被安装在板10上,则配置代码和测试代码可以由相同的处理器或由不同的处理器来执行。另外,测试代码可以被分为不同的处理器并行地操作来执行的多个功能模块。
具有多个可配置模块卡的可配置模拟器
现在同时参考图1和图2,示出了具有多个可配置模块卡的可配置模拟器200。
模拟器200包括配置部件210和多个可配置模块卡101、102、103和104。多个可配置模块卡101、102、103和104是可配置模块卡100的实例,其之前已参考图1进行描述。虽然可配置模块卡100的四个实例已经在图2中示出,但是模拟器200可以包括任意数量的这些卡。
配置部件210包括输入/输出(I/O)单元211和处理器212。配置部件210可以包括额外的电子部件,诸如额外的处理器、至少一个存储器、总线、供电单元;为了简化的目的未在图2中示出。
配置部件210配置多个可配置模块卡101、102、103和104。可配置模块卡100的实例的配置先前已经参考图1进行了描述。每个可配置模块卡(例如,101)将广播消息(在其可配置I/O单元40的预定义输出端上)发送到配置部件210。广播消息由配置部件210的I/O单元211接收并传送到处理器212。虽然图2示出了各种I/O单元之间的物理连接,但是其间的连接可以是逻辑连接和/或无线连接。处理器212确定用于可配置模块卡(例如,101)的配置参数,并且将配置参数传送到I/O单元211。I/O单元211将具有配置参数的广播响应消息发送到可配置模块卡(例如,101)。广播响应消息在可配置模块卡(例如,101)的可配置I/O单元40的预定义输入端被接收。
每个可配置模块卡(例如,101)的处理器20执行其I/O配置代码以基于所接收到的广播响应消息配置其可配置输入/输出单元40的多个输入端和输出端。
每个可配置模块卡(例如,101)的处理器20执行其电源配置代码以基于所接收到的广播响应消息配置其电源60的多个电源电路。
模拟器200可包括多于一个的配置部件210。例如,配置部件210可以负责配置可配置模块卡101和102,并且另一个配置部件(未在图2中示出)可以负责配置可配置模块卡103和104。此外,配置部件可以由可配置模块卡100实现。例如,可配置模块卡103可以由配置部件210配置,并实现用于可配置模块卡104的配置部件的功能。
当模拟器200的可配置模块卡(例如,101)被配置时,其处理器20能够执行模拟代码以实现模拟器200的功能。其可配置I/O单元40能够与至少一个其他模拟部件交换(接收和发送)数据。执行模拟代码以实现模拟器200的功能包括处理由可配置I/O单元40接收的数据并且产生由可配置I/O单元40发送的数据。用于交换特定类型的通信数据或用于与特定其他模拟部件进行通信的可配置I/O单元40的特定的输入端和输出端通过由处理器20执行的I/O配置代码来确定。
其他模拟部件可以由另一个可配置模块卡100构成或由不同于可配置模块卡100的专用硬件部件220(例如,显示器、灯、机械致动器等)构成。例如,如图2中所示,可配置模块卡101与可配置模块卡102交换数据。可配置模块卡102与可配置模块卡101和104交换数据。可配置模块卡103与可配置数据模块卡104和专用硬件部件220交换数据。可配置模块卡104与可配置模块卡102和103交换数据。
专用硬件部件(例如,220),诸如显示器、灯、机械致动器,受一个或若干可配置模块卡(例如,103)控制。在这种情况下,在其间交换的数据由通过可配置模块卡(例如,103)的处理器20执行的模拟软件所产生的命令构成。该命令被发送到专用硬件部件(例如,220)以触发表示模拟的当前状态的事件。这样的事件可以包括:在显示器上显示数据、开灯或关灯、激活机械致动器(例如,移动学员正在坐的座位)、控制模拟仪表(以致动用于设备的仪表,诸如例如高度计、泵浦表、压缩机仪表等)。另选地,专用硬件部件(例如,220)可以由传感器构成,并且在传感器和一个或若干可配置模块卡(例如,103)之间交换的数据存在于通过传感器收集并且被发送到可配置模块卡的数据中。
由可配置模块卡(例如,103)的处理器20执行的电源配置代码配置其供电单元60的电源电路,以将电力递送到可配置模块卡(例如,103)的电子部件(例如,处理器20、可配置I/O单元40)。更具体地,该配置包括确定递送到特定电子部件的特定电流强度或特定电压中的至少一个。另外,供电单元60的电源电路中的一些电源电路被配置成将电力递送到另一个实体的电子部件。例如,可配置模块卡103的供电单元60的电源电路中的一些电源电路可以被配置成将电力递送到可配置模块卡104的电子部件或递送到专用硬件部件220的电子部件。
具有分布式模拟能力的可配置模拟器
现在同时参考图1和图3,示出了包括用于执行分布式模拟的多个可配置模块卡的可配置模拟器300。
模拟器300包括模拟控制器310和多个可配置模块卡101、102、103和104。多个可配置模块卡101、102、103和104是可配置模块卡100的实例,其之前已参考图1进行了描述。虽然可配置模块卡100的四个实例已经在图3中示出,但是模拟器300可以包括任意数量的这些卡。
模拟控制器310对应于在图2中示出的配置部件210,但具有用于管理分布式模拟和用于在适当的时候重新配置可配置模块卡的额外能力。
模拟控制器310包括输入/输出(I/O)单元311和处理器312。模拟控制器310可以包括额外的电子部件,诸如额外的处理器、至少一个存储器、总线、供电单元;为了简化的目的未在图3中示出。
模拟控制器310配置多个可配置模块卡101、102、103和104。可配置模块卡100的实例的配置先前已经参考图1进行了描述。每个可配置模块卡(例如,101)将广播消息发送到模拟控制器310。广播消息由模拟控制器310的I/O单元311接收并传送到处理器312。处理器312确定用于可配置模块卡(例如,101)的配置参数,并且将配置参数传送到I/O单元311。I/O单元311将具有配置参数的广播响应消息发送到可配置模块卡(例如,101)。广播响应消息由可配置模块卡(例如,101)的可配置I/O单元40接收。
配置参数基于模拟器的预定义配置来确定。例如,如图3所示,模拟器300可包括两个子系统350和360。第一子系统350实现模拟器的第一功能,例如模拟飞机的运动。第二子系统360实现模拟器的第二功能,例如模拟在显示器上显示的信息。功能可以被分为子功能并且模拟器的预定义配置确定哪些可配置模块卡实现哪些功能或子功能。系统的示例包括:飞行控制装置、自动驾驶系统、导航系统、电源管理系统等。
每个可配置模块卡(例如,101)的处理器20产生通过其可配置I/O单元40被发送到模拟控制器30的广播消息。
每个可配置模块卡(例如,101)的处理器20执行其I/O配置代码以基于由其可配置I/O单元40所接收到的广播响应消息(包括配置参数)来配置多个输入端和输出端。
每个可配置模块卡(例如,101)的处理器20执行其电源配置代码以基于由其可配置I/O单元40所接收到的广播响应消息(包括配置参数)来配置其电源60的多个电源电路。
每个可配置模块卡(例如,101)的处理器20执行模拟代码以实现模拟器的功能,所执行的模拟代码基于由其可配置I/O单元40所接收到的广播响应消息(包括配置参数)来确定。模拟代码可以通过包括与模拟中涉及到的每个硬件部件和硬件子部件相关的标记来将硬件与软件分离。例如,对将被使用的I/O单元40的输入端/输出端进行标记,并参考在模拟代码中的标记,而非输入端/输出端自身。通过标记模拟中涉及的硬件部件和硬件子部件,并参考在模拟代码中的标记,根据需要甚至在运行中或动态地使得通过简单地将标记重新分配给其他硬件部件和硬件子部件来修改模块卡100以及模块卡和其他部件之间的交互变得可能。
当模拟器的特定功能被分为若干子功能时,若干可配置模块卡(例如,101和102,或另选地103和104)的处理器20执行实现模拟器的特定功能的若干分布式子功能的模拟代码。
在图3中所示的示例中,由第一子系统350实现的模拟器的第一功能可以由两个分布式子功能构成,其分别通过由两个可配置模块卡101和102的处理器20执行的模拟代码来实现。由第二子系统360实现的模拟器的第二功能可以由两个分布式子功能构成,其分别通过由两个可配置模块卡103和104的处理器20执行的模拟代码来实现。
模拟器300可包括多于一个的模拟控制器。例如,模拟控制器310可以负责控制子系统350和360的可配置模块卡101、102、103和104;并且另一个模拟控制器(未在图3中示出)可以负责控制至少一个其他子系统(未在图3中示出)的可配置模块卡。此外,模拟控制器可以由可配置模块卡100实现。
模拟器300还可以包括通过模拟控制器的层次结构进行控制的系统和子系统的层次结构。例如,第二子系统360可以包括至少一个低层次子系统365。可配置模块卡103可以实现类似于模拟控制器310的模拟控制器功能。因此,可配置模块卡103由模拟控制器310来控制,并且控制低层次子系统365的可配置模块卡(未在图3中示出)。
由可配置模块卡(例如,101)的处理器20执行的模拟代码可以最初存储在可配置模块卡的存储器30中。模拟代码可以被划分在实现模拟器的各种功能和子功能的软件模块中。因此,对应于由接收到的广播响应消息的配置参数指定的功能或子功能,处理器20可以选择以执行特定软件模块。另选地,特定软件模块可以最初不存储在存储器30中,并且可配置模块卡(例如,101)可能需要下载它,例如,从预定义软件服务器或从模拟控制器310中下载。
正如前面参考图1和图2所提到的,可配置模块卡(例如,101)的可配置I/O单元40能够与至少一个其他模拟部件交换(接收和发送)数据。
其他模拟部件可以由另一个可配置模块卡100构成。例如,可配置模块卡101和102交换通过由可配置模块卡101和102的处理器20执行的模拟代码所产生的数据。每个模块卡101和102实现由子系统350实现的总体功能的分布式子功能。数据的交换能够使得分别由可配置模块卡101和102实现的子功能同步。类似地,数据的交换能够使得分别由可配置模块卡103和104实现的子功能同步。每个模块卡103和104实现由子系统360实现的总体功能的分布式子功能。虽然未在图3中示出,但是不同的子系统的可配置模块卡(例如,102和103)也可交换数据。
其他模拟部件还可以由专用硬件部件320、321和322构成。专用硬件部件,诸如显示器、灯、机械致动器,受一个或若干可配置模块卡100控制。在这种情况下,在其间交换的数据由通过可配置模块卡100的处理器20执行的模拟软件所产生的命令构成。该命令被发送到专用硬件部件以触发表示模拟的当前状态的事件。另选地,专用硬件部件可以由传感器构成,并且在传感器和一个或若干可配置模块卡100之间交换的数据存在于通过传感器收集并且发送到可配置模块卡的数据中。
在图3所示的示例中,由第一子系统350实现的功能模拟飞机的运动并且由第二子系统360实现的功能模拟在显示器上显示的信息。专用硬件部件321是由可配置模块卡101控制的、用于移动学员正在坐的座位的机械致动器。专用硬件部件322是由可配置模块卡102控制的、表示在飞机的运动期间发生的各种事件的灯或一组灯。专用控制硬件部件320是由可配置模块卡103和104同时控制的用于显示数据的显示器。本领域技术人员将理解,该功能并不限于图3的示例并且可以通过本模块卡实现其他功能和子系统,诸如以下:汽车部件、飞机部件、航空电子设备、座舱面板、车辆面板等。
在特定的方面,模拟控制器310的I/O单元311从多个可配置模块卡中的一个可配置模块卡(例如,101)接收具有测试结果的测试通知。模拟控制器310的处理器312分析测试结果,确定可配置模块卡(例如,101)的操作状态,并基于测试结果和先前确定的配置参数来确定重新配置参数。例如,如果负责控制机械致动器321的可配置模块卡101运行不正常,则可配置模块卡102可以被重新配置以控制致动器321。可配置模块卡102可被重新配置以仅控制致动器321,或者可以被重新配置以同时控制致动器321和灯322。另选地,其他子系统360的可配置模块卡(例如,104)可以被重新配置以控制致动器321。因此,重新配置参数可影响一个或若干个子系统(例如,350或360)的一个或若干可配置模块式卡(例如,102或104)。
模拟控制器310的I/O单元311将具有重新配置参数的重新配置请求发送到需要被重新配置的可配置模块卡(例如,102)。
在可配置模块卡(例如,102)的可配置I/O单元40接收到重新配置请求时,其处理器20基于重新配置请求执行输入/输出配置代码,以重新配置其可配置I/O单元40的多个输入端和输出端。处理器20还基于重新配置请求执行电源配置代码以重新配置电源60的多个电源电路。处理器20进一步执行模拟代码以实现模拟器的功能或子功能,所执行的模拟代码基于重新配置请求被确定。例如,可配置模块卡102的处理器20执行模拟代码以控制致动器321,而非用于控制灯322的先前执行的模拟代码。
现在参考图6,示出了包括用于执行分布式模拟的多个可配置模块卡的模拟器的示例。图6示出包括模拟控制器610和可配置模块卡(631、632、641、642,652、661和671)的层次结构的飞行模拟器600。
飞行模拟器600包括用于模拟飞机的第一功能的第一子系统620:发动机。子系统620包括用于分别模拟飞机的左发动机和右发动机的两个低层次子系统630和640。
可配置模块卡631和632负责左发动机的模拟。卡631和632直接由模拟控制器610进行配置和控制。卡631和632控制若干专用硬件部件:显示器635、灯636(专用于左发动机模拟);以及座舱致动器635(在左发动机模拟和右发动机模拟之间共享)。
可配置模块卡641和642负责右发动机的模拟。卡641和642直接由模拟控制器610进行配置和控制。卡641和642控制若干专用硬件部件:显示器645、灯646(专用于右发动机模拟);以及座舱致动器635(在左发动机模拟和右发动机模拟之间共享)。
飞行模拟器600包括用于模拟飞机的第二功能的第二子系统650:起落架。子系统650包括用于分别模拟飞机的左轮和右轮的两个低层次子系统660和670。
可配置模块卡652负责起落架子系统650的共同功能的模拟。卡652直接由模拟控制器610进行配置和控制。卡652控制若干专用硬件部件:液压回路655和电气回路656。
模拟子控制器651负责子系统650的低层次子系统660和670的控制。模拟子控制器651直接由模拟控制器610进行配置和控制。模拟子控制器651可以与卡652交互以控制低层次子系统660和670。模拟子控制器651可以在卡652中集成。
可配置模块卡661负责左轮的特定功能的模拟。卡661由模拟子控制器651进行配置和控制。卡661控制若干专用硬件部件:灯665(专用于左轮模拟);以及座舱致动器657(在左轮模拟和右轮模拟之间共享)。
可配置模块卡671负责右轮的特定功能的模拟。卡671由模拟子控制器651进行配置和控制。卡671控制若干专用硬件部件:灯675(专用于右轮模拟);以及座舱致动器657(在左轮模拟和右轮模拟之间共享)。
具有集成测试能力的可配置模拟器
现在同时回顾图1和3,在另一方面,模拟器300包括集成测试能力。模拟控制器310管理由在其控制下的多个可配置模块卡(101、102、103和104)执行的一系列测试并集中测试的结果。
在一个实施例中,可配置模块卡(例如,101)具有自动测试能力。它们自主地执行一系列测试,并且将测试结果报告给模拟控制器310。测试由可配置模块卡(例如,101)的处理器20执行(测试代码的执行)并且测试结果经由测试通知被传送到模拟控制器310。测试通知通过由处理器20通过聚集测试结果而产生,并且由可配置模块卡(例如,101)的可配置I/O单元40传送。
模拟控制器310的I/O单元311接收测试通知,并且其处理器312处理存在于测试通知中的测试结果。处理对应于特定可配置模块卡(例如,101)的特定测试结果允许特定可配置模块卡(例如,101)的操作状态的确定。基于在其控制下从多个可配置模块卡(101、102、103和104)接收的测试结果,模拟控制器310保持在其控制下的所有可配置模块卡的整体操作状态。
如前所述,模拟控制器310可基于其整体操作状态触发在其控制下的一些可配置执行模块卡(101、102、103和104)的重新配置。例如,由于通过在该卡上执行的一系列测试所检测的可配置模块卡101的故障,可配置模块卡102可以被重新配置以实现由可配置模块卡101之前实现的功能。
如之前参考图1所描述的,由可配置模块卡(例如,101)的处理器20执行的测试代码包括产生测试信号到基于由可配置I/O单元40接收到的广播响应消息所配置的其可配置I/O单元40的多个输入端和输出端。由可配置模块卡(例如,101)的处理器20所执行的测试代码还包括产生测试信号到基于由可配置I/O单元40接收到的广播响应消息所配置的电源60的多个电源电路。
另外,由可配置模块卡(例如,101)的处理器20执行的测试代码还包括监测由处理器20执行的模拟代码的执行。
由处理器20执行的模拟代码实现了模拟器300的功能。功能可以被分为若干分布式子功能,每个特定子功能由特定可配置模块卡100实现。因此,监测模拟代码的执行可以在于监测对应于特定子功能的代码。如果可配置模块卡100实现了若干子功能,则测试代码可以仅监测这些子功能的子集。
如前所述,由可配置模块卡(例如,101)的处理器20执行的模拟代码可以包括用于通过被发送到该专用硬件部件(例如,321)的控制命令控制专用硬件部件(例如,321)的代码。例如,专用硬件部件321是用于移动学员正在坐的座位的机械致动器。在这种情况下,执行测试代码还包括产生测试信号到专用硬件部件(例如,321),以验证该专用硬件部件是根据已从其控制可配置模块卡(例如,101)接收的控制命令进行操作的。
在另一个实施例中,可配置模块卡(例如,101)执行由配置控制器310所确定的一系列测试。通过特定可配置模块卡(例如,101)的处理器20的测试代码的执行通过从模拟控制器310接收的测试请求而被触发。测试代码指定将经由测试代码的执行通过处理器20执行的至少一个特定测试。至少一个特定测试包括以下中的一个:测试可配置I/O单元40的输入端和输出端、测试电源60的多个电源电路、监测通过处理器20的模拟代码的执行,并且产生测试信号到另一个模拟部件(例如,321)。
现在参考图4,展示了图1的可配置模块卡100的简化版本,示出了卡100的配置参数和软件代码。卡100的存储器30存储配置参数、配置代码、模拟代码和测试代码。
卡100的配置参数最初存储在配置部件410的存储器(未在图4中示出)中;并且经由上述广播消息120/广播响应消息121通过卡100的可配置I/O单元40传送到存储器30。配置部件410对应于以下中的一个:在图2中示出的配置部件210或在图3中示出的模拟控制器310(具有配置能力)。
由卡100执行的模拟代码最初也存储在配置部件410的存储器中,并且通过可配置I/O单元40传送到存储器30。前述广播消息120/广播响应消息121可用于这一目的。另一个传送机构也可用于该目的。另选地,模拟代码最初可存储在存储器30中,或由软件服务器(未在图4中示出)传送。
存储器30存储配置代码,其由卡的处理器20执行。例如,存储在存储器30中的配置代码包括电源配置代码,其当由处理器20执行时基于与电源60相关并存储在存储器30中的特定配置参数来配置卡100的电源60。存储在存储器30中的配置代码还包括I/O单元配置代码,其当由处理器20执行时基于与可配置I/O单元40相关并存储在存储器30中的特定配置参数来配置可配置I/O单元40。
处理器20执行存储在存储器30中的模拟代码。模拟代码可以包括多个软件模块,其对应于若干模拟功能和子功能。特定软件模块的执行以及它们所执行的顺序可以通过与模拟流程相关并存储在存储器30中的特定配置参数来确定。
存储器30存储测试代码,其由处理器20执行。测试代码最初可存储在存储器20中,或由配置部件410传送,或由软件服务器(未在图4中示出)传送。例如,存储在存储器30中的测试代码包括电源测试代码,其当由处理器20执行时测试电源60。存储在存储器30中的测试代码还包括I/O单元测试代码,其当由处理器20执行时测试可配置I/O单元40。存储在存储器30中的测试代码还包括模拟测试代码,其当由处理器20执行时监测模拟代码的执行。
用于操作包括多个可配置模块卡的可配置模拟器的方法
现在同时参考图4和图5,示出了用于操作包括多个可配置模块卡的可配置模拟器的方法500。
通过方法500操作的可配置模拟器可对应于先前关于图2所描述的模拟器200和/或先前关于图3所描述的模拟器300。可配置模拟器包括对应于先前关于图1和图4所描述的卡100的多个可配置模块卡。为了简化起见,在图5中只示出两个可配置模块卡504和506,但该模拟器可以包括任意数量的可配置模块卡。模拟控制器502被显示在图5中,对应于先前关于图2和图4所描述的配置部件210和410,和/或先前关于图3所描述的模拟控制器310。模拟控制器502可以被集成到配置模拟器,或者可以是通过通信协议(诸如以太网协议或Wi-Fi协议)与可配置模拟器进行通信的外部部件。
方法500包括将用于多个可配置模块卡(504和506)的配置参数存储510在模拟控制器502的存储器(未示出)中。
方法500包括将配置代码、模拟代码和测试代码存储520在多个可配置模块卡(504或506)的存储器30中。在特定的方面,配置代码、模拟代码和测试代码中的至少一个可以被存储在模拟控制器502的存储器中,并且从模拟控制器502传送到卡(504或506)。另选地,代码最初存在于卡(504或506)的存储器30中。
方法500包括将用于特定卡(504或506)的特定配置参数从模拟控制器502传送到卡(504或506)。因此,每个卡(504或506)可具有其自身的特定配置参数,其产生且存储在模拟控制器502处。在特定的方面,传送特定配置参数包括将广播消息从卡(504或506)发送525到模拟控制器502,以及在卡(504或506)处接收526来自模拟控制器502的具有特定配置参数的广播响应消息。
方法500包括将所接收到的特定配置参数存储530在卡(502或504)的存储器30中。
方法500包括基于卡的特定配置参数由卡(504或506)的处理器20执行540配置代码。
执行配置代码包括基于卡的特定配置参数来配置卡(504或506)的可配置输入/输出(I/O)单元40的多个输入端和输出端。
在特定的方面,配置可配置I/O单元40的多个输入端和输出端包括执行输入端和输出端的网络配置。
在另一个特定的方面,可配置I/O单元40与至少一个其他模拟部件交换数据。配置可配置I/O单元40的多个输入端和输出端可包括确定哪些输入端和输出端与至少一个其他模拟部件交换数据。至少一个其他模拟部件可以是另一个可配置模块卡。例如,卡504和506可经由其各自的I/O单元40交换数据。另选地,至少一个其他模拟部件可以是由卡(502或504)控制的专用硬件部件(未在图5中示出)。专用硬件部件可以是以下中的一个:传感器、显示器、灯、开关、机械致动器、气动致动器、液压致动器、电气部件等。
执行配置代码还包括基于卡的特定配置参数来配置卡(504或506)的电源60的多个电源电路。
在特定的方面,配置电源60的多个电源电路包括确定以下中至少一项:由特定电源电路递送到电子部件的电力的特定电流强度和特定电压。电子部件可以位于卡(504或506)上或位于由卡控制的专用硬件部件上。
方法500包括由卡(504或506)的处理器20执行550模拟代码以实现模拟器的功能。执行模拟代码以实现模拟器的功能包括以下中至少一项:模拟在显示器上显示的信息、模拟飞机的运动、模拟飞机的电气回路、模拟飞机的液压回路。由处理器20执行的模拟代码还可以包括用于控制上述专用硬件部件的代码。
在特定的方面,若干可配置模块卡(例如,504和506)从用于配置其各自的处理器20的模拟控制器502接收特定配置参数以执行实现模拟器的特定功能的多个分布式子功能的模拟代码。
卡(504或506)的存储器30可以存储对应于模拟器的若干功能的多个模拟代码。执行配置代码可以还包括基于卡的特定配置参数,在存储于存储器30中的多个模拟代码之中确定由处理器20执行的模拟代码。
方法500包括由卡(504或506)的处理器20执行560测试代码。
执行测试代码包括产生测试信号到基于卡(504或506)的特定配置参数所配置的可配置I/O单元40的多个输入端和输出端。
在特定的方面,产生测试信号到可配置I/O单元40的多个输入端和输出端允许输入端和输出端的网络配置的验证。
在另一方面,产生到可配置I/O单元40的多个输入端和输出端的测试信号允许输入端和输出端与另一个模拟部件(例如,另一个可配置模块卡或专用硬件部件)的网络连接的验证。
执行测试代码还包括产生测试信号到基于卡(504或506)的特定配置参数所配置的电源60的多个电源电路。
在特定的方面,产生到电源60的多个电源电路的测试信号允许验证电源电路以特定的电压或电流强度进行操作。
执行测试代码还包括通过卡(504或506)的处理器20监测模拟代码的执行。
方法500可以包括通过卡(504或506)的处理器20产生具有通过卡的处理器20所执行的测试代码的测试结果的测试通知565,其通过卡成的可配置I/O单元40被发送565到模拟控制器502。
方法500还可以包括基于所接收到的测试结果在模拟控制器502处确定570用于多个可配置模块卡(例如,504)中的至少一个可配置模块卡的新的配置参数。该新的配置参数被发送575到嵌入式(impacted)卡中的每一个(例如,504)。然后,每个嵌入式卡(例如,504)基于所接收的新的配置参数执行580其配置代码并且自身进行重新配置。
方法500可以还包括通过从模拟控制器502的测试请求的接收来触发555在卡(例如,504)处的测试代码的执行。
本公开已引入包括多个可配置模块卡的可配置模拟器。这些卡的使用将极大的灵活性引入到模拟器的操作中。每个卡可被单独可配置(和重新可配置),模拟器可以容易地被(重新)配置,以适应卡的添加、卡的移除、卡的替换。模拟器还可以被重新配置以适应其中的一个或若干卡发生故障。配置或重新配置模拟器在于配置或重新配置其中的一个或若干卡。因此,完整模拟器或完整模拟器的子系统可以基于一组可配置模块卡进行设计。这一组可配置模块卡被提供为具有通用硬件并且没有初始的特定硬件和软件配置的一组通用卡。这一组可配置模块卡然后如本公开所示被配置,以实现完整的模拟器的多种功能,或另选地以实现完整的模拟器的子系统的特定功能。
尽管本公开已经在上文中通过非限制性的、说明性的实施例的方式进行描述,但是在不脱离本公开的精神和本质的情况下这些实施例可以在所附权利要求书的范围内进行任意修改。
Claims (20)
1.一种可配置模拟器,包括:
至少一个配置部件,包括:
输入/输出单元,其用于:
接收来自多个可配置模块卡的广播消息,及
将具有配置参数的广播响应消息发送到所述多个可配置模块卡;以及
处理器,其用于:
确定所述多个可配置模块卡的所述配置参数;
所述多个可配置模块卡,每个卡包括:
可配置输入/输出单元,其包括多个可配置输入端和输出端,所述可配置输入/输出单元具有用于发送所述广播消息的预定义输出端以及用于接收所述广播响应消息的预定义输入端;
电源,其包括多个可配置电源电路;以及
至少一个处理器,其用于:
执行输入/输出配置代码,以基于所述广播响应消息配置所述可配置输入/输出单元的所述多个可配置输入端和输出端,
执行电源配置代码,以基于所述广播响应消息配置所述电源的所述多个电源电路,以及
执行模拟代码以实现所述模拟器的功能。
2.根据权利要求1所述的模拟器,其中,配置所述可配置输入/输出单元的所述多个可配置输入端和输出端包括执行所述多个可配置输入端和所述输出端的网络配置。
3.根据权利要求1所述的模拟器,其中所述可配置输入/输出单元与至少一个其他模拟部件交换数据。
4.根据权利要求3所述的模拟器,其中,配置所述可配置输入/输出单元的所述多个可配置输入端和输出端包括确定哪些输入端和输出端与所述至少一个其他模拟部件交换数据。
5.根据权利要求3所述的模拟器,其中所述至少一个其他模拟部件是另一个可配置模块卡。
6.根据权利要求3所述的模拟器,其中所述至少一个其他模拟部件是由所述可配置模块卡控制的专用硬件部件。
7.根据权利要求6所述的模拟器,其中所述专用硬件部件是以下中的一个:传感器、显示器、灯、开关、机械致动器、气动致动器、液压致动器和电气部件。
8.根据权利要求1所述的模拟器,其中,执行所述模拟代码以实现所述模拟器的所述功能包括以下中的至少一项:处理由所述可配置输入/输出单元接收的数据,以及产生由所述可配置输入/输出单元发送的数据。
9.根据权利要求1所述的模拟器,其中所述电源的特定电源电路将电力递送到所述可配置模块卡的电子部件。
10.根据权利要求9所述的模拟器,其中,配置所述电源的所述多个电源电路包括确定以下中的至少一项:由所述特定电源电路递送到所述电子部件的电力的特定电流强度和特定电压。
11.根据权利要求9所述的模拟器,其中所述电子部件包括以下中的一个:所述可配置模块卡的所述可配置输入/输出单元、以及所述可配置模块卡的所述至少一个处理器。
12.根据权利要求1所述的模拟器,其中所述电源的特定电源电路将电力递送到另一个模拟部件的电子部件。
13.根据权利要求12所述的模拟器,其中,配置所述电源的所述多个电源电路包括确定以下中的至少一项:由所述特定电源电路递送到所述电子部件的电力的特定电流强度和特定电压。
14.根据权利要求12所述的模拟器,其中所述另一个模拟部件是另一个可配置模块卡。
15.根据权利要求12所述的模拟器,其中所述另一个模拟部件是由所述可配置模块卡控制的专用硬件部件。
16.根据权利要求1所述的模拟器,其中,执行模拟代码以实现所述模拟器的功能包括以下中的至少一项:模拟在显示器上显示的信息、模拟飞机的运动、模拟飞机的电气回路、模拟飞机的液压回路。
17.根据权利要求1所述的模拟器,其中所述模拟器的功能包括若干子功能,并且配置所述可配置输入/输出单元的所述多个可配置输入端和输出端包括确定哪些输入端和输出端被用于接收和发送与特定子功能相关的数据。
18.一种用于操作可配置模拟器的方法,所述可配置模拟器包括多个可配置模块卡,所述方法包括:
将用于所述多个可配置模块卡的配置参数存储在模拟控制器的存储器中;
将配置代码、模拟代码和测试代码存储在所述多个可配置模块卡中的一个可配置模块卡的存储器中;
将用于所述多个可配置模块卡中的所述可配置模块卡的特定配置参数从所述模拟控制器传送到所述可配置模块卡;
将所接收到的特定配置参数存储在所述可配置模块卡的所述存储器中;
由所述可配置模块卡的处理器执行所述配置代码,用于:
基于所述特定配置参数,配置所述可配置模块卡的可配置输入/输出单元的多个输入端和输出端,以及
基于所述特定配置参数,配置所述可配置模块卡的电源的多个电源电路;
由所述可配置模块卡的所述处理器执行所述模拟代码以实现所述模拟器的功能;以及
由所述可配置模块卡的所述处理器执行所述测试代码,用于:
产生用以基于所述特定配置参数配置的所述可配置输入/输出单元的所述多个输入端和输出端的测试信号,
产生用以基于所述特定配置参数配置的所述电源的所述多个电源电路的测试信号,以及
监测所述模拟代码的所述执行。
19.根据权利要求18所述的方法,还包括通过所述处理器产生测试通知,所述测试通知具有由所述处理器执行的所述测试代码的测试结果,且由所述可配置输入/输出单元发送到所述模拟控制器。
20.根据权利要求19所述的方法,还包括:基于所接收到的测试结果,在所述模拟控制器处确定用于所述多个可配置模块卡中的至少一个可配置模块卡的新的配置参数,以及将所述新的配置参数发送到所述多个可配置模块卡的所述至少一个可配置模块卡。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/226,595 US8868808B1 (en) | 2014-03-26 | 2014-03-26 | Configurable simulator with a plurality of configurable modular cards |
US14/226,595 | 2014-03-26 | ||
PCT/CA2014/000321 WO2015143528A1 (en) | 2014-03-26 | 2014-04-04 | A configurable simulator with a plurality of configurable modular cards |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105247594A CN105247594A (zh) | 2016-01-13 |
CN105247594B true CN105247594B (zh) | 2017-05-10 |
Family
ID=51702448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480003217.6A Active CN105247594B (zh) | 2014-03-26 | 2014-04-04 | 具有多个可配置模块卡的可配置模拟器 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8868808B1 (zh) |
EP (1) | EP2946375A4 (zh) |
JP (1) | JP6165966B2 (zh) |
KR (1) | KR101552560B1 (zh) |
CN (1) | CN105247594B (zh) |
TW (1) | TWI647671B (zh) |
WO (1) | WO2015143528A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10114783B2 (en) | 2014-03-26 | 2018-10-30 | Cae Inc. | Configurable input/output unit |
EP3123342A4 (en) * | 2014-03-26 | 2017-10-04 | CAE Inc. | Configurable input/output unit |
EP3193221A1 (de) * | 2016-01-15 | 2017-07-19 | dSPACE digital signal processing and control engineering GmbH | Signalpfadüberprüfungsvorrichtung |
KR101945986B1 (ko) * | 2016-09-29 | 2019-02-08 | 주식회사 케바드론 | 교체용 확장보드를 구비한 비행 제어 컴퓨터 |
CN106774261A (zh) * | 2016-12-23 | 2017-05-31 | 广东嘉腾机器人自动化有限公司 | 一种agv数据配置系统及其数据的烧录和导入方法 |
US10685583B2 (en) * | 2017-09-26 | 2020-06-16 | The Boeing Company | Flight simulator and method of use |
CN111610732B (zh) * | 2020-04-28 | 2021-09-24 | 同方泰德国际科技(北京)有限公司 | 更换可配置型输入/输出模块的方法、装置及设备 |
EP4305653A1 (en) | 2021-03-12 | 2024-01-17 | Essex Industries, Inc. | Rocker switch |
US11688568B2 (en) | 2021-03-15 | 2023-06-27 | Essex Industries, Inc. | Five-position switch |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2175421B (en) * | 1985-05-13 | 1989-11-29 | Singer Link Miles Ltd | Computing system |
US5111402A (en) * | 1990-01-19 | 1992-05-05 | Boeing Company | Integrated aircraft test system |
WO1992021117A1 (en) * | 1991-05-23 | 1992-11-26 | Atari Games Corporation | Modular display simulator |
US6232932B1 (en) * | 1998-07-16 | 2001-05-15 | Craig A. Thorner | Apparatus and method for providing modular reconfigurable multi-function displays for computer simulations |
US6269319B1 (en) * | 1999-01-29 | 2001-07-31 | The Mcdonnell Douglas Corporation | Reconfigurable integration test station |
US6594529B1 (en) * | 1999-03-15 | 2003-07-15 | Siemens Energy & Automation | Programmable logic controller method, system and apparatus |
US6270350B1 (en) * | 1999-04-28 | 2001-08-07 | I-Sim Corporation | Reconfigurable hardware interface for vehicle driving simulators using a field-programmable gate array |
JP2001034551A (ja) * | 1999-07-22 | 2001-02-09 | Takaoka Electric Mfg Co Ltd | ネットワーク装置 |
WO2002061707A2 (en) * | 2000-09-08 | 2002-08-08 | Honeywell International Inc. | Pilot internet practice system and methods |
FR2823896B1 (fr) * | 2001-04-23 | 2003-10-24 | E Bourgeois Ets | Simulateur de vol adapte a une famille d'aeronefs |
TWI226999B (en) * | 2003-08-27 | 2005-01-21 | Chung Shan Inst Of Science | Aviation control emulation and test system structure of unmanned aerial vehicle |
US7412548B2 (en) * | 2004-03-04 | 2008-08-12 | Rockwell Automation Technologies, Inc. | Intelligent self-determining I/O device |
JP4432042B2 (ja) | 2004-05-28 | 2010-03-17 | 株式会社国際電気通信基礎技術研究所 | シミュレーションプログラム、シミュレーション方法及びシミュレーション装置 |
JP2006311294A (ja) * | 2005-04-28 | 2006-11-09 | Matsushita Electric Ind Co Ltd | 自動設定装置及びネットワーク対応装置のパラメータ設定方法 |
US20060271717A1 (en) * | 2005-05-27 | 2006-11-30 | Raja Koduri | Frame synchronization in multiple video processing unit (VPU) systems |
US7649537B2 (en) * | 2005-05-27 | 2010-01-19 | Ati Technologies, Inc. | Dynamic load balancing in multiple video processing unit (VPU) systems |
US20070243505A1 (en) * | 2006-04-13 | 2007-10-18 | Honeywell International Inc. | System and method for the testing of air vehicles |
CN101523317B (zh) * | 2006-08-08 | 2011-09-21 | 西门子工业公司 | 关于plc系统故障的装置、系统和方法 |
US20090246741A1 (en) * | 2008-01-09 | 2009-10-01 | Mark Soodeen | Modular flight control structure |
JP2013093827A (ja) * | 2011-10-06 | 2013-05-16 | Kyoto Institute Of Technology | 通信システム、通信装置、通信方法及び通信パラメータ決定方法 |
-
2014
- 2014-03-26 US US14/226,595 patent/US8868808B1/en active Active
- 2014-04-04 JP JP2016509237A patent/JP6165966B2/ja active Active
- 2014-04-04 KR KR1020157010745A patent/KR101552560B1/ko active IP Right Grant
- 2014-04-04 CN CN201480003217.6A patent/CN105247594B/zh active Active
- 2014-04-04 WO PCT/CA2014/000321 patent/WO2015143528A1/en active Application Filing
- 2014-04-04 EP EP14851433.4A patent/EP2946375A4/en not_active Ceased
-
2015
- 2015-03-05 TW TW104107039A patent/TWI647671B/zh active
Also Published As
Publication number | Publication date |
---|---|
CN105247594A (zh) | 2016-01-13 |
WO2015143528A1 (en) | 2015-10-01 |
JP6165966B2 (ja) | 2017-07-19 |
TW201546770A (zh) | 2015-12-16 |
KR101552560B1 (ko) | 2015-09-11 |
US8868808B1 (en) | 2014-10-21 |
EP2946375A1 (en) | 2015-11-25 |
EP2946375A4 (en) | 2016-03-09 |
TWI647671B (zh) | 2019-01-11 |
JP2016519791A (ja) | 2016-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105247594B (zh) | 具有多个可配置模块卡的可配置模拟器 | |
CN105102093B (zh) | 用于执行分布式模拟的可配置的模拟器 | |
CA2946168C (en) | A configurable simulator with testing capabilities | |
US10114783B2 (en) | Configurable input/output unit | |
CN114018591A (zh) | 车辆硬件模拟测试系统、方法、车辆和存储介质 | |
CA2882009C (en) | Configurable input/output unit | |
US8990060B1 (en) | Configurable modular card for use in a simulator | |
CA2888879C (en) | A configurable modular card for use in a simulator | |
CA2887747C (en) | A configurable simulator with a plurality of configurable modular cards | |
CN107657855A (zh) | 基于模型的综合导航监视模拟培训系统 | |
CN117240648A (zh) | 一种基于arinc825网络的机载机电系统维护单元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |