Hi everyone,
I’ve recently purchased a CW-Lite 2-part version from Mouser and have been experimenting with it for a little under a week, doing some of the glitching tutorials. I’ve hooked up some kind of Chinese Arduino Nano clone (ATMEGA328P) to play around with glitching that platform.
I seem to have run into an issue or two, not completely sure if it’s software, hardware or human. I’ve found that VCC glitching has been difficult and quite unreliable, and have done some troubleshooting tonight to try and see what was happening to VCC on the target when the glitches were triggered.
I’ve got two concerns. Firstly, the glitches never seem to pull VCC below about 1.8V or so. I was expecting that they would pull it down closer to 0V. I’ve got a 47R resistor in series with the 3.3V supply from the CW-Lite. I’ve probed the voltages during glitching at the CW side (centre pin of the GLITCH connector), also checked it at one of the AVR IC VCC pins, to rule out a bad connection. The resistance between the +3.3V pin on the 20-pin header on the CW-Lite to the centre pin of the GLITCH SMA connector is about 47R1, so the hardware setup seems fine to me.
The second issue which I feel is probably more important, is that when I manually trigger a glitch, I can see for example 100 repeats of the glitch, but if I set the software to Ext Trigger:Single Shot and then run a Capture 1, it only seems to fire the glitch once, as if the “Repeat” setting is being ignored.
I’ve uploaded some 'scope screenshots:
NewFile1:
Glitch Trigger = MANUAL
Pressed “Manual Trigger / Single-Shot Arm” button. Recorded resulting glitch:
NewFile2:
Glitch Trigger = Ext Trigger:Single-Shot
Ran “Capture 1” and recorded the resulting glitch:
Settings:
scope
cwlite Device
gain =
mode = low
gain = 40
db = 19.28125
adc =
state = False
basic_mode = rising_edge
timeout = 2
offset = 0
presamples = 0
samples = 1000
decimate = 1
trig_count = 8
clock =
adc_src = clkgen_x4
adc_phase = 0
adc_freq = 29538459
adc_rate = 29538459
adc_locked = True
freq_ctr = 7384609
freq_ctr_src = extclk
clkgen_src = system
extclk_freq = 10000000
clkgen_mul = 2
clkgen_div = 26
clkgen_freq = 7384615
clkgen_locked = True
trigger =
triggers = tio4
module = basic
io =
tio1 = serial_tx
tio2 = serial_rx
tio3 = high_z
tio4 = high_z
pdid = high_z
pdic = high
nrst = high_z
glitch_hp = True
glitch_lp = False
extclk_src = hs1
hs2 = clkgen
target_pwr = True
glitch =
clk_src = clkgen
width = 48.828125
width_fine = 0
offset = 0.0
offset_fine = -49
trigger_src = ext_single
arm_timing = after_scope
ext_offset = 0
repeat = 100
output = glitch_only
The target hardware is a modified eBay Arduino Nano clone PCB, as mentioned. All capacitors have been removed as well as other components, other than a 100nF capacitor from RESET to GND. I’ve connected a 47R resistor in series with +3.3V from the CW-Lite, the GLITCH line is connected to the AVR VCC. I’ve used the NOTDuino schematic as a reference when hooking it up.
I’d like to know why the glitch behaviour is changing between manual glitching and using an external trigger. I’m using the CW VMware image and have done a git pull to update the software.
Any help/advice would be appreciated.
Regards,
Rob.