S100P开发板,有两个问题需要请教一下:
1、我想通过J2接口将电源、休眠、复位按钮引出,目前休眠和复位都可以,但是电源按钮无效。测试J2的第2、6引脚已经短接也无法开机。能否提供开发板的原理图,我们好找原因。
2、按下主板上的Sleep键,感觉系统只是休眠一下马上自动唤醒,我希望达到的效果是按下休眠后机器进行deep sleep状态,在按下休眠键后唤醒。
1. J2 引电源键无效
先看板上 SW1:它是自锁拨动开关(向下接通、向上断开),不是点按按钮。官方接口说明里 J2 的作用是把"电源开关"等操作引到板外,也就是说外部要保持接通才等效于 SW1 处于 ON。RDK S100 开发者套件接口说明
所以:如果第 2、6 脚只是"短接一下再松开",主板上电状态不会保持,看起来就是"按了没反应";请改成持续短接再试一次。面板上要装按钮的话,得用自锁按钮(按一下锁住、再按弹开),或在外接板上做保持/锁存电路,普通点按按钮配合 J2 是开不了机的。
另外 J2 除了开关信号还带 VDD_AON_PERI_5V、DCIN_CONN、VDD_PERI_3V3 等电源脚,接错脚有短路风险。公开资料目前只提供 RDK S100 规格书 V1.2 这类规格书,完整原理图不在公开文档里,需通过硬件商业资料申请(问卷 + NDA)获取;若涉及整机线束和接口定义确认,可在 DGP 项目对接与技术支持 里和 FAE 对一下 J2 电源开关对应的具体针脚。
2. Sleep 键休眠后马上自动唤醒
这个现象和默认配置对得上:S100 的唤醒源默认是 RTC,时间 15 秒,进 deep sleep 后约 15 s 就会自动醒来,看起来就像"只休眠了一下"。低功耗模式调试指南
先确认休眠模式(默认 deep,符合你的目标):
cat /sys/devices/platform/suspend-mode/suspend_mode/current_suspend_mode
cat /sys/devices/platform/suspend-mode/suspend_mode/suspend_mode
再把唤醒源改成 SLEEP 键对应的 AON GPIO 11(低电平有效),在 MCU 控制台(D-Robotics:/$ 提示符)执行:
wakeupsource rtc 3600
wakeupsource gpio 11 0 0
GPIO 唤醒源不能单独设置,必须同时保留 RTC,所以把 RTC 时间设长,避免它先到点把你叫醒。设置完成后短按 K2 进休眠、再短按应能唤醒。若设完仍然立刻醒,检查休眠前上层服务是否都已停止(官方提示服务未退出会导致休眠异常),并以 systemctl suspend 复测一次,看是按键路径还是唤醒源的问题。
想确认一下:你测第 2、6 脚时是持续短接还是点一下?板上 SW1 拨到 ON 时能正常开机吗?
你好 收到问题 ,会转交内部确认下
是持续短接。板上的SW1拨到ON时可能正常开机。
请问如何调出MCU控制台?
MCU 控制台通过板上的调试串口进入:
- 用 USB 数据线连接电脑和主板上的调试 USB-C,位置见官方连接示意图。
- 在 Windows「设备管理器 → 端口」找到 MCU-COM 对应的 COM 口,用串口终端打开,波特率设为 921600。
- 回车后,确认提示符是
D-Robotics:/$,再输入wakeupsource查看帮助。前面给的唤醒源命令在这个控制台执行;SSH 登录后的 Linux 终端不能直接执行这些 MCU 命令。
入口见MCU 快速入门:MCU 串口使用,命令说明见低功耗调试:通过 MCU 命令设置唤醒源。如果没有 MCU-COM,或打开后只看到 Linux 登录提示,把设备管理器中的串口列表和终端截图发上来,便于核对当前连的是哪个串口。
你补充的“J2 持续短接仍无效”也收到了,前面让你改成持续短接的建议不适用,需要继续核对 J2 的实际开机控制条件。
MCU 控制台从主板 J16 Type-C 接电脑,用串口工具打开 MCU 对应的 COM 口,参数 921600、8N1、无流控,回车看到 D-Robotics:/$ 就对了;Linux 登录口是另一个 COM。
休眠默认就是 deep,但默认 RTC 会定时唤醒;当前文档要求 GPIO 唤醒同时保留 RTC,所以仅执行 wakeupsource gpio 11 0 0 不能保证一直睡到下次按键。J2 的 2/6 脚确实是 DCIN_CONN/POWER_KEY,你已持续短接仍无效,这项前面同事已在确认硬件。
