on the strange behavior of a damaged FPGA... a cautionary tale:)

I've been reading about Peter's strange problems... and as fate would have it, I started to have the same problem...

What worked for previous incantations of the P2 wasn't working on v27, but with a twist. I know what happened.

While working away in v27, an OV7675 camera board at 3.3v from a variable power supply, my camera board developed a short. I know it shorted because I could smell it. It stopped sending images, and the variable power supply hooked up to it showed 0V... that is zero as in zero volts, not OV as in Omnivision:)

I plugged a fresh camera board in and by golly it didn't work either. No smoke or anything, just couldn't seem to get a vertical sync to save its life. I went back to Pv12... and after moving jumpers around, I was back in business. The only thing is... the exact same code won't work with Pv27a, even though it had before. No vertical sync, which remained on exactly the same pin that works for Pv12.

My conclusion is that the fabric which connects to the pins differs between Chips various incantations.
A damaged fabric might affect one version of the P2 but not another.

Case closed. Time for a drink.


  • 18 Comments sorted by Date Added Votes
  • Well, maybe there is a problem with v27.

    Rjo__, you are using a Prop123-A9, right?
  • yep... until it collapses completely and after that it is back to my very last Prop123-A7.

    V27 was fine until I smoked my camera board ... just to see what would happen:) It was supposed to be at around 2.8v... I put in 3.3v. It has some unlabeled chips that I just assumed would handle the voltage. I'm thinking they didn't. ''

    From my perspective, the P2 is perfect... except making sure it handles the USB stuff like a champ.

    I wanted a chance to rant:)

    Look at the code it takes to run the cameras... nothing. Then look at the code it takes one of those duinos... I don't understand how a sane person would not want to take the P2 path.

    Who would buy a P2? ????

    Any person not needing some form of therapy.

  • ...not wanting to end up in therapy. :P
    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • I'm pretty sure I am right about this... but it would be nice to have confirmation, without destroying my A7:)
    I have one ov7675 still in original packaging. If you or Rayman are interested it would be a lot faster for me to send it out than to wait on China.

  • Is this the ArduCam? I just saw one with adapter board for under $4.
    The camera boards I have are higher resolution, but cost $20...
    Prop Info and Apps: http://www.rayslogic.com/
  • BTW: Are you getting video output without using the I2C interface?
    I thought one had to configure with I2C to get output...
    Prop Info and Apps: http://www.rayslogic.com/
  • rjo__rjo__ Posts: 1,948
    edited November 2017 Vote Up0Vote Down
    This is the $4 ov7675 variant.

    Yes no i2c here, just confuses the natives:) Works fine.

    I'm going to have to do i2c to set the pll's and get the ov7675 up to 240FPS(160x120). But to tell you the truth I really don't why the board failed and I'm a little gun shy right now. I know these boards don't match the specs in some regards, and I'm a little concerned that they might just fail all by themselves... I'm thinking about playing with Parallax's new continuous rotation feedback servos first.

    Summary: I2c is hooked up, just not using it.
  • I have P1 i2c code working for all of Omnivision cameras... some are 16 bit some 8 bit, etc, etc. I made a real effort to transliterate some of it to the P2v without success way back when. As a workaround, I just generated i2c and timing signals from a P1 and used the P2v for acquisition. Lots of fun, but plenty of headaches given the state of publicly verifiable documentation. (I don't sign nda's... for the same reason I refused a security clearance:)

    The good stuff (register settings) is available over in the Arducam world. I even wrote a program to translate the register settings into P1 readable code... that was a real long time ago:)

  • By the way, when I was doing all of this, the idea was to have a P2 camera port, which would receive any Omnivision camera, figure out which camera it was and start working without any need to fiddle... all monochrome robotics oriented. I'm convinced it is possible, but I now have added responsibilities that severely sap my time and energy. Hopefully things will calm down, and I can get back to entertaining myself soon:)

    If you get I2C going, please share:) At the time, I had only a passing understanding of it all, and basically hacked Phil's code to get it to do what I wanted.

  • no ;edit button right now... I should have said gray scale(not monochrome)
  • I just got I2C working... Took me a week to figure out that I was putting the clock signal on the wrong pin :(
    Prop Info and Apps: http://www.rayslogic.com/
  • rjo__rjo__ Posts: 1,948
    edited December 2017 Vote Up0Vote Down
    Love it:) I am having just a miserable time. I went back to what I thought was my last working P123-A7 and it is broke too. SO... then... I went back to my crumpled A9. I used to be able to get both OV7670 and OV7675 to work with V12... just as I was about to get back on track, all of my OV7675s seem to be lacking a vsync signal. The same code works for the OV7670, but the 7675 image just rolls down the screen all day... even though I am just trying to capture 400 lines... plenty of time to get the vsync. The 7675 is just SO much nicer 7670... when it works. I think this is a camera issue and not a P123 issue, but I'm going to buy myself a new P123 for Christmas anyway:)

    I hooked up my P1 to drive the I2C and results were interesting... on the OV7675,,, the qVGA is not exactly what it should be giving a bad aspect ratio on the image... you can fix this by simply doubling the pixel writes to the HUB ram... two pixels consecutive for every pixel you capture.

    I toyed with controlling the VREF start and stop... looks like it works as advertised. That was all before the 7675 images started to roll and my grandson returned to the house:)
  • I'm thinking that the OV7675 doesn't tolerate "man handling" as well as the OV7670. I just power the boards up... the specs call for power on and then releasing the PWDN line. I am just allowing PWDN to hang in the breeze. Not hooking it up at all. During my next moment of sanity, I'll give it a try.
  • RaymanRayman Posts: 8,636
    edited December 2017 Vote Up0Vote Down
    Here's my I2C test code...
    Right now, it just reads the MSB of Manufacturer ID and sends to serial port...

    BTW: it requires pull up on both i2c lines
    Prop Info and Apps: http://www.rayslogic.com/
  • This is p1 code... lots of garbage code in it but it works for getting and setting registers.
  • rjo__rjo__ Posts: 1,948
    edited December 2017 Vote Up0Vote Down

  • and the doc
  • Who would buy a P2? ????

    Any person not needing some form of therapy.

    That was a loud laugh ! Thanks ! :)
Sign In or Register to comment.