FPGARelated.com
Forums

I2C protocol to communicate between FPGAs

Started by greenplanet February 27, 2005
"Anthony Fremont" <spam@anywhere.com> wrote in message 
news:1dEUd.68226$cW2.61773@fe2.texas.rr.com...
> >> Any microcontroller with two I/O pins that can be >> switched from 0V to hi-z can talk to the I2C bus. > > I agree, but I think they mean chips that are actually programmed.
I think they mean any hardware implementation that handles much of the low level stuff. I've written software to bit-bang I2C without paying a licence. It would be pretty hard to enforce licence fees there, unlike chips that you have to make in millions.
> I can easily imagine how frustrating solving a problem could potentially > be.
Most problems I hear are due to people not following the I2C spec faithfully.
> I rely a lot on fully understanding the protocol > before writing that first line of code.
Yep, helps a lot. :-)
> I2C may not be perfect, but it's > doing a nice job for me.
I don't have any complaints about I2C at all. It is very cunning yet masters require only a couple of I/O bits to use it.
> I've never used an LM75, but I have used an LM34 and various Dallas > 1-wire temp sensors.
> I really like the 1-wire temp sensors, > but they only come in Centigrade outputs.
Hmm, I only see the F-word <grin> used in weather reports where they translate the temperature for the benefit of people who couldn't/wouldn't get a grip on modern units. Typically old people. If you are making a weather station type thing then the rounding errors of the C to F conversion shouldn't be a big problem.
"Anthony Fremont" <spam@anywhere.com> wrote in message news:<XEgUd.59752$cW2.29137@fe2.texas.rr.com>...

> ;-) Also, if he's looking to sell these, he will need to obtain a > license from Phillips.
IANAL, but AFAIK Patents expire 17 years after their publishing date. For the I2C patent US000004689740A was published August 27th 1887, so it should be expired by now. Maybe it is also covered by another patent.... Kolja Sulimma
Kolja Sulimma wrote:

(someone wrote)

>>;-) Also, if he's looking to sell these, he will need to obtain a >>license from Phillips.
> IANAL, but AFAIK Patents expire 17 years after their publishing date. > For the I2C patent US000004689740A was published August 27th 1887, so > it should be expired by now. > Maybe it is also covered by another patent....
As someone else said, though, it is also trademarked. If you don't call it I2C you may be safe, but again, IANAL. -- glen
Dear all,

Thank you very much for your valuable response.  For those who may want
to know, my thing is one of the slaves, and it has to communicate with
the master who has to talk to many other slaves (components that I
don't know what they are).  I have to build the interface such that my
thing knows when and what to respond when the master talks.  I hope I
could come out with something that works. =)

"greenplanet" <greenplanet@hotmail.com> wrote in message news:<1109640048.457686.136820@f14g2000cwb.googlegroups.com>...
> Dear all, > > Thank you very much for your valuable response. For those who may want > to know, my thing is one of the slaves, and it has to communicate with > the master who has to talk to many other slaves (components that I > don't know what they are). I have to build the interface such that my > thing knows when and what to respond when the master talks. I hope I > could come out with something that works. =)
In this case: Some time ago I read somewhere on a phillips website that only one license is required per system. So if you have purchased a uC with I2C you can add an FPGA with an I2C slave to it without acquiring a new license. Try to find this with google. Kolja Sulimma
greenplanet wrote:
> Dear all, > > Thank you very much for your valuable response. For those who may
want
> to know, my thing is one of the slaves, and it has to communicate
with
> the master who has to talk to many other slaves (components that I > don't know what they are). I have to build the interface such that
my
> thing knows when and what to respond when the master talks. I hope I > could come out with something that works. =)
I2C slaves can be very simple. Things to consider include your address, which must be different than other devices on the same bus. i.e. you need to know what the other slaves on the bus are so you can pick a "safe" address. As I recall Philips has a recommendation for classes of devices and ranges of addresses, but this is not part of the I2C bus specification. Another thing to consider is addressing mode, which is usually 7-bit for small devices but can be 10-bit. Using 10-bit addressing slows down your access. Most I2C slave devices have multiple internal registers accessed using "subaddress" protocol. Take a look at a datasheet for the 24LC02 from Microchip to see how this works. When I make I2C slaves in FPGA's I usually use this protocol and attach a small RAM to allow readback of register values. This can reduce the overall device usage over multiplexing the individual registers, but you'll still need a mux to deal with read-only registers or registers that can change value from some other path than I2C. Hope this helps, Gabor