陈茜茹, 钟清华, 张 涵
(华南师范大学 物理与电信工程学院, 广州 510630)
大型考试对各个考场的考试时间和考场指令的统一性有着严格的要求,目前对这两者的保障主要是依靠考务人员和监考员,难以做到指令播报的统一和规范。在提醒考生注意事项上,有些监考老师讲得多,有些讲得少,也有一定的随意性[1]。
为做到各项考务工作时间一致,内容规范,方便各考点的考务管理,实现最大程度上的公平公正,使用统一考试指令播报尤为重要。本文介绍一种基于以太网的考试指令播报系统,依靠校园以太网速度快、覆盖程度高的优势,由卫星接收的标准时间信号通过安装在服务器上的考务系统直接发送至每个考场终端,保证时间的统一性;并且在考试前中后各个重要时间节点统一向终端发送考试指令,使其显示并播报,确保各考点能够在统一时间开展各项考务工作,同时提高应对突发情况的能力。
根据指令播报系统需要实现的功能,将系统分为4部分:卫星时间接收装置、考务系统、校园网和各考场终端,如图1所示。
图1 系统组成结构
考务系统是安装在考务服务器上的软件,主要通过接收北斗卫星导航系统(BeiDou Navigation Satellite System,BDS)或者全球定位系统(Global Positioning System,GPS)的时间信号同步其自身的时间作为系统时间,同时使用网络时间协议(Network Time Protocol,NTP)与国家时间服务器进行同步,作为时间同步的冗余备份。同步以后的考场时间通过校园网广播到各考场终端,由其显示出来,由于校园网的网络延迟较小,从而可以保证各考场的时间误差在考试允许的范围之内,实现考试时间的同步。考务系统同时可以将考试指令广播到各个考场终端,由考场终端将其显示并使用文本语音合成(Text To Speech,TTS)技术将接收到的文字信息播放出来,实现考试指令的统一、准确。
由图1所示的系统结构可知,系统的硬件主要由卫星时间接收装置、安装考务系统的服务器、校园网络和考场终端4部分组成。其中,考务系统可安装在网络中心的服务器,并且学校的各种信息化软件、数据库都安装在此,便于统一管理。现有校园网已经在各个课室预留网络接口,覆盖面广、速度快而且节约成本。卫星时间接收装置和考场终端需自行开发,以下分别阐述。
卫星时间接收装置由全球导航卫星系统(Global Navigation Satellite System,GNSS)天线、卫星授时电路、USB连接线构成。卫星授时电路由GNSS模块ATGM331C-5T31和USB转串口芯片CH340G共同组成,如图2所示。
图2 卫星授时电路
ATGM331C-5T31是一种高性能GNSS全星座定位授时模块,能够同时支持中国的BDS和美国的GPS,包含32个跟踪通道[2]。北斗卫星导航系统是由我国自主研制的全球卫星导航系统,成为继美国“GPS”和俄罗斯“GLONASS”之后的第3个成熟的卫星导航系统,已经在各种领域发挥重要作用。双模卫星授时模块极大的提高了授时的精度,增大了系统的稳定性和可靠性[3],具有高灵敏度、低功耗、低成本等优势,适用于各类授时设备,时钟服务器,守时设备等。
授时数据由模块串口输出,因此需连接USB转串口芯片进行数据转换以传输到电脑。实际安装时将专业GNSS天线在非遮挡区域固定好,采用适当线缆连接授时电路板;授时电路板再采用UBS线与PC的USB口相连。
考场终端电路设计采用嵌入式芯片STM32F107为主控制器,通过以太网接口电路接收考务系统传输的各种控制指令,实现时间校准、文本显示、语音播报等功能,硬件电路总体结构如图3所示。
图3 硬件电路总体框图
SPI接口的存储器芯片SST25VF032用以实现字库的存储和调用。时钟芯片采用实时时钟RX8025T,通过I2C总线与STM32F107通信。该芯片内部配置高精度的32.768 kHz晶振,相较于一些需要外部配置晶振的实时时钟而言其精度更高,且具有时钟精度调整和定时报警功能,非常适合应用在时间精度要求较高的场合[4]。语音播报电路由XFS5051CE语音合成芯片和功放电路共同组成,利用TTS技术将收到的指令文本转换为语音信号。XFS5051CE是高集成度语音合成芯片,能够准确、流畅地将文本合成语音,支持中英文发音,并且拥有多种播音风格[5-6]。STM32F107芯片通过USART口和XFS5051实现数据传输。以下对以太网电路和LED点阵屏驱动电路做重点阐述。
2.2.1 STM32F107处理器及以太网电路
设计采用STM32F107为控制芯片。STM32F107处理器是32位的ARM 微控制器,采用Cortex-M3 内核,工作频率为72 MHz。内部集成128 kB的闪存,64 KB的SRAM。外设接口丰富,特别是其内部集成以太网10/100 MAC 模块(支持 MII 和 RMII),只要连接一个外部以太网物理层接口芯片 PHY 和RJ45接口就能够实现一个完整的以太网收发器[7-8],非常适合具有网络功能的设备终端使用。本设计中STM32F107通过RMII接口与网卡接口芯片DP83848完成数据交换,其电路如图4所示。
图4 以太网接口电路
2.2.2 LED点阵屏驱动电路
根据教室面积有限和考试指令内容一般都不会太长的特点,考场终端采用两块16×32的P10工业LED点阵屏单元板拼成一块作为显示部件,通过SPI接口与嵌入式处理器STM32F107通信[9],驱动电路如图5所示。P10工业LED点阵屏使用的是5 V电压,而STM32F107处理器的逻辑电压为3.3 V,如果直接将P10点阵屏连接到STM32F107上,将会因电平不匹配而驱动不良,故在两者中插入一个74HC245做电平转换,使STM32F107能稳定驱动P10点阵屏显示信息。
图5 LED点阵屏驱动电路
系统软件设计包含两个方面:上位机考务系统和下位机考场终端的功能实现。考务系统通过校园网与各个考场终端进行通信,控制各个考场终端实现指令播报、时间校准等功能。
考务系统是基于.NET平台开发的C#窗体应用程序,以校园网为网络平台,TCP/IP为网络协议,采用SQL Sever2008数据库存储管理员登陆信息和各个考场终端相关网络数据[10-11]。系统应用模块化设计思想,主要包含6个功能模块:登陆管理、查询在线考场终端、发送考试指令、考场终端各种参数配置、时间校准、考场终端下位机程序在线远程升级。
系统软件设计如图6所示。登陆软件后,系统首先接收卫星时间接收装置传送来的串行数据,按照NMEA0183协议格式提取世界标准时间(Coordinated Universal Time,UTC)信息,将此时间作为系统标准时间;导出数据库中存储的各个考场终端信息列表;全网广播搜索命令,凡在线的各个考场终端返回本终端的MAC地址。若第一次连接该终端则将其添加至终端列表中显示,保存MAC地址,并修改IP地址、子网掩码、名称等网络配置;若已经保存过此终端,则在终端列表中点亮该终端在线标志。接下来,系统可以根据用户需要完成相应功能。双击某个在线终端,进入该终端配置界面:进行网络配置;发送考试指令,如可设置指定时间内显示并播报考试须知,在对话框中输入
图6 考试系统软件设计框图
考试须知的文字内容,播报次数等;远程升级下位机程序;设置在指定时间内打开或关闭远程终端的LED显示屏。选中多个在线终端可同时配置考试指令等共同信息,使各个考场考试相关节点时间一致、播报内容一致,大大增强了考试的公平公正。系统采用NTP(网络时间协议)与考场终端对时:单击“对时”按钮,系统将重新从北斗/GPS授时电路传送的串行数据中提取UTC时间信息,再根据NTP对时协议,向全网在线远程终端进行时间校准。各个远程终端以校准后的系统标准时间来配置时钟芯片RX8025,最终所有考场终端的时间标准一致。
考场终端程序主要接收处理考务系统发送过来的各种指令,如图7所示。
图7 考试终端软件流程图
考场终端上电以后首先初始化系统,包括初始化STM32F107芯片的定时器、网络接口等内部资源,初始化存储器、时钟芯片、LED点阵屏等外部设备。初始化定时器1,使其定时周期为1ms,作为时间计算的周期信号;初始化以太网MAC、PHY和协议栈,实现以太网数据的收发;LED点阵屏初始化主要是设置扫描速度和数据传输DMA缓冲区,使用DMA传输数据可以有效降低扫描LED点阵造成的CPU开销;最后初始化RX8025T,读取其内部的时间作为本地时间。
在初始化系统完成以后,考场终端检测考务系统是否发送命令过来,如果没有命令则向上位机发送本机MAC地址,以告知本机在线;如果接收到命令,则分析相应命令的功能要求,执行该命令。与上位机软件相对应,考试终端对应有4个命令。
若接收到播报考试指令的命令,则将收到的信息送LED点阵屏的显示缓冲区,使其显示在LED屏上,程序设置了从左向右、从上至下、交叉进入等16种动态显示效果,可根据上位机的命令选择。再通过USART口将数据发送到语音芯片XFS5051CE上,同步播报LED屏上显示的考场命令;接收到配置终端命令,根据命令配置网络参数、本机名称、地址等;接收到对时命令,则根据NTP协议向上机位发送NPT报文,由上位机计算出系统时间,下位机再根据系统校准后的时间配置时钟芯片RX8025T;接收到升级终端程序命令,则接收程序数据,擦写至存储器芯片。当考试终端处理完各种命令时,待机过程中LED点阵屏将持续显示当前时间信息,以便学生考试过程中参考,因上位机与各个考试终端进行过时间校准,故各个考场终端显示的时间信息一致,实现考试的时间统一。
大型考试的各个考场考点采用统一的时间标准对于推进考试信息化建设,提高考务工作效率、实现最大程度上的公平公正具有十分重要的意义。本文设计的考试指令播报系统不仅能够同步各个考场的时间信息,还能以统一规范的方式显示和播报考场指令。
考试指令播报系统在我校经过一年的试运行,在全校期末考试、全国大学生四、六级英语等级考试等大型考试中均能正常使用,可有效保证各考场时间与考务办公室的时间同步,保证考务办公室的考场指令能够迅速、准确的发送到各个考场。系统成本低,可靠性高,具有较强的推广价值。