之前我在论坛里询问了关于MSP430与硬件SPI、I2C和PWM的问题。尤为关注硬件PWM输出频率与分辨率的关系。
在论坛里得到了答案即MSP43051xx系列。硬件PWM分辨率与输出频率的关系为 log(250Mhz/开关频率)/ log2。PWM的占空比可以任意调节,开关频率也可以任意调节。对应关系为:
分辨率16bit,那么,开关频率最高为 3.8khz。
分辨率14bit,那么,开关频率最高为 10khz。
分辨率10bit,那么,开关频率最高为 250khz。
我现在的问题是:今天在看MSP430FR5739IDA,在用户手册(MSP430FR57xx Family User's Guide)里也找到了Timer_A与Timer_B可以实现PWM,但是没有找到详细的说明。
MSP430FR5739IDA是否有真正意义上的硬件PWM;如果是,该硬件PWM是否可调;如果可调,PWM的分辨率和输出频率的关系如何?
MSP430FR57xx系列在硬件PWM上,是否与MSP430F51xx系列相同?
HaiTao Li:
回复 Bruce Wei:
“log(timer时钟频率/开关频率)/ log2 这个公式跟器件没有关系”——您的意思是上述这些器件都可以套用这个公式来计算PWM的分辨率与频率的关系?
Bruce Wei:
回复 HaiTao Li:
适合 任何 使用 timer 产生 pwm 的器件。
HaiTao Li:
回复 Bruce Wei:
我在MSP430x2xx USER GUIDE中的"12 Timer_A"中看到,一个Timer_A有TACCRx和TACCTLx各一组,从PWM实现的方式看,这是不是意味着如果我想用PWM做DA输出的话,一个Timer_A只能针对一个测量值的计算,输出PWM。
比如:我采集有两个AD输入,如果希望用MCU硬件PWM作DA转换输出,它们每一个的DA变换都要占用一个Timer_A(或者其他,比如B或者D),在这种情况之下,我就需要选用一个MSP430F2553或者两个MSP430F2013。事实上是不是这样的?
或许一个Timer_A 可以实现多个硬件PWM输出,但是无不知道。
另外,TI是否有类似于单一的PWM控制器(对测量信号用的,比如4-20mA,不是针对电机控制的),这样我可以用MCU计算AD输入的占空比,然后将结果直接输出给“PWM控制器”对应通道的控制寄存器,以实现多路采集和多路输出。