lzloong 发表于 2012-2-28 16:33:02

高手帮忙解决msp430f1132单片机PWM可变占空比问题

我用msp430f1132 编了个程序,主要功能是用TimerA产生PWM波,周期由CCR0决定,CCR1定占空比。AD一直开着根据采到的值来定占空比。等于说我的占空比是实时变的。 CCR1 = D;这语句我放在AD中断中试过,也放在TimerA的中断中试过。都始终有个问题,就是PWM的脉冲偶然的一下会变全高,或者是PWM电平变低后又马上变高了。见附图。程序我也附上。

点击此处下载 ourdev_722925OK9D40.zip(文件大小:25K) (原文件名:all in one.zip)
http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_722926X8WO6S.PNG
(原文件名:test-2.PNG)

http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_722927Q160LN.PNG
(原文件名:test3.PNG)

KongQuan 发表于 2012-2-28 16:39:19

正在工作的时候,改变值, 应该会影响输出。
常规的做法时先停止,再设置。

huhandong 发表于 2012-2-28 18:41:46

是不是想输出类似SPWM的波?我也曾遇到过这现象,仔细看看比较匹配的值有没有想互跨越

hdd961140543 发表于 2012-2-28 18:52:16

回复【楼主位】lzloong
-----------------------------------------------------------------------
在全局变量D声明前加volatile试试

lzloong 发表于 2012-2-28 21:55:36

回复【3楼】hdd961140543阿逸
-----------------------------------------------------------------------

D前加了volatile还是原来那样。

lzloong 发表于 2012-2-28 21:59:58

回复【1楼】KongQuan
-----------------------------------------------------------------------

这方法我曾经试过,在TimerA的中断中将 TimerA暂停,赋值后继续计数。但问题依旧存在。

lzloong 发表于 2012-2-28 22:10:58

回复【2楼】huhandong
-----------------------------------------------------------------------
能否具体说明下?我有个疑问就是,产生TimerA中断的时候,进入中断可能需要好几个clk,这个过程中TimerA却依旧工作的,不知道这是不是一个问题? 另外如果我不用TimerA的中断,在AD采集的中断中赋值为什么还是有问题?谢谢~

mitchell 发表于 2012-2-29 00:23:52

CCR1没有影子寄存器,如果新赋的值比当前的计数值小,该周期无法产生PWM比较匹配,PWM电平就无法翻转,只能维持高电平直到下一周期产生比较匹配。
相反地,如果该周期已经发生比较匹配(当前计数值大于旧的CCR1值),而新赋的CCR1值比当前的计数值大,还会发生重复比较,即同一周期内出现两次脉冲。


目前想不到好的解决方案。

lzloong 发表于 2012-2-29 13:10:15

回复【7楼】mitchell
-----------------------------------------------------------------------

那请问下,这个问题是大部分单片机都有的,还是430有? PIC或瑞萨的有嘛?我觉得实时改变 脉宽是个很常规的问题,碰到这种都用DSP28**? 我只知道好像28系列的有影子寄存器,上课的时候好像听老师说过。

mitchell 发表于 2012-2-29 16:11:18

回复【8楼】lzloong
-----------------------------------------------------------------------

大部分都有这个问题,部分专门PWM用途没有问题:AVR的90PWM系列没有问题,TI的DSP没有问题,ST7也没有问题。

armok 发表于 2012-4-3 09:10:40

dszx 发表于 2012-9-26 14:53:05

哈,我也遇到同样的问题了,看了是通病啊!

weng645008699 发表于 2013-10-13 12:11:36

能不能发你的msp430f1132的电路图我看看,我是学生,刚申请几个片子,不知道怎么用,想想打出来电路图。谢谢哈,645008699@qq.com
页: [1]
查看完整版本: 高手帮忙解决msp430f1132单片机PWM可变占空比问题