找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于EasyARM615的分布式排队系统设计

[复制链接]
admin 发表于 2013-3-20 14:25:33 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
1  系统方案分析

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

2  系统整体方案设计

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

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



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

3系统硬件电路设计

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

3.1  主机控制器

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

20121107053704927234485.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)开始查询,如有应答命令请求,根据命令作相应处理。

20121107053704974104486.jpg

(1)请求发送

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

(2)请求接收

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

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

结  语

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

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-22 18:31 , Processed in 0.066316 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表