EPSON RX8900SA/CE 时钟芯片开发笔记

文章资料来源:《Epson(爱普生) RX8900SA_RX8900CE实时时钟模块 应用手册》

一、模块简介

I2C总线接口实时时钟模块 RX8900 SA / CE

  • 内置32.768 kHz DTCXO,稳定性高(Digital Temperature Compensated X'tal(crystal) Oscillator数字温度补偿晶体振荡器,指对振荡谐振器因温度而产生的频率变化进行补偿的晶体振荡器与振荡电路,以便获得高精度的频率)
  • 支持I2C总线的高速模式(最高400 kHz
  • 日、日、时、分设置的报警中断功能
  • 固定周期定时器中断功能
  • 时间更新中断功能(秒、分)
  • 带OE功能的32.768kHz温度补偿输出(FOE和FOUT脚)
  • 闰年自动修正(从2000年到2099年)
  • 宽接口电压范围:2.5 V至5.5 V
  • 宽维持时间电压范围:1.6 V至5.5 V
  • 低电流消耗:0.70µA/3 V(典型值)
  • 内置备用切换电路(涓流充电)
  • 通过电池后备切换功能和接口电源输入引脚,RX8900可以支持多种电源电路
  • 采用C-MOS工艺制造,电流消耗低,可实现长期的电池备用

二、模块执行逻辑框图

三、封装描述

引脚功能:

四、电性能参数

1. 直流特性

2. 交流特性

SCL时钟频率最大400kHz

SCL低电平时间 Tlow最小1.3us

SCL高电平时间 Thigh最小0.6us

警告:访问该模块时,从发送启动条件到访问后发送停止条件的所有通信应在0.95秒内完成。
如果这种通信需要0.95秒或更长时间,I2C总线接口由内部总线超时功能复位。
当发生总线超时时,SDA转为Hi-Z(高阻态high impedance)输入模式。
注意:在访问时间寄存器期间,时间计数处于等待状态!这意味着,在上述通信不成功的情况下,最多可“丢失”1秒!
在实际传输RTCs从机地址之前,请确保发送了I2C启动条件,否则从机地址将看似被移动了1位!

五、使用方法

1. 寄存器说明

写/读及库选择

地址00h到0Fh:基本时间和日历寄存器…与RX-8803兼容。
地址10h到1Fh:扩展寄存器。

寄存器表(基本时间和日历寄存器)

【注意事项】:

  • 在初始通电(0 V)后或VLF位返回“1”,请确保在使用RTC之前正确初始化了所有寄存器。
  • 一定要避免输入不正确的日期和时间数据,因为数据或时间数据不正确时,无法保证时钟操作。
  • 在初始通电期间,以下是寄存器值的默认设置

初始值为0:TEST、WADA、USEL、TE、FSEL1、FSEL0、TSEL0、UF、TF、AF、CSEL1、UIE、TIE、AIE、RESET VDETOFF、SWOFF、BKSMP1、BKSMP0
初始值为1:TSEL1、VLF、VDET、CSEL0
∗ 此时,所有其他寄存器值都未定义,因此请确保在使用模块之前进行了重置。

  • 只有“0”可以写入UF、TF、AF、VLF或VDET位。
  • 任何标有“•” 的位,初始化后应与值“0”一起使用。
  • 任何标有“•”的位都是RAM位,可用于读取或写入任何数据。
  • TEST位是制造商用于测试,写入时请确保将该位设置为“0”。
  • 如果未使用报警功能,寄存器08h-0Ah可用作RAM。(AIE:“0”)
  • 地址0Bh-0Ch的寄存器值是预设值。如果不使用定时器功能,则0Bh-0Ch寄存器可用作RAM(TE,TIE:“0”)

寄存器表(扩展寄存器)

扩展寄存器列表中寄存器10h到16h的内容等于基本寄存器列表中的寄存器00h到06h。
扩展寄存器列表中寄存器1Bh到1Fh的内容等于基本寄存器列表中的寄存器0Bh到0Fh。
这些寄存器可以在基本寄存器或扩展寄存器列表中寻址。

快速参考

 2. 寄存器详述

 详见数据手册,以下只列举重要的寄存器。

……

3. 通过I2C总线接口读写数据

硬件系统配置

所有连接到I2C总线的端口必须是开漏或开集电极端口,以便启用和连接到多个设备。
SCL和SDA都通过上拉电阻连接到VDD线路。因此,SCL和SDA在总线释放时(在不执行通信时)都保持在高电平。

从站地址

使用该RTC模块时,诸如CPU之类的控制器被定义为主站,而RTC模块被定义为从站。

I2C总线设备没有像普通逻辑设备中那样的芯片选择引脚,取而代之的是分配给每个设备的从机地址。
所有通信从发送[START标志]+[从机地址(+R/W)]开始,接收设备仅在其接收到的指定从机地址与其自身的从机地址匹配时才响应此通信。
从机地址的固定长度为7位。此RTC的从属地址是[0110 010x].  
在8位传输时,向每个7位从机地址添加一个R/W位(上面的“x”)。

报文格式

由于RX8900包含地址自动递增功能,一旦指定了初始地址,RX8900将在后续同一报文中的每次传输数据时自动递增(一个字节)接收地址。

a. 写入数据时的报文
(1) CPU启动条件[S]。
(2) CPU传输RX8900的从机地址,R/W位设置为写入模式。
(3) 检查来自RX8900的确认信号。
(4) CPU将写地址传输到RX8900。
(5) 检查来自RX8900的确认信号。
(6) CPU将写数据传输到上面(4)中指定的地址。
(7) 检查来自RX8900的确认信号。
(8) 如有必要,重复(6)和(7)。地址会自动递增。
(9) CPU传输停止条件[P]。

b. 读取数据时的报文

 使用写入模式写入要读取的地址后,将读取模式设置为读取实际数据。
(1) CPU启动条件[S]。
(2) CPU传输RX8900的从机地址,R/W位设置为写入模式。
(3) 检查来自RX8900的确认信号。
(4) CPU传输从RX8900读取的地址。
(5) 检查来自RX8900的确认信号。
(6) CPU传输重启条件[Sr](在这种情况下,CPU不传输停止条件[P])。
(7) CPU传输RX8900的从机地址,R/W位设置为读取模式。
(8) 来自发射机的RX8900信号是来自接收机的RX8900信号。
(9) RX8900输出上述(4)中指定地址的数据。
(10) CPU将ACK信号传输至RX8900。
(11) 如有必要,重复(9)和(10)。读取地址将自动递增。
(12) CPU传输“1”的确认信号。
(13) CPU传输停止条件[P]。

c. 未指定地址时的读取报文

初始设置读取模式后,可以立即读取数据。在这种情况下,每个读取操作的地址是先前访问的地址+1。
(1) CPU启动条件[S]。
(2) CPU传输RX8900的从机地址,R/W位设置为读取模式。
(3) 检查来自RX8900的ACK信号(从这一点开始,CPU是接收器,RX8900是发射器)。
(4) 数据从RX8900输出到之前访问的地址末尾之后的地址。
(5) CPU将ACK信号传输至RX8900。
(6) 如有必要,重复(4)和(5)。读取地址在RX8900中自动递增。
(7) CPU传输“1”的确认信号。
(8) CPU传输停止条件[P]。

d. 地址在读/写操作中自动递增规则

(1) 基本时间及日历寄存器中:
地址递增规则----08-09-0A-0B-0C-0D-0E-0F-00-01-02--
(2) 扩展寄存器中:
地址递增规则----18-19-1A-1B-1C-1D-1E-1F-10-11-12--

4. 控制流程图

1)初始化

 2)时钟和日历的设置

 3)时钟和日历的读取

<think>好的,我现在需要帮助用户解决如何设置RX8900CE主电源检测电压的问题。首先,我需要了解RX8900CE这个芯片的基本信息。根据用户提供的引用内容,他们提到了RX8111CERTC相关的内容,这可能与RX8900CE有相似之处,因为都是实时时钟模块,可能涉及电源管理和检测。 首先,我应该确认RX8900CE的规格。通常,设置主电源检测电压涉及到芯片的电源管理功能,可能通过寄存器配置或者外部电路调整。用户提到的RX8111CE需要检查ACK信号和备份电池方案,这提示在RX8900CE中,主电源检测可能涉及类似的寄存器设置或外部电阻调整。 接下来,查阅RX8900CE的数据手册是关键。但由于用户没有提供手册,我需要根据常见RTC芯片的设计来推断。通常,主电源检测电压可能通过内部比较器实现,当主电源电压低于某个阈值时,切换到备用电池。这个阈值可能由内部固定或通过外部元件设置。 引用[1]提到服务器电源改造中通过修改电阻来调整电压,这可能类比到RX8900CE,即通过调整外部电阻分压网络来设置检测点。例如,使用分压电阻连接到检测引脚,调整电阻值可以改变检测电压。需要确定RX8900CE是否有这样的引脚,比如VDD监测引脚,以及对应的分压计算公式。 另外,引用[3]提到RX8111CE的备份电池方案,说明RTC芯片通常有电源切换逻辑。RX8900CE可能有类似的电源检测机制,需要配置相关寄存器来设定检测阈值。例如,通过I2C或SPI接口访问寄存器,设置电压阈值参数。 可能的步骤包括:1) 确定检测电压的引脚或寄存器;2) 计算所需的分压电阻值或寄存器配置值;3) 修改硬件电路或软件配置。但具体方法需要参考数据手册,用户可能需要查找RX8900CE的官方文档或应用笔记。 用户可能需要具体的教程,但现有引用中没有直接提到RX8900CE,所以应建议查阅官方资料,同时提供一般性步骤。例如,假设检测电压由外部电阻设置,给出分压公式,或者说明如何通过寄存器配置。此外,提醒用户注意电源检测的稳定性,避免误触发,参考引用[1]中提到的过压、欠压检测的复杂性。 最后,生成相关问题,帮助用户深入理解电源管理配置,例如其他RTC设置方法或备份电池设计,结合引用内容中的RTC应用场景。</think>关于RX8900CE主电源检测电压的设置方法,需结合其电源管理特性和寄存器配置实现。以下是分步说明: ### 一、硬件电路设置原理 1. **主电源检测机制** RX8900CE通过内部电压检测电路监控$V_{DD}$电压。当$V_{DD}$低于设定的阈值电压$V_{DET}$时,芯片将触发中断或切换至备用电源(如引用[3]提到的CR2032电池)。 $$ V_{DET} = V_{REF} \times \frac{R1}{R1+R2} $$ 其中$V_{REF}$为参考电压,$R1$、$R2$为外部分压电阻(需参考数据手册确定基准值)[^1]。 2. **关键引脚说明** - **VDD**:主电源输入(典型值3.3V) - **VL**:电压检测引脚(需外接分压电阻网络) - **IRQ/FOUT**:中断输出引脚(用于触发低电压警报) ### 二、寄存器配置步骤 1. **访问控制寄存器** 通过I²C接口写入地址`0x64`,设置电压检测模式: ```c // 示例代码:设置电压检测阈值为2.5V i2c_write(0x64, 0x0F, 0x1A); // 0x0F为控制寄存器地址,0x1A对应阈值参数 ``` 具体参数需根据手册中的电压-编码对照表确定(类似引用[2]中RX8111的ACK信号检测逻辑)。 2. **电压校准流程** - 使用可调电源输入$V_{DD}$ - 监测IRQ引脚状态变化 - 调整寄存器值直至在目标电压点触发中断 ### 三、注意事项 1. **抗干扰设计** 在VL引脚并联10nF电容以消除噪声干扰(参考引用[1]中电源改造的稳定性要求)。 2. **阈值回差设置** 建议设置0.2V-0.5V的回差电压,防止电压波动导致频繁切换电源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值