黑猫详解【UFS Unipro】第2篇:Power States & Power Modes详解

本文详细解析了UFS Unipro协议中的Power States和Power Modes,包括Fast_Mode、Slow_Mode、FastAuto_Mode、SlowAuto_Mode、Hibernate_Mode和Off_Mode。介绍了每个模式的特点、功耗以及状态转换,强调了在功率模式改变过程中DME的请求、L2计时器更新和请求完成的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文依据Unipro1.8/M-PHY4.1/UFSHCI3.0协议及个人工作经验整理而成,如有错误请留言。
文章为个人辛苦整理,付费内容,已加入原创维权,禁止私自转载。
文章所在专栏:《黑猫带你学:UFS协议栈详解

1 Power Mode概述

了解power mode之前先要知道:一个是功率模式,一个是功率状态,不要搞混了!

UniPro定义了六种功率模式,它们是从底层PHY提供的功率模式中抽象出来的功率模式。UniPro在所有模式下,每个方向最多支持4个PHY信道。
未使用的信道保持HIBERNATE_STATE状态。未连接的信道保持OFF_STATE状态。

Fast_Mode:
能够实现所有功率模式中最高的数据传输速率。链接总是随时准备发送和接收数据,同时提供一个定义良好的延迟,这是任何UniPro功率模式中最低的。Fast_Mode中每个数据通道的实际数据速率是PHY指定的。
power state:FAST_STATE

Slow_

### Unipro 协议链路初始化和启动过程 #### 链路层(UniPro) 在主机端和设备端,Unipro 的引导序列会依次执行多个阶段的操作来完成整个链路的建立与配置。具体来说,在物理层(M-PHY)之上构建的是链接层(UniPro),该层次负责管理连接状态机以及提供可靠的数据传输服务[^1]。 对于UFS 4中的Unipro协议而言,其完整的初始化流程可以分为以下几个部分: - **部分初始化** 物理层完成后进入Link Layer (UniPro) 层次的部分初始化工作。此期间主要涉及对链路上各个组件的状态同步及其基本参数设定,确保两端能够正常通信并准备接收更高层次命令[^2]。 - **下载初始代码** 继续进行到Initialization and boot code download process环节,此时通过已建立的基础通讯机制向目标节点发送必要的固件或其他控制指令以进一步完善系统功能设置。 - **读取设备描述符** 完成上述步骤之后,则需获取远端装置的具体属性信息即Device Descriptor Reading操作,这有助于上位应用层更好地理解和利用下层硬件资源特性。 ```python def unipro_initialization(): """ Simulate the initialization of a UniPro link. This function demonstrates key steps involved in initializing and starting up a UniPro protocol link based on provided information. """ print("Starting physical layer (M-PHY)...") # Step not shown explicitly here print("Initializing Link Layer (UniPro):") configure_link_parameters() synchronize_states() print("Downloading initial configuration...") send_firmware_or_commands() print("Reading device descriptors from remote unit.") read_device_descriptors() def configure_link_parameters(): pass def synchronize_states(): pass def send_firmware_or_commands(): pass def read_device_descriptors(): pass ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑猫学长呀

有帮助到你就来打个赏呗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值