"); //-->
我要评论(44)--
关键字: 近距无线 --近距无线 协议 --协议 OSI --OSI 数据链路层 --数据链路层
随着短距离无线数据传输技术的成熟,功能简单、携带方便的嵌入式无线产品得到广泛应用,对于(中国)设计工程师来说,怎样设计无线传输协议已经成为设计过程面临的一个挑战。本文从扩频技术、频谱管理、协议层设计、差错处理、链接范围等方面探讨了设计协议过程中需要综合考虑的问题。
短程无线设备(SRD)在较小的物理区域内通信,数据率和工作电流均低于大型产品,并且功能也相对简单,它被广泛应用于车门遥控开关系统、简单家用自动化设备和无线游戏控制器。
与SRD系统相比,高端系统可采用先进和复杂的协议栈实现。这些软件协议栈可从第三方供应商购买或嵌入硬件。而设计SRD时,嵌入式开发人员通常可设计小型定制协议并直接对硬件进行访问,SRD的协议栈通常比较简单,本文介绍适用于短程无线设备的协议设计策略。
一般来说,射频链路与有线连接在诸多重要环节上完全不同:1. 射频链路是通过相同的传输媒介空气来传播无线电信号;2. 误码率比常规有线系统高几个数量级。由于存在上述差异,RF链路的可靠性比有线链路低。为了建立可靠的无线通信链路,可以采用TDMA和FDMA技术。
时分多址(TDMA)技术可使不同的设备在不同的时刻“同时”占用同一段频谱,这通常可以通过为不同的发送器分配特定的时隙和编码加以实现。图1显示了可被两个设备在一段时间内共享的带宽。
基本时间分片的机制之一是载波侦听多址(CSMA)技术。CSMA不分配固定的时隙,而其基本原理同人与人之间的礼貌交谈并无二致:在试图插嘴之前,必须等待同伴停止说话。正常的CSMA设备可实现某种形式的发送前侦听(listen-before-transmit)功能,这样当另一设备正使用信道时,CSMA设备必须等待。当然,如果两个或更多发送器同时捕获了公共信道,将有可能产生冲突。
频分多址(FDMA)技术将可用的频率带宽拆分为具有较窄带宽的子信道,如图2所示。这样每个子信道均独立于其它子信道,从而可被分配给单个发送器。其缺陷是子信道之间必须间隔一定距离以防止干扰,频带利用率不高。
FDMA的最大问题在于较窄的信道限制了数据传送的速率。窄信道还需要更好的无线滤波,这进一步增加了系统成本。同样,信道间还可能存在潜在的噪声,因为较强的带外(out-of-band)噪声可能干扰我们希望接收的微弱信号。
一、扩频技术
在跳频技术中,发送器从一个子信道“快步”跳跃至另一子信道。该技术最早被美国军方采用,后来的事实表明扩频技术也同样适用于民用系统。扩频技术具有两大优势:
1.扩频系统比其它传统系统更抗干扰;
2.扩频技术可用来提供多种接入功能。
目前主要的两种扩频技术是跳频(FHSS)和直接序列扩频(DSSS)技术。这两种技术均以自己的方式支持多种接入方式。对于FHSS,每个发送器均可使用不同的跳频序列,这样即可同其它的发送器共享相同的带宽(如图3所示)。FHSS的优点是频率顺序可以自适应,从而防止较强的干扰。
DSSS系统通过数据信号与扩频码的异或(XOR)运算获得信号能量扩展。系统可采用几种不同的扩频码支持多路接入,这就是码分多址(CDMA)技术。为使直接序列多路接入机制正常工作,所有发送器的功率电平均应保持一致,否则弱信号将被强信号阻塞。图4显示了这一机制。两路DSSS信号在相同的频带上发送,接收器通过信号处理即可利用已知的扩频码析取发送器传来的数据。
应用中采用何种无线技术取决于多种因素。当然,TDMA和FDMA比扩频更容易实现,因此如果可能,您将会很乐意采用其中一种方法。
如果设备不需要频繁传送信号,那么TDMA自然就是最佳选择,因为传送越少意味着冲突越少。此外,无线电管理当局可以通过限制允许传送的占空比来要求TDMA工作于特定波段。
另一方面,如果希望每个发送器都具有连续的通信信道,那么FDMA就是最佳选择。
当许多设备必须以特殊方式进行通信或当接口电平较高时,扩频技术就显得尤为有效。DSSS必须以硬件方式实现才最为有效,而FHSS则可用软件实现,具体取决于采用的跳频率。如果采用直接序列,那么对于软件开发人员则完全透明。需要注意的是,扩频技术依赖于可供充分利用的带宽,因此并不适用于所有无线频带。
添加发送前侦听功能并非难事或需要大量工作,而且可以避免干扰工作于相同频率范围内的其它RF系统。此外,当产品与其它RF设备协同工作时,用户还能避免大量干扰问题。
二、无线电频率管理
无线电管理机构可管理RF带宽的使用,最基本的规则是无线发送器的使用需要获得许可。然而,管理部门也规定某些频带不需许可,以满足不同的需要。这些频带通常包括工业、科研和医用(ISM)频带。
各个国家的无线电管理不尽相同。在美国,FCC (www.fcc.gov)管理无线电频谱的分配。可用的公共频带包括:27MHz、260MHz至470MHz、902MHz至928MHz和最常用的2.4GHz频带。260MHz至470MHz频带对数据传送的类型有所限制,而其它频带则没有这样的限制。
在欧洲,大多数国家签署了协调无线电频谱管理的协议。欧洲电信标准协会(www.etsi.org)提供无线标准信息,而欧州邮电和远程通信会议(CEPT)则为频率使用提供推荐(www.ero.dk)。然而,各个国家之间还是存在一些差异。可用的公共频带包括:27MHz,、433MHz、868MHz和2.4GHz。433MHz和868MHz频带则拆分为具有不同RF功率和占空比限制的子频带。
韩国和日本的法规比较相似,都对无线协议提出了更多的需求。在大多数可用带宽中,都必须使用发送前侦听功能。两个国家还规定了最大传送次数和最小静默时间。可用的频带位于400MHz、1.1GHz和2.4GHz附近。
其余国家则无硬性规定和规则。在开展业务之前,必须首先联系当地管理部门,以便清晰地了解当地的无线电频谱管理规则。FCC在以下网址中给出了管理部门的详细列表:www.fcc.gov/mb/audio/bickel/world-govt-telecom.html。
许多不同的生产商可为每种不同的频带提供收发器IC。大多数芯片均只支持一种频带,但也有一些产品支持所有的频带,如在一块芯片中支持300MHz和1GHz。
无线电管理主要影响硬件开发人员,但软件开发人员也必须牢记占空比和使用限制。
频带选择取决于以下几个因素。使用限制规定了哪些频带可用于特定应用;最大通信范围也取决于频率,一般而言,通信范围将随频率的增高而减小。更高的频率也需要比较低频率更高的数据率(因为可用带宽也更大)。当然,还必须考虑功能满足应用需要的收发器的可用性。
三、协议层的设计
讨论通信协议时,不可避免地要讨论协议层问题,协议层构成了协议栈。像采用多少层协议栈以及协议层如何命名这样的问题取决于被讨论的对象。本文采用开放式系统互连(OSI)模型,其最上层或多或少独立于传输媒介,本文只关注最底层及其在无线系统中的实现方法。
(一)物理层
协议栈的最底层称为物理层,该层负责对传输媒介进行物理存取。在SRD中,物理层负责同RF收发器进行通信。芯片与芯片之间的数字接口差异很大,但我们仍然可以归纳出一些共性。可用的芯片共有三类:发送器、接收器和收发器(既作为发送器也作为接收器)。为了便于下述讨论,这里将这三类芯片统称为收发器。
所有的收发器通常都带有串行数据接口。简单的设备不提供时钟,因此微控制器必须处理时序问题。更复杂的设备则可提供时钟再生功能,因此数据接口类似于微控制器的任何其它同步串行接口。数据形式也各有不同;某些收发器需要支持曼彻斯特(Manchester)编码(具有恒定直流电平且总保持每位至少一次转换的自同步代码)的数据,而其余一些收发器则接收标准不归零(NRZ)格式的数据。
接收数据时,RF数据解调后传送给微控制器。某些收发器只提供来自解调器的原始数据,为了进行可靠的操作,该数据必须经过多次采样,因为位流中可能存在毛刺和噪声。由于过采样将检测信号转换,因此可提供位级同步。对其它采用硬件实现的收发器过采样,则不需要在信号的位中间进行采样。
如果采用较高的位速率,软件编程的最大挑战在于确保微控制器与输入数据之间的同步。大多数支持较高位速率的收发器可连接到标准的同步串行接口。
多信道收发器通常具有可编程功能,可通过串行接口选择频率和其它参数。简易设备则可提供能在接收端和发送端之间选择引脚的并行接口并使设备进入省电模式。
芯片与芯片之间的辅助特性相差很大。接收器的一项实用功能就是接收信号强度指示器(RSSI),可用来实现发送前侦听功能并确定RF链路质量。
(二)数据链路层
数据链路层在协议栈中位于物理层之上,负责差错处理和链路控制。RF链路通常工作于半双工模式,但通过在接收和发送之间迅速切换,即可模拟全双工链路。本文随后还将详细讨论差错处理。
(三)网络层
协议设计最重要的因素是系统拓扑结构。点到点链路的协议实现完全不同于那些相互之间需要通信的联网设备。
元器件数目对采用的协议至关重要。采用具有中央主机的网络还是对等网?这些问题可利用协议栈的网络层加以解决,多址策略也在这一层起作用。
幸而,大多数问题与有线链路并无二致。例如,以太网也采用了共享媒介,而一般的网络文献中也详细描述了有效的网络层协议和技术。
有线网络(远程光纤连接除外)中通常无须考虑采用中继器。转发器可确保RF设备在无线网络中的正常通信,而且设备本身通常也可作为中继器。添加中继器能在复杂室内环境中确保可靠传输,以消除受多径干扰严重影响的区域。
四、差错处理
如前所述,RF链路环境下的误码率通常远高于有线链路,因此无线协议必须能进行差错处理。此外,还必须采用差错检测和纠错技术实现容许的误码率。
更为重要的是,软件必须具有防止误码的能力或纠错的功能。没有收到数据时,无线接收器将输出噪声。通常可利用软件将有效数据从噪声中分离。在RF领域,这称为静噪功能。
数据包起始部分是一串被称为前同步码的1、0交替序列,前同步码是无线接收器与输入数据同步所必需的,收到前同步码就表明有人希望同设备进行通信。
为了检测前同步码的结束和数据的起始,可采用同步字。同步字由与前同步码形成对比的固定位图组成,而且还可以过滤掉误码的数据包。如果没有正确地接收同步字,软件将重新搜索有效的前同步码。
收到同步字后,典型的数据包将包含报头信息,如源地址、目的地址、数据长度等,之后才是有效的数据载荷。
许多应用系统不允许RF链路中存在原始误码率,降低差错数目的第一步是采用误码检测技术。误码检测的方法很多,但最常用的方法是以循环冗余校验(CRC)的形式添加数据校验和。CRC可提供远比原始方法(如奇偶校验)卓越的误码检测功能。根据应用的不同,检测到的差错可通过忽略误码数据或请求重传进行处理。
当采用RF链路时,必须意识到数据包可能丢失。干扰可混淆有效数据包,而处理该问题的简单方法则是采用数据包计数器。数据包可包含随发送消息数目增加而不断增加的计数器域,这样当数据包丢失时,接收器就能检测到并采取适当的措施。
更复杂的差错处理方法是采用前向纠错(FEC)技术,这就必须在数据包中添加冗余数据。在此基础上,接收器可析取无误码数据,即便数据包中存在误码。当然,所能承受的误码率也有限制。误码通常以脉冲信号的形式存在,因此几个连续位可能出现错位。这样,在编码之后纠错将需要对数据进行交织处理,以消除脉冲误码。当同FHSS一起使用时,该技术尤为有效。只要数据交织和纠错充分,接收器就能接收数据,即便干扰阻塞了某些频率。复杂的系统甚至可利用自适应跳频技术完全避免频率阻塞。
在非相干FSK解调器中,误码随信噪比变化的规律。信噪比由接收器密度和接收信号的强度决定。图5还显示了误码率随信号强度变化的规律。例如,10-2与10-3之间的差异对应于2dB。在实际中,如果能将纠错能力从10< sub/>-2提升至10< sub/>-3(假定应用中所需的误码率为10< sub/>-3),这意味着必须具有30%的裕量。
五、链接范围
实际链路范围是RF链路中最重要的参数。虽然硬件决定了管理链路范围的大多数参数,但软件也同样重要。只需简单地编写对输入数据进行过滤的软件即可将无线系统的范围扩大4倍并改进时序精确度。如果硬件不对输入数据进行过采样和滤波,就需要采用软件实现。良好的误码处理也可以改进系统的实际应用范围。
误码率是无线接收器所接收信号强度的函数,而信号强度则部分由接收器和发送器之间的距离决定。RF设计人员可采用链路预算方法来计算损耗及接收器剩下的信号强度。与其它传输媒介相比,RF系统的损耗较高。对于短程链路,发送器和接收器之间的总损耗通常介于50dB至120dB之间。
干扰通常会降低链路的范围,只有非常强的干扰才会导致RF链路完全失效。尽快对无线产品进行一些现场测试无疑非常必要,因为通过测试产品在不同环境下的行为即可考察实际干扰下的链路性能。
六、结论
无线系统设计完全不同于有线系统设计,不要期望原始的RF链路对任何应用都完全可靠,协议需要采取措施以将误码率降至可接受的程度。很多不太了解RF设计的人都对原始RF的误码性能具有一些不切实际的幻想,请记住即便是有线通信系统通常也需要采用差错控制和处理措施。
有了良好的软件和硬件设施,系统将比较可靠,而用户自然也乐在其中。在编写采用RF链路的嵌入式系统软件中,大部分工作将用于保障系统的可靠性。即便系统在实验室能可靠工作,但现场仍然可能失效,例如系统遭受其它采用相同频谱的RF设备的干扰。避免这类问题的最佳途径是增强系统的容错和干扰处理能力并在实际环境中进行现场测试。一般而言,尽量预测出可能出现的误码,就能使代码具有较强的鲁棒性。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。