ZHCSZ33 October 2025 DRV8311-Q1
PRODUCTION DATA
在 PWM 生成模式下,PWM 信号在 DRV8311-Q1 内部生成,并可通过 SPI (DRV8311S-Q1) 或 tSPI (DRV8311P-Q1) 寄存器读取/写入操作进行控制。在此工作模式下,无需再通过 INHx 和 INLx 引脚控制电机。每个相位的 PWM 周期、频率和占空比均可通过串行接口进行配置。PWM_SYNC 引脚功能可用于实现 MCU 和 DRV8311P/S-Q1 之间的同步。PWM 模式可配置为针对每个相位分别启用或禁用高侧或低侧 MOSFET PWM 控制,从而在需要时实现连续或不连续开关。在 PWM 生成模式下使用 DRV8311S-Q1 时,请将 PWM_SYNC 信号从 MCU 连接到 DRV8311S-Q1 的 INLB 引脚。在该模式下,DRV8311S-Q1 不受其他所有 INHx 和 INLx 引脚状态的影响。梯形、正弦和 FOC 控制都可以使用 PWM 生成模式来实现。
PWM 生成模式有三个不同的选项:向上/向下计数模式、向上计数模式和向下计数模式。可以使用 PWMG_CTRL 寄存器中的 PWMCNTR_MODE 位来配置 PWM 生成模式。将由每个相位的 PWMG_x_DUTY 寄存器(x 对应每个相位 A、B、C)中的 PWM_DUTY_OUTx 位定义的占空比与基准计数器信号进行比较,以生成高侧 MOSFET PWM。PWM 生成过程使用的基准计数器信号是根据 PWM_PRD_OUT 位(PWMG_PERIOD 寄存器)和 PWMCNTR_MODE 位的配置在内部生成的。如果 PWM_EN 位为高电平,则当 PWM_DUTY_OUTx 大于基准计数器数值时,高侧 MOSFET PWM 输出为高电平。当 PWM_EN 为低电平时,输出始终保持低电平。为实现高侧 MOSFET 的 100% 占空比(整个周期内保持 HS_ON),PWM_DUTY_OUTx 值必须大于 PWM_PRD_OUT 值。
在向上/向下计数模式 [PWMCNTR_MODE = 0h] 下,基准计数器波形类似于 V 形,启用该模式时从 PWM_PRD_OUT 值向下计数,然后在计数器数值达到零后再次向上计数。配置 PWM_PRD_OUT 位,以使用关系式 PWM_PRD_OUT = 0.5 x (FSYS / FPWM) 生成 PWM 频率 (FPWM)。FSYS 是 DRV8311P-Q1 和 DRV8311S-Q1 的内部系统时钟频率(约为 20MHz)。
在向上计数 [PWMCNTR_MODE = 1h] 模式下,计数器从零向上计数,直到计数达到 PWM_PRD_OUT 值,然后复位为零。PWM_PRD_OUT = FSYS / FPWM
在向下计数模式 [PWMCNTR_MODE = 2h] 下,计数器从 PWM_PRD_OUT 值开始向下计数,直至计数达到零,然后复位为 PWM_PRD_OUT 值。PWM_PRD_OUT = FSYS / FPWM
由 TDEAD_CTRL 寄存器配置的死区时间插入到 LS_ON 下降沿和 HS_ON 上升沿之间,以及 HS_ON 下降沿和 LS_ON 上升沿之间。
当没有专用的 INHx 或 INLx 控制信号时,外部 MCU 可能会失去与 DRV8311-Q1 生成的 PWM 信号的同步。为了实现同步,外部 MCU 向 PWM_SYNC 引脚发送一个基准信号。PWM 同步有助于以 MCU 时钟的精度生成 DRV8311-Q1 PWM 输出,并将 PWM 输出与 MCU 的 ADC 采样电流检测输出对齐。PWM_SYNC 信号还有助于测量 DRV8311-Q1 内部振荡器频率。DRV8311-Q1 还支持自动校准内部振荡器,无论工作条件如何,都能将振荡器校准至 20MHz。DRV8311-Q1 通过配置 PWMG_CTRL 寄存器的 PWM_OSC_SYNC 位,允许使用五种不同的方法在 MCU 和 DRV8311-Q1 之间实现同步。下面列出了不同的同步方法。
PWM_OSC_SYNC = 1h:DRV8311-Q1 使用 DRV8311-Q1 系统时钟 FSYS(约为 20MHz)的计数值来测量 PWM_SYNC 信号周期 (PWM_SYNC_PRD)。MCU 读取寄存器 PWM_SYNC_PRD 后,可据此校准 PWM 周期。例如,假设 MCU 使用 MCU 计时器生成占空比为 50% 的 PWM_SYNC 信号,该计时器的周期计数为 N 且时钟频率为 FMCU。MCU 读取 DRV8311-Q1 生成的 PWM_SYNC_PERIOD 寄存器值(假设为 M)。DRV8311-Q1 使用 DRV8311-Q1 系统时钟 FSYS(DRV) 生成 PWM_SYNC_PERIOD。现在,MCU 计时器时钟和 DRV8311-Q1 系统时钟通过公式 FMCU x M = FSYS(DRV) x N 相关联。
PWM_SYNC_PRD 为 12 位,并且当 DRV8311-Q1 内部系统时钟约为 20MHz 时,在不饱和的情况下可读取的最小 PWM_SYNC 频率约为 4.885kHz (FSYS/4095)。
PWM_OSC_SYNC = 2h:使用来自 MCU 的 PWM_SYNC 信号设置 DRV8311-Q1 的 PWM 周期,忽略 PWMG_PERIOD 寄存器设置。DRV8311-Q1 在 PWM_SYNC 的上升沿复位 PWM 计数器。
PWM_OSC_SYNC = 5h:将 PWM_SYNC 用于 DRV8311-Q1 内部振荡器同步(仅支持 20kHz 频率)。对于 20kHz 的 PWM_SYNC 信号,DRV8311-Q1 会对 PWM_SYNC 信号上升沿之间的内部系统振荡器时钟脉冲进行计数。对于 20MHz 处的 DRV8311-Q1 系统时钟,在理想情况下,时钟脉冲数应为 1000。偏离此数值意味着 DRV8311-Q1 生成的振荡器频率或来自 MCU 的 PWM_SYNC 频率存在误差。假定来自 MCU 的 PWM_SYNC 频率是准确的,DRV8311-Q1 会在内部进行振荡器校准,将其频率校准至 20MHz,从而与 PWM_SYNC 生成的 PWM 频率对齐。
PWM_OSC_SYNC = 6h:将 PWM_SYNC 用于 DRV8311-Q1 内部系统振荡器校准和 PWM 周期设置(仅支持 20kHz 频率)。将忽略 PWMG_PERIOD 寄存器设置。DRV8311-Q1 在 PWM_SYNC 的上升沿复位 PWM 基准计数器。
PWM_OSC_SYNC = 7h:使用 SPI 时钟引脚 SCLK 将 DRV8311-Q1 内部系统振荡器校准至 20MHz。在此模式下,用户必须通过配置 PWMG_CTRL 寄存器来配置用于同步振荡器的 SPI 时钟频率 (SPICLK_FREQ_SYNC) 以及同步振荡器所需的 SPI 时钟周期数 (SPISYNC_ACRCY)。DRV8311-Q1 使用 DRV8311-Q1 内部系统时钟 FSYS 计数来测量完整 SPI 时钟周期(由 SPISYNC_ACRCY 配置)的总时间,并校准内部系统时钟以匹配 20MHz 频率的预期计数。校准后,DRV8311-Q1 系统振荡器频率相对于 20MHz 的精度取决于 SPISYNC_ACRCY 的配置。