Sommario:

Convertitori di codifica della linea seriale fai-da-te: 15 passaggi
Convertitori di codifica della linea seriale fai-da-te: 15 passaggi

Video: Convertitori di codifica della linea seriale fai-da-te: 15 passaggi

Video: Convertitori di codifica della linea seriale fai-da-te: 15 passaggi
Video: Interfacciare una seriale RS232 ad Arduino - #86 2024, Dicembre
Anonim
Convertitori di codifica della linea seriale fai-da-te
Convertitori di codifica della linea seriale fai-da-te

La comunicazione di dati seriali è diventata onnipresente in molte applicazioni industriali ed esistono diversi approcci per progettare qualsiasi interfaccia di comunicazione di dati seriali. È conveniente utilizzare uno dei protocolli standard, ad esempio UART, I2C o SPI. Inoltre, esistono diversi altri protocolli per applicazioni più dedicate come CAN, LIN, Mil-1553, Ethernet o MIPI. Un'altra opzione per gestire i dati seriali consiste nell'utilizzare protocolli personalizzati. Questi protocolli sono generalmente basati su codici di linea. I tipi più comuni di codifica di linea sono NRZ, codice Manchester, AMI ecc. [Decodifica del protocollo configurabile di segnali codificati Manchester e NRZ, Teledyne Lecroy Whitepape].

Esempi di protocolli seriali specializzati includono DALI per il controllo dell'illuminazione degli edifici e PSI5 che viene utilizzato per collegare i sensori ai controller nelle applicazioni automobilistiche. Entrambi questi esempi sono basati sulla codifica Manchester. Allo stesso modo, il protocollo SENT viene utilizzato per i collegamenti sensore-controllore automobilistico e il bus CAN comunemente utilizzato per consentire la comunicazione tra microcontrollori e altri dispositivi nelle applicazioni automobilistiche si basa sulla codifica NRZ. Inoltre, molti altri protocolli complessi e specializzati sono stati e sono in corso di progettazione utilizzando gli schemi Manchester e NRZ.

Ciascuno dei codici di linea ha i suoi meriti. Nel processo di trasmissione di un segnale binario lungo un cavo, ad esempio, possono verificarsi distorsioni che possono essere notevolmente mitigate utilizzando il codice AMI [Petrova, Pesha D. e Boyan D. Karapenev. "Sintesi e simulazione di convertitori di codice binario". Telecomunicazioni nei moderni servizi di trasmissione via satellite, via cavo e radiotelevisivo, 2003. TELSIKS 2003. 6a Conferenza internazionale su. vol. 2. IEEE, 2003]. Inoltre, la larghezza di banda di un segnale AMI è inferiore al formato RZ equivalente. Allo stesso modo, il codice di Manchester non presenta alcune delle carenze inerenti al codice NRZ. Ad esempio, l'uso del codice Manchester su una linea seriale rimuove i componenti DC, fornisce il ripristino del clock e fornisce un livello relativamente alto di immunità al rumore [Hd-6409 Renesas Datasheet].

Pertanto, l'utilità della conversione dei codici di linea standard è ovvia. In molte applicazioni in cui i codici di linea vengono utilizzati direttamente o indirettamente, è necessaria la conversione del codice binario.

In questo Instructable, presentiamo come realizzare più convertitori di codifica di linea utilizzando un CMIC Dialog SLG46537 a basso costo.

Di seguito abbiamo descritto i passaggi necessari per capire come è stato programmato il chip GreenPAK per creare i convertitori di codifica della linea seriale. Tuttavia, se desideri solo ottenere il risultato della programmazione, scarica il software GreenPAK per visualizzare il file di progettazione GreenPAK già completato. Collega il kit di sviluppo GreenPAK al tuo computer e premi il programma per creare l'IC personalizzato per i convertitori di codifica della linea seriale.

Passaggio 1: progetti di conversione

Disegni di conversione
Disegni di conversione
Disegni di conversione
Disegni di conversione
Disegni di conversione
Disegni di conversione
Disegni di conversione
Disegni di conversione

La progettazione dei seguenti convertitori di codice di linea è fornita in questo Instructable:

● Da NRZ(L) a RZ

La conversione da NRZ(L) a RZ è semplice e può essere ottenuta utilizzando una singola porta AND. La Figura 1 mostra il progetto per questa conversione.

● NRZ(L) a RB

Per la conversione di NRZ(L) in RB, dobbiamo raggiungere tre livelli logici (-1, 0, +1). A tale scopo, utilizziamo un 4066 (interruttore analogico quad-bilaterale) per fornire una commutazione bipolare da 5 V, 0 V e -5 V. La logica digitale viene utilizzata per controllare la commutazione dei tre livelli logici selezionando gli ingressi di abilitazione 4066 1E, 2E e 3E [Petrova, Pesha D. e Boyan D. Karapenev. "Sintesi e simulazione di convertitori di codice binario". Telecomunicazioni nel moderno servizio di trasmissione via satellite, via cavo e radiotelevisivo, 2003. TELSIKS 2003. 6a Conferenza internazionale su. vol. 2. IEEE, 2003].

Il controllo logico è implementato come segue:

Q1= Segnale & Clk

Q2= Clic'

Q3= Clac e segnale'

Lo schema generale di conversione è mostrato in Figura 2.

● NRZ(L) per AMI

La conversione da NRZ(L) a AMI utilizza anche l'IC 4066 poiché il codice AMI ha 3 livelli logici. Lo schema di controllo logico è riassunto nella Tabella 1 corrispondente allo schema di conversione complessivo mostrato nella Figura 3.

Lo schema logico può essere scritto nel modo seguente:

Q1 = (Segnale & Clk) & Q

Q2 = (Segnale e clic)'

Q3 = (Segnale & Clk) & Q'

Dove Q è l'output del D-Flip flop con la seguente relazione di transizione:

Qnext = Segnale & Qprev' + Signal' & Qprev

● da AMI a RZ

Per la conversione da AMI a RZ vengono utilizzati due diodi per dividere il segnale di ingresso in parti positive e negative. Un amplificatore operazionale invertente (o un circuito logico basato su transistor) può essere impiegato per invertire la parte negativa separata del segnale. Infine, questo segnale invertito viene passato a una porta OR insieme al segnale positivo per ottenere il segnale di uscita desiderato nel formato RZ come mostrato nella Figura 4.

● NRZ(L) a Manchester in fase divisa

La conversione da NRZ(L) a Manchester a fase divisa è semplice come mostrato nella Figura 5. Il segnale di ingresso insieme al segnale di clock viene passato a una porta NXOR per ottenere il segnale di uscita (secondo la convenzione di G. E. Thomas). Un gate XOR può essere utilizzato anche per ottenere il codice Manchester (secondo la convenzione IEEE 802.3) [https://en.wikipedia.org/wiki/Manchester_code].

● Codice contrassegno a fase divisa da Manchester a fase divisa

La conversione dal codice Manchester a fase divisa al codice Mark a fase divisa è mostrata nella Figura 6. L'ingresso e il segnale di clock vengono fatti passare attraverso una porta AND per eseguire il clock di un D-flip flop.

Il D-flip è governato dalla seguente equazione:

Qprossimo = Q'

Il segnale in uscita si ottiene come segue:

Output= Clk & Q + Clk' Q'

● Più conversioni del codice di linea

Utilizzando le conversioni di cui sopra si possono facilmente ottenere i disegni per più codici di linea. Ad esempio, la conversione da NRZ(L) a codice Manchester a fase divisa e la conversione da codice Manchester a fase divisa a codice Mark a fase divisa possono essere combinati per ottenere direttamente il codice NRZ(L) a codice Mark a fase divisa.

Passaggio 2: progetti GreenPAK

Gli schemi di conversione mostrati sopra possono essere facilmente implementati in GreenPAK™ designer insieme ad alcuni componenti esterni ausiliari. L'SLG46537 fornisce ampie risorse per eseguire i progetti indicati. I progetti di conversione GreenPAK vengono forniti nello stesso ordine di prima.

Passaggio 3: da NRZ(L) a RZ in GreenPAK

Da NRZ(L) a RZ in GreenPAK
Da NRZ(L) a RZ in GreenPAK

Il GreenPAK Design for NRZ(L) to RZ in Figure 7 è simile a quello mostrato nel passaggio 1, tranne per il fatto che è stato aggiunto un blocco DLY. Questo blocco è opzionale ma fornisce il de-glitch per gli errori di sincronizzazione tra il clock e i segnali di ingresso.

Passaggio 4: da NRZ(L) a RB in GreenPAK

Da NRZ(L) a RB in GreenPAK
Da NRZ(L) a RB in GreenPAK

Il progetto GreenPAK per NRZ(L) a RB è mostrato nella Figura 8. La figura mostra come collegare i componenti logici nel CMIC per ottenere il progetto previsto indicato nel passaggio 1.

Passaggio 5: da NRZ(L) a AMI in GreenPAK

NRZ(L) per AMI in GreenPAK
NRZ(L) per AMI in GreenPAK

La Figura 9 illustra come configurare GreenPAK CMIC per la conversione da NRZ(L) ad AMI. Questo schema insieme ai componenti esterni ausiliari forniti nel passaggio 1 può essere utilizzato per la conversione desiderata

Passaggio 6: da AMI a RZ in GreenPAK

Da AMI a RZ in GreenPAK
Da AMI a RZ in GreenPAK

Nella Figura 10 è mostrato il progetto GreenPAK per la conversione da AMI a RZ. Il GreenPAK CMIC configurato in questo modo insieme all'amplificatore operazionale e ai diodi può essere utilizzato per ottenere l'uscita richiesta.

Passaggio 7: NRZ(L) a Manchester a fase divisa in GreenPAK

NRZ(L) al Manchester in fase divisa in GreenPAK
NRZ(L) al Manchester in fase divisa in GreenPAK

Nella Figura 11 viene impiegata una porta NXOR nel progetto GreenPAK per ottenere la conversione da NRZ(L) a Manchester a fase divisa.

Passaggio 8: codice di marcatura da Manchester a fase divisa a fase divisa in GreenPAK

Codice contrassegno a fase divisa da Manchester a fase divisa in GreenPAK
Codice contrassegno a fase divisa da Manchester a fase divisa in GreenPAK

Nella Figura 12 viene fornito il progetto GreenPAK per il codice da Manchester a fase divisa a Mark a fase divisa. Il progetto per la conversione è completo e non è necessario alcun componente esterno per il processo di conversione. I blocchi DLY sono opzionali per rimuovere i glitch derivanti da errori di sincronizzazione tra i segnali di ingresso e di clock.

Passaggio 9: risultati sperimentali

Tutti i progetti presentati sono stati testati per la verifica. I risultati vengono forniti nello stesso ordine di prima.

Passaggio 10: da NRZ(L) a RZ

NRZ(L) a RZ
NRZ(L) a RZ

I risultati sperimentali per la conversione da NRZ(L) a RZ sono mostrati nella Figura 13. NRZ(L) è mostrato in giallo e RZ è mostrato in blu.

Passaggio 11: da NRZ (L) a RB

NRZ(L) a RB
NRZ(L) a RB

I risultati sperimentali per la conversione da NRZ(L) a RB sono riportati nella Figura 14. NRZ(L) è mostrato in rosso e RB è mostrato in blu.

Passaggio 12: da NRZ(L) ad AMI

NRZ(L) per AMI
NRZ(L) per AMI

La Figura 15 mostra i risultati sperimentali per la conversione da NRZ(L) a AMI. NRZ(L) è mostrato in rosso e AMI è mostrato in giallo.

Passaggio 13: da AMI a RZ

da AMI a RZ
da AMI a RZ

La Figura 16 mostra i risultati sperimentali per la conversione da AMI a RZ. L'AMI è diviso in parti positive e negative mostrate in giallo e blu. Il segnale RZ di uscita convertito è mostrato in rosso.

Fase 14: NRZ (L) a Manchester a fase divisa

NRZ(L) a Manchester in fase divisa
NRZ(L) a Manchester in fase divisa

La Figura 17 mostra i risultati sperimentali per la conversione da NRZ(L) a Manchester a fase divisa. Il segnale NRZ(L) è mostrato in giallo e il segnale Manchester a fase divisa in uscita convertito è mostrato in blu.

Passaggio 15: codice contrassegno a fase divisa da Manchester a fase divisa

Codice contrassegno a fase divisa da Manchester a fase divisa
Codice contrassegno a fase divisa da Manchester a fase divisa

La Figura 18 mostra la conversione dal codice Manchester a fase divisa al codice Mark a fase divisa. Il codice Manchester è mostrato in giallo mentre il codice Mark è mostrato in blu.

Conclusione

I codici di linea costituiscono la base di numerosi protocolli di comunicazione seriale universalmente utilizzati in diversi settori. Conversione dei codici di linea in modo facile ed economico ricercato in molte applicazioni. In questo Instructable vengono forniti dettagli per la conversione di diversi codici di linea utilizzando SLG46537 di Dialog insieme ad alcuni componenti esterni ausiliari. I progetti presentati sono stati verificati e si è concluso che la conversione dei codici di linea può essere eseguita facilmente utilizzando i CMIC di Dialog.

Consigliato: