Progettare in modo sicuro con i microcontrollori (III)

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

Scarica subito una copia gratis

Una risposta

  1. Avatar photo brazov2 19 Marzo 2011

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend