I2C questions

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
An I2C bus will likely be implemented on a design I'm
working with.  Went through the spec., FAQ, and some other
documents and still have some questions.  Hope some of you
with hands-on experience can help answer them.

The system was going to use I2C for two purposes - identify
the daughter card and control the components on the daughter
cards that use the bus.  The first part was going to be
EPROM that contained information about the card so the
correct driver would be called.  Perhaps addresses 0x01
through 0x0F.  Higher addresses would be for devices, and
0x00 is the broadcast address to all devices.

The problem is that there seems to be a number of addresses
that are reserved, but it is not clear to me what they are.
  0x00 seems to be that broadcast address, but 1010xxx
(binary, with "xxx" being the address of the particular
EEPROM) seems to be reserved for all EEPROMS.  What about
ADC chips or DAC chips or GPIO chips, etc?  Can these
addresses be re-mapped?

Help appreciated.


Re: I2C questions

Quoted text here. Click to load it

Using a commercially available eeprom you're likely to use addresses like
0x50 and above for them.
0x01 is imho an invalid I2C address as such.

Quoted text here. Click to load it

not arbitrarily. The datasheets of these parts tell you which addresses are
available. Philips administers these addresses and each vendor will get a
designated address for his parts - with overlaps of course and this is why
most parts offer different addressing choices.
Typically there are a couple of pins to configure these.


Re: I2C questions

Quoted text here. Click to load it

Search the Philips web site for opr006JN.pdf. It's a list of I2C addresses
assigned to various types of devices.


Re: I2C questions

Quoted text here. Click to load it

On your design you can use any address for anything.  If you want to
sell the chips as I2C.  Then Phillips cares. Otherwise you are limited
to the address ranges the chips support. Phillips lists the general
groups. Your chips can do what you want.  There is not a broadcast
address, so I assume your are doing your own thing.

Re: I2C questions

Quoted text here. Click to load it
<Discussion about I2C addresses snipped.>
Quoted text here. Click to load it

Actually, Philips seems to care regardless.  They say:
C Patent Information

The I2C bus is protected by patents held by Philips. Licensed IC
manufacturers that sell devices incorporating the technology already have
secured the rights to use these devices, relieving the burden from the

A license is required for implementing an I2C interface on a chip (IC, ASIC,
FPGA, etc). It is Philips's position that all chips that can talk to the I2C
bus must be licensed. It doesn’t matter how this interface is implemented.
The licensed manufacturer may use its own know how, purchased IP cores, or

This also applies to FPGAs. However, since the FPGAs are programmed by the
user, the user is considered a company that builds an I2C-IC and would need
to obtain the license from Philips.

Apply for a license or text of the Philips I2C Standard License Agreement

US and Canadian companies: contactMr.Piotrowski( snipped-for-privacy@philips.com)
All other companies: contact Mr.Hesselmann( snipped-for-privacy@philips.com)
[from page 157 of
ion-designcon.pdf ]
[similar to page 50 of

In short, if you use commercial off the shelf I2C components, you are covered
(and would then not be having these questions about addresses because the
components would have Philips-assigned base addresses).  If you are having
questions about addresses, it is because you are designing your own parts
(ASIC, CPLD, FPGA, etc.).  Philips's position is that you need a license.  
Presumably, when you get a license you will get assigned addresses.

I am not saying that I agree or disagree with this.  I am not a lawyer and I
am not expressing a legal opinion either.  I just think that you should be
aware of the Philips position on what you are doing.

If you are building one of something for a prototype or a school project, I
don't think that you need to worry about the "I2C police" hunting you down.  
If you are going to be building and selling these systems, you might want to
check with your legal department before proceeding.

Good Luck!

Ian Shef     805/F6      *    These are my personal opinions    
Raytheon Company         *    and not those of my employer.
We've slightly trimmed the long signature. Click to see the full one.
Re: I2C questions
Ian (and all),

I was not very clear in my original append.  I'm not
creating an I2C device.  I want to understand it better,
particularly the preassigned addresses, and then use it with
existing devices to implement a design.

The processor has an I2C port on it which will be used for
two purposes.  The first is to query EPROM's to get
information on the daughter cards attached.  The second use
is normal I2C devices like DAC's, ADC's, Voltage to
Frequency, etc.

Going back to the first use, my concept was to have a block
of addresses reserved for the group of EPROM's used to hold
the daughter card information.  This would be the first 4
bits of the I2C address.  The rest of the address would be
coded as the card umber (1, 2, 3, etc).  Doing this makes
the software easier to write because it always looks at a
maximum of 8 known addresses to see if there is a daughter
card and get information about it.  Looks like this flash of
brilliance (meant kiddingly) won't happen.

Hope that helps and thanks to all of you that have responded.


Ian Shef wrote:
Quoted text here. Click to load it

Re: I2C questions
Hi Dave,

Quoted text here. Click to load it

You are not more clearly this time.

If you would not create a new device, wy do you need a full list of
assigned adresses!? In fact, the adress for EEPROM is fixed (1010xxx),
and take care, some devices use more than one (2/4/8) from the 8
possible adresses, to expand there internal memory address space.

Quoted text here. Click to load it

I don't know enough about your project, but think, the 8 addresses for
EEPROM are stinted for it.
If I understand right, you think, must assign the full adress to the
EEPROM, but the 1st 4 bits are hard wired in the chip!

Bye. Michael

Re: I2C questions

<Content removed>
Quoted text here. Click to load it

Michael & others,

I'll be very clear this time.  Hell, even Michael may get it
(ok, that is a stretch).

1. As I have said, I have NO (as in not, won't do, etc.)
intention of doing an I2C device.  Where is this coming from?

2. I do want to know what the reserved addresses are that
are mentioned in the spec., but not fully explained.
Wanting to know what these address are is part of due
diligence, not so clandestine effort to make an I2C device.
  Some of you have pointed me to a file that is supposed to
have the information, but it doesn't seem to be available.

3. What I want with the information is not your matter,
though for the record, it is just my effort to fully
understand I2C.

Am I clear this time Michael?  If not, go bother someone
else because I don't have the patience to deal with you.
And no, I'm not sorry for these comments in light of yours!!!!


Re: I2C questions
Estemeed Mr. Dave Boland,

you are right to be grumpy! A news group is a support center, and you
have a claim  to get answer to all your questions, not to answer
questions from others!

We all are payed from your telephone company, from the large amount (at
most 1,5 cent per minute), that you payed for using the line.

To your originally question: We are so unhappy, that the only sheet of
paper, with the information of your desire is slide into the shredder
last week.

I thought, could rember me, but in this time, I don't know why!



PPS: Did you have at least sometimes feel induced, to help any other
then yourself!?
See the news groups to get the answer ...

Re: I2C questions
Quoted text here. Click to load it


If you're not going to make a device, please use the addresses
your devices use. The complete list of legally assigned device
addresses is known only by Philips and they won't release it
as such, obviously to keep the bus in their control.

For scanning a bus, go through all the 128 possible write
addresses and check for ACK responses. You can break a write
cycle without writing anything. A read cycle cannot be broken
when started until at least one byte is read.

Quoted text here. Click to load it

See above - and continue arguing with Philips.

Quoted text here. Click to load it

The Usenet is a place for cooperation - the above is not
too cooperative. If you ask a question, you must also be
interested to respond to follow-up questions - they are
not for inquisitional purposes, but to refine the proper
direction of responses.



Tauno Voipio
tauno voipio (at) iki fi

Site Timeline