基于FPGA的自动售货机

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:leolee19820604
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]本文介绍了基于Verilog HDL的自动售货机,本设计主要利用ISE平台,采用Verilog HDL设计系统核心电路,并外接了一个RS232模块,采用RS232串行通讯协议,实现串行数据的接收和发送,将数据通过电脑发送到Basys2开发板上并让其接收,并可结合芯片上的数码管进行具体的数字显示,最终完成的自动售货机系统具有投币处理、商品选择、找零、异常退币等功能。
  [关键词]自动售货机 Verilog HDL 现场可编程门阵列(FPGA)
  中图分类号:TH692.62 文献标识码:A 文章编号:1009-914X(2015)48-0132-02
  一、引言
  随着社会的发展,自动售货机在人们日常生活中越来越普遍,透过这种智能售货系统不仅可以存货、销售,还可将物流信息准确、及时地反馈给客户和管理人员,前景非常广阔。
  Verilog HDL是一种技术性、应用性很强的硬件描述语言,主要用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模,由于这种语言简捷、高效、易学易用、功能强,因此逐渐为众多设计者所接受。
  二、设计方案
  在已有的自动售货机控制模块中,通过控制开关来表示投入的币值和所选的商品,本次设计用四个开关表示可选的四种商品,通过在电脑上输入aa、bb、cc分别表示投入0.5元、1元、5元币值,该方案可以通过电脑来传输数据,并且易于对数据的处理,具有更大的便捷性。
  自动售货机的问题实际就是状态转换的问题,不同的状态对应不同的输出。我们设计的自动售货机有四个状态,即初始、选择商品、投币、找零状态。
  1、初始状态
  各变量都设置为零,按下 rst 键后,一切恢复到初始状态。
  2、投币状态
  投币口只接受三种面值的钱币0.5元、1元和5元,可以同时投入多种面值钱币,但总币值不能超过9.5元。投完币后,数码管显示投币金额。
  3、选择商品状态
  四个按键开关分别表示四种价格的商品,售货时可选择四种商品的任意组合。
  4、找零状态
  将所投的金额与所选商品的价格做比较,若所投金额小于商品价格,则退回钱币,警示灯亮;若大于等于商品价格,则两者做差,得到需要找零的钱,数码管显示找零金额。
  三、模块划分
  1、主控模块程序
  主控模块程序通过对输入的信号进行处理,完成自动售货的售货功能,pri_5, pri_10,pri_15,pri_20分别代表四种价格的商品,rs232_rx、rs232_tx分别为接收、发送数据信号,bps_start2波特率时钟启动信号,接收到数据后,该信号置位,clk_bps为高电平为接收数据位的中间采样点,rx_data为接收数据寄存器,rx_int为接收数据中断信号,程序主要流程如下:
  input clk;
  input rst;
  input pri_5,pri_10,pri_15,pri_20;
  input rs232_rx;
  output rs232_tx;
  wire bps_start1,bps_start2;
  wire clk_bps1,clk_bps2;
  wire[7:0] rx_data;
  wire rx_int;
  wire [7:0] out1,out2;
  begin
  * 波特率发生模块
  * 数据接收模块
  * 波特率发生模块
  * 数据发送模块
  * 自动售货机功能实现与显示模块
  end
  endmodule
  2、波特率发生模块
  波特率发生器实际上就是分频器,可以根据给定的系统时钟频率和要求的波特率算出波特率分频因子,把算出的波特率分频因子作为分频器的分频系数,具体程序流程如下:
  input clk;
  input rst;
  input bps_start;
  output clk_bps;
  reg [12:0] cnt;
  reg clk_bps_r;
  begin
  * 一个脉宽完成或者波特率不需要产生时,波特率计数清零
  * 当clk_bps_r高电平为接收数据位的中间采样点,同时也作为发送数据的数据改变点
  end
  endmodule
  3、数据接收模块
  变量rs232_rx0,rs232_rx1,rs232_rx2,rs232_rx3为接收数据寄存器,滤波时用,neg_rs232_rx为下降沿标志位,为1表明数据线接收到下降沿开始接收起始位,程序主要流程如下:
  input clk;
  input rst;
  input rs232_rx;
  input clk_bps;
  reg rs232_rx0,rs232_rx1,rs232_rx2,rs232_rx3;
  wire neg_rs232_rx;
  begin
  * 当系统接收到串口接收线rs232_rx的下降沿标志信号, 开始接收起始位,
  启动串口准备数据接收
  * 接收数据中断信号,使能置位表示数据正在接收
  * 数据接收完毕后释放波特率启动信号
  * 关闭波特率使能   * 接收数据中断信号关闭,不再接收数据
  end
  Endmodule
  4、数据发送模块
  rx_int为信号寄存器,捕捉下降沿滤波用,neg_rx_int为rx_int下降沿标志用来捕捉下降沿,程序具体流程如下:
  input rx_int;
  output rs232_tx;
  output bps_start;
  reg rx_int0,rx_int1,rx_int2;
  wire neg_rx_int;
  begin
  * 若捕捉到下降沿,开始准备把接收到的数据发送回去
  * 产生波特率
  * 把接收到的数据存入发送数据寄存器
  * 进入发送数据状态中,打开发送使能
  * 数据发送完成,重新复位
  end
  endmodule
  5、自动售货机功能实现模块
  程序主要流程如下:
  bengin
  * 从电脑输入所投钱币
  * 选择要购买的商品
  * 找零
  * 数码管显示找零金额
  end
  Endmodule
  四、总结
  基于FPGA的自动售货机具有极大的实用性和商业价值,若能将其投入使用,必然会有很好的效果,veriloge HDL语言有限状态机设计控制电路,可大大降低设计难度和时间,提高设计效率和可靠性,利用语言的灵活性及功能强大的EDA工具,可以轻松完成硬件的功能扩充与升级,还可以实现更复杂的数字系统,整个设计过程相对于普通的设计方法,有较大的突破。
  参考文献
  [1] 王雯隽.基于Verilong-HDL自动售货机的设计与实现[J].微型电脑应用,2005,21(5):19-20,62.DOI:10.3969/j.issn.1007-757X.2005.05.007.
  [2] 陈涛.货币识别器的原理与设计[J].甘肃科技纵横,
  2006,35(6):82,181.DOI:10.3969/j.issn.1672-6375.2006.06.062.
  [3] 梁雪梅,钟建权,谷斌等.基于TRIZ理论应用的校园刷卡式自动售货机研制[J].广东科技,2010,19(14):66-68.DOI:10.3969/j.issn.1006-5423.2010.14.037
其他文献
[摘 要]通过对车辆内部监控对象的分类,应用传感器实现数据采集,车内网关实现对采集到的数据进行处理并远程传输到移动终端。车辆微环境包括车辆内部温湿度、有害气体浓度、GPS定位信息以及车内视频监控等。内部环境参数可以通过温湿度传感器、相关气体浓度传感器、GPS模块和摄像头模块进行信息的捕捉,并通过基于ZigBee协议的无线网络与基于STM32的车内网关进行通信,车内网关通过无线移动网络与远程移动终端
期刊
[摘 要]变电检修,主要是为了保证电力系统可以安全运行,然而在实践中,变电检修普遍存在一些问题,需要供电公司采取有效措施来解决。文章从变电检修的定义及重要性入手,着重对变电检修中存在的问题进行了分析并提出相对应的处理方法,可为相关工作者提供参考。  [关键词]变电检修;常见问题;解决方法  中图分类号:TM63 文献标识码:A 文章编号:1009-914X(2015)48-0127-01  前言:
期刊
[摘 要]本文以汽车门锁中的电控锁在中国范围内的专利申请数据为样本,分析、阐述了汽车门锁中的电控锁在中国的专利申请现状,为相关领域的研究提供参考。  中图分类号:F204;F426.47 文献标识码:A 文章编号:1009-914X(2015)48-0142-01  一、汽车门锁技术现状  过去的汽车车门是由各个车门单独机械控制的(现在许多载货汽车的门锁仍采用这种控制方式)。随着轿车对乘用舒适性、
期刊
[摘 要]本文对该材料的生产工艺、市场前景及经济效益进行了简要分析。针对冷轧厂目前再生机组的系统和工艺流程,提出增设除硅工艺,以提高氧化铁粉的质量。  [关键词]酸再生 铁红 Ruthner法 软磁铁氧体 除硅  中图分类号:TM277 文献标识码:A 文章编号:1009-914X(2015)48-0158-01  1 再生工艺及除硅工艺  1.1 本钢酸再生机组工艺流程  焙烧后的气体产品中含有
期刊
[摘 要]热电偶是工业生产中较为常用的一种温度传感器,由于其使用简单且功能性较好,因此长期以来一直作为温度检测元件被广泛应用。而在工业生产的实际的温度测量过程中,由于安装及使用过程中的一系列因素的影响,会使热电偶在测温过程中会出现一定程度的误差,影响温度测量的准确性。本文将对热电偶测温过程中出现的误差进行原因分析,进而探讨热电偶测温误差的解决方法。  [关键词]热电偶;测温误差;解决方法  中图分
期刊
[摘 要]本文分析了在氧化铝灼减分析中,在满足冶金级氧化铝产品分析要求条件下,用瓷坩埚替代铂坩埚,按照国标GB/T 6609.2—2004氧化铝1000℃质量损失的测定方法。经验证,采用瓷坩埚替代铂坩埚可以在氧化铝灼减分析中应用。  [关键词]氧化铝灼减分析 瓷坩埚 铂坩埚 灼减分析 应用  中图分类号:TF801.3 文献标识码:A 文章编号:1009-914X(2015)48-0159-01 
期刊
[摘 要]本文主要介绍了本钢集团公司热连轧厂1700mm生产线磨辊间改造轧辊冷却装置,通过对比轧辊冷却方式的优缺点,选用了喷淋式轧辊冷却装置,缩短了轧辊周转时间,降低了生产成本。  [关键词]轧辊冷却装置;技术改造  中图分类号:TG333 文献标识码:A 文章编号:1009-914X(2015)48-0141-01  1 前言  2002年本钢集团公司热连轧厂对1700mm生产线进行全面技术改造
期刊
[摘 要]针对目前国内煤矿生产安全问题,从更新现有的老化机电设备、改进生产技术、实现机电现代化生产的角度,阐述煤矿机械设备集成创新、加快煤矿机械电子发展、改进煤机企业机床设备、煤矿机械设备引进等观点,提出一些新见解和主张。煤矿机械具有复杂工作环境的特殊性,对其机电设备的改进,实行现代化生产技术,开展现代化的企业管理,可以提高生产安全性、可靠性,减轻体力劳动,减少伤亡事故,对保证安全生产有重要的现实
期刊
[摘 要]随着科学技术不断的进步,电气自动化的技术在各种工作中的应用不断增加,在各个领域电气自动化也都充分发挥了自己的作用,电气自动化对社会进步做出了巨大贡献,让各个企业都向现代化,科技化,数字化,智能化方向发展。  [关键词]电力系统 电气自动化技术 应用及发展  中图分类号:TM76 文献标识码:A 文章编号:1009-914X(2015)48-0155-01  引言  电子信息科技被广泛应用
期刊
[摘 要]钻井作业是有着一定危险系数的行业,每时每刻都有发生危险的可能,所以科学合理控制钻井作业的安全是非常重要的一环。在对大斜度和水平井钻井作业的安全控制的分析研究之后,发现最重要的一环是降低安全风险,提高工作人员的安全意识,基于这个目的,施工过程中必须保证细节过关,及时提高工人安全意识。  [关键词]大斜度以及水平井 钻井作业安全 控制  中图分类号:TE242 文献标识码:A 文章编号:10
期刊