基于EasyARM615的分布式排队系统设计

发布时间:2010-3-24 11:04    发布者:李宽
关键词: 分布式 , 排队 , 系统设计
1  系统方案分析

按照当前国内外技术水平来分类,排队管理系统可以分为有线系统和无线系统,它们所实现的功能是完全一样的。无线通信方式,最大的优点是安装方便快捷。除主机外,任何设备出现故障时,都可实时在线更换和维修。但该方式容易受到频率干扰和电磁波干扰。

2  系统整体方案设计

各个窗口终端CPU通信的信息量不大,实现的功能较简单。主机采用32位EasyARM615[l]可以满足要求,充分利用主机自带的RS485总线资源。从机采用8位的单片机即可实现所需功能。虽然在稳定性上可能稍有影响,编程上略为复杂,但是大大地降低了生产成本,而且对系统稳定性方面的影响,可以通过软件设计来尽量克服。

基于以上方案分析,主机采用32位EasyARM615开发套件,从机采用8位单片机作为控制芯片。搭建基于EasyARM615的分布式排队系统,具体框架如图1所示。

1.jpg

排队系统的基本服务流程是:当顾客进入服务大厅,选择自己需要的服务类别,从“号票打印机”抽取打印号票,上面打印出该顾客的排队代号。主机根据服务类别及紧急程度处理数据,形成队列。当工作人员服务完毕后只需按一下从机键盘上的呼叫按钮,主机将先来的顾客代号通过窗口显示屏和语音信息,呼叫顾客前来办理。

3 系统硬件电路设计

基于单元化思想设计,系统硬件由主机控制器、从机控制器、人机交互界面、键盘输入系统、嵌入式打印机、语音播放系统、自制电源模块组成。

3.1  主机控制器

EasyARM615 主机是系统控制和管理的核心,完成号票的打印和号码的存储、管理、显示、发送及语音播放等功能。顾客来到后,在主机上按“取号”键,系统将排队人数和排队号码加1,同时打印顾客的号码并存储。当窗口工作人员按“下一位”键取号时,主机将排在最前的号码发往呼叫器、相应的窗口显示屏和主显示屏,并通过语音模块播放语音,同时将系统的排队人数减l;当窗口工作人员按“重呼”键或“暂停”键时,从机向主机送出该窗口数据,主机收到后立即将该数据发往呼叫器、相应的窗口显示屏和主显示屏,并通过语音模块播放语音。主机控制器电路如图2所示。

2.jpg

3.2  从机控制器

系统的从机控制器采用Atmel公司低功耗、高性能的CMOS 8位AT89S52单片机。其内置8 KB Flash片内程序存储器,256 B的随机存取数据存储器(RAM),5个中断优先级、2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路等资源。

3.3  其他模块设计

主显示屏采用带中文字库的液晶模块LCDl2864,用于向在休息区等待的顾客提示被呼叫的号码和相应的窗口号。窗口显示屏采用字符型液晶显示模块LCDl602,用于显示窗口的受理顾客号,引导顾客到该窗口来办理业务。

语音播报系统采用广州唯创科技有限公司的可编辑语音芯片WT588D系列语音单片机。

嵌入式打印模块采用WH-A6热敏嵌入式微型打印机,串行接口控制。

4  软件设计

系统的设计理念是基于数据队列原理,遵循先来先办的原则。智能排队系统的“智能”体现在系统对 “排队”的处理是根据运筹学中的排队论来设计的,管理中心查询各个服务台空闲情况,根据服务台总数目进行轮询算法,以确认下一个取得客户的服务台号。

4.1  通信方式

系统采用RS485总线,工作于半双工方式。RS485为差分平衡数字通信接口,系统采用主从式通信方式,主机采用查询工作方式,从机采用中断工作方式。通信总是由主机开始,循环地给从机发送查询命令,从机返回相应的应答信息。除非主机呼叫从机,从机在其他情况下不能主动向通信总线上送出信息。

4.2  窗口优先级和平衡分配算法设计

在多队列多窗口、业务优先级办理的情况下,需要将客户按照“先来先办,平均分配”的原则分配到各个窗口。为了解决各业务的多窗口平均分配,系统在优先级排队系统输入队列调度算法的基础上,改进并设计了一种窗口优先级和平衡分配算法[2]来解决该问题,基本步骤如下:

①获得当前窗口可办理的业务列表。

②判断最高优先级的一个或多个业务的队列中是否有排队号。

③若存在排队号,判断当前窗口是否是同类窗口中最早请求的;若不是,则跳转到⑤。

④若是,从最高业务级别的队列中取得排队时间最早的排队号。

⑤继续查找次优先级队列,直到取得排队号或查找所有队列完毕;若无排队号,返回。

4.3  程序设计

主程序流程如图3所示。主机初始化后,从01号从机(即呼叫器,地址=02H)开始查询,如有应答命令请求,根据命令作相应处理。

3.jpg

(1)请求发送

主机将最靠前的顾客号码发送到该机,并置发送标志 F=1。

(2)请求接收

当呼叫器重呼或暂停时,向主机发送数据。此时,主机接收该从机数据,接收完成后,立即查询从机并发送数据,置F=l。若从机不应答,表示该机无请求服务或没有该设备,则清F=0。

主机通信完成后将显示更新的数据于LCD屏,根据发送标志决定是否将数据送到该从机对应的窗口显示屏、主显示屏及播放语音,然后地址+2并判断是否开始新的查询。

结语

本文设计了由主机EasyARM615、从机AT89S52单片机及其外围电路构成的智能排队管理系统。以高性能的32位EasyARM615开发套件为主机控制器,以价格低廉的单片机为从机搭建起来的智能排队系统,既能解决无序排队问题,又能提高服务质量,可以对多个窗口和随机出现的客户流进行自动排队管理,顺序呼叫顾客到对应的窗口办理业务。

参考文献

   1. 周立功 EasyARM615 实验教程 2008
   2. 唐应辉.唐小我 排队论基础与分析技术 2002
   3. 黄智伟 全国大学生电子设计竞赛训练教程 2005
   4. 杨振江 流行单片机实用程序及应用实例 2002

作者:王建 罗颖斌 李一博 (华南农业大学) 陈伟杰 (深圳中航集团天马微电子研发中心)
来源:单片机与嵌入式系统应用
本文地址:https://www.eechina.com/thread-9807-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表