Tutorials - PIC18 by Data Sheet

 
 

MSSP - I2C


 

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.