Pagina 1 di 2

Digital Output all'accensione

MessaggioInviato: 25 ott 2025, 8:08
da EcoTan
Durante la fase di accensione di una MCU (mi riferisco in particolare a un pic32), allorchè la tensione di alimentazione Vdd è incognita seppur limitata, è possibile che si presenti una apprezzabile tensione positiva (circa 1V) su un pin che verrà configurato dal software come Digital Output? In pratica mi preoccupa il fatto che, in occasione di una riaccensione, venga emesso un comando indesiderato (cosa che infatti si verifica).

Re: Digital Output all'accensione

MessaggioInviato: 25 ott 2025, 11:14
da Etemenanki
E' abbastanza strano, di solito i pin GPIO all'accensione li danno come "alta impedenza" finche' non comandati ... forse un disturbo, magari risolvibile con una resistenza di pulldown ? (se piloti le basi dei transistor o i gate dei mosfet, le resistenze di spegnimento ci dovrebbero sempre essere, io le metto a prescindere)

Re: Digital Output all'accensione

MessaggioInviato: 25 ott 2025, 11:17
da boiler
Durante e dopo la fase di accensione, sei in POR (power-on-reset).
Fino al momento in cui il software configura i GPIO, il pin è ad alta impedenza (l'equivalente di un input digitale o analogico, a dipendenza del pin stesso).
Se non è controllato tramite un pull-up o pull-down può succedere di tutto.

Se il microcontroller lo supporta, puoi anche sequenzializzare l'accensione, dando tensione prima al core e poi, quando tutto è attivo agli I/O.

E se l'applicazione è davvero critica, puoi mettere un buffer in serie al GPIO di quelli usati come level shifter.
Il lato uscita lo accendi solo dopo che il micro è attivo e stabile. Ce ne sono di quelli che garantiscono l'assenza di glitches indipendentemente dalla sequenza di attivazione. Al momento non lo trovo, ma se ti interessa dopo guardo che IC è.

Boiler

Re: Digital Output all'accensione

MessaggioInviato: 25 ott 2025, 12:00
da stefanopc
Qui sotto metto il collegamento a due discussioni che potrebbero interessare.
viewtopic.php?f=1&t=87829
viewtopic.php?f=1&t=84958
Si tratta di una soluzione Hw per mettere al riparo una uscita critica da qualsiasi anomalia del Micro.
Ciao

Re: Digital Output all'accensione

MessaggioInviato: 25 ott 2025, 16:53
da EcoTan
Il pin in questione ha una decina di funzioni alternative e fra queste non vi è l'ingresso analogico. Non ci ho mai capito molto sulla configurazione delle porte, nel programma ho messo soltanto una istruzione TRISB (per porta B). Ho messo una resistenza di pull-down da 8,2k ed ho tolto, per prova, l'unica istruzione che può mettere quella uscita ON. Il pin è collegato, tramite una resistenza, al gate di un triac che a sua volta alimenta un trasformatore 220/12V. Mettendo sulla 12V un led con una resistenza in serie, all'atto dell'alimentazione il led dà un guizzo quasi subito. Ripetendo la manovra non lo fa più, poi a riposo riprende. L'alimentatore è capacitivo da rete, quindi partenza lenta, e la massa della MCU sta sul neutro (o sulla fase ma in tal caso non funziona perché sincronizza sulla semionda sbagliata). Domanda: la causa può risiedere nel Triac che innesca per dv/dt ? È da 8 amp 800 V, forse andrebbe bene 4 amp 600 V ?

Re: Digital Output all'accensione

MessaggioInviato: 26 ott 2025, 8:47
da EcoTan
EcoTan ha scritto: la causa può risiedere nel Triac che innesca per dv/dt ?

Purtroppo no. Intanto il comando indesiderato esce con un piccolo ritardo rispetto all'inserzione su rete, e poi per maggior sicurezza ho provato a togliere la MCU dal suo zoccolo, e naturalmente il fenomeno è sparito. La MCU è pic32 MX110F016B di Microchip e il datasheet è qui: https://ww1.microchip.com/downloads/aem ... 01168L.pdf
Il pin è 17, porta RB8, ed ho parecchi pin liberi per cui non sarebbe un problema doverlo spostare, ma solo una grandissima seccatura. Mi consigliate di provare?
La configurazione dei fuses è fatta mediante una serie di #PRAGMA CONFIG per 50 MHz che è il massimo, e il programma non prevede nulla come configurazione, attesa del pll lock o altro, ha soltanto una TRISB come già detto.

Re: Digital Output all'accensione

MessaggioInviato: 26 ott 2025, 9:24
da EcoTan
EcoTan ha scritto:Il pin è 17, porta RB8, ed ho parecchi pin liberi per cui non sarebbe un problema doverlo spostare, ma solo una grandissima seccatura.

Naturalmente non ho resistito ed ho già provato a spostare sul pin accanto cioè da pin 17 a pin 18 (evviva le millpunti).
A posto!
I full pin name sono:
17 TCK/RPB8/SCL1/CTED10/PMD4/RB8
18 TDO/RPB9/SDA1/CTED4/PMD3/RB9
Però 'sti pin multifunzione sono un vero rompicapo.

Re: Digital Output all'accensione

MessaggioInviato: 26 ott 2025, 10:19
da boiler
Quei pin sono elettricamente equivalenti, ma sono anche parte dell'interfaccia JTAG e TDO è un'uscita.
Non la conosco bene, visto che ormai uso solo Serial Wire, ma può darsi che dopo il power-on-reset sia attiva fino alla configurazione da parte del codice utente e che TDO assuma uno stato che causa il comportamento che vedi.

Boiler

Re: Digital Output all'accensione

MessaggioInviato: 26 ott 2025, 11:14
da EcoTan
OK molte grazie.

Re: Digital Output all'accensione

MessaggioInviato: 26 ott 2025, 11:17
da boiler
No aspetta, su TDO non hai il problema, scusa ho letto male (sono un po' rintronato oggi).
Allora deve essere dovuto a qualcosa d'altro.

Boiler