上一章我们通过555定时芯片实现了一个可以发出连续的脉冲信号的模块,但在实际开发中,我们可能需要随时停止CPU的运行,或者需要单步运行,这个时候我们就要用到单步脉冲了。

这一章,我们将基于NE555芯片来实现一个单步脉冲发生器以及脉冲模式的切换模块,最后整合这些模块,并完成一个真正的CPU时钟模块。制作过连续脉冲,再来研究单步脉冲相对来说就会比较简单了。

单步脉冲

在介绍单步脉冲前,先回顾下连续脉冲。

连续脉冲发生器原理图

上一章虽然通过原理图搭建了脉冲模块,但是并没有介绍脉冲发生的原理,我们先来了解一下信号发生的原理。

结合上一章的NE555内部原理图,我们直到OUTPUT引脚的信号输出实际上是SR触发器的Q引脚输出,也就是说,如果我们需要OUT引脚输出信号,555内部的SR触发器就必须为Q为高电平,也就是SET端需要给出一个高电平。继续梳理电路,发现内部SR触发器的SET端通过一个运放连接到2号引脚,RESET端通过一个运放连接到6号引脚,反Q端通过一个三极管连接到7号引脚。

显而易见,电容充电时,2号和6号引脚电压不断升高,经过简单计算(因为555内部有3个5kΩ的电阻,将内部电压"分成三份一样的电压"),在电压升到3.3v左右时,SR锁存器RESET端为高电平,反Q为高电平,OUT为低电平。反Q为高电平时,三极管激活,电容放电,直到结束。

同样根据这个原理,我们直到定时器频闪的频率可以和电容充放电的速度相关联起来。而电容充放电速度又与电流大小及电容容量有关,所以我们可以通过控制电流大小或电容容量来改变时钟频率。不过实际上电容大小不太好改变,但是改变电流大小还是很简单的,将电阻更换为可调电阻即可。

在回顾完连续脉冲发生器以后。我们再来看看步进脉冲发生器的原理图:

步进脉冲发生器