Visualizzazione post con etichetta Embedded. Mostra tutti i post
Visualizzazione post con etichetta Embedded. Mostra tutti i post

mercoledì 11 gennaio 2012

YALC - Episode 1

Parliamo oggi del contenitore meccanico e delle relative lavorazioni, e diamo subito uno sguardo al risultato finale, così come atteso.

(Computer YALC modulare ...non male, vero?)

Nella figura seguente Vi riporto le quote per la lavorazione del pannello frontale. Occorre un minimo di artigianalità per effettuare questa fase ...oppure una macchina a Controllo Numerico!

(fare click per ingrandire)

 Non avete una macchina a Controllo Numerico? Neppure io ...e allora fate così!

(Lavorazione del pannello frontale.
Prima forare lungo il perimetro del cut-out,
poi limare ...vigorosamente!)

Dopo aver montato i componenti che ho descritto qui, il risultato dovrebbe essere il seguente:


Se ci sono problemi, contattatemi nei commenti o su Facebook.

Qui Pianeta Terra, a presto.

lunedì 2 gennaio 2012

Yet Another Linux Computer

Lo chiameremo così: YALC.
Sarà il nostro primo progetto del 2012! YALC è l'acronimo di ...l'Ennesimo Computer Linux, che in inglese suona meglio:

Yet Another Linux Computer

Ho cercato qualche cosa di simile su LinuxDevices (http://www.linuxfordevices.com), ma, sembrerebbe, che un nuovo Computer Multimediale Embedded-Linux modulare, con le caratteristiche che sto per illustrarvi, risulti ancora poco diffuso, se non del tutto assente.

(Single Board Linux Computer - PortuxG20)

Da cosa sarà composto YALC?
Ecco ...prima le immagini, poi le parole...

(Contenitore a norme IEC-297 da 21HP)

(Modulo di Espansione con FPGA)

(Modulo Display 3,5'' TFT con Touch Screen)

(Interfaccia Video Decoder per Telecamera CVBS)

E' bene premettere che sarà un Computer Open Source, quindi tutte le informazioni in mio possesso saranno condivise in rete. Tutto il software sarà accessibile, così come sarà scritta una guida passo-passo per la sua realizzazione fai-da-te (come alcuni stimatissimi lettori del blog hanno chiesto). Sarà un prototipo di preserie, non penso ancora ad una produzione industriale ...ma con qualche Azienda partner, si potrà provare a fornire un Kit completo (esiste qualche Imprenditore tra i lettori o siamo tutti Marziani?). Comunque l'obiettivo e quello di fare in modo che ciascuno possa costruirne una replica ...almeno concettuale.

Iniziamo a vedere la part-list, poi, per l'integrazione dei singoli componenti, realizzarò un "Episodio", cioè un post dedicato, in cui descriverò tutte le fasi realizzative. Farò del mio meglio ...perdonatemi in anticipo qualche inevitabile imprecisione!


Per chi volesse iniziare a prendere confidenza con la scheda PortuxG20 vi riporto i link ai due articoli che ho postato sul blog L'Elettronica Open Source:


Qui Pianeta Tarra, a presto!

giovedì 28 luglio 2011

Computer Linux fai-da-te! - Parte 2

Salve a Tutti,
oggi Vi propongo le specifiche preliminari del sistema che chiameremo Linux Embedded ToolBox e che è basato, almeno in linea di principio, sul dimostratore hardware/software che ho descritto e utilizzato nei precedenti post e video (vi ricordo anche il canale YouTube "liberaelettronica"), per diversi scopi dimostrativi.



Nella figura seguente vi propongo lo schema a blocchi con le caratteristiche dei singoli moduli:

(fare click per ingrandire)

Come potete vedere, si tratta di utilizzare un modulo CPU (PortuxG20) un modulo display TFT (L35) ed una scheda custom (Support & Backplane) che mi accingo a progettare e realizzare.
Il sistema prevede anche uno slot di espansione per futuri sviluppi (...sto già pensando ad un video decoder, un modem GSM/GPRS e, per gli altri Vostri suggerimenti, resto in attesa di commenti, critiche costruttive e desideri!).

Perché realizzare questo sistema, vi starete domandando?
Le risposte sono tante e proverò a fornire quelle per me  più importanti:

  • Perché è un sistema completamente open-source (sia per quanto riguarda il software e sia per le parti hardware che proverranno da questo blog ...il resto potrete vederlo come una black-box).
  • Perché più lo utilizzo e più scopro che può fare molto di più di quanto io stesso immagini.
  • Perché, utilizzando anche un FPGA (Field Programmable Gate Array), il ciclo di vita dell'hardware si allunga sensibilmente e, poi, la struttura modulare si presta bene a graduali miglioramenti, senza dover rottamare il tutto ogni volta che le esigenze cambiano (...product-lifecycle, vi dice nulla?).
  • Perché realizzare una filiera corta tra produttore e utilizzatore, ha enormi benefici tecnici e sociali.
  • Perché, così, sarete Voi lettori un elemento determinante per il successo del progetto.

Nella speranza di interpretare al meglio i Vostri desideri, auguro Buone Vacanze a Tutti!!!

Qui Pianeta Terra, a presto.

martedì 26 luglio 2011

Computer Linux fai-da-te!

Ciao a Tutti,
ho sempre desiderato costruire un Computer con le mie mani (...un computer fai-da-te o make-it-yourself ...come preferite).
Negli anni '80 sarebbe bastato un microprocessore da 1MHz, pochi Kbyte di memoria e nulla più.



Oggi, un computer embedded (es. uno Smart-Phone) richiede 500-1000 MIPS (Million Instructions Per Second), un display TFT, un File System nello spazio dei Gbyte, un Sistema Operativo, una "porta" USB, ecc.

Linux è il sistema ideale per realizzare il mio/Vostro desiderio!

Guardiamo insieme il video che ho realizzato per Voi, poi vi dirò cosa ho pensato per venire incontro ai desideri dei miei stimatissimi lettori del blog!



Visto? Talvolta, mi sorprendo di me stesso (...non sono mica un Robot!). 

Negli anni '80 Linus Torvalds (vedi qui) non aveva ancora ideato il suo mitico Sistema Operativo ...just an hobby come egli stesso lo definì.

Volete realizzare anche Voi un sistema Linux, totalmente open-source?
Volete utilizzare le indicazioni che troverete su questo blog? Benissimo! Partite da qui.
Volete un kit hardware già pronto all'uso?
Ok, cercherò di produrlo con l'aiuto di qualche azienda. Mi metto subito all'opera!

Qui Pianeta Terra ...dove i desideri si realizzano, a presto.

sabato 16 luglio 2011

Laboratorio: l'evoluzione dei display

Carissimi,
oggi, voglio parlarvi di come le nostre applicazioni elettroniche, pervasive, comunicano con noi umani. Naturalmente stimolano i nostri sensi e, la vista, è uno di quelli maggiormente sviluppati nella nostra specie, evolutasi mediante la raccolta, diurna, delle risorse spontaneamente presenti sul nostro Pianeta.
Pertanto, la rappresentazione a colori delle immagini, rappresenta uno dei nostri metodi, privilegiati, di comunicazione!


Guardiamo insieme il video che ho preparato per Voi e, poi, parleremo dei componenti e delle tecniche hardware/software, per realizzare i nostri "liberi" progetti con i Display TFT.



Ok, avrete apprezzato la qualità delle immagini a colori e, sono sicuro, non vi accontenterete più dei soliti display LED a 7-Segmenti oppure dei Moduli LCD.
Prima di abbandonare definitivamente le tecnologie più mature, è opportuno ricordare che i display a 7-Segmenti hanno il grande vantaggio di essere completamente allo stato solido e di poter operare in un'ampia gamma di temperature (es. -55°C, +125°C) e che i Moduli LCD Transflettivi restano egualmente visibili sia in piena luce solare e sia al buio, grazie alla presenza del circuito di retroilluminazione a LED o fluorescente. Mentre, i Display TFT, devono essere scelti in funzione dell'ambiente nel quale dovranno operare, sia in termini di temperatura e sia di luminosità dell'ambiente circostante.

Vi ricordo che il Display TFT è stato comandato dal nostro sistema tuttofare Linux-ToolBox che ho già descritto qui.

Nella seguente figura vengono riportati i segnali utilizzati per la comunicazione con il modulo Display TFT.


Mentre, nel seguito, potete vedere il diagramma temporale con cui la CPU trasferisce i dati al display.


Qui vi riporto un frammento di codice per leggere il contenuto di un file Bitmap di 320x240 pixel. Cosa sono i pixel? Quarda questo link su Wikipedia!

void read_file(char* name)
{
    int x, y;
    unsigned char color_r, color_g, color_b;
    FILE* fdesc;

    /* show test bitmap */
    fdesc = fopen(name,"r");
    if (fdesc == (void*) -1) {   
        printf("File open error.\n");
        fflush(stdout);
        exit(0);
    }
 
    /* skip header */
    for (x=0; x<54; x++) {
        color_r = fgetc(fdesc);
    }
 
    /* read rgb color from file */
    for (y=0; y<240; y++) {
        for (x=0; x<320; x++) {
          color_b = fgetc(fdesc);
          color_g = fgetc(fdesc);
          color_r = fgetc(fdesc);
          qvga_buffer[x][239-y] = rgb(color_r, color_g, color_b);
        }
    }
 
    fclose(fdesc);
    printf("QVGA buffer write complete.\n");

    return;
}

Qui Pianeta Terra (non vivo mica su Saturno, Mimas o Titano!), a presto.

domenica 22 maggio 2011

C’è un pinguino in laboratorio...

Qualche giorno fa un amico mi ha segnalato questo video: Pinguino in aereo . E’ buffo, ma sai che spavento per il povero animaletto.

Adesso, invece, voglio presentarvi un pinguino dal cuore d’acciaio, anzi di silicio, che vive nel mio laboratorio e che, spero, userete presto anche per i vostri progetti. Eccolo!


E’ la mia Linux-Toolbox, un sistema tuttofare, completamente open-source, con il quale realizzare rapidamente ogni genere di prototipo e sperimentare cose sempre nuove, senza rinunciare alla flessibilità e con una discreta potenza di calcolo della CPU (200 MIPS @ 180 MHz).

Guardiamolo meglio...
In questa foto, potete notare la tastiera 4x4 ed il display TFT da 3,5 pollici.

Qui si vede l’assieme completo.

Gli elementi hardware che compongono la Linux-Toolbox sono i seguenti:
  • Scheda Portux920T, prodotta dalla TaskIt Gmbh, su cui è installato il Kernel Linux 2.6.18 e alcuni applicativi di base.
  • Alimentatore step-down, basato su due regolatori LM2575, per generare le tensioni necessarie (3,3Vdc e 5 Vdc).
  • Display TFT da 65536 colori con Touch-Screen resistivo, che viene venduto come kit di sviluppo per il microcontrollore LM3S1958 (Core ARM Cortex-M3) della Texas Instruments (il kit è RDK-IDM-L35).
Il tutto è assemblato mediante piastre di allumino ed è pensato per rendere le  schede e le interfacce, facilmente accessibili e smontabili.

Cosa c’è nella mia Linux-Toolbox?

Troviamo, oltre al display, alla tastiera e alla CPU, anche n°4 porte seriali (2xRS232 e 2xLVCMOS), una interfaccia Ethernet 10/100 Mb/s, alcune porte di I/O LVCMOS, un local-bus a 8/16 bit direttamente pilotato dalla CPU, 64Mbyte di SDRAM, 1Mbyte di Flash per i dati/programmi dell’utente (una partizione della Flash contenente uboot e l'immagine del kernel), una SDCARD (attualmente monto una 128 Mbyte).

La dotazione software è costituita da una shell BusyBox, accessibile via Telnet oppure localmente, un server Ftp, un web server Http, un editor VI. Tutto il processo di sviluppo software avviene su un PC (con Linux installato ...naturalmente... e può andare benissimo un Netbook con Ubuntu 10), mediante il cross-compilatore arm-linux-3.4.2-gcc.
Io preferisco usare il linguaggio ANSI C, ma la tool-chain sembra abbastanza completa e ci sono esempi nella documentazione anche per Java (...da provare!).

 Configurazione per uso locale

Adesso potete divertirvi a creare applicazioni per Internet (non il solito Hello World), e telecontrollare il vostro tostapane dall’altro capo del pianeta.

Configuarazione Web con indirizzi IP pubblici

Qui Paneta Terra, a presto.