电子说
在电子设备的设计中,实时时钟(RTC)模块起着至关重要的作用,它能为系统提供精确的时间信息,确保设备按照预定的时间顺序执行任务。今天我们要深入探讨的是Diodes Incorporated推出的PT7C4311实时时钟模块,它具有丰富的功能和优秀的性能,适用于各种对时间精度有要求的应用场景。
文件下载:PT7C4311ZEEX.pdf
PT7C4311是一款低功耗的串行实时时钟/日历模块,具备可编程方波输出功能。它通过2线双向总线(I2C)进行地址和数据的串行传输,能提供秒、分、时、日、日期、月和年等信息,并且能自动调整每月的日期,包括闰年的修正。
| 功能 | 详情 |
|---|---|
| 振荡器 | 采用32.768kHz晶体,可控制振荡器的启用/禁用,并具备振荡器故障检测功能 |
| 时间显示 | 支持12小时和24小时格式,带有世纪位,可控制时间计数链的启用/禁用 |
| 可编程方波输出 | 可输出512Hz的方波 |
| 可编程高低电平输出 | 可设置输出的高低电平 |
| 通信接口 | 支持2线I2C总线 |
| RAM | 拥有56×8的RAM |
| 电池备份 | 具备电池备份功能,确保在主电源断电时时间信息不丢失 |
| 时钟校准 | 可进行时钟校准,提高时钟精度 |
| 引脚编号 | 引脚名称 | 类型 | 描述 |
|---|---|---|---|
| 1 | X1 | I | 振荡器电路输入,与X2之间连接32.768kHz晶体,也可作为外部时钟输入 |
| 2 | X2 | O | 振荡器电路输出,与X1之间连接32.768kHz晶体 |
| 3 | VBAT | P | 电池供电电压,当VCC > VSO时,由VCC供电;当VCC < VSO时,由VBAT供电 |
| 4 | GND | P | 接地 |
| 5 | SDA | I/O | 串行数据输入/输出,为2线串行接口的输入/输出引脚,为开漏输出,需外接上拉电阻 |
| 6 | SCL | I | 串行时钟输入,用于同步I2C串行接口上的数据移动 |
| 7 | FT/OUT | O | 频率测试/输出驱动,开漏输出。选择频率测试时输出512Hz,可通过寄存器选择输出直流电平,频率测试优先 |
| 8 | VCC | P | 供电电压,当VCC > VSO时,由VCC供电;当VCC < VSO时,由VBAT供电 |
| 参数 | 数值 |
|---|---|
| 存储温度 | -55°C 至 +125°C |
| 电源电压(Vcc 到 GND) | -0.3V 至 +7.0V |
| 直流输入(除Vcc和GND外的所有输入) | -0.3V 至 +7.0V |
| 直流输出电压 | -0.3V 至 +7.0V |
| 功耗 | 250mW |
| 输出电流 | 20mA |
| 结温 | 125°C max |
| 参数 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|
| VCC(定时数据和RAM数据维持电压) | 1.2 | - | 5.5 | V |
| 定时数据写入电压 | 1.5 | - | 5.5 | V |
| 定时数据读取电压 | 1.5 | - | 5.5 | V |
| RAM数据写入电压 | 3.0 | - | 5.5 | V |
| RAM数据读取电压 | 1.5 | - | 5.5 | V |
| VIH(输入高电平) | 0.7VCC | - | VCC + 0.3 | V |
| VIL(输入低电平) | -0.3 | - | 0.3VCC | V |
| TA(工作温度) | -40 | - | 85 | ºC |
| 在VCC = 1.5 ~ 5.5V,TA = -40°C 至 +85°C的条件下,各项参数表现如下: | 参数 | 引脚 | 条件 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|---|---|---|
| VCC(定时数据和RAM数据维持电压) | VCC | - | 1.2 | - | 5.5 | V | |
| 定时数据写入电压 | VCC | - | 1.5 | - | 5.5 | V | |
| 定时数据读取电压 | VCC | - | 1.5 | - | 5.5 | V | |
| RAM数据写入电压 | VCC | - | 3.0 | - | 5.5 | V | |
| RAM数据读取电压 | VCC | - | 1.5 | - | 5.5 | V | |
| VBAT | VBAT | - | 2.0 | 3 | 3.56 | V | |
| VSO | - | - | VBAT - 0.80 | VBAT - 0.50 | VBAT - 0.305 | V | |
| ICC | VCC | 开关频率 = 400kHz | - | 70 | 150 | μA | |
| IST | VCC | SDA, SCL = VCC – 0.3V | - | 25 | 80 | μA | |
| IBAT | VBAT | OSC开启,VCC = 0V,VBAT = 3V,TA = 25°C | - | 300 | 800 | nA | |
| VIL | - | - | -0.3 | - | 0.3VCC | V | |
| VIH | - | - | 0.7VCC | - | VCC + 0.5 | V | |
| VOL | SDA | IOL = 3mA | - | - | 0.4 | V | |
| 上拉电源电压(开漏) | FT/OUT | - | - | - | 5.5 | V | |
| IIL | SCL | 0 < VIN < VCC | - | - | ±1 | μA | |
| IOZ | SDA | 0 < VOUT < VCC | - | - | ±1 | μA |
| 参数 | 值 | 单位 |
|---|---|---|
| VHM(上升和下降阈值电压高) | 0.8VCC | V |
| VHL(上升和下降阈值电压低) | 0.2VCC | V |
| 在不同工作模式下,I2C总线的各项时间参数如下: | 参数 | STAND模式(I2C) | FAST模式(I2C) | 单位 | |
|---|---|---|---|---|---|
| 最小值 | 最大值 | 最小值 | 最大值 | ||
| fSCL(SCL时钟频率) | - | 100 | - | 400 | kHz |
| tSU;STA(START条件建立时间) | 4.7 | - | 0.6 | - | μs |
| tHD;STA(START条件保持时间) | 4.0 | - | 0.6 | - | μs |
| tSU;DAT(数据建立时间,RTC读写) | 250 | - | 100 | - | ns |
| tHD;DAT(数据保持时间,RTC读写) | 0 | - | 0 | 0.9 | us |
| tSU;STO(STOP条件建立时间) | 4.0 | - | 0.6 | - | μs |
| tBUF(START和STOP条件之间的总线空闲时间) | 4.7 | - | 1.3 | - | μs |
| tLOW(SCL为低电平时) | 4.7 | - | 1.3 | - | μs |
| tHIGH(SCL为高电平时) | 4.0 | - | 0.6 | - | μs |
| tr(SCL和SDA的上升时间) | - | 1.0 | 20 + 0.1CB | 0.3 | μs |
| tf(SCL和SDA的下降时间) | - | 0.3 | 20 + 0.1CB | 0.3 | μs |
| CB(每条总线的电容负载) | 0 | 400 | 0 | 400 | pF |
CPU可以读写年(后两位)、月、日、星期、时、分、秒等数据。该模块会自动将能被4整除的年份视为闰年,直到2100年。
采用2线I2C接口,模块会持续监测VCC的状态。当VCC低于VSO时,设备会终止正在进行的访问,并重置设备地址计数器,以防止系统异常时写入错误数据。当VCC低于VSO时,设备会自动从电池供电切换到VCC供电,并恢复对输入的识别。
通过ST位可以同时启用或禁用振荡器和时间计数链。
通过正确设置校准位,可将PT7C4311在25°C时的精度提高到优于+2 ppm。
| 地址(十六进制) | 功能 | 寄存器定义(位7 - 位0) |
|---|---|---|
| 00 | 秒(00 - 59) | ST, S40, S20, S10, S8, S4, S2, S1 |
| 01 | 分(00 - 59) | ×, M40, M20, M10, M8, M4, M2, M1 |
| 02 | 时(00 - 23) | CEB, CB, H20, H10, H8, H4, H2, H1 |
| 03 | 星期(01 - 07) | ×, ×, ×, ×, ×, W4, W2, W1 |
| 04 | 日期(01 - 31) | ×, ×, D20, D10, D8, D4, D2, D1 |
| 05 | 月(01 - 12) | ×, ×, ×, MO10, MO8, MO4, MO2, MO1 |
| 06 | 年(00 - 99) | Y80, Y40, Y20, Y10, Y8, Y4, Y2, Y1 |
| 07 | 控制 | OUT, FT, S, Calibration |
| 08 - 3F | RAM | - |
| 地址(十六进制) | 描述 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
|---|---|---|---|---|---|---|---|---|---|
| 07 | 控制 | OUT | FT | S | Calibration | - | - | - | - |
| (默认) | 1 | 0 | 1 | 未定义 | - | - | - | - |
| OUT值 | 数据 | 描述 |
|---|---|---|
| 1 | 设置引脚7为高电平 | 默认 |
| 0 | 设置引脚7为低电平 | - |
| FT值 | 数据 | 描述 |
|---|---|---|
| 0 | 禁用引脚7的512Hz输出 | 默认 |
| 1 | 启用引脚7的512Hz输出 | - |
| S值 | 数据 | 描述 |
|---|---|---|
| 1 | 表示正校准 | 默认 |
| 0 | 表示负校准 | - |
校准在64分钟的周期内进行,周期内的前62分钟每分钟可将一秒缩短128个或延长256个振荡器周期。每个校准步骤相当于每125,829,120个实际振荡器周期增加512个或减少256个振荡器周期,即校准寄存器中每个校准步骤对应+4.068或 -2.034 ppm的调整。
时间以BCD码显示,秒从00到59,满60进位到分;分从00到59,满60进位到时;时根据/12、24位的设置,满12或24进位到日和星期。
星期计数器是一个除7计数器,从01到07循环计数。用户可自定义星期值,但必须是连续的。
日期格式为BCD格式,不同月份的日期范围不同,会自动处理闰年的2月。日期满一个月进位到月,月满12进位到年,能被4整除的年份为闰年。
I2C总线通过SDA(数据)线和SCL(时钟)线支持双向通信,通过这两条线的组合传输和接收通信的起始/停止信号、数据信号、确认信号等。通信未进行时,SCL和SDA信号都保持高电平。通信的起始和停止由SDA在SCL为高电平时的上升沿或下降沿控制。数据传输时,SDA线上的数据变化在SCL为低电平时进行,接收方在SCL为高电平时捕获数据。I2C总线设备没有普通逻辑设备的片选引脚,而是为每个设备分配从地址,接收设备只有在接收到的从地址与自身匹配时才响应通信。
所有连接到I2C总线的端口必须是开漏或开集电极端口,以便多个设备进行“与”连接。SCL和SDA通过上拉电阻连接到VDD线,总线释放(通信未进行)时,SCL和SDA都保持高电平。
I2C总线设备为每个设备分配7位从地址,8位传输时会在7位从地址后添加一个R/W位。读操作的从地址为D1h(11010001),写操作的从地址为D0h(11010000)。
| S | 从地址(7位) | A | 地址设置 | A | 写数据 | A | P |
|---|---|---|---|---|---|---|---|
| 开始 | 从地址 + 写指定 | ACK | 指定写起始地址 | ACK | 写数据 | ACK | 停止 |
| S | 从地址(7位)写 | A | A | Sr | 从地址(7位)读 | A | 数据读取(1) | A | 地址自动递增 | 数据读取(2) | /A | P |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 开始 | 从地址 + 写指定 | ACK | ACK | 重新开始 | 从地址 + 读指定 | ACK | 从指定起始地址读取数据,地址自动递增 | ACK | 设置下一次读取的地址 | 数据读取 | 无ACK | 停止 |
| S | 从地址 + 读指定 | A | 数据读取(1) | A | 地址自动递增 | 数据读取(2) | /A | P |
|---|---|---|---|---|---|---|---|---|
| 开始 | 从地址 + 读指定 | ACK | 从内部地址寄存器指向的地址读取数据,地址自动递增 | ACK | 设置下一次读取的地址 | 数据读取 | 无ACK | 停止 |
PT7C4311有两种封装形式:
全部0条评论
快来发表一下你的评论吧 !