我有一块主板(Gigabyte 990fxa-ud3),我想使用 COM 端口上的振铃事件将其唤醒,但我无法做到这一点。我使用 atmega32a 生成振铃事件。
据我所知,BIOS 设置已正确设置:ACPI 挂起类型 = S3(STR) 调制解调器振铃恢复 = 已启用 ErP 支持 = 已禁用 PME 事件唤醒 = 已启用 并且 COM 端口已启用。
我曾尝试使用 atmega32a 在 Ring Indicator 线上施加 +5V 电压 500ms,但这在该主板上不起作用。在另一块主板(Asus A7V8X-X)上,此方法完美无缺。
我尝试联系技嘉,但没有得到明确的答复。我搜索了其他生成振铃事件的方法,发现也可以生成字符“RING”,但这也不起作用。
我还可以尝试哪些其他方法?
提前致谢,
山道干山
附言:我希望这是提出这个问题的正确地方。
答案1
RS-232 将逻辑 1 定义为 -15V 至 -3V,将逻辑 0 定义为 +3V 至 +15V。在典型的 MB 串行端口上,这些值通常约为 -12V(表示 1)和 +12V(表示 0)。如果您很幸运,同一端口中的一条硬件握手线将默认为激活振铃指示器 (RI) 输入所需的电平,但不确定系统处于睡眠模式时是否一定如此。
因此,您可以尝试将 RI 引脚短接至端口中的其他引脚 - 一次尝试一个,您可能会很幸运。如果发生这种情况,则不需要超过几个组件即可在 atmega328 和端口之间进行接口。
如果失败,您可以尝试使用 9V 电池来唤醒端口。将电池的 (+) 侧连接到 PC 机箱,并将端口的 RI 输入短暂接触另一个电池端子。如果此方法不起作用,请尝试另一种方式使用电池。如果此方案成功(并且之前的方法失败),则意味着您的 MB 在机器关闭时不会输出您需要的电平,并且您需要的不仅仅是 atmega328 的 5V 电源。一个简单的 9V 电池和几个组件就可以解决问题。
如果上述两种方法都不起作用,那么可能是 MB 配置出了问题。如果您想排除这种可能性,可以尝试找一个旧调制解调器,将其连接到端口,将调制解调器连接到您的固定电话,然后用手机振铃。
答案2
这可能是RS-232 电压电平这些问题都会导致您的问题。逻辑 1 是负电压,而逻辑 0 是正电压。接近零的电压不被视为有效信号。
工作的电路板可能已经对转换到有效信号(> + 3V,逻辑电平0)采取了行动,但也许该电路板期望它在触发之前转换到有效逻辑电平一信号(<-3V)。
MAX232 和等效芯片将从 5V 电源和逻辑电平输入驱动适当的 RS-232 电压。
如果您需要的只是铃声指示器,那么您也许可以更有创意,而不需要 MAX232。