NSD3608应用笔记
使用NSD3608驱动半桥,需要注意SPI通信的帧格式和时序的正确性。
SPI帧格式与时序
使用NSD3608驱动半桥,需要注意SPI通信的帧格式和时序的正确性。
1、SPI帧格式
SPI 输入数据帧由 16 位组成:8 位命令(高8位)和 8 位数据(低8位)。


SDI 输入数据解释:
- B15:固定为 0b
- B14:W0=1b 表示读命令,W0=0b 表示写命令
- B8 ~ B13:6 位地址位 A0 ~ A5
- B0 ~ B7:8 位数据位
SPI 输出数据帧由全局状态指示 8 位(高8位)和寄存器 8 位数据(低8位,来自当前正在访问的寄存器的 8 位数据)组成。

SDO 输出数据解释:
- B13:FAULT,与 GEN_STA_1(0x00) 中的 FAULT 值相同
- B12:WARN,与 GEN_STA_1(0x00) 中的 WARN 值相同
- B11:VDS_VGS_FLT_OR,与 GEN_STA_1(0x00) 中的 VDS_VGS_FLT_OR 值相同
- B10:PVDD_VCP_UV_OR,与 GEN_STA_1(0x00) 中的 PVDD_VCP_UV_OR 值相同
- B9:OV,与 GEN_STA_1(0x00) 中的 OV 值相同
- B8:OT_WD_CSA_OR/nSPI_OK,由 GEN_STA_1(0x00) 中的 OT_WD_CSA_OR 位和 nSPI_OK 的逻辑或运算得出,nSPI_OK 为 GEN_STA_1(0x00) 中 SPI_OK 的取反值
- B0 ~ B7:8 位数据位
2、SPI时序
NSD3608的SPI的时序如下:

需要注意以下几点:
- 数据格式: 应该设置为 MSB first(最高有效位优先)。
- 时钟脉冲: 需要满足脉冲数是16的倍数,并且频率不能超过10MHz(周期为100ns)。
- 时钟极性(CPOL): SCLK应该在 nSCS(片选)边沿为低电平时开始,因此设置 CPOL = 0(空闲时低电平)。
- 时钟相位(CPHA): 对于主设备 (MCU) 的要求是:数据在时钟的上升沿发送(shift out),在下降沿采样(captured)。因此设置为 CPHA = 1。
- 片选信号(CS): 默认为高,拉低表示通信的开始,拉高结束该帧的传输。
因此,主设备(MCU)SDI 数据在 SCLK 上升沿发送(shift out),SDO 数据在 SCLK 下降沿采样;从设备(NSD3608)SDI 数据在 SCLK 下降沿采样,SDO 数据在 SCLK 上升沿发送。即设置为SPI的模式1,并且注意时钟频率不超过10MHz。

发送命令0x0786 ,使用逻辑分析仪器捕获的正确的时序如下:

使用MCU通信
1、 SPI专用命令
1.1 page设置命令
在对NSD3608寄存器操作时,需要先设置page,因为不同的page有相同地址的寄存器。设置page的寄存器是PAGE_CTRL,地址为0x3F,设置其中的page位映射到不同的页。

1.2 清除故障命令
SPI 清除故障命令,如果 DIAG_CLR=1b,SPI 向 GEN_CTRL1 寄存器(0x07)写入命令将清除错误位。在上电之后,需要先进行一次故障清除。

1.3 SPI锁定/清除命令
SPI 锁定/解锁寄存器命令,将命令写入 GEN_CTRL_1 寄存器(0x07)且 LOCK 位=110b,则除 GEN_CTRL_1 寄存器(0x07)和整个 PAGE_CTRL 寄存器(0x3F)中的 LOCK 位外,所有控制寄存器都不能写入,但可以读取。
将命令写入 GEN_CTRL_1 寄存器(0x07),且 LOCK 位=011b,则所有控制寄存器均可写入再次(清除故障命令也受锁定/解锁的影响)。
所以如果遇到SPI通信无效的情况,可能是SPI被锁定了。
2、 初始化流程
确保MCU的SPI接口与NSD3608连接正确,给NSD3608的PVDD、DVDD(3.3V/5V)供电,并且将nSleep引脚拉高。page默认为0号。

这里需要注意的地方是,上电清一次故障,然后配置DRVOFF。DRVOFF/nFLT 是一个多功能引脚,其功能取决于模式和设置:
正常模式下,DRVOFF_nFLT 位决定引脚的功能。当 DRVOFF_nFLT=0b 时,引脚为 DRVOFF。当 DRVOFF_nFLT=1b 时,引脚为 nFLT。
休眠模式下,DRVOFF/nFLT 引脚的功能固定为 nFLT,无论 DRVOFF_nFLT 的状态如何。
DRVOFF 功能
- DRVOFF 引脚用于提供外部 MOSFET 的关闭信号。
- 当 DRVOFF 引脚为高电平时,设备将直接关闭所有外部 MOSFET,不受 SPI 命令或 INz 信号的影响。
- DRVOFF 引脚内置一个下拉电阻 RPD 和滤波时间 tDRVOFF。
nFLT 功能
- nFLT 引脚作为一个开漏的故障中断信号,通知 MCU 设备发生故障。
- 在没有活动时,nFLT 引脚仅会有少量漏电流;发生故障时,它会变为低电平以指示故障。


所以,如果上电之后,SPI命令无效,也可能是因为该引脚被拉高了。可以将该引脚拉低,或者像流程图的操作那样,设置该引脚为nFLT,仅作为指示作用,不影响半桥驱动。
上述流程是一个简单的配置,如果需要其他配置,请参考以下表格:

上位机
使用原厂提供的主板和GUI可以很方便地配置NSD3608。
1、连接芯片

按照以下方式连接即可,3.3V/5V提供给NSD3608的DVDD。

打开GUI软件,如果成功连接如下图所示:

2、UI界面


3、配置流程

更多推荐



所有评论(0)