Hello everybody, I am inside of a project where I am in charge of the VHDL design using an ALTERA FPGA Cyclone IV. This FPGA has to control a RGB sensor and this RGB sensor provide the information of the pixel output through a LVDS interface. In my FPGA design I implemented a module in order to control the RGB sensor and receive the pixel output. The value of 4 pixels are reveived in parallel with a frequency of 150MHZ. Si I had to designe a module for interfacing the FPGA with the sensor. This module was implemented in a succesfully way because I am able to see the values of the pixels on real time thanks to the Signal TAP (it is like chipscope in xilinx). But in this point I need to do some kind of data processing on real time before send this data to the PC via Ethernet. The data processing that I need to do consisits in adding up the RGB infomation. I mean, every 150MHZ I receive 4 pixels in parallel. Thanks to the known Bayer Pattern, it is possible to predict which pixels have information of Red, Green or Blue. Then I need to make small packages of 32 pixels and adding up the values of the pixels with the same color and send the total value to the PC. And it is in this point where I don¨t know exactly how to do programm in VHDL. I have nerver handle d on real time data with a FPGA and I have never made a data processing on real time, too. For this reason I would like to ask in this forum if someone could give me some tips or some good documentation to read to reach my target. Thank you very much in advance.
: Moved by Moderator
You could take advantage of a consultant of FPGA-based image processing. I heard, there are some in this forum. :-) Seriously: You allready explained the task, to to: >adding up small packages of pixels Requires an addeder or a field of adders in case of 2D-processing and some timing around that. Basically this will lead to a set/reset-accumulator. There is nothing special about this. For common image processing, there would be things to to like: deBayering, flat field correction, gain offset re-linearisation, pixel binning, lense distorsion correction and all of that in the right sequence.
Thanks for your advise, But I am a little bit afraid about the timming. If I have to make the "adding on real time, and I have to store the samples in a FIFO, in the mean time what i am reading the FIFO and process the data read, I am missing incoming data. Maybe I will need to implement a ring memory, right? Other question is, how can I measure the LVDS channels with a normal Oscilloscope? Is it possible with the normal probes? Or I need special ones? thanks.