关键字: RS485, 单片机, 控制系统, 排队机
Abstract: With the assistance of computer and networks, we can apply the RS-485 in the queue control, which can queue for the man and improve the living quality as well. In this paper, we introduce the design of the controllers in the queue system, including the hardware circuit and software, which are the important parts of the whole system.
Keywords: RS485; Single Chip Computer; Control System; Queue Machine
1 引言
许多单机控制系统已逐渐向多机联网的方向发展,如:数据采集、消防、门禁、消费等控制系统,这就需要将各单机控制系统进行组网以进行相互通信,从简单的集中式控制逐渐向复杂的分布式、多控制端形式发展,出现了以网络通信技术为基础的新的控制形式。串行通信作为一种简单、廉价的通信方式在控制工程中广泛应用,其中RS-485总线型多CPU网络控制系统得到了推广与发展。本文设计了一个基于RS-485的多CPU控制的完整排队机系统,包括主控制器(打排队票、分配排队号)、子控制器(每个窗口叫号、办理业务)、键盘操作、语音叫号、屏幕显示,广告上位机(统计排队号、播放广告)等部分。该系统是一个RS-485网络系统,网络上各个终端分别完成各自的功能。
2 主控制器设计
基于成本控制和功能不需要很复杂的考虑,主控制器可以采用单片机来实现。主控制器即为RS-485网络中的主机,起着网络服务器的作用,把RS-485网络上的多个CPU控制节点通过总线连接起来,构成一个完整的通信网络系统。
在设计中,主控制器的核心单元CPU采用Winbond公司的一个带双串口与MCS-51单片机相兼容的全新核心的微处理器W77E58,处理能力强,具有两个全双工串口免去扩展和兼容的麻烦,而且片内程序存储器大,就该系统的程序来说己经足够,不用扩展片外程序存储器,节省了I/O口;排队信息数据存储方面,由于要在掉电的情况下保持大量的数据,所以选用了一块32K容量、带电池数据存储器扩展:万年历时钟芯片选择了功能强大,方便易用的DS12C887,十分方便控制,断电情况下也能准确运行。主控制器各功能模块设计图如图1所示:
由图可以看出,主控制器中除了CPU中央单元外,还有存储模块、打印机控制模块、系统时钟模块、语音模块以及两套串口。在以下的内容中,将分别介绍各个功能模块的设计。而且,后面还会提到,语音模块将会从主控制板中脱离出来,作为一个单独的控制板而连接到RS-485网络中。
图1 主控制板模块设计图
3 子控制器设计
子控制器在系统的应用中实际是一个与客户交互的终端。简便常用的人机界面一般都用键盘和显示屏来实现,本系统采用的方案是按照银行常用键盘设计16键键盘和LCD段式液晶模块组成人机界面,加入通信模块,与主控制器通过RS-485网络交互,将用户的输入信息传递给主机,经过主机的处理后,再将结果反馈到子控制器的LCD显示屏上,给用户充分的提示。
在设计中,CPU采用AT89S5l;LCD液晶模块采用北京青云科技公司的LCM061A段式液晶模块;键盘采用典型的4X4矩阵键盘,尽管有简单易用的键盘显示芯片8279可以起到键盘扫描和LED段码显示的功能,但是由于键盘尺寸的限制,必须尽量少用芯片以节省空间,所以这里用AT89S51的P2口作为键盘接口电路,用程序来扫描键盘输入。由图2可以看出,键盘子控制器中除CPU外,还包含了键盘输入模块、LCD显示模块、485网络通信模块等。
图2 子CPU控制器模块示意
4 键盘显示模块
本系统键盘显示模块采用的是典型的4X4矩阵键盘和段式LCD液晶显示模块。LCD液晶显示模块LCM061A是一种6位多功能通用型8段式(8.8.8.8.8.8.)液晶显示模块,将液晶显示屏和核心电路集成一体,使用串行式的控制,它只有n根引脚,与单片机连接十分方便。
图3 键盘显示接口电路
LCM061ALCD显示模块采用串行控制方式,全部的功能都通过编程对C/S、R/D、/WR、DATA几个引脚的控制来完成,而其中所有的控制指令和数据都通过DATA数据传输端读写。按照功能来分,这些指令可以分为三类: 读显示RAM指令、写控制命令指令和写显示数据指令。LCM061A采用串行式的控制方法,所以需连接的电路十分简洁。在键盘显示电路中,电路原理图如图3所示:
5 系统时钟模块
系统时钟是整个排队序列的重要指针,不仅要把排队时间信息显示在每张排队号上,而且要记录不同事件发生的时间,以实现各种与时间有关的功能,比如上位机队排队信息的统计等。本系统采用的是时钟芯片DS12C887。
6 语音播报模块
语音播报是用语音的形式通过广播或者音箱给人以提示信息。排队系统本身就是为了方便用户,创建轻松生活方式的目的而产生的,语音播报提示给人直观、亲切的感受特点,而且不需要用户一直盯着提示屏或者排队情况,十分容易让用户的注意力从复杂的周围环境中转移过来。自动语音播报更是把工作人员从这种体力劳动中解放出来,成为排队系统中十分重要的一个组成部分。
ISD2560是一种永久记忆型的语音录放集成芯片,具有抗断电、音质好,使用方便等优点。它的最大特点在于片内E2PROM容量为480K,所以录放时间长,最长可达60秒,而且录音的采样值直接存放在E2PROM中,省去了A/D和D/A转换器。有10个地址输入端,寻址能力可达1024位,最多能分600段。设有OVF(溢出)端,便于多个器件级联。其集成度较高,内部还有前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器等。
图4为语音播报模块电路。AT89S51的P2口连接ISD2560的A0-A7,P1.1脚接A8作为地址线,A9接地,始终使用地址模式,可以寻址000h ~1EFh。P1.2接CE\, P1.3接P/R\,可以用这两个引脚来控制ISD2560播报/录音的开始与停止。P1.4连接EOM\端,用来检测每一段语音的结束。XCLD接地,表示不使用外部时钟。
图4 语音模块接口电路
7 系统控制软件设计
一次完整的排队系统运作过程如下: 主机等待着顾客按下取票按钮,键盘扫描到按下的键值后,根据取票类型生成排队号,并且读出当前系统时间、排队情况、业务类型等信息,打印成排队票。这时,如果某窗口的操作员服务完一位顾客,按下窗口键盘上的“下一位”,这个信息就会传输给主机,主机根据当前排队情况和业务情况,将排队序列上能服务的最近客户排队号回应给窗口,窗口键盘收到回应后,立刻更新键盘上的显示为要服务的排队号。同时,主机还把这个排队号发送给部分其他子机:窗口LED显示屏,让它也显示最新的排队号;语音播报子机,让其播报该排队号,以提醒顾客前来服务;上位PC视频排队软件,让其用多媒体的方式显示并播报当前排队号。
除此之外,系统借助这些功能模块还可以完成其他多种功能,如设置了一个具有管理员权限的键盘,可以实现系统设置的功能,可以配置整个系统的密码,系统时间,业务类型等一系列参数;同时,可以处理某些特殊情况,例如某些紧急客户排队需要优先处理、顾客没有听到叫号的信息或者操作员暂时离开窗口,所以操作键盘需要能提供“优先”、“重呼”、“暂停”等信息处理功能。这些功能基本上都是通过各功能模块的调用和对排队队列的操作来实现的。排队队列存储在主控制器上,它的操作通过主控制器来完成。
系统应用后产生近10万元的经济效益,数据主要来源于实验,开发采用理论和实验验证结合等研究方法。
本文作者创新点
本文分别介绍了主、子控制器的设计,并且就各个功能模块的开发进行了详细的介绍。系统时钟、语音播报、键盘显示、LED显示等功能模块都是系统中不可缺少的,而且他们之间的协调控制使得本地CPU网络控制系统能够顺利、高效的运行。全文介绍了排队机系统的各个组成部分。
参考文献:
[1] 范辉. RS-485总线与CAN总线应用比较[J].上海电机学院学报,2005.8(5):54-56
[2] 王天义, 杨建中. 一种新型RS-485接口芯片在远程多机通讯中的应用[J].仪器仪表标准化与计量,2004(5):35-40
[3] 韦安, 刘国平. 工业实时TCP/IP协议栈的研究与开发[J].控制工程,2005.12(4): 389-392
[4] 石彦辉, 高蒙, 李拓新. RS485总线在智能供电系统中的应用[J]. 微计算机信息, 2007, 5-2: 79-80