【技术论文】|卫星SpaceWire链路的调试和验证
编者按:
罗德与施瓦茨致力于提供卫星全产业链测试解决方案。其中关于卫星的 星载平台及相关测试,我们可以 抽象 为一张图。 如图a所示,控制总线是非常重要的 组成部分。
图a:星载平台测试图
SpaceWire是卫星特定协议,可在有效载荷上以及有效载荷与总线系统之间实现高度可靠的星上通信。 R&S RTO示波器提供完整的SpaceWire测试方案。该示波器提供业内唯一SpaceWire连续比特流的SpaceWire触发和解码同步算法。具体的测试架构如图b所示。
图b:SpaceWire测试架构图
需要特别注意的是SpaceWire的后续技术体系为SpaceFibre, 可提供更高的数据速率,每通道高达6.25 Gbit/s。R&S RTO示波器亦可提供SpaceFibre测试。
下面分享一篇R&S工程师参与撰写的技术论文《卫星SpaceWire链路的调试和验证》,详细呈现星载平台中控制总线测试。 本文为部分内容,完整版英文原文可点击下载 。
本文介绍了使用示波器对SpaceWire通信链路进行调试和验证的方法。 结合强大的解码功能讨论连续SpaceWire数据流的新触发算法。SpW通信数据可以很容易地与卫星上的功率和数字事件关联。SpW数据和Strobe之间的偏移链路运行是比较严重的威胁。通过使用多种示波器功能,评估不同链路中的链路偏移量。此外,还将引入眼图等合规测试功能。本文建议针对数据信号使用快速硬件实现的时钟恢复来创建眼图。
在调试SpaceWire通信链路时,问题可能存在于协议栈
的不同级别。因此,测试工程师也必须分析不同层级的通信。确定问题所在并不容易。如果问题看起来在物理层,最常见的分析工具是示波器。
图1 展示了SpaceWire协议栈。在大多数示波器中,无 法获得SpaceWire解码数据,只能获得转换时间、脉冲宽度、传播延迟等。
图1 SpaceWire协议栈
如果问题不仅存在于物理层,那么调试任务就会变得 更加困难。本文介绍了一台可以覆盖物理层以上的示波器因为除了基本的信号测量外,它还可以从SpaceWire信号中提取眼图、解码SpaceWire数据、并触发SpaceWire字符。
解码测量允许显示捕获信号的逻辑内容。与协议分析 器或网络仪器不同,示波器只能解码采集窗口中当前捕获的内容。在没有通信握手信息的情况下,示波器上的解码器选项必须找到其他方法来识别数据流中的数据包。SpaceWire没有易于识别的数据包结构,因为数据包不是由规则的空格分隔的,也不是由特定的数据模式标记的。罗德与施瓦茨SpaceWire解码器使用奇偶校验位来对齐数据包,并使用了消除算法。为了使该算法工作,在采集窗口的开始需要至少110位无差错数据。一旦对齐,解码器就能够识别所有SpaceWire数据包类型并将其呈现给用户。
A
图形显示
✦
通过精准的设备诊断与维护,施家全新一代空气断路器系列产品可帮助大幅提升运维效率。
显示数据的一种非常直观的方式是在相应的轨迹上显示图形。通过将每个数据包的开始和停止与信号对齐,用户可以看到数据流中的哪些高/低转换是特定数据包的一部分。当信号因信号劣化或其他错误(例如毛刺)而显示错误时,这特别有用。
解码器识别并标记此类错误。在SpaceWire的情况下, 这通常是奇偶校验错误。使用缩放功能,用户现在可以定 位和调查这些问题。
B
结果表显示
✦
特别是对于大量数据采集,在结果表中显示识别的数据包可能会更有帮助。结果表列出了所有解码的数据包,包括开始/停止时间、(错误)状态和值。
对于自动化或高级数据处理,可以使用远程命令查询此结果表,也可以简单地将表导出为通用文件格式。
C
搜索功能
✦
Spacewire有很多小数据包。一个大的捕获窗口可以很容易地产生数百个解码的数据包。使用搜索功能,用户可以过滤有趣的结果并忽略其他结果。
在信号流中,用户如何识别一个有趣的区域?例如,某些罕见事件何时发生?这些可能是错误,也可能只是数 据传输的开始或结束。这就是基于解码器的触发功能有帮助的地方。使用基本的边缘触发,此SpaceWire触发功能可以识别任何总线活动,解码数据,然后搜索所需的事件。重复此过程,直到检测到至少一个事件。然后,在触发标记处显示本地化事件。图2显示了EOP触发的一个示例,它是数据包的末尾(刚好在屏幕中心之后)。
图2 EOP上显示触发器的图形解码器显示器
可能的SpaceWire字符触发器有:
• 控制——FCT、EEP、EOP或ANY
• DATA–任何值(相等、不相等或范围)
• 无效的
• TIMECODE–任何值(相等、不相等或范围)
• 错误-奇偶校验或转义错误
SpaceWire在高比特率下的成功运行在很大程度上取决于整个网络上数据选通对之间的偏移。因为SpaceWire协议依赖于数据和选通信号的任何2个边缘之间的最短时间 来进行正确解码。为了确保这一点,SpaceWire标准确定在发射机和接收机之间的整个路径上应尽量减少偏移,其中包括:
数据/选通CMOS生成/传播(源逻辑)
LVDS驱动器
LVDS驱动器和SpW连接器之间的PCB通路
SpaceWire电缆(和连接器)
SpW连接器和LVDS接收器之间的PCB通路
LVDS接收器
CMOS传播和目标逻辑使用
SpW Rev 1[1]标准的附件1描述了如何进行一些“隔离” 测量,如仅驱动器、仅接收器、仅电缆等。只有当您可以 访问所有单独的组件/零件时,才有可能进行这些测量。
本文的方法是使用整个链路(驱动器、连接器、电缆 和接收器),以获得该特定链路中的数据/选通偏移之和。
为了做到这一点,本节使用了9种不同的设备。在这9个设备之间的41个不同点对点链接中检查了偏移。使用不同的电缆长度(1m、1m+1m、1m+2m)连接2个SpW设备。
本文比较了SpW DATA和Strobe之间自动测量偏移的两种技术:
❖ 1. 使用示波器内置的SETUP和HOLD测量
❖ 2.创建一个MATH函数,它是DATA和STROBE的XOR。然后在此数学函数上测量高脉冲的持续时间。
如图3所示,在SETUP/HOLD的情况下,时钟斜率设置为“任一”[2]。这样,示波器测量“时钟”转换到“数据”上的任意转换之间的时间间隔。SETUP首先考虑数据更改,HOLD 首先考虑时钟更改。如果将SpaceWire数据分配给示波器时钟或数据,则无关紧要。在这两种情况下,都将测量STROBE的任何边到DATA的任何边之间的时间距离(反之亦然)。
图3 SETUP/HOLD测量的范围设置
在具有DATA和STROBE的通道之间使用MATH XOR函数的情况下,可以测量高(正)或低(负)脉冲,这也指示了DATA和STRUBE边缘在“任何方向”上的时间间隔。
在这两种情况下(SETUP/HOLD和MATH XOR)都启用了测量统计,这样我们就可以检测到一段时间内出现的最大值。为了获得更好的统计数据,我们等待范围至少包含10000个事件。
在图4中,有Math XOR上的SETUP和HOLD以及正脉冲的测量值。一组用于通道1和2,另一组用于信道3和4。在这一特定案例中,共发生了11454起事件。
图4 SKEW相关测量范围
T1和T6是LVDS收发器。如图5所示,通道1和2有来自T6驱动器的信号,通道3和4有来自T1的信号。它们之间有1 米长的SpaceWire电缆。在这个例子中,两次测量都是在T6侧(或靠近T6驱动器/接收器)进行的。
图5 SKEW测量的物理设置
表I显示了T6/T1通信对的SETUP/HOLD和MATH XOR结果,如图5所示。
表I. SETUP/HOLD和XOR比较
通道1和2的测量偏移约为0.5ns,通道3和4的测量偏移 为0.7ns。对于通道1和2,从“SETUP/HOLD方法”和“MATH XOR方法”获得的值之间的差异为0.15ns,对于通道3和4,差异为0.28ns。
在表二中,我们可以看到在所有41个点对点链路上使 用的两种方法之间的比较。该表显示 了使用SETUP/HOLD和MATH/XOR方法测量的偏移之间的差异。 在这种情况下:
❖ 使用了9台设备,所有链路均为200Mbps
❖ 测量是在接收器侧进行的
❖ 采用不同的电缆长度(1m、1m+1m、1m+2m)进行测量
表二 41个链路的偏移接近差异
考虑到测量的所有41个链路,两种方法之间的最大差值为1m SpW电缆0.4ns,3m SpW电缆0.65ns。
考虑到探头带宽,这可以被认为很小。 因此,我们可以得出结论,这两种方法都等效于检测SpaceWire链路中DATA和STROBE之间的SKEW。
眼图对于确定许多高速通信链路的质量非常重要。SpaceWire在这方面没有什么不同。除了反映链路组件中存在的各种偏移外,眼图还提供了旭东抖动测量的结果。对于本节测量:
以不同组合使用的10台设备
使用示波器测量眼图(自动设置)
测量的眼高(mV)、眼宽(ns)和Q因子
尽可能使用200Mbps。一个设备(T4)限制为 100Mbps,另一个限制为40Mbps
无电缆测量(靠近驱动器和接收器),但也有不 同的电缆长度(1m、1m+1m、1m+2m)
图6显示了使用3m SpaceWire电缆的两个LVDS收发器T1 之间的SpaceWire 眼图。
图6 眼图——T1至T1,带3m电缆(在RX侧测量)
表3显示了3种不同设置的眼图测量结果。
表III. 眼图结果——3种设置中的T1至T1
除了如前所述的眼图测量外,还可以在眼图内设置模 板。眼图模板用于确定信号是否保持在指定范围内。因此, 可以看到任何违规行为或确定违规统计数据。
在本节中,我们使用R&S RT-ZVC02多通道功率探头测量了2个不同点的电流。在某些情况下,将信号和消息与功耗相关联是有用的。该探头允许我们使用4个差分模拟探头并行执行2个电流和2个电压测量。
图7显示了SpaceWire断开连接时,其中根据协议状态 机存在“静默交换”。除了2个设备的2个SpaceWire信号外,我们还有2个电流测量值,总共6个信号。
在下面的示例中,Z1.I1上的电流从34.6降至31.4mA,Z1.I2上的电流则从11.1降至7.9mA。
图7 SpW断开连接时电流下降
使用ZOOM功能,可以观察到4个信号波形的详细信息。还可以在SpaceWire两侧启用DECODE,以检查SpaceWire链路初始化期间交换的所有字符,如图8所示。这是SpW DECODE使用的另一个很好的例子。
图8 SpaceWire链路初始化
在每侧进入运行状态后,传输速率从10 Mbps切换到 200 Mbps。
综上所述
联合作者:
Daniel Lazari, Alexsander Deucher, Angela Santos, Saulo Finco
CITAR Project - CTI
Campinas, Brazil
Armin Horn 1 , Matthias Beer 2 , Volker Ohlen 2
Rohde & Schwarz Test & Measurement Division
Beaverton, USA 1 - Munich, Germany 2