关于VCU功能安全架构设计...
Posted 汽车功能安全
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于VCU功能安全架构设计...相关的知识,希望对你有一定的参考价值。
功能安全是一个完全正向开发的过程。基于系统的最高安全需求-安全目标,功能安全的开发是一个从上至下,从顶部系统架构设计,逐层细化,最后到分解到软硬件具体设计的逐渐递进过程。这就可以看出所有设计都源于起点的系统级的架构设计,一个好的系统架构设计才能保证整个产品设计走在正确的方向上。对于什么是好的系统设计,标准给出了一些参考原则,比如模块化、适度的颗粒度、简洁度等。对于具体设计工作,这些抽象的原则很难给我们直接的参考意义。
我们希望以业界比较常用的系统架构来形象具体的讨论一下功能安全的架构设计。
VCU的功能可以抽象成一个标准定义的完整功能的模型。标准定义的一个完整功能至少包括传感器,控制器和执行器。在ECU层级展开,还包括了围绕微控制器的输入、输出处理硬件部分、通信硬件和微控制器及其上运行的软件。
我们可以将VCU的功能套用上面定义的ECU功能模型。VCU采集的钥匙信号、档位信号、充电信号、制动信号、加速踏板开度、制动踏板开度信号等,都属于sensor范围。另外还包括VCU通过CAN总线与发动机、变速器、车身控制器、BMS和MCU等通信,监测的车辆状态信息。控制器部分负责对输入和采集信息的处理、计算和对相关执行器驱动的输出。这里VCU的主要功能是根据其采集的信息,计算需求的扭矩和检测实际扭矩。还包括实际电流需求的计算、制动回馈管理等功能。有些车型上需要VCU控制主继电器和预充继电器,VCU更多对执行部分的控制是通过根据车辆状态CAN总线,向制动系统、BMS、MCU、OBC/DCDC等系统发送控制指令来实现的。
考虑功能安全架构设计时,可以从三个组成部分分别考虑。对于Senor相关部分,可以采取冗余传感器以及传感器信号真实性、合理性的检查。对于信号的检查,一般要通过控制器上的软件实现。对于执行器,需要关注的是执行器实际状态与预期是否一致,关键的是在不一致或出现故障时,控制器可以检测到,并能将系统导入到安全状态。功能安全架构最重要的工作在控制器部分。在前面的文章中介绍过eGAS的三层架构设计,对于VCU的功能安全架构设计同样可参考这个架构。
第一层-功能层:VCU的控制功能。这里包括对各输入信号的处理、扭矩参数和电流需求的计算等。这一层主要是VCU本身的主要功能。
第二层-诊断监控处理层:这一层主要是对第一层功能的监控。这里包括对第一层计算出扭矩的监控、对扭矩请求和实际扭矩的对比、对电流需求的监控等。另外,这一层还包括了对输入输出的诊断。对各输入参数的诊断,如加速踏板传感器、制动传感器和通过CAN网络传送的安全相关信号。对输出主要是执行器相关状态的读取、监控。对所有诊断发现的故障也需要在这一层进行处理,这里可能涉及到了故障分类、处理优先级仲裁等。
第三层-硬件诊断层:这一层处理的重心是硬件相关的潜在故障,主要是微处理器中的一些安全机制和外部独立监控单元的组合。微控制器硬件相关检测包括了内存、ADC、定时器、CPU和通信模块等。内存和CPU相关的检测机制是对所有产品通用的,而其他的检测可视产品具体应用而定。对于没有使用的模块,可以不进行其相应的安全机制的检测。常用的检测机制包括程序校验、数据校验、内存保护、寄存器保护等。对于多核系统,很重要的一个机制是CPU优先级机制。
这一层功能还需要一个独立的外部监控单元,在以前的设计中,常用的方式是用一个廉价的低性能微处理器来实现。一般将实现功能的微控制器成为主控单元,监控用的处理器成为从控单元。常规应用是一窗口看门狗的方式,即主控制器需要在一个固定时间窗口对从控单元进行“喂狗”动作,否则从控单元认为其发生故障而进行相应处理。对于高ASIL等级的产品,还会增加功能看门狗的功能。主从单元通过SPI总线,以问答方式进行,对于从控单元的问题,主控单元需要正确回答,否则从控单元认为其发生故障而进行相应处理。用微处理器来实现这个监测功能,从成本上还是不够合理。另外,主控单元的很多其他安全机制也需要外部独立监测单元实现。各芯片公司在这种需求上开发出了SBC芯片,来配合自己的微控制器来实现功能安全。这一层功能还一个重要要求是提供第二个安全关闭的路径,这个功能也被集成到了SBC上。
微控制器的开发都是以SEooC的方式进行,这决定了其本身是很难独立实现一个完整的功能安全目标。对于安全目标的实现,需要微控制器配合以其开发所进行的软硬件环境的假设,只有这些功能结合起来才能完整实现。一般微控制器将其对外部电压的监控,看门狗和安全状态这些功能集成到其自己的SBC中。在用微控制器进行设计时,配合其对应的SBC可以比较容易的实现功能安全设计。
这里简单说一下,这几个功能集成在独立看门狗的必要性。
一般微控制器本身也有外部电压监控功能。当外部电压进入欠压范围时,微处理器一般可进入POR状态。此时微控制器很多状态不一定是功能执行需要的,在SBC具有外部电压监控功能时,可以进行整个系统电源的处理。对于过压,很容易理解的是,SBC可以通过切断输出,保护微控制器。
当微控制器因为内部或者外部影响,进入非预期模式,如standby模式等,对于微控制器内部故障,其没有了检测和处理功能。这时,需要外部看门狗进行处理(比如重启)。
微控制器本身发生失效时,系统不能依赖微控制器的输出来保证系统安全,此时系统应该导入安全状态。这个功能可以由独立的监控单元实现,根据功能不同,系统可以进行微控制器重启、系统重启和关闭系统维持系统安全状态。
以上是关于关于VCU功能安全架构设计...的主要内容,如果未能解决你的问题,请参考以下文章
高级架构程序设计,功能设计,数据库设计,第三方支付,web安全视频教程
汽车电子架构设计
论系统安全架构设计以及应用
Java高级架构,java8新特性,P2P金融项目,程序设计,功能设计,第三方支付,web安全视频教程
架构设计概念
java8新特性,P2P金融项目,程序设计,功能设计,架构师视频教程