I wrote this in a private email but given a lot of new people who had no experience with Fox, it seems worth posting to the list (and also to PacSat whose OBC is similar, although it does keep UTC somehow/somewhere, I think).
Ever
since Fox-1A and up through the Golf, the OBCs do not have a Real Time Clock (RTC), have
never had a clue about the actual UTC time, and have only kept any
time as accurate as their built-in timed interrupts are. The OBCs main
time metric is Epochs (in general, the number of processor resets) and
Seconds since the last Epoch start. The main thing that these times get
used for are timestamps on telemetry, and the most critical thing is to
ensure that telemetry downlinks can be sorted by time order on the
ground even if they arrive at the AMSAT server out of order. In addition, on the ground we (really Alan Biddle) determines
the UTC time of each reset. Given that, we can display the UTC
telemetry time in FoxTelem. Sometimes this is more useful if it is
reasonably accurate (like if you want to correlate something on the s/c
to an orbital location like the South Atlantic Anomaly or the aurora
or something like that, but generally even that is not terribly
critical.
All
the software is geared to that Epoch/Second timekeeping, but on Golf I
also planned to downlink the UTC time matched with a s/c time when/if it
was available (there is a GPS on the Ettus, but whether it could give
UTC without CoCom is unclear) in order to save Alan some work. Now that
we will have a CoCom GPS available we will certainly have the time, but
I have no plans to use it on the OBC except to downlink as above. The UTC time also comes with GPS coordinates so that
time can be used to convert a coordinate list to TLE, but it is a
timestamp, not realtime. The OBC still does not have an accurate RTC
nor does it need one.
Note
to avoid a few emails: At least the ST32L151 processor does contain an
RTC, but we don't use it. It would require an extra super-accurate
crystal, plus it still has to be set in orbit, since we can't have any
power on before release in orbit. And why do we use the epoch/seconds
hoke? Because that is accurate from the moment the processor reboots.
It does not have to wait for a GPS lock or a UTC uplink.