
本文共 1226 字,大约阅读时间需要 4 分钟。
从前一篇博客的设计灵感中,我汲取了交通信号控制系统的设计思路:将一大段时间切分为多个时间段,每个时间段内完成独立的工作即可。具体到交通信号控制系统上,这意味着将大段时间划分为红灯、黄灯和绿灯三个时间段。在每个时间段内,只有一种灯光亮起,其他灯光熄灭。
为了模拟路口交通控制系统的运行,我选择使用74160芯片通过同步置数法构建同步8进制加法计数器。这样,电路共有8个有效状态,分别是000、001、010、...、011。根据这一特性,我对信号亮起时间进行了如下划分:
设南北方向红灯亮与灭为变量R0,其中R0=0时该灯熄灭,R0=1时该灯点亮。
设东西方向红灯亮与灭为变量R1,其中R1=0时该灯熄灭,R1=1时该灯点亮。
设南北方向黄灯亮与灭为变量Y0,其中Y0=0时该灯熄灭,Y0=1时该灯点亮。
设东西方向黄灯亮与灭为变量Y1,其中Y1=0时该灯熄灭,Y1=1时该灯点亮。
设南北方向绿灯亮与灭为变量G0,其中G0=0时该灯熄灭,G0=1时该灯点亮。
设东西方向绿灯亮与灭为变量G1,其中G1=0时该灯熄灭,G1=1时该灯点亮。
根据上述变量设定,我们得到了下列状态表:
经过化简,我得到了以下六个逻辑表达式:
R0=Q2', Y0=Q2·Q1·Q0, G0=Q2·(Q1·Q0)'。
R1=Q2, Y1=Q2'·Q1·Q0, G1=Q2'·(Q1·Q0)'。
根据这些逻辑表达式,我绘制了对应的电路逻辑图:
为了设计功能更为完善的交通控制系统,其电路复杂度远超本例。以南北方向为例,假设南北方向的通行时间为26秒,黄灯等待/通行时间为3秒,红灯等待时间为71秒。根据上述假设,总共需要26+3+71=100个有效状态。
我们可以使用2片74160芯片的ENT引脚设计法构建同步100进制加法计数器,其中0~70划分给南北方向红灯,71~96划分给南北方向黄灯,97~99划分给南北方向绿灯。具体分析如下:
南北方向的信号划分如下:当电路状态为0~70时,R0=1,其余时刻R0=0;当电路状态为71~96时,G0=1,其余时刻G0=0;当电路状态为97~99时,Y0=1,其余时刻Y0=0。
东西方向的信号划分如下:当电路状态为0~67时,G1=1,其余时刻G1=0;当电路状态为68~70时,Y1=1,其余时刻Y1=0;当电路状态为71~99时,R1=1,其余时刻R1=0。
需要注意的是,状态值如92并不是直接转二进制数就能计算出来,而是需要采用8421码与10进制数的转换方式来转换:92→1001 0010。这样看来,真值表共有8个输入变量,电路化简的难度较大。
因此,设计一个简易的交通信号控制系统可谓是一个大工程。
除了电路化简难度较大外,还需要在路口增设基本的显示系统。这需要根据两个方向的逻辑来增设两套译码系统,其设计复杂度也较高,对于初学者来说难度较大。
如果日后能够将此问题完整设计出来,我会将成果发布到博客中与大家分享。
发表评论
最新留言
关于作者
