EDA数码管课程设计Word文档格式.docx
- 文档编号:20264982
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:18
- 大小:1.62MB
EDA数码管课程设计Word文档格式.docx
《EDA数码管课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《EDA数码管课程设计Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率大于50Hz,将看不到闪烁现象。
2、系统结构图信号名与芯片引脚对照表
硬件资源
元件引脚
EP3C引脚序号
电路使用说明
LED
数码显示
A
133
该部分电路为固定电路。
使用LED数码显示时请按照器件引脚分配表进行引脚分配后再下载到芯片中。
B
135
C
136
D
137
E
138
F
141
G
142
Dp
128
74LS138
S1
125
S2
126
S3
127
3、LED连接图
4、课程设计使用设备
(1)EDA及SOPC综合实验平台;
(2)导线若干;
(3)PC机;
(4)QuartusII开发工具软件。
四、要求的设计成果
(1)根据控制要求设计硬件电路原理图。
(2)编写用于系统仿真的VHDL源程序。
(3)系统仿真及验证结果。
(4)编写《EDA技术及应用课程设计》报告,课程设计报告内容包括:
①设计方案、课程设计过程和设计思想、方法、原理。
②画出系统的原理图。
③VHDL语言程序及仿真波形。
④参考资料、参考书及参考手册。
⑤其他需要说明的问题,例如操作说明、程序的调试过程、遇到的问题及解决方法、对课程设计的认识和建议等。
⑥《可编程控制器技术课程设计》报告可以手写,也可以用电脑编排打印,报告格式按照《华中科技大学武昌分校课程设计管理办法》执行。
课程设计报告要求内容正确完整,图表清晰,叙述简明,语句通顺,字数不得少于2000汉字。
⑦课程设计报告按封面、任务书、设计说明书、图纸、实物照片贴页(实物照片贴在A4复印纸上)、成绩评定表的顺序装订。
1.课程设计题目及要求..............................................1
1.1设计题目.......................................................1
1.2LED显示器的动态扫描驱动电路..................................1
1.3设计方案论证...................................................1
2.LED显示器动态扫描驱动电路各单元电路设计........................3
2.1计数器与译码器的设计...........................................3
2.2一位共阳极LED动态驱动电路设计.................................4
2.3七段数码管的设计...............................................5
3.LED显示器动态扫描系统设计......................................7
3.1整体电路图及工作原理...........................................7
3.2VHDL程序设计..................................................7
3.3电路参数计算...................................................10
4.Quartus运行调试................................................12
4.1时序仿真.........................................12
4.2硬件逻辑验证..................................13
4.3调试结果分析..................................................13
4.4调试中出现的问题及解决方法.....................................14
5.设计总结......................................................15
6.参考文献......................................................16附录1系统硬件电路图.........................................17
附录2实物照片(现场接线及调试显示照片).......................18
1.课程设计题目及要求
1.1设计题目
设计主要内容:
具体设计内容是动态循环显示学号。
1.2LED显示器动态扫描驱动电路的要求
设计要求:
(1)分析设计要求,明确性能指标。
必须仔细分析课题要求,性能,指标及应用环境等,广开思路,构思出各种总体方案,绘制结构框图。
(2)确定合理的总体方案,对各种方案进行比较,以电路的先进性,结构的繁简,成本的高低及制作的难易等方面作综合比较,并考虑器件的来源,敲定可行方案。
(3)设计各单元电路。
总体方案化整为零,分解成若干自行同或单元电路,逐个设计。
(4)组成系统。
在一定幅面的图纸上合理布局,通常是按照信号的流向,采用左进右出的规律摆放各电路,并标出表的说明。
技术指标:
(1)发光强度比
由于数码管各段在同样的驱动电压时,各段正向电流不相同,所以各段发光强度不同,所有段的发光强度值中最大值与最小值之比为发光强度比。
比值可以再1.5-2.3间,最大不能超过2.5.
(2)脉冲正向电流
若笔画显示器每段典型正向直流工作电流为A,则在脉冲下,正向电流可以远大于A。
脉冲占空比越小,脉冲正向电流可以越大。
1.3设计方案论证
通过计数器与译码器控制三态门,在通过三态门控制输出中间级使其数据传送到LED七段数码显示器。
这里计数器采用555定时计数器,译码器采用138译码器,按要求采用4位分立元件,如下图:
通常的4位LED显示器如图所示,其内部由多只二极管构成,按连接方式不同可分为共阳极LED和共阴极LED。
器电路特性基本一致:
发光二级管导通压降为1.2-1.8v,正向工作电流为2mA-15mA。
在显示驱动方式中,采用动态扫描,当扫描公共端时,LED驱动器分别对应a-g的显示段,LED就能正常显示。
LED显示器结构
基本的半导体数码管是由七个条状放光二极管芯片排列而成的。
可实现0-9的显示。
其具体结构有放射罩式,条形七段式及单片集成式多位数字式等。
2.LED显示器动态扫描驱动电路各单元电路设计
2.1计数器与译码器的设计
计数器的设计:
计数器选用集成电路74ls190进行设计比较方便。
74ls190时同步四位十进制加减计数器,它具有同步清零,同步计数的功能。
74ls190的引脚图如下图所示:
图2-1-1
译码及显示电路的设计
为了能以十进制数码直观地显示数字系统的运行数据,目前广泛使用了七字符显示器,或称七段数码管。
这种字符显示器由七段可发光的线段拼接而成。
常见的七段字符显示器有半导体数码管和液晶显示器两种。
半导体数码管的每个线段都是一个发光二极管。
因此,也把它叫做LED数码管。
发光二级管使用的材料与普通的硅二极管不同,半导体中的杂质浓度很高。
当外加正电压的时候,大量的电子和空穴在扩散的过程中复合,其中一部分电子从导带跃进到价带,把多余的能量以光的形式释放出来,便发出一定可见光
半导体数码管和液晶显示器都可以用ttl或cmos集成电路直接驱动。
为此,就需要使用显示译码器将bcd代码译成数码管所需要的驱动信号,以便使数码管用十进制数字显示出bcd代码所表示的数值。
图2-1-2
2.2一位共阳极LED动态驱动电路设计
动态驱动是将所有数码管使用一个专门的译码驱动器,使各位数码管逐个轮流受控显示,这就是动态驱动。
由于扫描速度极快。
显示效果与静态驱动相同。
图2-2
2.3七段数码管的设计
七段数码管在工业控制中有着很广泛的应用,列如用来显示温度,数量,重量,日期,时间,还可以用来显示比赛的比分等,具有显示醒目,直观的优点。
七段数码管的具体工作原理可叙述如下:
首先将数码管要显示的8分为七段如图:
图2-3
这七段分别由七个发光二级管构成,根据数码来决定七段中的中的某一段或几段进行显示,例如如果数码为0,则显示0.1.2.3.4.5段,即点亮1.2.3.4.5段。
对于其他的数字我们以此类推。
七段数码管可分为共阴极和共阳极的数码管,对于共阴极的数码管只有当其输入端输入高电平时二极管才会发光;
而共阳极的数码管只有当输入端输入低电平时二极管才会发光。
共阴极内部每个发光二极管的阴极被接在一起,成为该段的公共选通线;
发光二极管的样机则成为段选线。
如果要显示某个数字只需相应选中对应的段选线。
对于共阳极数码管,则正好相反,内部发光二极管的阳极接在一起,阴极成为段选线。
这两种数码管的驱动方式是不同的。
当需要点亮共阳极的数码管的一段时,公共端需接高电平,该段的段选线接低电平。
从而该段被点亮,当需要点亮共阳极数码管的一段时,公共段需接低电平,该段的选短线接高电平,该段被点亮。
3.LED显示器动态扫描驱动电路系统设计
3.1整体电路图及工作原理
图3-1
LED显示模块原理:
3.2VHDL程序设计
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
useieee.std_logic_signed.all;
entityscan_segis
port(clk3,clk5:
instd_logic;
rst:
instd_logic;
seg_da:
outstd_logic_vector(7downto0);
seg_sel:
outstd_logic_vector(2downto0)
);
endscan_seg;
architectureadoofscan_segis
signalseg_buf1,seg_buf2,seg_buf3,seg_buf4,seg_buf0:
std_logic_vector(3downto0);
signalseg_buf9,seg_buf10,seg_buf11:
signalseg_buf5,seg_buf6,seg_buf7,seg_buf8:
signalseg_cnt:
std_logic_vector(2downto0);
signalseg_temp:
signalclk:
std_logic;
begin
process(clk5)
ifclk5'
eventandclk5='
1'
then
clk<
=notclk;
endif;
endprocess;
process(clk5,rst)
eventandclk5='
ifrst='
seg_buf1<
="
0100"
;
seg_buf2<
0101"
seg_buf3<
0000"
seg_buf4<
0010"
seg_buf5<
seg_buf6<
1000"
seg_buf7<
seg_buf8<
seg_buf9<
0001"
seg_buf10<
seg_buf11<
else
=seg_buf11;
seg_buf11<
=seg_buf10;
seg_buf10<
=seg_buf9;
seg_buf9<
=seg_buf8;
seg_buf8<
=seg_buf7;
seg_buf7<
=seg_buf6;
seg_buf6<
=seg_buf5;
seg_buf5<
=seg_buf4;
seg_buf4<
=seg_buf3;
seg_buf3<
=seg_buf2;
seg_buf2<
=seg_buf1;
process(clk3,rst)
ifclk3'
eventandclk3='
seg_cnt<
000"
=seg_cnt+1;
seg_sel<
=seg_cnt;
process(seg_cnt,seg_buf4,seg_buf5,seg_buf6,seg_buf7,seg_buf8,seg_buf9,seg_buf10,seg_buf11)
caseseg_cntis
wheno"
0"
=>
seg_temp<
=seg_buf1;
1"
2"
3"
4"
5"
6"
7"
whenothers=>
XXXX"
endcase;
process(seg_temp)
caseseg_tempis
when"
=>
seg_da<
"
0011"
when"
0110"
0111"
1001"
1010"
1011"
1100"
1101"
1110"
1111"
null;
endado;
3.3电路参数计算
所谓动态驱动实际就是分时点亮不同位置的数码管,由于人眼的惰性,当数码管熄灭的时间小于40ms时,给人们感觉就是一直被点亮。
发光强度:
由于数码管各段在同样的驱动电路时,各段正向电流不相同,所以各段发光强度不同。
所以段的发光强度不同。
所有段的发光强度值中的最大值与最小值之比为发光强度比。
比值可以再1.5-2.3之间。
最大不能超过2.5.
R1-R7电阻值:
由于三极管至于导通状态时的饱和电压v非常小可以不计,所以从电源减去7段LED的电压降2v以及发射极极间电压0.6v余下的就是加在R7-R1上的电压,为了使流过LED的电流为30mA。
4.Quartus运行调试
4.1时序仿真波形图
(1)打开波形编辑器。
选择“file"
菜单中的”new"
项,在“new"
窗口中选择”otherfiles“中的”vectorwaveformfile"
项,打开空白编辑器。
(2)设置时间仿真区域。
将仿真时间设置在一个比较合理的时间区域。
选择“edit”菜单中的“endtime...”项,在弹出的窗口中的“time"
栏处输入“100”,单位选择“ms”,将整个仿真区域的时间设为10ms,单击“ok”按钮,结束设置。
(3)编辑输入波形。
单击选中波形编辑窗口的时钟信号名“clk1”,使之变成蓝色条,再单击左列的时钟设置键,打开窗口,将“clk”的周期设定为0.5ms,“phase”相位设为默认为零,“dutycycle”占空比设为默认值50%。
(4)设定数据模式。
单击信号“light”旁边的“+”号,可以打开信号的各个分量,查看信号的每一位。
如果双击“+”号左边的信号标记,可以打开该信号格式设置的对话框。
(5)波形文件存盘。
选择“file”菜单下的“save”命令,或直接单击工具栏上的按钮即可。
(6)仿真器参数设计。
选择“assignment”菜单下的“setting。
。
”项,在“setting”窗口中左侧“category”栏中选择“simulator”项,打开窗口,在“siumlationmode”项目下选择仿真激励文件“light.vwf”。
在“simulationperiod”栏中选择“runsimulationuntilallvectorstimuliareuse”即全程仿真;
确认选中“simulationcoveragereporting”;
毛刺检测“glitchdetection”为1us;
功耗估算“generatesignalactivityfile”。
把所有的参数都设定好了之后,就可以观察相关的波形了。
图4-1
4.2硬件逻辑验证
(1)确认已经打开了工程light。
(2)打开“assignments”菜单下的“pins”命令,打开引脚锁定窗口。
(3)用鼠标双击“to”栏中的“<
<
new>
>
”,再出现的下拉栏中选择本工程要锁定的端口信号名(例如clk),然后双击对应的“location”栏中的“<
”,在出现的下拉栏中选择对应端口信号名的器件引脚(例如对应clk,应选择29)。
(4)按前面提到的引脚信息添加锁定引脚,全部输入后单击工具栏上的保存按钮,保存引脚设置。
当冒个引脚锁定后,我们在“to”栏下看到该引脚将是斜体显示的,其他未锁定引脚则是正体显示。
保持完毕,必须再编译适配一次,才能将引脚锁定到最终的下载文件中,此后就可以将编译好的sof文件下载到实验系统的FPGA中去了。
图4-2
4.3调试结果分析
根据老师所给的提示内容,结合一些自己搜集的资料,数码管上的学号将从右至左依个移动,循环显示。
4.4调试中出现的问题及解决方法
调试过程中遇到了几个问题,下面一个个分析:
首先,在调试的过程中,发现自己的程序在编译的过程中有许多的错误,通过机子的提示,一步步改正,最终调试成功,但是在我将硬件部分接到计算机上的时候,数码管上的数字并不能循环显示,而只能循环一个数字。
因为这个问题我想了半天,发现是程序中的循环语句有问题,但是通过几种改进都没什么用,依然不行。
结果在老师的帮助下,改动了一下程序,成功了。
还有一个问题就是我在生成时序波形图的时候,编译提示程序有问题,我当时就蒙了,程序都调试成功了怎么会在这个时候出现错误,重复试了几次但是还是没什么用,正好一位同学看到了,也遇到了同样的问题,原来是自己在软件使用的过程中打开的东西太多了,导致软件发生错误。
5设计总结
这次课程设计上网查的资料比较多,所以我觉得这次设计做起来比较顺手,基本上没遇到很多自己很难解决的问题。
但是这次试验收获也不少,首先,由于要自己查资料在自己结合着写程序,所以要对程序要一个比较深的了解,基本上每一句都要弄懂,就是因为这我在程序上花了不少时间,把程序弄得很懂,这在一方面让我复习了一下EDA的知识,也加强我对EDA的学习。
然后就是这次设计用的是Quartus这个软件,这个软件我觉得就是英文版的很
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 数码管 课程设计