您尚未登录。

楼主 #1 2018-01-12 14:00:35

挖坑人
会员
注册时间: 2018-01-12
已发帖子: 5
积分: 5

v3s RTC使用备用电池时,时间只保存,不走怎么回事?

情况说明:
v3s RTC使用备用电池时,时间只保存,不走,每次开始时候还是原先关机的时间。
个人感觉是使用备用电池时候外部32K晶振没使用。

下面贴代码,

dts里面:

ext_osc32k: ext_osc32k_clk {
	#clock-cells = <0>;
	compatible = "fixed-clock";
	clock-frequency = <32768>;
	clock-accuracy = <50000>;
	clock-output-names = "ext-osc32k";
};

rtc: rtc@01f00000 {
	compatible = "allwinner,sun6i-a31-rtc";
	reg = <0x01f00000 0x54>;
	interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
	clock-output-names = "osc32k";
	clocks = <&ext_osc32k>;
	#clock-cells = <1>;
};

部分启动日志:

[    0.698307] ohci-platform: OHCI generic platform driver
[    0.703768] udc-core: couldn't find an available UDC - added [g_cdc] to list of pending drivers
[    0.712986] sun6i-rtc 1c20400.rtc: rtc core: registered rtc-sun6i as rtc0
[    0.719819] sun6i-rtc 1c20400.rtc: RTC enabled
[    0.724802] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[    0.733057] usbcore: registered new interface driver usbhid
[    0.738665] usbhid: USB HID core driver
[    0.742837] NET: Registered protocol family 17
[    0.750274] sun6i-rtc 1c20400.rtc: setting system clock to 2018-01-11 18:46:45 UTC (1515696405)
[    0.759251] vcc3v0: disabling
[    0.762225] vcc3v3: disabling
[    0.765187] vcc5v0: disabling
[    0.800383] random: crng init done

查看rtc驱动代码里,也是有使能外部晶振的。
在driver/rtc-sun6i.c文件里:
部分代码:

/* Switch to the external, more precise, oscillator */
	writel(SUN6I_LOSC_CTRL_KEY | SUN6I_LOSC_CTRL_EXT_OSC,
	       rtc->base + SUN6I_LOSC_CTRL);

	/* Yes, I know, this is ugly. */
	sun6i_rtc = rtc;

	/* Deal with old DTs */
	if (!of_get_property(node, "clocks", NULL))
		return;


电路图不知道怎么贴,就简单说明下好了 :
接32k晶振,VCC_RTC引脚接备用3.3V电源 正常使用时候接电源芯片的3.3v。
备用电源掉电时候只接VCC_RTC引脚,不知道这个有没关系。



以下由 @哇酷小二 2020-07-21 添加:
----------------------------------------------
问题已解决, 关于v3s关机后,使用后备电池时钟不跑的解决方法:
https://whycan.cn/t_4909.html

离线

#2 2018-01-12 14:15:14

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

参考: 将系统时间写到硬件时间

date -s 2011.03.03-13:48:00
这样可以一次设置好日期时间,
hwclock -w :将系统时间写到硬件时间,

hwclock -s  :从硬件时间读到系统时间, 可以写到开机脚本里面 /etc/init.d/rcS


发图片方法: 如何在本站发图片, 顺便吐槽功能弱智的phpbb半自动步木仑





离线

#3 2018-01-12 14:17:40

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

你先用上面的方法确定你的RTC寄存存器是否是正常可读写的, 先可以不管跑不跑的问题。
hwclock -w 写
hwclock -s 读





离线

楼主 #4 2018-01-12 14:24:56

挖坑人
会员
注册时间: 2018-01-12
已发帖子: 5
积分: 5

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

emm...
断电时候的时间:
[    0.750431]  sun6i-rtc 1c20400.rtc: setting system clock to 2018-01-12 14:18:35 UTC (1515766715)
等几分钟后启动:
# hwclock -s
# date
Fri Jan 12 14:18:47 UTC 2018
# hwclock -r
Fri Jan 12 14:18:55 2018  0.000000 seconds

表示并时间并没有动过。

离线

#5 2018-01-12 14:28:19

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

date 命令执行后,有没有执行hwclock -w?





离线

#6 2018-01-12 14:29:31

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

据我所知,全志V3s的RTC对电容要求很高,很容易不起振。
你最好找个示波器量一下。





离线

楼主 #7 2018-01-12 14:29:34

挖坑人
会员
注册时间: 2018-01-12
已发帖子: 5
积分: 5

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

晕哥 说:

date 命令执行后,有没有执行hwclock -w?

有的 执行后掉电的

离线

#8 2018-01-12 14:31:04

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

挖坑人 说:
晕哥 说:

date 命令执行后,有没有执行hwclock -w?

有的 执行后掉电的

那应该是没起振了,如果没有示波器就从6p一直换到22p,看哪个能使rtc跑起来。





离线

楼主 #9 2018-01-12 14:31:13

挖坑人
会员
注册时间: 2018-01-12
已发帖子: 5
积分: 5

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

晕哥 说:

据我所知,全志V3s的RTC对电容要求很高,很容易不起振。
你最好找个示波器量一下。

恩 好的  等下去看看   
rtc电源只提供到VCC_RTC引脚 应该是符合电路要求的吧?

离线

#10 2018-01-12 14:41:58

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

挖坑人 说:
晕哥 说:

据我所知,全志V3s的RTC对电容要求很高,很容易不起振。
你最好找个示波器量一下。

恩 好的  等下去看看   
rtc电源只提供到VCC_RTC引脚 应该是符合电路要求的吧?

对,98脚供3.3v即可。
估计1v多也可以工作了。
具体看手册。





离线

楼主 #11 2018-01-12 14:59:17

挖坑人
会员
注册时间: 2018-01-12
已发帖子: 5
积分: 5

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

晕哥 说:
挖坑人 说:
晕哥 说:

据我所知,全志V3s的RTC对电容要求很高,很容易不起振。
你最好找个示波器量一下。

恩 好的  等下去看看   
rtc电源只提供到VCC_RTC引脚 应该是符合电路要求的吧?

对,98脚供3.3v即可。
估计1v多也可以工作了。
具体看手册。

好的 非常感谢!

离线

#12 2018-01-22 19:28:12

buaazy
会员
注册时间: 2018-01-22
已发帖子: 3
积分: 3

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

我也发现这个问题,zImage使用4.13.y默认配置,RTC掉电就不走了

离线

#13 2018-01-22 19:38:56

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

buaazy 说:

我也发现这个问题,zImage使用4.13.y默认配置,RTC掉电就不走了

是荔枝派zero板吗?
稍等等,我再次确认一下。





离线

#14 2018-01-23 08:20:35

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

我测试过是时间是能跑的,软件reboot,或者硬件reset, hwclock里面的时间是一直跑的。
你用示波器量下晶振是否起振,VCC_RTC 是否有供电。





离线

#15 2018-01-23 16:05:50

bugfix
会员
注册时间: 2017-11-22
已发帖子: 125
积分: 125

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

我的板子, 没贴32.768Khz, 但是备份电池都焊上了,现在情况是:
#hwclock  -r --rtc /dev/rtc0
上电时候用hwclock读时间会跑, 关机后再开机,中间这段时间和上面的朋友描述一样,时间没有跑,
下次开机接着跑。

因为没有晶振,时间不跑我能理解,
但是hwclock不是直接读RTC吗?这时候连晶振都没有,他到底读的是谁的时间?

离线

#16 2018-01-25 18:12:51

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

bugfix 说:

我的板子, 没贴32.768Khz, 但是备份电池都焊上了,现在情况是:
#hwclock  -r --rtc /dev/rtc0
上电时候用hwclock读时间会跑, 关机后再开机,中间这段时间和上面的朋友描述一样,时间没有跑,
下次开机接着跑。

因为没有晶振,时间不跑我能理解,
但是hwclock不是直接读RTC吗?这时候连晶振都没有,他到底读的是谁的时间?

看了一下驱动和手册,
不管有没有晶振,
驱动都是去读 RTC的相关寄存器 :
RTC_YY_MM_DD_REG
RTC_HH_MM_SS_REG

如果32.768K晶振正常起振,那么这两个寄存器都会实时更新,
如果不起振,那么寄存器就不会更新。





离线

#17 2018-02-02 11:31:30

bugfix
会员
注册时间: 2017-11-22
已发帖子: 125
积分: 125

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

QQ20180202112836.jpg

QQ20180202112307.png

终于解决V3s自带的RTC不准问题,
电阻电容调大又调小,始终解决不了时间不准问题,
淘宝买一片PCF8563, 外挂上去解决这个问题。


dts修改:

&i2c0 {
    status = "okay";

    ns2009: ns2009@48 {
        compatible = "nsiway,ns2009";
        reg = <0x48>;
    };


    rtc@51 {
        compatible = "nxp,pcf8563";
        reg = <0x51>;
    };

};

PCF8563驱动加入内核:

CONFIG_RTC_DRV_PCF8563=y

离线

#18 2018-11-26 13:01:02

john78
会员
注册时间: 2018-07-19
已发帖子: 219
积分: 167

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

我也遇到这样的问题,断电(电池供电)没有走时。
上电 hwclock -r 时钟是走的

离线

#19 2018-11-26 13:55:36

lilo
会员
注册时间: 2017-10-15
已发帖子: 215
积分: 215

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

john78 说:

我也遇到这样的问题,断电(电池供电)没有走时。
上电 hwclock -r 时钟是走的

我怀疑主线上的 RTC 驱动还是有问题,

否则V3s的行车记录仪怎么保存时间的?

离线

#20 2018-11-26 14:34:35

john78
会员
注册时间: 2018-07-19
已发帖子: 219
积分: 167

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

是硬件没有起振,内置RTC都比较挑剔。后续还是考虑外置了

离线

#21 2019-03-25 16:13:07

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?





离线

#22 2019-03-25 23:42:25

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

QQ20190325233404A.jpgQQ20190325233408.jpg





离线

#23 2019-03-26 13:18:36

john78
会员
注册时间: 2018-07-19
已发帖子: 219
积分: 167

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

我已经放弃了,用外内置晶振的RTC,稳稳的,就是价格多了些

离线

#24 2019-07-10 22:01:41

605364021
会员
注册时间: 2018-10-23
已发帖子: 251
积分: 251

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

bugfix 说:

https://whycan.cn/files/members/370/QQ20180202112836.jpg

https://whycan.cn/files/members/370/QQ20180202112307.png

终于解决V3s自带的RTC不准问题,
电阻电容调大又调小,始终解决不了时间不准问题,
淘宝买一片PCF8563, 外挂上去解决这个问题。


dts修改:

&i2c0 {
    status = "okay";

    ns2009: ns2009@48 {
        compatible = "nsiway,ns2009";
        reg = <0x48>;
    };


    rtc@51 {
        compatible = "nxp,pcf8563";
        reg = <0x51>;
    };

};

PCF8563驱动加入内核:

CONFIG_RTC_DRV_PCF8563=y

我通用选择外接pcf8563芯片用作外部rtc,但是我从打印信息中看到,系统使用的依旧是内部RTC?设备节点有2个RTC,分别是sun6i-rtc和rtc-pcf8563,我想问一下需要在设备树在禁止sun6i-rtc?我认为我的v3s现在并没有使用外接的pcf8563-rtc
_20190710215618.png

还有一个问题就是,我在查看pcf8563-rtc时间时hwclock -f /dev/rtc1 提示
rtc-pcf8563 0-0051: low voltage detected, date/time is not reliable.
hwclock: RTC_RD_TIME: Invalid argument
有人外接时候碰到过吗?这是pcf8563-rtc没有用上?

最近编辑记录 605364021 (2019-07-10 22:38:58)

离线

#25 2019-07-11 21:34:49

605364021
会员
注册时间: 2018-10-23
已发帖子: 251
积分: 251

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

有没有大佬可以解答一下

离线

#26 2019-07-11 21:59:09

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

1. 驱动或者设备禁用内置RTC 都可以.

2. rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.
电压不够或者没有放rtc电池。
https://blog.csdn.net/qq_39346729/article/details/80509599





离线

#27 2019-08-16 16:42:52

bugfix
会员
注册时间: 2017-11-22
已发帖子: 125
积分: 125

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

https://whycan.cn/t_686.html#p2745

太妖秀了, 今天从办公室柜子翻出这个 PCF8563 的模组, 躺了18个月, 时间只慢了44秒.

pcf8563_diff.png

离线

#28 2019-10-24 13:39:12

xgui
会员
注册时间: 2019-09-07
已发帖子: 224
积分: 224

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

[    0.814189] rtc-pcf8563 0-0051: low voltage detected, date/time is not reliable.
[    0.814228] rtc-pcf8563 0-0051: hctosys: unable to read the hardware clock


我的也出现这种问题了。

@605364021 请问你的解决了吗?

离线

#29 2019-10-24 14:30:27

xgui
会员
注册时间: 2019-09-07
已发帖子: 224
积分: 224

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

PCF8563 断电一分钟,然后接上电源, 重启, 发现还是一样的错误。

但是 hwclock -w 运行 OK

reboot 之后:

# dmesg |grep rtc
[    0.767704] rtc rtc0: invalid alarm value: 1970-1-11 39:0:0
[    0.768092] rtc-pcf8563 0-0051: rtc core: registered rtc-pcf8563 as rtc0
[    0.816290] rtc-pcf8563 0-0051: setting system clock to 1970-01-01 00:25:47 UTC (1547)
#
#
# date
Thu Jan  1 00:27:03 UTC 1970

现在正常了。


https://forums.xilinx.com/t5/Embedded-Linux/RTC-retrieved-date-time-is-not-valid/td-p/266324
可是这是什么原因造成的呢?

This warning message occurs when the VL flag in the RTC's SECONDS register is set. This flag gets set when VDD falls below a certain threshold (like low battery). It stays set until cleared by writing a zero to bit 7 of the SECONDS register (offset 0x02).

离线

#30 2020-07-21 19:46:19

明月照我沟渠
会员
注册时间: 2020-07-09
已发帖子: 120
积分: 114

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

晕哥 说:

1. 驱动或者设备禁用内置RTC 都可以.

2. rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.
电压不够或者没有放rtc电池。
https://blog.csdn.net/qq_39346729/article/details/80509599

2.

先执行: date -s 2020.07.21-22:59:00
再执行 hwclock -w --rtc /dev/rtc1就可以了.

离线

#31 2020-07-21 21:49:31

sy373466062
会员
注册时间: 2018-11-12
已发帖子: 130
积分: 116

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

有意思

离线

#32 2020-07-21 21:53:04

哇酷小二
wechat微信:whycan_cn
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,378
积分: 1902
个人网站

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

以下由 @哇酷小二 2020-07-21 添加:
----------------------------------------------
楼主的问题已解决, 关于v3s关机后,使用后备电池时钟不跑的解决方法:
https://whycan.cn/t_4909.html





离线

#33 2020-10-19 16:05:04

shawn.d
会员
注册时间: 2020-09-12
已发帖子: 164
积分: 100

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

收藏,填坑

离线

#34 2021-08-25 17:56:41

hanzixi_angel
会员
注册时间: 2020-09-21
已发帖子: 54
积分: 45.5

Re: v3s RTC使用备用电池时,时间只保存,不走怎么回事?

哇酷小二 说:

以下由 @哇酷小二 2020-07-21 添加:
----------------------------------------------
楼主的问题已解决, 关于v3s关机后,使用后备电池时钟不跑的解决方法:
https://whycan.cn/t_4909.html


测试并不能断电走时   而且hwclock -w保存的时候报错  如下:
# hwclock -w
[   36.460462] sun6i-rtc 1c20400.rtc: rtc is still busy.
hwclock: RTC_SET_TIME: Device or resource busy

不知道大牛有没有解决

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn