我使用7080的Counter Alarm mode做测量(Counter1输入要测量的脉冲,Counter0接入时钟脉冲。需要测出在counter1输入给定的脉冲数时,Counter0记录的时钟脉冲数,进而计算出流逝时间)。
我将7080设置成了alrm mode 1,然后设定了high alarm(1) 和 high high alarm的值(n),再打开计数器的gate, 从count1 输入信号发生器产生的脉冲。根据我的理解当第一个脉冲到达Counter1时,Counter0应开始计时,当第n+1个脉冲到达Counter1时,Counter0应停止计时。实际上也确实达到了目的。但是出现了一个我现在解决不了的问题,就是当多次测量时,在输入同样多的标准脉冲,7080的Alarm发生以后,从Counter0里面读出的时间脉冲会随机出现少了一部分的现象。也就是Counter1输入同样多的脉冲,而作为计时器的Counter0,记录的时间会随机性地变短了。少的时间少则0.2秒,多的有2~3秒。我反复检查了我对读取7080计数器的代码,可以确信正常地打开了Gate,也可以确信每次7080都确实完成了计数和Alarm的动作,Counter0确实是在Counter1计数到n+1后停下了,但为什么会出现计时器时间变短的情况,我百思不得其解,请弘格的工程师指教。
又及:1.出现这种情况的时候,我从Counter1输入的信号频率约0.1Hz,或更低,通常将n设成3~5。
2.7080上同时并连着一块7017和三块7050,在读取7080的计数器同时还要读取7017和7050的输出。
3.反复试验证明,出现异常都是Counter0记录的时间脉冲变少,没有发现记录的时间脉冲多出来的现象。
楼主最近还看过