摘要 設計一款教學用無線答題器,取代原始的舉手答題,并具有統(tǒng)計答案的功能,為中小學生教育帶來了方便。文中采用TI公司新推出的支持IEEE 802.15.4標準的SOC—CC2530,制定了適合無線答題器網絡的通信協(xié)議,分析了整個無線通訊數據收發(fā)過程,給出具體的硬件設計和軟件設計要點。試驗表明,該系統(tǒng)能較好地滿足教學的需要,并具有較高的穩(wěn)定性和可靠性。
關鍵詞 CC2530;無線答題器;統(tǒng)計系統(tǒng);通訊協(xié)議;IEEE 802.15.4
隨著無線局域網的發(fā)展,無線技術自身的優(yōu)勢不斷在應用中體現(xiàn)出來。目前國內教學課堂答題方式還停留在原始的口頭答題,老師無法進行準確的答案統(tǒng)計。準確的答案統(tǒng)計,對于老師了解學生知識掌握情況和教學是有益的。本文采用TI公司的ZigbeeCC2530芯片,內部集成了一個8051處理器和一個無線射頻模塊,設計了一款教學用無線答題系統(tǒng),方便了學生在課堂中回答問題,也解決了教學中答案準確統(tǒng)計問題。具有構建成本低,使用方便等特點。
1 系統(tǒng)概述
1.1 系統(tǒng)組成
該無線答題統(tǒng)計系統(tǒng)由上位機、教師模塊(父節(jié)點)、學生模塊(子節(jié)點)3部分組成,如圖1所示。上位機是基于Windows的串口通信程序,它通過電腦串口和父節(jié)點連接,父節(jié)點和子節(jié)點都是無線通信模塊。各模塊功能如圖1所示。
上位機功能:(1)負責向父節(jié)點發(fā)送命令;(2)接受父節(jié)點發(fā)來的答題數據;(3)對收集的數據進行統(tǒng)計顯示。
父節(jié)點功能:(1)接受上位機發(fā)來的命令;(2)向子節(jié)點發(fā)送相應的命令;(3)收集子節(jié)點答題信息。
子節(jié)點功能:(1)接受父節(jié)點發(fā)來的命令;(2)將信息發(fā)給父節(jié)點。
硬件實物圖如圖2所示。圖2是父節(jié)點的硬件布局:(1)是程序下載口;(2)是電源開關;(3)是電池供電接口;(4)是跳針,戴上跳線帽時允許電池供電,摘下跳線帽時不允許電池供電;(5)是USB供電接口。(6)是RS232接口。
圖3是子節(jié)點的硬件布局:(1)是程序下載口;(2)是電源開關;(3)是電池供電接口;(4)是跳針,戴上跳線帽時允許電池供電,摘下跳線帽時不允許電池供電;(5)是USB供電接口;(6)是液晶顯示器;(7)是按鍵和LED燈。
1.2 系統(tǒng)基本流程
系統(tǒng)初始化后,上位機向父節(jié)點發(fā)送“在線查詢”命令,父節(jié)點接收命令,并向子節(jié)點廣播該“在線查詢”命令,子節(jié)點接收到命令后將自己的節(jié)點號和在線狀態(tài)回復給父節(jié)點,父節(jié)點接收到子節(jié)點的狀態(tài)回復后,也向子節(jié)點回復“收到確認”信號,同時父節(jié)點向上位機上傳各子節(jié)點的在線情況。這就完成了“在線查詢”命令。
上位機向父節(jié)點發(fā)送“開始答題”命令,父節(jié)點接受命令,并向子節(jié)點廣播該“開始答題”命令,子節(jié)點接收到命令后答題允許指示燈亮,這時子節(jié)點可以選擇答案“A,B,C,D”其中一個,然后按確認鍵將自己的節(jié)點號和答案發(fā)送給父節(jié)點,父節(jié)點收到后將收到的信號原封不動地作為確認信號回發(fā)給子節(jié)點,子節(jié)點收到確認信號后,對應的答案燈會亮,表示確認你選的是哪個答案。譬如,子節(jié)點選的是“A”,父節(jié)點確認后,A燈亮。
流程圖如圖4所示。
2 設計原理
系統(tǒng)的基本流程如上所述,下面具體闡述各模塊的設計原理。
2.1 上位機
上位機為一般的串口通信程序,它有3個功能:
(1)通過串口向父節(jié)點發(fā)送命令。上位機命令只有兩個:在線查詢命令和答題允許命令。這兩個命令均由3 Byte組成,本文定義在線查詢命令格式為,其中xx為任意數。答題允許命令格式為。
(2)接收父節(jié)點傳來的數據。當父節(jié)點收集了子節(jié)點發(fā)來的數據后,便會定時向上位機發(fā)送數據,數據格式如圖5所示。當上位機接收到以0xA0開頭的數據,便是節(jié)點在線情況回復數據,以0xEE結束;當接收到以0xA5開頭的數據,便是節(jié)點答題數據,以0xEE結束。
(3)統(tǒng)計接收到的數據。上位機將接受到的答案數據,以圓柱圖形統(tǒng)計顯示出來。
2.2 父節(jié)點
父節(jié)點是連接子節(jié)點和上位機的紐帶,其具有3個功能:
(1)接收上位機發(fā)來的命令;
(2)向子節(jié)點發(fā)送相應的命令和回復。當父節(jié)點接收到上位機的在線查詢命令時,首先判斷xx是廣播命令還是單播命令,如果是廣播命令,便將發(fā)送地址設為0xFFFF,載荷為0xA0;如果是單播命令,便將地址設為0xFFxx,載荷為0xA0。當子節(jié)點收到在線查詢命令后,便將自己設為在線,同時回復0xA0和節(jié)點號。父節(jié)點根據0xA0便知回復的是查詢命令,根據節(jié)點號便知道該節(jié)點在線。
同理,當父節(jié)點接收到上位機允許答題命令后,便廣播發(fā)送允許答題命令。子節(jié)點收到該命令后,即回復,父節(jié)點通過結構體Studen-t.ANSWER[i]存儲子節(jié)點的答案。并回復子節(jié)點表示數據已收到。
(3)收集子節(jié)點的在線情況與答題回復。父節(jié)點通過結構體Student[i].NODE_NUMBER,存儲子節(jié)點號,Student[i].LINE存儲在線情況,Student[i].ANSWER存儲答案。
2.3 子節(jié)點
子節(jié)點模塊是直接與學生接觸的終端,與父節(jié)點相比,多了顯示屏、按鍵和對應的LED燈,子節(jié)點有兩種功能:
(1)接受父節(jié)點發(fā)來的命令。當子節(jié)點接收到在線查詢命令后,便回復信號,表示該節(jié)點在線。
(2)將答案信息發(fā)給父節(jié)點。當子節(jié)點接收到允許答題命令后,便回復信號。
3 硬件電路設計
本設計采用TI公司新推出支持IEEE 802.15.4標準的SOC—CC2530作為控制芯片,CC2530集成一個工業(yè)級的8051和一個無線射頻模塊。內含8 kBRAM,32 kB閃存,以及其他支持功能和外設。CC2530所集成的無線射頻模塊,提供101 dB的鏈路質量,優(yōu)秀的接收器靈敏度和抗干擾性。
3.1 子節(jié)點電路圖
子節(jié)點電路圖如圖7所示。
3.2 父節(jié)點電路圖
父節(jié)點電路圖如圖8所示。
4 軟件設計
父子節(jié)點流程如圖9所示,其中結構體Smdem由ONMNE、ANSWER和NODE_NUMBER組成,分別代表在線信息,答案和節(jié)點號,其中ONLINE=1
表示在線,ANSWER取值為“A,B,C,D”。注意此結構體只存在于父節(jié)點中。
子節(jié)點圖中ONUNE是子節(jié)點的在線標志,TX_ALLOW是子節(jié)點允許答題標志,置1有效。注意,為了防止子節(jié)點重啟后不被父節(jié)點識別,本文設計在每次答題前都發(fā)送在線查詢命令,接著再發(fā)送答題允許命令。
5 實驗結果
實驗結果如圖11所示,在線人數40人,第一題,選A的18人,B的12人,C的6人,D的4人。由實驗過程可知,無線答題器工作穩(wěn)定,操作簡便。
6 結束語
本文介紹了教學用無線答題器,提出了具體的軟硬件設計方法,并開發(fā)出實物產品。該無線答題器,工作穩(wěn)定、性能可靠、操作簡單、界面簡潔易懂、成本低廉、適合教學需求。