Le memorie non volatili nei sistemi embedded

USB flash driveLa stragrande maggioranza dei sistemi embedded è dotata di una memoria non volatile utilizzata per immagazzinare il codice eseguito dal processore e dati di varia natura (parametri di configurazione, log, dati acquisiti da sensori ecc.). Esistono fondalmentalmente due tipologie di memorie non volatili: le memorie Flash di tipo NOR e le memorie Flash di tipo NAND (http://en.wikipedia.org/wiki/Flash_memory).

Entrambe fanno parte della più ampia famiglia denominata EEPROM, cioè memorie cancellabili elettricamente (http://en.wikipedia.org/wiki/Eeprom). Le differenze sostanziali tra i due tipi di memorie Flash sono relative all’affidabilità (le NOR sono di gran lunga più affidabili) e al costo (il costo per unità di memorizzazione è sensibilmente più basso nel caso delle NAND). Questo perché le NAND sono nate per il mondo consumer (SD card, chiavette USB, tablet, smartphone ecc.) dove i volumi di produzione sono elevatissimi, i costi devono essere ridotti al minimo ma si può tollerare un’affidabilità complessiva non elevatissima.

Nel caso del sistema embedded usato nel nostro progetto, si dovrà quindi tener conto di questi fattori per la scelta della memoria non volatile da utilizzare. Una eventuale corruzione dei dati immagazzinati nella stessa potrebbe infatti avere delle conseguenze gravi che potrebbero anche compromettere l’operatività dell’apparato. Come detto in precedenza, infatti, oltre ai dati raccolti nel corso degli esperimenti, la memoria non volatile immagazzina anche il codice eseguito dal processore, inclusi il kernel del sistema operativo e gli applicativi.

Una possibile soluzione per ridurre la probabilità che un eventuale problema alla memoria non volatile abbia condeguenze gravi, è quello di utilizzare due memorie, una più piccola di tipo NOR e una più grande di tipo NAND. Nella prima si memorizza tutto ciò che è indispensabile per le funzionalità minime del sistema (bootloader, kernel del sistema operativo, applicativi di base ecc.) mentre si utilizza la seconda per tutto ciò che non è considerato vitale (applicativi non fondamentali, i dati raccolti dai sensori, le eventuali immagini catturate dalla telecamera ecc). Si ricorda infine che la scelta delle memorie non volatili deve essere fatta tenendo anche conto di quali sono le tipologie supportate dal processore che si andrà ad utilizzare. Queste informazioni si trovano nel datasheet del componente.

ATLAS 0: lo schema elettronico

ATLAS0 circuiteria

In ATLAS 0, prima missione del progetto, il cuore del circuito elettronico è di origine italiana1: la scheda si chiama Arietta G25 della AcmeSystems.

A questa interessante e piccola scheda sono stati interfacciati i seguenti sensori:

  • 8 sensori di temperatura posizionati uno in ogni lato del modulo (a forma di tronco di piramide a base ottagonale)
  • 1 sensore di temperatura interno al modulo
  • 4 sensori di pressione
  • 1 GPS
  • 1 accelerometro 3 assi
  • 1 magnetometro 3 assi
  • 1 giroscopio 3 assi

I sensori utilizzati sono stati:

Nel progetto è stato aggiunto un buzzer e un pulsante per lo spegnimento dello stesso. Il buzzer verrà attivato via software in fase discesa del modulo per segnalarne la presenza e quindi evitare l'impatto con le persone. Lo stesso buzzer aiuterà la squadra di ricerca nella localizzazione del modulo.
Il pulsante, se premuto, disattiverà il buzzer. Questa accortezza è stata installata per evitare che il modulo venisse distrutto da un eventuale persona disturbata del forte suono (in rete si trovano segnalazioni di questo tipo). 

A questo link potrete trovare lo schema elettrico del progetto ATLAS 0.

1uno degli obiettivi del progetto è quello di adottare materiale e tecnologia italiana.

KiCad: il nostro ambiente di sviluppo dei circuiti elettronici

Uno degli obiettivi del progetto e' la condivisione e per tale motivo ogni missione possiede un'area dedicata, contenente gli schemi elettronici a disposizione di tutti.

La scelta del programma utilizzato per la realizzazione degli schemi elettronici (e relativi circuiti stampati) doveva quindi ricadere su qualcosa che permettesse a tutti di vedere e modificare i nostri lavori.
 
Kicad 3dviewer
 
Abbiamo scelto KiCad!
 
KiCad è un insieme di programmi open source dedicati allo sviluppo di schemi elettrici (Electronic Design Automation) e circuiti stampati (PCB) installabile su computer linux, windows e mac.
La suite è gratuita (quindi scaricabile da tutti senza la necessità di acquistare licenze) e installabile sulla maggior parte delle piattaforme presenti sul mercato.
Il gruppo di sviluppo del software continua a migliorare i programmi rendendo il prodotto sempre più professionale (pensate che è  possibile visualizzare il lavoro finito in 3D!).
 
Cosa estremamente importante è la ricca documentazione associata.
Di seguito i link importanti per poter lavorare con tale incredibile suite.
 

Dove vengono archiviati i dati degli esperimenti?

Nella missione ATLAS1 i dati degli esperimenti e quelli relativi alla gestione del volo (GPS, accelerometro, giroscopio, magnetometro, temperature, carica delle batterie, pannelli solari, processi attivi sulla scheda di comando, …) verranno memorizzati su una scheda SD (leggi anche “Le memorie non volatili nei sistemi embedded“) presente all’interno del vettore, ma contemporaneamente le stesse informazioni verranno inviate via radio.

Perché inviare i dati via radio? Il vettore potrebbe cadere in acqua o andare perso rendendo impossibile il recupero dei dati.
Inviando i dati via radio alla sala operativa sarà possibile:

  • salvarli rendendone impossibile la perdita;
  • seguire il volo ed eventualmente intervenire (inviando dei comandi) in caso di situazioni critiche legate a qualche malfunzionamento elettronico.

L’immagine che segue visualizza il processo di comunicazione radio.

StratoLab le comunicazioni

Diagramma relativo alle comunicazioni

Attualmente (3 maggio 2014) siamo in attesa di ricevere dagli organi competenti le informazioni sulle frequenze utilizzabili per i nostri scopi. Ci è stato comunque negato il permesso di utilizzare le frequenze radioamatoriali per le trasmissioni dei dati, visto che l’uso delle trasmissioni è diverso dallo studio della propagazione (useremo le radio come mezzo di comunicazione e non come strumento di studio delle onde radio).

In questo ambito abbiamo bisogno di aiuto: fortunatamente durante la Fiera del Radioamatore di Pordeonene molti gruppi di radioamatori si sono resi disponibili ad aiutarci nell’ambito delle comunicazioni radio.

Se qualcuno vuole unirsi al gruppo, si faccia avanti! Scriveteci!

StratoLab cambia strumento per il disegno degli schemi elettronici

Il gruppo StratoLab cambia strumento per il disegno degli schemi elettronici inerenti al progetto.

Sostituiamo KiCAD con easyEDA.
Il cambio NON è dovuto a malfunzionamenti o difficoltà incontrate con il primo software, ma per questioni di praticità nella condivisione e divulgazione degli schemi.

easyEDA è una piattaforma web che permette di eseguire il disegno di circuiti elettronici, effettuarne la simulazione e disegno del relativo PCB direttamente online senza dover scaricare o installare software sul proprio PC (esiste anche la Web App per Chrome). Il portale offre l'interessante la possibilità di effettuare uno sviluppo collaborativo (più persone possono lavorare sullo stesso progetto).
Nella forma "Standard" il servizio è gratuito e permette la costruzione di infiniti progetti pubblici (e al massimo 2 progetti privati).

Qui potete trovare il link all'area EasyEDA dedicata al progetto StratoLab: https://easyeda.com/StratoLab

Informativa ai sensi dell’art. 13 D.LGS. 30 giugno 2003 n.196

Questo sito o gli strumenti terzi da questo utilizzati si avvalgono di cookie necessari al funzionamento ed utili alle finalità illustrate nella cookie policy. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie, consulta la cookie policy. Chiudendo questo banner, acconsenti all’uso dei cookie.