Progetti di riferimento dischi encoder

Layout del codice pseudocasuale su disco: larghezza elemento, finestra, abbinamento

Layout del codice pseudocasuale su disco: larghezza elemento, finestra, abbinamento

La larghezza dell’elemento di un codice pseudocasuale a traccia singola è w = 2πr/M. L’articolo tratta solo il layout: chiusura di M con il numero di linee incrementali N = k·M, verifica ciclica sull’intero giro per sequenze troncate, finestra di lettura (n + c + 1)·w e freccia di una schiera di rivelatori rettilinea, allineamento degli elementi di codice con i periodi incrementali, costo della codifica Manchester ed esempio numerico per r = 15 mm.

Un codice pseudocasuale a traccia singola sostituisce n tracce di codice Gray con una sola traccia: la testina di lettura legge n elementi di codice consecutivi in direzione tangenziale e ne ricava su quale elemento si trova. Come la sequenza venga generata, decodificata e corretta, così come la pianificazione della lunghezza delle righe codificate lineari, è trattato in articoli dedicati di questa raccolta. Qui ci occupiamo solo dei numeri da fissare quando il codice viene disegnato su un disco: come il numero di elementi di codice e il numero di linee incrementali chiudono il giro, quanto è lunga la finestra di lettura, come si allineano elementi di codice e periodi incrementali, quanto costa la codifica Manchester e, infine, un set di parametri per un raggio di lettura r = 15 mm.

Codice pseudocasuale a traccia singola presso la traccia incrementale (schema: n = 6, 64 elementi, passo incr. = larghezza elemento): finestra larga n + 1 elementi, la fase incrementale centra i campioni sugli elementi, una tabella dà il primo elemento, più la fase incrementale la posizione fine
Figura 1 – Codice pseudocasuale a traccia singola presso la traccia incrementale (schema: n = 6, 64 elementi, passo incr. = larghezza elemento): finestra larga n + 1 elementi, la fase incrementale centra i campioni sugli elementi, una tabella dà il primo elemento, più la fase incrementale la posizione fine

Chiudere il giro: numero di elementi di codice e numero di linee incrementali

M elementi di codice riempiono esattamente un giro del disco, l’angolo dell’elemento è 360°/M e la larghezza dell’elemento al raggio di lettura è

w = 2πr / M

Perché la traccia incrementale possa mettere in fase gli elementi di codice, la larghezza dell’elemento è di solito un multiplo intero k del passo incrementale, da cui il numero di linee incrementali

N = k·M

Per scegliere M ci sono tre strade:

SequenzaMNumero di linee con k = 1Caratteristiche
Sequenza M2ⁿ − 1, ad es. 10231023Numero di linee dispari, scomodo per l’uscita binaria e per la divisione per il numero di coppie polari
Estensione de Bruijn2ⁿ, ad es. 10241024Si aggiunge uno 0 alla sequenza di n − 1 0 consecutivi; adatta al binario
Sequenza troncataQualsiasi, ad es. 10001000Risoluzione decimale, ma occorre cercare tra tutti i punti di partenza

Su una riga codificata lineare una sequenza troncata non dà problemi, ma su un disco c’è una condizione in più: la sequenza si chiude dalla fine all’inizio, il che crea n − 1 nuove finestre a cavallo della giunzione, e queste non devono ripetere nessuna finestra già presente nel tratto. Abbiamo verificato tutti i punti di partenza di una sequenza di ordine 10 (ricorrenza a[k] = a[k−3] ⊕ a[k−10], cioè x¹⁰ + x⁷ + 1): solo 19 dei 1023 punti di partenza danno ancora finestre cicliche tutte distinte dopo il troncamento a 1000 elementi. Un progetto troncato va quindi verificato sull’intero giro con un programma; non si può tagliare un tratto qualsiasi.

Finestra di lettura: n elementi più margine

La fase relativa tra testina di lettura ed elementi di codice è arbitraria; per garantire che la finestra contenga sempre n elementi completi, la sua lunghezza deve essere almeno (n + 1)·w; se si leggono c bit aggiuntivi per rilevare o correggere errori, la lunghezza della finestra è (n + c + 1)·w. Secondo il limite di Hamming, correggere 1 bit richiede almeno c = 4 per n = 9–11 e almeno c = 5 per n ≥ 12; se ciò sia realmente ottenibile dipende dalla scelta del polinomio (si veda l’articolo sulla correzione degli errori di questa raccolta).

La differenza tra disco e riga codificata lineare è che la traccia è un arco di cerchio, mentre la schiera di rivelatori è di solito rettilinea. Con la schiera tangente alla traccia al centro della finestra si hanno due deviazioni geometriche:

  • Freccia: le estremità della schiera si scostano dalla linea mediana della traccia di s = L²/(8r), dove L è la lunghezza della finestra;
  • Errore di proiezione tangenziale: lo scostamento di posizione degli elementi estremi sulla schiera è circa L³/(48r²).

Per n = 10, c = 4, r = 15 mm, L ≈ 1,38 mm, la freccia è circa 16 μm e l’errore tangenziale circa 0,24 μm, trascurabile rispetto alla larghezza dell’elemento di 92 μm. La freccia va solo inclusa nella larghezza radiale della traccia; una schiera curva serve solo con n piccolo e finestra lunga.

Uno scostamento del raggio di lettura modifica il passo degli elementi sulla schiera di Δr/r. Prendendo il centro della finestra come riferimento di fase e imponendo che il disallineamento accumulato alle estremità della finestra resti entro w/4, si ottiene Δr ≤ r/(2(n + c)), circa 0,5 mm per n = 11, c = 4 — molto più largo del requisito sulla larghezza della traccia.

Allineare elementi di codice e periodi incrementali

Con k = 1 la larghezza dell’elemento è uguale al passo incrementale e i bordi degli elementi sono allineati ai fronti delle linee incrementali sulla stessa fotomaschera; la testina di lettura usa la fase incrementale per portare il punto di campionamento al centro dell’elemento, si veda la Figura 1. Il punto di campionamento ha un margine di w/4 rispetto al bordo dell’elemento, consumato da: offset tangenziale tra il rivelatore della traccia di codice e quello incrementale all’interno della testina, differenziale di eccentricità dovuto alla differenza di raggio tra traccia di codice e traccia incrementale, errore di larghezza di linea dei bordi degli elementi. Con la traccia di codice a 15,0 mm, la traccia incrementale a 15,6 mm e 20 μm di eccentricità, il differenziale di eccentricità sulla traccia di codice è solo circa 0,77 μm, quindi la maggior parte del margine resta per il montaggio della testina.

Con k > 1 il codice assoluto fornisce solo il numero dell’elemento; occorre anche stabilire in quale periodo incrementale all’interno dell’elemento si trova la testina, e l’errore di posizione dei bordi degli elementi deve essere inferiore a w/(2k). Più k è grande, più diventa difficile; nei layout si usa in genere k = 1 o 2.

Il costo di layout della codifica Manchester

Con la codifica ordinaria la proporzione di 1 in una finestra di n bit può andare da 0 a tutti i bit, quindi la trasmittanza media nella finestra oscilla molto con la posizione; ogni bit si può confrontare solo con una soglia assoluta, e illuminazione non uniforme e offset in continua si traducono direttamente in errori di lettura. La codifica Manchester divide ogni bit in due mezzi elementi, «chiaro–scuro» per 1 e «scuro–chiaro» per 0:

  • La trasmittanza media di ogni bit è sempre del 50%; la lettura confronta solo la differenza tra le due metà ed è indipendente da gradiente di illuminazione e offset;
  • Ogni bit ha una transizione al centro, quindi la traccia porta con sé il proprio clock di bit;
  • Se la differenza tra le due metà è troppo piccola, il bit può essere marcato come «cancellazione», migliorando la capacità di correzione.

Il prezzo è che il dettaglio più fine scende da w a w/2 e il numero di rivelatori raddoppia. Se si vuole mantenere invariato il dettaglio più fine, la larghezza del bit deve raddoppiare e, a parità di raggio, si perde un bit (M si dimezza). Un’altra soluzione aggiunge in direzione radiale una traccia di codice complementare per la lettura differenziale: la larghezza dell’elemento resta la stessa, ma si occupa lo spazio radiale di una traccia in più.

Esempio numerico per r = 15 mm

OpzioneMAngolo elementoLarghezza elemento wLinee incrementali (k = 1)Gap max. traccia incrementale a immagine(n + 1)·w(n + c + 1)·wDettaglio più fine Manchester
n = 10102421,1′92,0 μm1024circa 2,0 mm1,01 mm1,38 mm46,0 μm
Troncata 1000100021,6′94,2 μm1000circa 2,1 mm1,04 mm1,41 mm47,1 μm
n = 11204810,5′46,0 μm2048circa 0,49 mm0,55 mm0,74 mm23,0 μm
n = 1240965,3′23,0 μm4096circa 0,12 mm0,30 mm0,41 mm11,5 μm

Il gap massimo della traccia incrementale è stimato come 0,205·p²/λ (λ = 0,88 μm). Prendendo come esempio n = 11: 2048 elementi di codice, larghezza dell’elemento 46,0 μm, abbinati a una traccia incrementale da 2048 linee, finestra di lettura 0,55–0,74 mm; con la codifica Manchester il dettaglio più fine scende a 23,0 μm, oppure si passa a n = 10 con una larghezza di bit di 92 μm. La Figura 2 mostra come larghezza dell’elemento e lunghezza della finestra variano con n.

Larghezza dell’elemento e dettaglio più fine Manchester (a sinistra) e lunghezza d’arco della finestra di lettura (a destra) in funzione dell’ordine della sequenza n per r = 15 mm; il grafico di destra indica la freccia di una schiera rettilinea
Figura 2 – Larghezza dell’elemento e dettaglio più fine Manchester (a sinistra) e lunghezza d’arco della finestra di lettura (a destra) in funzione dell’ordine della sequenza n per r = 15 mm; il grafico di destra indica la freccia di una schiera rettilinea

Checklist di progetto

  • Fissare prima M, poi il numero di linee: N = k·M; usare de Bruijn 2ⁿ quando serve una risoluzione binaria e una sequenza troncata quando serve una risoluzione decimale.
  • Le sequenze troncate vanno verificate ciclicamente sull’intero giro: nell’esempio solo 19 dei 1023 punti di partenza danno ancora finestre non ripetute dopo il troncamento a 1000.
  • Progettare la finestra di lettura come (n + c + 1)·w — circa 0,74 mm per r = 15 mm, n = 11, c = 4; includere la freccia L²/(8r) di una schiera rettilinea nella larghezza radiale della traccia.
  • Preferire k = 1: bordi degli elementi allineati alle linee incrementali sulla stessa maschera, margine del punto di campionamento w/4, circa 11,5 μm per n = 11.
  • Con illuminazione non uniforme o offset elevato, usare la codifica Manchester o una traccia complementare; la prima dimezza il dettaglio più fine, la seconda occupa una traccia in più.
  • La larghezza dell’elemento è anche il passo incrementale (k = 1), quindi va verificata rispetto alla finestra di gap della traccia incrementale: per n = 12 il gap massimo è solo circa 0,12 mm.

Sintesi

Il layout di un codice pseudocasuale a traccia singola è legato da due relazioni, w = 2πr/M e N = k·M: M determina larghezza dell’elemento e numero di linee, k determina la difficoltà della combinazione grossolana–fine, e n più i bit ridondanti determinano la finestra di lettura. Rispetto a una riga codificata lineare, il disco aggiunge i requisiti di chiusura sull’intero giro e di finestre non ripetute a cavallo della giunzione; la codifica Manchester scambia metà del dettaglio più fine con l’immunità a illuminazione e offset. Per r = 15 mm, n = 11 con k = 1 è una scelta che bilancia passo e lunghezza della finestra.


Traduzione dell’articolo originale cinese (0304). ENC7 – produttore di dischi encoder (richiesta) · Articoli tecnici · https://enc7.com

© Langfang Jingzheng Optoelectronic Technology Co., Ltd. Tutti i diritti riservati. Articolo realizzato con l’assistenza dell’IA.

Have a drawing? Get an engineer's review.

Send your outer diameter, bore, line count or bit count, substrate and readhead wavelength. Our engineers check manufacturability and reply with a quotation and sample lead time.

WhatsApp