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 nell’assembly)  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 l’IDE 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 Mountaineer USB  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 l’interazione 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» dell’applicazione  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 un’applicazione 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 l’attività 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  Visual Studio 2013 (anche in versione Community) .NET Micro Framework SDK (4.3.1 R2)  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, Fez-Raptor€  Moduli  con connettori standard «Gadgeteer»  in formato «shield» Arduino  da collegare con jumper-wires  «proto-boards»

16


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

Presentazioni simili


Annunci Google