APP下载

一种无线抢答控制系统的设计

2018-07-27廖长裕陈春华林舒萍

电子制作 2018年13期
关键词:无线通讯倒计时数据包

廖长裕,陈春华,林舒萍

(莆田学院机电工程学院,福建莆田,351131)

抢答器又称第一信号鉴别器, 广泛地应用于知识竞赛和文娱活动等场合。目前市场上,价格较高的抢答系统,性价比低,不太适用于一些不频繁使用的场合;而价格低的抢答系统多是有线连接、功能简单和精度低,安装准备工作比较繁琐。以单片机为控制芯片的无线抢答系统,有成本低、使用简单的特点。

1 系统方案设计

系统实现的结构方案如图1所示,由主控端、主持人端和选手端三个部分组成。各个终端都采用单片机作为控制芯片,均具备单片机最小系统和nRF24L01无线通讯模块。在抢答比赛中,允许每位选手配备一个抢答选手端,选手端的个数可根据抢答人数来确定。终端之间通过nRF24L01模块进行联系,达到无线通讯传输的目的。

图1 系统结构框图

各终端的主要工作是:选手端的抢答按钮被按下后,生成信号会发送给主控端。当接收到控端送回的抢答成功信号,会有报警提示。这时选手可通过口头或按所设置的选项键答题,之后选手端在收到答题对错的信号后更新LCD显示屏的分数;主控端负责收发各种不同的指令,并对抢答信号排序,识别成功抢答的终端,回送允许答题的信号,完成与抢答有关分组等的配置,显示相关内容、播放语音提示信息;主持人端主要进行抢答的基础设置,发抢答开始信号,及加分和减分等等。

2 系统硬件结构设计

各终端的硬件结构如图2所示,都具备单片机最小系统、按键、显示以及nRF24L01无线通讯模块等电路。虚线框中的语音电路属于主控端的,声光提示电路则属于选手端。

主控端用于发送、接收和处理抢答过程所产生的信息,要求处理的数据较多、处理速度要快,任务相对较重,采用性能较好的STC12C5A60S2作为控制芯片。抢答所需的提示语音的内容包括开始抢答、抢答成功、回答正确等,预先写入到WT588D语音芯片。供抢答过程直接调用。语音芯片的接口电路如图3所示,通过单片机P1.5引脚控制该芯片播放相应语音,其中YSQ需接入一个扬声器;主控端上的显示模块主要用来显示选手的分数、抢答题号、设置过程和提供倒计时等信息;按键则用于一些基础参数设置。

图2 终端硬件结构图

图3 语音接口电路

选手端与主持人端的控制单元需处理的数据相对较少,使用成本较低的STC89C52RC单片机芯片。抢答过程的必要的信息会在LCD上显示。两者按键设置不同:主持人端按键具备同步数据、排名显示、开始抢答、加分和减分等功能;选手端有抢答键、以及为选择题型所设的A、B、C、D四个按键。

抢答系统各终端之间所采用的nRF24L01无线通讯芯片是由NORDIC公司生产。应用于单片机工作在频段为2.4GHz~2.5GHz,芯片具有成本较低、传输距离远、功率可调的优点,它能够根据传输距离的大小取决于功率,达到节能的目的。NRF24L01模块电路,共引出8个引脚,除VCC接入3.3V电源电压和GND接地外,CE、CSN、SCK、MISQ、MOSI、IRQ引脚由单片机控制。

3 系统软件设计

■3.1 系统程序结构

系统程序采用模块化设计,主要由无线通讯、按键处理,信息显示,抢答,倒计时,基础设置、语音和声光报警等程序组成,如图4所示。

图4 系统程序结构

其中基础设置程序,主要由主控端完成对各选手端的组队、和基础参数设置。选手端可每人配备一个,成员两位以上的队伍抢答时,则需将该队伍的几个选手端分成同一组。具体方法是选手端预先设置好号数,并按顺序发放给每位选手。通过主控制端根据设定的抢答组数与组内抢答人员的人数后,按顺序自动对选手端分组。主持人端通过无线通知主控端进行题目题型、分值和参数等的设置。例如:基础分数、抢答倒计时、答题倒计时、回答正确加分大小和回答错误扣分大小等。设置完成后,自动使各终端同步数据。

抢答程序要求在三种终端间按通讯协议协调进行。主持人按下准备抢答键后开始公布题目,这时若有选手按抢答,会判选手违规,题目作废。当题目公布完按下允许抢答键后,开启抢答倒计时。倒计时结束前,主控端若未收到抢答信号,题目也作废;若接收到抢答信号后,立即发信息禁止其他选手端发送信号,同时对收到信号进行身份识别,通过语音公布成功抢答的选手队伍,并发送信号提示对应的选手端。之后开启答题倒计时。如果是选择题,选手只需通过选手端的按键进行回答,系统自动判断正误;如果是简答题,由选手口头回答,主持人端通过加分键和减分键判断答案的正误。

图5 显示屏幕界面

每抢答完一题,系统便进行统计分数。在答题时间内,回答正确,加分。违规抢答、回答错误和未在答题时间内答题,则扣分。系统统计好分数后在LCD屏显示,并把数据在各个终端之间进行同步。图5为抢答过程的显示界面。

■3.2 抢答通讯协议

系统各终端使用nRF24L01进行无线通讯,要对数据通道、发送到的目标地址、接收到的地址、是否自动应答、频率、功率等进行配置。由于各个终端使用nRF24L01无线通讯,用的是相同的地址,不用扫描方式接收数据,这样排除由多个选手端同时发送抢答信号,因硬件因素造成抢答结果的不公平。但也形成一个终端发送数据时,其他处于接收模式的终端都可接收到数据局面。为保障无线通讯的正常进行,要识别通讯终端身份。需设定相应的无线通讯协议,

系统工作时,所有的终端默认处于接收模式,当需要发送数据时,则转换为发送模式,数据发送完成后,又恢复到接收模式。通讯协议的数据包主要有两大类,一类是主控端发出的数据包,另一类是主控端接收到的数据包。数据包的第一字节数据类型检验码,用来判断接受到的数据包类型。当终端检测到nRF12L01的中断引脚IRQ电平发生变化时,表明已接收到数据包。接着对数据包解析,根据第一字节,判断数据类型,是否为所需的数据包。当终端接收到自己所需的数据包类型的时候,才进一步对接下来的字节进行判断做出相应的处理。如果不是自己所需要的数据包,终端不做出任何应答,继续维持接收模式。

4 结论

实测表明,无线抢答系统实现了预期的分组、语音提示和抢答等各项功能,可适用于小型的竞赛场合。采用单片机芯片和nRF24L01无线通信模块,处理速度快,通讯精确、操作简单、扩展性强;在增减抢答人数时,相比于有线连接,只需加减抢答器选手端个数即可,简化了抢答布置的难度。

猜你喜欢

无线通讯倒计时数据包
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
C#串口高效可靠的接收方案设计
基于单片机的水产养殖无线盐度检测系统设计
家香
无线通讯在堆取料机控制中的应用