1、数字电路课程设计彩灯控制电路目录第1章 设计任务 41.1设计题目及要求41.2备选方案设计与比较 4第2章 方案设计 42.1总体方案说明 42.2整体模块与总体方框图 5第3章 单元电路设计原理说明与仿真波形63.1分频电路 63.1.1蜂鸣器分频电路.73.1.2 控制分频电路73.2计数电路 83.2.1顺时计时电路.83.2.2倒计时电路.93.3彩灯控制电路113.3.1第一阶段电路.113.3.2第二阶段电路.123.3.3第三阶段电路.133.3.4第四阶段电路.153.4蜂鸣器电路16第4章 整机电路各单元模块信号连接分析及功能说明174.1单元电路模块之间的连接说明和信号分
2、析 174.2整体功能说明18第5章 遇到问题及解决方案 255.1遇到问题及解决方案19第6章 设计小结与建议196.1小结建议196.2 致谢19附录I:参考及引用文献20 课题名称:数字电子技术基础第一章、设计任务1.1设计题目及要求设计一个电路来控制16个指示灯,循环的规律如下:第一阶段,指示灯从左到右依次亮,1秒亮1个,第二阶段,指示灯从右到左依次熄灭,1秒灭1个,第三阶段,指示灯全亮1秒,全灭1秒,第四阶段,从中间往左右两边依次点亮,1秒亮2个,第五阶段,从右两边往中间依次熄灭,1秒灭2个,第六阶段,指示灯全亮,全灭各秒,返回第一阶段,循环往复,运行模式固定。每个阶段有倒计时,如第
3、一阶段从15、14、13.01、00减法计数,用2个数码管显示,每个循环有加法计时,01、02、0351、52(六个阶段共16+16+2+8+8+2=52),用2个数码管显示。不同阶段灯的亮或灭伴有不同声调声音, 如第一阶段“嘀”, 第二阶段“嘟”, 第三阶段“哔”, 第四阶段“哒” 第五阶段“咚” 第六阶段“呜”等等,以示控制电路处于不同的运行阶段。1.2备选方案与比较方案一:设计一个控制总线同时控制计时和彩灯以及蜂鸣器,这样做总体理念比较简单,但对控制电路的要求较高。方案二:分别设计彩灯、计时以及蜂鸣器电路,最后各模块同步运行。这样做做起来比较简单,但总体结构比较臃肿,器件要求相对较多。第
4、2章、方案设计2.1总体方案说明两个方案的比较分析已经阐明,我在做的时候先是尝试了第一种方案,但是由于理论知识比较匮乏,控制信号只能做出一个循环,一个循环过后不能重复运行,曾尝试用另一个信号结合74158反相输出四2选1数据选择器来实现整个电路的循环运行,但是由于74158的接口特性要达到多次循环必须用大量的74158,并且需要同等数量的控制信号。最后选择了方案二,由于方案一的失败给了许多启示,方案二最终也做了出来,并且方案二在调试的时候十分方便,电路最终也不会太复杂,quartus显示总共逻辑器件在220个左右,相比其他更优秀的作品多出50个,但方案二的设计过程让我对这个设计题目有了更深的认
5、识,但是由于时间的关系,没有进行方案三,有机会会继续优化的,下面所有叙述都是围绕方案二展开。2.2总体模块与总体方框图模块名称对应功能备注52xunhuanjishuqi52顺时循环计数DaojishijichengLED倒计时与彩灯电路集成的模块Daojishixuanzexinhao倒计时选择信号倒计时控制信号Ershiyi22/52分频控制信号Fengningqihe1hz蜂鸣器和一hz分频集成的模块Leddeng01Led灯控制电路01Leddeng01ALed灯控制电路01ALeddeng02Led灯控制电路02Leddeng02ALed灯控制电路02ASanshier33/52分频
6、Sanshisan34/52分频Sanshiyi32/52分频Sishi41/52分频Sishijiu50/52分频Sishiyi42/50分频Wanfenershiwu26/x分频Wu6/52分频Wushi51/52分频Xianzhi116/52分频图一:总体模块与总体方框图总体框图:图二:总体框图由图可以看出该方案每个模块都是独立的,将它们联系起来的是内部控制信号,内部控制信号由同一个源信号分频而来,保证了各模块的同步。该方案存在控制信号重复的问题,这导致逻辑原件的浪费。第3章、单元电路设计原理与仿真波形3.1分频电路 图三:分频电路图分频电路通过74290二/五分频十进制计数器17429
7、3二/八分频十进制计数器2和实现3.1.1蜂鸣器分频电路对输入的1kHz时钟信号进行了6次二分频得到蜂鸣器的六个输出频率,以及三次五分频和一次八分频得到1Hz的信号。 3.1.2控制分频电路控制分频电路采用VHDL语言编写的模块来实现,只用到了通用整数分频器3,程序如下: LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY daojishiD1 ISPORT(clk_in: IN std_logic; clk_out: OUT std_logic);END daojishiD1;ARCHITECTURE third OF daojishiD1 IS
8、CONSTANT fpb: INTEGER := 15; CONSTANT temp: INTEGER := 7; SIGNAL aqi: INTEGER RANGE 0 TO fpb;BEGINPROCESS (clk_in) BEGIN IF rising_edge(clk_in) THEN IF aqi fpb THEN aqi = aqi + 1; ELSE aqi = 0; END IF; END IF;END PROCESS;PROCESS (clk_in) BEGIN IF rising_edge (clk_in) THEN IF (aqi = temp) THEN clk_ou
9、t = 1; ELSE clk_out = 0; END IF; END IF;END PROCESS;END third;Fpb对应倍频数,temp对应占空比。本次几乎所有的控制信号均由这种方式做成,但这样做存在一个缺点,由于是上升延触发的,而始终分频得到的信号的第一个周期里是下降沿,只有的二个周期开始的时候才会触发,所以会导致一定的延时,当然这个问题是容易被解决的,后文将具体阐述。3.2计数电路3.2.1顺时计数电路电路图:图四:顺时计时电路图顺时计时电路由两个五十二计时电路组成循环其中的控制信号是52/104的周期信号,每一个五十二计时电路由两个741964构成的十进制计数组成,在52/
10、104信号的控制清零端CLRN的情况下,每计数52秒就清零等待52秒,同时另一个五十二计数在前一个计数器清零期间开始运作,当他运行52秒后清零52秒,之后回到前一个计数器进行计数,然后在或门的作用下达到无限循环。对74196的输入信号反向是由于彩灯控制电路有在第一个周期有0.5秒的延迟(造成这个延迟主要是分频产生的信号第一个周期是下降沿),这个延迟在运行一个周期之后消失。仿真波形图:图五:顺时计时仿真波形图仿真波形与彩灯控制电路同步。3.2.2倒计时电路电路图:图六:倒计时电路图倒计时电路由三个7419316进制双向计数器带清零端,将时钟接入DN端和A端选定倒计时模式(这里的设计由于没有考虑到
11、数码管译码的问题,最终设计完后只有四个输出引脚,虽然这个问题在后面得到解决,但这已经导致了原件的赘余),这里选用3个74193是因为在倒计时的电路中有三种模式(分别是15到0倒计时、1到0倒计时和7到0倒计时),这里用控制信号用来控制清零端还用来截取需要的计时段(与门实现),然后用或门将几个阶段的信号相加,最终得到一个总倒计时信号输出,其中用到的控制信号分别是32/52、41/52、50/52周期信号,同时还用到了彩灯控制电路的led1信号,原因是在进行仿真的时候发现控制信号反向之后开始的0.5秒出现了高电平,这导致清零端滞后了一个周期始终也就是一秒,将控制信号与led1信号相乘可以屏蔽掉开始
12、的0.5秒高电平同时不影响周期信号的周期性。74193Timing Diagram5图七:74193时序图时序图:图八:倒计时时序图上图附带了led1信号。后来验收的时候发现了数码管译码问题,经过修正得到如下电路图:图九:修正后的倒计时电路该电路将上一个电路的输出进行了修正,以使其能接到7448译码器,修正主要是通过控制信号将16倒计时前六个计时数进行修改,主要通过逻辑门实现,控制信号与输出的十位信号一致,主要用来截取十六倒计时的前六位,使其为.方便或门运算得到最终所需信号。修正后的波形图:图十:修正后的倒计时波形图其中33脚就是十位输出。29、30、31、32为个位输出。图中的突刺现象是由于
13、进行与运算时细微的时间差值导致的,目前没有想到有效的解决办法。3.3彩灯控制电路3.3.1第一阶段电路电路图:图十一:第一阶段彩灯控制电路第一阶段彩灯控制电路由74175带公共始终和复位四D触发器和74157同相输出四2选1数据选择器以及控制信号组成,其中控制信号是16/52周期循环信号,控制信号同时作为D触发器的信号源,将信号源按照时钟信号进行移位,得到第一阶段的前半段输出,后半段的输出要调整为前半段的镜像波形,故用74157来进行引脚的倒序输出,同样是通过控制信号控制。至此得到第一阶段波形,由于控制信号是以52s为周期的周期信号故彩灯输出也具有52秒为周期的特性。仿真波形图:图十二:第一阶
14、段仿真波形图波形图跟需求一致,开始的0.5s延迟是由1hz分频上升沿决定的。对后续波形的循环没有影响。74157Function Table:图十三:74157函数表3.3.2第二阶段电路电路图:图十四:第二阶段电路图该电路是基于第一阶段的通过控制信号和vcc以及gnd对输出进行置1和置0,输出时段由74157和控制信号控制,这一阶段用到的控制信号有32/52、33/52,这样处理之后就出现以52s为周期的第33s和34s内分别置1和置0。仿真波形如下:图十五:第二阶段时序仿真图仿真波形的周期属性与所需相符3.3.3第三阶段电路电路图:图十六:第三阶段电路图该阶段电路是基于第一阶段电路的其中八
15、路输出,这里只用到了一个控制信号以及时钟信号,方法是将第一阶段的8路信号进行上下的镜像。因为只用到其中的8路信号所以出现了时序上对不上(超前26s),但周期性是正确的,解决方案是用74157实现对它延迟26秒后在输入时钟信号。这里出现的问题虽然也可以得到解决,但是却浪费了原件,也是本次设计需要优化的一个阶段。解决方案电路:图十七:第三阶段解决方案电路解决方案用到74157和一个延迟控制信号26/x,理论上x值决定了整个循环的时长,通过这个信号和74157可以实现时钟的延迟输入,这个延迟信号的得到也利用了大量原件造成了浪费。仿真波形图:(解决方案后的波形相似只是将时序在现有基础上延后26s)图十
16、八:第三阶段仿真波形图波形超前26s,周期性没有问题。解决方案后的波形此处不再赘述,将在总的电路波形中展现。3.3.4第四阶段电路图十九:第四阶段电路图这里实现了最后两秒的输出,其方法与第二阶段一致,使用74157与控制信号为51/52、50/52的周期信号实现,至此已完成多有的彩灯控制电路,具有52s的周期性,其中的不足之处也已简述了。仿真波形(一二三四阶段):图二十:一二三四阶段仿真波形图总的彩灯控制电路符合设计要求,仿真中有少量突刺这个问题也有待优化。3.4蜂鸣器电路电路图:图二十一:蜂鸣器电路图蜂鸣器电路与分频电路设计到同意模块中可以避免器件的重复使用,蜂鸣器的输出采用五个控制信号16
17、/52、32/52、34/52、41/52、50/52以及741518选1数据选择器7和部分逻辑门控制,最终实现在不同的阶段输出不同的频率,并具有周期性第4章、整体电路各单元模块信号连接及功能说明4.1单元电路模块之间的连接说明和信号分析整体电路图:图二十二:整体电路图分为三个模块的连接分别是蜂鸣器模块、顺时计时模块、彩灯控制电路集成倒计时模块,其中蜂鸣器模块输入为1kHz时钟信号,同时分频出1Hz时钟信号,1Hz时钟信号将输入剩下的两个模块,这两个模块分别输出计时信号和彩灯信号。总时序图:图二十三:总时序图总时序图与设计要求相符具有循环特性。4.2总体功能说明输入1KHz时钟信号将实现如下功
18、能:第一阶段,指示灯从左到右依次亮,1秒亮1个,第二阶段,指示灯从右到左依次熄灭,1秒灭1个,第三阶段,指示灯全亮1秒,全灭1秒,第四阶段,从中间往左右两边依次点亮,1秒亮2个,第五阶段,从左右两边往中间依次熄灭,1秒灭2个,第六阶段,指示灯全亮,全灭各1秒,返回第一阶段,循环往复,运行模式固定。每个阶段有倒计时,如第一阶段从15、14、13.01、00减法计数,用2个数码管显示,每个循环有加法计时,01、02、0351、52(六个阶段共16+16+2+8+8+2=52),用2个数码管显示。不同阶段灯的亮或灭伴有不同声调声音, 如第一阶段“嘀”, 第二阶段“嘟”, 第三阶段“哔”, 第四阶段“
19、哒” 第五阶段“咚” 第六阶段“呜”等等,以示控制电路处于不同的运行阶段。第5章、遇到问题及解决方案5.1设计是遇到的问题和解决方案主要问题有如下几个:(1)、对各逻辑模块型号不了解解决方案:通过XX文库找到相关文献参考其中真值表以及函数表,最后在quartus上进行测试,掌握后再运用。(2)、理论知识匮乏解决方案:对教科书中的相关知识进行了复习,但还是遇到了问题,在控制信号的生成上无法做到循环,最终做出来的作品浪费大量原件,并且也耗费了大量精力,之后查阅了VHDL相关书籍,通过编程的方式实现了控制信号的产生。(3)、时序仿真时出现延迟和超前解决方案:通过将时钟信号取反输入解决由上升沿触发带来
20、0.5秒差值。(4)、对设计要求的理解不够深入解决方案:在经过反复的实验后对题设有了一定的了解,但还是不够,更重要的是没有认真参考老师下发的资料,导致自己琢磨的时候浪费了太多时间,到最后结题的时候还没有做出完美的作品,做设计还是不要太过着急了,先认真理解了设计目的在着手设计。第6章、设计小结与建议6.1小结建议通过这次课设学到了许多知识,得到了一定的设计经验。每次电路的失败都会对自己有一定的启示,每一次仿真的成功也会带来愉悦。虽然这一次最后并没有得到自己想要的完美的作品,但是让我认识到了电路设计的一些理念,越简单越好,对设计要求的解读越深入越全面越好。总的来说,这是一段可贵的经验。6.2致谢最后在这感谢老师在实验课上对我们的悉心指导以及对我们设计作品时误区的指正,非常感谢!参考文献1、2、4、7阎石.数字电子技术基础(第五版).高等教育出版社3郑燕 郝建国. 基于VHDL与QuartusII软件的可编程逻辑器件应用与开发(第二版)国防工业出版社,2011. 01.5XX文库.74193中文资料6XX文库.74157中文资料
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1