5V EPROM read/write from 3V mcu

Hi guys,

I have an application in which I have to read / write data to an 5V OTP EPROM (AT27c020) from an MCU. I have done this many times in the past from

5V microcontrollers like ATmega128. Now I want to do the same from a 3V device (LM3S9B90). MCU inputs are 5V tolerant. I don't want to use 3V EPROMS since they are rare. Also I don't want to use level shifters since they increase cost and board complexity. As far as I can see both devices are CMOS TTL compatible so I think that direct interface would be no problem logic level-wise. Am I correct or I am missing something ?

Thanks in advance,

Angelo

--------------------------------------- Posted through

formatting link

Reply to
abrous
Loading thread data ...
2010-09-23 19:15, abrous skrev:
1) Write to a 3.3V flash. 2) Assert Write Protect. 3) Done

Alternative. Use a 5V 32 bit MCU

--
Best Regards
Ulf Samuelsson
 Click to see the full signature
Reply to
Ulf Samuelsson

from

since

devices

I wish it could be so simple. Saving the data to OTP EPROM is a legal requirement for the specific application. Using a Flash is not an option nor any other type of memory.

--------------------------------------- Posted through

formatting link

Reply to
abrous

Compare the minimum (not typical) guaranteed output voltage for a logic high and the maximum for a logic low for the microcontroller outputs with the minimum guaranteed voltage to read a logic high, and maximum to read a logic low, on the EPROM. Add in the effects of noise on the data line.

Compare the maximum output logic high from the EPROM to the maximum allowed for the microcontroller input. Consider noise again. Compare the max low and min high from the EPROM with the min low and max high on the micro. Consider noise again.

One or more of these may vary with temperature or power supply voltage, which itself may vary with load and temperature.

Many current generation 3.3 V parts can work transparently with 5 V CMOS and TTL. Some may have difficulty at the edges. You'll have to run the numbers from the datasheets to see if your particular combination is okay.

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

P
V

=A0

You can still write to 5V OTP PROM (OTP would not be EraseablePROM) with 5V MCU as suggested.

NUC120 is one of the few 5V compatible 32bits, as least according to the spec.

formatting link

Reply to
linnix

OT=

past

3=
3V
=

option

There is a whole application behind this and a lot of software. I cannot switch to a different MCU now. I am not looking for a workaround. I just want the opinion of the more experienced if the direct interface between a

5V EPROM and a 3,3V (5V tolerant) MCU is going to work.

--------------------------------------- Posted through

formatting link

Reply to
abrous

I would guess that Vcc and Vpp is the correct value for the AT27c020 to be able to write.

I don't see a problem with this, but at the limits of Max Vout from the

3V cpu and Min Vin of the 5V EPROM may be a problem. Also include the Temp limits at Max/Min Vout/Vin.

I would also guess that you are bit banging the Add/Data lines to the EPROM, so speed should not be a problem either.

Have you tried it yet ??

Is the application Temp controlled, in other words, inside an office and not outside in the sun/sow/rain ?

good luck

hamilton

Reply to
hamilton

m

Besides what Rich said, also note that with the lower voltage your timing may need to change depending on the capacitance of your bus lines.

I have done similar things to what you describe many times, without difficulty. Not specifically to an EPROM though.

Reply to
larwe

If your MCU inputs are 5V tolerant, it should work when you use 5V VCC for the EProm. The Eprom should see the input levels as high when Ue >

2.5V, but you can check this in the datasheet of the EProm

Best regards

Stefan DF9BI

Reply to
Stefan Brröring

On Sep 24, 7:15=A0am, "abrous"

a

There are some fish-hooks here, and that's around the VccP value, of

6.50V for the AT27c020. Now, you could need 6.5V tolerant IOs and the Vih will also move up. Since the target is usually TTL, and some parts use NMOS drivers, you might need to carefully measure a real part.

All up, a tad risky. What you might prefer, is something like a SST37VF020. That has 3V Vcc, and 12V for erase, so is very close to OTP without it ?

See

formatting link
["-- 2.7V-3.6V for read -- 12V needed on OE No. pin for program and erase

-- Access speed: 70 nanoseconds (ns) and 90 nanoseconds (ns)

-- Fast programming and erase -- 10 microseconds/Byte for programming; 100 milliseconds (ms) for chip erase

-- Superior reliability with SST's SuperFlash technology -- At least 1,000 cycles endurance and more than 100 years of data retention

-- JEDEC standard flash compatible packages/pinouts for ease of use without any board layout changes -- 32-pin PLCC/PDIP/TSOP

-jg

Reply to
-jg

Adding a comment too. The main area that you can get into problems here in transmitting the correct and workable logic levels between a 3.3V MCU and some 5V memory or peripheral part is in the sending of a logic high ("1") level from the 3.3V part to the 5V part. This is particularly problematic for the 5V parts that advertise themselves as being "CMOS" compatible logic levels. For parts that have "TTL" logic levels with a

2.4V VIH then it is easy for the 3.3V output of the MCU to drive the high level for the device and in this case you have a good situation.

If you happen to be using an MCU device that has I/O pins that work like those on bog-standard 8051 type parts this 3.3V high to 5V high issue can easily be mitigated simply by adding pullup resistors to 5V on the signal lines in question. (There is a speed consideration that needs to be taken into account here in that a resistive pullup will have an extended rise time). On the 8051 style of part the output pin does not operate in push-pull mode and so the pullup it able to get the MCU output to pull all the way to 5V and overcome the high level drive problem.

I did not look specifically at what type of I/Os your MCU has but the simple fact that it specifies 5V tolerant pins means that port pins as inputs can take this higher voltage. If you have the 8051 type bidirectional type I/Os then pullups on the outputs are your solution. If you have I/Os that only operate in push-pull mode, which means that as outputs they would only drive high out of the MCU at a maximum of the

3.3V supply rail then you have only one other choice and that is to add the pullup resistors and operate the I/O pins as "open drain" where you only drive them out as lows ("0") and turn the pin back around as an input for driving "1"s and let the pullups to 5V give you your high level.
--
Michael Karas
Carousel Design Solutions
 Click to see the full signature
Reply to
Michael Karas

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.