毕业实习报告.docx
- 文档编号:29547614
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:19
- 大小:490.11KB
毕业实习报告.docx
《毕业实习报告.docx》由会员分享,可在线阅读,更多相关《毕业实习报告.docx(19页珍藏版)》请在冰豆网上搜索。
毕业实习报告
北京经济管理职业学院
实习单位:
北京经济管理职业学院
实习时间:
2012.2-2012.6
学生姓名:
牛赫
学号:
20090625113
系部:
机械电子工程系
专业:
____应用电子技术
完成日期:
2011年3月30日
实习报告
数字电路与逻辑设计是计算机专业和电子信息类专业的一门重要硬件基础课,其理论性和实践性很强,尤其强调工程应用。
数字电路又是现代电子技术、计算机硬件电路、通信电路、信息与自动化技术的基础.而且是集成电路设计的基础!
在高速发展的电子产业中数字电路具有较简单又容易集成的课程。
在此次实训中,我们充分利用学过的数电模电知识来设计一些简单实用的逻辑电路。
同步时序逻辑电路的设计,就是根据逻辑问题的具体要求,结合同步时序逻辑电路的特点,设计出能够实现该逻辑功能的最简同步时序电路。
同步时序逻辑电路中含有组合逻辑电路部分和存储电路部分,组合电路的设计在第四章已作介绍,本节主要介绍存储电路部分的设计。
存储电路部分主要用到的是触发器。
一、设计方法
同步时序逻辑电路的设计的过程可以用图1简单表示。
图1
具体步骤为:
1.根据所给逻辑设计的要求,进行逻辑抽象,将实际问题总结为逻辑问题。
根据电路的设计要求,确定输入量和输出量,并且定义输入和输出量逻辑值的含义,用字母表示出这些变量,例如输入量用X表示,输出量用Y或Z等表示。
2.建立原始状态转换图或状态转移表。
根据设计要求,确定系统的原始状态数,用字母表示出这些原始状态,例如用Sm来表示(m为0、1、2…)。
找到原始状态Sm之间的转换关系,作出在各种输入条件下状态间的转换图或状态转移表,标明输入和输出的逻辑值。
3.原始状态的化简。
在建立原始状态数时,主要是反映逻辑电路设计的要求,定义的原始状态图可能比较复杂,含有的状态数也较多,也可能包含了一些重复的状态。
在设计中是要用最少的逻辑器件达到设计要求,如果逻辑状态较多,相应用到的触发器也就多,设计的电路就较复杂。
为此,应该对原始状态进行化简,消去多余的状态,从而得到最简化的状态转换图。
状态的化简就是进行状态合并。
用一个状态代替与之等价的状态。
逻辑状态等价的依据是:
(1)状态Si、Sj,在相同的输入条件下,状态Si、Sj对应的输出结果相同;
(2)状态Si、Sj,在相同的输入条件下,状态Si、Sj转移效果完全相同。
满足上述两个条件的状态,就是等价状态,可以将这些等价状态合并为一个状态。
状态Si、Sj转移效果相同的情况可能有以下三种情况:
(1)次态相同
状态Si、Sj,在相同的输入条件下,转移到相同的次态,则状态Si、Sj转移效果相同,可以进行状态合并。
图2说明了两个状态在相同的输入条件下次态相同的情况,用[Si,Sj]来表示状态Si、Sj的等价,称为一个等价类,Si和Sj可以合并为一个状态。
图2
等价关系具有传递性,如图3所示,S1、S3在相同的输入条件下分别转移到S2和S4状态,它们的输出也相同,而S2和S4在相同的输入条件下转移到相同的次态S5,输出也相同,S2和S4是等价状态,所以S1和S3也是等价的,可以合并。
用[S1,S3]来表示状态S1、S3的等价,S1和S3是一个等价类。
用[S2,S4]来表示状态S2、S4的等价,S2和S4是一个等价类。
图3
对于逻辑状态较多或者不能直接看出逻辑间的等价时,可以用隐含表法来寻找状态的等价,这一点在例3中进行具体介绍。
(2)次态交错
次态交错是指在某种输入条件下,Si的次态为Sj,Sj的次态为Si。
图4说明了次态交错的情况。
状态S1和S3在输入1时,转移的次态相同,而且输出也相同。
在输入0时,S1转移的次态是S3,S3转移的次态是S1,输出结果均相同,属于次态交错情况,S1和S3是等价状态,S1和S3可以合并为一个状态。
用[S1,S3]来表示状态S1、S3的等价。
图4
(3)次态循环
次态循环是指次态之间的关系构成循环。
如Si和Sj在某种输入条件下的次态分别为Sm和Sn,并且输出相同;Sm和Sn在另外输入条件下的次态分别为Si和Sj,输出也相同,则状态Si和Sj等价,用[Si,Sj]来表示状态等价。
4.状态分配
经过状态的合并之后得到了最少的状态数m,则可以得知需要用的触发器数n,n的值应该满足
<m≤
状态的分配就是给化简后的各个状态分别分配一组代码。
例如,化简后得到的状态有S0、S1、S2和S3,可知应该用2个触发器来实现,状态编码可以用二进制编码方式,令S0=00、S1=01、S2=10、S3=11,也可以用循环码来编码,令S0=00、S1=01、S2=11、S3=10。
5.求出状态方程和驱动方程及输出方程
首先根据状态转移表或者状态转换图作出卡诺图,也就是用卡诺图来表示状态转移表(图)。
以卡诺图的横向和纵向组合对应的逻辑值为初始状态,在小方格中填入次态结果。
例如:
某一时序电路有4个状态循环如图5(a)所示,则用卡诺图来表示的状态转换图为图5(b)所示。
此时的卡诺图只是状态转换图的另外一种描述状态间转换的方法。
将卡诺图分解为各个触发器输出端次态
的卡诺图,如图5(c)所示。
通过卡诺图化简逻辑函数,可以得出
函数表达式,即得状态转移方程,与所选触发器得特性方程比较,可以得出驱动方程。
同样得方法总结出输出端的卡诺图,化简得出其逻辑函数表达式。
图5
6.自启动检查
在状态编码中可能还存在偏离状态,这时就要进行自启动检查。
将偏离状态值代入状态转移方程中,检查这些偏离状态能否进入到正常得计数循环中去,如果能够进入,则说明所设计的电路可以自启动,否则不可以自启动,需要修改状态转移方程,电路也该作相应的修改。
7.根据所选触发器画出逻辑电路。
以上是同步时序逻辑电路的设计步骤,下面通过一些实例来运用这些设计方法。
二、设计举例
例设计一个五进制计数器,进位输出端Y,分别用JK触发器和D触发器实现该设计电路。
解:
根据前面的同步时序逻辑电路的设计步骤,解题如下
步骤1.根据题意,该设计为计数器电路,所以除了时钟信号外,没有其他的输入量,输出量为Y,表示进位,用1来表示有进位,0表示没有进位。
步骤2.由于题中已经明确了是五进制计数器,应该用5个状态来表示五进制计数器对应的5个逻辑状态循环,设这5个状态分别为S0、S1、S2、S3和S4,所以可以作出其原始状态图为图6(a)所示。
图6
步骤3.由于五进制计数器必定有5个状态循环,它们在相同的输入会转移到不同的次态,所以原始状态图已经不可以进一步化简,没有可以合并的状态。
这一步骤可以省去。
步骤4.要表示5个逻辑状态的循环,至少要用3位二进制数来表示,所以用到的触发器数为3。
对于状态S0、S1、S2、S3和S4的编码这里采用二进制方式,令S0=000、S1=001、S2=010、S3=011、S4=100,这时状态转换图为6(b)图所示。
步骤5.以卡诺图中纵向与横向对应作为初始状态
,如初态
,结合状态转换图6(b),则次态为
将其填入卡诺图中对应的小方格里。
如此对应的填入状态循环中的所有状态,由于偏离状态在卡诺图中没有出现,所以在这些小方格中填入任意项。
可以作出该状态转换图的卡诺图表示为图7(a)所示,斜线下方是输出端Y的值。
图7
将图7(a)的卡诺图分解得到图(b)、(c)、(d)和(e)。
为了得到最简表达式,将卡诺图中某些无关项视为1或0,化简卡诺图得到状态转移方程
输出方程
采用JK触发器实现逻辑设计时,在卡诺图画圈时必须注意保留触发器的
或者
项,便于写出驱动方程。
在化简得到
的结果时,如果利用了无关项,将会消去
项,虽然可以通过在
表达式中乘以(
)项,但是这样得到的结果会更复杂,所以在式的化简结果中保存了
或者
项,便于得出驱动方程。
采用JK触发器实现电路,则根据JK触发器的特性方程
进行比较得出驱动方程为
若用采用D触发器实现电路,可以不必保留化简结果中的
或者
项。
其状态转移方程为
结合D触发器的特性方程
与前式进行比较得出驱动方程为
步骤6.在画出逻辑电路前,还必须检查该设计能否自启动。
画出其完整状态转换图,如图8所示。
图8(a)中画出了用JK触发器设计时的完整状态转换图。
图8(b)为用D触发器设计时的完整状态转换图。
图8
从图8可以看出,虽然两个状态转换图中偏离状态的转移情况有部分不同,但是它们的正常计数循环都是相同的,所以无论用JK触发器还是用D触发器来设计此时序逻辑电路,电路都可以自启动。
步骤7.根据式8驱动方程来画出电路。
如图9所示,图中的(a)图为用JK触发器设计的五进制计数器,图中的(b)图为用D触发器和与-非门设计的五进制计数器。
从图9来看,选用不同的触发器,电路的复杂程度是不同,电路的设计还与状态编码有关,读者可以采用循环码的编码方式来设计该逻辑电路,在此不再赘述。
图9
在本例中,将卡诺图中的有些无关项作为了1处理,有些作为了0处理,这些无关项的处理与电路设计是有关系的,如果在卡诺图的化简中,用图6.4.10的方式处理无关项,结果得到的设计电路将不能自启动。
从图10可知,偏离状态111的下一个状态为110,110的下一个状态为111,如此循环,它们不能进入到有效循环中去。
时序逻辑电路的设计中,在处理卡诺图中的无关项时必须注意这一点。
图10
例设计一个模可变计数器,当控制信号M=1时为六进制计数器,当控制信号M=0时为四进制,进位输出端Y,用JK触发器实现该设计电路。
解:
本例的设计要求是一个进制数可变的计数器,M为工作模式的控制端,也就是输入量。
由于输入量M的逻辑含义在题中已经确定,所以只需确定输出量Y的逻辑含义,用1来表示有进位,0表示没有进位。
据题意,在M=0时,工作在四进制循环状态,设状态循环为S0、S1、S2和S3,在M=1时,工作在六进制循环状态,设状态循环为S0、S1、S2、S3、S4和S5,建立原始状态转图如图11(a)所示。
由于不存在等价状态,所以不能进行状态简化。
本设计中用到了6个状态,所以用3个触发器来实现状态的记忆。
对原始状态转换图进行状态编码得到11(b)中的状态转换图。
图11
状态图中反应了在输入条件下,状态间的转换关系。
进一步用卡诺图来表示状态间的转化情况,图12所示为例子的卡诺图。
卡诺图中将没有出现的状态编码作为了无关项处理。
图12
从图12可以看出触发器次态
与初态
、输入量M之间的关系,化简卡诺图得到3个触发器的状态转移方程为
输出端方程为
设计是否合理还需将偏离状态代入式中,检查偏离状态能否进入到计数循环中去,若可以进入正常的计数循环中,则可以自启动。
也可以结合图12的卡诺图中的无关项的处理来检查自启动,卡诺图中被圈的无关项作为了“1”处理,没有被圈的无关项作为了“0”处理,于是可以得到完整状态转换图如图13所示。
图13
从图13可知,偏离状态可以进入到有效计数循环中,可以自启动。
根据据状态转移方程式来设计电路是可行的,从而得出驱动方程为
据驱动方程不难画出逻辑电路,如图14所示。
图14
例设计一个串行数据转换电路,已知串行数据输入端X所加的是两位8421BCD码,输出端为Y为两位串行循环码,用JK触发器实现此逻辑电路。
解:
用组合逻辑电路的方法也可以实现代码转换,不过其实现的是并行码的转换,由于本题的输入和输出端只有一个,每输入一位数据都必须记忆,所以只能用时序逻辑电路的设计方法。
输入端X的两位串行8421BCD码数据分别为:
00、01、10、11,输出端Y的两位串行循环码数据分别为:
00、01、11、10,设计任务就是要将输入的8421BCD转换为循环码。
即:
输入
00
01
10
11
↓
↓
↓
↓
输出
00
01
11
10
输入数据时,假设先输入高位数,然后输入低位数。
设电路的初始状态为S0,输入数据X,加入时钟信号边沿,触发器状态发生翻转。
第一次输入的数据(输入高位)只有两种可能性,分别时0和1,用状态S1和S2来分别记录这种新的状态,此时的输出Y分别为0和1。
在第2次输入数据(输入低位)时分别又有两种可能,分别是0和1,对应得到的新的状态有4种,分别记作S3、S4、S5和S6,输出端Y的值分别为0、1、1和0,根据分析可以作出原始状态转换图为图15所示。
图15
图15表示出了原始状态之间的转换关系。
S1状态说明已经输入了一位高位数为0,输出则为0,S3状态说明输入数据的低位为0,输出则为0;处于S3状态时,如果再输入下一位数据为X=0,则从S3状态转移到S1状态,说明输入数据的高位为0,输出为0,如果输入的数据为X=1,则从S3状态转移到S2状态,说明输入数据的高位为1,输出为1。
当电路处于S1状态时,说明已经输入了一位高位数为0,输出为0,从状态S1转移到S4状态,说明又输入了一位低位数为1,输出则为1;处于S4状态时,如果再输入下一位数据为X=0,则从S4状态转移到S1状态,说明输入数据的高位为0,输出为0,如果输入的数据为X=1,则从S4状态转移到S2状态,说明输入数据的高位为1,输出为1。
同样的可以得出状态S5和S6的转换关系。
根据原始状态图可以画出原始状态转换表。
如表所示。
原始状态转换表
初态
次态
输出Y
输入X=0
输入X=1
X=0
X=1
S0
S1
S2
S3
S4
S5
S6
S1
S3
S5
S1
S1
S1
S1
S2
S4
S6
S2
S2
S2
S2
0
0
1
0
0
0
0
1
1
0
1
1
1
1
将原始状态图化简,合并等价的逻辑状态,寻找状态间的等价应该遵循时序电路设计方法中的第3点,为了可以方便地找出等价状态,可以采用隐含表的方法,
隐含表就是把原始状态表中的各个状态用图形的方法表示出来,便于查找等价状态的一种方法。
隐含表为一个等边直角三角形网格,横向从左到依次右标记为第一个状态至倒数第二个状态,如图16(a)中的横向标记为S0、S1…S5,纵向从上到下依次标记为第二个状态至最后一个状态,如图16(a)中的纵向标记为S1、S2…S6。
图16
这样在可以在网格中记录原始状态中的两两对应关系,将它们间的等价关系填入网格中。
如果两个状态满足等价关系,则在网格中记作“√”;如果两个状态间不满足等价关系,则在网格中记作“×”;如果两个状态是否等价取决于其他状态是否等价,则在网格中填入其他的状态。
结合原始状态表,可以先将S0状态与其他6个状态进行比较,得到的等价关系记入图16(b)中,在图16(b)的S0对应的一列中,S0和S1的等价性取决于S1和S3、S2和S4是否等价,所以在其网格中填入的是状态S1.S3、S2.S4。
依次将原始状态表中的状态进行比较,得到图16(b)的隐含表。
从图16(b)可以进一步判断等价状态,因为S2的输出结果与其他状态都不相同,所以状态S2与其他任一状态都不等价,比较其他的状态可以得到图16(c)
的全部状态等价关系。
从化简的结果可以得到等价关系[S0S3S4S5S6]、[S1]、[S2]。
可见经过状态合并后的状态只有三个,可以用S0来代替状态S3、S4、S5、S6,化简后状态转换表,如表所示。
化简后的状态转换图如图17(a)所示。
图17
状态合并之后的转换表
初态
次态
输出Y
输入X=0
输入X=1
输入X=0
输入X=1
S0
S1
S2
S1
S0
S0
S2
S0
S0
0
0
1
1
1
0
将状态S0、S1、S2进行编码,因为用到的只有3个状态,所以用两位二进制数表示即可。
用00来表示状态S0,用01来表示状态S1,用11来表示状态S2。
图17(b)为编码后的状态转换图。
根据编码后的状态转换图可以作出卡诺图如图18所示。
图18
应用无关项化简卡诺图可得到触发器得状态转移方程
输出端方程为
在上面的化简中用到了无关项,式子是否合理,还需进行自启动检查,将没有用到得状态
,代入式中可以作出完全状态转换图如图19所示。
图19
从图19的完整状态转换图中可以看出,一旦电路处于偏离状态时,只要输入X,一个时钟脉冲之后便可进入有效循环,则系统可以从偏离状态中转化到正常的状态循环中去。
系统便可以自启动。
所以可以根据式子来求驱动方程。
由于要用JK触发器来实现该逻辑设计,在得到驱动方程前,应该将式子写成JK触发器得特征方程得形式。
即将式子变化为
所以可以得到JK触发器得驱动方程为
根据式子的输出方程和驱动方程,可以画出逻辑电路图20所示。
图20
根据设计的逻辑电路,设电路的处于初始状态时,触发器输出都为0,现将输入端连续输入数据00101101010011(先输入高位),可以用下表来表示输出端对应得到的变换代码。
输入端和输出端的编码转换关系
时钟CP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
输入X
0
0
1
0
1
1
0
1
0
1
0
0
1
1
状态
01
00
11
00
11
00
01
00
01
00
01
00
11
00
输出Y
0
0
1
1
1
0
0
1
0
1
0
0
1
0
总结:
在这次实习之中,我对以前学过的知识又有了新的认识。
不再局限在课本之中了。
能利用学过的知识进行创新。
在这短短一个月的时间里,我的专业技能又有了提高。
现在我已经非常熟悉那些常用的逻辑芯片如74系类的芯片。
对触发器又有了新的了解。
如D触发器、JK触发器、RS触发器,并能熟练运用他们。
现在在我脑中有一个完整的知识体系。
知道怎么运用真值表、卡诺图、逻辑图、表达式来分析电路。
这次实训为我以后步入社会奠定了好的基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业 实习 报告