Problems and Solutions for Adjusting to Changes in Daylight Saving Time
Abstract
Recent U.S. legislation increased the daylight saving time (DST) period by four weeks. This change will affect systems that adjust for DST by using real-time clocks (RTCs) with an integrated DST adjustment. This note discusses issues related to the DST change, shows how to test and adjust the RTC for DST, and recommends how to manage DST in future designs.
Introduction and Background on DST Implementation
Since 1986 daylight saving time, in the U.S., begins on the first Sunday in April and ends on the last Sunday in October. Canada and Mexico also follow this schedule1. Beginning in 2007, however, daylight saving time in the U.S. will begin on the second Sunday in March and end on the first Sunday in November2.
Historically the DS1287 RTC, used on the IBM AT Personal Computer (PC), integrated the U.S. DST function. If the DST function was enabled, the operation system's (OS) clock used the time and date information from the RTC at boot time to reflect the proper time. For legacy reasons, all other Dallas Semiconductor multiplexed-bus interface RTCs also support the DST function. (See Table 1.)
DS12885/87 | DS12R885/CR887/R887 | DS14285/87 |
DS1685/87 | DS1688/91 | DS1689/93 |
DS17285/87 | DS17485/87 | DS17885/87 |
In modern operating systems the OS, not the RTC, handles the DST function. Since DST is implemented differently worldwide and can change often, using the OS allows relatively easy updates to the DST function and DST support. Embedded systems, in contrast, often have limited software, firmware, or memory resources, are limited to sales in North America, and may still implement DST by using the RTC's integrated DST function.
The DST function is important in some applications where there is no OS DST adjustment. Traffic signal controllers, for example, adjust the signal timing during morning and evening rush hours, which shift with DST. Other applications, such as FAX machines, may depend upon the user to input the correct time when a DST shift occurs, and therefore have little need for automatic DST adjustment.
Recommendations for Managing DST Adjustments
At this time Dallas Semiconductor does not plan to change the DST function on the multiplexed-bus product line. We encourage customers whose applications depend on proper adjustment to DST to update their products so that firmware handles DST changes, not the RTC.
Meanwhile, if you are managing changes for DST with an RTC, the Figure 1 flowchart will help you. It shows the basic steps required to test and adjust for DST. When adjusting back to standard time in November, a flag must be used to determine if the shift from 2:00AM to 1:00AM already occurred. This bit should be nonvolatile in case a power failure occurs in the hour after time has been reset to 1:00AM. A bit in one of the RTC's general-purpose battery-backed registers could be used for this purpose.
Conclusion
New designs should implement the DST function in firmware or software. By doing so, adjustments for changes in the DST schedule are more easily implemented.
Notes
1 States and provinces within the U.S., Mexico, and Canada choose to observe DST depending on local laws.
2 Canada will adhere to the new U.S. DST schedule in 2007. As of this writing, it is not known whether Mexico will follow.