L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno...

24
L. Servoli - Corso Fisi ca dei Dispositivi Elet tronici 1 Uno scheduler deve avere implementate almeno le seguenti 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 specificare un ritardo iniziale e la durata del periodo di esecuzione. Le funzioni di uno scheduler

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

L. Servoli - Corso Fisica dei Dispositivi Elettronici

24

Esempio di I/O specializzato: