ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:836.59KB ,
资源ID:5217119      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5217119.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于fpga的饭店点菜系统的设计和实现.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于fpga的饭店点菜系统的设计和实现.docx

1、基于fpga的饭店点菜系统的设计和实现 毕 业 设 计(论 文)题 目: 基于FPGA的饭店点菜系统的设计和实现 专 业: 信息工程 学生姓名: 班级学号: 指导教师: 指导单位: 摘 要餐饮行业是一个具有悠久历史的行业,随着人们步入信息时代的脚步加快,餐饮企业的运作管理模式也在不断的完善更新。以前依靠人工处理顾客垂询、服务落单送到厨房,厨房依照菜单存根制作菜肴,最后由服务员将菜肴递送给顾客的传统模式,随着餐厅的规模及顾客的流量日益增大,经常会给酒店的经营与管理者带来了很多的烦恼和不必要的经济损失。从而有些企业发掘了电子系统的优点。本文设计了一种基于可编程逻辑阵列(FPGA)饭店点菜系统的数字

2、化方案。该系统包括三个模块:键盘模块,控制模块,显示模块。系统基于QUARTUS II 软件平台,采用硬件描述语言VHDL进行仿真。仿真结果显示,在系统使用时状态稳定,所以该点菜系统能够满足用户使用时的信息实时性和准确性的要求。关键词:饭店点菜系统;现场可编程门阵列(FPGA);硬件描述语言(VHDL)ABSTRACTThe catering industry is an industry with a long history, with the pace and people entered the information age, the operation and management

3、 mode of the food and beverage companies are also constantly improve the update. Rely on manual handling of customer inquiries, service placing an order to the kitchen, kitchen dishes follow the menu stub to make dishes the waiter will deliver to the traditional model of the customer, increasing the

4、 size of the restaurant and the customer flow, and often give hotel operators and managers brought a lot of trouble and unnecessary economic loss. So some companies explore the advantages of electronic systems. Based on the EDA chip design is becoming the mainstream of electronic system design. This

5、 paper stresses based on a programmable logic array (FPGA) Restaurant Select food system of digital programs. The system includes three modules: the keyboard module, control module and display module. And it is based on the QUARTUS II software platform, using hardware description language VHDL to si

6、mulate. Simulation results show that the stable state in the system when it was used. So the restaurant Select food system can meet the requirements of the users information real-time and accuracy.Keywords:Restaurant Select food system ; FPGA ; VHDL第一章 绪 论1.1课题背景1.1.1 我国饭店点菜系统的实际意义“民以食为天“这话一直是我国饭店老板

7、的创业灵感的来源,而随着社会的发展传统的服务模式(目前在饭店用餐时,顾客都是通过人工方式,即当顾客点菜时,服务员向顾客推荐各种菜品,并记录顾客所点的菜,然后再将菜单送至总服务台。使用这种传统的方式)已不再符合消费者的需求,怎样在饭店顾客比较多的时候,服务员也能够应接不暇,是每个老板们所追求的利润最大的梦想,人工有时还会忙中出错,这样不仅耽误了顾客的时间,还影响了顾客对饭店的印象。如果采用电子点菜系统,客人点菜的时候就免去了人工点菜的烦琐,而且能实时地了解菜的口味和价格,方便了顾客的消费,同时也减轻了餐馆的服务压力。这不仅为提高饭店的服务质量和扩大知名度奠定了基础,更顺应了当前信息时代的服务行业

8、科技。1.1.2 饭店点菜系统的研究要求随着数字化的普及,各行各业都以高速发展的电子产品取代了以前陈旧的工作模式,例如:以IC卡式收取水电费取代了以往员工上门收取;用基于FPGA的表决器取代了人工唱票的环节,节约的大量的时间与人力资源;老百姓能够用微波炉取代传统烹饪方式等等。这一次次的改变是否可以应用在饭店行业呢!为了克服传统点菜的弊端,从而设计出一系列的电子产品,目前在国内外大中型酒店通常使用的电子点菜系统有两种,一种是在Windows CE 嵌入式操作系统下设计的PDA掌上点菜机,另一种是触摸屏式点菜POS机 ,这两种点菜机无线传输的距离长,功能强,但是要与性能很高的PC作为服务器才能得以

9、实施,成本较高。基于现场可编门阵列(FPGA)硬件设计电子点菜系统是一种全新的设计思想,用户可根据需要对FPGA进行重新编程,在最短时间内,以较低的成本设计出自己的专用集成电路。1.2 课题研究内容本文对基于FPGA设计饭店电子点菜系统进行了设计。按照模块化的设计思想结合题目的要求来设计题目中所要求的电路模块,采用VHDL语言设计出键盘输入模块、显示模块、控制模块及信息调整模块。然后进行模拟编译,生成电路元件,然后使用QUARTUS II 软件综合原理图和VHDL程序做出仿真图,经过仿真确认整个系统准确可靠。这种方式功能齐全并且成本较小,必将成为下一代高性能低成本电子点菜系统设计的一个新趋势。

10、1.3论文结构安排第一章:绪论说明课题研究的社会价值与意义,阐述了课题研究方法与思路。第二章:对现场可编程门阵列(FPGA)进行了描述,从它不同的角度,详细阐述了使用过程的意义,还有本文所使用的软件QUARTUS 说明以及所用语言(VHDL)的描述。第三章:是对论文总体设计方案的讲解,从设计思路到实际操作的过程。第四章:详细的描述了饭店点菜系统单元设计的具体方案与过程。第五章:通过QUARTUS对各模块进行仿真。第二章 相关软件及技术介绍现场可编程门阵列(FPGA,Field Programmable GateArray)的出现是超大规模集成电路(VLSI)技术和计算机软件仿真技术发展的结果。

11、FPGA器件集成度高,体积小,具有通过用户编程实现专门应用的功能。它允许电路设计者利用基于计算机的开发平台,经过设计输入,仿真,测试和校验,直到达到预期效果。目前市场上提供各种类型的FPGA芯片,包括系统级的芯片,使得采用 FPGA器件来设计系统,可以大大缩短研制周期,减少资金投入。而且采用 FPGA器件还使的原来的电路板级产品可能集成为芯片级产品,从而降低了功耗,提高了可靠性,同时还可以很方便地对投入进行在线修改,使得FPGA器件成为研制开发的理想器件,特别适合于产品样机开发和小批量生产。2.1 FPGA简介2.1.1 FPGA的结构FPGA按逻辑功能块的大小可分为细粒度FPGA和粗粒度FP

12、GA;从逻辑功能块的结构上分类,可分为查找表结构、多路开关结构和多级与非门结构;根据FPGA内部连线的结构不同,可分为分段互联型和连续互联型;根据编程方式FPGA可分为一次编程和可重复编程两种。FPGA一般可由三种可编程电路和一个用于存放编程数据的SRAM组成。这三种可编程电路是:可编程逻辑块(CLB),输入/输出模块(IOB)和互联资源(IR)。各种FPGA在结构上的差异主要反映在可编程逻辑块CLB上,常见的结构主要有3种类型,即查找表结构,多路开关结构和多级与非门结构。2.1.2 FPGA的设计EDA出现以前,人们用传统的硬件电路设计方法来设计系统,即自上而下的设计方法,其主要步骤是:根据

13、系统对硬件的要求.详细编制技术规格,并画出系统控制流程图,然后根据技术规格书和系统控制流程图,对系统的功能进行分化合理的划分功能模块,并画出系统功能框图,接着就是进行各功能模块的细化和电路设计,各个模块的功能调试完以后,将各个模块的硬件电路连接起来,再进行调试,最后就完成整个系统的硬件电路设计。这种传统的电路设计方法的系统仿真和调试要在系统的硬件完成后才能进行。因此存在的问题只有在后期才能发现,一旦考虑不周,就要重新设计。使得设计的费用和周期大大的增加。另外,由于设计文件是电原理图,如果设计的系统比较复杂,那么其原理图就要成千上万张,给存档、阅读和修改都带来了不便。这种自上而下的设计方法的主要

14、特点是:1、电路设计更趋合理硬件设计人员在设计硬件电路时使用PLD器件,就可以自行设计所需的专用功能模块,而无需受通用元器件的限制,从而使电路设计更趋合理,其体积和功耗也大为缩小。2、采用系统早期仿真在自上而下的设计过程中,每级都进行仿真。从而可以在系统设计的早期发现设计存在的问题,这样就可以大大缩短系统设计的周期并且降低费用。3、降低了硬件电路设计难度使用传统的硬件电路设计方法时,往往要求设计人员设计电路前写出该电路的逻辑表达式和真值表,然后进行化简等,这些工作是相当困难和烦杂的,特别是在设计复杂系统时工作量大,也容易出错。FPGA使用HDL语言(硬件描述语言)避免编写逻辑表达式或真值表,使

15、设计难度大幅度下降,从而也缩短了设计周期。4、主要设计文件使用VHDL语言编写的源程序EDA设计方法中主要使用的是HDL语言,并可以将VHDL语言编写的源程序转换成电路原理图形式输出。用VHDL语言编写的源程序作为归档文件有很多好处:一是资料量小,便于保存;二是可继承性好;三是阅读方便。可编程逻辑器件的设计流程一般为设计准备、设计输入、功能仿真、设计处理、时序仿真、器件编程和测试等七个步骤。2.1.3 FPGA的应用设计流程FPGA和CPLD器件的设计一般可以分为设计输入、设计实现和编程三个设计步骤,及相应的功能仿真、时序仿真和测试三个验证过程,如图2.1所示:图2.1 大规模可编程逻辑器件的

16、设计流程2.1.4 设计实现从设计输入文件到熔丝图文件(CPLD)或位流文件(FPGA)的编译过程,称为设计实现。设计实现是器件设计的核心环节,由计算机软件自动完成。设计者只能设置“设计实现策略”等参数来控制设计实现过程。设计实现通过以下几个相关的任务完成:1、优化(Optimization)。2、合并(Merging)。3、映射(Mapping)。4、布局(Placement)。5、布线(Routiing)。6、生成编程数据文件(JEDDC或Bitstream Generation)。2.1.5 器件编程同“编程”相同的概念是“下载”和“配置”,即将编程数据放到具体的可编程器件中,有时又把编

17、程器件经过编程的功能称器件的逻辑组态。器件编程需要满足一定的条件,如编程电压、编程时序和编程算法等。普通的CPLD器件和OTP的FPGA需要一种编程专用设备(即编程器)完成器件编程,基于SRAM的FPGA可以由PROM或微处理器配置,如果使用PROM配置,PROM也需要使用编程器。在系统可编程的器件,即 ISP器件,如ISPLSI不需要编程器。2.2 QUARTUS 简介Quartus II是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合

18、器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合

19、,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Maxplus II作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Maxplus II的更新支持,Quartus II与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II

20、友好的图形界面及简便的使用方法。Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。 Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了FastFit编译选项,推进了网络编辑性能,而且提升了调

21、试能力。支持MAX7000/MAX3000等乘积项器件的VHDL语言的理解。Altera Quartus II设计软件提供完整的多平台设计环境,它可以轻易满足特定设计的需要。它是单芯片可编辑系统(SOPC)设计的综合环境。Quartus II软件拥有FPGA和CPLD设计的所有阶段的解决方案。Quartus II软件允许在设计流程的每个阶使用Quartus II图形用户界面、EDA工具界面或命令行界面。可以在整个流程中只使用这些界面中的一个,也可以在设计流程的不同阶段使用不同的选项。图2.2 Quartus II设计的流程图Quartus II设计的流程图如图2.2所示,可以使用Quartus

22、 II软件完成设计流程的所有阶段。它是完整且易用的独特解决方案,其设计流程主要包含设计输入、综合、布局布线、仿真、时序分析、编程和配置。Quartus II支持多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。2.3 VHDL硬件语言介绍2.3.1 硬件描述语言VHDL的特点1985年在美国国防部的支持下正式推出了超高速集成电路硬件描述语言(VHDL),它是目前世界上标准化程度最高的一种硬件描述语言。它源于美国国防部提出的超高

23、速集成电路计划,最初的目的是为了承担国防部获得集成电路厂家之间建立一个统一的设计数据和文档交换格式。由于美国国防部是财力集中、范围广泛的特殊用户,因此它的要求很快得到了响应。IEEE于1987年将VHDL采纳为硬件描述语言标准IEEE1076 。VHDL是一种全方位的硬件描述语言,包括从系统到电路的所有设计层次。在描述风格方面,VHDL支持结构、数据流和行为3种描述形式的混合描述。行为描述以过程语句来表达,数据流描述是寄存器传输级(RTL级)语言的扩展,因此VHDL几乎覆盖了以往各种描述语言的功能,整个自顶向下和自底向上的电路设计过程都可以用VHDL来完成。VHDL除了作为一种计算机语言应具备

24、的特征,与软件编程语言比较,还有以下的特点:1、数据类型丰富VHDL不仅有整数、布尔数、字符、字符串等数据类型外,还有位型(Bit )、位矢量型(Bit Vector)、时间型(Time)等数据类型。位型、位矢量型分别是电路信号连线或总线状态的数字抽象,时间型用于表达电路的延迟和定时。VHDL中的这些数据类型具有鲜明的物理意义,因此VHDL是强类型语言,表达式中操作数必须与操作的数据类型一致,否则为语法错误,除非有合法的强制类型转换。除了以上所提的标准数据类型外,VHDL也允许设计者自己定义数据类型,自己定义的数据类型可以使标准数据类型复合而成的枚举、数组、或纪录(Record )。2、层次结

25、构性VHDL把一个数字系统当成一组模块来描述,每一个模块具有与其它模块的接口和模块内容的描述。VHDL把它们分别放在不同的单元中:实体(Entity)与构造体(Architecture )。实体定义了模块被调用时所需要的信息,包括输入输出信号接口与有关参数。构造体描述模块内部的结构和行为状态,这种分开描述有助于层次化的设计的方法。3、串行性与并行性软件编程语言一般是串行,不能表现并行行为。VHDL构造体是一个电路模块的行为结构描述,它由一系列的并发语句组成,这些语句在仿真时是并行运行的,它们可以分为两类:进程性语句和元件调用语句。进程性语句包括进程、信号赋值和过程调用。并发信号赋值语句和并发过

26、程调用语句是相应进程的缩小,因此它们本质上也是进程。4、支持结构性描述和行为描述对同一电路,VHDL支持多种描述方法。元件调用是非进程性的并发语句,用来表达各子模块的相互连接。进程内包含串行语句,它可以像普通的程序那样描述模块的行为特征,这是设计者集中注意模块的功能,而不是具体实现结构,因此它更为抽象。一般VHDL设计中同时采用结构描述和行为描述,一部分用行为描述,另一部分用结构描述。设计人员可以灵活地运用两种不同的设计风格。如图2.3所示:图2.3 “自顶向下”与“自底向上”设计方法简图在“自顶向下”的设计中,首先需要进行行为设计,要确定该电子系统或VLSI芯片的功能、性能机能需要的芯片面积

27、和成本等。接着进行结构设计,根据该电子系统和芯片的特点,将其分解为接口清晰、相互关系明确、尽可能简单的子系统,得到总体结构。这个结构可能包括有算术运算单元、控制单元、数据通道、各种算法状态机等。下一步是把结构转换成逻辑图,即进行逻辑设计,在这一步中,希望尽可能采用有规则的结构来实现利用经过考验的逻辑单元或模块。接着进行电路设计,逻辑图将进一步转换成电路图,在很多的情况下,这时需进行硬件仿真,以最终确定逻辑设计的正确性。最后是进行版图设计,即将电路图转换成版图。对于“自底向上”的设计,一般是在系统划分和分解的基础上先进行单元设计,在单元的精心设计后逐步向上进行功能设计,然后再进行子系统的设计,最

28、后完成系统的总设计。2.3.2 VHDL基本结构简介VHDL设计描述包括一个实体和一个结构体,一个VHDL源文件模块主要包括程序包、实体、结构体和配置4个部分,下面分别加以介绍。1、程序包(package)程序包是一个可任选的设计单元,用于把共享的定义放置其中,在此例中,它应该放在USE子句前,设计人员把一些常用的设计源代码放在一个自己定义的库中,这个建立的库,可以在别的程序中利用程序包的功能共享。2、实体(entity )设计实体是VHDL中的基本单元和最重要的抽象。它可以代表整个系统、一块电路板、一个芯片或一个门电路。它可以代表像微处理器那样复杂的电路,也可以代表像单个逻辑门那样的电路,对

29、于设计实体可以代表什么几乎没有限制。在VHDL层次化设计中引用低层次的设计实体,就好像结构图中调用基本符号并把它们连接起来。实体中可以有一个或多个输入、输出端口(port)的定义,为了表示信息通过端口时的流动方向,VHDL提供了以下端口模式: IN流入实体; OUT流出实体,被说明为OUT模式的端口不允许读入; INOUT双向端口,既可以流入,又可流出; BUFFER也是双向端口,但限定端口只能有一个元。3、结构体(architecture)结构体是实体的实际描述。如果把实体定为结构图中的功能块符号,则结构体描述该功能的内部情形,结构体中包含着并行语句和顺序语句,允许一个实体有多个结构体。在某

30、一特定的情况下,该实体到底和哪一个结构体“绑定”在一起,可以使用配置说明语句(configuration declaration)来指定。结构体分为两部分,说明部分和描述部分。结构体的说明部分时关键字architecture和begin之间的区域,设计者可以在这里说明一些局限于该结构体内部的对象。描述部分是关键字begin和end之间的区域,行为描述、结构描述都在这里进行。4、配置(configuration)大型设计一般采用层次化的设计方法,高层次设计实体需要将低层次实体作为元件加以利用,这就要用到配置制定或配置说明,配置用于把例化元件和相应的实体,结构体“绑定”起来,配置说明为大型设计提供

31、配置管理手段。第三章 总体设计方案由于本点菜系统是针对中小型餐饮企业设计开发的,因此该系统设计主要突出了操作设备成本低廉,安装简易,数据传输快捷,用户操作方便,客户查询界面清晰,最终消费过程明了等应用特点,为餐饮企业解决劳动力密集、管理过程繁杂、易出现跑冒滴漏等问题,并杜绝由此引起的不良后果;同时,针对餐饮企业的规模和开放式点菜特点,要求该系统在容量、稳定性、严密性等方面有良好的表现,实现从点菜、出菜、加菜、撤菜到结账的全过程自动化。其工作过程是:餐厅服务员引导顾客到餐台就座,服务员根据顾客要求通过键盘输入完成点菜或由顾客自己完成点菜,点菜后通过终端显示设备为顾客显示菜品价钱确认。3.1 饭店

32、点菜系统的设计要求设计要求:采用电子菜谱,客人点菜的时候,基本不需要服务员的陪伴,而且能实时地了解菜的特色,且对已点过的菜的数量和价钱一目了然,方便了顾客的消费,同时也减轻了餐馆的服务压力。具体要求:(1)基于可编程逻辑阵列(FPGA)设计饭店点菜系统 ;(2)按照模块化的设计思想,采用硬件描述语言VHDL实现键盘模块、控制模块、显示模块等;(3)仿真环境为Altera公司的QuartusII,完成功能仿真,并对所作设计进行全面的分析。3.2 系统组成框图饭店点菜系统首先是为了解决人工点菜的弊端而设计的,它就要求:餐厅服务员引导顾客到餐台就座,服务员根据顾客要求通过键盘输入完成点菜或由顾客自己完成点菜,点菜后通过终端显示设备为顾客显示菜品价钱确认。整体结构如图3.1所示:图 3.1 系统结构图顾客可以通过数字键盘选择自己的菜肴,这也能够在控制器的功能下在LED上显示出来,顾客能够看到菜价与数量等信息。3.2.1键盘输入部分键盘是由数字键

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1