TCM8240MD connector and example

I’ve got the ATNGW100 board and am trying to do the same thing.

I bought three of these camera modules and am trying to figure out the best way to use them (I want to be able to run all three of them one at a time).

I was almost thinking of a EPLD that allow me to switch between them, for both I2C (unless someone has figured out how to give them separate addresses) and also to provide the addressing for a SRAM large enough to hold an entire frame.

I’m planning on running in JPG mode, so that would make the input side to the RAM easier.

I was thinking it that I could use SPI between the AVR32 and the camera boards - the clock can go pretty fast, so I should be able to read out in a reasonable amount of time - and that’s another function the EPLD would have to do.

Unfortunately, I’m more of a software (firmware, drivers) head than a hardware guy, (although reading data sheets and schematics are second nature) so I’m leaning on my co-workers to help me out there, but it’s slow goin’.

I was also thinking of having logic to decode the JPG blocks in order to be able to figure out when a frame was complete, but that moves the design from a EPLD to an FPGA (although, Cyclone III’s can be had for $13 qty 1)…

I might have access to our boardmaker (PCB mill), but I dunno - seems like every time someone uses it, they break it and it’s expensive to fix.

I’d be very interested in teaming with someone (everyone, really) to work this out.

I preface this message with a note with I’m new to the Dark hardware side of things.

Would this be a suitable FIFO, [AverLogic’s AL422B 3-M Frame Buffer

http://www.datashtcatalog.com/datashts_pdf/A/L/4/2/AL422.shtml (replace ** with ee)

Pros:

  • - 8 bit words - matches the cameras 8 x DOUTs.
  • - Two clocks, enables one for write and one for read.
  • Cons:

  • - At $8.90 almost as much as the camera itself.
  • - Not big enough? The buffer is only 393,216 Words (See my understanding of the amount of data produced)
  • Assuming I’m reading the diagrams correctly for each

    rising DCLK while VBLK and HBLK are high there will be an 8 bit word out output…

  • - Full Mega output without JPEG = 1024 * 2560 = 2,621,440 words
  • - VGA ( x1: no zooming) = 959 * 1280 = 1,227,520 words
  • - VGA (at maximum magnification x2) = 480 * 1280 = 614,400
  • - CIF ( x1: no zooming) = 957 * 704 = 673,728
  • - CIF (at maximum magnification) = 288 * 704 = 202,752 (This would fit)
  • - QVGA ( x1: no digital zooming) = 956 * 640 = 611,840
  • - QVGA ( at maximum magnification. X4) = 240 * 640 = 153,600 (This would fit)
  • - QCIF ( x1: no digital zooming) = 954 * 352 = 335,808 (This would fit)
  • - QCIF ( at maximum magnification : x 6.67) = 144 * 352 = 50,688 (This would fit)
  • - QQVGA (x1: no digital zooming) = 952 * 320 = 304,640 (This would fit)
  • - QQVGA ( at maximum magnification: x 8 ) = 120 * 320 = 38,400 (This would fit)
  • - subQCIF ( x1: no digital zooming) = 950 * 256 = 243,200 (This would fit)
  • - subQCIF ( at maximum magnification: x 10) = 96 * 256 = 24,576 (This would fit)
  • - JPEG encoded full Mega = Unknown size (might fit)
  • As I see it implementation would be:

    STROBE → Both Read and Write Resets

    HBLK && VBLK → Write Enable

    DCLK → Write Clock.

    Then you could clock the data out at your own leisure, (once you stop the camera taking any more pictures)](AL422B - AL422 3M-bits FIFO Field Memory IC)

    Only way to stop camera seems to be to stop it’s clock.

    It doesn’t seem to have any enable or single shot modes.

    Correct me if I’m wrong, but won’t bit 7 of reg 04 on the TCM8240MD mute the databus of the cam (and bit 7 of reg 03 on the TCM8230MD)?

    You are right pellepl, but on my tests it doesn’t halt the camera, only prevents it from sending data. It still cycles through the loop and when I release the bit I usually end up getting my first data from the middle of a frame.

    Would anyone happen to have some measurements (that they’ve used to make a working footprint) for the solderable feet on the side (instead of the bottom) of the TCM8230MD 640x480 camera? The datasheet isn’t very useful in the measurement department.

    thanks

    Agree about the datasheet. Beware that only some of the side “feet” are electrically connected to the underside pads, and in some random order that isn’t mentioned in the datasheet.

    That’s crazy! how are people soldering/using these cameras, then? With those tiny, hidden, underside pads?

    The underside pads are testpads.

    The feet around the edges are the real connections.

    If your footprint is correctly designed you just line it up and slosh solder along the side. If any spot links to an adjecent a bit of solder-wick fixes that.

    For the TCM8230MD I made a working footprint:

    http://www.pelleplutt.net/data/cam.jpg

    The dots are 0.1mm.

    I’ve successfully soldered the cam to a pcb with this footprint, and it works - so far I can see right now, I2C works and the output signals seem right.

    I can’t send the eagle file until I get ok from my boss who is on vacation, but if you’re interested feel free to bug me so I won’t forget :wink:

    That’s okay – you included all of the measurements that I needed! 0.6 x 1.0 mm pads, with approx. 1.0mm over, 0.4mm in movement on the edges. The pins are 5, 4, 3, 2, 1, from the top left to right – right? :slight_smile: (Just like pg. 4 in the datasheet?)

    My footprint is here: http://cogsci.mcmaster.ca/~peter/notes1 … tprint.jpg . I included the via restrict layer under the camera, so that I don’t foolishly forget there are those exposed pads on the underside. You probably have that too, but I imagine you turned the layers off for clarity!

    thanks again

    The footprint I published for the TCM8240MD also contains the restrict, but I allow a thin trace on the inside there so one can route ground or power.

    I think I posted full eagle file here, but anyway:

    http://kreature.org/ee/avr/cmos_cam/TCM … ut_1.1.rar

    Breakout board with LDOs, and interface for 3.3V signals.

    http://picasaweb.google.com/nachox2002/ … 5944573762

    nachox2002, you tease - that board looks really nice, is it possible to get one? (actually I have three camera modules!)…

    Too bad you couldn’t license / sell them to SFE or something…

    G

    now we are in test phase of the board (We designed this board for a bigger project ). If all it´s ok we´ll try to contact SparkFun for sell it. If you have any questions you can write me to:

    nachox2002@gmail.com

    So cool, nachox2002,

    Keep us posted!

    BTW: I looked at the other blanks you had on your site and it looks like you were putting together some of the same components I am (GPS, etc.). Whatever the project is/was, it sounds fun!

    If all goes well, in my application, these camera modules will see 100K+ ft.!

    G

    So far, my set up will be using a dsPIC33FJ256GP710 from Microchip

    This controller has two I2C interfaces and a seemingly convenient i2c.h C library included with the Microchip MPLAB C compiler (initially I thought I’d be writing a state machine based on the PIC’s I2C registers in order to send the camera commands).

    I will also use an Averlogic FIFO to capture the data (cascading 2 FIFOs if necessary); although, once I get it there, I’m not quite sure what I’ll do with it. Maybe try and get something through Hyperterminal.

    As far as the camera goes, I had planned to use the Toshiba discussed here, but there looks to be some difficulties understanding it and interfacing it, so I decided to try the HV171GP first (the one from the SparkFun “get-that-camera-working” contest). Aside from the winner of the contest, though, I don’t recall seeing anyone else who got useful image data from that device.

    I believe I’m going to try the Toshiba again now, and I’m wondering if anyone’s made more progress (especially with the JPEG compression).

    Just about to set off on a voyage of discovery with these and wanted to ask some advice.

    Similar to may people here I am going to interface with the camera and log images to an SD card.

    I am pretty familiar with pic’s so this is my processor of choice. My question is, do i need the processing power of the DS pic or not?

    The two devices i have in mind are:

    18f67j50

    12MIPS

    3904B Ram

    PMP port

    OR

    PIC24FJ256GB110

    16MIPS

    16384B RAM

    PMP port

    The device of choice is the PIC18 for me if I can get away with it (cost, size, power etc)

    What do people think? Is the extra 4MIPS really essential to getting data out, storeing in memory and getting back into a position?

    Any other comments appreciated

    I am using the dsPIC33 because it was simply what I had on hand.

    I can’t answer your question at this time, but I thought I’d respond anyway (seeing as how I posted that I’m using the dsPIC33).

    Thanks for the response Tivon. Just been reading over things again and it seems the camera is a master device which means i will need a PSP port not PMP port. Luckily both devices have such a port so the question is still open really.

    Incidently, have you got anywhere with your DSpic, and what freq are you using? I know those devices can go up to 40MIPS!

    Cas