您的位置: 网站首页 > 电子与嵌入式 > 数字电子技术与逻辑设计教程 > 第10章 数字系统 > 【10.5 数字系统设计实例】

10.5 数字系统设计实例

 

10.5  数字系统设计实例

本节来设计系统时钟,本例的控制器有两个外部控制开关输入,所以在设计中要考虑它们的控制优先权。

系统时钟是一种多功能的时钟产生电路,它有两种工作模式:自动工作模式和人工工作模式。按自动工作模式工作时,该电路对输入时钟进行二分频;按人工操作模式工作时,每按一下令电路产生时钟上升边沿的按钮开关PB,电路就输出一个时钟上升边沿。

1)明确设计任务。

本电路需要两个控制输入开关,一个是选择工作模式的开关M,另一个是使电路产生时钟上升沿的按钮开关PB。当M=0时,按自动模式工作;当M=1时,按人工操作模式工作。当PB=1时,令电路产生一个时钟上升沿;当PB=0时,电路不输出时钟上升沿。令电路输出为CLK,输出一个时钟上升沿就是CLK0变为1一次。电路产生二分频输出,就表示CLK的频率是电路输入时钟CP频率的一半。按照设计任务的要求可以判断,M的控制优先级是高于PB,所以在M=0时,PB不起作用,只有在M=1时,PB才起作用。系统时钟的示意图如图10-19所示。

2)确定控制算法。

因为M的控制优先级高于PB,故可先画出M=0时的那一部分流程图,然后再在它上面补上M=1时的那一部分流程图,这样就构成了完整的控制算法流程图,如图10-20所示。

    

10-19  系统时钟示意图             10-20  系统时钟的算法状态及流程图

下面来分析流程图。M=0时的那一部分流程图表示每隔两个时钟周期,系统时钟电路的工作就循环一次,也就是LH状态各出现一次,并产生一个CP时钟周期的CLK输出。当M=1时,如果PB=0,不管现状是H还是L,其下一个状态总是L状态。只要这两个开关的状态不变,系统时钟将一直工作在L状态。这表明电路不输出一个时钟上升边沿。

在系统时钟电路中,外部来的两个异步输入信号MPB,因作用的电路是两状态的,转换竞争不会导致其功能的破坏,因此可不加以同步化,直接将其作为控制输入。

3)用硬件实现控制算法。

可以用传统算法来实现流程图10-20。设L状态的编码为A=0H状态的编码为A=1,可以列出其状态转换表,如表10-8所示。

10-8  系统时钟电路状态转换表

现态

次态

现态

次态

A

MAN

PB

A*

A

MAN

PB

A*

0

0

D

1

1

0

d

0

0

1

0

0

1

1

0

0

0

1

1

1

1

1

1

1

根据表10-8,可以列出D触发器的输出和控制输入逻辑函数表达式:

A*=A'·M'+A'·M·PB+A·M·PB

=A'·M'+M·PB

CLK=A

由此可以画出逻辑电路图,如图10-21所示。

10-21  系统时钟的逻辑电路图