1.翻译记录
•内置频率调整32.768 kHz晶体单元
•接口类型:I2C(高达400 kHz) 普通 100khz
•备份时的低电流消耗:100毫安/3.0伏典型值。
•宽工作电压范围:1.6 V至5.5 V
•宽时间保持器电压范围:1.1 V至5.5 V
•自动电源切换功能:自动切换至备用电源
通过监测VDD电压。
•时间戳功能:8倍时间戳,1/256秒,可选择多个触发器。
•时间戳存储器可用作用户存储器;512位,64字 8位
•警报中断:日、日、时、分、秒
•各种功能包括完整日历、秒报警、唤醒计时器和32.768 kHz输出
•自我监控功能:电压检测、晶体振荡停止等。
VDD:电源引脚,VIO可以提供与VDD不同的电压
VOUT:内部电压输出引脚,需外接1.0uf的旁路电容器
FOUT:频率输出引脚(CMOS)(频率选择:32.768 kHz、1024 Hz、1 Hz),当输出停止时,FOUT引脚为高阻抗。
VIO:接口电源引脚,可以输入与主机相同电压,或者不同电压,看单片机引脚驱动几伏
EVIN:触发时间戳请求的输入。内置可编程上拉/下拉电阻。
输入检测在备份模式下可用。输入电平的基准是VOUT电压。注意,VIO中没有它。可选择输入抖动过滤率。不使用EVIN时,将EVIN连接到VDD或GND;不要让EVIN pin漂浮。
/INT:开路输出,该引脚用于输出报警信号、定时器信号、时间更新信号和其他信号。该引脚为N-沟道
注:确保在VDD和GND之间连接额定值至少为0.1μF的旁路电容器。
应用电路 IO和电源电压一致
典型电路链接
2.交流特性
I2C接口在收到从机地址2秒后复位。
要重新启动串行通信,请再次发送启动条件。
8位数据锁存在ACK的SCL上升沿。
如果在发送8位数据的中途取消通信,则不会写入数据
10.电源
(1)电源顺序
该电路对电源噪声敏感,电源电压应稳定以避免对精度产生负面影响
正确上电复位需要tR1。如果无法保持通电状态,则有必要通过软件向RTC发送初始化例程。
如果在短期内反复接通/断开电源,则可能会导致上电复位不稳定。
断电后,将VDD=VBAT=GND保持10秒以上,以便进行正确的上电复位。当RTC不稳定时,请用软件初始化RTC。
上电复位发生在VOUT电压的上升沿
内部初始化首次通电时,VDD必须大于1.45 V:+VDET1。
Power supply rise time1:电源上升时间1
Access wait time.After initial power on:访问等待时间。初始通电后。
After VDD reach to +VDET1 :VDD到达+VDET1后
Access disable hold time:访问禁用保持时间
Power supply fall time :电源下降时间
Waiting time before starting I2C from Power-ON.:通电,启动I2C前的等待时间。40ms
(2)RTC上电时的行为和操作限制
由于大多数RTC寄存器与内置晶体振荡器的振荡时钟同步,因此,如果集成振荡器不稳定,RTC将无法正常工作。请在振荡稳定后(振荡开始时间tSTA后)电源电压返回时(VLF=1)初始化RTC。
如果打算在主电源电压恢复后访问RTC,请注意以下几点:
当VLF返回“1”时,请初始化所有寄存器。当内置振荡稳定时,请仅执行初始设置tSTA(振荡开始时间)。
在电源电压超过最小VCLK(时钟电源电压(VDD>1.6 V))的40毫秒内禁止访问。
下图图解
(3)通过软件重置
通过软件重置用于发电的软件序列上电重置
1) 通电
2) 等待时间超过40毫秒 标记1
3) 虚拟读数 标记2
4) 读出VLF位1
5) 写入00h地址:Reg=32h(标记3 ) INIEN=0b
6) 写入80h地址:Reg=3Fh测试=1
7) 写入6Ch地址:Reg=D0h
8) 写入03h地址:Reg=D1h
9) 写入10h地址:Reg=D2h
10) 写入20h地址:Reg=D3h
11) 等待2毫秒以上自动释放 标记4
标记1:当40毫秒的等待时间在您的系统中很长时,另一种方法是。
从第一步跳到第三步。在步骤4,当VLF为1时,将0写入VLF。当VLF为1时,重复重置至VLF并验证VLF为0。如果VLF清除为0,则跳至步骤5。在这种方法中,该序列可能短于40毫秒。40毫秒后,当VLF未重置为0时,转至步骤5。(这个感觉不实际,咱还是40ms在操作RTC)
标记2:虚拟阅读:任何地址都可以。在I2C通信中,忽略来自RX8111CE的ACK/NACK信号。
标记3:即使VLF为0,也应执行此命令。即使VLF为1,也可在步骤5后使用。
标记4:2毫秒是重置处理的时间。
注:除使用此重置序列外,不要从D3h访问D0h,也不要将1写入测试位。
11.寻找频率稳定性 温度与频率的关系,会影响到计时;每个RTC走着走着都会偏,正常每个厂家都会在误差范围内
12.应用笔记
1、注意事项 该模块采用C-MOS集成电路实现低功耗。搬运时,请仔细注意以下注意事项。
(1)静电
虽然该模块具有内置电路,可防止静电放电,但芯片仍可能被大量静电放电损坏。用于包装和运输的容器应由导电材料制成。此外,只有烙铁、测量电路和其他不会泄漏高压的此类设备才应与该模块一起使用,在使用此类设备时,该模块也应接地。
(2)干扰
如果电源或输入引脚上施加了外部噪声过大的信号,设备可能会出现故障或“闭锁”为了确保稳定运行,连接大于0.1uf的滤波电容器(最好是陶瓷电容器)尽可能靠近连接到电源引脚。此外,避免将任何产生高水平电子噪声的设备放置在该模块附近。
(3)输入引脚的电压
当输入端持续输入的电压超出输入电压规格范围时,就会产生穿透电流。因此,当前的消费量大大增加。这会导致锁存,因此,IC中的ABILT会被破坏。请根据输入电压规格使用输入端子。此外,请尽可能多地输入VDD或GND最近的电压。
(4)未使用的引脚
处理未使用的输入端子。当输入端处于打开状态时,会导致消耗电流增加以及不稳定的行为。请将一个未使用的引脚固定在接在VDD或GND的电压上。
2、说明
如果包装内的温度超过+260度、 晶体振荡器的特性将退化,并可能
可能会损坏。建议使用我们回流配置文件中的回流条件。
13.寄存器应用说明
Note. The initialization of registers is necessary about the unused function too
13.1功能概述
1) 时钟功能
此功能用于设置和读取秒、分、时、日、月、年(至最后两位)和日期数据。
任何四的倍数(两位数)的年份都被视为闰年,并自动计算,直到2099年。而且
“60”秒的书写时间适用于闰秒。
2) 唤醒定时器中断功能
唤醒计时器中断功能在244.14之间的任何固定周期周期周期性地生成中断事件32岁。生成中断事件时,/INT引脚变为低电平(low),TF位设置为“1”,以报告已发生事件。
即使计时器正在运行,也可以读取计时器数据。定时器在定时器暂停和运行两种情况下工作,因此该功能实现了累积计时器、唤醒计时器等
3) 报警中断功能
报警中断功能为报警设置生成中断事件,如日期、日期、小时和分钟设置。当中断事件发生时,AF位值设置为“1”,并且/INT引脚变为低电平,以指示事件已发生。
4) 低工作电压检测功能(VLF)
在上电初始化或备份恢复期间,可以检测到VOUT端子电压较低。该功能判断时钟数据的可靠性。
如果检测到较低的电压,上电重置功能将此RTC设备移至初始状态。
5) 低电池备用电压检测功能(VLOW)
可检测到VBAT端子电压较低
6) 晶体振荡停止检测功能(XST)
可以检测到RTC内部晶体振荡停止。
7) 时钟输出功能(FOUT)
FOUT终端提供32.768 kHz、1024 Hz或1 Hz时钟。
如果未使用FOUT功能,唤醒定时器中断功能可用。
8) 时间戳函数
例如,该功能可用于记录系统软件更新、电池更换和系统警报的时间。
即使电源切换到备用电池电源,时间戳也会被存储,这有助于提高系统的鲁棒性。
8次,从一年到1/256秒。
时间戳触发EVIN引脚、自我监控和I2C软件命令的输入。
9) 用户RAM
内置8比特 用于通用存储器或时间戳存储器的64字(512位)RAM。
它可供用户的RAM或时间戳存储器选择。
13.2数据表格
13.2.1数据表格
初始通电(0 V)后或如果VLF位返回“1”,确保在使用RTC之前初始化所有寄存器。
确保避免输入错误的日期和时间数据,因为数据或时间数据不正确时,时钟操作无法保证。
初始化后,标记为“z”的任何位的值都应为“0”。(不可写)
任何标有“•”的位都是RAM位,可用于读取或写入任何数据。
任何标有“---”的位都不可写。读取结果未知。
上表仅显示了用户注册。由于功能原因,RTC具有上表未提及的不同寄存器,这些寄存器由制造商编程。请确保只访问上述用户注册。
通过对无功能寄存器的读/写,其他功能不受影响。
初始通电(0 V)后或如果VLF位返回“1”,确保在使用RTC之前初始化所有寄存器。
制造商使用测试位(3Fh位7)进行测试。写入时请确保将该位设置为“0”。
在使用时钟模块之前,确保通过初始化写入“0”。之后,确保在书写时设置“0”。
确保避免输入错误的日期和时间数据,因为数据或时间数据不正确时,时钟操作无法保证。
初始化后,标记为“z”的任何位的值都应为“0”。(不可写)
任何标有“•”的位都是RAM位,可用于读取或写入任何数据。
任何标记为wit“-”的位都是不可写的。读取结果未知。
上表仅显示了用户注册。由于功能原因,RTC具有上表中未提及的不同寄存器
由制造商编程。请确保只访问上述用户注册。
即使对“无功能”进行读/写访问,其他功能也没有影响。
当不使用周数据时,不需要初始化周寄存器。
通过对无功能寄存器的读/写,其他功能不受影响。
13.2.2上电复位后记录初始值
本表描述了上电复位后的初始值。
注:标记为“X”的寄存器应初始化为0,时间戳区域除外
13.3. 寄存器说明
13.3.1. 时钟和日历计数器(10h 16h)
这是从一秒到一年的计数器注册。详情请参考[14.1时钟日历说明]。
13.3.2. 唤醒计时器(向下计数器)((1Ah ~1Ch, 2Dh)
唤醒定时器(下行计数器)数据被读取并存储在此寄存器中。,还有TE、TF、TIE、TSEL1、TSEL0、TBKON、TBKEbit。
如果用户不使用此功能,则应将TIE、TE重置为“0”。计数器数据未知。
请参考14.2唤醒计时器。详细信息。
13.3.3. 报警寄存器(17h~19h)
报警中断功能与AIE、AF和WADA位一起用于设置指定日期、日期、小时和分钟值的报警。如果用户不使用此功能,则应将AIE重置为“0”。数据不详。
请参考14.3警报中断。详情
13.3.4.功能相关寄存器(1Dh ~ 1Fh)
1) FSEL1,FSEL0位
FSEL1和FSEL0位的组合用于选择要输出的频率。如果客户不使用此功能,则应将FESL1、FSEL0设置为“1”。请参考14.6 FOUT功能
2)USEL、UF、UIE
此位用于指定“第二次更新”或“分钟更新”作为的更新生成定时
时间更新中断功能。如果客户不使用此功能,USEL、UIE应重置为“0”。
详情请参考[14.4.更新中断功能]。
3) TE、TF、TIE、TSEL1、TSL0、TSTP、TBKON、TBKE、TMPIN位
这些位用于控制唤醒定时器中断功能的操作。
如果客户不使用此功能,(TE、TIE、TSTP、TMPIN)应为(0,0,0,0)、TSEL1、TSEL0(1,0)。详情请参考[14.2唤醒定时器中断功能]。
4) WADA,AF,AIE bit
这些位用于控制报警中断功能的操作。如果客户不使用此功能,WADA应为“1”,AIE为“0”。我不在乎。详情请参考[14.3.报警中断功能]。
5) ETS、EVF、EIE位
这些位用于控制时间戳功能的操作。
如果客户不使用此功能,ETS、EIE应重置为“0”。EVF不在乎。
详情请参考[14.8.时间戳功能]。
6) VLF、POR、XST位
这些位用于检测RTC内部状态和记录。
例如,在上电重置期间,低电压检测使VLF位为“1”。
详见[14.5.RTC内部状态检测功能]。
7) 停止位
此位用于停止计时操作。在“停止位=1”的情况下:
所有的计时更新(年、月、日、周、时、分、秒、1/128、1/512)操作和日历操作
停止。有了它,更新中断事件不会在报警中断时发生,时间戳数据将在停止状态下显示。
13.3.5. 电池备用切换功能相关寄存器(32h)
详见14.7电池备用切换功能。
1) CHGEN
备用电池充电控制设置(开/关)。
2) INIEN
设置电源切换功能(开/关)。
3) SMPT1,SMPT0位
每个电源引脚的电压检测器电路的操作时间设置。
4) SWSEL1,SWSEL0位
电池备用切换期间的工作电压检测电路功能禁用
13.3.6. 时间戳寄存器 (详情请参考14.8时间戳功能)
1) 时间戳、状态记录寄存器(20小时) 29小时,40小时 7Fh)
在事件发生时,时间戳(1/1024秒~年)和内部状态被记录到这些寄存器中。
2) EVIN终端控制寄存器(2Bh)
EVIN终端的设置。
3) 命令触发器,时间戳控制寄存器(2Eh 2Fh)
它通过I2C总线用于时间戳触发定时。
4) 时间戳触发控制寄存器(35h)
除EVIN外,它用于时间戳触发器。
13.3.7. 运行状态检测寄存器(33h)
详见14.5运行状态检测功能-
1)EVIN
EVIN终端检测电压电平H/L
2) VCMP位
VCMP比较结果
3)VLOW
VLOW检测结果
13.3.8. 用户注册(40h~ 7Fh)
用户可以通过设置34h TSRAM位“0”将该区域用作用户的RAM。
14.如何使用
Figure 18 Basic (32.768 kHz oscillation, counter, FOUT) Function
图18基本(32.768 kHz振荡、计数器、FOUT)功能
14.1. 时钟日历功能
在通信开始时,时钟和日历数据是固定的(保持进位操作),并在通信结束时自动进行修改。因此,建议通过自动增量功能连续访问时钟日历。
在当前时间读取时,停止位应为“0”
表13时间,日历设置示例
请注意,写入不存在的时间数据可能会干扰时钟计数器的正常工作
注:时间从停止位操作(H)开始→L)定时
14.1.1. 时钟计数器
1) [秒],[分钟]寄存器
这些寄存器是60个基本BCD计数器。当从较低的计数器生成更新信号时,较高的计数器是递增的。。在下位寄存器从59变为00的定时,进位被生成到高位寄存器,然后被递增。
2) [小时]登记
该寄存器是一个24基BCD计数器(24小时格式)。这些寄存器在低位寄存器生成进位时递增。
3) 闰秒调整
对于闰秒调整,用户可以将“60”写入秒计数器,1秒后秒计数器将设置为“00”。
通常情况下,第二个计数器将从“59”计数到“00”。
14.1.2. 周计数器
一周中的某一天由7位表示,从0位到6位。
The day data values are counted as: Day 01h → Day 02h → Day 04h → Day 08h → Day 10h → Day 20h → Day 40h → Day 01h → Day 02h, etc.
从小时寄存器生成进位时,进位增加。此寄存器不会生成到更高寄存器的进位。由于该寄存器未与年、月和日寄存器连接,因此如果年、月或日寄存器中的任何一个发生了更改,则需要将其与每周的匹配日重新设置。
当不使用周数据时,不需要初始化周寄存器。
不要同时将“1”设置为一天以上。
表14周寄存器值设置示例
14.1.3. 日历计数器
1) 【日】【月】登记
日期寄存器是一个变量(28基和31基之间)BCD计数器,受月份和闰年的影响。月寄存器是一个12基BCD计数器,由日寄存器的结转触发
2) 【年】登记
此寄存器是BCD计数器,适用于00年至99年。
闰年是自动确定的,并影响日期寄存器。
该RTC将以下年份处理为闰年:00,04,08,12,96。
2100年、2200年、2300年都需要用户软件修正,因为它们是普通年份。
闰年的定义
闰年:可被4整除的年份,可被400整除的年份
例:2000、2004、2008、2012、2096、2400、2800、,
普通年份:不可被4整除的年份,可被100整除的年份
例如2001年、2002年、2003年、2005年、2099年、2100年、2200年、2300年、2500年、,,
14.2. 唤醒定时器中断功能
唤醒计时器中断功能在244.14之间的任何固定周期周期周期性地生成中断事件和31.9年。此功能可一次性停止,并可作为累计计时器使用。
14.2.1. 唤醒定时器中断功能的相关寄存器
在进入操作设置之前,我们建议首先将TE位清除为“0”。
当不使用固定周期计时器功能时,固定周期计时器计数器0,1寄存器可用作RAM寄存器。在这种情况下,通过向TE和TIE位写入“0”来停止固定周期计时器功能。
1) 唤醒中断计时器2、1、0的下行计数器
该寄存器用于设置计数器的默认(预设)值。从1(000001h)到16777216(FFFFFFh)的任何计数值都可以,准备好了。在写入预设值之前,确保将“0”写入TE位。
当TE=0时,定时器计数器的读取数据为默认(预设)值。当TE=1时,定时器计数器读出的数据仅为计数值。但是,当访问计时器计数器数据时,计数值不会被保留。
因此,例如,执行两次读取访问以获得正确的数据,以及采用两次数据访问是必要的情况的方法
2) TSEL1, TESL0 bit
这种组合决定了倒计时周期的源时钟。
源时钟选择应在TE位设置为“0”后进行
/INT引脚的自动复位时间(tRTN)根据源时钟设置如上图所示变化。
第一次倒计时比源时钟短。
3) TE位(定时器启用)
该位控制唤醒计时器的启动/停止。
4) TF位(定时器标志)
5) 连接位(定时器中断启用)
6) TBKON,TBKE位(定时器备份开启,定时器备份/正常启用)
7) TMPIN位(定时器引脚)
8) TSTP位(计时器停止)
14.2.2. 唤醒计时器开始计时
固定周期定时器值的倒计时从SCL(ACK输出)信号的上升沿开始,该信号在TE值
从“0”更改为“1”。
14.2.3. 唤醒计时器中断间隔
14.2.4. 唤醒定时器中断功能图
14.3. 报警中断功能
报警中断功能为报警设置生成中断事件,如日期、日期、小时和分钟设置。
当发生中断事件时,AF位值设置为“1”,并且/INT引脚变为低电平,以指示事件已发生。此RTC保留/INT=“L”状态,直到有意重置。
14.4. 时间更新中断功能
时间更新中断功能以1秒或一分钟的间隔生成中断,并与RTC的秒或分钟时间寄存器的更新同步。生成中断事件时,此/INT状态自动清除
(/INT状态在中断发生后从低电平变为Hi-Z 7.57毫秒)。
14.4.1.时间更新中断功能的相关寄存器。
14.5. RTC自我监控检测
这些位是RTC每个功能的标志位。
它是一个标志位,用于检测该产品的状态并保存结果。
-POR上电复位检测
-VLF检测到内部电压过低。
-XST振荡停止检测。
-EVIN事件输入状态。
-VCMP电池充电状态。
-电池电量低。
14.5.1. RTC内部状态检测的相关寄存器
1) POR位(上电复位)
该位记录上电复位操作。
Write 0:POR位被清除为0,并等待下一次上电重置检测
Write 1:无效(写入“1”将被忽略)
read 0 :无上电复位检测
read 1:检测到上电重置。结果将一直保留,直到清除“0”。所有寄存器都通过上电rest设置为默认状态。
2) VLF位(电压低标志)
该位以POR或XST的状态反映。
Write 0:VLF被清除为0,并等待下一次低电压检测。
Write 1:无效(写入“1”将被忽略)
read 0 :振荡状态正常,RTC寄存器数据有效。
read 1:检测到上电复位或X'tal振荡停止。结果依然如此直到清除“0”。用户可以通过软件检查RTC状态和初始化。(在通电时间等)
3) XST位(X'tal振荡停止)
该位记录RTC内部晶体振荡停止状态。
如果没有振荡,则时间戳功能不激活;一旦振荡开始,它就会激活
当振荡停止超过10毫秒时,XST设置为1。通电复位不会将该位清除为“0”。
Write 0:XST被清除为0,并等待下一个振荡停止检测。
Write 1:无效(写入“1”将被忽略)
read 0 :无RTC内部晶体振荡停止检测
read 1:检测到RTC内部晶体振荡停止。结果将一直持续到正在清除“0"
4) EVIN位(EVIN终端的输入电平监视器)
该位监控EVIN终端输入电压高/低
Read 0:EVIN终端输入电压低电平
Read 1:EVIN终端输入电压高电平
5) VCMP bit
6) VLOW bit
14.6. FOUT功能(时钟输出功能)
14.7. 备用电池切换功能
14.7.1. 电池备用切换功能说明
有三种检测、切换功能。
1) VDD电压检测(VDET)比较VDD电压和VDET1(INIEN寄存器控制)
2) VBAT充电检测(VCMP)比较VBAT电压和VDD电压(CHGEN寄存器控制)。
3) VBAT电压检测(VLOW)VBAT电压和VLOW电压之间的比较(EVLOW寄存器控制
VDD电压检测和VBAT充电检测如图31和图32所示。
检测、切换功能由VDD和VBAT之间的二极管、开关和比较器组成。
RTCs备份功能的内置方式可防止从VBAT到VDD的反向电流
有两种操作模式:
1) 来自VDD的正常模式电源
2) 来自VBAT的备份模式电源
在备份模式下,FOUT引脚变为Hi-Z,I
2C输入启用(SDA、SCL:Hi-Z)。
VLF检测(甚低频bi“0”→“1)将电池备份切换相关寄存器设置为默认值。
14.7.2. 备用电池切换相关寄存器
表44备用电池切换相关寄存器
1) CHGEN位(充电启用)
2) INIEN位(初始启用)
3) INIEN位(初始启用)
该位用于启用/禁用VLOW功能以及控制时间戳操作。
(详见14.8.6)
备用电池切换控制(初始通电)
4) 备用电池切换控制(初始通电)
5) 非充电电池控制(INIEN:1,CHGEN:0)
6) 可再充电电池控制(INIEN:1,CHGEN:1)
7) VDD电压检测寄存器SMPT1,SMPT0位
8) 电池备用切换相关寄存器SWSEL1,SWSEL0位
9) 电压检测间歇定时
14.8. 时间戳函数
14.8.1. 时间戳函数概述
时间戳操作有三个因素
1) EVIN引脚信号检测
2) RTC内部状态检测
3) 命令由i2C读取命令(2Fh读取)
时间戳事件最多可被记录到RAM中8次。(参见图31)
/INT引脚中断输出在时间戳事件发生时可用。这些操作也可以在备份模式下工作。RTC内部状态可以在标记记录时记录,时间(1/128秒、秒、分钟、小时、天、月、年、状态标记)。
14.8.2. 时间戳相关寄存器
14.8.3. EVIN引脚输入触发的时间戳功能
以下寄存器控制EVIN引脚输入触发的时间戳功能。
14.8.4. I2C访问触发的时间戳功能
14.8.5. 时间戳存储寄存器
14.8.6. RTC内部事件触发时间戳,多次戳
14.9. 流程图
下面是流程图的示例,但它们不一定适用于每个用例,也不一定适用于单个应用的最有效流程。为了有效处理,用户可以执行多次执行、更改顺序、删除执行等操作
1) 开机初始化示例
只有时钟使用 only clock
14.10. 通过I2C总线接口读取/写入数据
14.10.1. I2C总线概述
每当不进行通信时,SCL和SDA信号都保持在高电平。
当SCL处于高电平时,通信的启动和停止控制在SDA的上升沿或下降沿。
14.10.2. 数据传输
一旦出现启动条件,数据传输以8位(1字节)为单位执行。数量(字节)没有限制
在启动条件和停止条件之间传输的数据。
(但是,传输时间不得超过0.95秒。)
14.10.3. 启动和停止I2C总线通信
访问该设备时,从发送启动条件到访问后发送停止条件的所有通信应在0.95秒内完成。如果通信需要0.95秒或更长时间,I2C总线接口将通过内部总线超时功能复位
14.10.4. 从地址
I2C总线设备没有任何芯片选择或芯片启用引脚。
所有I2C总线设备都以固定的唯一编号存储。I2C总线上的芯片选择被执行,当接口启动时,主设备向I2C总线上的所有设备发送所需的slaveaddress。当所需的从机地址与其自身的从机地址一致时,接收设备仅对接口做出反应。
在实际数据传输过程中,传输的数据包含从机地址和具有R/W(读/写)位的数据。
14.10.5. 系统配置
所有连接到I2C总线的端口必须是开漏或开集电极端口,以便启用和连接到多个设备。
对于该RTC模块,CPU等控制器被定义为主设备,RTC模块被定义为
从设备。当一个设备同时用于发送和接收数据时,它被定义为发送器或接收器
取决于这些条件
14.10.6.协议
在以下序列描述中,假设CPU是主CPU,RX8111CE是从CPU。
地址规范写入序列
由于RX8111CE包含地址自动递增功能,一旦指定了初始地址,RX8111CE将在每次传输数据时递增(一个字节)接收地址。
解决自动递增函数的循环问题。
(1) CPU传输启动条件[S]。
(2) CPU传输RX811CE的从机地址,R/W位设置为写入模式。
(3) 检查来自RX8111CE的确认信号。
(4) CPU将写入地址传输到RX8111CE。
(5) 检查来自RX8111CE的确认信号。
(6) CPU将写数据传输到上面(4)中指定的地址。
(7) 检查来自RX8111CE的确认信号。
(8) 如有必要,重复(6)和(7)。地址会自动递增。
(9) CPU传输停止条件[P]。
ACK signal from RX8111CE:来自RX8111CE的确认信号
2) 地址说明读取序列
使用写入模式写入要读取的地址后,将读取模式设置为读取实际数据。
(1) CPU传输启动条件[S]。
(2) CPU传输RX811CE的从机地址,R/W位设置为写入模式。
(3) 检查来自RX8111CE的确认信号。
(4) CPU传输从RX8111CE读取的地址。
(5) 检查来自RX8111CE的确认信号。
(6) CPU传输重启条件[Sr](在这种情况下,CPU不传输停止条件[P])。
(7) CPU传输RX811CE的从机地址,R/W位设置为读取模式。
(8) 检查来自RX8111CE的ACK信号(从这一点开始,CPU是接收器,RX8111CE是发射器)。
(9) RX8111CE输出上述(4)中指定地址的数据。
(10) CPU将ACK信号传输至RX8111CE。
(11) 如有必要,重复(9)和(10)。读取地址会自动递增。
(12) CPU传输“1”的确认信号。
(13) CPU传输停止条件[P]。
3) 未指定地址时的读取顺序
一旦最初设置了读取模式,就可以立即读取数据。在这种情况下,每个读取操作的地址都是先前访问的地址+1。
(1) CPU传输启动条件[S]。
(2) CPU传输RX811CE的从机地址,R/W位设置为读取模式。
(3) 检查来自RX8111的ACK信号(从这一点开始,CPU是接收器,RX8111CE是发射器)。
(4) 数据从RX8111CE输出到之前访问的地址末尾之后的地址。
(5) CPU将ACK信号传输至RX8111CE。
(6) 如有必要,重复(4)和(5)。读取地址在RX8111CE中自动递增。
(7) CPU传输“1”的确认信号。
(8) CPU传输停止条件[P]。
版权声明:本文为CSDN博主「芋头莎莎」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38295600/article/details/122921321
暂无评论