EDA365电子工程师网

标题: 求助:如何用数字电路将两个方波转换成一个方波 [打印本页]

作者: chenzhouyu    时间: 2015-7-9 10:46
标题: 求助:如何用数字电路将两个方波转换成一个方波
大家好:) `& Y* {! q4 i( R! ^9 Y: d
       我想采集两个方波之间的时间间隔,微秒级的,我MCU直接采集,发现误差较大,稳定性也不理想;
* T" ]$ H5 g( b0 A" u3 t& k就想将两个方波转换成一个方波(用两个方波的上升沿作为触发信号),再用MCU读出转换后的方波的高电平时间。
$ P! U) h! o2 I, A
9 T! I7 i0 q/ ^4 {& x

1.png (11.15 KB, 下载次数: 0)

1.png

作者: fallen    时间: 2015-7-9 11:34
问下楼主,你是采集第一个方波的下降沿到第二个方波的上升沿的时间吗?
. ~/ V( S* e0 i: H+ V你之前用MCU是如何采集的,方便大概说下吗?
作者: wangshilei    时间: 2015-7-9 11:40
用MCU,  上升沿触发,检测到第一个上升输出高,第二个上升输出低。   
作者: chenzhouyu    时间: 2015-7-9 13:46
fallen 发表于 2015-7-9 11:34
: H0 Y. r  v! G# P. j, Z" f问下楼主,你是采集第一个方波的下降沿到第二个方波的上升沿的时间吗?2 _& A' @, H- Z8 v! }3 k8 d$ u
你之前用MCU是如何采集的,方便大 ...
, T0 r* k+ w% ?/ r, H) x/ I
我用的MCU是STM8S105K4系列的,外部用16M的晶体。
4 [* |! n& Y/ m( E1 V( P' @  `方法:用MCU的中断去采集,读出两个方波的上升沿时间间隔。& E7 v" G) |6 ]9 ~
由于两个方波的时间间隔极端情况低于10us,在进栈出栈及中断处理所花的时间可能会影响到测量的精度。3 }2 i8 v8 w0 f/ x% n# Y0 s/ m
现在想换一种处理方式,加一部分电路,实现以两个方波的上升沿为触发条件,生成一个方波,生成后的方波刚好是" R, A' ^; R( C3 q1 p
前面两个方波上升沿之间的持续时间,最后读出方波的高电平持续时间。6 F' M9 I% g9 A9 h; V0 y9 c! s

5 h: T) Z% k! {* Z+ n
作者: fallen    时间: 2015-7-9 14:58
我对MCU不太懂。我感觉你这两种方法好像要花掉同样的时间。同样要进两次中断。
  E4 A& o+ j' U% m4 A( D你能不这样,补偿一下中断的时间呢?
作者: pk1984    时间: 2015-7-9 17:57
加一个74ls74试试,把输入2分频
作者: chenzhouyu    时间: 2015-7-9 20:05
pk1984 发表于 2015-7-9 17:57
- @  ~2 z9 z' t加一个74ls74试试,把输入2分频
+ I. U$ K, J: C
谢谢!这是个办法!1 R$ B( q6 b" i

作者: myl593799546    时间: 2015-7-20 12:35
fallen 发表于 2015-7-9 14:58
! ?, T- |0 p+ U+ p2 r我对MCU不太懂。我感觉你这两种方法好像要花掉同样的时间。同样要进两次中断。
4 A% `- k, |) \- w3 w* `. e( q" U你能不这样,补偿一下中断 ...

5 i" t7 P1 r- R7 a9 q! l跟我之前那个题好像啊,哈哈
! \! Q9 y% c8 X. N' U2 n! q




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2