触摸式无线点餐终端系统的设计
2012-09-12杨保亮王庆阁
杨保亮,王庆阁
(重庆文理学院电子电气工程学院,重庆 永川 402160)
随着国家经济的不断发展,人们生活水平和消费水平的提高带动了餐饮行业的发展,但是很多企业依靠人工记账、人工核算和查询,因此员工的劳动强度大,效率低,出错率高,信息化程度低.另一方面,随着人们生活水平的提高和消费观念的转变,人们在餐饮消费中不仅要吃饱更要吃好,消费者对餐饮业的服务形式、环境氛围、餐饮风格等要素越来越看重.为了提高餐饮业的服务水平和管理效率,结合现代信息技术提出了一种无线点餐系统的设计,该无线点餐系统集成了无线通讯技术、智能掌上电脑、计算机网络和数据库技术,数据无线实时传输、数据实时处理、实时监控,从而有利于提高工作效率、降低成本、优化业务流程和提高服务的质量,同时也为餐饮业的经营者带来了更多的利润.
1 无线点餐系统的功能和结构
无线点餐系统是服务于触摸交互式多媒体信息与广告的设备,在高档餐厅、酒店、咖啡厅等用餐或娱乐场所,实现终端自助点餐、音乐电视(广告)播放、新闻浏览等服务,提升餐厅的服务水平和层次,并能对实用广告进行智能化播放和管理,使得系统具有较好的市场卖点和强大的盈利能力[1].无线点餐系统通过具有无线功能的智能点餐终端,服务员或领班可以随时随地使用系统为顾客进行点菜、加菜、退菜、催菜、缓菜等操作,数据即时传入中央服务器,并自动分单打印到各厨房和总台.网络采用无线接入,信号覆盖整个餐厅,在餐厅每个位置的顾客都可以使用该系统,无需在大厅或包房中布置任何网线而影响餐厅环境.系统主要功能包括开台、转台、保留、点菜、加菜、退菜、催菜、缓菜等操作;今日推荐菜品、沽清菜品、预订信息、桌台账单查看等功能;具有电子菜谱功能,随时查看菜品图片.顾客可根据类别、代码、拼音码、名称等信息浏览菜谱,支持口味、做法、退菜原因等备注信息选择或手工输入.同时该系统具有实时的成本库存管理功能,让老板轻松管理饭店.在每次点菜完成之后,系统将自动完成配料的使用情况计算,并对缺少配料进行提醒.并且能够有详尽的报表对每天的经营情况进行总结.
无线点餐系统主要有智能服务终端、主控计算机及其网络系统、PC上位机管理软件组成,用餐者或服务员在通过智能点餐终端上做点击或书写等操作,即可通过代码输入、分类选择、关键字查找、自定义输入等方式快捷地将所需要的相关菜谱显示出来,根据自己的需要选择菜单后,点确认键提交点菜单,客人的菜单通过计算机网络系统瞬间即被传送到主控计算机,主控计算机发出指令给设在厨房、顾客、服务台等处.厨房的计算机接到命令后打印出相应的菜单,厨师按单做菜.与此同时,计算机数据系统及时更新数据,这样顾客查询以及作结账凭据,真正做到使客人明明白白消费.整个无线点菜系统的框图如图1所示.
图1 无线点餐系统的结构框图
2 触摸式无线点餐终端硬件设计
在该无线点餐系统中,无线点餐终端是系统的重要组成部分,其主要的功能是负责这个系统的信息采集和数据传输,下面我们从软件和硬件设计两个方面说明该无线点餐终端的设计.其中硬件设计部分主要包括主控电路模块、电源模块、无线接收数据传输模块、信息存贮模块、触摸屏模块、液晶屏显示模块、USB通信接口模块等,下面主要介绍无线数据传输模块和触摸屏模块的设计.
2.1 无线传输模块的设计
本设计从传输速率、传输距离和整体性能几个方面对目前比较流行的几种无线方案,无线蓝牙、Zighee、WiFi和 Nordic nRF 方案,进行了比较后选择了Nordic nRF方案.Nordic nRF方案是Nordic半导体公司开发的一种私有的无线解决方案,是一种系统级芯片器件,由无线收发器、8051微控制器、4通道12位ADC和各种标准接口组成,采用0.18μm CMOS工艺制造.Nordic nRF使用GFSK调制机制,提供1 Mbps的标称数据速率.为尽可能提高无线性能、减小功率预算,它的开销很少.这里我们选择了 nRF2401,nRF2401是单片射频收发芯片,工作于2.4~2.5 GHz ISM频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置.芯片能耗非常低,以-5 dBm的功率发射时,工作电流只有10.5 mA,接收时工作电流只有18 mA,多种低功率工作模式,节能设计更方便[2].DuoCeiverTM技术使nRF2401可以使用同一根天线同时接收2个不同频道的数据[3].此外,其内置地址解码器、先入先出堆栈区、解调处理器、时钟处理器、GFSK滤波器、低噪声放大器、频率合成器、功率放大器等功能模块,在用其构成射频电路时只需要很少的外围元件,因此使用非常方便[3].nRF2401适用于多种无线通信的场合,如无线数据传输系统、无线鼠标、遥控开锁、遥控玩具等.nRF2401A及其外围电路如图2所示,包括nRF2401A芯片部分、稳压部分、晶振部分、天线部分.电压VDD经电容C1、C2、C3处理后为芯片提供工作电压;晶振部分包括Y1、C9、C10,晶振 Y1 允许值为:4 MHz、8 MHz、12 MHz、16 MHz,如果需要1 Mbps的通信速率,则必须选择 16 MHz晶振.天线部分包括电感 L1、L2,用来将nRF2401A芯片 ANT1、ANT2管脚产生的2.4 G电平信号转换为电磁波信号,或者将电磁波信号转换为电平信号输入芯片的 ANT1、ANT2管脚.nRF2401的数据读写使用的是标准的SPI接口,但是单片机上没有SPI接口,在这里我们使用单片机的IO口模拟SPI接口.
图2 无线点餐系统的电路框图
2.2 触摸屏模块的设计
随着现代电子技术的不断发展,人们对电子产品的要求日益增高,简便的人性化的人机交互界面就是其中之一,触摸技术凭借它直观、操作简单等优点,除赋予了使用者更加直接、便捷的操作体验之外,还使手机的外形变得更加时尚,增加了人机直接互动的亲切感,引发消费者的热烈追捧,同时也开启了触摸屏向主流操控界面迈进的征程.本系统就是采用触摸技术来实现人机交互的.
ADS7846是BB公司生产的一种四线制触摸屏控制器,可以广泛地应用在电阻式触摸屏系统中.ADS7846的核心是一个具有采样和保持功能的12位逐次逼近式A/D转换器,其转换速率可达125 kHz,且分辨率可编程为8位或12位.该器件不仅具有X、Y坐标测量功能,还具有电池电压、芯片温度、触摸压力和外模拟量4种测量功能,其工作方式可由控制字决定,芯片内的6选1模拟多路开关可根据微控制器送来的命令字来选择 6个电压量之一(X+、Y+、Y-、VBAT、TEMP、AUXIN),并将其送入 A/D 转换器转换,然后再通过SPI接口将转换值送入微控制器.此外,ADS7846还集成有触摸识别电路,当检测到有触摸时,该电路会在PENIRQ(笔中断)引脚输出一个低电平信号,并以该信号向微控制器提出测量触点坐标的中断请求.该芯片采用单电源供电,工作电压为2.2~5.25 V,且内部自带+2.5 V 的参考电压[4].STC89C52 和 ADS7846触摸屏控制器的触摸系统硬件接口电路如图3所示.
图3 触摸屏控制系统的硬件接口电路图
图3中TX+,TX-,TY+,TY-为位置输入端,分别对应四线制电阻式触摸屏的四线制接口,BUSY为忙信号指示,ADSCS为片选输入,DIN和DOUT为串行数据的输入和输出,DCL为外部时钟输入引脚,PENIRQ为笔中断引脚,工作时应通过10~100 K的电阻上拉,当有突发事件发生时,可以向控制器发出中断请求,所以在本系统中 ADSCS、DCLK、DIN、BUSY、DOUT、PENIRQ分别接STC89C52单片机的P20、P21、P22、P23、P24、P32.另外,IN3、IN4 为两个附属 A/D输入通道,本系统没有用到,使用时可将其接地.
3 系统软件设计
在无线点餐系统的终端软件的设计中,要考虑软件的调试性、维护性、易扩充性,所以我们采用了结构化编程思路,按各个功能模块来将其划分为相互独立的模块.其中本系统主要包括主程序、电源管理程序、nRF2401数据传输程序、触摸屏程序、LCD显示程序、数据库管理程序和USB数据通信程序的设计等,下面主要介绍nRF2401数据传输程序设计和触摸屏程序的设计.
3.1 nRF2401 程序设计
nRF2401程序设计是软件系统重要的组成部分,nRF2401程序设计核心内容是单片机实现的无线收发控制程序及数据的校验算法的实现.使用nRF2401程序设计的主要内容就是单片机对nRF2401芯片的控制,单片机对nRF2401芯片的控制包括在配置模式下对nRF2401的初始化配置、发送数据和接收存储数据.RF2401的收发模式有ShockBurstTM收发模式和直接收发模式两种,收发模式由器件配置字决定,这里我们把nRF2401收发模式配置为Shock Burst TM模式,在这种模式下发送数据时,MCU只需将经纠错编码和加密后的预发送数据送入nRF2401片内的堆栈区,nRF2401会自动加上字头和CRC校验码,然后高速发射;而接收数据时,nRF2401也会自动处理掉字头和 CRC校验码,将有效数据输出给MCU.也就是说与发送和接收有关的所有通信协议的处理均由nRF2401的片内硬件自动完成,无需 MCU干涉.而单片机的控制程序主要是nRF2401进行配置,在nRF2401被配置完成之后,MCU就可以把它当作1种具有独立I/O口和寄存器的外设使用[2],从而实现通信数据的发送和接收.单片机控制nRF2401芯片收发的软件流程图如图4所示.
3.2 触摸屏程序的设计
ADS7846可通过片内模拟多路开关的切换,将X+/Y+端接VCC,将X-/Y-端接地,并将X+/Y+和X-/Y-以差分形式接到A/D转换器的输入端.这样,当点击触摸屏的不同位置时,输入到A/D转换器中的电压就不相同,然后再经A/D转换后,就可得到触点的输出值,该输出值与触点的位置成近似线性关系.ADS7846与STC89C52之间通过标准的SPI接口相连,并由
图4 nRF2401程序流程图
4 结语
本文将现在流行的触摸技术和嵌入系统软件思想融合在餐饮行业中,开发了价格低廉、实用性强的一种触摸式无线点餐系统终端.本方案设计的产品经过测试取得良好的效果,产品触摸灵敏,无线通信精确,该系统的硬件电路可靠、稳定、抗干扰能力强,软件的设计实时性很强,而且软件具有模块化、集成化、通用化的特点,易于维护和升级,同时该系统成本低,对设备的要求低,易于生产等特点.总体上来说,本设计提供了一个通用的无线点餐服务硬件平台,为企业摆脱传统的服务模式创造了条件.随着嵌入式领域和信息技术的不断发展,利用嵌入式设备来实现简单高效服务的模式将越来越普遍,具有广泛的市场STC89C52启动3次SPI传送来完成转换.第1次SPI传送由STC89C52向ADS7846发送控制字,含起始位、通道选择、8/12位模式选择、差分/单端选择和掉电模式选择;后两次SPI传送则是STC89C52读取A/D转换后的结果数据,至此便完成了ADS7846和STC89C52之间的一次通信.其中触摸屏软件设计的流程如图5所示.应用前景.但该系统推入市场在PCB布局制板上和程序的健壮性方面还有待进一步优化改善.
图5 触摸屏软件流程图
[1]欧冬梅.基于ARM无线点餐终端系统设计[D].北京:北方工业大学,2007.
[2]Nordic Corporation.Single chip 2.4 GHz transceiver nRF2401 datasheet[M].2004.
[3]Sonavane SS,Kumar V.MSP430 and nRF24L01 based wireless sensor network design with adaptive power control[J].ICGST - CNIR Journal,2009(7):11 - 15.
[4]宋旵飞,刘晓.基于2.4 GHz的数字无线语音系统设计[J].宁波大学学报,2010,23:48 -51.
[5]Burr- Brown Corporation.ADS7846 touch screen controller datasheet[M].2005.