随着科技的进步以及对生活质量要求的不断提高,人们要求在消费中得到的服务更加快捷、方便、舒适;同时处于激烈竞争环境中的服务性企业也需要吸引顾客,提高企业自身的服务档次和形象。无线呼叫系统能够为顾客创造良好的消费环境,使其得到方便及时的服务;企业也能随时掌握顾客需要的服务,提高服务效率。它可以广泛应用于酒店、银行、医院、娱乐场所等服务性行业中。因此,研究出一种简单可靠、高效率的无线呼叫系统,对于提高我服务行业的服务水平,改进人们的生活方式,促进社会生活的信息化,具有重要的理论、实用和商用价值。
1 无线呼叫系统的结构与功能
图1所示给出了由一台中央服务器CSS(Central Sever System)和多台终端呼叫器MTCU(Multiple Terminal Call Unit)构成的多点对单点无线通信系统。中央服务器CSS与每一台呼叫器CU(Call Unit)之间以双向方式传递数据,传输数据量大,实时性要求高。同传统的线呼叫系统相比,无线呼叫系统的使用更加灵活,无需在工作环境中铺设有线物理网络,极大降低了投资成本。
系统工作在ISM频段433MHz附近,该频段无需申请许可证。呼叫器作为数据载体通常由用户即服务的申请方来控制,每个呼叫器有一个唯一的识别码。当用户按其上的发射键后,识别码被发射出去,等待中央接收器的响应;中央服务器接收到服务申请后,根据识别码鉴定出是由哪一台呼叫器发出的申请,并给出声音提示和显示呼叫器的识别号。
在酬、医院、娱乐业等经营场所中,中央服务器置于服务台或值班室中,呼叫器安放在客户里、病床边或顾客身边。顾客随时可以发出服务申请,中央服务器接收到申请后,发出提示音和显示识别号码,通知服务员向提出服务申请的顾客提供服务。
2 防碰撞技术
2.1 防碰撞问题的提出
在服务行业的营业场所中,顾客需要服务人员能够提供准确、及时的服务,因此要求所设计的系统有很好的实时性和可靠性。一方面,顾客提出的申请能够很快地得到响应,使顾客感觉不到时间的浪费;另一方面,中央服务器不能由于接收到的是错误信息,使服务员打扰并未提出服务申请的顾客。
针对系统的要求,可以得出导致服务中出现错误的原因有二:一是由于无线信道的复杂性,信息在无线信道的传输过程极易受到干扰而产生错误,接收端不能接收到正确的信息;其二是由于多个呼叫器同时竞争通信信道向中央服务器发出呼叫,各个呼叫器发出的数据相互干扰,使中央服务器不能正确地辨别是哪一台呼叫器发出的申请。这两种错误可能使没有发出呼叫申请的顾客得到了不需要的服务,而有服务要求的顾客又得不到满足,反而降低了服务的效率和准确度,起不到服务行业中需要的无线呼叫系统的作用。对于前一种情况可以采用适当的校纠错方式,降低中央服务器向服务员提供错误呼叫信息的概率,无需本文详细讨论。而对后一种情况,需要找到一种合适的反碰撞方法,这正是本文要解决的问题。
2.2 无线呼叫系统的防碰撞技术
数据的碰撞问题即无线通信中的多路存取问题。我们把多个通信通路竞争一个通信信道的最大数据传输率以及供它使用的时间片确定的,故分配给每个用户的通路容量必须满足:当有多个发射器同时把数据传输给同一个接收器时,不能出现互相干扰(碰撞)。在无线电技术中,多路存取问题的存在由来已久。因此,出现了许多方法,可以把不同的用户信号分开。比较典型的方法有四种:空分多路法、频分多路法、时分多路法以及码分多路法。这些经典的多路存取问题解决方法用于移动通信、卫星通信等系统中时,可以将不间断的数据流传输给用户,并且保证一次分配的通信容量能够保持足够长的时间,如同话音通信所需要的那样(例如在一次通话的整个交谈过程)。
对无线呼叫系统来说,中央服务器与呼叫器之间只存在很短的动作周期,这种周期被较长的不等非工作间歇所中断。呼叫器发出的数据在数十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/434.33MHz两个频道,最大数据传输率为20kbps,调制方式为FSK,功耗低,且发射功率可以调整,最大发射功率为+10dBm。当工作于等机模式,待机电流仅为8μA,因此很适合用于便携式的无线通信设备中。连接nRF401的天线是以差分方式连接到nRF401的。在实际设计中,呼叫器的天线采用差分环型天线,这种天线可直接刻蚀在PCB板上。中央服务器的天线采用高灵每度的单端天线,但是单端天线与nRF401之间也必须通过一个差分转换匹配网络连接起来。图5所示的硬件连接原理图中的各个引脚的功能如下所列。
CS:频道选择,CS=0选择工作频道1,即433.92MHz;CS=1选择工作频率2,即434.33MHz。连接AT89C51的P2.5脚。
DOUT:数据输出,连接AT89C51串口RXD。
DIN:数据输入,连接AT89C51串口TXD。
PWR_UP:节能控制,PWR_UP=1正常工作状态,PWR_UP=0低功耗节能状态。连接AT89C51的P2.6脚。
TXEN:发射接收控制,TXEN=1时,nRF401为发射状态;TXEN=0时,nRF401为接收状态。连接AT89C51的P2.7脚。
NRF401射频模块硬件电路的具体设计。为了获得最佳的RF性能,推荐使用1.6mm FR4板材的双面PCB;nRF401的直流供电必须使用高性能的RF电容去耦;在PCB板上应该避免长的电源走线;所有的开关数字信号和控制信号都不能经过nRF401的PLL环路滤波元件和VCO电感附近。
4 无线呼叫系统的软件设计
4.1 通信协议
为了保证通信成功,通信双方必须严格遵循通信协议的约定。由于nRF401的最大数据传输率为20kbps,为获得中央服务器和呼叫器之间大的通信速率,单片机的系统时钟频率为11.0582MHz时,我们将串口的波特率选定在19.2kbps。
由中央服务器向所有呼叫器发系统同步信号。根据设计要求和测试结果,我们将同步信号序列SYN定义为双同步字符:0xAA和0xAA。所有呼叫器接收到该字符串后,开始计算各自的可以发送呼叫信息等时间Ti。
当对应呼叫器与中央服务器建立起通信关系后,在可通信时间片内采用异步通信的方式。呼叫器向服务器发出握手信号:0xBB;服务器接收到握手信号后发回应答信号:0xCC,接收到应答信号后呼叫器开始传送数据块。设计中的数据块可以直接是使用VCD码表示的呼叫器的识别号,能很方便地在服务器的LED上显示出来,还可以传输对其它相应服务编码得到数据。收、发双方的数据校验方式采用计算发送数据块的“校验和”。呼叫器对所发数据求出“校验和”,在数据块发完后将其发到中央服务器中;服务器计算所收数据块的“校验和”,并与从呼叫器发来的“校验和”相比较。若两者相等,收正确,服务器应答一个“0x00”;叵不等,说明接收器接收到“0x00”的答复后,结束发送。又因为呼叫器发出的服务请求只能在规定时间片段内完成,故必须的服务请求。系统直到等待时间最长的那个呼叫器的时间片过去以后,中央服务器又再次向所有呼叫器发出系统同步信号.
4.2 收发程序设计
因为系统分配给各个呼叫器的可与中央服务器完成一次呼叫申请的时间片的长度是固定的,这个时间长度既要保证呼叫器发出的申请能准确的传到服务台上,又要尽量短,才可缩小同步信号的周期。因此收发程序的执行时间十分关键,必须短而高效。图6给出了中央服务器和呼叫器的收发程序流程。
结语
本设计中的硬件设计、软件设计方案已通过实验检验。对在多发单收情况下产生的数据磁撞一解决良好,系统运行稳定,通信误码率低。由于电路的结构简单,功能完善,这种低成本的无线呼叫系统在酒店、医院及娱乐场所中有很好的实用价值。