Questions tagged «rtc»

有关实时时钟(RTC)的问题,实时时钟可以是微控制器使用的计时器IC,也可以用作微控制器作为精确的计时器。有些具有日历,警报,中断或心跳功能,而有些仅跟踪自上次编程以来的时间(Epoch计时器类似)。

7
如果我省略I2C线路上的上拉电阻会怎样?
刚才我意识到I 2 C数据和时钟线(SDA和SCL)必须具有上拉电阻。 好了,根据下面的示意图,我已经使用DS1307 RTC构建了几个时钟(请参见数据表)。注意,我省略了两个上拉电阻。 两个时钟都可以正常工作,其中一个时钟已经工作了3个月以上。那怎么可能?无论如何,我想知道: 省略I 2 C上拉时会发生什么? 缺少上拉电阻是否可能损坏板上的这两个IC中的任何一个? 我得到的答案可以解决我将ATmega328P连接到DS1307 RTC的特定情况,就像我提供的原理图一样,但是如果问题不是太广泛,那么了解通常省略上拉电阻会发生什么会有所帮助。 ,即在I 2 C操作的其他情况下。 PS。我确实在网上搜索以找到答案,但是可以找到有关确定引体向上尺寸的文章。 更新:我使用的是Arduino IDE 1.03,并且我的固件使用DS1307RTC Arduino库(通过其功能RTC.read()和RTC.write())处理RTC 。该库反过来又Wire.h用来与RTC对话。 更新2:下面是一系列示波器镜头,它们帮助我解释了I 2 C 如何在没有外部上拉电阻的情况下工作。 更新3(在添加I 2 C上拉之后):以下是在I 2 C线(在同一板上)上添加适当的(4K7)上拉电阻后拍摄的另一系列示波器。上升时间从大约5 µs降至290 ns。I 2 C现在更加快乐。
33 atmega  i2c  pullup  rtc 

3
实时时钟的典型32.768kHz晶体是否必须将外壳接地?
下图是一个典型的32.768kHz晶体,通常在实时时钟电路中使用(例如:DS1307和DS1337) 关于此处发布的一个较早的问题,优良作法是将接地层置于晶体下方。但是,是否也必须将水晶的身体/外壳接地(就像在这些图片中所做的一样)?如果是的话,如果我们不将案件搁浅怎么办?
17 pcb  pcb-design  crystal  rtc 

6
为什么实时时钟芯片使用BCD
我已经看到市场上有数十种不同的实时时钟芯片,以及许多具有内置的独立供电实时时钟模块的处理器。 几乎所有它们不仅将时间存储为年-月-日-小时-分钟-秒,而且甚至单个字段都以BCD而不是二进制格式存储。 是否有一些根本原因? 是否有微处理器应用程序能做的事情比简单地显示时钟要复杂得多,在这里BCD格式比二进制文件更有用,或者年月日日时分秒格式比直接的47位计数更有用。振荡器状态变化? 据我所知,RTCC制造商似乎增加了很多额外的电路,以降低其芯片的实用性。我认为处理器中的RTCC模块采用这种方式的唯一原因是处理器供应商使用了一些预先存在的BCD实现,而不是自己生产。
14 rtc 

7
实时系统是否需要实时时钟(RTC)?[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 2年前关闭。 假设我们正在使用由高分辨率计时器组成的实时Linux系统和硬件,那么具有RTC是否会影响系统的实时性? 这里说它减少了CPU和内存的使用,但是有没有办法比较两者之间的差异?
11 rtc 

4
我应该多久查询一次RTC?
我尚未使用RTC,因此我不太确定读取实时时钟的“正常”方式。我曾想过几种不同的方法,但希望对此有所建议。 到目前为止,以下是我想到的阅读和使用时间的方法: 获取开机时的日期和时间并保存到RAM,然后通过使用计时器中断每秒增加RAM值等。然后,只要需要知道日期/时间,代码就会使用RAM中的值。 通过使用计时器中断,每秒查询RTC并将接收到的日期和时间复制到RAM。同样,该代码将在需要知道日期/时间时使用RAM中的值。 每当我需要找出时间时,查询RTC并直接使用它的响应。 哪种方法最好?

1
DS1307 RTC可以在CR2032币形电池上运行多长时间?
我有一个基于atmega328和DS1307实时时钟的自制时钟。关断时,DS1307与往常一样由3V CR2032纽扣电池供电。 如果我大部分时间都打不开时钟,那么纽扣电池应该持续多长时间? 我知道用于计算电池放电时间的公式,但可能无法正确应用它们(我认为)。根据我的计算,根据电池的210mAh容量和数据表中的500nA电流,它应该可持续大约50年。但是电流消耗是如此之低,以至于必须有其他问题来决定电池的放电速率。 那么,有没有人比我有更好的数字?有什么实际经验吗?十年前有人的电池没电了吗?
11 rtc  coin-cell 

3
如何为PIC24 RTCC校准32.768kHz晶体
我正在尝试找出PIC24 RTCC晶体校准的最佳方法。他们的应用笔记陈述了两种方法:使用查找表和使用参考系统时钟。 根据他们的说法,参考系统时钟方法是最好的,但他们建议使用系统振荡器,该系统振荡器应是RTCC晶体振荡器的倍数,例如16.777MHz。 有人真的为PIC24尝试过RTCC晶体校准工艺吗?我将不胜感激一些实用的准则。我正在使用PIC24FJ128GA006。
10 pic  crystal  rtc  calibration 

4
超级电容供电的RTC?
我正在设计一个基于ATmega的微控制器测试板。我要包括的功能之一是带有Maxim DS1307 IC的实时时钟。但是,我不想使用传统的纽扣电池备用,而是要使用非常小的超级电容器。 在备用模式下,DS1307的功耗通常约为500nA。松下制造了一个很小的0.015F 2.6v超级电容,看起来像是可以使用。我如何估算RTC在此超级电容器上运行多长时间?

3
使用ST-LINK实用程序将RTC配置为当前时间
我在做什么 我正在使用STM32微控制器,对于我的项目,我需要能够在一天的特定时间(例如,上午11点和下午2点)发送数据。微控制器需要知道现在几点才能实现。不幸的是,我只能进行单向通信,因此无法从网络请求当前时间。 因此,我想在编程后直接设置当前时间。我知道我能够使用以下命令使用ST-LINK实用程序命令行界面(ST-LINK_CLI)将数据写入闪存: ST-LINK_CLI.exe -w32 <Address> <data> -Rst 我编写了一个简单的测试脚本,该脚本将Unix时间戳记写入代码当前未使用的某个地址。 我正要编写一个函数来读取时间戳并使用它来设置RTC时间。在我阅读《ST-LINK实用程序用户手册》中的以下内容之前: -w32支持写入闪存,OTP,SRAM和R / W寄存器。 当手册说它支持写入R / W寄存器时,这是否意味着我可以直接访问RTC寄存器并进行设置?我已经尝试过,但是似乎无法写入这些寄存器。 如果愿意,我宁愿使用此方法,因为我不再需要编写特定的函数来在微控制器上处理它。这意味着我可以设置我们当前使用的任何微控制器的RTC时间,而无需更新其代码。 我打算做什么 要设置RTC寄存器,我尝试执行以下步骤,如STM参考手册中所述: 将PWR_CR寄存器中的DPB位置1 将0xCA写入RTC_WPR寄存器 将0x53写入RTC_WPR寄存器 通过将RTC_ISR寄存器中的INIT位置1来停止RTC 通过写入RTC_PRER寄存器选择1Hz时钟 通过写入RTC_TR寄存器加载当前时间 通过写入RTC_DR寄存器加载当前日期 通过复位RTC_ISR寄存器中的INIT位来启动RTC 要访问寄存器,我使用了以下地址: PWR_CR:0x4000 7000 RTC_WPR:0x4000 2824 RTC_ISR:0x4000 280C RTC_PRER:0x4000 2810 RTC_TR:0x4000 2800 RTC_DR:0x4000 2804 什么地方出了错 我无法写这些寄存器中的任何一个。使用ST-LINK实用程序,我收到以下消息: 写入存储器时发生错误! 使用ST-LINK_CLI: 在0x40007000处写入0x00000100 ...错误! 读取这些寄存器没有问题,但是我无法使用ST-LINK实用程序或其命令行界面对其进行写入。 问题 如何使用ST-LINK Utility写入R …
9 stm32  rtc 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.