当不运用专门时钟芯片,例如 DS1302,HT1380 等的场合下,实时时钟就只能依托单片机自身的晶体振荡器或内部
RC振荡器来发生了.
这时分,当进入外部供电中止时,实时时钟是需求坚持运转的,一般会运用 3V6 或 3V 的电池来保持时钟正常走时.
这时分,电池的耗掉总是期望越小越好.
专门的时钟芯片,在进入这种掉电维护的时分,其耗费电流是十分十分的小,一般电流表简直丈量不出来.
而单片机呢? 就有许多问题需求处理了.
SN单片机供给了几种作业形式,来完成”低功耗“运转,睡觉形式尽管电流极小,可是实时时钟不能运转.
剩余的可用挑选就只有低速形式(SlowMode)和绿色形式(GreenMode)了.
我运用 2602C,2501B,27E65 等多种芯片作为测验,测验成果均不能到达芯片手册给出的低电流值.
一般,在 3V供电下,一切端口均设置为输出形式而且输出为低电平,一切内部上拉功用均去除!
不管是外部 32768 晶体或许内部 ILRC_16KHZ 振荡器,都是此刻能够挑选运用的体系时钟.
下面,就几种或许挑选的掉电维护形式,告知我们一些测验实践体会:
(1):进入绿色形式:
当运用 IHRC_RTC 代码选项时,代码高速运转依托内部 16M RC振荡器,实时时钟依托外接的 32768晶体.这种结
构,外表看来是最理想的组合,可是,进入掉电维护后,实践运用起来就有许多费事!
这种结构进入绿色形式,高速时钟依然运转,电池电流就不必盼望很小了!—–实践测验 3V 时约 0.35mA!
曾经在 27E65 试过 IHRC_RTC : 16/4~16/64 的代码选项,进入绿色形式后,都不能显着下降维护电流.差不多都
是 0.35mA! 没有什么改动!
(2):进入 RTC 低速形式:
要让电流显着下降,需求封闭高速时钟,好了,假如此刻封闭高速时钟,就会没有时钟运转了,程序死掉了!
那么,我就替换别的一种维护运转的形式吧! 试一下低速形式.
进入掉电维护后,就挑选低速形式,因为外怪有 32768 晶体,RTC 依然正常作业,时钟安稳走时,电池在 3V 时,电流
为 0.09mA . 比起绿色形式来,现已好了许多了!
(3):进入 ILRC 低速形式:
这种形式,外部无需任何晶体,就直接运用内部 RC 高速振荡器, IHRC 16MHZ 振荡器作为运转和实时时钟源.不要
运用 RTC 选项了.还能够多出 2 个端口来供其它当地运用,最省钱了!
IHRC 当然不行准确了,假如期望准确度好一些,能够外接 16MHZ晶体,端口就没有剩余的 2 个了!
当进入掉电维护后,封闭高速时钟,此刻,能够运用的就只有 ILRC 16KHZ_3V 了.
要让这个 16KHZ 与本来的 16MHZ 发生相同的实时时钟源,其定时器的参数就要在进入低功耗时从头设置.
例如:
;———————————————————–
; 正常 5V 作业时,运转 16M/4 的代码选项,定时器 T0 的参数装备:
MOV A,#030H ;16/4MHZ:计数250=0.5S
B0MOV T0M,A
CLR T0C ; 清T0C。
B0BCLR FT0IRQ ; 清T0IRQ。
B0BSET FT0IEN ; 使能T0 中止。
B0BSET FT0ENB ; 使能T0 定时器。
每中止 250 次,便是 0.5S 时基.此刻,T0 是从 16MHZ/4 得到驱动信号.
;———————————————————–
当进入掉电维护后,首要发动低速形式,再封闭高速时钟(千万留意操作次序,不能反了!)定时器 T0 的参数装备为:
MOV A,#050H ;16/4MHZ:计数250=0.5S
B0MOV T0M,A
CLR T0C ; 清T0C。
B0BCLR FT0IRQ ; 清T0IRQ。
B0BSET FT0IEN ; 使能T0 中止。
B0BSET FT0ENB ; 使能T0 定时器。
每中止 1 次,便是 0.5S 时基.T0 是从 16KHZ/4 得到驱动信号.
;———————————————————–
一个是16MHZ,一个是 16KHZ,它们刚好相差 1000 倍.
而赋值到 T0M 的 30H 与 50H ,相差 4 倍.
得到 0.5S 时基的中止次数分别为 250 和 1,相差 250 倍.
刚好, 4*250=1000 !
假如不顾及精度问题,这个 ILRC 低速形式便是可运用的.实测掉电维护电流也是 3V 时 0.09mA !
测验中还发现,掉电维护电压从 2.4V 缓慢改变到 4.2V ,这个 0.09mA 根本保持不变!
这些测验,对低成本时钟项目的运用是有协助的,当然,做万年历就会不行了! 只能在那些要求精度稍差,掉电维护
时刻不太长.(例如:维护 15 天,30 天,够不行? ) 2mAh 的小电池就能够维护 24 小时左右.工程项目运用便是足
够的了. 假如某个工地停电 30 天,还不如放长假!
依照芯片手册,不管何种低功耗形式,手册上给出的掉电维护电流会更低,不同芯片也有一些不同.一起,内部低速时
钟的精度也会不同.越是后来的类型,好像目标就会越好一些.
这些试验得到的材料和数据,仅供各位参阅! 而且欢迎我们评论和纠正!
;===============================================================================
在 SN单片机里,专门有进入/回来各种作业形式的宏指令,能够便利直接运用. 如下:
; Sleep Mode control macro for compatibility in S8KD-2 ICE;指令周期数: 1
SleepMode macro
B0BSET FCPUM0
endm
;*******************************************************************************
; Green Mode control macro for compatibility in S8KD-2 ICE;指令周期数: 3
GreenModemacro
B0BSET FCPUM1
NOP
NOP
endm
;*******************************************************************************
; Slow Mode control macro for compatibility in S8KD-2 ICE;指令周期数: 2
SlowMode macro
B0BSET FCLKMD
B0BSET FSTPHX
endm
;*******************************************************************************
; Slow mode to Normal Mode control macro for compatibility in S8KD-2 ICE; ;指令周期数: 5
Slow2Normalmacro
B0BCLR FSTPHX
NOP
NOP
NOP
B0BCLR FCLKMD
endm
;*******************************************************************************
说一下SN(松翰单片机)的低功耗作业
当不使用专门时钟芯片,例如DS1302,HT1380等的场合下,实时时钟就只能依靠单片机本身的晶体振荡器或内部RC振荡器来产生了这时候,当进入
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/253986.html