psir_murphy 发表于 2011-8-4 14:48:55

请问如何将一个方波降频 1000 倍但佔空比不变

下图是一个 500KHZ 的方波,HI 的部分占整个周期的1/4,
请问如何将它降频 1000 倍变成 500HZ,并且佔空比不变,
可以用哪一种计数器或正反器来达成?
谢谢。

psir_murphy 发表于 2011-8-4 14:49:49

cqmiao 发表于 2011-8-4 15:01:29

用计数器分频,比如说CD4017,十进制的,三级分频试试。

lymex 发表于 2011-8-4 15:05:42

500Hz是精确的还是大约的、在一个范围内变化?
0.5us的脉宽,变化范围是多大?
如果都不变,那干脆生成一个500Hz、脉宽0.5ms的信号即可。

数字的方法:测试出周期和脉宽,然后分别乘上1000倍,再生成一个新的信号。

模拟+数字的方法:分频1000倍得到脉冲上沿,下降沿用延时电路,而延时多少要看在1000个输入脉冲里,总的上沿的合计。

只是一个思路,具体的还没去想,楼下可以继续。

psir_murphy 发表于 2011-8-4 15:05:57

兄台有没有叁考电路可以贴上来一下,麻烦你了。

youngliu 发表于 2011-8-4 15:19:55

先用390分频器分频25倍,再用4017做10分频,最后一级4017做四分频。一片390是双2-5 BCD分频器,也可以做成5*5分频

cqmiao 发表于 2011-8-4 15:34:50

回 5楼(youngliu) 的帖子

为什么不用CD4017做三级10分频呢?10x10x10 刚好1000

albert 发表于 2011-8-4 15:49:41

lz想分频以后来测量宽度

youngliu 发表于 2011-8-4 15:51:51

回 6楼(cqmiao) 的帖子

楼主要1/4占空比

psir_murphy 发表于 2011-8-4 15:56:26

引用第7樓albert於2011-08-0415:49發表的:
lz想分頻以後來測量寬度 images/back.gif

哈!被你猜对了,所以才不能用软体来分频制造出新信号,
一定要用硬件电路分频 1000 倍将频率降低才好测量宽度。

pipelie 发表于 2011-8-4 16:33:50

将该方波信号通过低通滤波转成直流信号V,那么V和方波的占空比成正比关系。另外产生一个频率是方波信号1/1000的三角波,三角波的幅度和矩形波的幅度要对应。然后将直流信号V和三角波比较应该就能得到占空比不变,频率是原来1/1000的信号。

pipelie 发表于 2011-8-4 16:57:37


pipelie 发表于 2011-8-4 17:10:32

仿真图输出的信号占空比反了,交换比较器两个输入信号即可。

jackrao 发表于 2011-8-4 19:16:44

分频很简单,但是要占空比不变做不到,因为你要测量的宽度是会变的。

youngliu 发表于 2011-8-4 19:19:51

楼主的占空比不是准确的1/4吗

fghlw 发表于 2011-8-4 20:36:19

如果只想测量脉宽不在乎点误差的话分频+反相分频 应该可以

lymex 发表于 2011-8-4 23:43:53

如果想测试脉宽,可以先把脉冲变成精确的0-10V的(或0-5V),然后用RC滤波,最后测试得到的直流电压即可。这就是最简单的开环PWM。

longshort 发表于 2011-8-5 07:23:49

用单片机吧。

1)在第0个脉冲到来时,置位输出为高。
2)对输入计数,到计数为249时置输出为低。
3)对输入继续计数,到计数为999时复位计数器。
4)第1000个脉冲到来时,从1)开始重复上述过程。

这个过程也可以直接用硬件完成,不过现在的人比较多地了解单片机,而且单片机也容易实现。

pipelie 发表于 2011-8-5 09:30:38

引用第16楼lymex于2011-08-0423:43发表的:
如果想测试脉宽,可以先把脉冲变成精确的0-10V的(或0-5V),然后用RC滤波,最后测试得到的直流电压即可。这就是最简单的开环PWM。 images/back.gif

如果PWM的幅度稳定,那么测量出低通后的直流电压,换算为脉宽还是比较准确的。估计楼主是想做PWM频率变换吧!话说回来,如果只是测脉宽,计数应该更准吧。:)

jackrao 发表于 2011-8-5 11:49:52

单片机的方法只是理论上可行,实际做起来是有很大难度的,按楼主的数据,被测信号频率是500K,被测脉宽是500ns,如果单片机的主频是10M,时钟周期就是100ns,记数的细度是不够的,再加上指令执行的时间,可以说是没戏的。
可能楼主早就意识到这一点,才想着怎么分频又保持占空比不变。

psir_murphy 发表于 2011-8-5 15:25:39

我觉得计数比较准确,因为用PWM脉宽调变转成直流的方法会有解析度差的问题,
如果能把频率照比率降低 1000 倍,然後单片机的执行速度快一点,
这样就能很好的解析度,拜托大夥儿帮我想想办法吧。

longshort 发表于 2011-8-5 16:10:23

引用第19楼jackrao于2011-08-0511:49发表的:
单片机的方法只是理论上可行,实际做起来是有很大难度的,按楼主的数据,被测信号频率是500K,被测脉宽是500ns,如果单片机的主频是10M,时钟周期就是100ns,记数的细度是不够的,再加上指令执行的时间,可以说是没戏的。
可能楼主早就意识到这一点,才想着怎么分频又保持占空比不变。 images/back.gif

确实如此,而且一旦采用中断方式,精确的比例就更不可控了。我觉得还是直接使用数字电路实现比较现实,精度和速度都没有问题。要实现其实并不难,基本结构是一个10bits主计数器,有两个由与非门构成的门限检出器,分别检测值249、999,一个触发器用于控制输出。

1)第0个脉冲到来,主计数器清零,输出触发器翻转,状态为高,输出触发器时钟门关闭;
2)门限检出器1在计数器值为248时打开输出触发器的时钟门;
3)第249个脉冲到来时输出触发器翻转,状态为低,输出触发器时钟门关闭;
4)门限检出器2在计数器值为999时打开输出触发器的时钟门;
5)第1000个脉冲到来时,从1)开始重复上述过程,此时第1000个脉冲等于新周期的第0个脉冲。

psir_murphy 发表于 2011-8-5 17:01:26

引用第21樓longshort於2011-08-0516:10發表的:

確實如此,而且一旦採用中斷方式,精確的比例就更不可控了。我覺得還是直接使用數字電路實現比較現實,精度和速度都沒有問題。要實現其實並不難,基本結構是一個10bits主計數器,有兩個由與非門構成的門限檢出器,分別檢測值249、999,一個觸發器用於控制輸出。

1)第0個脈衝到來,主計數器清零,輸出觸發器翻轉,狀態為高,輸出觸發器時鐘門關閉;
2)門限檢出器1在計數器值為248時打開輸出觸發器的時鐘門;
....... images/back.gif

分析得很详细,大侠对数字电路很有研究,方便请您画个图示意一下吗?简单的方块图或原理图都可以。

longshort 发表于 2011-8-6 09:51:53

引用第22楼psir_murphy于2011-08-0517:01发表的:

分析得很详细,大侠对数字电路很有研究,方便请您画个图示意一下吗?简单的方块图或原理图都可以。
images/back.gif

不好意思,我不是什么大侠。方框图与原理图都差不多,匆匆赶画了一个,逻辑上肯定还隐藏一些错误,仅供参考。



那两个检测逻辑实际上就是两个多输入端的与门,您可以通过逻辑代数再将它简化一下。

pipelie 发表于 2011-8-6 22:13:36

引用第20楼psir_murphy于2011-08-0515:25发表的:
我觉得计数比较准确,因为用PWM脉宽调变转成直流的方法会有解析度差的问题,
如果能把频率照比率降低 1000 倍,然後单片机的执行速度快一点,
这样就能很好的解析度,拜托大夥儿帮我想想办法吧。images/back.gif


解析度差?这个就要看楼主的pwm信号精度要求到百分之几了,分辨率又要达到多少?从而得出直流电压的应该达到的精度。假如pwm信号的幅度是5V,分辨率要求1%,那么低通后电压的分辨率就是50mV,比较器也只要区分50mV的电压,问题不大。当然如果是要求0.1%的分辨率,那就比较难了。如果要求pwm的分辨率高,就适当提高pwm的幅度,比如提高到10V。

关键是:讨论到现在,对楼主的需求还是不太明白。比如,pwm占空比是否是变化的,精度又希望达到多少?

jackrao 发表于 2011-8-7 16:28:31

引用第21楼longshort于2011-08-0516:10发表的:

确实如此,而且一旦采用中断方式,精确的比例就更不可控了。我觉得还是直接使用数字电路实现比较现实,精度和速度都没有问题。要实现其实并不难,基本结构是一个10bits主计数器,有两个由与非门构成的门限检出器,分别检测值249、999,一个触发器用于控制输出。

1)第0个脉冲到来,主计数器清零,输出触发器翻转,状态为高,输出触发器时钟门关闭;
2)门限检出器1在计数器值为248时打开输出触发器的时钟门;
....... https://bbs.38hot.net/images/back.gif

按照这个思路,无论N%占空比的脉冲输入,输出的结果都是25%,已经没有测量的意义了,直接给个25%的结果就完了。
其实最靠谱的做法还是低通滤波再测直流。

longshort 发表于 2011-8-7 17:48:31

引用第25楼jackrao于2011-08-0716:28发表的:

按照这个思路,无论N%占空比的脉冲输入,输出的结果都是25%,已经没有测量的意义了,直接给个25%的结果就完了。
其实最靠谱的做法还是低通滤波再测直流。
images/back.gif

您说得对,这个结果没考虑到。

psir_murphy 发表于 2011-8-10 15:56:57

向各位大大报告一下:

我制作了如下一个电路,总共是(÷2)×(÷5)×(÷2)×(÷5)=÷100,
但发现一个致命伤,就是从第一阶÷2开始,就无法反映周期的变动,
这样用除频的方式就不能用了,可能要改成单击电路(Single shot)可能比较有效。

jackrao 发表于 2011-8-10 16:59:49

引用第27楼psir_murphy于2011-08-1015:56发表的:
向各位大大报告一下:

我制作了如下一个电路,总共是(÷2)×(÷5)×(÷2)×(÷5)=÷100,
但发现一个致命伤,就是从第一阶÷2开始,就无法反映周期的变动,
这样用除频的方式就不能用了,可能要改成单击电路(Single shot)可能比较有效。
....... https://bbs.38hot.net/images/back.gif

周期是频率的倒数,应该是可以反映出来的,但是宽度肯定是反映不出来了,二分频后的占空比一定是50%的,输入的宽度信息就丢失了,之后就不可能再找回宽度信息了。
建议你还是用模拟电路做,真的,别折腾了,数字的方法在这里未必能有好的效果。

psir_murphy 发表于 2011-8-11 09:24:38

引用第28樓jackrao於2011-08-1016:59發表的:

週期是頻率的倒數,應該是可以反映出來的,但是寬度肯定是反映不出來了,二分頻後的佔空比一定是50%的,輸入的寬度信息就丟失了,之後就不可能再找回寬度信息了。
建議你還是用模擬電路做,真的,別折騰了,數字的方法在這裡未必能有好的效果。

images/back.gif

請問什麼是模擬電路?能否稍微解释一下,谢谢。
页: [1] 2
查看完整版本: 请问如何将一个方波降频 1000 倍但佔空比不变