新闻中心

News

看这里!TC10休眠唤醒测试干货集结


着支持TC10的PHY芯片逐步发布,如Marvell 88Q111x、Microchip LAN8770、NXP SJA1110(Switch芯片,集成PHY)等,TC10(Eth物理层休眠唤醒)+UDPNM(Eth应用层休眠唤醒)的应用将成为各OEM逐步开展的储备技术甚至是量产技术之一。


本文将要介绍的TC10休眠唤醒测试套件(OPEN Sleep/Wake-up Test Suite, draft版本)则是针对物理层(PHY)休眠唤醒功能一致性的测试用例规范;其目的是帮助OEM/Tier1评估其支持TC10休眠唤醒机制的100BASE-T1控制器(ECU)的PHY设计及实现功能是否满足设计规范要求。


本文将参照draft版本测试规范,介绍其中的部分内容,主要包含基本测试结构、被测件要求和测试用例。

基本测试结构

TC10休眠唤醒测试套件给出了测试用例的基本结构,并对每一项进行了介绍及说明,便于开发及测试人员理解测试用例。

测试用例的基本结构如下表:

被测件要求

为了实现TC10休眠唤醒测试,对被测件有一些特定的要求,以便满足某些测试用例;针对不同的测试用例,对被测件的要求不同,详细要求参见下表:

从表中可以看出,TC10休眠唤醒测试文档将测试用例划分为5个测试组,分别用于验证PCS扰流、定时器和管理功能、PHY电源模式状态、PHY控制状态以及I/O接口。对于部分测试项目,如Test 97.2.1并未对DUT有特殊要求;而另一部分测试用例,如Test 97.3.1对DUT的要求是设置loc_sleep_req=TRUE。


从表中对DUT的要求来看,主要分为两类:一类是对DUT的配置,如配置loc_sleep_req=TRUE,或者配置loc_wake_req=TRUE;另一类是对DUT的状态监控,如Observe link_control or inhibit signal。无论是配置,还是状态监控,都需要PHY本身支持,这里的支持不仅需要PHY支持TC10,又需要PHY寄存器支持读写;在此基础上,还需要OEM/Tier1 完成本部分内容的开发。同时测试结构表中未罗列,但需要ECU支持主/从(Master/Slave)配置,这在后续测试用例的测试步骤中有体现。


PS:Test 97.2.5转发唤醒测试用例,要求DUT必须是交换机节点,即包含switch,这点比较好理解,且单一用例要求,并未在上面说明。

测试用例

从被测件要求这一部分,相信大家已经对测试用例有了初步了解,TC10 休眠唤醒测试draft版文档将测试用例分成5个测试组,每个测试组关注的测试点不同,其测试用例数会有差异,接下来将从中选择2个用例来分享。


3.1 Test 97.2.1-Value of sleep_ack_timer在上一篇文章《浅谈TC10休眠唤醒规范》中简要介绍了TC10使用的2个定时器参数(sleep_ack_timer和sleep_req_timer),本测试用例则用于验证其中之一的sleep_ack_timer定时器。


首先回顾下sleep_ack_timer定时器,参看图1,该定时器是在ECU PHY进入SLEEP_ACK状态之后开始计时(图中动作②),当定时器超时后将跳转至SLEEP_REQUEST状态(图中动作④)。


PHY电源模式及跳转示意图(Source:OPEN Sleep/Wake-up Specification V2.1)


sleep_ack_timer定时器测试描述如下:



从潜在问题描述可以了解到,目前该项测试仍存在几个待确认或者说讨论的点,即sleep_ack_timer定时器开始时刻的确定,以及sleep_ack_timer定时器超时状态的确定。这些都需要随着TC10应用的深入,进行逐步讨论;同时也期待在后续public版本中会有具体的描述或者要求。


3.2 Test 97.3.3-SLEEP REQUEST

在PHY满足TC10要求的情况下,PHY芯片会在不同的状态(Normal、SLEEP_ACK、SLEEP_REQUEST、SLEEP_FAIL、SLEEP_SLIENT和SLEEP)之间进行跳转,本用例就是验证其中的SLEEP_REQUEST状态退出机制。


结合图1,SLEEP_REQUEST状态退出之后,会根据ECU的参数状态不同而分别进入两种PHY状态,即SLEEP_FAIL(图中动作⑥)和SLEEP_SLIENT(图中动作⑤)。测试过程也将本测试用例分成两个子case,用以验证不同状态之间的跳转过程。



从潜在问题描述中可以看出,进入SLEEP_FAIL状态的跳转需要DUT满足一定的条件,这些都需要在测试之前对DUT进行要求,同时在测试之前进行确认的内容。

总结

本文仅对TC10休眠唤醒测试进行简要介绍,draft版本对于测试用例中的部分内容在本规范中未明确介绍,同时在测试用例的潜在问题也可以看出,目前的测试用例是否可执行还存在疑问点,但不妨碍大家对TC10测试的学习与了解。


相信随着满足TC10设计规范要求的PHY芯片的量产,以及与UDPNM的联合应用逐步展开,TC10 PHY测试规范也将逐步完善,测试用例将逐步增多完善,测试潜在问题也将逐步讨论确认。