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*