曹天麟,刘忠富,龚建颖,金健男,王 昊,程阳小都
(大连民族大学信息与通信工程学院,辽宁 大连 116600)
传统的餐饮企业采用人工点菜、人工结账的方式,效率比较低,部分企业引入基于WIFI 或网络的自动点餐系统,但造价较高,因此,开发综合成本低、自动化性能高的无线点菜系统,具有一定的应用价值。
本文基于RFID,以低功耗单片机STC12LE5A60S2 为核心,设计完成了餐厅无线点菜系统,实现了餐厅服务流程智能化,每个餐桌都配有手持无线点菜终端,完成点菜、配餐等环节,这样减轻了服务员的工作量,提高了餐厅为顾客配餐的准确性。
无线点菜系统由多个手持点餐终端以及接收处理中心组成。其中,手持点菜终端由STC12LE5A60S2 单片机、NRF905 无线发射模块、TFT 液晶触摸屏组成,主要完成客户的点菜输入,服务代码的发送功能;接受处理中心由接收模块和PC 机组成,PC 机上装有专用的菜单管理软件,负责菜单信息的汇总处理、显示功能。客户或服务员可以随时通过点菜终端的触摸屏进行点菜、呼叫服务、结账等操作,点菜终端搜集到数据后通过NRF905 发射模块向接收处理中心发送对应的操作代码。接收处理中心接收到代码后将其保存,并根据代码的不同判断餐品的种类,最后将其显示在PC 机对应的餐桌图标上。系统框图如图1 所示。
图1 无线点菜系统框图
手持点菜终端主要完成菜单显示、点菜信息输入和发送的功能。选用STC12LE5A60S2 单片机为微控制器,NRF905无线发射器作为数据传输模块,TFT 液晶触摸屏作为界面显示和输入设备,供客户浏览菜谱和点餐操作。终端框图如图2 所示。
图2 手持点菜终端硬件组成框图
2.1.1 微控制器电路
对于整个手持点菜终端,为了达到良好的显示效果和用户体验,选用了TFT 触摸屏来作为显示界面,所以对微控制器的响应速度有一定的要求,同时菜单的显示具有多样性,这就意味着控制器的程序存储器容量不能太小。
系统以 STC12LE5A60S2 单片机为控制器,STC12LE5A60S2 单片机3.3 V 供电的低功耗微处理器,性能比普通8051 更加强大,且成本较低,能够满足更加复杂的应用系统设计。
2.1.2 电源升压电路
电源是无线点菜终端正常工作的基础,电源的好坏直接影响电路工作的稳定性,STC12LE5A60S2 单片机与NRF905的工作电压都是3.3 V,而无线点菜终端用1.2 V 锂电池供电。本系统采用NCP1400ASN30T1G 升压芯片,把1.2 V 电压提升到3.3 V,供给系统各部分作为电源。电源电路如图3 所示。
图3 电源升压电路图
2.1.3 NRF905 无线发射模块电路
无线发射模块是终端的数据传输桥梁。NRF905 芯片是基于RFID 的一款无线收发芯片,其工作电源电压为3.3 V,输出功率-10~10 dBm 可调,通过SPI 的接口方式能够容易对其进行编程配置。NRF905 工作在433/868/915 MHz 频段,并且可以配置工作频点,满足多频段,多频点工作的NRF905,广泛应用于无线数据通讯,无线遥控等领域[1]。
NRF905 的工作频率可由下面公式计算。
NRF905 应用电路如图4 所示。
图4 NRF905 应用电路图
2.1.4 TFT 液晶触摸屏电路
液晶屏选用当前比较流行的有源矩阵液晶显示器(TFTLCD),其工作电压一般为2.7~3.3 V,可通过8 位、16 位总线方式与微控制器连接。触摸屏分为电阻、电容、表面声波和红外扫描等类型。其中,电阻式的成本较低,使用最多。系统选用四线电阻式触摸屏作为输入设备,与LCD 配合使用,并选用TI 公司出品的ADS7843 作为数模转换接口芯片,制作成TFT 液晶触摸屏模块。由于其速率高且功耗极低的特点,非常适合应用在采用电池供电的小型设备中[2]。
接收处理中心主要由接收模块和PC 机组成,其主要功能是接收终端发来的菜单信息,并上传给上位机进行数据处理和实时显示[3]。接收模块的电路和点菜终端的电路几乎相同,由于要与上位机通信,所以采用232 串口电路。
本系统软件部分分为终端程序和接收处理中心程序。终端程序主要功能是控制NRF905 无线模块的正常收发和TFT 触摸屏的界面显示及触摸读取;接收处理中心主要完成控制接收模块数据的接收和信息的上传、处理以及PC 机界面的显示的功能。所有程序采用C 语言编写。
不同的餐桌是通过配置不同的工作频点来区别的,即每个餐桌都有自己的传输频点。
终端设备初始化,TFT 液晶触摸屏将显示菜单界面,配置NRF905 寄存器的配置和身份信息的配置,将NRF905 初始化为输出功率为+10 dB,外接16 MHz 晶振,发送地址宽度为4 字节,数据宽度为4 字节。将NRF905 配置寄存器433 MHz 工作频段,并将HFREQ_PLL 位置“0”,使通道间的频差为100 kHz。NRF905 芯片配置成具体不同的工作频点,以代表不同的餐桌。之后一直处于检测点菜输入状态,可以直接点击菜单界面选择菜色,当选择菜色完成后,进行二次询问,确认无误后将NRF905 的TRX_CE 管脚置“1”,TX_EN置“0”使NRF905 进入发送模式,在一个正确的菜单数据包被发送完成后DR 引脚会置高来通知单片机数据已经发送了。发送完成后,将NRF905 配置为正常模式,转入检测点菜输入状态,继续进行下一次菜色选择,往复循环[4]。手持点菜终端程序框图如图5 所示。
图5 手持点菜终端程序框图
接收处理中心是通过轮询的方式来检测每一个餐桌是否有点菜信息上传的[5]。在初始化时,将NRF905 配置寄存器的CH_NO 位配置成0X4C,使其工作在430 MHz 的频点上,将HFREQ_PLL 位置“0”,通道间的频差为100 kHz。设置NRF905 的TRX_CE=“1”、TX_EN=“0”使之处于接收状态,NRF905 会自动检测载波,接收到相同频率载波之后载波检测引脚AM 会置高,收到一个正确的数据后DR 引脚会置高[6]。单片机读取接收到的数据并判断是否是正确的菜单信息,若是,则通过串口将其传给上位机,反之直接将配置寄存器配置的工作频点加一,继续接收下一频点的载波数据。因为每个餐桌的所配置的工作频点都不同,所以当频点达到上限时,说明已经依次询问过每一个餐桌,最后将工作频点配置回初始频点(430.0 MHz),再重新检测每个通道是否有数据读入。
上位机收到每个餐桌的点菜信息后显示在对应的餐桌上。
系统将STC12LE5A60S2 单片机、NRF905 无线发射模块、TFT 液晶触摸屏结合在一起。每个餐桌通过安装不同的点菜终端,配合信息处理中心,能够实现无线点菜,呼叫服务,结账等功能。客人随时可以通过点菜终端下单,服务人员通过接收处理中心查询每个餐桌的点菜情况,及时掌握菜单信息,提高工作效率。无线餐厅点菜系统也可以应用到其他领域,如仓库管理,集装箱与包裹管理,病人看护,零部件与库存管理等多种应用领域,具有一定的推广价值。
[1]杨春,林翚,彭楚武.基于nRF9E5 的矿井人员定位系统的设计[J].嵌入式系统应用,2008(24):13-14.
[2]王小增,杨久红.CO 浓度检测仪表硬件电路设计[J].仪表技术与传感器,2007(6):19-21.
[3]游站清,李苏剑.无线射频识别技术(RFID)理论与应用[M].北京:电子工业出版社,2004.
[4]刘玫,李辉,顾亮.射频识别技术软硬件系统研制[J].电子技术,2002(3):29-32.
[5]张其强,郑铭,张其善.远距离射频识别系统及其应用前景[J].中国数据通信,2004(1):95-98.
[6]吴春华,陈军.动态ALOHA 法在解决RFID 反碰撞问题中的应用[J].电子器件,2003,26(2):173-176.