Content originally posted in LPCWare by Pacman on Sat Jun 28 01:33:29 MST 2014
I think that project would be a bit optimistic.
I'm not writing the below reply in order to discourage you, I am writing it, because those are points that you must investigate and be certain that you have a solution for, before you proceed. I'm also writing this, because you should be aware and prepared for a lot of the complications involved in completing a project like this.
First of all, you'd need a pretty fast LPC; so that means the LPC43xx; most likely the LPC4370.
Next: You'd probably want to overclock it to 240 MHz, in order to get the fastest possible processing rate.
Then (if VGA input means you are going to use an analogue input signal, for instance from a computer), you'd need to find a way to convert the Red, Green and Blue signals from analogue signals to digital signals. This could be accomplished using a fast external ADC IC (say three 8-bit ADCs; those are probably expensive) and feed the output into a single 32-bit GPIO port
Nearly done: You would have to either connect the DMA to the SCT, in order to do the fastest possible data capture "automatically".
Finally, you'd have to write all your 'processing code' in highly optimized assembly language, where you carefully plan the use of each clock cycle. You can expect to use at least 3 clock cycles per pixel, most likely 4; that'll give you a max. processing speed of 80Mpixels if overclocking.
If "doing something" with the data means to convert them to an analogue video signal, such as a composite video signal, you may even have better luck using an old-style analogue circuit (!)
If you need to store the received pixels (in order to convert the 60Hz framerate to a lower frequency, for instance 30Hz), you would most likely need external SDRAM in addition to the above, because it's a lot of data (assuming you mean 640 x 480 @ 60 Hz, when you say "VGA").
In order to get more processing power, you may consider using 3 microcontrollers instead of just one, routing each color component through its own microcontroller. This will save time on converting the signals; however, be aware that for some types of output signals, you will need to use a single microcontroller doing all the work, as a conversion from RGB to YUV, for instance, would require the microcontroller to know all 3 color components).
... OR ... You could use either an FPGA or a Cortex-A chip instead; I cannot help you there, because I have absolutely no experience in the FPGA or Cortex-A field.
Perhaps there are solutions I have not thought about.
You can expect a lot of work, a lot of changing approaches and spending a lot of time, if you start working on this project.
If you are willing to share the inner workings of your idea, please post your thoughts on how you imagine this would be implemented. -Such project qualifies for NXP's attention, if you make a successful implementation!
If you just know this is possible, please let me know, and I'll be interested in helping where I can.