- Elettronica Open Source - https://it.emcelettronica.com -

Librerie per la gestione del bus VME

Le librerie VME Universe II della Tundra sono un insieme di operazioni standard che permettono la gestione di moduli VME. Analizzeremo le librerie dello standard IEEE-1014-1987 che permettono la comunicazione e la gestione di moduli elettronici standard 6U/3U su bus VME.

Introduzione

I moduli VME (6U, 3U) risiedono in un crate di 21 slot; al primo slot c’è un modulo dotato di CPU per la gestione del bus (system controller o crate manager). Ciascun utente opererà, via software, su tutti i moduli del crate attraverso il system controller. Il system controller [1]è un semplice computer con caratteristiche opportune da poter gestire le funzionalità che si richiedono al sistema (figura 1).

Figura 1. System controllerFigura 1. System controller [2]

Figura 1: System controller

Un esempio di system controller è il VMIVME-7805 con le seguenti caratteristiche:

Attraverso il bus VME, descritto opportunamente via software per mezzo delle librerie standard (Universe Library), l’utente comunicherà con i moduli connessi nel crate; ovvero potrà leggere e/o scrivere da/su un qualunque registro o area di memoria e gestirli in una fase di acquisizione dati.

Le principali caratteristiche del Universe II sono:

CARATTERISTICHE PRINCIPALI

Elenchiamo le principali librerie VME universe che servono per la lettura e/o scrittura di/su registro o area di memoria. Ci sono anche librerie per la gestione dell’interrupt.

Ogni operazione, per esempio la lettura di un registro, necessita di questi comandi posti in un codice di programmazione. Le librerie VME universe necessitano di librerie standard C [4]e sono compatibili  con Linux Kernel 2.6.x. Concentriamoci sulla lettura di un registro di un modulo VME utilizzando queste librerie. Le operazioni bse modo:

Figura 3. Significato della “finestra” [5]

Figura 2: significato della “finestra”

SOFTWARE PER  LA  GESTIONE DEL  BUS VME

Il software necessita di librerie standard del VME e di librerie standard del C (vedi figura 3 ); tutte queste librerie sono incluse all’interno del software stesso.

Figura 4. Obiettivo del Software [6]

Figura 3. Obiettivo del Software

Lo scopo principale è stato quello di creare delle funzioni e strutture, di facile gestione per l’utente, partendo da queste librerie. Le funzioni e le strutture sono alla base della programmazione. Vediamo alcune proprietà di esse:

L’obiettivo è quello di poter comunicare con questi moduli leggendo e/o scrivendo da/su un qualunque loro registro e gestirli opportunamente in una fase di acquisizione dati. Disponiamo di librerie proprie del VME che permettono di eseguire queste operazioni. Il nostro compito principale  è  creare,  partendo  da  queste  librerie, delle strutture e funzioni di livello superiore facilmente gestibili anche da un utente non esperto (vedi figura 4).

Figura 5. Struttura del Software [7]

Figura 4. Struttura del Software

Il software realizzato permette la comunicazione e la gestione di qualsiasi modulo che opera su bus VME caratterizzato da una informazione (parola digitale o dato) di uscita di 8,16,32 e 64 bit. La flessibilità del software permette di renderlo adatto per qualsiasi tipo di accesso al bus VME. Esempi di funzioni che sono state create sono: read vme(...) e write vme(...). La prima legge il contenuto di un registro la seconda scrive una parola su un registro.

Struttura dati

La struttura dati è stata organizzata nel seguente modo:

Ad ogni livello è stata definita una struttura dati. La struttura dati deve contenere le seguenti informazioni per il bus VME:

Struttura delle funzioni

Per mezzo delle strutture dati sono state create funzioni opportune e di facile gestione che eseguissero determinati operazioni, per esempio la lettura di un registro. Esempi di funzioni sono:

Conclusioni

L’utilizzo  di  queste  funzioni rende più semplice il lavoro dell’utente senza conoscere dietro le librerie VME universe. Un ulteriore sviluppo di questo software è quello di renderlo disponibile attraverso un’interfaccia Web per  la gestione  di  bus  VME. In  questo  modo l’utente può gestire i moduli VME attraverso una semplice pagina Web.