Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Come fare per disaccoppiare la linea di interrupt?

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

0
voti

[1] Come fare per disaccoppiare la linea di interrupt?

Messaggioda Foto UtenteMarcoNik » 20 apr 2011, 13:09

Ciao a tutti,
chiedo un vostro parere riguardo ad un nuovo problema che mi trovo ad affrontare.
Si tratta di questo: ho implementato un circuito basato su microprocessore atmega128 ed ho utilizzato la portd.0 come linea di interrupt su INT0.
A questa linea ho collegato i dispositivi di interrupt necessari al progetto.
quattro di questi sono dei pulsanti che, quando sono premuti, portano basso il livello e fanno scattare la ISR che discerne in base allo stato presente sulle porte associate ai pulsanti quale di questi e' stato premuto.
Fin qua nessun problema. Una resistenza di pull up mantiene alta la linea di portd.0 quando i pulsanti sono rilasciati e quando ne viene premuto uno torna bassa permettendo il buon funzionamento di tutto.
Adesso ho collegato con lo stesso sistema un dispositivo che necessita della gestione di interrupt, ma non e' un pulsante bensi' un modulino che riceve il segnale DCF di radiocontrollo.
Succede che al termine della sincronizzazione dell'orario lo spengo.
Anche qui nessun problema per la sincronizzazione.
Pero' l'uscita del modulo a questo punto (cioe' una volta tolta l'alimentazione) mantiene bassa la linea di interrupt impedendo il corretto funzionamento dei pulsanti...
Ho provato ad inserire una resistenza di pull up sull'uscita del modulo DCF ma non c'e' stato nulla da fare: resta comunque troppo bassa.
In effetti e' corretto che una volta spento il modulo DCF la sua uscita sia bassa (E' spento!) :ok:
mi chiedo come fare per riuscire a 'disaccoppiarla' dalla linea di interrupt nel momento del suo spegnimento.
Ogni suggerimento e' benvenuto!


Grazie 1000 per l'attenzione

Marco
Avatar utente
Foto UtenteMarcoNik
0 2
 
Messaggi: 15
Iscritto il: 10 feb 2011, 13:20

0
voti

[2] Re: Come fare per disaccoppiare la linea di interrupt?

Messaggioda Foto Utenterusty » 20 apr 2011, 13:48

Ma l'alimentazione viene tolta solo al modulino o a tutto il sistema? Potresti provare ad inserire un tri-state e pilotarlo in modo adeguato per svolgere la funzione che desideri.
Avatar utente
Foto Utenterusty
4.075 2 9 11
Utente disattivato per decisione dell'amministrazione proprietaria del sito
 
Messaggi: 1578
Iscritto il: 25 gen 2009, 13:10

0
voti

[3] Re: Come fare per disaccoppiare la linea di interrupt?

Messaggioda Foto UtenteIsidoroKZ » 20 apr 2011, 13:54

In linea di principio una porta open collector alimentata con il micro che passa il livello basso solo quando il modulo da` livello basso (segnale M) E c'e` l'alimentazione (segnale A). Una cosa del genere:



Al posto della porta open collector puoi mettere una porta normale con un diodo in serie all'uscita. Il tutto sempre che la tensione di alimentazione del modulo sia la stessa del micro.

La soluzione e` solo in linea di principio perche' in fase di spegnimento potresti trovare degli interrupt spuri. Non dovrebbe pero` essere un problema perche' a quel punto il sw sa che il modulo e` spento, e butta via l'interrupt.

Altra possibilita`, al posto di prendere il segnale A dall'alimentazione, lo prendi dal comando che esce dal micro e va a comandare l'accensione e spegnimento del modulo. In questo modo sei sicuramente compatibile con le tensioni di alimentazione e segnale.

Probabilmente si puo` anche fare con un diodo e un transistore, ma sono quelle schifezze che non si devono fare con la logica :-)

Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

0
voti

[4] Re: Come fare per disaccoppiare la linea di interrupt?

Messaggioda Foto UtenteMarcoNik » 20 apr 2011, 14:43

WOW!!!!
Tutto funziona di nuovo perfettamente!

Grazie 1000!
P.S.
il transistor sara' anche una schifezza, ma e' un grande!!

=D>
Avatar utente
Foto UtenteMarcoNik
0 2
 
Messaggi: 15
Iscritto il: 10 feb 2011, 13:20


Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 69 ospiti