站内搜索
发作品签到
专业版

【会员日乱花钱记录之】HT8563 PCF8563 RTC模组

工程标签

300
0
0
0

简介

众所周知,立创每个月都会有会员日活动。之前我乱搞,为了凑单买了很多不必要的设备。这里我劝大家千万不要学我进行冲动消费,要买啥直接买啥会更便宜。毕竟你也不想你家变成垃圾场,对吧。

简介:众所周知,立创每个月都会有会员日活动。之前我乱搞,为了凑单买了很多不必要的设备。这里我劝大家千万不要学我进行冲动消费,要买啥直接买啥会更便宜。毕竟你也不想你家变成垃圾场,对吧。
复刻成本:10

开源协议

GPL 3.0

(未经作者授权,禁止转载)
创建时间:2025-12-08 19:13:19更新时间:2025-12-09 00:22:52

描述

前言

众所周知,立创每个月都会有会员日活动。之前我乱搞,为了凑单买了很多不必要的设备。这里我劝大家千万不要学我进行冲动消费,要买啥直接买啥会更便宜。毕竟你也不想你家变成垃圾场,对吧。

图1.乱花钱,买这么多RTC当饭吃啊?申金!

今天我来介绍买回来的垃圾之一HT8563, 这是一款兼容PCF8563的国产RTC芯片,制造单位为海天芯。它是一款IIC通信的时钟芯片,这点和我之前开源的DS3231类似,但它外置晶体,无论是准度还是价格都比DS3231要差和便宜。在一些不是主用于计时的场景还是非常常见的。例如树莓派CM 0 NANO卡片电脑用的就是这个芯片,实现计时和看门狗的功能。与DS1302对比之下,HT8563少了后备电源,但多出了中断输出和时钟频率输出引脚。这基本上就是这款芯片的介绍。我将开源出这个板子的硬件和一套已经实现了基本功能的软件,希望这次开源的东西能帮到你。

图2.这个就是模块本体了。

HT8563模组硬件介绍。

这是一块绿色电路板,十分小巧和方便。为了方便连接到MCU测试,引脚排列与我自制的众多模组板保持一致。

图2-1.这个就是模块本体了(背面)。

由于PCF8563及HT8563内无内置晶振,这里我们需要外接一个;PCF8563没有双电源自动切换功能,所以我在板子上使用一颗pmos管做了一个电源双切以实现此功能——它在有外部供电时使用外部供电,当外部供电断电后,自动使用CR2032电池来进行供电。在中断 脚、时钟频率输出脚上均皆有一颗LED,用来指示发生中断及时间频率输出情况。以上就是这个小板的硬件介绍,下面我需要着重介绍一下,设计这种带有RTC晶体的板子一定需要注意的事项。

图3.晶振区域布线

1.晶体尽量靠近RTC芯片,并在周围包括上下层设置禁止铺铜区。这是一个非常非常重要的设计,很多RTC设计失败问题就出在这里,尤其是晶体与晶体连接线周边的连线。因为大量的铺铜会和两个连接线间产生寄生电容,从而“拖慢”RTC的运行。但是,在禁止铺铜区的外侧,记得对晶体及连接线进行包地处理,以防止晶体产生频率而干扰其他电路。

2.晶体的两根线路对地要预留电容焊盘,如果你的晶体在实测长期快于标准时间,就可以在两个电容焊盘上接上两个电容,以此拖慢晶振的运行。但注意这里只能装几PF。太大会把晶振拖停振。

3.如果使用单模组测试,记得加上外置电池。

以上就是这个板子的硬件部分,下面介绍我自己写的一个自建库,用于驱动HT8563进行计时,在文末我会放出开源工程,这里简单进行一下介绍。这个库需要另一个自建库的支持,它就是软件IIC库,我们使用它来用软件模拟出IIC时序。但在这里并不是重点,所以不过多赘述。

HT8563模组软件介绍。

我会在文末放出我的测试文件,欢迎下载,移植,使用。

1.底层及初始化。本自建库依赖于自建软件IIC库对8563进行底层通信,这个自建库最底层是PCF8563写入及读出一个字节;我们接着介绍PCF8563的初始化程序。在初始化中,你需要写入当前MCU晶体频率,它将提供给IIC库中一个延时命令。使用举例:当前我MCU主频为8MHz,在这里写入8即可,在初始软件IIC库后,会启动PCF8563计时、停用8563的报警及定时中断功能。当然,我们还需要BCD与DEC码间进行互转,这几乎每个RTC都会用到这个功能,因为它们都需要将时间等信息转为BCD码存入它们的寄存器中。

2.计时设时功能。为了保证IIC通信效率,在这里我将使用多字节通信,以提高该命令的执行效率。设置时间一共有两个命令:分别是Set1和Set 2。 Set 1负责设置时、分、秒数据;Set2设置年、月、日、周数据。这和我写的其他RTC的自建库是一致的。读出是一次性将运行的所有时间值读出,将它们放在一个数组中。调用时间用各个读取命令传出已更新数组中的时间值。这也就是说,在读出时间时一定要用PCF8563_ReadTime()进行一次转换。

3.启动及停止走时。PCF8563支持停止走时,这里对应PCF8563_Begin()命令,填入对应枚举变量即可启动或停止PCF8563的走时。

4.输出1Hz。调用PCF8563_SQW()填入对应枚举值,可选择让PCF 8563的CLKO引脚输出或停止输出1Hz的脉冲信号。其他频率由于我没有示波器,所以就没有做。

5.定时器功能。PCF8563支持一个定时器。设置使用PCF8563_TimerSet()命令设置使用的时钟源及数字,使用时钟源可选择使用秒或者是分。设置值最大为255,是uint8_t的极限;

当发生定时中断时,PCF8563会拉低一下INT,这时可用PCF8563_TimerRun()来重新设置定时器或停用当前定时器设置。

程序现象:

当烧录进单片机后,程序开始运行,起点时间为:Time2=2024:12:31:2 Time1=0:0:0,每间隔1s打印一次时间。

将INT线接入MCU RST线,每1min会触发一次定时中断,从而让MCU复位一次,重新从00:00:00走时。

图4.试车中

图5.定时中断发生,重新开始计时

结束。

我没有做报警功能,需要的自己加。强烈推荐去看一下江科大MCU教程,你会写出自己IIC时序库的,或者你也可以用我的。我还会开源一些其他的RTC模组,但最近就开源这个吧。我的功绩无人知晓,但我的恶事臭名远扬,宁愿玩板子也不要信别人,我现在不能回头看,回头我会怀念也会感到可怕的。

这篇文章到这里就结束了,完整的测试文件详见附件,我的测试平台是武汉芯源半导体推出的,CW32F030单片机进行的测试,移植要是有人想看,可以移植一个到ST的单片机上。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
【工程文件】PCF8563时钟模组1.0.epro
3
2
【程序】CW32F030_软件IIC(PCF8563驱动).zip
4
3
【原理图】PCF8563时钟模组1.0.zip
3
4
【BOM】PCF8563时钟模组1.0.xlsx
3
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航