我已经实现了用于高分辨率占空比和死区控制的代码。 我对 HRPWM 相关文档中描述的限制有一些疑问。
占空比限制(技术手册中的第15.14.1.5.3章)是在使用 HRPWM 时、最小占空比应为3个周期。 对于较小的值、应禁用 HRPWM。 手册中的引用:
'当高分辨率周期控制被禁用时、尽管在前三个周期中 HRPWM 特性不可用、常规 PWM 占空比控制仍可在低至0%的占空比下完全运行。'
我的问题是、在这种情况下、将高分辨率寄存器设置为0 (CMPAHR 和 CMPBHR)足以禁用 HRPWM 功能吗? 或者、我是否必须在完全禁用 HRPWM 特性的情况下重新初始化模块?
2.我的另一个问题与 HR 死区功能的相同限制有关。 在 HR 死区文档(15.14.1.6)中、有一条注释说明:
"与使用 HRPWM 时的占空比限制一样、要使用高分辨率死区、DBRED 和 DBFED 值必须大于3。"
但是、在第15.14.1.5.3章中、要点如下:
"当使用 DBREDHR 或 DBFEDHR 时、DBRED 和/或 DBFED (与具有高分辨率位移的边沿相对应的寄存器)必须大于或等于7。"
那么、它是3还是7、还是我了解了错误的东西?
我自己也做了一些测试、HR 死区调整似乎适用于所有 DBRED/DBFED 值。 我可以在 HR 步骤中将死区值从0纳秒向上调整、而不会出现任何问题。 我确信有充分的理由限制3个周期、但实际上、我未能发现 HR 死区运行在3个周期以下的任何问题。 您能否详细说明在3个周期以下运行时、HR 死区会有什么未定义的行为?
谢谢你。