小型数字系统设计――健身自行车控制器_第1页
小型数字系统设计――健身自行车控制器_第2页
小型数字系统设计――健身自行车控制器_第3页
小型数字系统设计――健身自行车控制器_第4页
小型数字系统设计――健身自行车控制器_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程名称:数字逻辑电路设计实践实验名称:小型系统设计健身自行车控制器实验:设计一个健身房使用的健身自行车控制器。控制器的输出信号给D/A转换器,以控制自行车的阻力,从而改变训练强度。输入采用4×4键盘,显示采用3位数码管,其中最高位显示训练强度,低2位显示时间。基本功能:1、使用者骑上自行车时,控制器处于初始状态。按“F”键启动控制器,此时3位数码管显示“000”。2、用户输入从0到9中的任意数字,以改变训练强度,按“E”键确认。选定的训练强度显示在数码管的最高位。3、训练强度选择完成之后,数码管低2位显示“00”,即最长训练时间为1分钟。通过数字键盘输入数字,以决定训练的时间,输入

2、时数字顺序是从左到右。例如,输入2、3应该在显示器上显示“23”,表示训练时间被设定为60-23=37秒,如果输入正确,按下“E”键确认。如果使用者输错了时间,可以按“C”清除,显示恢复“00”的状态。训练时间输入完成后,按下“F”键开始训练。此时4位数码管的低两位显示时间从输入的时间值加计数到“00”。在最后10秒时,发光二极管亮1秒暗1秒。当计时到设定的时间,控制器恢复到初始状态,此时定时器是“00”,训练强度为前面设定的值。实验要求:1采用自顶向下的设计方法进行设计,画出数据处理单元和控制单元框图、控制单元的ASM图、各单元模块的电路图;2行列式键盘设计请参考第四章有关内容;3先独立调试

3、各单元模块,后联机调试,要记录和分析实验结果;一、实验设计InitializationInput=F?1Set strengthInput=E?1Ensure strengthInput=09?1Set First timeInput=09?1Set Second timeInput=C?1Input=E?Ensure time1Input=F?Start counting1Count=00?1控制单元ASM图2、各单元模块的电路图A 键盘电路K1123A 456B 789C *#DU174LS194NA 3B 4C 5D 6SL 7QA 15QB 14QC 13QD12SR 2CLR 1S0

4、9S110CLK11U2A 74LS20NVCC5VU574LS161NQA 14QB 13QC 12QD 11RCO15A 3B 4C 5D 6ENP 7ENT 10LOAD 9CLR 1CLK2U4A74LS74N1D21Q51Q61CLR 11CLK31PR 4U7A74LS04N VCC5VVCC5VU674LS161NQA 14QB 13QC 12QD 11RCO15A 3B 4C 5D 6ENP 7ENT 10LOAD 9CLR 1CLK2U3A74LS20DXFG1B ROM 状态控制电路VCC 5V U574LS161NQA 14QB 13QC 12QD 11RCO15A 3B

5、 4C 5D 6ENP 7ENT 10LOAD 9CLR 1CLK2U674LS161NQA 14QB 13QC 12QD 11RCO15A 3B 4C 5D 6ENP 7ENT 10LOAD 9CLR 1CLK2ROM27C128-12LA928A829A74A47A56A65A38A110A29A011OE 25CE23A1024O013O114O215O318O419O520O621O722PGM 31A1127A123A1330U974LS161NQA14QB 13QC 12QD 11RCO 15A3B 4C 5D 6ENP 7ENT 10LOAD 9CLR 1CLK2U1374LS1

6、38DY015Y114Y213Y312Y411Y510Y69Y77A 1B 2C 3G16G2A 4G2B5状态寄存译码器控制输出C数据处理部分U827C128-12LA928A829A74A47A56A65A38A110A29A011OE 25CE23A1024O013O114O215O318O419O520O621O722PGM 31A1127A123A1330U974LS161N QA14QB 13QC 12QD 11RCO 15A3B 4C 5D 6ENP 7ENT 10LOAD9CLR 1CLK 2U1074LS161N QA 14QB 13QC 12QD 11RCO15A 3B 4

7、C 5D 6ENP 7ENT 10LOAD 9CLR 1CLK2U1174LS161NQA 14QB 13QC 12QD 11RCO15A 3B 4C 5D 6ENP 7ENT10LOAD 9CLR 1CLK2U1274LS161NQA 14QB 13QC 12QD 11RCO15A 3B 4C 5D 6ENP 7ENT 10LOAD 9CLR 1CLK2VCC 5V VCC 5VVCC5VU1374LS138DY015Y114Y213Y312Y411Y510Y69Y77A 1B 2C 3G16G2A 4G2B5U14A 74LS04N U15A 74LS00DU16A 74LS04N U17

8、A 74LS00DU18A 74LS00DU19A 74LS04NU20A 74LS00DU21B 74LS20DU22A 74LS04N U23B74LS20D U24A 74LS04NU3074LS153D2Y92C0102C1112C2122C313A 14B 21G 11Y71C061C151C241C332G15XFG21HzXFG3100Hz强度时间高位时间低位D 总的设计二、电路调试本电路主要分为四部分,键盘扫描输入输出部分,ROM 状态切换控制部分,三个计数器存储计数部分,LED 灯控制部分; 下面是调试过程中过程遇到的实际问题以及自己的解决方法: 首先是对键盘扫描电路的调试,

9、发现100Hz 扫描型号输入正确,按键时输出地址正确,该电路内储存地址的两个74LS161计数器也实现了储能功能,所以开始调试ROM 状态切换控制电路部分。 ROM 状态切换控制电路的问题如下:1 用于储存状态的74LS161在按键过程中总是出现紊乱,没有储存住。原先设计的电路图中ROM 部分四位状态的存储74LS141计数器加的时钟信号为100Hz ,结果按F键清零后,始终无法设置强度。用逻辑分析仪分析发现ROM 状态在自动切换!这是一个非常低级的错误该存储器的时钟频率应该是受按键控制,即按一次键状态转换一次,而不是100Hz 自动切换。 解决方法很简单,只是将键盘控制电路中的D 触发器(没

10、按一次键产生一个上升沿的输出接到该存储计数器的时钟信号端。测试发现存储状态稳定。K1123A 456B 789C*#DU174LS194NA 3B 4C 5D 6SL 7QA 15QB 14QC 13QD12SR 2CLR 1S09S110CLK11U2A 74LS20N VCC 5VVCC5VVCC5VU574LS161NQA 14QB 13QC 12QD 11RCO15A 3B 4C 5D 6ENP 7ENT 10LOAD 9CLR 1CLK2U4A74LS74N1D21Q51Q61CLR 11CLK31PR 4U7A74LS04N U674LS161NQA 14QB 13QC 12QD

11、11RCO15A 3B 4C 5D 6ENP 7ENT 10LOAD 9CLR 1CLK2U3A74LS20DXFG1U827C128-12LA928A829A74A47A56A65A38A110A29A011OE 25CE23A1024O013O114O215O318O419O520O621O722PGM 31A1127A123A1330U974LS161N QA14QB 13QC 12QD 11RCO 15A3B 4C 5D 6ENP 7ENT 10LOAD9CLR 1CLK 2U1074LS161NQA 14QB 13QC 12QD 11RCO15A 3B 4C 5D 6ENP 7ENT

12、 10LOAD 9CLR 1CLK2U1174LS161NQA 14QB 13QC 12QD 11RCO15A 3B 4C 5D 6ENP 7ENT 10LOAD 9CLR 1CLK2U1274LS161NQA 14QB 13QC 12QD 11RCO15A 3B 4C 5D 6ENP 7ENT 10LOAD 9CLR 1CLK2VCC 5V U1374LS138DY015Y114Y213Y312Y411Y510Y69Y77A 1B 2C 3G16G2A 4G2B5500Hz U14A 74LS04N U15A 74LS00DU16A74LS04N U17A 74LS00DU18A 74LS0

13、0DU19A74LS04NU20A 74LS00DU21B 74LS20DU22A 74LS04N VCC 5VU23B74LS20D VCC5VU24A 74LS04NU25A74LS20DU26A 74LS04NLED1U27DCD_HEX_DIG_GREENU28DCD_HEX_DIG_GREENU29DCD_HEX_DIG_GREENU3074LS153D2Y 92C0102C1112C2122C313A 14B 21G 11Y71C061C151C241C332G15XFG21HzXFG3100Hz强度时间高位时间低位强度时间低位时间高位LED 灯2ROM状态切换时,有时会无法清零,

14、各项操作都无法进行。这个问题具体是这样的:当你开启电源后,按键F开始实验后,它并没有清零,或者原来就是零,按下F后无法继续设置强度。这个问题出现的原因是设计时默认假设不准确:原先设计时一直默认开启电源后电源就达到初始状态0000,而实际情况是开启电源后各计数器(用作寄存器的初始状态是随机的,并不一定是0000。比如某次开启电源时出现的初始状态是1000,那么按下F时,输出的下一个状态一定是1111(由于仅使用00000111八个状态,因次其他状态对应的ROM输出未进行改写,默认为FF,那岂不是永远无法到达0000初始状态。问题的解决办法有两个:手动清零,重写ROM。手动清零是指开启电源后,手动

15、使状态寄存器清零端接地,状态自动切换到0000;重写ROM是指用00来填充ROM中未使用的状态输出(默认是FF,从而一开机便进入初始状态。这有个问题就是可能初始状态是00000111中一个就无法实现了,因次采用第一种方法,测试后解决这一问题。3设置时间强度第一位时,发现第二位自动设置这个问题具体是这样的,当你确认强度后,输入时间时间高位2时,数码管上两个时间同时显示22,而本来是应该只改变时间高位的。问题出现后首先想到的当然是ROM是否编写错误,但是上面已经检查过ROM了,因次排除了这方面的可能。原理上分析,既然时间地位设置上去了,必然说明时间低位说对应的寄存器的load置数端有效了,这只可能

16、在状态0101,但是时间高位输入后状态是0100!问题就出在这里!由于键盘电路会储存上一次按键产生的地址,因次ROM输入的地址八位在时间高位2输入后就一直在(下一次键盘再输入时才改变,所以ROM一位是键盘又输入了一个2,就把状态改为0101。这同时说明了上升沿是有一个过程的,并不是在一瞬间完成的(因为在这种情况下,一个上升沿实现了两次状态转化,这在实验之前我根本没想过,而整个思想在下面问题中也同样会出现。这个问题解决是通过改变键盘电路的D触发器的输入时钟频率为500Hz 做到的,但是有时候还是会出现一两次同时置数,所以还在考虑更好的方法。(注:和我实验电路设计类似的同学有好几位,但只有三位同学

17、有这个情况,所以一直在考虑是否是硬件出问题4有时设置完时间后使用C清零时,将时间、强度都清零了这个问题用状态来描述是这样的,有时输入时间结束后状态为0101,按键C清零按原理是直接回到状态0011,从而对两个时间进行清零,但是实际情况是把强度为也顺带清零了,而强度只有可能在0001状态才能清零的。这个理论上不可能出现的问题出现了,我分析电路、ROM可能出错的地方,没找到错误。后联想到计逻课上黄老师曾讲到“状态转换时,最好的方法是使用安全码”,这才让我猛然领悟:在状态变化过程中各位的变化不是同时的(虽然ROM是按地址查找,并行输出,但也一定存在时间差,也就是说会出现中间态。在本次按C键后进行的状

18、态转换中,由0101变为0011过程中可能会出现0001,0111两种中间状态,而0001就是初始后按键F后对各位清零的状态,所以有时候按键C时会出现全部清零。解决这个问题的方法是使用安全码,而不让其直接转换,由0101按键C 后先让其变为0111,再变为0011,这样就不会出现0001这个状态。但是当初这样解决的时候还担心一点,就是一个始终上升沿能否保证进行两次状态转换,因为如果不保证这个的话,我的状态转换就会有问题。于是我改写了ROM重新进行实验,发现不再出现这个问题,所以上述那个假定还是满足的。调试完ROM控制电路部分后,进行调试数据处理、存储部分计数器。1计数器实现模60方法错误这是一

19、个逻辑错误,当时采用低位逢10进位,同时异步清零。实验中发现时间总是在2029重复计数,时间高位根本没有进位,原因是10出现时马上进行异步清零,所以就没有进位信号,无法实现进位。解决方法是使用逢9产生进位信号,逢10异步清零。问题解决。2时间到达00后将时间强度一并清零。这个问题当初设计的时候是这样处理的:计数计到00时,使ROM中的状态寄存器异步清零,直接回到0000。这样处理主要是少考虑了一个问题:键盘电路模块中会把上一次的按键寄存在两个寄存器内,也就是相当与上次计数开始按键的F一直保存在寄存器内,当计数寄到零的时候,状态切换到0000,而键盘地址输出仍然为F键对应的输出,两个一作用相当于又按下键F,状态自动变为0001,对强度位进行清零,所以导致出错。分析找到原因后,解决方法很简单:在计数至00时,不仅把状态寄存器清零,同时也把键盘电路中的两个地址寄存器异步清零。操作改进之后,问题解决。最后是调试LED灯,发现没有错误。进行整体调试,发现没有错误。本次实验结束。附:ROM烧制:地址(hex 数据(hex077 F107B,07D,07E F00B7,0BB,0BD,0BE F00D7,0DB,0D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论