概述 TC10 为OPEN Alliance 中的一个技术委员会小组,专注于研究基于车载以太网的休眠唤醒机制,旨在为汽车应用场景提供灵活的休眠唤醒解决方案。该小组提出的休眠唤醒规范(《TC10 Sleep/Wake-up Specification》,以下简称TC10规范)作为对IEEE 802.3系列规范的补充,详细定义了以太网PHY的休眠唤醒过程、新增服务原语和接口、时间参数、指令描述等内容。目前,TC10已经发布了适配10Base-T1S、100Base-T1、1000Base-T1和MultiGBase-T1等类型的以太网休眠唤醒规范,本文将以1000Base-T1为示例,详细介绍TC10规范。 服务原语 图 1 TC10 1000Base-T1 PHY服务原语示意图 服务原语是PHY提供的与上层模块间交互的指令,用于实现上层对PHY的行为控制和状态监控,TC10规范在IEEE 802.3bq规范的基础上,新增了与休眠唤醒相关的服务原语接口供上层调用,如图 1所示。以下是几个主要服务接口的介绍。 - Sleep.request:睡眠请求,控制PHY的开始睡眠行为,PHY收到该请求后,会向链路伙伴(Link Partner)发起睡眠协商过程。
- Sleep.indication:睡眠指示,表示PHY接收到了来自链路伙伴的睡眠指令。
- SleepFail.indication:睡眠失败指示,表示睡眠过程的中止或者睡眠协商失败。
- Wakeup.request:唤醒请求,控制PHY开始唤醒行为,PHY接收到该请求后,会生成唤醒指令。
- Wakeup.indication:唤醒指示,表示PHY检测到唤醒事件,该唤醒事件可能来自ECU的本地唤醒,也可能来自链路伙伴的远程唤醒请求。
- WakeupForward.request(可选):唤醒转发请求,表示当前端口的唤醒事件是从其他端口转发过来的,通常由Switch节点实现。
- WakeupForward.indicaion(可选):唤醒转发指示,表示IO接口或MDI接口接收到唤醒转发请求,需要将某个端口接收到的唤醒事件转发至其他端口,通常由Switch节点实现。
指令 TC10定义了三个以太网链路指令,用于控制器PHY和PHY之间的休眠唤醒交互,分别是LPS、WUR和WUP。 - LPS(Low Power Sleep):该指令表示发送节点的休眠意愿,当ECU满足休眠条件后,会向链路伙伴发送LPS指令。
- WUR(Wake-Up Request) & WUP(Wake-Up Pulse):WUR和WUP均表示唤醒请求,当控制器需要唤醒其他节点时,需要向链路伙伴发送唤醒请求。二者的区别在于:当检测到与链路伙伴间的以太网Link状态为Link Up时,发送WUR;当检测到与链路伙伴间的以太网Link状态为Link Down时,发送WUP。
休眠 与CAN超时休眠的过程不一样,为避免以太网休眠后其链路伙伴检测到PHY 的Link Down错误, 以太网链路两端的节点在进行休眠时需要进行“协商过程”,具体流程如图 2所示。 - 假设ECU1首先满足休眠条件,则其作为休眠发起者,向其链路伙伴发送LPS指令;
- ECU2接收到LPS指令后,会根据自身需求判断是否满足休眠条件,若满足,则ECU2也会向ECU1发送LPS指令;
- ECU1和ECU2后续会进入到Silent模式。在Silent模式下,PHY的PMA TxMode会处于Send_Z 模式(即发送全0信号);
- 当ECU监听到对端节点的Send_Z信号后,满足休眠条件并进入Sleep状态。
图 2 TC10 1000Base-T1 PHY 休眠时序示意图 唤醒 PHY的唤醒流程如图 3所示。 - 假设ECU1有唤醒远程节点的需求,ECU的P1端口根据本地PHY的Link状态,发送WUR或者WUP唤醒请求;
- ECU2的P2端口收到来自的P1的唤醒请求后,和P1端口间Link Up;
- ECU2作为Switch节点,还需要根据自身配置,判断是否需要对来自P2端口的唤醒指令进行转发,如果需要,则ECU2的P3端口也会向下游节点发送唤醒指令。
图 3 TC10 1000Base-T1 PHY唤醒时序示意图 随着汽车智能化的不断发展,整车控制器的数量逐渐增多,PN(Partial Network)的实现为整车节能策略的设计提供了更多灵活性。在某些功能场景下,同一个网段内只需要唤醒车辆系统的部分控制器工作,其他控制器则可以维持在休眠状态。基于以太网链路的PN实现与基于CAN网络协议的PN实现类似,在网络系统中,可以根据不同功能需求,将控制器进行网络功能域(Domain)划分,如图 4所示。 图 4 系统内Domain划分示意图 ECU1、ECU2和ECU3位于Domain1,ECU3~ECU5位于Domain2。需要注意的是,同一个控制器可以位于不同的Domain中,但当该控制器处于多个Domain中,该控制器则不适合作为该域的唤醒源。假设ECU1本地唤醒后,向Switch节点的P1端口发送唤醒请求。同时,Switch可根据P1的配置,将唤醒指令转发至同一个Domain的其他端口,即P2和P3端口,而不会转发至P4和P5端口。随后,P2和P3端口分别与ECU2和ECU3开始唤醒流程,最终Domain1内的所有节点均处于唤醒状态,如图 5所示。 图 5系统PN唤醒示意图 总结 TC10为车载以太网的休眠唤醒机制提供了统一的技术规范,特别是在汽车ECU数量不断增加、网络复杂度日益提升的背景下,TC10规范通过定义PHY的新增服务原语和接口、时间参数、指令描述和休眠唤醒过程时序等内容,为车载网络的节能设计和功能实现提供了重要支持。通过引入LPS、WUR和WUP等指令,TC10规范确保了以太网链路的休眠唤醒过程能够高效、可靠地进行。此外,PN的实现进一步提升了整车节能策略的灵活性,使得在特定功能场景下,能够仅唤醒部分网络节点,从而降低整车功耗。 总的来说,随着汽车电子架构的不断演进,TC10规范将在车载网络的节能优化和功能实现中发挥越来越重要的作用。那么围绕TC10的实现,我们应开展相关的哪些测试呢?将在下一期为大家揭晓。 经纬恒润作为OPEN联盟会员和AUTOSAR联盟的高级合作伙伴,长期为国内外各大OEM和供应商提供涵盖TCP/IP、SOME/IP、DoIP、AVB、TSN、DDS等技术领域的设计和测试咨询服务,积极研发和探索车载网络前沿技术的工程应用。通过多个项目的实践经验,已建立了高质量、本土化的设计与测试一体化解决方案,为整车网络架构提供可靠支持。 了解更多
|