Maker Pro
Maker Pro

8051/8031 series MCU replace/upgrade ROM issues ?

R

robb

my 8031 board is essentially a romless 8051 (minus program
memory as datasheet says) .

the board has an external ROM chip for 8031 to read.

can one sub an 8051 with on chip ROM that is null **with out
worries**
my concern would be the 8051 on chip ROM conflicting with the
external ROM ???

and of course how likely to copy external ROM to the 8051 on chip
rom and loose external ROM witout any code mods ????

I have not digested enough about how the ROM usage occurs to
figure it out ... yet

some guidance would be appreciatted,
robb
 
D

Dave Platt

robb said:
my 8031 board is essentially a romless 8051 (minus program
memory as datasheet says) .

the board has an external ROM chip for 8031 to read.

can one sub an 8051 with on chip ROM that is null **with out
worries**
my concern would be the 8051 on chip ROM conflicting with the
external ROM ???

On a standard 8051, the /EA pin controls whether program code is
fetched from an external ROM (/EA is pulled low) or whether the
program code is fetched from the internal ROM (/EA is pulled high, and
the program address being fetched is within the address range of the
internal ROM).

On your board, /EA is probably hardwired to ground. If you substitute
an 8751, or a masked-ROM part, and don't change the wiring of /EA to
ground, the new chip will fetch code from the external ROM just as the
current chip does.
and of course how likely to copy external ROM to the 8051 on chip
rom and loose external ROM witout any code mods ????

You should be able to load the ROM contents, program it into an EPROM
or OTP or flash-based 80x1's internal program memory, re-wire the /EA
pin (connect it to Vcc rather than to ground), and run the code with
without needing an external ROM. If the specific chip you use is
otherwise hardware-compatible with the one you are replacing, I'd
expect that no code changes at all would be needed.
 
P

Pieter

On a standard 8051, the /EA pin controls whether program code is
fetched from an external ROM (/EA is pulled low) or whether the
program code is fetched from the internal ROM (/EA is pulled high, and
the program address being fetched is within the address range of the
internal ROM).

On your board, /EA is probably hardwired to ground. If you substitute
an 8751, or a masked-ROM part, and don't change the wiring of /EA to
ground, the new chip will fetch code from the external ROM just as the
current chip does.


You should be able to load the ROM contents, program it into an EPROM
or OTP or flash-based 80x1's internal program memory, re-wire the /EA
pin (connect it to Vcc rather than to ground), and run the code with
without needing an external ROM. If the specific chip you use is
otherwise hardware-compatible with the one you are replacing, I'd
expect that no code changes at all would be needed.

Exactly. Notice that the processor needsa hard reset to switch between
memory models. You can't switch between internal or external ROM with
your i/o etc. It needs a hard reset.

Pieter
 
R

robb

Dave Platt said:
On a standard 8051, the /EA pin controls whether program code is
fetched from an external ROM (/EA is pulled low) or whether the
program code is fetched from the internal ROM (/EA is pulled high, and
the program address being fetched is within the address range of the
internal ROM).

On your board, /EA is probably hardwired to ground. If you substitute
an 8751, or a masked-ROM part, and don't change the wiring of /EA to
ground, the new chip will fetch code from the external ROM just as the
current chip does.

great !
yes, the /EA (pin 31) is tied to ground through a 4.7k resistor
just as you proposed
You should be able to load the ROM contents, program it into an EPROM
or OTP or flash-based 80x1's internal program memory, re-wire the /EA
pin (connect it to Vcc rather than to ground), and run the code with
without needing an external ROM. If the specific chip you use is
otherwise hardware-compatible with the one you are replacing, I'd
expect that no code changes at all would be needed.

ah great news.
I am trying to repair the microcontroler board and at times
during the repair process i wonder if i should try and improve or
simplify (of course there is the issue of adding more unknown
factors) but if it helps reduce the number of components and
appears an obvious improvement then why not try ...

Thanks for the help and info,
robb
 
R

robb

Dave Platt said:
On a standard 8051, the /EA pin controls whether program code is
fetched from an external ROM (/EA is pulled low) or whether the
program code is fetched from the internal ROM (/EA is pulled high, and
the program address being fetched is within the address range of the
internal ROM).

should there be any circuit pre-cautions to wiring /EA to Vcc ?

should i wire direct to closest Vcc source or should i put some
component combo between Vcc and /EA ?

thanks again fo the help,
robb
 
D

Dave Platt

robb said:
should there be any circuit pre-cautions to wiring /EA to Vcc ?

should i wire direct to closest Vcc source or should i put some
component combo between Vcc and /EA ?

I'd treat it like any other I/O pin. If CMOS, you can probably wire
it directly to Vcc. If TTL, I'd use a series 4k7 resistor to
protect it against a possible voltage spike on the Vcc rail.

Since your board already has such a resistor tying /EA to ground, I'd
consider just lifting the grounded end of that resistor and jumpering
it to Vcc.
 
R

Rich Grise

ah great news.
I am trying to repair the microcontroler board and at times
during the repair process i wonder if i should try and improve or
simplify (of course there is the issue of adding more unknown
factors) but if it helps reduce the number of components and
appears an obvious improvement then why not try ...

If you're being paid to repair it, just make it work per the print,
using as close to OEM parts as you can get.

If you're being paid to modify it, raise your rates. ;-)

Good Luck!
Rich
 
R

robb

Dave Platt said:
I'd treat it like any other I/O pin. If CMOS, you can probably wire
it directly to Vcc. If TTL, I'd use a series 4k7 resistor to
protect it against a possible voltage spike on the Vcc rail.

Since your board already has such a resistor tying /EA to ground, I'd
consider just lifting the grounded end of that resistor and jumpering
it to Vcc.

Thanks for your time and help Dave,

do you happwn to have idea of cheapest/simplest way to get ROM
data in and out of the 8051 ?

i see a variety of devices such as Evaluatoin boards, dev boards,
serial adapters, serial programmers, downloaders and program
burners ? quite a variety of prices and sophistication or
equipment.

i just want to be able to copy code to and from 8051 not
neccesarily to develop any applications if the best option
incleudes those features then ok but it is not the intention .

thanks again,
robb
 
D

Dave Platt

Thanks for your time and help Dave,
do you happwn to have idea of cheapest/simplest way to get ROM
data in and out of the 8051 ?

i see a variety of devices such as Evaluatoin boards, dev boards,
serial adapters, serial programmers, downloaders and program
burners ? quite a variety of prices and sophistication or
equipment.

It depends very much on the specific type of chip.

If I recall correctly, classic 8751 parts were/are EPROM-based, and
require a programming algorithm much like a standard EPROM - a
relatively high programming voltage, repeated programming pulses, and
so forth. A "real" device programmer is usually needed for this sort
of part, and a UV EPROM eraser is needed to blank the device and make
it available for programming.

Some newer 80C51-type processors have a much-easier-to-work-with
programming architecture - 5-volt-only, often designed for in-circuit
programming with just two or three pins using a serial programming
algorithm. I think that some such parts can be programmed using just
a PC's parallel port and a handful of simple components, well within
the scope of almost any electronics hobbyist.

You'll need to select the microprocessor chip you're planning to use
before you can decide on a programming methodology.
 
R

robb

Eeyore said:
I've found some inexpensive programmers on ebay. e.g.
http://cgi.ebay.co.uk/ADVANCED-EPRO...ryZ40004QQssPageNameZWDVWQQrdZ1QQcmdZViewItem

And many of the modern flash memory based parts can be programmed in circuit.
Graham

Thanks graham,

I just bought a xeltek universal programmer for $5 (us) on ebay
... just waiting for delivery. i do not really have my
expectations set too high though.

i mainly asked the question to defer to you experts and
experienced peoples as to which equipoment is best suited for my
task.... which is reading old 23256 and/or 8051 ROMs and then
writting to newer 27c256 ROMS or 8051 ROM space.

Ebay is littered with junk and few gems and i was hoping someone
could give me an idea of a gem to seek.
then i can wait and watch

thanks ,
robb
 
E

Eeyore

robb said:
i mainly asked the question to defer to you experts and
experienced peoples as to which equipoment is best suited for my
task.... which is reading old 23256 and/or 8051 ROMs and then
writting to newer 27c256 ROMS or 8051 ROM space.

Right. You need a programmer with MCU capability to do that.

Graham
 
Top