4.4 数字系统设计举例
1.两人乒乓游戏机
两人乒乓游戏机是以8个发光二极管代表乒乓球台,中间两个发光管兼作球网。用发光管按一定的方向依次闪亮来表示球的运动,在游戏机两侧各设发球/击球开关SA和SB,当甲方发球时,靠近甲方的第一个发光管亮,然后依次点亮第二个……球向乙方移动,球过网后到达设计者的规定的球位乙方即可击球,若乙方提前击球或未击到球,则甲方得分。然后重新发球进行比赛,直到某一方记分达到规定分,记分清零,重开一局比赛。其结构图如图4-7所示。
图4-7 乒乓游戏机的结构图
在确定两人乒乓游戏机的逻辑功能时,需要明确以下几点:
(1)输入、输出信号的特征,格式及传送方式。乒乓游戏机的外输入信号是发球/击球的开关信号SA、SB,这些信号是机械开关发出的短暂异步输入信号。输出信号是模拟乒乓球向左或向右运动的信号及自动记分信号。
(2)控制信号的作用及相互之间的关系。控制信号的作用是使乒乓游戏机按约定的比赛规则有序地工作。这里规定球移动到对方第二个发光二极管时允许击球。
通过分析设计任务,可以得到乒乓游戏机的方框图和逻辑流程图分别如图4-8和图4-9所示。
图4-8 乒乓游戏机逻辑划分方框图
图中C表示球到位可以击球的标志信号;m表示记分器已记满一局的信号;CNT为记分器时钟信号,Cr为记分器清零信号;S为决定乒乓球位置及移动方向的信号;SA、SB为开关控制的外输入发球/击球信号;STOP为球台清除信号。
根据流程图到MDS图的转换规则,由图4-9所示的流程图出发,并设定等待状态为Wait,甲方发球L1灯亮的状态为Light1,甲发球后球向乙移动的状态为MoveB,乙方发球L8灯亮的状态为Light8,乙发球后球向甲移动的状态为MoveA,一方失误另一方(胜方)加1分状态为End,则可画出乒乓游戏机的MDS图,如图4-10所示。
以上介绍的是自顶向下的数字系统的设计方法。可以看出,这种方法的关键在于设计控制器,其余部分只是选用不同的功能模块而已,这就将一个复杂的数字系统设计简化为一个时序机的设计。而控制器的设计关键在于建立逻辑流程图,即关键是对系统初始方案的确定,这在整个设计过程中是最富有创造性的,以后各步只不过是按一定方法向下延伸。这也就是自顶向下设计方法的优越性所在。
图4-9 乒乓游戏机逻辑流程图
图4-10 乒乓游戏机的MDS图
2.交通灯控制器
设计制作一个用于十字路口的交通灯控制器,如图4-11所示,具体说明如下。
图4-11 交通灯控制器示意图
(1)十字路口由一条交通干线和一条小路交叉而成,平时一般情况下干线放行;
(2)小路有车并且干线放行已经超过30s时小路才放行;小路无车即不放行;小路有车则连续放行时间也不能超过30s;
(3)显示放行时间;
(4)灯的变化规律:绿变黄、黄变红、红变绿。其中黄灯亮时间为5s;
(5)特殊情况红灯亮且时间显示停止计时,并闪烁。
图4-12、4-13、4-14、4-15分别是交通灯控制器的结构图、逻辑划分方框图、控制器部分逻辑流程图和MDS图。
图4-12 交通灯控制器的结构图
图4-13 交通灯控制器逻辑划分方框图
图4-14 交通灯控制器逻辑流程图
图4-15 交通灯控制器的MDS图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。