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.

Question regarding VPFE, CCDC and IPIPE

Hello,

I am interfacing a 14 bit CMOS sensor with a DM355 and would like to perform the following operation :

RAW DATA FROM SENSOR => RAW DATA IN SDRAM without any modification of those data.

I understand that IPIPE can be used to do this by setting the IPIPE_DPATHS.FMT to 2 (Raw to Boxcar mode).

However, where is the RAW data coming from to IPIPE ? Is it coming from the CCDC after the MEDIAN FILTER as describe in Fig 13 of SPRUF71A or is it possible for IPIPE to get the data directly from the Raw DATA pins of the DM355 ?

I am a bit lost and can't really find anything straightforward in dm355_ipipe.c and dm355_ccdc.c

Any help / recommendation on this would be highly appreciated...

Thank you very much

Kind regards,
Richard

  • giro360 said:

    Hello,

    I am interfacing a 14 bit CMOS sensor with a DM355 and would like to perform the following operation :

    RAW DATA FROM SENSOR => RAW DATA IN SDRAM without any modification of those data.

    I understand that IPIPE can be used to do this by setting the IPIPE_DPATHS.FMT to 2 (Raw to Boxcar mode).

    [A]: since you don't need any processing of raw data, you don't need to use IPIPE.

    However, where is the RAW data coming from to IPIPE ? Is it coming from the CCDC after the MEDIAN FILTER as describe in Fig 13 of SPRUF71A?

    [A]: You are correct. Raw data comes to IPIPE after MEDIAN FILTER as mentioned in fig 13 of  SPRUF71A. [ Also, output from one more median filter connects to data-output-control(SDRAM). Pl refer to fig.9 for more clear picture]

    or is it possible for IPIPE to get the data directly from the Raw DATA pins of the DM355 ?

    [A]: This is not possible. Path is like this when sensor is involved: [sensor]--->[CCDC]--->[IPIPE/SDRAM]

    I am a bit lost and can't really find anything straightforward in dm355_ipipe.c and dm355_ccdc.c

    [A]: Pl refer to vpfe_capture.c [function:vpfe_start_capture()] and dm355_ccdc.c[function:ccdc_enable_output_to_sdram()] for code related to getting frames captured in SDRAM.

    Any help / recommendation on this would be highly appreciated...

    Thank you very much

    Kind regards,
    Richard

    Hope this helps,

    -Nag

  • Dear NAg,

     

    Thank you for the clear explaination.

    We followed your advices and used ccdc_enable_output_to_sdram() & vpfe_start_capture() which works well.

    However, the data that we retrieve from SDRAM are partial as we only receive 2 bits out of the 14 bits for each pixel.

    Here are the register values for the CCDC we used, those values have been read in the CCDC after writting them to make sure there was no writting error :

    MODESET : 0
    DCSUB : 0
    SDOFST : 0
    DATAOFST : 0
    CLAMP : 0
    CSCCTL : 0
    DFCCTL : 0
    LSCCFG1 : 0
    LSCCFG2 : 0
    MEDFILT : 0
    GAMAWD : 0
    BLKCMP0 : 0
    BLKCMP1 : 0
    COLPTN : 4E4E
    OUTCLIP : 3FFF
    CULH : FFFF
    CULV : FF
    SPH : 0
    NPH : 0
    VDINT0 : 0

    VDINT1 : FA
    SLV0 : 0
    SLV1 : 0

    Is there anything wrong that we are doing ?

    Is there a way of debugging what comes into the CCDC and see what is going out of it between the different steps ?

    Thanks again for your help

    Kind regards,
    Richard

  • A quick update regarding the above mentioned issues.

    The sensor that we are using is sending out 14 bits data, however I confirmed today that we could not retrieve the 14 bits for each pixel.

    Bellow is a report of the tests we did today :

    • Pixel value sent by sensor :

    __00 1111 1111 1111

    • SDRAM readout of the same pixel RAW DATA after CCDC :

    0000 1111 0000 0000

    • If we invert the polarity of the data (MODESET.DATAPOL = 1), then the SDRAM RAW DATA readout is

    0011 0000 0000 0000

    • If we add in CCDC an OFFSET of 0x0101 combined with the above polarity, we can then readout in SDRAM tha following RAW DATA :

    0011 0001 0000 0001

    The above makes us think that the last 8 bits of the sensor data are not entering CCDC.

    However CCDC considers having 14 bits input as the OFFSET is correctly applied.

    Any suggestion on why this problem occurs would be much appreciated !

    Thanks a lot in advance

    Kind regards,

    Richard

  • Have you checked RAW signal interface connections? Please refer section 2.1.1 in VPFE user guide.

    -Nag