Home
Accesso / Registrazione
 di 

Progettare in modo sicuro con i microcontrollori (III)

Progettare con i microcontrollori

Microcontroller Crystal and Watchdog Timer

Progettare in modo sicuro con i microcontrollori, terza parte. I cristalli sono componenti fondamentali per i dispositivi elettronici. Il microcontrollore non funziona se il cristallo si ferma e perciò esso e' il componente più importante del microcontrollore (e' chiamato anche "il battito del cuore" del prodotto). I cristalli sono dispositivi meccanici e sono sensibili ai danni meccanici.

I cristalli mettono alla prova i progettisti, ma i nuovi metodi di "packaging" e layout preciso del circuito possono aiutare a ridurre al minimo molti problemi Una migliore progettazione del contenitore (come ad esempio il montaggio superficiale) rende la massa minore ed un numero di pin piu' alto per supportare il corpo del cristallo, sono soluzioni eccellenti contro i malfunzionamenti dovuti alle vibrazioni meccaniche . SMT distribuisce la massa su una base piu' ampia e utilizza un numero di terminali piu' alto, migliorando la resistenza dei terminali . Indipendentemente del tipo di contenitore utilizzato, il corpo del cristallo dovrebbe essere montato a filo con la scheda. Questo ridurrà il dondolio (l'effetto pendolo) del contenitore e quindi diminuisce la tensione sul terminale . Ci sono molti problemi che possono condurre alla deriva della frequenza e ai fallimenti del cristallo, tra cui l'instabilità termica dovuta alla deriva del condensatore elettrolitico, il layout della scheda e la densità del contenitore.

Se i dispositivi elettronici sono sottoposti a rigide normative di sicurezza, dobbiamo prevenire problemi di malfunzionamento del cristallo, quantomeno riducendo i danni dovuti a tale causa. E' un compito impegnativo di progettazione.

Spesso i microcontrollori sono utilizzati in ambienti difficili in cui le interferenze elettromagnetiche (EMI) e le scariche elettrostatiche (ESD) sono abbondanti. La corruzione di un programma (causata rumori sul bus e dalle scariche elettrostatiche) puo' portare il microporcessore ad eseguire istruzioni sbagliate . In questi ambienti il "watchdog timer" e' una periferica molto utile che può contribuire a catturare e reimpostare un microcontrollore che è fuori controllo. Se il cristallo si ferma il watchdog non lo può aiutare perché il watchdog prende il proprio battito dal cristallo stesso .

La famiglia di microcontrollori P87LPC7xx dalla NXP offre molte opzioni quali oscillatore locale a cristallo e oscillatore interno RC. Molti clienti preferiscono utilizzare l'oscillatore RC per ridurre il costo del BOM (io non lo raccomando in un'applicazione critica). La migliore pratica e' utilizzare tutti e due oscillatori anche con wachdog esterno o microcontrollore di backup. Il progettista può utilizzare l'oscillatore locale con un cristallo per il funzionamento normale del microcontrollore, mentre abilita l'oscillatore interno RC per watchdog. Se il cristallo fallisce, il watchdog continua a funzionare. Dopo il timeout predefinito, l'intero sistema può essere reimpostato. La famiglia di microcontrollori P89LPC9xx migliora il progetto, offre un oscillatore indipendente a 400 KHz per il watchdog timer, e cosi come clock di sistema possono essere selezionati: input esterno, oscillatore a cristallo, RC interno e watchdog (ha il suo oscillatore RC).

Che cosa succede se il sistema e' reimpostato ed il cristallo continua a non funzionare ? Se il malfunzionamento del cristallo e' permanente si può provare a ridurre i danni fatti o subiti dall'intero sistema. Il reset del watchdog ci può aiutare a togliere energia alle periferiche quali ad esempio una lama di taglio o una testa di lettura scritura di una carta di credito.

Il manuale dalla NXP non e' perfetto perché la fonte non può essere riconfigurata al volo o durante il periodo di reset; può essere riconfigurata solo nella programmazione flash. Silicon Labs ha la famiglia C8051Fxxx e sopporta più oscillatori che la NXP. Durante il reset, l'oscillatore interno e' abilitato ed e' possibile di cambiare in volo "clock source" nel cristallo. Queste parti sono sostenute da Missing Clock Detector Reset e PCA Watchdog Timer Reset. Le parti del registro di reset sono molto utili per individuare il fallimento del cristallo. Si tratta di una parte migliore per l'applicazione critica. Tuttavia, esso ha una limitazione, la fonte e ' selezionata ciò significa che il watchdog timer può fallire. Il sensore del clock reimposterà la parte (ma quale e' la sorgente di clock per questo sensore?). Tuttavia, io preferisco il watchdog che ha la sua "clock source" come NXP.

Infine il watchdog timer clock dovrebbe essere separato dalla principale clock source in un'applicazione critica.

Leggi anche:

Progettare in modo sicuro con i microcontrollori (I)

Progettare in modo sicuro con i microcontrollori (II)

Repost: 10 Lug 2008

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog
ritratto di brazov2

soluzione ideale

la soluzione ideale sarebbe avere un watchdog che funziona sempre con clock dell'oscillatore RC interno (in modo che non ci sia pericolo che non generi un reset in caso di mancato refresh) e un meccanismo che, quando il quarzo e' selezionato come sorgente di clock per la CPU, monitora la presenza del clock proveniente dall'oscillatore al quarzo. Nel caso in cui questo venga a mancare il clock che arriva alla CPU verrà cambiato automaticamente nel clock interno RC. Già esistono in commercio micro a 8 e 32 bit con queste caratteristiche.

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 2 utenti e 55 visitatori collegati.

Ultimi Commenti