STD-MIL-1553
15 Oct

STD-MIL-1553 #2


In questo articolo vediamo come implementare i test funzionali 1553 con la UUT che si comporta da Remote Terminal.
Implementeremo quattro casi di test funzionali, supponendo che la nostra unità sotto test si comporti da Remote Terminal e risponda all’indirizzo 5 e subaddress 10 e 11 rispettivamente per ricevere e trasmettere. I casi che tratteremo sono:

  • Verifica che la UUT sia in grado di inviare una o più word
  • Verifica che la UUT sia in grado di ricevere una o più word
  • Verifica che la UUT sia in grado di rispondere ai “modecode”
  • Verifica che la UUT sia in grado di intercettare errori di trasmissione

Indipendentemente dal caso trattato, utilizzeremo la funzione “1553_BC” della mia libreria “1553 channel”.

 

PRIMO CASO: richiedere alla UUT di inviarci una o più word e valutare la sua Status Word.

Supponiamo che le word da ricevere siano 3. Valorizziamo i parametri di ingresso della funzione 1553_BC come segue:

  • RT address: address pari a 5 e subaddress pari a 11
  • Resource: CH1 e Primary Bus (per trasmettere dal relativo BUS)
  • Count: il numero delle word che vogliamo ricevere, in questo caso 3
  • Tutti gli altri parametri impostati con i valori di default

Mandiamo in esecuzione la funzione ed al completamento otteniamo i seguenti valori:

  • RXdata: le word richieste così come sono state ricevute (nell’esempio: A, B e C in esadecimale)
  • StatusWord: la status word inviataci dal Remote Terminal interrogato, decodificata campo per campo. La stessa viene riproposta anche nella formattazione numerica, stringa e booleana.
  • Counters: se va tutto bene riporta nel campo msg il valore 1 e nel campo err il valore 0.

 

Illustrazione 1

 

SECONDO CASO: trasmettere alla UUT una o più word e valutare la sua Status Word.

Supponiamo di voler inviare quattro word (1, 2, 3 e 4). Valorizziamo come segue:

  • RT address e resource: come il caso precedente
  • Count: zero; questa volta non chiediamo dati al RT
  • TXData: riempita a piacere con le word che vogliamo trasmettere, in questo caso le quattro word dal valore 1, 2, 3 e 4
  • Tutti gli altri parametri rimangono con i loro valori di default

Mandiamo in esecuzione la funzione ed al completamento otteniamo i seguenti valori:

  • RXdata: vuoto; RT non trasmette nulla
  • StatusWord e counters: come il caso precedente

 

Illustrazione 2

 

TERZO CASO: trasmettere alla UUT un “modecode”.

I modecode sono particolari messaggi (command word) che il Bus Controller può inviare per invocare i comandi definiti dallo stesso standart 1553. Per esempio, uno di questi è “repeat last command” tramite il quale chiediamo al Remote Terminal di inviarci l’ultimo comando ricevuto. Usiamo sempre 1553_BC e valorizziamo i parametri così:

  • RT address: il sottocampo address riporta l’indirizzo del Remote Terminal mentre subaddress deve valere zero (ricordate dal primo articolo che il subaddress è riservato? Lo è per questa ragione)
  • Count: con subaddress zero, non indica più il numero delle word che vogliamo ricevere; riporta la codifica del modecode da inviare (in questo caso, 18 per il comando repeat last command)
  • Tutti gli altri parametri rimangono con i loro valori di default

Mandiamo in esecuzione la funzione ed al completamento otteniamo i seguenti valori:

  • RXdata: riporta l’ultima command word ricevuta dal Remote Terminal
  • StatusWord e counters: come il caso precedente

 

Illustrazione 3

QUARTO CASO: trasmettere alla UUT un messaggio errato.

Spesso è richiesta la verifica del comportamento a seguito di un messaggio mal formattato, per esempio con un errore sul bit di parità. Anche questo caso può esser gestito dalla funzione 1553_BC al seguente modo:

  • RT address: 5 per address, 10 per subaddress (è il BC a trasmettere word)
  • Count: zero: non chiediamo word al Remote Terminal
  • Err type e spec: rispettivamente 3, per selezionare l’errore di parità e 1 per inserire l’errore nella prima word
  • Tutti gli altri parametri rimangono con i loro valori di default

Mandiamo in esecuzione la funzione ed al completamento otteniamo i seguenti valori:

  • StatusWord: come nei casi precedenti ma con la segnalazione di message error

 

Illustrazione 4

Riepilogando, occorre una sola funzione per implementare i quattro casi d’uso. 1553_BC può esser utilizzata in sequenza automatica (per esempio tramite Test Stand di National Instruments), come funzione nelle vostre applicazioni e singolarmente. I precedenti casi possono esser verificati anche manualmente tramite pannello interattivo messo a disposizione del modulo “1553 channel”.

Illustrazione 5

Nel prossimo articolo illustrerò cosa abbiamo fatto nei “piani bassi” del driver scheda 1553 installata sul PC del banco di test (parleremo di minor e major frame…).
Grazie per la vostra lettura. Ogni vostro intervento è sempre gradito, risponderò a tutti.

Antonio Costantino