Basic electronics help!

Discussion in 'The Projects Forum' started by rougie, Feb 18, 2010.

  1. rougie

    Thread Starter Active Member

    Dec 11, 2006

    I posted a question earlier this week on how to acheive a level shifter from 3.3 volts to 5V DC. This forum was very helpfull and I thankyou very much.

    However, even with the proposed solution which acheived the voltage level shifting operation correctly, the problem still persisted where the flash chip was not getting programmed and I was simply burning out flash chips like crazy!

    To re-cap, the parts I am using are the MAX607ESA, a CPLD from Altera MAXII series part# EPM240T100C5N and a flash chip part# M29W160EB70N6E.
    Here are the links to their datasheets if required:


    As for the MAX607 part, I wired it up exactly as shown at figure #1 on p.7 of the spec sheet.

    Basically, I have 2 outputs comming from my CPLD, which are 0 to 3.3 VDC.
    One output goes to the pin#3 (SHDN) of the MAX607 and the other output goes to pin#4 (IN) of the MAX607. The output of the MAX607 goes to pin#12 of the flash chip which is used to either reset, read, unprotect the flash part. In summary, when pin #12 of the flash is low, the flash resets. When it is high (3.3VDC), the flash is in read mode and when it is at 12VDC, the flash is unprotected and we can either erase or write data to the part.

    So I would erase the flash part and try to write to the part a few times and the flash would then burn out. The solution was not to try to use a level shifter from the CPLD to the MAX607!!!! Like I thought. The solution was to limit the current from the output of the MAX607 to the RP (pin#12) input of the flash.

    When I was erasing the flash, the output of the MAX607 was 11.6VDC at 95 micro amps. When I was writing to the flash, the output of the MAX607 was 12.8 VDC at 167 micro amps. According to the flash specs (DC characteristics table on p.21 of the old spec) the Iid is 100 micro amps max. I don't know what they mean by the test condition column being "A9 = VID" ??? But anyways I decided to put a 10K resistor between the MAX607 output and pin#12 (RP) input of the flash part and the problem seems to be resolved. I am not burning flash chips anymore.

    My question is, if the output of the MAX607 is capable of sourcing 120ma and the flash chip needs to draw 100 micro amps, why do we need a limiting resistor between the two? I don't get the electronics aspect of this. When I fiddle around with ohms law, each component draws what it needs. So if the flash at pin#12 needs 100 micro amps max, why would it draw more? And furthermore, why am I not getting a voltage drop across the current limiting resistor that I added in between the MAX607 and the flash at pin#12?

    All feedback and guidence is very appreciated.
    Thanks all in advance!

  2. SgtWookie


    Jul 17, 2007
    It seems like you were very close to the maximum allowed current at 11.6v; you were seeing 95uA current. The maximum for flash is 12.5v, 100uA.

    The MAX607 is supposed to regulate at 12v +/-0.5v, but with a load as light as yours, I'm not surprised that you're getting an "overshoot" in the 607's output.

    10k Ohms sounds about right to drop 1v with 100uA current.

    However, you might get better regulation just by adding a load to the output. Try adding a 20mA LED load to your MAX607 output, whatever color you like, with an appropriate current limiting resistor (roughly 510 Ohms for a standard 2v red LED)
  3. rougie

    Thread Starter Active Member

    Dec 11, 2006
    Yes, thank you for your reply!