基于AT89C系列单片机的大型电子投票表决系统的设计
2013-02-23孟庆波常玉华
孟庆波,常玉华
(郑州铁路职业技术学院,河南 郑州 450052)
0 引言
目前,各种类型的电子表决器在我国的政府部门、各级人大和企事业单位都有应用。调查和分析显示,市场上现有的电子表决器主要存在下述问题:表决方式落后,原理存在缺陷,工作效率较低;系统连线较多,结构复杂,安装、调试和维护难度大,故障率高;表决器不能定位,不具有数据处理和判断能力;设计方案用现有技术难以实现或性价比不高等[1]。针对传统投票方式的缺点和目前投票系统的不足,本文研究并开发了一套全新的电子表决系统——基于AT89C系列单片机的大型电子投票表决系统。
1 系统功能及设计原则
基于AT89C系列单片机的大型电子投票表决系统由硬件系统和软件系统两大部分构成。该系统要求可以实现直接电子投票、实时采集数据、快速统计汇总、准确显示投票结果和实时存储打印等功能,能够支持大型会议(如300~500人)的电子表决功能,数据准确,性能稳定,操作简便,易于维护。同时,该系统还要承担会议表决重要数据的采集、统计与发布,因而该系统研发要体现可靠性高、操作维护方便、模块化设计、性价比高和设计周期短等特点。
2 系统设计
2.1 硬件设计
图1显示了硬件系统的设计方案。
图1 硬件系统设计方案
硬件系统主要包括主控制器、通信和电源总线、分支控制器、表决器、计算机、分频器和多媒体显示设备等。整个系统采用RS-485网络通信方式,整体布网采用串联方式连接。主控制器通过串行接口与计算机连接实现通信,将表决结果数据传输给计算机,由统计管理软件进行实时统计、显示、打印。同时,由分频器将计算机连接多媒体显示设备,同步显示表决信息。一台主控制器管理24个分支控制器,每个分支控制器管理10~26个表决器,构成可控制24×26=624个点的表决系统(可扩展)。
计算机依靠统计管理软件,通过RS-485(也可采用RS-232,需转换)标准串行接口与主控制器实现数据通信。基于Windows操作系统的统计管理软件还可以实现会议表决结果打印和会议宣传附属要求,通过多媒体设备进行发布。
主控制器、分支控制器和表决器部分用单片机及RS-485总线技术来实现。主控制器采用AT89C52单片机及外围电路;分支控制器采用AT89C51单片机及外围电路;表决器功能较为简单,采用AT89C2051构成的最小单片机系统。主控制器与分支控制器、分支控制器与表决器构成一个符合RS-485通信规范,以串行方式连接的多单片机网络。主控制器到分支控制器、分支控制器到表决器之间实现主从通信方式。
计算机、主控制器、分支控制器和表决器采用多级分层结构,如图2。主控制器、若干个分支控制器和若干个表决器作为节点,构成了一个一个符合RS-485通信规范的主从分布、三级驱动、串行连接的多机网络。
图2 系统多级分层结构
2.2 软件设计
软件系统设计主要包括基于Windows操作系统的计算机(上位机)统计管理软件设计和采用单片机技术的主控制器、分支控制器和表决器(下位机)的通信程序编写。
计算机统计管理软件采用VisualBasic6.0语言开发,使用MSComm控件与主控制器实现通信,其数据库管理功能强大,贯穿了模块化设计思路,用户界面友好。下位机通信软件使用KeilC进行开发,开发周期短、成本低,生成目标代码效率高,可移植性好,且易于维护、可靠性高。它们采用异步串行通信、主从呼叫响应的通信方式,完成下位机通信、上位机通信和上下位机间的通信等功能。
图3显示了软件系统的功能设计方案。系统采用异步串行通信、主从呼叫响应的通信方式,即主控制器、分支控制器和表决器基于RS-485通信协议,采用查询和地址数据回送的方式实现相互通信和统计功能,最后由主控制器对数据进行收集、统计和处理,并回送计算机。
图3 软件系统功能设计方案
3 系统实现
3.1 主控制器
主控制器是整个电子投票表决系统的控制部分,负责控制命令下发、表决数据收集传送等功能。其核心部件微处理器具有检测分支控制器与表决器在线功能,执行表决开始、停止命令,统计表决结果,察看表决结果,传输表决数据等功能。还可以通过接驳计算机,实现信息显示、统计打印等功能。
主控制器的核心电路主要由AT89C52单片机、地址锁存器芯片74LS373、高集成度CMOS静态随机存取存储器(SRAM)62256、双4选1的2路电子信号模拟多路器 4052、RS-485通信接口收发器MAX491 等元件构成[2,3]。
3.2 分支控制器
分支控制器是用于连接主控制器和表决器的中间设备,是主控制器和表决器之间数据信息传递的纽带。分支控制器主要负责将主控制器的命令传给每个表决器,以及收集每个表决器的结果并传给主控制器。它还可以扩展RS-485总线,使系统容量增大。每个分支控制器可管理10~26个表决器。分支器在工作时有两个指示灯。工作正常时,工作指示灯闪动;当有信息传送时,通信指示灯亮。分支控制器在整个过程中都是自动工作的,无须操作。
分支控制器的核心电路主要由AT89C51单片机、双4选1的2路电子信号模拟多路器4052、RS-485通信接口收发器MAX491等元件构成。
3.3 表决器
表决器是表决信息采集的终端,为与会代表表决时直接使用的选项控制设备。
表决器的核心电路主要由AT89C51单片机、RS-485通信接口收发器MAX491等元件构成。89C2051是一种小型单片机,不提供外部扩展存储器与I/O设备所需的地址、数据、控制信号,不能扩展存储器或I/O设备。因此,AT89C2051本身即构成了最小单片机系统。
3.4 通信接口标准及总线
系统组网采用串联布线方式,网络结构简单,数据传输可靠。系统的总线包括了电源及通信总线。按其连接位置及功能参数,又可以细分为干线和支线。主控制器和分支器的电源采用AC220电源,各分支器电源统一由主控制器供给;表决器采用DC12V电源,由分支器提供。干线及支线通信均采用RS-485通信模式。在前期郑州铁路局的电子表决器工程应用中,曾经采用RS-232通信模式,需用RS-232/485转换器进行转换。
RS-485是平衡传送、差分接收的电气标准,具有很强的共模干扰抑制能力,比起RS-232非平衡的传送方式在电气指标上有了大幅度的提高。同时,RS-485是一个多引出线接口,这个接口可以有多个驱动器和接收器,可以实现一台计算机和多台单片机之间的串行通信;而且RS-485的接受器具有较高的灵敏度,最长的传输距离为1200m,适合中距离的传输[4,5]。
在集散控制系统中,普遍采用RS-485总线作为底层通信接口。考虑到RS-232串行通信接口的固有缺点以及分支控制器数量多、分布范围大、可能距离主机较远等实际情况,本论文采用RS-485串行总线构成通信干线及支线的接口。主控制器、分支控制器和表决器以RS-485半双工通信协议为基础,采用 AT89C52、AT89C51和 AT89C2051系列单片机系统构成一个总线型的网络结构。传送数据采用主从通信、一主多从、串行通信的RS-485总线型连接方式来达到信息交换和多机通信的目的。采用RS-485协议进行连接的主从式多机通信网络系统可大大简化系统结构,降低系统成本。
4 结束语
本文所研究的大型电子投票表决系统采用美国ATMEL公司生产的 AT89C52、AT89C51、AT89C2051系列单片机芯片组成三级驱动的多单片机系统,功能强大,性能优越,性价比较高;采用RS-485总线方式来构建系统的网络结构,两线平衡传送,数据差分接收,具有很强的共模干扰抑制能力,电气标准较高;实现了大规模、中距离、高传输速率、低成本的多机串行通信。系统各部分之间传送数据采用主从通信、一主多从、主从呼叫响应的串行通信方式,来达到信息交换和多机通信的目的;传输数据速度快,可靠性高。从测试的结果来看,基于AT89C系列单片机的大型电子表决系统基本满足了设计要求。该系统实现了表决结果及时、准确显示,提高了会议表决的透明度,保证了表决的公开性,大大提高了会议的工作效率。
需要指出的是:本系统在硬件选型、软件设计、网络结构、通信方式等方面与已有系统已经有了许多本质性的区别;系统在研发过程中所贯穿的系统化、通用化和模块化设计思想对于相关应用具有一定借鉴价值。另外,系统在设计时,充分考虑了制作、运行成本和社会的经济承受能力。因此,本文所做工作在技术应用、经济效益和社会效益上都具有非常现实的意义。
[1]陈曾平,王伟.多媒体会议信息管理和表决系统[J].电子技术应用,1999,7(2):16 -18.
[2]王建玲,杨成利.应用CD4052扩展单片机串行口[J].河南机电高等专科学校学报,2005,13(3):17-18.
[3]赵旭昉.MAX491芯片在串行通信中的应用[J].电子技术,1997,12(5):19 -20.
[4]谢瑞和.串行技术大全[M].北京:清华大学出版社,2003.
[5]李朝青.PC机及单片机数据通信技术[M].北京:北京航空航天大学出版社,2000.