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.

Interfacing CMOS Image Sensor with DM6446 EVM

Other Parts Discussed in Thread: TVP5146

Hello,

my requirement is to interface a CMOS Image Sensor with DM6446 EVM using VPSS in raw capture mode.

The sensor gives out 10-bit digital data, line valid, frame valid but not as per any standard video formats (eg BT.656 etc), the data/sync signals are little different from standard protocols.

I could find an app note on interfacing a cmos image sensor with dm642 spraa52.pdf from your website which talks about using video-port mini driver of the EVM.

I would like to know that if we have to do this with dm6446 do we need to modify the video-port driver or it is just configuring the structures/registers of VPSS.

Is there any similar appnote available with dm6446 or any other related material like reference guides, software examples, technical reference manuals etc.

Please provide some pointers on this.

--

Best Regards

S Arun

 

  • There is the following reference design available from Leopard Imaging: https://www.leopardimaging.com/3M_HD_Camera_Board.html; you should also be able to download driver supporting this reference design for free from Leopard Imaging site.

    Additionally, we did add support for a similar camara sensor (requires add on hardware difficult to get, hence above reference design is better supported) into our DVSDK linux kernel which you can use as a starting point if you are using a different sensor.

  • Hello Juan,

    I did check the patch files on leopard imaging site but I don't seem to get much out of it.

    I check the drivers directory in 'montavista/pro/devkit/lsp/ti-davinci/drivers/media/video/davinci' and going through ccdc_davinci.c, mt9t001.c, davinci_vpfe.c which seems to be related to what I want.

    My understanding is that If I have to interface my sensor using dm6446 VPSS I need to replace mt9t001.c with my own code, define own ioctls and link it with other files right?

    To achieve this I not clear on how to start with writing a new driver, programming considerations to be considered etc.

    The 'LSP 1.20 DaVinci Linux CCDC Driver' explains the usage of a driver but is there any additional documentation on how to write a ccdc driver (v4l2 compliant) which can be used to interface with my sensor (raw video capture). Any pointers regarding this is highly appreciated.

    --

    Best Regards

    S Arun

  • Arun,

    V4L2 is a linux standard and there is plenty of documentation out on the web; therefore, we do not provide such documentation (there is a little bit under ../ti-davinci/documents ).  You are correct that you will likely need to replace mt9t9001.c file with your own code and this should be the bulk of the work required to support your new sensor.  However, please note that mt9t001 portion is a small part of overall V4L2 driver (which controls TVP5146, MT9T sensor, and VPFE hardware on DM6446, among other Linux common components).  If you care to learn more about V4L2, you can search online... if you care to learn more about general Linux driver development, the following free online book is a great source: http://lwn.net/Kernel/LDD3/

     

  • Hi,

               Recently we have got a Leopard Imaging board and interfaced it with DM6446 EVM. DVSDK 1.30 had support for MT9T001 sensor . We used the DVSDK to capture RAW frames from the sensor.  When i look at the captured frames it looks yellowish ( frame is correct but with Yellowish edges). Can you suggest what can be the issue. We have tried with VGA resolution and 720P resolution both has the same effect. There are a lot of noise also in the captured frame ( if the lens to covered completely  the image looks reddish) .

     

  • If it is just the edges that are yellowish?  If so, this may be a over-scanning problem with the display.  Most displays will hide a few lines around the edges to ensure that no blanking data is displayed which can appear as odd colors around edges; some displays may not do as good a job here, hence you would need to adjust your display frame size to try to cover a little bit more of the screen.  For example, a workaround could be to resize your image to 105% percent of its original size to ensure there is valid video data around the edges in case display is showing a bit more than the valid video area.  Of course this is just one potential cause; it could be that the data captured has this yellowish edges, in which case capturing data from sensor directly to DDR2 without any further processing will allow you to analyze the data and see if the capture is the source of the problem.

    With regards to noise in the capture frame, I am not quite sure what you mean by "if the lens to covered completely  the image looks reddish"; do you mean you are completely covering the lens (in which case I would expect all black)?  Perhaps if you can attach a screen capture or picture of what you are seeing that would help.  Also, ambient lighting has much influence on the noise and quality of picture captured; generally the more light there is, the better.

  • Thanks Juan for the reply. I have attached the images for reference. The image below is taken when the lens is completely covered.

    and the image below is taken in full lighting condition.

    You can see in both the images there are issues . Both the captured images are YUV422 data ( captured after preview engine of DM6446).  Can you confirm whether these artifacts is due to preview engine parameters . Please let me know what is your though on this .

    Thanks,

    Shantanu Bhaduri 

  • Most likely the problem is not because of preview engine parameters (white balance, color correction) because colors are rendered properly (orange and green colors of the flag at the extreme right seems good). To be sure of this, you need to capture a picture of Macbeth Color checker chart and see colors are rendered properly or not.

    The problem is only at the horizontal edges and the uniform areas are clear of this artifact. Try disabling all features of Previewer (horz median filter, low noise filter, chroma suppression, luma enhance etc) except PREV_CFA and see whether the artifact still remains?

    --

    Best Regards

    Arun

  • Thanks Arun for the Reply. I have captured the colour Chart below.

    I will tryout what you have suggested and let you know.

    Thanks and Regards,

    Shantanu Bhaduri