大家好:
我目前想用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强制输出的。