摘要:本文介绍了一种基于FPGA的自动售货机的整体设计与工作原理。该课题以EDA技术实现自动售货机控制系统设计,选择ALTERA公司的FPGA芯片为目标器件。FPGA其内部电路的编程设计采用硬件描述语言(VHDL)对自动售货机的功能进行描述;CycloneII系列FPGA提供多达1.1MB的嵌入式存储器,支持高级外部存储器接口,同时支持最多4个可编程锁相环和最多16个全局时钟线,提供强大的时钟管理和频率合成功能。同时CycloneII系列FPGA具有快速接通能力,上电后能够迅速工作。因而本文选择CycloneII系列EP2C5T144C8芯片,详细阐述了主控模块、二进制译码模块、BCD码译码模块的软件设计与实现。另外有3个发光二极管、6个LED数码管。3个发光二极管分别用来显示交易成功、交易失败、正在找零。6个LED数码管里有2个用来显示所需金额,还有2个用来显示已付金额,最后2个用来显示找零数。并对所设计的FPGA内部功能进行仿真与调试验证。
关键词:FPGA;EDA ;自动售货机;VHDL
目录
摘要
Abstract
1 绪论-1
1.1 自动售货机的历史-1
1.2 自动售货机的研究现状-1
1.3 未来的发展和研究方向-2
2 系统相关技术-3
2.1 EDA系统级设计-3
2.2 EDA技术的主要特征及常用软件-3
2.3可编程逻辑器件-4
2.3.1 FPGA特点-4
2.3.2 FPGA工作原理-4
2.4 VHDL描述语言-4
2.4.1 硬件语言的发展背景-4
2.4.2 VHDL语言的基本结构-5
3 硬件设计-6
3.1 FPGA最小系统-6
3.1.1 FPGA的管脚设计-6
3.1.2 下载配置与调试接口电路设计-7
3.1.3电源模块电路设计-8
3.1.4复位电路设计-9
3.1.5时钟电路设计-10
3.2 FPGA硬件系统的调试-10
3.3硬件系统的RTL视图-11
4 软件设计与实现-12
4.1 设计概述-12
4.1.1 流程概述-12
4.1.2 模块说明-13
4.1.3 模块顶层图-14
4.2 状态之间的转换-15
4.3 软件设计流程图-15
4.4 软件开发环境-16
4.4.1 项目文件建立及属性设置-17
4.4.2 给项目添加程序文件-19
4.4.3 编译,连接项目,形成目标文件-21
4.4.4 仿真-22
4.4.5 下载程序-25
4.5 仿真时序图-26
4.5.1 主控模块仿真图-26
4.5.2 二进制译码模块仿真图-29
4.5.3 BCD码译码模块仿真图-30
结论-32
致谢-33
参考文献-34
附录-35
附录1:系统顶层原理图-35
附录2:系统源程序-36