尊敬的 TI:
我尝试使用"单脉冲模式"来生成单脉冲、但它不起作用-我得到的脉冲具有奇怪的长度和无效极性。 请告诉我如何在此模式中配置脉冲长度。
我假设 DPWM 在任何其他模式下的"常规"操作完全相同、但脉冲需要由软件触发。 我已经了解到、触发是通过切换 PWM_EN 位来完成的。
在我的示例中、线路空闲、因此脉冲在其持续时间内将其拉低(PWM_x_INV = 1)。
在"连续模式"中(尤其是多输出模式、PWM_MODE = 2)、脉冲生成正确、例如:
此处 Fsw = 20kHz、占空比= 25%。 这些脉冲为配置和预期的"负"脉冲。
我希望直接从该连续工作模式过渡到"单帧模式"可能如下所示:
PWM_EN = 0
SFRAME_EN = 1
我还将计数器(仅全局变量)设置为所需的脉冲数。 然后、我的固件的主循环会检查该计数器、如果它是非零、则会执行以下操作:
PWM_EN = 0
递减计数器
PWM_EN = 1
但在本例中、我完全看不到生成的脉冲。
我还尝试通过在 SFRAME_EN 之后添加以下内容来独立于之前运行的连续模式来定义脉冲长度:
PRD =(1 << 14)- 1.
EV1 = 0
EV2 =(PULSE_LENGTH_IN_us * 250)<< 4
EV3 = EV4 = PRD
然后生成脉冲、但其宽度和极性不正确。 例如、对于脉冲长度= 4us、内存调试器显示:
但下面是生成的内容:
该脉冲具有 ca。 62us (整个 PRD 小于65.5us)、为"高电平有效"、同时应将其反相并"低电平有效"。
如果我写入、该脉冲的时间甚至会更长一点
EV2 = PULSE_LENGTH_IN_us * 250
(无位移"<< 4")。
请告诉我错误的地方。
此致、
Adam


