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