Che cos'è un Sistema Real-time?

38
L. Servoli - Corso Fisi ca dei Dispositivi Elet tronici 1 È un sistema che GARANTISCE la una risposta in TEMPI CERTI, indipendentemente dalle condizioni. Ossia, per certe applicazioni NON è accettabile una prestazione incerta. (non e' quin di questioone di sole prestazioni o effciienza). Es.: pilota automatico di un aereo. Es.: telemetria di dati in sistemi votati alla distruzione. Che cos'è un Sistema Real-time?

description

Che cos'è un Sistema Real-time?. È un sistema che GARANTISCE la una risposta in TEMPI CERTI , i ndipendentemente dalle condizioni. Ossia, per certe applicazioni NON è accettabile una prestazione incerta. (non e' quin di questioone di sole prestazioni o effciienza). - PowerPoint PPT Presentation

Transcript of Che cos'è un Sistema Real-time?

Page 1: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

1

È un sistema che GARANTISCE la una risposta in TEMPI CERTI, indipendentemente dalle condizioni.

Ossia, per certe applicazioni NON è accettabile una prestazione incerta. (non e' quin di questioone di sole prestazioni o effciienza).

Es.: pilota automatico di un aereo.

Es.: telemetria di dati in sistemi votati alla distruzione.

Che cos'è un Sistema Real-time?

Page 2: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

2

È un sistema che contiene un elaboratore programmabile utilizzato a “scatola chiusa” dall'utente.

Es.: controllo delle frecce direzionali di una autovettura.

A causa delle diverse legislazioni una casa automobilistica che fabbrica un tipo di vettura DEVE avere la possibilità tramite una operazione SOFTWARE (riprogrammazione) di utilizzare la stessa vettura di base in diversi paesi).

Che cos'è un Sistema Embedded?

Sistemi con microcontrollore: FLESSIBILISistemi con microcontrollore: FLESSIBILI

Page 3: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

3

Sono sistemi attivati da un evento esterno.

L'evento esterno produce in qualche modo un IMPULSO ELETTRICO.

Come fa il “sistema” a riconoscere che questo “EVENTO” ha un significato particolare e che occorre attivare una procedura?

Sistemi Event-triggered

Page 4: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

4

Un evento e' visto da un microprocessore come un INTERRUPT.

Ossia: il microprocessore riceve un segnale hardware.

A seguito dell'INTERRUPT nel sistema operativo viene eseguita una routine di servizio (Interrupt Service Routine) ISR

Sistemi Event - triggered

Page 5: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

5

Sistemi Event-triggered

Page 6: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

6

1) Il sistema esegue una funzione F1;2) arriva l'interrupt servitio dalla ISR1;3) Il sistema gestisce l'interrupt (ossia F1 viene sospesa);4) Il sistema riprende ad eseguire F1 al tempo T2.5) inizia la esecuzione della funzione F2;6) arriva l'interrupt ISR2;7) F2 viene sospesa fino alla fine della gestione dell'interrupt IRS2.8) F2 riprende l'esecuzione.

Sistemi Event-triggered

Page 7: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

7

Sistemi Event-triggered

CASO: ISR2 arriva PRIMA che ISR1 sia completato.....Ma avendo una priorità più elevata va bene.....

Page 8: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

8

Sistemi Event-triggered

PROBLEMA: ISR2 arriva PRIMA che ISR1 sia completato.....Avendo una priorità uguale DEVE aspettare che ISR1 sia completata...Potrebbe addirittura essere ignorata in alcuni casi....

Page 9: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

9

Sistemi Event-triggered

PROBLEMA: ISR2 arriva PRIMA che ISR1 sia completato.....Avendo una priorità inferiore DEVE aspettare che ISR1 sia completata...Potrebbe addirittura essere ignorata in alcuni casi....

Page 10: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

10

Sistemi Event-triggered

PROBLEMA: il sistema ha un comportamento NON ben definito.

L'incertezza deriva dal fatto che a seconda di quando si attivano i trigger esterni, la risposta del sistema dipenderà da quello che sta accadendo in quel momento,E se il sistema e' ragionevolmente complesso(diversi input) la gestione di tutte le possibilitàDIVERGE molto ragidamente.

Page 11: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

11

Sono sistemi gestiti esclusivemente da uno scheduler interno che chiama l'esecuzione delle varie funzioni a tempi o intervalli di tempo PRECISI.

Non dipendendo da eventi esterni, è possibile eliminare le incertezze nellasovrapposizione di eventi e di situazioni.

Sistemi Time -triggered

Page 12: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

12

È il sistema più semplice ed efficiente una sequenza di azioni, purchè non si richiedan o precisioni temporali troppo elevate:

void main(void){ inizializza_X(); while(1) { esegui_X(); }}

Il Superciclo

Page 13: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

13

- è semplice- è efficiente (il tempo di CPU è tutto dedicato alla esecuzione delle funzioni)- è portabile

- scarsa precisione temporale;- utilizzo totale della CPU.

Il Superciclo

Page 14: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

14

Lo Scheduler coercitivo

Page 15: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

15

Lo Scheduler coercitivo

Page 16: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

16

Lo Scheduler cooperativo

Page 17: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

17

Lo Scheduler cooperativo

Page 18: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

18

Lo Scheduler ibrido

Page 19: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

19

Lo Scheduler ibrido

Page 20: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

20

Programmare Cooperativamente

TASSATIVO: ogni task (funzione) si impegna a restituire il controllo entro una durata temporale prefissata(“tick”)

==> programmare con molta cura prevedendo tutti i possibili casi.

Page 21: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

21

Programmare CooperativamenteESEMPIO: Lettura di un ADC....

Il dispositivo ha un registro di controllo (ADCCTRL)che segnala la fine della conversione con un bit: ADCDONE.

while ((ADCCTRL & ADCDONE) == 0) { ; }

Attende che l'ADC segnali la fine della conversione.

INAFFIDABILE. Ditemi perchè.....

Page 22: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

22

Programmare Cooperativamente

Page 23: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

23

Programmare Cooperativamente

SOLUZIONE POSSIBILE: Il TIMEOUT di ciclo

Controllo addizionale sul numero massimo di volte che il ciclo può essere eseguito.

unsigned int Timeout_Loop = 100;

while ((ADCCTRL & ADCDONE) == 0) && (--Timeout_Loop !=0)) { ; }

Page 24: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

24

Programmare Cooperativamente

SOLUZIONE POSSIBILE 2: Il TIMEOUT di ciclo

Possibile disabilitazione del timeout se si ha un simulatoreHardware):

unsigned int Timeout_Loop = 100;

while ((ADCCTRL & ADCDONE) == 0) && (--Timeout_Loop !=0)) { Timeout_Loop--; /* Timeout_Loop = 0; */ }

Page 25: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

25

Programmare Cooperativamente

Calibrazione e documentazione:

Quanto vale un ciclo da 100 passi?

Ogni microcontrollare ha i suoi valori (dipende dal clock interno). Per un 8051 con clock a 12 MHz:

1ms = 100;10ms = 1000;500 ms = 50000;

Page 26: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

26

Programmare Cooperativamente

TIMEOUT HARDWARE:

Se vogliamo una elevata precisione nei timeout, occorreusare uno dei timer interni del 8051:

Es:

Preload = 65535 – 12MHz/(12x1000) = 64535 = 0xFC17

Questo e' il valore iniziale che deve essere caricatonel timer, in modo che dopo 1000 microsecondi il timer raggiunga il valore massimo ed emetta un segnale di overflow.

Page 27: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

27

Programmare Cooperativamente

WATCHDOG:

Temporizzatori di “ultima istanza” che devono essere resettati ad intervalli regolari.se vanno in overflow, allora il microprocessore subisce un RESET di sistema e riparte dalla configurazione iniziale.

Problema: sono delicati da profettare ed implementare,proprio perche' sono ultimativi, non devono entrare in funzione troppo frequentemente.

Page 28: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

28

Microcontrollore SAB-501 Registri per funzioni speciali

4 porte I/O a 8-bit

2+1 timer

Page 29: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

29

Microcontrollore SAB-501 Porte di I/O:

4 porte I/O a 8-bit

2+1 timer

Page 30: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

30

Microcontrollore SAB-501 Timer:

Page 31: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

31

Microcontrollore SAB-501 Timer 0 e 1:

Page 32: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

32

Microcontrollore SAB-501 Timer 0 e 1:

Page 33: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

33

Microcontrollore SAB-501

Page 34: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

34

Microcontrollore SAB-501 Timer 2:

Page 35: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

35

Microcontrollore SAB-501 Timer 2: Modalità selezionata da 4 bit del registro T2CON(indirizzo 0xC8)

Page 36: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

36

Microcontrollore SAB-501

Page 37: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

37

Microcontrollore SAB-501

Page 38: Che cos'è un Sistema Real-time?

L. Servoli - Corso Fisica dei Dispositivi Elettronici

38

Microcontrollore SAB-501