[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Minicom Connection Over Serial Port To PIC18F452 Device



Robert L Cochran wrote:
Mike McCarty wrote:

Robert L Cochran wrote:

I'm trying to use minicom on Fedora Core 4 to speak to a PIC18F452 chip which contains a preloaded version of the Microchip TCP/IP stack. I built the device myself from a kit; it is intended to be a small web server. My objective is to assign an IP address to the RTL9019AS ethernet controller. This can be accomplished over a setup menu that appears in the minicom window. I suspect I have incorrect minicom settings.



[snip]

Then I start the setup menu again in a new minicom window. The original -- default -- IP address appears.

So it seems like the option to save the IP address isn't working right. Things are apparently lost when I restart the device.

Is this a minicom software issue, or is it bad soldering on my part with the actual device being tested? I'm quite willing to agree it may have soldering issues.



I don't see how it can be Minicom. All it does is transport
characters from your keyboard out the serial port, and from
the serial port to your display. If you are getting communications
with the device, then Minicom is doing its job. Without knowing
more about the PIC device, I can't say any more. Are you using
shadow RAM or nonvolatile RAM or EEPROM or FLASH EEPROM or what
to store? If it uses a RAM copy, but saves config in a serial
EEPROM, it could be that you indeed have a solder problem
on the board, like a cold solder joint to the data clock pin.

In any case, I don't see how it can be Minicom.

Mike


Thank you -- I will check my soldering work; I've already looked at the EEPROM (a Microchip 24LC256) and I think I did a poor job on pin 1. Probably the other pins too, this is the first SOIC I've ever soldered.

I also think I need to learn about the different types of RAM and EEPROM you are referencing above. I know i'm using an EEPROM, but I need to learn what shadow or nonvolatile RAM is and how an EEPROM differs from a flah EEPROM.

I'll start looking at datasheets and do some resoldering.

Ok. Here's a little vocabulary (really getting OT here)

RAM - Random Access Memory, so called because it may be read
and written from random addresses, and in roughly the same
amount of time to read or write.

ROM - Read Only Memory, memory which can be programmed at most
once. Some of it is "mask programmed" which means that the data
are actually built into it. Other ROM is "program once", which
means it has little fuses in it which can be blown.

PROM - Programmable Read Only memory, a type of ROM which I mentioned
above which can be programmed.

EPROM - Erasable Programmable Read Only Memory, ROM which can be
erased (usually by using ultraviolet light) and then reprogrammed.
Such chips normally have a quartz window to let in the light.

OTPROM - One Time Programmable Read Only Memory, which is EPROM,
which technically *could* be erased by using UV light, but no
window is provided, so it can't actually be erased without
drilling a hole in the chip, erasing, and then refilling, which
really means effectively never.

EEPROM - Electrically Erasable Read Only Memory... EPROM which
can be erased by a high voltage (like 12-20V or so). This can
sorta be treated like a very slow RAM. Fast to read (or relatively
so) but takes 2 to 10 milliseconds to erase/program a byte. A byte must
usually be erased before it can be rewritten.

FLASH - a type of EEPROM which can be erased only many bytes
at a time. Since a whole block (often called a sector) must
be erased, so must a whole block be programmed. But the entire
process is normally faster than "regular" EEPROM. IOW, it
takes 2 ms to erase/write a byte in EEPROM. It takes the same 2 ms
to erase/write a 128 byte sector of FLASH. (Some use sectors in
the kilobytes.)

Shadow RAM - an EEPROM and a RAM in the same chip. Upon power up,
the content of the ROM is copied to the RAM (which reads faster
than the ROM). Writes take place also to the RAM (which is *much*
faster, like 100 nanoseconds to write or less). During power down,
the RAM gets copied back to the EEPROM. This term is also used
for a regular ROM and separate RAM (like Shadow RAM for the
video BIOS). Note that in this case, the Shadow RAM is not intended
to be written after being copied from the ROM, as the ROM cannot
accept the modified copy.

Non-Volatile RAM - RAM with an integral battery so when no external
power is applied, it can still remember. There are other kinds of
non-volatile RAM, but this is the most common.

Serial EEPROM - EEPROM which uses fewer pins, and has a serial
interface. Usually there are power (2 pins) Data In (one pin)
Data Out (one pin), Clock (1 pin) and Enable (1 pin), so it
normally comes in an 8 pin package. The bits are fed to the
chip (and read out) sequentially. When the bit is ready, the
clock line is toggled. This contrasts with RAM and regular ROM
which normally have all address and/or data presented at once.

SRAM - Static RAM... RAM which can remember its contents indefinitely
so long as power is applied.

DRAM - Dynamic RAM... RAM which, if not accessed on a regular basis,
will "forget" what is stored in it, even when power is continuously
applied. It is denser and less expensive than SRAM, but consumes
more power and needs more complex support circuitry. Has multiplexed
address pins in order to address the larger range of addresses it
can contain, without having to use many more pins. Most RAM used
in regular computers is of this variety.

SDRAM - Synchronous DRAM... DRAM which operates synchronously
with the processor to transfer multiple bytes per read/write.
This is the most common form of DRAM in use today, and is normally
used in conjuction with a cache controller (built into modern
processors). The SDRAM is copied (usually in multiples of
a 'cache line' of 32 bytes) into the cache, which is faster
than the regular RAM. Normal cycle times are bus speed of
less than 60MHz, whereas the cache can normally be read in
2 ns or less (500MHz or better).

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]