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