嵌入式电子菜单的设计_第1页
嵌入式电子菜单的设计_第2页
嵌入式电子菜单的设计_第3页
嵌入式电子菜单的设计_第4页
嵌入式电子菜单的设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录1绪论21.1任务的提出31.2设计的目的和意义32相关知识简介32.1开发工具32.2开发语言32.3开发环境33总体设计43.1设计的总体结构描述43.2功能模块描述43.3功能模块的状态转换54详细设计54.1键盘模块设计54.2显示模块设计64.3控制模块85系统测试115.1键盘扫描模块115.2键盘译码115.3多位加法器115.4七段数码管125.5 RAM存储器125.6系统控制器126结论127致 谢13电子菜单的设计1绪论嵌入式系统是以应用为中心,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。嵌入式系统主要由嵌入式处理器、相

2、关支撑硬件、嵌入式操作系统及应用软件等组成,它是集软硬件于一体的可独立工作的“器件”。1.1任务的提出本课题的任务即是设计一种简单的电子点菜单终端,以CYC-L2 V2.0便携式EDA/SOPC/DSP实验系统为硬件平台,利用VHDL语言进行编程,要求实现的电子点菜单功能齐全,使用方便。 1.2设计的目的和意义餐馆引进电子点菜系统,具有重大的意义:首先,提高运营效率与降低运营成本,使用电子点菜系统可以加快点菜速度,减少人力资源的投入,避免跑、冒、漏;其次,提升餐馆品牌与形象,电子点菜系统是一个高科技产品,它代替传统的纸笔式点菜方式给人一种高贵的感觉;最后,营造一个安静、舒服的就餐环境,传统的点

3、菜方式在某些环节中出现大声喧哇的场面,电子点菜系统则可以避免这类情况的出现。2相关知识简介 2.1开发工具本实验系统是在CYC-L2 V2.0便携式EDA/SOPC/DSP实验系统基础上研发而成,具有完备的外部接口电路模块,并继承了该系统开放性的特点。系统由开发板(含主板、底板)、ByteBlaster II并口下载板(含电缆)和12V直流电源三个组成部件构成。采用Altera公司的Cyclone EP1C6Q240系列FPGA为主芯片,包括系统时钟、SRAM存储器、FLASH存储器、网络接口芯片、串行配置芯片、音频编码/解码芯片、模数转换器、数模转换器、键盘、显示器和串行接口等外围电路模块。

4、2.2开发语言VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。2.3开发环境Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、V

5、HDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。3总体设计3.1设计的总体结构描述本系统为一个电子点菜终端的简洁型系统,该系统以CYC-L2系统为主要核心,采用4*4的键盘,前12个键为菜单,8个数码管显示总价格,单价,已点菜数量;后四个键分别实现:结账,已点查询,删除,确认。4组LED灯分别表示菜的口味:酸,甜,麻,辣,以点亮的灯数表示口味浓度。3.2功能模块描述本系统主要由3个模块构成,键盘模块、控制模块和显示模块。键盘模块是

6、由一个4*4矩阵键盘实现数据的输入控制,通过行扫描法将对应的值输入到控制模块,进行相应的操作。控制模块控制显示模块的显示,存储点菜数据信息,对点菜数据进行处理,并完成最后的结算。显示模块显示菜的单价、数量、口味和总价。 3.2.1键盘模块键盘模块由4*4的键盘组成,3*4键盘代表一个菜名,共可容纳12个菜名,最后一排为功能键。当顾客选择一个菜名时,通过键位的触发连接到系统中的数据信息,显示该菜的单价和口味;选择菜名之后,如果满意则按确认,系统记录相关数据,不满意则重新选择。按下已点键,可以显示顾客已点菜的序号,单价,口味,再按一次则显示下一个已点菜,按删除,则取消该菜,按确认之后重新进入菜单。

7、当按下“结账”键之后,显示应付金额(包括折扣,附加消费等等)。3.2.2显示模块由8个LED数码管,8个LED灯和一个显示屏组成,前4个数码管显示总价格,中间2个显示所选菜名的单价,最后2个显示已点菜的数量。在管理员使用改价键时,数码管则显示8位密码。8个LED灯分为4组,分别表示4种口味:酸,甜,麻,辣,每组2个灯都不亮表示无此味道;1个灯亮表示有此味道;如:微辣,微甜等;2个灯表示此味很重。以此来大概描述菜的口味。最后在存储器中存储菜名的实物图片,在选择菜名时显示相应的图片,方便顾客了解菜的外观。3.2.3控制模块控制器首先接收键盘模块的有效信息,如果键盘有键按下,则根据键盘扫描值经译码,

8、判断是进入点菜状态还是功能选择状态,如果进入点菜状态,显示对应的菜单信息:单价,口味,图片信息。在接收到功能键的有效信号时,进入到控制状态。3.3功能模块的状态转换系统一直处于点菜等待状态,当客人开始点菜时,则进入点菜状态。系统对客人选择的菜进行及时的显示,以便及时了解所点菜的特色,如按下功能键,进入功能控制状态,系统进行数据信息的处理。如再按下菜单键,回到点菜状态。最后,结帐完毕,返回点菜等待状态。系统的功能转化图如图3.3所示。4详细设计4.1键盘模块设计4.1.1键盘扫描 计算机键盘通常采用行列扫描法来确定按下键所在的行列位置。所谓行列扫描法是指,把键盘按键排列成n行m列的nm行列点阵,

9、把行、列线分别连接到两个并行接口双向传送的连接线上,依次对每一行发出一个低电平,对列线进行检测,如显示低电平,则确定按键。算法的实现过程如下:CPU以一定时间间隔周期地执行此键盘扫描处理程序。先是对键盘作扫描,获得反映键盘状态的键盘扫描码;然后对扫描码进行前后对比和定时计数,实现去抖;去抖后置位KReady标志,通知键盘分析程序已检测到有效按键。键盘扫描码反映的是读取键盘时刻的键盘动作状态。对键盘扫描码的基本要求是它要能对每一个单键作唯一编码。4.1.2键盘译码器通过一个译码程序,将键盘扫描后的值根据需要设定成相应的功能键和菜单键。程序设计如下:ima:PROCESS(SC_CLK)BEGIN

10、Z K_VALUE K_VALUE K_VALUE K_VALUE K_VALUE K_VALUE K_VALUE K_VALUE K_VALUE K_VALUE K_VALUE K_VALUE K_VALUE K_VALUE K_VALUE K_VALUE K_VALUE=K_VALUE; -默认情况为K_VALUE保持原来状态,相当于实现锁存器END CASE;4.2显示模块设计4.2.1菜单显示接收译码器的K_VALUE,显示相应的菜单信息,单价显示和口味显示的源代码如下,其中,qw代表口味,dj代表单价。entity myJP isport (cd :in std_logic_vect

11、or(3 downto 0); qw :out std_logic_vector(7 downto 0); dj :out std_logic_vector(3 downto 0);end entity myJP; architecture SE of myJP is begin with cd selectqw = when 0100, when 0101, when 0110, when 0111, when 1000, when 1001, when 1010, when 1011, when 1100, when 1101, when 1110, when 1111,; with cd

12、 select dj= 1000 when 0100, 1010 when 0101, 0111 when 0110, 0101 when 0111, 0110 when 1000, 1010 when 1001,1100 when 1010, 1000 when 1011,1111 when 1100, 0011 when 1101, 0101 when 1110, 0110 when 1111,0000 when others;end architecture SE;4.2.2 口味显示通过CYC-L2 V2.0便携式EDA/SOPC/DSP实验系统自带的8个LED,显示当前所选菜的口味。

13、8个LED灯分为4组,分别表示4种口味:酸,甜,麻,辣,每组2个灯都不亮表示无此味道;1个灯亮表示有此味道;如:微辣,微甜等;2个灯表示此味很重。效果图如下:4.2.3单价显示单价显示主要由LED数码管实现。分段式显示器(LED数码管)由7条线段围成,只要按规律控制各发光段的亮、灭,就可以显示各种字形或符号。 LED数码管有共阳、共阴之分。图4 .2是共阴式LED数码管的原理图。使用时,公共阴极接地,7个阳极ag由相应的BCD七段译码。 BCD七段译码器的输入是1位BCD码(以D、C、B、A表示),输出是数码管各段的驱动信号(以FaFg表示),也称4-7译码器。若用它驱动共阴LED数码管,则输

14、出应为高有效,即输出为高(1)时,相应显示段发光。根据组成09这10个字形的要求可以列出8421BCD七段译码器的真值表。 程序设计如下:architecture ex1 of seven is begin with A selectZ = when 0000, when 0001, when 0010, when 0011, when 0100, when 0101, when 0110, when 0111, when 1000, when 1001, when 1010, when 1011, when 1100, when 1101, when 1110, when 1111, whe

15、n others;end architecture ex1;4.3控制模块控制模块的实现主要是使用状态机的设计思路,在控制模块中有6个状态:点菜状态、等待状态、确认状态、删除状态、已点查询状态和结帐。每个状态产生不同的控制信号,用于过程的实现。其中包含2个进程,标识为seq和com,seq进程用于建模次态和输出逻辑,com进程用于建模状态寄存器。在com进程中,设定了相应的功能键,YES表示确认键,DEL表示删除键,HAV表示已点查询键,OVER表示结帐。控制器状态机和控制器ASM图如下图所示:4.3.1 RAM的设计系统采用静态RAM,大小为168Bit,因为数据既可以存储与RAM中,也可以

16、从RAM读取,所以数据端口为INOUT模式。RAM有3个控制信号:CS(片选),WE(写使能),OE(输出使能),均为低电平有效。library ieee;use ieee.std_logic_1164.all;entity ram isport(address : in integer range 0 to 15;data: inout std_logic_vector(7 downto 0);cs, we,oe: in std_logic);end entity ram;architecture RTL of ram isbegin p0: process (address,cs,we,o

17、e,data) istype ram_array is array (0 to 3) of std_logic_vector(7 downto 0);variable mem:ram_array;begin dataZ);if (cs=0) then if (oe=0) then data0 and i7 generatefm:entity WORK.myNA port map (A(i),B(i),CARRY(i),SUM(i),CARRY(i+1); end generate md;5系统测试该课题完成了一种简单的电子点菜单终端的设计,利用VHDL语言进行编程,用FPGA芯片得以实现。以C

18、YC-L2 V2.0便携式EDA/SOPC/DSP实验系统为硬件平台,实现客人的自主点菜过程,功能齐全,使用方便。各模块测试情况如下。5.1键盘扫描模块对键盘进行扫描,消抖,每一个单键作唯一编码,作为扫描值输出。5.2键盘译码将扫描键盘后得到的KEY值,通过译码设定为菜单键和功能键:KEY值00000111分别为:确认,删除,已点,结帐;KEY值10001111为菜单。译码器原理图见图5.3所示: 5.3多位加法器将从存储器中得到的值分别作为A,B两个8位输出,总价SUM通过3个七段数码管输出。原理图见图: 5.4七段数码管用于显示系统需要输出的单价,总价信息,原理图见图5.7所示:5.5 RAM存储器用于存储菜单数据信息,DATA为INOUT模式,提供3个控制信号,第一个控制信号CS为芯片选择是选定芯片的通用控制信号。地址范围为0到15,WE和OE只有其中一个有效:WE信号有效,将数据写入;OE信号有效,将数据从芯片中读出。3个控制信号都是低电平有效。原理图见图5.9所示: 5.6系统控制器为系统的核心部分,控制各个模块之间的工作,cd_v接受键盘的译码值,ADD,DATA,CS,WE,OE为存储的控制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论