Organize and Share your Electronics the way you want. Sign-Up for a free account now. It takes only 30 seconds!

TV-Based Oscilloscope

TV-Based Oscilloscope

An ordinary TV has been turned into a digital storage oscilloscope with a sampling rate of 160 ksps. This article explains how to use an LPC2138 microcontroller to build a high-resolution system of your own.
VIDEO WITH THE LPC2138

In order to obtain high-resolution video, I had to generate a TV signal via the hardware as much as possible. The LPC2138 microcontroller has a PWM block and SPI communication module. The former can be used for generating sync pulses. The latter can be used to generate the video stream! Want to know a secret? I already tried this with Cypress Semiconductor PSoC chips. Unfortunately, the capabilities of the PSoC SPI module did not allow me to obtain a horizontal resolution of more than 256 pixels.

The useful feature of the LPC2138’s (also called the synchronous serial port (SSP)) SPI1 block is the fact that it can operate in a continuous SSI mode. It has an eight-frame FIFO buffer and can send 16-bit frames. This means that it can process a 128-bit block without participation from the software. Of course, to send more bits, the software must reload the FIFO buffer with additional data.

VIDEO ALGORITHM

The algorithm for generating a single TV line is simple. Every 64 µs for PAL (or 63.536 µs for NTSC), the PWM block produces a horizontal sync pulse and simultaneously generates an interrupt that initiates the sequence of SSP cycles for a single TV line.

Because the SSP module has only 128 bits of its own memory (eight 16-bit FIFO frames), it can’t contain all the data for a 512-pixel line. To create a continuous bitstream, a new chunk of data should be loaded into the SSP as soon as there’s room for it. For this purpose, I use the “half empty” interrupt. This means that every time the FIFO becomes half empty, it requires the new portion of data. I assigned both the PWM and SSP interrupt requests to the FIQ category because the FIQ has a high priority and the fastest possible latency (see Figure 3). The disadvantage is that the FIQ handler should first identify which source is requesting the interrupt. Although it isn’t a recommended method, this is a unique way to create a glitch-free video when the other tasks use the vectored interrupt controller. (In this case, they must use only the IRQ category of interrupts.

Visit Here for more.







 

More Articles to Read

An Arduino laser pinball machine
An Arduino laser pinball machine
CTCSS fingerprinting: A method for transmitter identification
CTCSS fingerprinting: A method for transmitter identification
TI DLP® Pico™ Technology for Aftermarket Head-up Displays
TI DLP® Pico™ Technology for Aftermarket Head-up Displays
Brute force computation for cheap log digital potentiometer
Brute force computation for cheap log digital potentiometer
Smart "Homer"
Smart "Homer"
A DIY Segway-style vehicle
A DIY Segway-style vehicle
Superbeta transistors inside: Die photos and analysis of the LM108 op amp
Superbeta transistors inside: Die photos and analysis of the LM108 op amp
Peeqo is a desktop bot that communicates through GIFs
Peeqo is a desktop bot that communicates through GIFs
Using a Programmable Input Multiplier to Minimize Integer Boundary Spurs
Using a Programmable Input Multiplier to Minimize Integer Boundary Spurs
Serial seven segment LED display shield
Serial seven segment LED display shield

Top


Shares