VGA Signal Output

A number of examples demonstrate VGA signal generation from a PIC32 microcontroller. These examples employ a particular wiring scheme in order to deliver signals to a suitable display or monitor.

Within the microcontroller, there are two principal mechanisms demonstrated in this project for generating a VGA signal:

Within the latter, there are a number of variations in the mechanism employed:

Using the CPU for Transfers

cpuDisplay linetimer0hsyncPixel outputinterrupt handlerlimitOutput compareDisplay lineinterrupt handlerHorizontal syncVertical syncPixel outputBlack/reset output

Using DMA for Transfers

dmaDisplay linetimer0hsyncPixel outputDMA channellimitOutput compareDisplay lineinterrupt handlerHorizontal syncPixel resetDMA channelPixel outputBlack/reset outputVertical sync

Using DMA and Timed Transfers

dmaDisplay linetimer0hsyncInitiatorDMA channellimitOutput compareDisplay lineinterrupt handlerHorizontal syncTransfer timer0limitPixel outputDMA channelPixel resetDMA channelPixel outputBlack/reset outputVertical sync

Using DMA and Timed Dual-Channel Transfers

dmaDisplay linetimer0hsyncInitiatorDMA channellimitOutput compareDisplay lineinterrupt handlerHorizontal syncTransfer timer0limitPixel outputDMA channel #1Pixel outputDMA channel #2Pixel resetDMA channelPixel outputBlack/reset outputVertical sync