陳茜茹, 鐘清華, 張 涵
(華南師范大學(xué) 物理與電信工程學(xué)院, 廣州 510630)
大型考試對各個考場的考試時間和考場指令的統(tǒng)一性有著嚴(yán)格的要求,目前對這兩者的保障主要是依靠考務(wù)人員和監(jiān)考員,難以做到指令播報的統(tǒng)一和規(guī)范。在提醒考生注意事項(xiàng)上,有些監(jiān)考老師講得多,有些講得少,也有一定的隨意性[1]。
為做到各項(xiàng)考務(wù)工作時間一致,內(nèi)容規(guī)范,方便各考點(diǎn)的考務(wù)管理,實(shí)現(xiàn)最大程度上的公平公正,使用統(tǒng)一考試指令播報尤為重要。本文介紹一種基于以太網(wǎng)的考試指令播報系統(tǒng),依靠校園以太網(wǎng)速度快、覆蓋程度高的優(yōu)勢,由衛(wèi)星接收的標(biāo)準(zhǔn)時間信號通過安裝在服務(wù)器上的考務(wù)系統(tǒng)直接發(fā)送至每個考場終端,保證時間的統(tǒng)一性;并且在考試前中后各個重要時間節(jié)點(diǎn)統(tǒng)一向終端發(fā)送考試指令,使其顯示并播報,確保各考點(diǎn)能夠在統(tǒng)一時間開展各項(xiàng)考務(wù)工作,同時提高應(yīng)對突發(fā)情況的能力。
根據(jù)指令播報系統(tǒng)需要實(shí)現(xiàn)的功能,將系統(tǒng)分為4部分:衛(wèi)星時間接收裝置、考務(wù)系統(tǒng)、校園網(wǎng)和各考場終端,如圖1所示。
圖1 系統(tǒng)組成結(jié)構(gòu)
考務(wù)系統(tǒng)是安裝在考務(wù)服務(wù)器上的軟件,主要通過接收北斗衛(wèi)星導(dǎo)航系統(tǒng)(BeiDou Navigation Satellite System,BDS)或者全球定位系統(tǒng)(Global Positioning System,GPS)的時間信號同步其自身的時間作為系統(tǒng)時間,同時使用網(wǎng)絡(luò)時間協(xié)議(Network Time Protocol,NTP)與國家時間服務(wù)器進(jìn)行同步,作為時間同步的冗余備份。同步以后的考場時間通過校園網(wǎng)廣播到各考場終端,由其顯示出來,由于校園網(wǎng)的網(wǎng)絡(luò)延遲較小,從而可以保證各考場的時間誤差在考試允許的范圍之內(nèi),實(shí)現(xiàn)考試時間的同步??紕?wù)系統(tǒng)同時可以將考試指令廣播到各個考場終端,由考場終端將其顯示并使用文本語音合成(Text To Speech,TTS)技術(shù)將接收到的文字信息播放出來,實(shí)現(xiàn)考試指令的統(tǒng)一、準(zhǔn)確。
由圖1所示的系統(tǒng)結(jié)構(gòu)可知,系統(tǒng)的硬件主要由衛(wèi)星時間接收裝置、安裝考務(wù)系統(tǒng)的服務(wù)器、校園網(wǎng)絡(luò)和考場終端4部分組成。其中,考務(wù)系統(tǒng)可安裝在網(wǎng)絡(luò)中心的服務(wù)器,并且學(xué)校的各種信息化軟件、數(shù)據(jù)庫都安裝在此,便于統(tǒng)一管理。現(xiàn)有校園網(wǎng)已經(jīng)在各個課室預(yù)留網(wǎng)絡(luò)接口,覆蓋面廣、速度快而且節(jié)約成本。衛(wèi)星時間接收裝置和考場終端需自行開發(fā),以下分別闡述。
衛(wèi)星時間接收裝置由全球?qū)Ш叫l(wèi)星系統(tǒng)(Global Navigation Satellite System,GNSS)天線、衛(wèi)星授時電路、USB連接線構(gòu)成。衛(wèi)星授時電路由GNSS模塊ATGM331C-5T31和USB轉(zhuǎn)串口芯片CH340G共同組成,如圖2所示。
圖2 衛(wèi)星授時電路
ATGM331C-5T31是一種高性能GNSS全星座定位授時模塊,能夠同時支持中國的BDS和美國的GPS,包含32個跟蹤通道[2]。北斗衛(wèi)星導(dǎo)航系統(tǒng)是由我國自主研制的全球衛(wèi)星導(dǎo)航系統(tǒng),成為繼美國“GPS”和俄羅斯“GLONASS”之后的第3個成熟的衛(wèi)星導(dǎo)航系統(tǒng),已經(jīng)在各種領(lǐng)域發(fā)揮重要作用。雙模衛(wèi)星授時模塊極大的提高了授時的精度,增大了系統(tǒng)的穩(wěn)定性和可靠性[3],具有高靈敏度、低功耗、低成本等優(yōu)勢,適用于各類授時設(shè)備,時鐘服務(wù)器,守時設(shè)備等。
授時數(shù)據(jù)由模塊串口輸出,因此需連接USB轉(zhuǎn)串口芯片進(jìn)行數(shù)據(jù)轉(zhuǎn)換以傳輸?shù)诫娔X。實(shí)際安裝時將專業(yè)GNSS天線在非遮擋區(qū)域固定好,采用適當(dāng)線纜連接授時電路板;授時電路板再采用UBS線與PC的USB口相連。
考場終端電路設(shè)計(jì)采用嵌入式芯片STM32F107為主控制器,通過以太網(wǎng)接口電路接收考務(wù)系統(tǒng)傳輸?shù)母鞣N控制指令,實(shí)現(xiàn)時間校準(zhǔn)、文本顯示、語音播報等功能,硬件電路總體結(jié)構(gòu)如圖3所示。
圖3 硬件電路總體框圖
SPI接口的存儲器芯片SST25VF032用以實(shí)現(xiàn)字庫的存儲和調(diào)用。時鐘芯片采用實(shí)時時鐘RX8025T,通過I2C總線與STM32F107通信。該芯片內(nèi)部配置高精度的32.768 kHz晶振,相較于一些需要外部配置晶振的實(shí)時時鐘而言其精度更高,且具有時鐘精度調(diào)整和定時報警功能,非常適合應(yīng)用在時間精度要求較高的場合[4]。語音播報電路由XFS5051CE語音合成芯片和功放電路共同組成,利用TTS技術(shù)將收到的指令文本轉(zhuǎn)換為語音信號。XFS5051CE是高集成度語音合成芯片,能夠準(zhǔn)確、流暢地將文本合成語音,支持中英文發(fā)音,并且擁有多種播音風(fēng)格[5-6]。STM32F107芯片通過USART口和XFS5051實(shí)現(xiàn)數(shù)據(jù)傳輸。以下對以太網(wǎng)電路和LED點(diǎn)陣屏驅(qū)動電路做重點(diǎn)闡述。
2.2.1 STM32F107處理器及以太網(wǎng)電路
設(shè)計(jì)采用STM32F107為控制芯片。STM32F107處理器是32位的ARM 微控制器,采用Cortex-M3 內(nèi)核,工作頻率為72 MHz。內(nèi)部集成128 kB的閃存,64 KB的SRAM。外設(shè)接口豐富,特別是其內(nèi)部集成以太網(wǎng)10/100 MAC 模塊(支持 MII 和 RMII),只要連接一個外部以太網(wǎng)物理層接口芯片 PHY 和RJ45接口就能夠?qū)崿F(xiàn)一個完整的以太網(wǎng)收發(fā)器[7-8],非常適合具有網(wǎng)絡(luò)功能的設(shè)備終端使用。本設(shè)計(jì)中STM32F107通過RMII接口與網(wǎng)卡接口芯片DP83848完成數(shù)據(jù)交換,其電路如圖4所示。
圖4 以太網(wǎng)接口電路
2.2.2 LED點(diǎn)陣屏驅(qū)動電路
根據(jù)教室面積有限和考試指令內(nèi)容一般都不會太長的特點(diǎn),考場終端采用兩塊16×32的P10工業(yè)LED點(diǎn)陣屏單元板拼成一塊作為顯示部件,通過SPI接口與嵌入式處理器STM32F107通信[9],驅(qū)動電路如圖5所示。P10工業(yè)LED點(diǎn)陣屏使用的是5 V電壓,而STM32F107處理器的邏輯電壓為3.3 V,如果直接將P10點(diǎn)陣屏連接到STM32F107上,將會因電平不匹配而驅(qū)動不良,故在兩者中插入一個74HC245做電平轉(zhuǎn)換,使STM32F107能穩(wěn)定驅(qū)動P10點(diǎn)陣屏顯示信息。
圖5 LED點(diǎn)陣屏驅(qū)動電路
系統(tǒng)軟件設(shè)計(jì)包含兩個方面:上位機(jī)考務(wù)系統(tǒng)和下位機(jī)考場終端的功能實(shí)現(xiàn)??紕?wù)系統(tǒng)通過校園網(wǎng)與各個考場終端進(jìn)行通信,控制各個考場終端實(shí)現(xiàn)指令播報、時間校準(zhǔn)等功能。
考務(wù)系統(tǒng)是基于.NET平臺開發(fā)的C#窗體應(yīng)用程序,以校園網(wǎng)為網(wǎng)絡(luò)平臺,TCP/IP為網(wǎng)絡(luò)協(xié)議,采用SQL Sever2008數(shù)據(jù)庫存儲管理員登陸信息和各個考場終端相關(guān)網(wǎng)絡(luò)數(shù)據(jù)[10-11]。系統(tǒng)應(yīng)用模塊化設(shè)計(jì)思想,主要包含6個功能模塊:登陸管理、查詢在線考場終端、發(fā)送考試指令、考場終端各種參數(shù)配置、時間校準(zhǔn)、考場終端下位機(jī)程序在線遠(yuǎn)程升級。
系統(tǒng)軟件設(shè)計(jì)如圖6所示。登陸軟件后,系統(tǒng)首先接收衛(wèi)星時間接收裝置傳送來的串行數(shù)據(jù),按照NMEA0183協(xié)議格式提取世界標(biāo)準(zhǔn)時間(Coordinated Universal Time,UTC)信息,將此時間作為系統(tǒng)標(biāo)準(zhǔn)時間;導(dǎo)出數(shù)據(jù)庫中存儲的各個考場終端信息列表;全網(wǎng)廣播搜索命令,凡在線的各個考場終端返回本終端的MAC地址。若第一次連接該終端則將其添加至終端列表中顯示,保存MAC地址,并修改IP地址、子網(wǎng)掩碼、名稱等網(wǎng)絡(luò)配置;若已經(jīng)保存過此終端,則在終端列表中點(diǎn)亮該終端在線標(biāo)志。接下來,系統(tǒng)可以根據(jù)用戶需要完成相應(yīng)功能。雙擊某個在線終端,進(jìn)入該終端配置界面:進(jìn)行網(wǎng)絡(luò)配置;發(fā)送考試指令,如可設(shè)置指定時間內(nèi)顯示并播報考試須知,在對話框中輸入
圖6 考試系統(tǒng)軟件設(shè)計(jì)框圖
考試須知的文字內(nèi)容,播報次數(shù)等;遠(yuǎn)程升級下位機(jī)程序;設(shè)置在指定時間內(nèi)打開或關(guān)閉遠(yuǎn)程終端的LED顯示屏。選中多個在線終端可同時配置考試指令等共同信息,使各個考場考試相關(guān)節(jié)點(diǎn)時間一致、播報內(nèi)容一致,大大增強(qiáng)了考試的公平公正。系統(tǒng)采用NTP(網(wǎng)絡(luò)時間協(xié)議)與考場終端對時:單擊“對時”按鈕,系統(tǒng)將重新從北斗/GPS授時電路傳送的串行數(shù)據(jù)中提取UTC時間信息,再根據(jù)NTP對時協(xié)議,向全網(wǎng)在線遠(yuǎn)程終端進(jìn)行時間校準(zhǔn)。各個遠(yuǎn)程終端以校準(zhǔn)后的系統(tǒng)標(biāo)準(zhǔn)時間來配置時鐘芯片RX8025,最終所有考場終端的時間標(biāo)準(zhǔn)一致。
考場終端程序主要接收處理考務(wù)系統(tǒng)發(fā)送過來的各種指令,如圖7所示。
圖7 考試終端軟件流程圖
考場終端上電以后首先初始化系統(tǒng),包括初始化STM32F107芯片的定時器、網(wǎng)絡(luò)接口等內(nèi)部資源,初始化存儲器、時鐘芯片、LED點(diǎn)陣屏等外部設(shè)備。初始化定時器1,使其定時周期為1ms,作為時間計(jì)算的周期信號;初始化以太網(wǎng)MAC、PHY和協(xié)議棧,實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)的收發(fā);LED點(diǎn)陣屏初始化主要是設(shè)置掃描速度和數(shù)據(jù)傳輸DMA緩沖區(qū),使用DMA傳輸數(shù)據(jù)可以有效降低掃描LED點(diǎn)陣造成的CPU開銷;最后初始化RX8025T,讀取其內(nèi)部的時間作為本地時間。
在初始化系統(tǒng)完成以后,考場終端檢測考務(wù)系統(tǒng)是否發(fā)送命令過來,如果沒有命令則向上位機(jī)發(fā)送本機(jī)MAC地址,以告知本機(jī)在線;如果接收到命令,則分析相應(yīng)命令的功能要求,執(zhí)行該命令。與上位機(jī)軟件相對應(yīng),考試終端對應(yīng)有4個命令。
若接收到播報考試指令的命令,則將收到的信息送LED點(diǎn)陣屏的顯示緩沖區(qū),使其顯示在LED屏上,程序設(shè)置了從左向右、從上至下、交叉進(jìn)入等16種動態(tài)顯示效果,可根據(jù)上位機(jī)的命令選擇。再通過USART口將數(shù)據(jù)發(fā)送到語音芯片XFS5051CE上,同步播報LED屏上顯示的考場命令;接收到配置終端命令,根據(jù)命令配置網(wǎng)絡(luò)參數(shù)、本機(jī)名稱、地址等;接收到對時命令,則根據(jù)NTP協(xié)議向上機(jī)位發(fā)送NPT報文,由上位機(jī)計(jì)算出系統(tǒng)時間,下位機(jī)再根據(jù)系統(tǒng)校準(zhǔn)后的時間配置時鐘芯片RX8025T;接收到升級終端程序命令,則接收程序數(shù)據(jù),擦寫至存儲器芯片。當(dāng)考試終端處理完各種命令時,待機(jī)過程中LED點(diǎn)陣屏將持續(xù)顯示當(dāng)前時間信息,以便學(xué)生考試過程中參考,因上位機(jī)與各個考試終端進(jìn)行過時間校準(zhǔn),故各個考場終端顯示的時間信息一致,實(shí)現(xiàn)考試的時間統(tǒng)一。
大型考試的各個考場考點(diǎn)采用統(tǒng)一的時間標(biāo)準(zhǔn)對于推進(jìn)考試信息化建設(shè),提高考務(wù)工作效率、實(shí)現(xiàn)最大程度上的公平公正具有十分重要的意義。本文設(shè)計(jì)的考試指令播報系統(tǒng)不僅能夠同步各個考場的時間信息,還能以統(tǒng)一規(guī)范的方式顯示和播報考場指令。
考試指令播報系統(tǒng)在我校經(jīng)過一年的試運(yùn)行,在全校期末考試、全國大學(xué)生四、六級英語等級考試等大型考試中均能正常使用,可有效保證各考場時間與考務(wù)辦公室的時間同步,保證考務(wù)辦公室的考場指令能夠迅速、準(zhǔn)確的發(fā)送到各個考場。系統(tǒng)成本低,可靠性高,具有較強(qiáng)的推廣價值。