Segger PTP (Precise Time Protocol)

Segger introduce il nuovo modulo PTP (Precise Time Protocol) come add-on per lo stack TCP/IP embOS/IP. Il pacchetto è un’implementazione dello standard IEEE 1588v2 (anche noto come: IEEE 1588-2008) per sincronizzare via internet un orologio ordinario (un clock di tipo slave) con un orologio esterno di riferimento. La sincronizzazione può essere utile in tutta una serie di applicazioni in cui sorgenti di dati o sensori siano temporalmente correlati tra di loro. Esempi sono il riconoscimento di immagini, applicazioni audio. Questo protocollo può operare con oppure senza supporto hardware per PTP. Il protollo consente la sincronizzazione entro il millisecondo usando dei software timer. PTP con supporto hardware consente un’accuratezza intorno a 100ns tra target e sorgente di clock.

embOS-Safe

TÜV Süd Germany ha certificato il sistema operativo real-time embOS secondo gli standard EC 61508 SIL 3 e IEC 62304 Class C. IEC 61508 è lo standard per la sicurezza funzionale ed è il punto di riferimento per vari standard derivati in campi di applicazione differenti. Certificazioni di embOS rispetto ad altri standard come ISO 26262 possono essere facilmente conseguite. Il conseguimento della certificazione conferma la qualità dei processi di sviluppo di Segger e dimostra che embOS-Safe è un kernel perfetto per applicazioni di sicurezza. Nessuno sforzo è richiesto agli utilizzatori di embOS-Safe per conseguire la certificazione del kernel. embOS-Safe viene fornito con un kit di certificazione che contiene tutti i documenti necessari, compreso un manuale completo su la sicurezza con embOS.

functional_s3

Certificato di Sicurezza

STÜV Süd ha verificato il processo di sviluppo di embOS e conferma con un certificato che embOS-Safe è un componente ideale per lo sviluppo di applicazioni di sicurezza.

embos-product-icon

Stesse API di embOS

Le API di embOS-Safe rimangono l stesse di embOS perciò applicazioni scritte in passato possono essere riutilizzate senza modifiche. 

SeggerLogo200

Kit di Certificazione

Il kit di certificazione per embOS-Safe include tutti i documenti necessari, incluso un completo manuale di sulla sicurezza di embOS.

embOS (RTOS)

embOS è il kernel hard real-time di Segger ad alte prestazioni, con supporto per le principali architetture di processore, senza royalties.

Caratteristiche Principali

Numero illimitato di mailbox (il limite è la memoria disponibile)
La dimensione e il numero di messaggi è configurabile
Numero illimitato di timer software (il limite è la memoria disponibile)
La risoluzione del tick di sistema è selezionabile (default è 1ms).
Misura temporali ad alta risoluzione (migliore del tick di sistema)
Power management: il tempo di CPU inutilizzato può essere speso in halt-mode.
La maggior parte delle funzioni di sistema possono essere chiamate dalle routine di interrupt.
Zero interrupt latency time.
Gli interrupts annidati sono permessi.
Build in debug mode permettono l’instrumentazione del sistema operativo per facilitare debug.
Task profile
Real time kernel viewer (embOSView) incluso (monitoraggio via seriale dello stato dei task)

Specifiche

kernel size (ROM) 1100 – 1600 byte *
kernel RAM usage 18 – 25 byte *
kernel CPU usage at 1 ms Interrupts with 10MHz M16C : less than .3%
RAM usage mailbox 9 – 15 byte *
RAM usage binary and counting semaphore 3 byte
RAM usage resource semaphore 4 – 5 byte *
RAM usage timer 9 – 11 byte *
RAM usage event 0
Basic time unit (One Tick) Default 1 ms, can be configured, Min. 100 µs (M16C@10MHz) *
task activation time independent of no. of tasks(e.g. typ. 12 us M16C@10MHz)
zero interrupt latency
No. of tasks : Unlimited (by available RAM only)
No. of mailboxes : Unlimited (by available RAM only)
No. of semaphores : Unlimited (by available RAM only)
No. of s/w timers : Unlimited (by available RAM only)
Max. no. of priorities : 255
Max. no. of tasks with identical priorities (Round robin scheduling) Unlimited

* Dipende dalla CPU, il compilatore e il modello di libreria utilizzato

Architetture Supportate

ARM 7/9/XScale
ARM Cortex M0/M3/M4
ARM Cortex A8
Atmel AVR
Atmel AVR32
Infineon C16x
Freescale Coldfire V1/V2/V3
National Semiconductors CR16C
Fujitsu F2MC-16LX,F2MC-16FX
Fujitsu FR30 / FR50 / FR70
Renesas H8 / H8S
Renesas M16C/R8C
Renesas M32C & M16C80
Texas Instruments MSP430 & MSP430x
NIOS 2
Microchip PIC18
Microchip PIC24F/PIC24H
Microchip dsPIC30F/dsPIC33F
Microchip PIC32
Renesas R32C
Renesas R32C
Renesas R8C
Renesas RL78
Renesas RX
Renesas SH2
Renesas SH2A
Freescale SO8
ST ST7
ST STM8
Toshiba TLCS900
Toshiba TMPZ84
NEC V25
NEC V850 / V850E / V850ES
AMD X86
Zilog Z180
Hitachi 64180
NEC 78K0/K0S/K0R
NEC 78K4
8051

Strumenti di Debug

Il kernel di embOS supporta un meccanismo di trace che consente di catturare informazioni dettagliate sullo stato di kernel e task con precise misure temporali relative a tutti gli eventi interni al kernel . La cattura del trace viene effettuata nella maggior parte dei casi in automatico utilizzando il J-Link della Segger.
Esistono vari tool per visualizzare le informazioni catturate da embOS:

Stack TCP/IP

embOS/IP è lo stack TCP/IP di Segger ottimizzato per il kernel embOS e con supporto per IPv4/IPv6. Il prodotto è disponibile in versione Base oppure PRO e sono anche disponibili numerosi moduli aggiuntivi abbinabili a tali prodotti.  Approfondisci

Stack USB Host

Caratteristiche

Stack USB Host di Segger conforme alle specifiche USB v.1.1 e USB v2.0. Supporta tutti i tipi di trasferimento (control, bulk, interrupt, isocrono) e tutte le velocità. Il design modulare di emUSB Host permette all’applicazione di utilizzare l’interfaccia di programmazione dello stack oppure di sfruttare direttamente le API dei driver delle classi. Lo stack può gestire più dispositivi device e più hub simultaneamente. L’interfaccia di programmazione supporta dinamicamente l’enumerazione e l’identificazione del dispositivo.

Classi supportate

 

ComponenteFunzionalità
USB protocol layer
CDCemUSB-Host Communication Device Class component
HIDemUSB-Host Human Interface Device Class component
MSDemUSB-Host Mass Storage Device Class component
PrinteremUSB-Host Printer component
FT232emUSB-Host FTDI UART component
Core layer
emUSB CoreThe emUSB-Host core is the intrinsic USB stack
Hardware layer
DriverUSB controller driver

Stack USB Device

Stack USB Device ottimizzato per il kernel real-time Segger embOS. Sotto sono riportate le classi device attualmente disponibili

Mass Storage Device

Applicazioni tipiche:

  • Digital camera
  • USB stick
  • MP3 player
  • DVD player

Non richiede l’installazione di driver sull’host

Communication Device Class. 

Il device viene visto dall’host come un canale seriale virtuale.

Applicazioni tipiche: 

  • Modem
  • Telephone system
  • Fax machine
  • Datalogger

Media Transfer Protocol

Applicazioni tipiche:

  • Digital camera
  • MP3 player
  • Smartphone

Vantaggi rispetto a MSD:

  • cavo scollegabile durante il trasferimento di dati, senza danni al file system.
  • Il file system può non essere FAT
  • I file possono essere virtuali
    • Host e device possono accedere al file system simultaneamente.

Grazie alla nuova tecnologia IP-over-USB con il webserver integrato, è possibile accedere al dispositivo da qualsiasi host (Windows, Linux, Mac) semplicemente digitando il nome del dispositivo nella barra degli indirizzi di un browser. Il nome del dispositivo per default è usb.local. Non è necessario installare nulla sull’host.

Questa classe riceve dati da un host e li gira a un parser. Questo modulo fornisce delle routine automatiche di gestione degli errori, per esempio nel caso in cui il dispositivo rimanga senza carta. Il protocollo USB è completamente nascosto allo sviluppatore che si può concentrare sullo sviluppo del parser.

Human Interface Device

Applicazioni tipiche:

  • tastiere
  • puntatori Mouse 
  • Joystick
  • Game pad
  • pannelli di controllo con bottoni

Componente Bulk per lo stack USB Device

Questa tecnologia può essere utilizzata in vari tipi di applicazioni senza dover installare alcun driver sull’host. SmartMSD analizza l’operazione effettuata dall’host e passa il comando allo strato applicativo del target, il quale intraprende le azioni opportune. Un semplice drag-and-drop è ciò che serve per inizializzare il processo.

WebSocket

embOS/IP Websocket protocol è un protocollo di trasporto basato su TCP/IP che semplifica la comunicazione attraverso i firewall. E’ semplice da utilizzare, leggero e aperto.
Le sue caratteristiche lo rendono ideale per l’uso in molte situazioni, per esempio in applicazioni M2M (Machine to Machine) oppure in contesti IoT (Internet of Things) Approfondisci

PTP (Precision Time Protocol)

Segger ha rilasciato il modulo PTP (Precise Time Protocol) come add-on allo stack TCP/IP embOS/IP.
Il modulo PRP implementa il protocollo “Precision Time Protocol” (PTP) secondo lo standard IEEE 1588v2 (anche noto come: IEEE 1588-2008) per sicronizzare un clock ordinario (un clock slave sultarget) con una sorgente di clock esterna attraverso una connessione ethernet.

Una sicronizzazione di questo tipo è richiesta in tutte quelle applicazioni in cui sorgenti di dati oppure sensori scambino dati sulla base del tempo. Esempi di applicazioni di questo genere si incontrano nell’ambito dell’elaborazione  oppure del riconoscimento di immagini, in applicazioni audio, in applicazioni multimediali oppure nell’automazione industriale.

PTP può essere usato con oppure senza un supporto hardware dedicato. Il protocollo stesso è in grado di gestire una sincronizzazione precisa al di sotto di un millisecondo usando timer software.
La presenza di un supporto hardware per PTP a livello di interfaccia ethernet può tuttavia consentire di migliorare l’accuratezza con precisione intorno a 100ns tra il target (clock ordinario) e il clock di riferimento (grandmaster clock).

L’implementazione di Segger di PTP è stata pensata per sistemi embedded con risorse hardware limitate. E’ ottimizzato per misure deterministiche del tempo (senza problemi di latenza) e ha un ridotto footprint in memoria. Il supporto hardware per PTP non è richiesto, ma può essere utilizzato se presente per garantire la massima precisione di misura. Driver per specifici hardware sono disponibili.