版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数电课程设计报告- -交通灯控制电路班级: 电气 1002 姓名: 任洁颖 学号: 100900202 指导老师: 刘玉英第一章设计指标2设计指标第二章 系统概述 .2.1 设计思想.2.2 可行性论证.2.3 各功能的组成2.4 总体工作过程第三章 单元电路设计与分析3.1 各单元电路的选择3.2 设计及工作原理分析第四章 电路的组构与调试.4.1 遇到的主要问题.4.2 现象记录及原因分析.4.3 解决措施及效果 4.4 功能的测试方法、步骤、设备、记录的数据第五章 结束语5.1 对设计题目的结论性意见及进一步改进的意向说明.5.2 总结设计的收获与体会.附图(电路总图)参考文献第一章设计
2、指标:时序逻辑电路具有记忆功能,含有有限状态的时序电路被称为“状态机”,其特点是电路状态按一定的规律周期性循环变化。交通灯控制电路是一个典型的有限状态机控制电路,交通干路道口的红、绿、黄三色灯根据不同的控制要求有规律周期性亮灭变化,各灯的亮灭持续时间也因干道的繁忙程度有所不相同。所以交通灯控制电路必须对状态变化规律和状态持续。设计一个十字路口交通灯控制电路,要求东西、南北两条干道的红、绿、黄三色的交通灯按如下表的要求循环变化,并以倒计时的方式指示干道通行(或禁行)的维持时间。 设计的控制部分以 FPGA 实现,用 6 个发光二极管模拟东西、南北两个方向的红、绿、黄交通灯。用2 个七段数码显示器
3、显示干道的通行(禁行)时间。表一交通灯控制要求东西(I)绿灯亮绿灯闪黄灯亮红灯亮红、黄灯亮南北(J)红灯亮红、黄灯亮绿灯亮绿灯闪黄灯亮时间/s16331033附加实验:在原有基本实验的基础上,增加东西转弯、南北转弯的红、绿、黄三色的交通灯,其逻辑如下表所示,按照下表的要求循环变化。设计的控制部分以 FPGA 实现,用 12 个发光二极管模拟东西、南北、东西转弯、南北转弯的红、绿、黄交通灯。用 2 个七段数码显示器显示干道的通行(禁行)时间。表二转弯灯控制要求东西(I)绿灯亮绿灯闪黄灯亮绿转弯灯亮黄转弯灯亮红灯亮红黄灯亮红灯亮红灯亮南北(J)红灯亮红黄灯亮红灯亮红灯亮绿灯亮绿灯闪黄灯亮绿转弯灯亮
4、黄转弯灯亮时间/s163373103373第二章系统概述2.1 设计思想基于 FPGA 的交通灯系统控制设计包括 4 大模块,分别为脉冲发生、状态定时、交通灯闪烁的控制、闪烁时间的控制,基本原理如图1 所示。2.2 可行性论证该设计的交通灯控制分为 6 个状态。由于各状态持续时间不同,所以电路的核心控制部分是状态机和定时器,状态机在定时器触发下周期性循环, 状态码控制 6 个灯以一定的规律变化。变化情况如图2 所示。系统脉冲由 FPGA 开发板晶振经过分频电路实现。状态定时由74190 可逆十进制计数器和 T触发器实现,只要置数合理,翻转信号到位,就可以使电路在东西 (I)、南北(J)两个控制
5、状态间翻转。红、黄、绿灯的闪烁由7485 数字比较器和组合逻辑控制,其中7485 数字比较器用于比较计数器当前持续状态和所需要的状态全部时间,并做出相应的变化。组合逻辑控制由 AHDL 文件编写真值表实现。时间显示由AHDL 文件编写真值表实现,输入正确的逻辑,七段译码电路即能得到正确的时间显示。2.3 各功能的组成整个电路可以分为 4 大部分,包括脉冲发生、状态定时、时间显示和数字比较一组合逻辑控制。2.3.1 脉冲发生脉冲发生器为整个系统提供驱动,将输入端分配给FPGA 实验板的PIN55 引脚,则会由实验板上产生频率为10 MHz 的输入脉冲,用 7 片7490,每一级都构成 10 分频
6、电路产生1MHZ,100KHZ,10KHZ,1KHZ,100HZ,10HZ,1HZ 7 种占空比为 50%的脉冲信号,根据不同的需要连接不同的频率。2.3.2 状态定时状态定时可由预置 BCD 码初值的 74190 级联实现,构成减计数器。级联原则是:低位计数器从全 0 状态变为最大码值状态时可使高位计数器减1。级联方式分为异步和同步两种,本文采取的是异步级联方式,即低位计数器溢出信号控制高位计数器的记数脉冲输入端。可根据计数器的时钟触发方式,在低位计数器状态码从全 “0”变为最大码值的瞬间,为高位计数器提供有效的计数脉冲边沿。具体做法是将低片位的溢出信号RCON 端口接到高片位的计数脉冲 C
7、LK,实现两位 BCD 码的置数、翻转和借位,使系统表示的数字能在 2216 之间循环。74190 功能说明:(1)GN 为计数器使能控制端,低电平有效。当GN 为高电平时,禁止计数。(2)DNUP 为计数方式控制,接高电平为减计数,接低电平为加计数。(3)LDN 为异步预置数控制。当 LDN 为低电平时,计数器状态QD,QC,QB,QA 分别等于 D,C,B,A。(4)计数器位序由高至低顺序为 QD,QC,QB,QA。QD 为最高位 MSB,QA为最低位 LSB。(5)计数脉冲 CLK 上升沿有效。(6)当计数器输出 QDQCQBQA 为十进制加计数的最大状态码 “1001”或为减计数的最小
8、状态码全 “0”时,极值状态码指示 MAXMIN 输出为高电平。(7)当极值状态码指示 MAXMIN 为高电平且 CLK 为低电平时,溢出信号RCON 为低电平,即 RCON 与计数脉冲同步。2.3.3 时间显示时间显示模块主要运用的是动态扫描显示技术。动态扫描显示主要用到的模块有数据选择,分频器,计数器以及七段显示译码。本实验中数据选择用的是 74153M 选择器,分频器是本实验开头设计的多分频模块。74153M:GN 为使能端, C0,C1,C2,C3 为四个输入端, A,B 为地址控制端,Y 输出的为 C0C1C2C3 中的其中一个, A,B 端与分配器相连接。2.3.4 数字比较器该模
9、块将状态定时模块输出的时间与时间节点进行比较,从而确定电路处于 22 s 或者 16 s 的具体的某个状态。由表 1 可知,东西 (I)或南北(J) 的控制状态都有 3 个阶段的控制逻辑,分别对应3 个 时 间 段 : 13 s,46 s 和大于 6 s,因此,采用数字比较器进行比较,确定定时值小于4 s 或大于 6 s,方法如图 3 所示,采用 4 片 7485 数字比较器,两两级联, 其中一个由状态定时模块的输出与4 即二进制 0100 比较;另一个由状态定时模块的输出与 6 即二进制 0110 比较。图 34 总体工作状态系统脉冲由 FPGA 开发板晶振经过分频电路实现。状态定时由741
10、90 可逆十进制计数器和 T触发器实现,置数合理,翻转信号到位,电路在东西(I)、南北(J)两个控制状态间翻转。红、黄、绿灯的闪烁由7485 数字比较器和组合逻辑控制,其中7485 数字比较器用于比较计数器当前持续状态和所需要的状态全部时间,并做出相应的变化。组合逻辑控制由AHDL 文件编写真值表实现。时间显示由AHDL 文件编写真值表实现,输入正确的逻辑,七段译码电路得到正确的时间显示。第三章单元电路设计与分析3.1 脉冲发生电路的选择 :7490 的介绍:7490 是二-五-十进制加数器,片上有一个二进制计数器和一个异步五进制计数器,其器件符号如图4 所示。图中 QA 是二进制计数器的输出
11、,QBQD 为五进制计数器输出,位序从高到低是D、C、B。7490SET9ASET9BQACLRAQBCLRBQCCLKAQDCLKBinst COUNTER图 4图 5设计原理及分析 :CLKA 和 CLKB 分别是两个计数器的脉冲输入端,下降沿触发有效。CLRA 和 CLRB 是两个计数器的复位清零端,同为高电平有效;SET9A 和SET9B 分别是两个计数器的置 9 控制端,当同为高电平时,QD、QC、QB、QA 被预置为“1001”。74LS90 逻辑功能表如图 5 所示。十分频的线路连接:根据 7490 的逻辑功能表,我们按照图 6 所示连接线路,即可实现倍率为 10,占空比为 50
12、%的脉冲信号。图 6用 Quartus II 仿真波形如图 7 所示图 7多状态分频器的实现:将图 6 的十分频线路用 QuartusII 打包做成一个模块,通过级联能够分别形成 1HZ,10HZ,100HZ,1KHZ,10KHZ,100KHZ,1MHZ,10MHZ共 8 种脉冲信号。具体在 Quartus II 的线路连接如图 8 所示图 83.2 状态定时电路的选择:图 9利用 Quartus II 仿真 1622 计数器后的波形如图 10 所示:图 10运用 2 片 74190 级联,一个接 1HZ 的时钟脉冲,用两片 74190 的溢出信号 MAX/MIN 来控制 2 个芯片的 LDN
13、 端,利用高位的 MAX/MIN 端充当 T触发器的时钟脉冲信号,用触发器的输出 S 来控制要预置的数的 BCD 码,实现跳跃。T触发器用 T 触发器来实现, T 触发器的特征方程为: Q(N+1)=TQ(N)+TQ(N).只需要在 T 端上链接一个 VCC 高电平,就能做成一个 T触发器。1. 下片的 74190 代表的是高 4 位, MX/MN 输出经过反相器,再经过 T 触发器,分别到高位的 B,A 和低位的 C,当 S 为 0 时,预置的是 22,计数的是 16;当 S 为 1 时,预置的是 16,计数的是 22.2. 两片 74190 都接高电位 VCC,表明是减计数。3. 高低片的
14、 MX/MN 端的与非门输出作为 LDN 的控制信号时,只有到 2 个74190 的 MX/MN 端都是 1 时才有效,实现异步预置数。设计原理及分析:系统记数脉冲为 1 Hz 时,如表 2 所示,当 I 状态(东西控制状态 )的定时时间为 22 s,计数器应该先预置 22 的 BCD 码;同理, J 状态(南北控制状态)之前应该预置 16 的 BCD 码。状态计时电路由两片 74190 级联而成,构成 22 和 16 自翻转的电路。其要解决的核心问题包括置数,翻转和借位。根据74190 芯片的特点,可分析其实现原理如图 4 所示,通过溢出信号 RCON 的上升沿实现借位,使得数字能够从 20
15、 到 19,个位向十位借位,顺利过渡。置数和翻转之间有先后关系,即须先置数后翻转。如表3 所示,分析两个 BCD 码各位特点,可知两者 D7D6D3D0 位均为 1,D1 位均为 0,而D5D4D2 位不同,如图 5,D5D4D2 位由状态电平 S 来控制,当为 I 状态时, 计数器的预置的数为 D5=0,D4=D2=1,而为 J 状态时,计数器的预置的数为 D5=1,D4=D2=0,根据 74190 的功能,将 2 片 74190 的 MAXMIN 引出, 通过与非门,分别连在高位和低位的LDN 置数端,通过分析可知,当计数器从 01 减到 00 时候,高低位的 MAXMIN 均为高电平,经
16、过与非门以后为低电平, 74190 被置数,其置数值由状态 S 来决定, S 是由 LDN 端信号经过一个 T触发器决定的,即 LDN 信号每置数一次, S 翻转 1 次,从而区分 16 和 22 状态。按这个结构,可分别置数16 和 22,使其实现自翻转。3.3时间显示电路的选择:设计原理及分析 :从图 11 中可以看到,输入的 10MHZ 经过分频器之后输送到 4 个 74153M 的 A 端, B 端和接地端接 GND,8 个 0,1 输入来控制输入的数据大学, 7448 译码器的 ABCD 端将得到“0000,0001,0010,0011,0100,0101,0110,0111,100
17、0,1001,1010,1011,1100,1101,1110,1111”这 16 个状态,而因为本实验只需要0000 到 1001这 10 个数字灯状态码,所以只需要讲这10 个状态码经过 7448 译码器, 输入到 FPGA 上已经设置好的芯片接脚即可。3.4 数字比较一组合逻辑控制电路的选择 :设计原理及分析 :该模块讲状态定时模块输出的时间与时间节点进行比较,从而确定电路出于 22s 或者 16s 的具体的某个状态。如图 1 所示,东西( I)或者南北(J)的控制状态都有 3 个阶段的控制逻辑,分别对应3 个时间段: 13s,46s 已经大于 6s 的,因此,采用数字比较器进行比较,确
18、定比较数分别为 4 和 6。因出现大于 10 的数,所以采用的是两位 BCD 码的状态码,即 8 位二进制码,采用四位 4 位数字比较器 7485 级联进行比较。此实验中,因为需要比较的是 4 和 6,所以高位的 4 位全置为“0”,低位分别置为 4 的 BCD 码(0100)和 6 的 BCD 码( 0110)。输出译码器的编译:输出编码器的功能是将状态码译为6 个开关量信号控制两个干道的6 个交通灯。当状态码按六进制加计数码分配时,译码电路应实现如下图的3输入、6 输出的组合逻辑函数,当采用6 个触发器实现一对一码(单位码、独热吗)状态机时,可由各位状态码输出直接综合实现6 个灯的控制。根
19、据实验要求,分别取 ER,EY,EG,SR,SY,SG 代表 I 红, I 黄, I 绿, J红, J 黄, J 绿。编写组合逻辑真值表,讲状态信号S,两个数字比较器的输出Y1,Y2 和 1HZ,脉冲作为输入,各灯的状态作为输出。从逻辑关系得出对应时间电路的状态,控制红、黄、绿灯处于不同的状态。S 判断电路处于 22S 状态还是 16s 状态, Y1,Y2 区分东西、南北六个阶段, 1HZ 时间绿灯的闪烁。利用 CLK 来控制灯的闪烁。逻辑真值表如下SUBDESIGNRGY (data_in3.0:INPUT ;ER,EY,EG,SR,SY,SG:OUTPUT ;)BEGIN TABLEdat
20、a_in3.0= ER,EY,EG,SR,SY,SG;b0011= 0,0,1,1,0,0;b1011= 0,0,1,1,0,0;b0001= 0,0,0,1,0,0;b1001= 0,0,1,1,0,0;b0101= 0,1,0,1,1,0;b1101= 0,1,0,1,1,0;b0010= 1,0,0,0,0,1;b1010= 1,0,0,0,0,1;b0000= 1,0,0,0,0,0;b1000= 1,0,0,0,0,1;b0100= 1,1,0,0,1,0;b1100= 1,1,0,0,1,0; END TABLE;END;第四章电路的组构与调试4.1 遇到的主要问题1在使用 749
21、0 器件连线制作十分频时, 在进行仿真的时候,没有波形输出。2 在使用多个十分频器件 制作分频器时, 8 个脉冲输出在打包完的器件上不是按从大到小的顺序依次排列的。3 不知道如何使 1622 计数器自动翻转。4 在仿真 1622 计数器的时候发现,波形没有进行1622 的翻转,一直维持在 16.5 在最后下载好之后,进行检查发现 有几个发光二级管都不亮。6七段共阴显示器上的时间的倒数计时,从22,21,20,19,18变成了22,21,20,12,11.仔细观察了之后发现,所有应该显示9 的都显示2,8 变成了 1,而其他的数都是正确的。7 采用 AHDL 的真值表方式设计一个输出译码逻辑,仿
22、真不成功。4.2 现象记录及原因分析1 问题:在使用 7490 器件连线制作十分频时,在进行仿真的时候,没有波形输出。原因分析:在重新复习了数电书及有关7490 的知识后,我发现是自己搞错了哪个是二进制计数器的输出,哪些是五进制计数器的输出,将脉冲输入端 CLKB 连接到了输出端 QA 上。2 问题:在使用多个十分频器件制作分频器时,8 个脉冲输出在打包完的器件上不是按从大到小的顺序依次排列的。原因分析:输出端的排序不是按照大小排序的,而是按照电路图上的输出端的物理位置的高低排序的。3 问题:不知道如何使 1622 计数器自动翻转。原因分析:在仔细看了实验书P123 页的图 3-2-4 后发现
23、 T触发器能使计数器不断翻转。4 问题:在仿真 1622 计数器的时候发现,波形没有进行1622 的翻转, 一直维持在 16.原因分析:计数器的预制操作必须先于触发器的状态转换,我设计是没有注意两者的时序问题。5 问题:在最后下载好之后,进行检查发现有几个发光二级管都不亮。原因分析:我发现有反应的发光二极管都是对的,那么我的设计思路大致是没问题,连线也因准确的。再仔细检查之后发现,和总线相连的几个引线的括号打成了 ,没有注意。6原因: 七段共阴显示器上的时间的倒数计时,从22,21,20,19,18变成了 22,21,20,12,11.仔细观察了之后发现,所有应该显示9 的都显示 2,8 变成
24、了 1,而其他的数都是正确的。原因分析:在检查了 16-22 计数器后发现,将定时器的两条引脚搞反7 问题:采用 AHDL 的真值表方式设计一个输出译码逻辑,编译错误。原因分析: 编写 ADHL 时候,编写的文件名要和里面的命名一样,不然会出现编译错误。4.3 解决措施及效果1 在使用 7490 器件连线制作十分频时,在进行仿真的时候,没有波形输出。解决措施:将 7490 的五进制计数器的位序最高端输出连接到计时器的脉冲输出端 CLKB 上。CLKA 为输入, QA 为输出。效果:仿真时果真形成了 倍率为 10,占空比为 50%的脉冲信号。2 在使用多个十分频器件制作分频器时, 8 个脉冲输出
25、在打包完的器件上不是按从大到小的顺序依次排列的。解决措施:将分别标有 1HZ,10HZ,100HZ,1KHZ,10KHZ,100KHZ,1MHZ,10MHZ的脉冲输入端在电路图上按照大小,大的放在上面,小的在下面。效果:打包完的分频器果然按照大小顺序输出。3 不知道如何使 1622 计数器自动翻转。解决措施: S 由 LDN 端信号经过一个 T触发器决定的,即 LDN 信号每置数一次,S 翻转一次,从而区分 16 和 22 两个数。按这个结构,可分别置数 16 和 22,而且能够自动翻转切换。4 在仿真 1622 计数器的时候发现,波形没有进行1622 的翻转,一直维持在 16.解决措施:74
26、90 置数和翻转之间有先后关系,即须先置数后翻转。分析后可知,两者 D7D6D3D0 位均为 1,D1 位均为 0,只有 D5D4D2 不同。D5D4D2 位由状态电平 S 来控制,当为 I 状态时,计数器的预置数为 D5=0,D4=D2=1,而当为 J 状态时,计数器的预置数为 D5=1,D4=D2=0,根据 74190 的功能,将 2 片 74190 的 MAX/MIN 引出,通过与非门,分别连在高低位的 LDN 置数端,通过分析可知,当计数器从 01 见到 00 时候,高低点位的 MAX/MIN 均为高电平, 经过与非门以后是低电平,74190 被置数,其置数值由状态 S 来决定,S 是
27、由LDN 端信号经过一个 T触发器决定的,即 LDN 信号每置数一次,S 翻转一次, 从而区分 16 和 22 两个数。按这个结构,可分别置数 16 和 22,而且能够自动翻转切换。5 在最后下载好之后,进行检查发现有几个发光二级管都不亮。解决措施:将和总线相连的引脚上标的字母仔细检查一下。6七段共阴显示器上的时间的倒数计时,从22,21,20,19,18变成了22,21,20,12,11.仔细观察了之后发现,所有应该显示9 的都显示2,8 变成了 1,而其他的数都是正确的。解决措施:搞清楚定时器的输出端QAQD 哪个是高位,哪个是低位。7 问题:采用 AHDL 的真值表方式设计一个输出译码逻辑,仿真不成功。解决措施: 编写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年内科主治医师(呼吸内科学)考试题库及答案
- 楼梯改造专项施工方案
- 安全生产资源综合利用责任制实施细则
- 2026年全科医师考试专业技能考察试题及答案
- 服装制造企业危险源管理制度
- 护理学基础练习题(附答案)
- 一年级金秋新学期主题活动
- 戏曲暑假雅韵一夏
- 2026年初中道德与法治卷专项
- 《工艺品修复技术》课件-2.10工艺品复制的材料、工艺与辨伪
- 2025年吉林省国资委监管企业招聘(2号)(公共基础知识)测试题附答案解析
- 2025年园林绿化工程安全教育培训试题及答案
- 高职美术说课课件
- 心力衰竭护理查房
- 南方医科大学-药理学课程习题
- 2025年贵州省公务员遴选考试模拟试题及答案解析
- 注射用瑞卡西单抗-临床用药解读
- 铁路工务三级安全培训课件
- 干部选拔任用工作课件
- 医学实验室工作汇报
- 伤损钢轨管理办法
评论
0/150
提交评论