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

Vertical Pole Climbing Robot
Vertical Pole Climbing Robot
ESP8266 Weather Station Projects
ESP8266 Weather Station Projects
Single tube Lethal Nixie clock
Single tube Lethal Nixie clock
How to make a simple 1 watt audio amplifier (LM386 based)
How to make a simple 1 watt audio amplifier (LM386 based)
Flashing Binaries to DRA7xx Factory Boards Using Device Firmware Upgrade
Flashing Binaries to DRA7xx Factory Boards Using Device Firmware Upgrade
Dot² isn’t your typical coffee table
Dot² isn’t your typical coffee table
Debugging ARM Cortex-M0+ HardFaults
Debugging ARM Cortex-M0+ HardFaults
EMP Jammer build
EMP Jammer build
A 3D-printed e-drum pad
A 3D-printed e-drum pad
Interactive geodesic LED dome = extreme geometric fun!
Interactive geodesic LED dome = extreme geometric fun!

Top




Shares