防数据碰撞的无线呼叫系统设计
对无线呼叫系统来说,中央服务器与呼叫器之间只存在很短的动作周期,这种周期被较长的不等非工作间歇所中断。呼叫器发出的数据在数十ms的时间内被鉴别,读出和写入;接着,中央服务器在较长的时间内不会上到呼叫器发出的信号。但这并不意味我们不需要考虑多个呼叫器同时向服务器传输数据的可能性。我们需要的是一种高效的多路存取法,使用户感觉不到时间的损失就完
成了数据的区分、显示及对用户的响应。见图2,许多呼叫器试图“图时”将数据传输给服务器。
现在比较常用的多路存取方法有频分复用和时分复用法。频分复用法(FDM,Frequency-Division Multiplexing)是在呼叫器与接收器之间建立多条不同带的通信信道。但这种方法实现上过于复杂,硬件上需要增加滤波器组;并且由于信道的非线性会产生交调失真和高次谐波,引起信号的串路,因而不适合所设计的无线呼叫系统在本系统使用的是时分复用法(TDM,Time-Division Multiplexing)。TMD同FDM相比较具有电路实现简单可靠,对系统的非线性失真要求不高。
2.3 中央服务器与呼叫器之间的通信过程
时分复用的主要特点是利用不同时隙来传送各路不同的信号,每路信号在时域上是分割开的。我们为每台呼叫器分配的,可与中央服务器通信的时间段是不同的。因此,要求我们所设计的系统具有良好的同步机制,解决中央服务器与所有呼叫器之间时钟的步问题。在同步信号的指挥下,每个呼叫器都能在分配给自己的时间段内发送信息。
系统由中央服务器产生的步信号作为整个系统同步的基准信号,这就为所有呼叫器建立了一个能够计算出各自可以发出呼叫申请时间的起点。这里的同步信号是使整个系统协调工作的同步信号,而并不要求单个呼叫器与中央服务器采用同步通信方式的帧同步信号,呼叫器与央服务器之间的通信仍然可以采用异步通信的方式。呼叫器从收到系统同步信号后,开始计算可以发送信号的延迟时间。延迟时间的长度是在系统设计时就已经约定的,每台呼叫器对应不同的延迟时间,使各个呼叫器与服务器通信的时间是错开的,不会产生重叠,也就防止了中央服务器时收到多台呼叫器的服务申请,避免了数据之间的碰撞。中央服务器产生的系统同步信号是周期性的,这个周期的大小与系统中呼叫器的个数、呼叫器与服务器之间完成一次通信所需要的时间有关,也与硬件设计的系统时钟大小和数据传输的波特率有关。图3给出了中央服务器与呼叫器之间通信的时序图。
从图3中,我们按照时分复用的原则,得出系统能够正常工作的条件:
系统处于工作状态后,中央服务器先发出同步信号SYN。该信号是周期信号,在两个同步信号之间,服务器处于接收状态。呼叫器CUi接收到同步脉冲后等待Ti时间,并在这台呼叫器有顾客发出服务申请的情况下才能向服务器传输信息。呼叫器CUi与中央服务器通信一次的时间片的长度为ti,在时间片内呼叫器可向服务器重复传送n次信息,时间片内数据的传输仍然采用异步通信的方式。由于所有呼叫器在两个SYN之间均有一次机会可与中央服务器通信,所以划分的时间片越长,同步信号的周期也截止大。但若同步信号的周期时间太长,超过顾客对服务等待时间的满意程度,也就不能满足系统的实时性要求。所以在保证通信质量的前提下,应提高数据传输的波特率,缩短通信时间片的长度,确定系统中呼叫器的适当的数量。
3 系统的硬件设计
图4给邮了无线呼叫系统的硬件结构框图。系统的中央服务器与呼叫器的控制功能由单片机实现,射频收发模块主要由一块射频集成芯片构成。此外,中央服务器还有LED显示电路以及发音电路。
单片机使用Atmel公司的AT89C51,其中集成了4KB FlashROM,主要用来控制射频集成芯片的收发,数据的识别和提取,进行反碰撞处理。此外,还要控制LED显示呼叫器的识别号码及给出提示音。
射频集成芯片选用Nordic公司的nRF401。NRF401j 单片机集成收发芯片,可工作于433.92MHz/4