Ultimo aggiornamento: 23/01/2010


Tutto il materiale, dove non diversamente specificato, e' coperto dalla licenza Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo.
Creative Commons License

Protocollo di comunicazione seriale 877 System

Ciclo di lettura

CASO STANDARD

PC --> CMD (READ)
ACK (READ) <-- PIC
DATA (Dato0) <-- PIC
PC --> DATA (Dato0)
ACK (Dato valido) <-- PIC
DATA (Dato1) <-- PIC


FINE DATI

PC --> DATA (DatoN)
ACK (End Data) <-- PIC


COMANDO NON CORRETTO

PC --> CMD (READ)
ACK (Errore) <-- PIC
PC --> CMD (READ)
ACK (READ) <-- PIC
DATA (Dato0) <-- PIC
PC --> DATA (Dato0)
ACK (Dato valido) <-- PIC
DATA (Dato1) <-- PIC


DATO NON CORRETTO

DATA (DatoX) <-- PIC
PC --> DATA (DatoX)
ACK (Dato NON valido) <-- PIC
DATA (DatoX) <-- PIC
PC --> DATA (DatoX)
ACK (Dato valido) <-- PIC
DATA (DatoY) <-- PIC


Ciclo di scrittura - 1 byte indirizzo

CASO STANDARD

PC --> CMD (WRITE)
ACK (WRITE) <-- PIC
PC --> DATA (Indirizzo)
PC --> DATA (Dato)
DATA (Indirizzo) <-- PIC
DATA (Dato) <-- PIC
PC --> ACK (Indirizzo valido)
PC --> ACK (Dato valido)
ACK (scrittura OK) <-- PIC


COMANDO NON CORRETTO

PC --> CMD (WRITE)
ACK (Errore) <-- PIC
PC --> CMD (WRITE)
ACK (WRITE) <-- PIC
PC --> DATA (Indirizzo)
PC --> DATA (Dato)
DATA (Indirizzo) <-- PIC
DATA (Dato) <-- PIC
PC --> ACK (Indirizzo valido)
PC --> ACK (Dato valido)
ACK (scrittura OK) <-- PIC


INDIRIZZO NON CORRETTO

PC --> CMD (WRITE)
ACK (WRITE) <-- PIC
PC --> DATA (Indirizzo)
PC --> DATA (Dato)
DATA (Indirizzo) <-- PIC
DATA (Dato) <-- PIC
PC --> (Indirizzo NON valido)
PC --> DATA (Indirizzo)
DATA (Indirizzo) <-- PIC
PC --> ACK (Indirizzo valido)
ACK (scrittura OK) <-- PIC


DATO NON CORRETTO

PC --> CMD (WRITE)
ACK (WRITE) <-- PIC
PC --> DATA (Indirizzo)
PC --> DATA (Dato)
DATA (Indirizzo) <-- PIC
DATA (Dato) <-- PIC
PC --> (Dato NON valido)
PC --> DATA (Dato)
DATA (Dato) <-- PIC
PC --> ACK (Dato valido)
ACK (scrittura OK) <-- PIC


BLOCCO NON CORRETTO

PC --> CMD (WRITE)
ACK (WRITE) <-- PIC
PC --> DATA (Indirizzo)
PC --> DATA (Dato)
DATA (Indirizzo) <-- PIC
DATA (Dato) <-- PIC
PC --> (Blocco errato)
ACK (Blocco errato) <-- PIC
PC --> DATA (Indirizzo)
PC --> DATA (Dato)
DATA (Indirizzo) <-- PIC
DATA (Dato) <-- PIC
PC --> ACK (Indirizzo valido)
PC --> ACK (Dato valido)
ACK (scrittura OK) <-- PIC


ERRORE SCRITTURA

PC --> CMD (WRITE)
ACK (WRITE) <-- PIC
PC --> DATA (Indirizzo)
PC --> DATA (Dato)
DATA (Indirizzo) <-- PIC
DATA (Dato) <-- PIC
PC --> ACK (Indirizzo valido)
PC --> ACK (Dato valido)
ACK (scrittura NON OK) <-- PIC


Ciclo di scrittura - 2 bytes indirizzo
(la parte dopo il wait e' identica a quella per 1 byte di indirizzo)


CASO STANDARD

PC --> CMD (WRITE XTD)
ACK (WRITE XTD) <-- PIC
PC --> DATA (MSB Indirizzo)
DATA (MSB Indirizzo) <-- PIC
PC --> ACK (Indirizzo valido)
PC --> DATA (MSB Indirizzo)
PC (wait - Tciclo del micro + 1ms)
PC --> DATA (Indirizzo)
PC --> DATA (Dato)
DATA (Indirizzo) <-- PIC
DATA (Dato) <-- PIC
PC --> ACK (Indirizzo valido)
PC --> ACK (Dato valido)
ACK (scrittura OK) <-- PIC


MSB INDIRIZZO NON CORRETTO

PC --> CMD (WRITE XTD)
ACK (WRITE XTD) <-- PIC
PC --> DATA (MSB Indirizzo)
DATA (MSB Indirizzo) <-- PIC
PC --> ACK (Indirizzo non valido)
PC --> DATA (MSB Indirizzo)
DATA (MSB Indirizzo) <-- PIC
PC --> ACK (Indirizzo valido)
PC --> DATA (MSB Indirizzo)
PC (wait - Tciclo del micro + 1ms)
[...]


Risposte del micro al comando scrittura

MCU con EEPROM fino a 256 bytes:


SCRITTURA STANDARD

PC --> CMD (WRITE)
ACK (WRITE) <-- PIC


SCRITTURA ESTESA

PC --> CMD (WRITE XTD)
ACK (NO XTD) <-- PIC


MCU con EEPROM oltre i 256 bytes:

SCRITTURA STANDARD

PC --> CMD (WRITE)
ACK (NO WRITE) <-- PIC


SCRITTURA ESTESA

PC --> CMD (WRITE XTD)
ACK (WRITE XTD) <-- PIC


Gli autori non si assumono alcuna responsabilita' per eventuali danni di ogni tipo che possano essere causati dall'utilizzo del materiale qui' presente.

Impaginazione by KCS'81