| 

Segger emCompress

La riduzione delle dimensioni dei dati per l’archiviazione e il trasferimento è estremamente preziosa nei sistemi embedded. Ridurre l’ingombro dell’archiviazione minimizza la complessità e i costi dei sistemi, mantenendo bassi i requisiti di memoria. Ridurre le dimensioni del trasferimento permette di superare i limiti della larghezza di banda disponibile per l’invio e la ricezione dei dati.

Progettato specificamente per i sistemi embedded, emCompress è in grado di comprimere e decomprimere dati anche sui microcontrollori più piccoli. emCompress è disponibile in quattro edizioni: emCompress-Pro, emCompress-ToGo, emCompress-Embed e emCompress-LZMA, che coprono diverse applicazioni di compressione. Ogni edizione è ottimizzata per il suo uso specifico per fornire il modo più conveniente di gestire i dati.

emCompress è scritto in codice ANSI C ben commentato. È indipendente sia dal compilatore che dal target. A differenza della maggior parte delle librerie di compressione, non è coperto da licenze open source o con obbligo di attribuzione e può essere integrato in qualsiasi prodotto commerciale o proprietario senza l’obbligo di divulgare il codice sorgente combinato.

Caratteristiche principali

  • Per dispositivi embedded, app e software per PC
  • Ridotto ingombro ROM del decompressore
  • Ampia gamma di algoritmi di compressione
  • Facile da configurare e integrare
  • Quattro edizioni per soddisfare ogni esigenza di compressione

Vantaggi

Minore spazio occupato in memoria

Comprimendo i dati, è possibile memorizzarne molti di più nella memoria flash (interna o SPI) o su una scheda SD esterna. Che si tratti di aggiornamenti firmware, bitstream di configurazione o risorse per l’interfaccia (asset), minore è l’ingombro, più economica diventa la soluzione grazie all’uso di supporti di memoria più piccoli e meno costosi.

Minore traffico di comunicazione

Nelle applicazioni che utilizzano collegamenti a bassa larghezza di banda, la compressione permette di trasmettere più informazioni in meno tempo. Inoltre, meno traffico di rete riduce il consumo energetico di trasmettitori e ricevitori. Per le comunicazioni a lunga distanza, meno dati portano a meno errori e maggiore velocità di trasmissione.

Aggiornamenti più veloci

Tramite la compressione, i nuovi firmware o i dati di aggiornamento possono essere trasmessi via etere (OTA) non solo con meno banda, ma anche più velocemente. Questo è cruciale per canali come Bluetooth, Zigbee o comunicazioni mobili in aree con scarsa copertura di rete.


Casi d’uso

SEGGER ha sviluppato quattro diverse edizioni per coprire ogni scenario. Di seguito sono riportati i casi d’uso principali:

  • Velocizzare gli aggiornamenti firmware: Molti prodotti devono essere aggiornati sul campo con banda limitata. emCompress-Pro ed emCompress-LZMA permettono di ricevere flussi di dati compressi e decomprimerli “al volo” durante l’aggiornamento.
  • Ridurre le dimensioni delle immagini firmware: Quando il firmware rischia di superare la dimensione della flash, emCompress-Embed è la scelta giusta per comprimere i dati statici e decomprimerli solo quando necessario.
  • Minimizzare l’archiviazione degli asset (UI): Le risorse digitali per l’interfaccia utente possono essere archiviate in forma compressa. Con la modalità “group” di emCompress-Embed, più asset possono essere compressi insieme per risultati ancora migliori.
  • Ridurre il traffico di rete IoT: Per le reti congestionate, emCompress-ToGo permette a mittente e destinatario di comprimere/decomprimere i messaggi in tempo reale.
  • Elaborare dati da strumenti di terze parti: Se un dispositivo riceve dati compressi da fonti esterne, emCompress-Pro garantisce la compatibilità con i comuni strumenti di compressione e formati di archivio.
  • Bitstream per FPGA: emCompress-Embed può comprimere i bitstream di configurazione per FPGA/CPLD, permettendo la configurazione immediata del dispositivo tramite blocchi decompressi al volo.
  • Data Logging: Per risparmiare risorse durante la raccolta di grandi quantità di dati, emCompress-ToGo è la soluzione ideale per archiviare log compressi.

Edizioni a confronto

CaratteristicaemCompress-ProemCompress-ToGoemCompress-EmbedemCompress-LZMA
Compressione sul targetSì [1]NoNo
Decompressione sul target
Algoritmi disponibiliDEFLATE, LZMA, LZJU90, LZPJSMASH-2DEFLATE, Huffman, LZW, LZSS, LZJU90, RLE-PARLZMA
Applicazioni tipicheAggiornamenti firmware, trasferimento dati esterniData loggers, Bluetooth, SatellitiRiduzione dimensione firmware, bitstream FPGA, asset UIAggiornamenti firmware economici

[1] Funzionalità supportata solo con l’add-on opzionale del codice sorgente del compressore.

Articoli simili