L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno...
-
Upload
arabella-vanni -
Category
Documents
-
view
213 -
download
0
Transcript of L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno...
![Page 1: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/1.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
1
Uno scheduler deve avere implementate almeno leseguenti funzionalità:
1) Inizializzatore: preparazione delle strutture dati necessarie. Inizializzazione hardware (Timer2).
2) Avviatore: fa partire il processo di scheduling.
3) Inseritore task: inserisce nella lista delle task la funzione da eseguire con la possibilita' di specificareun ritardo iniziale e la durata del periodo di esecuzione.
4) Distruttore Task: rimuove una task dalla lista.
Le funzioni di uno scheduler
![Page 2: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/2.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
2
5) Esecutore task: fa eseguire la task pronta per l'esecuzione. Una volta completata lascia il processore In modalita' “idle”.
6) Standby: mette il microprocessore in “idle”.
7) descrittore stato: riporta lo stato del microprocessore e delle sue pariferiche hardware.
8) Codice di errore: meccanismo per registrare il codice di errore relativo all'ultima operazione eseguita dal microprocessore.
Le funzioni di uno scheduler
![Page 3: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/3.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
3
E adesso implementate.......... :)
Le funzioni di uno scheduler
![Page 4: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/4.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
4
Esempio di I/O specializzato:
Pulse Rate Sensing (PRS)..
Ossia:
Come si possono contare impulsi rettangolari da perifericaesterna?
![Page 5: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/5.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
5
Esempio di I/O specializzato:
Soluzione Hardware:
Se si ha un TIMER/CONTATORE a disposizione, si possono contare i fronti di discesa del segnale rettangolaresenza dover utilizzare nessuna altra istruzione.
![Page 6: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/6.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
6
Esempio di I/O specializzato:
Funzionamento:
La coppia di registri TH0, TL0 viene incrementata ogni volta che si ha una transizione 1-> 0 sul pin T0.Per garantire una misura accurata i valori sul pin devonorimanere costanti per almeno due cicli, il che per un 8051standard, con clock a 12 Mhz, corrisponde a 0.500 Mhzdi frequenza massima misurabile.
(ricordate: 1 ciclo macchina = 12 colpi di clock).
![Page 7: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/7.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
7
Esempio di I/O specializzato:
Funzionamento: TASK:
A livello si TASK occorre crearne una che faccia le seguentiOperazioni:
1. a intervalli regolari legga il contatore;2. trasferisca il valore letto in un buffer o in una variabile globale;3. azzeri il contatore per far ripartire una nuova lettura.
N.B.: l'analisi dei dati verrà fatta o da una seconda task o dal programma principale.
![Page 8: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/8.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
8
Esempio di I/O specializzato:
Funzionamento: Implementazione delle decisioni:
Sulla base dell'analisi dei dati e la loro interpretazioneuna decisione sul da farsi viene presa o dal programma principale o da una TASK.
L'esecuzione di eventuali azioni può di nuovo esseredemandata al programma principale o ad un'altra TASK.
Importante: è necessario l'accesso ESCLUSIVO ad un Timer
![Page 9: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/9.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
9
Esempio di I/O specializzato:
Soluzione Software: (frequenza massima: 500 Hz)
Se NON si ha un TIMER/CONTATORE a disposizione, si possono utilizzare tecniche software:
1. un TASK che controlla lo stato di un PIN di I/O;2. quando c'è una transizione tra due controlli viene incrementato un contatore software;3. un altro TASK schedulato su periodi più lunghi esegue la raccolta dati e la loro analisi;4. il main o un altro TASK deciderà cosa fare e quali azioni far eseguire.
![Page 10: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/10.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
10
Esempio di I/O specializzato:
![Page 11: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/11.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
11
Esempio di I/O specializzato:
Pulse Rate Modulation (PRM)..
Ossia:
Come si possono generare impulsi rettangolari a frequenzavariabile in uscita?
![Page 12: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/12.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
12
Esempio di I/O specializzato:
T = periodo dell'onda (x+y);
x = intervallo in cui il segnale è nello stato “1”;
y = intervallo in cui il segnale è nello stato “0”;
Inoltre. f = 1/T = frequenza dell'onda; Duty Cycle: DC = x/(x+y) * 100%
![Page 13: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/13.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
13
Esempio di I/O specializzato:
T = periodo dell'onda (x+y);
x = intervallo in cui il segnale è nello stato “1”;
y = intervallo in cui il segnale è nello stato “0”;
Inoltre. f = 1/T = frequenza dell'onda; Duty Cycle: DC = x/(x+y) * 100%
![Page 14: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/14.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
14
Esempio di I/O specializzato:
Soluzione Hardware: (massima frequenza: 3.0 MHz)
Se si ha un TIMER/CONTATORE tipo Timer2 a disposizione, si può generare un treno di impulsi rettangolari con DT=50%dal pin T2 (P1.0) .
1. porre a 0 il bit 2. porre a 1 il bit 3. il bit fa partire il Timer 2.
La frequenza è:
![Page 15: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/15.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
15
Esempio di I/O specializzato:
Soluzione Software:
Se NON si ha un timer tipo Timer2 a disposizione,
![Page 16: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/16.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
16
Esempio di I/O specializzato:
Soluzione Software: TASK FLASHLED();
![Page 17: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/17.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
17
Esempio di I/O specializzato:
Soluzione Software: Ciclo con frequenza variabile:
Variabile Globale
![Page 18: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/18.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
18
Esempio di I/O specializzato:
Pulse Width Modulation (PWM)..
Ossia: Come si possono generare impulsi a frequenza variabile che codifichino una ampiezza in uscita? (è un tipo di modulazione analogica in cui l'informazione è codificata sotto forma di durata nel tempo di ciascun impulso di un segnale)
![Page 19: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/19.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
19
Esempio di I/O specializzato:
Il segnale medio dipende essenzialmente dal Duty Cycle:
![Page 20: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/20.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
20
Esempio di I/O specializzato:
![Page 21: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/21.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
21
Esempio di I/O specializzato:
Period = costante questa volta;
PWM = variabile;
![Page 22: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/22.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
22
Esempio di I/O specializzato:
![Page 23: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/23.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
23
Esempio di I/O specializzato:
Nuovo approccio apparentemente più veloce.
![Page 24: L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.](https://reader035.fdocument.pub/reader035/viewer/2022062701/5542eb58497959361e8c2e02/html5/thumbnails/24.jpg)
L. Servoli - Corso Fisica dei Dispositivi Elettronici
24
Esempio di I/O specializzato: