Author Topic: Raspberry PI Camera IMX219 MIPI CSI 4 Lane interface to Lattice FPGA USB 3.0  (Read 959 times)

0 Members and 1 Guest are viewing this topic.

Offline RoadRunner

  • Frequent Contributor
  • **
  • Posts: 269
  • Country: de
Since quite some time i have been involved with different type of camera sensors and interfacing to to various processors. In my recent project i took Raspberry PI Camera Sony IMX219 MIPI CSI and interfaced to FPGA and streamed over USB3.0 Link.

There are many MIPI CSI to parallel bridge designs available from many FPGA manufacturer but none of them are open source they either have some blackbox modules or uses some very application specific processor. So i made this design with cheap Lattice MachXO3LF FPGA.

I made my own camera board around the sensor from raspberry pi. As turned out IMX219 is 4 lane camera but raspberry pi's board only uses 2 lane mipi and I wanted 4 so that i can run mipi clock slower but still get full performance out of the camera.

This project is still work in progress, Image Quality, Maximum frame rate and Max resolution need improvement.
Project has seen few improvents since start, Can capture From VGA to Full 8Mpixel Video Stream, Frame rate ranging from 15 to 1000 FPS.
Now auto exposure and auto white blance correction is the next target to further improve Image Quality.

more details about the project can be found on my blog

https://www.circuitvalley.com/2020/02/imx219-camera-mipi-csi-receiver-fpga-lattice-raspberry-pi-camera.html

https://www.circuitvalley.com/2020/02/diy-imx219-4-lane-mipi-breakout-board-raspberry-pi-camera-fpga-4-lane-mipi-csi.html


I have published few youtube videos, but i am still new bie to videos.  Test are shown sensor FPS from 15 To 1000FPS from this tiny camera







« Last Edit: February 28, 2020, 04:54:03 pm by RoadRunner »
 
The following users thanked this post: Berni

Offline laugensalm

  • Contributor
  • Posts: 35
  • Country: ch
That's some solid work, nice job! Good to see more MIPI implementations out in the open source..
 
The following users thanked this post: RoadRunner

Offline Scrts

  • Frequent Contributor
  • **
  • Posts: 625
  • Country: lt
Good job! If it was me, I would probable have gone with Cypress CX3...
 

Offline RoadRunner

  • Frequent Contributor
  • **
  • Posts: 269
  • Country: de
Good job! If it was me, I would probable have gone with Cypress CX3...

Yes I thought of doing that as well. But there are few issues.
I wanted to have this camera as UVC so that I need not to implement any custom solution on PC side.  As this camera only output raw and UVC does not support RAW. So if I would have gone with CX3. I need to implement a application on the PC side to convert from RAW to usable format. Then i would have also need to implement my solution for controlling  camera exposure and gain.

Second problem was availability of development board, FX3 board costs just a fraction of what a CX3 board goes for. Making custom board was a somewhat hassle with BGA and stuff.

But one very significant advantage CX3 would have offered, MAX theoretical bandwidth is higher compare to FX3. As with FX3 it is limited by 100Mhz 32bit GPIF,  while CX3 does have this bottle neck so can go higher up to what USB 3.0 Allows.

Regards
« Last Edit: March 04, 2020, 10:09:16 am by RoadRunner »
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 2081
  • Country: ro
Nice!   :-+

Couldn't spot any, does your blog have an RSS/ATOM feed, please?  I would like to subscribe to it.
« Last Edit: March 04, 2020, 08:41:23 am by RoGeorge »
 

Offline RoadRunner

  • Frequent Contributor
  • **
  • Posts: 269
  • Country: de
Nice!   :-+

Couldn't spot any, does your blog have an RSS/ATOM feed, please?  I would like to subscribe to it.

Thanks
I have just added subscription button to Top Right hand side.

Hers is the link
http://feeds.feedburner.com/circuitvalley/bkTd
 
The following users thanked this post: RoGeorge

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 2081
  • Country: ro
Added, thank you.   :)

Just FYI, my uBlock Origin blocks the two buttons like they were Facebook buttons or something, but I can still read the "Subscribe To Embedded Engineering Blog" label, which is a good hint there might be some blocked content there.  I didn't noticed uBlock to be doing that with feed buttons from other blogs.

Offline RoadRunner

  • Frequent Contributor
  • **
  • Posts: 269
  • Country: de
Added, thank you.   :)

Just FYI, my uBlock Origin blocks the two buttons like they were Facebook buttons or something, but I can still read the "Subscribe To Embedded Engineering Blog" label, which is a good hint there might be some blocked content there.  I didn't noticed uBlock to be doing that with feed buttons from other blogs.

Thanks for heads up , will check whats wrong.
 

Offline Vcky_electro

  • Contributor
  • Posts: 21
  • Country: in
Great job.   :clap: :clap: :clap: :clap: 1000fps is really awesome..
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf