目录

1. 引言

2. 芯片概述

3. 功能描述

3.1 VM

3.2 VDD

3.3 EN

3.4 半桥输出

3.5 SPI接口

3.5.1 帧长度校验

3.5.2 错误帧

3.5.3 帧结构

3.5.4 并联和菊花链

3.6 错误诊断及保护

3.6.1 过电流 Overcurrent

3.6.2 开启状态下的开负载

3.6.3 断开状态

3.6.4 过温 Overtemperature

3.6.5 错误汇总

4. 初始化配置

4.1 SPI ON/OFF 模式

4.2 PWM 模式


1. 引言

本篇主要侧重代码编写和功能实现,对于一些电气特性并未深入提及,可自行查看手册。

在调试过程中,由于硬件电路不方便测量和VM引脚接24V等诸多因素的影响,对于这款芯片给我的整体体验并不太好,尤其是芯片手册没有目录!(这让博主查找时来回划滚轮),不过作为草案手册情有可原。吐槽是为了更好地进步,希望我们的国产芯片在不停地迭代中越来越好。

2. 芯片概述

NSD8308是一种多通道半桥驱动器,适用于汽车应用,包括暖通空调风门直流电机、侧视镜调节/折叠电机、通用继电器或其他LED。

芯片包括8个内部可配置的PWM发生器,使用SPI控制所有输出,可将多个设备同时挂载到一路SPI总线上,通过片选分别进行通信;NSD8308提供了诊断信息,包括正常操作、POR(Power On Reset 上电复位)、VM欠压/过压、过电流、过温保护和开路负载状态。

当EN输入为低或VDD低于POR阈值时,该设备具有低静态电流的睡眠模式。

引脚定义如下:

3. 功能描述

3.1 VM

VM为电源电压,给芯片提供了输出的最大电压,范围从4.5v到36v,典型情况下为13.5v电源。

  • 当VM电源引脚电压下降到低于欠压阈值(Vuv)超过10us时,半桥输出OUTx关断。当VM上升到欠压阈值以上时,设备自动恢复运行。
  • 当VM电源引脚电压上升超过过电压阈值(Vov)超过10us时,半桥输出OUTx关断。当VM在下降到低于Vov时,设备自动恢复运行。

GEN_CTRL_0寄存器的OVP_H位可以设置两个不同的VM输入过电压阈值,如下图:

3.2 VDD

VDD引脚可接受从3v到最大5.5v的宽电源范围,可与3.3v和5v系统电源兼容。

  • 当VDD降至 (POR high threshold,2.3V~2.8V) 以下时,内部块、SPI接口和数字块将处于非活动状态,因此包括电荷泵和所有半桥驱动器都将关闭。
  • 一旦VDD升高至 (POR high threshold , 2.5V~3V) 以上,内部数字将被重置,状态寄存器NPOR位被设置为0,并可通过SPI读出(如果RD_CLR_EN=1)或CLR_FLT=1命令清除为1。

3.3 EN

EN芯片使能引脚信号适用于所有输出通道。当它被驱动为低电平时,内部逻辑/寄存器被重置,电荷泵/所有输出被禁用,设备进入睡眠模式

在VDD>V VDD_POR_H时,EN从低电平转换到高电平后,设备在完成内部POR和NPOR=0时进入睡眠模式。一旦设备从睡眠状态转移到正常操作状态,应等待一个TWAKE(150us)时间使电荷泵达到调节电压。

3.4 半桥输出

半桥驱动器可用于驱动直流电机或LED等通用电感/电阻负载,功率级输出(OUT1~OUT8)可以并联,以支持更高的负载电流。在NSD8308中,共有两种控制操作模式:

  • SPI ON/OFF模式:不可调占空比的全电压输出模式(取决于VM电压,可理解为I/O)
  • PWM模式:支持脉冲宽度调制的模式

注:对于并行使用输出口,建议在同一寄存器中选择半桥通道,即HB1、HB2、HB3、HB4 的HS/LS控制位都在HB_CTRL_1寄存器中,而HB5、HB6、HB7、HB8在HB_CTRL_2中;特别是对于pwm控制,为了确保HS(高边)或LS(低边)同时激活,必须将PWM激活置于PWM模式控制寄存器设置的最后一步

3.5 SPI接口

关于NSD8308的SPI接口如下表:

参数 描述
单帧长度 16 位,2个字节,MSB高位优先
帧保护 帧长度校验
支持最快频率 5MHz
CPOL 0
CPHA 1
主/从配置 从机

通过上表可以了解到,芯片可最高支持5MHz的SPI通信,通信模式为模式1,即CPOL = 0(时钟在空闲时为0),CPHA = 1(在时钟信号SCK的第二个跳变沿采样)。

3.5.1 帧长度校验

对于接收到的每个命令,SPI设备将检查SCK引脚处的时钟边沿数量。如果边缘的总数不是16的倍数,则丢弃帧内容,并且在下一次迭代时返回SPI_ERR位。

3.5.2 错误帧

发生错误时,SPI_ERR诊断位将在下一次通信时迭代返回:

  • 帧长度错误
  • 无效地址

3.5.3 帧结构

每个MOSI输入帧都应遵循以下结构

  • 2个操作命令为C1/C0,'0/0'时为写命令,'0/1'时为读命令
  • 6位的地址位
  • 8位的数据位


寄存器帧MISO响应所选择的地址并寄存器内容位值,它具有以下结构:

  • 2位的保留位,默认为‘1’
  • 6位的标志位,OT(过温)、OL(空/开负载)、OC(过电流)、UV(欠压)、OV(过压)、NPOR(上电复位情况反应)
  • 8位的数据位

注:对于SPI写命令,数据位返回写入值;对于SPI读命令,数据位返回寄存器当前值

3.5.4 并联和菊花链

主机和从机间的SPI通信可支持并联或菊花链操作:

  • 并联:从机可将除CS(片选)外的引脚,即SCK、MOSI、MISO,挂载到同一路SPI总线上;在使用时,通过CS的拉低来选择目标设备即可
  • 菊花链:多个设备通过共享的一个CS和SCK连接,而每个设备MOSI和MISO都是数据链连接方式

3.6 错误诊断及保护

3.6.1 过电流 Overcurrent

集成过电流保护功能提供半桥高侧防止对地短路或半桥低侧防止对蓄电池短路,当电流通过半桥高侧(VM->高侧->OUTx)或流入半桥低侧(OUTx->低侧->GND)时,一旦超过过电流阈值,过电流抑制滤波器启动,内部电路将电流限制在限制电流。

当过电流状态持续到过电流时间截止(toc)时,特定的半桥(包括高侧和低侧)将被禁用。OC状态位应报告触发OC的相应HS或LS,如果OC_MASK_FLT设置为“0”,则nFAULT引脚也断言为低。

官方的手册中做了举例说明:

  • 例如,如果只有HB1_LS对电源短路并被检测到,则OC_STA_1寄存器HB1_LS_OC位被断言,而HB1_HS_OC位不受影响,对于输出级,HB1 HS和LS都被禁用。
  • 为了恢复正常驱动,除了过电流条件消失外,还需要通过SPI读取(RD_CLR_EN=1)或写入CLR_FLT位“1”来清除OC状态位,以触发清除故障命令。
  • 无论如何,如果过电流条件短于toc deglitch滤波器,则未确认OC事件,HB驱动器保持正常状态。

可以看一下下图,可以帮助大家理解:

 要注意:

  • 即使半桥输出由于过电流保护机制而被禁用,HBx_HS_EN或HBx_LS_EN位仍保持先前状态,除非用户通过SPI更改值。
  • 当器件在高达36v的高电压下工作时,建议短toc(OPL_OC_CTRL3寄存器中的OC_Filter位)。

3.6.2 开启状态下的开负载

在每个激活的OUTx输出中,都对负载电流进行监测来判断是否开负载;如果负载电流低于开路负载检测阈值(Iol)至少2ms,则会在对应输出的状态寄存器内设置开负载位。

  • 对于运行电流较小的电子元器件(如LED灯),提供了Iol_low的HBx_OPL_TH选择位和对应的滤波器时间tol_low。
  • 此外,OPL_OC_CTRL_2寄存器中的OPL_HB_ACT位和OPL_mask_FLT位这两个位可以配置用于开路负载故障反应。
  • OPL_HB_ACT位确定半桥输出状态是否受到ON状态开路负载故障的影响:默认值“0”将禁用故障半桥HS和LS,而将位值设置为“1”只能选择打开负载作为信息标志,半桥控制/操作不受影响。
  • OPL_mask_FLT位确定nFail输出引脚状态是否受到ON状态开路负载故障的影响。默认值“0”在检测到打开负载时取消掩蔽并生成nFault,而更改为“1”将掩蔽打开负载故障,并且不报告nFault输出。
  • 用户可以通过SPI读取(RD_CLR_EN=1)或写入CLR_FLT位“1”来清除OL状态位,以触发清除故障命令,从而确定开路负载是否仍然存在或消失。

3.6.3 断开状态

每个半桥OUTx集成了内部上拉电流/下拉电流和比较器,用于断开状态诊断。

  • 上拉电流或下拉电流由寄存器OPL_CTRL_5和OPL_CTRL_6的位设置值单独控制为启用/禁用。
  • OUTx引脚电压与VSTA_HB进行比较,以实时确定其关断状态逻辑状态(HIGH或LOW),并在HB_STA1寄存器中报告。
  • 注意:半桥/H桥应用程序连接与HS或LS的使用不同。建议遵循以下断开状态诊断步骤,即通过微控制器进行上拉/下拉电流启用/禁用和OUTx状态判断。

3.6.4 过温 Overtemperature

为了防止功率级过热,在每个半桥功率级附近放置专用的热传感器,如果温度升高到OTwarn(过温警告温度)以上,则在SPI STA_0寄存器中设置温度警告标志,半桥输出操作不受影响。一旦感测到的温度超过第二OTSD(热停止温度)阈值,则设置相应的OTSD标志,并且自动禁用功率MOSFET沟道。

  • nFAULT引脚可在OTW_MASK_FLT位设置时配置用于OTwarn事件报告。无论如何,OTSD将始终断言nFAULT为低。
  • OTwarn和OTSD标志位被锁存。温度降至TSD-THYS以下时,应通过SPI命令清除热关闭OTSD位。

3.6.5 错误汇总

4. 初始化配置

4.1 SPI ON/OFF 模式

这个模式类似I/O输出,输出的电压为VM的电压值,配置起来较为简单,以下为初始化配置:

  1. 关闭所有通道开负载检测:仅在空载测试时,寄存器OPL_CTRL_1配置为0xFF
  2. 拉高VM电压阈值:由于博主硬件电路接入24V到VM,这里对寄存器GEN_CTRL0的OVP_H位进行配置
  3. 失能pwm模式允许位:寄存器HB_PWM_CTRL1和FW_PWM_CTRL_2中的HBx_PWM_EN位配置为“0”
  4. 设置OUTx为高边或低边驱动:寄存器HB_CTRL1、HB_CTRL2、CTRL3中的HBx_HS_EN或HBx_LS_EN位配置为“1/0”或“0/1”,这里注意,不要将HS和LS同时配置为“1”(桥臂的同时开通将会导致短路),OUTx将会呈现高阻态

同样,以一个表格的形式举例该模式下的配置及输出可能性:

4.2 PWM 模式

对于PWM模式设计的寄存器,下面进行依次说明,初始化配置循序在最下面

  • 续流模式控制
  1. 当选择特定的半桥通道使用PWM时,也可以通过HBx_FW控制位为半桥通道选择主动或被动续流选项。
  2. 续流仅在PWM模式下生效,对于SPI ON/OFF模式将忽略

  • PWM频率/占空比/映射控制
  1. PWM_FREQ_CTRL1/PWM_FREQ_CTRL2寄存器中的PWMx_FREQ位:总共8个PWM发生器,每个PWM频率的2位配置为(80Hz\/100Hz\/200Hz\/2000Hz)
  2. PWM_DC_CTRL1~PWM_DC_CTRL8寄存器中的PWMx_DUTY_CYCLE位:PWMx的占空比定义为:100%*寄存器值/255
  3. PWM_MAP_CTRL1~PWM_MAP_CTRL6寄存器中的HBx_PWM_MAP位:每个半桥3位,可从PWM1~PWM8进行独立选择
  • 用于PWM的半桥驱动器设置
  1. HB_PWM_CTRL1、FW_PWM_CTRL2寄存器中的HBx_PWM_EN位 :HBx_PWM_EN位更改为“1”将通过映射PWM启用选定的半桥操作控制
  2. HB_CTRL1~HB_CTRL3寄存器中的HBx_HS_EN/HBx_LS_EN ,控制高边和低边的开断

这里博主给出自己的基础配置,不是最优解,仅供参考:

  1. 关闭所有通道开负载检测:仅在空载测试时,寄存器OPL_CTRL_1配置为0xFF
  2. 拉高VM电压阈值:由于博主硬件电路接入24V到VM,这里对寄存器GEN_CTRL0的OVP_H位进行配置
  3. 禁止PWM开启:将所选PWM通道的PWMx_DIS位配置为“1”
  4. 设置主动/被动续流:在FW_CTRL寄存器中配置主动或被动续流
  5. 分配PWM通道:在PWM_MAP_CTRL寄存器中选定的半桥输出通道,这里博主采取一一对应的配置方法(即OUT1->PWM1以此类推),便于差错
  6. 配置PWM频率:在PWM_FREQ_CTRL寄存器中,选择80Hz/100Hz/200Hz/2KHz
  7. 配置PWM占空比:在PWM_DC_CTRL寄存器中配置占空比 ,博主这里上电初始化为0
  8. 使能PWM通道:通过设置HB_PWM_CTRL寄存器中的HBx_PWM_EN位
  9. 高边/低边驱动:通过HB_CTRL寄存器中HBx_HS_EN和HBx_LS_EN来选择
  10. 使能PWM:通过将PWMx_DIS位置“0”激活并启动PWM

多通道半桥驱动器 NSD8308相关推荐

  1. DRV8833PWPR|全桥/半桥驱动器|原包原盒|TI德州仪器

    ​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) DRV8833PWPR 具有电流调节功能的 10.8V.2A.双路 H 桥电机驱动器 数据表 质量信息 评分Catalog RoHS是 R ...

  2. MOSFET驱动器汇总 : 单个N-CHANNEL,半桥,全桥,3项桥

    ▌01 单N-沟道驱动 不同MOS驱动芯片工作电压与驱动电流: 型号 工作电压 输出峰值电流 TC4426 18V 1.5A TC4431 30V 1.5A TC4421 18V 9A TC4451 ...

  3. FD2606S是高压高速半桥栅极驱动器IC

    概述FD2606S 是高压.高速半桥栅极驱动器,能够驱动 N 型功率 MOSFET 和 IGBT.FD2606S 内置 VCC 和 VB 欠压(UVLO)保护功能,防止功率管在过低的电压下工作.FD2 ...

  4. 使用通用SOP8转接板调试半桥驱动芯片

    ▌01 转接板SOP→CON8 利用通用转接板对于SOP8的芯片进行调试. ▲ SOP8 → CON8 转接板 在下面的调试工作中,发现对于MOS半桥驱动芯片调试出现问题.制作通用转接板进行单独的调试 ...

  5. 测试半桥电路 TPS28225,NCP3420驱动MOS半桥

    ▌01 TPS28225驱动半桥MOS电路 ⊙ 相关链接: 测试TI高速MOS驱动芯片 TPS28225 伴随着MOS半桥 MOSFET驱动器汇总 : 单个N-CHANNEL,半桥,全桥,3项桥 1. ...

  6. Instability Analysis and Oscillation Suppression of Enhancement-Mode GaN Devices--GaN半桥电路中不稳定分析

    几种GaN半桥电路中存在的问题 (1)PWM信号失真 图1 PWM信号失真 由于较高的dv/dt会通过信号电路和功率电路的寄生电容,使PWM信号发生失真,PWM信号失真,会使GaN错误的开通和关断. ...

  7. 半桥dcdc变换器matlab,450W多路DC/DC变换器设计方案

    1 概述 450W多路DC/ DC 变换器是一种直流变换开关电源,其输入电压为直流27V ,电源输出分别为直流±20V 10A 和5V 10A 三种不同的类型,其中电源的输入与输出隔离,且输出电源的± ...

  8. 基于TPS28225功率MOS半桥电路测试

    ▌01 半桥功率板 设计功率MOS半桥驱动板是为了实现 100W无线充电方案 用于 第十六届全国大学生智能车竞赛 中的信标组无线充电功率输出. 在 测试半桥电路 TPS28225,NCP3420驱动M ...

  9. 基于HIP6601的MOS的半桥电路测试

    ▌01 半桥MOS实验 1.背景 为了设计 全国大学生智能车竞赛 中的的信号节能组的信号源,使用 MOS半桥 驱动 无线节能信标组的线圈. 关于比赛规则请详见:< 第十六届全国大学智能汽车竞赛竞 ...

最新文章

  1. Spring框架之(无参、有参)构造方法与setter方法的初始化
  2. pandas使用groupby函数和count函数返回的是分组下每一列的统计值(不统计NaN缺失值)、如果多于一列返回dataframe、size函数返回分组下的行数结果为Series(缺失值不敏感)
  3. C#里面Console.Write与Console.WriteLine有什么区别????
  4. python写入文件-Python写入文件(write和writelines)详解
  5. pycharm导入python环境是空的_PyCharm导入python项目并配置虚拟环境的教程详解
  6. android 11 版本更新内容,android 11怎么更新 android 11更新方法
  7. gnome2 卷起_推荐4个非常漂亮的Gnome 3.2 主题[PPA]
  8. Linux环境下ATAPI MO的使用方法(转)
  9. np.array()函数
  10. 解决github无法clone
  11. DINO: 让目标检测拥抱Transformer!霸榜COCO!
  12. Nginx简单入门与反向代理和负载均衡
  13. linux换屏快捷键,Linux系统快捷键最全合集
  14. Vue数据格式化:JSON、HTML、XML数据的格式化显示
  15. java文字云_在线文字云制作工具
  16. 为什么设计思维对产品设计有帮助?
  17. linux上设置别名alias(快速便捷打开文件)
  18. 苏州计算机云联盟协会,【缤FUN社团】计算机协会
  19. 网络营销与传统营销的区别及优缺点
  20. 欧拉角,万向节锁和四元数

热门文章

  1. vue 加载动态图片出错的三种解决方法
  2. 小六六平时的开发小技巧二(Nacos在服务配置中心的妙用)
  3. Gold的共价对接操作流程与Moe结合处理共价键的前处理流程
  4. php 谷歌vard 电话薄联系人头像,[Exchange] 如何为 Exchange 用户添加联系人头像
  5. Python基本数据统计
  6. 华为系大数据专家傅一航老师--沪师经纪刘建
  7. 记红辣椒苹果审核旅程
  8. 项目中Swagger2、lombok(小辣椒)、以及短信API的调用 简单介绍
  9. tensorflow中的norm()函数 | axis=0,axis=1,axis=2
  10. java的一些基础知识(引用BlogJava 落花飞雪)