I2C between atmega and Beaglebone Black

atmegabeaglebone blacki2cmicrocontroller

I am working for a small project which involves me to communicate between an Atmega and Beaglebone black through I2C.

My question is that Atmega has an 8 bit microprocessor and beaglebone black has a 32 bit microprocessor. Is it possible to establish I2C between them?
I mean will there be any problems communicating with two devices who process at different speeds?

Also, Beaglebone uses SMbus functions for communication and AVR uses traditional I2C functions. How do I change the traditional AVR I2C commands to work with the beaglebone black or is it possible that I change the Beaglebone's SMBus functions to work with AVR?

Best Answer

I²C always uses 8-bit transactions, regardless of the size of the microprocessor.

SMBus is a subset of I²C, so it is possible for these devices to communicate with each other. (Some details are different (Maxim appnote, TI appnote), but should not matter here.)

Related Topic