diff --git a/flicker_investigation_continued.html b/flicker_investigation_continued.html index e56dc19..3a1d73a 100644 --- a/flicker_investigation_continued.html +++ b/flicker_investigation_continued.html @@ -252,16 +252,53 @@ transient that completes within one poll interval. Specifically:
hardware-level events that do not change any register I am polling (e.g. a brief PHY FIFO timing slip with no associated interrupt) are also outside what this instrumentation can detect. -memtool userspace tool via subprocess
- calls, which has non-trivial overhead. Pushing the wide poll much
- below ~100 ms started loading the device CPU and impacting the I²C
- poll loop. I did not try to optimise this further.memtool subprocess calls have non-trivial overhead and
+ pushing the wide poll much below ~100 ms started loading the device CPU
+ and impacting the I²C poll loop.So the correct way to read section 4 is: at the resolutions I could poll, -nothing showed up. That is consistent with — but not proof of — the fault -being below register visibility (e.g. a sub-frame transient timing event).
+To try to see below the 500 ms ceiling I added a second poller that
+bypasses memtool by mmap-ing /dev/mem directly in
+Python and reading the DSIM registers via load instructions, aiming for
+~1 ms resolution. A short captured window showed:
DSIM_CLKCTRL (offset 0x008) is active at sub-
+ millisecond timescales — it flips from its steady-state value of
+ 0x02 to 0x10, 0x100 or
+ 0x01 in 1–2 ms wide pulses, occurring roughly every
+ 200 ms during normal operation.So the most accurate position on register-level diagnostics for this +investigation is:
+ +