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.

OMAP3530 ISP + cmos VGA camera

Other Parts Discussed in Thread: OMAP3530

Hello,

I`ve bought mini board with OMAP3530 (embest mini8100) where I have a camera interface connector. I`am working on university project - video/image processing on OMAP. I was creating simple motherboard based on beagle project. Unfortunately it doesnt provide camera interface (unlike beagle xM, but I have omap3530 and xM has other processor) so I`m a bit scared ;-)

Sorry, I`m begginer with OMAP and have some (probably simple) questions about camera interface:

1) I can`t find any documents with electrical connections camera to SPI. I doubt if I can connect sensor directly pin-to-pin. I suppose I should use some voltage translators to provide 1.8V states, am I right? 

I have a camera sensor (PO6030K-2) 2068.PO6030K-2.pdf which I`d like to use. Can I just connect corresponding lines (like vsync, hsync, data0-7, I2C) directly or by some voltage translator?

2) The second problem is about software. I want to work with Linux. I know there are drivers for some sensors, not for mine. According to the datasheet I put above, if I had already connected camera to the ISP then I have to write whole driver by myslef right? In other words will I have to handle whole ISP interface?

3) Camera has 8 bit data bus and doesnt have RAW data format, available formats are: CCIR656, 8bit YCbCr422, 8bit RGB Bayer, RGB565, RGB444, 8bit Mono, hope it would work..

4) I was also considering use of USB Host but in my region I cant get apropriate USB transceiver like usb3322 which was used in beagle-board, is there any posibilities to use usb host without this kind of transceiver (not like a hub but for just one device like camera)?

It is such a lot of questions, looking forward for your advices, thank you in advance,

Regards, Adrian

  • I am assuming what you are trying to say is that you want to interfacing a CMOS image sensor to our OMAP3530 processor.

     

    1) I can`t find any documents with electrical connections camera to SPI. SPI is used to configure the registers in your PO6030K-2 image sensor. Remember that the method that you use to connect the SPI to the OMAP3530 processor is the same method that you should use to connect PCLK, HREF, VSYNC and 8-pin data/pixel bus. I doubt if I can connect sensor directly pin-to-pin. I suppose I should use some voltage translators to provide 1.8V states, am I right? You might be able to connect sensor directly pin-to-pin. What is the operating voltage of the CMOS image sensor? If it is the same as that of our OMAP3530, then hurray you can connect it directly. If not the you simply either scale up the voltage (non-inverting voltage amplifier http://en.wikipedia.org/wiki/Operational_amplifier ) or scale down (voltage divider http://en.wikipedia.org/wiki/Voltage_divider)

    2) The second problem is about software. I want to work with Linux. I know there are drivers for some sensors, not for mine. According to the datasheet I put above, if I had already connected camera to the ISP then I have to write whole driver by myslef right? In other words will I have to handle whole ISP interface? By ISP did you by any chance meant to say SPI?

    3) Camera has 8 bit data bus and doesnt have RAW data format, available formats are: CCIR656, 8bit YCbCr422, 8bit RGB Bayer, RGB565, RGB444, 8bit Mono, hope it would work.. The format has absolutely no bearing. All formats will work. What you have inside the CMOS image sensor is most likely a Bayer filter. You have write the function that will convert the Bayer image into its equivalent red, green and blue color matrices. That or you can integrate a library and call a function within that library that will do it for you. Both solutions have the same level of complexity.

    4) I was also considering use of USB Host but in my region I cant get apropriate USB transceiver like usb3322 which was used in beagle-board, is there any posibilities to use usb host without this kind of transceiver (not like a hub but for just one device like camera)?

     

  • Thank you for reply!

    Ricardo Zepeda said:
    I am assuming what you are trying to say is that you want to interfacing a CMOS image sensor to our OMAP3530 processor.

     

    Yes, using ISP. 

    First of all I have to correct myself. I always make this mistake.. I made a typo by writting "SPI", anytime I wrote I realy meant ISP. Sorry for this, I wasted your time, but info about SPI could also concern I2C in which my camera is "equipped" ;-) 

    So my first question was intended to be about connecting these PLCK, VSYNC, 8-pin data, etc to ISP

     

    Ricardo Zepeda said:
    What is the operating voltage of the CMOS image sensor?

    Voltage ranges of my sensor are: AVDD : 2.8V, AVDD1 : 2.8V, DVDD : 1.5/1.8V, HVDD : 1.5 ~ 3.3V. For this 2.8V I would use some of yours LDO. I didnt know I could use resistor`s divider for such cases..

    Ricardo Zepeda said:
    By ISP did you by any chance meant to say SPI?

    No, sorry :( I meant ISP. My question is about ISP in OMAP3530 talking with CMOS sensor. I will mention additionally about signals of my CMOS sensor: MCLK (master clk), PCLK (pixel clk), HSYNC, VSYNC, STDBY (standby), RSTB, TESTEN, 8-bit data and I2C for control some CMOS processor functions. I see, that ISP in OMAP3530 has some more signals than my sensor like cam_wen, cam_fld. Can I just ignore them? 

    Also, please correct me if I wrong: if my sensor doesn`t have driver in linux kernel or whenever else then I have to write it by handle with ISP signals but using some ISP library which will be already contained in installed linux system? 

  •  

    Hi Adrian,

     

    I just looked at the sensor datasheet and the sensor has an ISP inside. If the sensor has an ISP inside and it can provide YUV422 why do you need to use the OMAP ISP? You can just bypass the ISP and write the frames directly in to the memory.  Remember every camera module comes with an ISP or without an ISP. In your case, your camera module has a full fledged ISP inside. Now, we dont have the infomation about the camera module nor about the sensor registers . If you have a detailed datasheet of the sensor and the module datasheet, you can start writing your driver.

    You can have a look at some of the OMAP camera designs we have done -> www.e-consystems.com/omap3530.asp or www.e-consystems.com/omapovero.asp. These are camera boards that have Linux drivers available for them. You can use them as a reference to write your own code as these camera modules use the ISP inside the camera module and hence you will have a template for writing the code.

     

    Thanks,

    Lakshmi

  • Lakshmi Narsimhan said:
    If the sensor has an ISP inside and it can provide YUV422 why do you need to use the OMAP ISP?

    Thanks for your input. I see I have some lacks in understanding this subject. I thought that if I have my CMOS camera with ISP and OMAP3530 also has this ISP interface then I should connect them together. Like eg. I have some device with I2C then I connect it also to I2C host device.. So you are suggesting me that I should probably use some DMA, right? Please excuse my trivial question, but in this way, which OMAP3530's interface (lines, signals) then I should use (if not ISP interface)?

    Lakshmi Narsimhan said:
    If you have a detailed datasheet of the sensor and the module datasheet, you can start writing your driver.

    The only datasheet I have is that I put in the first post. But there are registers descritpion, timing, signals, etc.

  • Yes, you are correct about the interfacing. You connect your CMOS sensor to the 8 bit  parallel interface(also called as the DVP) of the OMAP3530.  Internally in software we bypass the ISP and directly copy the frames to memory since you have already used the ISP inside the module.

    From the questions, my recommendation would be to go for something that is preexisting for your platform.  You can ask your platform supplier if they know of any camera board supplier and they should recommend you one.

  • Just to add on top of this,

    Recently we have added support for CMOS sensor on AM37x (similar to OMAP3530) and we are bypassing rest of ISP precessing inside OMAP. the interface looks like

    sensor => ISP CCDC => Memory

    You can get more information from PSP User guide - http://processors.wiki.ti.com/index.php/UserGuideOmap35xCaptureDriver_PSP_04.02.00.07

     

    Thanks.

    Vaibhav

  • Thanks! Now I see I had mistaken two things: some ISP functions (like preview, resizer) with hardware interface of OMAP's camera module in general. 

    I gathered all of your clues and looked once again into OMAP35x datasheet and if you let me, I try to summarize now:

    Using CMOS sensor with built-in ISP I should bypass OMAP's ISP and transfer data directly to the memory. To achieve this I will use CCDC (and not IPIPE) for example in SYNC mode which allows me to use HSYNC and VSYNC synhronization signals. Eventually, according to OMAP35x datasheet 12.4.1.1.2 - if I used YUV4:2:2 format, data can be passed by resizer and then to memory. To manage this image acquisition I will try to support myself by V4L2 libraries.

    To sum up hardware part, I will rely on CCDC Block diagram from OMAP35x datasheet 12.4.4.2 as it shows I am going to connect to HS, VS, Data:0-7, PCLK signals. My camera doesn't have signal for WEN (cam_wen), but I read this signal doesn't have to be used as well as FIELD (cam_fld) whilst I am going to work with progressive mode - am I right?

    I2C in my CMOS sensor is used for its processor configuration, so maybe I'd use I2C from TPS659x in which my mini board is equipped.

     

    Please correct me one more time if you see any mistakes in my (new) understanding. 

    Thanks a lot for your help and patience!

     

    Regards, Adrian