
Atmel AT90SO è l’ultima novità nel campo dei microcontrollori, di cui Atmel Corporation ha annunciato di recente l’immissione sul mercato con l’obiettivo di garantire standard di sicurezza senza precedenti.
Atmel AT90SO si presenta appunto come una nuova famiglia nella categoria dei microcontrollori, che si prefissa come obiettivo primario quello di garantire il più alto livello possibile di sicurezza per i cosiddetti smart object (o oggetti avanzati) e per i sistemi.
Atmel del resto è da anni un leader mondiale nel settore del design e nella fabbricazione della categoria dei microcontrollori, di memoria non volatile e di componenti di radio frequenza (RF).
Punti di forza della famiglia di microcontrollori Atmel AT90SO
Questa nuova famiglia AT90SO è in assoluto la prima nel campo ad offrire un così vasto range di interfacce che puntano a garantire nel migliore dei modi possibili un elevato livello di sicurezza a quelle che sono le varie potenziali applicazioni, inclusi dunque gli e-token usb, i fetmocell, gli smart meters (ovvero i contatori intelligenti), l’archiviazione sicura dei dati, i telehealt e le piattaforme di gioco. Costruita sulla base della tecnologia dei microcontrollori di tipo secureAVR di Atmel questa nuova famiglia AT90SO apporta un livello di sicurezza maggiore, garantisce performance di livello superiore e il tutto richiedendo un consumo di energia notevolmente inferiore a quello di qualunque altro prodotto equivalente e disponibile al momento sul mercato.
Durante la presentazione del prodotto, Olivier Debelleeix, marketing manager di Atmel per Embedded Security ha fatto notare a tal proposito che: “I designer continuano a chiedere un livello sempre più grande di sicurezza e di calcolo crittografico accurato per i prodotti di prossima generazione”. Lo stesso Debelleeix ha poi inoltre aggiunto per insistere sulle garanzie di sicurezza offerte dal nuovo prodotto: “Il nuovo secureAVR SoC (system on chip) di Atmel non solo rispecchia questi requisiti di cui sopra, ma inoltre questo gruppo di prodotti comprende anche un completo ed efficiente kit di sicurezza che può essere senza alcuna difficoltà connesso con i sistemi dei designer”.
Caratteristiche tecniche di Atmel AT90SO
AT90SO128, ovvero il primo dei membri della famiglia Atmel AT90SO, è strutturalmente costruito sul secureAVR 8/16-bit, architettura low-power RISC con 288 KB di ROM; 128 KB di EEPROM e 12 KB di RAM. Queste caratteristiche rendono il secure SoC compatibile con i più richiesti firmware. In aggiunta, tutti gli algoritmi di crittografia standard (AES, DES/TDES, RSA, ECC) sono supportati da specifici acceleratori integrati dedicati che risultano essere compatibili con le certificazioni Common Criteria EAL4+ e FIPS140-2, certificazioni internazionali per la sicurezza dei computer. Questo nuovo prodotto si presenta in una varietà di interfacce e periferiche incluse ISO7816, hi-speed SPI, USB 2.0 full-speed e GPIO.
Grazie ad un real time clock (dispositivo con funzione di orologio interno di un computer che conta il tempo reale, anno, mese, giorno, ora, minuto e secondo, anche quando il computer è spento) o RTC garantito, tutte le applicazioni vengono protocollate con un affidabile time stamping (o marcatore temporale) che assicura una perfetta indicazione della data e dell’ora.
Repost del 20 Dic 2009

Anche se l’architettura di questo mcu non è una di quelle standard, devo ammettere che mi interessa questa unità! Non avevo mai visto microcontrollori che integrassero delle funzionalità di cifratura accelerate via hardware, come questo! Scrivere in c degli algoritmi per criptare delle informazioni è abbastanza complicato e poco efficiente dal punto di vista dei tempi di elaborazione, scriverlo in assembly è quasi improponibile invece! Usando sistemi di accelerazione hardware è possibile migliorare prestazioni e facilità di utilizzo da parte dei progettisti! Devo dire che molto interessanti sono anche le altre caratteristiche, ad esempio 288KB di rom e 12kb di ram non sono tantissime, ma per oggetti di questa categoria, diciamo che ce n’è in abbondanza. Notevole anche il supporto per USB 2.0 integrato. Anche il real time clock deve essere comodissimo… Sembra una soluzione molto molto efficiente adatta a un sacco di casi d’uso. Devo informarmi di più su questi articoli, anche se mi sta risultando un pò difficile cercare il datasheet
Bè, partiamo dicendo che Atmel è davvero sinonimo di sicurezza e garanzia nel campo dei microcontrollori. Poi,rileggendo l’articolo ritrovo queste tre parole chiave: livello di sicurezza maggiore, performance superiore, consumo di energia inferiore. sono un connubio perfetto.
Sono curioso di informarmi sul sistema secureAVR SoC. Inoltre ha caratteristiche di tutto rispetto. Clock interno, fantastico. Ce ne sono pochi di controllori con tale caratteristica. Usb 2.0, forse il 3.0 sarebbe stato veloce ma credo che comunque questo protocollo sia veramente più che sufficiente.
Per quanto riguarda gli algoritmi di crittografia, caspita. Veramente notevole. Con così poco hardware spero però che non si verifichino rallentamenti. Sembra davvero un microcontrollore efficentissimo e utile.
Per il datasheet anche io trovo difficoltà a trovarlo XD
Non ho mai seguito attentamente lo sviluppo dei microcontrollori, ma da quando ho iniziato a giocherellare con Arduino ho visto un mondo tutto nuovo. Quello che mi sorprende è che hanno delle caratteristiche di tutto rispetto per applicazioni specifiche. Questa della crittografia è molto interessante, magari esistesse qualcosa che integri funzioni di compressione video (h264) o magari matematiche (fft) nel mio campo sarebbero molto utili!
Io sto avendo il tuo stesso inizio..da arduino mi si è davvero aperto un mondo infinito!!
Non ti so dire se esistono o no dei controllori simili, ma forse se cerchi trovi qualcosa. Nel caso non esistessero secondo me sarebbe perchè l’hardware che “cè sotto” è scarso e non adatto a certe operazioni. Però ripeto, non sono esperto, potrei sbagliare 😀
Le applicazioni da te citate, finora, sono sempre state colmate utilizzando sistemi di logica configurabile come le FPGA, le quali, costruite con lo stato dell’arte dei processori di ultimo grido, integrano blocchi combinatori e sequenziali altamente veloci e raffinati da poter realizzare praticamemtne qualunque funzione logica si possa immaginare. in pratica il clock arriva a toccare valori da paura fortemente distanti da ciò che si può avere con un microcontrollore. Esistono strutture più complesse dei microcontrollori, dette DSP, dedite all’elaborazione digitale dei segnali analogici, tra i possibili algoritmi implementabili c’è anche la fft. certo, dipende sempre dalla banda del segnale da analizzare, perchè se intendi costruire, ad esempio, un network analyzer per misure a microonde, devi nuovamente ritornare verso sistemi come le FPGA. L’h264 la vedo un pò difficile trovarlo integrato come periferiche di microcontrollore, perchè a parte la periferica in se sarebbero necessarie prestazioni ben più elevate rispetto a ciò che le architetture comuni di micro possono fornire. forse se ci spostiamo però verso tecnologie a 32bit come i Cortex, la storia cambia notevolmente.
Apprendo molto dai commenti di Alex87, grazie. Usando l’FPGA non mi sono mai aperto verso i microcontrolli quindi ogni volta mi si apre un mondo d’informazioni ed Arduino è un bel incentivo per informarsi. Uso da poco l’FPGA ma le potenzialità sono veramente tante, implemetazione di funzioni matematiche, dcm, ipi-core.. ultimamente sto lavorando ad un progetto studio di realizzare una MLP (multi layer perceptron)da implementare sullo Spartan.
Affiancando FPGA al microcontroller le applicazioni aumentano a dismisura 🙂
…se consideri che tutte le attuali FPGA contengono al loro interno almeno un microcontrollore programmabile separatamente dal resto della logica di contorno, allora con un solo componente hai una potenza nelle mani senza limiti. La maggiorparte dei sistemi di misura sono quasi interamente realizzati tramite FPGA. Inoltre le case produttrici di FPGA mettono a disposizione dei progettisti la possibilità di rendere la loro configurazione FPGA un ASIC a tutti gli effetti. Infatti il principio della configurazione dell’FPGA è abbastanza semplice: ci sono tantissime matrici di interconnesioni organizzate in righe e colonne che vengono contattate tra loro essenzialmente da mosfet che saranno accesi se vogliamo porre un cortocircuito tra le linee o spenti se le medesime linee le vogliamo lasciare sconnesse. lo stato di ogni singolo mosfet è contenuto in una memoria EEPROM letta tutte le volte che all’FPGA diamo alimentazione. Quindi ciò che andiamo a fare tramite i programmi di descrizione hardware non è altro che creare i bit di configurazione da salvare nella suddetta memoria. Poter sostituire i mosfet di configurazione con dei cortocircuiti porta il vantaggio di incrementare le prestazioni dell’intera logica, in termini di ritardi di propagazione e potenza dissipata. Inoltre non occorre nemmeno più la memoria su cui salvare la configurazione. Quindi le grandi società di progettazione affrontano il seguente iter: si configura l FPGA utilizzando un linguaggio di descrizione hardware, si programma il microcontrollore interno nel caso si volessero funzioni non facilmente implementabili tramite la sola configurazione hardware e successivamente, una volta verificato il corretto funzionamento del sistema progettato, si invia la configurazione alla casa madre e loro forniscono indietro un lotto di FPGA non più modificabili ma dalle prestazioni certamente più elevate rispetto al prototipo. Ovviamente i costi di produzione delle FPGA – ASIC sono molto alti e quindi possono permettersi questo iter solo le aziende che sanno di poter spalmare tali costi su un numero di vendite molto alto.
grazie, non sapevo che dentro le fpga son compresi dei microcontroller, ma pensavo che fossero una specie di PLD o PAL più avanzate. io non so una mazza di FPGA ma so che sono dei dispositivi modellabili tramite prgrammi di descrizione hardware VHDL o Verilog.. ma non so niente ^_^
MCU con integrata la funzione di decodifica di flussi video mi sembra improbabile che escano sul mercato… Gli algoritmi di codifica e decodifica di flussi video spesso sono molto complessi, e giustamente può far comodo averli già integrati, ma questo necessiterebbe probabilmente di ulteriori conoscenze in quel campo. Quello che si fa in questi casi è ricorrere a strumenti esterni come dei chip di codifica e decodifica, lasciando ad essi tutto il lavoro sporco. Ci sono aziende come la VLSI che sono praticamente specializzate nella prodzione di chip di decodifica audio e video, puoi guardare sul loro sito i prodotti. Comunque per h264 ho dato un’occhiata e ho trovato questi chip della maxim
http://www.maxim-ic.com/products/video/h.264-codecs/
che pare siano abbastanza flessibili, ma si tratta comunque di soluzioni abbastanza professionali… Diciamo che all’hobbista che lavora coi microcontrollori è un pò negato l’accesso alle codifiche video, che in ogni caso sono tra le attività più impegnative che potrebbero svolgere dei calcolatori.
La fft invece credo che sia fattibile anche senza circuiti appositi. A limite potrebbe essere utile un coprocessore matematico, per risparmiare un pò di memoria per le istruzioni sul microcontrollore. Gli algoritmi per realizzare una fft sono estremamente più semplici di quelli per comprimere un video, in qualunque formato
Infatti sapere davvero interessante trovare qualche piattaforma che desse la possibilità di utlizzarli direttamente “on board”. Ovviamente il passaggio può essere drastico ma ricordo di aver visto qualche anno fà in alcune fiere delle aziende che vendevano chip (dsp per la presisione) che si occupavano della codifica in h264 i dettagli non li ricordo ma mi intrigava l’idea di trovarli integrati su Arduino 2020 ;-). Ovviamente gli FPGA fabbo storia a se essendo programmabili.
Effettivamente non era una richiesta da hobbista e quindi immagino che mettere un codificatore/devodificatore video non è uno scherzo. Anche guardando al tuo link si capische bene quella bestiolina non viene chiamato neanche DSP ma system-on-chip che molto probabilmente è più complesso dell’intera board su cui viene installato. Effettivamente come diceva un amico continuando la discussione forse l’accoppiato con un fpga potrebbe essere la soluzione ma praticamente è un mondo che non conosco e non verrei dire cavolate
cosa dire, gli atmel sono nel campo dei microcontrollori da tantissimo tempo ed hanno prodotto sempre dei dispositivi molto potenti e funzionanti, e soprattutto con numerose possibilità di comunicazione, come le porte usb, seriale, e, negli ultimi periodi, la comunicazione di rete e wifi.
PLD, CPLD e PAL diciamo che sono i precursori delle FPGA moderne, con l’una differenza che ad esempio le PAL contengono solo matrici di porte AND e OR congigurabili in modo da ottenere una qualsiasi fuzione logica combinatoria, mentre le FPGA contengono macroblocchi funzionali già costruiti, sia il logica combinatoria che sequenziale. Come tu stesso hai avuto modo di rimarcare, queste strutture hardware vengo non programmate ma configurate con un linguaggio di programmazione hardware come il VHDL e il Verilog (in particolare il verilog viene utilizzato per ricreare degli stimoli utili per la simulazione behavoural del proprio codice). Se osservi il linguaggio VHDL, ti renderai conto che per forza di cose le istruzioni si susseguono nel listato una dopo l’altra, ma a differenza del C, ad esempio, le istruzioni VHDL rappresentano delle connessioni fisiche tra blocchi, quindi è come se fossero eseguite in contemporanea (uso il condizionale perchè in realtà non c’è una CPU che esegue quelle istruzioni, ma rappresentano delle vere e proprie connessioni fisiche tra blocchi funzionali). Tutto sommato non è così complesso configurare una FPGA! 😉
I flussi video codificati in h264 non credo che siano complicati da gestire via hardware, nel senso che la periferica nativa ci può anche essere, ma dubito che un microcontrollore o DSP low cost abbiano la potenza di calcolo necessaria per svolgere questo esoso compito. Non è il livello fisico in se che preoccupa, ma il collagamento e la gestione del protocollo di codifica. Ho visto realizzati codec h264 tramite le solo FPGA perchè come ho già avuto modo di dire in un altro commento, questi dispositivi “CONFIGURABILI” (è sbagliato dire programmabili perchè si programma una serie di istruzioni da eseguire sequenzialmente…le FPGA, al contrario, sono configurabili perchè le istruzioni che si vanno a scrivere in linguaggio VHDL rappresentano una descrizione hardware, quindi dei collegamenti fisici tra blocchi hardware funzionali già esistenti)contengono al loro interno lo stato dell’arte dei processori (non è raro trovare FPGA a 45nm, ad esempio, anche se lo stato dell’arte prevede già i 32nm come lunghezza di canale dei dispositivi mos)e quindi altamente performanti. Sono dispositivi d’avanguardia con i quali si riesce davvero a fare di tutto.
io personalmente ho avuto a che fare con le PAL, programmando con linguaggio CUPL un divisore di frequenza il quale serviva, abbinato a un AtMega32 per fare un frequenzimetro 🙂 ..è stato l’esame di Sistemi Elettronici Programmabili che mi ha fatto avvicinare sia alla programmazione (che non mi piaceva) e sia al mondo dei microcontrollori che sino ad allora non conoscevo bene, mi attiravano ma non sapendo bene di cosa si trattasse, non mi ero avvicinato ad essi avendo altre cose da fare o meglio dando precedenza ad altre cose… ora mi sta incuriosendo tantissimo il mondo delle FPGA e prossimamente di sicuro mi informetò di più …. ^_^
Non voglio “tirarmi una questione” sul FPGA, non sono molto d’accordo ma preciso solo che la “PROGRAMMABILITA'” è legata alla seconda lettera dell’acronimo.
Atmel è sempre riuscita a produrre microcontroller affidabili, sicuri e dotati di numerose funzionaltà/possibilità di comunicazione.
Molto interessante la funzionalità del Real Time Clock, che consente di avere una misurazione del tempo esatta per i propri progetti elettronici.
Speriamo che le prossime versioni di Arduino includano questo nuovo microcontrollore.
Complimenti vivissimi alla sempre innovativa Atmel 😉
L’idea del real time clock su Arduino non sarebbe per niente una cattiva idea!! Proponi a Banzi 😉
Famiglia di microcontrollori abbastanza interessante, anche se a quanto leggo alla fine dell’articolo è già abbastanza vecchiotta (risale al 2009…). Le caratteristiche e le possibilità di progetto sono innumerevoli e d’altronde non ci si poteva aspettare uno scenario diverso da un marchio altamente riconosciuto sul mercato dei microcontrollori come Atmel. È strano come non si riesca a recuperare un datasheet, ci sto provando da più di un quarto d’ora… credo che sia un problema di organizzazione del sito Atmel e quindi il link proposto nell’articolo reindirizza alla pagina web errata. Al di là di questo, come dicevo, le caratteristiche tecniche sono davvero interessanti, a partire dall’acceleratore hardware per l’implementazione di algoritmi criptografici. Ricordo di aver letto tempo fa un’application note della Microchip in cui veniva implementato l’algoritmo AES di criptografia tutto in linguaggio C e ovviamente non sto nemmeno a dire che forse si arrivava ad occupare più del 60% di memoria ROM (su un micro da 64K) con delle tempistiche tutto sommato forse poco rispettate se confrontate con ciò che prevede lo standard (non sono stato io a concludere questo ma tale AN è stata oggetto di confronto sul forum della Microchip, quindi leggendo le opinioni si conclude quanto ho riportato in precedenza). I 32K di memoria programma, che potrebbero risultare forse pochi se confrontati con altri modelli di micro (si arriva benissimo a 256K di ROM con la serie PIC24F della Microchip), in realtà potrebbero essere più che sufficienti visto che la maggior parte del codice che andremmo a scrivere è già efficacemente implementato via hardware (e ritorna ancora l’esempio dell’acceleratore criptografico). Altra caratteristica non trascurabile è il basso consumo di potenza che rende la famiglia di microcontrollori Atmel adatta per applicazioni portatili che devono essere alimentate a batteria. Nell’articolo si legge che il sistema implementato per assolvere al basso consumo di potenza è il migliore che si possa avere se ricercato tra i prodotti presenti sul mercato, concetto ovviamente da prendere con le pinze perché forse nel 2009 l’architettura low-power Risc poteva essere quella che garantiva i risultati migliori, oggi andrebbe confrontata con le altre soluzioni magari proposte dalla stessa Atmel oppure da altre case concorrenti come la Microchip, la Philips, la ST, la Freescale, ecc… Diciamo che il basso consumo dei dispositivi è un ambito di ricerca abbastanza seguito da un po’ tutte le aziende interessate nella commercializzazione di microcontrollori e mettere a confronto le varie proposte non è nemmeno una cosa semplicissima, dato che si dovrebbe sottoporre i vari campioni di micro ad eseguire lo stesso firmware, alle stesse condizioni operative, ecc… Diciamo che le variabili da controllare in questo tipo di analisi è più di una, rendendo tutta la procedura altamente complessa. Tempo fa ho letto proprio su EOS un articolo su cui si tirava in ballo il confronto tra famiglie di microcontrollori concorrenti (Motorola, Atmel, Microchip) dal punto di vista dei consumi e ricordo anche il commento di Emanuele (da cui non si può che imparare) che evidenziava proprio la difficoltà che ho spiegato prima nell’eseguire questo test.
I campi di applicazione di questa famiglia elencati nell’articolo sono abbastanza attuali, d’altronde la progettazione segue le richieste di mercato, quindi ad architetture attuali non possono che corrispondere applicazioni altrettanto attuali.