PCB论坛网

 找回密码
 注册
查看: 1150|回复: 0

给RIoTboard添加RTC备用电池

[复制链接]
发表于 2014-6-13 11:55:37 | 显示全部楼层 |阅读模式
RIoTboard和大多数低成本ARM开发板一样,都有片上RTC,但是板子的设计者并没有提供连接备用电池的方法,这让片上RTC几乎没有什么意义。因为每次你关闭电源,数据和时间都会丢失,再次打开电源后,板子的日期会回到45年前。
这显然是个问题,因为很多事情都需要有一个有效的日期和时间。比如有时我们需要定时打开和关闭某些东西,或者根据时间来记录传感器的数据。因此有一个基本准确的日期和时间非常重要。

有几个不同的方法来获取我们需要的日期和时间信息。
1.        用Internet NTP服务器同步时间
2.        用GPS接收器同步时间
3.        每次启动手动设置时间
4.        用电池供电的RTC来保持本地时间

这些方法都可以使用。但是方法1-3有一些缺点。假如遇到大范围停电,在电力恢复时交换机启动、DSL线路重新同步等,到恢复Internet连接可能需要一些时间。与之类似,GPS也可能需要时间来重新锁定卫星。最后如果我们是手动设置时间,那么最好在我们工作的时候永远不要断电。
当然并不是说第4种方法可以解决所有的问题,但是它能够在断电后直到恢复时间同步这段时间起作用。
在其他板子上,比如CubieBoard,BeagleBone Black,Sabre-Lite等,设计者倾向于将RTC后备电源引脚直接连接到主电源层上。这让我们完全失去了添加电池的机会。

当第一次看到RIoTboard的原理图时,我又燃起了希望



看起来可以去掉R30- 假如能在板子上找到的话 – 然后添加一个电池!
但是最终我们没有必要这样做。
RIoTboard有一个Freescale MMPF100电源管理芯片。该芯片的数据手册指明了芯片有一个针对纽扣电池的输入,并且能够帮我们处理细节上的事情。当然另一个问题是,电源管理芯片上的纽扣电池输入是否被简单的连接到主电源上?
幸好不是,下面是证据:



好了,现在找到板子上的C75,旁边有标注。



元件确实很小。
现在用放大镜和烙铁把连线焊接到上面,以便连接电池。
下面是焊接好的样子。



扩展接口的pin3是接地 – 焊接这里比焊接C75的另一面更容易。这些连线看起来很粗,其实这些铜绞线非常细。
连线的另一端连接电池座,像这样



现在可以启动板子并设置时钟了。
root@riotboard:~# date -s \"2014-06-02T16:58\"
Mon  June  2 16:58:00 UTC 2014
root@riotboard:~# hwclock -u -w
root@riotboard:~# hwclock
2014-06-02 16:58:16 UTC   -0.942526 seconds
然后断开所有电源,去喝一杯饮料,等半个小时再回来。
如果你用的3.15版内核,那么在重新上电后,在内核日志中会发现以下信息:
[    1.484102] snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 2014-06-02 15:08:08 UTC (1401721688)

你的时钟应该从RTC获取设置信息。如果你用的Debian,那么还需要进行一些调整来避免断电时的时钟覆盖RTC提供的时钟。

更多关于RIoTboard的信息,请访问英蓓特官方网站。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|手机版|PCB设计论坛|EDA论坛|PCB论坛网 ( 沪ICP备05006956号-1 )

GMT+8, 2024-5-10 13:41 , Processed in 0.204771 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表