sw814 发表于 2024-7-24 13:15:44

网老四 发表于 2024-7-23 17:47
12uA漏电流是指单片机IO口电流吗?
还是这个电路总电流?
两个LED灯串联回路本身就有漏电流存在,如果红色绿色 ...

我为了验证漏电流的来源,特意将图中的R1,R2拆掉。结果是和原来的功耗一样。

sw814 发表于 2024-7-24 13:25:30

图中是我在项目中的实际应用,使用一个端口控制灯是为了减少线材的使用。
我此项目的总体功耗是在40uA,当我将R1R2拆掉,功耗依旧是40UA,我拆掉后设置为推挽电流降到28UA.
我这边也是在降功耗的过程中发现在将IO设置为高阻时,会有漏电流,这个现象不仅仅是出现在这个电路中。在做ADC采样中我也遇到了,我接入ADC通道0也就是 P10口,在睡眠时如果我不把P10设置成推挽输出,也会持续漏电流,关于adc设置为高阻漏电流,我也在大量的项目上验证过了,确实会有。
所以在此我想问一下大家有没有什么解决办法。

2300606886 发表于 2024-7-24 14:55:43

优化电路设计:
减小晶体管漏电流:MCU的IO口通常是通过晶体管或开关实现的,晶体管在关闭状态下也会有微小的漏电流。因此,在硬件设计阶段,应选用漏电流较小的晶体管或开关元件。
合理布线与接地:PCB设计中的布线、接地等因素也可能会导致IO口的漏电流。优化地线布局,避免地线环路,以及采用适当的接地策略,有助于减小漏电流。
隔离技术:在需要高阻态的IO口与其他电路之间采用隔离技术,如光耦隔离、变压器隔离等,可以有效阻断漏电流的路径。
选用合适的元件:
在选择MCU或其他接口芯片时,关注其IO口的漏电流规格,选择漏电流较小的型号。

乘风飞扬 发表于 2024-7-25 10:28:18

IO口高阻输入模式需要关闭数字输入功能才能避免产生漏电流。
而数字信号输入使能控制寄存器 PxIE 是扩展寄存器,配置前需要使能扩展寄存器访问功能:P_SW2 |= 0x80;
使用ADC功能,进入休眠模式前需要关闭ADC模块电源降低功耗,唤醒后再打开,打开ADC电源后等待1ms后再进行采集。

hsrzq 发表于 2024-7-25 10:53:45

sw814 发表于 2024-7-24 13:15
我为了验证漏电流的来源,特意将图中的R1,R2拆掉。结果是和原来的功耗一样。 ...

这个听着更像是LED的漏电电流了……

5V下LED反向漏电电流大约在10uA左右,正向漏电电流一般并不手册中直接标注,但基本上和反向漏电电流是同一数量级。

网老四 发表于 2024-7-25 11:27:01

sw814 发表于 2024-7-24 13:15
我为了验证漏电流的来源,特意将图中的R1,R2拆掉。结果是和原来的功耗一样。 ...

这样的话,是单片机自身漏电了,跟led灯无关,
再确认下程序,IO脚关闭数字逻辑功能的指令前,是不是漏掉了这个指令,P_SW2 |= 0x80;
如果漏掉了,那么实际没有关闭数字功能,高阻输入会引起漏电流增大.

晓飛飛 发表于 2024-7-25 16:15:50

应该是数字输入接口缓冲器频繁翻转产生的交越电流,可以开启IO的施密特触发器,或者彻底关掉IO的数字功能解决问题。

神农鼎 发表于 2024-7-25 21:19:37



STC8H / STC32G 不用的I/O口如何设置:【高阻输入】+【关闭数字输入】 - I/O读写及点灯,外部中断 ,所有I/O都支持的普通I/O中断,按键扫描 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

_奶咖君_ 发表于 2024-8-22 11:31:46

晓飛飛 发表于 2024-7-25 16:15
应该是数字输入接口缓冲器频繁翻转产生的交越电流,可以开启IO的施密特触发器,或者彻底关掉IO的数字功能解 ...

有测试过P2IE到P5IE这几个寄存器在STC8H8K64U上真实存在么?

是在下输了 发表于 2024-8-28 14:02:32

+1
页: 1 [2] 3
查看完整版本: I/O设置为高阻后,漏电流怎么解决?