基于CPLD的秒表设计.docx
- 文档编号:2777177
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:20
- 大小:506.55KB
基于CPLD的秒表设计.docx
《基于CPLD的秒表设计.docx》由会员分享,可在线阅读,更多相关《基于CPLD的秒表设计.docx(20页珍藏版)》请在冰豆网上搜索。
基于CPLD的秒表设计
课程设计说明书(本科)
题目:
基于CPLD/FPDA数字秒表设计
姓名:
赵超尚晓亮王浩
专业:
电子信息工程
班级:
08级2班
2011年6月21日
目录
摘要………………………………………………………………………………3
第一章设计任务和目的…………………………………………………………3
1.1设计任务……………………………………………………………3
1.2设计目的……………………………………………………………3
1.3设计中所用工具……………………………………………………3
第二章EDA、CPLD及VHDL语言概述……………………………………………4
2.1EDA概述及开发工具………………………………………………4
2.1.1EDA技术概述……………………………………………4
2.1.2EDA技术工具……………………………………………4
2.1.3PCB设计软件…………………………………………5
2.2CPLD概述及开发工具……………………………………………5
2.2.1CPLD技术概述…………………………………………5
2.2.2CPLD开发工具…………………………………………5
2.3VHDL语言概述及特点………………………………………………6
2.3.1语言概述…………………………………………………6
2.3.2VHDL语言特点……………………………………………7
第三章总体设计的方案…………………………………………………………7
3.1总体设计思想………………………………………………………7
3.2总体硬件设计方案…………………………………………………8
3.3总体软件设计方案…………………………………………………9
第四章软件设计及仿真…………………………………………………………10
4.110分频模块程序设计及仿真………………………………………10
4.21000分频模块程序设计及仿真………………………………………11
4.3七段数码译码程序及仿真……………………………………………12
4.4100分之1秒模块程序设计及仿真……………………………………14
4.5输出扫描模块程序设计及仿真…………………………………………16
4.6分钟模块程序设计及仿真………………………………………………18
4.7分钟模块程序设计及仿真………………………………………………19
第五章基于AT89C51单片机的表设计……………………………………………21
5.1秒表硬件总电路……………………………………………………21
5.2系统仿真及调试………………………………………………………22
第六章总结…………………………………………………………………………24
6.1总结…………………………………………………………………24
6.2收获…………………………………………………………………24
参考文献……………………………………………………………………………25
附录一:
单片机秒表汇编源程序…………………………………………………25
基于CPLD/FPDA数字秒表设计
摘要:
本次EDA课程设计硬件器件基于CPLD,软件程序基于VHDL语言,仿真采用QuartusⅡ5.0,制作一个秒表。
电路原理图的制作使用了Protel99se,软件设计思想从底层到顶层依次调试仿真。
并写出了每一部分的源程序和时序仿真图。
另外本设计中还基于Protues用AT89C51制作了一个秒表,将CPLD和单片机进行比较。
关键词:
EDACPLDVHDLQuartusⅡ5.0ProtuesAT89C51秒表
第一章设计任务的目的
1.1设计任务
设计并实现数字秒表。
下载芯片:
Altera的MAX3000系列EPM3256ATC144-10。
电子秒表具有以下基本功能:
1.具有秒表计时显示功能,最大计数99.9,分辨率0.1秒(基本功能);
2.具有计时启动与停止功能(基本功能);
3.可以实现上次计时数据的调出显示功能(扩展功能);
1.2设计目的
1.掌握可编程逻辑器件的基本原理及利用EDA开发工具QuartusII5.0(Max+plusII)进行可编程逻辑器件设计的方法;
2.熟练掌握可编程逻辑器件的原理图层次化设计方法;
3.掌握利用QuartusII5.0(Max+plusII10.2)进行软件仿真及对可编程逻辑器件进行硬件下载的方法。
4.熟悉实际工程项目开发的流程与设计思想;
1.3设计中所用工具
本设计硬件是基于CPLD/FPGA芯片制作一个简单的数字秒表,具体实现是用CPLD/FPGA开发硬件实验系统上的EPM3254ATC144-10芯片作主控模块,显示模块用8个七段数码管显示,实验开发板一有很多的时钟信号,本实验中所用的1MHz时钟可从开发板上很容易获得。
开发软件是基于QuartusⅡ5.0,它继承了MAX-plusⅡ所有优点,是更加完善的PLD设计工具。
它提供了完整的多平台设计环境,能够直接满足特定设计需要,为可编程芯片系统(SOPC)提供全面的设计环境,将为Altera的DSP模块进行系统模型设计提供了集成综合环境。
它可以完成VHDL语言的编译、时序的仿真和程序的调试烧写工作等工作。
本设计中所用语言为VHDL(Very-High-SpeedIntegratedCircuitHDL),设计思想是从底层到顶层依次调试、仿真。
VHDL是以高级语言为甚而,能够以形式化方式描述电路的结构和行为并用于模拟和综合的高级描述方法。
目的是用软件的方法实现硬件电路的设计,实现RTL级仿真,验证设计的正确性,而不必像在传统的手工设计过程中那样,必须等到完成后才能进行实测和调试。
第三章总体设计方案
3.1总体设计思想
要产生准确的时钟信号必须要一个很高频率的信号进行分频后得到想要的时钟信号才能确保时钟的精度,本设计中使用1MHz时钟信号先进行10分频得到100KHz的信号为数码管扫描信号,再将1KHz信号进行1000分频得到100Hz信号,此信号作为秒表的百分之一秒为,然后每100码元产生一个进为从后得到1秒钟的信号,再每60秒产生一个分钟信号作为分钟信号。
总体设计方案如图3-1所示。
图3-1秒表总体设计方案
3.2总体硬件设计方案
硬件使用EPM3254ATC144-10(引脚如图3-2)作主控制,8个七段数码管作显示部分,三个开关分别起:
开始、暂停、清零作用,总电路图如图3-4
图3-2EPM3254ATC144-10引脚
图3-3总硬件电路图
3.3总体软件设计方案
软件设计思想是从底层往顶层设计,将一个比较复杂的程序划分成7个小的模块,再通过一个顶层电路将七个子程序连接起来。
本设计中分为七个子模块分别为:
10分频、1000分频、一百分之一秒模块、秒钟模块、分钟模块、译码模块和显示模块。
具体电路图如图3-4所示,体仿真结果如图3-5所示。
图3-4软件总电路图
图3-5软件总电路仿真结果
第四章软件设计及仿真
4.110分频模块程序设计及仿真
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityf10is
port(clk:
instd_logic;
clk_out:
outstd_logic);
end;
architectureartoff10is
signalcount:
integerrange0to9;---改X值,
signalclk_data:
std_logic;
begin
process(clk,count)
begin
ifclk'eventandclk='1'then
ifcount=9then---X值决定分频倍数
count<=0;
clk_data<=notclk_data;
elsecount<=count+1;
endif;
endif;
clk_out<=clk_data;
endprocess;
endart;
图4-1
4.21000分频模块程序设计及仿真
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityf1000is
port(clk:
instd_logic;
clk_out:
outstd_logic);
end;
architectureartoff1000is
signalcount:
integerrange0to999;---改X值,
signalclk_data:
std_logic;
begin
process(clk,count)
begin
ifclk'eventandclk='1'then
ifcount=999then---X值决定分频倍数
count<=0;
clk_data<=notclk_data;
elsecount<=count+1;
endif;
endif;
clk_out<=clk_data;
endprocess;
endart;
图4-2
4.3七段数码译码程序及仿真
说明:
本程序适用于共阳极七段数码管。
其硬件如下图所示:
硬件描述语言如下:
LIBRARYieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitydeledis
port(num:
instd_logic_vector(3downto0);
led:
outstd_logic_vector(6downto0)
);
enddeled;
architecturefunofdeledis
begin
led<="1000000"WHENnum="0000"ELSE–-显示“0”
"1111001"WHENnum="0001"ELSE–-显示“1”
"0100100"WHENnum="0010"ELSE–-显示“2”
"0110000"WHENnum="0011"ELSE–-显示“3”
"0011001"WHENnum="0100"ELSE–-显示“4”
"0010010"WHENnum="0101"ELSE–-显示“5”
"0000010"WHENnum="0110"ELSE–-显示“6”
"1111000"WHENnum="0111"ELSE–-显示“7”
"0000000"WHENnum="1000"ELSE–-显示“8”
"0010000"WHENnum="1001"ELSE–-显示“9”
"0111111"WHENnum="1111";–-显示“-”
endfun;
图4-3
注:
从图中可看出当num=”0000”时,led=“1000000”所以显示的是“0”,又
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CPLD 秒表 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)