1. Hardware
The CDi depends on two chips for its timing functions. The Dallas DS1386 RTC and the Harris CP82C54 programmable
counter. Date and time information is used only as a “tag” to recorded data. All recording and switching functions
are controlled by the 82C54, which contains three, independent, free-running counters. When a counter times-out,
the unit “wakes up” and does something (records). The timebase or clock for the 82C54 is supplied by the DS1386
“watchdog” circuit. In other words, the date/time has nothing to do with the CDi primary functions (record, switch).
It is therefore evident that the CDi simply cannot fail in the year 2000 because it really does not care what the
year is. Even if the wrong date is supplied by the operator, it will still work. Naturally, if the date supplied
is wrong, it will be wrong in the recorded data and subsequent report. The operator however is prevented from manually
entering the date, as it is supplied by the host computer operating system. Incoming and outgoing year information
is shown in four digits. The operator can immediately verify that the CDi date is correct, via the “Get Status”
command.
2. Testing
The test procedure for Y2K compliance involves a) year 2000 rollover test and b) leap year calculation.
- Set the PC date/time to late December 31, 1999.
- Verify that the PC reports-back the above date.
- Set the unit to record as usual.
- After 24 hours have elapsed, do a “Get Status” command and verify that the date reported is January 1, 2000.
- Download the unit.
- Do a “Convert to Ascii” command and open the generated file in Notepad. Verify that the date info is correct
and the rollover is recorded as it should be.
- Do a “Convert to WinPlot” command and plot the generated file. Verify that the date info on the plot is correct.
- Restore the actual date/time on the PC.
Repeat the above procedure as necessary, but use February 28 as the test date. Verify that the CDi correctly
calculates leap years. Logic in the unit, determines leap years by testing for three conditions as follows:
- If the year is evenly divisible by 4 it is a leap year, unless
- the year is evenly divisible by 4 and 100 it is not a leap year, unless
- the year is evenly divisible by 4 and 100 and 400 it is a leap year