实时系统是否需要实时时钟 (RTC)?
您链接的文章完全是胡说八道。“实时时钟”中的“实时”(因为它用于指代文章中描述的硬件设备的类型)和“实时系统”中的“实时”是完全不同的术语。前者意味着存储当前日历时间(通常是它的一些非常差的近似值,与链接文章声称的高精度相反)并在没有外部电源的情况下使用长寿命纽扣/硬币型电池推进它。后者意味着响应从事件时间到响应时间的延迟硬性界限的事件。
文章中的其他一些内容,以确定它应该被视为不可信:
几乎可以忽略不计。100 年大约 1 秒
100 年中的 1 秒大约是 317 ppt(是的,这是万亿分之一)。任何现有的商用时钟技术都无法获得这种时钟稳定性。即使将其提高到每年 1 秒,也至少需要一个 OCXO,这需要一个大功率、始终开启的烤箱来调节温度。您可以使用由长寿命纽扣电池供电的设备来获得它的想法是可笑的。
实时系统,如数字时钟、考勤系统、数码相机
这些都不是人们所说的实时系统。
实时系统是在指定时间内响应内部或外部事件/刺激的东西,该时间通常以毫秒或微秒为单位。它需要小精度的计时器而不是RTC。
你的问题的答案是不,它不会影响系统的实时性。
如果您的系统在重置并具有 RTC 后处于脱机状态,它将能够将正确的日期放入日志中。日志可能会很大,以防您需要查看它们,并且错误的时间戳会让您、您的软件开发人员和客户发疯,并且在一般情况下几乎不可能进行调查。
您所指的文章中的难易,低或高,是一种个人观点。如果您以前从未做过并且没有明确的系统要求和工作说明,那么这将是困难和昂贵的;当您知道自己需要什么以及什么是最好的设备时,它既简单又便宜。
在大多数系统中,与其他形式的计时相比,RTC 外围设备的唯一真正优势是,当系统的其余部分进入睡眠状态或(在某些情况下)完全断电时,RTC 的时间测量不会受到影响。事实上,许多 RTC 外围设备的设计方式使得它们无法用于大多数用途,而不是记录一天中的大致时间。例如,许多 RTC 外围设备(可能是大多数,但可能不是绝大多数)仅限于以一秒为增量报告时间,其中许多外围设备至少有时需要在设置警报时忙于等待同步或--in在某些情况下——甚至只是试图读取时间。因此,使用 RTC 的正常方法是在启动时简单地将其值复制到更有用的时钟,只要设置了“墙上时间”就设置它,
除非在第一个和最后一次和最后一次过去超过1/32768秒后,否则任何四个连续的读数都将被保证包含两个匹配(并且因此是正确的)。设置警报可能会产生虚假的唤醒事件,但序列:
- 从唤醒锁存器中禁用中断
- 将最多0x7FFFFFFF的唤醒时间设置为优先于当前
- 重置唤醒电路
- 读时钟
- 如果新读取的时间表示已达到唤醒时间,适当行动
- 启用唤醒锁存器中断
应该足够容易地处理所有边缘案例,以适合通用的时间保持使用。不幸的是,无论出于何种原因,RTC外围设备从未以这种方式设计,而是更复杂和更有用。