基于fpga的餐馆点菜系统内容摘要:

块 : 此模块是整个设计的核心部分。 设计流程如图 38所示。 在串行 通信中,无论发送或接收,都必须有时钟脉冲信号对所传送的数据进行定位和同步控制,设计中采用的时钟频率是波特率的两倍。 接收过程:初始状态是等待状态,当检测到 0 时进入检验状态,在检验状态下如果再检测到 0 则进入接收数据状态,当接收完 8 位比特数后判断是否有停止位,如果有则结束接收过程重新进入等待状态。 发送过程:初始状态是等待状态,当接收到开始发送的信号则进入发送过程,先发送起始位,再发送 8 位比特数,每位宽度为 2 个周期,当一个字节发送完毕后发送一个停止位,发送结束,重新回到等待状态。 ⑶ 控制模块 : 主要实现的功能是 判断从 PC 接收的数据,根据预先设计的逻辑进行相应的状态转换。 例如 , 给端口预置一个状态;送开始发送的标志位,送准备发送的数据;给 DDS 送配置信号,控制 FIFO 的读写。 ⑷ 设计中需要注意的问题 : 波特率的选择对于串口通信是很重要的,波特率不应太大,这样数据才会更稳定。 整个发送接收过程中起始位的判别和发送是数据传输的前提。 为了避免误码的产生,在 FPGA 设计中的串行输入和输出端口都应该加上一个数据锁存器。 12 等 待检 测接 收 0 ?接 收 0 ?接 收 锁 定接 收 数 据8 位 ?停 止 位 ?结 束YYYYNNNN等 待 发 送发 送 ?发 送 0发 送 0发 送发 送 数 据8 位 ?发 停 止 位结 束YYNN图 2 6 发送接收流程图 URAT 概述 UART(Universal Asynchronous Receiver/Transmitter) 是 通用异步收发器 ,用于控制计算机与串行设备的芯片。 有一点要注意的是,它提供了 RS232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用 RS232C 接13 口的串行设备通信了。 作为接口的一部分, UART 还提供以下功能 : 将由计算机内部传送过来的并行数据转换为输出的串行数据流。 将计算机外部来的串行数据转换为字节,供计算机内部使用并行数 据的器件使用。 在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶 校验。 在输出数据流中加入启停标记,并从接收数据流中删除启停标记 , 可 以处理计算机与外部串行设备的同步管理问题。 系统由五个状态 ( x_idle, x_start, x_wait,x_shift, x_stop) 和一个进程构成。 电子点菜系统的 特性及 设计规则 我国餐饮业数字化的应用已经相当普及,不论酒店的规模大小、档次高低,都不同程度地利用 数字化 辅助饭店管理。 并已由单机处理的简单模式逐步向多种硬件技术相互融合,大批量采集、处理信息,为 顾客提供快捷、方便的高水准服务,给饭店经营决策者提供了可靠信息的综合管理模式转化。 许多饭店已为此投入了大量的人力、物力、财力,但因管理模式、管理手段和决策者水平不同,取得的效果也不尽相同。 因此,如何建设一个优质高效的饭店点菜系统,使每一个饭店经营者和研制人员需要人者研究的问题。 不论是基于 FPGA 设计系统,还是嵌入式计算机系统,都要遵循以下几点规则: ⑴ 系统的可靠性:饭店点菜系统应保证提供一天 24 小时,一年 365 天不间断服务; ⑵ 系统的灵活 性: 系统与外界接口较多,应充分考虑与不同设备连接的可能性; ⑶ 系统的可扩展性:根据 饭店管理要求提高和服务项目增加,应能方便地进行系统的扩展和升级; ⑷ 系统的先进性:应采用世界 上成熟、先进的技术和设备,并保证系统升级换代时主要设备的连接性; ⑸ 系统的性价比:应在考虑满足所有技术需要的前提下,选择适合的芯片类型或主机机型,以及适当的外设配置,达到较好的性能价格比。 14 结论 全文总结 : 本论文主要作了 以下几个方面的工作 : 论文论述了文中所运用的全新设计方法以及实现的软件工具等。 随着现代科技的迅猛发展以及用户对电子产品功能的多样化、复杂化,使得目前所大量使用的传统上的数字或模拟设计方法越来越不能适应,也限制了电子技术的进一步发展。 论文中运用的现代数字设计方法及其实现的工具为上述问题提供了解决的手段。 该设计方法以自上至下 (Top Down)设计为其主要特征,以硬件描述语言 HDL(VHDL)为工具,以现场可编程门阵列 FPGA 为其实现手段。 饭店电子点菜系统 最主要的功能实现均以该设计方法来实现。 在实现功能的过程中 ,从系统总体要求出发,将设计内容逐步细化,中间穿插各种仿真用于确认设计内容的正确性,直至最后系统连接设计的完成。 在设计中,论文对所要求实现的电路功能分为三个层次来设计实现,即 : ⑴ 行为层设计。 在该层设计中,主要论述了所要实现的总体功能,以及电路模块构成等 ; ⑵ 控制层设计。 在该层设计中,论文主要通过硬件描述语言 VHDL 来具体实现 ;⑶ 设计的第三层次 便是 逻辑总和。 在该层中,论文没有明确具体过程,但实际上已经包含了,即将上述 两层的设计内容利用综合工具 (本论文中选用了Altera 公司的 MAX+plus II 所自带的综合工具 )将其转换为门级网表 (或工业标准 IEEE 2020),再通过配置电路将网表下载到 FPGA 中实现。 在下载设计实现的过程中,本论文通过配有门级仿真来具体验证设计内容,以及更为关键 的 是时序的正确性。 理论和实践都证明,该设计方法能够及时发现设计问题、缩短设计时间、降低设计难度以及降低设计成本节省资源等方面都有显著的优点。 经济性分析: 为了获得较高的性能价格比,设计电子点菜系统 时不能盲目的追求高 级的复杂的方案。 在满足 性能指标的前提下,应尽可能的采用简单方案, 因为简单方案意味着元器件少、可靠性高、 资源利用率小,从而就比较经济。 如果将一个成熟的电路系统用一个较简单的工具等将它完完全全的表现出来,15 那么它的市场前景将是很大的。 在考虑 系统 的经济性时,除造价还应顾及控制器的使用成本。 此设计电路中,所采用的芯片均为常见的、容易在市场上买到的芯片,所以经济上完全可行。 16 软件程序 library ieee。 use。 use。 use。 entity PL_auto1 is port ( clk:in std_logic。 系统时钟 set,get,sel,finish: in std_logic。 price,quantity :in std_logic_vector(3 downto 0)。 价格、数量数据 item0 , act:out std_logic_vector(3 downto 0)。 显示、开关信号 y0,y1 :out std_logic_vector(6 downto 0)。 钱数、菜品数量显示数据 end PL_auto1。 architecture behav of PL_auto1 is type ram_type is array(3 downto 0)of std_logic_vector(7 downto 0)。 signal ram :ram_type。 定义 RAM signal item: std_logic_vector(1 downto 0)。 菜品种类 signal pri,qua:std_logic_vector(3 downto 0)。 菜品单价、数量 signal clk1: std_logic。 控制系统的时钟信号 begin :process(set,clk1) variable quan:std_logic_vector(3 downto 0)。 begin if set=39。 139。 then ram(conv_integer(item))=price amp。 quantity。 act=0000。 把菜品的单价、数量置入到 RAM 中 pri(i4)=ram (conv_integer(item))(i)。 菜品单价的读取 17 end loop。 for i in 0 to 3 loop quan(i):=ram(conv_integer(item))(i)。 菜品数量的读取 end loop。 end if。 end if。 qua=quan。 end process 分频部分: library IEEE。 use。 use。 use。 entity baud is Port (clk,resetb:in std_logic。 bclk:out std_logic)。 end baud。 architecture Behavioral of baud is begin process(clk,resetb) variable t:integer。 begin if resetb=39。 139。 then t:=0。 bclk=39。 039。 复位 elsif rising_edge(clk) then if t=208 then t:=0。 bclk=39。 139。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。