在本讨论中,主机发起的或软件发起的恢复称为恢复事件/操作。总线发起的恢复事件称为唤醒事件。
唤醒事件的类别是:
启用远程唤醒
端口连接断开以及过流事件

PORTSC可将端口设置为挂起模式
当系统软件挂起整个总线时,将USBCMD中run、stop位设为0来关闭主控制器
当唤醒事件发送时,系统软件最终将run、stop位设为1,恢复挂起端口

1.1 端口挂起/恢复

  1. 系统软件通过在适当的PORTSC挂起位中写入一个1来将各个端口置于挂起模式
  2. 系统软件可以通过向Force port resume位写入一个1来在一个选择性挂起的端口上发起一个恢复
  3. 为了确保USB设备正常运行,软件必须在端口显示挂起后等待至少10毫秒
  4. 软件启动的端口恢复不会影响USBSTS寄存器中的端口变化检测位,如果端口变化中断使能,也不会引起中断
  5. 当挂起端口上发生唤醒事件时,端口检测到恢复信号,并在100 μsec内将恢复反射到下游。端口的强制端口恢复位设置为1,端口改变检测位在USBSTS寄存器设置为1。如果端口改变中断使能位在USBINTR寄存器是1,主控制器将发出一个硬件中断。
  6. 恢复事件检测到时,USBSTS中port change detect 设1,中断使能则发出中断,软件通过清除USBSTS中port change detect确认恢复中断。
    唤醒事件行为表

EHCI主机控制器--挂起/恢复相关推荐

  1. SQL数据库可疑恢复 挂起恢复 置疑恢复 SQL数据库无法附加修复 附加报错 9003

    SQL数据库可疑恢复 挂起恢复 置疑恢复 SQL数据库无法附加修复 附加报错 9003 数据类型 MSSQL 2008R2  数据大小 352 MB 故障检测 服务器几次断电后数据库可疑 无法附加 消 ...

  2. 易语言多线程Api封装线程挂起恢复销毁

    封装多线程模块-api-线程的挂起和恢复销毁 强制杀死或挂起线程会导致线程正在获取的锁资源无法释放:如果正在操作一块公共内存,可能会导致公共内存被破坏. 一.SuspendThread 在实际环境中, ...

  3. EHCI主机控制器--端口路由逻辑和控制

    一个USB 2.0主机控制器由一个高速主机控制器组成,它实现了EHCI编程接口和0到N个USB 1.1伴侣主机控制器.伴随主机控制器(chc)可以是通用或开放主机控制器规范的实现.此配置用于提供所需的 ...

  4. EHCI主机控制器--主机控制器初始化

    当系统启动时,枚举主机控制器,为寄存器空间分配一个基址,BIOS将FLADJ寄存器设置为系统特定的值.初始上电或HCReset(硬件或通过USBCMD寄存器中的HCReset位)后,所有的操作寄存器将 ...

  5. qnx挂死恢复脚本简易写法

    接触qnx两天,拿到手上的板子bsp软件已经被定制过,将启动脚本的位置和文件系统做了大量更改 如下是几个命令来处理退出和恢复过程 由于tinyRPC接口不提供退出接口,商务又不允许改接口,就采用低级的 ...

  6. tiny4412 linux-4.2 移植(七)USB 2.0 host框架(2)hcd(ehci主机控制器)

    简介 上一节整体介绍了usb host框架,分析了其中的phy层.这一节我们分析usb 框架中的hcd层.Exynos 4412的USB 2.0的 Host Controller包含USB 2.0 E ...

  7. EHCI主机控制器--队列元素传输描述符(qTD)

    此数据结构仅用于队列头.此数据结构用于一个或多个USB事务,这个数据结构用于传输最多20480(5*4096)字节.这个数据结构在物理上必须是连续的,与此传输相关的缓冲区必须是几乎连续的.缓冲区可以从 ...

  8. EHCI主机控制器-- 队列头(qh)

    Queue Head Horizontal Link Pointer 该链接指针指向在该队列中完成任何必要的处理后的下一个要处理的数据对象, 这个指针可以引用一个队列头或一个同步传输描述符.它不能引用 ...

  9. 挂起某线程命令 Linux,linux 线程挂起恢复的简单示例

    参考: 写了个demo: #include #include static pthread_mutex_t mutex; static pthread_cond_t cond; static int ...

最新文章

  1. tf.nn.softmax参数详解以及作用
  2. Python如何存储数据到json文件
  3. 化工原理期中考,流体
  4. RegexDemo6
  5. 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。...
  6. python数据预处理
  7. 人脸方向学习(六):Face Recognition-Center Loss 解读
  8. Producer Flow Control 和 vmQueueCursor
  9. 15.高性能MySQL --- 备份与恢复
  10. 视频教程-OCJP认证考试复习课-其他
  11. 液相色谱质谱联用市场现状及未来发展趋势
  12. 核苷酸和氨基酸蛋白序列转换的工具
  13. HIT软件构造LAB3
  14. LeetCode.868-二进制距离(Binary Gap)
  15. rz安装 xshell_Linux与windows之间文件传输工具RZSZ安装(Xshell或CRT)
  16. Spring初见杀——classNotFound异常
  17. 基于Arduino、ESP8266的物联网项目开发方案整理、毕业设计(第一波)
  18. vue触发模拟点击效果功能
  19. Kubernetes1.13集群安装dashboard 1.10.1
  20. 模拟水面表面张力,效果自然、真实,北大图灵班研究入选SIGGRAPH

热门文章

  1. 弘辽科技:拼多多商品发布被驳回是为什么?被驳回怎么办?
  2. FOC:【3】精品必看!利用Python实现System Verilog多字节UART串口有限状态机自动生成脚本
  3. ​为什么你会被割韭菜?
  4. 微软为正版用户提供中文版杀毒软件免费下载
  5. 计算机毕设Python+Vue疫情下公共场所卫生安全管理系统(程序+LW+部署)
  6. 【简单】191. 位1的个数(汉明重量)常规+位运算解法(所谓简单可它真的简单吗?)
  7. WeakReference 学习和使用
  8. 如何进行高质量的文献调研
  9. HTML CSS 基础语法总结
  10. Php / Thinkphp 之 使用phpqrcode 生成自定义二维码