Tecnologix

IXXAT Protocollo CANopen

IXXAT Protocollo CANopen
Stack di protocollo per slave o semplici master CANopen
Descrizione

In evidenza

  • Range di funzioni completo basato sulla specifica CiA 301 del CANopen
  • Supporto alla visualizzazione dello stato come da specifica CiA 303-3
  • Supporto ai Layer Setting Services come da specifica CiA 305
  • Permette lo sviluppo veloce e semplice di dispositivi CANopen (slave o master)
  • Struttura del software modulare con una completa configurazione e possibilità di scaling
  • Alta efficienza con minima richiesta di risorse
  • Struttura chiara ed interfaccia di programmazione semplice per l'integrazione con il programma applicativo
  • Facile portabilità su microcontrollori alternativi
  • Supporto multicanale

Panoramica delle funzioni

Il software di protocollo CANopen contiene tutte le funzioni necessarie all'implementazione di un semplice master CANopen o di dispositivi slave CANopen in accordo alla specifica CiA 301.

  • Scalabilità e addattamento all'hardware: per raggiungere un alto grado di scalabilità e adattabilità, il software viene configurato attraverso dei file centralizzati. Un file di configurazione permette di adattare in modo ottimale le funzionalità CANopen fornite dallo stack di protocollo all'applicazione, utilizzando così le risorse in modo più efficiente. Ciò permette implementazioni che risparmiano risorse. La funzionalità centrale del software CANopen è implementata indipendentemente dall'architettura del singolo CAN controller. Il driver CAN è completamente incapsulato in un modulo software separato. L'adattamento al tipo di microcontrollore utilizzato (es. interrupt, timer) è fatto in modo centralizzato in un file header separato.
  • Supporto multicanale: su richiesta, lo stack di protocollo CANopen è disponibile in versione multicanale.
    Questa versione permette all'utente di implementare dispositivi CANopen multipli ed indipendenti in un singolo device. La funzionalità di NMT master o slave può essere configurata indipendentemente per ognuno dei canali con dizionari degli oggetti completamente indipendenti. Esso supporta anche l'operatività parallela dei singoli CAN controller su ciascuno dei canali.
  • Dizionario degli oggetti e interfaccia di programmazione: il dizionario degli oggetti rappresenta l'interfaccia tra l'applicazione e interfaccia di comunicazione. Ad ogni entry del dizionario degli oggetti può essere associato un riferimento ad una variabile con dati dell'applicazione. I PDO e gli SDO accedono direttamente a queste variabili dell'applicazione. In questo modo non sono necessarie modifiche all'applicazione esistente per integrare lo stack di protocollo CANopen. Funzioni di callback definite dall'utente possono essere associate ad ogni oggetto dell'applicazione in modo da permettere una segnalazione all'applicazione controllata dagli eventi quando vengono fatti accessi a questi oggetti. Questo meccanismo permette una diretta reazione specifica dell'applicazione ai cambiamenti dei dati di applicazione da parte del bus. Inoltre, è supportata la possibilità di salvare e ripristinare i dati configurati.
  • Process- (PDO) e service-data-object (SDO): Il protocollo software CANopen supporta i tipi di trasferimento PDO asincrono (con o senza event timer), sincrono (ciclico o aciclico) e su richiesta (RTR). Il mapping dei PDO può essere implementato staticamente o dinamicamente, dipendentemente dalle risorse disponibili e dai tempi di risposta richiesti. Inoltre il software di protocollo supporta i multiplex PDO comprendendo scanner e dispatcher list. Il dummy mapping e gli inhibit time variabili sono possibili. Gli oggetti possono essere mappati in differenti PDO simultaneamente. Per quanto riguarda gli SDO sono supportati i trasferimenti expedited, non-expedited (segmented) e a blocchi. La risposta SDO può essere ritardata a livello applicativo sia in lettura che in scrittura. L'applicazione può controllare i dati scritti via SDO per consistenza prima che la variabili del target siano sovrascritte. Il trasferimento SDO può essere annullato se necessario.
  • Network management: il software CANopen supporta il boot-up definito nella specifica CiA 301 con tutti i servizi di rete compresi il node guarding con o senza life guarding (master monitoring) e il meccanismo di heartbeat con il producer monitoring.
  • Allocazione degli identificatori: di default, gli identificatori sono allocati in accordo con il set di connessione I/O predefinito, ma essi possono essere impostati modificando le entry corrispondenti nel dizionario degli oggetti.
  • Funzionalità master: sistemi CANopen piccoli spesso necessitano solo di un semplice dispositivo master per inizializzare il sistema, invece di un manager CANopen completo. Per questo motivo questo software CANopen permette l'implementazione di questi semplici master CANopen con il proprio dizionario degli oggetti. Un dispositivo CANopen implementato in questo modo può operare in un sistema sia come slave che come master e può essere configurato attraverso il dizionario degli oggetti con l'aiuto di tool di configurazione.
    Questo software fornisce tutti i servizi necessari per permettere all'utente di implementare la funzionalità di network management ottimizzata.
    Questo pacchetto software è la giusta base per l'implementazione di dispositivi CANopen completi o più complessi e per lo sviluppo di dispositivi programmabili o di controllo (PLC).
  • Funzionalità opzionali: come supplemento al software CANopen standard, le seguenti funzioni opzionali sono disponibili su richiesta:
    • Flying master, dispositivo startup-capable o dispositivo NMT-master-capable in accordo con la specifica CiA 302
    • SDO manager (SDM), dispositivo che richiede SDO (SRD) in accordo con la specifica CiA 302
  • Lavoro di implementazione: il software di protocollo software è fornito come codice sorgente C indipendente dall'hardware ed è sempre testato con il più recente software per il conformance test CANopen del CiA.
    La documentazione e i programmi di esempio forniti con il software permettono un veloce inizio con il software CANopen. I file di progetto sono forniti con programmi di esempio che permettono la diretta integrazione negli ambienti di sviluppo dei fornitori di compilatori. Tutti i programmi di esempio possono essere fatti girare direttamente sulla piattaforma di riferimento (scheda di valutazione del fornitore della CPU o scheda di interfaccia IXXAT).
    L'adattamento all'hardware target può normalmente essere fatto in pochi giorni. I programmi di esempio facilitano l'implementazione dell'applicazione dell'utente.

Versioni disponibili del software CANopen

Lo stack di protocollo CANopen è disponibile in due differenti pacchetti e con differenti scopi: Slave e Master/Slave. Il pacchetto Master/Slave supporta tutte le funzionalità e può essere usato per lo sviluppo sia di dispositivi slave che di semplici dispositivi master.

Processori supportati e CAN controller

Lo stack di protocollo CANopen è indipendente dall'hardware e può essere utilizzato su un gran numero di microcontrollori e CAN controller. Per i processori dei seguenti fornitori, IXXAT fornisce implementazioni di riferimento che comprendono file di progetto per gli ambienti di sviluppo utilizzati che possono essere fatti girare sulle corrispondenti piattaforme di sviluppo:

  • Atmel
  • Freescale
  • Fujitsu
  • Infineon
  • Microchip
  • NXP
  • NEC
  • Renesas
  • STMicroelectronics
  • Texas Instruments
  • Architettura x86

L'adattamento del software CANopen a processori che non sono direttamente supportati può essere fatto in pochi giorni, ammesso che il driver CAN sia già disponibile in versione ANSI C.