摘要: 最近美国立法将日光节约时间(DST)延长了四周。这一变化将影响到使用实时时钟(rtc)进行夏令时调整的系统。本文讨论了与夏令时更改相关的问题,展示了如何测试和调整夏令时的RTC,并建议在未来的设计中如何管理夏令时。
自1986年以来,美国的夏令时从4月的第一个星期日开始,到10月的最后一个星期日结束。加拿大和墨西哥也遵循这一时间表。然而,从2007年开始,美国的日光节约时间将从3月的第二个星期日开始,到11月的第一个星期日结束。
历史上,在IBM AT个人计算机(PC)上使用的DS1287 RTC集成了美国夏令时功能。如果启用了夏令时功能,操作系统(OS)时钟将使用RTC在引导时提供的时间和日期信息来反映正确的时间。由于遗留原因,所有其他Dallas Semiconductor的多路总线接口rtc也支持DST功能。(见表1)
DS12885/87 | DS12R885 / CR887 / R887 | DS14285/87 |
DS1685/87 | DS1688/91 | DS1689/93 |
DS17285/87 | DS17485/87 | DS17885/87 |
在现代操作系统中,是操作系统而不是RTC处理DST功能。由于夏令时在世界范围内的实现方式不同,并且可以经常更改,因此使用操作系统可以相对容易地更新夏令时功能和夏令时支持。相比之下,嵌入式系统通常具有有限的软件、固件或内存资源,仅限于在北美销售,并且可能仍然通过使用RTC的集成DST功能来实现DST。
在一些没有操作系统夏令时调整的应用中,夏令时功能非常重要。例如,交通信号控制器在早晚高峰时段调整信号时间,这两个时段随着夏时制的变化而变化。其他应用程序,如传真机,可能依赖于用户在夏令时移位时输入正确的时间,因此几乎不需要自动调整夏令时。
此时达拉斯半导体不打算改变多路总线产品线上的DST功能。我们鼓励应用程序依赖于夏令时适当调整的客户更新他们的产品,以便固件处理夏令时更改,而不是RTC。
同时,如果您正在使用RTC管理DST的变更,那么图1流程图将对您有所帮助。它展示了测试和调整DST所需的基本步骤。当在11月调整回标准时间时,必须使用一个标志来确定从凌晨2点到凌晨1点的转变是否已经发生。这个位应该是非易失性的,以防在时间重置为1:00AM后的一小时内发生电源故障。RTC的通用电池支持寄存器中的一个位可以用于此目的。
新设计应在固件或软件中实现DST功能。通过这样做,可以更容易地实现对DST时间表变化的调整。
图1所示、流程图的基本步骤,以测试和调整DST与RTC
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308