当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]本设计目的是为餐饮服务业提供一款基于PIC32的自助点菜系统——一种不需要服务员的点菜系统;除此之外,本系统还为顾客提供催菜、缓菜、查看账单和呼叫服务员等服务。该点菜系统一方面能减轻服务员的任务,减少服务员的人数,为商家降低人力成本;另一方面也能为顾客提供更全面和及时的服务,提高顾客消费的便利性、舒适性。

0.设计摘要

当今社会是信息爆炸的时代,但在绝大多数餐饮行业企业中,通常都还在使用传统的点菜方式,即客人走进餐厅或者酒吧等场所,服务员就拿着菜单迎上来询问客人要求客人点菜。这种传统的点菜方式给顾客带来了很多的不便,并且需要数量众多的服务员,更给企业的发展带来了很大的障碍。智能化设备的引进将有效的减少员工数量并提高员工工作效率,从而在减少企业人力成本的同时提升服务质量,为企业的发展提供强劲的竞争力。

目前餐饮业中顾客对于餐厅的投诉或不满,大部分是由于上菜速度太慢或服务人员对于顾客的要求反应不及时。只有操作简便、服务及时的点菜方式,才能让顾客满意,否则即使菜肴、饮品质量再好,也会使餐厅服务大打折扣。

本设计目的是为餐饮服务业提供一款基于PIC32的自助点菜系统——一种不需要服务员的点菜系统;除此之外,本系统还为顾客提供催菜、缓菜、查看账单和呼叫服务员等服务。该点菜系统一方面能减轻服务员的任务,减少服务员的人数,为商家降低人力成本;另一方面也能为顾客提供更全面和及时的服务,提高顾客消费的便利性、舒适性。

1.系统原理

本系统整合PIC和ZigBee无线通信技术,实现功能齐全方便易用的自助点菜系统。整个系统包括安装在客人餐桌上的终端和餐厅前台的上位机,其中终端主要是由PIC单片机和ZigBee的收发模块组成,而上位机又与其它的ZigBee的收发模块相连接,基本的系统结构框图如图1所示。客人可以使用安装在餐桌上的终端,通过按键等输入设备完成点菜、缓菜、查看账单和呼叫服务员等服务。客人确认所点的菜肴的时候按下确认键,这时候终端系统就会将客人的菜单通过ZigBee无线系统发送到收发模块,收发模块再将客人所点的菜单通过串口发送到厨房和前台的上位机。

本系统所使用的Digilent Cerebot™ 32MX4开发板是一个功能强大的微控制器开发板,可以连接点菜系统中需要用到外围Digilent Pmod模块。本课题采用的是TI公司的嵌入式射频芯片CC2430构建无线局域网络,实现点菜终端和上位机的通信。通常,可以把安装在终端上的无线收发器称之为子节点,与上位机相连的收发器叫做中心节点。


图1 点菜系统结构框图

1.1 ZigBee技术

ZigBee技术在近年来得到了快速的发展。zigBee工作于868MHz、915MHz、2.4GHz这三个频段,传输速率20-250kbps,传输距离为10-100m。由于其低速率、低功耗、低成本、近距离的特点,使得ZigBee技术可以很好的用于本课题设计的无线点菜系统。

ZigBee协议栈符合OSI体系结构,共分4层。下面两层,物理层PHY和媒介访问控制层MAC是由IEEE802.15.4标准定义的。ZigBee规范在此基础之上构建了网络层NWK、应用层APL以及安全服务SSP。ZigBee规范根据设备所处的角色定义了三种逻辑设备类型:ZigBee协调器(ZigBee Coordinator)、ZigBee路由器(ZigBee Router)和ZigBee终端设备(ZigBee End Device)。

1.2终端点菜流程

终端软件的点菜流程如图2所示。上电初始化后,终端上的LCD进入点菜界面,顾客可以根据菜品分类(特色菜品、冷菜类、热炒类、汤羹类、特色小吃、饮料等)浏览菜单,也可以浏览当天的推荐菜品,菜单上显示菜品的价格和文字介绍等信息。同时,获知已点菜品的状态(未制作、烹制中、等待上菜、已经上菜),还可随时查看自己的账单明细。而饭店可根据当日实际情况更改菜品的状态(可点或不可点)和价格。

此外,在整个用餐过程中,可随时催菜、缓菜、退菜、加菜等操作,并查看菜的制作状态和账单明细,其中顾客的所有操作都是通过安装在终端上的按键来完成。最后,通过前台打印账单进行结账服务。整个过程方便快捷、操作简单。

图2 终端点菜流程图

1.3无线点菜终端

终端设计中充分利用了PIC的片内资源,程序可以存储在片内的Flash中,并且片内RAM可以用来存储数据,这样就大大简化了系统设计难度,节约了成本。更重要的是,在PIC周围可以方便的连接上设计所需的外围器件,主要有以下几个部分:

1) UART接口用于与移植到CC2430的ZigBee通信模块进行连接;

2)16x2字符LCD模块作为终端的输出设备,输入外设为一个2x2的按键开关,这些为用户提供便捷的人机交互界面、良好的操作环境,利于调试;

3)SD卡模块可与PIC32的SPI接口或者GPIO相连接,它用来存储大容量的餐厅的菜品信息和顾客的点菜信息;

4)外接专用的调试电路,可以通过USB接口方便的下载程序和片上调试;

5)PIC32内建USB 2.0 On-The-Go物理层,可以直接与USB Host和USB OTG接口相连,这两个接口可以用作将来的外设扩展。

其中LCD模块采用使用一个Samsung KS0066 CD控制器的Sunlike LCD板, 而无线通信模块则是基于CC2430搭建的ZigBee局域网络,这些模块正好利用Cerebot 32MX4开发板的PMOD扩展接口进行搭建,做到了资源的充分利用。整个无线点菜终端的硬件结构图如图3所示:

图3 终端硬件结构

1.4前台系统

前台系统由三部分构成:上位机Visual C界面、无线通信中心节点板以及打印机。上位机(PC端)用MFC搭建人机交互界面,用于各个桌号菜单账目统计,并控制打印机打印账单。Visual C通过串口控件与中心节点板连接,保持与多个终端的通信。CC2430中心节点板的串口模块可直接将接收到的数据传到上位机,并将反馈数据传回各个终端。点菜结束后,顾客可从打印机中得到消费账单,快捷方便。

2.技术特点

1)灵活高效的PIC32解决方案

PIC32作为一款高性能32位单片机,它是以MIPS32架构为基础设计的,具有高频、小芯片尺寸和超低功耗的特点。本课题以PIC32MX460为核心部件,完成并实现了ZigBee无线点菜系统的设计,在终端中,采用PIC32来控制发射信号的种类和对信号编码的控制。采用PIC32解决方案,方便灵活的扩展系统,满足复杂的外设要求。

2)最具性价比的ZigBee技术

一般而言,随着通信距离的增大,设备的复杂性、功耗以及系统成本都在增加。相对于现有的各种无线通信技术,ZigBee技术是最低功耗和成本的技术。ZigBee技术也存在着自身的缺点,该技术的数据速率比较低和通信范围较小。但由于本系统所承载数据流量较小,所以ZigBee就非常适合,具有最佳的性价比。

3)Cerebot 32MX4丰富的外设接口

本课题所使用的Digilent Cerebot™ 32MX4开发板是一个功能强大的微控制器开发板,它拥有九个Digilent Pmod™外围模块连接器。本课题需要用到的Digilent Pmod模块有按键开关、字符LCD、以及SD卡插槽,开发板还可以用来连接H-bridge驱动、模数和数模转换器、蜂鸣器、滑动开关、LED指示灯等,其提供了丰富的外设资源。

3.软件流程介绍

3.1无线网络软件设计

系统中通过简单的无线星型网络实现了前台的PC机和PIC32点菜节点的双向通信。无线网络系统初始化时将各节点的通信频率固定在2.48G频点上,通过中心节点轮询各子节点的方式时分复用实现组网及双向通信。

中心节点和子节点的CC2430均通过中断接收串口数据与无线传输的数据。如果PC机通过串口向中心节点发送数据,则中心节点首先解析数据包(33个字节,首字节为地址,其余为数据),并根据地址设置相应的节点标志位。当中心节点对子节点进行询问时首先查询该节点的标志位,若没有数据传输则将发送数据报首位设置为DATA_REQ(0x0F),表明该数据报没有数据内容;若有数据传输则将发送数据报首位设置为DATA_TRANS(0xF0),表明该数据报有数据内容。传输结束后中心节点进入接收状态,接收子节点回传的数据报。接收到的数据报首位为ACK_NO_DATA(0x30)表明数据报中没有数据内容,中心节点不作处理;若数据报首位为ACK_WITH_DATA(0x33),则将子节点号和数据内容通过串口传给PC机,接开始新的询问操作。若中心节点没有收到相应的回传数据报,则中心节点会重复询问子节点,重复询问最高次数为3次。中心节点通过对子节点地址进行计数实现对各个子节点的轮询。

子节点的无线模块一般处于接收状态,当接收到数据报时首先解析数据报的目的地址字节,若目的地址和自身地址不匹配则不作处理;若目的地址和自身地址匹配则对接收到的数据报进行解析,若包头为DATA_TRANS(0xF0)则将数据内容传给终端的PIC32系统,接着查询串口标志位(子节点串口中断接收程序在接受到PIC32发送的数据后设置串口标志位),若有数据发送则将数据报首位置为ACK_WITH_DATA(0x33),并将其和数据内容一起回传给中心节点;若没有数据发送则首位标志置为ACK_NO_DATA(0x30)。

3.2前台人机交互界面设计

点菜系统的前台需要构建操作友好的人机交互界面,考虑到CC2430中心节点板的串口模块可直接将接收到的数据与上位机通信,选用VC搭建该界面。VC提供了MSComm(microsoft communications control)控件,通过串行口进行数据传输和接收,为应用程序提供串行通信功能。MSComm控件通信功能的实现实际上是调用了API函数,而API函数是由Comm.drv解释并传递给设备驱动程序进行的,即MSComm控件的属性提供了通信接口的参数设置,能实现串行通信。

终端与前台通信遵循一定的协议格式,头一个字节是节点号(即就餐桌号),紧接着两个字节是传输命令,最后才是所传输的内容。终端传到前台的命令共有5类:传送菜单(MENU_CMD)、催菜(HUSH_CMD)、加菜(ADD_CMD)、菜单状态(STATE_CMD)和结账(CHECK_CMD);前台传回的命令有两类:操作成功(OK_CMD)和操作失败(NO_CMD)。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

D类音频放大器参考设计(EPC9192)让模块化设计具有高功率和高效,从而可实现全定制、高性能的电路设计。

关键字: 音频放大器 电路设计

可调电容作为一种重要的电子元器件,在电路设计中具有广泛的应用。本文将对可调电容的基本概念、工作原理、调用方法以及应用场景进行详细探讨,旨在帮助读者更好地理解和应用可调电容。

关键字: 可调电容 电子元器件 电路设计

近日,国内新一代激光陀螺驱动系列功能芯片问世,由湖南二零八先进科技有限公司(下简称“二零八公司”)技术团队研发。相比行业内普遍应用的上一代激光陀螺驱动控制电路,激光陀螺驱动专用芯片降低了电路设计难度,大幅减小体积重量,实...

关键字: 激光陀螺仪电路 芯片 电路设计

R是施密特触发器输入端的一个10KΩ下拉电阻,时间常数为10×10-6×10×103=100ms。

关键字: 复位 电路设计 施密特触发器

学好电子技术基础知识,如电路基础、模拟电路、数字电路和微机原理。这几门课程都是弱电类专业的必修课程,学会这些后能保证你看懂单片机电路、知道电路的设计思路和工作原理;

关键字: 单片机 编程 电路设计

通顺的自然语言生成 通达的全领域知识体系覆盖 通畅的人机交互接口

关键字: 人工智能 人机交互 大模型

Buck-Boost电路工作原理及其应用你有没有去了解过呢?随着科技的不断发展,电力电子技术在各个领域得到了广泛的应用。其中,Buck-Boost电路作为一种重要的电力电子变换器,具有很高的实用价值。本文将对Buck-B...

关键字: buck-boost 电路设计

本文是开发测量核心体温( CBT )传感器产品的刚柔结合电路板的通用设计指南,可应用于多种高精度(±0.1°C)温度检测应用。

关键字: 温度传感器 电路设计

自9月22日开始,2023年中国大学生工程实践与创新能力大赛选拔赛在全国各省市陆续展开,10月29日北京、海南、新疆等区域选拔赛成功举办,也为今年的选拔赛画上了圆满的句号。在此,向那些成功晋级国赛的选手们致以热烈祝贺,同...

关键字: PCB 电路设计

自从智能手机、平板电脑、笔记本电脑的兴起,内置的锂电池技术没有革命性突破,续航问题一直伴随着这些数码设备,移动电源的出现给我们出行过程中学习、工作、娱乐提供了更多额外的电量,可谓是功不可没。

关键字: 移动电源 电路设计 智能手机
关闭
关闭