功能 #3417
打开Task #3240: FORD文档输出
50%
描述
参考软件DR-003701-708290 Proper NVM Operation
微控制器修改NVM的规范要求:
1.微控制器仅允许在电压处于正常范围内时修改NVM。具体电压范围要求参见设计规则文档 DR-003701-708356《VRM电压范围监控操作》。
2. 硬件/软件设计必须确保单个NVM存储单元的写入操作能够成功完成,即使ECU在NVM修改开始时突然断电。
3.硬件/软件设计必须保证数据一致性,即使在NVM修改过程中因断电而中断。
4.禁止在NVM修改期间进入睡眠(Sleep)或低功耗(Low-Power)模式。
5.禁止在NVM修改期间执行软件控制的复位(Software-Controlled Reset)。
NVM(非易失性存储器)修改的正常电压范围:
一般准则通常情况下,不应在电压异常时修改NVM。虽然此规则可能导致信息丢失(仅丢失最新更新),但能避免NVM随机损坏。要实际造成数据丢失,电压需持续偏低直至ECU断电或复位(例如:老旧弱电池在低温环境下启动、发电机故障等)。此外,电压异常还可能影响NVM冗余机制。
允许修改NVM的电压范围10V ~ 15V,Ford采用统一的电压监控流程——电压范围监视器(VRM,Voltage Range Monitor)(参见设计规则文档 DR-003701-708356《VRM电压范围监控操作》)。该机制通过抽象化监控多级电压范围实现简化管理。有一个电压范围用于记录DTC,其被定义为10-15伏并且应用于NVM(因为DTC被存储在NVM中)。
某些情况下,即使电池电压低于10V,仍可能安全写入NVM,但需通过微分控制系统(derivative-control system)动态评估电池电压平均变化率(该方式易受噪声干扰)。目前,因收益有限且实现过于复杂,暂不采用此方案。异步擦写,若写入速度极快,且数据证明即使在电压超出正常范围后启动写入,仍能确保NVM修改完成,则可能作为例外获批。
数据一致性和NVM:
它可能是一个简单的结构,需要擦除后立即写入(擦除写入)。或者,它可以设计为两步异步过程,在需要写入之前(例如,当使用多个缓冲区时)就进行擦除。为了确保使用多个NVM单元或异步擦除时的数据一致性,您必须确保您的策略始终可以确定NVM更新是否完成。
使用单个擦除/写入单元,数据一致性不是问题。然而,当涉及多个单元或异步擦除时,必须有办法确定NVM单元何时完全更新。
一旦检测到一致性违规(NVM在重置前没有完全更新),仍然存在如何处理部分修改的NVM单元的问题。擦除并重新启动是一种选择,但这会使NVM单元老化,在进行多次重置时需要非常小心地磨损单元。制定一个策略,并在设计审查时向福特提出。
NVM和低功耗模式:
当修改NVM时,微处理器必须继续正常处理足够长的时间,以确保写入或擦除操作在进入低功耗模式之前正确完成(特别是在使用片上EEPROM时)。由于这个问题,福特经常遇到NVM损坏。这也适用于片外EEPROM,其中微控制EEPROM的电源。在满足睡眠标准后,算法必须等待NVM修改完成,然后才能切换到低功耗模式。作为上述逻辑的推论,在修改NVM单元时,不允许软件强制重置。