你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32H7体验】+ 驱动RX8025,建立时钟控制

[复制链接]
晒太阳的懒猫 发布时间:2022-4-28 20:26
STM32H7体验】+ 驱动RX8025,建立时钟控制
利用GPIO模拟I2C,完成对RX8025的操作,实现时钟控制
驱动RX8025,建立时钟控制
RX8025是一种高精度,内藏32768Hz晶振时钟I2C总线接口的实时时钟芯片。由于内部集成了32768Hz石英晶振,减少了PCB设计,同时也降低了功耗。

1

1
内部寄存器设置:

2

2

3

3
系统中引入这个时钟芯片的目的,是为了建立起浇水计划。是系统在必要的时间里按照计划启动浇水,实现无人状态下的自动浇水。为了连接这个时钟芯片,利用PE10PE12这两个GIO口模拟I2C通讯,读写RX8025,结合其他部件,实现时钟控制。

4

4
连接RX8025时,注意除了VDDGNDSCLSDATEST管脚也要引出来,接到VDD上。VDD的可用电压范围是1.8V - 5.5V。开发板上有一个JP2,提供了一排5V,刚好可以用上。在对RX8025的日期、时间数据进行读写的时候,要注意BCD码和16进制数据之间的转换。以适应RX8025的要求。否则,写入错误的日期、时间数据,有可能导致RX8025不工作。
RX8025的程序代码,我没有从头编写,是直接把以前用于51单片机的代码,进行改造以后,拿过来用的。但结果,很遗憾,竟然不能被正常执行。于是寻找RX8025的资料,按照它的读写时序,重新改造代码,进行测试。还是不行。最终无奈之下,只好到EPSON的官网去查找,找到一份日文版的资料,资料中的部分内容如下:

5

5

6

6
按照上面的说明改造程序后,运行起来,能够读写数据了,但是取出来的时间数据还是不正常,表现为数据错位,有时候还是完全不正常的数据。秒数据跑到分钟的位置上了,从寄存器0取得的数据,总是固定为10

7

7
数据能读写,但不正常,肯定是处理时序不对,不知道是不是和那个Ack信号有关。没办法,继续研究文档。就在准备要放弃的时候,看到如下说明:

8

8
资料中很明确说明了,SCL脉冲的宽度要保持在0.6微秒(tLow)和1.3微秒(tHigh)以上才行,而这个主板的时钟高达280MHz,很可能脉冲宽度不对。如醍醐灌顶,马上加长脉冲延时长度,调整时间常数为280,这样可以保证提供1微秒以上的脉冲宽度。编译、下载、运行,日期时间终于能正常读写、显示也正常了。
图片9.png
到现在为止,所有外围模块的处理都已经调通了,之后就是开始调整主程序,建立整个工程了。
下面是RX8025的驱动代码
R8025.zip (3.97 KB, 下载次数: 37)
收藏 评论0 发布时间:2022-4-28 20:26

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版