高级自动驾驶中央域控制器的设计过程需要充分掌握安全设计原则,因为在早期的设计中,无论是架构,软件、硬件或通信都需要充分掌握其设计规律,才能充分发挥相应的优势,避免出现某些设计问题。我们这里所说的高层域控制器功能安全设计,主要是指前端研发中预期的功能安全涉及的场景分析和后端功能安全涉及的所有子项。首先,以硬件基础层为连接基点,通过数据通信终端实现整个系统架构的通信和数据流传输。所以对于域控制器的安全设计方面。从车辆安全能力分析的角度来看,主要的分析过程还包括以下三个方面:系统理论过程分析(STPA)、失效模式与影响分析(FMEA)、故障树分析(FTA)。对于处于体系结构核心的域控制器,涉及到非常强大的功能安全级别。我们大致可以将其分为三个层次:数据通信安全、基于硬件的安全和基于软件的安全。但相应的分析过程需要充分考虑硬件基础层的功能安全、软件基础层的功能安全、数据通信能力等几个方面,每个方面的分析都需要全面。数据通信安全通信端作为连接和数据进出端,在整个系统架构的通信中起着举足轻重的作用。对于数据通信层面,其功能安全要求主要是指通用数据完整性机制、在线计数机制(RollingCounter)、系统诊断数据刷新、时间戳信息(TimeStamp)、时间溢出(CheckSum)、管理授权码、数据冗余、网关等主要方面。其中,对于数据通信,如在线计数、诊断、时间溢出检查等与传统点对点的Canbus信号一致,对于下一代自动驾驶、数据冗余、中央网关管理优化、数据授权接入等都是需要重点关注的方面。他们对功能安全的总体要求如下:硬件基础层的功能安全要求主要是指单片机模块、存储模块、电源支持、串行数据通信等几大模块。微控制器模块安全这里的微控制器就是我们常说的AI芯片(SOC)、浮点计算芯片(GPU)和逻辑计算芯片(MCU)运行在汽车域控制器上的主要计算单元。从功能安全设计的角度来看,各种单片机模块包括通用设计模块、锁步内核验证(包括锁步内核比较、锁步内核自检)、时钟验证(包括时钟比较、时钟自检)、程序流程监控、心跳监视、硬件看门狗功能、中断保护、内存/闪存/寄存器监视/自检、电源监视和自检、通信保护等。需要注意的是,微控制器应提供“主动心跳”周期性切换通过硬线向监控单元发送信号。切换信号应由安全看门狗管理,该看门狗还提供程序流监控。安全看门狗只允许在看门狗服务期间切换“活动心跳”。每次为内部安全看门狗提供服务时,微控制器安全软件应切换“活动心跳”,这向监控单元指示微控制器正在运行并且安全看门狗定时器正在运行。系统后台应通过检查信号切换和高低状态时间是否在有效范围内来监控“主动心跳”切换信号。一旦检测到“实时心跳”故障,SMU将激活安全回退。至于看门狗程序,应该在系统初始化时进行测试,以避免潜在的故障。在此过程中应测试以下故障类型:-不正确的看门狗触发时间(在关闭窗口中触发);-无看门狗触发器;在计算过程中,主要用于临时和常用的文件存储以及计算过程中的数据交换。比如我们的操作系统启动程序是存储在一个SOC/MCU的插件存储单元中,我们下一代的自动驾驶产品必须使用高精度的行车/停车地图,这些地图通常存储在外部的存储单元中芯片,底层软件中的一些诊断和日志文件也存储在我们的外部芯片中。.那么对于整个存储单元来说,需要满足哪些条件才能保证适当的功能安全条件呢?详情请参考下图。整个存储单元的安全主要包括寄存器监控、通用存储单元、RAM/内存ECC、ECC自检、flash冗余、寄存器写保护、范围保护、寄存器自检等。PowerSupplyIntegrityTheintegritysafetymethod主要通过整个电源的运行状态来测试电源的性能。通过故障注入和实时监控。测试方法的一个示例是配置更高或更低的监控阈值以强制监控器检测欠压或过压故障并验证是否正确检测到故障。当注入故障时,电源监控器应激活辅助关断路径。微控制器应监控辅助关断路径,只有当辅助关断路径的行为与预期的测试程序一致时,才认为测试“通过”,否则视为“失败”。一旦检测到故障,微控制器将激活安全降级。此测试可由专用BIST功能支持,并且必须根据详细程序由微控制器软件进行配置。基础软件安全基础软件安全级别的设计考虑主要是综合考虑车载智能驾驶软件开发过程中可能出现的软件故障。这些包括软件文档设计、软件语言和风格、安全关键变量、故障检测和纠错、软件架构、安全关键代码、程序流监控和变更管理。各级软件设计描述都应该使用自然语言来定义模型或代码的目的。例如,当多个变量之间的独立性对系统安全至关重要时,不应使用变量的公共地址将这些变量组合成数据元素。这可能导致涉及结构中所有元素的共模系统故障。如果对变量进行了分组,则应对安全关键功能进行适当证明。本文从功能安全的角度出发,从不同方面详细分析了整个自动驾驶域控制器设计的综合要素和过程。其中,包括硬件基础、软件方法、数据通信等方面。这些功能安全设计能力在关注整个架构层面的同时,充分关注各个内部组件之间的联系,从而确保设计过程的合规性和完整性,避免在设计后期出现不可预知的后果。因此,作为详细的安全设计规则,可为开发工程师提供必要的参考。
