COM 端口设备类
本节中说明的要求适用于通用异步收发器 (UART),例如常见的 NS16550 带缓冲串行端口及其等效设备。
任何受电源管理的 COM 端口所要求的两个状态是全开 (D0) 和全关 (D3)。这又要求:对于位于系统板上的 COM 端口,COM 端口硬件必须能够通过 ACPI 控制方法进行电源管理;对于位于扩展卡上的 COM 端口,则必须能够通过标准总线电源管理控制进行管理(例如 PCI)。因此,基于 ISA 的 COM 端口扩展卡将无法满足该要求,因此不能符合本规范。
COM 端口电源状态定义
表 A-5:COM 端口设备电源状态定义
| 状态 | 状态属性 | 定义 |
|---|---|---|
| D0 | 必需 | 线路驱动器开启。UART 上下文被保留。 |
| D1 | 不适用 | 未为 COM 端口定义此状态。请改用 D3 状态。 |
| D2 | 不适用 | 未为 COM 端口定义此状态。请改用 D3 状态。 |
| D3 | 必需 | 线路驱动器关闭(未加电;输出与连接到端口的设备隔离)。UART 上下文丢失。返回到 D0 的延迟小于 1 秒。 |
COM 电源管理策略
表 A-6:COM 端口设备电源管理策略
| 当前状态 | 下一状态 | 原因 |
|---|---|---|
| D3 | D0 | 上电复位;应用程序打开 COM 端口 |
| D0 | D3 | COM 端口关闭;当该设备禁用了唤醒时系统进入睡眠状态;当该设备启用了唤醒且该设备能够在 D3 状态下向系统产生唤醒时系统进入睡眠状态。 |
COM 端口唤醒事件
如果 COM 端口能够生成唤醒事件,则置位“振铃指示”线路(V.24 电路 125)将导致 COM 端口发出唤醒事件。可采用两种常见机制(任选其一或两者同时)使用 COM 端口执行机器唤醒。
第一种机制提供了一种无论 UART 是否加电(D0)都能够唤醒 PC 的解决方案,或者在未加电(D3)时也能唤醒。在这种情况下,“振铃指示”线路(来自 V.24 电路 125)除了连接到 UART 之外,通常还会直接连接到系统唤醒设备。虽然这种实现方式对于位于系统主板上的 COM 端口是规范性要求(参见 ACPI 规范),但对于位于支持设备在 D3 状态下触发系统唤醒的总线上的 COM 端口扩展卡,也可以这样做(例如 PCI 上的 PME# 信号)。
第二种机制要求 UART 必须加电(D0),以改为使用 UART 的中断输出引脚生成唤醒事件。使用这种方法时,预期 OS COM 端口策略所有者或电源管理控制方法将配置 UART。尽管理论上任何 UART 中断源(例如“数据就绪”)都可以用于唤醒系统,但这些方法超出了本文档的范围。
COM 端口最低电源能力
符合本规范的 COM 端口必须支持 D0 和 D3 状态。