## 内置晶振、充电电池、温度补偿的高精度实时时钟
## SD2506API-G
## 1.概述
SD2506API是一种内置晶振、充电电池、温度补偿及标准 IIC 接口的实时时钟模块,CPU可使用该接口通过 7位地址来寻址读写片内 122字节的数据(包括时间寄存器、报警寄存器、控制寄存器、温度寄存器、电池电量寄存器、70字节的用户 SRAM寄存器及 8 字节的 ID 码寄存器)。
SD2506API内置晶振及数字温度补偿, 用户可以不用顾虑因外接晶振、谐振电容等所带来的元件匹配误差问题、晶振温度特性问题及可靠性问题,实现在常温及宽温范围内(-30℃~+80℃)不需用户干预、全自动、高可靠温度补偿计时功能;SD2506 可保证时钟精度为±3.8ppm(在 25℃左右),即年误差小于 2 分钟。
SD2506API内置充电电池及充电电路,在电池满充的常温情况下内部时钟走时在 8个月时间左右,累计电池电量超过 550mAh,电池使用寿命为 5~8 年时间;内部具备电源切换电路,当模块检测到主电源 VDD掉到充电电池电压以下,模块会自动转为由充电电池供电。
SD2506API内置 8 字节的 ID,每一颗模块具备唯一的身份识别码。
SD2506API内置单路定时/报警中断输出,报警中断时间可最长设至 100年;该系列模块可满足对实时时钟模块的各种需要,且管脚与以前的 SD2405兼容,软件部分绝大部分兼容(重要区别在:强烈建议用户的程序在每一次上电时重置 18H 寄存器的值为 82H,用于确保开启充电功能),是在选用高精度实时时钟时的理想选择。
## 2.特性
低功耗: 0.8μA 典型值(内部电池供电,Ta=25℃)。
工作电压:2.7V~5.5V,工作温度:-30℃~+80℃。
标准IIC总线接口方式,最高速度400KHZ(4.5V~5.5V)。
年、月、日、星期、时、分、秒的BCD码输入/输出,并可通过独立的地址访问各时间寄存器。
闰年自动调整功能(从2000年~2099年)。
可选择12/24小时制式.
. 内置年、月、日、星期、时、分、秒共7字节的报警数据寄存器及1字节的报警允许寄存器。
内置70字节通用SRAM寄存器可用于存储用户的一般数据。
三种中断均可选择从INT脚输出,并具有两个中断标志位。
内置年、月、日、星期、时、分、秒共7字节的报警数据寄存器及1字节的报警允许寄存器,共有96种组合报警方式,并有单事件报警和周期性报警两种中断输出模式,报警时间最长可设至100年。
周期性频率中断输出:从4096Hz~1/16Hz……1秒共十四种方波脉冲.
自动重置的三字节共24位的倒计时定时器,可选的2种时钟源(4096Hz、1024Hz)。
内置8bit转换结果的数字温度传感器,为了节省电池电量消耗,设为VDD模式下60S间隔测温一次,电池模式600S间隔测温一次。
内置记录历史高、低温发生时刻及相关温度值的功能;可设置高、低温报警值并从INT脚输出中断。
内置晶振和谐振电容,模块内部通过高精度补偿方法,实现在宽温范围内高精度的计时功能,其中25℃精度<±3.8ppm,即时钟年误差小于2分钟(在25±1℃下)。
内置充电电池及充电电路,累计电池电量超过550mAH,在电池满充的常温情况下内部时钟走时时间在8个月左右,电池使用寿命为5~8年时间。
内置电池电压检测功能,可读取当前电池电压值(三位有效数),设置高低电池报警电压值并从INT脚输出中断。
模块依据不同的电压自动从VDD切换到VBAT或从VBAT切换到VDD。当模块检测到主电源VDD掉到2.4V电压以下且VDD小于VBAT,模块会转为由接在VBAT的后备电池供电;当VDD大于VBAT或VDD大于2.4V,则模块会转为由VDD供电。(内置电源模式指示位PMF,VDD模式时PMF=0,VBAT模式时PMF=1)。
内置总线0.5秒自动复位功能(从Start命令开始计时),保证时钟数据的有效性及可靠性,避免IIC总线挂死问题。
内置三个时钟数据写保护位, 避免对数据的误写操作,可更好地保护数据。
内置软件可控VBAT模式IIC总线通信禁止功能(BATIIC=0,VBAT模式下禁止IIC通信;BATIIC=1,VBAT模式下允许IIC通信.上电默认值BATIIC=0),从而避免在电池供电时CPU对时钟操作所消耗的电池电量,也可避免在VDD上、下电的过程中因CPU的I/O端口所输出的不受控的杂波信号对时钟模块的误写操作,进一步提高时钟模块的可靠性。
在VBAT模式下,模块具有中断输出允许或禁止的功能,可满足在备用电池供电时输出中断的需要。
内置上电复位电路及指示位RTCF,当包括电池在内的所有电源第一次上电时该位置1。
内置电源稳压,内部计时电压可低至2.0V。
内置8字节的ID码,模块出厂之前设定的、全球唯一的身份识别码。
模块在兴威帆的评估板上可通过4KV的群脉冲(EFT)干扰
CMOS工艺。
封装形式:8脚的DIP封装。
## 3.原理框图和管脚定义

flowchart
```mermaid
graph LR
SDA["SDA"] --> Buffer1["SDA BUFFER"]
SCL["SCL"] --> Buffer2["SCL BUFFER"]
Buffer1 --> Interface["IIC INTERFACE"]
Buffer2 --> Interface
Interface --> ControlLogic["RTC CONTROL LOGIC"]
GND["GND"] --> Crystals["CRYSTAL OSCILLATOR"]
Crystals --> Dividers["RTC DIVIDER"]
Dividers --> FreqOut["FREQUENCY OUT"]
FreqOut --> Alarm["ALARM"]
FreqOut --> CountDown["COUNT DOWN"]
Alarm --> CountDown
CountDown --> Switch["POWER SWITCH"]
Switch --> Battery["RECHARGE CIRCUIT"]
Battery --> Battery
Switch --> Test["TEST"]
Test --> Recharge["RECHARGE CIRCUIT"]
Recharge --> Battery
GND --> CT["CT"]
CT --> Crystals
GND --> C["C"]
C --> Crystals
C --> 32768Hz["32768Hz"]
C --> GND
GND --> FreqOut
FreqOut --> INT["INT"]
INT --> Second["Second"]
INT --> Minute["Minute"]
INT --> Hour["Hour"]
INT --> Week["Week"]
INT --> Date["Date"]
INT --> Month["Month"]
INT --> Year["Year"]
INT --> Alarm/Control["ALARM/CONT - ROL REGISTERS"]
INT --> SRAM["USER SRAM"]
```

text_image
TEST 1 SD2506AP
8 VDD
7 INT
6 SCL
5 SDA
4
GND
封装形式:DIP-8(引脚宽度 300mil)
表 1 SD2506API 管脚功能表
| 脚号 | 名称 | 功能 | 特征 |
| 1 | TEST | 内部电池电压测试脚,该电池通过510K电阻输出到该脚。 | 悬空(不可与其它脚相连,仅用于测试)。 |
| 4 | GND | 负电源(GND) | N沟道开路输出;CMOS输入 |
| 5 | SDA | 串行数据输入/输出脚,此管脚通常用一电阻上拉至VDD,并与其它漏极开路或集电器开路输出的器件通过线与方式连接。 | N沟道开路输出,CMOS输入;当模块由内部后备充电电池供电时,该引脚功能被禁止。 |
| 6 | SCL | 串行时钟输入脚,由于在SCL上升/下降沿处理信号,要特别注意SCL信号的上升/下降升降时间,应严格遵守说明书。与SCL相连的MCU端口最好设置为CMOS输出。 | CMOS输入,当模块由内部后备充电电池供电时,该引脚功能被禁止。 |
| 7 | INT | 报警中断输出脚,根据控制寄存器来设置其工作的模式,它可通过重写控制寄存器来禁止。 | N-沟道开路输出 |
| 8 | VDD | 正电源 | 2.7V~5.5V |
## 4. 基本功能定义
4.1寄存器列表
| 地址 | 寄存器段 | 寄存器名称 | BIT | 数值范围(十进制) | 复位值(二进制) |
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| 00H | 实时时钟寄存器 | 秒 | 0 | S40 | S20 | S10 | S8 | S4 | S2 | S1 | 0-59 | XXXX-XXXX |
| 01H | 分钟 | 0 | MN40 | MN20 | MN10 | MN8 | MN4 | MN2 | MN1 | 0-59 | XXXX-XXXX |
| 02H | 小时 | 12_/24 | 0 | H20P/A_ | H10 | H8 | H4 | H2 | H1 | 0-23 | XXXX-XXXX |
| 03H | 星期 | 0 | 0 | 0 | 0 | 0 | W4 | W2 | W1 | 0-6 | XXXX-XXXX |
| 04H | 日 | 0 | 0 | D20 | D10 | D8 | D4 | D2 | D1 | 1-31 | XXXX-XXXX |
| 05H | 月 | 0 | 0 | 0 | M010 | M08 | M04 | M02 | M01 | 1-12 | XXXX-XXXX |
| 06H | 年 | Y80 | Y40 | Y20 | Y10 | Y8 | Y4 | Y2 | Y1 | 0-99 | XXXX-XXXX |
| 07H | 时间报警寄存器 | 秒报警 | 0 | AS40 | AS20 | AS10 | AS8 | AS4 | AS2 | AS1 | 0-59 | 0000-0000 |
| 08H | 分钟报警 | 0 | AMN40 | AMN20 | AMN10 | AMN8 | AMN4 | AMN2 | AMN1 | 0-59 | 0000-0000 |
| 09H | 小时报警 | 0 | 0 | AH20AP/A_ | AH10 | AH8 | AH4 | AH2 | AH1 | 0-23 | 0000-0000 |
| 0AH | 星期报警 | 0 | AW6 | AW5 | AW4 | AW3 | AW2 | AW1 | AW0 | N/A | 0000-0000 |
| 0BH | 日报警 | 0 | 0 | AD20 | AD10 | AD8 | AD4 | AD2 | AD1 | 1-31 | 0000-0000 |
| 0CH | 月报警 | 0 | 0 | 0 | AM010 | AM08 | AM04 | AM02 | AM01 | 1-12 | 0000-0000 |
| 0DH | 年报警 | AY7 | AY6 | AY5 | AY4 | AY3 | AY2 | AY1 | AY0 | 0-99 | 0000-0000 |
| 0EH | 报警允许 | 0 | EAY | EAM0 | EAD | EAW | EAH | EAMN | EAS | N/A | 0000-0000 |
| 0FH | 控制寄存器 | CTR1 | WRTC3 | OSF | INTAF | INTDF | BLF | WRTC2 | PMF | RTCF | N/A | 0000-0000 |
| 10H | CTR2 | WRTC1 | IM | INTS1 | INTS0 | FOBAT | INTDE | INTAE | INTFE | N/A | 0000-0000 |
| 11H | CTR3 | ARST | F32K | TDS1 | TDS0 | FS3 | FS2 | FS1 | FS0 | N/A | 0000-0000 |
| 12H | 25°C TTF(只读RAM) | 1ppm/3ppm | F6 | F5 | F4 | F3 | F2 | F1 | F0 | N/A | 0000-0000 |
| 13H | 倒计时定时器 | TD7 | TD6 | TD5 | TD4 | TD3 | TD2 | TD1 | TD0 | 0-255 | 0000-0000 |
| 14H | TD15 | TD14 | TD13 | TD12 | TD11 | TD10 | TD9 | TD8 | 0-255 | 0000-0000 |
| 15H | TD23 | TD22 | TD21 | TD20 | TD19 | TD18 | TD17 | TD16 | 0-255 | 0000-0000 |
| 16H | 温度寄存器 | TEMP | TM7 | TM6 | TM5 | TM4 | TM3 | TM2 | TM1 | TMO | 0-255 | XXXX-XXXX |
| 17H | IIC控制寄存器 | AGTC | BATIIC | 0 | - | - | - | - | - | - | 0-255 | 0000-0000 |
| 18H | 充电寄存器 | CHARGE | ENCH | - | - | - | - | - | Charge1 | Charge2 | 0-255 | CHARGE |
| 19H | 扩展控制寄存器 | CTR4 | INTS_E2 | INTS_E1 | INTS_E0 | CONT_BAT | INTTHE | INTTLE | INTBHE | INTBLE | 0-255 | 0000_0000 |
| 1AH | CTR5 | BAT8_VAL | SYS | OSC_RDY | | | | BHF | BLF | 0-255 | 0000_0000 |
| 1BH | 电池电量 | BAT_VAL | BAT7_VAL | BAT6_VAL | BAT5_VAL | BAT4_VAL | BAT3_VAL | BAT2_VAL | BAT1_VAL | BATO_VAL | 0-255 | 0000_0000 |
| 1CH | 低温报警值 | TEMP_AL | TEMP7_AL | TEMP6_AL | TEMP5_AL | TEMP4_AL | TEMP3_AL | TEMP2_AL | TEMP1_AL | TEMPO_AL | 0-255 | 0000_0000 |
| 1DH | 高温报警值 | TEMP_AH | TEMP7_AH | TEMP6_AH | TEMP5_AH | TEMP4_AH | TEMP3_AH | TEMP2_AH | TEMP1_AH | TEMPO_AH | 0-255 | 0000_0000 |
| 1EH | 历史最低温度 | TEMP_HIS_L | TEMP_L7 | TEMP_L6 | TEMP_L5 | TEMP_L4 | TEMP_L3 | TEMP_L2 | TEMP_L1 | TEMP_L0 | 0-255 | 0111_1111 |
| 1FH | 历史最高温度 | TEMP_HIS_H | TEMP_H7 | TEMP_H6 | TEMP_H5 | TEMP_H4 | TEMP_H3 | TEMP_H2 | TEMP_H1 | TEMP_H0 | 0-255 | 1000_0000 |
| 20H | 历史最低温度发生的时间 | 分钟 | | | | | | | | | 0-59 | 0000_0000 |
| 21H | 小时 | | | | | | | | | 0-23 | 0000_0000 |
| 22H | 星期 | | | | | | | | | 0-6 | 0000_0000 |
| 23H | 日 | | | | | | | | | 1-31 | 0000_0000 |
| 24H | 月 | | | | | | | | | 1-12 | 0000_0000 |
| 25H | 年 | | | | | | | | | 0-99 | 0000_0000 |
| 26H | 历史最高温度发生的时间 | 分钟 | | | | | | | | | 0-59 | 0000_0000 |
| 27H | 小时 | | | | | | | | | 0-23 | 0000_0000 |
| 28H | 星期 | | | | | | | | | 0-6 | 0000_0000 |
| 29H | 日 | | | | | | | | | 1-31 | 0000_0000 |
| 2AH | 月 | | | | | | | | | 1-12 | 0000_0000 |
| 2BH | 年 | | | | | | | | | 0-99 | 0000_0000 |
| 2CH~71H | 用户RAM | (70Bytes) | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 | 0-255 | XXXX-XXXX |
| 72H~79H | ID(只读) | (8Bytes) | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 | N/A | XXXX-XXXX |
注: $" \mathbb { X } ^ { 3 1 }$ 表示随机值,可以为 0或者 1。
## 4.2 实时时钟数据寄存器 $( 0 0 mathsf { H } \widetilde { \mathsf { \Omega } } 0 6 \mathsf { H } )$
实时时钟数据寄存器是 7字节的存储器,它以 BCD码方式存贮包括年、月、日、星期、时、分、秒的数据。
年数据[06H 地址] $\left( 0 0 ^ { \sim } 9 9 \right)$ ):设置千年(20XX)的后两位数字 $\left( 0 0 ^ { \sim } 9 9 \right)$ ),通过自动日历功能计至 2099年。(注意: 2000年为闰年)
月数据[05H地址 $\left( 0 1 ^ { \sim } 1 2 \right)$ ): 每月包含的天数通过自动日历功能来更改。
1,3,5,7,8,10,12: 1\~31
4,6,9,11: 1\~30
2(闰年): $1 ^ { \sim } 2 9$
2(普通): $1 ^ { \sim } 2 8$
日数据[04H 地址] $\left( 0 1 ^ { \sim } 3 1 \right)$
星期数据[03H地址] $\left( 0 0 ^ { \sim } 0 6 \right)$ :七进制计数器,00 对应星期天,01 对应星期一,依次类推。
小时数据[02H地址] $\left( 0 0 ^ { \sim } 2 3 \right.$ 或 $0 1 ^ { \sim } 1 2 )$ ):小时的最高位 12\_/24是 12或 24 小时制选择位。
当 12\_/24=1 时,24 小时制; 当 12\_/24=0 时, 12 小时制。
12 小时制时,H20 为 AM/PM 指示位,H20=0 为 AM,H20=1 为 PM,
见下表:(位 H20H10H8H4H2H1)
| 24小时显示系统 | 12小时显示系统 | 24小时显示系统 | 12小时显示系统 |
| 00 | 12(AM12) | 12 | 32(PM12) |
| 01 | 01(AM1) | 13 | 21(PM1) |
| 02 | 02(AM2) | 14 | 22(PM2) |
| 03 | 03(AM3) | 15 | 23(PM3) |
| 04 | 04(AM4) | 16 | 24(PM4) |
| 05 | 05(AM5) | 17 | 25(PM5) |
| 06 | 06(AM6) | 18 | 26(PM6) |
| 07 | 07(AM7) | 19 | 27(PM7) |
| 08 | 08(AM8) | 20 | 28(PM8) |
| 09 | 09(AM9) | 21 | 29(PM9) |
| 10 | 10(AM10) | 22 | 30(PM10) |
| 11 | 11(AM11) | 23 | 31(PM11) |
注意: 当读取小时数据时,要屏蔽掉小时的最高位12\_/24,否则在24小时制时会因为12\_/24=1而显示不对。
分数据[01H 地址] $( 0 0 ^ { \sim } 5 9 )$
秒数据[00H 地址] $( 0 0 ^ { \sim } 5 9 )$
例如: 设置时间为2014年12月20日星期三18点19分20秒(24小时制),则寄存器00~07H的赋值应分别为 20h、19h、98h、03h、20h、12h、14h。要特别注意此处小时位的赋值,因为是 24 小时制式,小时的 12\_/24 位=1,所以小时的赋值为 98h(1001 1000B)。
也请注意在24小时制时,当小时数据读出后,其最高位为1,所以要将读到的数据最高位置 0,否则小时数据不对。
注:
1.在上电复位时,芯片内部不对实时时钟数据寄存器作清零或置位处理。
2.当写实时时间数据时 $\mathrm { ( 0 0 H \widetilde { \Omega } 0 6 H ) }$ ,不可以单独对 7 个时间数据中的某一位进行写操作,否则可能会引起时间数据的错误进位,所以要修改其中某一个数据, 应一次性写入全部 7 个实时时钟数据。
3. 当芯片收到读实时时钟数据命令,则所有实时时钟数据被锁存(时钟走时并不受影
响),此功能可以避免时间数据的错读现象。
## 4.3 时间中断(07H\~15H 地址)
SD2506API 有 3 种不同时间报警中断,它们由控制寄存器 CTR2(10H)中的位 INTAE、INTFE、INTDE 位来使能:
$\$ 123,456$
| 序号 | 中断允许位(1=允许, 0=禁止) | 中断名 | 中断标志位(1=有中断, 0=无中断) |
| 1 | INTAE | 报警中断 | INTAF |
| 2 | INTFE | 频率中断 | 无 |
| 3 | INTDE | 倒计时中断 | INTDF |
当报警中断产生时,置中断标志位 INTAF 为 1;当倒计时中断产生时, 置中断标志位INTDF为 1;频率中断没有标志位,标志位被置 1后,需要手动清除。
三种中断都是以 INT脚为输出脚, 通过控制寄存器 2中的 INTS1、INTS0 位来选择确定INT脚输出何种中断:
INT脚中断输出选通表
| 序号 | INTS1 | INTS0 | 描述 |
| 0 | 0 | 0 | 电量报警(见4.4) |
| 1 | 0 | 1 | 报警中断输出 |
| 2 | 1 | 0 | 频率中断输出 |
| 3 | 1 | 1 | 倒计时中断输出 |
## (1)报警中断
当 INTAE=1时报警中断被允许,报警中断何时发生由时间报警寄存器(07H\~0EH)来确定。这其中 07H\~0DH依次用于存放报警时间的秒、分钟、小时、星期、日、月、年数据,除小时报警数据寄存器的最高位始终为”0” 、星期位的定义不同以外,其它的格式与实时时钟寄存器相同。
0EH为时间报警允许寄存器,如下:
| BIT | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| 位名(值) | 0 | EAY | EAMO | EAD | EAW | EAH | EAMN | EAS |
| 报警允许 | - | 年(ODH) | 月(OCH) | 日(OBH) | 星期(OAH) | 小时(09H) | 分钟(08H) | 秒(07H) |
注:1=允许,0=禁止。
时间报警允许寄存器的使能位是用于确定哪些时间报警寄存器(秒、分钟等)需要与实时时钟寄存器之间作比较。当实时时钟运行时,一旦被允许的报警寄存器均与对应的实时时钟寄存器相匹配,就会触发一次报警中断,同时报警中断标志位 INTAF 位被置”1”。
特别:
1.当日报警与星期报警均被允许即 EAD=EAW=1时,只有日报警有效,而星期报警无效,所以时间报警中断共有 96种组合方式。
2.星期报警寄存器的数据格式与实时时钟数据星期的格式不同,星期报警寄存器的位AW6、AW5、AW4、AW3、AW2、AW1、AW0分别对应星期六、星期五、星期四、星期三、星期二、
星期一、星期日,并可多位置 1,例如 AW6,AW1=1,其它位为 0,则对应在星期六,星期一会有报警。
每一次对时间报警允许寄存器的写入都会清 INTAF 为"0",当设置 INTS1=0、INTS0=1时,即允许报警中断从 INT脚输出。该报警中断有两种模式,即单事件报警和周期性报警, 模式的选定由控制寄存器 2中的报警中断模式位 IM的值来定:
| IM位 | 报警中断模式 | INT脚 |
| 0 | 单事件报警 | 输出低电平直至INTAF位清零 |
| 1 | 周期性报警 | 输出低电平有效、宽度为250ms的周期性脉冲直至中断允许位清零 |
为清除报警中断,可通过写操作将控制寄存器 1 的 INTAF 位置”0”,但当 ARST位置为”1”,则在控制寄存器 1 被读取时,INTAF位会自动清零。
举例:
1.设寄存器 0EH=00000001B,秒报警寄存器 07H=20h,位 INTAE=1、IM=1、INTS1=0、INTS0=1 ,则每当时间秒数据进位到 20h的时候,INT 脚都会输出宽度为 250ms 的低电平,即频率为 1 分钟的方波。如下图:

text_image
INT
60s
250ms
2.设寄存器 0EH=00001111B,星期报警寄存器 0AH=0010 0110B,小时报警寄存器 09H=08h,分钟报警寄存器 08H=30h,秒报警寄存器 07H=00h,位 INTAE=1、IM=1、INTS1=0、INTS0=1 , 则每到星期一、星期二、星期五的 8 点 30 分 0 秒的时候,INT 脚都会输出宽度为 250ms 的低电平。
3.设寄存器 0EH=00010111B,日报警寄存器 0BH=01h,小时报警寄存器 09H=08h,分钟报警寄存器 08H=30h,秒报警寄存器 07H=00h,位 INTAE=1、IM=1、INTS1=0、INTS0=1 , 则到每个月 1 号的 8点 30分 0 秒的时候,INT脚都会输出宽度为 250ms的低电平。
4.设寄存器 0EH=0111 0100B, 年报警寄存器 0DH=08h,月报警寄存器 0CH=08h,日报警寄存器 0BH=08h,小时报警寄存器 09H=20h,位 INTAE=1、IM=0、INTS1=0、INTS0=1、12\_/24=1 ,则到 2008 年 8 月 8 日 20 点 0 分 0 秒时,INT 脚会输出低电平。此后如清零 INTAF,则 INT脚从低电平变成高电平。
(2)频率中断
当 INTFE=1时频率中断被允许, INTFE=0 时频率中断被禁止。
当设置 INTS1=1、INTS0=0时,即允许频率中断从 INT脚输出,频率中断没有标志位。
INT脚输出频率中断由控制寄存器 3 中的 FS3、FS2、FS1、FS0位来选择确定:
| 频率(Hz) | FS3 | FS2 | FS1 | FS0 |
| 0 | 0 | 0 | 0 | 0 |
| 4096 | 0 | 0 | 1 | 0 |
| 1024 | 0 | 0 | 1 | 1 |
| 64 | 0 | 1 | 0 | 0 |
| 32 | 0 | 1 | 0 | 1 |
| 16 | 0 | 1 | 1 | 0 |
| 8 | 0 | 1 | 1 | 1 |
| 4 | 1 | 0 | 0 | 0 |
| 2 | 1 | 0 | 0 | 1 |
| 1 | 1 | 0 | 1 | 0 |
| 1/2 | 1 | 0 | 1 | 1 |
| 1/4 | 1 | 1 | 0 | 0 |
| 1/8 | 1 | 1 | 0 | 1 |
| 1/16 | 1 | 1 | 1 | 0 |
| 1秒 | 1 | 1 | 1 | 1 |
注:除了 1 秒外,INT 脚输出的频率中断均是由 32768Hz 晶体振荡电路整形及分频得到的;1 秒频率中断是指输出 500ms 低电平、500ms 高电平的方波,其低电平的下降沿与秒进位同步; 在温度补偿时内部数字调整寄存器起作用时,1秒和 1Hz的时长是不相同的。
例如:需要 INT 脚输出 1Hz 信号时,可以通过设置位 INTS1=1、INTS0=0、INTFE=1、FS3-FS2-FS1-FS0=1010 得到。
## (1)倒计时中断
与倒计时中断相关的寄存器是三字节 24bit 的倒数定时器 13H、14H 和 15H, 当控制寄存器 CTR2 中的位 INTDE=1时倒计时中断被允许。
倒数定时器的频率源由控制寄存器 CTR2中的位 TDS1、TDS0来选定;
| TDS1 | TDS0 | 定时器频率源 |
| 0 | 0 | 4096Hz |
| 0 | 1 | 1024Hz |
当 INTDE=1 且倒数定时器写入一个 24 位自动重置的二进制数后, 倒数定时器会按照TDS1、TDS0选定的频率时间来减一。每次当三字节倒数定时器全为零时,会置倒计时中断的标志位(控制寄存器 1 中的位 INTDF)为 1。
当设置 INTS1=1、INTS0=1、IM=0 时,即允许倒计时中断的低电平从 INT 脚输出. 置INTDF=0 时 INT 脚输出变为高电平直到下一次倒计时中断 INT 脚再次变为低电平;当设置INTS1=1、INTS0=1、IM=1 且倒数定时周期大于 250ms 时,则从 INT 脚输出低电平时间为 250ms连续脉冲。
当设置 INTDE=0时倒计时中断被禁止或复位。
特别的:当重新配置倒计时中断时,需要复位倒计时计数器,即置 INTDE=0,然后再置INTDE=1,才可以启用新的倒计时中断。
## 4.4 电池控制寄存器
## 4.4.1 IIC 控制寄存器 AGTC(17H)
| 名称 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | 复位值 |
| AGTC | BATIIC | 0 | - | - | - | - | - | - | 0-255 |
BATIIC: BATIIC=0,VBAT 模式下禁止 IIC 通信;BATIIC=1,VBAT 模式下允许 IIC 通信,该寄存器位上电默认值为 0;其它位赋值均须为 0.
## 4.4.2 扩展控制寄存器 CRT4(19H):
| 名称 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | 复位值 |
| CTR4 | INTS_E2 | INTS_E1 | INTS_E0 | CONT_BAT | INTTHE | INTTLE | INTBHE | INTBLE | 0000_0000 |
当寄存器 10H 中的{INTS1,INTS0}=00 时,INT 引脚输出扩展以下功能:
| INTS_E2 | INTS_E1 | INTS_E0 | 功能描述 |
| 0 | 0 | 0 | 禁止输出,高阻态 |
| 0 | 0 | 1 | - |
| 0 | 1 | 0 | - |
| 0 | 1 | 1 | 电池低压报警 |
| 1 | 0 | 0 | 电池高压报警 |
| 其他 | 禁止输出,高阻态 |
VDD模式下,芯片电池电量测量周期为 60S,从每分钟的 3S 开始测量; VBAT模式下,芯片电池电量测量周期为 600S,从分钟的个位为 0 的 3S 时开始测量。 电池电压测量结果存放在寄存器 1AH[7]和 VBAT\_VAL 中。(下同) 例如:1AH=80H,1BH(VBAT\_VAL)=30H,则芯片 Vbat 脚外接电池的电压=130H=304D=3.04V。
INTTHE: 固定设置为 0
INTTLE: 固定设置为 0
INTBHE:电池高压报警使能位 (报警电压值电压值为 3.30V,精度±0.10V),当若INTBHE=1 且检测到的 VBAT 脚电压大于等于 3.3V 时置 BHF 位为 1。
INTBLE:电池低压报警使能位(电池报警电压值为 2.20V,精度±0.10V),当若 INTBLE=1且检测到的 VBAT脚电压小于等于 2.2V时置 BLF位为 1。
注:
1.以上两种报警中断均只支持单周期报警中断,不支持周期性报警中断。
2. Bit4位默认值为 0;该位赋值均须为 0。
## 4.4.3 寄存器 CTR5(1AH)
| 名称 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | 复位值 |
| CTR5 | BAT8_VAL | - | - | - | THF | TLF | BHF | BLF | 0000_0000 |
BAT8\_VAL:电池测量结果的最高位
BHF:电池电压高压标志位
BLF:电池电压欠压标志位(与 0FH寄存器的 BLF 位完全相同,为方便读电池状态而设置)。
BHF、BLF 不能通过软件来设置或清除;当 INT 选择为BHF、BLF 输出时, 中断脚 INT的状态和BHF、BLF 状态一致。
## 4.4.4 电池电量低八位寄存器(1BH)
| 名称 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | 复位值 |
| BAT_VL | BAT7_VL | BAT6_VL | BAT5_VL | BAT4_VL | BAT3_VL | BAT2_VL | BAT1_VL | BATO_VL | 0000_0000 |
电池测量值,若禁止电池测量,则读出的数据为 0,该寄存器只读。
1AH[7]即 BAT8\_VAL 与 1BH合起来的 9 位数据的表示电池电量的电压值。
如 1AH[7]=1,VBAT\_VAL=35H,则当前所测的电池电量=135H=309(十进制)=3.09V。
## 4.5 温度控制寄存器
## 4.5.1 温度寄存器 TEMP(16H)
| 名称 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | 复位值 |
| TEMP | TM7 | TM6 | TM5 | TM4 | TM3 | TM2 | TM1 | TMO | 0-255 |
最高位 TM7 为符号位,举例:TEMP=10H,温度为 16℃,TEMP=FEH,温度为-2℃。
在 VDD模式下 60S间隔自动测温一次,电池模式 600S 间隔测温一次,温度值在 0S 时自动更新。
## 寄存器(19H)和寄存器 CTR5(1AH)的温度相关位:INTTHE、INTTLE、THF、TLF。
INTTLE: 低温报警使能位。INTTLE=1并且芯片测量的温度低于或等于 TEMP\_AL寄存器设定的值时,芯片发出低温报警,置低温报警位 CTR5 中的 TLF 为 1;直到下次测量的温度值高于 TEMP\_AL 寄存器设定的值,TLF 变为 0。若 INTTLE=0,禁止低温报警,TEMP\_AL 所设定的值没有意义,可以作为通用的 SRAM来使用,在这种情况下 TLF一直为 0。
INTTHE: 高温报警使能位。INTTHE=1并且芯片测量的温度高于或等于 TEMP\_AH寄存器设定的值时,芯片发出高温报警,置高温报警位 CTR5 中的 THF为 1;直到下次测量的温度值低于 TEMP\_AH 寄存器设定的值,THF 变为 0。若 INTTHE=0,禁止高温报警,TEMP\_AH 所设定的值没有意义,可以作为通用的 SRAM来使用,在这种情况下 THF一直为 0。
THF : 高 温 报 警 标 志 位 , 当 寄 存 器 10H 中 的 {INTS1,INTS0}=00 且 19H 中 的{INTS\_E2,INTS\_E1,INTS\_E0}=010 时,INT 脚输出高温报警中断。
TLF : 低 温 报 警 标 志 位 , 当 寄 存 器 10H 中 的 {INTS1,INTS0}=00 且 19H 中 的{INTS\_E2,INTS\_E1,INTS\_E0}=001 时,INT 脚输出低温报警中断。
## 4.5.2 寄存器 1CH
| 名称 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | 复位值 |
| TEMP_AL | TEMP7_AL | TEMP6_AL | TEMP5_AL | TEMP4_AL | TEMP3_AL | TEMP2_AL | TEMP1_AL | TEMP0_AL | 0000_0000 |
低温报警的温度值,低于或等于此温度开始报警。
## 4.5.3 寄存器 1DH
| 名称 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | 复位值 |
| TEMP_AH | TEMP7_AH | TEMP6_AH | TEMP5_AH | TEMP4_AH | TEMP3_AH | TEMP2_AH | TEMP1_AH | TEMPO_AH | 0000_0000 |
高温报警的温度值,高于或等于此温度开始报警。
## 4.5.4 寄存器 1EH
| 名称 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | 复位值 |
| TEMP_HIS_L | TEMP_L7 | TEMP_L6 | TEMP_L5 | TEMP_L4 | TEMP_L3 | TEMP_L2 | TEMP_L1 | TEMP_L0 | 0111_1111 |
历史低温数据值,Bit7 为符号位。
## 4.5.5 寄存器 1FH
| 名称 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | 复位值 |
| TEMP_HIS_H | TEMP_H7 | TEMP_H6 | TEMP_H5 | TEMP_H4 | TEMP_H3 | TEMP_H2 | TEMP_H1 | TEMP_H0 | 1000_0000 |
历史高温数据值,Bit7 为符号位。
## 4.5.6 寄存器 20H~25H
分别记录发生最低温的历史时间:年、月、日、星期、小时、分钟。
## 4.5.7 寄存器 26H~2BH
分别记录发生最高温的历史时间:年、月、日、星期、小时、分钟。
## 4.6 用户 RAM(2CH\~71H):70 字节的用户数据 RAM
## 4.7 ID码(72H\~79H):8 字节的模块身份识别码,包含生产日期、内部批号、内部序号等
| ID码地址 | 72H | 73H | 74H | 75H | 76H | 77H | 78H | 79H |
| 说明 | 生产年份:00~99 | 生产月份:1~12 | 生产日份:1~31 | 生产机台编号 | 四位生产工单号:如A394. | 工单内序号:0000~9999 |
## 4.8 充电选择寄存器(18H):
| Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
| EN_Charge | | | | | | Charge1 | Charge0 |
| 0 | - | - | - | - | - | 1 | 1 |
EN\_Charge:0 禁止充电功能;1允许充电功能;复位值为 0,即禁止充电功能。
Charge1 Charge0 描述
0 10k
1 5k
0 2k
1 1 无穷大,断开
对于该寄存器,SD2506API出厂均配置成 82H.为了避免在停电时间过长导致电池电量耗光、18H的值被改变,强烈建议用户的程序在每一次上电时重置 18H寄存器的值为 82H。(充电功能开启后,模块会增加大约 80uA 左右的 VDD工作电流。)
WRTC1、WRTC2、WRTC3 位: 寄存器(00H\~71H)写允许位。即 WRTC1=1、WRTC2=1、WRTC3=1时写允许.注意置位有先后顺序,先置 WRTC1 为 1,后置 WRTC2、WRTC3 为 1;当 WRTC1=0、
WRTC2=0、WRTC3=0 时则写禁止,同样置位有先后顺序,先置 WRTC2、WRTC3 为 0,后置WRTC1为 0。当写禁止时,除了以上三位可以写以外,从 00H 到 79H所有的寄存器均不可以写。写禁止并不影响读操作。
特别的:当写允许时,如需要赋值与写保护位相关的寄存器 0FH、10H,则要注意对应的位WRTC1、WRTC2、WRTC3 的赋值,这三个位只能为 1 而不可为 0,否则会造成写禁止而数据写不进相应的寄存器.又因为 0F 的寄存器其它位均为标志位,所以建议写允许时赋值 0F 寄存器的值可以定为 FFH,写禁止时赋值 0F 寄存器的值可以定为 7BH。
ARST位: 自动复位使能位.对控制寄存器 1的 INTAF、INTDF、BAT位的自动复位进行使能/禁止. 当 ARST=1 时,对控制寄存器 1 进行一次有效的读操作后,以上三个状态位均复位为”0”.若 ARST=0,则需要对 INTAF、INTDF、BAT 位进行手动复位方可清零。
FOBAT 位:FOBAT=0 时,当处于 VBAT 模式下,INT 脚输出禁止;FOBAT=1 时,当处于 VBAT 模式下,INT脚输出允许.该位在 VDD模式下不起作用。(要注意在 VBAT 模式下 INT脚输出会引起电池的消耗)
RTCF位:上电位,全部电源失效后再上电则该位置”1”,为只读位.上电后的第一次有效写(只要写一个字节即可)就可以将 RTCF位清为”0”。
SYS位:RTC 芯片上电配置完成标志位(只读位)。系统上电 80ms 后,SYS置 1,在 SYS置 1 之前,芯片输出禁止,IIC不可操作。
OSC\_RDY位:RTC 芯片内部起振标志位(只读位),该位在内部振荡器起振 0.5 秒后该位置为 1。
OSF:停振标志位,OSF=1,表示之前有过停振发生。默认值为 0。
BLF:电池电压欠压标志位,当电池电压低于 2.2V 时此位置"1"(不论是 VDD 模式还是VBAT 模式)。
PMF:电源模式标志位,当电源模式为 VDD 模式时 PMF=0; 当电源模式为 VBAT 模式时PMF=1。
F32K:32K 输出控制位---32K=0,允许输出;32K=1,禁止输出;默认值为 0。
## 5.串行 IIC 接口
## 5.1 SD2506API 通过两线式 IIC串行接口方式接收各种命令并读写数据。两线式串行 IIC接口方式描述如下:
两线式串行 IIC接口方式描述如下:
## (1)开始条件
当 SCL处于高电平时,SDA 由高电平变成低电平构成一个开始条件,对 SD2506API 的所有操作均必须由开始条件开始。
## (2)停止条件
当 SCL处于高电平时,SDA 由低电平变成高电平构成一个停止条件,对 SD2506API 的所有操作均停止,系统进入待机状态。

text_image
tsu:sta thd:sta
t:su:sto
SCL
SDA
start
stop
实时时钟串行接口
## (3)数据传输
当 SCL为低电平,且 SDA线电平变化时,则数据由 CPU传输给 SD2506API(高位在前、低位在后,下同);当 SCL为高电平,且 SDA电平保持不变时,则 CPU读取 SD2506API 发送来的数据:当 SCL为高电平,且 SDA电平变化时,SD2506API收到一个开始或停止条件。

text_image
tsu:dat
thd:dat
SCL
SDA
实时时钟数据传输时序
## (4)确认
数据传输以 8 位序列进行。SD2506API 在第九个时钟周期时将 SDA置位为低电平,即送出一个确认信号(Acknowledge bit,以下简称“ACK”),表明数据已经被其收到。

text_image
SCL (CPU)
1
8
9
SDA (CPU)
SDA (SD2507A)
start
tpd
tdh
实时时钟确认信号
## 5.2 数据/指令传输格式
当 CPU 发出开始条件与实时时钟建立连接后, CPU 首先通过 SDA 总线连续输出 7 位器件地址和 1位读/写指令来唤醒 SD2506API。
## (1) 器件代码:
| Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
| 0 | 1 | 1 | 0 | 0 | 1 | 0 | R/W |
其中高 7 位 BIT7\~BIT1 称“器件代码”,它代表实时时钟的器件地址,固定为“0110010”;BIT0 为读/写位,”1”为读操作,”0”为写操作。
## (2) 数据传输格式
在数据发送/接收时停止信号到来时,将结束其数据传输,同时内部 5 位地址归零(注:内部 5 位地址的缺省值为 00000B)。如果只有开始信号,而没有结束信号,接着重新产生起始信号,则还要重新设置器件代码(在传输方向需要改变时,就用这种传输方式,如下面的读数据方式 1)。
主设备向从设备写入数据过程如下图:
主设备向从设备直接读取数据过程如下图:
数据传输时改变其传输方向过程图:

text_image
S 0 1 1 0 0 1 0 0 A 数据 A Sr 0 1 1 0 0 1 0 1 A
寻址字节 写 寻址字节 读
数据 A 数据 A_ P
CPU到时钟 时钟到CPU A A A_ 响应信号
S 起始信号 P 停止信号 Sr 重新起始信号
通知从设备以结束读数据
(3)SD2506API 数据传输的写模式
先送 7 位器件地址(0110010),第 8 位送入写命令(“0”), 第 9 位是 SD2506API 的响应位(ACK),SD2506API 进入写状态。
接下来一个字节的前 8 位确定 SD2506API 的内部地址(00H\~79H), , 第 9 位是 SD2506API的响应位。
开始写数据,每写完1个字节的数据之后,都经过1位的响应信号才能写下1字节的数据;如果要结束写数据过程,则在 ACK 后送出停止命令即可。
SD2506API 写数据示例(向 14H,15H 地址写数据):
| S | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | A | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | A | 数据 | A | 数据 | A | P |
| 寻址字节 | 写 | | 设置14H内部地址 | | 14H | | 15H | | |

特别注意:
1.除了 WRTC1、WRTC2、WRTC3 三个写允许位,对寄存器(00H\~71H)的写操作必须确认模块处于写允状态,否则写无效。
2.写时间同步:每次对实时时间秒寄存器的写操作时,当秒数据的 8个 bit完全写入并收到 ACK信号后,就会对秒以下的内部计数器清零,使时间同步。
3. 从当前地址开始,每次读写完一个字节地址自动加 1。
4.如果写入的时间数据不存在,则不改写相对应的时间寄存器的值。
5.为了提高数据的可靠性,当写完成后,应将模块置于写禁止状态。(参见 5.7)
(4)SD2506API 数据传输的读模式
SD2506API 有两种读数据方法:
I)读方法 1:从指定的内部地址中读取数据。
. 与写模式的前两步一样。
. 重新发出开始命令以改变两线接口数据传输方向。
. 再送 7 位器件地址(0110010),第 8 位送入读命令(“1”), 第 9 位是 SD2506API 的响应位(ACK),SD2506API 进入读状态。
. 开始读数据,每读完1个字节的数据之后,CPU都要送出1位的响应信号(ACK,低电平)才能读下1字节的数据;如果想要结束读数据过程,则CPU要送出1位的响应信号(ACK\_,高电平), ACK\_后送出停止命令即可。
SD2506API 读数据方法 1 示例(从 7H\~9H 地址读取数据):

text_image
S 0 1 1 0 0 1 0 0 A 0 0 0 0 0 1 1 1 A
寻址字节 写 设置7H内部地址
Sr 0 1 1 0 0 1 0 1 A 数据 A 数据 A 数据 A_ P
寻址字节 读 7H 8H 9H
CPU到时钟 时钟到CPU A A A_
通知时钟以结束读数据
S 起始信号 P 停止信号 Sr 重新起始信号
II)读方法 2:直接读取数据(从内部地址 00H开始)
. 开始信号后,先送 7 位器件地址(0110010),第 8 位送入读命令(“1”), 第 9 位是SD2506API 的响应位(ACK),SD2506API 进入读状态。
. 每读完 1 个字节的数据之后,CPU 都要送出 1 位的响应信号(ACK,低电平)才能读下 1字节的数据;如果想要结束读数据过程,则CPU要送出1位的响应信号(ACK\_,高电平), ACK\_后送出停止命令即可。
SD2506API 读数据方法 2 示例(从 00H 地址开始读取数据):

(5)SD2506API在特殊条件下的数据传输
为了保证读写数据的有效性,SD2506API 的两线通信开始到结束仅在此 0.5S 秒之内,如此可避免总线挂死的现象。
因此在 SD2506API 中,IIC 通信方式会在第一个开始信号(START)到来之后的 0.5 秒之内自动终止本次通信。所以,要注意: 从开始信号进行读/写数据,直到停止信号, 读/写操作
过程必须在 0.5秒之内完成。
特别:在进入 VBAT 模式后 IC会禁止 IIC总线的通信。
## 6.备用电源切换电路
SD2506API具有后备电池自动切换功能:当模块检测到主电源 VDD掉到后备电池电压以下且 VDD小于 2.4V时自动转为由内部的后备电池供电,模块进入后备电池 VBAT 供电模式;当 VDD大于内部电池电压或 VDD大于 2.4V,则模块会转为由 VDD供电,模块进入 VDD供电模式。(内置电源模式指示位 PMF,VDD 模式时 PMF=0,VBAT 模式时 PMF=1)。
电源失效检测:
SD2506API 有一个实时时钟失效位(RTCF),用于检测总电源失效。它在器件丢失所有电源(VDD 和后备电池)之后使用户可以确定器件是否已上电。
## 7.内部电池充电电路
SD2506API 内置电池充电电路,当 VDD 电压正常时,内部充电自动进行直至电池充满。(内部充电过程不需要用户干预,会自动完成)。
内部充电电池一次充满时的电量为 5.5mAh,在外电源掉电的常温情况下时钟走时时间在 8 个月左右。电池可以满充 100 次(注:满充的定义是指将电池从 0V 充到 3.0V),常温下等效总电量为 550mAh;如果从电池电量的 90%开始充电,则电池的充电此数为 1000次。
## 特别提示:
1.为了保证充电功能的正常运行,用户的程序须在每一次上电时重置 18H 寄存器的值为 82H。
2.对内置充电电池的时钟模块不上电充电时间不能超过 8 个月,不要等电池的电耗光后再去充电,否则会减少电池的使用寿命。
## 8.上电复位
模块内部具有上电复位电路,当所有电源包括内部电池完全掉电再上电时会复位内部寄存器,复位操作对内部部分寄存器进行置初值但不包括实时时钟数据寄存器、通用 RAM。
## 9.使用说明
1.为了防止电路噪声问题,请在此模块的旁边放置两个旁路电容,分别是 0.1uF 电容和10uF 电容。
2.为了防止干扰,在 PCB 制作时请保证模块底部无大电流信号通过,最好能铺地。
## 10. 应用参考电路

text_image
VDD
C2 10uF
+
C1 100nF
U1
TEST VDD
NC INT
NC SCL
GND SDA
1 8 R1
2 7 6 R2
3 5 10K 10K
## 11.极限参数
VDD 、VBAT 、SCL、SDA 和 INT 引脚上的电压(相对于地)……… -0.5V 至 7.0V引线温度(焊接,5秒)…… 350℃
注:
1.因模块内置电池本体的表面温度不能超过 85℃,本产品不可以采用回流焊或波峰焊方式,最好采用烙铁焊接方式。
2.强度超出所列的极限参数可能导致器件的永久性损坏。这些仅仅是极限参数,并不意味着在极限条件下或在任何其它超出推荐工作条件所示参数的情况下器件能有效地工作。延长在极限参数条件上的工作时间会影响器件的可靠性。
## 12.直流特性
| 符号 | 参数 | 条件 | 最小值 | 典型值 | 最大值 | 单位 | 备注 |
| $V_{DD}$ | 主电源 | | 2.7 | | 5.5 | V | |
| $I_{DD1}$ | 电源电流 | $V_{DD}=5V$ | 80uA | | 2mA | | 1 |
| $V_{DD}=3.3V$ | 80uA | | 2mA | | |
| $I_{BAT}$ | 电池供电电流 | $V_{BAT}=3V$ | | 800 | | nA | |
| $I_{L1}$ | SCL的输入漏电流 | | | 100 | | nA | |
| $I_{LO}$ | SDA上的I/O泄漏电流 | | | 100 | | nA | |
| $V_{BATHYS}$ | VBAT和VDD之间切换的迟滞电压 | | | 300 | | mV | |
| INT/SDAVOL | INT/SDA低电平输出电压 | $V_{DD}=5V$ $I_{OL}=0.5mA$ | 0.1 | 0.2 | 0.3 | V | |
Note1:此时最大电流 2mA主要是充电电流.当内部电池电压为 0V时,充电电流最大。当充电功能打开时,会增加 80uA的功耗。
## 13.掉电时序(温度:-30℃至+80℃)
| 符号 | 参数 | 条件 | 最小值 | 典型值 | 最大值 | 单位 | 注意 |
| $V_{DD\ br}$ | $V_{DD}$ 下电速率 | | | | 10 | V/ms | |
## 14.交流特性
| 符号 | 参数 | 条件 | 标准模式(fSCL=100kHz) | 快速模式(fSCL I=400kHz) | 单位 |
| 最小值 | 典型值 | 最大值 | 最小值 | 典型值 | 最大值 |
| fSCL | SCL 频率 | | | | 100 | | | 400 | kHz |
| VIL | SDA 和 SCL 低电平输入电压 | | -0.3 | | 0.3×VDD | -0.3 | | 0.3×VDD | V |
| VIH | SDA 和 SCL 高电平输入电压 | | 0.7×VDD | | VDD+0.3 | 0.7×VDD | | VDD+0.3 | V |
| Vhys | SDA 和 SCL 施密特触发输入滞后 | | 0.05×VDD | | | 0.05×VDD | | | V |
| VOL | 低电平输出电压 | SDA 输出低电平状态下,吸收 2mA 电流时的电压 | | 0.4 | | | 0.4 | | V |
| Cpin | SDA 和 SCL引脚电容 | TA=25°C f=1MHzVDD=5V VIN=0V VOUT=0V | | | 10 | | | 10 | pF |
| tIN | SDA 和 SCL 输入端的脉冲宽度抑制时间 | | | | 100 | | | 50 | ns |
| tAA | SCL 下降沿到 SDA 输出数据有效 | SCL 下降到 0.3×VDD,直到 SDA 不在 0.3×VDD至 0.7×VDD区间。 | | | 900 | | | 900 | ns |
| tBUF | 总线在 STOP 和 START之间的空闲时间 | SDA 在 STOP 条件下上升到 0.7×VDD,在开始条件下下降到 0.7×VDD。 | 4700 | | | 1300 | | | ns |
| tLOW | 时钟低电平时间 | 在 0.3×VDD处测量 | 4700 | | | 1300 | | | ns |
| tHIGH | 时钟高电平时间 | 在 0.7×VDD处测量 | 4000 | | | 600 | | | ns |
| tSU:STA | IIC 启动信号的建立时间 | SCL 上升到 0.7×VDD至 SDA 下降沿到 0.7×VDD | 4700 | | | 600 | | | ns |
| tHD:STA | IIC 停止信号的保持时间 | 在 SDA 下降沿到 0.3×VDD, SCL 下降沿到 0.7×VDD | 4000 | | | 600 | | | ns |
| tSU:DAT | 输入数据的建立时间 | 从 SDA 不在 0.3×VDD至 0.7×VDD范围,到 SCL 上升沿的 0.3×VDD | 250 | | | 100 | | | ns |
| tHD:DAT | 输入数据保持时间 | SCL 下降沿的 0.3×VDD,到 SDA 在 0.3×VDD至 0.7×VDD区间 | 0 | | | 0 | | | ns |
| tSU:STO | 停止条件的建立时间 | 从 SCL 上升沿经过 0.7×VDD,到 SDA上升沿 0.3×VDD | 4000 | | | 600 | | | ns |
| tDH | 数据输出的保持时间 | 从 SCL 下降沿 0.7×VDD,到 SDA 0.3×VDD至 0.7×VDD区间 | 0 | | | 0 | | | ns |
| $t_{R}$ | SDA 和 SCL 的上升时间 | $0.3 \times V_{DD}$ 至 $0.7 \times V_{DD}$ 区间 | | | 1000 | | | 300 | ns |
| $t_{F}$ | SDA 和 SCL 的下降时间 | $0.3 \times V_{DD}$ 至 $0.7 \times V_{DD}$ 区间 | | | 300 | | | 300 | ns |
IIC Timing Chart

text_image
tSU:STA
tHD:STA
tR
tF
tHIGH
tLOW
tSU:DAT
tHD:DAT
1/fscL
tSU:STO
tBUF
SDAIN
SDAOUT
tAA
tDH
15.频率误差&温度关系曲线(与没有温补功能的时钟模块进行对比):

funnel
| 温度 \(({}^{\circ}C)\) | 具温补的SD2506AP温度-精度特性 \(( \times 10^{-6})\) | 没有温补的RTC温度-精度特性 \(( \times 10^{-6})\) |
| --- | --- | --- |
| -40 | ~18 | -140 |
| -30 | ~10 | ~-100 |
| -20 | ~5 | ~-80 |
| -10 | ~2 | ~-60 |
| 0 | 0 | ~-40 |
| 10 | ~-2 | ~-20 |
| 20 | ~-5 | 0 |
| 30 | ~-8 | ~-20 |
| 40 | ~-10 | ~-60 |
| 50 | ~-12 | ~-80 |
| 60 | ~-14 | ~-100 |
| 70 | ~-16 | ~-120 |
| 80 | ~-18 | -140 |
16.SD2506API充放电曲线(图中电压均是指内部电池电压)

line
| 充电时间 (h) | 充电电流 (mA) | 充电电压 (V) |
| --- | --- | --- |
| 0 | ~0.9 | ~2.0 |
| 05 | ~0.15 | ~2.8 |
| 15 | ~0.1 | ~2.9 |
| 25 | ~0.08 | ~2.95 |
| 35 | ~0.06 | ~2.98 |
| 45 | ~0.05 | ~3.0 |
| 55 | ~0.04 | ~3.02 |
| 65 | ~0.03 | ~3.03 |
| 75 | ~0.02 | ~3.04 |

line
| 放电时间 (weeks) | 电压 (V) |
| --- | --- |
| 0 | 3.2 |
| 0.3 | ~2.75 |
| 06 | ~2.65 |
| 09 | ~2.62 |
| 12 | ~2.6 |
| 15 | ~2.58 |
| 18 | ~2.52 |
| 21 | ~2.4 |
| 24 | ~2.2 |
| 27 | 2.0 |
SD2506API 放电曲线
## 17.模块顶部字符说明

## 18.封装尺寸(DIP8,单位:mm;尺寸误差±0.2mm,特别说明除外。)

text_image
11.2
6.5
2.54
0.5
4.5
11.2
7.6
0.3
11.2
SD2506 封装尺寸(管脚尺寸:0.5\*0.3mm,管脚公差±0.05mm)
## 编后语
感谢您阅读本资料。由于经验和水平的欠缺,本文难免有错误和遗漏。如果您在使用过程中发现错误或不恰当的地方,请拨打电话:0755-83246178 或请 E-mail:support@whwave.com.cn,我们将尽快予以答复。
谢谢您的支持与合作!
注:
本资料中的内容如有变化,恕不另行通知。
本资料提供的应用线路及程序仅供参考,本公司不承担由此而引起的任何损失。
由于本公司的产品不断更新和提高,希望您经常与本公司联系,以索取最新资料。
本公司不承担在任何使用过程中引起的侵犯第三方专利和其它权利的责任。
注:本文档受中国版权法保护,非授权禁止拷贝、复制、引用或传播
(SD 及 WAVE 均为我公司注册商标)
深圳市兴威帆电子技术有限公司
| 版本号 | 修改时间 | 修改记录 | 修改人 |
| V2.0 | 2025.08.29 | 修改倒计时部分 | CHENMY |
| V2.1 | 2026.02.03 | 修改封装尺寸部分 | CHENMY |
附录:
## 一. SD2506系列应用中硬件注意事项:
(1) 对 SD2506 及 MCU 的电源\~地之间加 104 电容去高频。
(2) 对SD2506及MCU所在的板数字电源\~地的输入端加220uF以上的电解及104电容去除电源扰动.
(3) 为了防止干扰,在 PCB 制作时请保证模块底部无大电流信号通过,最好能铺地.
(4) 对MCU的复位端尽量采用可靠的复位方式,而摒弃阻容复位或直接连到VDD的方式.以下推荐廉价的三极管复位方式,当然用电压检测器或专用复位电路就更好啦.

图中 R2,R3 为分压电阻,其选值可用以下公式:
Vbe/Vrst=R2/(R2+R3)
其中:Vbe为三极管 b极和 e 极之间导通电压
Vrst为单片机的复位电压
C1为延时电容
D1为延时电容的放电二极管,可选用.
## 二. SD2506系列应用中软件注意事项
1) 软件上电开始做一个几百毫秒的延时,等 MCU端口稳定后再去进行读写操作。
2) 时钟最多半秒才读一次:这样做主要目的是考虑到时间数据的改变需要 1S,频繁去读的话是在做无用功,不但会加大电源功耗,而且会引入干扰。
3) IIC 总线”START”里:在置 SDA 为高后要再判断 SDA 是否为高,即 SDA 是否被箝位为低,否则等 SDA 线
置高。在写命令字时:要判断ACK 是否正常,否则退出
4)IIC 总线”STOP”里:在置 SDA 为高后要再判断 SDA 是否为高,即 SDA 是否被箝位为低,否则多置 SCL 脉
冲让 SDA 线释放为高.在写命令字时:要判断ACK 是否正常,否则退出,不要再进行下面的操
作。
## 三. 有关 SD2506 的一些问题回答
## (1) 时钟精度:
SD2506 的精度指标为常温 25 度下±3.8ppm,即年误差少于 2 分钟.
出厂之前对每一只 SD2506 都用超高精度的仪器和严格的程序做了校准,所以能保证精度.有人说他拿到 SD2506 的精度好像不准,一般问题出在参考时钟上,通常可用电信 12117台作基准来验证,但如用电脑那就差远了,因为电脑的时钟精度一般都不高,通常大于 30ppm.最好用网络校时软件.
手机安卓版网络/GPS校时软件:
https://www.whwave.com.cn/filedownload/420894
## (2) 温度对精度的影响:
SD2506时钟具有温度补偿功能。