[RTEMS Project] #4749: Clock Driver Validation

RTEMS trac trac at rtems.org
Thu Nov 24 07:15:06 UTC 2022


#4749: Clock Driver Validation
-------------------------------------+------------------------------
 Reporter:  Matt Joyce               |       Owner:  Sebastian Huber
     Type:  enhancement              |      Status:  assigned
 Priority:  normal                   |   Milestone:
Component:  test                     |     Version:  6
 Severity:  normal                   |  Resolution:
 Keywords:  clock driver, testsuite  |  Blocked By:
 Blocking:                           |
-------------------------------------+------------------------------

Comment (by blackbird):

 Adding onto Chris John's suggestions. Given variety of hardware
 peripherals and systems affected by clock jitter, if I may make a couple
 of suggestions on PPS/GPS input clocking from prior experience
 implementing similar testing:

 1. Split the test suite into external/external HIL (Hardware in the Loop)
 and maybe SIL (Software in the Loop) pass/fail. Consider other devices on
 the clock tree if interested. For example, PCIe jitter testing, IEEE 1588,
 etc, can further aid system verification from an external timing
 perspective. May help if SYSTICK derived from a shared clock distribution
 source that could have their own sources of configuration/firmware/logic-
 ware/implementation errors on a single BSP. This may be vital to avoid
 misdiagnosing an off by one error that could be located in say a clock
 distribution configuration register unrelated to the driver being
 validated.

 2. GPS Quality Checks. Given potential geographic distribution of users,
 test sites limits, band configuration, and Ephemeris, general quality of
 fix checks should be a condition for tests passing or failing. An
 atomic/high end OCXO in general could avoid GPS dependence if Stratum 1 is
 sufficient for the test at hand, but may be out of reach from a cost and
 availability perspective.

 3. Consider a spec on minimum GPS holdover clocking performance for the
 external hardware versus target frequency and clock tree configuration. In
 an adverse environment, etc, GPS receiver going into loss off fix can add
 variability through the packaged DCTCXOs and VCTCXOs freewheeling.

 4. Clock Sync and Distribution Performance. Many of the clock
 distribution/jitter cleaner/sync ICs are often rated worse than Stratum 3
 and may not provide adequate jitter free performance to test higher speed
 clocks as Chris alluded to. Though this issue is related to SYSTICK
 performance, my concern here is the variability of clocks and potential
 phase relationships across clock domains. This is especially applicable to
 FPGA metastability issues, clock domain crossing issues, soft-processor
 synthesis variability, and clock distribution pathways for PPS
 input/output, and the derivation of SYSTICK.

 5. No-GPS Solution: A < 100 PPB clock can provide adequate short term
 timing performance, especially against the 25PPM or clocks on many PCBs.
 The ability to frequency tune an oscillator through (say a VCTCXO or
 digitally tuned) and PLL lock can also be helpful. Some testers lock both
 the input and output clock signal with known dividers derived from the
 clock tree config. This gets into spectrum analysis territory and can be a
 good way to validate the test suite itself. Granted, if someone is looking
 for 1000 Systicks versus PPS, and they are off by 1 on a fast clock, none
 of these considerations matter since the missing tick is clearly
 observable. However, this is not a deterministic solution versus a phase
 lock + known good hardware comparing the output with the BSP clock tree
 config. This is also flexible as intermediate clocks can be easily
 validated as well, and many BSPs internally contain the reference hardware
 to implement this.

 6. Consider accuracy and capability of onboard thermal sensors and SoC
 utilization/junction temperatures. A set of constraints/monitored
 variables in the test setup will help for hardware in the loop. This
 itself can produce a false positive for off-by one testing or throw off
 jitter measurements. Granted, if SYSTICK frequency dividers are large,
 this is less of a problem as the problem is more observable.

 7. Consider Allan Deviation/Variance statistics as an output for in-situ
 clock performance analysis given availability of a higher performance
 external reference clocks and adequate measurement hardware. This may help
 identify outliers and quantify performance of the on-board and off-board
 clocks for validation and outlier rejection. This data can then be used to
 generate a good test times from time constants where oscillator
 performance is optimal after thermal settling. Other concerns on test
 threshold parameters that may vary for BSPs are oscillator models, aging
 characteristics, part changes, mfg batches, etc, some of which could be
 datasheet values depending on pass/fail criterion.

 These are mostly related to jitter related issues that I can see arising
 from the test suite, and a free measurement of clock related performance
 parameters off a GPSDO doesn't seem half bad, especially for Stratum 3E or
 better which is natively supported by most clock distribution circuits on
 modern 5G, PCIe 5.0, IEEE 1588, and precision timing capable boards

--
Ticket URL: <http://devel.rtems.org/ticket/4749#comment:4>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list