DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 152|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 18:46:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                      摘要 设计并制作出一款集EasyARM615控制、RS485通信、语音识别与处理等为一体的智能排队嵌入式系统。完全模拟了公共场合人群排队过程,通过取号、进队、排队等待、叫号服务等操作,系统在优先级排队系统输入队列调度算法的基础上,改进并设计了一种窗口优先级和平衡分配算法,将顾客按照“先来先办,平均分配”的原则分配到各个窗口,解决了各种业务的多窗口平均分配问题。
  1? 系统方案分析
  按照当前国内外技术水平来分类,排队管理系统可以分为有线系统和无线系统,它们所实现的功能是完全一样的。无线通信方式,最大的优点是安装方便快捷。除主机外,任何设备出现故障时,都可实时在线更换和维修。但该方式容易受到频率干扰和电磁波干扰。
  2? 系统整体方案设计
  各个窗口终端CPU通信的信息量不大,实现的功能较简单。主机采用32位EasyARM615\[1\]可以满足要求,充分利用主机自带的RS485总线资源。从机采用8位的单片机即可实现所需功能。虽然在稳定性上可能稍有影响,编程上略为复杂,但是大大地降低了生产成本,而且对系统稳定性方面的影响,可以通过软件设计来尽量克服。
  基于以上方案分析,主机采用32位EasyARM615开发套件,从机采用8位单片机作为控制芯片。搭建基于EasyARM615的分布式排队系统,具体框架如图1所示。






  图2? 基于EasyARM615的主控制器电路图
  3.2? 从机控制器
  系统的从机控制器采用Atmel公司低功耗、高性能的CMOS 8位AT89S52单片机。其内置8 KB Flash片内程序存储器,256 B的随机存取数据存储器(RAM),5个中断优先级、2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路等资源。
  3.3? 其他模块设计
  主显示屏采用带中文字库的液晶模块LCD12864,用于向在休息区等待的顾客提示被呼叫的号码和相应的窗口号。窗口显示屏采用字符型液晶显示模块LCD1602,用于显示窗口的受理顾客号,引导顾客到该窗口来办理业务。
  语音播报系统采用广州唯创科技有限公司的可编辑语音芯片WT588D系列语音单片机。
  嵌入式打印模块采用WHA6热敏嵌入式微型打印机,串行接口控制。
  4? 软件设计
  系统的设计理念是基于数据队列原理,遵循先来先办的原则。智能排队系统的“智能”体现在系统对“排队”的处理是根据运筹学中的排队论来设计的,管理中心查询各个服务台空闲情况,根据服务台总数目进行轮询算法,以确认下一个取得客户的服务台号。
  4.1? 通信方式
  系统采用RS485总线,工作于半双工方式。RS485为差分平衡数字通信接口,系统采用主从式通信方式,主机采用查询工作方式,从机采用中断工作方式。通信总是由主机开始,循环地给从机发送查询命令,从机返回相应的应答信息。除非主机呼叫从机,从机在其他情况下不能主动向通信总线上送出信息。
  4.2? 窗口优先级和平衡分配算法设计
  在多队列多窗口、业务优先级办理的情况下,需要将客户按照“先来先办,平均分配”的原则分配到各个窗口。为了解决各业务的多窗口平均分配,系统在优先级排队系统输入队列调度算法的基础上,改进并设计了一种窗口优先级和平衡分配算法\[2\]来解决该问题,基本步骤如下:
  ① 获得当前窗口可办理的业务列表。
  ② 判断最高优先级的一个或多个业务的队列中是否有排队号。
  ③ 若存在排队号,判断当前窗口是否是同类窗口中最早请求的;若不是,则跳转到⑤。
  ④ 若是,从最高业务级别的队列中取得排队时间最早的排队号。
  ⑤ 继续查找次优先级队列,直到取得排队号或查找所有队列完毕;若无排队号,返回。
  4.3? 程序设计
  主程序流程如图3所示。主机初始化后,从01号从机(即呼叫器,地址=02H)开始查询,如有应答命令请求,根据命令作相应处理。






  图3? 主程序流程图
  (1) 请求发送
  主机将最靠前的顾客号码发送到该机,并置发送标志F=1。
  (2) 请求接收
  当呼叫器重呼或暂停时,向主机发送数据。此时,主机接收该从机数据,接收完成后,立即查询从机并发送数据,置F=l。若从机不应答,表示该机无请求服务或没有该设备,则清F=0。
  主机通信完成后将显示更新的数据于LCD屏,根据发送标志决定是否将数据送到该从机对应的窗口显示屏、主显示屏及播放语音,然后地址+2并判断是否开始新的查询。
  结语
  本文设计了由主机EasyARM615、从机AT89S52单片机及其外围电路构成的智能排队管理系统。以高性能的32位EasyARM615开发套件为主机控制器,以价格低廉的单片机为从机搭建起来的智能排队系统,既能解决无序排队问题,又能提高服务质量,可以对多个窗口和随机出现的客户流进行自动排队管理,顺序呼叫顾客到对应的窗口办理业务。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-22 19:46 , 耗时 0.083761 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

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