DSP如何用算法实现 频率可调的 正弦波表?

[复制链接]
 楼主| qagainc 发表于 2017-2-23 15:21 | 显示全部楼层 |阅读模式
目前确定28069的CPU频率是90M ,确认PWM周期的情况下,可以计算出EPwm1Regs.TBPRD 这个值。
现在需要频率可调的 正弦波,如何计算 EPwm1Regs.TBPRD  EPwm3Regs.CMPA.half.CMPA 等 。
何用算法实现 频率可调的 PWM 正弦波表?
zhangmangui 发表于 2017-2-23 22:27 | 显示全部楼层
比如你的正弦波是1024个点        然后配置PWM波     这个正弦波的数作为比较的值
取这个比较的值的速度就体现在了正弦波的频率上了
airwill 发表于 2017-2-27 21:53 | 显示全部楼层
计算正弦波表,不是 28069 的强项, 28075倒是可以
通常直接存个表在 FLASH 中
频率可调嘛,就是sinA 的 A 的步进进行调整就可以了
chuntian2016 发表于 2017-2-27 22:35 | 显示全部楼层
这方面的没怎做过的,,先不多说的
 楼主| qagainc 发表于 2017-2-28 10:12 | 显示全部楼层
zhangmangui 发表于 2017-2-23 22:27
比如你的正弦波是1024个点        然后配置PWM波     这个正弦波的数作为比较的值
取这个比较的值的速度就 ...

版主,回复真是受宠若惊。现在用的400个点的表格,需要的PWM CLK是10KHz EPwm1Regs.TBPRD =4500 ;
“取这个比较的值的速度就体现在了正弦波的频率上" 这句话的意思:是不是把 PWM的中断触发 快一些?
 楼主| qagainc 发表于 2017-2-28 10:14 | 显示全部楼层
airwill 发表于 2017-2-27 21:53
计算正弦波表,不是 28069 的强项, 28075倒是可以
通常直接存个表在 FLASH 中
频率可调嘛,就是sinA 的 A  ...

你好,感谢回复。 现在已经确定用 28069了。
“sinA 的 A 的步进进行调整” 这个具体是怎么调呢?
 楼主| qagainc 发表于 2017-2-28 10:21 | 显示全部楼层
caosix 发表于 2017-2-27 23:33
请教:DSP 有 那么快速的 浮点 函数计算能力,

给定频率,直接 硬算 出 对应的输出数值 不行么 ? ...

感谢回复。目前的想法是 PWM中断里面对EPwm3Regs.CMPA.half.CMPA值进行调整。这个DSP  如何实现硬算呢? 相互探讨。
airwill 发表于 2017-2-28 15:26 | 显示全部楼层
用的400个点的表格,那么下一个值和表格中的哪个,这个和上次表格中的位置,就是步进
vibra2016 发表于 2017-2-28 18:47 | 显示全部楼层
这方面的没做过的。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

37

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

6

主题

37

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部