Login

Elettronica Digitale

La progettazione di circuiti elettronici digitali è supportata per tutte le tecnologie allo stato dell'arte, grazie alle quali è possibile l'implementazione secondo tutti i livelli di complessità, a partire dal semplice stadio di controllo fino a comprendere una intera e completa motherboard.

All'occorrenza, vengono stipulati opportuni contratti NDA con i più importanti produttori al fine di ottenere campioni di dispositivi non ancora immessi sul mercato e relativi sistemi di sviluppo; in questo modo si beneficia del massimo livello di innovazione tecnologica.

Le attività di progettazione includono anche gli stadi di alimentazione, in particolare la generazione di tutte le tensioni e la loro distribuzione, nonchè tutti gli accorgimenti relativi agli aspetti EMC sia sul lato schematico sia su quello layout.

Data la vastità del campo applicativo, vengono elencate solo alcune principali categorie:

 

  • circuiti di controllo per ogni applicazione
  • sistemi di infotainment automotive
  • sistemi di automazione per la nautica
  • sistemi di navigazione
  • schede di acquisizione dati
  • schede mixed signal

 

 

Revisione Progetti

Spesso si ha urgenza di rafforzare un team di specialisti al fine di rispettare la pianificazione di una consegna oppure si rende necessaria una serie di azioni di verifica e debug di un progetto già in avanzato stato di realizzazione.

In questi casi diviene molto utile e determinante un supporto esterno che si dimostri rapido ed efficace.

La notevole esperienza e la grande varietà di casi di applicazione e settori operativi, permette di offrire un servizio di elevatissima qualità e prontezza che storicamente ha sempre permesso il raggiungimento degli obiettivi di prestazione in tutti quei casi in cui la progettazione di un prodotto era ostacolata da diversi fattori operativi.

 

Operatività

Solitamente una attività di revisione viene schedulata attraverso alcune fasi operative classiche, come:

 

  • Analisi degli schemi elettrici e verifica delle netlist
  • Verifica delle caratteristiche dei componenti presenti in BOM
  • Verifica delle soluzioni circuitali e di layout del PCB
  • Misure sperimentali
  • Ideazione ed attuazione delle modifiche harware
  • Ricerca ed eliminazione dei bachi firmware
  • Verifica delle prestazioni finali
  • Stesura del report di modifica (bug-fix)

 

In ogni caso le effettive fasi di revisione vengono discusse e bilanciate, nella loro complessità, col cliente.

 

 

Applicativi Smart

La capillare diffusione dei sistemi Tablet e Smartphone suggerisce lo sfruttamento di questi dispositivi anche come mezzi di interfacciamento utente verso altri sistemi.

La realizzazione di applicazioni mobile è supportata per i più diffusi sistemi operativi quali Android, IOS, Windows Mobile e Windows Phone.

Le App realizzabili sono di svariata natura e quasi tutte finalizzate alla gestione remota di dispositivi connessi in Internet o raggiungibili mediante connessioni locali.

Inoltre, sfruttando i dispositivi palmari, si hanno a disposizione molte risorse hardware aggiuntive, quali GPS, monitor, fotocamera, capacità di riproduzione e gestione dei files multimediali, ecc..

Gli standard di connettività sono solitamente il Bluetooth, WiFi, Infra Red, NFC e la connessione dati in tutte le sue varianti offerte dai diversi providers.

Possono essere realizzate App di qualunque genere, anche sfruttando alcune funzionalità di sicurezza, come l'autenticazione avanzata (ad esempio mediante riconoscimento dell'impronta digitale) e la crittografia dei dati.

 

512x512-Android

Sviluppo App Android

La piattaforma Android è leader indiscusso in termini di numero di dispositivi venduti, per questo motivo le App Android sono più appetibili in termini di compatibilità e diffusione verso milioni di utenti.

In generale, per questi dispositivi è necessaria una accurata selezione delle funzioni da implementare in base ai particolari modelli prescelti.

Le App possono essere distribuite e aggiornate sui portali Google App e Store dedicati.

 

 

512x512-Apple

Sviluppo App iPhone e iPad

In generale lo sviluppo di App per il marchio Apple è più costoso rispetto agli altri, a causa delle politiche di concessione e certificazione della Casa Madre.

Il mondo Apple, oltre al continuo trend di innovazione tecnologica, offre una più ampia garanzia di stabilità del supporto software e solidità delle soluzioni hardware.

Le App possono essere distribuite e aggiornate sul portale App Store.

 

 

 

400x400-Winmob

Sviluppo App Windows Phone e Mobile

Come gli altri sistemi operativi, anche Windows Mobile e in particolare Windows Phone sono completamente supportate a livello applicativo.

Data la più scarsa diffusione di dispositivi compatibili, è sempre consigliato l'individuazione di tutti i palmari su cui si desidera far funzionare le applicazioni.

Le App possono essere distribuite e aggiornate attraverso i portali dedicati.

 

 

 

Sviluppo Software

In genere lo sviluppo di applicazioni software è realizzato su piattaforme PC ed Apple.

 

Tipi di applicazioni

Le tipologie più frequentemente realizzate sono:

 

  • strumentazione virtuale real-time
  • software di gestione dati remoti
  • data logger e controllo remoto
  • shell di comando
  • driver di interfacciamento

 

Le applicazioni sviluppate sono prettamente di tipo controllistico, ovvero sintetiche nel loro complesso e focalizzate sulle funzionalità principali del dispositivo da interfacciare.

All'occorrenza è possibile lo sviluppo di driver che costituiscono lo strato più vicino a quello fisico e che permettono la realizzazione di software più complessi.

 

Ambienti e sistemi operativi

I linguaggi e gli ambienti utilizzati sono: C, C++, C#, visual C e visual Basic.

I sistemi operativi supportati sono: Windows in tutte le versioni, Linux e IOS.

 

 

Sviluppo Drivers

La progettazione di un circuito complesso può richiedere l'interfacciamento verso vari dispositivi esterni oppure altri componenti o reti dati di diveri tipi.

In questi casi vengono sviluppati specifici drivers di comunicazione e interfacciamento verso qualunque componente secondo le specifiche fornite dai costruttori, ad esempio display grafici, chip di comunicazione o di autenticazione, nuovi componenti, varianti di driver già diffusi o generazione di nuovi protocolli sviluppati ad-hoc.

In accordo con il grado di complessità e i requisiti di funzionamento, lo sviluppo dei drivers può avvenire attraverso l'impiego di linguaggi di alto livello oppure di basso livello.

Infatti, quando è necessario raggiungere livelli di prestazioni molto alti e contemporaneamente avere il pieno controllo di tutti i segnali fino a raggiungere il massimo delle risoluzioni temporali e dinamiche, allora diviene indispensabile ricorrere al linguaggio più vicino al "core", ovvero l'assembler.

Lo sviluppo di questi particolari livelli di firmware avviene in strettissimo contatto col circuito che è costantemente sottoposto a misure e verifiche funzionali.

Lo sviluppo di un driver può riguardare anche sistemi complessi, ovvero dispositivi che svolgono le proprie funzioni in modo autonomo (stand-alone), ma che allo stesso tempo richiedono un interfacciamento verso il mondo esterno.

In base al tipo di connessione, che può essere standard o proprietario, risulta utile lo sviluppo di appositi driver di comunicazione e conversione dei dati.

Il supporto verso queste casistiche è di tipo completo e accurato, totalmente effettuato con le adeguate attrezzature al fine di verificare la corretta generazione e distribuzione dei segnali real-time.

Al termine delle fasi di debug si ottiene un codice sorgente che può costituire parte integrante di altri software più complessi, quindi un componente di libreria a tutti gli effetti.