多核架构、接口卡和处理数据包的方法与流程

文档序号:15850935发布日期:2018-11-07 09:54阅读:248来源:国知局
多核架构、接口卡和处理数据包的方法与流程

本发明涉及用于通信目的的多核架构。特别地,本发明涉及在列车通信网络(traincommunicationnetwork,tcn)内使用的多核架构。tcn通常由不同的通信网络选项构成,特别是可提供绞线式列车总线(wiretrainbus,wtb)、以太网列车主干(ethernettrainbackbone,etb)、多功能车辆总线(multifunctionvehiclebus,mvb)、控制器区域网络(can总线)和/或以太网(eth)。本发明用于互连在列车通信网络内的不同子系统,使得这些子系统能够通过tcn一起通信或彼此相互通信。

验证和认证过程导致在tcn内不同子系统互连的安全相关的、新颖的和创新的设备占用大比例的开发成本。

列车的每项功能都可划分安全完整性等级(safetyintegritylevel,sil)。网络通信设备继承其所涉及功能的sil。安全完整性等级是对安全仪表系统(safetyinstrumentedfunction,sif)所要求性能的度量。安全完整性等级为0到4,而在安全完整性等级0中,认为风险低的且(几乎)没有危险可影响安全完整性等级为0的设备。最高的安全完整性等级是等级4。

涉及到具有安全完整性等级1至4之一的安全功能的每个应用和每个设备都必须由评估员评估。评估员独立于开发项目。在许多情况下,由外部机构管理这些评估或认证,耗时和成本高。评估完成后,对设备或设备上所运行程序的任何修改都必须经过另一个新的评估过程。因此,修改也耗时和高成本。

此外,关于轨道应用,空间也是列车通信网络中的关键参数。这就是为什么通信设备需要节省空间的设计。然而,接口卡(interfacecard)为子系统制造商提供了灵活性,因为他们不必为tcn本身采用他们的系统和协议。此外,系统的维护被简化。

因此,本发明的目的是提供克服上述缺点的多核架构、接口卡和方法。



技术实现要素:

与多核架构相关的目的是通过根据权利要求1所述的多核架构来解决。在从属权利要求中提出优选实施例。

多核架构包括可重构逻辑设备,所述可重构逻辑设备包括第一中央处理器(cpu)和第二中央处理器。第一cpu被配置为处理安全相关数据,且优选地执行安全相关功能。该安全相关功能和安全相关数据是所有数据都至少分类在安全完整性等级1至4之一中。第二cpu被配置为处理与安全无关数据,且优选地仅处理安全无关功能,而该安全无关数据是所有数据或者没有归入安全完整性等级之一或者属于安全完整性等级0。根据示例实施例,第一cpu和/或第二cpu形成为精简指令集计算机(reducedinstructionsetcomputer,risc处理器)。其他处理器类型,诸如cisc等,也是可以的。

得益于这种多核架构,现在可在不进行进一步认证的情况下更新安全无关的第二cpu的应用程序(固件)。这是可能的,因为安全的第一cpu的应用程序保持不受影响。在传统架构中,整个功能由单个cpu覆盖,或者在单个cpu上,每个cpu都在不同的逻辑设备(例如asic)中使用。本发明在相同的可重构逻辑设备内实例化多个cpu。

在一个实施例中,可重构逻辑设备被形成为现场可编程门阵列(fieldprogrammablegatearray,fpga)。由此提供用于(轨道)安全相关应用的可更新多核架构,此外还提供非常节省空间的设计。第二cpu的应用程序固件可被更新和/或可在其中实现另外的应用。由于该第二cpu仅用于处理安全无关数据,因此不需要另外的(新)评估或认证程序。

在另一个示例中,多核架构的特征在于,提供用于将第一cpu联接到第二cpu的处理器间通信设备,并被配置为通过第二cpu的程序阻止在第一cpu上所运行程序的冲突和/或干扰,所述处理器间通信设备优选地使用在第一cpu和第二cpu之间的信息传输,其中所述信息传输优选地是双向的。处理器间通信设备优选地在可重构逻辑设备本身上使用并用作一种防火墙,特别是用作硬件防火墙。处理器间通信设备确保第二cpu不会冲突和/或干扰第一cpu的操作。

优选地,多核架构提供数字接口模块,所述数字接口模块被配置为至少间接地将一个或多个外围设备连接到第一cpu和/或第二cpu。在一个优选实施例中,数字接口模块被使用在可重构逻辑设备上或可重构逻辑设备内,其提供更节省空间的布局。

另外优选地,提供网络接口模块,所述网络接口模块被配置为至少间接地将一个或多个网络设备连接到第一cpu和/或第二cpu。在一个优选实施例中,网络接口模块被使用在可重构逻辑设备上或可重构逻辑设备内。通过该网络接口模块,多核架构可与tcn通信,例如,通过以太网与tcn通信。

在一个实施例中,网络接口模块可形成为或可连接到多端口,优选地为三端口以太网交换机。

在多核架构的又一个示例中,提供一种数据分割设备。数据分割设备优选地被使用在可重构逻辑设备上或可重构逻辑设备内,且数据分割设备被配置为将数据分割为安全相关数据(包括安全完整性等级1到4的数据)和安全无关数据(包括安全完整性等级0或更低的数据)。数据分割设备确保只有安全完整性等级0或更低的安全无关数据才会被引导至第二cpu。具有1或更高安全完整性等级的每个数据包都被发送到第一cpu。

为确保已处理数据包的安全和完整地传输至主机设备,在又一实施例中提供主机接口。该主机接口至少被间接地连接到第一cpu和/或第二cpu,用于将已处理数据包发送到主机设备。主机设备可包括主机驱动器,所述主机驱动器使得在主机的微处理器上运行的主机应用程序能够与多核架构通信并因此与整个tcn通信。例如,主机应用程序可以是门控应用程序、窗控制应用程序、列车气候控制应用程序等。

在多核架构的又一个实施例中,第一实时操作系统在第一cpu上运行,且第二实时操作系统在第二cpu上运行。此外,第一cpu运行很多具有与安全完整性级别1到4的数据相关的第一嵌入式应用程序,而第二嵌入式应用程序可正在第二cpu上运行,处理安全完整性级别0或更低的安全无关数据。

在一个例子中,为了提供(至少部分地)可更新的系统,第二cpu被配置为可重编程的。因此,在又一示例中,可重构逻辑设备包括存储器(优选闪存)。在该存储器上,可存储安全相关数据和安全无关数据两种类型数据。可重构逻辑设备中还可包含两个不同的存储器,其中一个存储安全相关数据,另一个存储安全无关数据。在任何情况下,只有存储器(闪存)镜像的部分是可更新的,其涉及安全无关数据、功能或程序。因此,可更新或重编程第二cpu的嵌入式应用程序和/或第二实时操作系统。因此,对涉及安全无关数据或设备的第二cpu的调整或修改可以简单的方式执行,而无需因轨道目的对整个多核架构再评估或再认证。在另一个实施例中,可提供用于重编程和/或更新第二cpu的附加的或分离的编程端口。

与该方法相关的目的通过根据权利要求11的方法以解决。优选实施例在从属权利要求中提出。

本发明涉及一种数据包处理方法,所述数据包包括一个或多个安全相关数据包和一个或多个安全无关包,所述方法包括以下步骤:

-提供多核架构,所述多核架构具有包括第一cpu和第二cpu的可重构逻辑设备;

-通过数据分割设备从安全无关数据包分割一个或多个安全相关数据包分割;

-在第一cpu中处理安全相关数据包,所述第一cpu被配置为处理安全相关数据,从而产生已处理安全相关数据包;和

-在第二cpu中处理一个或多个安全无关数据包,所述第二cpu被配置为仅处理安全无关数据,从而产生一个或多个已处理安全无关数据包。

当然,在可重构逻辑设备内可包含仅多于一个的第一cpu和/或仅多于一个的第二cpu。为了保护数据包免于损坏,在处理一个或多个安全相关数据包期间(在第一cpu和主机设备上运行的任何主机应用程序之间)安全层(safetylayer)被包括到一个或多个已处理安全相关数据包中。该安全层向已处理安全相关数据包添加校验和(checksum)和/或其他信息,从而使主机设备能检测数据包是否完整。因此,主机设备包含相应的检查设备或应用功能。

此外,根据另一个实施例,附加的后续步骤包括:

-优选地使用(多信道)主机接口将已处理安全相关数据包发送到主机设备或主机系统。

主机接口优选地包括一个或多个用于发送已处理安全相关数据包的安全信道,以及一个

或多个用于发送已处理安全无关数据包的非安全信道。

为更新在第二cpu内的固件、第二实时操作系统或第二嵌入式应用程序,并由此形成可更新的多核架构,附加的后续步骤包括:

-提供编程端口,所述编程端口被配置为至少与第二cpu通信;和

-优选地在不影响在第一cpu上所运行程序的情况下,通过编程端口更新在第二cpu内固件和/或第二实时操作系统或嵌入式应用程序。

因此,当整个系统正在运行和/或当整个系统没有运行时,可更新固件和/或第二实时操作系统或嵌入式应用程序(其优选地被存储到fpga的闪存)。

与接口卡相关的目的通过根据权利要求15所述的接口卡解决。该接口卡被配置为将主机设备联接到通信网络。接口卡包括多核架构,所述多核架构具有包括第一cpu和一个或多个第二cpu的可重构逻辑设备。第一cpu被配置为处理安全相关数据,且一个或多个第二cpu被配置为仅处理安全无关数据。

如附图所示,根据示例性实施例的以下详细描述,多核架构的其他变体,处理数据包和接口卡的方法将变得更加明显。

附图说明

图1显示根据第一说明性实施例的多核架构的简化平面图,

图2显示多核架构的第二说明性实施例的简化平面图,

图3a是根据图1或图2在多核架构内使用第一cpu的简化平面图,

图3b是根据图1或图2在多核架构内使用第二cpu的简化平面图,

图4显示包括与主机设备连接的图2的多核架构的接口卡的简化平面图。

具体实施方式

现在参考图1,多核架构1包括可重构逻辑设备2。在该实施例中,可重构逻辑设备2为现场可编程门阵列的形式,fpga2a。fpga2a包括第一cpu3和第二cpu4。两个cpu3、4的形式都可为微控制器,特别是包括risc处理器的微控制器。第一cpu3被配置为处理安全相关数据,而第二cpu4被配置为仅处理安全无关数据。当然,仅多于一个的第一cpu3可被使用在fpga2a内或在fpga2a上。也可在fpga2a内或在fpga2a上包含或使用仅多于一个的第二cpu4。

多核架构1包括数字接口模块6,所述数字接口模块6被配置为至少间接地经由主机接口10将一个或多个外围设备或主机设备11连接到可重构逻辑设备2。在当前情况下,由第一cpu3处理的数据包和由第二cpu4处理的数据包可被引导至外围设备,例如,引导到主机设备11。

在说明性实施例中,数字接口模块6被使用在可重构逻辑设备2(即fpga2a)上或在可重构逻辑设备2内。在一个示例中,该数字接口模块6可以为fifo、双端口ram等形式。数字接口模块6包括多个信道14,所述信道14对应于在fpga2a上或在fpga2a内使用的cpu3、4的数量。在本实施例中,在数字接口模块6内提供两个信道14,第一信道14a用于经由主机接口10向主机设备11传输安全相关数据,且第二信道14b用于传输安全无关数据。也可以有附加的信道14。

多核架构1进一步包括网络接口模块7,在本例子中,所述网络接口模块7也被使用在可重构逻辑设备2(即fpga2a)内或在可重构逻辑设备2上。该网络接口模块7被配置为至少间接地将一个或多个网络设备连接到第一cpu3和/或第二cpu4。网络接口模块7可形成为或可配置为连接到多端口,特别为三端口以太网交换机8。不同数量的端口是可以的。网络接口模块7包括第一输入端15a和第二输入端15b,所述第一输入端15a和第二输入端15b被连接到包括过滤设备16a的输出端口16。替代地或附加地,缓冲设备16b也被包括在网络接口模块7内。该网络接口模块7具有其过滤设备16a,所述网络接口模块7被形成为数据分割设备9,所述数据分割设备9被配置成将数据分割为安全相关数据和安全无关数据。也可与网络接口模块7分开以形成数据分割设备9。除了数据分割设备9以外,安全相关数据被发送到用于进一步处理的第一cpu3。安全无关数据被发送到用于进一步处理的第二cpu4。

现在参考图2,显示多核架构1的另一个实施例。该多核架构1与图1中的不同之处在于提供处理器间通信设备5。该处理器间通信设备5将第一cpu3联接到第二cpu4,并被配置为通过第二cpu4的程序阻止在第一cpu3上所运行程序的冲突和/或干扰。示例的处理器间通信设备5使处理器之间的通信成为可能,但是阻止它们的冲突。处理器间通信设备5被配置为准许访问第二cpu4的数据或者在第二cpu4上的数据,但是其被配置为拒绝访问第一cpu3的数据或在第一cpu3上的数据。或者换句话说,第一cpu3可访问在第二cpu4上的数据,但是不能逆反。该处理器间通信设备5也被使用在可重构逻辑设备2上或在可重构逻辑设备2内,并仅用作两个或更多个cpu3、4之间的(硬件)防火墙。

参照图3a讨论第一cpu3的详细示意图。第一cpu3被配置为运行第一实时操作系统18a(realtimeoperatingsystem,rtos)并包括第一网络通信单元19a。第一rtos并不是强制性的,但是优选的。更进一步地,第一cpu3包括运行并执行安全相关应用程序的单元20a。该安全相关应用程序处理安全相关数据包,所述安全相关数据包可在第一cpu3的加密单元21a中进一步处理。在该加密单元21a内,在已处理安全相关数据包被发送到主机设备11之前,安全层22可被包含在其中。

根据本发明一个示例,参考图3b描述第二cpu4。第二cpu4与图3a中第一cpu3的不同之处在于没有提供安全相关应用程序。第二cpu4改为使用具有安全无关应用程序的单元20b,用于处理安全无关数据。因此,其不可能处理分类为安全完整性等级1至4中任何一个的数据包。说明性的第二cpu4也具有加密单元21b,但是该单元21b可被省略,因为其不需要将安全层22包括到已处理安全无关数据包中。第二rtos并不是强制性的,但是优选的。

参考图4,其显示有线或无线连接到主机设备11的接口卡13。示例性的接口卡13包括根据图2所示实施例的多核架构1。接口卡13进一步提供被连接到可重构逻辑设备2(即fpga2a)的存储器23。其他组件24也可被连接到fpga2a。

下面将描述数据包的处理方法,所述数据包包括一个或多个安全相关数据包。

包括一个或多个安全相关数据包和一个或多个安全无关数据包的数据包从网络(例如,列车通信网络)发送到网络接口模块7的第一输入端15a和/或第二输入端15b,在示例性实施例中,所述网络接口模块7是三端口的以太网交换机8。通过数据分割设备9,数据包被分为一个或多个安全相关数据包和一个或多个安全无关数据包,所述数据分割设备9在优选实施例中形成为过滤设备16a。

安全相关数据包通过线路25被发送到第一cpu3并在那里处理。安全无关数据通过线路26发送到第二cpu4并在那里处理。处理器间通信设备5确保在第二cpu4内的安全无关数据处理不对第一cpu3上运行的进程造成冲突。第一cpu3处理安全相关数据包,且第二cpu4处理安全无关数据包。此外,在第一cpu3的第一加密单元21a内,安全层22被包括到一个或多个已处理安全相关数据包中。已处理安全相关数据包经由线路27被发送到数字接口模块6,在本实施例中,所述数字接口模块6是双信道14数字接口模块6。经由线路28,已处理安全无关数据也被发送到数字接口模块6。

该数字接口模块6能够将已处理安全相关数据包传送到主机设备11,特别是主机驱动器29。主机驱动器29能够与多核架构1通信并因此与接口卡13通信。通常,主机设备11还包括操作系统层,所述操作系统层需要将主机驱动器29适配到主机目标平台,以及主机操作系统(如果存在的话)。在主机驱动器29内提供解密单元30,所述解密单元30被配置为检查安全层22是否正确以及已处理安全相关数据包是否完整。相应地,已处理安全无关数据包也被主机设备11接收而无需搜索或检查安全层22。在主机设备11内,主机应用程序31处理来自tcn经由多核架构1的数据包。在主机应用程序31内,典型的控制应用程序可能正在运行,例如列车上的门控应用程序。

利用本发明,可更新在第二cpu内或在第二cpu上运行的第二实时操作系统18b。安全无关应用程序20b也可升级或替换。因此,交换机8可作为编程端口12,所述编程端口12被配置为与第二cpu4通信。通过该编程端口12,在第二cpu4内的固件和/或第二实时操作系统可被调整、更新或替换。通过使用处理器间通信设备5进行这种更新、调整或替换而不影响在第一cpu3上运行的程序。在又一个实施例中,新应用程序/固件经由交换机8被加载到fpga2a的存储器(23a)中。随后,借助于第一cpu3经由处理器间通信设备5,新的应用程序/固件被安装到第二cpu4上。之后可能需要重启可重构逻辑设备2。

可以如上所述经由以太网端口、经由专用(硬件)编程插头或经由主机接口10和/或数字接口模块6执行对接口卡13的编程。

前面的描述本质上是示例性的而不是限制性的。所公开示例的变化和修改对于本领域技术人员来说可能是显而易见的。它们不一定偏离本发明的实质。

附图标记列表

1多核架构

2可重构逻辑设备

2afpga(现场可编程门阵列)

3第一cpu(中央处理器/第一微处理器)

4第二cpu(中央处理器/第二微处理器)

5处理器间通信设备

6数字接口模块(用于外围,例如用于主机设备)

7网络接口模块(用于网络,例如用于tcn设备)

8交换机

9数据分割设备

10主机接口

11主机设备

12编程端口

13接口卡

14信道

14a第一信道(安全相关数据信道)

14b第二信道(安全无关数据信道)

15a第一输入端

15b第二输入端

16输出端口

16a过滤设备

16b缓冲设备(从tcn的收入数据)

17板(例如,印刷板)

18a第一实时操作系统

18b第二实时操作系统

19a第一网络通信单元

19b第二网络通信单元

20a具有安全相关应用程序的单元

20b具有安全无关应用程序的单元

21a加密单元(第一cpu)

21b加密单元(第二cpu)

22安全层

22*安全层

23存储器

23a存储器(例如,闪存)

24组件

25线路

26线路

27线路

28线路

29主机设备

29解密单元

30主机应用程序(单元)。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1