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.
73,
Burns Fisher, WB1FJ
*AMSAT(R) Engineering -- Flight Software*