打印
[STM32F7]

RX8025T RTC读写与秒中断

[复制链接]
417|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
精度

使用特权

评论回复
沙发
实际测量不符|  楼主 | 2022-8-25 16:31 | 只看该作者
读写时序
接口为IIC,读写时序如下图。注意:

1、写操作,写从机地址、寄存器地址0,紧接可以连续写入秒、分、时、周、日、月、年共7个数据;

2、读操作,写从机地址、寄存器地址0、restart、读从机地址,紧接可以连续读出入秒、分、时、周、日、月、年共7个数据;

使用特权

评论回复
板凳
实际测量不符|  楼主 | 2022-8-25 16:31 | 只看该作者

使用特权

评论回复
地板
实际测量不符|  楼主 | 2022-8-25 16:32 | 只看该作者
写RTC对其内部ms计数的影响
RTC的秒脉冲低有效,每次输出时读取RTC中的时间。读出秒的时刻清零FPGA维护的ms,ns计数;

对RTC的写入有GPS校正(pps上升沿开始写RTC)、CPU主站校正。

写入秒的时刻,强制把中断拉低输出,清零RTC内部ms。

使用特权

评论回复
5
实际测量不符|  楼主 | 2022-8-25 16:33 | 只看该作者
下方的操作用CPU写RTC,在33秒500ms时,写入30秒。

1、默认情况下秒脉冲中断是占空比50%的方波,下降沿标识整秒中断,499ms时拉高。

使用特权

评论回复
6
实际测量不符|  楼主 | 2022-8-25 16:40 | 只看该作者

使用特权

评论回复
7
实际测量不符|  楼主 | 2022-8-25 16:41 | 只看该作者
2、写入秒的时刻把中断强制拉低;

505ms写入秒时强制输出中断.若在<499ms写入秒,中断保持0,但ms清零。

使用特权

评论回复
8
实际测量不符|  楼主 | 2022-8-25 16:47 | 只看该作者
500ms写入秒时强制输出中断细节,写入天后把CPU的时间直接更新给外部时间reg,清ms.

使用特权

评论回复
9
实际测量不符|  楼主 | 2022-8-25 17:36 | 只看该作者

使用特权

评论回复
10
实际测量不符|  楼主 | 2022-8-25 17:37 | 只看该作者
四、在FPGA中用GPS校正RTC
1、GPS PPS上升沿开始写,写入天后,等价于RTC中断读出秒的时刻,此时把GPS的时间直接更新给外部时间reg,并清零ms。

RTC中断出现在GPS写期间,此时FPGA无法响应中断读取,必须直接把GPS时间更新给外部时间reg.

使用特权

评论回复
11
实际测量不符|  楼主 | 2022-8-25 17:37 | 只看该作者

使用特权

评论回复
12
实际测量不符|  楼主 | 2022-8-25 17:39 | 只看该作者
五、ms维护
ms清零时刻:中断读出秒时刻、写RTC入天时刻。

注意:50000个50M clk=50000*20ns=1ms,自动累加到999ms且计数49999时不可进位,应该继续计数,等待清零时刻,以免出现999ms误差。

使用特权

评论回复
13
实际测量不符|  楼主 | 2022-8-25 17:40 | 只看该作者

使用特权

评论回复
14
实际测量不符|  楼主 | 2022-8-25 17:40 | 只看该作者
六、IIC防锁死计数清零
     为了增强IIC总线的EMC抗干扰性能,FPGA中应增加防锁死功能,总线启动后计数限时完成操作,否则发送停止位,返回起始状态。

      计数累加时可以用SCL的时钟高电平(400K,2.5us)做参考,每发1bit +1,每发一个字节大约计数9,则读一次约10*9*2.5us=225us;写一次约9*9*2.5us=202.5us。

       在总线空闲时立即清零,不可再等待SCL高。否则若写入紧接在读取完成后,会无法清零,导致计满报错后再次启动写入,大约延时85us,见下图。

使用特权

评论回复
15
实际测量不符|  楼主 | 2022-8-25 17:43 | 只看该作者

使用特权

评论回复
16
实际测量不符|  楼主 | 2022-8-25 17:43 | 只看该作者

使用特权

评论回复
17
实际测量不符|  楼主 | 2022-8-25 17:44 | 只看该作者
日期计算星期公式

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

560

帖子

0

粉丝