Posts Tagged ‘fpga’

A Day In Lab

The door actually looks rather calm.

The door actually looks rather calm.

I spent the day in lab and wrote this up while waiting for code to compile. Eventually I stopped writing as I was slowly giving up as it continued to not work.

I have a camera that outputs in a YCrCb 4:2:2 image format with 24 bit color.

I have a FPGA (programmable hardware) board that outputs in a 9 bit RGB format.

I have a VGA display that takes all sorts of inputs but mainly 24 bit RGB color.

That is a difference of 1,677,690 colors between the image formats.

Converting from YCrCb to RGB requires a bit of multiplication, the problem being that I cannot use floating point numbers so I end with a giant 20 bit number that needs to be reduced to 8 then 3 bit number.

Then there is this whole I2C camera control connection that I am just ignoring at this point. I really hope it is not critical to the operaiton of the camera.

We use Quartus II to program the FPGA board and do all of the work. But sometimes it gets quirky or does not work. Namely I was looking at a previous years lab, a pong game, and a few compiles of my own code later I wound up with pong on my screen instead of the usual static.

Read Full Post »


I don't know what this is supposed to be.

I don't know what this is supposed to be.

The end of the quarter has arrived. And with it the inevitable season of the final.

Oddly I prefer in class finals to any of the other alternatives (except no final). Take home finals results in hours slaving over every bit to get it perfect, projects are similar but with the potential of having a critical flaw in the concept and the most feared is the group project.

Reflecting on the available options I think I have a good mix this quarter. I have two in class finals, two classes without finals and one class with a project. The project is for digital electronics and to get an A we need to get it to work. Once the electronics work adding the A material is quite easy. Unfortunately for me my project has no intermediary working steps. Essentially I am building a driver to connect a camera phone camera to a VGA display using an FPGA board. It will either work or fail. There is one middle step in which it outputs in image in false color.

The work I am putting into this makes me greatly appreciate the ability to plug a semi random device into a computer and expect it to work without problems. The biggest issue I am having is the translation of color space. The camera outputs millions of colors to the FPGA board but the board can only output a maximum of 512 colors. I have to find a way to translate one color space to another followed by a transfer to display through VGA. All in all I might just go with a false color scheme.

After this project is done I just have two finals; compared to the project they will be easy.

Strangely I find finals week to be one of the more relaxing weeks of the quarter.

Read Full Post »