Un terminale “made in Italy” basato su Linux

SOLUZIONI –

Dotato di lettore barcode e comunicazione Wi-Fi, il terminale portatile per raccolta dati è stato progettato e realizzato da un’azienda di medie dimensioni, la Bancolini Symbol di Bologna. La scelta del sistema operativo Linux, stabile nel tempo, ha facilitato anche lo sviluppo hardware.

La produzione di terminali portatili per la raccolta dati, dotati di lettore barcode, è un'attività svolta prevalentemente da grandi aziende occidentali (come Intermec, Datalogic, Psion ecc.) o da fabbricanti dell'estremo oriente. Non può quindi passare inosservata la presentazione di un terminale portatile per raccolta dati interamente progettato e fabbricato da un'azienda italiana di medie dimensioni. Il prodotto in questione si chiama Nylux ed è stato realizzato dalla società Bancolini Symbol di Bologna, una struttura agile (33 dipendenti, 7,5 milioni di euro) che occupa un ruolo di notevole rilievo in Italia come fornitore di prodotti e soluzioni complete per l'identificazione automatica. Come suggerito dal nome, Nylux possiede inoltre un'interessante particolarità tecnica: è basato sul sistema operativo Linux. Questa scelta (motivata dalla necessità di evitare le difficoltà dovute ai frequenti aggiornamenti di Windows CE, vedi riquadro) ha facilitato anche lo sviluppo dell'hardware, poiché la stabilità di Linux ha consentito all'azienda di fissare una tabella di marcia compatibile con le proprie risorse. La progettazione di Nylux è stata svolta interamente dal reparto di ricerca e sviluppo di Bancolini Symbol. Responsabili del progetto Ezio Baldinotti e Mario Ferrucci per il software, Dylan Cristiani per l'hardware. La fabbricazione delle schede, l'assemblaggio e il collaudo elettrico sono stati affidati a un'azienda bolognese specializzata.

La scelta della Cpu
Esaminiamo ora in maggiore dettaglio il processo di sviluppo dell'hardware del nuovo terminale. I principali vincoli di progetto erano rappresentati dalle dimensioni e dalla forma particolare del contenitore (frutto di uno studio di design e caratterizzato dal display orizzontale), oltre cha dalla necessità di garantire un'autonomia di almeno otto ore e un prezzo di vendita competitivo. In primo luogo il progettista Dylan Cristiani ha selezionato una Cpu adatta allo scopo. La scelta è caduta sul processore Intel PXA270, un Arm a 520 MHz che rappresenta lo standard di fatto per i terminali portatili prodotti dalle grandi multinazionali. Si tratta di un componente ottimizzato per questo tipo di applicazioni, caratterizzato da basso consumo (adatto ai requisiti dei sistemi portatili) e da una ricca dotazione di periferiche integrate, tra cui le interfacce Usb, SD, Compact Flash, il controllore per il display a cristalli liquidi e altro. Successivamente l'azienda ha acquisito dal distributore Arrow (presente anche a Bologna con un proprio ufficio) un sistema di sviluppo per questo processore, composto da una piccola scheda in formato credit card contenente il core del sistema (Cpu e memorie) più una scheda esterna con qualche periferica aggiuntiva.

L'adattamento a Linux
A questo punto il progettista ha dovuto affrontare un primo problema legato alla scelta del sistema operativo Linux. I sistemi di sviluppo forniti da Intel e da Arrow, infatti, sono pensati principalmente per il sistema operativo Windows CE. Anche in questo caso il distributore Arrow ha fornito un aiuto iniziale, sotto forma di un seminario - tenutosi a Padova - dedicato all'uso di Linux sulle Cpu Intel della famiglia PXA2XX. Nell'ambito dell'iniziativa, ai partecipanti è stato consegnato il software di partenza da caricare sulla scheda di sviluppo, composto da bootloader “blob”, kernel “linux 2.6.9” e file system; sono inoltre state fornite alcune nozioni di base per trasferire questo software sulla scheda di sviluppo. Lavorando su questa base, il progettista ha quindi apportato le modifiche necessarie ai sorgenti, ha scelto i moduli del kernel Linux effettivamente necessari per il progetto e ha costruito la propria “tool chain”. Ha pertanto risolto anche il problema della “cross-compilation”, derivante dall'utilizzo di una macchina dotata di processore x86 per scrivere codice destinato a un processore Arm.

La scelta degli altri componenti
Oltre alla Cpu il sistema comprende ovviamente molti altre parti, tra cui due memorie Ram, due memorie Flash, il codec per le funzioni audio, il sottosistema di alimentazione (che gestisce la ricarica delle batterie e la generazione delle diverse tensioni di alimentazione necessarie), il sottosistema per la lettura laser dei codici a barre (quello che nel gergo dell'identificazione automatica si definisce un “engine Oem”, cioè un modulo pronto per l'integrazione), la scheda Wi-Fi, la tastiera e il display. Per quanto riguarda la scheda Wi-Fi la scelta è caduta su un prodotto dotato di interfaccia standard Compact Flash, che consente di evitare il legame esclusivo con un unico produttore e facilita l'aggiornamento in caso di modifiche allo standard. E' stata inoltre adottata una tastiera numerica, nella quale i caratteri alfabetici sono ottenuti con pressioni successive del tasto, come avviene nei telefoni cellulari. Il display - prescelto per l'elevata qualità dell'immagine - è dotato di temporizzatore incorporato e funzione touch screen integrata. Il progettista ha quindi integrato la scheda fornita da Arrow con tutti i sottosistemi sviluppati appositamente per il progetto (display ecc.), ad eccezione della parte che svolge le funzioni di alimentazione e ricarica delle batterie. Questa prima fase aveva lo scopo di assicurare la conformità del sistema rispetto alle specifiche prestabilite.

Sviluppo e debug del primo prototipo
Dopo avere verificato in questo modo il corretto funzionamento del sistema, è stato realizzato un primo prototipo con schede progettate ad hoc (completo, ovviamente, anche delle funzioni di generazione delle tensioni e ricarica delle batterie). Il sistema è stato suddiviso su sei schede: oltre alla principale, altre cinque dedicate rispettivamente alla parte di potenza, alla comunicazione Wi-Fi, alla tastiera, ai connettori per i segnali verso il mondo esterno, ai contatti della batteria. I relativi schemi sono stati disegnati con Orcad e passati a un masterista, il quale ha realizzato i layout dei corrispondenti circuiti stampati a sei strati. Sul primo prototipo sono quindi state svolte le operazioni di debug dell'hardware, necessarie per tenere conto delle numerose modifiche e ottimizzazioni derivanti dal passaggio dalla scheda di sviluppo iniziale alle schede sviluppate appositamente da Bancolini. Il debug ha incluso anche la correzione di piccoli errori, come l'inversione della polarità di alcuni condensatori elettrolitici e connettori. E' stato quindi compiuto un primo tentativo di inserire le sei schede nel contenitore preventivamente progettato. Nella fase di prototipazione, quest'ultimo è stato realizzato per mezzo di stereolitografia e successivamente tramite stampi in gomma siliconica; la produzione dei costosi stampi in acciaio temperato, per le plastiche definitive, è stata ovviamente rimandata al termine della fase di sviluppo. Il primo tentativo di “chiudere la scatola” ha però dato esito negativo: le sei schede erano complessivamente troppo ingombranti per essere ospitate nel contenitore.

Il secondo prototipo
Le interazioni meccaniche tra schede e contenitore si sono rilevate come uno dei problemi principali in questa fase di sviluppo del terminale. Per risolvere il problema, il progettista ha suddiviso il sistema su cinque schede, ponendo particolare attenzione al profilo dei componenti per evitare interferenze meccaniche tra schede sovrapposte. Il nuovo prototipo ha dimostrato ingombri compatibili con il contenitore ed è quindi stato approvato. A quel punto il progettista ha potuto dedicarsi ad alcune finiture, come l'aggiunta di Led per segnalare la ricarica in corso ecc. L'intero processo di progettazione/sviluppo hardware del nuovo terminale (dalla fase di definizione delle specifiche di progetto, passando per la ricerca dei componenti adatti all'implementazione, fino alla fase di messa a punto finale) è stato curato da una sola persona e ha richiesto circa due anni. Un tempo compatibile con gli obiettivi di Bancolini Symbol, che si proponeva appunto di creare un prodotto capace di sfidare l'obsolescenza grazie alla stabilità di Linux.

Le caratteristiche del terminale Nylux

Il terminale portatile Nylux di Bancolini Symbol - dotato di lettore laser per codici a barre ed equipaggiabile con lettore RFID opzionale - si caratterizza per il display orizzontale e offre un cinturino elastico posteriore che rende più sicura la presa dell'operatore. Lo schermo consente il comando tattile (touch screen) per mezzo di una piccola penna. Ecco in breve le caratteristiche tecniche del prodotto:

  • Processore: Intel PXA270 (Risc a 32 bit), 520 MHz
  • Memoria Sdram: 64 MB interamente disponibili (non occupati da programmi)
  • Memoria Flash: Strata Flash Intel 64 MB
  • Tastiera: tasti alfanumerici a doppia funzione, cursore, tasto per retroilluminazione
  • Display: a cristalli liquidi Tft (colori), dimensioni 2,8 pollici, risoluzione 240 x 320, con retroilluminazione a Led bianchi. Touch panel resistivo
  • Lettore di codici a barre: laser classe 2, 630-670 nm, 1 mW.
  • Sensore Rfid LF2: 125-134,5 KHz (opzionale)
  • Sensore Rfid HF: 13,56 MHz (opzionale)
  • Audio: buzzer e kit auricolari stereo con microfono - jack 2,5 mm DIA
  • Indicatori: un Led a due colori per controllo lettura, due Led per controllo stato di carica della batteria
  • Real Time Clock: data e ora programmabili
  • Batteria: agli ioni di litio, capacità 2650 mAh - 3,7 V
  • Autonomia: superiore a un turno di otto ore
  • Connessioni: RS232, Usb, Wi-Fi
  • Porte di espansione: 1 slot SD
  • Sistema operativo: Linux (kernel 2.6)
  • Dimensioni: larghezza 97/60 mm, lunghezza 176,9 mm, altezza massima 47 mm
  • Peso con batteria: 350 grammi
  • Condizioni operative: temperatura da 0 a 50 °C, umidità relativa da 5% a 95% senza condensa
  • Grado di protezione: IP 54
  • Resistenza alle cadute: 1,2 m
  • Certificazioni: CE, cUL, Fcc

Pubblica i tuoi commenti