La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sviluppo di soluzioni embedded moderne con.NET Micro Framework Lorenzo Maiorfi – Innovactive Engineering s.r.l.

Presentazioni simili


Presentazione sul tema: "Sviluppo di soluzioni embedded moderne con.NET Micro Framework Lorenzo Maiorfi – Innovactive Engineering s.r.l."— Transcript della presentazione:

1 Sviluppo di soluzioni embedded moderne con.NET Micro Framework Lorenzo Maiorfi – Innovactive Engineering s.r.l.

2 Virtualizzazione del «core» Un processore software (CLR) stack-based esegue bytecode espresso in linguaggio «CIL» Integrazione binaria tra moduli software La CLR si occupa di threading, gestione della memoria, interazione con procedure «native»,ecc. La CLR «consuma» delle unità eseguibili dette «assembly» Un assembly è costituito da: metadati (un db interno che descrive i «prototipi» di tutti i tipi e membri definiti nellassembly) bytecode CIL (la sequenza di istruzioni che costituisce il «corpo» di ciascun metodo (funzione) manifest (esprime le dipendenze da altri assembly)

3 1. Lo sviluppatore scrive codice utilizzando linguaggi di alto livello (C#/VB.NET) 2. Il compilatore genera uno o più assembly 3. Il bytecode degli assembly così generati viene scritto sulla memoria Flash del dispositivo mediante lIDE o con un apposito tool (MFDeploy) 4. Il device al reset esegue il «TinyBooter» che a sua volta carica la «TinyCLR» 5. La TinyCLR carica gli assembly ed esegue il metodo «entry-point» utente

4 Utilizziamo Netduino Eseguiamo la scrittura, il test, il debug e il rilascio di un semplice firmware Diamo uno sguardo al compilato IL Esploriamo più nel dettaglio il modello di threading e linterazione con il flusso di esecuzione del firmware nativo del microcontrollore (gestione interrupt)

5 Produttività Ambiente di sviluppo, compilatore, debugger ed emulatore costituiscono la toolchain più produttiva disponibile nel mercato embedded Affidabilità Runtime «managed», controllo completo su ogni «layer» dellapplicazione Portabilità Virtualmente portabile su tutti qualsiasi core, attualmente copre tutti i core ARM 32 bit Supporto Completamente «open», molte librerie di base, molte risorse community

6 Applicazione e Librerie Utente Layer Applicazione Librerie Layer Librerie.NET WPF Comms … … CLR Layer Runtime Exec Engine Exec Engine Type System Type System Garbage Coll. Garbage Coll. Interop PAL Timers RAM I/O HAL Drivers oppure OS Facilities Processore e Periferiche Layer Hardware «PORTING»

7 Funzionalità di base Tipi di base, XML, webservice, globalizzazione, crittografia, manipolazione testo, diagnostica, sicurezza Funzionalità di sistema Networking, file-system, user interface, threading Gestione periferiche USB (device/host), GPIO (con interrupt), I 2 C, SPI, UART, ADC, PWM, Watchdog, power Componenti di terze parti CAN, DAC, RTC, Glide (UI+Touch), SQLLite, ecc.

8 Sperimentazione con un semplice ADC 12- bit con interfaccia SPI (Microchip MCP3201) Sviluppo di un semplice driver managed Aggiunta di nuove funzionalità tramite ereditarietà Astrazione del modello di interazione con la periferica Implementazione di un nuovo driver con lo stesso modello Integrazione dei due componenti in unapplicazione completa

9 Controllo Accesso Impianti «Outdoor» Identificazione mezzi RFID (short/long range) ZigBee (mesh) Integrazione con sistemi informativi di terze parti (AS/400, Windows, Unix) Controllo barriere mezzi Logging remoto attività sistema Monitoraggio continuo parametri ambientali delle centraline

10 Banco prove motori ventilanti Caratterizzazione flusso/potenza a norme CEI Acquisizione continua di Encoder velocità motori Pressioni (in diversi punti del tubo Venturi) Temperatura/umidità ambientali Potenza DC e AC Gestione motori induzione 220V/50Hz, 110V/60Hz, DC brushless con e senza controller integrato Interfacciamento con software gestione prove «kiosk» (Windows 7+WPF+touch)

11 Terminali controllo produzione Gestione ingressi digitali «conta-pezzi» industriali (24V, PLC) Interfaccia utente con display Touch 4.3" Wide Lettore RFID Lettore Barcode Supporto Ethernet/WiFi Tastiera capacitiva con microcontrollore dedicato Buzzer piezoelettrico Controllo uscite digitali 24V e proporzionali (anche con controllo PID)

12 Banco cassa autonomo self-checkout Gestisce tutta lattività di check-out senza operatori, parallelizzando le fasi «lente» 14 moduli (hardware+firmware) indipendenti 8 Celle di carico 2 Motori AC trifase con encoder assoluto SSI 36 Barriere IR (30 singole,4 array da 32, 2 da 10) 8 Motori DC (gestione portelli) con lock magnetico 8 Lettori barcode integrati 14 Nastri trasportatori/mototamburi 20 strisce led «guida» multi-colore Integrazione con software «front-end» kiosk

13 Performance Non adatto ad applicazioni molto intensive sul piano computazionale Controllo del timing Non adatto ad applicazioni real-time Non è un OS Non esiste un supporto «di base» per processi, file-system, comunicazione, sicurezza, ecc. Pochi porting GHI Electronics (4), Secret Labs (2), Mountaineer Group (2), Sytech Designs, Love Electronics

14 Performance Interoperabilità codice «managed» / nativo Controllo del timing Utilizzo di schede multi-processore (come la Triumvirato: USBizi+MSP430+CPLD !!!) Non è un OS Molti servizi sono stati sviluppati nel tempo dai vendor come estensioni del framework Pochi «porting» Molti sono open (Netduino, Mountaineer Boards, GHI OSH) e lo stesso Porting Kit è completamente open (netmf.codeplex.com)

15 Digital INPUTs Digital INPUTs Digital OUTPUTs Digital OUTPUTs Analog INPUTs Analog INPUTs Analog OUTPUTs Analog OUTPUTs HTTPTCP/IP.NET MF BOARD Browser (PC, SmartPhone, Tablet) Server WEB

16 Access Point WiFi con SSID «maiorfi_sopra» (è aperto!)

17 Visual Studio 2010 (anche in versione Express).NET Micro Framework SDK (4.2 QFE2) Scheda.NET MF a scelta tra Fez-Cerberus, Netduino, Fez-Panda II, Fez-Cerbuino Bee<30 Netduino+, Mountaineer, Fez-Hydra, ArgonR1, Nano<100 Fez-Spider, ChipworkX Moduli con connettori standard «Gadgeteer» in formato «shield» Arduino da collegare con jumper-wires «proto-boards»

18


Scaricare ppt "Sviluppo di soluzioni embedded moderne con.NET Micro Framework Lorenzo Maiorfi – Innovactive Engineering s.r.l."

Presentazioni simili


Annunci Google