Painless I2C reading

Hi, all,

For a patent infringement case, I need to dump the contents of a small I2C EEPROM (an Atmel AT24C01A). I've actually never used an I2C part--I sort of standardized on SPI at an early age and never deviated, mostly because I never needed multi-master and had heard evil things about I2C reliability. So I have zilch equipment to do this.

Does anyone have a painless way to do this, i.e. one that won't take long to get running? I can spend a bit of cash on this if it reduces the total cost to the client.

Thanks

Phil Hobbs

--
Dr Philip C D Hobbs
Principal Consultant
ElectroOptical Innovations LLC
Optics, Electro-optics, Photonics, Analog Electronics

160 North State Road #203
Briarcliff Manor NY 10510
845-480-2058

hobbs at electrooptical dot net
http://electrooptical.net
Reply to
Phil Hobbs
Loading thread data ...

I

something like this?

formatting link

-Lasse

Reply to
langwadt

formatting link
Also see AN3317 for XP compatibility:
formatting link

--Winston

Reply to
Winston

Drive I2C by bit banging LPT port on PC. It is VERY trivial; will only take an hour to do everything from scratch.

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

Thanks.

I saw the Maxim app note that Winston posted, and I could do that--back in the palmy days I did a FIFOed parallel I/O for a scanning laser gizmo, but that was back when it was easier to talk to the hardware directly. I did it in DOS and OS/2--OS/2 required writing a custom DLL, which I mostly did for fun.

I can easily imagine that part of it taking me a lot longer than wiring up the patch box, so from the customer's point of view, it's probably better to spend a bit of dough on something completely painless. The Sparkfun gizmo is probably the leading candidate at present.

Cheers

Phil Hobbs

--
Dr Philip C D Hobbs
Principal Consultant
ElectroOptical Innovations LLC
Optics, Electro-optics, Photonics, Analog Electronics

160 North State Road #203
Briarcliff Manor NY 10510
845-480-2058

hobbs at electrooptical dot net
http://electrooptical.net
Reply to
Phil Hobbs

Here's a thought:

formatting link

Good Luck! Rich

Reply to
Rich Grise

The makers of the popular free terminal program RealTerm have a companion interface that "speaks" I2C using RealTerm. If you've used RealTerm, you may recall that there's a tab already there but it needs their gizmo to actually function. Gizmo info at I've not used it myself, though, just chip-level I2C stuff.

I2C really isn't that difficult to get up and running. I shared your preference for SPI for a long time (it seems so straightforward by comparison!) but the usual drill of paying attention to the microcontroller's and target device's datasheets is really all that's needed. The above RealTerm gizmo would probably work but you may be just as well off grabbing an old dev board from the pile that has your favorite processor on it, that also happens to sport an I2C peripheral, and bang away. At its simplest, all you need to do is read a byte at an address, write that out through a serial port to a capture app, increment the address, repeat. You'll have fun!

Note: do pay attention to the pull-up requirements. Grab the spec from NXP (it's short) and skim it.

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

Yes, I bought a little gadget to do this for testing out I2C devices from these guys:

formatting link

Easier/cheaper (in time) than programming a PIC or whatever (though master is a lot less trouble than slave, and EEPROM is the sort of thing for which there is lots of working free code). I bought it for master mode use (IOW debugging devices that are I2C slaves).

Reply to
Spehro Pefhany

Hi, all,

For a patent infringement case, I need to dump the contents of a small I2C EEPROM (an Atmel AT24C01A). I've actually never used an I2C part--I sort of standardized on SPI at an early age and never deviated, mostly because I never needed multi-master and had heard evil things about I2C reliability. So I have zilch equipment to do this.

Does anyone have a painless way to do this, i.e. one that won't take long to get running? I can spend a bit of cash on this if it reduces the total cost to the client.

Thanks

Phil Hobbs

I2C is generally pretty easy and not much different than SPI. But you really need a library to make it easy. If you just need to dump data it should be as easy and sending the appropriate commands to the EEPROM(since it's memory it should be quite easy to dump it).

Virtually all popular uC's have an I2C library. If you've done much programming it is not difficult to write one yourself too.

Note I'm assuming the device your using has an I2C module and you are not doing it from scratch... as that is an entirely different store and in your case completely unnecessary.

--
Dr Philip C D Hobbs
Principal Consultant
ElectroOptical Innovations LLC
Optics, Electro-optics, Photonics, Analog Electronics

160 North State Road #203
Briarcliff Manor NY 10510
845-480-2058

hobbs at electrooptical dot net
http://electrooptical.net
Reply to
DonMack

P.S. You could also just buy a SEEPROM programmer-- something like this:

formatting link

They even have a SOIC clip available for a very reasonable price. AFAIR, their stuff generally works okay.

Both are handy devices to have around anyway.

Reply to
Spehro Pefhany

I
e

ur

I'd say i2c is in ways much simpler than spi, i2c is well defined all you have to figure is what bytes to send and recieve.

with spi it is all over that place, how many bits, rising or falling edge of clock, does clock edge change when reading, minimum delay from CE to first clock, dummy bits, toggle or no toggle ce between bytes, etc ...

easy enough to do if you bit bang it, but it can take while to get it all correct if you try to use a hardware spi it just gets worse

-Lasse

Reply to
langwadt

something like this?

formatting link

--
Interesting. I've been looking for something like this. I have a desire to 
emulate a 2-wire chip and need to learn its protocol.  It's a very simple 
chip that simply response with some code, most likely the same input 
sequence every time. It looks like inverted 5V logic and I don't remember 
the speed but it's quite low(10khz maybe).

Basically the chip is a 2-wire temp sensors that needs to be replaced. It 
uses signal over power but I don't need to worry about that. I just need to 
understand the "ask" sequence and "response" sequence. I imagine it's very 
simple and straightforward.


I wonder if could use that device to quickly get at the protocol? It says it 
has a logic analyzer so that should come in handy.

You happen to use the device?
Reply to
DonMack

Bit-banged I2C >MASTER< code is pretty easy.

Reply to
Spehro Pefhany

glegroups.com...

--I

o

le

to

y

it

no but it does seem to do a lot of interesting stuff, it is just a pic and an ftdi usb chip and the source is available so the sky's the limit

-Lasse

Reply to
langwadt

On PC + DOS, one could sample an LPT port at a speed of several MHz. So, bit banging I2C slave is not a problem either.

VLV

Reply to
Vladimir Vassilevsky

I2C ain't that bad but it is over-engineered and terribly slow compared to SPI.

Get a Galep5 programmer from Conitec

formatting link
It is not exactly cheap but it will read & program almost anything. And the support is great. About 15 years ago I bought a Galep3 and its still supported by the software.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
nico@nctdevpuntnl (punt=.)
--------------------------------------------------------------
Reply to
Nico Coesel

I've found exactly the opposite. Sure, SPI has a jillion different options and interpretations but they work. Whenever I've had problems it's always been with the I2C interface (both are used in most of the designs). ...and when the I2C spec isn't followed *exactly* (and it often isn't) it mucks up the entire design.

SPI is generally faster, too.

Reply to
krw

On Sep 29, 9:19=A0pm, Phil Hobbs > >> For a patent infringement case, I need to dump the contents of a small

...

Everything you need is out there if you are happy to use Linux on a PC.

Look at lm-sensors and especially i2c-tools.

Every PC made in recent years has an internal i2c bus (or SMBUS which is almost the same). Some single board computers like the Via M10000 bring this out on pin headers. Otherwise you can attach some wires to the eeprom on one of the dram modules.

Set all the address pins on your module high to avoid conflicting with the eeproms in the PC.

Use the tools to dump your eeprom. That's it.

John

Reply to
John Walliker

Wasn't it Al Gore, when he worked for Philips?

Reply to
krw

On Sep 29, 11:22=A0pm, John Larkin

Philips (now NXP) actually.

John

Reply to
John Walliker

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.