对某以太网设备进行长时间的温度循环测试,利用 SmartBits(SmartBits 设备,是由Spirent 公司开发的,用于以太网数据流量测试的设备。)对设备连续地、全速率地发送以太网数据包,测试人员发现一个奇怪的现象,设备在白天的测试中,均无丢包现象,夜间设备继续运行,但是第二天一早就会发现已发生丢包。
《讨论》
该设备的用户接口是百兆以太网接口,利用5类非屏蔽双绞线与 SmartBits 连接,由于端口数目较多,线缆布线较杂,存在线缆被实验室管理员挪动的可能,在挪动过程中,可能导致丢数据包。经与管理员确认,这种可能被排除。
温度循环测试是指,通过对温箱温度曲线的控制,以实现调整产品工作所处环境温度的目的。在这个测试中,温度曲线如图 6.9所示。
图6.9高低温循环测试温度曲线
循环测试一个周期共 26h (h:小时),分为六个阶段。第一阶段是用4h 均地从25℃降温到-5℃,第二阶段是在-5℃保持 5h,第三阶段用 4h 均地从-5℃升温到 25℃,第段用4h 均匀地从25℃升温到 55℃,第五阶段是在55℃保持 5h,第六阶段是用4h从55降温到25℃。在这个过程中,产品不间断地全速运行。测试人员每天清早 9 点钟开始一个周期的测试,到下午 6 点下班前检查丢包情况,没有发现丢包,第二天清早9点检查,发现已经出现丢包现象。头天清早 9点到下午 6 点,循环测试正好完成了头两个阶段,从夜间到第二天早上9点,完成第三、四、五阶段以及第六阶段的一半,即丢包现象总是发生在后四个阶段。而后四个阶段有两个特点:一是升温,二是高温。在高温 55℃下,测量单板上与 PHY 相关的信号完整性和时序,没有发现问题。
利用 SmartBits 对以太网产品进行流量测试,有两个原因可能丢数据包:一个是产品本身存在缺陷;另一个是SmartBits的晶振快于以太网产品上PHY使用的晶振在高温下进行大量测试后,可基本排除产品缺陷造成丢数据包的可能性以下主要讨论晶振快慢对数据传输的影响。
SmartBits 是用于以太网性能测试的设备,在本案例中,其作用是以线速的速度产生以太网数据包,并发送给以太网交换机,以太网交换机收到数据包后,在内部转发,最终又将所有数据包发回SmartBits。SmartBits 通过检测发出的数据包数目和接收的数据包数目是否相等,来判断是否发生了丢包。如图6.10所示,假设SmartBits 上的IC1是负责收发数据包的芯片,数据包到达以大网设备,完成业务后,通过芯片 PHY1发送回 SmartBits。在这个过程中,SmartBits 上的ICl是基于晶振OSCI收发数据包,而以太网设备的PHY1是基于晶振OSC2收发数据包,由于双方采用的不是同一颗晶振,在频率上必然有一定的差别。假设 OSC1和OSC2都是25MHz(误差士50ppm)的晶振(ppm指百万分之一,此处,50ppm的误差即为50Hz),虽然标称频率和精度完全一样,但实际振荡频率并不完全一样。利用频率计测量,在室温下,OsC1的频率是25.000050MHz,即25MHz(误差+2ppm);OSC2的频率是25.000100MHz,即 25MHz(误差+4ppm)。OSC2略微快于 OSC1,即以太网设备上 PHYI的工作速率高于SmartBits上IC1的工作速率,因此在常温下,以太网设备有能力将SmartBits发送来的数据包接收下来,并全部发回。
图6.10 SmartBits 与以太网设备连接
白天的测试从不丢包,分析温度循环曲线图可知,白天的测试包括常温和低温两种情况,在测试中,只有以太网设备被放置在温箱中,而 SmartBits 一直工作在室温环境,在低温-5C下测量OSC2的频率为25.000300MH,即25MHz(误差+12ppm),高于OSC1室温下的频率25MHz(误差+2ppm),因此,在低温下,以太网设备同样有能力将 SmartBits发送来的数据全部发回。
丢包现象都是发生在夜间,夜间的测试包括低温、常温、高温三个阶段,通过前面的测试已经证实,低温和常温条件下,OSC2 的频率都快于 OSC1,因此主要考虑高温的情况。在55C,测量OSC2的频率为 24.999825MHz,即25MHz(误差-7ppm),慢于OSC1,在这种情况下,以太网设备没有足够的能力将 SmartBits 发送来的数据包全部发回即对于以太网设备而言,接收到的数据包始终多于能发送出去的数据包,必然造成丢包。根据以上分析得到结论,夜间丢包的原因是高温下 OSC2 的速率慢于 OSC1。为了检验这个结论,设计者将 SmartBits 发包速率从全速的 100%调整为97%,进行多个温度循环测试,没有发现丢包。由此证明丢包原因确系高温下 OSC2 速度较慢。仔细查阅以太网设备上使用的晶振 OSC2的器件资料,发现晶振的输出频率随着环境温度的变化,也会有略微的变化,如图 6.11 所示。
图 6.11 晶振频率一温度变化曲线(-40~+85°)
以 25C时晶振的频率为基准,随着温度的降低,输出频率将先提高,再降低;随着温度的升高,输出频率将先降低,再升高。本例中,55C时的晶振输出频率相对常温最多可能降低12ppm。
推荐阅读