数字电路学不好?是因为你不懂时序!

【嵌牛导读】:学习数字逻辑这门课程的目的有两个,第一是为了后续的电路设计,是硬件工程师的入门课程;第二则是为了更好地理解计算机的工作原理,为后续嵌入式开发、软件开发等打下坚实的基础。绝大部分人应该属于后者,毕竟纯粹的硬件开发工程师职位不多。时序电路是数字逻辑这门课的关键,因为引入了时间这一维度,理解掌握其功能特性的难度比组合逻辑要高,因此,很多童鞋可能学到这有点晕,这是正常现象。应对办法也很简单:熟记典型的几个触发器功能特征,多做几个习题,对付考试和后续课程的理解绰绰有余。时序电路这门课程的要求是最终能够进行简单的电路设计(包括组合逻辑和时序逻辑),完成特定的功能。学会跑之前,要先学会走,也就是先看看别人的电路是怎么设计的,分析其规律,然后再尝试设计简单的电路。

【嵌牛鼻子】:数字电路、时序

【嵌牛提问】:许多人都说数电很难学,那我们该怎么来理解数电,快速高效地学好数电呢?

【嵌牛正文】:

分析原理

要对时序电路进行分析,需要先理解其结构特征,时序电路的基本结构如下图所示:


图1:时序电路结构特征

由图1知,时序电路由组合变换电路、存储电路和对外输出组合电路三部分组成。一般情况下,称存储电路中保存的数据为时序电路的状态;外部输出Z有两种形式,一种是Z只与电路的现态相关,称为Moore型电路,一种是与电路的状态和外部输入相关,称为Mealy型电路。

要分析时序电路,很多教材上要写第一步做什么、第二步做什么之类的,这种方法很容易让童鞋们死记硬背,误入歧途,较为合理的方法应该是抓住时序电路的本质,即是什么导致电路状态发生改变?电路的状态如何改变?电路的对外输出是什么规律?这三个问题搞清楚了,画出电路的状态迁移图,根据状态迁移图对其功能进行说明,简单的分析就算完成了。

什么导致电路状态发生改变?

答:激励方程,即存储电路的输入(激励就是输入,在本课程中特指触发器的输入)

电路状态如何改变?

答:次态方程,比如J-K触发器和D触发器等,这就需要大家熟记几种典型的触发器的功能特性。当然,后面还会提到一些典型的时序电路逻辑器件如计数器、移位器等,这也需要大家灵活理解并熟记。

电路对外的输出是什么规律?

答:输出方程,就是一个组合电路,比较简单。

综上,只要抓住这三个方程,电路分析不是什么难事,大家只要掌握这个规律,没有分析不了的电路。

举例说明

根据上面的原理,下面由简单到难,分别举两个例子进行分析。

例1:试分析下图所示时序电路,画出X=101101的时序图。

图2:例1电路图

显然,这时一个同步的Mealy型电路(Z与输入和X和D触发器的状态相关),分别写出输出方程、激励方程和次态方程:

图3: 例1的三个方程

由此,可以写出电路的次态(状态转移)和输出:

图4: 例1的次态和输出表

根据输出表,画出电路的状态转移图和波形图,分别入图5和图6所示:

图5:例1的状态转移图

图6:例1的波形图

注:在画波形图时,一定要搞清楚哪是现态,哪是次态,输出是和输入和现态同步变化的(这里指的是理想情况),因此这里的D触发器是上升沿时引起状态变化,所以,要以CP从0跳变到1为界区分现态和次态

根据状态转移图,很容易看出,例1中的功能为:当输入为1时,电路状态变化,且当处于0状态时,输入1,输出为1,当处于1状态时,输入1,输出为0;其它输入(即0),电路状态保持不变,且输出为1.

例2: 分析下图的逻辑功能

其中的D0的输入为D00*D01

图7: 例2的电路图

这个电路的特点是:只有一个CP输入,没有其它输入,也没有输出,只有电路状态的转移。(另外,这四个D触发器的状态组成了电路的状态)因此,这里只需要分析其激励方程和状态转移方程(D触发器的状态转移这里不再赘述)

这个电路中每个触发器的激励方程为:

图8: 例2的激励方程

对于这样的电路,可以口述,假设Q3Q2Q1Q0初态为0000,当一个时钟脉冲来临时,Q3Q2Q1Q0转换为:0001;再来一个时钟脉冲则为:0011,类似进行分析,可以得到其转换状态为:

图9: 例2的状态转移表

类似这样的电路在后续学习中非常常见,请大家熟悉,并且最好能直接口述或绘制其状态转移图

小结

对于时序电路分析,抓住核心的三个方程(根据情况),很容易绘制状态转移图和波形图。

如有错,请各位批评指正

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 学习数字逻辑这门课程的目的有两个,第一是为了后续的电路设计,是硬件工程师的入门课程;第二则是为了更好地理解计...
    CodingTech阅读 3,574评论 2 8
  • 一个计数器通常是由一组触发器构成,该组触发器按照预先给定的顺序改变其状态,如果所有触发器的状态改变是在同一时钟脉冲...
    锦穗阅读 14,675评论 0 6
  • fpga规范 工作过的朋友肯定知道,公司里是很强调规范的,特别是对于大的设计(无论软件还是硬件),不按照规范走几乎...
    Michael_Johnson阅读 1,969评论 1 4
  • 概述 时序电路是数字逻辑课程的核心部分,也是学习后续硬件相关课程的重要基础部分,PC中的计数器、内存、倍频/分频器...
    CodingTech阅读 2,513评论 5 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,281评论 19 139