原创 使用选择与非门CD4019搭建双稳态触发器

2007-3-22 16:57 12052 7 7 分类: 通信

作者: Panic 2007年3月22日


 这几天在设计一个电路,用来检测飞行中弹丸的速度。电路的详细内容我会另外写随笔,这里只介绍个大概。


电路使用两个 LED-光敏管对,当弹丸穿越第一个 LED-光敏管对 的时候,产生一个脉冲信号,送由单片机开始计时,穿越第二个的时候,计时停止,并且根据两个 LED-光敏管对 的距离计算速度。


实际上,由于弹丸的飞行轨迹不规则,所以单一的 LED-光敏管对无法有效实现检测,所以需要使用一排形成一个面检测。形成面检测之后,还需要考虑弹丸轨迹和检测面不垂直引起的角度误差,这个误差会导致对距离的计算出错,所以又不得不增加一排 LED-光敏管对 实现x轴和y轴的同时检测,利用发生检测响应的器件的资料,来计算弹丸的空间位置。因为弹丸穿越过程非常短暂,并且在不同的 LED-光敏管对 上形成脉冲的时间不完全相同,单片机没有办法在穿越的瞬间就读取全部资料,所以需要一个缓冲器,把穿越的时候发生了检测动作的 LED-光敏管对 的资料记录下来。进行这个记录的最简单的方式就是一个双稳态触发器。


我已经在光电管的输出级使用了施密特触发器来确保脉冲的幅度,虽然使用分立元件的双稳也是可行的,但是这会导致元件数量太多,布线和焊接困难。于是我决定使用一个集成电路来完成这个工作。


在寻找了一些触发器,缓存器的资料之后,我发现这些器件都有一个共同特点,就是用enable来控制输入,而实际的数据信号必须自我保持直到enable完成,很明显我的上一个输出级只能产生方波脉冲,无法满足这样的条件。


经过考虑,我发现我需要的是这样一个逻辑结构:


点击看大图


当ENABLE端处于低电平的时候,输出为低电平,无论INPUT端信号如何,都不会引起状态翻转。


当ENABLE端处于高电平的时候,输出保持不变,但是一旦INPUT出现高电平脉冲信号,输出就变为高电平,并且在信号消失后仍然保持。


经过仔细寻找,终于发现了一款CD4019可以满足要求。


CD4019是选择或非门,逻辑结构如下:


点击看大图


把KA和KB短接,然后每个逻辑组的一个输入端直接接到输出端,刚好就形成了我所需要的逻辑。


这样一来,功能就实现了,首先ENABLE置低电平,所有输出变为低电平。然后拉高。这时候弹丸穿过,所有检测到弹丸的 LED-光敏管 通过施密特触发器输出一个窄脉冲,引起对应门电路翻转。


弹丸穿越之后,单片机有充足的时间读取翻转后的状态,然后重新复位,等待下一次输入。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条