Ciao,
E' molto più difficile e ci vuole molto più tempo soprattutto per il protocollo che non è così semplice come l'UART.
Sicuramente ci sarà da implementare qualche macchina a stati, se non sei pratico ti consiglio di partire da qualcosa di più semplice.
Ad ogni modo un buon punto di partenza per I2C prima di tutto è studiare il protocollo:
Specifiche
http://www.i2c-bus.org/http://www.classic.nxp.com/acrobat_down ... 340011.pdfE alcune implementazioni in Software per avere meglio un'idea del protocollo
Esempio di implementazione SW in C su AVR
http://codinglab.blogspot.it/2008/10/i2 ... nging.htmlEsempio di implementazione SW in C su 8051
http://www.maxim-ic.com/app-notes/index.mvp/id/3524Rimangono problemi come ad esempio un codice univoco per il dispositivo che devi probabilmente ottenere per essere in regola e commercializzare il device. Il codice viene rilasciato dietro pagamento di royalties da philips, non so se è necessario per i master, gli slave o entrambi.
Come sempre un buon punto di partenza per l'implementazione è:
http://www.fpga4fun.com/I2C.htmlCiao
PS: se usi arduino attento alle tensioni, le fpga in genere non accettano più di 3.3volt in ingresso