基于fpga的自动售货机控制器设计毕业论文(编辑修改稿)内容摘要:
( 1) 高集成度、大容量、低成本、低电压、低功耗。 ( 2) 资源多样化。 基于 FPGA 的自动售货机控制器设计 4 ( 3) 适用于片上系统:处理器、高速串行 I/O、 DSP 等。 ( 4) 深亚微米工艺的使用。 目前基于 90nm 工艺的 FPGA 已经商用,正向65nm 挺进。 ( 5) 各种软硬 IP 库的发展和完善。 VHDL 语言概述 1982 年,超高速集成电路硬件描述语言 —— VHDL( VeryHighSpeed Integrated Circuit HardWare Description Language)最初是由美国国防部提出的硬件描述语言。 VHDL 在 1987 年底被国际电气电子工程师协会( The Institute of Electrical and Electronics Engineers, IEEE)和美国国防部确定为标准硬件描述 语言 [11]。 VHDL 语言通常含有以下三个部分:库( Library),实体( Entity)定义区,结构体( Architecture)定义区 [11]。 库( Library)声明区内存放了可供其他程序调用的经编译的数据,实体定义,构造体定义,程序包等资源。 实体( Entity)用来描述所设计芯片外观,有 I/O端口和参数的定义,是首要设计单元。 相同的器件可以有不同的实现,但是只能对应一个实体 [12]。 结构体( Architecture)描述所设计芯片的逻辑功能,不同描述方式仅体现在编写程序上,其结构体构造是完全相同的。 一个设计实体可能有多个结构体 [11]。 VHDL 语言特点 VHDL 语言进行数字逻辑电路的设计与传统电路设计方法相比具有如下的特征 [11]。 ( 1) 可移植性好。 对同一硬件电路的语言描述,对于不同模拟器、综合器或是工作平台也采用相同描述。 ( 2) 硬件描述能力强大。 具有多层次的电路设计描述功能,同时支持惯性延迟和传输延迟,能准确建立硬件电路的模型。 ( 3) 易于共享。 将预先设计好的模块可以放在库中,之后的设计便可以直接调用。 ( 4) 功能强大,设计方式多样。 可用于门级、电路级甚至系统级的描述、仿真和设计,随时判断设计系统功能的可行性。 VHDL 的优势 ( 1) VHDL 的行为描述能力 更强,因而成为系统设计领域最佳的硬件描述语言。 ( 2) 丰富的仿真语句和库函数,使其可对设计进行仿真模拟。 ( 3) 具有相对独立性,设计者可不必懂硬件的结构,也不必管理最终设计基于 FPGA 的自动售货机控制器设计 5 实现的目标器件是什么。 ( 4) VHDL 语句的行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能。 Quartus II 软件介绍 Altera 的 Quartus II 可编程逻辑 软件 属于第四代 PLD 开发平台。 该平台支持一个 工作组 环境下的设计要求,其中包括支持基于 Inter 的协作设计。 Quartus平台与 Cadence、 ExemplarLogic、 MentorGraphics、 Synopsys 和 Synplicity 等 EDA供应商的开发工具相兼容。 改进了 软件 的 LogicLock模块设计 功能,增添了 FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。 Quartus II 通过和 DSP Builder 工具与 Matlab/Simulink 相结合,可以方便地实现各种 DSP 应用系统;支持 Altera 的片上可编程系统( SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Quartus II 原理图输入设计的 步骤如下: ( 1) 建立工程项目(工程目录、名称和选择合适器件) ( 2) 编辑设计图形文件(放置元件、连线、设定输入输出管脚名称) ( 3) 编译设计图形文件(检查电路是否有错误) ( 4) 时序仿真设计文件(得到仿真波形验证设计结果) ( 5) 生成元件符号 硬件 介绍 本实验设计硬件部分采用 ZY11EDA13BE 实验系统来实现,核心芯片是EPF1K30QC2082。 实验主板布局图如图 所示。 本次设计采用了实验系统中的核心芯片 EPF1K30QC208电源模块、数字可调信号源、开关按键模块、键盘模块、 LED 显示模 块以及数码管显示模块。 基于 FPGA 的自动售货机控制器设计 6 图 ZY11EDA13BE 实验系统图 本章小结 本章主要对本课题研究的自动售货机设计过程中涉及的软硬件平台和工具进行介绍。 了解了 EDA 技术的 作用 、 实现的功能 特点,同时介绍了 FPGA 的主要功能和原理, EDA 综合工具 Quartus II 软件及 对编程需要使用到的 VHDL 语言进行了介绍,并对本设计所用的教学实验设备 ZY11EDA13BE 进行了简要介绍。 基于 FPGA 的自动售货机控制器设计 7 第 3 章 自动售货机设计方案 自动售货机整体描述 自动售货机功能要求 本 次设计的基于 FPGA 的自动售货机在 ZY11EDA13BE 实验系统中完成功能验证, 主要是使用 4*4 键盘模块来进行自动售货机的购物选择,使用 LED 指示灯来进行出货找零的信号显示,使用开关按键来进行模拟投币,使用数码管来进行购物选择、商品售价、投币金额、找零金额的显示,使用数字可调信号源来调节时钟信号和分频延时信号。 自动售货机的具体功能要求如下: ( 1) 共销售 24 种不同价位的商品。 ( 2) 可以识别:硬币、纸币,投入的硬币识别金额为 1 元,投入的纸币识别金额为 1 元, 5 元, 10 元, 20 元。 ( 3) 投入的钱币总额数码管实时显示。 ( 4) 每次只 能购买一件商品。 ( 5) 通过小键盘顾客可以选择商品的编号,例如选择 24 号商品,则需要在小键盘上先按下 2,然后再按下 4,最后按下确认键( A),进而实现商品的选择与购买。 ( 6) 当投入的总金额小于顾客选择商品的售价时,自动售货机可以继续投币,当投入的总金额大于或者等于顾客选择的商品售价时,自动售货机锁定键盘和投币,出货,扣除商品售价,并且找零,找零金额在数码管上显示出来。 ( 7) 在投币状态下 13 秒内没有任何操作,则自动进入结算状态,退回钱币。 在选择状态下 35 秒内没有任何操作,则自动回到初始状态,键盘和数码管清零。 ( 8) 有两个 LED 显 示灯,分别显示出货与找零两种状态。 自动售货机系统总框图 基于 FPGA 的自动售货机控制器设计 8 图 自动售货机系统总框图 本文所设计的自动售货机如图 所示,共有 8 个模块,分别是购物模块,定价模块,投币模块,计时模块,比价模块,复位模块,购物显示模块,数码管显示模块。 其中复位模块主要对投币模块,购物模块,定价模块,比价模块进行重置清零,保证系统的稳定运行,所以该模块是整个系统必不可少的成分。 自动售货机基本流程图 自动售货机系统基本流程图如图 所示。 计时模块 定价模块 (赋值) 投币模块 (按键输入) (去抖) 复位模块 ( LED) 比价模块 (比价) ( LED) 购物 显示 模块 购物模块 (扫描) (按键输入) (去抖) 数码管 显示 模块 基于 FPGA 的自动售货机控制器设计 9 图 自动售货机基本流程图 系统初始化后先进行自检,然后监测是否投入钱币。 当有钱币投入时,系统则自动累加投币的总额,并在数码管上显示。 当无钱币投入时,若有按键输入则进入商品选择状态。 如果没有选择商品,则 13 秒后自动退币。 如果选择了商品但是不在选择范围内,则购物模块清零,重新选择。 若选择的商品在选择范围内,系统则会调出卖家定价并显示,而后系统会把投币总额与所选择商品的单价进行开始 系统初始化 商品价格显示 投币 售价。 钱币累加并显示 是否投币。 选择商品。 确认购买。 退币 出货找零 结束 否 是 是 是 是 否 否 否 基于 FPGA 的自动售货机控制器设计 10 比较,如果投币总额低于商品单价时,会给一定的再投币时间。 如果投 币总额不低于商品单价时,则系统进入结算状态。 如果选择商品没有按下确认键则 13 秒后自动退币,如果已经选择了商品并按下确认键,则系统进行相应的出货找零。 本文所设计的自动售货机有 8 个模块,分别是购物模块,定价模块,投币模块,计时模块,比价模块,复位模块,购物显示模块,数码管显示模块。 下面分别介绍各个模块。 购物模块 购物模块是消费者使用键盘进行商品选择消费的模块。 通过 4*4 矩阵键盘输入选择商品号数,再按下确认键( A),即可实现商品的选择。 因为本设计能销售 01— 24 号商品,所以选择两个数码管进行显示。 通 常矩阵式键盘都是单片机控制,本模块提供的键盘模块完全用CPLD/FPGA 控制, I/O 分布原理图如图 所示: 图 I/O 分布原理图 购物模块整体描述 购物模块基本流程图 购物模块基本流程图如图 所示。 基于 FPGA 的自动售货机控制器设计 11 图 购物模块基本流程图 购物模块生成器件 开始 系统初始化 是否重置。 使能有效。 键盘扫描 找到闭合键。 去抖动 计算键值 闭合键释放。 是否确认。 是 否 结束 输出信号 是 是 是 是 否 否 否 否 基于 FPGA 的自动售货机控制器设计 12 图 购物模块基本流程图 购物模块生成器件图如图 所示。 输入信号: ( 1) start1: 购物重置信号 ( 2) enin1: 购物使能信号 ( 3) clk1: 时钟信号 ( 4) kbrow1: 4*4 矩阵键盘 4 位列输入信号 ( 5) restart1:购物复位信号 输出信号: ( 1) shuju1: 购物 8 位二进制累加信号 ( 2) jen1: 购物计时触发信号 ( 3) scan1:购物 数码管扫描信号 ( 4) kbcol1: 4*4 矩阵键盘 4 位行输出信号 ( 5) seg71: 购物数码管显示信号 购物模块总功能描述 购物重置信号有效时,该模块清零重置。 当购物重置信号无效时,购物模块监控购物信号的输入。 若购 物使能信号无效,则自动锁定键盘,系统无法接受按键输入信号,此模块不工作。 当购物重置信号无效、购物使能信号有效,且有时间触发时,系统经由输出键盘行动态扫描信号获取按键的键值并输出键盘的行扫描信号。 当有按键按下时,扫描到所选的列信号,把列信号与状态信号进行比对,最终确定键盘的行扫描信号,确定按键的键值。 若检测到已按下确认按键( A),先判断按下键值是否符合设定,若检测值大于 24,即超过设计的限定范围,该模块将输出“ 00111111”给购物数码管显示信号和相对应的购物数码管扫描信号,同时购物计时使能信号会输出给计 时模块,此时购物数码管清零,顾客可以重新输入。 若检测值不大于24,则把键值编译成 BCD 码再经译码后输出给数码管,同时把对应的数码管扫描信号输出给数码管,将购物 8 位二进制累加信号输出给价格模块,把购物计时使能信号输出给计时模块。 如果没有按下确认按键( A),则只把键值编译成 BCD码通过译码后输出给数码管,同时把相应的购物数码管扫描信号输出给数码管,不把键盘 8 位二进制累加信号输出给 定价 模块。 为了解决顾客在购物选择过程中可能会按下错误数字的问题,特别设定一个购物复位信号,当购物复位信号有效时,对应数码管清零,顾客 可以重新选择。 另外,此模块内带有的按键消抖的功能可以提高键值键入的准确性。 基于 FPGA 的自动售货机控制器设计 13 购物模块组成元件 购物模块是由扫描元件,编译元件,数据处理元件,购物数码管译码元件这四个元件组成。 接下来分块介绍各元件。 扫描元件 功能描述 扫描元件的作用是将输出相对应的 4*4 矩阵键盘 4 位行输出信号给 4*4 矩阵键盘。 主要信号 输入信号: ( 1) clk: 时钟信号 ( 2) kbrow: 4*4 矩阵键盘 4 位列输入信号 输出信号: ( 1) en:使能信号 ( 2) state: 购物状态信号 ( 3) kbcol: 4*4 矩阵键盘 4 位行输出信号 仿真结果 图 扫描元件波形仿真图 扫描元件波形仿真图如图 所示。 当 kbrow 为“ 1000”(相当于按键按下不松开), en 的输出信号为“ 0”, kbcol 为“ 0001”, sta。基于fpga的自动售货机控制器设计毕业论文(编辑修改稿)
相关推荐
FPGA开发系统实现。 用户无需了解 FPGA,的内部构造和工作原理,只要在 计算机上输入电路原理图或硬件描述语言, FPGA开发系统就能自动进行模拟、验证、分割、布局和布线,最后实现 FPGA的内部配置。 FPGA的设计流程如图 : 设 计 输 入设 计 验 证( 时 序 及 内 电 路 模 拟 )设 计 实 现( 分 割 , 布 局 , 布 线 )F P G A用 户原 理 图 入 口文 本
的快速适配编译选项,可保留最佳性能的设置,加快了编译过程,可缩短 50%的编译时间,对设计性能的影响小。 (5)不足之处 软件结构庞大,使用复杂,不如 MAX+PLUSII 简单、易学易用。 6 2. 频率测量 数字频率计工作原理概述 数字频率计的设计原理实际上是测量单位时间内的周期数。 这种方法免去了实测以前的预测,同时节省了划分频段的时间,克服了原来高频段采用测频模式而低频段采用测周期
计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为 Altera 的上一代 PLD 设计软件,由于其出色的易用性而得到了广泛的应用。 目前 Altera 已经停止了对 Maxplus II 的更新支持, Quartus II 与之相比不仅仅是支 持器件类型的丰富和图形界面的改变。 Altera 在 Quartus II
logic; clk0 : in std_logic。 enable : out std_logic)。 end control。 architecture rtl of control is signal strobe : std_logic。 begin process (sysreset,reset0,on_off0) begin if (sysreset=‟1‟ or reset0 =
块的设计与实现。 河南理工大学毕业设计(论文)说明书 15 3 模块设计与实现 如前面所述,顶层实体由 3个模块构成: 微控制器接口模块、相位累加器模块及双端口 RAM 模块。 由 8个比例乘法器级联组成的分频器模块以端口定义的形式例化在微控制器模块中,属于后者的子模块,但是由于比例乘法器的本设计中所发挥的作用很大,加之相关资料少之又少,为了加深读者的领悟,决定单独作为一节。 微控制器接口模块
b=fir1(N,wn,window);③b=fir1(N,wn,’ftype’);④b=fir1(N,wn, ’ftype’,window)。 其中N表示滤波器的阶数,wn是截止频率,取值在0到1之间,它是以采样频率的一半为基准频率的归一化值,1对应采样频率的一半,b为滤波器的系数向量h(n)(按降幂排列),window用于指定窗函数种类,缺省为海明窗,窗函数的长度为N+1。