microyea 发表于 2025-7-31 16:30:01

I/O设置高阻输入后,进入掉电模式会产生漏电

求教, 我的STC8G1K08 TSSOP20在休眠态需要断开所有P1的八个IO,
测试发现I/O高阻漏电.    PxIE关闭端口数字输入也没有用。
有什么解决办法吗?

国芯人工智能 发表于 2025-7-31 16:33:00

尊敬的用户:

您好,感谢您的提问。关于您在使用国芯人工智能芯片时遇到的“IO设置高阻后进入掉电模式产生严重漏电”问题,我们非常重视,并针对该现象进行分析和建议。

首先,需要明确的是,在掉电模式下,若未正确配置IO端口,可能会导致电源路径未完全断开,从而引发漏电现象。特别是在休眠状态下,若P1端口未正确设置为高阻态或未关闭相关电源域,可能会导致电流从其他路径流入或流出,造成异常漏电。

针对您提到的“PxIE关闭端口数字输入也没有用”,这可能是因为PxIE寄存器仅用于控制中断使能,而非直接控制IO的输入/输出模式或电源状态。因此,即使关闭了中断功能,若未对IO进行正确的高阻态配置或电源管理设置,仍可能无法有效抑制漏电。

以下是一些可能的解决办法和优化建议:

1. 确认IO配置为高阻态(Hi-Z)
   确保所有P1端口均被设置为高阻态(Hi-Z),可通过配置相应的IO方向寄存器(如P1DIR)为输入模式,并确保没有启用内部上拉/下拉电阻。部分芯片中,还需通过特定寄存器(如P1REN)禁用上拉/下拉功能,以避免因内部电阻造成的漏电。

2. 关闭相关电源域或模块
   在掉电模式下,应尽可能关闭与IO相关的电源域(如VDDIO、VDDA等)。可通过系统控制寄存器(如PWRCTL)或电源管理单元(PMU)配置,确保IO端口所在区域的电源被彻底切断。

3. 检查是否启用模拟功能或外设
   若某些IO端口连接了模拟电路(如ADC、DAC等),即使设置为高阻态,也可能因模拟模块未关闭而产生漏电。建议在进入掉电模式前,关闭所有非必要的外设和模拟功能。

4. 使用低功耗模式下的特殊配置
   部分国芯AI芯片支持多种低功耗模式(如SLEEP、STOP、STANDBY等),不同模式下对IO的处理方式不同。建议查阅芯片数据手册,了解各模式下的IO行为,并选择最适合您应用的低功耗模式。

5. 验证外部电路设计
   漏电也可能来源于外部电路。例如,若IO端口连接了外部上拉电阻或负载,即使芯片内部设置为高阻态,外部电路仍可能导致电流流动。建议检查外围电路,必要时添加隔离电路或使用MOSFET开关控制IO通断。

6. 参考官方文档与示例代码
   建议查阅国芯人工智能提供的官方技术文档、应用笔记及示例代码,其中通常包含针对低功耗模式下IO配置的具体指导。如有疑问,也可联系技术支持团队获取更详细的配置建议。

综上所述,IO高阻态配置不正确、电源管理未到位或外部电路影响,均可能导致掉电模式下的漏电问题。建议结合上述方法逐一排查,并根据具体芯片型号进行适配调整。

如需进一步帮助,请提供您的芯片型号、具体配置代码以及测试环境描述,我们将为您提供更精准的支持。

祝工作顺利!

国芯人工智能技术支持团队
2025年4月

[本文内容由国芯人工智能辅助生成,仅供参考]

32G12K128 发表于 2025-7-31 16:42:40


省电模式,I/O口如何设置才省电,进入主时钟停振/省电模式前 - 电源/复位/省电模式/外部晶振/内部时钟/对外时钟输出/PLL-144MHz时钟 国芯人工智能技术交流网站 - AI32位8051交流社区
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4808&highlight=%E6%8E%89%E7%94%B5%E6%A8%A1%E5%BC%8F%20%E5%8A%9F%E8%80%97%E9%AB%98&page=1&extra=#pid44504



神农鼎 发表于 2025-7-31 17:20:45

STC8G1K08-38I-TSSOP20/SOP16, 寄存器表



===================================================
STC8G1K08-38I-TSSOP20/SOP16,
从上面寄存器表中可知,有 P1IE, P3IE






microyea 发表于 2025-7-31 17:22:16

我是按上面这个原则操作的
又试了一遍,还是不行

      P1M1 = 0XFF;         P1M0 = 0X00;                // P1高阻输入
      P1IE = 0X00;                //         如果MCU进入掉电模式/时钟停振模式后,需要IO高阻或开漏,则需要设置PxIE寄存器关闭数字输入,才能保证不会有额外的耗电(上电复位后默认1:开启)

关于P1的代码一共就上面这两行, 进入掉电模式就漏电,P1IE 这行有没有都一样。我怀疑STC8G上没有实现P1IE但手册上有这个, STC8H上会不会有不同?

神农鼎 发表于 2025-7-31 17:27:19


microyea 发表于 2025-7-31 17:32:59

核对过代码,没问题。P1端口接地后就没有漏电,感觉就是P1IE没有能关闭数字输入

DebugLab 发表于 2025-7-31 18:00:29

microyea 发表于 2025-7-31 17:32
核对过代码,没问题。P1端口接地后就没有漏电,感觉就是P1IE没有能关闭数字输入 ...

单片机所有IO电压不能超过VCC、GND范围,检查一下电压是否正常

microyea 发表于 2025-7-31 18:31:32

电压正常,这个板子上的P3.5没有使用,用P3.5做了下实验,关闭数字输入能起作用。 有什么办法能验证P1IE在这个芯片上有实现吗?

zhang32568 发表于 2025-7-31 19:39:05

外围电路是什么样子 有没有可能是外围电路问题?
页: [1] 2 3
查看完整版本: I/O设置高阻输入后,进入掉电模式会产生漏电