工具/软件:
你好
我是一名在 Forvia Hella 进行预开发的软件开发人员。
目前、我正在使用 TPS92566-Q1 元件、并研究其在相移期间的行为。 在规范中、第 7.3.5 章规定:
“相位值和宽度值在 LED 关断时间开始时(即开关导通时的 TCNT 值)加载到 PWM 控制逻辑中。“
我了解 PWM 控制逻辑的机制时、有一个自由运行的计数器、它从 0 计数到 1023、然后复位到 0。 这也会为 SYNC 引脚生成信号。 根据上述语句、当计数器达到 LED 关断时间时、相位和宽度寄存器的值被加载到 PWM 控制逻辑中。 此逻辑随后确定 LED 的下一次导通和关断时间、当计数器达到这些值时、LED 相应地亮起或熄灭。
我观察到附件中显示的行为。 黄线表示 SYNC、蓝色表示 UART、绿色表示 PWM。 UART 数据包包含三个部分:
- 在第一部分中、写入宽度寄存器。
- 在第二部分中、写入相位寄存器。
- 在第三部分中、读取了 12 个状态字节。
在该实验中、设置了 10%的 PWM、并将一个 LED 的相位从 10%移动到 90%。 遗憾的是、UART 数据包未与 PWM 周期同步、因此不清楚 UART 数据包是否在 LED 关闭时间到达。 因此、我们考虑两种情况:
- 寄存器未更新(UART 数据包未到达)。
- 寄存器已更新(UART 数据包确实到达)。
在第一种情况下、我们期望 PWM 脉冲在下一个周期保持不变、但情况并非如此。
在第二种情况下、当 LED 关闭(计数器为 102→10%)时、新相位 (920→90%) 被传输到 PWM 控制逻辑。 然后、我们预计当计数器达到 818 (920 - 102) 时、LED 将在同一周期内再次亮起、并在 920 时熄灭。 这也不会发生。
因此、我正在就这一问题致函您、请您解释观察到的行为。
请尽快答复。 如果您有任何问题、我很乐意为您提供帮助。
此致、
Nemati, Shaham
