Debugging
General principles
Duaa
Where to start How to narrow down the source of the problem
Power check
- Nothing : open circuit, short circuit, line break, blown fuse, ...
- Voltage too low : power supply impedence, badly selected, ...
- Voltage too high : above max. ratings, dead zener/reg., ...
- GND/VCC loop
Constant => Multimeter. Dynamic/"Random" effect => Oscilloscope.
Multimeter
- Continuity check (+diodes orientation) : symbol
- Voltage check : parallel measurement
- Resistance / current / ...
Be carefull with the cable connexions! (serial VS parallel measurements)
Oscilloscope
[Nicolas & Duaa?]
- "Real" levels
- Dynamic view
- 10MHz - >1GHz ranges
- Few channels (~1-4)
- Trigger/Time/Level
- Expensive (comparatively to logical analyzers)
The poor man's solution : computer's microphone input. (~22KHz)
Logical analyzers
[Henk & Nicolas?]
- Only "logical levels" (0 : <0.6V - 1 : > 1.2V => not CMOS logic!)
- Multiple channels (8-16...)
- "Unexpensive"
- Allows you to read complex protocols (usually computer-based operation)
Serial (or any) "Hello world!"
- Output "Hello world!" messages while your program is executing.
- LED
- Serial
- Other
USB and computer detection
-lsusb
Nicolas & Fran?
TNT for radiofreq?
Break point and variables observations
Nicolas can do it with PIC + microchip IDE but more than probably better with atmel / arm families => anybody?
Reflow
How to debug almost anything kit
Henk