1、eda课程设计EDA课程设计课设名称:自动售货机课设日期: 2014.6.237.xxXX:佟岐学号:110250215XX工业大学(威海)信电学院电子信息工程一:软硬件介绍1软件部分介绍1.1 Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。1.2 Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包
2、括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;支持软件源文件的添加和创建,并将它们起来生成编程文件;使用组合编译方式可一次完成整体设计流程;可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;能生成第三方ED
3、A软件使用的VHDL网表文件和Verilog网表文件2 硬件部分介绍本控制系统的硬件外围设备分为:外部电源,FPGA芯片,LED显示灯,数码管,按键开关等。2.1 芯片的选择本次课设所用到的FPGA芯片为:Altera公司生产的EP2C5Q208C8N 芯片。如图2.1.图2.1 EP2C5Q208C8N 芯片2.2 时钟发生器自动售货机的控制系统需要一个时钟信号,我们选用的是6MHz的时钟信号,时钟发生器。2.3 外部电源日常所用到的电源为220V电压的电源,但是本课题中自动售货机所需要的电压为5V,因此我们需要设定一个变压电路来完成所需的电压。在这部分电路我们用到了一个变压器,一个整流桥,
4、一个滤波电路,一个稳压器完成为5V电压的电源。2.4 键盘设计为了完成购物自动售货机必须有购物键,本课题所要求的是八个按键,其中四个是商品选择键,三个是投币键,剩下的一个按键为初始按键。2.5 显示器设计自动售货机需要一个显示部分,当购物结束后显示器显示找零钱数以及商品剩余量。对于商品数量,用发光二极管显示;对于找零钱数,将在LED上进行显示。显示器如图2.2所示。图 2.2显示器二:系统设计2.1设计思想2.1.1课题背景人类社会已进入到高度发达的信息化社会,信息社会的发展离不开电子产品的进步。现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,
5、实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。自动售货机是20世纪70年代在日本、欧美发展起来的一种全新的消费方式,自动售货机又被称为24小时营业的微型自助超市,它的售货领域非常广泛,是发达国家商品零售的一种主要方式。它不受时间、地点的限制,能节省人力、方便交易。2.1.2设计目的模拟自动售货机售货的过程,实现自动售货机的基本功能,如投币处理、商品选择、购货撤销、退币处理、计算存货等功能。2.2工作原理及系统框图1 功能要求(1)总体上该系统能完成对商品信息的数量显示、进程控制、钱币处理、余额计算和显示功能。(2)自动售货机能够销售4种商品:热狗(2元),饮料(3元),汉堡(4元
6、),双层汉堡(5元)初始数量各为2。自动售货机允许投入1元,2元,5元硬币:当总币值等于顾客需要的商品单价时,机器送出需要的商品:若总币值大于顾客需要的商品单价时,机器除提供所需商品外,并将余币退出;若总币值小于顾客需要的商品单价时,机器退出顾客投入的硬币。设机器内1元和2元的找零硬币无限。3)用发光二极管显示商品数量情况:两个灯亮表示剩余数量为2,一个灯亮表示剩余数量为1,没有灯亮则表示商品已售罄。(4)如果投入的硬币达到或大于所购商品的价格,自动售货机会发出一个指示信号使接受硬币的装置不再接收新的硬币。(5)当顾客完成一次购买后或按错按钮后,需要一个初始化按钮,使整个系统恢复到初始状态。(
7、6)顾客一次只能购买一种商品的一个,若需要更多商品,需要重复操作。2 控制状态的设计此售货机分为三种状态,每一个状态能完成一定得功能:初始状态,投币状态,找零状态。(1)初始状态:当售货机通电后进入初始状态,顾客购买时,可根据选择xuan_rg,xuan_yl,xuan_hb,xuan_schb键购买商品,从而进入下一状态。当顾客购买错误或不再购买时按下start重新进入初始状态。(2)投币状态:在这个状态时xuan_rg,xuan_yl,xuan_hb,xuan_schb键失效。投入钱(1元,2元,5元)。(3)找零状态:投币结束,售货机自动判别总钱数,若在时限到来之际,总钱数少于顾客所需商
8、品的单价,则退出钱币,若大于或等于商品数则通过控制系统找零,用数码管显示找零数,找零完成,表示一次工作已经结束,等待下一个信号到来,进行新的售货。3 设计流程图(图2.3)图 2.32.3子模块输入输出和功能此售货机模块包括:投币处理模块,商品选择模块,主控模块,商品数量模块,找零模块。如图2.4图 2.42.3.1 商品选择模块自动售货机的商品选择模块,通过自动售货机上的四个选择按键完成商品选择,在接收到对应四个商品之一的一个选择信号时进行编译,将被选择的商品进行编码,输入到主控模块中,在主控模块中与所接受的钱币进行对与计算。输入信号为a2,a3,a4,a5中的一个。而xuan_rg ,xu
9、an_hb ,xuan_yl ,xuan_schb为相应输出信号。reset信号来自主控模块,当reset为1时模块进入初始状态,进行选择。2.3.2 投币处理模块自动售货机能够自动计算投入的钱币数目,需要提供一个寄存器来记录并保存投入的总币值。此模块有四个输入信号以及一个输出信号:qian1,qian2,qian5为不同数额钱币输入信号;en为主控模块所发出的使能信号,当en信号为1的时候,投币模块开始工作,输出信号 bi为输出的钱币数目。投币模块的作用相当于一个计数的寄存器,在清零的状态下可以准确的计算投币数额,记录并保存总币值。2.3.3 找零模块显示自动售货机找零金额。此模块有1个输入
10、信号。找零模块的输入端接收来自主控模块的信号,输出端外接LED显示灯,由于找零的数目为X围为0至8,因此只需要一个LED显示灯。2.3.4 商品数量模块显示商品剩余数量。利用发光二极管发光情况判断商品数量。此模块的输入端同样接收来自主控模块的信号。2.3.5 主控模块主控模块为自动售货机控制系统的核心部分,在主控模块中将输入的钱币数目(b)与商品的价格(d)进行对比,然后进行找零。Clk为控制系统的时钟信号。输出信号di,c分别为找零金额和商品种类。reset为复位信号,当reset值为1时,自动售货机回到初始状态。en为投币模块的控制信号,当en为0时,投币模块不工作。三软件设计3.1程序流程图和状态机图2.5程序流程图图2.6 状态机3.2程序清单四调试及结果4.1模块仿真4.2分析运行结果五设计总结5.1错误分析5.2心得体会
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1