由于 2.4GHz 技术在全球范围内均可免授权使用、数据传输速率更快,且相对于不足 1GHz 的技术而言还有许多其他内在的优势,目前得到了上述诸多无线系统的普遍青睐。但这种技术的缺点在于,这些系统不仅要相互之间、而且也要和 Wi-Fi、无绳电话和蓝牙等各种正在流行的2.4GHz系统争抢频道,各种 2.4GHz 无线系统之间不可避免地会发生相互干扰,增加通信故障的几率。因此,射频工程师只构建可以无线收发数据的无线电设备和协议栈而不考虑抗干扰机制显然已远远不够。设计人员必须采用智能技术,确保嵌入式无线系统在日益拥挤的 2.4GHz 射频频谱中能够切实可靠地工作。
功耗是射频工程师面临的另一大关键问题。许多嵌入式无线应用都要求电池供电的产品能够持续工作达数年之久,而不是仅持续几个星期或几个月。工程师不能仅采用超低电流消耗的射频组件来优化系统效率。大多数低功耗收发器在睡眠模式中的耗电量都比其在收发模式中的低 1000 倍,因此工程师必须设法减少过多的重复发送循环并尽可能延长系统的睡眠时间。工程师可通过动态数据速率和动态输出功率技术解决可靠性和功率效率问题。
可靠性
您只需观察设备间成功传输的数据包占所有数据包的比例就能判断出无线链接的可靠性。在许多情况下,提高成功传输率可能只会增强用户的使用体验。但是,在安全和医疗设备等特定应用中,成功传输率是一个不容忽视的关键要求。
在典型的低功耗射频系统中,信道以一定的数据速率发送和接收数据包。工程师常常采用频率捷变技术来增强可靠性,让系统在面临当前信道噪声过大、导致数据包丢失的情况下主动选择噪声较低的信道。具有频率捷变的系统要求收发器能够快速切换信道,而且需要协议栈能够告诉收发器选择哪个信道。大多数低功耗 2.4GHz 收发器都能迅速切换信道,但并非所有的协议栈都具有内置的频率捷变。最新型 ZigBee 2007 Pro 规范和赛普拉斯专有的CyFi Star网络协议都具有可防御干扰的频率捷变。
不过,频率捷变自身还远不足以确保 2.4GHz 频带内的无忧安全连接。在一些采用频率捷变的实施方案中,系统仅在数据包大量丢失而引发网络连接故障时才切换信道。因为只能在网络连接发生故障后才会启用新的低噪声信道,这种性能并不理想。鉴于此,频率捷变尚不足以预防系统故障,而仅能从故障中恢复而已。恢复功能对可以容许随机数据包丢失的体育休闲类应用可能已经足够了,但有些应用(如医疗设备和工业过程控制)则不能容许数据包有过多的丢失。
频率捷变的另一不足之处在于其假定相关射频频谱中总是存在一条无噪声的信道。在 2.4GHz 频带中,802.11g 路由器等设备要占用 22 MHz 的带宽,而 802.11n 路由器则会占用多达 40 MHz 的带宽。仅两台 Wi-Fi 路由器就足以占用整个 2.4GHz 频带了,而其他系统很难再找到未占用的低噪声信道,因而降低了频率捷变的有效性。
优化可靠性
尽管频率捷变自身还不足以提供全面的可靠性,不过我们可通过实施动态数据速率来增强稳健性,从而确保 2.4GHz 频带内的无忧安全连接。“动态数据速率”是指系统实时自动变换数据传输速率的能力。显而易见,人们似乎总是倾向使用最大传输速率。例如,就手机而言,Apple iPhone可以在移动环境增强型数据速率全局系统 (EDGE)、第三代 (3G) 和 Wi-Fi 协议之间无缝切换,从而为用户提供尽可能高的数据速率。
图1,32片顺序。
不过,就嵌入式无线系统而言,人们认为较低的数据速率比较高的数据速率更加可靠,因此,相对于更高的吞吐量,人们会更加倾向于选择更高的可靠性。例如,直接序列扩频 (DSSS) 调制技术会将数据编码为较长的“片”序列,这虽然会降低有效的数据速率,但能确保在面临干扰的情况下恢复原始数据。DSSS 发射器将一个数据字节编码为接收器可识别的 32片序列(图 1)。由于 32 个片代表一个数据字节,因此有效数据速率会降低为原来的四分之一。不过,即便干扰导致某些片丢失或者损坏,接收设备也能识别出 32片序列中的足够部分,从而确定原始数据字节。运行在 2.4GHz 频带中的 IEEE 802.15.4 收发器采用的是 DSSS 协议,其固定数据速率为 250 kbps。赛普拉斯的 CyFi 收发器最高数据传输速率可高达 1 Mbps,但其同时也具有250 kbps 和 125 kbps 的 DSSS 数据速率。
实践证明,DSSS 在有随机噪声或者可能会出现短暂突发干扰而导致个别片出错的环境中非常有效。如果系统在噪声干扰持续破坏随机位的环境中不使用 DSSS,数据包可能根本无法得以成功传输。
DSSS并不总是可以适应于各类环境的最稳健的技术。由于 DSSS 降低了数据速率,因此延长了无线电空中传输的时间,而这也增加了与其他网络冲突的几率。例如,如果系统运行的信道空间与传输视频文件的 Wi-Fi 路由器的信道相同,就会引发冲突,导致 Wi-Fi 数据包破坏系统数据包。所以当与Wi-Fi系统处于同一工作环境时,更有效的方法是尽量提高传输速率,并设法在Wi-Fi数据包之间找到短的间隙期间内进行转输。
不同数据速率在不同类型的干扰情况下其稳健性有所不同,因此可靠的系统可采用动态数据速率技术根据当前环境而进行实时调节。收发器和协议栈必须协同监视环境,并随时选择能够优化可靠性的数据速率。为了实现收发器和协议栈之间的协作,收发器必须支持快速、非编码数据速率以及较慢的编码数据速率。此外,由于数据速率是不可预见的,接收设备必须能够判定发射无线电正在使用的数据速率。为了将数据速率通知给接收无线电,发射无线电可在数据包开销的开始部分加入数据速率信息,这样接收设备就能切换到适当的接收模式接收数据包的数据负载部分。
然后,我们需要根据收发器的这些属性来确定使用何种数据速率的协议栈结合起来。协议栈的这一部分非常复杂,主要负责处理始终跟踪数据速率性能的算法,以计算出哪种数据速率更好。这种集成智能使得系统能实现最佳的可靠性。动态数据速率技术可以为频率捷变等其他方法提供一层额外的干扰防御功能。从某种意义上说,动态数据速率技术有助于避免发生故障,而频率捷变则有助于故障恢复。
数据速率切换时,输出功率级也可动态改变,从而进一步提高无线连接的可靠性。例如,如果系统检测到数据包故障率提高,那么可提高输出功率来解决干扰。输出功率越高,耗电量就会越多。因此,我们应当采用动态输出功率的实用方法,而不是立即使用最大输出功率,来慢慢提高输出功率,直至数据包故障率降低。
功率效率
设计电池供电型无线设备的嵌入式系统工程师主要关心的是收发器的电流消耗规范。例如,工程师可能需要在以下两种收发器之间做出选择:一种在收发模式下耗电 10 mA,在睡眠模式下耗电 0.5 μA,而另一种的耗电量则翻了一番,收发模式和睡眠模式下分别为 20 mA 和 1 μA。我们可能认为工程师会选择功率减半的收发器,不过这还需要从其他角度加以考虑。
就某个应用而言,假定第一部收发器在 90% 的时间内都处于睡眠状态,其平均耗电量约为1mA (10mA×10%+0.5μA×90%)。此外,我们再假定另一个收发器使用了 DSSS 技术,由于抗噪性的提高,其重复发送数据所需要的时间少于第一部收发器。就相同的应用而言,如果第二部收发器由于采用了DSSS 技术而睡眠时间比第一部收发器多出5% 的话,则第二部收发器的平均耗电量也约为 1mA (20mA×5%+1μA×95%)。这时您会选择哪款收发器呢?如果您选择了第一部收发器,那么当您发现该收发器由于持续发生的数据包丢失而不得不花费所有的时间重复发送数据包时,您可能就会后悔不迭了。
人们对功耗的最大误解莫过于认为低电流就意味着低功耗。实际上,功耗取决于对收发器的管理水平,而不仅仅取决于电流消耗规格。大多数低功耗射频收发器在收发模式下的耗电量都比其在睡眠模式下的耗电量高出约 10,000 至 20,000 倍。因此,协议栈应尽力让收发器尽可能长地处于睡眠状态之中。
优化效率
采用动态数据速率技术可最大化无线电处于睡眠模式中的时间,进而优化系统的功率效率。我们不妨来设想一下无线网络运行在无噪声通道中的情况。如果系统使用较低的 DSSS 数据传输速率(如 250 kbps),由于在无噪声环境中无须进行 DSSS 编码(图 2),则系统就会花费过多时间用于传输。再如,如果采用非 DSSS 的较高数据速率(如 1 Mbps),通过尽快提高发射速度,系统用于传输的时间就会降至最低,从而延长睡眠模式时间。因此,如果信道中的干扰较小或没有干扰,那么无编码的较高数据速率显然是最小化功耗的更佳选择。
图2,无噪声环境中无须进行 DSSS 编码。
然而,如果无线网络运行在干扰较严重的典型 2.4GHz 环境中,非 DSSS 的较高数据速率更易导致数据包丢失,进而不得不多次重发数据包。如果系统由于数据包丢失而必须持续重复发送,则其处于耗电比较严重的发射模式中的时间自然就会延长。如果系统采用较低的 DSSS 传输速率,那么系统就能容许干扰并避免重发,从而延长系统处于超低功耗睡眠模式中的时间。
大多数低功耗射频技术使用的都是需要或无需编码的固定数据速率。因而,如果出现的干扰与其数据速率不适应的话,系统的运行效率肯定就会变差。而如果采用动态数据速率技术,无线系统就能在不同环境自动选择适当的数据速率,尽力降低功耗并确保始终高效运行。如果系统检测到信道中无噪声,就会随即切换到较快的数据速率;如果系统检测到信道噪声较高,则会选择速度较慢、却更稳健的数据速率。
系统输出功率的动态变化还能实现最佳功率效率。提高系统的输出功率有助于解决干扰,减少数据包重发情况的发生。不过,提高输出功率自然就会增加电流消耗。理想的情况是,系统采用的协议栈能够计算出通过提高输出功率和减少重复发送究竟能节约多少用电,并将节约下来的电量与提高输出功率所需的电量加以比较。另一种节电方案是将输出功率降到仍足以让系统维持同等数据包故障率的最低水平。要实现这一方案,我们可慢慢降低输出功率,直到数据包故障率即将上升为止,从而确定最低输出功率。
就优化无线嵌入式系统可靠性和功率效率而言,动态数据速率和动态输出功率是基本的,却也是非常行之有效的两种技术。
!-->