车规MCU功能安全介绍-时钟篇

cathy的头像
cathy 发布于:周二, 10/10/2023 - 10:07 ,关键词:

01、车规MCU为什么需要考虑时钟的功能安全

ISO 26262 要求汽车整车厂及其零件供应商必须遵循并记录功能安全开发流程(从开始制定规格直到量产发布),以使汽车获得运行资格。根据定义,功能安全要大幅降低发生故障的风险,这些故障可分为两类:系统故障和随机故障,前者只能通过变更制造过程、操作流程、文档的设计或其它相关因素消除。后者是在硬件的生命周期内发生的不可预知的故障,按照概率分布,这些故障可能是由于永久性或短暂的干扰环境,也可能是在系统的生命周期中,由内部技术的性能导致。

MCU作为汽车的重要控制元件之一,归类为ISO 26262中的特殊类型元素(SEooC, Safety Elements out of Context),其功能安全在定义直至量产阶段需严格遵循ISO 26262,SEooC要求使用假设(AoU)来反映将使用的预期安全概念,要求和机制。MCU内部时钟架构复杂,时钟信号的频率对芯片的工作的正确性和性能至关重要,如果频率超出指定的限制,则可能导致性能、协议和定时故障。如下是FC7300系列中部分时钟架构:

1.png

FC7300系列支持的时钟源包括内部晶振(SIRC/SIRC32K/FIRC)、外部晶振(SOSC/FOSC)和锁相环(PLL0/1, 其参考时钟可以是FIRC和FOSC),由SCG统一管理,其中FIRC/FOSC/PLL0可以作为系统时钟,所有的时钟源可以作为功能时钟。当MCU系统时钟频率出现问题,可能会导致对内部外设资源的访问不成功或者因为不满足FLASH时序导致指令读取失败等;如果系统时钟丢失时则会导致整个芯片停止工作影响与其他系统的交互。而当功能时钟频率出现问题或者丢失时,依赖于功能时钟的外设,如串口,CAN,PWM等功能受到影响,从而导致与其他系统的通信或者电机的控制出现错误等。

因此,车规MCU为了保证使用过程中的功能安全等级,需要在芯片设计过程中考虑一种或多种有效的安全机制保证:在芯片的时钟信号因受到辐射或其他真实使用场景中其他因素导致的时钟频率误差或者丢失时,在不影响使用的前提下可以产生事件让系统复位或让用户感知介入操作,从而保证安全。

02、我们如何实现时钟的功能安全

FC全系列支持CMU,CMU模块用于保证芯片上时钟信号频率的稳定性,其可以检测被监控时钟(Monitor Clock)的频率是否在用户指定的可编程频率范围内。CMU用一个时钟(Reference Clock)作为频率检查操作的基准参考,假定这个参考时钟的频率在规定的范围内,则CMU可以正确运行,反之如果参考时钟在运行参数之外,CMU则不能保证的行为。因此在FC系列中,FOSC/RTC/FIRC的频率监测使用SIRC,同时使用FIRC来保证SIRC的频率安全。

2.png

如图,CMU实现的基本原理是在编程的采样时间内计算被监控时钟的翻转次数,两个内部计数器(Reference Counter和Monitor Counter)在监测使能之后在不同的时钟域内并行计数,采样完成后和用户定义的阈值进行比较,当采样值不在用户期许的频率范围内时,即可配置产生中断。CMU支持频率阈值的自定义,内部实现两个寄存器以便用户编程指定被监测时钟频率的上下限值(MIN/MAX),同时CMU支持监测时间的可编程(REF_WINDOW),当在用户设定的监测时间范围内(称为一次测量),被检测时钟的频率不在用户定义的范围时,产生MIS事件;在两次测量内,时钟都没有进行过任何翻转则产生LOC事件。并且CMU可选的支持周期监测,7300系列中每1ms监测PERIOD[WINDOW]次后CMU停止工作,可用于降低系统的功耗。

FC7300支持5个CMU:CMU0-4,分别监测RTC_CLK(可选时钟,包括SIRC32K,SIRCDIV_32K,SOSC等),FOSC,FIRC,SIRC和系统时钟,监测系统时钟的参考时钟可选为SIRC和FOSC。所有CMU支持中断报警,CMU1/2/4还支持报告给全局故障监控模块FCSMU,可选的配置为中断报警或者系统复位,并且由于SIRC和系统时钟的特殊性,CMU3/4可选的支持复位整个系统。

为了保证CMU的功能有效性,在每次系统上电之后,可以对CMU进行自检,在计算完期待的频率阈值之后,给定一个阈值范围外的配置使能CMU,检测系统的响应,在收集到期许 的故障反应之后,失能CMU然后重新给予正确的配置进入系统主程序,否则报错进入到故障状态。并且在系统运行过程中可以使用同样的方式定时自检,以确保在整个运行过程中该安全机制始终有效。

除了CMU之外,FC系列的SCG内部还支持对FOSC/SOSC/PLL以及系统时钟进行监测,在对应的时钟丢失之后,即在设定的时间内时钟没有翻转时,可以产生中断或者直接对MCU进行复位。

总之在系统工作的过程中,尤其是在使用timer定时调度的系统中,时钟在预定的频率范围内直接影响到正常的功能流转,在MCU设计过程中,实现多种有效的安全机制保证时钟出现非预期的故障时能被发现在功能安全生命周期中至关重要。

来源:旗芯微Flagchip

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 70