Flusso di progettazione

 

1) Decidere sul da farsi

Naturalmente, ogni realizzazione parte da una idea di qualcosa di nuovo. Questo aggettivo può essere vero in senso assoluto, ovvero identificare qualcosa di decisamente diverso dalle cose già esistenti sul mercato, oppure, assai più frequentemente, può valere in senso relativo, indicando qualcosa che rappresenta una evoluzione (migliorativa) di prodotti già presenti.

L'idea, per sua natura, può venire a chiunque. Tuttavia l'ipotesi più probabile è che maturi nella mente di chi conosce bene il mercato e le esigenze dei "clienti". Nelle industrie più grandi e più strutturate, definire cosa si deve fare è compito di persone specifiche, che si occupano di marketing, e ai quali spetta il compito non soltanto di proporre "cosa" fare, ma anche di definire le specifiche del prodotto (costo, prestazioni, dimensioni, time-to-market,...), necessarie perché il nuovo prodotto possa essere vincente sul mercato. Questa funzione è assolutamente essenziale e decisiva per il successo, pertanto, si sono sviluppate delle tecniche di analisi e sondaggio del mercato che aiutano ad operare scelte oculate.

A causa dell'importanza a cui si faceva riferimento in precedenza, le figure professionali preposte al marketing sono molto apprezzate (e solitamente anche ben pagate) all'interno delle imprese che se le possono permettere. Tuttavia, la decisione finale sul da farsi in generale non spetta a loro, ma alla direzione che deve tenere in considerazione tutti gli aspetti del problema (capacità finanziarie, impegno del personale, strategie aziendali,...).

Nelle imprese di minor dimensione, invece, spesso la definizione del prodotto è fatta dal titolare dell'impresa (o da un tecnico esperto) che decide anche se e come procedere. Così facendo, in effetti, il titolare dell'impresa esercita propriamente la sua funzione di "imprenditore" e di esperto del suo settore di competenza. È evidente che in questo caso il processo di decisione è molto meno strutturato e, in definitiva, è affidato all'esperienza della persona che lo esegue.

Un caso intermedio è quello in cui imprese che non hanno al loro interno un gruppo di marketing, ma ritengano necessario un lavoro professionale di questo tipo in speciali occasioni, si rivolgano all'esterno verso imprese specializzate che operano per conto terzi. È chiaro che in questo modo l'operazione di marketing risulterà più costosa (perché si esporta una parte del valore aggiunto del prodotto finale) rispetto al caso in cui il lavoro sia svolto interamente "all'interno". Tuttavia, la presenza di un gruppo di marketing è giustificata soltanto quando l'attività dell'impresa sia tale da motivarne un impiego continuativo. Questa, in generale, non è la situazione di piccole/ medie imprese con tasso di innovazione limitato, che affrontano la realizzazione di nuovi prodotti soltanto in modo saltuario.

In ogni caso, il processo di decisione sul prodotto da realizzare deve necessariamente svolgersi attraverso un processo "in retroazione" ("in loop"), che consideri tutti gli aspetti relativi alla realizzazione vera e propria. È evidente, infatti, che è perfettamente inutile decidere anche in modo motivato dal punto di vista del mercato se poi non si è in grado di dar seguito alla decisione stessa.

Perciò, una domanda che ci si deve porre subito, per metterla in "retroazione" con la definizione del prodotto è quella relativa alle reali possibilità di portare a termine il progetto ipotizzato. Da questo punto di vista, intanto occorre fare una disanima razionale della disponibilità (o della reperibilità) di tutti gli elementi che occorrono per arrivare in fondo al progetto, che riguardano competenze, tecnologie, strumentazione, componenti, macchinari di produzione...

In pratica bisogna rispondere alle seguenti domande principali:

Naturalmente, la risposta a queste domande dipende dalla situazione dell'impresa e dal prodotto che si vuole realizzare (ed in particolare alla sua caratteristica di reale "innovazione"). Nel caso in cui qualche risposta sia negativa, si presentano in generale due opzioni:

•  lasciar perdere, perché, a prescindere dalla bontà dell'idea, il prodotto non risulta "alla portata" della impresa;

•  ritornare sulla definizione di prodotto (con un processo in retroazione, concettualmente di tipo iterativo) e modificarla per superare l'ostacolo che si è presentato. Per esempio, abbassare le prestazioni o aumentare il costo-obiettivo può rendere il progetto meno "aggressivo", quindi anche meno appetibile per il mercato ma farlo anche ricadere all'interno delle cose fattibili per l'impresa.

In ogni caso, è evidentemente inutile pensare ad un nuovo prodotto se poi non si è in grado di progettarlo, fabbricarlo, dargli una forma piacevole, collaudarlo, documentarlo, certificarlo,...

 

2) Progettazione concorrente

Un altro concetto importante, spesso seguito soltanto parzialmente nella realtà industriale specie di piccole/ medie imprese, è quello di considerare tutti i problemi relativi al progetto fin dall'inizio e contestualmente, per decidere un tempestivo inizio di tutte le attività necessarie.

Questo problema è in qualche modo legato a quanto detto al punto precedente, ma affronta piuttosto il punto di vista della corretta tempistica "timing" degli interventi.

Per esempio, è evidente che la forma esterna del prodotto gioca un ruolo molto importante per la sua affermazione. Perciò, è indispensabile provvedere ad un accurato "design" che, però, non può iniziare "a posteriori", dopo che la parte funzionale dello stesso è stata realizzata, perché in questo modo:

•  si mettono "in serie" (l'una dopo l'altra) operazioni che possono essere svolte in buona parte "in parallelo" (contemporaneamente) con notevole risparmio di tempo;

•  il design deve essere visto come parte integrante del progetto e non una operazione destinata semplicemente a "rivestire" qualcosa di realizzato "a prescindere". Ciò perché soltanto in questo modo si può ottimizzare il risultato.

Pertanto, ci si deve preoccupare del "design" fin dall'inizio del progetto, considerando la forma e il "contenuto" dello stesso come aspetti necessariamente interagenti ed in grado di influenzarsi reciprocamente.

In particolare, il design di un prodotto non si riduce semplicemente alla realizzazione di una "bella" forma (del resto il significato di "bellezza" è molto relativo e soggettivo). Piuttosto esso deve assolvere una funzione essenziale "comunicando" "messaggi" giusti circa le qualità del prodotto che lo rendono vincente (per esempio: è pratico, facile da usare; oppure avveniristico, tecnologico; oppure, ancora, tradizionale, classico,....).

Oltre a questa, essenziale, funzione di "comunicazione", il design deve naturalmente "cogliere" la "funzione" del prodotto dal punto di vista del cliente, per esempio trovando la forma e la collocazione più opportuna per certe funzioni (tastiera, display, alimentazione,..) che ne facilitino l'uso.

Naturalmente, un buon design richiede delle competenze specifiche (di "design industriale") che sono piuttosto rare e spaziano dall'architettura, dalla storia dell'arte, dalla comunicazione alla psicologia, dalla grafica alla ingegneria dei materiali.

Soltanto le imprese più grandi e/o quelle i cui prodotti sono più sensibili all'aspetto esterno (per esempio quelle automobilistiche o di telefoni cellulari) si possono permettere la disponibilità "interna" di queste risorse. Nella maggior parte dei casi, quando il design sia ritenuto importante, le imprese "commissionano" il lavoro a studi esterni specializzati in questo campo. Come già discusso per altri aspetti della progettazione, la scelta di "esternalizzare" il lavoro comporta un trasferimento di valore aggiunto verso l'esterno, ma è praticamente inevitabile quando non si sia in grado di alimentare con continuità un gruppo interno di design.

Inoltre, vale la pena di segnalare come un design "ad hoc" comporti la necessità di fabbricare il contenitore, con costi interamente "a carico" del prodotto, che devono essere "ammortizzati" su tutti gli esemplari che saranno venduti. In particolare è molto comune il caso in cui i contenitori siano realizzati in plastica (ma spesso non basta un solo materiale, perché occorrono plastiche di tipo e colore diverso, oppure plastica e vetro,...). In questo caso, la costruzione dei contenitori richiede la realizzazione di "stampi" che sono piuttosto costosi (mentre il successivo processo di fabbricazione lo è molto meno in senso relativo).

Infine, si può anche segnalare la possibilità di utilizzare apparecchiature di prototipizzazione rapida per realizzare un prototipo del contenitore di forma e dimensioni reali. Le apparecchiature necessarie per la realizzazione di questi prototipi partono da "file" di design, realizzati con strumenti CAD/CAM, e fabbricano (singoli) oggetti in materiali facili da lavorare (carta, sabbia,...) di forma e dimensioni identiche (o proporzionali) a quelle dell'oggetto che si vuole realizzare. Queste apparecchiature sono molto costose, perciò tali sono anche i loro prodotti. Tuttavia, questi ultimi consentono di valutare realisticamente l'impatto della forma del contenitore, invece che accontentarsi di immagini (magari anche tri-dimensionali) da vedere su uno schermo. In questo senso non hanno alternative e sono pertanto utilizzate in diversi casi.

Per finire, è utile segnalare come il costo di progettazione di un contenitore "ad hoc" rappresenti una frazione significativa del costo complessivo di sviluppo di un prodotto. Perciò deve essere affrontata soltanto nei casi in cui è realmente giustificata.

Quando non ci si possa "permettere" un design "ad hoc" per i propri prodotti, si deve necessariamente ricorre a "contenitori" standard reperibili sul mercato. Per rispondere positivamente a questo tipo di esigenza, infatti, sono stati sviluppati dei contenitori (normalmente di plastica) di forma e dimensioni diversi per prodotti e mercati diversi (per esempio, contenitori per oggetti da tenere in mano, delle dimensioni di telecomandi o telefonini, oppure "da scrivania").

È evidente che questo tipo di contenitori, sviluppati a prescindere dalla specifica applicazione e perciò anche prodotti in grandi numeri "a priori" sono molto più economici, perché non richiedono né la progettazione né la realizzazione di "stampi speciali" e il costo per la loro realizzazione è "ammortizzato" su grandi numeri prodotti dall'insieme delle molte applicazioni a cui si rivolgono.

Tuttavia, è altrettanto chiaro che questo tipo di contenitori non "comunicano" nulla e danno luogo a prodotti dall'aspetto "dimesso" e, tra l'altro, facilmente "copiabile" (nel caso in cui un problema di questo tipo avesse senso compiuto).

Un altro aspetto che richiede considerazione fin dall'inizio del progetto è quello del collaudo dei prodotti. Come noto, i moderni sistemi elettronici (anche quelli relativamente semplici) sono così complessi che non si riuscirebbe assolutamente a collaudarli (ovvero a verificare se "funzionano" come previsto), a meno che questo problema non sia tenuto presente fin dall'inizio e che il progetto si proponga esplicitamente di rendere il prodotto facilmente collaudabile.

A questo fine, sono state sviluppate opportune tecniche di progetto "orientate alla collaudabilità" (DFT - D esign F or T estability), che è necessario conoscere ed utilizzare fin dall'inizio. Inoltre, ci si deve porre il problema della disponibilità di competenze ed apparecchiature per il collaudo o, in mancanza di queste, di come si potrà affrontare il problema al momento opportuno.

Analogo problema è quello delle certificazioni necessaria per poter immettere il prodotto sul mercato.

 

3) Definizione delle specifiche e descrizione del progetto

La definizione delle specifiche di un prodotto innovativo rappresenta un processo piuttosto complesso e che, proprio per questo, viene spesso affrontato in modo "pragmatico".

La difficoltà nasce dal fatto che, al fine di orientare correttamente il progetto, le specifiche del dovrebbero essere definite con precisione; tuttavia, specie all'inizio del progetto, spesso queste sono spesso identificate in modo lacunoso, con scarsa precisione e soltanto "a grandi linee" (quanto deve costare il prodotto? quanto deve consumare? quanto deve essere grande? Che prestazioni deve avere?....) e debbono essere messe a fuoco con precisione crescente durante il progetto stesso.

Questo processo configura una situazione "dinamica" che cambia perché, strada facendo, da un lato si chiariscono meglio gli aspetti "di mercato", dall'altro le specifiche sono un elemento del processo "in retroazione" a cui si è già fatto riferimento in precedenza. In altre parole, esse debbono essere in qualche misura "aggiustate" in base a quanto si può e si riesce effettivamente a fare.

Una volta stabilite le specifiche del prodotto, nel senso descritto in precedenza, il sistema da progettare deve essere "descritto" in forma di documentazione stabile e facilmente trasferibile (a tutti coloro che ne avranno bisogno).

Questa descrizione ha i seguenti aspetti (generali) di interesse:

•  ormai è espressa (quasi) esclusivamente in forma elettronica (anche per favorire la reperibilità e la trasmissione delle informazioni). Perciò risiede su un calcolatore (con i necessari requisiti di sicurezza per quanto riguarda la possibilità di accesso da parte di sconosciuti e di continuità del servizio);

•  il sistema deve essere descritto "a diversi livelli di astrazione", e per questo occorrono diversi strumenti e linguaggi;

•  la descrizione del progetto deve essere unica (diverse versioni della stessa cosa provocano necessariamente confusione) ed aggiornata. Dalla descrizione del progetto deriva poi la documentazione (di tipo sia interno che "per l'esterno") necessaria per lasciar traccia del lavoro fatto e per pubblicizzare il prodotto verso l'esterno.

Per quanto riguarda il punto b, sono opportune alcune precisazioni di tipo generale.

Un sistema elettronico è generalmente qualcosa di molto complesso, formato in ultima analisi da milioni di componenti elementari (tra cui, naturalmente soprattutto i transistori) composti in vario modo (dispositivi, schede, sottosistemi,...). Da questo punto di vista, la situazione si presenta un po' come quella di un corpo umano, formato di cellule elementari, o di una città (con edifici, strade, ponti,..) formati di un numero immenso di mattoni. Questi esempi fanno chiaramente capire che, per poter essere studiato a fondo (o, nel caso ingegneristico, per poter essere progettato) "il sistema" deve esser "visto" a diversi livelli di astrazione fisica. Così come un medico si avvicina al paziente senza preoccuparsi delle sue cellule, ma vedendolo nel suo insieme, salvo poi rimandare a successive analisi, magari fino giù a quelle sul DNA, l'approfondimento dei problemi, il progettista elettronico deve prima di tutto "vedere" il sistema nel suo insieme, a cominciare dalle funzioni che questo deve assolvere, per poi "scendere"a livelli di descrizione sempre più accurati, fino a quella dei componenti elementari di esso è formato. Il grado di rappresentazioni più dettagliato dipende dal tipo di progetto: arriva fino ai transistori nel caso di sistemi integrati su silicio, fino ai componenti "di libreria" in quelli che utilizzano tecnologie di tipo semi-custom, e si "ferma" ai componenti disponibili sul mercato (COTS: C ircuits O ff- T he- S helf) in quello, di maggior interesse per noi, di sistemi realizzati a partire da componenti standard, come sono la maggior parte quelli di tipo "embedded".

Per quanto detto in precedenza, dunque, il sistema deve essere descritto con una serie di rappresentazioni diverse e raccordate l'una con l'altra in modo "gerarchico", secondo una visione di tipo "top- down", a partire dalla più alta ed astratta del sistema fino a quella più "elementare" dei suoi componenti. Ciascuna di queste "rappresentazioni" ha specifici strumenti software per:

•  descrivere il sistema al proprio livello di astrazione;

•  simularne il comportamento;

•  generare la descrizione al livello immediatamente inferiore mediante un processo di "sintesi".

Nell'insieme gli strumenti software a cui si è fatto riferimento in precedenza costituenti un sistema di progettazione automatica, denominato con termini diversi a seconda degli ambienti applicativi (CAD: Computer- Aided Design, CAE: Computer- Aided Engineering. Per progetti che prevedano parti meccaniche il software di progettazione anche il nome di CAM: Computer- Aided Manufacturing).

Alla sommità di questo insieme di visioni del sistema c'è la visione "funzionale" o "comportamentale" del sistema, espressa in forma descrittiva con linguaggio naturale (quello di uso comune). A scendere si trova poi le descrizioni "a blocchi", che utilizza schemi grafici per rappresentare il sistema mediante la connessione (funzionale e senza significato "fisico" o topologico) dei diversi grandi blocchi (o sotto-sistemi) di cui esso si compone.

Questi sottosistemi sono a loro volta rappresentati dalla connessione di blocchi sempre più piccoli, ciascuno descritto con sempre maggior dettaglio, e simulato con crescente approfondimento.

 

4) Il percorso di progettazione

Una volta definite le specifiche e descritto il sistema (almeno a livello funzionale e di suddivisione in grandi blocchi), occorre affrontare la parte "fisica" del progetto, innanzi tutto scegliendo le "tecnologie realizzative " e i componenti che si intende utilizzare.

Da questo punto di vista, la scelta più impegnativa ed importante è quella che riguarda il processore (o i processori) del sistema. A questo riguardo, in particolare, in pratica si presenta l'alternativa di utilizzare:

•  schede standard, contenenti un processore e gli altri componenti necessari per il suo funzionamento;

•  processori standard, attorno ai quali progettare e costruire delle schede "ad hoc";

•  processori "ad hoc" da "sintetizzare" a partire da dispositivi programmabili;

•  processori "ad hoc" da "sintetizzare" mediante tecnologie semi-custom (gate arrays).

Queste tecnologie realizzative sono qui elencate in ordine descrescente di generalità, la prima essendo quella più professionale e flessibile, ma per questo anche le più costosa, meno "performante" (ovvero con le peggiori prestazioni), a maggior ingombro e consumo,.... L'ultima, invece, è quella di tipo più rigido, ma anche "ottimizzata" sull'applicazione (perciò a minor consumo ed ingombro, prestazioni più levate,...).

Fatta la scelta per quanto riguarda il processore, tranne che nel caso a dell'elenco che precede, occorre scegliere gli altri componenti del sistema (memorie, periferiche,...) e portare a compimento il progetto.

Questo deve terminare con la realizzazione di un "prototipo", in grado di consentire la "prova" del funzionamento dello stesso e la correzione degli eventuali, ma praticamente inevitabili, errori di progetto.

In qualche caso, il prototipo è molto simile, anche per dimensioni e realizzazione fisica, al prodotto ipotizzato e la sua verifica coincide in pratica con quella "reale". Ovviamente ciò rappresenta un vantaggio (rispetto alla soluzione descritta di seguito). Tuttavia questa soluzione ha un costo molto alto, perché implica che il prototipo sia realizzato con le stesse tecnologie (tipicamente costose) che saranno utilizzate per il prodotto finale. Poiché, peraltro, il prototipo spesso deve essere rifatto più volte, l'inconveniente del costo non è affatto marginale.

Per risolvere questo problema, comunemente si realizzano prototipi con soluzioni tecnologiche a minor costo (per esempio realizzando le schede del progetto in forma artigianale, che porta a dimensioni più grandi di quelle "finali"). In questo caso, però, è ovvio che il prototipo non può avere le stesse prestazioni del prodotto finale (perché altrimenti le tecnologie più economiche sarebbero adeguate e non si giustificherebbe l'uso di quelle più costose). Perciò, le prove potranno essere soltanto "parziali", nel senso che non si potranno verificare tutte le caratteristiche e le funzionalità del prodotto il sviluppo. In particolare, sarà praticamente impossibile verificare il progetto alla velocità di funzionamento prevista, che il prototipo non sarà in grado di raggiungere. È chiaro, allora, che i risultati delle prove dovranno essere "estrapolati" con esperienza (e il dovuto grado di cautela) al fine di dedurre il comportamento del prodotto che si vuole realizzare.

Poiché la costruzione del prototipo incide significativamente sul tempo di sviluppo, sono anche stati realizzati dei sistemi di prototipizzazione rapida, che svincolano dalla necessità di realizzare delle schede, sostituite da piattaforme di tipo generale in grado di allocare i componenti e di collegarli tra di loro. Queste strutture, tuttavia, sono piuttosto costose ed aggravano i problemi dovuti al limite di velocità raggiungibile. Perciò sono di fatto poco utilizzati.

La disponibilità di un prototipo consente di provare fisicamente il sistema (nelle sue parti sia hardware che software) e di "de-buggare" il progetto, ovvero di trovare e risolvere gli eventuali errori. A questo fine sono molto importanti le misure elettriche "su scheda" realizzate con apparecchiature da laboratorio (oscilloscopi, multimetri, analizzatori di stato,...).

 

5) Ingegnerizzazione e fabbricazione del prodotto

Dopo la realizzazione di un prototipo che funziona correttamente, occorre affrontare i problemi legati alla fabbricazione, spesso "di massa", del prodotto finale.

A questo scopo, la prima operazione da compiere è quella di scegliere in modo definitivo (perché motivate ipotesi a riguardo sono state necessariamente fatte all'inizio del progetto) le tecnologie di realizzazione (che tipo di scheda? con quale tipo di componenti?...).

In seguito, è opportuno "rivedere" il progetto alla luce delle necessità di fabbricazione con costi competitivi. Questa rivisitazione dovrebbe essere fatta da persone esperte nelle tecnologie (e magari anche delle linee di fabbricazione) che saranno utilizzate, perché solamente essi posseggono l'esperienza necessaria per individuare i possibili punti di criticità del progetto. A questo riguardo, bisogna rilevare che le persone con questo tipo di competenza siano normalmente diverse dai progettisti, perché si occupano di problemi (come tolleranza, stabilità e monitoraggio delle linee di produzione, criticità di alcuni passi di lavorazione,...) normalmente estranei alla cultura e agli interessi di coloro che si dedicano alla progettazione (più orientati verso la ricerca di soluzioni nuove per risolvere i problemi che motivano il nuovo prodotto).

La "rivisitazione" del progetto, o come si dice spesso la sua "ingegnerizzazione" è molto importante, specie per produzioni di grande numero. Tuttavia, in ambiente di piccole/ medie industrie viene spesso affrontato in modo "pragmatico", utilizzando l'esperienza di cui si dispone.

Quando il problema viene affrontato in modo adeguato, è chiaro che la ingegnerizzazione del progetto prefigura un processo di retroazione (o, come si dice, un loop) con i progettisti per decidere insieme cosa conviene modificare del progetto eseguito al fine di facilitare la produzione e cosa, invece, non bisogna toccare perché critico per il buon funzionamento del prodotto. Ciò perché soltanto i progettisti conoscono a fondo tutti gli aspetti "funzionali" e le criticità dell'oggetto da produrre, mentre soltanto gli ingegneri di produzione conoscono davvero i "segreti" delle macchine e delle linee di fabbricazione.

Per approfondire: presentazione (formato ppt) 'Prototipazione Rapida' .

 

 

ESEMPIO: Audioguida

Oggetto portatile contenente la descrizione audio delle opere presenti all'interno del museo. L'oggetto deve avere le stesse funzionalità di un lettore CD-ROM.

Caratteristiche fondamentali sono:

STUDIO DI FATTIBILITA'

Compito dello studio di fattibilitàè di tradurre la descrizione del sistema in linguaggio tecnico, il più possibile standard, in modo tale da rendere univoca la comprensione da qualsiasi tecnico. Sono utilizzabili tutti i tipi di linguaggi tecnici (diagrammi di flusso, disegni tecnici, schemi a blocchi, schemi elettrici, formule matematiche ecc) la cui scelta dipende dal tipo di progetto da analizzare. Dalla descrizione tecnica devono essere estratti i vincoli di progettazione che permettono di definire le condizioni al contorno. I vincoli limitano le funzioni del sistema ma permettono anche di ridurre le variabili di progetto. Dai vincoli di progetto si passa alla verifica di fattibilità tecnologica del sistema: con la tecnologia a disposizione si riesce a realizzare il sistema rispettando i vincoli imposti? In pratica occorre ricercare, se esiste, la tecnologia migliore (dal punto di vista del rapporto qualità/prezzo) che permette la realizzazione del sistema. L'ultimo passo dello studio di fattibilità (che in realtà puņ essere realizzato in contemporanea ai passi precedenti)è la stesura del documento che deve contenere la descrizione tecnica del progetto, le possibili varianti analizzate e il risultato finale: progetto realizzabile con descrizione di tutti i vincoli oppure progetto non realizzabile con motivazioni.

Traduzione in linguaggio tecnico del sistema

La descrizione tecnicaè la traduzione in linguaggi formali della descrizione del sistema. I linguaggi utilizzabili sono vari. Nella descrizione di un progetto si utilizza la combinazione di più linguaggi tecnici.

Esempio: Funzionalità di lettore CD-ROM

Analizziamo l'esempio considerato. Il punto fondamentale della descrizione è che deve avere come base le funzionalità di un lettore CD-ROM. Rappresentato con uno schema a blocchi, questo tipo di lettoreè composto da un modulo audio per la generazione dei suoni, una memoria (il CD-ROM), l'interfaccia con l'utente (per permettere all'utente di selezionare i brani , il volume ......) e l'unità di controllo che gestisce tutte le funzioni.. La funzionalità del sistemaè correlata direttamente con l'interfaccia utente, che richiede: un display per visualizzare i messaggi che si stanno ascoltando e i comandi che impartendo, tasti per inviare i comandi e una cuffia per ascoltare i messaggi. Una prima descrizione tecnicaè realizzata con uno schema a blocchi.

Dallo schema precedente ogni blocco deve essere definito più dettagliatamente. Le funzioni dell'unità di controllo vengono descritte con diagramma di flusso (da cui deriverà il software, una volta scelto un opportuno linguaggio di programmazione).

Vincoli

Descritto con linguaggio tecnico il sistema, occorre definire i vincoli che questo deve rispettare. Questi vincoli, di varia natura, influenzano le scelte nel campo elettronico. In particolare, si possono distinguere vincoli di tipo: geometrico e meccanico (le dimensioni delle schede elettroniche dipendono dall'applicazione, da standard esistenti, ambiente di lavoro,...) ed elettrico (coinvolgono le tensioni da utilizzare, le frequenze di funzionamento, le caratteristiche dei segnali,...). Inoltre occorre tener conto dei requisiti di sicurezza che il sistema deve rispettare. Il vincolo economico influenza drasticamente le scelte successive nella progettazione. Oltre al costo di produzione, importante per la competitività, sono fondamentali i tempi di produzione legati principalmente alla reperibilità dei componenti elettronici. La scelta di un componente elettronico di bassissimo costo puņ dover essere scartata a causa di tempi di consegna lunghi o addirittura per l'obsolescenza del componente (uscita di produzione). I vincoli sul progetto concorrono a definire la scelta dei componenti da utilizzare e il dimensionamento del sistema.

Nella scelta della memoria si devono analizzare i dispositivi che la tecnologia mette a disposizione. I principali sono di tipo ottico, magnetico e a stato solido (memorie EEPROM di tipo Flash) considerando dimensioni, costo e robustezza, la scelta ricade sulle memorie a stato solido.

Il dimensionamento della memoria va definito in base alla quantità di parlato da memorizzare. Un singolo dato digitaleè formato da 16bit, considerando una qualità telefonica mono con frequenza di campionamento di 8KHz per riprodurre 60 minuti di audio sono necessari circa 74 Mbyte di memoria. In queste condizioni servirebbero 37 dispositivi Flash EEPROM che occuperebbero troppo spazio e porterebbero ad un costo eccessivo dell'audioguida. Il numero massimo di dispositivi utilizzabile per un oggetto delle dimensioni di un telefono cellulare è al massimo di 8, il che richiede di ridurre di almeno un terzo la quantità di dati da memorizzare. Il vincolo geometrico (occupazione d'area) e le specifica audio (60 minuti) richiedono l'utilizzo di algoritmi di compressione dati affinchè siano rispettati entrambi i vincoli.

 
Esempio:Memoria Audio Guida
 Tipo  Capacità  Dimesioni  Meccanica
 Ottico
(CD-ROM)
 650 MByte  1x12x12 cm  si
 Magnetico (hard disk)  1 GByte  2x12x8 cm  si
 Stato Solido
(eeprom flash)
 2 MByte  0,3x2x2 cm  no
 
Memoria Audioguida
 Dati per campione  16 bit
 Bit rate  8 KHz
 Dati per 60 minuti  70 MByte
Disponibilità di 8 flash  16 Mbyte
 Necessaria compressione dati con fattore pari a 5

L'algoritmo di compressione adatto allo scopo dati deve: compattare i dati in real time per permettere una riproduzione audio senza interruzioni; avere una bassa complessità computazionale dovendo girare su un dispositivo portatile di piccole dimensioni; essere diretto ad applicazioni audio. Il fatto che sia rivolto ad applicazioni audio permette di analizzare i sistemi di compressione presenti sul mercato o in fase di sviluppo che ottengono una qualità audio valida comprimendo i dati con perdita di informazioni. Nella scelta dell'algoritmo di compressione, come per tutti i tipi di software, occorre tenere in considerazione i costi di eventuali licenze per l'utilizzo in sistemi embedded. Nel nostro casoè stato utilizzato un algoritmo di nostra proprietà che si basa sulla quantizzazione vettoriale e permette un fattore di compressione variabile, a seconda della qualità che si vuole, da 1 (messaggio non compresso) a 8 (messaggio massima compressione bassa qualità).

Scelta algoritmo di compressione

 
  • Velocità - Real time
  • Complessità computazionale
  • Ambito di applicazione -> audio
 

Algoritmo di quantizzazione vettoriale

Dall'analisi svolta si deduce che l'unità di controllo deve svolgere, oltre alle funzioni già precedentemente definite, anche l'esecuzione dell'algoritmo di compressione derivante dalla necessità di rispetto dei vincoli.

Esempio: Unità di controllo (digitale)

Per la valutazione di fattibilitàè arrivato il momento di valutare le tecnologia più idonee per la realizzazione del sistema. Per quanto riguarda applicazioni di tipo digitale le principali sono le seguenti: logiche standard; tecnologie semi-custom di tipo ASICs; microcontrollori; FPGA.

La tecnologia a logica standard è caratterizzata da dispositivi a bassa densità d'integrazione. Normalmente viene utilizzata in modo marginale per svolgere piccole funzioni poichè ogni cambio nella funzione da svolgere si richiede modifiche dell'hardware del sistema.

Tecnologia ASIC (Application Specific Integrated Circuit)

Rivolta ad applicazioni particolari, ma con grandi numeri di produzione,è invece la tecnologia ASIC che permette una riduzione drastica dell'occupazione d'area ma richiede costi di progettazione elevati.

  • Alta densità di integrazione
  • Vincolato all'applicazione
  • Alti costi di progettazione -> necessità di alti numeri di produzione
  • Impossibilità di variazioni -> Riprogettazione completa

Maggiore flessibilità si ha con la tecnologia a microcontrollore che a parità di hardware permette di variare le funzioni svolte semplicemente riprogrammando i dispositivi. La grande flessibilità limita, in parte la velocità di esecuzione.

Per applicazioni che richiedono la realizzazioni logiche complesse e ad alta velocità si utilizzano FPGA che hanno il vantaggio della programmabilità.

Tecnologia FPGA

  • Logica standard programmabile
  • Alta densità di integrazione
  • Elevata velocità
 

Ultimamenteè disponibile la tecnologia che ingloba i vantaggi dei microcontrollori e FPGA.

Tecnologia: Microprocessori

  • Alta densità di integrazione
  • Programmabilità
  • Elevata flessibilità
  • Velocità di calcolo variabile (costo)

A seconda della complessità del progetto si utilizzano una delle tecnologie sopra descritte o una combinazione di esse. Nel caso dell'audioguida avviene il secondo caso per la parte di compressione e decompressione delle informazioni. Ci si avvarrà poi di un microcontrollore per gestire al funzionalità del sistema.

All'interno di un progetto elettronico si possono ritrovare sottosistemi di tipo digitale, analogico, analogico/digitale e trasduttori. La parte di trasduttori serve per convertire segnali elettrici in segnali di altra natura (meccanici, luminosi ecc...) o viceversa.

Tecnologia: Microcontrollori-FPGA

  • Alta densità di integrazione
  • Flessibilità
  • Velocità di calcolo

Definite le funzioni da realizzare ed effettuate le scelte di base per il tipo di tecnologia da utilizzare, si passa alla progettazione delle schede. Questa fase richiede la scelta dei componenti elettronici da utilizzare cheè legata al campo d'applicazione e alla disponibilità sul mercato di componenti con funzioni più simili a quella da realizzare. Fondamentale nella scelta sono le informazioni sulla reperibilità che puņ variare da qualche giorno a mesi o all'infinito (componenti fuori produzione)

Esempio: Tecnologia Audioguida

Nella scelta dei componenti elettronici la base di partenzaè il Datasheet, ovvero un "manuale" descrittivo in cui sono riportate le caratteristiche del componente elettronico. Nel caso di dispositivi digitali le informazioni presenti sono: a) funzione realizzata descritta con tabelle o espressioni matematiche o diagrammi temporali; b) simbolo logico realizzato per una più rapida comprensione della funzione logica realizzata; c) il pinout con relativo package (ovvero la descrizione della funzione di ogni terminale esterno del componente, che rappresenta il legame fra la funzione logica realizzata e la struttura fisica del dispositivo); d) caratteristiche elettriche che contengono tutte le informazioni sui vincoli d'utilizzo. Nel caso di dispositivi digitali, le caratteristiche elettriche sono comuni a tutti i dispositivi di una stessa famiglia al cui internoè garantita l'interconnettività dei dispositivi senza particolari vincoli. Di conseguenza, l'analisi delle caratteristiche elettriche nonè fondamentale se si utilizzano dispositivi con stesso standard elettrico. Diversaè le situazione per componenti analogici.

Scelta componenti

Nel caso dei componenti analogici nei datasheet vengono indicate le applicazioni principali del dispositivo, una descrizione della funzione svolta e un'ampia descrizione delle caratteristiche elettriche, variabili a seconda dei dispositivi. Le caratteristiche elettriche sono rappresentate attraverso tabelle, dove in genere sono riportati i campi di utilizzo, e/o attraverso grafici nelle varie condizioni di test. I datasheet sono corredati da informazioni sulle applicazioni con schemi elettrici e regole di progettazione da utilizzare.

Molto simili ai datasheet analogici sono quelli dei componenti discreti, che implementano un numero molto limitato di transistori

Per quanto riguarda i componenti passivi (resistenze, condensatori, induttanze) i parametri di scelta sono: a) valore che puņ essere scelto all'interno di un numero discreto di possibilità (normalmente 12 o 24 per decade); b) potenza che devono dissipare; c) tensione e/o corrente massima che sopportano; d) dimensioni (che influenzano l'occupazione d'area, le tecniche di montaggio e il costo).

Effettuata la scelta dei componenti occorre realizzare lo schema elettrico da cui generare poi le geometrie (il cosiddetto layout) per la produzione dei circuiti stampati (detti anche schede o PCB - da Printed Circuit Boards). Partendo dai simboli grafici di ogni componente e dalla lista dei componenti si realizza lo schematico che rappresenta il collegamento dei terminali dei componenti a nodi comuni, rappresentati con zona scura nella slide. La rappresentazione graficaè comoda per una miglior comprensione delle funzionalità del sistema.

Tipicamente, per generare il layout delle schede si utilizzano programmi CAD che permettono di velocizzare la stesura degli schemi.

Il programma CAD permette di estrarre dallo schema tutte le informazioni necessarie che vengono raccolte in un file denominato netlist. Oltre ai dati sui collegamenti, la netlist contiene anche le informazioni sulle dimensioni fisiche dei componenti (footprint) necessarie per il layout.

Il layoutè la definizione delle maschere per la produzione in fotoincisione delle schede.

Un PCBè formato dall'alternanza di strati di materiale conduttivo ed isolante. Negli strati conduttivi si realizzano le piste di interconnessione tra i dispositivi e i nodi elettrici richiesti dallo schema elettrico. Il collegamento fra strati di condutture avviene attraverso VIAS (fori metallizzati). La dimensione minima che si puņ raggiungere nella larghezza dei collegamentiè attualmente di 4 mils per procedimenti basati sulla fotoincisione.

Il processo di fabbricazione si basa sulla stesura sullo strato conduttivo di un materiale che cambia le proprie caratteristiche fisiche se esposto alla luce (fotoresist) diventando solubile in certi reagenti chimici che non lo attaccano quando non impressionato dalla luce. La parte di materiale conduttivo che non deve essere esportato viene protetto attraverso la maschera di layout. Il fotoresist viene eliminato nelle zone colpite dalla luce e con attacchi acidi si asporta il conduttore in eccesso.

Realizzazione Layout

Anche le maschere di layout sono realizzate mediante programmi CAD.

Struttura PCB

Partendo dalla netlist delle conensisoni tra i componenti dalla footprint di questi ultimi, vengono realizzati i collegamenti, rispettando i vincoli della tecnologia utilizzata, e da essi le maschere di layout.

Il posizionamento (placement) dei componentiè la fase principale per la realizzazione del layout. Definite le dimensioni geometriche della scheda e la posizione dei terminali di input/output, la posizione dei componenti va effettuata cercando di ridurre le distanze fra i punti che devono essere collegati e distinguendo zone analogiche da zone digitali (per ridurre problemi di interferenze e propagazione di rumore fra elettronica digitale verso l'elettronica analogica).

Il sistema CAD permette la definizione delle geometrie delle piste di interconnessione (routine) in modo sia manuale che automatico (attraverso appositi algoritmi empirici di che mirano alla ottimizzazione del risultato, cosa in generale non ottenibile altrimenti). In pratica il routing manuale viene utilizzato quando il progettoè semplice oppure quandoè necessario rispettare vincoli particolari (per compatibilità elettromagnetica, riduzione dei disturbi), che non vengono presi in considerazione dagli algoritmi di autorouting oppure cheè troppo complicato inserirli negli stessi algoritmi.

Realizzazione Layout: Sistema CAD layout

Realizzato il layout, il sistema CAD produce file in apposito formato per la stampa delle maschere nel formato (tipicamente GERBER) utilizzato dalle macchine di produzione delle schede (PCB).

Realizzati i PCB si passa alla fase di assemblaggio con il processo di saldatura dei componenti sulle schede effettuato in modo automatico (per grandi produzioni) o manuale per la realizzazione dei campioni di test.

Terminata la realizzazione hardware, nei sistemi con microcontrollore, o in genere con logica programmabile,è necessario realizzare il software embedded per la programmazione dei dispositivi programmabili. Dalla descrizione a diagramma di flusso si passa alla scrittura del software (in linguaggio appropriato, generalmente assembler o C) che verrà installato sui dispositivi.

Nella scrittura del softwareè necessario disporre di mezzi per la verifica della sua funzionalità. Nel caso di sistemi embeddedè necessario anche provare (testare) il software direttamente sull'hardware . Le case costruttrici dei dispositivi programmabili mettono a disposizione ambienti di programmazione/emulazione integrati che permettono di svolgere tutte le funzioni necessarie all'utilizzo dei loro dispositivi. In particolare, rispetto ai normali ambienti di programmazione, in questo casoè presente anche una struttura hardware (emulatore) che simula il funzionamento del dispositivo a cui puņ essere sostituito con il vantaggio di poter controllare via computer tutte le funzioni svolte dal software. In questo modo si fa una verifica diretta del funzionamento fino a che non si raggiunge il risultato voluto.

Terminata la realizzazione del sistema elettronico, occorre fare la verifica con un test di funzionalità il cui scopo è di verificare la corrispondenza fra il sistema realizzato e quello descritto nelle specifiche di progetto. Per far questo sono necessari strumenti (tools) al contorno per implementare le condizioni di funzionamento che permettano di verificare il sistema. Spesso è conveniente considerare le problematiche di test durante tutta la fase di progettazione del sistema in modo da rendere la procedura finale il più possibile semplice ed affidabile. Se il sistema supera il test si passa alla fase di produzione, in caso contrario è necessaria una riprogettazione, i cui costi dipendono dal progetto e comunque influenzeranno i costi finali.

L'elettronica deve essere protetta da possibili urti e dall'ambiente circostante. Inoltre, il sistema progettato deve avere un aspetto attraente dal punto di vista ergonomico. Queste esigenze sono l'oggetto della progettazione del contenitore (packaging) del sistema.

Software embedded

Qualsiasi sistema elettronico deve essere accompagnato da un manuale tecnico. Il manuale deve contenere tutte le informazioni necessarie per l'utilizzo del sistema e, per il produttore, la lista dei componenti, la procedura di montaggio e di test.

Ultima, ma non meno importante, questione da tenere presente nella progettazione dei sistemi elettroniciè che occorre tenere in considerazione le normative di legge, che variano a seconda del campo d'impiego del dispositivo (es: in campo telecomunicazioni l'utilizzo delle frequenze di trasmissioniè regolamentato da apposite leggi e permessi). In generale le norme che occorre sempre rispettare (per cuiè necessario effettuare la certificazione dei dispositivi) riguardano la compatibilità elettromagnetica e la sicurezza. Nella progettazioneè necessario considerare queste norme fin dall'inizio poichè non è possibile compensare errori in questo campo nella fase finale del progetto se non siè tenuto conto del problema fin dall'inizio.