我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 618|回复: 0

基于EasyARM615的分布式排队系统设计 - 通信/网络 - 电子工程

[复制链接]

该用户从未签到

1万

主题

1292

回帖

936

积分

管理员

积分
936

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-3-30 00:32:29 | 显示全部楼层 |阅读模式
<strong>1系统方案分析</strong>

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

<strong>2系统整体方案设计</strong>

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

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


<ignore_js_op>





2010-3-24 11:04:14 上传
<strong>下载附件</strong> (10.57 KB)




</ignore_js_op>


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

<strong>3 系统硬件电路设计</strong>

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

3.1主机控制器

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


<ignore_js_op>





2010-3-24 11:04:14 上传
<strong>下载附件</strong> (31.72 KB)




</ignore_js_op>


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热敏嵌入式微型打印机,串行接口控制。

<strong>4软件设计</strong>

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

4.1通信方式

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

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

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

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

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

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

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

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

4.3程序设计

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


<ignore_js_op>





2010-3-24 11:04:02 上传
<strong>下载附件</strong> (21.77 KB)




</ignore_js_op>


(1)请求发送

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

(2)请求接收

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

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

<strong>结语</strong>

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

<strong>参考文献</strong>

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

作者:王建 罗颖斌 李一博 (华南农业大学) 陈伟杰 (深圳中航集团天马微电子研发中心)
来源:单片机与嵌入式系统应用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

论坛开启做任务可以
额外奖励金币快速赚
积分升级了


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

平平安安
TOP
快速回复 返回顶部 返回列表