VNF1048F芯片深入介绍

0. 简介

该器件是用于高端配置的功率MOSFET的高级控制器,设计用于实现 12 V24 V48 V 汽车应用。通过 3.3 V 和 5V CMOS 兼容的SPI 接口,实现 IC 与主控制器通信,从而提供保护系统诊断

想了解SPI通信的小伙伴请移步:SPI通信协议详解


1. eFuse功能

也就是VNF1048F的基本功能介绍。

线束和PCB的保护可以通过定义理想的熔断时间曲线来实现,因为导线或铜PCB走线本身随时间推移的最大功率耗散。此功能可以保证电线和PCB的绝缘受到低于以下的有限温度和时间预算的约束指定的可靠性值。不遵守这些规定的限制会导致形成导电路径通过碳化跨有机绝缘材料,因此局部热点可以导致火花和着火。

VNF1048F嵌入了意法半导体专有的电子保险丝功能,可实现强大而灵活的过流保护机制。电子保险丝功能具有智能断路功能,旨在保护PCB走线、连接器和线束免受过热的影响,对负载瞬变没有影响,例如浪涌电流电容充电

该函数由两个参数INOMtNoM设置——INOM的值对应于最大连续电流,而tNoM将确定负载电流高于INOM时电流与熔断时间的曲线——电流与熔断时间的表达式由优化的逐步函数近似表示,该函数可以在一端的导线12-t极限和另一端的负载瞬态特性之间进行调整。tNoM的值对应于曲线的第一步。电流时间曲线总是活跃的,与非常快的过流保护相结合,当电流达到硬短路条件下定义的阈值时,该保护将被触发。当负载中的电流是脉冲宽调制时,eFuse函数计算电流的平均平方根。在正常工作或短路/过载情况下断开电源开关时,也计算电流的平均平方根。因此,如果电路由于过载而中断,一段时间后电路再次被激活,eFuse会在内存中保留先前的条件,并且仍然避免最大IRMs高于INOM

2. 自测

整个芯片的自测属于工作模式的一种,该芯片总共有6种工作模式,会在第五章进行详细介绍。这三种测试方法都很类似,可以对比着看。

自测的目的,是验证芯片的诊断行为是否正确 。每个测试的配置、控制和检查都通过SPI接口通信,与微控制器密切相关。

自检序列的初始化(选择自检启动停止命令)是通过控制寄存器1 (CR#1)完成的。结果可通过状态寄存器5 (SR#5),状态寄存器6(SR#6)和状态寄存器7 (SR#7)来查看。

2.1 电流感知自测

该测试的主要目的是 从模拟属于到数字输出,验证整个电流检测链的正确行为

  1. 解锁状态开始,使用 SPI 写命令,设置CR#2 位 OVC_THR(6-90mv)、HSHT_THR(20-160mv)的值,设置过流保护和硬件短路保护的阈值。
  2. 解锁状态开始,使用 SPI写命令,设置CR#1位 S_T_CFG =1,选择 Current sense
  3. 使用 SPI 写命令,将 CR#1 位S_T_START =1,开始电流检测自测试。当开始自测时,内部电流产生器会在内部比较器输入引脚两端提供一个额外的 100mv 的压降的电流接收器,测试时间约10us,前5us是 Rsense 两端电压的测量。 转换的结果值以及电流检测自测试的状态值存储在SR#7 中,可通过 SPI 读命 令读取 Rsense 两端的电压值,过流和硬件短路的状态标志。
  4. 约10us时间,电流检测自测试完成,会自动从Self Test状态切换为Ulocked状态。也可以通过 SPI 写命令,将 CR#1 位S_T_STOP =1。
  5. 如果看门狗超时或者HWLO=1,芯片将从自测状态切换到锁定状态。

2.2 外部场效应管VDS检测自测(有待商榷)

该测试的主要目的是从模拟输入到数字输出,验证VDS监测器链的正确的行为

  1. 解锁状态开始,使用SPI写命令,设置 CR#2 位 VDS_THR 设置外部 Mos 管去饱和阈值。
  2. 解锁状态 开始,使用SPI写命令,设置 CR#1 位 S_T_CFG =2,选择 VDS detection
  3. 使用 SPI 写命令,将 CR#1 位 S_T_START =1,开始 VDS 检测自测试。当开始自 测时,内部电流产生器会在 VDS 监测器输入引脚两端提供一个额外的 100mv 的压 降的电流接收器,测试时间约 10us.前 5us 是外部 Mos 管 DS两端电压的转换测 量,后 5us 是用于恢复正常的模拟电路配置。
  4. 转换的结果值以及电流检测自测试的状态值存储在 SR#5 中,可通过 SPI 读命 令读取 DS 两端的电压值,是否超过 DS 去饱和阈值的状态标志。
  5. 约 10us 时间,电流检测自测试完成,会自动从 Self Test 状态 转换为 Ulocked 状态。也可以通过 SPI 写命令,将 CR#1 位 S_T_STOP =1。
  6. 如果看门狗超时或者HWLO=1,芯片将从自测状态切换到锁定状态。

2.3 外部场效应管卡接检测

该测试的主要目的是通过及时监控VDS的行为,验证外部电源开关是否正确关闭

  1. 解锁状态开始,使用写SPI写命令,设置 CR#2 位 VDS_THR 设置外部 MOS管去饱和阈值。
  2. 解锁状态开始,使用SPI写命令,设置 CR#1 位 S_T_CFG =6,选择 VDS detection + Power switch stuck-on
  3. 使用 SPI 写命令,将 CR#1 位 S_T_START =1,开始 External FET Stuck-on Self
    Test。当开始自测时,外部 FET 会自动关闭, DS 两端电压进行 AD 转换。
  4. 转换的结果值以及电流检测自测试的状态值存储在 SR#6 中,可通过 SPI 读命
    令读取 DS 两端的电压值,是否超过 DS 去饱和阈值的状态标志。
  5. 可以通过 SPI 写命令,将 CR#1 位 S_T_STOP =1 ,从 Self Test 状态转换为
    Ulocked 状态。也可以通过改变 VDS_THR 的值,使其 VDS>VDS_THR,自测结束。
  6. 如果看门狗超时或者HWLO=1,芯片将从自测状态切换到锁定状态。

3. 保护

3.1 电池欠压关断

该器件能够在低至 VS = 6 V 的电压下工作,电荷泵仍处于活动状态。如果电池供电电压VS低于欠压关断阈值,器件进入电池欠压模式。当前检测诊断不可用。无论SPI 处于什么状态,电荷泵、输出级和旁路开关均关闭。

如果 VS 超过阈值 (VS_USD + VS_USD_hys),设备将返回到上一个模式
当VS< VS_USD时,SPI寄存器中设置欠压标志,当VS>VS_USD+VS_USD_hys时自动复位

相关电压值如下表所示:
在这里插入图片描述

3.2 设备过温关断

内部监控设备温度。当TJ超过TTSD时,设备会发生过温停机。电荷泵、输出级和旁路开关关闭。故障通过SPI进行指示。

当TJ低于TTSD - TTSD_HYS时,设备重启
VTJ通过专用的ADC进行转换,转换的结果保存在状态寄存器中,可以通过SPI进行读取(SR#bit22-13,也就是TJ)。

在这里插入图片描述

3.3 外部MOSFET过温关断

外部MOSFET温度通过一个10 kΩ NTC热敏电阻监测,其中一个终端连接到MOSFET的漏极,以便实现最佳组件放置。

这是此类芯片的温度监控的常见方式。

RNTC是通过NTC和NTC_M引脚的VBG (1.2 V)分压器的一部分:

在这里插入图片描述
其中VNTC是通过专用ADC转换之后的值。

与上一个保护类似,VNTC通过专用的ADC进行转换,转换的结果保存在状态寄存器中,可以通过SPI进行读取(SR#3bit11-2,也就是NTC)。

当VNTC低于预设的过温阈值时,MOSFET会发生过温关断。这个阈值可通过SPI在100℃-150℃之间,以5的步长进行设置(CR#3bit8-5,也就是NTC_THR)。在这种情况下,输出级和旁路开关都关闭

具体的配置值与电压值的对应关系如下所示:
在这里插入图片描述
在这里插入图片描述
总共可以配置的值为0-15,也就是16个值。

3.4 外部MOSFET去饱和关断

外部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处于关闭状态,该保护不会被激活。

3.5 硬件短路闭锁

外部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处于关闭状态,该保护不会被激活。

3.6 电流与时间闭锁

外部MOSFET漏源电流由控制IC通过电流感测放大器监测,该放大器读取高压侧分流电阻上的压降。过载检测电路模拟了传统保险丝的响应。当电流检测电压超过预设阈值的时间超过预设时间时,MOSFET会发生过流关断。在这种情况下,输出级和旁路开关都关闭。阈值可以通过SPI在6 mV-90 mV的范围内设置,而标称跳闸时间可以在1s-511s的范围内编程(CR2#bit23-16)。

跳闸时间的配置,字段的值=具体的时间值

配置值与具体的阈值电压对应关系如下:
在这里插入图片描述
在这里插入图片描述

MOSFET和旁路开关通过SPI通过清除锁存故障FUSE_LATCH位(SR1#bit7)重新配置。

如果外部MOSFET处于关闭状态,该保护不会被激活。

3.7 低电流旁路去饱和关断

内部旁路开关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引脚低电平发出信号,表示它已被硬件事件唤醒(负载电流增加),以便主机控制采取适当的动作。

值得注意的是:旁路开关不能对任何类型的负载充电,即使是那些要求小电流能力的负载:相反,当应用负载切换到低功耗模式(即待机)时,旁路开关应用于保持先前由外部场效应管充电的供电应用负载。

4. SPI功能描述

4.1 SPI通信

SPI通信基于“ST-SPI规范”,其实和常见的SPI并没有太大的区别。
也是通过4根信号线,每帧传输32位(4字节)数据。
SPI主机必须配置为以下模式:
CPOL = 0, CPHA = 0
具体的接线方法和通信时序如下图所示:
在这里插入图片描述
一主多从模式下的接线如下所示:
在这里插入图片描述

4.2 信号描述

SPI通信的四根线基本都是一样的,仅仅是名称上的区别:
此芯片中:
SCK:时钟线
SDI:主机输入,从机输出
SDO:主机输出,从机输入
CSN:片选信号线

4.3 SPI接口

SDI格式在每个通信帧中以一个命令字节开始。它以两位操作代码(OC1, OC0)开始,指定操作类型(读,写,读和清除状态,读设备信息),然后是一个6位地址(A5: A0)。命令字节后面跟着三个输入数据字节:(D23:D16), (D15: D8)和(D7: D0)。
在这里插入图片描述
SDO格式在每个通信帧中以一个具体的字节(称之为全局状态字节)开始。后面跟着三个输出数据字节:(D23:D16), (D15: D8)和(D7: D0)。
在这里插入图片描述

4.4 操作码定义

SPI接口具有四种不同的寻址模式,如下表所示:

OC1OC0含义
00写操作
01读操作
10读、并且清除状态操作
11读设备信息

4.5 写模式

设备的写入模式允许将输入数据字节的内容写入地址寄存器。输入数据在串行时钟(SCK)的上升沿上采样,首先是MSB

在同一序列期间,传出数据首先在CSN引脚的下降沿上移出MSB,随后在串行时钟(SCK)的下降沿上移出位。第一个字节对应于全局状态字节,第二个、第三个和第四个字节对应于寻址寄存器的前一个内容。未使用的位总是被读为0
在这里插入图片描述

4.6 读模式

在读模式下,设备允许读和检查任何寄存器的状态。
在每个SCK的上升沿收到数据,MSB在前。

传出数据首先在CSN引脚的下降沿上移出MSB,其他数据在串行时钟的下降沿上移出。第一个字节对应于全局状态字节,第二个、第三个和第四个字节对应于寻址寄存器的内容。未使用的位将始终被读为0

为了避免全局状态字节状态寄存器之间的不一致,状态寄存器的内容在SPI通信期间被冻结。
在这里插入图片描述

4.7 读取和清除状态命令

读取和清除状态操作用于清除地址状态寄存器的内容,地址为0x3Fh的读取和清除状态操作同时清除所有状态寄存器。

输入数据在串行时钟(SCK)的上升沿上采样,首先是MSB。命令字节允许决定读取哪个寄存器内容,数据字节中设置为1的有效负载位决定寄存器中必须清除的位。

传出数据首先在CSN引脚的下降沿上移出MSB,其他数据在串行时钟(SCK)的下降沿上移出。第一个字节对应于全局状态字节,第二个、第三个和第四个字节对应于寻址寄存器的内容。未使用的位将始终被读为0

为了避免全局状态字节状态寄存器之间的不一致,状态寄存器的内容在SPI通信期间被冻结。
在这里插入图片描述

4.8 SPI设备信息

在此期间,设备的具体信息可以读到,但是不能修改。

输入数据在串行时钟(SCK)的上升沿上采样,首先是MSB。命令字节允许决定读取哪个寄存器内容,其他的三个字节并不关系。

传出数据首先在CSN引脚的下降沿上移出MSB,其他数据在串行时钟(SCK)的下降沿上移出。第一个字节对应于全局状态字节,第二个字节对应于地址寄存器的内容、第三个和第四个字节读到的是0
在这里插入图片描述

4.9 专用命令

0xFF——SWReset:设定所有控制寄存器为默认值并且清除所有的状态寄存器

也就是在地址111111(二进制)执行操作码11(二进制)。
但是二三四字节中至少要有一个位为0。

具体的发送序列如下:

字节一:0xFF
字节二:随意
字节三:随意
字节四:随意

0xBF——清除所有的状态寄存器

也就是在地址111111(二进制)执行操作码10(二进制)。

具体的发送序列如下:

字节一:0xBF
字节二:随意
字节三:随意
字节四:随意

4.10 全局状态字节

全局状态字节,很显然就是体现整个芯片运行状态的字节,该字节可以通过SPI进行读取,构成如下:
在这里插入图片描述
各个位的具体含义如下:
在这里插入图片描述
在这里插入图片描述

4.11 地址映射

在这里插入图片描述
在这里插入图片描述

4.12 ROM内存映射

在这里插入图片描述
在这里插入图片描述

4.13 控制寄存器

配置各种参数,比方说各种动作阈值等。

4.14 状态寄存器

保存当前设备的各种状态,以及专用ADC转换的结果等。

4.15 超时看门狗

为了服务超时看门狗,相关的WD_TRIG位(看门狗触发位,控制寄存器1的第1位)必须在给定的超时窗口内被切换。这种看门狗与传统的单片机看门狗很类似。
在这里插入图片描述
具体的时间可以通过SPI配置控制寄存器3的相关位来实现,控制寄存器3的各个位定义如下:
在这里插入图片描述
从上图可以看出,总共可以有4种时间可供选择。 只需进行相应配置即可。

5. 操作模式

该芯片总共有6种操作模式(工作模式),具体可参考下图:
在这里插入图片描述

5.1 上电模式

相当于设备的复位状态,可由设备的开机或者电源开启复位状态触发。在该模式下,寄存器处于默认值,RSTB被设置为1外部FET旁路开关电源泵处于关闭状态。

5.2 待机模式

在休眠模式下,设备进入低功耗模式并且在以下条件下运行:

  • 大电流通路经过外部FETs进行关断
  • 外部的FETs保护不使能
  • 所有的诊断不使能,但是旁路开关处于监视状态,如果在待机模式下打开旁路开关,主要是为了检测潜在的去饱和
  • 低电流旁路可以根据BYPASSCTL位进行开关
  • 设备处于自我保护状态
  • 电源泵关闭

休眠模式具有这样的特性:

  • VSPI和VS低功耗
  • SPI没有激活
  • 寄存器被冻结(供电存在但是时钟停止)允许保持之前的配置,以防从未锁定状态进行转换,或者模式的复位配置,乙方从开机状态进行转换。

5.3 唤醒模式

VS – VOUT > VDS_BYPASS_SAT时,设备从休眠模式进入唤醒模式。
在唤醒模式下,设备保险丝功能已启动,设备在以下条件下运行:

  • 大电流通路通过外部FETs处于开启状态
  • 外部FETs保护被使能
  • 小电流旁路关闭
  • 所有诊断被使能
  • 控制寄存器被锁定在写模式
  • 设备在自我保护状态
  • SPI处于激活状态
  • 电源泵打开

5.4 解锁模式

在解锁模式下,设备保险丝功能已启动,并且允许SPI通信,设备在以下条件下运行:

  • 大电流通路通过外部FETs处于开启或关闭状态,该状态通过SPI进行设定
  • 外部FETs保护被使能
  • 所有诊断被使能
  • 小电流旁路处于开启或关闭状态,该状态通过SPI进行设定
  • 设备在自我保护状态
  • SPI处于激活状态
  • 电源泵打开

5.5 锁定模式

在锁定模式下,设备保险丝功能已启动,设备在以下条件下运行:

  • 外部FETs的状态通过’OUTCTL’ 和IS_OUT_MODE’ 控制位进行定义
  • 外部FETs保护被使能
  • 所有诊断被使能
  • 小电流旁路处于开启或关闭状态,该状态通过’BYPASSCTL’ 和’DIS_OUT_MODE’控制位进行定义
  • 设备在自我保护状态
  • SPI处于激活状态,所有寄存器可读,控制寄存器是锁定的写操作
  • 电源泵打开

5.6 自测模式

说来话长,详见第二章

6. 应用举例

下面是实际应用中的一个实际的电路图。仅供参考。
在这里插入图片描述

  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: DPDK(Data Plane Development Kit)是一种高性能数据面开发工具包。深入浅出DPDK是一份详细介绍DPDK的PDF文档,适合初学者了解DPDK的基本概念和使用方法。 该文档从DPDK的介绍开始,介绍了DPDK的发展历史、使用场景和目标。接着详细介绍了DPDK的架构,包括主要组件和数据流向。其中详细介绍了包管理的基本原理和流程、缓存池的管理方式、内存对齐和地址映射等内容。 文档还介绍了如何使用DPDK,包括DPDK的编译和安装、如何使用DPDK进行虚拟网络功能(VNF)处理,以及如何使用DPDK进行数据包嗅探和过滤等。 此外,该文档还介绍了DPDK的性能优化技巧,包括如何优化包接收和处理、如何使用多核心优化性能和如何配置DPDK与硬件交互。 总体而言,深入浅出DPDK是一份非常有价值的文档,它不仅为初学者提供了详细的DPDK介绍和使用指南,还涵盖了DPDK的高级主题和性能优化技巧,为使用DPDK进行高性能数据面开发的人员提供了重要的参考资料。 ### 回答2: DPDK(Data Plane Development Kit)是一个高性能数据平面开发工具包,它使用用户态技术实现了零拷贝的数据处理和高速的数据包转发。作为一款开源工具,DPDK已经被广泛应用于虚拟化、云计算及网络功能虚拟化等领域。 《深入浅出dpdk》是一份由DPDK社区编写的指南,它的目的是帮助开发人员更好地了解DPDK,并使用DPDK构建高性能网络应用程序。该指南提供了详细的DPDK架构、API接口、应用案例和性能调优等方面的介绍,同时也介绍了其他相关技术,例如硬件加速、 NUMA架构、 数据库加速、分布式系统等。 《深入浅出dpdk》PDF版本可以从DPDK社区网站上自由下载,它包含了大量易懂的图表和代码实例,让开发人员更容易理解DPDK的概念和原理。对于想要在高性能数据平面开发方面取得突破的开发人员来说,这份指南是不可或缺的学习资料。 需要注意的是,《深入浅出dpdk》不仅是一份教材,更是一份指导开发人员如何使用DPDK进行数据平面开发的实际指南。开发人员在阅读本指南的同时,也需要具备一定的网络编程基础和C语言编程能力。同时,开发过程中还需要注意DPDK版本的兼容性和网络设备的支持情况。 ### 回答3: DPDK(Data Plane Development Kit)是一种高性能数据面开发工具包,它可以帮助开发人员快速地实现高性能网络应用程序。本篇文章解析的Deep Dive into DPDK的PDF文件是一份帮助初学者深入了解DPDK的指南,其中详细地介绍了DPDK的各种重要概念、特性和使用方法。 首先,这份PDF文件详细介绍了DPDK的架构和工作原理。DPDK采用轮询机制减少了对内核的依赖,从而显著提高了网络数据处理的性能。此外,本文还介绍了DPDK中各种组件的作用和功能,例如EAL(Environment Abstraction Layer)、Mempool、Ring等。这些组件都是DPDK中重要的工具,它们可以帮助开发人员更好地构建高性能应用程序。 其次,本文还介绍了如何使用DPDK来构建网络应用程序。首先,开发人员需要安装DPDK,并正确配置相应环境变量。其次,本文还介绍了如何使用DPDK的API来实现数据包的发送和接收。这些API提供了高效的数据传输方式和内存管理方式,开发人员可以根据自己的需求进行自定义。 此外,本文还介绍了DPDK的一些高级功能,例如NUMA支持、内存优化等。这些功能可以帮助开发人员更好地控制和管理系统资源,从而确保系统的高性能和稳定性。 总之,本文是一份非常实用的DPDK指南,其中介绍了DPDK的各种重要概念、特性和使用方法。初学者可以通过阅读这份文件,快速掌握DPDK的核心知识,为构建高性能应用程序打下牢固的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值