0
\$\begingroup\$

I have 10 bit camera (MT9V032) that I need to attach to a processor that has only 8 bit camera data interface. (no LVDS) What is the best way to connect these two?

My current plan is to leave data 0/1 pins floating or pulled to ground with 10K resistor. The image will not have these bits but I suspect it still will be pretty good image quality. I want to ask experts if I am missing something?

\$\endgroup\$
  • 1
    \$\begingroup\$ That link doesn't work for me. \$\endgroup\$ – pjc50 Aug 22 '13 at 13:22
  • 3
    \$\begingroup\$ Driven, but unused outputs are not typically "floating", however the interface standard, and/or RFI concerns might suggest termination. \$\endgroup\$ – Chris Stratton Aug 22 '13 at 14:33
3
\$\begingroup\$

In using the parallel data Interface, that really is the only choice that you have for dropping bits. If you drop the higher bits you'll get severe scene degradation.

If you have additional resources (in say a FPGA) or the like, you could put a tone curve (compressive) on the data and reduce the bit depth from 10 bit to 8 bit. Since shot noise follows a roughly scaled sqrt curve you should be able to follow a fractional power and not notice the difference in the final result.

\$\endgroup\$
  • \$\begingroup\$ The camera already has a compander squeezing 12 bits into 10. Further companding into 8 bits will create artifacts, I believe - acceptable or not, only the OP's application can determine. \$\endgroup\$ – Anindo Ghosh Aug 22 '13 at 13:35
2
\$\begingroup\$

Note that the data output formats mentioned in the datasheet of the camera include:

8-bit or 10-bit serial LVDS

The serial interface requires just 2 pins, hence would not be constrained by the 8-bit constraint of the processor.


Taking into account the edit to the question (no LVDS), the simplest solution is to use an LVDS to TTL transceiver IC such as the Texas Instruments DS90LV019 (which does 3.3 or 5 Volts single-ended TTL / CMOS), or one more suited to the voltage and data rates desired.

\$\endgroup\$
  • 3
    \$\begingroup\$ @Ktc what you should have said, (and omitted in your post) is that you will be using the parallel data I/F and not the serial I/F. \$\endgroup\$ – placeholder Aug 22 '13 at 13:28
  • 2
    \$\begingroup\$ @rawbrawb asking good questions is an art which I am still trying to master. thanks. \$\endgroup\$ – Ktc Aug 22 '13 at 13:28
  • 1
    \$\begingroup\$ @Ktc One problem I see is that you've approached the question with a predicated solution pre-formed in your mind. A general approach followed here is to state what the actual problem is, not present a preconceived solution and expect validation to the exclusion of alternative methods. If a certain data rate to memory needs to be supported, that data rate remains almost the same (10 v/s 8 bits = +/-20%) whether it is coming in as serial or parallel. Hence, moving it to memory isn't going to be much different either way (DMA or otherwise) - and that's actually quite a separate question. \$\endgroup\$ – Anindo Ghosh Aug 22 '13 at 13:46
  • 1
    \$\begingroup\$ @AnindoGhosh camera interface would have a dedicated DMA channel that transfers data from camera block to memory. Interface suggested such as yours would not have this type depacking of LVDS format and DMA to transfer to memory. The proposed solution (which I don't think it is possible) would require excessive amount of CPU fiddling to strip and reconstruct the images and write to memory, hence useless. \$\endgroup\$ – Ktc Aug 22 '13 at 13:54
  • 2
    \$\begingroup\$ If KTC had not presented their approach, they'd have been immediately downvoted and quite likely collected some close votes for failing to state what they had already tried. \$\endgroup\$ – Chris Stratton Aug 22 '13 at 14:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.