Si deve dire che I2C, con il suo sistema di handshake non è da
considerarsi un protocollo "semplice", sopratutto se si intende
implementarlo in qualcosa di più del bit-banging.
Inoltre il foglio dati che stiamo analizzando non è pienamente esaustivo
e lascia alcune lacune.
Quindi :
Nell' analisi di questo capitolo ci distacchiamo un poco dalla sequenza
delle pagine del foglio dati per raccogliere le descrizioni e le informazioni
in un modo che ci pare più logico, ovvero seguendo il procedere di una
operazione del protocollo e
cercando di completare, dove possibile, il testo originale.
|
Un
chiarimento sui termini usati.
Occorre avere chiara la differenza tra modulo MSSP disabilitato, modulo MSSP
inattivo e bus inattivo (idle).
- Il modulo MSSP è disabilitato quando il bit SSPEN
è a 0. In questa condizione il modulo NON riceve alcun comando, nè
svolge alcuna funzione e i pin SDA e SCL sono generici GPIO
- Il modulo è abilitato quando il bit SSPEN
è stato scritto a 1. In questa condizione il modulo è inattivo, ma i pin SDA
e SCL sono predisposti per il collegamento al bus I2C e MSSP può ricevere
comandi
Il modulo MSSP è attivo quando sta svolgendo un comando. In
questa condizione NON può essere iniziato alcun altro comando. I flag
indicano lo stato e permettono di individuare gli eventi.
Il bus è inattivo (idle) quando entrambe le linee sono a livello
alto per un tempo adeguato (un periodo del clock) grazie ai pull-up.
Questo indica che non ci sono trasmissioni in corso.
Il bus è impegnato quando un dispositivo sta manipolando le linee.
|
|
|
|
Copyright © afg. Tutti i diritti riservati.
Aggiornato il 13/01/13.
|