Che materia stai cercando?

Riassunto Informatica industriale

Riassunto del corso di Informatica industriale utile per dare l'esame senza aver seguito il corso. Comprende tutti gli argomenti affrontati a lezione basati su appunti personali del publisher presi alle lezioni del prof. Fantechi dell’università degli Studi di Firenze - Unifi, facoltà di Ingegneria, Corso di laurea in ingegneria informatica. Scarica il file in formato PDF!

Esame di Informatica industriale docente Prof. A. Fantechi

Anteprima

ESTRATTO DOCUMENTO

Sistemi operativi real time

Il run-time executive che implementa lo scheduling basato su processi è in realtà un nucleo di un SO . In molti

sistemi embedded vengono utilizzati degli executive proprietari; anche se negli ultimi anni si sono sempre più

diffusi SO real-time commerciali.

Nel settore dei sistemi real-time troviamo una grande varietà di SO, a causa anche degli innumerevoli processori

dei sistemi embedded.

Diversi SO real-time (RTOS) si sono evoluti a partire da SO tradizionali, e possono offrire una serie di funzionalità

tipiche , ma se ne devono distaccare in varie caratteristiche: infatti i SO tradizionali sono inadeguati a soddisfare le

deadline strette.

Nei SO tradizionali lo scheduling mira a ottimizzare le performance globali del sistema; negli RTOS lo scheduling

mira a garantire il rispetto delle deadline.

I tratti più caratteristici e importanti di un RTOS sono i seguenti:

scheduling real-time;

- memory allocation (non c'è allocazione dinamica per i task; file system in flash o ROM; impronta di

- memoria ristretta, cioè occupazione in memoria del RTOS);

interazione tra task (semafori, ...);

- configurabilità.

-

Gli RTOS principali proposti sul mercato sono Vx-Works, LynxOS , OSEK; mentre i principali RTOS open-source,

liberi o di provenienza accademica sono QNX, Linux-RTAI , RT-Linux.

Tutti questi RTOS si differenziano per vari aspetti, tra cui la presenza o meno di algoritmi di priority inheritance o

priority ceiling , la gestione e la sincronizzazione e comunicazione tra task, la gestione della MMU, le architetture

hardware supportate, la dimensione di memoria richiesta, la configurabilità, la conformità con lo standard POSIX.

Una tecnica utilizzata per dare la possibilità di avere funzionalità di SO tradizionale coniugate con la garanzia del

rispetto delle deadline è quella di avere un kernel di un RTOS che schedula i task real-time come richiesto dalle

deadline, e che ospita un SO convenzionale come unico task di background, a cui viene concessa la CPU solo negli

intervalli di idle, e che viene prelazionato appena un task real-time diventa pronto.

Nota:

Il kernel è il nucleo di un sistema operativo. Si tratta di un software avente il compito di fornire ai processi in esecuzione, su di un

,

elaboratore un accesso sicuro e controllato all'hardware. Dato che possono esserne eseguiti simultaneamente più di uno, il

kernel ha anche la responsabilità di assegnare una porzione di tempo-macchina (scheduling) e di accesso all'hardware a ciascun

programma (multitasking). 10

3- INTRODUZIONE AI PROCESSORI DI UTILIZZO INDUSTRIALE

Una delle peculiarità dei sistemi embedded è l'utilizzo di una larghissima varietà di processori; i quali si possono

classificare in cinque categorie:

 MCU - Micro Controller Unit

 MPU - Micro Processor Unit

 DSP - Digital Signal Processor

 PLC - Programmable Logic Controller

 PC industriali

All'interno di ciascuna categoria vi è una grande varietà di dispositivi in commercio, i quali si differenziano in

termini di prestazioni (frequenza di clock, numero di bit) e di set di istruzioni tra famiglie di microcontrollori diverse.

Si noti che nello sviluppo di sistemi embedded non è necessaria la portabilità del codice eseguibile (anzi talvolta è

una cosa proprio non voluta).

MCU

Per "microcontrollore" si intende un singolo chip, su cui sono integrati un processore, memorie RAM e ROM, e

dispositivi di interfaccia con l'esterno.

Consideriamo un dispositivo di basse prestazioni, un microcontrollore a 8 bit della famiglia ST6 della ST

Microelectronics (fig. 3.1).

Possiamo notare la presenza sullo stesso chip dei principali componenti di un computer: il processore vero e

proprio (core) e la memoria RAM e ROM, ma anche periferiche di input/output quali porte di comunicazione con

l'esterno, e un convertitore analogico/digitale (A/D converter), oltre ad alcuni timer.

Si noti inoltre che il bus di comunicazione tra processore e memorie (ROM e RAM) non esce dai confini del chip

(quindi non è possibile aggiungere ulteriore memoria). 11

In tale dispositivo sono indirizzabili 256 byte di RAM e 4Kbyte di ROM; mentre i registri generali e i registri di

controllo e di scambio dati fanno in realtà parte della memoria RAM (fig. 3.2).

Fig. 3.2 Organizzazione della memoria

Il set di istruzioni del microcontrollore ST6 è abbastanza limitato, e comprende le operazioni di trasferimento tra

registri e memoria, operazioni aritmetico logiche e operazioni di controllo del flusso.

Una classe di istruzioni importante nei microcontrollori è quella che include il settaggio di un singolo bit e il test di

un singolo bit all'interno di una cella di memoria.

Ogni istruzione viene eseguita in 4 cicli di clock, tranne le istruzioni di salto che vengono eseguite in 2 cicli di clock.

Una caratteristica peculiare di un microcontrollore è quella della gestione delle porte. Ogni porta è un insieme di

piedini del chip, ognuno dei quali può essere configurato come ingresso digitale, ingresso analogico o uscita

digitale.

Per ogni porta sono presenti 2 registri di configurazione (port option register e port direction register), che con i loro

bit indicano per ogni bit della porta la relativa configurazione, e un registro di dati (prt data register) utilizzato per

l'input e l'output dei dati. 12

Attraverso queste porte si possono gestire direttamente sensori con uscita analogica (cioè una tensione variabile in

un range di valori, e non quindi binaria) o attuatori che richiedono un segnale analogico.

Per gestire una conversione A/D (analogico/digitale) si definisce un piedino come ingresso analogico; in questo

modo esso viene connesso all'ingresso del convertitore A/D. Un comando opportuno (bit nell'A/D control register)

fa partire un ciclo di incremento automatico dell' A/D data register, a partire da zero fino ad un max di 255.

Basandosi sul clock, viene generata una rampa di tensione da 0 a 5 V, con un gradino ogni ciclo di clock, e con 256

gradini.

Un comparatore confronta il segnale presente sull'ingresso designato come analogico con la rampa, e quando la

rampa raggiunge il valore del segnale il ciclo viene interrotto, viene settato un bit nell'A/D control register per

segnalare la fine della conversione e quindi l'A/D data register contiene il valore di tensione del segnale, su una

scala da 0 a 255.

Il meccanismo di conversione avviene in parallelo all'esecuzione delle istruzioni, quindi invece del ciclo di attesa si

possono eseguire istruzioni utili e si può testare la fine conversione in seguito.

Per quanto riguarda la conversione inversa (D/A), non è facile generare una tensione proporzionale ad un valore

digitale contenuto in un registro, per questo si ricorre spesso alla PWM (Pulse Width Modulation) che permette di

generare un segnale il cui duty-cycle è proporzionale al valore.


PAGINE

46

PESO

2.66 MB

PUBBLICATO

7 mesi fa


DETTAGLI
Corso di laurea: Corso di laurea in ingegneria informatica
SSD:
Università: Firenze - Unifi
A.A.: 2018-2019

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher tommasogiannoni di informazioni apprese con la frequenza delle lezioni di Informatica industriale e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Firenze - Unifi o del prof Fantechi Alessandro.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Corso di laurea in ingegneria informatica

Teoria Dei Circuiti – Esercizi - scheda 4
Esercitazione
Calcolatori Elettronici – Programma
Dispensa
Teoria Dei Circuiti – Esercizi - scheda 2
Esercitazione
Teoria Dei Circuiti – Esercizi - scheda 3
Esercitazione