EDA电子秒表实训.docx
《EDA电子秒表实训.docx》由会员分享,可在线阅读,更多相关《EDA电子秒表实训.docx(12页珍藏版)》请在冰豆网上搜索。
EDA电子秒表实训
《EDA电子秒表实训》
报告书
姓名:
****
班级:
电信**班
学号:
100850927****
河北工专电气自动化系
一、实训目的
1.掌握电子秒表的工作原理以及数码显示管的工作原理。
2.掌握MAX+plusⅡ编程软件的使用。
3.了解实训中用到的试验箱上的硬件以及它的工作原理。
4.掌握将程序下载到芯片和调试过程。
5.了解一种芯片:
EP1K30ETC144-3的使用。
二、实训硬件原理
1.点动按键
实验箱提供12个点动按键。
按下时输出“低电平”,弹起时输出“高电平”。
试验中的清零信号、停止信号、启动信号均要由点动按键提供。
2.LED数码显示器
实验箱提供8位共阴LED数码管(这里共用到4位),内部设置了段限流电路和位译码驱动电路。
对外提供一位“段码”(a、b、c、d、e、f、g、dp)输入接口和一组4位“位选”(sel3、sel2、sel1、sel0)输入接口(这里共用到2位)。
这种电路结构决定了显示多位数码管只能采用动态扫描显示方式,而不是采用静态显示方式。
本设计要有8位段码(7位段码+1位dp)输出信号,分别与实验箱的“段码”输入a、b、c、d、e、f、g、dp相连接。
3.时钟信号
实验箱的DIGTALCLOCK模块提供时钟信号和多级2分频电路,时钟信号最高频率为20MHz,通过各种分频器可以得到不同频率的时钟信号,
本项目需要的是100Hz的时钟脉冲,但是实验箱不能直接提供精准的100Hz的时钟信号,仅能提供接近100Hz的152Hz和76Hz的信号。
为了简化设计,突出重点,本项目选用152Hz信号作为脉冲信号,而不考虑由此产生的误差。
如果要想得到精确的计时结果,就必须采用精确的100Hz的时钟信号,一种方法是先将20MHz的时钟信号经过一个二分频变成10MHz的时钟信号,然后经过5个十分频,使信号变成100Hz。
三、电路组成框图
1.按照设计要求,给出电路组成框图如图1所示:
其中图中miaob”的内部由4个十进制计数器和4位的4路选择器构成,内部结构如图2所示:
2.按键处理(CONTROL)模块
(1)start:
计时开始信号,接实验箱上的点动按键,下降沿有效。
(2)stop:
计时停止信号,接实验箱上的点动按键,下降沿有效。
(3)strobe:
计时基闸输出信号。
该信号处于高电平为计时状态,低电平为停止计时状态。
(4)reset:
复位信号,接实验箱上的点动按键,下降沿有效。
(5)按键处理模块EDA程序设计如下:
(control.vhd)
(6)波形仿真如图3所示:
3.十进制计数器
功能:
在strobe高电平期间,对100Hz的clk时钟信号进行计数,复位信号reset低电平有效,最低位的十进制计数器的clk接100Hz的时钟信号,它的进位接比它高一位的十进制计数器,最高位的计数器没有进位。
如图2所示:
(1)其中十进制的EDA的程序设计如下:
(shijinzhi.vhd)
(2)十进制的仿真波形如图4所示:
4.显示模块
该模块包括7段译码电路、4路选1电路和4进制计数器三部分。
(1)7段译码电路:
将bcd码转换成LED显示用的7段字形码。
十进制bcd码字形码gfedcba
000000111111
100010000110
...
...
...
910011101111
译码器的EDA程序如下:
qdym.vhd
7段译码器的仿真波形如图5所示:
(2)4进制计数器:
动态扫描方式,用来选择要显示的数位。
(CNT41)
4进制计数器的EDA程序如下:
(cnt41.vhd)
4进制计数器的仿真波形如图6所示:
(3)4选1电路:
动态扫描显示方式,选择显示的数据。
其中数码显示管中的小数点dp也是从4选1电路中连接出来的,即当选择器选择秒位的数据输出时让dp置成高电平,其他情况dp为低电平。
4选1的EDA程序如下:
mux41.vhd
4选1的仿真波形如图7所示
4.模块之间的组合
采用模块化、层次化的设计方法,顶层采用原理图输入方式,其余层采用VHDL语言描述。
各个模块之间的组合如图1、2所示。
连接好各个模块之后,进行编译,没有错误进行波形仿真。
总电路的仿真波形如图8所示:
四、注意事项
在使用实验箱进行实际验证时,绝对不可对编程电缆带电拔插(热插拔)。
必须在关闭计算机,实验箱断电的情况下,才能拔插编程电缆。
五、下载程序到芯片并调试程序。
1.首先打开软件MAX+plusⅡ,并打开自己编写的程序,选择正确的芯片,本实验选择的是EP1K30ETC144-3,然后将自己的程序设成工程文件,进行编译。
2.编译有错误进行改错,没有错误进行引脚锁定,根据自己的硬件连线进行引脚锁定,引脚锁定后再次进行编译,然后将程序下载到芯片上。
3.下载完程序后,观察显示管的状态,是否处于复位状态,然后按相应的复位按键和启动按键、停止按键是否能实现相应的功能。
4.检查完按键的功能后观察显示管是否能显示到99.99的状态,
六、方案改进
1.如果将start和stop合并成一个按键,只需要将程序中的“control”模块进行修改就行了
修改完的程序如下:
control.vhd
修改后“control”的仿真波形如图9所示:
2.实验箱不能够提供精确的100Hz脉冲信号,但是可以用20MHz的脉冲信号进行一次二分频后变成10MHz的脉冲信号,然后再进行5次的十分频后变成100Hz的脉冲信号,所有的分频器可以在程序的原理图文件里加,下载到芯片后,芯片需要的脉冲信号的频率为20MHz,这样就可以使得秒表更精确。
七、实训心得和体会
通过这次的实训使我了解了秒表的工作原理,同时使我掌握了数码显示管的使用方法和其扫描式显示工作原理,也使我掌握了将EDA程序下载到芯片的过程,更锻炼了我的动手能力,使我对EDA这门课产生了浓厚的兴趣。
总的来说,这次实训的数字秒表还是比较成功的,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。