1 引言
評委在現(xiàn)場手寫評分是體育文藝加試和體育、文藝比賽常用的評分方式,評分后,由專人匯總,輸入到計算機進行數(shù)據(jù)處理和存儲,整個工作流程費時費力,尤其在數(shù)據(jù)安全性方面存在隱患,有修改評分、發(fā)生作弊的可能。本文介紹的串口現(xiàn)場評分系統(tǒng)由管理主機和評分終端分機組成,具有處理速度快、系統(tǒng)組成簡單等優(yōu)點。該系統(tǒng)利用RS-232串口實現(xiàn)PC管理主機與評分終端之間的通訊,支持有線和無線兩種通訊方式,終端機采用嵌入式單片機8031作為處理器,利用鍵盤輸入評分和顯示,并將評分回送至PC存檔,而PC機則主要負責數(shù)據(jù)庫的管理和將接收到的評委評分利用既定算法處理得到最終結果用于比賽現(xiàn)場大屏幕顯示,并自動存入數(shù)據(jù)庫,數(shù)據(jù)庫被設置為只可查詢,不可修改和刪除的只讀方式。整個過程杜絕了人為接觸數(shù)據(jù)的可能性,確保了數(shù)據(jù)的安全公正,減輕了工作人員的勞動強度,其效率和數(shù)據(jù)準確度明顯提高。
2 硬件系統(tǒng)設計
串口現(xiàn)場評分系統(tǒng)硬件組成框圖如圖1所示。采用模塊化設計,實現(xiàn)集中式顯示操作管理,可根據(jù)不同的加試和比賽項目的評分要求靈活地調(diào)整終端點的數(shù)目和最終結果的處理算法。整個系統(tǒng)由PC管理機和評分終端兩大部分組成,前者為通用PC機,管理軟件采用VB語言編寫,后者由8031單片機基本系統(tǒng)、實時時鐘、 LCD顯示、鍵盤、系統(tǒng)地址譯碼電路等組成,兩者通過RS-232串口通訊。除了RS-232串口有線通訊外,在PC主機和評分終端機的RS-232串口上各加入一個無線通訊模塊,則可實現(xiàn)主機與終端機之間的無線連接。
單片機基本系統(tǒng)。主控芯片選用8031,外部擴展64KByte的M27C512,實際最大可使用容量為48KB,用于存放系統(tǒng)軟件、表格以及常量,足以滿足大型復雜儀器系統(tǒng)應用程序存儲的需要;RAM選用容量為8KByte的6264,用于系統(tǒng)程序運行時臨時變量的存放和編程調(diào)試的需要,同時根據(jù)本儀器的特點,要求對于評委評分實現(xiàn)實時存儲,用于后期的成績校對,系統(tǒng)設計了32KB的EEPROM AT24C256,采用IIC協(xié)議用I/O口模擬實現(xiàn)IIC協(xié)議的讀寫操作。
實時時鐘。選用Dallas公司串行實時時鐘芯片DS1302,該芯片基于IIC總線協(xié)議,內(nèi)部具有實時時鐘、日歷和用戶可用RAM,時鐘工作制式可由用戶決定設置,具有對備份電池進行涓流充電的功能,圖2為硬件電路圖。
顯示模塊和按鍵。選用帶背光點陣型液晶顯示模塊OCM12864,顯示PC機發(fā)送的考試信息,包括考試項目、考生姓名、參賽號和系統(tǒng)時間,以及支持比賽中評委評分輸入。顯示模塊8位標準數(shù)據(jù)總線、6條控制線以與CPU實現(xiàn)總線連接。LCD的控制邏輯由GAL16V8實現(xiàn)。鍵盤接口電路由HD7279A和 16個按鍵組成。按鍵用于人機對話,包括系統(tǒng)功能擴展、系統(tǒng)時間校準、評委評分輸入等。HD7279A具有SPI串行接口,可同時驅(qū)動8位共陰數(shù)碼管并連接多達64鍵的鍵盤矩陣,有去抖動電路。引腳6 (CS)為片選輸入端,此引腳接低電平,設置為有效,可向芯片發(fā)送指令及讀取鍵盤數(shù)據(jù);引腳7 (CLK)為同步時鐘輸入端,與8031的P1.1連接;引腳8 (DATA)為串行數(shù)據(jù)輸入/輸出端,與8031的P1.2連接;
引腳9 (KEY)為按鍵有效輸出端,平時為高電平,當檢測到有效按鍵時,此引腳變?yōu)榈碗娖?與8031的P1.3連接.引腳10~16(SG~SA)、17(DP)以及18~25(D0~D7)用于擴展鍵盤矩陣和LED數(shù)碼管,具體硬件連接如圖3所示。
地址譯碼電路。系統(tǒng)地址譯碼電路由可編程邏輯器件GAL16V8實現(xiàn),具有簡單的電路結構,能實現(xiàn)復雜的地址譯碼和很好的硬件保密性能。
3 系統(tǒng)軟件設計
系統(tǒng)的設計要求是:PC機部分主要負責數(shù)據(jù)庫管理,終端機管理和終端機信息的發(fā)送和接收。數(shù)據(jù)庫管理,主要針對下列信息的添加,修改,查詢和刪除。① 用戶信息(分為管理員用戶和一般用戶);②選手信息;③裁判信息;④項目信息;⑤選手成績信息。終端機管理,包括終端機的在線情況查詢、時間校準、成績存儲與清除。終端機信息發(fā)送和接受,包括項目,參賽選手號碼,姓名等基本信息的發(fā)送和評委評分的接收。終端機部分負責現(xiàn)場評分。等待主機發(fā)送比賽資料,確認無誤后,方可進行評分。整個系統(tǒng)軟件分為PC和終端兩部分,PC端以數(shù)據(jù)庫技術作為支撐,采用Visual Basic 6.0 編寫,實現(xiàn)了項目、評委、選手等考試信息的管理和查詢,以及上位機與下位機的通信功能。而終端部分則采用C51語言編程,遵循自頂向下和逐步細化的模塊化程序設計方法,主要負責考試信息的接收和顯示,以及評委評分的輸入和回送等。
3.1 PC管理軟件
PC管理軟件采用結構化語言編程VB,主要分為信息管理、用戶管理、成績管理、終端管理、比賽信息設置、比賽管理以及幫助7大功能。圖4為主操作界面,編程的主要難點在于通訊控件MSComm和面向數(shù)據(jù)庫訪問控件Adodc。前者負責實現(xiàn)PC與終端通信,通過對控件屬性的設置,可以提高編程效率,簡化編程,后者是微軟公司提出的最新數(shù)據(jù)訪問技術,它被設計用來同新的數(shù)據(jù)訪問層OLE DB Provider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問,在本設計應用中,包括對信息的查詢、刪除和修改,采用SQL(結構化查詢語言)編程,通過SQL完成復雜的數(shù)據(jù)庫操作,而無需考慮如何操作數(shù)據(jù)庫的底層細節(jié)。
圖4 PC管理主機端操作界面
3.2 終端應用軟件
終端應用軟件包括主程序模塊、LCD顯示模塊、串口中斷服務模塊、按鍵處理模塊、EEPROM讀寫模塊等。主程序首先關閉全局中斷,然后進行各部件的初始化,包括初始化LCD顯示界面,復位HD7279A,初始化DS1302和串口,設置定時器時間常數(shù)和工作方式,最后打開串口中斷. 初始化完畢后進入循環(huán)刷新時間顯示和查詢按鍵,一旦檢測到有效按鍵,即進入鍵盤服務子程序。PC機與終端機是通過串口實現(xiàn)信息交換的,通信的準確性是系統(tǒng)中必須解決的最關鍵問題。通信雙方的波特率直接關系到通信的可靠性與準確性,考慮到定時器時間常數(shù)的計算準確性,晶振頻率選擇11.0592MHz。
4無線通訊的實現(xiàn)
PC管理機和評分終端兩者除了RS-232串口有線通訊外,在兩者的RS-232串口上各加入一個無線通訊模塊,則可實現(xiàn)主機與終端機之間的無線通訊。無線通訊模塊主要由nRF2401單片射頻收發(fā)芯片構成,工作于2.4~2.5GHz ISM頻段,芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器等功能模塊,輸出功率和通信頻道可通過程序進行配置。芯片能耗非常低,以-5dBm的功率發(fā)射時,工作電流只有10.5mA,接收時工作電流只有18mA,多種低功率工作模式,方便節(jié)能設計。nRF2401適用于無線數(shù)據(jù)傳輸系統(tǒng)等多種無線通信的場合。在本系統(tǒng)中取代原RS-232串口的有線通訊數(shù)據(jù)傳輸。nRF2401內(nèi)置地址解碼器、先入先出堆棧區(qū)、解調(diào)處理器、時鐘處理器、GFSK濾波器、低噪聲放大器、頻率合成器,功率放大器等功能模塊,需要很少的外圍元件,因此使用起來非常方便。QFN24引腳封裝,外形尺寸只有5×5mm。 nRF2401的功能模塊如圖5所示。
在本系統(tǒng)中無線通訊模塊工作在ShockBurstTM收發(fā)模式下,使用片內(nèi)的先入先出堆棧區(qū),數(shù)據(jù)低速從微控制器送入,但高速(1Mbps)發(fā)射,這樣可以盡量節(jié)能,因此,使用低速的微控制器也能得到很高的射頻數(shù)據(jù)發(fā)射速率。與射頻協(xié)議相關的所有高速信號處理都在片內(nèi)進行,這種做法有三大好處:盡量節(jié)能;低的系統(tǒng)費用(低速微處理器也能進行高速射頻發(fā)射);數(shù)據(jù)在空中停留時間短,抗干擾性高。nRF2401的ShockBurstTM技術同時也減小了整個系統(tǒng)的平均工作電流。
圖5 nRF2401無線通訊模塊
在ShockBurstTM收發(fā)模式下,nRF2401自動處理字頭和CRC校驗碼。在接收數(shù)據(jù)時,自動把字頭和CRC校驗碼移去。在發(fā)送數(shù)據(jù)時,自動加上字頭和CRC校驗碼,當發(fā)送過程完成后,數(shù)據(jù)準備好引腳通知微處理器數(shù)據(jù)發(fā)射完畢。ShockBurstTM發(fā)射流程使用接口引腳為CE,CLK1,DATA: 當微控制器有數(shù)據(jù)要發(fā)送時,其把CE置高,使nRF2401工作;把接收機的地址和要發(fā)送的數(shù)據(jù)按時序送入nRF2401; 微控制器把CE置低,激發(fā)nRF2401進行ShockBurstTM發(fā)射; nRF2401的ShockBurstTM發(fā)射( 給射頻前端供電; 射頻數(shù)據(jù)打包即添加字頭和CRC校驗碼; 高速發(fā)射數(shù)據(jù)包;發(fā)射完成,nRF2401進入空閑狀態(tài)。) ShockBurstTM接收流程使用接口引腳CE、DR1、CLK1和DATA(接收通道1):配置本機地址和要接收的數(shù)據(jù)包大??;進入接收狀態(tài),把CE置高;200us后,nRF2401進入監(jiān)視狀態(tài),等待數(shù)據(jù)包的到來;當接收到正確的數(shù)據(jù)包(正確的地址和CRC校驗碼),nRF2401自動把字頭、地址和CRC校驗位移去;nRF2401通過把DR1(這個引腳一般引起微控制器中斷)置高通知微控制器;微控制器把數(shù)據(jù)從nRF2401移出;所有數(shù)據(jù)移完,nRF2401把DR1置低,此時,如果CE為高,則等待下一個數(shù)據(jù)包,如果CE為低,開始其它工作流程。
5 結束語
串口現(xiàn)場評分系統(tǒng)是一種基于多機通訊的分布式應用系統(tǒng),既可以工作于有線通訊方式下,也可以工作于無線通訊方式下,經(jīng)過反復調(diào)試和在線測試,使用效果良好,達到預期設計要求,現(xiàn)已產(chǎn)品化。該系統(tǒng)適用于文藝體育考試的加試、體育藝術比賽等場合的現(xiàn)場評分以及考試后的數(shù)據(jù)處理、打印、存檔等工作,明顯提高評分工作效率和數(shù)據(jù)準確度,減輕工作人員的勞動強度,確保數(shù)據(jù)的安全公正。本系統(tǒng)遵循通用化和模塊化的設計思想,對于類似要求的系統(tǒng),只要稍做修改便可運用。其構造的通用模塊(如PC管理主機端數(shù)據(jù)庫模塊、單片機軟件模塊)由KeilC51寫成甚至可以直接用于其它的分布式應用系統(tǒng)中。
參考文獻
[1] 馬忠梅.單片機C語言應用程序設計[M].北京:北京航空航天大學出版社,1997
[2] 胡榮根. VB 6.0數(shù)據(jù)庫和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