0

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?

Ktc
  • 2,236
  • 3
  • 26
  • 50

2 Answers2

3

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.

placeholder
  • 30,170
  • 10
  • 63
  • 110
  • 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. – Anindo Ghosh Aug 22 '13 at 13:35
2

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.

Anindo Ghosh
  • 50,446
  • 8
  • 105
  • 201
  • Unfortunately the CPU doesn't support LVDS input from the camera interface. – Ktc Aug 22 '13 at 13:24
  • @Ktc What CPU is this? – Anindo Ghosh Aug 22 '13 at 13:25
  • CPU is Rockchip RK2926, unfortunately the datasheet is under NDA. – Ktc Aug 22 '13 at 13:27
  • 3
    @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. – placeholder Aug 22 '13 at 13:28
  • 2
    @rawbrawb asking good questions is an art which I am still trying to master. thanks. – Ktc Aug 22 '13 at 13:28
  • I don't know how this transceiver will help. If it were to translate 2 pin serial to parallel perhaps but this looks like a level shifter. – Ktc Aug 22 '13 at 13:39
  • @Ktc It converts a differential signal to a serial TTL or CMOS signal. Without getting through the NDA-walled datasheet, in general most processors will permit serial data input in TTL / CMOS single-ended way. – Anindo Ghosh Aug 22 '13 at 13:41
  • @AnindoGhosh not so sure I agree. Considering the amount of data, one would need to use DMA or other sophisticated ways to xfer data to memory. I find your suggestion unlikely. – Ktc Aug 22 '13 at 13:42
  • 1
    @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. – Anindo Ghosh Aug 22 '13 at 13:46
  • Aninda your comment is unfair. A good hardware solution should always be backed by system level thinking. Your proposed solution is correct but useless. – Ktc Aug 22 '13 at 13:48
  • @Ktc So you're saying that an ARM A9 running at 1 GHz or higher is incapable of handling serial data coming in at the rate specified by that camera - and yet is capable of handling parallel data coming in at the same data rate (or 20% lower, if one wants to be pedantic)? I can see where the systems level thinking is. – Anindo Ghosh Aug 22 '13 at 13:51
  • Regarding, your comment on my question is biased towards my preconceived solution is correct. I ask the solution and present a potential solution at the same time. Again, I am not so sure it is wrong to ask this type of question. – Ktc Aug 22 '13 at 13:51
  • 1
    @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. – Ktc Aug 22 '13 at 13:54
  • @Ktc The details are evolving as we go along. This type of question is indeed frowned upon, and is considered a "chameleon question". The constraints were not stated in the original question, hence the comment about "A good hardware solution should always be backed by system level thinking." is a bit out of place, don't you think? – Anindo Ghosh Aug 22 '13 at 13:57
  • @AnindoGhosh I would not take this further. You are sticking to your guns, I understand. As an engineer, I try to think in multiple dimensions and encourage this behaviour. In this case, your proposed solution creates a problem on software/system domain, which may not be your expertise. understandble. – Ktc Aug 22 '13 at 14:00
  • 2
    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. – Chris Stratton Aug 22 '13 at 14:36