USART e deconding em4001-4100

8 Anni 5 Mesi fa #1 da MauroFx
USART e deconding em4001-4100 è stato creato da MauroFx
Ho cominciato a simulare l'uso della ricezione EUSART.
Ho visto che tra le comunicazioni a 125kHz ci sono diversi standard e che il più usato è il em4001. Si parla di "compatibili" (forse anche il em4100 ?), ma tutti partono da 64bit, che, tolti i bit di parità, di inizio, di stop, si riducono a 10byte di 4 bits ciascuno.
Se vengono letti da un PIC da 8bit 16F1847, mi sembra di capire, che occorrono comunque 10 invii, anche se il registro del PIC è a 8 bit.
Inoltre, lo satandard "Manchester" prevede che l'invio dei dati sia preceduto da un Byte di start, generalmente del valore 2, e seguito da 2 invii di 4 bites ciascuno, costituiti dal"cheksum", che è ottenuto col valore dei 10 invii in OR-esclusivo, seguito ancora da un ultimo byte di chiusura, generalmente del valore 3.
Negli esempi di codice che trovo in giro vedo variabili di memoria array da 14 elementi, coerenti con quanto esposto fino a qui.

Utilizzo i codici letti dal PIC in 2 modi conseguenti e alternativi:
-prima la memorizzazione dei codici nella EEPROM;
-poi il controllo della presenza in memoria del codice letto.

I miei dilemmi sono 2.

1)Il 16F1847 ha solo 256Byte (quindi 256x8bit) di memoria e se registrassi tutti i dati raccolti dalla USART in 14 invii sprecherei tanta memoria. Se invece, faccio prima il controllo de: il 1° Byte di start, il controllo della parità in OR-sclusivo, il controllo del Byte di stop, e magari potessi prendere SOLO i bits 0,1,2,3 dei dei invii di dati, riuscirei ad infilare in EEPROM ben 128 codici, contro appena 18 se memorizzo tutti i 14Byte completi del codice. Mi sembra però che la EEPROM si possa scrivere solo per Byte; sarebbero sempre 64 codici memorizzabili. Mi farebbe piacere sapere da qualcuno già esperto, se questa è la strada giusta, oppure no.

2)Nella fase di controllo del codice letto se valido, lo "spazzolamento" di tutta la memoria, da registro xxxx a registro yyyy, tutte le volte a blocchi diventa un'impresa ardua. Mi tornerebbe comodo organizzare tutta la EEPROP come fosse un database. Qualcuno può darmi qualche suggerimento ?

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • MauroFx
  • Senior Member
  • Senior Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login