专家,
我很难遵循编程人员手册中的所有正确步骤来设置从 ADC 输入路由到 DPWM0的 CBC。 有人能提供我需要的命令清单。
我对订单的假设是:
1.设置补偿
2.设置 Faultmux
3.打开 CBC 启用
DPWM 模块需要什么东西,封堵? 我目前只在正常情况下使用 DPWM0进行降压拓扑。
下图是我如何设置原型。

请提供任何解释或帮助。 CBC 似乎在整个编程手册中被分割,因此很难跟踪表单开始到结束。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
专家,
我很难遵循编程人员手册中的所有正确步骤来设置从 ADC 输入路由到 DPWM0的 CBC。 有人能提供我需要的命令清单。
我对订单的假设是:
1.设置补偿
2.设置 Faultmux
3.打开 CBC 启用
DPWM 模块需要什么东西,封堵? 我目前只在正常情况下使用 DPWM0进行降压拓扑。
下图是我如何设置原型。

请提供任何解释或帮助。 CBC 似乎在整个编程手册中被分割,因此很难跟踪表单开始到结束。
我会尽力为您提供一份完整的要设置的位字段列表,但不保证。 在 UCD 上,您可能有时需要搜索丢失的位字段。
FaultMuxRegs.ACOMPCTRL0.bit.ACOMP_EN = 1;//全局启用 ACOMP 功能
FaultMuxRegs.ACOMPCTRL1.bit.ACOMP_D_therh = CBC_therh;//为电流感应 CBC 点设置阈值电压
FaultMuxRegs.ACOMPCTRL1.bit.ACOMP_D_POL = 1;//设置为在电压高于阈值时触发-这是默认值
FaultMuxRegs.ACOMPCTRL1.bit.ACOMP_D_SEL = 0;//设置为使用 D 阈值作为 D 比较器-也是默认值
FaultMuxRegs.DPWM0CLIM.Bit.ACOMP_D_EN = 1;//使比较器 D 限制 DPWM0上的电流
FaultMuxRegs.DPWM1CLIM.Bit.ACOMP_D_EN = 1;//使比较器 D 限制 DPWM1上的电流
Dpwm0Regs.DPWMCTRL0.bit.CBC_PWM_AB_EN = 1;//使 CBC 支持 DPWMA 和 B
Dpwm0Regs.DPWMCTRL0.bit.CBC_ADV_CNT_EN =1;//启用 CBC 也需要
Dpwm1Regs.DPWMCTRL0.bit.CBC_PWM_AB_EN = 1;//使 CBC 支持 DPWMA 和 B
Dpwm1Regs.DPWMCTRL0.bit.CBC_ADV_CNT_EN =1;//启用 CBC 也需要
我同时输入 DPWM 0和1,但如果需要,您可以输出1。 但我认为如果你有 CBC 你想把一切都关起来。
Dennis,您必须使用故障状态和中断寄存器中的 ACOMP_D 位来查看 CBC 是否处于活动状态。 DPWM 没有位指示 CBC 处于活动状态。 有 FLT_CBC 位,但当您将 CBC 用作故障时会使用这些位,这意味着它将在连续出现指定数量的 CBC 后关闭 DPWM。 这与不同的设置不同。
我建议您只轮询故障状态寄存器中的 ACOMP_D 位,不要使用中断。 如果确实使用了该中断,请在收到 ACOMP_D 中断时立即将其禁用。 如果它保持过电流,它将继续中断每个切换周期,这可能会使您锁定在中断中。
请注意,如果负载为 CBC,电压可能会下降。 这将导致 PID 中的集成商尝试恢复电压。 CBC 会有效地断开过滤器的反馈路径。 如果电流降级,您 可能会超出 Vout 限值,然后 PID 才能调整。