嵌入式电子点菜系统的设计.doc_第1页
嵌入式电子点菜系统的设计.doc_第2页
嵌入式电子点菜系统的设计.doc_第3页
嵌入式电子点菜系统的设计.doc_第4页
嵌入式电子点菜系统的设计.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式电子点菜系统的设计任良才1,李鑫2,闫宸2*(1.中国矿业大学 信息与电气工程学院,江苏徐州 221000; 2.常熟理工学院 电气与自动化工程学院,江苏常熟 215500)摘要:本文提出了一种基于GSM无线通信技术、嵌入式系统技术、ADS1.2开发平台、三星S3C44B0X微控制器、COS-嵌入式操作系统以及触摸屏技术的新型点菜方式, 为餐饮业走向全面数字化提供解决方案。本文的主要任务集中在点菜终端的软硬件设计,硬件设计主要是LCD、触摸屏连接的设计,软件设计主要是点菜应用程序和GSM发送程序的设计、编写和调试。关键词:GSM;嵌入式系统;COS-中图分类号:TP273.5 文献标识码:A随着人们生活水平的提高和生活方式的转变以及中国经济及旅游业的发展,餐饮业市场活跃,蕴藏巨大的商机,餐饮消费继续担当着拉动消费需求迅增的重要力量。但是大多数的餐饮店还是沿袭传统的点菜模式,即由人工记录点菜并送至厨房,该过程繁琐易出错,当顾客比较多时,造成时间的浪费和服务品质的下降,需进行数字化改造。有些餐饮店虽装备点菜系统,但部分技术老旧、使用不方便、价格昂贵。在综合已有电子点菜方案和性价比以及技术可行性的基础上,本文选定基于GSM无线通信技术、嵌入式系统技术、ADS1.2开发平台、三星S3C44B0X微控制器、COS-嵌入式操作系统以及触摸屏技术的嵌入式电子点菜系统作为点菜系统的解决方案,其特点是开发和使用比较方便。1 点菜系统总体结构系统采用无线传输方式进行通讯,点菜终端将得到的顾客点菜信息通过GSM模块(内置移动运营商出售的SIM卡)以无线方式发送到GSM网络,最终传输到柜台计算机GSM模块。柜台计算机对收到的信息加以处理,并可以给点菜终端或厨房计算机发送信息。而本文主要工作集中在点菜终端的软硬件设计。系统总体结构框图如下:柜台计算机GSM模块GSM模块GSM网络点菜终端图1 点菜系统总体结构框图2 终端硬件设计2.1硬件框图在实际应用中,嵌入式系统硬件配置十分精简,除了CPU和基本的外围电路外,其余硬件都可以根据成本和功能进行裁减。嵌入式电子点菜系统的硬件构成同样非常简洁。S3C44B0XARM7TDMI2MNORFLASH8M SDRAM16MNANDFLASHFM7843触摸屏LCDZLG7289晶振模块电源模块复位模块USB接口GSM模块数字键盘图2 点菜终端硬件框图系统下位机硬件部分包括主微处理器,显示与输入部分(本系统点菜输入有两套方案:触摸屏、键盘),无线收发部分,存储部分,以及其他基本的外围电路部分(如:晶振电路模块,复位电路模块,电源模块)。系统采用S3C44B0X(ARM7TDMI)微处理器为核心微处理芯片。显示与输入部分采用带触摸屏功能的LCD和小键盘。其中LCD采用240*320,STN256色的LCD,而触摸屏置于LCD液晶显示器之上,屏体部分是一块与显示器非常吻合的多层复合薄膜,触摸屏使用专用的驱动芯片,本系统采用的驱动芯片是FM7843(S3C44B0X选取PG口与FM7843接口,共用PG2-PG7共6条口线)。键盘采用ZLG7289芯片驱动的小键盘,ZLG7289价格便宜,稳定可靠。无线收发部分主要是通过9针串行线连接的GSM模块,GSM模块内嵌SIM卡一块,通过AT指令集来控制收发信息。同时上位机PC也有通过9针串行线连接的GSM模块,来实现相互之间的短消息互发。存储部分要用到3种存储器:NOR型FLASH,SDRAM(同步动态随机存储器),NAND型FLASH。NOR型FLASH用来存放Bootloader引导程序,SDRAM用来作为内存,NAND型FLASH用来存放编译的应用程序。2.2 分模块设计点菜终端的微处理器采用三星公司的S3C44B0X,是一款基于ARM公司ARM7TDMI内核的16/32位RISC位处理器, S3C44B0X频率高达66MHZ,存储寻址空间256MB, 8KB Cache,带自动握手的2通道UART,系统管理器(片选FP/EDO/SDRAM控制器),带PWM功能的5通道定时器, IIC总线接口,IIS总线接口,同步SIO接口和PLL倍频器,而且采用了基于ARM7TDMI内核的0.25M工艺的COMS标准宏单元和存储器。S3C44B0X具有低功耗,简单明快的特点,适合低价格和低功耗的方面的使用。显示部分,由于S3C44BOX内置了LCD驱动,所以从S3C44BOX 出来的信号可以经74HCT245缓冲,直接接到LCD。电路图如下: 图3 LCD与S3C44BOX接口触摸屏驱动选用FM7843,它的连接涉及到两部分:FM7843和LCD的连接,FM7843和S3C44B0X的连接,如下图:图4 FM7843的连接无线收发模块采用SIEMENS公司的TC35I,SIEMENS TC35I Terminal(TC35I终端)是西门子公司推出的一个便捷的即插即用解决方案。它内置了TC35I无线模块,集成了标准的RS-232接口以及SIM卡,可以用AT命令通过串口对它进行控制。在本方案中,利用9针串口RS-232连接TC35I和S3C44B0X,并且编写AT指令集来实现无线通信。3软件设计点菜终端软件部分包括三层:驱动层、OS层、应用层。驱动层主要是BSP,是软硬件连接的纽带,OS层包括实时操作系统(RTOS)、文件系统、图形用户接口,应用层主要是应用程序。3.1 操作系统的移植本系统操作系统选用COS-系统,COS-是占先式内核的实时嵌入式系统,任务调度是抢占式的多任务系统设计。COS-不仅源码公开,而且具有非常稳定、可靠的性能。应用COS-系统的主要任务是COS-系统的移植工作,而移植工作的任务主要集中在多任务切换的实现上,用来保存好恢复CPU现场。COS-移植到ARM7TDMI处理器上,必须写上述3个文件,这3个文件都是与处理器架构密切相关,分别是OS_CPU.h、OS_CPU_A.s、OS_CPU.c。它们的作用是把COS-操作系统紧紧的附着在ARM处理器上,实现软件和硬件的协同。 其中OS_CPU.h包括了用#define定义的处理器相关的常量、宏和类型定义;OS_CPU_A.s文件中,要求用户编写一下4个简单的汇编语言函数OSStartHighRdy(用于启动当前就绪的优先级最高的任务)、OSCtxSW(用于进行任务之间的切换)、OSIntCtxSW(OSCtxSW通过调用OSIntCtxSW来从ISR中执行切换功能)和OSTickISR(时钟节拍控制);OS_CPU.c中唯一必要的函数是OSTaskStkInit( ),其他函数只需声明不需包含代码。3.2消息循环在多任务系统中,消息是系统各个任务之间通信的最常用手段,它可以使一个任务或者中断服务程序向另一个任务发送以指针方式定义的变量,消息队列相关函数定义在OSMessage.h中。应用程序在Main-Task任务中等待消息,并对消息进行判断和处理。在本系统的主任务中使用如下的代码来实现消息循环。POSMSG PMsg=0;/消息循环for(;) POS_Ctrl pCtrl; /定义消息结构pMsg=WaitMessage(0); /等待消息switch(pMsg-Message) case OSM_KEY: /用到触摸屏时OSM_KEY 要替换成OSM_TOUCH_SCREENonKey(pMsg-WParam,pMsg-Lparam /按回车键显示菜单图片break; (pMsg);/删除消息,释放资源因为本系统采用键盘和触摸屏两套输入方案,所以有两种点菜输入消息:OSM_KEY是键盘消息, OSM_TOUCH_SCREEN是触摸屏消息。在编写应用程序时应考虑到要区分是哪种输入,并且做相应处理。两者的区分是通过switch(pMsg-Message)语句来选择判断的,通过判断输入是OSM_KEY、OSM_TOUCH_SCREEN中的哪一个即可区分两种点菜输入。在以上程序中WParam和 LParam是系统消息传递的相应参数。键盘消息的类型pMsg-Message 为OSM_KEY,参数pMsg-WParam中包含键盘按键号码信息,pMsg-Lparam中包含按键同时按下的功能键信息,用switch-case语句判断按下的是哪个键值后便可进行相应处理。触摸屏消息的类型pMsg-Message 为OSM_TOUCH_SCREEN,参数pMsg-Wparam中包含坐标信息,用下面的语句获得(x, y)值:Touch_Position.x=pMsg-WParam&0xffff;Touch_Position.y= pMsg-WParam16;获得(x, y) 值后用IsInRect2()函数来判断某个触摸点坐标是否在一个矩形区域内,例如:IsInRect2(prect1, pTouch_Position)判断pTouch_Position坐标值是否在prect1 指向的矩形区域内,利用if-not语句判断触摸处在哪个区域后便可进行相应处理。系统得到消息并处理完成相应的功能以后,要使用DeleteMessage函数删除得到的消息,以释放其相应的内存资源。3.3点菜处理触摸屏点菜信息的处理,触摸屏有动作时,点菜中断执行case SM_TOUCH_SCREEN:所包含的程序。先获取(x, y) 值,然后用IsInRect2()函数来判断哪个区间有触摸动作,根据不同区间处理程序不同。顾客点菜已经结束时,将顾客点菜信息(包括桌号、点菜名称、价格、总价)利用UART操作交给串口,准备发送。键盘点菜流程和触摸屏点菜流程基本一致,区别之处有两点:一是在欢迎界面中,键盘操作可以设置餐桌号码;二是键盘点菜中点菜矩形区域的判断通过switch-case语句完成,而触摸屏点菜通过if-not语句来完成。3.4 GSM模块的通信S3C44B0X内部集成了UART单元(提供两个串口,可以利用UART操作实现串口数据收发、波特率发生、中断发生和自动流控制等)。无线传输数据前可以利用UART操作将待发数据,放入到输出FIFO中(在不使用FIFO模式下,将被放到输出保持寄存器中)。 这些数据包括餐桌号码、顾客点菜的菜名、总价等,输出前要用Int2Unicode()此函数把整型数据转换为unicode字符串,再送至GSM模块进行通信。本系统GSM模块的通信要使用AT指令集来实现。AT指令集每个指令执行成功与否都有相应的返回。AT指令集对于短消息的控制主要有三种模式:BLOCK MODE ,基于AT命令的PDU MODE ,基于AT指令的 TEXT MODE。在本系统中选用基于AT命令的TEXT MODE。具体编程中控制系统可以发给GSM模块AT命令的字符串来控制其行为,先用Uart_Init(1,0,115200);语句设置开发平台的串口1波特率为115200bps,并且选择短消息格式为GSM_Cmd(AT+CMGF=1n)(文本模式)。在程序中输入AT+CSCA=“+8613800512500”回车(具体的号码由当地的运营商决定)来设置短消息中2心地址。在收发短消息时要用到如下指令:AT+CMTI:“SM”,X(X表示接收短消息的SIM卡存储号码),AT+CMGR=X回车(从X存储区读短消息),AT+CMGD=X回车(从X存储区删除短消息),AT+CMGF=1回车(采用文本格式发送),AT+CMGS=“+861xxxxxxxxx”回车(输入短消息),Crtl+Z(结束并发送)。4 结语本文提出了无线点菜终端的软硬件系统解决方案,设计实现了一个餐馆点菜系统的原型,即采用S3C44B0X微处理器、TG35I GSM短消息通信模块及其他输入输出模块作为硬件平台,利用COS-实现点菜逻辑的方案。文中的电子点菜系统只是一个轮廓,只对一些关键部分做说明,其他还没考虑到的问题还有许多,只能以后逐步升级完善。随着电子技术及软件的发展,基于ARM的嵌入式电子点菜系统将具有更大的实用价值和发展空间。参考文献1 刘岚, 尹勇, 李京蔚. 基于ARM的嵌入式系统开发 M. 北京:电子工业出版社,20082 王田苗,魏洪兴. 嵌入式系统设计与实例开发 M. 北京:清华大学出版社,20083 黄燕平. COS- RAM移植要点详解M. 北京:北京航空航天大学出版社,20054 陈艳华. 基于ARM的嵌入式系统开发与案例M. 北京:人民邮电出版社, 20075 刘天时,强新建. ARM7嵌入式开发基础实验 M. 北京:北京航空航天大学出版社,20076 郭荣佐. 嵌入式系统原理 M.北京:北京航空航天大学出版社,20087 贾智平,张瑞华.嵌入式系统原理与接口技术M. 北京:清华大学出版社,20058 胥静. 嵌入式系统设计与开发实例详解 M. 北京:北京航空航天大学出版社,2005 9 黄晓艳,李浙东,孟德山. GSM短消息在水位遥测数据通信中的应用. J. 水道港口, 2004,(3)10 朱 伟S3C44b0X控制LCD的设计与实现. J. 真空电子技术, 2006,(3)The Design of Embedded electronic ordering systemRen Liang-cai1 , Li Xin2, Yan Chen2(1. School of Information and Electrical Engineering, China University of Minning and Technology, Xuzhou 221000;2.School of Electrical Engineering & Automation, Changshu Institute of Technology, Changshu 215500,China)Abstract:This paper presents a

温馨提示

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

评论

0/150

提交评论