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