Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

my programmer cooks chips :(

Status
Not open for further replies.

mstechca

New Member
Take a look at this circuit.

The 1's in the boxes are output connections. the bottom "1", if it is logic high indicates that the last address has passed.

The top "1" is a check bit. It makes sure that the LSB is correct.

Connection "1" on the far left activates the address clock upon reaching a logic low.

Connection "2" on the far left resets the address clock upon reaching a logic high.

The numbers 1 through 8 (not sequentially) going downwards on the right hand side indicate the data pins on the parallel port.

Here's the problem. As soon as the circuit is turned on with 5VDC, and the parallel port is plugged in, the ROM chip immediately warms up.

Every time the chip warms up, the programming normally fails.
The chip that warms up is the 28C64.

The other chips are the 74HC00 NAND, and 2 4040's.

The other resistors are 6.2K.

Should I remove a resistor or increase a resistor?
 
I forgot to upload my circuit, so here it is.
 

Attachments

  • ckt_141.gif
    ckt_141.gif
    9.7 KB · Views: 331
mstechca said:
Take a look at this circuit.

The 1's in the boxes are output connections. the bottom "1", if it is logic high indicates that the last address has passed.

The top "1" is a check bit. It makes sure that the LSB is correct.

Connection "1" on the far left activates the address clock upon reaching a logic low.

Connection "2" on the far left resets the address clock upon reaching a logic high.

The numbers 1 through 8 (not sequentially) going downwards on the right hand side indicate the data pins on the parallel port.

Here's the problem. As soon as the circuit is turned on with 5VDC, and the parallel port is plugged in, the ROM chip immediately warms up.

Every time the chip warms up, the programming normally fails.
The chip that warms up is the 28C64.

The other chips are the 74HC00 NAND, and 2 4040's.

The other resistors are 6.2K.

Should I remove a resistor or increase a resistor?

Troubleshoot the lines going to the rom chip. Obviously, it sees something it doesnt like. Plug it all in and turn on 5V but no rom. Look at lines that would go to rom anything nasty / unusual?

You are using external 5V supply? I _think_ the parallel port signals are referenced internal to PC. Make sure you do not have some ground loop problem connecting your external ground to the port. I think it is popular to optically isolate parallel port lines.
 
You know what I forgot to include, an input connection on my schematic to the WE pin. :lol:

I fixed it.

The circuit is exactly the same, except for the following changes:

#1. I removed the 4.7K resistor bus network.
#2. I removed the 6.2K resistor.

As soon as the 6.2K resistor is removed, the program is stored correctly!

It makes me think that whoever designed the parallel port manuals may be wrong.

And just before I encounter a similar problem in the future, I think it was Nigel that told me that the maximum pull-up or pull-down resistor that can be used is 100K.

I don't want to use too high of a value because it will be useless. I don't want to use a value too low, because then I'm using too much current, and could run into the same problem.

The reason why I am persistent on using resistors is because I need to define defaults in my programmer. I don't want to leave the inputs in a floating state.

Could someone recommend me the optimal resistor value?
I'm using CMOS devices (the 4000 series, the 74HC series, and special CMOS chips like my 28C64 rom).
 
mstechca said:
It makes me think that whoever designed the parallel port manuals may be wrong.

No one else has noticed that during the last 25 years, so i think it's a fair bet that it's you who are wrong?.

The reason why I am persistent on using resistors is because I need to define defaults in my programmer. I don't want to leave the inputs in a floating state.

Could someone recommend me the optimal resistor value?
I'm using CMOS devices (the 4000 series, the 74HC series, and special CMOS chips like my 28C64 rom).

There's no 'optimal' value, different values are best for different purposes, but they aren't at all critical - generally I would use something over 10K and under 100K, unless I had specific reasons for a lower or higher value.
 
...but they aren't at all critical

In my situation, I should take them seriously, because if at any time while the programmer is on, I unplug the parallel port plug, the inputs would then be left floating. This can be bad, since floating in my opinion can mean anything.

I noticed that on some counter IC's that the counter counts at random times when the clock pin is left floating.

so i think it's a fair bet that it's you who are wrong?.

I could agree.

I think the 28C64 has an internal resistor to its mode pins (WE', CE', and OE')

I might not realized that I had 3 resistors in parallel when I used that 6.2K to the WE' pin. (6.2K, 4.7K in the control pin of the parallel port, and a resistor attached to the WE' pin?) Of course, I may be false on this statement, but when chips heat up, I know it is because it is receiving a voltage or current or power that is too high.
 
Your circuit doesn't have a supply bypass capacitor so it is probably oscillating at a very high frequency which is causing it to heat up.

Also, the WE-not is made high by the resistor R3, and since CE-not and OE-not are low then the data pins are outputs, as Nigel told you.
If the bus has signals on it then the outputs of this EEprom are fighting with the bus signals. Fighting outputs make a lot of heat.
As Nigel told you, you had outputs connected to outputs.

Your schematic doesn't have a 6.2k resistor. Maybe R3 is the 6.2k resistor that makes WE-not always high, and makes OE-not always low, so the EEprom is making its data pins outputs.
It also doesn't have a way to make WE-not low and OE-not high (through the inverter?) so the chip can be programmed.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top