该器件是用于高端配置的功率MOSFET
的高级控制器,设计用于实现 12 V
、24 V
和48 V
汽车应用。通过 3.3 V 和 5V CMOS 兼容的SPI 接口,实现 IC 与主控制器通信,从而提供保护和系统诊断。
想了解SPI通信的小伙伴请移步:SPI通信协议详解
也就是VNF1048F
的基本功能介绍。
线束和PCB的保护可以通过定义理想的熔断时间曲线来实现,因为导线或铜PCB走线本身随时间推移的最大功率耗散。此功能可以保证电线和PCB的绝缘受到低于以下的有限温度和时间预算的约束指定的可靠性值。不遵守这些规定的限制会导致形成导电路径通过碳化跨有机绝缘材料,因此局部热点可以导致火花和着火。
VNF1048F
嵌入了意法半导体专有的电子保险丝功能,可实现强大而灵活的过流保护机制。电子保险丝功能具有智能断路功能,旨在保护PCB走线、连接器和线束免受过热的影响,对负载瞬变没有影响,例如浪涌电流和电容充电。
该函数由两个参数INOM
和tNoM
设置——INOM的值对应于最大连续电流,而tNoM将确定负载电流高于INOM时电流与熔断时间的曲线——电流与熔断时间的表达式由优化的逐步函数近似表示,该函数可以在一端的导线12-t
极限和另一端的负载瞬态特性之间进行调整。tNoM的值对应于曲线的第一步。电流时间曲线总是活跃的,与非常快的过流保护相结合,当电流达到硬短路条件下定义的阈值时,该保护将被触发。当负载中的电流是脉冲宽调制时,eFuse函数计算电流的平均平方根。在正常工作或短路/过载情况下断开电源开关时,也计算电流的平均平方根。因此,如果电路由于过载而中断,一段时间后电路再次被激活,eFuse会在内存中保留先前的条件,并且仍然避免最大IRMs
高于INOM
。
整个芯片的自测属于工作模式的一种,该芯片总共有6
种工作模式,会在第五章进行详细介绍。这三种测试方法都很类似,可以对比着看。
自测的目的,是验证芯片的诊断行为是否正确 。每个测试的配置、控制和检查都通过SPI接口通信,与微控制器密切相关。
自检序列的初始化(选择自检、启动和停止命令)是通过控制寄存器1 (CR#1
)完成的。结果可通过状态寄存器5 (SR#5
),状态寄存器6(SR#6
)和状态寄存器7 (SR#7
)来查看。
该测试的主要目的是 从模拟属于到数字输出,验证整个电流检测链的正确行为。
SPI
写命令,设置CR#2 位 OVC_THR(6-90mv)、HSHT_THR(20-160mv)的值,设置过流保护和硬件短路保护的阈值。SPI
写命令,设置CR#1位 S_T_CFG =1,选择 Current sense
。SPI
写命令,将 CR#1 位S_T_START =1,开始电流检测自测试。当开始自测时,内部电流产生器会在内部比较器输入引脚两端提供一个额外的 100mv 的压降的电流接收器,测试时间约10us
,前5us
是 Rsense 两端电压的测量。 转换的结果值以及电流检测自测试的状态值存储在SR#7 中,可通过 SPI 读命 令读取 Rsense 两端的电压值,过流和硬件短路的状态标志。HWLO=1
,芯片将从自测状态切换到锁定状态。该测试的主要目的是从模拟输入到数字输出,验证VDS监测器链的正确的行为。
SPI
写命令,设置 CR#2 位 VDS_THR 设置外部 Mos 管去饱和阈值。SPI
写命令,设置 CR#1 位 S_T_CFG =2,选择 VDS detection
。HWLO=1
,芯片将从自测状态切换到锁定状态。该测试的主要目的是通过及时监控VDS的行为,验证外部电源开关是否正确关闭。
SPI
写命令,设置 CR#2 位 VDS_THR
设置外部 MOS管去饱和阈值。SPI
写命令,设置 CR#1 位 S_T_CFG =6,选择 VDS detection + Power switch stuck-on
。HWLO=1
,芯片将从自测状态切换到锁定状态。该器件能够在低至 VS = 6 V
的电压下工作,电荷泵仍处于活动状态。如果电池供电电压VS低于欠压关断阈值,器件进入电池欠压模式。当前检测诊断不可用。无论SPI
处于什么状态,电荷泵、输出级和旁路开关均关闭。
如果 VS 超过阈值 (VS_USD + VS_USD_hys),设备将返回到上一个模式。
当VS< VS_USD时,SPI寄存器中设置欠压标志,当VS>VS_USD+VS_USD_hys时自动复位。
内部监控设备温度。当TJ超过TTSD时,设备会发生过温停机。电荷泵、输出级和旁路开关关闭。故障通过SPI
进行指示。
当TJ低于TTSD - TTSD_HYS时,设备重启。
VTJ通过专用的ADC进行转换,转换的结果保存在状态寄存器中,可以通过SPI
进行读取(SR#bit22-13,也就是TJ
)。
外部MOSFET温度通过一个10 kΩ NTC热敏电阻监测,其中一个终端连接到MOSFET的漏极,以便实现最佳组件放置。
这是此类芯片的温度监控的常见方式。
RNTC是通过NTC和NTC_M引脚的VBG (1.2 V)分压器的一部分:
与上一个保护类似,VNTC通过专用的ADC进行转换,转换的结果保存在状态寄存器中,可以通过SPI
进行读取(SR#3bit11-2,也就是NTC
)。
当VNTC低于预设的过温阈值时,MOSFET会发生过温关断。这个阈值可通过SPI在100℃-150℃
之间,以5的步长进行设置(CR#3bit8-5,也就是NTC_THR
)。在这种情况下,输出级和旁路开关都关闭。
具体的配置值与电压值的对应关系如下所示:
总共可以配置的值为0-15,也就是16个值。
外部MOSFET的源漏电压可以通过控制IC进行监控。当VDS超过预设阈值时,会产生去饱和关断。
在这种情况下,输出级和旁路开关都关闭。阈值可以通过SPI在0.3 V-1.80 V
的范围内以50 mV
的步进设置(CR2#bit6-2)。通过SPI清除锁存故障VDS_MAX位,重新配置MOSFET和旁路开关。
配置值与具体的阈值电压对应关系如下:
VDS通过专用的ADC转换器进行转换。转换后的结果存储在状态寄存器中(SR#4bit22-13),可以通过SPI读取。
如果外部MOSFET处于关闭状态,该保护不会被激活。
外部MOSFET漏源电流由控制IC通过电流感测放大器监测,该放大器读取高压侧分流电阻上的压降。当电流检测电压超过预设阈值时,MOSFET会发生硬短路关断。在这种情况下,输出级和旁路开关都关闭。阈值可以通过SPI在20 mV-160 mV
的范围内设置(CR2#bit10-7)。
配置值与具体的阈值电压对应关系如下:
MOSFET和旁路开关通过SPI通过清除锁存故障HSHT
位(SR1#bit10)重新配置。
与上一个保护类似,VHSHT通过专用的ADC进行转换,转换的结果保存在状态寄存器中,可以通过SPI
进行读取(SR#2bit14-2,也就是CURR_SENSE
)。
如果外部MOSFET处于关闭状态,该保护不会被激活。
外部MOSFET漏源电流由控制IC通过电流感测放大器监测,该放大器读取高压侧分流电阻上的压降。过载检测电路模拟了传统保险丝的响应。当电流检测电压超过预设阈值的时间超过预设时间时,MOSFET会发生过流关断。在这种情况下,输出级和旁路开关都关闭。阈值可以通过SPI在6 mV-90 mV
的范围内设置,而标称跳闸时间可以在1s-511s
的范围内编程(CR2#bit23-16)。
跳闸时间的配置,字段的值=具体的时间值。
MOSFET和旁路开关通过SPI通过清除锁存故障FUSE_LATCH
位(SR1#bit7)重新配置。
如果外部MOSFET处于关闭状态,该保护不会被激活。
内部旁路开关VDS电压(VS - VOUT)由IC监控,保护开关不受负载电流汇聚变化的影响。
当旁路的VDS超过固定阈值(~1.3V)时,旁路发生去饱和关断;在这种情况下,旁路开关关闭,而外部FET通过HS_GATE
输出直接由硬件打开(无论其软件控制位状态如何),以保护旁路并为连接负载提供所需的电流能力。
这表示所谓的AUTO-ON
事件,它被标记为全局状态字节的第4位(AUTOON),对应于状态寄存器1的BYPASS_SAT标志。
旁路开关通过SPI通过清除锁存故障BYPASS_SAT
位(SR1#bit15)重新配置。
如果外部MOSFET处于关闭状态,该保护不会被激活。
一种特殊的情况是Stand-By
唤醒事件发生,由于旁路开关去饱和,FSM状态过渡到Wake-Up状态:只有在这种情况下,除了上述旁路开关和外部场效应管的动作外,设备将通过驱动DIAG引脚低电平发出信号,表示它已被硬件事件唤醒(负载电流增加),以便主机控制采取适当的动作。
值得注意的是:旁路开关不能对任何类型的负载充电,即使是那些要求小电流能力的负载:相反,当应用负载切换到低功耗模式(即待机)时,旁路开关应用于保持先前由外部场效应管充电的供电应用负载。
该SPI
通信基于“ST-SPI规范”,其实和常见的SPI
并没有太大的区别。
也是通过4根信号线,每帧传输32位(4字节)数据。
SPI主机必须配置为以下模式:
CPOL
= 0, CPHA
= 0
具体的接线方法和通信时序如下图所示:
在一主多从模式下的接线如下所示:
SPI通信的四根线基本都是一样的,仅仅是名称上的区别:
此芯片中:
SCK
:时钟线
SDI
:主机输入,从机输出
SDO
:主机输出,从机输入
CSN
:片选信号线
SDI格式在每个通信帧中以一个命令字节开始。它以两位操作代码(OC1, OC0)开始,指定操作类型(读,写,读和清除状态,读设备信息),然后是一个6位地址(A5: A0)。命令字节后面跟着三个输入数据字节:(D23:D16), (D15: D8)和(D7: D0)。
SDO格式在每个通信帧中以一个具体的字节(称之为全局状态字节)开始。后面跟着三个输出数据字节:(D23:D16), (D15: D8)和(D7: D0)。
SPI接口具有四种不同的寻址模式,如下表所示:
OC1 | OC0 | 含义 |
---|---|---|
0 | 0 | 写操作 |
0 | 1 | 读操作 |
1 | 0 | 读、并且清除状态操作 |
1 | 1 | 读设备信息 |
设备的写入模式允许将输入数据字节的内容写入地址寄存器。输入数据在串行时钟(SCK
)的上升沿上采样,首先是MSB
。
在同一序列期间,传出数据首先在CSN
引脚的下降沿上移出MSB
,随后在串行时钟(SCK
)的下降沿上移出位。第一个字节对应于全局状态字节,第二个、第三个和第四个字节对应于寻址寄存器的前一个内容。未使用的位总是被读为0
。
在读模式下,设备允许读和检查任何寄存器的状态。
在每个SCK的上升沿收到数据,MSB
在前。
传出数据首先在CSN引脚的下降沿上移出MSB
,其他数据在串行时钟的下降沿上移出。第一个字节对应于全局状态字节,第二个、第三个和第四个字节对应于寻址寄存器的内容。未使用的位将始终被读为0
。
为了避免全局状态字节和状态寄存器之间的不一致,状态寄存器的内容在SPI通信期间被冻结。
读取和清除状态操作用于清除地址状态寄存器的内容,地址为0x3Fh
的读取和清除状态操作同时清除所有状态寄存器。
输入数据在串行时钟(SCK)的上升沿上采样,首先是MSB
。命令字节允许决定读取哪个寄存器内容,数据字节中设置为1的有效负载位决定寄存器中必须清除的位。
传出数据首先在CSN引脚的下降沿上移出MSB,其他数据在串行时钟(SCK)的下降沿上移出。第一个字节对应于全局状态字节,第二个、第三个和第四个字节对应于寻址寄存器的内容。未使用的位将始终被读为0
。
为了避免全局状态字节和状态寄存器之间的不一致,状态寄存器的内容在SPI通信期间被冻结。
在此期间,设备的具体信息可以读到,但是不能修改。
输入数据在串行时钟(SCK)的上升沿上采样,首先是MSB
。命令字节允许决定读取哪个寄存器内容,其他的三个字节并不关系。
传出数据首先在CSN引脚的下降沿上移出MSB,其他数据在串行时钟(SCK)的下降沿上移出。第一个字节对应于全局状态字节,第二个字节对应于地址寄存器的内容、第三个和第四个字节读到的是0
。
0xFF——SWReset:设定所有控制寄存器为默认值并且清除所有的状态寄存器
也就是在地址111111(二进制)执行操作码11(二进制)。
但是二三四字节中至少要有一个位为0。
具体的发送序列如下:
字节一:0xFF
字节二:随意
字节三:随意
字节四:随意
0xBF——清除所有的状态寄存器
也就是在地址111111(二进制)执行操作码10(二进制)。
具体的发送序列如下:
字节一:0xBF
字节二:随意
字节三:随意
字节四:随意
全局状态字节,很显然就是体现整个芯片运行状态的字节,该字节可以通过SPI进行读取,构成如下:
各个位的具体含义如下:
配置各种参数,比方说各种动作阈值等。
保存当前设备的各种状态,以及专用ADC转换的结果等。
为了服务超时看门狗,相关的WD_TRIG位(看门狗触发位,控制寄存器1
的第1
位)必须在给定的超时窗口内被切换。这种看门狗与传统的单片机看门狗很类似。
具体的时间可以通过SPI配置控制寄存器3
的相关位来实现,控制寄存器3的各个位定义如下:
从上图可以看出,总共可以有4种时间可供选择。 只需进行相应配置即可。
相当于设备的复位状态,可由设备的开机或者电源开启复位状态触发。在该模式下,寄存器处于默认值,RSTB
被设置为1
。外部FET,旁路开关和电源泵处于关闭状态。
在休眠模式下,设备进入低功耗模式并且在以下条件下运行:
休眠模式具有这样的特性:
当VS – VOUT
> VDS_BYPASS_SAT
时,设备从休眠模式进入唤醒模式。
在唤醒模式下,设备保险丝功能已启动,设备在以下条件下运行:
在解锁模式下,设备保险丝功能已启动,并且允许SPI
通信,设备在以下条件下运行:
在锁定模式下,设备保险丝功能已启动,设备在以下条件下运行:
说来话长,详见第二章。