您尚未登录。

楼主 #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

离线

楼主 #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

表示并时间并没有动过。

离线

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

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

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

晕哥 说:

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

有的 执行后掉电的

离线

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

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

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

晕哥 说:

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

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

离线

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

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

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

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

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

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

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

好的 非常感谢!

离线

页脚

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

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