实际要求检测时间大约1 s,脉冲宽度保持在20 ms左右,采用5片74161级联,第5片计数器的ROC接D触发器的使能端。同步信号输入后,清零并开始计数,若不再出现同步脉冲,经16^5 个时钟周期后,第5片的RCO端输出一个高电平,使触发器的Q输出D(高电平),再过16^3*2个时钟周期后使第4片的QA,QB,QC,QD接组合门电路输出低电平,接到D触发器的计数器预制端,使Q输出为零。这样就实现经一定延时后的一定宽度的脉冲。经仿真结果如图4所示。 仿真平台采用Max+PlusⅡ,时钟周期设为10 ns,经计算可以知道在10.485 928 2 ms处产生宽度为81.92μs的高电平,但由于存在数据建立时间和保持时间,仿真结果中的变化时刻并不是严格与计算相符的,其中 q0,q1,q2,q3是第5片74161的输出,roc1是第4片的进位输出,roc是第5片的进位输出,roc1输出16个高电平后,roc同时输出一个高电平。图4中复位信号reset却在5.247 ms和10.485 297 9 ms处发生。第一个错误的原因是,由于计数器累加,内部走线造成的延时,当第5片计数器从0111状态跳变到1 000时,输入同时有3位变化,致使进位输出roc在roc1的第8个输出时产生了一个尖脉冲,使触发器的Q端提前发生电平转变,导致了在5.247 ms处产生错误复位信号。同样的原因,第4片的进位输出roc1在第14个输出跳变到第15个输出时发生毛刺,而该毛刺使第5片161进入计数状态,在roc端也产生了毛刺,就出现了图4中复位信号提前翻转的结果。 对于该电路中存在的毛刺问题,可以采用2种方法修改电路。由于该电路对时间要求的不是很严格,对第4,5片74LS161取1110状态做最后输出,就避免了由延迟造成的假象全1状态,仿真结果证明这种方法是有效的。但这种方法增加了逻辑门数量,同时也增加了险象发生的可能性。 |