TI中文支持网
TI专业的中文技术问题搜集分享网站

关于F2812的PWM输出问题

大家好:

我目前想用C2000系列的芯片做一个D类放大器的控制单元,它需要实现的控制功能是对输入信号进行ADC采样,并在内部产生一个高频(大概400KHz)的三角波,然后将采样结果和三角波进行比较,根据比较结果控制输出的PWM的电平,从而得到一个变频的PWM。

目前遇到的问题是,请问即时改变PWM的输出电平可以用2812或者28027实现么?

谢谢!

grant yang:

我的印象中dsp的运算速度比较快,就算你将运算结果放入cmpr(比较值),带有影子寄存器,需要等到下周期输出,那也不会影响你的实际结果。

所以我认为即时改变输出电平,意义不大。

大家好:

我目前想用C2000系列的芯片做一个D类放大器的控制单元,它需要实现的控制功能是对输入信号进行ADC采样,并在内部产生一个高频(大概400KHz)的三角波,然后将采样结果和三角波进行比较,根据比较结果控制输出的PWM的电平,从而得到一个变频的PWM。

目前遇到的问题是,请问即时改变PWM的输出电平可以用2812或者28027实现么?

谢谢!

Yini Guo1:

回复 grant yang:

你好,不好意思我的问题没有问明白,我说的即时改变的意思,其实就是说根据命令直接改变PWM的输出电平,这个周期或者下一个周期改变都可以。

因为我目前做过的东西都是改变占空比的,所以我不太清楚2812或者28027可不可以直接改变输出电平。

按照您的说法,直接改变PWM输出电平是可以实现的是么?请问是通过什么方式呢?有没有这样的例程呢?

十分感谢。

大家好:

我目前想用C2000系列的芯片做一个D类放大器的控制单元,它需要实现的控制功能是对输入信号进行ADC采样,并在内部产生一个高频(大概400KHz)的三角波,然后将采样结果和三角波进行比较,根据比较结果控制输出的PWM的电平,从而得到一个变频的PWM。

目前遇到的问题是,请问即时改变PWM的输出电平可以用2812或者28027实现么?

谢谢!

grant yang:

回复 Yini Guo1:

我只用过2407和 2809

就2809来说,Action-Qualifier (AQ) Submodule中就可以改变输出

可以改变控制寄存器AQCTLA,使得输出强制设为高,低,或者翻转(当满足触发条件时,比如到达cmpa比较值)

Set High:Set output EPWMxA or EPWMxB to a high level.· Clear Low:Set output EPWMxA or EPWMxB to a low level.· Toggle:If EPWMxA or EPWMxB is currently pulled high, then pull the output low. If EPWMxA or EPWMxB iscurrently pulled low, then pull the output high.

如果你设为翻转,就相当于pwm始终位于高低变化中,改变占空比,就改变了高低电平的相对比例。

如果你想直接改变pwm输出,就强制高或者低。。当然2812没用过,是否可以设为强制,我就不清楚了。

大家好:

我目前想用C2000系列的芯片做一个D类放大器的控制单元,它需要实现的控制功能是对输入信号进行ADC采样,并在内部产生一个高频(大概400KHz)的三角波,然后将采样结果和三角波进行比较,根据比较结果控制输出的PWM的电平,从而得到一个变频的PWM。

目前遇到的问题是,请问即时改变PWM的输出电平可以用2812或者28027实现么?

谢谢!

Yini Guo1:

谢谢大家的关注和解答,我突然感觉我似乎把问题想的有点复杂了,似乎实现这个功能,不需要用PWM,只需要将GPIO口设成基础的输入输出就可以了,然后根据比较结果将电平拉高或者拉低即可。

大家好:

我目前想用C2000系列的芯片做一个D类放大器的控制单元,它需要实现的控制功能是对输入信号进行ADC采样,并在内部产生一个高频(大概400KHz)的三角波,然后将采样结果和三角波进行比较,根据比较结果控制输出的PWM的电平,从而得到一个变频的PWM。

目前遇到的问题是,请问即时改变PWM的输出电平可以用2812或者28027实现么?

谢谢!

grant yang:

回复 Yini Guo1:

很麻烦的。每次都要更改为io输出。如果直接操作 pwm的寄存器,不是更方便嘛

大家好:

我目前想用C2000系列的芯片做一个D类放大器的控制单元,它需要实现的控制功能是对输入信号进行ADC采样,并在内部产生一个高频(大概400KHz)的三角波,然后将采样结果和三角波进行比较,根据比较结果控制输出的PWM的电平,从而得到一个变频的PWM。

目前遇到的问题是,请问即时改变PWM的输出电平可以用2812或者28027实现么?

谢谢!

Yini Guo1:

回复 grant yang:

请问强制改变高低是用软件触发么?因为之前做过的东西都是直接改变频率或者占空比的,没有试验过强制改变所以不是很了解。

用GPIO的话,不是一条指令改变输出电平就可以了么?如果用GPIO操作的话,那么就在程序开始的时候设定GPIO为普通输入输出模式,不再切换为PWM模式了。

不过我不太清楚,用一条指令改变GPIO的输出快呢还是强制改变PWM输出电平快呢?请问您有没有类似的经验呢?

谢谢

大家好:

我目前想用C2000系列的芯片做一个D类放大器的控制单元,它需要实现的控制功能是对输入信号进行ADC采样,并在内部产生一个高频(大概400KHz)的三角波,然后将采样结果和三角波进行比较,根据比较结果控制输出的PWM的电平,从而得到一个变频的PWM。

目前遇到的问题是,请问即时改变PWM的输出电平可以用2812或者28027实现么?

谢谢!

grant yang:

回复 Yini Guo1:

这个,我没分析过哪个速度更快。这是使用方法的差别。

改变io的,感觉就像是土方法,不是正规军。

ti给你设置了pwm强制高低,就是告诉你,,这个才是正确地使用。。

仁者见仁,自己认为有效地,才是最好的。

我的程序中,一次性关闭pwm时,也是使用io强制输出的。

赞(0)
未经允许不得转载:TI中文支持网 » 关于F2812的PWM输出问题
分享到: 更多 (0)