摘要 设计一款教学用无线答题器,取代原始的举手答题,并具有统计答案的功能,为中小学生教育带来了方便。文中采用TI公司新推出的支持IEEE 802.15.4标准的SOC—CC2530,制定了适合无线答题器网络的通信协议,分析了整个无线通讯数据收发过程,给出具体的硬件设计和软件设计要点。试验表明,该系统能较好地满足教学的需要,并具有较高的稳定性和可靠性。
关键词 CC2530;无线答题器;统计系统;通讯协议;IEEE 802.15.4
随着无线局域网的发展,无线技术自身的优势不断在应用中体现出来。目前国内教学课堂答题方式还停留在原始的口头答题,老师无法进行准确的答案统计。准确的答案统计,对于老师了解学生知识掌握情况和教学是有益的。本文采用TI公司的ZigbeeCC2530芯片,内部集成了一个8051处理器和一个无线射频模块,设计了一款教学用无线答题系统,方便了学生在课堂中回答问题,也解决了教学中答案准确统计问题。具有构建成本低,使用方便等特点。
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 结束语
本文介绍了教学用无线答题器,提出了具体的软硬件设计方法,并开发出实物产品。该无线答题器,工作稳定、性能可靠、操作简单、界面简洁易懂、成本低廉、适合教学需求。