本文讨论在测试无线系统期间需要考虑的重要因素,尤其是涉及时序和同步的系统级测试,还讲述在特定的误差馀量内,发射器和接收器模组之间无线传输数据时,这些因素有多重要。本文中讨论的因素将有助於开发测试用例,这些测试用例将确定功能性和非功能性规格、系统边界和漏洞,以确保建构高度可靠和同步的无线系统。
无线技术的迅速发展开启了无线通讯的新纪元。它几??无处不在,对通讯、医疗健康、汽车和空间探索产业等不同领域的创新发展产生了重大影响。该市场已然成熟,且正在经历一个充满活力的成长时期。2019年,其收入为14,313亿美元,预计到2024年,这个数值将成长到55,194亿美元,复合年成长率为31%。
无线技术仍在不断发展,并将会实现更高的准确性、更高的营运效率、更快的决策速度、更高的资料速率和更多成本节省,继续开辟更多的可能性。但是,随着这些元件的功能不断增加,无线系统级测试环境的复杂性也随之提高。
准确的时序和同步是保证无线系统正常工作的基本要求。这是指在设定的公差内,匹配系统中的发射机时脉和接收器时脉的过程。它们用於确保最高的数据封包完整性和优化资料流程,在进行无线系统测试和开发时,我们应始终重点考虑这些因素。
但是,要满足这些要求很困难,因为时脉源会漂移,这一点广为人知。即使是几毫秒的微小漂移,也会随时间不断累积增大,导致系统丧失同步。只有在时脉完全匹配的时候,才能实现完全同步的无线系统。但实际上,这非常困难。漂移是时脉的固有特性,会导致时脉计数时间出现偏差,最终导致不同步。
同步不良的系统可能导致传输性能降低,进而降低所传输的资料的品质。此外,它还可能导致资料完整性丧失,导致操作失败,在可能影响健康、安全和人身安全的应用中,上述这些问题将非常关键。在这些应用中造成负面影响可能导致需要承担法律责任,且丧失客户信任度。
监於对精准同步系统的需求如此之大,我们可以根据要求,例如精度和移动程度,使用多种同步技术。它们分别是:
基於发射器-接收器的同步
基於接收器-接收器的同步
延迟测量同步
基於发射器-接收器的同步是一种双向资讯交换。感测器网路的时序同步协定(TPSN)就是这样一个示例。在TPSN中,网路同步是透过在节点之间发送和接收同步脉冲数据封包实现的。会用时间戳记标记每次传输的时间偏移并加以计算,以确定时脉时间差,然後用於进行节点同步。
基於SFD的同步使用单向资讯交换。叁考广播同步(RBS)使用这种同步。
延迟测量同步和基於接收器-接收器的同步一样,也是一种单向资讯交换;但是,它用於测量延迟。延迟测量时间同步(DMTS)就是这样一个示例。
接下来将详细讨论使用TPSN的无线系统中使用的不同的时序和同步叁数,每个叁数如何影响系统的整体功能,以及如何配置这些叁数,确保实现更可靠的同步系统。此外,在执行无线系统级测试期间,这些叁数将有助於识别与时序和同步相关的漏洞和系统边界。
时序和同步叁数
同步叁考
无线电让软体能够使用同步叁考点来准确安排发射和接收命令。以叁考点作为基准,按正偏移计画事件,在发射器和接收器之间实现同步。
以下是无线系统中常用的叁考点:
立即同步
同步叁考点在处理同步命令(set_sync_ref(NOW))当时设定。
图四显示被传输的数据封包与被命令(set_sync_ref(NOW))设定的叁考点之间的关系。
同步SFD
同步叁考点在帧开始(SOF) 当时设定,表示检测到有效的同步字。
发送命令(set_sync_ref(SFD))之後,会在命令被发送之後检测到首个帧开始(SFD) 当时设定叁考点。在图五中,第2个发射数据封包是以SFD叁考点为基准进行传输。
同步最新
在这个同步模式下,同步叁考点在每个SOF时置位。如图六所示,对於後续收到的每个有效数据封包同步字,同步叁考会更新到最新的SOF的时间戳记时间。
使用这些同步模式可以在两个节点之间实现同步。但是,需要注意的是,硬体时脉以漂移而闻名,这导致其频率随时间变化,由此导致不准确。所以,在任何给定时点,时脉都可能不相同。不断更新发送和接收时脉的同步叁考,最大限度地减少偏斜和偏移效应。
时间偏移
时间偏移是指当前时间与时间捕获或同步叁考开始时的时间差。在发送或接收时,会使用这个叁数。
最小时间偏移开始是立即执行发送/接收命令所需的最短时间。基於API和无线电固有的延迟来计算这个叁数。如果数值比这个值更小,会导致调度错误,使得发射/接收操作失败。
图八显示一种场景,其中使用的时间偏移小於最小允许时间,导致命令被调度至已经过去的时间。
执行两个连续的发射和接收命令(发射-发射或接收-接收)时,如果两个命令都使用单个时间叁考,那麽第一个数据封包的大小是确定用於成功执行第二个命令所需的时间偏移量的重要因素。当第一个数据封包的长度增加时,第二个命令的时间偏移量也必须增加,以确保能成功执行该命令。如果使用的时间偏移量小於可允许的最小时间偏移量,则会在仍在执行第一个数据封包时调度第二个数据封包,导致操作失败。如图九所示。
最大时间偏移量
最大时间偏移量用於防止在设置时间外调度数据包。因为时脉漂移,调度偏离同步叁考太远的数据封包会导致调度不准确,进而导致讯号检测超时或SOF超时。我们将在超时章节详细进探讨这些超时。
周转时间
周转时间是指实体层(PHY)从接收模式变更为发射模式(反之亦然)所需的时间。在周转时间内,类比RF前端中的组件通电并达到稳定,这需要很长时间。这种时间消耗对低延迟回??应用来说会更加重要,例如工业系统中的制程控制??路,其中涉及远端控制机械手臂或其他机器。周转时间仅适用於半双工收发器。
如果使用者需要在传输接收封包之後,在实体层再次就绪时发送数据封包,就会使用周转时间(反之亦然)。
图十显示两个数据封包:接收封包和发射封包。在这个场景中, sched_rx_packet(0)使收发器准备接收数据封包。在本示例中,偏移量设定为0,这表示收发器会在实体层就绪之後,即刻开始接收数据封包。接收数据封包期间,sched_tx_packet(0)命令被发送,导致实体层切换至周转状态。软体将接收操作完成作为叁考点来调度发射数据封包,然後增加周转时间值。
图十一显示软体中未设定周转时间时会发生什麽情况。由於没有设定周转时间值,调度程式设定在第一个数据封包传输完成後即刻开发发送下一个数据封包。调度程式不知道实体层尚无法进行发射/接收,因为它还需要更改其状态,导致无法成功传输下一个数据封包。
这说明了设定周转时间的重要性。如果不进行设定,用户将无法知道在发送期间调度的接收能否成功执行(反之亦然)。周转时间值应基於实体层从实体层发送状态转换到实体层接收状态所需的时长决定。本场景对射频元件从发送状态频繁切换到接收状态(反之亦然)的用例非常重要。
数据封包之间的时间间隔
数据封包之间的时间间隔是指前一个帧的最後一位和下一个帧的第一个位之间的时间间隔。与周转时间一样,数据封包之间的时间间隔被用於叁考,用於确定在发送/接收另一个数据封包期间,发送数据封包的时间间隔。
区别在於,数据封包之间的时间间隔是用於同类型的两个数据封包(发送-发送或接收-接收)之间。收发器需要使用数据封包之间的时间间隔来让实体层为下一个数据封包做好准备。
图十二显示两个数据封包:发射包和发射包。在这个场景中,命令 sched_tx_packet(0)使收发器准备好立即发送数据封包。在第一个数据封包尚未发送完成时发送另一个sched_tx_packet(0)命令,会导致调度程式设定在目前数据封包发送完成後,立即开始发送下一个数据封包。调度程式将数据封包之间的时间间隔用作叁考,用於确定何时发送下一个数据封包。其值由实体层的下降或上升时间决定。这用於确保实体层已准备好进行下一轮数据封包发送/接收。
图十二 : 采用数据封包之间的时间间隔的数据封包调度 |
|
图十三显示在未设定数据封包之间的时间间隔时发生的错误。调度程式设定下一个数据封包在第一个数据封包发送/接收完成後立即开始发送。但是,与周转时间相同,调度程式并不知道实体层尚未准备好进行另一轮发送/接收。
图十三 : 不采用数据封包之间的时间间隔的数据封包调度 |
|
超时
在无线系统中,超时用於防止元件无限等待回应。超时设定了允许元件等待有效回应的时间。如果在该时间段内没有收到有效回应,将报告一个错误。最常见的超时类型如下:
帧开始超时
检测到无效同步时,会发生SOF超时。当SOF计时器在接收到同步字之前过期时,也会发生SOF超时。
图十四显示在SOF计时器周期内检测到的有效同步位址,图十五显示在分配时间内未检测到有效同步位址时,发生SOF超时的场景。
讯号检测超时
在SD周期内未检测到有效前同步码,或者计时器在接收前同步码之前过期,此时会发生讯号检测超时。分别如图十六和十七所示。
图十七 : 因为未检测到数据封包,导致SD逾时错误 |
|
图十八显示在计时器周期内检测到有效的前同步码的场景;所以,未检测到超时。
设定正确的超时周期是非常重要的。超时时间不能太短或太长。如果超时时间太短,会导致杂散检测,也就是存在有效数据封包,但因为超时时间太短,没有足够的时间进行检测。延长超时时间会降低杂散超时的次数,但会导致元件更长时间处於启动状态,这会消耗和浪费更多功率。
结论
对於无线系统,时间同步是一个非常重要的元素,尤其是对於极为重视资料完整性的应用。有许多因素会影响到系统同步,充分了解时序叁数的相关性和特点有助於工程师开发并对高度可靠的无线系统执行无线系统级测试。
(本文作者Jeffrey Fajutagana、Kiana Khey为ADI韧体工程师)