Integrazione real time delle Integrazione real time delle centraline

Transcription

Integrazione real time delle Integrazione real time delle centraline
Integrazione real time delle
centraline elettroniche in
ambito
bit automotive
t
ti
Flavio
a o Co
Corradini
ad
CF3000 Engineering & Electronics
1
Sistemi
elettronici
l tt i i
Veicoli
Imbarcazioni
Elettronica
High-Tech
2
La nascita
• Ingegneria elettronica nel 1982:
– Programmazione con schede perforate
– Output
p cartacei con stampe
p ((non erano
disponibili monitors)
– Obbligatori Scienza delle costruzioni
costruzioni,
Meccanica, Disegno, ecc.
3
L’evoluzione
• Ingegneria elettronica nel 1988:
– Sono nati i microcontrollori a basso costo
– L’elettronica
L elettronica digitale sta facendosi spazio
sull’elettronica analogica
– Arrivano i primi personal computers
• Non esiste l’hard disk, si usa il DOS su floppy
4
L’automotive
L
automotive
nel 1988
• Il carburatore Weber domina il mondo
• L’accensione a transistor elimina i
contatti
t tti striscianti
t i i ti
• L’iniezione
L iniezione Accensione Weber (IAW) e’
e
nata sulla Ferrari GTO
• La strumentazione e’ elettromeccanica
5
Prime
i i i i
iniezioni
elettroniche
• Motore gestito via software
• Studio di nuovi controlli con Centro Ricerche
Fiat
• Vetture di sperimentazione:
– Lancia Delta Integrale
Integrale, Ford Sierra Cosworth
Cosworth,
Ferrari
6
Il test
del software
• Viene creato il nuovo gruppo di
“Sperimentazione Software”
• L
Le ttecniche
i h di validazione
lid i
non sono iinsegnate
t
nelle Universita’ quindi sono tutte “inventate”
• Negli anni successivi le tecniche usate vengono
presentate a molti congressi del settore
(EuroSTAR Software Testing Analysis and
(EuroSTAR,
Review)
7
Direttive emissioni UE
• 1970 – 1982
– Benzina regolamentata, Diesel senza limiti
• 1983 – 1992
– Benzina
B
i e di
diesell regolamentate
l
t t
• 1993 – 2000
– Introduzione veicoli catalizzati
• 2001 – 2005
– Introduzione diagnosi a bordo (OBD)
8
Direttive anti inquinamento
DIRETTIVA
ARGOMENTO
DATA
INTRODUZIONE
91/441/CEE Euro 1
Modifica la
70/220/CEE
C
26/06/1991
93/59/CE
Nuovi limiti
emissioni
01/10/1993
94/12/CE
Nuovi limiti
emissioni
19/04/1994
96/44/CE Euro 2
Modifica metodi
rilevamento emissioni
01/07/1996
96/69/CE
Emissioni veicoli
benzina, gasolio
01/10/1996
9
Soglie emissioni UE
CO
70,00
60,00
50,00
40,00
g/km
30,00
20,00
10,00
0 00
0,00
B i
Benzina
Diesel
1
2
3
4
5
6
7
8
9 10 11 12
Direttive emissioni
10
Emissioni reali complessive
HC non metanici
CO
B enzina Senza
P io mbo
CO2
NO2
Senza P io mbo
Catalitica
Benzina Senza Piombo
Senza Piombo Catalitica
SO2
Diesel
PM10
Benzene
B io Diesel
Diesel
B(a)P
GP L
Bio Diesel
GPL
IPA
M etano
Metano
11
I controlli
• Tra gli ingegneri, si distinguono quelli con
metodo empirico e quelli che riescono ad
applicare
pp
al motore endotermico le nuove
teorie di controllo
12
La specializzazione
• Corso professionale
post laurea sui
controlli robusti al
prestigioso MIT di
Boston
13
Al giorno d’oggi
…
• Tutti i motori hanno
controllo elettronico a
microprocessore
• I nuovi requisiti di autodiagnosi in
tempo reale spingono a verifiche
sempre piu’ sofisticate
14
Centraline ECU
• ECU = Electronic Control Unit
Unita’ di Controllo Elettronica
= Unita
15
Principali sistemi elettronici del
veicolo
• Sistema di distribuzione ((centraline e cablaggi)
gg )
• Sistema per la gestione dei servizi e dell’informativa
di bordo
• Sistema di controllo motore
• Sistema frenante
• Sistema di controllo sospensioni
• …
16
Architettura sistemi
• FFC = Front Frame Control
– Posta nella zona anteriore del telaio
• BC = B
Body
d C
Computer
t
– Nel sottoplancia
• RFC = Rear Frame Control
– Nella zona laterale / posteriore
• …
17
Funzioni sistemi
• I sistemi citati realizzano funzioni di
– distribuzione, protezione
– centri di raccolta e smistamento segnali
18
Bus di comunicazione
• BCB = Bodyy Control Bus
• ICB = Instrument Cluster Bus
• VDB = Vehicle Data Bus
• IDB = Infotainment Data Bus
19
Soluzione con centralina unica
• Controindicazioni
– Difficolta’ di tenere il passo con l’evoluzione
t
tecnologica
l i
– Rapida obsolescenza delle soluzioni
tecniche e dei prodotti
20
Soluzione con centralina unica
• Controindicazioni
– Perdita di competivita’ nel rapporto
prestazione/costo rispetto ai prodotti sviluppati
dalla concorrenza,
concorrenza che puo’
puo cogliere il meglio in
sviluppo presso i fornitori specialisti
– Necessita’
Necessita , comunque,
comunque di affidare a un fornitore
partner l’industrializzazione, col pericolo di
perdere in p
p
parte i vantaggi
gg di esclusivita’ di una
soluzione brillante
21
Architettura multiplexata
• Progettazione demandata ai fornitori
22
Progettazione a cura fornitori
• Per il sistemista risorse tecniche limitate
limitate,
essenzialmente dedicate allo svolgimento di
attivita’ di specificazione tecnica e controllo
attivita
avanzamento lavori e tempistiche.
23
Ruolo e responsabilita’
responsabilita del
sistemista
• Ambito del sistema definito all’interno del
seguente perimetro
– Cablaggi
– Centraline di carrozzeria
– Nodi di carrozzeria
• Body computer, nodi porte, ecc.
24
Ruolo e responsabilita’
responsabilita del
sistemista
– Sistema di comunicazione multiplex e relative
interfacce CAN per i nodi
• Nodo
N d quadro
d strumenti
t
ti
• Nodo radioricevitore
• Nodo telematico
• Nodo controllo motore
• Nodo ABS
• Nodo cambio automatico
•…
25
Tipologia di responsabilita’
• Gestione del progetto
• Gestione della comunicazione (cioe’ del flusso
di informazioni) dal sistemista verso i fornitori
subcontractors e da questi verso il sistemista
– In pratica si intende realizzare un’unica interfaccia
Sistemista-Codesigner e quindi quest’ultimo ha
ll’onere
onere di realizzare le interfacce in cascata con tutti i
fornitori di sottosistemi e/o componenti
26
Tipologia di responsabilita’
• Gestione degli
g obiettivi e delle specifiche
funzionali, partendo da quelli generali assegnati
per l’intero sistema e ripartendoli in
sottoobiettivi e specifiche di dettaglio per i
fornitori di secondo livello (subcontractors)
27
Tipologia di responsabilita’
• Gestione delle interfacce meccaniche
meccaniche,
elettriche ed elettroniche rispetto ai vari
sottosistemi
tt i t i e componentiti
28
In seguito ai vincoli
• Sono necessarie soluzioni ri-programmabili
29
System Design
Definizione
Definizionedel
delsistema
sistema
Metodo
di progetto
Piattaforme
Progettazione
g
eeassemblaggio
gg
Progettazione
assemblaggio
Fabbriche
Produzione
Produzioneeecollaudo
collaudo
30
Progettazione funzionale
• Il sistemista definisce le funzioni che devono essere
svolte dalle singole parti
• Il fornitore di componenti decide la tecnologia
migliore da utilizzare per realizzarle
31
Integrazione catena di progetto
• Per limitare le iterazioni del progetto
– Necessaria formalizzazione precisa
• Le informazioni devono essere in parametri
appropriati che annotano le scelte di progetto
32
Interazione tra i diversi attori
• La comunicazione deve essere efficiente
• Il collegamento tra progetto del sistema (effettuato
dal sistemista) e implementazione del progetto
(effettuato dal fornitore) deve fornire una visione
d ll’ hit tt
dell’architettura
• Il fornitore deve poi passare dall’implementazione
del progetto alla produzione
33
Contenuti dell’architettura
dell architettura
sistema
• Prestazioni, potenza costo e dimensioni
34
Metodologie di definizione architettura
Applicazione
Piattaforma sistema
Istanza della piattaforma
Dell’architettura
Architettura
Piattaforma implementativa
Istanza della piattaforma
implementativa
Implementazione
14
35
Piattaforme di progetto
• L’essen
L’essenza
a del ri
riutilizzo
tili o delle sol
soluzioni
ioni e’ la
capacita’ di riassemblare i componenti con un
piccolo
i
l sforzo
f
• Il progetto basato sulle “comunicazioni”
comunicazioni e
e’ il
formalismo che permette la ricomposizione
36
Progettazione funzionale
• La struttura puo
puo’ essere co-sviluppata con gli
aspetti funzionali
• Il codesign assume una struttura funzionale
• Sono ben distinti in un progetto gli aspetti
f
funzionali
i
li dagli
d li aspetti
tti strutturali
t tt
li
37
Macro idee p
per la p
progettazione
g
sistema
Fondamenta
Ortogonalizzazione
Progetto basato
sulle piattaforme
Funzione
Piattaf.f applicativa
Pi
li i
Piattaf. architetturale
Architettura
Metodologia
Progetto basato su comunicazion
Definizione
Calcolo
Sintesi delle interfacce
Comunicazione
Insensitivita’ latenze
38
Co-Design architettura funzionale
1
Funzione di sistema
Simulazione
funzionale
Architettura sistema
2
Applicazione
Piattaforma sistema
Mappatura
3
Simulazione
delle prestazioni
Architettura
Definizione della comunicazione
4
Flusso all’implementazione
20
39
Modello concettuale
Modello concettuale
FUNZIONALITA’
COMPORTAMENTO
Decomposizione funzionale
E flusso informativo
Controlli e relazioni
temporali
activity
ti it chart
h t
statechart
STRUTTURA
Decomposizione fisica
module chart
40
Partitioning & Mapping
Analog
A i iti
Acquisitions
Frequency
Acquisitions
Control &
Drivers
TPU
CPU
HW
41
Metodologia di co-design
Architecture
Synthesis
Function
Verification
Mapping
HW
SW
42
HWCI
Testing
HW Development
F b i
Fabric.
System
Concepts
Sys/HW
Require.
Analysis
Hardware
Require.
Analysis
Prelim.
Design
g
Detailed
Design
I t
Integrated
t d Modeling
M d li
Substrate
S b t t
Sys/SW
Require.
Analysis
y
Software
Require.
Analysis
SW Development
Prelim.
Design
Detailed
Design
g
Coding,
Coding
Unit test.,
Integ. test
System
Integ. and
test
Operation.
Testing and
Evaluation
CSCI
Testing
43
Ciclo di sviluppo prodotto
• O
Ognii fase
f
della
d ll d
definizione
fi i i
d
deve essere b
ben
documentata
• La documentazione della fase di progetto
deve servire per la fase di test
44
Diagramma a V
Proposta di
progetto
Rilascio del prodotto
Test dell’intero
sistema
Analisi delle
specifiche
Progettazione
ad
d alto
l livello
li ll
Progettazione
g
in
dettaglio
Integrazione e test
Test delle
singole unità
Implementazione
45
Proposta di
progetto
Rilascio del prodotto
Test dell’intero
sistema
Analisi delle
specifiche
Progettazione
ad alto livello
Integrazione e test
Modellazione
Progettazione in
dettaglio
Testt delle
T
d ll
singole unità
Rapid Prototyping
HIL
Implementazione
Approccio
Model-based
Generazione di
codice
46
Esempio MASTER e SLAVE
• Il MASTER (antislittamento) decide di attuare
una riduzione di coppia motrice
• La centralina SLAVE (controllo motore)
diminuisce la p
potenza erogata
g
dal motore
47
Arbitraggio
• Quando ci sono dei conflitti tra le centraline un
arbitro deve prendere una decisione
• Le priorita’ di arbitraggio devono essere ben
valutate
l
a priori
i i
48
System
y
structure integration
g
1) pressure trial tester connector
2) programming/coding and diagnosis
connector
3) switch connector
4) indicator connector
5) solenoid valve connector
6) cut-off connector
7) stepper motor connector (red)
8) stepper motor connector (black)
9) gas solenoid valve connector
A) IGSystem control unit
B) OBD connector
C) OBD Interface
D) Fuel control unit with Cut-Off
solenoid valve
E) Switch/Indicator
F) Connector for diagnosis
G) Pressure tester connector
H) Pressure diagnostics device
I) Gas solenoid valve safety relais
J) Pressure regulator
K) Electro-valve
L) Temperature sensor
M) Gas level sensor with solenoid
valve
N) MIL signal
O) Starting switch
P) Fuse
49
Sistemi embedded
• U
Un sistema
i t
embedded
b dd d (i
(incorporato)
t ) e’’ un
sottosistema che elabora le informazioni
integrato in un
n sistema pi
piu’’ grande
– Di questo sistema piu’ grande determina
radicalmente
di l
t le
l sue funzionalita’
f
i
lit ’
50
Progettazione a strati dei
sistemi embedded
System specification level
Inter-level transformation:
Level specification
languages:
Level 0: Requirements
level
Level 1: Architecture
level
Is modeled by
Matlab, Actia
Is implemented by
Level 2: Implementation
level
C
Compiles
p into
Level 3: Realization
level
Exploration
search area
Machine code,
Connected
hardware modules
51
Progetto di ECU controllo
motore
• Specifiche della centralina di controllo motore
• Simulazione funzionale
• Partitioning
P titi i e M
Mapping
i
• Ottimizzazioni
52
Controllo motore
• Calcolare il tempo di iniezione ottimale
– Minor consumo carburante
– Minori emissioni inquinanti
– Maggiori coppia e potenza
• Necessario trovare un trade-off tra
requisiti in conflitto
53
Controllo motore
Air_temp, Water_temp,
Accelerator, Battery,
Air_pressure
Analog
Acquisitions
Processed analogg inputs
p
RPM
Crankshaft,
Crankshaft
Camshaft
Frequency
q
y
Acquisitions
Control
Strategy
Control
Drivers
Phase
Injection
Others
• Tre fasi
– Acquisizione, Controllo, Attuazione
54
Specifiche della ECU
• Funzionalita
Funzionalita’ principale di una ECU
• Tre blocchi gerarchici
– Analog Acquisitions,
– Frequency Acquisitions,
– Control and Drivers.
• Matlab usato p
per tutti I moduli
• Simulink usato per simulazione, partitioning and
mapping
55
Specifiche per i sensori
• Tensione batteria: per determinare il
comportamento
t
t di alcuni
l
i attuatori
tt t i
• Debimetro, per calcolare il flusso d’aria entrante
• Sensore di posizione acceleratore
• Sensori di temperature aria e acqua
posizione con ruota fonica,, che
• Sensore di p
misura la rotazione del motore contando I denti
che passano di fronte a un sensore induttivo
• Posizione albero a camme, usato alla ruota
fonica dei g
giri motore per identificare la fase di
ogni pistone
56
Simulazione funzionale
• Modello semplificato del motore
motore, usando
blocchi funzionali speciali
• La temporizzazione non e’ considerata
• Uscite e stati verificati usando display grafici e
testuali
• V
Verifica
ifi raggiungimento
i
i
t comportamento
t
t
corretto in tutte le condizioni operative
57
Partitioning and Mapping
• La sintesi del software e la stima del tempo di
esecuzione permettono una esplorazione
rapida dello spazio di progetto
• Si possono simulare e stimare parecchie
implementazioni
p
differenti
• Gli obiettivi mancati identificano I
comportamenti critici
critici, di solito portando a
risultati sbagliati
• C
Comportamento
t
t temporale
t
l assegnato
t alla
ll CPU
Timing Processing Unit (TPU)
58
Partitioning and Mapping
• Partitioning iniziato con un’implementazione
un implementazione
completamente hardware
• Gradualmente spostati blocchi verso il software
• Scoperto ad esempio che il collo di bottiglia sta
nell modulo
d l d
delle
ll acquisizioni
i i i i iin ffrequenza
problema risiede nella
• Determinato che il p
latenza elevata nel reagire agli eventi entranti
puo risolvere
• Uno schedulatore con arbitraggio puo’
il problema
59
Partitioning and mapping
Analog
A i iti
Acquisitions
Frequency
Acquisitions
• Missed
Mi missed
N
No
id d
deadlines
deadlines!
Control &
Drivers
TPU
CPU
HW
• Round
Preemptive
Fast
Very fast
Robin
scheduler
• Expensive
scheduler
• PWM and
• Freq.
PWM
Timer Acq.
and
on
Timer
Mixed
the
TPU
on
the TPU 60
HW/SW
Partitioning and Mapping
A n a lo g A cq
F re q A cq
C o n tro l
D riv e r
TPU
S ch e d u le r
M iss
HW
HW
HW
-
-
NO
SW
HW
HW
-
R ou n d R ob in
NO
SW
HW
SW
D river
R ou n d R ob in
NO
SW
SW
SW
YE S
SW
S W /H W
SW
SW
SW
SW
D river
R ou n d R ob in
Freq.A cq.
R ou n d R ob in
D river
q cq.
q
Freq.A
D river
In terrupt
Freq.A cq.
(hig h p riority)
YE S
NO
61
Scheduling chart
62
Simulatori RTHIL
• Realtime Hardware In The Loop
63
Di
Diagnosi
i iindispensabile
di
bil per officine
ffi i
64
Infomobilita’
• Gestione GPS per Sistemi
di navigazione
• Gestione informativa di bordo
65
Localizzazione in tempo reale
Centro Servizi
Sistema
GPS
Invio / Ricezione SMS
Rete GSM
Connessioni
dati
CENTRALE
Server
Se
ve co
comunicazioni
u ca o
Batteria modem
GSM
Rete Internet
Server Internet
Server cartografico
Utenti Servizio
66
Funzionalità g
gestione flotta
Visualizzazione storico percorso
67
68
69
Il MICROCONTROLLORE
• E’ il cuore delle ECU (Electronic Control Unit)
70
Il microprocessore
• E’ il cuore d
deii computer
t
• E’ dotato di notevoli capacita’
p
di calcolo
• Le sue componenti sono:
• CPU
– Central Processing Unit
• RAM
– Random Access Memory
• ALU
– Aritmetic Logic Unit
71
Sistemi embedded
• Al microprocessore e’ necessario aggiungere
• ROM
– Read Only Memory (spesso FlashROM)
• EEPROM (E2PROM)
– Electrically Erasable Programmable ROM
• A/D converter
– Convertitore Analogico/Digitale
• IC
– Input Capture
• OC
– Output Compare
72
Il microcontrollore
• La tecnologia e’
e riuscita a integrare al
microprocessore i componenti richiesti
per i sistemi embedded
• Il risultato si chiama
MICROCONTROLLORE
73
Esempio di microcontrollore
74
Ripartizione
Ri
ti i
microprocessori
i
i/
microcontrollori
Computer Generici
(PC, workstations,
mainframes)
95%
5%
Sistemi Embedded
(cellulari, telecamere,
Veicoli, ecc.)
75
G S
GPS
Global
Gl
b l
Positioning
System
76
Cenni Storici
Sistema avanzato di posizionamento sviluppato dalla
US Ai
Air F
Force e ddalla
ll US N
Navy
27 Giugno
g 1977 Lancio pprimo satellite sperimentale
p
Febbraio 1978
Lancio pprimo satellite del blocco I
Ottobre 1985
Lancio ultimo satellite blocco I
77
Satelliti
Nel sistema GPS sono presenti 24
Satelliti attivi suddivisi in 6 orbite da
4 satelliti ognuna.
L’altezza dei satelliti dalla superficie
terrestre è ppari a 20.200 Km.
I satelliti in orbita oggigiorno sono i
satelliti del Blocco II che hanno un
inclinazione orbitale pari a 63°
rispetto all’equatore terrestre.
Un satellite ogni giorno compie due
rivoluzioni attorno alla terra.
78
Satelliti
I 24 satelliti del blocco due
d e sono
identificati mediante un numero
che è differente a seconda del
tipo di numerazione adottata.
Noi ci rifaremo alla
numerazione indicata nei
dispositivi GPS, ovvero la
numerazione PRN
79
Il principio
i i i di ffunzionamento
i
t
Posizione da
determinare
Satellite visibile
d
Terra
80
Il principio di funzionamento
Superfice direttrice
L’intersezione delle due
superfici mi fornisce due
punti, uno dei quali sarà la
posizione cercata.
81
Visibilità
Cerchio di visibilità del
satellite 8 del blocco II
(PRN 21) per
Giovedì 17/01/02
alle ore 21:35
Orbita percorsa fino a
questo momento dallo
stesso satellite
82
Visibilità
Nella carta di Mercatore
83
Visibilità
Cerchio di visibilità del
satellite 8 del blocco II
(
(PRN
21) per
Giovedì 17/01/02
alle ore 22:30
84
Visibilità
N ll carta
Nella
t di Mercatore
M
t
85
Trasmissione dei dati
I satelliti trasmettono con frequenze
q
piuttosto alte e cioè:
p
f1 = 1575,42 MHz
f2 = 1227,60 MHz
Le frequenze
q
portanti
p
vengono
g
modulate con un determinato
codice che prende il nome di PRN-Code (Pseudo Random
Noise Code)
86
Il codice di trasmissione
1000 µs
Il codice ha una durata di 1000 µs
Ovvero una durata di 300 Km se moltiplicato per c (velocità
della luce)
1000 µs x 300000 Km/s
300 Km
87
Un esempio numerico
Immaginiamo
g
che il satellite del qquale dobbiamo misurare la
distanza, disti da noi 24.001,5 Km.
Per coprire questa distanza il segnale impiega:
24.001,25 Km / 300.000 Km/s = 0,080005 s
Se il ricevitore
S
i it
contenesse
t
un cronometro
t add altissima
lti i precisione
ii
sincronizzato con l’orologio atomico del satellite:
0,080005 s x 300.000 Km/s
/ = 24.001,25 Km
88
Satellite
5 µs
L’algoritmo di calcolo
Ricevitore
0 35
89
L’algoritmo di calcolo
Satellite
2 µs
Ricevitore
0 35
90
L’algoritmo di calcolo
Satellite
2 µs
3 µs
Ricevitore
0 35
91
La misura della distanza
Abbiamo quindi concluso che il segnale del satellite arriva 5µs
dopo l’invio da parte del satellite per cui calcoliamo la
distanza: 5µs x 300.000 Km/s
1,5 Km !!!
Il codice ha una lunghezza di 300 Km, per cui il massimo range
misurabile è di 300 Km.
Km
Effemeridi del satellite
24.000 Km
24.300 Km
24.000 Km + 1,5 Km
24.001,15 Km
92
L’errore commesso
La pprecisione del ricevitore è almeno il 10% di un bit
Lunghezza del singolo bit è 300 m
La precisione è di circa 30m
Al giorno d’oggi la durata di un singolo bit è stata ridotta a circa
50 m,
m per cui la precisione è di circa 5m
93
L’orologio
L
orologio del ricevitore
Triangolo
g
d’errore formato
dalle tre direttrici che
subiscono lo stesso errore di
misura
i
Il ricevitore sposta tutte e tre le
di tt i i di uno stesso
direttrici
t
valore
l
finchè non si intersecano:
PUNTO DETERMINATO
94
Posizione determinata
La determinazione del punto viene effettuata grazie
all’utilizzo di tre superfici direttrici:
Necessità di 3 Satelliti visibili
isibili
La determinazione della terza dimensione (altezza) viene
calcolata attraverso l’utilizzo di una quarta superficie
direttrice:
Necessità di 4 Satelliti visibili
95
Criticita’ Real Time Automotive
• Sistemi operativi real time
• Campionamenti
• Filtraggi
96
I
Input
t dall’utente
d ll’ t t
L’interazione può avvenire tramite pulsanti o manopole.
UP
DOWN
SET
ESC
Utilizzo combinato di manopola con
2 pulsanti (SET e ESC). La
manopola consente di muoversi tra
le voci disponibili mentre i 2 pulsanti
permettono di selezionare o uscire
dalla funzione.
UP
SET
ESC
Utilizzo di 4 pulsanti, può rallentare
la navigazione in liste lunghe.
DOWN
97
I
Input
t dall’utente
d ll’ t t
Gli eventi sui pulsanti possono essere associati alla
pressione o al rilascio dei pulsanti stessi.
Nel secondo caso è possibile associare eventi
differenti in base alla durata della pressione del
pulsante.
(Es. pressione breve esegui A, pressione lunga
eseguii B).
B)
In questo caso la pressione del pulsante abilita un
timer.
PREMUTO
Start Timer
RILASCIATO
E
Esegui
iA
T
E
Esegui
iB
98
I
Input
t dall’utente
d ll’ t t
MECCANICO
TOUCH SCREEN
MISTO
99
In particolari occasioni visualizzare su grafico i segnali
di interesse risulta meno chiaro rispetto alla
visualizzazione
i
li
i
di
diretta
tt sulla
ll strumentazione
t
t i
100
La modifica di parametri del modello può avvenire
direttamente attraverso l’interfaccia g
grafica che
riproduce la strumentazione.
101
• Esempio di modello virtuale di cruscotto
Con particolari tools (es. Altia) è possibile animare
rapidamente
p
l’intera strumentazione
102
Con il partizionamento grafico è possibile testare
C-Code
Model Based
funzionalità differenti.
C-Code
C-Code
Ogni porzione di interfaccia è collegata a un
modello (o codice)
Model Based
Model Based
103
•Nelle Chart di Stateflow è possibile fare chiamate alle
API di Altia. Questa funzionalità è utile quando si intende
visualizzare sull’interfaccia delle stringhe di testo.
Modello Completo
File .dsn
Modello
API
Macchina a stati
104
Applicazione
Altia
API
Codice utente
Logica
(logica di controllo
dell’applicazione)
105
Integrazione con codice esistente
Sviluppo
interfaccia
Sviluppo
codice di controllo
Codice utente
Altia API
I/O API
106
• Simulazione
S
dell’intero modello
Applicazione
Codice Gestione
Display
p y
LOGICA
Codice
C
di G
Gestione
ti
Pulsanti Virtuali
int readButton()
{
readVirtualButton();
}
107
Rapid Prototyping
• HW Real Time
LOGICA
Codice Gestione
Display
Codice Gestione
Pulsanti Reali
int readButton()
HOST
{
readRealButton();
}
TARGET RT
108
Cosa significa Event Driven ?
La Stateflow chart viene eseguita solo
quando il segnale di trigger va a zero
At times of zero crossing the
Stateflow block executes.
t
Th Stateflow
The
St t fl
block
bl k executes
t as a result
lt off another
th signal.
i
l
109
Eventi in Simulink
Blocks with outputs
that cross zero.
Step
p Functions
Pulse Generators
set param('x/Constant'
set_param(
x/Constant ,'value'
value ,'0')
0)
HG Callback to a
Constant Block
Manual switch between
zero and one
110
Tipi di input/output
• Campionamento dei valori
• Filtraggi hardware e software dei segnali
111
Discretizzazione segnali
• Il microcontrollore e’
e una macchina che
funziona a step
• I segnali che dobbiamo trattare sono continui
• E’ necessario
i quindi
i di “di
“discretizzarli”,
ti
li” creandone
d
una rappresentazione sufficientemente veritiera
112
Campionamento
• Il microcontrollore raccoglie quindi in certi
istanti dei “campioni” del segnale da
misurare
• La sequenza dei campioni viene
memorizzata per l’opportuna
l opportuna
ricostruzione del segnale desiderato
113
Frequenza e fasatura di
campionamento
• La frequenza di campionamento e’
e
determinante per il segnale
• Anche la fasatura del campionamento pero’ e’
molto importante per acquisire un valore
significativo
114
Fasatura
• La fasatura del campionamento puo’
puo
essere fatta su base tempo o su base
evento
• Un esempio della fasatura su base
evento e’
e la fasatura su base angolare
rispetto all’albero motore
115
Sperimentazione
• La fasatura corretta dipende dal
fenomeno che dobbiamo gestire
• Spesso sono necessarie parecchie prove
sperimentali
p
p
per determinare la fasatura
migliore
116
Filtraggio dei segnali
• Un segnale e’
e sempre associato a
disturbi estranei al suo significato
primario
• Per eliminare i disturbi e’ assolutamente
necessario un “filtraggio”
117
Matematica
• Con i filtraggi software si possono
ottenere anche operazioni complesse,
come filtri del secondo o terzo ordine
• Si puo’ anche inserire una diagnosi
dipendente da una macchina a stati di
validazione del disturbo
118
Filtraggio sofware
• Operazioni simili a quelle effettuate con
l’hardware possono essere effettuate con il
software, ma con una metodologia
completamente diversa
• Il sofware puo’ effettuare operazioni di filtraggio
molto piu’
piu complesse,
complesse associando ad esempio
l’eliminazione dei disturbi alla linearizzazione
delle curve dei sensori, ecc.
119
QA
• Quality Assurance per il software
120
Standard di
codifica
•Formazione
• Proprietario
p
• MISRA
• PRL
•Sicurezza
Sicurezza di
programmazione
C, C++
Riferimenti
Accettabile
?
Codice
Sorgent
e
Modifiche del
codice
•Interfaccia
•con
con
•SGV
SG
V
Estrazione
Verifiche
Accettato!
DB di
Gest.
Config.
QA C
QA
C++
•Modulo di
•configurazione
fi
i
Risultati
Rifiutato!
121
• Nel 1997 MISRA comincia la messa a punto di uno
standard di programmazione in C per i costruttori
europei
• I primi promotori sono Ford et Rover
• La prima versione 1.1 e’ pronta nel 1998, con 121
regole
g
• Oggi MISRA si sta diffondendo largamente nel settore
automotive
122
Utentii attualii
Aérospatiale
Alcatel
Amadeus Development Company
A t li
Autoliv
Bosch
BMW
British Aerospace
British Telecom
Canon Inc.
Casio
Delphi
p Diesel
EDF
Ericsson Telecom
Ford Motors
j
Fujitsu
GEC
GPT
IPSN
Lockheed Martin
Mitsubishi
NASA
National Power
Nortel
Nuclear Electric
Oxford Molecular
Philips
Racal Thorn
Raytheon.
Renault
Rover Group
SEP
Sagem
Shell
Siemens Plessey Defence
T hib C
Toshiba
Corporation
ti
Toyota
Visteon
Westland Helicopters Ltd.
123
Principi dell’analisi statica
• Un softwarista esperto inserisce 100 errori ogni 1000 linee di
codice
• L’80% dei bachi software trovati sul campo sono dovuti a
problemi d’implementazione che si sarebbero potuti trovare
con una revisione del codice
124
Analisi statica o Tests Dinamici ?
Senza Analisi Statica:
Scrittura
codice
Compilazion
e & Link
Tests
Dinamici
Riscrittura manuale
Con Analisi Statica:
Scrittura
codice
Analisi
Statica
Rilevamento automatico
Compilazio
ne & Link
Tests
Dinamici
Riscrittura
Manuale
125
Correggere gli errori per tempo
Cost Factor
C
100
10
1
Design
Before
Coding
Coding
Before
Test
Test
Field
Scala di costo per il rilevamento di un errore
126
100
80
Test di sistema
Sforzo 60
Test d’integrazione
40
20
0
T t dei
Test
d i moduli
d li
Verifiche
normali
V
Verifiche
llimitate
Ri-Lettura
127
QA C : L
Le R
Regole
l
QA C possiede circa 1200 regole raggruppate in 9 livelli :
• Livello 1 : Direttive (consigli, raccomandazioni)
• Livello 2 : Manutenzione
• Livello 3 : Problemi gravi (rischio di malfunzionamento)
• Livello 4 : Standard locali (standard aziendale di codifica)
• Livello 5 : Obsolescenza (per ISO C, incompatibile con C++ …)
• Livello 6 : Portabilita’
• Livello 7 : Complessita’
p
• Livello 8 : Standard ISO
• Livello 9 : Errori di Sintassi
128
QA C : St
Struttura
tt
d
dell codice
di
129
QA C : G
Grafo
f relazionale
l i
l d’inclusione
d’i l i
130
QA C : Grafo dei riferimenti utilizzati
131
QA C : Struttura delle funzioni
132
QA C : Metriche, grafo demografico
133
QA C : Metriche, esempio
134
QA C : Metriche, Kiviat
135
Contatto
[email protected]
www.cf3000.it
Tel. +390522361134
Fax +390522360803
CF3000 Engineering&Electronics
Via Tonino Gualtieri
Gualtieri, 1
42100 Reggio Emilia
Italy
136