Un'architettura LabVIEW per costruire sistemi DLTS con lo MFIA

September 23, 2021 by Roberto Foddis

Questo blog post descrive un codice basato su LabVIEW™ per utilizzare l'analizzatore di impedenza MFIA per effetturare misure di spettroscopia transitoria di livello profondo (DLTS), compreso un template per aggiungere il controllo di un termoregolatore di terze parti.

La DLTS è una tecnica potente e comunemente usata per studiare la concentrazione e l’energia di legame dei difetti nei semiconduttori. La tecnica prevede la misurazione di transitori di capacità a diverse temperature. La giunzione a semiconduttore è inizialmente polarizzata inversamente per esaurire la maggior parte dei portatori di carica mobili; successivamente, poiché la tensione di polarizzazione inversa viene brevemente azzerata da un impulso di tensione positiva, le trappole vuote vengono riempite. In seguito all’impulso di tensione positivo, la giunzione viene nuovamente polarizzata inversamente: le cariche vengono emesse gradualmente e provocano una variazione di capacità.

Sul mercato è possibile trovare diverse soluzioni "chiavi in ​​mano" per la DLTS, in genere su misura per ricette di test specifiche, e dispositivi di misurazione autonomi come il Boonton 7200 che tuttavia non è più supportato. Le soluzioni DLTS sono molto richieste, grazie alla richiesta di materiali semiconduttori nuovi ed emergenti da testare. Un sistema DLTS personalizzato può fornire flessibilità ed abilitare nuove specifiche modalità di test. Lo MFIA può costituire il cuore di un tale sistema.

I tre elementi costitutivi di base di un sistema DLTS personalizzato sono:

  1. Un generatore di funzioni per applicare il treno di impulsi a tensione di polarizzazione al materiale da testare.
  2. Un analizzatore di impedenza per registrare il transitorio del segnale di capacità.
  3. Un criostato e un termoregolatore programmabile per impostare le giuste condizioni termiche.

Con lo MFIA è possibile risolvere il punto 2 così come il punto 1, utilizzando la Threshold Unit del software LabOne® per generare l’onda quadra con offset e frequenza specifici e indirizzando questa forma d’onda analogica all’ingresso Aux (vedi Figura 1). Questo segnale viene poi aggiunto al segnale di prova AC per misurare la risultante forma d’onda transitoria di Capacità. Questo blog post vi aiuterà a coprire il punto 3 aggiungendo i prodotti di terze parti necessari al sistema generale.

l’Impedance Analyzer MFIA

Figura 1: Lo MFIA con la fixture MFITF. Un cavo BNC corto connette l’Aux Output 1 al Aux Input 1.

Un template in LabVIEW

Questo template LabVIEW vi fornirà un punto iniziale, poiché la maggior parte del codice è sviluppato e c’è solo la necessità di sviluppare il programma Temperature Controller con il protocollo di terze parti ed un eventuale analisi dei segnali acquisiti.

Prerequisiti

  • Una licenza LabVIEW Full or Professional License v. 2009 o superiore
  • L’ultima versione delle Zurich Instruments LabOne LabVIEW APIs
  • L'analizzatore di impedenza MFIA con un cavo BNC
  • La fixture necessaria per collegare il DUT al MFIA
  • Un controllore di Temperature terze-parti collegato al PC

L’analizzatore di impedenza MFIA è in grado, ad una temperatura specifica, di generare il segnale di eccitazione e quindi di acquisire il transitorio di capacità, e questo processo si ripeterà più volte al variare di alcuni parametri. Quindi possiamo separare il "codice di misura" dal "codice di temperatura". Questi due VI LabVIEW funzioneranno in parallelo scambiandosi dati attraverso un insieme di Global Variables (vedi Figura 2).

Figura 2: Alcune Global Variables vengono usate per condividere dati fra i due VIs. (Cliccare per ingrandire)

Il progetto LabVIEW (vedi Figura 3) contiene i seguenti programmi:

  • DLTS Acquisition (Main).vi
  • DLTS Temperature Controller.vi
  • DLTS Global.vi
  • 6 subVIs
tutti i componenti necessari

Figura 3: Il progetto LaVIEW include tutti i componenti necessari.

Diamo un’occhiata a questi componenti in dettaglio. DLTS Acquisition (Main).vi (vedi Figura 4) è il cuore del progetto ed è costituito da una sequenza di azioni di seguito riportate:

  1. Inserimento dei parametri del sistema DLTS (incluso il Numero Seriale dello MFIA).
  2. Il codice DLTS Temperature Controller.vi applica il valore di partenza della temperatura.
  3. Una volta che la temperatura è stabile, il Main.vi acquisisce un transitorio di capacità di una dimensione prefissata e lo salva su disco.
  4. Il codice DLTS Temperature Controller.vi incrementa il valore di temperatura del valore prefissato e si torna al Punto 3.
  5. Una volta superato il valore di temperatura finale il VI viene fermato.

Figura 4: Il Front Panel del programma DLTS Acquisition (Main).vi che contiene tutti i parametri del sistema configurabili a piacere. Esso mostra anche il grafico della Capacità acquisita ed una tabella con i dati relativi ad ogni valore di temperatura. (Cliccare per ingrandire)

Con l’interruttore "Internal Generator" è possibile decidere se utilizzare lo MFIA per generare il treno di impulsi di polarizzazione (come suggerito in questo Blog) od utilizzare un Function Generator di terze parti (ottenendo un tempo di salita/discesa degli impulsi più basso).

Quando l’interruttore "Automatic DAQ" è su ON, le misurazioni di capacità verranno eseguite automaticamente dopo il raggiungimento del nuovo valore di temperatura; quando è OFF sarà invece necessario premere un pulsante nel pannello frontale per avviare una nuova misurazione della capacità.

DLTS Temperature Controller.vi (Fig. 5) contiene un codice simulato e deve essere sostituito con il software reale che gestisce un Termoregolatore terze parti tramite porte di comunicazioni o un driver specifico.

codice simulato di esempio

Figura 5: Questo VI contiene un codice simulato di esempio, e deve essere sostituito da un VI che gestisce il controllore di temperatura.

Tutti gli altri subVIs contengono codici specifici per semplificare il Block Diagram del Main VI.

Ad esempio, DLTS Acquisition Parameters.vi (vedi Figura 6) include tutti i parametri LabOne che configurano il processo di acquisizione (trigger, modalità di griglia, numero di punti, numero delle medie) e che possono essere modificati in base allo specifico sistema DLTS.

comandi che vengono inviati a LabOne Data Server

Figura 6: Questo Block Diagram mostra l’array dei comandi che vengono inviati al LabOne Data Server per configurare il processo di acquisizione dati.

DLTS Global.vi è una Global Variable di LabVIEW (può essere condivisa da più VI in parallelo) che raccoglie i parametri numerici e booleani indicati in Figura 2. Permette al Main.vi di comunicare (in & out) con il Termoregolatore.vi, separando il codice che controlla MFIA dal codice relativo a uno strumento di terzi.

Limitazioni attuali del progetto

  • Il codice sviluppato non è ancora stato sperimentato su un sistema DLTS reale.
  • Il codice può gestire solo lo MFIA, non altri strumenti di Zurich Instruments come l'amplificatore lock-in HF2LI.
  • Il progetto non include alcun algoritmo di post-analisi sulle misure, in quanto ogni sistema DLTS ha le sue specificità. È comunque possibile aggiungere al codice LabVIEW qualunque algoritmo di analisi, anche sfruttando l’integrazione con Python o MATLAB.
  • Si deve considerare questo progetto come un template e non come una soluzione "chiavi in mano".
  • Il codice è aperto e può essere modificato a piacere a ogni livello: vi invitiamo ad adattarlo alle vostre esigenze.