Analysis and test of "Omega2+ Reboot Fix [Official Solution]"
-
I'm starting a new thread dedicated to analysis, testing and documentation of the reboot problem fix. The fix thread can be found here --> http://community.onion.io/topic/3049/omega2-reboot-fix-official-solution.
I suspect this thread will have a life of its own, hence it is created to the referenced thread can stay brief and to the point.
--Bill
-
Here are some high-level ideas for a test:
-
A/B testing - design a test to demonstrate failure on unmodified system; run same test on modified system to validate the fix.
-
Define power/time points as test stimulus (% reduction of input voltage for various periods T)
-
Specify pass/fail criteria
-
Define what we would want in a test plan and test report
-
Design a circuit and provide suitable analysis which would provide the defined brownout conditions
-
Define what we'd want to capture (e.g. scope traces)
-
...and more stuff...but that's a start
--Bill
-
-
We have done some internal testing by manually adding a large capacitor between 3.3V and GND while the system is running to emulate a large load. This is enough to introduce a brownout.
What kind of setup do you have in mind so we can programmatically change input voltage?
-
@Zheng-Han said in Analysis and test of "Omega2+ Reboot Fix [Official Solution]":
We have done some internal testing by manually adding a large capacitor between 3.3V and GND while the system is running to emulate a large load. This is enough to introduce a brownout.
How large was that "large capacitor" please?
Was it fully discharged before each attempt?
Was the 3.3V power supply analog or switch mode?Thank you.
-
My thoughts are as follows.
- Build a circuit in which the O2+ receives it's supply voltage through a FET.
- Downstream of the FET would be a voltage regulator (3.3 or 5v, whichever is being tested) to prevent an over voltage condition that may damage a part (I'ved killed approx five Expansion Docks by powering them via a laptop and uUSB cable!!!).
- Upstream of the FET would be the power supply.
- The gate of the FET would be attached to a function generator.
- The function generator would be set to provide a "pulse" of the test duration, allowing for some automation to get to many, many brown out duration variants.
The non-pulsed input would allow for full input voltage. The negative pulse would be of sufficient magnitude to allow for various depths of the brown out. You could think of the ambient function generator output as proxy for the full input power supply and a pulse in the direction of 0 volts to be a proxy for the reduced input.
This may lend itself to automation such that we could do "four corners" test with hundreds or even thousands of permutations. - Of course a rebooting O2+ would be unavailable for another test run for over a minute, so let's not get too greedy on the "thousands" of test permutations.
- I may have the test equipment to do this (I think I do).
Any comments or other ideas?
--Bill
-
@William-Scott Here's a new thought on item #2. Designs of regulators are as varied as the wind. There's no reason to expect a "down voltage" input will result in a corresponding down voltage on output. The safe protection is a reversed bias zener diode of value corresponding to the test input full voltage.
--Bill
-
@Zheng-Han I suspect your thinking is to avoid some docks to get other variables out of the problem space. I suggest testing at 3.3vdc only on a breadboard dock. Do you concur?
--Bill
-
In our test we used a 1000uF polarized capacitor. The power supply is the one used in a the Expansion Dock. Check out the schematics here.
-
My only concern with using a FET as the power supply is depending on the model it may not supply enough pick current for the normal boot process. I like your suggested setup if we can find a FET that works in normal boot.
Breadboard dock would be a idea dock for the setup. would you mind coming up with a block diagram of the setup?
-
@Zheng-Han I will indeed!