时序比较器课程设计报告.doc
课程设计报告课程名称: 电子技术课程设计 题 目: 时序比较器 学 院: 系: 专业班级: 学 号: 学生姓名: 起讫日期: 2013-6-242013-7-1 指导教师: 学院审核(签名): 审核日期: 目录第一章 技术指标31.1 整体功能要求31.2 系统的结构要求31.3 电气指标31.4 设计条件4第二章 整体电路的设计42.1 设计原理42.1.1 数据处理器的功能52.1.2 控制器的功能52.1.3 显示电路52.2 建立算法流程图62.2.1 算法流程图62.2.2 ASM图62.3 建立处理器的明细表82.3.1建立明细表的分析92.3.2 寄存器9一, A寄存器9二, B寄存器10三,CNT寄存器122.3.3 比较器142.3.4 数据选择器162.3.5译码显示电路182.3.6分频器222.4控制器设计232.4.1方案选择232.4.2求激励函数232.4.3控制器发出的命令232.4.4外部发出的命令242.4.5发光二极管的逻辑表达式242.4.6画图242.4.7仿真262.4.8分析仿真结果272.4.9结论28第三章 顶层图283.1分频器图283.2 处理器图283.3 控制器图293.4 整体图293.4.1整体图293.4.2 仿真图303.4.3分析仿真结果313.4.4结论323.5 整体结论32第四章 实验小结334.1 实验小结334.2 心得体会33第一章 技术指标1.1 整体功能要求 现代工业控制和微机系统中离不开数据处理器。时序比较器是数据处理器的一个部分,它能将输入的8421BCD码存储并进行比较,最终以十进制数显示其大小。时序比较器的功能是,用同一组输入端口分两次送入两组数据,经过比较显示出数值大的一组数据值。 1.2 系统的结构要求时序比较器的总体结构方框图如图1-1所示。在图1-1中:RESET:开机后按复位键,低电平有效,为整个系统的复位。AJ:当一组数据(X3X0)设置完毕时,按“确认”键后输入的这组数据有效。Y1:第一组X3X0数据输入,若第一组为大数,则Y1=1,LED1亮。Y2:第二组X3X0数据输入,若第二组为大数,则Y2=1,LED2亮。D3D0:较大数输出端,驱动显示电路显示十进制。1.3 电气指标(1)数据输入采用并行送数,系统先后收到两组8421BCD码后比较其大小,将大数输出,用十进制数显示出来。(2)显示时间8S,显示结束电路自动清零,进入初始状态。(3)仅在开机后人工操作RESET开关,使RESET=0整机清零,整机立即进入工作状态;LED1点亮表示允许输入第一组数据Xa。(4)按一次AJ键,表示输入一脉冲信号,Xa被确认后LED2点亮,表示允许输入第二组数据Xb。(5)再按一次AJ键,Xb被确认,电路立即比较大小,输出显示大数。(6)对比较结果:Xa>Xb ,Xa=Xb 或 Xa<Xb ,应有LED显示。Xa>Xb 时,LED1闪亮; Xa<Xb 时,LED2闪亮;Xa=Xb 时,两灯交替闪亮。(7)系统设计要求采用ASM图法。1.4 设计条件 (1)电源条件,直流稳压电源输出+5V。(2)必须采用ASM图法进行设计,否则设计无效。(3)可供选择的元件器件范围如下表1-1所示。 表1-1型号 名称及功能 数量 74160 十进制计数器 3片 74194 4位双向移位寄存器 2片 7485 4位比较器 1片 74157 四2选1数据选择器 1片7448 七段显示译码器 1片 74161 4位二进制计数器 1片 7402 四2输入或非门 2片 7427 3三输入与非门 1片7400 4二输入与非门 3片第二章 整体电路的设计2.1 设计原理 时序比较器是一个小型的数字系统,它包含控制器和受控器两大部分,其原理框图如图2-1所示。 图2-1 时序比较器原理框图2.1.1 数据处理器的功能由框图2-1可以看出,数据处理器的功能是:(1)输入数据进行寄存,比较数据大小,选择比较结果。(2)大数送显示寄存器,通过译码器显示大数。同时比较器将结果送组合电路驱动两只发光二极管。2.1.2 控制器的功能由框图2-1可以看出,控制器工作过程为:(1)开机后接收RESET键的复位信号,使控制器处于初始状态。(2)确认按键送来的单脉冲信号使控制器由初始状态进入工作状态。(3)控制器根据自身工作状态来控制数据寄存器,接收输入数据和将寄存器中的数据比较结果显示出来。2.1.3 显示电路显示电路二十进制译码器电路输入数据为二进制码,显示为十进制数。 二进制码转换为十进制数的电路,需要加修正电路,列出二十进制数转换的真值表,找出其修正电路的特点。十进制数转换的真值表,找出其修正电路的特点。其参考电路见“课题十六 数字式电缆对线器”中的“二、电路设计提示”。 2.2 建立算法流程图2.2.1 算法流程图根据前面介绍的电气指标,设计条件和设计原理可以得到如下所示的时序比较器的算法流程图2-2: 图2-2 时序比较器算法流程图2.2.2 ASM图 1,从算法流程图 > ASM图: 原则1:在算法的起始点安排一个状态; 如:图2-2 图 2-2原则2:必须用状态来分开不能同时实现的寄存器传输操作;如:图2-3 图 2-3原则3:如果判断框中的转移条件受前一个寄存器操作的影响,应在它们之间安排一个状态。 如:图2-4 图 2-42,根据课题分析,RESET信号为外部控制信号,即根据算法流程图可以得到ASM图2-5。图2-5 时序比较器ASM图2.3 建立处理器的明细表根据ASM图可列出处理器的明细表,如表2-1所示:2.3.1建立明细表的分析首先根据明细表可知,处理器有三个寄存器,即:A寄存器、B寄存器和CNT寄存器;其次处理器有比较器、数据选择器、译码器和振荡器。2.3.2 寄存器一, A寄存器 1,A寄存器的功能从处理器明细表,可知A寄存器有三个功能: 保持、置数和清零。 2,讨论,求出其控制命令 根据分析A寄存器的功能以及数字电路第六章的学习,我们选取74194芯片作为实现其三个功能寄存器。从74194功能表可知,它有两个功能控制端M1M0,即:功能控制端的功能表如表2-2所示。同时74194芯片清零为异步清零。 3,获得电路图(1)芯片设计图(如图2-6):(2)仿真设计图(如图2-7):4,分析仿真结果 (1)RESET=1,T0=T1=AJ=0,系统整体清“0”,即虽然X3X0=0110,但是A3A0=0000;(2)RESET=0,T0=1,T1=AJ=0,系统整体清“0”,即虽然X3X0=0110,但是A3A0=0000;(3)RESET= T0=0, T1=1,AJ=0,因为AJ=0,故不可以置数:A3A0=0000;(4)RESET= T0= T1=0,电路保持,即虽然AJ=1,但是A3A0=0000;(5)RESET= T0=0,T1= AJ=1,X3X0=0110,置数成功:A3A0=0110。5,结论(1)RESET和T0中只要有一个置为1,则系统整体清“0”;(2)T1和AJ中两个都为1时,置数才会成功;反之,保持。(3)通过仿真,该74194能达到所要满足的A寄存器的功能。二, B寄存器1,B寄存器的功能从处理器明细表,可知B寄存器有三个功能: 保持、置数和清零。 2,讨论,求出其控制命令根据分析B寄存器的功能以及数字电路第六章的学习,我们同样选取74194芯片作为实现其三个功能寄存器。从74194功能表可知,它有两个功能控制端M1M0,即:功能控制端的功能表如表3所示。则M1=M0=SET Xb=T2·AJ, CR=RESET+T0。3,获得电路图(1)芯片设计图(如图2-9):(2)仿真设计图(如图2-10):4,分析仿真结果 (1)RESET=1,T0=T1=AJ=0,系统整体清“0”,即虽然X3X0=1001,但是A3A0=0000;(2)RESET=0,T0=1,T1=AJ=0,系统整体清“0”,即虽然X3X0=1001,但是A3A0=0000;(3)RESET= T0=0, T1=1,AJ=0,因为AJ=0,故不可以置数:A3A0=0000;(4)RESET= T0= T1=0,电路保持,即虽然AJ=1,但是A3A0=0000;(5)RESET= T0=0,T1= AJ=1,X3X0=1001,置数成功:A3A0=1001。4,结论(1)RESET和T0中只要有一个置为1,则系统整体清“0”,RESET信号为外部清零,T0信号为系统同步信号;(2)T1和AJ中两个都为1时,置数才会成功;反之,保持。(3)通过仿真,该74194能达到所要满足的B寄存器的功能。三,CNT寄存器1,CNT寄存器的功能从处理器明细表可知,它主要是作为定时器使用。定时长度为:8s,即为M=8的加法计数器。当控制器进入T3状态时,计数器开始计数;当所计的数为“8”时,计数器停止计数并清零返回到初始状态。因此,CNT寄存器的功能有3个:清零、计数和预置零。 2,讨论,求出其控制命令根据以上分析CNT寄存器以及数字电路第六章的学习,我们可选用74161芯片来实现它的3个功能。同时74161芯片为异步清零,同步置数。CP=2HZ。即:功能控制端的功能表如表2-3所示: 3,获得电路图(1)芯片设计图(如图2-12):(2)仿真设计图(如图2-13):4,分析仿真结果 (1)RESET=1,T0=T3=0,系统整体清“0”;(2)RESET=0, T0=1,T3=0, 系统整体清“0”;(3)RESET=T0=0,T3=1,当16个脉冲(即8S)后,CNT8=1,且CNT8维持1个脉冲;(4)RESET=T0=0,T3=0,74161寄存器不工作,CNT8始终为0。5,结论(1)RESET和T0只要有一个为1,则系统整体清“0”;(2)T3=1,74161工作,周期为8s;反之,T3=0,74161不工作。(3)通过仿真,该74161能达到所要满足的CNT寄存器的功能。2.3.3 比较器 1,分析根据分析处理器明细表以及数字电路第六章的学习,我们可选用7485芯片来实现Xa,Xb的比较。其(A=B)i=1 , (A<B)i=0 , (A>B)i=0 。2,比较器的功能(1)、A3A0 接A寄存器的Q3Q0 ;(2)、B3B0 接B寄存器的Q3Q0 ;(3)、输出FAB、FAB、FA=B ; A3A0= B3B0 ,则FA=B =1, FAB=FAB=0 A3A0 B3B0 ,则FAB =1,FA=B =FAB=0 A3A0 B3B0 ,则FAB =1,FA=B =FAB=03,获得电路图(1)芯片设计图(图2-15):(2)仿真设计图(如图2-16):4,分析仿真结果 (1)RESET=1,TO=AJ=0,T1=T2=0;系统整体清“0”;(2)RESET=T0=0,T1=AJ=1,T2=0,系统给A寄存器置数:X3X0=1001,则A3A0=1001;(3)RESET=T0=0,T2=AJ=1,T1=0,系统给B寄存器置数:X3X0=0101,则B3B0=0101;当给B寄存器置数结束后,立即进行比较:GG=1,EE=LL=0;表明第一个数大于第二个数;(4)RESET=1,系统整体清“0”;(5)RESET=T0=0,T1=AJ=1,T2=0,系统给A寄存器置数:X3X0=0001,则A3A0=0001;(6)RESET=T0=0,T2=AJ=1,T1=0,系统给B寄存器置数:X3X0=1001,则B3B0=1001;当给B寄存器置数结束后,立即进行比较:EE =1,GG=LL=0;表明第一个数小于第二个数;(7)RESET=1,系统整体清“0”;(8)RESET=T0=0,T1=AJ=1,T2=0,系统给A寄存器置数:X3X0=1001,则A3A0=1001;(9)RESET=T0=0,T2=AJ=1,T1=0,系统给B寄存器置数:X3X0=1001,则B3B0=1001;当给B寄存器置数结束后,立即进行比较:GG=1,EE=LL=0;表明第一个数等于第二个数;5,结论(1)数a和数b是并行送入的,分别通过T1和T2控制,但在送数时,AJ=1,否则也不置数;其原理可以见2.3.2A、B寄存器;(2)当送完第二个数,系统立即进行比较。(3)通过仿真,该74161能达到所要满足的CNT寄存器的功能。2.3.4 数据选择器 1,分析 根据题目技术要求选出大数,即从A和B两数中选出大数。可选用二选一数据选择器。由于A和B为四位而二进制数,则选用74157芯片四个二选一数据选择器。2,二选一MUX的地址,控制端和数据端连接从ASM图和处理器明细表可知,输出端输出大数,地址A端连接到FAB。分析:当A=FAB=1时,选择D1数据输出(Y=B,B为大数)。当A=FAB=0时,AB,选择D0数据输出(Y=A,A为大数) A= B,选择D0数据输出(Y=A,选A输出)3, 二选一MUX的使能端的控制 当=1,Y=0时,数据选择器不工作; 当=0,Y输出取决于地址A。因此,从ASM图和处理器明细表可知:= 当T3=0时,=1,Y=0时,数据选择器不工作; 当T3=1时,=0,数据选择器工作。4,获得电路图(1)芯片设计图(如图2-18):(2)仿真设计图(如图2-19):4,分析仿真结果 (1)RESET=1,TO=AJ=0,T1=T2=T3=0;系统整体清“0”;(2)RESET=T0=0,T1=AJ=1,T2=T3=0,系统给A寄存器置数:X3X0=0101,则A3A0=0101;(3)RESET=T0=0,T2=AJ=1,T1=0,系统给B寄存器置数:X3X0=1001,则B3B0=1001;当给B寄存器置数结束后,立即进行比较:EE =1,GG=LL=0;表明第一个数小于第二个数;但是因为T3=0,所以74157不工作,即Y4Y1=0000; (4)RESET=T0=0,T2=AJ=1,T1=0,T3=1;Y4Y1=1001显示的是大数;(5)RESET=1,系统整体清“0”;(6)RESET=T0=0,T1=AJ=1,T2=0,系统给A寄存器置数:X3X0=1001,则A3A0=1001;(7)RESET=T0=0,T2=AJ=1,T1=0,T3=1,系统给B寄存器置数:X3X0=0001,则B3B0=1001;当给B寄存器置数结束后,立即进行比较:GG=1,EE=LL=0;表明第一个数大于第二个数;且Y4Y1=1001;(8)RESET=1,系统整体清“0”;(9)RESET=T0=0,T1=AJ=1,T2=0,系统给A寄存器置数:X3X0=0001,则A3A0=0001;(10)RESET=T0=0,T2=AJ=1,T1=0,系统给B寄存器置数:X3X0=0001,则B3B0=0001;当给B寄存器置数结束后,立即进行比较:GG=1,EE=LL=0;表明第一个数等于第二个数;且Y4Y1=0001。5,结论(1)当送完第二个数,系统立即进行比较。当T3=1时,74157工作。(2)通过仿真,该74157能达到所要满足的CNT寄存器的功能。2.3.5译码显示电路1,显示管译码器选择7448芯片(8421BCD码译成ag的电位信号),显示选择共阴极数码管,如图2-21:8421BCD码译成ag的电位信号表(如表2-4):2.3.6分频器实验箱上提供2KHz振荡信号,通过1000分频可获的2Hz振荡信号。(1) 电路设计1)芯片设计图(如图2-25): 2)仿真设计图(如图2-26):(2) 分析仿真结果(1) CR=0,系统自动清“0”;(2) CR=1,表示每通过1000分频可以获得2HZ振荡信号。(3) 结论 通过仿真,该74160能达到所要满足的分频器的功能。2.4控制器设计2.4.1方案选择1,每态一位:控制器中状态寄存器有多种形式,采用每态一位的方法设计控制器。这种设计方法在状态不多的情况下便于设计和调测。控制器采用每态一个D触发器实现,由于ASM图中有四个状态,所以需要4个D触发器。2,数据选择器+寄存器+译码器:控制器中状态寄存器有多种形式,采用数据选择器+寄存器+译码器的方法设计控制器。这种设计方案占用的资源少,但设计和调测相对复杂。 通过以上的认真分析和比较本电路决定选择方案一(即:每态一个D触发器),目的在于设计和调测控制器比较容易。2.4.2求激励函数2.4.3控制器发出的命令SET Xa = T1·AJ,SET E = T3;SET Xb = T2·AJ,SET E = T3;2.4.4外部发出的命令2.4.5发光二极管的逻辑表达式依靠ASM图可以求出二极管的逻辑表达式:2.4.6画图控制电路图:(1) 芯片设计图(如图2-28):(2) 仿真设计图(如图2-29):发光二极管图:(1)芯片设计图(如图2-30):(2)仿真设计图(如图2-31):2.4.8分析仿真结果1、分析图(1)RESET=1,T0=1,系统整体清“0”;(2)RESET=0,T0=CNT8=0,LED1=1(亮),T1=1,T2=T3=0,表明现在可以送第一个数Xa; AJ=0,故GG=1,EE=LL=0,数并没有送进A寄存器,系统一直在等待送数;(3)RESET=T0= CNT8=0,AJ=1,GG=1,EE=LL=0,即将数Xa送入A寄存器,立即LED1=0,LED2=1,表明现在可以送第二个数Xb;(4)RESET=T0= CNT8=0,AJ=0,故GG=1,EE=LL=0,数并没有送进B寄存器,系统一直在等待送数;(5)RESET=T0= CNT8=0,AJ=1,GG=1,EE=LL=0,即将数Xb送入B寄存器;(6)RESET=T0= CNT8=0,AJ=0,立即输出比较结果,T3=1,LED1灯闪亮,LED2=0,表明第一个数大;(7) RESET=0,AJ=0,CNT8=1,T0=1,系统内部自动清“0”,T1=T2=0。(8)循环到(2)。2、分析图(1)RESET=1,T0=1,系统整体清“0”;(2)RESET=0,T0=CNT8=0,LED1=1(亮),T1=1,T2=T3=0,表明现在可以送第一个数Xa; AJ=0,故LL=1,EE=GG=0,数并没有送进A寄存器,系统一直在等待送数;(3)RESET=T0= CNT8=0,AJ=1,LL=1,EE=GG=0,即将数Xa送入A寄存器,立即LED1=0,LED2=1,表明现在可以送第二个数Xb;(4)RESET=T0= CNT8=0,AJ=0,故LL=1,EE=GG=0,数并没有送进B寄存器,系统一直在等待送数;(5)RESET=T0= CNT8=0,AJ=1,LL=1,EE=GG=0,即将数Xb送入B寄存器;(6)RESET=T0= CNT8=0,AJ=0,立即输出比较结果,T3=1,LED2灯闪亮,LED1=0,表明第二个数大;(7) RESET=0,AJ=0,CNT8=1,T0=1,系统内部自动清“0”,T1=T2=0。(8)循环到(2)。3、分析图(1)RESET=1,T0=1,系统整体清“0”;(2)RESET=0,T0=CNT8=0,LED1=1(亮),T1=1,T2=T3=0,表明现在可以送第一个数Xa; AJ=0,故EE=1,LL=GG=0,数并没有送进A寄存器,系统一直在等待送数;(3)RESET=T0= CNT8=0,AJ=1,EE=1,LL=GG=0,即将数Xa送入A寄存器,立即LED1=0,LED2=1,表明现在可以送第二个数Xb;(4)RESET=T0= CNT8=0,AJ=0,故EE=1,LL=GG=0,数并没有送进B寄存器,系统一直在等待送数;(5)RESET=T0= CNT8=0,AJ=1,EE=1,LL=GG=0,即将数Xb送入B寄存器;(6)RESET=T0= CNT8=0,AJ=0,立即输出比较结果,T3=1, LED1,LED2灯交替闪亮,表明两个数相等;(7) RESET=0,AJ=0,CNT8=1,T0=1,系统内部自动清“0”,T1=T2=0。(8)循环到(2)。2.4.9结论通过仿真,该每态一位能达到所要满足的控制器的功能。第三章 整体原理图1.原理图 2.pcb版图 整体结论 当将仿真电路烧入芯片后,实际连线成功后,过程如下:(1) 开RESET键(=1),电路整体清0;(2) 关闭RESET键(=0),此时LED1灯亮,表明要送入第一个数Xa;(3) 将X3-X0送数,打开AJ键,即刻关闭AJ键;(4) 此时LED2灯亮,表明要送入第二个数Xb;(5) 将X3-X0送数,打开AJ键,即刻关闭AJ键;(6) 送完第二个数,电路立即比较,译码管显示大数,对应的灯亮;(7) 持续8s后,电路自动清0,此时LED1灯亮,表明要送入第一个数Xa;(8) 重复过程(3)至(7)。第四章 实验小结4.1 实验小结(1)单单对芯片是不可以访问的,故得知:当生成芯片后,可以添加输入输出管脚产生一个完整的处理器部分,此时才可以对芯片进行访问;(2)顶层图图仿真成功后,不可以直接烧入芯片,因为这样根本对实际电路没有影响,故得知:在烧入电路芯片前,应该对每个IPAD和OPAD加管脚号,且这些管脚号与电路上的编号要一一对应,然后连接的电路才可以使用;(3)某次对某电路在进行编译,可是总会报错,且经过多次确认,电路图是正确的,最终在老师的指导下,得知:对某电路在进行编译之前,我们应先看一下目录下的文件个数,将不需要用的文件移除掉,因为有多个文件时,编辑器不知道识别哪一个文件进行编译,所以会报错;4.2 心得体会在学习这门课程之前,我以为自己对数字电路的掌握很好,但是通过这次课程设计,我明白了自己所学习的是微不足道的,很少在实际电路中起到作用,故在了解了实验后,我又复习了一遍模拟电路,数字电路理论,了解了综合型电子电路的设计、装配和调制方法;掌握电子元器件资料和电路资料的检索方法,并且再次学习到了很多。我还懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 而且电路很多时候只有通过不断的改善,尝试,试验,才能知道是否达到我们设计的要求;故由此可以推论即便我们设计的电路是正确的,但是其中肯定有不足之处,我们应大量阅读有关实验的知识,加上充分运用所学的知识,将电路设计得更加合理,精确。其次,在实验的过程中,我还了解了一些平常不知道的快捷操作,如CTRL+R表反向;图形的截图可以使用Print Screen键+绘图工具完成等等;总之,通过这次课程设计的学习,我深深体会了,课前的预习,课后的思索,自己上网搜索相关知识,以便更加深刻的了解实验,知道其原理,在操作时,才会得心应手,操作熟练。第五章 附录时序比较器原理图及PCB印刷版电路图