Gameboy Advance Digital Storage Oscilloscope
Cartridge for Gameboy Advance that converts the games console into a powerful oscilloscope.
Input Voltage +/- 4V AC/DC
Max Sample rate 100 Million sample a second
Power Supply 3.3V from Gameboy Advance
Software stored on Flash Memory so that software can be updated through JTAG interface via FPGA loader.
Firmware Update through JTAG.
FPGA Flash Memory Board
Using a FPGA a sample rate of 100Msps is possible with the data being stored in the FPGA memory. The Gameboy Advance accesses the data at a slower rate to process it and display it to the user.
Using a FPGA a more advance trigger system can be implemented using less external components than with analogue triggers. The Output from the ADC is used to trigger a edge trigger with pre triggering samples being possible.
Below is a picture of the motherboard. A separate board is used with ADC and analog components on it.
The circuit uses a 32MBits flash memory to store the software on and a FPGA is used to decode memory address, generate ADC clock signals, store ADC sample data and sample trigger. An onboard 50Mhz oscillator is used to generate the various ADC sample speeds (100Mhz - 1Mhz) the FPGA uses a Phase Lock Loop.
The Analogue signal enters the board via a standard BNC connector with a 1MEG ohm input impedance. A 100n capacitor is switched in and out of circuit via a opto isolator. The signal is then attenuated and bias to mid supply voltage. The signal then passes to a Variable Gain Amplifier then to the input of a ADC.
Above is a screenshot taken from a GBADSO sampling a waveform digital pulse .
Gameboy Advance Address Decoder
Below is a trace of the Gameboy Advance address decoder implemented on the FPGA using a verilog script. The address bus is loaded on the negative edge of the CS_ROM signal and increment by the RD signal or WR signal.