28、时间触发片上系统架构中的错误遏制

时间触发片上系统架构中的错误遏制

1. 引言

许多大型嵌入式控制系统可分解为多个近乎独立的分布式应用子系统(DASes)。在汽车领域,动力总成控制系统、安全气囊控制系统、舒适电子控制系统和多媒体系统都是 DASes 的例子。飞机上的控制系统设计也有类似的分解。不同的 DASes 可能具有不同的关键级别,且通常由不同组织开发。

为消除错误在 DASes 间的传播路径并降低系统复杂度,每个 DAS 常采用独立硬件实现,即每个 DAS 的任务分配一台计算机,并提供共享物理通信通道(如汽车领域的 CAN 网络),这种架构称为联邦架构。然而,大量的电子控制单元(ECUs)和网络会带来负面影响,如高数量的电缆接触点(故障的重要原因)和高成本。

如果一个 ECU 能承载多个 DAS 任务,减少 ECUs、网络和电缆数量,就能消除这些负面影响,这种架构称为集成架构。近年来,人们为开发集成架构做出了诸多努力,如航空领域的集成模块化航空电子系统(IMA)、汽车领域的 AUTOSAR 以及跨领域的 DECOS。但这些方法在实现所需的封装(特别是时间属性和瞬态故障方面)存在困难。

本文采用了另一种方法,多核片上系统(SoCs)的出现使得将每个任务分配到 SoC 的一个核心,并提供支持 DASes 之间可组合性和错误遏制的时间触发片上互连成为可能。本文重点关注该架构的关键特性——DASes 之间的错误遏制。

2. 时间触发 SoC 架构

2.1 微组件

引入的 SoC 可承载多个 DAS 的任务(可能具有不同关键级别),每个 DAS 提供系统整体服务的一部分。用于特定 DAS 的近乎自主的 IP 块称为微组件,它可以是通用处理器、FPGA 或专用硬件。

应用子系统的微组件之间仅通过时间触发片上网络(NoC)交换消息进行交互。每个微组件都有封装,其行为不会干扰其他微组件的计算和通信。为此,每个微组件包含一个可信接口子系统(TISS),用于保护微组件对时间触发 NoC 的访问。

封装可防止时间干扰(如延迟其他微组件的消息或计算)和空间干扰(如覆盖其他微组件产生的消息)。一个有故障的微组件只能通过发送的消息为应用子系统的其他微组件提供错误输入值来影响它们。

由于提供了封装,SoC 架构支持使用三重模块冗余(TMR)检测和屏蔽微组件的值故障。封装对于确保副本的独立性是必要的,否则有故障的微组件可能会破坏副本的通信,导致共模故障。

封装也是在 SoC 上构建应用子系统正确性的关键机制,它确保了微组件的增量集成不会使现有微组件的服务失效,这种特性称为可组合性,对于独立开发的 DASes 和微组件的无缝集成至关重要。此外,封装对于实现包含不同关键级别 DASes 的 SoC 尤为重要。

2.2 时间触发片上网络

时间触发 NoC 用于互连 SoC 的微组件,其目的包括时钟同步以建立全局时间基准,以及可预测地传输周期性和突发性消息。
- 时钟同步 :时间触发 NoC 进行时钟同步,为所有微组件提供全局时间基准,尽管存在多个时钟域。它基于统一的时间格式,该格式已由 OMG 在智能传感器接口标准中标准化。
- 消息的可预测传输 :使用时分多址(TDMA),NoC 的可用带宽被划分为周期性无冲突发送时隙。微组件对周期性时间触发发送时隙有两种使用方式:周期性或突发性消息传输。在突发性传输中,只有当发送方有新事件要传输时才发送消息,否则不发送消息,从而节省能量。

2.3 诊断单元

诊断单元帮助维护工程师选择合适的维护行动,如更新微组件主机中的软件以消除设计故障,或更换受永久物理故障影响的 SoC 组件。

诊断单元收集微组件的错误指示并自行进行错误检测,为每个检测到的错误在错误日志中插入条目以便后续分析。错误检测基于可靠系统-of-系统(DSoS)概念模型中定义的消息分类,具体如下表所示:
| 属性 | 接口特征检查 |
| — | — |
| 有效 | 消息通过 CRC、范围和逻辑检查 |
| 已检查 | 消息通过输出断言 |
| 允许 | 消息通过接收方的输入断言 |
| 及时 | 消息符合其时间规范 |
| 正确 | 消息的值和时间规范都满足 |
| 隐匿 | 消息被允许但不正确(需要全局判断) |

为进行消息分类,SoC 执行以下三种检查:
1. 输出断言 :诊断单元计算输出断言,观察时间触发 NoC 上交换的所有消息,并执行编码消息语法和语义先验知识的谓词。
2. 时间检查 :对于突发性通信,TISS 检测消息队列的溢出,这些检查适用于接收消息队列(输入端口)和待发送消息队列(输出端口)。
3. 输入断言 :接收消息的微组件计算输入断言,测试消息的语法和语义。

通过这三种机制检测到的错误存储在错误日志中,其中输出断言的结果在诊断单元可用,而时间检查和输入断言使用诊断通信通道上的错误指示消息。微组件的诊断通信通道是时间触发 NoC 上静态预留的时隙。

3. 设计故障的错误遏制

3.1 设计故障的故障遏制区域

SoC 架构中针对设计故障的故障遏制区域(FCRs)如下:
- 可信子系统 :假设可信子系统无设计故障。为证明这一假设,其设计应尽可能小而简单,以利于形式分析。时间触发设计减少了 Heisenbugs 的可能性(如无竞态条件、逻辑和时间控制清晰分离),控制信号源自稀疏全局时间基准的进展。
- 微组件 :微组件的非安全关键软件由可信子系统封装,即使主机的非安全关键软件存在恶意故障,也不会影响其他微组件主机中安全关键软件的正常功能。

3.2 时间故障遏制

为遏制消息时间故障,每个微组件由主机和 TISS 两部分组成。主机实现应用服务,TISS 是保护微组件对时间触发 NoC 访问的专用架构元素。每个 TISS 包含一个表,存储该微组件所有消息接收和发送的全局时间点,由于该表不能被主机修改,主机的设计故障不会影响其他微组件的消息交换。

3.3 值故障遏制

值故障高度依赖应用,其检测依赖于主机。时间触发 NoC 的时间故障遏制是这些检测机制的重要基础,SoC 架构确保接收到的消息确实来自关联的发送方(即防伪装保护)且时间正确。

每个微组件负责决定是否接受实际消息,它可以运行利用消息中信号(变量)值的应用特定知识的测试,通常称为可执行断言。可执行断言是关于消息中信号的语句,在接收到消息时执行,若不成立则消息被视为不正确并被丢弃。

在 SoC 架构中支持多种类型的断言,如带有信号范围检查和斜率检查的可执行断言,可用于检查值是否在物理限制内。将信号范围检查和斜率检查组合成单个断言,可根据实际变化率定义极值的界限。更复杂的技术是“基于模型的故障检测”,使用受控系统的过程模型通过关联两个或多个系统变量来检测错误。

4. 物理故障的错误遏制

4.1 物理故障的故障遏制区域

  • 非安全关键系统 :在非安全关键系统中,SoC 架构针对物理故障的 FCRs 与设计故障相同,即可信子系统和单个微组件。对于影响微组件的物理故障,SoC 能够从其引起的错误中恢复,恢复策略取决于故障的持久性。永久性故障需要将受影响微组件的功能重新分配到正常的微组件上;瞬态故障则可触发微组件的重启。
  • 安全关键系统 :对于安全关键系统,需将整个 SoC 视为单个 FCR。由于共享电源、物理组件和接近性,不能假设像单事件翻转(SEU)这样的物理故障只影响单个微组件而不影响 SoC 的可信子系统。因此,安全关键系统的物理故障屏蔽必须在集群级别进行,当多个 SoC 互连形成分布式系统时实现。

4.2 非安全关键系统

时间故障的屏蔽方式与设计故障相同。当微组件的主机受到物理故障影响时,可信子系统确保不会干扰其他微组件的消息及时交换。

值故障检测由微组件负责,与设计故障不同,物理故障导致的值故障可以通过主动冗余(如 TMR)以系统的、与应用无关的方式进行屏蔽。在这种情况下,三个复制的确定性微组件在其主机中执行相同的操作,在无故障情况下产生内容相同的正确消息,并发送到三个复制的接收器进行多数表决。

值故障检测和时间故障检测并非独立,为在微组件的应用层实现用于值故障屏蔽的 TMR 结构,必须假设架构时间的完整性。一个完整的稀疏全局时间基准是系统级定义分布式状态的先决条件,而分布式状态又是通过表决屏蔽值故障的先决条件。

4.3 安全关键系统

在超可靠系统中,要求每小时的关键故障率不超过 $10^{-9}$。目前的技术无法制造出满足这些可靠性要求的芯片,因此超可靠应用需要整个系统比其任何组件都更可靠,这只能通过利用容错策略来实现。

SoC 架构支持访问芯片外部网络(如 TTP、TTE)的网关。通过在芯片外部网络使用时间触发协议,时间故障遏制可由一个守护者实现,它根据单个 SoC 所有消息的发送和接收时刻的先验知识判断消息是否及时。

与非安全关键系统一样,值故障遏制可通过 TMR 实现,但对于安全关键系统,三个复制的微组件必须位于不同的微组件上。

5. 实现

5.1 微组件的实现

使用分布式系统,原型实现模拟了一个包含四个微组件和可信网络权威(TNA)的 SoC。时间触发以太网(TTE)网络模拟 NoC,支持周期性和突发性消息的时间触发交换。

每个微组件由两台单板计算机组成,一台实现主机,另一台实现 TISS。主机使用 Soekris Engineering net4521,包含 AMD 的 133Mhz 468 类 ElanSC520 处理器、64MB RAM 和两个 100Mbit 以太网端口;TISS 基于 Soekris Engineering net4801 单板紧凑型计算机,包含 266MHz 586 类 NSC SC1100 处理器。两台单板计算机都使用实时 Linux 变体实时应用接口(RTAI)作为操作系统。

NoC 的动态重新配置通过 TNA 发送给 TISS 的配置消息实现,重新配置由 TTE 在预定义的周期性时刻参考全局时间触发,所有 TISS 在全局时间的同一时刻一致执行重新配置。在重新配置时刻,TTE 控制器切换到非活动状态,更新 MEDL 后重新激活。

原型实现了主机和 TISS 之间通过标准以太网连接的内存接口,在 RTnet 开源项目提供的优化版标准实时驱动程序基础上,实现了 TISS 的本地配置参数。

5.2 封装的实验评估

作为原型实现的一部分,进行了早期实验评估,以验证可信子系统提供的封装机制。实验的目的是在有故障主机的任意行为下测试空间和时间分区。

原型设置包含一个进行故障注入的微组件主机和一个由标准 PC 实现的监控设备。故障主机系统地遍历发送到 TISS 的请求消息的所有可能消息头值。

监控设备连接到 TTE 交换机,使用其以太网接口的混杂模式,使用 WireShark 工具观察和记录整个 TTE 网络的流量。对收集的日志分析得出以下结果:
- 无中断 :实验中所有发送的消息都包含序列号,日志表明没有消息因故障主机的行为而丢失。
- 无额外消息 :除了 TNA 配置的消息外,TTE 网络上未观察到其他消息。
- 对时间属性无影响 :有主机进行故障注入的 TTE 网络的时间属性(如带宽、延迟、消息顺序)与无故障注入时相同。

尽管这些结果令人鼓舞,但未来还需要进行更全面的故障注入实验验证,例如关注放射性粒子的物理故障注入。

6. 结论

半导体行业的发展使得数十亿晶体管的 SoC 出现,为嵌入式控制系统的集成架构设计提供了新选择。将分布式应用子系统(DAS)的每个任务分配到多核 SoC 的一个核心,可消除不同 DAS 任务间的直接干扰,而动态时间触发 NoC 可消除 DAS 间的间接干扰。

本文重点关注集成 TT - SoC 架构的错误遏制特性,认为该架构在错误遏制方面优于通过 CAN 网络互连 ECUs 的联邦架构,原型实现的实验数据也支持了这一观点。

7. 总结与展望

7.1 架构优势总结

时间触发片上系统(SoC)架构在嵌入式控制系统领域展现出了显著的优势。其核心的错误遏制特性,无论是对于设计故障还是物理故障,都提供了有效的解决方案。
- 设计故障方面 :通过合理划分故障遏制区域,如可信子系统和微组件,以及利用 TISS 对微组件访问时间触发片上网络(NoC)的保护,成功防止了设计故障在系统内的传播。值故障检测依赖于微组件的可执行断言,结合时间触发 NoC 的时间故障遏制,确保了消息的可靠性。
- 物理故障方面 :针对不同关键级别的系统,分别制定了相应的故障遏制策略。非安全关键系统可通过重新分配功能或重启微组件来恢复,而安全关键系统则需要在集群级别进行物理故障屏蔽。TMR 技术在值故障屏蔽中发挥了重要作用,为系统的可靠性提供了有力保障。

7.2 实验验证成果

原型实现的实验评估为架构的有效性提供了有力证据。在故障注入的情况下,TTE 网络表现出了良好的稳定性,没有出现消息丢失、额外消息以及时间属性受影响的情况。这表明可信子系统提供的封装机制能够有效地实现空间和时间分区,确保系统在异常情况下的正常运行。

7.3 未来研究方向

尽管时间触发 SoC 架构已经取得了一定的成果,但仍有一些方面需要进一步研究和改进。
- 更全面的故障注入实验 :目前的实验主要集中在设计故障注入,未来需要进行更全面的物理故障注入实验,例如模拟放射性粒子引起的单事件翻转(SEU)等故障,以验证架构在各种实际故障场景下的可靠性。
- 优化冗余策略 :虽然 TMR 技术在值故障屏蔽中表现出色,但可能会带来一定的硬件成本和功耗增加。未来可以研究更加优化的冗余策略,在保证系统可靠性的前提下,降低成本和功耗。
- 与新兴技术的融合 :随着物联网、人工智能等新兴技术的发展,时间触发 SoC 架构可以与这些技术进行融合,以满足更复杂的应用需求。例如,结合人工智能算法进行故障预测和诊断,提高系统的智能化水平。

7.4 应用前景展望

时间触发 SoC 架构在多个领域具有广阔的应用前景。
- 汽车领域 :可用于实现更复杂的汽车电子系统,如自动驾驶、智能座舱等。通过集成不同关键级别的 DASes,提高汽车的安全性和舒适性。
- 航空航天领域 :满足航空航天系统对高可靠性和实时性的要求,为飞行控制、导航等关键系统提供支持。
- 工业自动化领域 :在工业自动化生产线中,实现设备之间的高效通信和协同工作,提高生产效率和质量。

综上所述,时间触发 SoC 架构为嵌入式控制系统的设计提供了一种可靠、高效的解决方案。通过不断的研究和改进,该架构有望在更多领域得到广泛应用,推动相关行业的发展。

相关流程总结

以下是时间触发 SoC 架构中几个关键流程的总结:

消息分类流程
graph LR
    A[消息交换] --> B[输出断言]
    B --> C{是否通过输出断言}
    C -- 是 --> D[消息已检查]
    C -- 否 --> E[消息未通过检查]
    D --> F[输入断言]
    F --> G{是否通过输入断言}
    G -- 是 --> H[消息被允许]
    G -- 否 --> I[消息不被允许]
    H --> J{是否正确}
    J -- 是 --> K[消息正确]
    J -- 否 --> L[消息隐匿]
微组件故障恢复流程
graph LR
    A[微组件故障] --> B{故障类型}
    B -- 设计故障 --> C[TISS 保护 NoC 访问]
    C --> D[微组件执行可执行断言检测值故障]
    D --> E{值故障是否检测到}
    E -- 是 --> F[丢弃错误消息]
    E -- 否 --> G[消息正常处理]
    B -- 物理故障 --> H{是否为非安全关键系统}
    H -- 是 --> I{故障持久性}
    I -- 永久性故障 --> J[重新分配功能]
    I -- 瞬态故障 --> K[重启微组件]
    H -- 否 --> L[集群级别故障屏蔽]

关键特性对比

为了更清晰地展示时间触发 SoC 架构的优势,以下是与传统联邦架构的关键特性对比:
| 特性 | 时间触发 SoC 架构 | 传统联邦架构 |
| — | — | — |
| 错误遏制 | 有效遏制设计和物理故障传播 | 难以消除错误在 DASes 间传播 |
| 系统复杂度 | 通过集成减少 ECUs 和网络数量,降低复杂度 | 大量 ECUs 和网络,系统复杂度高 |
| 可靠性 | 采用冗余技术和故障恢复策略,提高可靠性 | 依赖单个 ECU 可靠性,整体可靠性较低 |
| 成本 | 减少硬件和布线成本 | 高数量的 ECUs 和网络导致成本增加 |
| 可组合性 | 支持独立开发的 DASes 和微组件无缝集成 | 不同 DAS 独立硬件实现,可组合性差 |

通过以上对比可以看出,时间触发 SoC 架构在多个方面都具有明显的优势,能够更好地满足现代嵌入式控制系统的需求。

内容概要:本文围绕“基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究”展开,提出了一种结合Koopman算子理论与递归神经网络(RNN)的数据驱动建模方法,旨在对非线性纳米定位系统进行有效线性化建模,并实现高精度的模型预测控制(MPC)。该方法利用Koopman算子将非线性系统映射到高维线性空间,通过递归神经网络学习系统的动态演化规律,构建可解释性强、计算效率高的线性化模型,进而提升预测控制在复杂不确定性环境下的鲁棒性与跟踪精度。文中给出了完整的Matlab代码实现,涵盖数据预处理、网络训练、模型验证与MPC控制器设计等环节,具有较强的基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)可复现性和工程应用价值。; 适合人群:具备一定控制理论基础和Matlab编程能力的研究生、科研人员及自动化、精密仪器、机器人等方向的工程技术人员。; 使用场景及目标:①解决高精度纳米定位系统中非线性动态响应带来的控制难题;②实现复杂机电系统的数据驱动建模与预测控制一体化设计;③为非线性系统控制提供一种可替代传统机理建模的有效工具。; 阅读建议:建议结合提供的Matlab代码逐模块分析实现流程,重点关注Koopman观测矩阵构造、RNN网络结构设计与MPC控制器耦合机制,同时可通过替换实际系统数据进行迁移验证,深化对数据驱动控制方法的理解与应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值