Hai un rituale mattutino? Io non riesco a iniziare la giornata senza il mio. Il mio cervello fa fatica a funzionare senza una colazione abbondante, un caffè bollente e cinque minuti di navigazione nella mia casella di posta, anche se non ho nuove email da leggere.
Lo stesso vale per il tuo sistema integrato. Sebbene non sia necessario servire il caffè al microcontrollore del PCB, è necessario assicurarsi che gestisca efficacemente lo stato di transizione durante l'accensione.
La transizione all'avvio è il breve momento tra l'accensione dell'alimentazione e l'utilizzo di un microcontrollore completamente inizializzato. Ciò avviene di solito in millisecondi o microsecondi ed è praticamente impercettibile all'occhio umano. Mentre nel mondo dell'elettronica, ciò equivale a mesi o anni.
La maggior parte dei progettisti di sistemi embedded dà la priorità all'algoritmo dell'applicazione e alla progettazione dell'hardware, trascurando questo stato cruciale di "avvio". Dopotutto, come possono semplici millisecondi influire su un dispositivo elettronico? Se rimani ancorato a questa mentalità, sarà solo questione di tempo prima che qualcosa vada terribilmente storto quando qualcuno accende il tuo sistema.
Consigli per evitare di azionare accidentalmente una pompa.
La maggior parte dei microcontrollori e dei circuiti integrati richiede un breve periodo di tempo prima di essere completamente alimentata e operativa. In questo periodo di transizione, i pin di input/output sono solitamente nel loro stato predefinito, ovvero "input". Tuttavia, ci sono casi in cui questi pin riscontrano un problema tecnico e oscillano tra logica alta e logica bassa durante la transizione di accensione.
Nelle applicazioni reali, i pin di output possono essere collegati indirettamente ad attuatori, pompe o motori che possono essere attivati accidentalmente durante l'accensione. Tuttavia, non vorrai certo dover affrontare brutte sorprese quando il tuo sistema integrato è operativo sul campo. In determinate circostanze, situazioni impreviste possono anche rappresentare un rischio per la sicurezza pubblica.
C'è poco che un ingegnere del firmware possa fare prima che il codice di un microcontrollore sia in esecuzione. Pertanto, la maggior parte degli sforzi per gestire la transizione all'avvio è nelle mani del progettista hardware. Una pratica consiste nel posizionare resistori di pull-up o pull-down sull'uscita per garantire che sia sempre in uno stato di sicurezza durante l'accensione.
Ad esempio, un motore dovrebbe rimanere spento finché il microcontrollore non decide che deve essere attivato. Nelle applicazioni di sicurezza, ti consigliamo di progettare i controller di accesso alle porte in modo da mantenere il blocco elettromagnetico alimentato fino al completo avvio. I progettisti hardware devono valutare il progetto in base alle applicazioni caso per caso.
In alcuni casi, un resistore semplice potrebbe non essere sufficiente. Nei casi in cui più ingressi sono collegati a driver logici, le uscite dei driver possono comportarsi in modo imprevedibile e innescare erroneamente l'uscita del controller, nonostante i resistori di pull-up/down.
Una soluzione semplice ai problemi della transizione all'avvio.
In questo caso il tuo progetto ha bisogno di un controllo più intelligente che attivi i driver logici solo quando il microcontrollore è completamente alimentato. La maggior parte dei driver logici ha un pin di abilitazione dell'output (OE) che i progettisti normalmente instradano a terra o VCC per mantenerlo sempre attivo. Per attenuare gli effetti della transizione all'avvio, puoi instradare l'OE dei driver logici a uno dei pin di output del microcontrollore e portarlo al giusto livello di tensione per mantenerlo spento durante l'avvio.
Prendere tutte queste precauzioni solo per garantire che il sistema integrato funzioni correttamente per pochi millisecondi può sembrare una seccatura inutile. Ma dopo aver evitato danni o lesioni alla proprietà, scoprirai che ne vale la pena.
Con un ottimo software di progettazione PCB puoi accedere alla compatibilità completa della cronologia di progettazione e a contenuti di progettazione completi. Il nostro software Altium Designer® ti consente di modificare facilmente la tua progettazione mitigando i potenziali effetti della transizione all'avvio.
Il tuo sistema integrato si comporta in modo errato durante l'avvio? Parla con un esperto di Altium.