防数据碰撞的无线呼叫系统设计
摘要:在多点对单点无线通信领域中,为防止多个发射器同时向接收器发送数据而产生的相互干扰(碰撞),提出一种具有反碰撞功能的无线呼叫系统模型,给出单片机与无线收发模块的硬件接口设计;详细介绍所用的通信协议和呼叫接收器,以及收发双方的软件设计,为多点对单点的无线呼叫系统软硬件设计提供一种有效可靠的解决方案。
关键词:中央服务器 无线呼叫系统 防碰撞技术 同步信号
随着科技的进步以及对生活质量要求的不断提高,人们要求在消费中得到的服务更加快捷、方便、舒适;同时处于激烈竞争环境中的服务性企业也需要吸引顾客,提高企业自身的服务档次和形象。无线呼叫系统能够为顾客创造良好的消费环境,使其得到方便及时的服务;企业也能随时掌握顾客需要的服务,提高服务效率。它可以广泛应用于酒店、银行、医院、娱乐场所等服务性行业中。因此,研究出一种简单可靠、高效率的无线呼叫系统,对于提高我服务行业的服务水平,改进人们的生活方式,促进社会生活的信息化,具有重要的理论、实用和商用价值。javascript:window.open(this.src);" style="cursor:pointer;"/>
1 无线呼叫系统的结构与功能
图1所示给出了由一台中央服务器CSS(Central Sever System)和多台终端呼叫器MTCU(Multiple Terminal Call Unit)构成的多点对单点无线通信系统。中央服务器CSS与每一台呼叫器CU(Call Unit)之间以双向方式传递数据,传输数据量大,实时性要求高。同传统的线呼叫系统相比,无线呼叫系统的使用更加灵活,无需在工作环境中铺设有线物理网络,极大降低了投资成本。
系统工作在ISM频段433MHz附近,该频段无需申请许可证。呼叫器作为数据载体通常由用户即服务的申请方来控制,每个呼叫器有一个唯一的识别码。当用户按其上的发射键后,识别码被发射出去,等待中央接收器的响应;中央服务器接收到服务申请后,根据识别码鉴定出是由哪一台呼叫器发出的申请,并给出声音提示和显示呼叫器的识别号。
在酬、医院、娱乐业等经营场所中,中央服务器置于服务台或值班室中,呼叫器安放在客户里、病床边或顾客身边。顾客随时可以发出服务申请,中央服务器接收到申请后,发出提示音和显示识别号码,通知服务员向提出服务申请的顾客提供服务。
2 防碰撞技术
2.1 防碰撞问题的提出
在服务行业的营业场所中,顾客需要服务人员能够提供准确、及时的服务,因此要求所设计的系统有很好的实时性和可靠性。一方面,顾客提出的申请能够很快地得到响应,使顾客感觉不到时间的浪费;另一方面,中央服务器不能由于接收到的是错误信息,使服务员打扰并未提出服务申请的顾客。
javascript:window.open(this.src);" style="cursor:pointer;"/>
针对系统的要求,可以得出导致服务中出现错误的原因有二:一是由于无线信道的复杂性,信息在无线信道的传输过程极易受到干扰而产生错误,接收端不能接收到正确的信息;其二是由于多个呼叫器同时竞争通信信道向中央服务器发出呼叫,各个呼叫器发出的数据相互干扰,使中央服务器不能正确地辨别是哪一台呼叫器发出的申请。这两种错误可能使没有发出呼叫申请的顾客得到了不需要的服务,而有服务要求的顾客又得不到满足,反而降低了服务的效率和准确度,起不到服务行业中需要的无线呼叫系统的作用。对于前一种情况可以采用适当的校纠错方式,降低中央服务器向服务员提供错误呼叫信息的概率,无需本文详细讨论。而对后一种情况,需要找到一种合适的反碰撞方法,这正是本文要解决的问题。
2.2 无线呼叫系统的防碰撞技术
数据的碰撞问题即无线通信中的多路存取问题。我们把多个通信通路竞争一个通信信道的最大数据传输率以及供它使用的时间片确定的,故分配给每个用户的通路容量必须满足:当有多个发射器同时把数据传输给同一个接收器时,不能出现互相干扰(碰撞)。在无线电技术中,多路存取问题的存在由来已久。因此,出现了许多方法,可以把不同的用户信号分开。比较典型的方法有四种:空分多路法、频分多路法、时分多路法以及码分多路法。这些经典的多路存取问题解决方法用于移动通信、卫星通信等系统中时,可以将不间断的数据流传输给用户,并且保证一次分配的通信容量能够保持足够长的时间,如同话音通信所需要的那样(例如在一次通话的整个交谈过程)。
图3 系统通信时序图
对无线呼叫系统来说,中央服务器与呼叫器之间只存在很短的动作周期,这种周期被较长的不等非工作间歇所中断。呼叫器发出的数据在数十ms的时间内被鉴别,读出和写入;接着,中央服务器在较长的时间内不会上到呼叫器发出的信号。但这并不意味我们不需要考虑多个呼叫器同时向服务器传输数据的可能性。我们需要的是一种高效的多路存取法,使用户感觉不到时间的损失就完成了数据的区分、显示及对用户的响应。见图2,许多呼叫器试图“图时”将数据传输给服务器。
现在比较常用的多路存取方法有频分复用和时分复用法。频分复用法(FDM,Frequency-Division Multiplexing)是在呼叫器与接收器之间建立多条不同带的通信信道。但这种方法实现上过于复杂,硬件上需要增加滤波器组;并且由于信道的非线性会产生交调失真和高次谐波,引起信号的串路,因而不适合所设计的无线呼叫系统在本系统使用的是时分复用法(TDM,Time-Division Multiplexing)。TMD同FDM相比较具有电路实现简单可靠,对系统的非线性失真要求不高。
2.3 中央服务器与呼叫器之间的通信过程
时分复用的主要特点是利用不同时隙来传送各路不同的信号,每路信号在时域上是分割开的。我们为每台呼叫器分配的,可与中央服务器通信的时间段是不同的。因此,要求我们所设计的系统具有良好的同步机制,解决中央服务器与所有呼叫器之间时钟的步问题。在同步信号的指挥下,每个呼叫器都能在分配给自己的时间段内发送信息。
系统由中央服务器产生的步信号作为整个系统同步的基准信号,这就为所有呼叫器建立了一个能够计算出各自可以发出呼叫申请时间的起点。这里的同步信号是使整个系统协调工作的同步信号,而并不要求单个呼叫器与中央服务器采用同步通信方式的帧同步信号,呼叫器与央服务器之间的通信仍然可以采用异步通信的方式。呼叫器从收到系统同步信号后,开始计算可以发送信号的延迟时间。延迟时间的长度是在系统设计时就已经约定的,每台呼叫器对应不同的延迟时间,使各个呼叫器与服务器通信的时间是错开的,不会产生重叠,也就防止了中央服务器时收到多台呼叫器的服务申请,避免了数据之间的碰撞。中央服务器产生的系统同步信号是周期性的,这个周期的大小与系统中呼叫器的个数、呼叫器与服务器之间完成一次通信所需要的时间有关,也与硬件设计的系统时钟大小和数据传输的波特率有关。图3给出了中央服务器与呼叫器之间通信的时序图。
从图3中,我们按照时分复用的原则,得出系统能够正常工作的条件:
javascript:window.open(this.src);" style="cursor:pointer;"/>
系统处于工作状态后,中央服务器先发出同步信号SYN。该信号是周期信号,在两个同步信号之间,服务器处于接收状态。呼叫器CUi接收到同步脉冲后等待Ti时间,并在这台呼叫器有顾客发出服务申请的情况下才能向服务器传输信息。呼叫器CUi与中央服务器通信一次的时间片的长度为ti,在时间片内呼叫器可向服务器重复传送n次信息,时间片内数据的传输仍然采用异步通信的方式。由于所有呼叫器在两个SYN之间均有一次机会可与中央服务器通信,所以划分的时间片越长,同步信号的周期也截止大。但若同步信号的周期时间太长,超过顾客对服务等待时间的满意程度,也就不能满足系统的实时性要求。所以在保证通信质量的前提下,应提高数据传输的波特率,缩短通信时间片的长度,确定系统中呼叫器的适当的数量。
3 系统的硬件设计
图4给邮了无线呼叫系统的硬件结构框图。系统的中央服务器与呼叫器的控制功能由单片机实现,射频收发模块主要由一块射频集成芯片构成。此外,中央服务器还有LED显示电路以及发音电路。
单片机使用Atmel公司的AT89C51,其中集成了4KB FlashROM,主要用来控制射频集成芯片的收发,数据的识别和提取,进行反碰撞处理。此外,还要控制LED显示呼叫器的识别号码及给出提示音。
javascript:window.open(this.src);" style="cursor:pointer;"/>