串口现场评分系统的研制
扫描二维码
随时随地手机看文章
1 引言
评委在现场手写评分是体育文艺加试和体育、文艺比赛常用的评分方式,评分后,由专人汇总,输入到计算机进行数据处理和存储,整个工作流程费时费力,尤其在数据安全性方面存在隐患,有修改评分、发生作弊的可能。本文介绍的串口现场评分系统由管理主机和评分终端分机组成,具有处理速度快、系统组成简单等优点。该系统利用RS-232串口实现PC管理主机与评分终端之间的通讯,支持有线和无线两种通讯方式,终端机采用嵌入式单片机8031作为处理器,利用键盘输入评分和显示,并将评分回送至PC存档,而PC机则主要负责数据库的管理和将接收到的评委评分利用既定算法处理得到最终结果用于比赛现场大屏幕显示,并自动存入数据库,数据库被设置为只可查询,不可修改和删除的只读方式。整个过程杜绝了人为接触数据的可能性,确保了数据的安全公正,减轻了工作人员的劳动强度,其效率和数据准确度明显提高。
2 硬件系统设计
串口现场评分系统硬件组成框图如图1所示。采用模块化设计,实现集中式显示操作管理,可根据不同的加试和比赛项目的评分要求灵活地调整终端点的数目和最终结果的处理算法。整个系统由PC管理机和评分终端两大部分组成,前者为通用PC机,管理软件采用VB语言编写,后者由8031单片机基本系统、实时时钟、 LCD显示、键盘、系统地址译码电路等组成,两者通过RS-232串口通讯。除了RS-232串口有线通讯外,在PC主机和评分终端机的RS-232串口上各加入一个无线通讯模块,则可实现主机与终端机之间的无线连接。
单片机基本系统。主控芯片选用8031,外部扩展64KByte的M27C512,实际最大可使用容量为48KB,用于存放系统软件、表格以及常量,足以满足大型复杂仪器系统应用程序存储的需要;RAM选用容量为8KByte的6264,用于系统程序运行时临时变量的存放和编程调试的需要,同时根据本仪器的特点,要求对于评委评分实现实时存储,用于后期的成绩校对,系统设计了32KB的EEPROM AT24C256,采用IIC协议用I/O口模拟实现IIC协议的读写操作。
实时时钟。选用Dallas公司串行实时时钟芯片DS1302,该芯片基于IIC总线协议,内部具有实时时钟、日历和用户可用RAM,时钟工作制式可由用户决定设置,具有对备份电池进行涓流充电的功能,图2为硬件电路图。
显示模块和按键。选用带背光点阵型液晶显示模块OCM12864,显示PC机发送的考试信息,包括考试项目、考生姓名、参赛号和系统时间,以及支持比赛中评委评分输入。显示模块8位标准数据总线、6条控制线以与CPU实现总线连接。LCD的控制逻辑由GAL16V8实现。键盘接口电路由HD7279A和 16个按键组成。按键用于人机对话,包括系统功能扩展、系统时间校准、评委评分输入等。HD7279A具有SPI串行接口,可同时驱动8位共阴数码管并连接多达64键的键盘矩阵,有去抖动电路。引脚6 (CS)为片选输入端,此引脚接低电平,设置为有效,可向芯片发送指令及读取键盘数据;引脚7 (CLK)为同步时钟输入端,与8031的P1.1连接;引脚8 (DATA)为串行数据输入/输出端,与8031的P1.2连接;
引脚9 (KEY)为按键有效输出端,平时为高电平,当检测到有效按键时,此引脚变为低电平,与8031的P1.3连接.引脚10~16(SG~SA)、17(DP)以及18~25(D0~D7)用于扩展键盘矩阵和LED数码管,具体硬件连接如图3所示。
地址译码电路。系统地址译码电路由可编程逻辑器件GAL16V8实现,具有简单的电路结构,能实现复杂的地址译码和很好的硬件保密性能。
3 系统软件设计
系统的设计要求是:PC机部分主要负责数据库管理,终端机管理和终端机信息的发送和接收。数据库管理,主要针对下列信息的添加,修改,查询和删除。① 用户信息(分为管理员用户和一般用户);②选手信息;③裁判信息;④项目信息;⑤选手成绩信息。终端机管理,包括终端机的在线情况查询、时间校准、成绩存储与清除。终端机信息发送和接受,包括项目,参赛选手号码,姓名等基本信息的发送和评委评分的接收。终端机部分负责现场评分。等待主机发送比赛资料,确认无误后,方可进行评分。整个系统软件分为PC和终端两部分,PC端以数据库技术作为支撑,采用Visual Basic 6.0 编写,实现了项目、评委、选手等考试信息的管理和查询,以及上位机与下位机的通信功能。而终端部分则采用C51语言编程,遵循自顶向下和逐步细化的模块化程序设计方法,主要负责考试信息的接收和显示,以及评委评分的输入和回送等。
3.1 PC管理软件
PC管理软件采用结构化语言编程VB,主要分为信息管理、用户管理、成绩管理、终端管理、比赛信息设置、比赛管理以及帮助7大功能。图4为主操作界面,编程的主要难点在于通讯控件MSComm和面向数据库访问控件Adodc。前者负责实现PC与终端通信,通过对控件属性的设置,可以提高编程效率,简化编程,后者是微软公司提出的最新数据访问技术,它被设计用来同新的数据访问层OLE DB Provider一起协同工作,以提供通用数据访问,在本设计应用中,包括对信息的查询、删除和修改,采用SQL(结构化查询语言)编程,通过SQL完成复杂的数据库操作,而无需考虑如何操作数据库的底层细节。
图4 PC管理主机端操作界面
3.2 终端应用软件
终端应用软件包括主程序模块、LCD显示模块、串口中断服务模块、按键处理模块、EEPROM读写模块等。主程序首先关闭全局中断,然后进行各部件的初始化,包括初始化LCD显示界面,复位HD7279A,初始化DS1302和串口,设置定时器时间常数和工作方式,最后打开串口中断. 初始化完毕后进入循环刷新时间显示和查询按键,一旦检测到有效按键,即进入键盘服务子程序。PC机与终端机是通过串口实现信息交换的,通信的准确性是系统中必须解决的最关键问题。通信双方的波特率直接关系到通信的可靠性与准确性,考虑到定时器时间常数的计算准确性,晶振频率选择11.0592MHz。
4无线通讯的实现
PC管理机和评分终端两者除了RS-232串口有线通讯外,在两者的RS-232串口上各加入一个无线通讯模块,则可实现主机与终端机之间的无线通讯。无线通讯模块主要由nRF2401单片射频收发芯片构成,工作于2.4~2.5GHz ISM频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。芯片能耗非常低,以-5dBm的功率发射时,工作电流只有10.5mA,接收时工作电流只有18mA,多种低功率工作模式,方便节能设计。nRF2401适用于无线数据传输系统等多种无线通信的场合。在本系统中取代原RS-232串口的有线通讯数据传输。nRF2401内置地址解码器、先入先出堆栈区、解调处理器、时钟处理器、GFSK滤波器、低噪声放大器、频率合成器,功率放大器等功能模块,需要很少的外围元件,因此使用起来非常方便。QFN24引脚封装,外形尺寸只有5×5mm。 nRF2401的功能模块如图5所示。
在本系统中无线通讯模块工作在ShockBurstTM收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速(1Mbps)发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:尽量节能;低的系统费用(低速微处理器也能进行高速射频发射);数据在空中停留时间短,抗干扰性高。nRF2401的ShockBurstTM技术同时也减小了整个系统的平均工作电流。
图5 nRF2401无线通讯模块
在ShockBurstTM收发模式下,nRF2401自动处理字头和CRC校验码。在接收数据时,自动把字头和CRC校验码移去。在发送数据时,自动加上字头和CRC校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。ShockBurstTM发射流程使用接口引脚为CE,CLK1,DATA: 当微控制器有数据要发送时,其把CE置高,使nRF2401工作;把接收机的地址和要发送的数据按时序送入nRF2401; 微控制器把CE置低,激发nRF2401进行ShockBurstTM发射; nRF2401的ShockBurstTM发射( 给射频前端供电; 射频数据打包即添加字头和CRC校验码; 高速发射数据包;发射完成,nRF2401进入空闲状态。) ShockBurstTM接收流程使用接口引脚CE、DR1、CLK1和DATA(接收通道1):配置本机地址和要接收的数据包大小;进入接收状态,把CE置高;200us后,nRF2401进入监视状态,等待数据包的到来;当接收到正确的数据包(正确的地址和CRC校验码),nRF2401自动把字头、地址和CRC校验位移去;nRF2401通过把DR1(这个引脚一般引起微控制器中断)置高通知微控制器;微控制器把数据从nRF2401移出;所有数据移完,nRF2401把DR1置低,此时,如果CE为高,则等待下一个数据包,如果CE为低,开始其它工作流程。
5 结束语
串口现场评分系统是一种基于多机通讯的分布式应用系统,既可以工作于有线通讯方式下,也可以工作于无线通讯方式下,经过反复调试和在线测试,使用效果良好,达到预期设计要求,现已产品化。该系统适用于文艺体育考试的加试、体育艺术比赛等场合的现场评分以及考试后的数据处理、打印、存档等工作,明显提高评分工作效率和数据准确度,减轻工作人员的劳动强度,确保数据的安全公正。本系统遵循通用化和模块化的设计思想,对于类似要求的系统,只要稍做修改便可运用。其构造的通用模块(如PC管理主机端数据库模块、单片机软件模块)由KeilC51写成甚至可以直接用于其它的分布式应用系统中。
参考文献
[1] 马忠梅.单片机C语言应用程序设计[M].北京:北京航空航天大学出版社,1997
[2] 胡荣根. VB 6.0数据库和Internet 编程. 北京:清华大学出版社,1999
[3] Bitcode Inc.. HD7279 Technical Data. 2001
[4] Dallas Semiconductor Crop.. DS1302 Technical Data. 2000
[5] Microsoft Crop.. Microsoft MSDN Library. 1995-1999