Author Topic: OpenIRV. ISC0901B0 (Autoliv NV3, FLIR E4/5/6/8) based opensource thermal camera  (Read 132592 times)

0 Members and 2 Guests are viewing this topic.

Offline horstmannhid

  • Contributor
  • Posts: 23
  • Country: de
Some news. PCB's are all assembled and the FPGA is programmable. I also got the Microblaze running and the LED is blinking.

Problem now is how to initialize the VDMA which is programmed completly by Vaagn. Any help would be great :-)
A simple "Hello World" on the LCD would be great in a first step.
 

Offline horstmannhid

  • Contributor
  • Posts: 23
  • Country: de
Finally some good news. Got some really nice help from Carlos to get the VDMA initialized and getting some data out of it.

- RAM test was successfull
- VDMA is running
- LCD driver needed some fixes but is working fine now and the lcd is showing some stuff from the RAM

I‘ll continue and keep you up to date if there is anything new. But I can now continue.
 
The following users thanked this post: ArsenioDev

Offline horstmannhid

  • Contributor
  • Posts: 23
  • Country: de
And a hello world  :)
 

Offline dmendesf

  • Frequent Contributor
  • **
  • Posts: 324
  • Country: br
Think you for your effort.
 

Offline horstmannhid

  • Contributor
  • Posts: 23
  • Country: de
Hopefully it's worth the effort. Sensor voltages are all working fine.

A little warning if you ever try to build this camera. Don't use the verilog files as they are in github and connect the camera. The constraints file (defining the in-/outputs) doesn't match the current status of the circuit diagram.
So this will lead to a short circuit because there are some spare pins of the FPGA used which are connected to GND by the sensor.

I will connect the camera soon. Hopefully it works without sending a special command at the beginning which I don't know yet.

Moreover the activity LED circuit on the P-board is bad designed. Once the LED is turned on one resistor shortens the 3,3V supply and this resistor is overloaded. One solution would be to just increase the resistors to 270R.
Sadly we don't have got the original Altium files.

Edit: Just replaced R29 and R35 to 270R and it is working fine.
« Last Edit: June 12, 2024, 01:31:02 pm by horstmannhid »
 

Offline horstmannhid

  • Contributor
  • Posts: 23
  • Country: de
Connected the camera to the board but I don't get an image. Would be too simple.
Current consumption looks good and it doesn't smell like burnt electronic.

Does anyone of you know if I need a special cmd to get pixel data from the sensor? Any idea how to get this? Maybe powering up the original board and measuring the signals without the sensor?
Hope somebody has got experience.

I just added here my progress of the actual code. Hope it helps somebody. I used Vitis 2024.1 for coding.
« Last Edit: June 12, 2024, 05:03:30 pm by horstmannhid »
 

Offline LesioQ

  • Regular Contributor
  • *
  • Posts: 69
  • Country: pl
  • Every king should be naked.
Hi,
Been working in the past with ISC0601 so the more encapsulated sensor and as I remember it needed a logic slope on one of the pins to send out a frame.
You would find this info on this forum.
I bet VGC implemented such signal into FPGA this way determining desired frame rate.
 

Offline ArsenioDev

  • Frequent Contributor
  • **
  • Posts: 252
  • Country: us
    • DiscountMissiles: my portfolio and landing page
Most if not all FPAs need a shot trigger, they won't just free run. This is how they get windowing down to increase frame rate to work better.
One of the pins does need to be toggled to make it sample a frame
 

Offline horstmannhid

  • Contributor
  • Posts: 23
  • Country: de
Camera is outputting data on data even line. Measured with my oscilloscope. So I get something. I have to figure out what's wrong now.
 

Offline horstmannhid

  • Contributor
  • Posts: 23
  • Country: de
Thanks for your answers. My sensor is continously running at 60Hz and the HDL requests a new frame via cmd line. So that is working pretty well.

I also receive SOF (Start Of Frame) and EOL (End Of Line) signals from HDL design. I created some ILA's to analyze everything. Also the raw axi stream is working.
But I still have to fix some errors. So no image to show until now. Until now I'm really happy about my progress so far.

Attached are some oscilloscope pictures of the working sensor and the data_even line. Note that ground isn't perfect.
« Last Edit: June 17, 2024, 05:54:12 pm by horstmannhid »
 

Offline horstmannhid

  • Contributor
  • Posts: 23
  • Country: de
Found some failures in the HDL design. Raw image stream is now working and shown on the LCD.
Now I have to check the NUC and histogram equalization.
 

Offline LesioQ

  • Regular Contributor
  • *
  • Posts: 69
  • Country: pl
  • Every king should be naked.
I think there's more missing in this image than just post-processing. Perhaps some binary mix is involved, like wrong bit or byte order or other 14-bit-stream conversion errors.
And what are those geometrical spots / overlays on the image ? Try using some more contrasted object like a cup of hot tea or something.
 

Offline horstmannhid

  • Contributor
  • Posts: 23
  • Country: de
Yes of course. It's the 14bit pixel data streamed through the LUT (look up table/heatmap) which only expects 8-bit per pixel. But the stream is written to RAM and read from RAM. So that is already all working.

Those geometrical spots are OSD (Blue cube, green line, blue circle) data which are shown as overlay. Just some playing with the graphics library.
« Last Edit: June 19, 2024, 06:23:59 pm by horstmannhid »
 

Offline tisher

  • Contributor
  • Posts: 11
  • Country: pl
You can create a patronite account for help you with your work :)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf