I2C is a software engine which should be inbuilt inside any slave so that i2c can be implemented. There should some software running in one of the device. which should have
i2c compatible... without this engine the controllers do not know what is stop bit, start bit, acknowledgement....
if you need two controllers, then go for philips 8 bit controller. the Controller you select should have i2c registers inbuilt, then we say that i2c engine is present
So you mean to say that the slave device just needs to have the software engine it doesnt depend which devices you are connecting..i tried to connect a PIC18F4550 and ARDUINO..i.e i tried a simple program where a string is passed from the PIC to ARDUINO to display on the LCD CONNECTED TO THE ARDUINO...but nothing is being displayed..
i dont know much of ardunio..... check if both controllers have i2c registers inbuilt.... you can do i2c on 8 bit atmel as you can use port pins as SDA and SCL..... but cannot connect 2 atmel 8051 for i2c implementation.
see if in your controller, there are registers for data scl generation, sda pin, bit arbitration etc,,, if both has it then i think you should do it,