8421码检测电路的设计.docx
《8421码检测电路的设计.docx》由会员分享,可在线阅读,更多相关《8421码检测电路的设计.docx(12页珍藏版)》请在冰点文库上搜索。
8421码检测电路的设计
数字电路与逻辑设计实验报告
实验九8421码检测电路得设计
姓名:
_________
学号:
17XXXXXX
班级:
电子XXXX
一、实验目得
1、了解检测电路得工作原理。
2、进一步掌握同步时序电路得设计方法。
二、实验器件
1、实验箱、万用表、示波器。
2、74LS73,74LS74,74LS00,74LS20,74LS197。
三、实验预习
根据使用器件得不同,我们可以设计出两种不同思路得电路、
米里时序电路:
根据需求,按照米里时序电路得设计流程得到触发器驱动方程、
首先画出状态转换图,并对图做出适当简化、
保留S0, S1, S3,S4 ,S7,S8六个状态,并用3个JK触发器得2^3=8个状态中得6个表示它们,状态分配表如下图、
Q3\Q2Q1
00
01
11
10
0
S0
S4
S3
S1
1
S7
S8
X
X
将上面得状态转换与输出写成上述得代数形式有
Q3Q2Q1\X
0
1
000
010/0
010/0
010
011/0
001/0
011
101/0
100/0
001
100/0
100/0
101
000/0
000/0
100
000/0
000/1
根据上表画出Q3,Q2,Q1,X得次态卡诺图, 并进而得到各个端口得驱动方程、
Q1:
XQ3\Q2Q1
00
01
11
10
00
0
0
1
1
01
0
0
X
X
11
0
0
X
X
10
0
0
0
1
化简得到Q1n+1 =Q2n x ——Q——1n+——XxQ2n xQ1 n
有J1= Q2,K1 = (——XQ2)’
Q2:
XQ3\Q2Q1
00
01
11
10
00
1
0
0
1
01
0
0
X
X
11
0
0
X
X
10
1
0
0
0
化简得到Q2n+1=——Q——1nx——Q——2nx——Q——3n+——Xx Q2nx——Q——1n
有J2 =——Q——1nx——Q——3n,K2=(——Xx——Q——1n)’
Q3:
XQ3\Q2Q1
00
01
11
10
00
0
1
1
0
01
0
0
X
X
11
0
0
X
X
10
0
1
1
0
化简得到Q3n+1= ——Q——3n Q1n
有J3=Q1n,K3=1
F:
XQ3\Q2Q1
00
01
11
10
00
0
0
0
0
01
0
0
X
X
11
1
0
X
X
10
0
0
0
0
化简得到F=X Q3n ——Q——1n
这样,就能使用三个JK触发器构造一个8421码检测电路,为保证正确性还可以添加一个74LS74触发器来保证X已经转变、
用于仿真时得动态测试, 我们还需要一种16进制得串行输出计数器,即按顺序串行输出0000->1000->0100…,对每个数从最低位开始,依次输出4个二进制数、
我们可以借助计数器与寄存器实现该器件,首先使用一个计数器实现4分频,从已有得f频率,50占空比得时钟信号中获取f/4频率得, 12、5占空比得同相位脉冲信号、 再使用这两个时钟循环地执行计数->4次移位读数->置数得工作,画出电路图如下所示、
其输出波形得一个周期如下面得波形图所示:
靠上信号为器件输出,靠下信号为时钟脉冲,容易瞧出经过64个时钟周期,器件输出了从0000到1111得串行形式、
把该输出作为8421检测电路得输入X,得到电路图如下、
其波形如下所示:
可见在一整个0~15得序列中,只有6种数字引起了电路得非法脉冲, 分别就就是1010,1011,1100,1101,1110,与1111,仿真时由于给定时钟信号得固有问题, 无法从S0状态开始检验,但仍然不影响我们仿真验证得完备性、
摩尔型时序电路
摩尔时序电路无需考虑输入,输出与状态之间得关系,我们只需要使用寄存器与计数器来收集输入得信号, 并进行逻辑运算即可、
我们使用3个JK触发器串行读取输入得X,并设置计数器为4进制,这样每当计数器从0计数到3时,对三个触发器与X得状态执行一次逻辑运算,如果满足”非BCD码”得条件,就输出一段脉冲、
非BCD码得判断条件经化简后为:
Q4(Q3+Q2)
则输出脉冲信号得逻辑表达式:
Q4(Q3+Q2)(QAQB)
计数器清零条件:
QC
这样,使用3个JK触发器与一个197计数器,就实现一个BCD码判断电路、
使用上面得串行16进制输出器进行动态仿真,波形如下:
其中最上面得波形为电路输出,中间得波形为时钟信号, 下面得波形为串行16进制输出器产生得输入信号、 可见,只有后6个波形出现非法脉冲,判断电路正常工作、
四、实验内容
1、实验目得
本实验要求设计一一个8421BCD码(串行输入)检测电路。
此电路就就是用来检测串行得8421码传输过程中就就是否发生错误。
假定8421BCD码传送过程中就就是由低位到高位串行输送,例如十进制2(代码为0010)就就是按0、1、0、0次序传送得。
如果在传送过程中代码发生错误,出现非法数码(不在0000到1001之间得代码),则检测电路发生一脉冲信号。
实验所用触发器为JK触发器,要求自己设计、自己安装与测试。
2、设计过程ﻫ正式实验由于器件与线得限制,没有机会实现上述得16X4串行信号发生器与摩尔型时序电路。
只实现了米里时序电路,并用四分频得信号进行动态测试。
在3个JK触发器得J,K输入端按照上述得驱动方程接线,时钟信号并行接入JK触发器得CLK端,清零端均接高电平。
在输出口F接一个D触发器,其时钟信号与前面相同,D触发器清零端也接高电平。
对静态测试,脉冲接手动脉冲,输出端F‘接LED灯,输入X接模拟开关,观察不同输入时输出得变化。
作为动态输入,我们需要一个四倍于时钟周期得信号。
使用74LS197输出该信号,将CP0接时钟脉冲,QA接CP1,MR’与PL‘接高电平,并将被四分频得信号QC接入检测电路得输入端X,输出F‘接逻辑分析仪,观察动态波形。
五、测试过程ﻫ实验接线图:
静态测试:
输入序列为0101(1010/10)时,F‘为高电平
输入序列为1111(1111/15)时,F‘为高电平
输入序列为1110(0111/7)时,F‘为低电平
输入序列为1001(1001/9)时,F‘为低电平
经16次静态测试,能得到高电平输出得有1010,1011,1100,1101,1110,1111、体现了电路只对非BCD码信号输入得敏感性。
动态测试:
得到得波形如下图所示,由于QC信号具有相位得不确定性,对不同得起始状态位置,会导致对QC得不同截断方式,进而会产生不同得输出波形。
波形1:
图中波形从上到下依次为输出F’,Qc,反相后得时钟脉冲与时钟脉冲。
判断该图中得截断方式为0000与1111,其中0000不输出脉冲,1111输出脉冲。
波形2:
图中波形从上到下依次为输出F’,Qc,反相后得时钟脉冲与时钟脉冲。
判断该图中得截断方式为0001与1110,其中0001不输出脉冲,1110输出脉冲。
经判断此外还有两种截断方式,0011-1100与0111-1000,前者会在上图得左侧一周期远得地方产生脉冲,后者不会产生脉冲。
但个人感觉全部记录意义不大,只在这里做出说明。
由动态测试与静态测试结果,我们可以瞧出电路会对非8421码得信号,在最后一位得时刻输出一个时钟周期宽度得脉冲,说明电路正确,符合题目要求。
六、总结ﻫ①对固定需求得电路,往往根据实验器件得不同,会有相当多得设计方案,同时也各有优缺点。
比如本实验中得两种设计方案,米里时序电路使用状态转换来实现,只需要3个触发器描述六个状态,所需器件较少,但其状态搭建好后就不能做其她拓展,泛用性较差。
而摩尔时序电路需要3个触发器与一个计数器来实现,虽然使用了较多得器件,但我们只需要根据不同得需求对电路进行简单得改动,就能得到功能完全不同得电路,比如对偶数码产生脉冲,对质数产生脉冲等。
其泛用性远高于前者。
②实验中使用了一种防止错误码得技巧,使用锁存器锁定输出后再进行输出。
这可以将输出得时间点延长到CP得有效沿时刻,以留给输入信号一段时间进行变化,减少了错误得发生率。
这也提醒我们,如果要设计更严谨得电路,就要尽量让同步时钟影响到每一个电路单元。
③上述得,将并行16进制计数码转串行得器件设计出现了赘余,事实上使用节拍发生器来读取并行得四个信号会更简单且容易理解,但由于仿真实验时考虑得不周全,没能设计出这种电路,这也提醒我设计电路前要进行更周全得考虑。