Redian新闻
>
问一个analog PWM系统问题,请大家指教
avatar
问一个analog PWM系统问题,请大家指教# EE - 电子工程
w*u
1
请问用啥architecture 做一个PWM duty extractor?
可以提取处PWM 信号的duty ratio,然后用在新的频率上?
比如, 输入信号是一个占空比为60%的10KHz的PWM信号,然后设计一个architecutre 得
到这个60%的duty ,然后再用新的频率(比如15KHz) 输出这个占空比60%的PWM信号.
小弟不才,设计的电路需要PLL, comparator,counter,DAC,Oscillator ,
用PLL generate 一个256倍 Input PWM frequency 的clock,然后 通过comparitor 得
到一组(256个)电平,用counter add 高电平(比如200),然后给DAC得到DC电压,
再用这个DC电压(包括了DUTY information)和一个自定义的频率,比如15Khz, 高度
为 DAC reference voltage 的三角波比较得到新的 PWM 信号。
比较复杂,无法在一个月内实现。各位大侠有没有简单易行的系统?谢谢了!!
我做的是cmos 模拟电路, pwm duty要求的
avatar
g*r
2
需要的精度高吗?
如果简单来做,可以用f1(d1) (d1 means duty) 通过一个低通滤波器,得到一个Vo1 =
d1*Vdd. (假设f1的Swing is [0,Vdd]).
同样,将f2(d2)通过同样的滤波器,得到Vo2=d2*Vdd.
将Vo1,Vo2 feedback 到一个high gain opamp, modulate d2, 迫使Vo2 follows Vo1,
这样就得到d2 = d1.
当然,opamp的offset是一个问题,还有feedback loop可能需要compensation如果低通
滤波器高阶。

【在 w********u 的大作中提到】
: 请问用啥architecture 做一个PWM duty extractor?
: 可以提取处PWM 信号的duty ratio,然后用在新的频率上?
: 比如, 输入信号是一个占空比为60%的10KHz的PWM信号,然后设计一个architecutre 得
: 到这个60%的duty ,然后再用新的频率(比如15KHz) 输出这个占空比60%的PWM信号.
: 小弟不才,设计的电路需要PLL, comparator,counter,DAC,Oscillator ,
: 用PLL generate 一个256倍 Input PWM frequency 的clock,然后 通过comparitor 得
: 到一组(256个)电平,用counter add 高电平(比如200),然后给DAC得到DC电压,
: 再用这个DC电压(包括了DUTY information)和一个自定义的频率,比如15Khz, 高度
: 为 DAC reference voltage 的三角波比较得到新的 PWM 信号。
: 比较复杂,无法在一个月内实现。各位大侠有没有简单易行的系统?谢谢了!!

avatar
g*r
3
如果精度要求很低,
可以用Iref charging C1 with time duration d1*T1, getting voltage Vref1.
用SC,得到一个Vref2 = Vref1*T2/T1.
用Iref charging C2 (C2 matches to C1)to Vref2, getting d2*T2.

=

【在 g*******r 的大作中提到】
: 需要的精度高吗?
: 如果简单来做,可以用f1(d1) (d1 means duty) 通过一个低通滤波器,得到一个Vo1 =
: d1*Vdd. (假设f1的Swing is [0,Vdd]).
: 同样,将f2(d2)通过同样的滤波器,得到Vo2=d2*Vdd.
: 将Vo1,Vo2 feedback 到一个high gain opamp, modulate d2, 迫使Vo2 follows Vo1,
: 这样就得到d2 = d1.
: 当然,opamp的offset是一个问题,还有feedback loop可能需要compensation如果低通
: 滤波器高阶。

avatar
c*l
4
你想的太复杂了。

【在 w********u 的大作中提到】
: 请问用啥architecture 做一个PWM duty extractor?
: 可以提取处PWM 信号的duty ratio,然后用在新的频率上?
: 比如, 输入信号是一个占空比为60%的10KHz的PWM信号,然后设计一个architecutre 得
: 到这个60%的duty ,然后再用新的频率(比如15KHz) 输出这个占空比60%的PWM信号.
: 小弟不才,设计的电路需要PLL, comparator,counter,DAC,Oscillator ,
: 用PLL generate 一个256倍 Input PWM frequency 的clock,然后 通过comparitor 得
: 到一组(256个)电平,用counter add 高电平(比如200),然后给DAC得到DC电压,
: 再用这个DC电压(包括了DUTY information)和一个自定义的频率,比如15Khz, 高度
: 为 DAC reference voltage 的三角波比较得到新的 PWM 信号。
: 比较复杂,无法在一个月内实现。各位大侠有没有简单易行的系统?谢谢了!!

avatar
g*u
5
你们想的都太复杂了,这种opamp电路调试可以花几个月。
找块便宜的带两个channel CCP的单片机,一个输入,另外一个输出。
最多100行程序搞定。几个电阻电容的电路而已。

【在 w********u 的大作中提到】
: 请问用啥architecture 做一个PWM duty extractor?
: 可以提取处PWM 信号的duty ratio,然后用在新的频率上?
: 比如, 输入信号是一个占空比为60%的10KHz的PWM信号,然后设计一个architecutre 得
: 到这个60%的duty ,然后再用新的频率(比如15KHz) 输出这个占空比60%的PWM信号.
: 小弟不才,设计的电路需要PLL, comparator,counter,DAC,Oscillator ,
: 用PLL generate 一个256倍 Input PWM frequency 的clock,然后 通过comparitor 得
: 到一组(256个)电平,用counter add 高电平(比如200),然后给DAC得到DC电压,
: 再用这个DC电压(包括了DUTY information)和一个自定义的频率,比如15Khz, 高度
: 为 DAC reference voltage 的三角波比较得到新的 PWM 信号。
: 比较复杂,无法在一个月内实现。各位大侠有没有简单易行的系统?谢谢了!!

avatar
w*u
6
我忘了说,我做的是cmos 模拟电路, 要求的精度很高,要8 bit吧。 目前我只有2种
想法,一个是用sample+counter+dac ,挺复杂;
一个是积分,然后用模拟divider 得到duty,然后通过比较器得到pwm新的频率的波形,
但由于输入信号很Noisy,而且频率从200Hz到20KHz都在变化所以这种方法也是很冒险
。因为时间有限,所以我在想用一个简单的architecture,谢谢大家的帮助!
avatar
c*p
7
搞个D类放大器/积分器/滤波器就得了

形,

【在 w********u 的大作中提到】
: 我忘了说,我做的是cmos 模拟电路, 要求的精度很高,要8 bit吧。 目前我只有2种
: 想法,一个是用sample+counter+dac ,挺复杂;
: 一个是积分,然后用模拟divider 得到duty,然后通过比较器得到pwm新的频率的波形,
: 但由于输入信号很Noisy,而且频率从200Hz到20KHz都在变化所以这种方法也是很冒险
: 。因为时间有限,所以我在想用一个简单的architecture,谢谢大家的帮助!

avatar
w*u
8
以前搞rf的,对这些analog的各类模块不是很熟悉,关键是芯片面积要小,不能bulky
,而且频率也低一两百赫兹的pwm信号, 所以滤波器我不知道是否可行
avatar
s*g
9
Try this ckt.
10kHz, resolution 8 bit, ~400ns, shouldn't be a big problem.
prefer CML logic for speed and signal integrity.
In order to lower ripple, lower charge pump current and increase cap.
Make close loop bandwidth at least < 1/5 of your min clk frequency.
Easy to estimate mismatch introduced uncertainty in duty ratio.
good luck

【在 w********u 的大作中提到】
: 请问用啥architecture 做一个PWM duty extractor?
: 可以提取处PWM 信号的duty ratio,然后用在新的频率上?
: 比如, 输入信号是一个占空比为60%的10KHz的PWM信号,然后设计一个architecutre 得
: 到这个60%的duty ,然后再用新的频率(比如15KHz) 输出这个占空比60%的PWM信号.
: 小弟不才,设计的电路需要PLL, comparator,counter,DAC,Oscillator ,
: 用PLL generate 一个256倍 Input PWM frequency 的clock,然后 通过comparitor 得
: 到一组(256个)电平,用counter add 高电平(比如200),然后给DAC得到DC电压,
: 再用这个DC电压(包括了DUTY information)和一个自定义的频率,比如15Khz, 高度
: 为 DAC reference voltage 的三角波比较得到新的 PWM 信号。
: 比较复杂,无法在一个月内实现。各位大侠有没有简单易行的系统?谢谢了!!

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。