SM470的芯片手册上standby模式的最大工作电流只有50多mA,但实际使用的时候,却有105mA左右,请问这么大的差距是怎么原因引起的呢?
gaoyang9992006:
你测的105mA是整个电路的还是单独测的该芯片的?
确保没有多余的外部电路耗电。端口的模式和电路是怎么个情况都会影响到整体功耗,
Susan Yang:
105mA的话,感觉您现在没有真正在standby模式
请您尝试下面的配置代码
GCR |= FLCONFIG; // Must be in flash config mode FMMAC1 = PSLEEP_MAX; // pump sleep to standby time FMMAC2 = BANK0_ENA + PMPPWR_SLEEP + PSTDBY_MAX; // Pump power sleep bank0 FMBAC1 = BNKPWR_SLEEP+ BSTDBY_MAX + 0xff00; // Bank power sleep 256 cycles// before flash shut down FMBAC2 = PIPELINE_MODE + BSLEEP_MAX; // 1 wait states FMMAC2 = BANK1_ENA + PMPPWR_SLEEP + PSTDBY_MAX; // Pump power sleep bank1 FMBAC1 = BNKPWR_SLEEP+ BSTDBY_MAX + 0xff00; // Bank power sleep 256 cycles// before flash shut downFMBAC2 = PIPELINE_MODE + BSLEEP_MAX; // 1 wait states FMREGOPT = ENPIPE; // ENABLE PIPELINE MODECLKCNTL = PPWNOVR +LPM_STANDBY; // standby mode dummy=CLKCNTL; // Dummy access
Donglai Zhou:
回复 Susan Yang:
程序中配置了以上代码,但整块板子的电流仍然有105mA,单片机的外围电路简单,单片机是主要的耗电来源
Susan Yang:
回复 Donglai Zhou:
您在测试的时候是连接到调试器测量的吗?由于调试器需要与SM470通信,jtag连接可能会禁止低功耗模式。
Donglai Zhou:
回复 Susan Yang:
您好!测试了您推荐的代码后,系统的总电流降低到了50mA左右,在对单片机分开供电的时候发现,芯片的IO电流在standby模式下有24mA,而芯片手册上只有250uA,请问还有什么改进方法吗?
gaoyang9992006:
回复 Donglai Zhou:
是不是这个IO口的模式设置的有问题,你IO用了什么模式,导致IO继续有大电流通过了。
Donglai Zhou:
回复 gaoyang9992006:
请问如何设置芯片IO,使其进入standby模式?是对单个管脚进行配置,还是器件在进入stanby模式时,用全局寄存器进行配置?