1、北华大学电子系统综合实习报告学 院 : 电气信息工程学院专业班级 : 通信工程 姓 名 : 闫梦迪学 号 : 指导老师 : 董胜实习时间 : 2015.11.30 12.112目录1. 实习题目P32. 实习目的P33. 实习技术要求P34. 实现过程P35. 功能及代码P56. 仿真及硬件测试P97. 实习 心得P128. 教师 评语P14一.实习题目3自动售货机设计二.实习目的通过本课题的研究,可以掌握电子控制系统的基本原理与其实现,通过对各个模块的编程及其仿真,对 QuartusII 软件的使用有所了解。每个波形模块的 VHDL 实现加深了硬件描述语言的学习。最终的顶层文件的调试,更是体
2、现了综合知识的运用。三.实习技术要求本设计要实现自动售货机的基本功能,如货物信息存储、商品选择、进程控制、硬币处理、余额计算、显示等功能。利用软件QuartusII 平台,采用 VHDL 硬件描述语言编程的设计方法设计系统核心电路的硬件程序,与一般的软件开发不同,VHDL 编程更需要熟悉一些底层的硬件知识,特别是数字逻辑电路的设计,因此 VHDL 编程的方法、思路都要更多的与硬件电路联系起来。完成系统各个功能模块的硬件程序设计后,在软件平台上进行编译和电路仿真,最后生成的目标文件下载到实验台内的 FPGA 芯片以实现该系统,并在实验台上对设计进行验证。四.实现过程1)、根据设计要求实现过程分两
3、部分: a、面向客户端模块设计基于 Quartus2 软件环境下,应用 VHEDL 语言进行程序设计。以 clk 输入端口进行商品选择,coin1 输入端口做钱数输入,Finish 输入端口做确认,进而完成商品购买。b、面向个体端模块设计以 Get 端口进行对商品价格修改的确认,以 ST 端口进行选择要修改的4商品种类,coin0 作为单价输入端口。2) 、整体结构框图3) 、程序框图( 商品、价格设定模块)( 客户端模块程序框图)输入钱数控制器商品选择品种选择价格设定显示译码开始商品选择输入钱数钱数=单价?Y确认、找零N返还输入钱数重新输入钱数? YN 交易完成结束开始商品选择价格设定结束设
4、定5五.功能及代码功能:顾客商品选择、付钱购买、找零,个体商户对商品种类及价格的修改,商品数量统计代码:library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity S1 isport ( clk:in std_logic; -系统时钟r,set,st,get,finish: in std_logic; -设定、买、选择、完成信号coin0,coin1: in std_logic_vector(3 downto 0); - 输入钱数act0
5、,act1:out std_logic_vector(3 downto 0); -显示、开关信号y0,y1,y2,y3,y4:out std_logic_vector(6 downto 0); -输入钱数、商品价格、找零显示数据end S1;architecture behav of S1 issignal item0,item1: std_logic_vector(1 downto 0); -商品种类signal Q: INTEGER RANGE 20 DOWNTO 0; -找零signal pri0,pri1,pri2,pri3: std_logic_vector(3 downto 0);
6、signal quan0:integer:=9; signal quan1:integer:=9;signal quan2:integer:=9;signal quan3:integer:=9; - 数量begin - 设定部分com0:process(get,st,coin0)variable C:INTEGER RANGE 20 DOWNTO 0;beginif get=1 then if stevent and st=1 then item0y3y3y3y3y3y3y3y3y3y3y3=pri0 then Q=pri1 then Q=pri2 then Q=pri3 then Qy0y0
7、y0y0y0y0y0y0y0y0y0y1y1y1y1y1y1y1y1y1y1y1y2y2y2y2y2y2y2y2y2y2y2y4y4y4y4y4y4y4y4y4y4y4=“1111111“;end case;end process com1;end behav;9六.仿真及硬件测试1) 、引脚锁定102) 、RTL 电路图3) 、时序仿真114) 、硬件测试1.get=1 设定内部价格2.隐藏内部设定价格123.输入 8 元 单价 3 元 找零 5 元 显示剩余数量 8 个7.实习心得在这次实验中,通过老师的介绍和我们自己的学习,我们学会了 VHDL 程序的基本语法和操作,熟悉了程序的基本结构
8、和设计,学会了 quartus 软件的操作和系统的功能仿真。我们小组的组员进行了合理的分工和良好的沟通,这对程序的13实验十分重要。在这次的程序设计中,通过实验我们完成了程序,达到了学习的目的。经过这次对自动售货机系统的设计,让我对 EDA 设计有了更一步的认识,同时也对 EDA 这门课程有了更深入的了解。这次设计让我了解了关于自动售货机的原理与设计理念,要设计一个电路先进行软件模拟仿真再进行实际的硬件电路测试。当然这个设计存在许多的不足,比如在预览商品时只能顺序浏览,而不能随机点击浏览,这也是为了排除程序的糅杂。并且每次卖完一种商品都得复位,不能进行连续的购买,而且在购买时遇到的情况考虑不周
9、到。这次设计提高了我们的逻辑思维能力,使我们在程序的改写和运用上有了很大的进步。加深了我们对 VHDL 硬件语言的认识,进一步增进了对一些常见器件的了解。另外,我们还更加充分的认识到,EDA 这门课程在科学发展中的至关重要性。查阅参考书的独立思考的能力以及培养非常重要,我们在设计电路时,遇到很多不理解的东西,有的我们通过查阅参考书弄明白,有的通过网络查到,但由于时间和资料有限我们更多的还是独立思考。相互讨论共同研究也是很重要的,经常出现一些问题,经过和同组同学讨论和资料的查询最终得到了解决。锻炼了我们的团队合作精神及分工合作的能力。在调试程序过程中遇到很多这样那样的问题,最后都解决了。特此感谢老师和同学们对我的辛勤指导,能让我在困境中找到解决难题的办法,并且对 EDA 有了更深刻的认识。148. 教师评语教师: