This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA3XEVM: Multiple Cameras ISS to Display - No SurroundView

Part Number: TDA3XEVM

Hi,

I have been able to run the 1CH ISS capture + ISS ISP + ISS LDC+VTNF + Display usecase from the Vision SDK for TDA3X.

Now, I want to do 4 CH test without surround view, just want to see a mosaic of 4 cameras direct on the display.

Is there any use case for ISS that can do this?

Any recommendation on how to modify the 1 CH case for 4 cameras?

Note: I ran the surround view and serdes link and all 4 cameras are initialized correctly.

  • Hi David,

    All of these surround view usecases also support calibration usecases. So you could also use calibration usecase to just process image and display on 2x2 mosaic format.

    Regards,

    Brijesh 

  • Hi Brijesh, thanks for clarifying this, this would be a good usecase then for me.

    I have tried the ISS surroundview calibration demo and seems all cameras initialize correctly as well as the display.

    When initialization has finished the display shows a mosaic with 4 sections but they all look black. Any idea on why it doesnt show any image?

    Frame sync between the 4 cams is not enabled, could that affect too? 

    Sensors seem to be good and when I run the 1 ch case I can stream correctly.

    Thanks,

    David

  • Hi David,

    If one of the sensor is not outputting data, then there will not be any mosaic display, as usecase tries synchronize all cameras and since one of the camera data is not available, it will not output any frame. 

    Can you please press 'p' on the UART console and see which camera is not outputting data?

    Regards,

    Brijesh

  • Hi Brijesh,

    Dont have access to my system right now but will try sending “p” over UART and will let you know the result.

    On the meantime, could you explain:

    1. how could I modify the use to skip the synchronization step?

    2. how to modify the usecase for 2 channels?

    Thanks,

    David

  • David,

    Changing this usecase for 2 cameras require two changes,

    1, change num_camera to 2 in the capture parameters and so in usecase.

    2, change mosaic configuration to display side-by-side two camera output. 

    synchronization cannot be bypassed, because this component requires all 4 cameras output to create mosaic view. Without it, this module cannot run/process.

    Regards,

    Brijesh 

  • Hi Brijesh,

    Thanks for the info. Could you point me to specific files that contain these parameters for modification?

    My sensor is running on my specific resolution settings: 1280x760p

    Would this require any other parameter change in the usecase? Does this requiere any change in the suroundview LUTs required by the use case? 

    Appreciate the quick responses, this thread is resulting very informative.

    Thanks,

    David

  • Hi David,

    In ISS usecases, the resolution of the camera comes from the sensor layer. So when you add new sensor to the sensor layer, you could update the resolution and when you select this sensor, entire usecase should run with the new resolution. 

    I think in the usecase, there should be a parameter like numChannels, numCsi2Ch or numLvdsChannels. Please change it to 2 and then update the mosaic parameter/configuration.

    Regards,

    Brijesh

  • Thanks Brijesh, I've been able to test my system now without any changes.

    When sending "p" over uart it seems the ISS m2m is dropping frames for 2 out of the 4 cameras, and therefore the synchronization is failing.

    I have reduces the frame rate on the image sensor and got the exact same result. Cameras 3 and 4 drop most of their frames.

    Any reason why this could be happening?

    UART output with the mentioned section:

    IPU1-0] 25.999328 s:
    [IPU1-0] 25.999420 s: ### CPU [IPU1-0], LinkID [ 87],
    [IPU1-0] 25.999511 s:
    [IPU1-0] 25.999542 s: [ ISSCAPTURE ] Link Statistics,
    [IPU1-0] 25.999603 s: ******************************
    [IPU1-0] 25.999664 s:
    [IPU1-0] 25.999694 s: Elapsed time = 4602 msec
    [IPU1-0] 25.999755 s:
    [IPU1-0] 25.999786 s: Get Full Buf Cb = 36.7 fps
    [IPU1-0] 25.999877 s: Put Empty Buf Cb = 36.7 fps
    [IPU1-0] 25.999938 s: Driver/Notify Cb = 35.85 fps
    [IPU1-0] 26.000000 s:
    [IPU1-0] 26.000061 s: Input Statistics,
    [IPU1-0] 26.000091 s:
    [IPU1-0] 26.000122 s: CH | In Recv | In Drop | In User Drop | In Process
    [IPU1-0] 26.000213 s: | FPS | FPS | FPS | FPS
    [IPU1-0] 26.000274 s: --------------------------------------------------
    [IPU1-0] 26.000366 s: 0 | 36. 7 0. 0 0. 0 36. 7
    [IPU1-0] 26.000488 s:
    [IPU1-0] 26.000549 s: Output Statistics,
    [IPU1-0] 26.000579 s:
    [IPU1-0] 26.000610 s: CH | Out | Out | Out Drop | Out User Drop
    [IPU1-0] 26.000701 s: | ID | FPS | FPS | FPS
    [IPU1-0] 26.000762 s: ---------------------------------------------
    [IPU1-0] 26.000823 s: 0 | 0 36. 7 0. 0 0. 0
    [IPU1-0] 26.000945 s:
    [IPU1-0] 26.000976 s: [ ISSCAPTURE ] LATENCY,
    [IPU1-0] 26.001037 s: ********************
    [IPU1-0] 26.001098 s:
    [IPU1-0] 26.001189 s:
    [IPU1-0] 26.001220 s: ### CPU [IPU1-0], LinkID [ 88],
    [IPU1-0] 26.001281 s:
    [IPU1-0] 26.001311 s: [ ISSM2MISP ] Link Statistics,
    [IPU1-0] 26.001525 s: ******************************
    [IPU1-0] 26.001586 s:
    [IPU1-0] 26.001616 s: Elapsed time = 4604 msec
    [IPU1-0] 26.001677 s:
    [IPU1-0] 26.001708 s: New data Recv = 36.5 fps
    [IPU1-0] 26.001799 s: Get Full Buf Cb = 103.17 fps
    [IPU1-0] 26.001860 s: Driver/Notify Cb = 36.5 fps
    [IPU1-0] 26.001921 s:
    [IPU1-0] 26.001982 s: Input Statistics,
    [IPU1-0] 26.002013 s:
    [IPU1-0] 26.002043 s: CH | In Recv | In Drop | In User Drop | In Process
    [IPU1-0] 26.002135 s: | FPS | FPS | FPS | FPS
    [IPU1-0] 26.002196 s: --------------------------------------------------
    [IPU1-0] 26.002287 s: 0 | 36. 5 0. 0 0. 0 36. 5
    [IPU1-0] 26.002440 s:
    [IPU1-0] 26.002470 s: Output Statistics,
    [IPU1-0] 26.002531 s:
    [IPU1-0] 26.002562 s: CH | Out | Out | Out Drop | Out User Drop
    [IPU1-0] 26.002623 s: | ID | FPS | FPS | FPS
    [IPU1-0] 26.002714 s: ---------------------------------------------
    [IPU1-0] 26.002775 s: 0 | 0 36. 5 0. 0 0. 0
    [IPU1-0] 26.002897 s: 0 | 1 36. 5 0. 0 0. 0
    [IPU1-0] 26.002989 s: 0 | 2 0.86 35.18 0. 0
    [IPU1-0] 26.003111 s: 0 | 3 0. 0 36. 5 0. 0
    [IPU1-0] 26.003233 s:
    [IPU1-0] 26.003263 s: [ ISSM2MISP ] LATENCY,
    [IPU1-0] 26.003324 s: ********************
    [IPU1-0] 26.003385 s: Local Link Latency : Avg = 6897 us, Min = 6832 us, Max = 8326 us,
    [IPU1-0] 26.003507 s: Source to Link Latency : Avg = 6973 us, Min = 6923 us, Max = 8418 us,
    [IPU1-0] 26.003629 s:
    [IPU1-0] 26.003721 s:
    [IPU1-0] 26.003751 s: ### CPU [IPU1-0], LinkID [ 34],
    [IPU1-0] 26.003812 s:
    [IPU1-0] 26.003843 s: [ SYNC_0 ] Link Statistics,
    [IPU1-0] 26.003904 s: ******************************
    [IPU1-0] 26.003965 s:
    [IPU1-0] 26.003995 s: Elapsed time = 4614 msec
    [IPU1-0] 26.004087 s:
    [IPU1-0] 26.004117 s: New data Recv = 31.20 fps
    [IPU1-0] 26.004178 s: Driver/Notify Cb = 30.12 fps
    [IPU1-0] 26.004239 s:
    [IPU1-0] 26.004300 s: Input Statistics,
    [IPU1-0] 26.004331 s:
    [IPU1-0] 26.004392 s: CH | In Recv | In Drop | In User Drop | In Process
    [IPU1-0] 26.004453 s: | FPS | FPS | FPS | FPS
    [IPU1-0] 26.004544 s: --------------------------------------------------
    [IPU1-0] 26.004605 s: 0 | 0.86 0. 0 0. 0 0. 0
    [IPU1-0] 26.004727 s:
    [IPU1-0] 26.004788 s: Output Statistics,
    [IPU1-0] 26.004819 s:
    [IPU1-0] 26.004849 s: CH | Out | Out | Out Drop | Out User Drop
    [IPU1-0] 26.004941 s: | ID | FPS | FPS | FPS
    [IPU1-0] 26.005002 s: ---------------------------------------------
    [IPU1-0] 26.005063 s:
    [IPU1-0] 26.005093 s: [ SYNC_0 ] LATENCY,
    [IPU1-0] 26.005154 s: ********************

    Thanks,

    David

  • Hi David,

    ISP supports multiple outputs. So the stats above is not for 3 and 4 camera, but they are for 3rd and 4th output from ISP. Since they are not being used in the usecase, they are just dropped. You cold ignore them.

    The camera is capturing almost at 36fsp, please check if this is correct.

    Also it seems it is capturing only single camera. I see only stats for the channel0/camera0. Can you please check why other camera are properly connected and configured correctly? 

    Since most of the channels/cameras are not outputting data, sync is dropping most of the frames and that's why there is not output on the display. 

    Regards,

    Brijesh

  • Hi Brijesh,

    I was misunderstanding the terminal outputs. So it seems I'm only streaming from one channel.

    To test this I did the following:
    1. Forced the number of channels to be 4 so the initialization runs on my 4 sensors.

    2. Changed the virtual channel ID from 0 to 1

    3. Ran the single channel test.

    I would expect to be able to stream, but I wasnt and the reason is still unclear.

    Any thought on what could be wrong? Is there any place where I need to define the virtual channel IDs for the 4 ports?

    Thanks,

    David

  • Hi David,

    Yes, that should be sufficient. We would just need to change virtual channel id in the driver/link create parameter.

    But is the sensor outputting data on virtual channel-1? Do you have SERDES in between? Can you check if SERDES is receiving data correctly? 

    Regards,

    Brijesh

  • Brijesh, Thanks for your support.

    I just found my mistake, in the CSI post init section, where I enable the streaming mode, I was only sending the command to one sensor and not the 4.

    After fixing this the surround calibration demo is showing 4 images.

    Just one more question, when I run the test with 4 cameras I see some channels have lower frame rate. When modify the demo for 2 channels the frame rate is consistent as expected.

    Any idea on why the frame rate could be lower?

    Best,

    David

  • Hi David,

    We need to check performance stats to figure out which link is taking more time and slowing down entire chain. 

    Regards,

    Brijesh

  • Starting new thread to discuss the performance check on a particular case. Thanks!

  • Hi David,

    Since new thread is started, i am closing this thread.

    Regards,

    Brijesh