La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Ambiente integrato per lo sviluppo di strutture fuzzy : realizzazione di uno strumento CAD per la generazione automatica di codice per sistemi microprogrammati.

Presentazioni simili


Presentazione sul tema: "Ambiente integrato per lo sviluppo di strutture fuzzy : realizzazione di uno strumento CAD per la generazione automatica di codice per sistemi microprogrammati."— Transcript della presentazione:

1 Ambiente integrato per lo sviluppo di strutture fuzzy : realizzazione di uno strumento CAD per la generazione automatica di codice per sistemi microprogrammati. Relatore Correlatore Correlatore Prof. Gian Carlo Cardarilli Ing. M. Salmeri Ing. M.Re FACOLTÀ DI INGEGNERIA Tesi di Laurea in Ingegneria Elettronica Laureando Marco Sottilaro

2 Realizzazione di un GENERATORE di CODICE per microcontrollori all’interno del tool di sintesi di sistemi fuzzy Realizzazione di un GENERATORE di CODICE per microcontrollori all’interno del tool di sintesi di sistemi fuzzy OBIETTIVO : FSDT ( Fuzzy System Development Tool )

3 Svolgimento della tesi:  Microcontrollori in commercio (Hitachi, Microchip, Motorola, Atmel,…..)  Problemi legati alla generazione del codice  Esame dei tool di sviluppo per fuzzy logic in commercio  Realizzazione del “Fuzzy Code Generator” per FSDT  Analisi dei moduli di FSDT già realizzati

4 Descrizione sistema fuzzy Descrizione sistema fuzzy OTTIMIZZATORE SIMULATORE HDL CODE GENERATOR VHDL Verilog FSDT : Fuzzy System Development Tool

5 Descrizione sistema fuzzy Descrizione sistema fuzzy OTTIMIZZATORE SIMULATORE HDL CODE GENERATOR FSDT : Fuzzy System Development Tool AssemblerC / C++ FUZZY CODE GENERATOR

6 Microcontrollori:Microcontrollori:Flessibilità Risorse limitate  VHDL Verilog ASICs, FPGA: Ottime prestazioni Costosi, No Flessibili    Complesso   Istruction set specifico   Programmazione facilitata   Portabilità del codice   Controllo h/w complesso   Overhead in compilazione   Controllo diretto dell’hw   Ottimizzazione del codice  C / C++ Assembler FUZZY CODE GENERATOR HDL

7 Dove si usano i  C programmati in logica fuzzy ?   Controllo funzioni per macchine fotografiche, telecamere, auto, …   Auto-programmazione di elettrodomestici (lavatrici, lavastoviglie, …)   Reti neurali (Neuro-Fuzzy).   Controllo processi industriali (alternativi ai tradizionali PID).   Diagnosi mediche.   Trattamento immagini.   Sistemi di condizionamento dell’aria.   Nel campo finanziario Se il sistema deve compiere analisi “vicine” al pensiero umano al pensiero umano Se il sistema deve compiere analisi “vicine” al pensiero umano al pensiero umano Se il processo da controllare non è non è facilmente modellizzabile Se il processo da controllare non è non è facilmente modellizzabile

8 Perché generare codice in modo automatico ?  Progettazione estesa a non esperti di programmazione  Tempi più brevi per sviluppo s/w (basso time-to-market)  Costi più bassi per la fase di progettazione  Certezza di ottenere un programma “corretto”  Certezza di avere: (1) un codice molto compatto (pochi kbytes di memoria) (2) risposta “real-time” del processo fuzzy

9 [ System] Inference=MINIMUM Defuzzification=SUGENO1 OutputMethod=COG Datatype=float Vars=3 Inputs=2 Outputs=1 Rules=15 [VarsIn] #Temperatura Molto_Bassa=(5,1),(10,0) Bassa=(5,0),(15,1),(25,0) Media=(15,0),(20,1),(30,1),(35,0) …………………… [Inputs] T=Temperatura U=Umidità [Outputs] AC=Aria_Condizionatore [Rules] IF (T=Molto_Bassa) (U=Bassa) THEN (AC=Molto_calda) …………………………………... “Fuzzy-description” file. Informazioni generali Algoritmi “fuzzy” Grandezze “fuzzy” Configurazione i/o Regole “fuzzy”

10 Fuzzy Graphic Editor Fuzzy Text Editor * ****************************** ****************************** ******** Project: file: Fuzzification.c ****************************** ****************************** ********* #include "System.h" * ****************************** ****************************** ******** Project: file: Fuzzification.c ****************************** ****************************** ********* #include "System.h" * ****************************** ****************************** ******** Project: file: Fuzzification.c ****************************** ****************************** ********* #include "System.h" * ****************************** ****************************** ******** Project: file: Fuzzification.c ****************************** ****************************** ********* #include "System.h" * ****************************** ****************************** ******** Project: file: Fuzzification.c ****************************** ****************************** ********* #include "System.h" * ****************************** ****************************** ******** Project: file: Fuzzification.c ****************************** ****************************** ********* #include "System.h" Descrizione sistema fuzzy Descrizione sistema fuzzy Generazione del codice per FSDT: Fuzzy Code Generator Altri moduli di FSDT (ottimizzatore, simulatore, HDL generator) FuzzyCodeFuzzyCode Microcontroller Support Tools Microcontroller Support Tools

11 Pacchetti “fuzzy” esistenti : (1) Generalmente l’utente non può agire direttamente sul formato del codice da generare (2) Ci sono edizioni dedicate a target specifici o con generazione di codice troppo generico Lo scopo di questa tesi non è stato quello di fornire semplicemente un nuovo software! Si sono volute introdurre NUOVE METODOLOGIE nel campo della sintesi per i sistemi in logica fuzzy su microcontrollori

12 Novità introdotte dal “Fuzzy Code Generator” :  Gli aggiornamenti della libreria non devono comportare la ricompilazione dell’intero tool  Realizzare una libreria per generare codice per diverse architetture dei microcontrollori in commercio  Flessibilità della struttura : possibilità di indicare il formato di codifica dei dati fuzzy in modo che l’utente possa “personalizzare” la libreria Il cambio di microcontrollore non deve comportare l’acquisto di un nuovo CAD

13 Novità introdotte dal “Fuzzy Code Generator” :  Gli aggiornamenti della libreria non devono comportare la ricompilazione dell’intero tool  Realizzare una libreria per generare codice per diverse architetture dei microcontrollori in commercio  Flessibilità della struttura : possibilità di indicare il formato di codifica dei dati fuzzy in modo che l’utente possa “personalizzare” la libreria L’utente può modificare le routine esistenti

14 Libreria codice fuzzy ESTERNA al modulo di generazione! Libreria codice fuzzy ESTERNA al modulo di generazione! Aggiornamenti della “Fuzzy-Library”: FuzzyLibraryFuzzyCodeGenerator NEW RICOMPILAZIONE dell’intero TOOL NEW

15 FUZZY CODE GENERATOR Motore di generazione FuzzyMain1.c Inference.c Fuzzification.c Aggiornamenti della “Fuzzy-Library”:  ANSI H8_3644 H8S_2144 NEW    (1) Inserire le nuove routine nella Fuzzy- Library F u z z y - L i b r a r y Riconoscimento automatico del nuovo elemento della libreria ! Riconoscimento automatico del nuovo elemento della libreria ! (2) Il modulo del motore di generazione rimane invariato I FILE ALL’INTERNO delle“FOLDERs-LIBRARY” delle“FOLDERs-LIBRARY” è è Implementano i processi fuzzy è è Comandano le interfacce i/o hardware è è Indicano le modalità di codifica dei dati fuzzy

16 Implementazione dei dati fuzzy: OBIETTIVO : consentire di scegliere nuove modalità di “traduzione” dei dati fuzzy nel codice OBIETTIVO : consentire di scegliere nuove modalità di “traduzione” dei dati fuzzy nel codice Negli altri pacchetti l’utente può intervenire in modo limitato su questa operazione SCOPO : Personalizzazione delle routine Introduzione di un linguaggio descrittivo per poter indicare al “Fuzzy Code Generator” il tipo di implementazione che l’utente predilige

17 Fuzzy Code Generator Generator

18 Variables Membership functions Membership functions Fuzzy Graphic Editor

19 Input / Output Ruleseditor Fuzzy Graphic Editor

20 Fuzzy FuzzyTextEditor TextEditor

21 Sviluppi futuri :  Estensione della Fuzzy Library  Spinta verso una maggiore flessibilità  Introduzione in FSDT di moduli per il debugging in sintonia con i tool di sviluppo dei  controllori Conclusioni :  Semplificazione delle operazioni da effettuare  Introduzione di nuove metodologie di sintesi


Scaricare ppt "Ambiente integrato per lo sviluppo di strutture fuzzy : realizzazione di uno strumento CAD per la generazione automatica di codice per sistemi microprogrammati."

Presentazioni simili


Annunci Google