hi,
Sorry for my bad English.
Iam beginner in chipwhisperer lite (XMEGA) i will try a voltage attack on atmega328p first i will success to restart atmega328p using clock frequency of cwlite is 168Mhz at repeat 3 but if i apply more than 3 repetition atmega328p will always restart but according to manual of atmega328p if power line glitch pulse more than 2us than atmega328p is restart but at clock frequency of cwlite 168mhz with scope.glitch.repeat = 3 (glitch pulse is 0.018us) according to the formula ((1/frequency)*repeat)
so why atmega keep restrating at value more than 3. i will remove all decoupling capacitor
iam using juypter notebook 5.7.0 and my python script :-
import chipwhisperer as cw
cw.set_all_log_levels(cw.logging.CRITICAL)
SCOPETYPE = âOPENADCâ
PLATFORM = âCWLITEXMEGAâ
scope = cw.scope()
We adjust the clock to fit with the ATMega 328p frequency.
scope.clock.clkgen_freq = 168E6
Set clock to internal chipwhisperer clock
scope.glitch.clk_src = âclkgenâ
#âenable_onlyâ - insert a glitch for an entire clock cycle based on the clock of the CW (here at 8MHz so 0,125 micro seconds)
scope.glitch.output = âenable_onlyâ
Enable Low power and High power transistors.
scope.io.glitch_lp = True
scope.io.glitch_hp = True
LP provides a faster response, so sharper glitches. HP can provide better results for targets that have strong power supplies or decoupling capacitors that ca not be removed.
scope.io.vglitch_reset() #it simply sets scope.io.glitch_hp/lp to False, waits delay seconds, then returns to their original settings. In short, reset the glitching module.
How many times the glitch is repeated
scope.glitch.repeat = 3
Send the glitch
scope.glitch.manual_trigger()
scope.dis()
i think voltage glitch pulse is not accurate and i try to capture cwlite voltage glitch pulse using hantek dso5102p at 168mhz with repeat 10 so according to formula ((1/frequency) * repeat)
pulse is 0.06us but dso show pulse width of glitch is 195.0ns (0.195us) i will upload image of pulse at repeat 10