具有高操作确定性的片上系统的制作方法

文档序号:12512850阅读:191来源:国知局
具有高操作确定性的片上系统的制作方法与工艺

本发明涉及片上系统(SOC)的领域。

更具体地,本发明涉及具有高可靠度的嵌入在芯片上的系统的架构。



背景技术:

现代飞行器中控制和显示系统的存在需要使用嵌入式计算装置。这种装置可以以片上系统(SOC)的形式出现。这种系统可以包括一个或多个诸如处理器之类的主处理模块以及诸如存储器接口或通信外围设备之类的从属模块。

对于航空航天领域中诸如驾驶并监控飞行器之类的关键应用而言,使用这种片上系统必须要求这些系统具有最大的可靠性,因为任何故障或操作异常都可能对飞行器乘客的生命造成灾难性的后果。特别是需要能够证明组件的运行的确定性、对故障的抵抗能力以及最坏情况执行时间。

然而,现有的片上系统不能保证针对这种关键应用的足够的可靠性。具体来说,现有的片上系统的不同处理模块通常共享系统的高速缓冲存储器和从属模块的一部分,这使得它们容易遭受故障。此外,现有系统通常不能使其未使用的模块失效,具有难以证实且缺少文档的嵌入式微代码,这使得难以证明这些系统的操作的确定性。

因此,需要一种提供下述架构的片上系统,该架构使得可以证明其对内部操作故障的抵抗力并证明其操作的确定性。



技术实现要素:

因此,本发明在第一方面涉及一种包括一组主模块和从属模块的片上系统(SoC),

所述主模块来自:

-对所述片上系统的所有组件具有优先访问权限的主处理模块和与所述主处理模块相连的直接存储器访问(DMA)控制器;

-至少一个辅助处理模块和与每个辅助处理模块相连的直接存储器访问(DMA)控制器;

每个主模块被配置为连接到时钟源、电源和从属模块,所述从属模块来自:

-通过专用通信链路连接到所述主模块处的一组外围设备,也称为“邻近外围设备”,

-至少一个内部存储器,

-由所述主模块共享的一组外围设备和外部存储器,

其特征在于:

主处理模块及该主处理模块的直接存储器访问(DMA)控制器的所述时钟源、所述电源、所述邻近外围设备和高速缓冲存储器专用于所述主处理模块且不与所述一组主模块中的其他处理模块共享,

每个主处理模块及该主处理模块的直接存储器访问(DMA)控制器的所述至少一个内部存储器专用于所述主处理模块,所述主处理模块始终能够访问该至少一个内部存储器。

这样的架构使得可以将每个处理模块连同其直接存储器访问控制器、其邻近外围设备及其内部存储器从片上系统的其余部分隔离。这种隔离使得可以加强系统的运行确定性以及系统的抗故障能力。

根据有利且非限制性的特征,主处理模块可以通过至少一个通信总线连接到辅助处理模块的内部存储器。

因此,主处理模块可以访问所有内部存储器的内容,同时保持该主处理模块的内部存储器的完整性;相反地,该主处理模块的内部存储器不能被其他处理模块访问。

此外,根据第一方面的系统可以包括至少两级互连:

-将每个主模块连接到该主模块的内部存储器处的第一级,

-将所述主模块连接到所述一组共享的外围设备和外部存储器处的从属模块的第二级,

所述从属模块根据所述从属模块的功能、所述从属模块的优先级和/或所述从属模块的带宽要求而分布在多个互连之间,从属模块彼此不直接通信,

互连由经由一级或多级接线器级连接到多个从属端口的多个主端口组成。

这使得可以减少连接到同一互连的主模块和从属模块的数量,并且因此降低仲裁的复杂性并提高片上系统的确定性和可靠性。系统的可靠性也因连接到两个不同互连的两个从属模块之间在不经过主模块的情况下不能直接通信而得到加强。

此外,所述第二互连级以及所述一组共享的外围设备和外部存储器可以连接到与所述主模块的时钟源和电源隔离开的时钟源和电源。

这加强了片上系统的抗故障能力。

此外,所述系统可以包括能够通过所述第二互连级的互连连接到共享外围设备处的外部主机。

这使得片上系统能够允许其从属模块访问外部组件。

此外,主模块的邻近外围设备和内部存储器可以连接到该主模块的电源和时钟源。

作为替选,主模块的邻近外围设备与该主模块的通信接口可以连接到该主模块的时钟源。

在另一替选中,主模块的邻近外围设备和内部存储器可以连接到专用的电源和时钟源。

这通过防止时钟源故障或电源故障影响多个处理模块的邻近外围设备或内部存储器而加强了片上系统的抗故障能力。

作为示例,主模块的邻近外围设备可以是:复位控制器、看门狗、中断控制器、实时控制器、专用于航空航天应用的外围设备或直接存储器访问(DMA)控制器。

辅助处理模块的邻近外围设备可以是实时控制器、看门狗、直接存储器访问(DMA)控制器或中断控制器。

这使得每个处理模块能够总是以相同的访问时间来直接访问这些外围设备,而不会由于来自另一个主模块的竞争访问而导致任何额外的延迟。

此外,互连可以是:

-将控制外部存储器和/或诸如SPI(串行外围设备接口)链路之类的用于外部存储器的接口的串联链路的一组从属模块分组在一起的外部存储器互连;

-将包括通信外围设备的一组从属模块分组在一起的通信互连,该通信外围设备例如是下述各项之一:以太网、ARINC、UART(“通用异步收发器”)、SPI(“串行外设接口”)、AFDX(“航空电子全双工交换以太网”)、A429(ARINC429)、A825(ARINC 825)、CAN(控制器局域网络)或I2C;

-将包括用于航空航天专用应用的控制外围设备的一组从属模块分组在一起的控制互连,例如被配置为实现专用于发动机控制或制动计算的功能的控制模块;

-连接到可编程区域以用于添加自定义功能的自定义互连。

这使得可以限制连接到每个互连的从属模块的数量,并且可以根据从属模块的功能将从属模块分组在同一个互连上,以便降低这些互连的内部结构的复杂性。

每个互连可以包括监视和故障检测机制。

这使得可以监视互连处的模块之间的交换,以避免发送错误的命令或数据,并且还避免由于其中一个模块中的故障而阻塞互连。

作为示例,每个互连处的不同级的内部接线器可以以下列方式分组在一起:

-根据所述主模块必须能够连接的所述从属模块、所述主模块的功能、所述主模块的优先级和/或所述主模块的带宽要求,在第一接线器的第一级处将所述主模块分组在一起成为主模块组,每个主模块组连接到接线器,

-这些第一接线器的输出连接到第二级接线器,该第二级接线器根据连接到该第二级接线器上的所述主模块、从属模块的功能和/或从属模块的带宽要求而将从属模块分组成从属模块组,单一的通信链路连接主模块组和从属模块组。

此外,来自下述组中的所述从属模块可以分组在一起成为从属模块组:

-使用快速通信总线专用于主处理模块的从属模块,

-使用慢速通信总线专用于主处理模块的从属模块,

-使用快速通信总线在不同的主模块组间共享的从属模块,

-使用慢速通信总线在不同的主模块组间共享的从属模块。

这减少了互连的内部物理路径的数量和复杂性,并且减少了接线器级的数量和接线器的数量,使得互连的延迟更小并且仲裁不那么复杂。

可以将处理模块布置在片上系统中以便被物理地隔离。

这使得可以在SEU(单事件翻转)或MBU(多位翻转)类型的改变的情况下降低共同故障的概率。

附图说明

在阅读以下实施例的描述的基础上本发明的其它特征和优势将变得明显。将参照附图给出该描述,其中:

-图1示意性地示出了根据本发明的实施例的片上系统的架构;

-图2示出了根据本发明的实施例的片上系统的详细示例;

-图3示出了根据本发明的实施例的片上系统中互连的架构;

-图4示出了现有技术的互连架构的示例;

-图5示出了根据本发明的实施例的互连架构的示例。

具体实施方式

参照图1,本发明的实施例涉及片上系统100(SoC)。

这种系统包括一组主模块和从属模块。系统100在这些主模块之中包括诸如处理器或多核处理器的核之类的处理模块;这种处理器可以归属于各种系列的处理器。

具体地,系统100在这些主模块之中包括主处理模块101a及一个或多个辅助处理模块101b。主处理模块有权访问系统中激活的所有资源并控制系统的正常运行。辅助处理模块可以用作协处理器来提供额外的计算能力或特定的功能,或允许维护。片上系统100还可以包括与每个处理模块相连并减轻处理模块上的负载以用于处理数据传输的直接存储器访问控制器(DMA0,DMA1)102a、102b作为主模块。可以设想出没有DMA的等效系统,则由处理模块来处理与存储器的数据传输。

每个处理模块101a、101b包括高速缓冲存储器103a、103b。每个处理模块的高速缓冲存储器都是特定于该处理模块的,并且不与其他处理模块共享,以便确保处理模块的完全隔离并且降低共模故障的风险。

以同样的方式,每个处理模块连接到其特定的电源和时钟源。这确保了处理模块相对于彼此的独立性,并且在处理模块之一的电源或时钟源发生故障的情况下降低了共同故障的概率。

还可以通过将处理模块布置在嵌入式系统上彼此间隔开的不同位置中来使处理模块物理隔离,例如通过将它们各自布置在部件的一角处。这使得可以在SEU(单事件翻转)或MBU(多位翻转)类型的改变的情况下降低共同故障的概率。

为了减少不同处理模块之间的冲突,主处理模块101a是有权访问片上系统100的所有组件的唯一主模块。此外,在对片上系统100的从属模块的所有这些访问中,主处理模块都优先于所有其他主模块。因此,片上系统100的操作的确定性得到加强。

此外,主处理模块101a控制片上系统100的包括辅助处理模块在内的所有其他模块的激活和去激活。主处理模块可以重置辅助处理模块。主处理模块101a还负责对片上系统100的健康状态进行分析以及在检测到故障时分配处罚。因此,处理模块101可以使未被使用的模块或在发生故障时表现出错误行为的模块去激活。

有利地,主处理模块101a总是激活的。该主处理模块101a特别用于只需要使用单个处理模块的所有应用程序。

此外,系统100可以为外部主机111提供连接,以便使该外部主机有权访问片上系统100的从属模块。这样的外部主机可以包括:核、处理器或微控制器、或其他外围设备的外部主机。

每个主模块可以连接到以下从属模块:

-至少一个内部存储器104a、104b,

-通过专用通信链路连接到主模块的一组外围设备(所谓的“邻近外围设备”)105a、105b,

-由主模块共享的一组外围设备和外部存储器106。

处理模块及该处理模块的直接存储器访问DMA控制器的内部存储器104a、104b专用于该处理模块,并且不与其他处理模块共享。

然而,主处理模块101a可以访问所有辅助处理模块101b的所有内部存储器,例如以进行数据监视或以使用非活动的辅助处理模块的存储区域来扩展主处理模块101a的内部存储容量。为此,主处理模块可以通过至少一个通信总线直接链接到辅助处理模块的内部存储器。系统可以包括用于主处理模块与辅助处理模块的内部存储器之间的每个链路的单独的总线。或者,可以利用公共总线来将主处理模块链接到多个辅助处理模块,可选地具有增加的多路复用器来管理总线上的交换并管理优先级。

相反,辅助处理模块没有物理地链接到主处理模块的内部存储器,以便保证主处理模块的隔离。

外部主机也无权访问各种处理模块的内部存储器。这也使得可以保证主处理模块对其内部存储器的访问的恒定时间。

这样的内部存储器可以包括内部直接访问RAM(随机存取存储器)存储器和/或闪存。每个处理模块可以通过AXI-M型总线链接到其内部存储器。

处理模块的内部存储器可以连接到该处理模块的时钟源和电源,以便降低共模故障的概率。为了加强隔离,该内部存储器也可以连接到电源和时钟源。

除了主处理模块直接访问辅助处理模块的内部存储器的手段之外,片上系统100还可以包括诸如DPRAM(双端口随机存取存储器)类型的附加存储器107,该附加存储器107专用于两个处理模块之间数据的交换,并可由这些处理模块访问。第一处理模块可以向该存储器写入数据,从而这些数据可用于其他处理模块,而无需其他处理模块直接访问第一处理模块的内部存储器。在多个辅助处理模块的情况下,可以为链接到该辅助处理模块和主处理模块的每个辅助处理模块提供这样的附加存储器。

每个处理模块也可以链接到邻近外围设备105a、105b。这样的外围设备专用于每个处理模块并且可以由每个处理模块单独访问,以便确保处理模块彼此间的隔离并且降低共模故障的概率。外部主机也无权访问这些邻近外围设备。这使得可以在不同的处理模块之间不进行任何仲裁,从而使得可以增强片上系统100的操作的确定性。

因此,每个处理模块可以连接到现有处理器的标准邻近外围设备,例如以下的邻近外围设备:

-确保处理模块正确执行应用程序的看门狗(WD),

-使应用的执行同步的实时控制器(RTC),

-对处理模块的DMA模块的操作进行管理的直接存储器访问(DMA)控制器,

-中断控制器(IRQ),

-复位控制器,

-专用于航空航天应用的外围设备。

与主处理模块不同,辅助处理模块不连接到这些监控和配置外围设备,因为辅助处理模块只需要用来确保它们自己正确的操作的外围设备。

类似于内部存储器,处理模块的邻近外围设备可以连接到该处理模块的时钟源和电源,以便降低共模故障的概率。或者,为了进一步加强抗故障能力,仅处理模块的邻近外围设备105a、105b与该处理模块的通信接口连接到该处理模块的时钟源,且处理模块连接到单独的电源。为了加强隔离,邻近外围设备也可以连接到专用的电源和时钟源。

每个处理模块可以通过AHB–PP(先进的高性能总线)型总线连接到其邻近外围设备。

因此,每个处理模块具有由每个处理模块自身的电源和时钟源供电的、不与片上系统100的其他处理模块共享的它自己的高速缓冲存储器、内部存储器和邻近外围设备。

此外,主处理模块是作为优先项有权访问片上系统的所有模块的唯一的处理模块,并且具有用于对片上系统进行监视和配置的外围设备。

这种架构最大化了不同处理模块的分离,最大限度地降低了共模故障的可能性,并且加强了片上系统操作的确定性。

每个主模块还可以连接到如图1所示的由主模块共享的一组外围设备和外部存储器106。

如上所述,主处理模块系统地优先于其他处理模块来访问共享外围设备和外部存储器106。

主模块可以连接的共享外围设备和外部存储器的类型的细节在下面的段落中进行了说明,并且在图1和图2中进行了示出。

每个主模块可以特别地连接到外部存储控制器108,这些外部存储控制器108诸如有:SDRam(同步动态随机存取存储器)/DDR(双倍数据速率)或闪存控制器或QSPI(排队串行外设接口)存储器或控制器。

外部主机无法访问外部存储控制器108。

每个主模块还可以连接到通信外围设备109,这些通信外围设备109诸如有:AFDX(航空电子全双工)、μAFDX、A429、以太网、UART、SPI、I2C或A285/CAN控制器。

每个主模块还可以访问用于航空航天专用应用的控制外围设备110。这样的外围设备可以尤其被配置成实现特定于发动机控制或制动计算的功能,例如传感器采集功能(ACQ)、控制功能(ACT)、保护功能(PROTECT)或计算机间链接功能(LINK)。

最后,每个主模块可以连接到由FPGA(现场可编程门阵列)电路组成的可编程区域122,该FPGA电路允许向片上系统添加自定义功能。

所有的共享外围设备和外部存储器106可以连接到与处理模块连接的时钟源和电源隔离开的时钟源和电源。主模块的邻近外围设备105a、105b与该主模块的通信接口也可以连接到该主模块的时钟源。因此,在时钟源或电源故障之后影响片上系统的相当大部分的共模故障的可能性降低。

主模块经由被称为互连的互连网络连接到从属模块。

如图3所示,互连包括主端口301,每个主端口连接有从属模块302,每个主端口通过一级或多级接线器连接到从属端口303,每个从属端口连接有主模块304。

可以使用第一互连级将主模块连接到内部存储器,并且如果外部存储器不被共享则适用于外部存储器。如图2所示,可以使用第二互连级将主模块连接到所述一组外围设备中的从属模块。每个互连级可以包括一个或多个互连。

在其中外围设备和共享存储器不连接到与主模块的时钟源相同的时钟源的这种架构中,第一互连级还用于将主模块的信号重新同步到与共享外围设备106的时钟域相同的时钟域。

第一互连级可以包括用于每个处理模块的两个互连:一个互连用于通过外部存储控制器将主机连接到内部存储器和外部存储器,并且中间互连位于处理模块与第二级之间用于连接共享外围设备。这两个互连可以连接到与它们所依赖的处理模块的时钟源和电源相同的时钟源和电源。

在第二互连级处,从属模块根据其功能、优先级和/或其带宽要求而分布在多个互连中。这使得可以减少连接到同一互连的从属模块的数量,并且因此降低仲裁的复杂性并提高片上系统的操作的确定性和可靠性。

一个互连可用于上述共享外围设备和存储器集合中的每个类别的模块,即:

-将控制外部存储器和/或用于外部存储器的接口的串联链路(诸如SPI)的一组从属模块分组在一起的一个外部存储器互连118;

-将包括通信外围设备的一组从属模块分组在一起的一个通信互连119;

-将包括用于航空航天专用应用的控制外围设备的一组从属模块分组在一起的控制互连120;

-连接到可编程区域以用于添加自定义功能的定制互连121。

在第二互连级的两个互连之间不可能进行直接通信。因此,只有在主模块的请求下才能进行这两个互连之间的数据传输。

如果处理模块与其邻近外围设备之间所采用的连接不是多端口,则还可以使用附加互连来将每个处理模块连接到其邻近外围设备。

每个互连还可以包括专用于监视互连上的数据交换以及用于检测任何故障的机制。例如,可以使用这样的机制来避免在正在进行的数据交换中断的情况下互联网被阻断,以及当存在数据交换请求时检查主模块对从属模块的访问权限,并且还可以监控AXI和AHB总线上的事务。

在现有系统中,互连通常独立于由该互连提供的其他链路而将每个主端口连接到每个从属端口。随着连接到互连的主模块和从属模块的数量的增加,内部到互连的链接的数量及要使用的接线器的数量将迅速增加。

作为示例,将这种互连结构策略应用于上述控制互连将导致诸如图4所示的架构。由于这种架构的复杂性和由此复杂性产生的仲裁问题,在用于航空航天应用的片上系统的情况下,这种架构是不可取的。

根据本发明的片上系统提出了一种新的互连结构策略,其中,根据主模块必须能够连接的从属模块、主模块的功能、主模块的优先级和/或主模块的带宽要求,在第一接线器的第一级处将主模块分组在一起成为主模块组,每个主模块组连接到接线器。因此,互连的第一级接线器包括最多与主机组一样多的接线器。

然后,这些第一接线器的输出连接到第二级接线器,该第二级接线器根据连接到其上的主模块、从属模块的功能和/或从属模块的带宽要求而将从属模块分组成从属模块组,一个单一的通信链路连接一个主模块组和一个从属模块组。

例如,来自下述组中的从属模块可以分组在一起成为从属模块组:

-使用快速通信总线专用于主处理模块的从属模块,

-使用慢速通信总线专用于主处理模块的从属模块,

-使用快速通信总线在不同的主模块组间共享的从属模块,

-使用慢速通信总线在不同的主模块组间共享的从属模块。

因此,第二级接线器包括最多与从属模块组一样多的接线器,并且互连包括最多与主模块组的数量乘以从属模块组的数量的乘积一样多的内部物理路径。

这样的互连生成策略减少了互连的内部物理路径的数量和复杂性,并且减少了接线器级的数量和接线器的数量,使得互连的延迟更小并且仲裁不那么复杂且确定。

作为示例,图5中示出了这种策略在上述控制互连的应用。

主处理模块101a和外部主机111是唯一有权访问连接到控制互连的所有从属模块的主模块。因此,这两个主模块在第一接线器112上被分组在一起成为第一主模块组。

辅助处理模块101b和主处理模块的DMA 102a(DMA0)有权访问相同的从属模块,即共享存储器107和以太网控制器。因此,它们可以在第二接线器上分组在一起成为第二主模块组。然而,它们的带宽要求非常不同,可以选择将它们隔离并连接到两个不同的接线器113和114。因此,可以针对这些主模块中的每个主模块使用不同的接线器。

最后,由于辅助处理模块的DMA 102b(DMA1)只有权访问以太网控制器,所以它不与之前提到的主模块分为一组。

在从属模块侧,由于诸如LINK计算机间链路模块、采集单元ACQ、控制单元ACT和保护模块PROTEC之类的模块仅可由上述第一主模块组的主模块访问并且主处理模块和外部主机分组在一起,因此这些从属模块分组在一起成为第一从属模块组。所有这些模块连接到互连的第二级接线器的同一接线器115。

然后,需要将第一主模块组的接线器连接到第一从属模块组的单个物理链路来将主处理模块101a和外部主机111连接到第一从属模块组的所有从属模块。

以相同的方式,具有相似功能的两个以太网控制器根据它们的功能在互连的第二级接线器的第二接线器116上被分组成为第二从属模块组。

最后,使用附加接线器117来将互连的第一级接线器的不同接线器连接到共享存储器从属模块。

由于辅助处理模块的DMA 102b仅连接到以太网控制器,所以在互连的第一级处不需要附加的接线器来将DMA 102b连接到将两个以太网控制器分组在一起的接线器116。

总而言之,如此形成的控制互连仅需要六个接线器112至117以及八个内部物理链路来将五个主模块和七个从属模块互连。

为了加强片上系统的运行的确定性并且为了通过减少仲裁来减少延迟,可以以下述方式来配置每个互连,该方式为系统地优先考虑连接到主处理模块的接线器的物理链路或连接到包括主处理模块的主模块组的物理链路。

因此,本发明提出了一种由于其操作确定性及其抗故障能力而呈现高可靠性的片上系统。因此,这样的系统可以用于航空航天领域中的关键应用,例如控制发动机、制动器或飞行器的电致动器。这样的片上系统也可以用于需要高可靠性的其他领域,例如汽车行业、医疗领域等。

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