Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Interrupt

Elettronica lineare e digitale: didattica ed applicazioni

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

0
voti

[21] Re: Interrupt

Messaggioda Foto Utentecarmen976 » 13 ago 2013, 19:50

TardoFreak ha scritto:Visto che l' impulso dura 1ms io implementarei un' interrupt ciclica che ogni 500 us mi va a leggere tutti gli ingressi e me li mette in una serie di bytes e mi verifichi già la commutazie.


quindi ne potrei avere quanti in contemporanea?
Avatar utente
Foto Utentecarmen976
-12 1 5
Frequentatore
Frequentatore
 
Messaggi: 149
Iscritto il: 29 dic 2006, 13:45

0
voti

[22] Re: Interrupt

Messaggioda Foto UtenteTardoFreak » 13 ago 2013, 22:03

Dipende da cosa vuoi utilizzare come interfaccia d' ingresso.
Io utilizzerei dei buffer 74HC244 o 74HC245 (più facile il disegno del PCB e/O il cablaggio filato :mrgreen: ) per leggere 8 ingressi contemporaneamente.
Uno più decodificatori (ad esempio 74HC138) per generare i segnali di ENABLE per i buffer, così si risparmiano pin del micro e, a questo punto leggere 128/256 o più ingressi lo si farebbe con il cu ... ehm ... con gran facilità e velocità. :mrgreen:
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

2
voti

[23] Re: Interrupt

Messaggioda Foto UtentePaolino » 14 ago 2013, 9:50

Una domanda per Foto Utentecarmen976 (forse non mi è chiaro il tutto, può darsi che abbia perso dei pezzi nella lettura del post): poniamo che i segnali che scatenano gli interrupt siano anche contemporanei, da specifica devi anche elaborarli in modo contemporaneo? Questo è, a mio modo di vedere, impossibile con un solo micro, devi andare su di una struttura diversa.
In alternativa, i segnali scatenano interrupt che vengono serviti da una coda di eventi, e quindi gestiti uno dopo l'altro.

Mi puoi chiarire quale situazione è la tua?

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

3
voti

[24] Re: Interrupt

Messaggioda Foto UtentePaolino » 14 ago 2013, 10:03

Scusa Foto UtenteTardoFreak, tu intendi uno schema di principio di questo tipo?



Rimane, a mio modo di vedere, il meccanismo che scatena l'interrupt. Se non ho capito male, i segnali OE1 e OE2 vengono generati da un interrupt di un timer, mentre la lettura dei segnali (su PORTB, in questo caso) non è sotto interrupt...

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[25] Re: Interrupt

Messaggioda Foto UtenteTardoFreak » 14 ago 2013, 10:58

Si,
Poniamo il caso di avere 10 buffer (80 ingressi), ogni 500 us, all' interno della interrupt:
- Trasferisco i 10 bytes immagine degli ingressi letti precedentemente nella tabella degli stati precedenti.
- Leggo tutti i buffer e metto il loro stato nella tabella degli stati attuali.
- Eseguo 10 operazioni di xor fra i bytes dgli stati precedenti con i corrispondenti degli stati attuali. Se il bit di risultato è 1 vuol dire che il corrispondente ingresso ha commutato, mandato in and con l' ingresso avrò un 1 solo se la commutazione è stata da 0 a 1, ma eseguo tale operazione solo se il bit che mi indica una commutazione è a zero. In questo modo tengo traccia delle commutazioni fino a quando non la servirò. A quel punto, da software dopo averla servita, azzererò il bit che mi indica la commutazione.
Questo perché mi pare di capire che deve tenere traccia delle commutazioni ma ha la possibilità di servirle in differita (ha detto che il tempo di risposta non ha importanza).
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[26] Re: Interrupt

Messaggioda Foto Utentecarmen976 » 14 ago 2013, 17:18

carmen976 ha scritto:
carmen976 ha scritto:Gli impulsi che arrivano sui pin dove ci sta in ascolto un interrupt
hanno una durata (mi riferisco al valore alto) di 1 ms, la frequenza 1 Hz (per fissare le idee).


Le specifiche sono sempre queste.

Rispondo a Paolino, i segnali che scatenano interrupts potrebbero essere anche contemporanei e d specifica non ne devo perdere.

MA se ho 10 ingressi con 10 interrupts diversi, ognuno che sta in ascolto su di un ingresso ed ognuno con una funzione specifica da fare, se i segnali si scatenano contemporaneamente che succede?

Parlo con PIC24.
Avatar utente
Foto Utentecarmen976
-12 1 5
Frequentatore
Frequentatore
 
Messaggi: 149
Iscritto il: 29 dic 2006, 13:45

0
voti

[27] Re: Interrupt

Messaggioda Foto UtenteTardoFreak » 14 ago 2013, 17:28

Ma tu non hai questo problema, da quanto hai scritto non hai bisogno di gestirle contemporaneamente.
E' così?
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

2
voti

[28] Re: Interrupt

Messaggioda Foto UtentePaolino » 15 ago 2013, 10:28

carmen976 ha scritto:MA se ho 10 ingressi con 10 interrupts diversi, ognuno che sta in ascolto su di un ingresso ed ognuno con una funzione specifica da fare, se i segnali si scatenano contemporaneamente che succede?

Parlo con PIC24.

Accade che vengono elaborati, uno dopo l'altro, in quanto vengono messi in coda. Non vengono elaborati in parallelo. E' per questo che accennavo a strutture parallele di elaborazione.

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

Precedente

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 139 ospiti