(一)前言
本系列文章就笔者在大二下学期进行《数字电子线路》课程设计的题目:十字路口红绿灯自动控制系统 进行详细的讲解,希望对读者有所帮助。
(二)目录
一、主要指标及要求
二、电路工作原理
1、工作原理系统框图
2、方案选择
三、单元电路设计
1、脉冲信号发生器
2、倒计时计数器
3、状态控制器
4、红绿灯控制逻辑与红绿灯显示电路
5、数码管译码器与显示电路
四、完整的电路图
五、仿真及结果
1、单元电路仿真结果
2、 整体仿真结果
六、PCB的绘制:
七、电路性能指标测试结果
附录:元器件清单
(三)正文
一、主要指标及要求
设计十字路口红绿灯自动控制系统,同时控制主干道和支干道的红绿灯和倒计时显示,指挥十字路口车辆和行人有序通过,维持交通秩序和保障车辆、行人的安全。
⑴完成红->绿->黄->红->绿->黄……交通信号灯的循环,并添加黄灯闪烁功能,以警告车辆和行人红灯的到来;
⑵主干道和支干道红、绿灯时长相同,为25秒,黄灯闪烁时间为5秒;
⑶用数码管显示倒计时。
二、电路工作原理
1、工作原理系统框图
2、方案选择
经过前期的调研与对本小组现有能力的结合,我们最终确定了最有可行性的设计方案。十字路口红绿灯自动控制系统由以下五个模块组成:脉冲信号发生器、倒计时计数器、状态控制器、红绿灯控制逻辑与红绿灯显示电路、数码管译码器与显示电路。各个模块的功能如下:
⑴脉冲信号发生器:
由NE555无稳态构成多谐振荡器,利用公式计算配置,产生周期为一秒的时钟脉冲信号。
⑵倒计时计数器:
由两片74LS190N十进制可逆计数器构成,通过控制置数输出个位、十位BCD用于数码管显示,并控制状态控制器的状态变化。
⑶状态控制器:
由一片74LS74N双D触发器构成四进制计数器构成,分配00、01、10、11状态加上一系列逻辑控制红绿灯的显示。
⑷红绿灯控制逻辑与红绿灯显示电路:
由74LS86N异或门、74LS04N非门、74LS10N三输入与非门、74LS08N与门构成组合逻辑电路和发光LED构成,输出信号控制红绿灯的亮灭。
⑸数码管译码器与显示电路:
由74LS48N共阴极数码管译码驱动电路和共阴极数码管构成,将倒计时计数器的十位、个位BCD码显示输出。
三、单元电路设计
1、脉冲信号发生电路(典型电路啦,可以不需要明白原理,直接拿过来用)
脉冲信号发生器由NE555无稳态模式构成多谐振荡器产生周期一秒的脉冲信号。
⑴NE555引脚图及逻辑关系真值表:
利用其无稳态模式构成多谐振荡器:
⑵电路震荡周期可由以下公式得出:
振荡频率:
占空比:
经查阅典型电路,产生一秒周期的脉冲信号,可选取电阻44KΩ和50KΩ、电解电容10uF、无极性电容100nF,具体电路如下:
仿真波形:
周期998.542ms约为1秒,符合设计要求。
2、倒计时计数器(这个是在计数器的基础上改进的,需要理解)
倒计时计数器由两片74LS190N十进制可逆计数器构成,通过在十位置数端置00()0、个位置数端置0101来构成25/5进制倒计时计数器,由的状态控制倒计时为25进制还是5进制。
⑴74LS190引脚图及真值表如下:
⑵倒计时模式25/05进制切换控制:
用两个74LS190级联构成100进制计数器,再利用异步整体置数法构成25进制计数器,即当=1(状态控制器状态为10或01)时,计数模式为25进制;即当=0(状态控制器状态为00或11)时,计数模式为5进制。电路状态控制器的原理详见3。
倒计时计数器电路原理图如下:
3、状态控制器(设计的精髓)
状态控制器的设计是本次课程设计的难点,也是很有创新性的巧妙设计。状态控制器由一片双D触发器74LS74及非门74LS04、与门74LS08、异或门74LS86组成。
⑴双D触发器74LS74、非门74LS04、与门74LS08、异或门74LS86引脚图及真值表:
①双D触发器74LS74
②非门74LS04
③与门74LS08
④异或门74LS86
⑵状态控制器的设计:
①电路状态分配如下所示:
采用格雷码的编码方式,有效避免了多个跳变沿不能对齐而产生的竞争冒险,使电路能稳定的按……的方式循环。
②状态控制器状态转移逻辑推导:
将D触发器的反相输出端反馈接到作为输入,这样就使得每一次D触发器被触发的时候,输出总是与上一次的输出相反,这样,用两个D触发器再配合相应的逻辑就能够构成格雷码状态寄存器,实现00->01->11->10->00...的状态转移。如下图所示:
(格雷码状态寄存器)
此时,需要解决的问题是D触发器时钟跳变沿触发的问题,即要使格雷码状态寄存器在正常倒计时的时候保持响应的状态,又要在状态转移的时候引入跳变沿触发格雷码状态寄存器从而使状态发生转移。但是经过查找资料发现现有的方法跟我们目前的电路在思路上有很大区别,并不适用于我们的设计。在设计25/5进制倒计时计数器的时候我们用到了典型的整体置数法,利用其高位74LS190在借位时从0000->1001一瞬间的高电平加非门作为的触发信号的方法,我们将反馈回到状态控制电路,用作为,用作为,这样就能够在合适的时刻实现状态的转移了!真值表如下图所示:
这种方法不仅巧妙的利用了已有电路,节省了成本,而且十分稳定,没有导线多驱动的问题。
③状态控制器电路如图所示:
4、红绿灯控制逻辑与红绿灯显示电路
红绿灯控制逻辑与显示电路由红、黄、绿三色LED以及由三输入与门74LS10、非门74LS04、与门74LS08构成的逻辑组成。这个模块的设计难点在于逻辑推导。
⑴红、黄、绿灯控制逻辑推导:
由于我们的题目是红绿灯需要引人注目,而TTL输出高电平>2.4V,如果限流电阻太大会导致电流很小,LED亮度不高,在明亮的白天不太明显,我们就采用了5V电源驱动,因此LED灯被选中发光的时候是低电平有效,利用状态控制器的输出,有以下控制逻辑真值表:
由真值表可推导出以下控制逻辑表达式:
但是设计要求黄灯闪烁,最简单的方法是引入NE555产生的脉冲信号CLK,修改后的控制逻辑表达式如下:
⑵红绿灯控制逻辑与红绿灯显示电路原理图
5、数码管译码器与显示电路
数码管译码器与显示电路由共阴极数码管译码驱动电路74LS48和八段数码管组成,两个74LS48分别将个位、十位74L90输出的BCD码转化为共阴极数码管段选码,并驱动共阴极数码管的输出。
⑴74LS48引脚图及真值表:
⑵共阴极七段数码管显示原理
数码管由abcdefg7段发光LED排布而成,其阴极接到公共地,输入高电平,对应的数码管段被点亮。由于gfedcba点亮的编码非二进制编码,因而需要译码电路将二进制BCD码转化为共阴极数码管段选码。
⑶数码管译码器与显示电路原理图:
四、完整的电路图
在(上)篇我们一起构建了multisim仿真原理图,在(下)篇笔者将带领大家完成电路的实现工作。