CC587x-Q1集成了丰富的诊断保护机制,使其非常适用于新能源汽车电驱动应用,帮助系统达成ASIL-D的功能安全等级。另一方面,由于其内置丰富且灵活的寄存器,在上电初始化时,需要注意寄存器的配置,否则容易引起某些故障的误报。本文将讲述上电误报SC_FAULT以及ADC_FAULT的使用场景,机理以及规避方法。
SC_FAULT
配置场景
UCC587x-Q1 具有多达6个ADC输入引脚,其中, AI2, AI4, AI6
可以作为功率开关管短路故障的检测引脚(默认)。而短路触发对应的电压阈值较低(默认1V,可配置最高1.25V)。因此,如果把AI2,AI4以及AI6中的其中一路用于采样最高电压范围较宽的物理量(比如UCC587x-Q1本身的VCC2或者高压母线电压经过分压以后的值),且没有注意软件配置的时序,则非常容易误触发SC_FAULT,进而引发非预期的输出。
误报机理
然而,汽车电驱动的使用场景通常要求采样多路电压范围较宽的物理量,比如前面提到的UCC587x-Q1本身的VCC2或者高压母线电压。另一方面,为提高采样的分辨率,不能把分压比例调得太小。因此,在无法避免用AI2,4,6中其中一路采样范围较宽的物理量时,需要了解SC_FAULT触发的条件,以避免SC_FAULT 误触发的情况。
SC_FAULT触发的需要同时满足如下条件:
Aix(2, 4, or 6) pin上的电压需要高于CFG6[SCTH] 配置的值,且持续CFG6[SC_BLK] 以上
Input(IN+ or ASC) 为高电平
驱动输出为高电平
CFG4[SCP_DIS] = 0x0
DOUTCFG[AIxOCSC_EN] = 0x1
规避方法
前述的5个触发条件需要同时满足才能触发SC_FAULT故障,而前三个条件和硬件配置直接相关。往往考虑实际问题后,无法改动。因此,我们可以通过调整软件配置,来规避SC_FAULT在上电初始化阶段的误触发,但需要注意软件配置的时序。
如前所述,第一个条件很容易满足,当软件按照默认值配置(满足条件4和5)并进入active模式开始输出后(满足条件2和3),这5个条件都能满足而报出SC_FAULT故障。这种情况下,我们可以通过在初始化阶段配置相应通道的DOUTCFG[AIxOCSC_EN]= 0x0来轻松规避。
但是以上场景无法保证万无一失。为了节省IO口资源以及简化副边电源配置,往往VREF使用内部供电模式,而ASCpin会直接上拉到芯片副边自带的VREF,ASC_EN则经过一个MOSFET上拉到VREF,而MOSFET的导通则通过safety
MCU来控制。如果在上电初始化过程中,由于特定故障触发ASC,则有可能误报SC_FAULT故障。因此,这里需要关注VREF的使能(CFG8[VREF_SEL])与DOUTCFG[AIxOCSC_EN]的配置时序,务必在VREF使能前(CFG[VREF_SEL]=0x0),禁用SCP(DOUTCFG[AIxOCSC_EN]=0x0),避免在上电配置过程中出现同时满足以上5个条件的情况,进而避免了SCP_FAULT的误报。
ADC_FAULT
配置场景
UCC587x-Q1 的VREF是内部ADC的参考供电,VREF可通过CFG8[VREF_SEL] 来调整供电来源是内部或者外部。而VREF 的默认配置是外部模式。当VREF电压超过阈值,发生欠压或者过压故障时,STATUS5[ADC_FAULT]会报错,但默认屏蔽该故障,即故障不会通过nFLT1报出,也不会影响驱动输出。出于成本考虑,客户设计可能会选择节省外部电源,而选择VREF 由内部提供,此时需要注意上电初始化期间ADC_FAULT的处理。
误报机理
ADC 使能后,ADC_FAULT即可报错,而ADC_EN 以及 VREF 的外部供电都是默认的,当VREFpin外部没有供电,或者供电电压超过阈值时,器件在上电后,可能会报ADC_FAULT 故障。
规避方法
如果需要把VREF配置成内部模式,则建议在上电进入Configuration 2模式后,先把CFG8配置成内部模式,然后读取所有故障状态位,如果ADC_FAULT是唯一故障,可以通过写CLR_STAT_REG=1来清ADC_FAULT故障位。如果需要在正常工作时监控ADC_FAULT,则最后置位ADC_FAULT_P。即务必注意把ADC故障的屏蔽使能位ADC_FAULT_P的置位放在VREF 配置成内部模式之后。
总结
UCC587x-Q1 具有丰富的诊断功能,在提供更全的诊断覆盖度的同时,如果不注意上电后软件的配置时序,在特定的应用场景下,可能会误报ADC_FAULT以及SC_FAULT。我们可以通过本文提到的配置方法,规避这类误报问题。
这里还没有内容,您有什么问题吗?