涓流充电控制器
2-3位: DS=01 为一个二极管
DS=10 为二个二极管
DS=00 无二极管,不能充电
DS=11 无二极管,不能充电
0-1位: RS=00 无电阻,不能充电
RS=01 2K
RS=10 4K
RS=11 8K
4-7位: TCS=1010 能充电 其它组合都不能充电
10100101 一个二极管 电阻2K
10100110 一个二极管 电阻4K
10100111 一个二极管 电阻8K
10101001 两个二极管 电阻2K
10101010 两个二极管 电阻4K
10101011 两个二极管 电阻8K
01011100 初始化电源
图1给出了典型的涓流充电器电路,规定涓流充电器寄存器的高四位用于使能涓流充电器,低四位用于选择二极管压差和限流电阻。下图中,可以在充电通路插入二极管,也可以不使用二极管,可选择的电阻值为250Ω、2kΩ或4kΩ。有些器件提供了不同的二极管和电阻配置。
电容连接在VBACKUP与地之间(图2)。 用户根据所需要的{zd0}充电电流选择二极管和电阻。
计算充电电流
{zd0}充电电流可按以下方法计算:假设3.3V的系统电源加在VCC上,涓流充电器已经使能,没有使用二极管、选择了2kΩ电阻。当电容电压为零时可以计算出{zd0}充电电流:
IMAX = (VCC - 二极管压差)/R2
= (3.3V-0V)/R2
≈ (3.3V-0V)/2kΩ
≈ 1.65mA
随着VBACKUP电压的升高,充电电流逐渐减小。
计算备份时间
下面,我们需要计算所需要的电容值。给定所要求的备份时间,我们还需要了解其他几个参数:电容的起始电压和最终电压、从电容吸取的电流以及电容值。
假设工作在VBACKUP时,RTC消耗固定的电流,可利用下式计算出最差工作条件下的备份时间,用小时表示:
C(VBACKUPSTART - VBACKUPMIN)/IBACKUPMAX/3600
式中,C是电容值,单位为法拉。
VBACKUPSTART是初始电压,单位为伏特。作用在VCC上的电压, 去掉二极管的压降,用于充电电路。
VBACKUPMIN是最终电压,单位为伏特(振荡器的{zd1}工作电压)。
IBACKUPMAX是数据资料中给出的{zd0}VBACKUP电流,单位为安培。
如果:C = 0.2F、VBACKUPSTART = 3.3V、VBACKUPMIN = 1.3V、IBACKUPMAX = 1000nA, 则:
小时 = 0.2(3.3-1.3)/(1e-6)/3600 = 0.2(2.0)(1e-6)/3600 = 111.1
如果我们需要了解典型的备份时间,应该用IBACKUP典型值替代IBACKUP{zd0}值。
因此,如果VBACKUP为3.3V (典型值)、IBACKUP为600nA (典型值), 则:
小时 = 0.2(3.3-1.3)/(600e-9)/3600 = 0.2(2.0)(600e-9)/3600 = 185.2
上述计算假设IBACKUP是固定的,不考虑VBACKUP电压。Dallas/Maxim RTC的振荡器很像一个电阻,所以,备份电流随着备份电压的降低而减小。可以计算出更接近实际情况的备份时间。
图3. 放电电路
按照基础电子学,可由下式确定任意时刻的电容电压(放电电路如上图所示):V(t) = E(e-τ/RC)
其中,τ为时间,单位为秒
E为初始电压,单位为伏特
V为最终电压,单位为伏特
R为负载电阻,单位为欧姆
C为电容值,单位为法拉
整理上式,可以解得t:
-ln(V/E)(RC) = t
从RTC数据资料, 我们可以查到振荡器的最小工作电压以及{zd0}VBACKUP电流(IBACKUP)。为了估算负载电阻,R, 我们用数据资料中的{zd0}VBACKUP除以{zd0}IBACKUP (因为{zd0}电流发生在{zd0}输入电压情况下)。本例中,VBACKUP{zd0}值为3.7V,IBACKUP{zd0}值为1000nA, 结果为3.7/1e-6或3,700,000欧姆。假设电容值为0.2F,已充电到3.3V, IBACKUP{zd0}电流为1000nA, 振荡器{zd1}工作电压为1.3V, 备份时间计算如下:
-ln(VBACKUPMIN/VBACKUPMAX)(VBACKUPMAX/IBACKUPMAX) =
-ln(1.3/3.3)(3,700,000*0.2) =
689,353秒或191.5小时
改变电容值C,可以确定备份电容供电时的运行时间。
这些计算可利用完成。
超级电容计算器可以实现上述三个公式的计算。
其它寄存器:
CH: 时钟停止位 寄存器2的第7位12/24小时标志
CH=0 振荡器工作允许 bit7=1 12小时模式
CH=1 振荡器停止 bit7=0 24小时模式
WP: 写保护位 寄存器2的第5位:AM/PM 定义
WP=0 寄存器数据能够写入 AP=1 下午模式
WP=1 寄存器数据不能写入 AP=0 上午模式