1---概述
想看看框图然后再说说大概功能
基本功能
---此芯片具有很强的低压驱动能力,尤其指crank(汽车点火瞬间整车电压会拉低到6V左右)期间
----SPIclock最高8Mhz(一般不用最高,最高频率的抗干扰能力较差)
----很低的静态功耗
----支持直接IO映射控制或者SPI命令控制可选
----支持功能安全(就是处于limphome模式时,可以回复到一个设定的默认状态,这个主要是系统设计的时候考虑,例如我们的设计是平时用SPI控制,如果MCU的SPI失控了,就用默认电平输出到DI0或者DI1来实现控制)
----集成了PWM模块实现频率和脉宽可调
----专用的LED驱动模块,主要用于驱动车灯
----10bit的ADC电流sensor
----24bit的SPI指令(这个真的很恶心,要么16bit/8bit/32bit,弄个奇奇怪怪的24bit)
诊断和保护功能
----过流检测
----同步诊断,短路到地或者电源,开路
----过温警告
----两个等级的电流限制
----硬件自动限制芯片瞬间升温
2---外部电路设计
3---VN9D5D20FN操作模式
Resetmode,theFailSafemodeandtheSleepmode1都归类为limphome模式,在limphome模式下,DI0默认控制OUT0/1,DI1默认控制OUT2/3,可以外部的输出管脚控制输出端,但也可以通过SPI指令配置任一通道DI0/DI1/OFF这三个状态。(举例:比如车大灯平时用SPI控制,电压过低后功能异常,进入limehome模式,把点火信号接到DI0或者DI1就可以实现最坏情况也不至于大灯开启不了)这几种模式的状态机图,如下一个状态机有很清楚的描述。
----低压模式时个特殊的模式,没有在这个状态机中展示,需要简单介绍下,负载电源VCC
进入低压模式的三种情况:
a.NormalmodeandfromFail-safemode进入低压模式,芯片内部保存一个低压标志,VCC恢复以后,模式恢复到之前的模式,低压flag可以通过spi读取。如果在低压模式期间VDD
b.StandbyandSleep-mode-2modes进入低压模式,芯片内部不会保存一个低压标志,VCC恢复以后,模式恢复到之前的模式。如果在低压模式期间VDD
c.ResetmodeorSleep-mode1进入低压模式,芯片内部不会保存一个低压标志,因为这时候寄存器都是冻结的,如果电压恢复,模式恢复上一次的模式。如果在低压模式期间,VDD>VDD_POR_ON设备完全reset,待VCC恢复后重新启动。
4---保护功能
过温保护,IC传感器温度超过TCD=130±10℃时,Tcase这个过温预警标志位设置为1,温度跌落后小于TCD-10℃的时候自动清零,过问后输出会自动关断,输出状态寄存器会设置为OFF,globalerrbit置为1,在过温关断的时候的处理如下图:
5---SPI简述
a----SPI通讯,这个时标准的SPI,基本一副图就可以解释的很清楚了
b----SPI协议
我喜欢用图表示,这样形象一点,这款芯片就是24Bit的数据,比较恶心,下面放三幅图:
其中Parity使用的Even校验,即前面23bit有偶数个1,则D0应该为1,否则为0,接收的数据同理,但是实际测试的是同一系列的芯片“VN9D5D30FN”结果为Odd(奇校验),这一点比较奇怪,待拿到芯片“VN9D5D20FN”再做验证
针对以上写寄存器/读寄存器/读清/读设备信息
两个特殊的指令
全部控制寄存器reset指令:
全部状态寄存器清除指令:
寄存器列表(由于寄存器内容太多,就不展开了,如果需要从网上下载datasheet)
6---软件设计思路(基本功能,主要输出IO/和PWM两种信号)
stepa----初始化所有的配置寄存器
stepb---进行输出控制,我画了个图,软件逻辑根据下面的逻辑图依据项目需求开发即可:
对Phase功能我用一个图解释一下
7---诊断部分
过载诊断(短路到地)
---低功率输出过载诊断(PWMduty<3%)
---高功率输出过载诊断(PWMduty>=3%)
短路到电源
直接读取OUTSRx寄存器中的STKFLTRx就可以读取短路到电源状态。但是无法区分开路和短路到电源,所以芯片内部又加了一个上拉电流源,通过寄存器OUTCTRCRx中的OLOFFCR可以开关电流源保证检测正确性,IC内部电路如下图:
开路诊断
---ON状态时的诊断
关于AD采样,有一个优先级管理,datasheet里面啰嗦了一大堆,是由硬件自动管理的,我们可以忽略。我们只需要关心SPCR1,0这两个bit,用来配置采样模式的,00是下降沿前的一段时间采样,01上升沿后的一段时间采样,10/11都是在高电平输出的时候连续采样。
---OFF状态的诊断
一些状态寄存器
8---过载和过温,可编程诊断计数器
芯片内部每个通道具有一个4bit的减法计时器timer,出现功率超限或者过温的时候16ms自动减1,直到减为0为止,减到0后,关闭输出负载,设置全局故障flag。如果设置时间为timer=15,当故障发生了32ms后,又恢复正常了,则timer=13,但是故障标志会reset,如果想把timer重新设置为15,需要MCU发送SPI指令重新配置。处理流程图如下:
这颗芯片有个OTPprograming功能,就是当进入failsafe模式的时候,可以对每个输出端口的failsafe输出状态的默认值进行编程(仅编程1次),一般用于工厂下线的时候进行编程
0
全部评论 (0)