For a new application under analysis, we will need about 2K of RAM memory for
data arrays storage.
Serial memory could be a solution, as it appears that a 20MHZ 16C73 we are
planning to use will be fast enough for the application, with spare time for
serial data handling.
Have searched the Microchip 1995/1996 data book, but have only found serial
EEPROM's.
Is there anybody with experience on I2C type serial RAM, volatile equivalent to
the microchip I2C serial EEprom family????
Pls. provide details
> Is there anybody with experience on I2C type serial RAM, volatile equivalent
to
> the microchip I2C serial EEprom family????
I don't have any experience with it, but Philips have a 256x8 I2C interfaced
RAM device. You can use 8 on the I2C bus (maybe more) which would give you
the 2K you need. The part no, is PCF8570 - you can get a data sheet from http://www.semiconductors.philips.com/ps/acrobat/3041.pdf.
--
Clyde Smith-Stubbs | HI-TECH Software, | Voice: +61 7 3300 5011 .....clydeKILLspam@spam@hitech.com.au | P.O. Box 103, Alderley, | Fax: +61 7 3300 5246 http://www.hitech.com.au | QLD, 4051, AUSTRALIA. | BBS: +61 7 3300 5235
----------------------------------------------------------------------------
For info on the World's best C cross compilers for embedded systems, point
your WWW browser at http://www.hitech.com.au, or email infoKILLspamhitech.com.au
> For a new application under analysis, we will need about 2K of RAM memory for
> data arrays storage.
>
> Serial memory could be a solution, as it appears that a 20MHZ 16C73 we are
> planning to use will be fast enough for the application, with spare time for
> serial data handling.
>
> Have searched the Microchip 1995/1996 data book, but have only found serial
> EEPROM's.
I also looked at this and decided that it would be too slow and too
small, so I added an external SRAM 32K and wrote a small program that
will be able to read and write to it using some I/O bits.
>
> On Tue, 16 Apr 1996, Juan Abba wrote:
>
> > For a new application under analysis, we will need about 2K of RAM memory
for
> > data arrays storage.
> >
> > Serial memory could be a solution, as it appears that a 20MHZ 16C73 we are
> > planning to use will be fast enough for the application, with spare time
for
> > serial data handling.
> >
> > Have searched the Microchip 1995/1996 data book, but have only found serial
> > EEPROM's.
>
> I also looked at this and decided that it would be too slow and too
> small, so I added an external SRAM 32K and wrote a small program that
> will be able to read and write to it using some I/O bits.
It not only takes a few I/O bits (11-12 at a minimum if you use external
latches and a decoder) but quite a lot of board real estate with the
extra chips offboard. It's a good solution if you need fast access and
a lot of memory and most importantly you can spare the board real-estate.
I've come across another possible solution: The Dallas SemiConductor RAMPort.
It's a 24 pin 600 mil 2K static ram specifically designed for attachment
to microcontrollers because it not only internalizes the previously mentioned
latches and decoder, but it also duplicates the 8 bit port you need to talk
to it. So instead of losing 10 I/O pins (8 data, 2 control) you actually only
lose the 2 control pins because the 8 data pins are duplicated by the part.
The parts use a 3 byte sequence to read and write so it's quite fast relative
to a serially accessed part.
The part numbers are DS1380 and DS1381. The 1381 has a built in lithium
battery for data retention while the 1380 has battery pins to attach an
external pattery. $9 and $11 in singles through the DalSemi extremely
experimenter friendly 1-800 line (factory direct, no minimum order,
credit card, fast delivery, what more can you ask for).
I plan to use the part in an upcoming project soon to be announced here.
In message <EraseME829627543.21060.0spam_OUTTakeThisOuTvms.dc.lsoft.com> PICLISTspam_OUTMITVMA.MIT.EDU writes:
> For a new application under analysis, we will need about 2K of RAM memory for
> data arrays storage.
>
> Serial memory could be a solution, as it appears that a 20MHZ 16C73 we are
> planning to use will be fast enough for the application, with spare time for
> serial data handling.
>
> Have searched the Microchip 1995/1996 data book, but have only found serial
> EEPROM's.
>
> Is there anybody with experience on I2C type serial RAM, volatile equivalent
to
> the microchip I2C serial EEprom family????
> Pls. provide details
>
>
juan,
You could try a RAMTron serial FRAM. They behave like EEProms, but have *NO*
write delay and 10 billion (10^10) cycle read/write endurance figure.
The FM24C16 is a 2K by 8 device with I2C at 100kHz and 400kHz.
I've used them before with no problems.
The data book gives a 800 number: (800) 545-FRAM/DRAM.
Juan Abba <@spam@juanabbaKILLspamAX.APC.ORG> wrote:
> Is there anybody with experience on I2C type serial RAM, volatile equivalent
to
> the microchip I2C serial EEprom family????
Hi,
Here is the code to drive an I2C RAM/EEPROM (PIC16C54..57), you can also
use 93C46( or 06 or ...) EEPROM type, but the protocol is different.
Be carrefull about timing, I2C application note said I2C Clock can run only
at 100KHz !
;---------------- CONST
I2CSetOUT equ %0000 ; Value to configure SDA as OUTPUT
I2CSetIN equ %0010 ; Value to configure SDA as INPUT
I2CPort equ 5 ; PORT A is I2CPort
HCK equ 0 ; PortA.0
SDA equ 1 ; PortA.1
I2CAckWait equ 20 ; WAIT time to check ACKNOWLEDGE
I2CError equ 1 ; return value if error
I2COk equ 0 ; return value if OK
;******************************************************************************
;*****************************************************************************
; RAM / EEProm ACCESS ROUTINE on I2C Bus
; HCK = PortA.0
; SDA = PortA.1 (In/Out)
;*****************************************************************************
; WRITE WORD Data to I2C-RAM/EPROM
; Address : Address of the 2 Byte to WRITE
; DataHi : Hi Data
; DataLo : Lo Data
I2CWriteData call I2CStart ; START BIT
movlw I2C_Address ; Put SLAVE address on I2C line
iorlw %00000000 ; To WRITE a DATA at ADDRESS
movwf TempTXRX ; TempTXRX = Address of I2C Item
call TxData ; Transfert DATA on SDA Line
call AckWait0 ; Wait for Acknowledge
btfss STATUS,2 ; Skip if Z=1
goto I2CStop
movf Address,W ; Address to Access in W
movwf TempTXRX ; Address to Access in W
call TxData ; Transfert DATA on SDA Line
call AckWait0 ; Wait for Acknowledge
iorlw 0
btfss STATUS,2 ; Skip if Z=1
goto I2CStop
movf Data1,W ; DataLO to WRITE in W
movwf TempTXRX
call TxData ; Transfert DATA on SDA Line
call AckWait0 ; Wait for Acknowledge
iorlw 0
btfss STATUS,2 ; Skip if Z=1
goto I2CStop
movf Data2,W ; DataHI to WRITE in W
movwf TempTXRX
call TxData ; Transfert DATA on SDA Line
call AckWait0 ; Wait for Acknowledge
iorlw 0
call I2CStop ; STOP BIT
retlw I2COk
;*****************************************************************************
; Output TempTXRX on SDA Line
TXData movlw I2CSetOut ; Set SDA as OUTPUT
tris A
bcf I2CPort,SDA ; SDA = 0
movlw 8 ; I2CCnt = 8
movwf I2CCnt
;*****************************************************************************
; Wait k Cycle for Acknowledge from MASTER, if SDA line goes down then, an
; error occur (because SLAVE want to interrupt transmission)
Does anybody know of a way to combine a PIC with a really large chunk of
serial memory, much more than 8 kilobytes? Do you know what serial memory
chips are available, and practical? EEPROM or FLASH would do, it's got to be
non-volatile memory.
Arvi Karhumaki EMail: KILLspamarviKILLspamvistacom.fi
Support Technician Phone: +358-9-6226 2325
Vista Communication Instruments
>Does anybody know of a way to combine a PIC with a really large chunk of
>serial memory, much more than 8 kilobytes? Do you know what serial memory
>chips are available, and practical? EEPROM or FLASH would do, it's got to be
>non-volatile memory.
>
>
>
>Arvi Karhumaki EMail: RemoveMEarviTakeThisOuTvistacom.fi
>Support Technician Phone: +358-9-6226 2325
>Vista Communication Instruments
>
>
==================================================================
Andy Kunz - Statistical Research, Inc. - Westfield, New Jersey USA
==================================================================
The 24LC256 is a 32k byte (8-bit bytes) i.e. 256k bit part. 64-byte
page mode available. It's available in DIP-08 or SOIC-08 packaging,
which is nice! $3ish in quantity.
For one project, the customer (second alpha tester) feels we need 1/2
megabyte of SEEProm, so we're looking at either that part, 16 in
parallel of 'em, which would take 3 PIC pins; or alternately at the
Atmel DataFlash parts at http://www.atmel.com/atmel/products/select15.htm, for the first manual
page of their 512k byte i.e. 4 Megabit part, see http://www.atmel.com/atmel/postscript/first_page/doc0803a.gif; They go
from 2 megabits, up to 16 megabits on one 2.7V part (!) Disadvantages I
can see so far over Microchip parts are size (soic-28 vs. -08, also in
TSOP-28 and PLCC-32 packages) and it's a bit harder to use, 2048
264-byte pages, not byte accesses; advantages are it's fast! (10 MHz
max clock rate), & lots of data in one chip, don't have to run 16
24LC256's for the same storage, and cheaper ($10 for a half megabyte
instead of $50ish for 16, 24LC parts.)
Atmel has regular Serial EEProms at http://www.atmel.com/atmel/products/prod6.htm, also. 1k bit up to 256 k
bit, I haven't looked at those much, the Microchip parts may be a smidge
easier to use? but maybe these are more versatile?, don't know pricing
but imagine it's comparable.
(Personally I still think we could get by with 2 24LC256'es, but, "The
customer's always right." Ack!)
Arvi Karhumaki wrote:
>
> Does anybody know of a way to combine a PIC with a really large chunk of
> serial memory, much more than 8 kilobytes? Do you know what serial memory
> chips are available, and practical? EEPROM or FLASH would do, it's got to be
> non-volatile memory.
>
> Arvi Karhumaki EMail: TakeThisOuTarviEraseMEspam_OUTvistacom.fi
> Support Technician Phone: +358-9-6226 2325
> Vista Communication Instruments