Microchip
直播中

crhm51900928

7年用户 243经验值
私信 关注
[问答]

AN984是如何进行缩放工作的

你好,我一直在学习代码ExampleAN984 acim_vhz.s,我不能理解有关查找值缩放的部分。我看到表中的正弦值是有区别的,因此有必要将它们转换为正值,以便将它们加载到PDC寄存器中。但是在这个缩放之后,我得到占空比值为lt;0, 2×PTPER & gt;当我加载PDC寄存器的值从lt;PTPER,2 *PTPE>我总是得到100%的占空比。对吗?我读了一份984-申请单,我发现PTPLE值对应于50%个占空比。我很困惑。我已经读了好几张应用笔记,我不知道缩放是如何工作的。有人能给我解释一下吗?谢谢。

回帖(1)

潘千

2020-4-26 15:01:46
从FRM(http://www1.micro..com/downloads/en/DeviceDoc/70046E.pdf)中可以看出“如果PDCx寄存器中的值大于PTPER寄存器中的值,那么PWM管脚上的输出将在整个PWM周期中处于活动状态”——这应该符合您的断言如果PDC值高于PTPER,则会得到100%的PWM,但是表15-3表明100%的PDCx的值是PTPER的两倍。秘诀在于下一段——“为了实现TCY/2边缘分辨率,将PDCx<15:1>与PTMR<14:0>进行比较,以确定占空比匹配。PDCx<0>确定在TCY或TCY/2边界处将发生PWM信号边缘。“有效地,PDC右移一个位以进行比较,然后溢出位确定Tcy时钟上升或下降边缘上的定时,因此等于PTPER的PDC的值处于50%。鬼鬼祟祟的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分