EPROM pin replacement compatibility questions - Page 1
Forum section: electronics / beginners

author: analogix
author_rank: Frequent Contributor
timestamp: August 13, 2019, 04:56:35 pm
content: I'm looking to replace a 2732 EPROM with a 27512 and similarly a 2764 replaced with a 27010 (or the equivalent EEPROMs). The additional pins of the larger chips will be used for 16x bank-switching via a 4-way DIP switch.Since the other pins are more or less pin-pin compatible it appears I can just use a "through socket" for them and only re-route the additional ones (which will extend past the existing EPROM sockets anyway).I've seen a photo of a similar adapter PCB (2732 to 27512) which only plugs into the topmost 4 pins of the 27512 (pins 1, 2, 27 and 28) but this puzzles me sincepin 26of the 27512 (A13) goes topin 24of the 2732 (Vcc). The other pins' signals match.Can this work (A13 goes to Vcc)?For the 2764 to 27010 things become more complicated as several of the 2764's pins have different signals, so I'll need to reroute multiple pins.

author: rhodges
author_rank: Frequent Contributor
timestamp: August 13, 2019, 06:16:27 pm
content: Yes, you can have A13 also be Vcc. But instead of having 16 pages, you will only get 8. Page 0 will load from page 2, page 1 from 3, and so on. Because A13 is always high.

author: analogix
author_rank: Frequent Contributor
timestamp: August 14, 2019, 06:51:17 am
content: Aha! Thanks for clearing that up.I should have thought of that myself, because it's logic high and lows for the 4 highest address pins that are used to select different memory banks of the EPROM, right?The confusing thing is that according to the photo of the adapter PCB (which gave me the idea to build something similar mysef) it allows for 16 banks. The poster in the forum where I found it also confirms that it's used to replace a 2732. How can this be? And the picture appears to show only theUnfortunately I've been unable to get in touch with the poster for a more detailed photo and additional info.That aside, for my own adapter I'm thinking the best solution would be to have a "through" pin socket for the 2732 (or 2764), then offset the new EPROM (27512 or 27010) to the left or right of it and reroute the signals appropriately. And to lower costs I could go for a single adapter PCB with solder-jumper-pads to allow for a 2732-27512 or a 2764-27010 configuration. Would this be a good solution, or are there better ways to do it?

author: analogix
author_rank: Frequent Contributor
timestamp: August 18, 2019, 04:55:29 pm
content: I think I've more or less worked out a PCB design for this (see attachement below and disregard the newbie design layout).I still don't understand how that other adapter in the photo I posted earlier can have A13 connected to VCC and still allow for 16 banks as the photo says, so in my design I've offset two sets of IC sockets, joining and separating each pin as needed.The bottom-most socket (silk-screen marked 2764/2732) is a "through socket" and plugs into where the 2732/2764 EPROMs used to be while the topmost socket (silk-screened as a 32-pin socket) houses the 27512 or 27010 for 16 banks worth of data.A solder-pad jumper is used so that the same PCB can be used for either a 2732/27512 combo or 2764/27010 combo.Unless I've made any mistakes there are only two things I haven't figured out yet:1)VPP:pin 1of the 2764 andpin 1of the 27010 is for theVPPsignal. I'm not completely sure what it is, but from the datasheets it appears to have something to do with the programing voltage. Can these pins be disconnected (as they are now, perhaps even disconnected from each other)?2)I'm aiming for a rotary type 16-way DIP switch for ease of use. Actually the board will have an option for an internal (on-board) DIP switch or an external type (also rotary, but with a longer shaft similar to a potmeter with a knob on) with a jumper to choose one or the other.But how do I know which switch combination corresponds to a particular bank selection/address?To avoid confusion it would be great to have DIP switch setting 1 to correspond with the lowest address EPROM bank while setting 16 would correspond to the highest and final bank in the 27512/27010 EPROM. I can't find any info on this in the various EPROM datasheets -does anyone have info on this they can share here?

author: soldar
author_rank: Super Contributor
timestamp: August 19, 2019, 11:41:27 am
content: Just in case it is of any interest to readers of this thread, I just posted this in the sales department:Quote from: soldar on August 19, 2019, 11:36:33 am

author: analogix
author_rank: Frequent Contributor
timestamp: August 20, 2019, 11:56:52 am
content: I believe you just hijacked my threadBack to the subject, let me explain my question a little better....The aim is to replace a 2732 (2K) with a 27512 which is split up into sixteen banks of 2K. Similarly, I also want to replace a 2764 (4K) somewhere else with a 27010 split up into sixteen banks of 4K, like this:Now, I believe the best way to do this is probably with a 4-bit (16 position) DIP switch, and I've chosesn to use a rotary type for practical purposes, as seen here along with a switch configuration (code table):So, how do I connect the DIP switch (toA11-A15for the 27512, andA12-A16for the 27010) so that the lowest/first bank in the EPROM corresponds to position "1" and the highest/last bank corresponds to positon "F"?

author: oPossum
author_rank: Super Contributor
timestamp: August 20, 2019, 01:00:30 pm
content: Code:27C512Vcc --> CA15 --> GndA14 --> 8A13 --> 4A12 --> 2A11 --> 1Pulldown resistor on A11 to A1427C010Vcc --> CA16 --> GndA15 --> 8A14 --> 4A13 --> 2A12 --> 1Pulldown resistor on A12 to A15

author: analogix
author_rank: Frequent Contributor
timestamp: August 24, 2019, 03:55:19 pm
content: I always thought you had to use the most significant bits (MSB) for bank-switching. I've also been told to use pullup resistors, not pulldown. Perhaps there are different ways of doing this....Here are two sets of schematics: the top ones done your way and the bottom ones my way. Disregard the DIP switch type. It's meant to be a 16-way rotary type but I couldn't find any such part in the Eagle library.

author: helius
author_rank: Super Contributor
timestamp: August 24, 2019, 05:12:50 pm
content: You can use any address bits you like for bank switching, and arbitrarily re-arrange the address bits (as long as the image you burn to the EPROM is swizzled similarly). There are no special pipelining or page mode requirements on these memories, so any address pin is as good as another.

author: sokoloff
author_rank: Super Contributor
timestamp: August 24, 2019, 05:17:52 pm
content: Quote from: analogix on August 20, 2019, 11:56:52 amSomeone hijacking a thread to sell parts for 1 Euro cent probably has fairly pure motivation and it's likely relevant to some readers of the thread. Either that or it's the least effective get rich quick spamming scheme I've ever seen.

author: analogix
author_rank: Frequent Contributor
timestamp: August 24, 2019, 06:31:41 pm
content: Quote from: helius on August 24, 2019, 05:12:50 pmSo both schematics will work equally well, but the DIP switch combinations will be different?What's the method for finding out the DIP combinations in relation to the address pins? Are there tables to be found somewhere?

author: helius
author_rank: Super Contributor
timestamp: August 24, 2019, 11:49:36 pm
content: Unless I am overlooking something really obvious, I don't think that there is anything special about the DIP switches; they simply act to pull one address pin low (or high).When you burn an image to an EPROM, the burner sees the address pins in reverse lexicographic order (A15, A14, A13, ... , A3, A2, A1, A0) and the least-significant address bits vary most quickly. So the first byte in the file is at address 0b000000000000000, the next is at 0b000000000000001, and so on.But there is no particular reason that your application needs to use the pins in the same way. You could use them in the order (A8, A7, A6, A15, A14, A13, A12, A11, A10, A9, A5, A4, A3, A2, A1, A0) if that made the circuit simpler to lay out. Or in the reverse order, or any permutation. At that point, you have two choices for how to burn the image. The first and most intuitive is to plug your adapter, with DIP switches, into the EPROM burner and burn your banks as separate 2732 images (changing the DIPs appropriately). Now you are guaranteed to burn the image in the same way that the application will see it.The second way is to pre-swizzle the ROM file to send each byte to its "image" in the new chip. The way you would do this is to write a program that takes in a ROM file and loops over each byte, with a counter going up from 0; each byte then gets written out to the target ROM file at a position that you calculate by swapping the address bit of the application with the address bit of the ROM.

author: oPossum
author_rank: Super Contributor
timestamp: August 25, 2019, 01:52:07 am
content: Quote from: analogix on August 24, 2019, 03:55:19 pmIf you use a rotary BCD switch, then using the switch for Vcc and pulldown resistors is required to keep the blocks in the order shown in the diagram you posted. Using the switch for ground and pullup resistors puts the blocks in opposite order from 15 at the bottom to 0 at the top. The diagram you posted showed only half the capacity of the EPROM being used, so the msb is grounded.

author: analogix
author_rank: Frequent Contributor
timestamp: August 25, 2019, 10:53:34 am
content: My mistake (I earlier referred to the 2732 being 2K and the 2764 as 4K -they're twice that).But the rest should be correct (16 banks of 2732 data (4K) fitting inside a 27512 (64K) and likewise for the 2764/27010). Source:Dataman EPROM memory size chart.Regarding the rest of what youoPossumandheliuswrite: I'll have to study that in more detail as a lot of this is new to me, but it's certainly useful to know that there are more ways to hook this up so I can possibly redesign it with physical size contraints in mind.As for programming the 27512/27010:I'll first join together the appropriate 16 files (BIN files meant to be burnt into 2732 or 2764 chips) using the following DOS command (only 4 files in the examples below):Code:copy /b FILE_1.BIN+FILE_2.BIN+FILE_3.BIN+FILE_4.BIN COMBINED_1234.BINor in UNIX (Mac):Code:cat FILE_1.BIN FILE_2.BIN FILE_3.BIN FILE_4.BIN > COMBINED_1234.BINWith the new EPROMs ready, I should end up with "FILE_1.BIN" as the first/lowest address file and "FILE_16.BIN" as the last/highest file, accessable with the DIP switch combination and I should be able to burn the 27512 or 27010 chips the usual way using the merged files.DIP switch settings:I was told by someone else that with the EPROMs prepared that way above along with my schematic (the ones with the 4 highest address bits connected to the DIP switch/pulldown resistors) it's simply a matter of counting upwards in binary code from 0 to 15 with the DIP switch combinations.oPossum: you suggest using a BCD switch in your schematic, but doesn't BCD refer to rotary DIP switches with just 10 positions? While "Hexidecimal" types have 16 positions.(fromGrayhill 94H series datasheet).

author: oPossum
author_rank: Super Contributor
timestamp: August 25, 2019, 11:00:09 am
content: Quote from: analogix on August 25, 2019, 10:53:34 amIf the switch is marked 0 to 15 then I would call it BCD. Decimal digits are 0 to 9, but decimal numbers can have may digits.If the switch is marked 0 to 9, A to F then I would call it hexidecimal.

author: analogix
author_rank: Frequent Contributor
timestamp: August 25, 2019, 11:21:11 am
content: So it only has to do with the markings on the outside, not with how they're set up inside?Are there 16-way rotary DIP switches with decimal number labelling (i.e. .....7,8,9,10,11,12....)? I've only found ones with hex labelling.Also, are there rotary DIP switches which can be front panel mounted (like a potmeter)? For my project I need both PCB through-hole right-angle mountable DIP switches (no problem finding those) and the equivalent with front panel mounting.

author: oPossum
author_rank: Super Contributor
timestamp: August 25, 2019, 11:39:56 am
content: Thumbwheel or pushwheel switches are typically used for panel mounting.Pushwheel with 0 to 15 markings...https://www.datasheets360.com/pdf/5841758742966473284

author: sokoloff
author_rank: Super Contributor
timestamp: August 25, 2019, 11:41:16 am
content: Quote from: oPossum on August 25, 2019, 11:00:09 amBCD only has a range of one decimal digit per coding group. (Typically uses 4 bits to encode the digits 0-9 and "wastes" 6 of the possible states.) So a BCD selector would naturally have a range of 0-9, not 0-15.