【无标题】

DrvBsp_I2C驱动_RTC_ IN1363(二)

一、原理图

ER14250是一款3.6V锂亚硫酰氯一次性圆柱电池,标称容量1200mAh,标称电压3.6V,放电截止电压2.0V。

电池电压3.6V > 系统电压3.3V,如D2、D3采用同一二极管,则主供电电源将是电池。因此D2采用SS14、D3则采用导通电压更高LL4148。

IN1363是IKSemicon生产的实时时钟芯片,其成本远低于RX8025T,本文以IN1363为例介绍RTC芯片的使用。

IN1363是一款集成日历、闹钟、计时器功能的完整BCD码数字手表,并具有低功耗特性。其核心功能与特性如下:(BCD码是一种以二进制形式表示十进制数的编码,所以BCD码亦称为二-十进制码)

  • 地址与数据通过I2C总线以串行方式传输。
  • 该芯片用于实时计时(时、分、秒),并可计数星期、日期、月份及年份。
  • 对于少于 31 天的月份,芯片会自动调整月末日期,包括闰年修正功能。
  • 芯片采用 24 小时制工作模式。

该芯片的特性与PCF8563近似,本文参考PCF8563的规格介绍IN1363的特性。

二、管脚定义

|----------|----------|---------------------------------------------------------------------------------|
| 管脚序号 | 管脚符号 | 描述 |
| 01 | OSCI | 32.768kHz石英晶振 |
| 02 | OSCO | 32.768kHz石英晶振 |
| 03 | INT | 中断管脚输出;中断条件由当前时间与闹钟设置匹配(电平信号)或定时器倒计时归零触发(电平或脉冲信号)。 |
| 04 | VSS | 地 |
| 05 | SDA | I2C总线接口 |
| 06 | SCL | I2C总线接口 |
| 07 | CLKOUT | 分频时钟输出;FE 位置1使能CLKOUT。CLKOUT 引脚生成四种不同频率(1Hz、32Hz、1kHz、32kHz)信号。CLKOUT 本质为开漏极输出, |
| 08 | VDD | 电源3.3V |

三、寄存器介绍

3.1 控制寄存器1(00H)

|--------|-------|---|------|---|-------|---|---|---|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | TEST1 | 0 | STOP | 0 | TESTC | 0 | 0 | 0 |

属于测试用寄存器,应用时无需使用

3.2 控制寄存器2(01H)

|--------|---|---|---|-------|----|----|-----|-----|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | 0 | 0 | 0 | TI/TP | AF | TF | AIE | TIE |

  1. TI/TP(INT引脚脉冲中断信号生成)---"0"表示INT引脚为低电平持续中断信号;"1"表示INT引脚为脉冲中断信号
  2. AF(闹钟标志位)---"1"时,表明闹钟触发中断。仅可通过软件复位。
  3. TF(定时器标志位)---"1"时,表明定时器触发中断。仅可通过软件复位。
  4. AIE(闹钟使能位)---"1",用于启动闹钟功能。
  5. TIE(定时器使能位)--- "1",用于启动定时器功能。4

当INT引脚输出为脉冲时,其脉冲宽度如下:

|---------|--------|--------|
| 定时器输入频率 | INT脉冲宽度 ||
| 定时器输入频率 | N=1 | N>1 |
| 4096Hz | 1/8192 | 1/4096 |
| 64Hz | 1/128 | 1/64 |
| 1Hz | 1/64 | 1/64 |
| 1/60Hz | 1/64 | 1/64 |

N值即是定时器寄存器的值,

个人理解:当N=1时,脉冲宽度太宽,则与定时器中断发生周期可能会有重叠;

3.3 控制寄存器CLKOUT(0DH)

|--------|----|---|---|---|---|---|-----|-----|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | FE | х | х | х | х | х | FD1 | FD0 |

FE(CLKOUT 输出使能位)--- "1"用于使能 CLKOUT 输出。输出信号的频率由FD0位和FD1位决定。定时器的时钟源也通过"定时器控制寄存器"选择。

|---------|---------|----------------------|
| FD1 | FD0 | Frequency CLKOUT |
| 0 | 0 | 32,768 kHz |
| 0 | 1 | 8,192 kHz |
| 1 | 0 | 4,096 kHz |
| 1 | 1 | 1 Hz |

3.4 定时器寄存器(0FH)

定时器寄存器是一个8位倒计数定时器,它是由定时器控制寄存器中TE位决定是否有效。

定时器的时钟也是由"定时器控制寄存器"选择,其他功能,如中断产生等则由"控制寄存器2"决定。位了能精确读回倒计数的数值,I2C总线时钟SCL的频率应至少位所选定定时器时钟频率的2倍。

3.5 定时器控制寄存器(0EH)

|--------|----|---|---|---|---|---|-----|-----|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | TE | х | х | х | х | х | TD1 | TD0 |

  1. TE(定时器使能位)---"1",用于启动定时器功能。
  2. TD0/TD1 --- 定时器的输入时钟频率

|-----|-----|---------|
| TD1 | TD0 | 定时器输入频率 |
| 0 | 0 | 4096Hz |
| 0 | 1 | 64Hz |
| 1 | 0 | 1Hz |
| 1 | 1 | 1/60Hz |

3.6 秒分时寄存器(02H、03H、04H)

02H:秒寄存器

|--------|----|---|---|---|---|---|---|---|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | VL | 秒 |||||||

03H:分寄存器

|--------|---|---|---|---|---|---|---|---|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | x | 分 |||||||

04H:时寄存器

|--------|---|---|---|---|---|---|---|---|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | x | x | 时 ||||||

时分秒寄存器均为BCD码。VL=0保证有准确的时钟日历;VL=1不保证有准确的时钟日历。

当供电电压低于预定值时,位VL置1,用于指明可能产生不准确的时钟日历。

3.7 日周月年寄存器(05H、06H、07H、08H)

05H:日寄存器

|--------|---|---|---|---|---|---|---|---|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | x | x | 日 ||||||

06H:周寄存器

|--------|---|---|---|---|---|---|---|---|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | x | x | x | x | X | 周 |||

07H:月寄存器

|--------|---|---|---|---|---|---|---|---|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | C | x | x | 月 |||||

C=0,表示年份为20XX年;否则表示年份为19XX年

08H:年寄存器

|--------|---|---|---|---|---|---|---|---|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | 年 ||||||||

3.8 告警寄存器(09H、0AH、0BH、0CH)

09H:日告警寄存器

|--------|----|---|---|---|---|---|---|---|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | AE | 分钟告警(0-59) |||||||

AE=0代表该寄存器使能

0AH:时告警寄存器

|--------|----|---|---|---|---|---|---|---|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | AE | x | 时钟告警(0-23) ||||||

AE=0代表该寄存器使能

0BH:日告警寄存器

|--------|----|---|---|---|---|---|---|---|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | AE | x | 日告警(1-31) ||||||

AE=0代表该寄存器使能

0CH:周告警寄存器

|--------|----|---|---|---|---|---|---|---|
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Symbol | AE | x | x | x | x | 周告警(0-6) |||

AE=0代表该寄存器使能

四、蔡勒公式

蔡勒(Zeller)公式:是一个计算星期的公式。随便给一个日期,就能用这个公式推算出是星期几。

W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1

公式中的符号含义如下:

W:星期; W对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六

C:世纪-1(前两位数)

y:年(后两位数)

m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)

d:日

\]代表取整,即只要整数部分。 以2025年1月1日为例 W = \[20/4\] -2\*20 + 24 + \[24/4\] + \[13\*(13+1)/5\] + 1-1 = 5-40+24+6+36+1-1 = 31 31/7 = 4 ... 3 ,星期三

相关推荐
IT阳晨。6 小时前
【STM32】看门狗
stm32·嵌入式硬件
mftang6 小时前
IO 开漏模式的特征和STM32 IO开路模式的配置和应用
stm32·嵌入式硬件·开漏模式
普中科技7 小时前
【普中DSP28335开发攻略】-- 第 9 章 蜂鸣器实验
单片机·嵌入式硬件·蜂鸣器·dsp28335·ccs·普中科技
ShiMetaPi8 小时前
操作【GM3568JHF】FPGA+ARM异构开发板 使用指南:串口
arm开发·单片机·嵌入式硬件·fpga开发·rk3568
点灯小铭8 小时前
基于单片机的两路PWM信号输出及频率占空比相位差调节系统
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
普中科技8 小时前
【普中STM32F1xx开发攻略--标准库版】-- 第 9 章 STM32 固件库介绍
stm32·单片机·嵌入式硬件·arm·普中科技·固件库
天天爱吃肉82188 小时前
我回来了,依然关注新能源汽车研发测试,
嵌入式硬件·汽车
D.....l9 小时前
STM32学习(MCU控制)(DMA and ADC)
stm32·单片机·学习
小莞尔9 小时前
【51单片机】【protues仿真】基于51单片机自动售货机系统
c语言·单片机·嵌入式硬件·物联网·51单片机