Searching \ for 'serial memory' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/io/serials.htm?key=serial
Search entire site for: 'serial memory'.

Truncated match.
PICList Thread
'serial memory'
1996\04\15@232516 by Juan Abba

flavicon
face
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

1996\04\16@001936 by Clyde Smith-Stubbs

flavicon
face
Juan Abba <spam_OUTjuanabbaTakeThisOuTspamAX.APC.ORG> wrote:

> 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
.....clydeKILLspamspam@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 infospamKILLspamhitech.com.au

1996\04\16@040025 by Chaipi Wijnbergen

flavicon
picon face
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.

chaipi

                              \\\|///
                            \\  ~ ~  //
                             (  @ @  )
----------------------------oOOo-(_)-oOOo--------------------------------------
!                                                                             !
! Chaipi Wijnbergen                                                           !
! Electronics/Computer Eng. M.Sc.  Tel    : +972-8-9343079                    !
! Optical Imaging Laboratory       Fax    : +972-8-9344129                    !
! Brain Research Center            Email  : .....chaipiKILLspamspam.....tohu0.weizmann.ac.il       !
! Weizmann Institute of Science    URL    : http://www.weizmann.ac.il/~chaipi !
! Rehovot 76100 ISRAEL             IPhone : chaipi                            !
!                                                                             !
------------------------------------Oooo.--------------------------------------
                         .oooO     (   )
                         (   )      ) /
                          \ (      (_/
                           \_)

1996\04\16@070308 by Byron A Jeff

face picon face
>
> 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.

Hope this helps,

BAJ

1996\04\16@141301 by mike

flavicon
picon face
In message <EraseME829627543.21060.0spam_OUTspamTakeThisOuTvms.dc.lsoft.com> PICLISTspamspam_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.


Regards,

Mike Watson
--
Mayes uk

1996\04\17@082521 by Philippe TECHER

flavicon
face
Juan Abba <@spam@juanabbaKILLspamspamAX.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 !

;*****************************************************************************
;**************  RAM / EEProm ACCESS ROUTINE on I2C Bus **********************
;   HCK = PortA.0
;   SDA = PortA.1   (In/Out)
;*****************************************************************************

I2C_Address    equ %10100000       ; ITEM address on I2C Line
                          ;---------------- REGISTERS
Address        equ $18     ; Address to Read/Write
DataHi         equ $19     ; Word DATA (16Bits)
DataLo         equ $1A

Data1          equ $10
Data2          equ $11

TempTxRx       equ $1B     ; Temporary register
I2CCnt         equ $1C     ; Counter to send/Receive bits

                          ;---------------- 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

TXDataLoop     bcf   I2CPort,SDA   ; SDA = 0
              rlf   TempTXRX
              btfsc STATUS,CY     ; Skip if CARRY=0
              bsf   I2CPort,SDA
              bsf   I2CPort,HCK   ; HCK = 1
              nop
              nop
              nop
              nop
              bcf   I2CPort,HCK   ; HCK = 0
              decfsz I2CCnt
              goto  TXDataLoop
              nop
              nop
              retlw I2COk

;*****************************************************************************
; Read TempTXRX on SDA Line

RXData         movlw I2CSetIN      ; Set SDA as INPUT
              tris  A
              movlw 8             ; I2CCnt = 8
              movwf I2CCnt
              clrf  TempTXRX

RXDataLoop     bsf   I2CPort,HCK   ; HCK = 1
              bcf   STATUS,CY     ; CARRY = 0
              btfsc I2CPort,SDA   ; Skip if SDA=0
              bsf   STATUS,CY
              rlf   TempTXRX
              nop
              bcf   I2CPort,HCK   ; HCK = 0
              nop
              nop
              nop
              decfsz I2CCnt
              goto  RXDataLoop
              retlw I2COk

;*****************************************************************************
; Wait k Cycle for Acknowledge from slave

ACKWait0       movlw I2CSetIN
              tris  A
              bsf   I2CPort,HCK   ; HCK = 1

              movlw I2CAckWait    ; I2CCnt = I2CAckWait (Wait TIME)
              movf  I2CCnt

ACKLoop0       btfss I2CPort,SDA   ; Skip if SDA = 1
              goto  AckOk0
              decfsz I2CCnt
              goto  AckLoop0
              bcf   I2CPort,HCK   ; HCK = 0
              retlw I2CError

ACKOk0         bcf   I2CPort,HCK   ; HCK = 0
              retlw I2COk

;*****************************************************************************
; Wait k Cycle for Acknowledge from MASTER, if SDA line goes down then, an
; error occur (because SLAVE want to interrupt transmission)

ACKWait1       movlw I2CSetOut
              tris  A
              bcf   I2CPort,SDA   ; HCK = 0
              bsf   I2CPort,HCK   ; HCK = 1
              nop
              nop
              nop
              nop
              bcf   I2CPort,HCK   ; HCK = 0
              nop
              nop
              retlw I2COk

;*****************************************************************************

ACKWaitEnd     movlw I2CSetIN
              tris  A
              bsf   I2CPort,HCK   ; HCK = 1
              nop
              nop
              nop
              nop
              btfss I2CPort,SDA   ; Skip if SDA = 1
              goto  AckEr1
              bcf   I2CPort,HCK   ; HCK = 0
              retlw I2COk

ACKEr1         bcf   I2CPort,HCK   ; HCK = 0
              retlw I2CError

;*****************************************************************************
; OutPut the Start CONDITION

I2CStart       movlw I2CSetOut
              tris  A
              bsf   I2CPort,SDA   ; SDA = 1
              bsf   I2CPort,HCK   ; HCK = 1
              nop
              nop
              nop
              nop
              bcf   I2CPort,SDA   ; SDA = 0
              nop
              nop
              nop
              nop
              bcf   I2CPort,HCK   ; HCK = 0
              nop
              retlw 0

;*****************************************************************************
; OutPut the Stop CONDITION

I2CStop        movlw I2CSetOut     ; Set SDA as OUTPUT
              tris  A
              bcf   I2CPort,SDA   ; SDA = 0
              bsf   I2CPort,HCK   ; HCK = 1
              nop
              nop
              nop
              nop
              bsf   I2CPort,SDA   ; SDA = 1
              nop
              nop
              nop
              nop
              bcf   I2CPort,HCK   ; HCK = 0
              nop
              retlw I2CError      ; An ERROR is finishig by a STOP Condition

;*****************************************************************************
; END OF I2C CODE


'serial memory'
1998\07\27@133625 by Arvi Karhumaki
flavicon
face
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:  KILLspamarviKILLspamspamvistacom.fi
Support Technician                      Phone:  +358-9-6226 2325
Vista Communication Instruments

1998\07\27@151952 by Andy Kunz

flavicon
face
www.atmel.com and follow the links for DataFlash


At 04:46 PM 7/27/98 +0300, you wrote:
{Quote hidden}

==================================================================
Andy Kunz - Statistical Research, Inc. - Westfield, New Jersey USA
==================================================================

1998\07\27@160027 by Mark Willis
flavicon
face
The Microchip 24LC256 (& associated chips) family have fairly large
capacities & are pretty easy to interface to (2-wire interface);  See
specs down from http://www.microchip.com/0/Lit/Memory/index.htm, for the
larger chips see
http://www.microchip.com/0/Lit/Memory/IC/64to128/index.htm.

 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!)

 Mark Willis, spamBeGonemwillisspamBeGonespamnwlink.com

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:  TakeThisOuTarviEraseMEspamspam_OUTvistacom.fi
> Support Technician                      Phone:  +358-9-6226 2325
> Vista Communication Instruments

More... (looser matching)
- Last day of these posts
- In 1998 , 1999 only
- Today
- New search...