当前位置: 首页 > 知识库问答 >
问题:

链路电源管理中的 L2 状态

端木震博
2023-03-14

我有一个任务,我需要在链路电源管理中实现L2挂起状态。我使用的是开发板,其中具有与PHY接口的DWC3 USB控制器。基本上,我们的主板使用 Linux usb DWC3 驱动程序并连接到主机。

我的理解是,USB控制器在总线不活动3.125毫秒后生成挂起信号。谁能告诉我如何配置此控制器以实现L2挂起状态?

共有1个答案

纪成礼
2023-03-14

在当前设置中,板处于设备/小工具模式,并且已连接到主机。请记住,USB设备不能驱动挂起信号。它应该由主机启动。

USB 2.0设备的挂起过程-

1-USB主机没有数据要发送,当前正在发送SOF帧
2-主机SW通过在EHCI/XHCI控制器中设置suspend/U3来暂停设备
3-现在USB设备在总线中看到空闲状态,其中没有SOF
4-大约3毫秒后,设备硬件通过将其终端接地并连接内部上拉寄存器
5开始暂停自身-然后设备再次轮询线路,以查看主机是否已移除其终端
6-由于主机已删除终止,设备将挂起

USB 3.0设备的挂起过程-

1-USB主机没有要发送的数据
2-主机SW通过在XHCI控制器中设置U3来挂起设备
3-主机开始发送LGO_U3链路命令以启动挂起信令
4-设备接收到LGO_3命令后,将确认并启动挂起

因此,总之,从USB设备你不能启动暂停信号。您只能设置设备堆栈的内部状态。

编辑1-此暂停过程适用于USB 2.0/高速设备。如果您的板是通过SS端口连接到主机的超高速/USB 3.0设备,则该过程在链接级别上有点不同,但从用户的角度来看没有区别
编辑2-我现在已经更新了USB 2.0和USB 3.0设备的暂停过程的答案

 类似资料:
  • 嵌入式系统低功耗管理的目的在于满足用户对性能需求的前提下,尽可能降低系统能耗以延长设备待机时间。高性能与有限的电池能量在嵌入式系统中矛盾最为突出,硬件低功耗设计与软件低功耗管理的联合应用成为解决矛盾的有效手段。现在的各种 MCU 都或多或少的在低功耗方面提供了管理接口。比如对主控时钟频率的调整、工作电压的改变、总线频率的调整甚至关闭、外围设备工作时钟的关闭等。有了硬件上的支持,合理的软件设计就成为

  • 电源管理接口 结构体 struct   rt_pm_ops   电源管理设备的操作方法 更多...   struct   rt_device_pm_ops   对电源管理模式敏感的设备的操作方法 更多...   struct   rt_device_pm   电源管理设备 更多...   struct   rt_pm   电源管理控制块 更多...   函数 void  rt_pm_enter (

  •        随着安卓系统版本的升级,对软件后台的监控越来越严格,从而导致很多软件后台运行一段时间后会被杀死(5-10分钟)。外业精灵的轨迹记录功能会使用到后台的实时定位,如果希望在记录轨迹的时候不被系统杀死,可按如下步骤操作,减少误杀:        (因系统版本不同,部分设置内容与页面会有差异,可通过手机内设置页面的搜索功能进行搜索)        进入手机管家-电池选项-锁屏清理应用-外业精

  • 监视电源状态 进程: 主进程​ 该模块在主进程 app 模块的 ready 事件前使用. 1 const electron = require('electron') 2 const {app} = electron 3 ​ 4 app.on('ready', () => { 5 electron.powerMonitor.on('suspend', () => { 6 console.log('

  • Redux应用程序中的Reducer不应该改变state,而是返回一个副本,并且无副作用。 这鼓励你把你的应用程序想象成从一系列事件中“计算”的UI。 让我们来看看一个简单的计数器reducer。 我们可以看到,我们正在传递一个初始状态和一个动作。为了处理每个动作,我们设置了一个switch语句。而不是每个reducer需要显式订阅分发器,每个动作都会传递到每个reducer,它处理它感兴趣的动作

  • 来自服务器的数据以及是否挂起或导致错误 UI状态如切换,警报和错误消息 自定义主题,凭据和本地化 许多其他类型的状态 Redux using ng2-redux Angular Services and RxJS(推荐)