我使用STM32本身的IIC外设,与时钟芯片RX8025T进行通信。
时钟芯片RX8025特点:高精度
(据说每个月时钟误差在1秒以内,做流量计这些需要精密控时的东西,完全够用了)
一、时钟芯片RX8025T简单说明
重要:RX8025芯片有二种,RX8025SA 和 RX8025T,二者驱动不一致,网上看了很多人都着了这个坑,耽搁很久!!!!,我这里是用的RX8025T!!!
- 内置高稳定度的32.768KHz 的DTCXO (数字温度补偿晶体振荡器)
- 支持I2C 总线的高速模式(400K)。
- 定时报警功能(可设定:天,日期,小时,分钟)
- 固定周期定时中断功能。
- 时间更新中断功能。
- 32.768KHz频率输出(具有使能OE功能)
- 闰年自动调整功能。(2000 到2099)
- 宽范围接口电压:2.2V 到 5.5V
- 宽范围的时间保持电压:1.8V 到 5.5V
- 低电流功耗:0.8uA/3V (Typ.)
管脚及电路部分
直接看文档
电路部分:
由于我使用的功能是:时钟芯片RX8025T基本实时时钟功能,和 RX8025T每秒通过INT引脚发出脉冲。所以FOE引脚和FOUT引脚直接没接。
电源部分,很简单,就是二个二极管,一路VCC 3.3V,另一路是用纽扣电池供电BAT 3V,图中二极管是1N4007W(正向压降:0.7V),为了让正向压降更低,我实际使用的是1N5819W(正向压降:0.2V),(毕竟RX8025T电源电压范围为2.2V 到 5.5V)。
图中:
R8025_SCL 直接接到STM32的外设接口SCL脚----->PB6(内部上拉,必须上拉);
R8025_SDA 直接接到STM32的外设接口SDA脚----->PB7(内部上拉,必须上拉);
R8025_INT 直接接到STM32的外部中断口EXIT----->PE0(配置为外部中断口,内部上拉,必须上拉);
重点:以上3个接线,都没有单独再接上下拉电阻,都必须接为上拉(包括INT口),不接上拉的话,通信老出错。
我在这折腾了很久,就是通信,一会行一会不行,就是上下拉的问题。
另外,FOUT和FOE引脚,我这里不用;
但还是建议:FOE接下拉10K电阻,FOUT接上拉10K电阻,
SCL、SDA线距离MCU一定不要过长,我估计15厘米内吧,我之前做测试,达到20 30多厘米,测试就老是有问题了。
功耗
RX8025T的功耗:官方数据:低电流功耗:0.8uA/3V (典型值,也就是一般都只有这么多,所以这个和上面说的线长有很大关系,你想这么低的功耗,线长了的话,芯片发送数据时肯定会有所力不从心吧)。这个电流数据会变化,大部分时候是0.000mA,毕竟我没有台式万用表,献丑了。这个功耗,还是很良心了,和手册一致。
内部寄存器,总共16个,内部地址为0x00~0x0F: