Searching \ for ' I2C 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/i2cs.htm?key=i2c
Search entire site for: 'I2C Memory'.

No exact or substring matches. trying for part
PICList Thread
'Re i2c memory'
1994\08\24@094449 by crocontroller discussion list

flavicon
face
Sounds great!
could you fax me some details...
max no. of write cycles
max clock speed
prices for full range of memory capacities
ordering details and stockists

Thanks,

Bryan

--
---------------------------------
BRYAN CROTAZ - spam_OUTb.crotazTakeThisOuTspamic.ac.uk
---------------------------------
TECHNICAL MANAGER
Student Television Of Imperial College
Beit Quad, Prince Consort Road
London  SW7 2BB
Tel. 071-594-8104
Fax. 071-225-2309 attn. STOIC


'AW: I2C Memory'
1998\03\02@083639 by A. Voigt
flavicon
face
Any ideas, the datasheet doesn't say so but is the I2C memory
open-collector and as such must put in some pull-up resistors???

You DO have to use pullups on BOTH I2C lines, usually 10k - 100k, depending on
speed.

Andreas


'Large I2C memory ???'
1999\05\03@181916 by Chris Lauren
flavicon
face
part 0 658 bytes
<META content=text/html;charset=iso-8859-1 http-equiv=Content-Type>
<META content='"MSHTML 4.72.3110.7"' name=GENERATOR>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2>
<P>Hello there,</P>
<P>I am working on a PIC data logger and I need to store 1 to 2 MB (by 8 bit
word) of data in a non volatile memory, I can use several I2C devices, but I
wonder if anyone out there have seen any large capacity serial EE proms or
serial battery backed up ram chips ? (Access speed is not an issue)</P>
<P>Chris</P></FONT></DIV></BODY></HTML>

</x-html>

1999\05\03@195625 by Gordon Varney

flavicon
face
part 0 16 bytes
</x-html>

1999\05\03@200256 by ryan pogge

picon face
got any links to flash memory manufacturers?



Check out flash memory. 16 and 32 meg is nothing and will act much
like EEprom. Erasing is preformed in banks (1k or more), not bytes,
however you can use pointers to update data locations and change byte
info on the fly. There are techniques out there for doing this.

Gordon Varney
 ----- Original Message -----
 From: Chris Lauren
 To: .....PICLISTKILLspamspam@spam@MITVMA.MIT.EDU
 Sent: Monday, May 03, 1999 5:07 PM
 Subject: Large I2C memory ???


 Hello there,

 I am working on a PIC data logger and I need to store 1 to 2 MB (by
8 bit word) of data in a non volatile memory, I can use several I2C
devices, but I wonder if anyone out there have seen any large capacity
serial EE proms or serial battery backed up ram chips ? (Access speed
is not an issue)

 Chris

1999\05\03@201855 by William K. Borsum

flavicon
face
<x-rich>At 08:07 AM 5/4/99 +1000, you wrote:

>>>>

<excerpt>

Hello there,


I am working on a PIC data logger and I need to store 1 to 2 MB (by 8 bit
word) of data in a non volatile memory, I can use several I2C devices,
but I  wonder if anyone out there have seen any large capacity serial EE
proms or  serial battery backed up ram chips ? (Access speed is not an
issue)


Chris

</excerpt>


Yup.  They are called Camera memory Chips and a number of folks
manufacture them. Either I2C or SPI interfaces.  We build a series of OEM
data loggers and have built in an interface, but haven't gotten around to
implementing it yet since most of our clients don't need more than a few
thousand scans of data.  There are also some serial interface PCMCIA
cards out, but I am only going on rumor at this point.


Would appreciate some feedback when you find/implement a solution.


Will have a high speed version implemented in static ram up sometime in
the next couple of months for a new client needing 10K scans per second
for a few minutes of 24-bit data.


Existing systems are on our web page, but the new stuff isn't.  All our
stuff is available at the board level if something fits.


kelly





********************************************************************************
****

All legitimate attachments to this email will be clearly identified in the text.

Please note our new address and phone numbers.


William K. Borsum, P.E.

DASCOR

P.O.Box 462885

Escondido, CA 92046-2885


V&M&F)  760-796-7785

Direct)         760-796-7788

<<borsumspamKILLspamdascor.com>

</x-rich>

1999\05\03@224345 by Mark Willis

flavicon
face
Use an array of scads of 24LC256's, is one possibility?  (Eww, I know
<G>)  (Scary that there're no datasheets on the Microchip text web site
for these, yet Digi-Key has them for sale...)

 Another possibility, not I2C but possibly will help;  Take a look at
the Atmel AT45D081 and/or AT45D161, off of:
(D081): http://www.atmel.com/atmel/acrobat/doc0871.pdf
(D161): http://www.atmel.com/atmel/acrobat/doc1081.pdf

 Both are available in 5V and 2.7V versions, paged, 10+ mHz serial
clocking rate, basically designed for SPI not I2C but you can get at
them with just 5 PIC pins easily enough, and you can get samples;
$10ish for the D081.  They're in "megabit" sizes, so the D081 is 8
megabit i.e. 1 megabyte;  264 bytes/page so you have room for Error
Correction or the like, if desired.  And two nice 264 byte registers in
there for your use as buffers.  (The D161 may be faster & have larger
pages, IIRC, I'm not using it though.)  I can talk to you more off-list
on it.

 Mark

{Quote hidden}

1999\05\04@011835 by Lynx {Glenn Jones}

flavicon
face
Atmel has 2Mbyte (if i remember right) that use SPI. They are flash.

------------------------------------------------------------------------------
A member of the PI-100 Club:
3.1415926535897932384626433832795028841971693993751
058209749445923078164062862089986280348253421170679

On Tue, 4 May 1999, Chris Lauren wrote:

> Hello there,
>
> I am working on a PIC data logger and I need to store 1 to 2 MB (by 8 bit word
) of data in a non volatile memory, I can use several I2C devices, but I wonder
if anyone out there have seen any large capacity serial EE proms or serial batte
ry backed up ram chips ? (Access speed is not an issue)
>
> Chris
>
>

1999\05\04@110838 by Andy Kunz

flavicon
face
part 0 958 bytes
x-html> At 08:07 AM 5/4/99 +1000, you wrote:

Hello there,

I am working on a PIC data logger and I need to store 1 to 2 MB (by 8 bit word) of data in a non volatile memory, I can use several I2C devices, but I wonder if anyone out there have seen any large capacity serial EE proms or serial battery backed up ram chips

Atmel has a Serial DataFlash product which can fill the bill, except it is SPI rather than I2C.  Several megs per chip, though, and the price is good.

Andy



==================================================================
   Montana Design Tech Support - http://www.montanadesign. com
==================================================================

1999\05\04@123059 by Craig Lee

flavicon
face
Shame Andy for that HTML post!

I'm more interested in a removable module like Sandisks or something PCMCIA.

Has anyone seen, not just heard the rumours, of something like this?

Craig


{Original Message removed}

1999\05\04@164211 by Mark Willis

flavicon
face
For 2Mb Compact Flash modules for $15 apiece or so, look on eBay, I
don't see the guy right now but one guy's had bunches of them (I bought
4, can find his e-mail address, use them instead of Floppy disks for the
PC110's here.)  Many other people sell 2Mb and larger CF modules.

 CF can be used in a PCMCIA slot, CF's a lot smaller & will run 3.3V or
5V, which is NICE.  50-pin interface, though, not quite as simple as SPI
(basically an IDE interface, I have the pinout here somewhere.)  Will
happily talk more off-list about it if you want!

 Mark

Craig Lee wrote:
>
> Shame Andy for that HTML post!
>
> I'm more interested in a removable module like Sandisks or something PCMCIA.
>
> Has anyone seen, not just heard the rumours, of something like this?
>
> Craig
>
> {Original Message removed}

1999\05\04@171608 by Andy Kunz

flavicon
face
At 10:27 AM 5/4/99 -0600, you wrote:
>Shame Andy for that HTML post!

Sorry Craig, but my e-mailer doesn't originate HTML.  I turned it off.  If
somebody SENT me e-mail, it might have replied that way, though, so go
smack him instad.

>I'm more interested in a removable module like Sandisks or something PCMCIA.
>
>Has anyone seen, not just heard the rumours, of something like this?

You can buy Sandisk connectors, so why don't you plunk one of them and an
Atmel Serial DataFlash on it?

Andy

==================================================================
  Montana Design Tech Support - http://www.montanadesign.com
==================================================================


'[PICLIST] I2C Memory'
2001\09\26@031654 by Adlam Frank
flavicon
face
I just want to know if anyone knows of a manufacturer that manufactures a
64K byte I2C (or larger) EEPROM with enable lines.  I know ST
Microelectronics will start producing the M24512 at the end of this year,
but I need the memory before then.

Frank Adlam
Senior Lecturer
Faculty of Electrical and Mechanical Engineering
Port Elizabeth Technikon
Port Elizabeth
South Africa

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.


'[PIC]: 64kb I2C Memory available?'
2001\09\26@043234 by Adlam Frank

flavicon
face
I just want to know if anyone knows of a manufacturer that manufactures a
64K byte I2C (or larger) EEPROM with enable lines.  I know ST
Microelectronics will start producing the M24512 at the end of this year,
but I need the memory before then.  Maybe somebody used it in a current
project.  Thanks for the help.

Frank Adlam
Senior Lecturer
Faculty of Electrical and Mechanical Engineering
Port Elizabeth Technikon
Port Elizabeth
South Africa

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.


'[PICLIST] I2C Memory'
2001\09\26@043246 by Peter Grey

picon face
At 09:08 AM 9/26/2001 +0200, you wrote:
Have a look at the Atmel range. They do a 1 megabit EEPROM.

Peter
{Quote hidden}

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.


2001\09\26@050220 by Martin Hill

picon face
Not in I2C they don't, although they do in SPI.  They do a 512kb i2c, which
is the largest I have seen.

Martin

{Original Message removed}

2001\09\26@113425 by Bryan

flavicon
face
They do a i2c 24c1024 now, we have requested samples so that we can try them
out.

They are on this page.
http://www.atmel.com/atmel/products/prod162.htm

Bryan

----- Original Message -----
From: "Martin Hill" <.....eaxmjhiKILLspamspam.....NOTTINGHAM.AC.UK>
To: <EraseMEPICLISTspam_OUTspamTakeThisOuTMITVMA.MIT.EDU>
Sent: Wednesday, September 26, 2001 9:58 AM
Subject: Re: I2C Memory


> Not in I2C they don't, although they do in SPI.  They do a 512kb i2c,
which
> is the largest I have seen.
>
> Martin
>
> {Original Message removed}

2001\09\27@035228 by Adlam Frank

flavicon
face
Is the part in production?  We just need about four pieces for prototyping
purposes.  Do IIC and SPI devices in 1 M-bit.  Will ask for samples - Thanks
all!

{Original Message removed}


'[EE:] [PIC:] CCS - Auto baudrate && I2C memory tim'
2003\11\28@093454 by Yofumo Mimoto
picon face
Hello !

  Here i am again ! :-D Well, the thing is that i am trying to build an
iso 7816 data analyzer, so, when communications start baudrate is 9600
to get the ATR, but in ATR is negociated a new baudrate, then if i want
to log i need to change baudrate, so could i do this using CCS, how ?

  The question is that i am able to change baudrate from usart while
program is running, and how to do it ?

  Other question is that let's say i am working with a 28800 bauds, and
i want all data that comes in by usart to storage it into a i2c memory
(24LC512) this things are slow, and usart works slow, but would there be
enough time to sample and storage before next sample ?

 Thank you very much !

--
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads

2003\11\28@153818 by Paul Hutchinson

picon face
To change baud in CCS "C" simply issue a new "#use rs232" directive in the
code.

As to the EEPROM write speed vs. UART speed problem, yes, it may be a
problem. You will need to do the math to determine if it is a problem.
Buffering the data in RAM and then using the page write mode of the EEPROM
may be enough to overcome speed differences.

Paul

> {Original Message removed}


'[SX] 24LC16B I2c memory interface'
2005\08\14@031837 by jgjonolan/a
flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, jgjonola wrote:

Hey all, am I correct in thinking that i can only put 1 24LC16B eeprom chip on a i2c bus?  Since I noticed that on the datasheet (after i ordered the chips), the A0-A3 pins are not connected.  If this is true, I cant see a way to add anything else to this bus.  If so, how would i send or recieve data from a specific chip or device?  Is there a place that has more info on this?  Right now, while I am learning, I am using the Virtual Perf I2CMM_UART_TMR.src...  (attached)  

Thanks,
John Gjonola
---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=84290
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2005 (http://www.dotNetBB.com)

2005\08\14@044344 by g_daubachn/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, g_daubach wrote:

Hey,
you can find the datasheet for the 24LC16 here: http://ww1.microchip.com/downloads/en/DeviceDoc/21703E.pdf
The A2...A0 pins allow to communicate with up to eight 24LC16 devices, all connected to the same IC bus. Addressing of the devices is performed by sending a control byte via the bus.

The control byte is composed by the fixed bits 1010, followed by three address bits, followed by the read/*write bit. A 24CL16 with all three address pins connected to Vss would acknowledge the control byte 1010000x, and one with A0 connected to Vcc and A1, A2 connected to Vss would acknowledge the control byte 1010001x, etc. As long as you only have one EEPROM on the bus, simply connect all address pins to Vss, and send 1010000x as the control byte.

---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=84290#m84297
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2005 (http://www.dotNetBB.com)

2005\08\14@055345 by naten/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, nate wrote:

Gunther,
Page 11 of said datasheet states that A0, A1, and A2 are not connected in this device.  This would indicate to me that the chip address feature of IC2 cannot be used with this device.  Please correct me if I'm wrong.

This doesn't mean that you couldn't use more than 1 chip, simply that you cannot use the multiple IC2 address protocall.  You could use a decoder chip and wrtie some code that would select the proper memory chip.

Nate
---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=84290#m84300
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2005 (http://www.dotNetBB.com)

2005\08\14@090106 by g_daubachn/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, g_daubach wrote:

Nate,
this is strange. I did not use the 24LC16 so far but "smaller" devices, like the 24LC02. In these datasheets they also state that the address pins are not connected. But I could successfully verify that the chips decode the status of the address pins. Although, I'm using 24LC02s made by ST and not by Microchip. Maybe, this explains the difference.

On the other hand, on page 6 where the control byte is explained, they say that the three bits in the control byte are used to select one of the eight 256 word blocks of the memory. As the address following the control byte is only 8 bits wide, three additional bits are required to cover the fill address space of 2048 bytes. Seems as if there actually can only be one 24LC16 on a bus.

Perhaps you consider using 24LC64 chips instead. They definitely allow for eight devices on a bus, and they have two address bytes following the control byte in order to address the full range of the memory. In the end, this solution my be even cheaper as one 24LC64 replaces four 24LC16 chips, and there is no need for some "tricky" decoding. I use the 24LC64 in some of my SX applications with no problems.

---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=84290#m84318
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2005 (http://www.dotNetBB.com)

2005\08\14@091346 by g_daubachn/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, g_daubach wrote:

Nate,
I was just curious, and got the ST datasheet for their 24C01...16 EEPROMs from http://www.st.com/stonline/products/literature/ds/5067/m24c16-w.pdf. Their 01 and 02 devices actually have the three address bits decoded, the 04 device has two bits decoded, the 08 device just one, and the 16 device none at all. Where none of the Micochip equivalents do address decoding at all.

---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=84290#m84321
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2005 (http://www.dotNetBB.com)

2005\08\14@121654 by jgjonolan/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, jgjonola wrote:

So that means, not only is it limited to only one of those devices, but only one of any device, right?  Let's say I have an sx set up as a slave on that same bus, and i would like to send some info to only the sx, I could set the address to some abritrary number, but the eeprom would answer to any address, correct?  So it would be getting all of the bytes sent to it also.  I realise that i could probably set the write protect pin of the eeprom, but i would rather just get a different chip.  I am looking to have possible 4 sx's set up as slaves, and 1 eeprom and one rtc all set up on the same i2c bus (if thats possible).  Thanks for your help!

John Gjonola
---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=84290#m84345
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2005 (http://www.dotNetBB.com)

2005\08\14@132423 by g_daubachn/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, g_daubach wrote:

John,
fortunately, this is not the case. The first four bits in the EEPROM's control word are 1010, so let your slave SXes just decode some other bit pattern that is unique on the bus, i.e. not decoded by any other device plus three bits with patterns unique to each SX, for example 1111000x 1111001, 1111010, up to 1111111x, and you can have eight SXes acting as slaves on the bus when the master sends a control byte starting with 1111 in this example. The EEPROM will not answer because it only "listens" to commands starting with 1010.

A while ago, I have developed a system similar to this with up to 5 SXes on one bus. In this system, each of the SXes could act as master and slave, therefore I also had to handle bus arbitration but it worked nicely in the end.

---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=84290#m84355
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2005 (http://www.dotNetBB.com)

2005\08\14@133956 by naten/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, nate wrote:

John,
The bottom line is: If you want to use an IC2 bus with more than one device (SX or EEPROM) and use the defined IC2 protocall, all the devices on the bus need to be able to decode the address part of the IC2 protocall.  Using the write protect pin of the memory will not prevent the memory from distorting bus data when a slave SX is asked to do a read function.

From Gunther's ST information, you could have maximum (4) 2KB EEPROM devives and (4) slave SX devices on the same bus using strictly the IC2 protocall (which only gives you 8KB of memory).

An alternative would be to use the IC2 protocall, but have 2 busses.  This obviously will take a little more work the coding department.

Just out of curiosity, why so many SX slaves?

Nate
---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=84290#m84358
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2005 (http://www.dotNetBB.com)

2005\08\14@201033 by jgjonolan/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, jgjonola wrote:

Beautiful!  That sounds great.  Thanks guys!

John Gjonola
---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=84290#m84383
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2005 (http://www.dotNetBB.com)


'[EE] 3V, fast I2C memory'
2005\09\14@063929 by Vasile Surducan
face picon face
Hi piclisters,

I need a fast 3V, 512kb (or 1Mb) serial (preferable I2C memory).
I found 24FC512, with 5mS write cicle. Do you know something available
with a faster writting cycle ? Maybe a serial SRAM ?

thank you,
Vasile

2005\09\14@080005 by Mike Harrison

flavicon
face
On Wed, 14 Sep 2005 13:39:29 +0300, you wrote:

>Hi piclisters,
>
>I need a fast 3V, 512kb (or 1Mb) serial (preferable I2C memory).
>I found 24FC512, with 5mS write cicle. Do you know something available
>with a faster writting cycle ? Maybe a serial SRAM ?
>
>thank you,
>Vasile

You may find faster parts in SPI - e.g. ST M25P serial flash parts - 256 byte page write in 1.5ms
Beware long erase times though.


2005\09\14@082425 by Michael Rigby-Jones

picon face


>-----Original Message-----
>From: piclist-bouncesspamspam_OUTmit.edu [@spam@piclist-bouncesKILLspamspammit.edu]
>Sent: 14 September 2005 11:39
>To: Microcontroller discussion list - Public.
>Subject: [EE] 3V, fast I2C memory
>
>
>Hi piclisters,
>
>I need a fast 3V, 512kb (or 1Mb) serial (preferable I2C
>memory). I found 24FC512, with 5mS write cicle. Do you know
>something available
>with a faster writting cycle ? Maybe a serial SRAM ?
>
>thank you,
>Vasile

FRAM is the way to go for fast (zero wait) writes:

http://www.ramtron.com/doc/Products/serial.asp

Regards

Mike

=======================================================================
This e-mail is intended for the person it is addressed to only. The
information contained in it may be confidential and/or protected by
law. If you are not the intended recipient of this message, you must
not make any use of this information, or copy or show it to any
person. Please contact us immediately to tell us that you have
received this e-mail, and return the original to us. Any use,
forwarding, printing or copying of this message is strictly prohibited.
No part of this message can be considered a request for goods or
services.
=======================================================================

2005\09\14@083329 by Stef Mientki

flavicon
face
hi Vasile,

look for ferro ram, e.g.
www.ramtron.com/doc/Products/overview.asp
they are really fast: no write delay !!

cheers,
Stef


Vasile Surducan wrote:

{Quote hidden}

2005\09\14@083817 by Marc Nicholas

flavicon
face
I'm waiting for some samples right now of both the I2C and SPI...can't
wait as lots of people see to say good things about the Ramtron parts! :-)

-marc

On Wed, 14 Sep 2005, Stef Mientki wrote:

{Quote hidden}

> --

2005\09\14@101745 by Bob Axtell

face picon face
Vasile Surducan wrote:

>Hi piclisters,
>
>I need a fast 3V, 512kb (or 1Mb) serial (preferable I2C memory).
>I found 24FC512, with 5mS write cicle. Do you know something available
>with a faster writting cycle ? Maybe a serial SRAM ?
>
>thank you,
>Vasile
>
>  
>
I think you are not studying the specs closely. For the 24LC512, the 5mS
is MAX; I  get
about 3mS normally.

The other thing is that you can place 128 bytes into a write buffer so
that 3mS is needed
for the whole 128 bytes. So It writes faster than you think.

If you have room, use two RAMTRON SPI memories, they are 32Kx8 each, so
you can reach
65K without ANY waits to flash the parts.

--Bob

--
Note: To protect our network,
attachments must be sent to
KILLspamattachKILLspamspamengineer.cotse.net .
1-866-263-5745 USA/Canada
http://beam.to/azengineer

'[EE] Re: 3V, fast I2C memory'
2005\09\15@014753 by Vasile Surducan

face picon face
On 9/14/05, Bob Axtell <RemoveMEengineerTakeThisOuTspamcotse.net> wrote:
> Vasile Surducan wrote:
>
> >Hi piclisters,
> >
> >I need a fast 3V, 512kb (or 1Mb) serial (preferable I2C memory).
> >I found 24FC512, with 5mS write cicle. Do you know something available
> >with a faster writting cycle ? Maybe a serial SRAM ?
> >
> >thank you,
> >Vasile
> >
> >  
> >
> I think you are not studying the specs closely. For the 24LC512, the 5mS
> is MAX; I  get about 3mS normally.

 Normally in the extended temperature range or at 20-30 C ? I'm
affraid about the malfunctions at 50-60C where probably will need to
work.

>
> The other thing is that you can place 128 bytes into a write buffer so
> that 3mS is needed
> for the whole 128 bytes. So It writes faster than you think.

 This is a good ideea indeed. I've seen some 1Mb-32Mb SPI devices
working like this with an internal SRAM buffer.


> If you have room, use two RAMTRON SPI memories, they are 32Kx8 each, so
> you can reach
> 65K without ANY waits to flash the parts.
>

Thank you all,

Vasile


'[PIC]24LC64 I2C memory?'
2006\04\10@221818 by Pat Smith
flavicon
face
Ayone got any example code to read and write to this 64K memory.  
This is a home learning  project for fun.


2006\04\10@224647 by Jinx

face picon face


> Ayone got any example code to read and write to this 64K memory.  
> This is a home learning  project for fun.

Using what ? Bit-bang or MSSP ?

2006\04\10@232709 by Pat Smith

flavicon
face
Bit bang

-----Original Message-----
From: spamBeGonepiclist-bouncesspamBeGonespammit.edu [TakeThisOuTpiclist-bouncesEraseMEspamspam_OUTmit.edu] On Behalf Of
Jinx
Sent: Monday, April 10, 2006 9:46 PM
To: Microcontroller discussion list - Public.
Subject: Re: [PIC]24LC64 I2C memory?



> Ayone got any example code to read and write to this 64K memory.  
> This is a home learning  project for fun.

Using what ? Bit-bang or MSSP ?

2006\04\10@235101 by Herbert Graf

flavicon
face
On Mon, 2006-04-10 at 21:18 -0500, Pat Smith wrote:
> Ayone got any example code to read and write to this 64K memory.  
> This is a home learning  project for fun.

My carmon project reads and writes to a 24 series EEPROM in bit bang
mode:

http://repatch.dyndns.org:8383/pic_stuff/carmon

Thanks, TTYL

2006\04\11@001209 by Bob Axtell

face picon face
Here is a piece of working bit-banged code for FM24C256 (32X x 8).
This came from PIC16F88 but it will work anywhere. Ripped right
out of active code.

; general equates
SDA        equ    1
SCL        equ    2
; slave address
FRAM        equ    h'A0'   ;FM24CL64 slave address
; bunch of temp registers
tmp8, etc etc
;*******************************************
;  I2C Routines: Note: operates in MAIN
; 1. tries 4 times before abandoning the pass
; 2. Works on any PIC12/PIC16/PIC18 port
;    that uses TRIS?
; 3. This is idealized for RAMTRON devices; for
;    MicroChip EEROM devices, allow 4mS after
;    writing the byte or group of bytes. There
;    are restrictions about how many bytes can
;    be written, and what the addresses have to
;   be. Read datasheet closely or use Ramtron
;  devices.
;*******************************************
;*******************************************
;  I2C Write Routines
;*******************************************
f2wrn:
   movwf    tmp8
   movlw    FRAM            ;FRAM Selection Bits
   movwf    sadr
   movf    FSR,w
   movwf    h24fsr
   movf    tmp8,w
;*******************************************
; write w bytes fr @FSR to device @HL_bytes
;*******************************************
   bank0
   bsf    flags,i2cFLG    ;tells interrupt that I am using SCK
   clrwdt
   movwf   i2cnt
   call    Bstrtx          ; Generate START bit
   goto    i2wry
i2wlp:
   call    restart
   bcf    flags,i2
i2wry:
   movf    sadr,W
   call    TX              ; Output SLAVE data address
       btfsc   flags,i2        ; Check for error
       goto    i2wlp           ; wait until write cycle done
   movf    INTCON,w
   movwf    tmp8
   bcf    INTCON,GIE
   movf    H_byte,w        ; Put internal HI address onto bus
   call    TX              ; Output WORD address. Check ACK.
       btfsc   flags,i2        ; Check for error
       goto    BSTOPw          ; Generate STOP bit
   movf    L_byte,w        ; Put internal LO address onto bus
   call    TX              ; Output WORD address. Check ACK.
       btfsc   flags,i2        ; Check for error
       goto    BSTOPw          ; Generate STOP bit
       movf    i2cnt,w
       movwf   h24cnt
i2wr1:  
   movf    INDF,w          ; Move DATA
   call    TX              ; Output DATA and detect acknowledgement
       btfsc   flags,i2        ; Check for error
       goto    BSTOPw          ; Generate STOP bit
   incf    FSR,f
       decfsz  h24cnt,f
   goto    i2wr1
   call    BSTOP           ; Generate STOP bit
   goto    i2exit
;********************************************
;      I2C Read Routines
;********************************************
f2rdn:
   movwf    tmp8
   movlw    FRAM               ;FRAM select
   movwf    sadr
   movf    tmp8,w
;********************************************
; read w bytes to @FSR fr device @H_byte/L_byte
;*******************************************
i2rdn:
       bank0
   bcf    flags3,write
   bsf    flags,i2cFLG
   clrwdt
   movwf   i2cnt
   call    Bstrtx          ; Generate START bit
   goto    i2rdy
i2rlp:
   call    restart
   bcf    flags,i2
i2rdy:
   movf    sadr,w
   call    TX              ; Output SLAVE data address
       btfsc   flags,i2        ; Check for error
       goto    i2rlp           ; wait until write cycle done
   movf    INTCON,w
   movwf    tmp8
   bcf    INTCON,GIE
   movf    H_byte,w        ; Put HI data address onto bus
   call    TX              ; Output WORD address. Check ACK.
       btfsc   flags,i2        ; Check for error
       goto    BSTOPr          ; Generate STOP bit
   movf    L_byte,w        ; Put HI data address onto bus
   call    TX              ; Output WORD address. Check ACK.
       btfsc   flags,i2        ; Check for error
       goto    BSTOPr          ; Generate STOP bit
;
   call    restart
       movf    sadr,w          ; slave adr
    iorlw    1               ; Specify READ mode (R/W = 1)
   call    TX              ; Output SLAVE address
       btfsc   flags,i2        ; Check for error
       goto    BSTOPr          ; Generate STOP bit
       movf    i2cnt,w
       movwf   h24cnt
i2rd1:
; RECEIVE eight data bits subroutine
; exit = w has data
   bsf     tmp2,3          ; 8 bits of data
RXLP:
   call    BITIN           ; get data
       rlf     tmp,f           ; install bit, LS last
   decfsz  tmp2,f          ; 8 bits?
   goto    RXLP
       clrwdt
       bsf     status,c        ; try no ack
       decfsz  h24cnt,w        ; last one?
       bcf     status,c        ; needs ack
   call    BITOUT      
       movf    tmp,w           ; data ready
   movwf   indf            ; Save data into buffer
   incf    fsr,f        ; next char
       decfsz  h24cnt,f
   goto    i2rd1  
   call    BSTOP           ; Generate STOP bit
i2exit:
   btfsc    tmp8,GIE
   bsf    INTCON,GIE
   return
; TRANSMIT 8 data bits subroutine in tmp
TX:    
   movwf    tmp
   bsf     tmp2,3          ; 8 bits of data
TXLP:  
   rlf     tmp,f           ; Shift data bit out.
   call    BITOUT          ; Serial data out
   decfsz  tmp2,f          ; 8 bits done?
   goto    TXLP            ; No.
   clrwdt
   call    BITIN           ; Read acknowledge bit
       btfsc   status,c        ; acknowledgement?
       bsf     flags,i2        ; not received
   return
; Single bit receive from I2C to PIC
; data in carry
BITIN:  
   bank1
   bsf     trisa,SDA       ; Set SDA for input
       bk0
   bsf     porta,SCL       ; Clock high
   bcf    status,c        ; def=0 (has ack)
   btfsc   porta,SDA       ; Read SDA pin, for ACK low
   bsf     status,c        ; no ack detected
   call    wt_
       bcf     porta,SCL       ; finish bit in case
   goto    wt_
;  Single bit data transmit from PIC to I2C
;  Input= carry bit
BITOUT:
   btfss   status,c
   goto    BIT0
       bsf     porta,SDA       ;drive it high
   goto    CLK1
BIT0:  
   bcf     porta,SDA       ;drive low
CLK1:  
   bank1
   bcf     trisa,SDA       ; Output bit 0
       bk0
   bsf     porta,SCL
   call    wt_
   bcf    porta,SCL       ;on low
   goto    wt_
; start but also set loop count
Bstrtx:
   clrf    h24lp
   bsf     h24lp,2           ;4x max
Bstrty:
       bcf     flags,i2          ;no error yet
   clrf    tmp2
;   START bit generation routine
;Generate START bit (SCL is high while SDA goes from high to low transition)
; quiscent state is both high....
BSTART:
       bsf     porta,SCL    ;in case not high
   bank1
       bcf     trisa,SDA       ;both driven
       bk0
   call    wt_
       bcf     porta,SDA       ;SDA=lo = START CDX
       call    wt_
       bcf     porta,SCL
; for 8Mhz clock... For 4Mhz, remove the first one;
; for 20Mhz clock, double the this wait
wt_:
       goto     $+1
   goto    $+1
   return
; HALFSTART
RESTART:
; a RESTART, i.e. no STOP, followed by START
; upon entry SCL is always low.
   bsf    porta,SDA    ;force hi
   bank1
       bcf     trisa,SDA       ;no stop condx
   bank0
   bsf    porta,SCL    ;both now hi
   call    wt_      
   bcf    porta,SDA
   call    wt_
   bcf    porta,SCL    ;SDA lo then SCL lo START
   goto    wt_
; write stop with test first
BSTOPw:
   call    BSTOP
       movf    h24lp,f
       btfsc   status,z
       goto    i2exit
       decf    h24lp,f
   movf    h24fsr,w
   movwf    FSR
       call    Bstrty
       goto    i2wry
; read stop with test first
BSTOPr:
   call    BSTOP
       movf    h24lp,f
       btfsc   status,z
       goto    i2exit
       decf    h24lp,f
   movf    h24fsr,w
   movwf    FSR
       call    Bstrty
       goto    i2rdy
;  STOP bit generation routine
;Generate STOP bit (SDA goes from low to high during SCL high state)
;and check bus conditions.
BSTOP:
; SCL is now low, always.
   bcf    porta,SDA    ;force low
   bank1
       bcf     trisa,SDA
   bk0            ;both low
   call    wt_
       bsf     porta,SCL     ;scl high
       call    wt_
       bsf     porta,SDA          ;SDA=hi = STOP CDX
       call    wt_
   bk1
       bsf     trisa,SDA    ;SDA=OC
   bk0
   bcf    flags,i2cFLG
       return

HOLLER if you missed anything.

--Bob

Pat Smith wrote:

{Quote hidden}

>

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