Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

PIC16f84a bloccato : quarzo, oscillatore, wd?

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] PIC16f84a bloccato : quarzo, oscillatore, wd?

Messaggioda Foto Utentegrandegiove » 10 mag 2012, 11:33

Ciao a tutti!

Sto analizzando un problema su delle schede piuttosto datate che montano un 16f84a (quarzo 4 MHz). In particolare queste schede comandano mediante uscite a stato solido delle elettrovalvole. La scheda presenta accorgimenti per il filtraggio dei picchi che si verificano in commutazione (diodi di soppressione, varistori, RC..) sul quale si potrebbe discutere ampiamente.

Ma la domanda stavolta è un'altra. Se creo dei falsi contatti (non è di certo la situazione normale di lavoro ma un evento una tantum è comunque meglio metterlo in conto) sulla connessione dell'elettrovalvola causo dei picchi tremendi che si ripercuotono sull'alimentazione del PIC(nonostante gli accorgimenti evidentemente insufficienti sopra citati).

Fase 1 :Il firmware era sprovvisto di Watch Dog.
In seguito ai picchi di tensione il PIC bloccava l'esecuzione (non si resetta, ma proprio si blocca). Suppongo quindi che il picco tremendo abbia in qualche modo intaccato i registri di puntamento alla memoria di programma e il flusso dell'esecuzione sia finito in un vicolo cieco.

Fase 2:Decido quindi di dotare il PIC di Watch Dog in modo nel caso di un picco tremendo il PIC venga resettato dato che un reset per la natura dell'applicazione non sarebbe di per sè niente di dannoso.
Quel che succede è che sollecitando con più e più picchi talvolta il PIC si resetta (presumibilmente su azione del WD, ma non ne ho la sicurezza) ma talvolta si torna a quella situazione di stallo che blocca tutta l'eseczuione.

Fase 3:Non mi resta che pensare all'oscillatore. Premetto che con queste schede non ho mai avuto problemi in termini di difficoltà di inizializzazione e stabilizzazione dell'oscillazione del quarzo. Decido comunque di provare a cambiare la sorgente del clock: collego quindi un RC esterno (unica alternativa possibile del resto).
Effettuo quindi nuovamente la prova e noto che talvolta in seguito ai picchi il PIC impazzisce per qualche istante ma poi interviene il WD e l'esecuzione viene resettata senza comunque mai entrare in quella situazione di stallo che si verifica con l'oscillatore al quarzo. Non è comunque possibile pensare di utilizzare un oscillatore esterno RC per queste schede in particolare per l'impossibilità di modificare l'HW.

La sensazione è quindi quella che in qualche modo si "sganci" il quarzo (perdonate l'eresia ;)) e non sia in grado di ripristinaresi se non togliendo manualmente alimentazione e rialimentando.
Premesso che sicuramente è necessario rivedere il sistema di filtraggio dei disturbi vorrei comunque cercare di capire cosa succede al PIC.

Avete qualche idea o esperienza che mi possa aiutare a trovare una soluzione o comunque individuare cosa succede esattamente?

Ho letto e riletto il DS ma non trovo nulla che mi possa suggerire il da farsi.

Grazie mille a tutti!! :ok:
Avatar utente
Foto Utentegrandegiove
1.151 1 4 8
Expert
Expert
 
Messaggi: 517
Iscritto il: 18 ott 2010, 9:59

1
voti

[2] Re: PIC16f84a bloccato : quarzo, oscillatore, wd?

Messaggioda Foto UtentePaolino » 10 mag 2012, 11:58

Premetto che una condizione del genere mai l'ho sperimentata e hai tutta la mia comprensione (per quel che vale, insomma).
Se fosse solo un problema di program counter che viene "spostato" il WD interviene e ti resetta il PIC. Se invece il picco è tale da spegnere anche il circuito dell'oscillatore, imagino che dovresti vedere una condizione di assenza di oscillazione su entrambi i piedini del PIC ai quali il quarzo è connesso. Puoi fare questa verifica con l'oscilloscopio?
Mentre scrivevo mi è anche venuto in mente che magari intervengono alcune protezioni interne al PIC che ne inibiscono il funzionamento complessivo e di conseguenza anche lo stadio oscillatore è "vittima".

Mi dispiace, il mio aiuto è limitato. sorry

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[3] Re: PIC16f84a bloccato : quarzo, oscillatore, wd?

Messaggioda Foto Utenteposta10100 » 16 mag 2012, 19:42

Potrebbe essersi infilato nella condizione di "Test Mode", in questo caso non è bloccato ma in attesa dei vettori di test.
Purtroppo credo che la procedura per entrare nella modalità test e per uscirne la conosca solo Microchip...

O_/
http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.

Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)

Strumento per formule
Avatar utente
Foto Utenteposta10100
5.550 4 10 13
Master EY
Master EY
 
Messaggi: 4832
Iscritto il: 5 nov 2006, 0:09

0
voti

[4] Re: PIC16f84a bloccato : quarzo, oscillatore, wd?

Messaggioda Foto Utenteleft » 27 mag 2012, 17:24

non basta che la tensione su MCLR torni ad una tensione normale per uscire dal test mode?
Avatar utente
Foto Utenteleft
5 1 3
 
Messaggi: 12
Iscritto il: 17 nov 2011, 15:42

0
voti

[5] Re: PIC16f84a bloccato : quarzo, oscillatore, wd?

Messaggioda Foto Utenteposta10100 » 28 mag 2012, 18:42

Io parlo del test mode (modalità test prima che il chip venga venduto), lo hai confuso con il program mode ;)
http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.

Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)

Strumento per formule
Avatar utente
Foto Utenteposta10100
5.550 4 10 13
Master EY
Master EY
 
Messaggi: 4832
Iscritto il: 5 nov 2006, 0:09

0
voti

[6] Re: PIC16f84a bloccato : quarzo, oscillatore, wd?

Messaggioda Foto Utenteleft » 30 mag 2012, 13:23

posta10100 ha scritto:Io parlo del test mode (modalità test prima che il chip venga venduto), lo hai confuso con il program mode ;)


Non sapevo della sua esistenza. :D Mi sai dire/linkare qualcosa di più a proposito?

Sì sono già off-topic, mi fermo subito. :cool:
Avatar utente
Foto Utenteleft
5 1 3
 
Messaggi: 12
Iscritto il: 17 nov 2011, 15:42

0
voti

[7] Re: PIC16f84a bloccato : quarzo, oscillatore, wd?

Messaggioda Foto Utenteposta10100 » 30 mag 2012, 20:43

L'argomento è complesso, se vuoi puoi iniziare da qui!

Se riesco a trovare un po di tempo magari preparo un articoletto con le nozioni di base...

O_/
http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.

Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)

Strumento per formule
Avatar utente
Foto Utenteposta10100
5.550 4 10 13
Master EY
Master EY
 
Messaggi: 4832
Iscritto il: 5 nov 2006, 0:09


Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite