Sviluppo di un’interfaccia Camera Link - FPGA

26
Sviluppo di Sviluppo di un’interfaccia Camera un’interfaccia Camera Link - FPGA Link - FPGA Anno accademico: 2003/2004 Anno accademico: 2003/2004 Laureando: Bojan Simoneta Laureando: Bojan Simoneta Relatore: Chiar.mo prof. Sergio Carrato Relatore: Chiar.mo prof. Sergio Carrato Sviluppo di un’interfaccia Camera Link - FPGA Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

description

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica. Sviluppo di un’interfaccia Camera Link - FPGA. Anno accademico: 2003/2004 Laureando: Bojan Simoneta Relatore: Chiar.mo prof. Sergio Carrato. Sviluppo di un’interfaccia Camera Link - FPGA. - PowerPoint PPT Presentation

Transcript of Sviluppo di un’interfaccia Camera Link - FPGA

Page 1: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di Sviluppo di un’interfaccia un’interfaccia Camera Link - Camera Link -

FPGAFPGA Anno accademico: 2003/2004Anno accademico: 2003/2004Laureando: Bojan SimonetaLaureando: Bojan SimonetaRelatore: Chiar.mo prof. Sergio CarratoRelatore: Chiar.mo prof. Sergio Carrato

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Page 2: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

IntroduzioneIntroduzione• Scopo dell’elaborato: realizzare una scheda d’interfaccia tra Scopo dell’elaborato: realizzare una scheda d’interfaccia tra

la telecamera CLinkCam e la scheda XSA50;la telecamera CLinkCam e la scheda XSA50;

• Sulla XSA50 è montato un dispositivo logico programmabile Sulla XSA50 è montato un dispositivo logico programmabile FPGA (Field Programmable Gate Array), che elabora le FPGA (Field Programmable Gate Array), che elabora le immagini e le visualizza sullo schermo VGA;immagini e le visualizza sullo schermo VGA;

• Il controllo della telecamera avviene attraverso due linee Il controllo della telecamera avviene attraverso due linee seriali connesse al PC tramite il connettore RS232. seriali connesse al PC tramite il connettore RS232.

Page 3: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Telecamera CLinkCam

SCHEDA D’INTERFACCIA

Scheda XSA50(FPGA)

PC

Schermo VGA

Schema a blocchi principale

Page 4: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Caratteristiche della telecameraCaratteristiche della telecamera• Interfaccia di comunicazione Camera Link;Interfaccia di comunicazione Camera Link;

• Frame rate = 24 immagini al secondo;Frame rate = 24 immagini al secondo;

• Risoluzione dell’immagine = 640 x 480 pixel;Risoluzione dell’immagine = 640 x 480 pixel;

• Luminosità pixel quantizzata in 1024 livelli Luminosità pixel quantizzata in 1024 livelli

(dimensione pixel = 10 bit);(dimensione pixel = 10 bit);

• Controllo seriale tramite 2 linee a velocità 9600 baud;Controllo seriale tramite 2 linee a velocità 9600 baud;

• 1 linea di controllo CC1 per richiedere la visualizzazione di 1 linea di controllo CC1 per richiedere la visualizzazione di una singola immagine.una singola immagine.

Page 5: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Segnali di temporizzazione della telecameraSegnali di temporizzazione della telecamera• il segnale di il segnale di clockclock (8 MHz); (8 MHz);

• il segnale di sincronizzazione dei dati il segnale di sincronizzazione dei dati DVALDVAL (data valid); (data valid);

Page 6: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Segnali di temporizzazione della telecameraSegnali di temporizzazione della telecamera• il segnale di sincronizzazione delle linee il segnale di sincronizzazione delle linee LVALLVAL (line valid); (line valid);

• il segnale di sincronizzazione delle immagini il segnale di sincronizzazione delle immagini FVALFVAL (frame (frame valid).valid).

Page 7: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Interfaccia standard di comunicazione Interfaccia standard di comunicazione CameraLinkCameraLink

• Sviluppata da alcune compagnie che producono telecamere Sviluppata da alcune compagnie che producono telecamere digitali;digitali;

• Si basa sulla comunicazione LVDS (Low Voltage Differential Si basa sulla comunicazione LVDS (Low Voltage Differential Signaling).Signaling).

Page 8: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Segnali LVDS dell’interfaccia Camera LinkSegnali LVDS dell’interfaccia Camera Link• 4 segnali per la trasmissione dei dati, 1 segnale di clock.4 segnali per la trasmissione dei dati, 1 segnale di clock.

Page 9: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Tecnologia Channel LinkTecnologia Channel Link

• Serie di integrati prodotti Serie di integrati prodotti dalla National dalla National Semiconductor;Semiconductor;

• Trasmettitori e ricevitori, Trasmettitori e ricevitori, che convertono 4 linee che convertono 4 linee LVDS in 28 linee LVDS in 28 linee TTL/CMOS e viceversa.TTL/CMOS e viceversa.

VCC1

TxIN52

TxIN63

TxIN74

GND5

TxIN86

TxIN97

TxIN108

VCC9

TxIN1110

TxIN1211

TxIN1312

GND13

TxIN1414

TxIN1515

TxIN1616

VCC17

TxIN1718

TxIN1819

TxIN1920

GND21

TxIN2022

TxIN2123

TxIN2224

TxIN2325

VCC26

TxIN2427

TxIN2528

GND29TxIN2630TcCLKIN31PWR DWN32PLL GND33PLL VCC34PLL GND35LVDS GND36TxOUT3+37TxOUT3-38TxCLKOUT+39TxCLKOUT-40TxOUT2+41TxOUT2-42LVDS GND43LVDS VCC44TxOUT1+45TxOUT1-46TxOUT0+47TxOUT0-48LVDS GND49TxIN2750TxIN051TxIN152GND53TxIN254TxIN355TxIN456

DS90CR285

C_TX4

X0-

C_TX3

X0+

0

3.3 V

0

C_TX7C_TX5C_TX8

C_TX9

C_SPARE

C_LVALC_FVAL

X1-X1+

X2-X2+XCLK-XCLK+X3-X3+

C_TX2

C_TX1C_TX0C_TX6

C_TXCLKC_DVAL

LVDS_GND

LVDS_VCCLVDS_GND

LVDS_GNDPLL_GNDPLL_VCCPLL_GNDC_PWDN

Page 10: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Scheda d’interfaccia – Il connettore MDR26Scheda d’interfaccia – Il connettore MDR26

• Connette la telecamera con la scheda Connette la telecamera con la scheda d’interfaccia;d’interfaccia;

• 26 piedini (13 linee LVDS):26 piedini (13 linee LVDS): 8 piedini per la trasmissione dei dati (4 canali);8 piedini per la trasmissione dei dati (4 canali); 2 piedini per il clock;2 piedini per il clock; 8 piedini per 4 segnali di controllo;8 piedini per 4 segnali di controllo; 2 piedini per il segnale seriale verso la 2 piedini per il segnale seriale verso la

telecamera;telecamera; 2 piedini per il segnale seriale verso il frame 2 piedini per il segnale seriale verso il frame

grabber;grabber; 4 piedini di protezione di massa.4 piedini di protezione di massa.

shield11

CC4-2

CC3+3

CC2-4

CC1+5

SerTFG+6

SerTC-7

X3+8

Xclk+9

X2+10

X1+11

X0+12

shield1313

shield1414

CC4+15

CC3-16

CC2+17

CC1-18

SerTFG-19

SerTC+20

X3-21

Xclk-22

X2-23

X1-24

X0-25

shield2626

mdr26

Data_In0-Data_In0+Data_In1-Data_In1+Data_In2-Data_In2+Clk_In-Clk_In+Data_In3-Data_In3+

SerRx_In-SerRx_In+

SerTx_Out+SerTx_Out-

CC1_Out-CC1_Out+

Page 11: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Scheda d’interfaccia – Il ricevitore LVDS per Scheda d’interfaccia – Il ricevitore LVDS per applicazioni Camera Link DS90CR286applicazioni Camera Link DS90CR286

• E’ il duale del trasmettitore LVDS DS90CR285, che sta nella E’ il duale del trasmettitore LVDS DS90CR285, che sta nella telecamera;telecamera;

• Converte 4 canali LVDS di dati in 28 linee TTL/CMOS;Converte 4 canali LVDS di dati in 28 linee TTL/CMOS;

• Converte il canale LVDS del clock nella linea TTL/CMOS del Converte il canale LVDS del clock nella linea TTL/CMOS del clock;clock;

• Alimentazione: +3.3V => livello logico alto in uscita = +3.3V;Alimentazione: +3.3V => livello logico alto in uscita = +3.3V;

• Tensione di modo comune LVDS d’ingresso = 1.2 V;Tensione di modo comune LVDS d’ingresso = 1.2 V;

• Soglia della tensione differenziale LVDS d’ingresso = Soglia della tensione differenziale LVDS d’ingresso = ±100mV.±100mV.

Page 12: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

RxOUT221

RxOUT232

RxOUT243

GND44

RxOUT255

RxOUT266

RxOUT277

LVDS GND88

RxIN0-9

RxIN0+10

RxIN1-11

RxIN1+12

LVDS Vcc13

LVDS GND1414

RxIN2-15

RxIN2+16

RxCLKIN-17

RxCLKIN+18

RxIN3-19

RxIN3+20

LVDS GND2121

PLL GND2222

PLL Vcc23

PLL GND2424

PWRDWN25

RxCLK OUT26

RxOUT027

GND2828

RxOUT129RxOUT230Vcc3131RxOUT332RxOUT433RxOUT534RxOUT635GND3636RxOUT737RxOUT838RxOUT939Vcc4040RxOUT1041RxOUT1142RxOUT1243GND4444RxOUT1345RxOUT1446RxOUT1547Vcc4848RxOUT1649RxOUT1750RxOUT1851GND5252RxOUT1953RxOUT2054RxOUT2155Vcc5656

DS90CR286

PWRDWN

C14

100nF

C13100nF

C15100nF

C16

100nF

C17100nF

C18100nF

+3.3 V

Data_In0-

Data_In0+Data_In1-

+3.3 V

Data_In1+Data_In2-

Data_In2+Clk_In-

Clk_In+Data_In3-

Data_In3+

R8100

R7100

R6100

R5100

R4100

SpareLVAL

FVALDVAL

D6

CLKD0

D1D2

D3D4D7D5

D8D9

Scheda d’interfaccia – Il ricevitore LVDS per Scheda d’interfaccia – Il ricevitore LVDS per applicazioni Camera Link DS90CR286applicazioni Camera Link DS90CR286

Page 13: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Scheda d’interfaccia – Controllo seriale ed il Scheda d’interfaccia – Controllo seriale ed il segnale di controllo CC1segnale di controllo CC1

• Trasmettitore LVDS a 2 linee DS90C401 per la trasmissione Trasmettitore LVDS a 2 linee DS90C401 per la trasmissione del segnale seriale e del segnale CC1 verso la telecamera ; del segnale seriale e del segnale CC1 verso la telecamera ;

• Ricevitore duale DS90C402 per la ricezione del segnale Ricevitore duale DS90C402 per la ricezione del segnale seriale dalla telecamera.seriale dalla telecamera.

V C C1

D O 1 -2

D O 1 +3

D I 14

G N D5D O 2 -6D O 2 +7D I 28

D S 9 0 C 4 0 1

V C C1

R O 12

R I 1 +3

R I 1 -4

G N D5R O 26R I 2 +7R I 2 -8

D S 9 0 C 4 0 2

GNDGND

C C 1 _ I n

C C 1 _ O u t -C C 1 _ O u t +

+5 V

+5 V

S e rR x _ O u t

S e rR x _ I n +

S e rR x _ I n -

R 31 0 0

S e rTx _ O u t +S e rTX_ O u t -

S e rTx _ I nC 1 91 0 0 n F C 2 0

1 0 0 n F

Page 14: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Scheda d’interfaccia – Comunicazione serialeScheda d’interfaccia – Comunicazione seriale

• MAX232: converte i due segnali seriali SerTx e SerRx in MAX232: converte i due segnali seriali SerTx e SerRx in due segnali, che si possono ricevere o trasmettere con il due segnali, che si possono ricevere o trasmettere con il protocollo RS232;protocollo RS232;

• Un cavo null modem RS232 collega il connettore Un cavo null modem RS232 collega il connettore maschio a 9 poli della scheda con il PC;maschio a 9 poli della scheda con il PC;

• I byte di comando si trasmettono utilizzando il tool di I byte di comando si trasmettono utilizzando il tool di comunicazione Hyper Terminal;comunicazione Hyper Terminal;

Page 15: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Scheda d’interfaccia – CostruzioneScheda d’interfaccia – Costruzione

• ORcad Capture per fare lo schematico;ORcad Capture per fare lo schematico;

• ORcad Layout per creare i footprint dei componenti e per ORcad Layout per creare i footprint dei componenti e per realizzare il layout;realizzare il layout;

• La basetta è stata costruita nei laboratori dell’Elettra;La basetta è stata costruita nei laboratori dell’Elettra;

• Alcuni componenti saldati nei laboratori dell’Elettra, Alcuni componenti saldati nei laboratori dell’Elettra, alcuni nei laboratori della Facoltà.alcuni nei laboratori della Facoltà.

Page 16: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

XSA50 - ComponentiXSA50 - Componenti• Dispositivi logici programmabili FPGA e CPLD; Dispositivi logici programmabili FPGA e CPLD;

• Memoria SDRAM;Memoria SDRAM;

• Memoria Flash;Memoria Flash;

• Generatore di clock programmabile;Generatore di clock programmabile;

• Switch e pushbotton;Switch e pushbotton;

• Display a 7 segmenti;Display a 7 segmenti;

• Porta parallela da collegare al PC;Porta parallela da collegare al PC;

• Uscita VGA e ingresso PS/2.Uscita VGA e ingresso PS/2.

Page 17: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

XSA50 – Schema a blocchiXSA50 – Schema a blocchi

Page 18: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Programmazione della FPGAProgrammazione della FPGA

• Si è scelto di programmarla in due modi:Si è scelto di programmarla in due modi: Utilizzando il linguaggio di programmazione VHDL;Utilizzando il linguaggio di programmazione VHDL; Disegnando uno schematico;Disegnando uno schematico;

• Tool di programmazione: Project Navigator della Xilinx;Tool di programmazione: Project Navigator della Xilinx;

• Il tool esegue la sintesi, l’implementazione e genera il Il tool esegue la sintesi, l’implementazione e genera il file da scaricare sulla scheda.file da scaricare sulla scheda.

Page 19: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Software: schema generaleSoftware: schema generale

CONTROL CONTROL

SYSTEMSYSTEM

SDRAM SDRAM

CONTROLLERCONTROLLER

VGA VGA

CONTROLLERCONTROLLER

Dati Dati

dalladalla

telecamertelecameraa

Segnali Segnali

da/versoda/verso

SDRAMSDRAM

ImmagineImmagine

dada

visualizzarevisualizzare

Page 20: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Software: SDRAM ControllerSoftware: SDRAM Controller

• Il controllo della memoria SDRAM (RAM dinamica e Il controllo della memoria SDRAM (RAM dinamica e sincrona) è complesso;sincrona) è complesso;

• Lo SDRAM Controller gestisce la SDRAM e la fa sembrare Lo SDRAM Controller gestisce la SDRAM e la fa sembrare una RAM statica facile da controllare;una RAM statica facile da controllare;

• Per comandare le operazioni di scrittura e lettura si Per comandare le operazioni di scrittura e lettura si utilizzano i segnali di write e read enable;utilizzano i segnali di write e read enable;

• Dimensione bus indirizzi: 23 bit;Dimensione bus indirizzi: 23 bit;

• Dimensione bus dati: 16 bit.Dimensione bus dati: 16 bit.

Page 21: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Software: VGA ControllerSoftware: VGA Controller

• GGenera i segnali di enera i segnali di sincronisincronismosmo per la per la visualizzazione visualizzazione dell'immaginedell'immagine:: Hsync: segnale di Hsync: segnale di

sincronismo sincronismo orizzontale;orizzontale;

Vsync: segnale di Vsync: segnale di sincronismo sincronismo verticale.verticale.

Page 22: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Software: VGA ControllerSoftware: VGA Controller• convertconvertee i dati provenienti dalla SDRAM in dati i dati provenienti dalla SDRAM in dati di 6 bit di 6 bit

che si possono visualizzareche si possono visualizzare::

Red: 2bit;Red: 2bit; Green: 2 bit;Green: 2 bit; Blue: 2 bit.Blue: 2 bit.

Page 23: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Software: Control system - IntroduzioneSoftware: Control system - Introduzione

• Controlla e gestisce gli altri 2 blocchi;Controlla e gestisce gli altri 2 blocchi;

• E’ composto da 3 sottoblocchi:E’ composto da 3 sottoblocchi: Write_control: legge i dati dalla telecamera e li memorizza nella Write_control: legge i dati dalla telecamera e li memorizza nella

SDRAM;SDRAM;

Read_control: legge i pixel dalla memoria e li invia al VGA Read_control: legge i pixel dalla memoria e li invia al VGA Controller;Controller;

Address Control: è un multiplexer => sceglie gli indirizzi della Address Control: è un multiplexer => sceglie gli indirizzi della SDRAM tra quelli di scrittura e lettura a seconda della posizione SDRAM tra quelli di scrittura e lettura a seconda della posizione di uno switch posto sulla scheda XSA50.di uno switch posto sulla scheda XSA50.

Page 24: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Software: Control system - SchemaSoftware: Control system - Schema

Page 25: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

Software: Control system – Diagramma di flussoSoftware: Control system – Diagramma di flusso

Scrittura nella Scrittura nella

SDRAM (wr=1)SDRAM (wr=1)

Lettura dalla Lettura dalla

SDRAM (rd=1)SDRAM (rd=1)

Switch = 1Switch = 1 Switch = 0Switch = 0

Page 26: Sviluppo di un’interfaccia Camera Link - FPGA

Sviluppo di un’interfaccia Camera Link - FPGA

Università degli studi di Trieste – Corso di laurea triennale in Ingegneria elettronica

ConclusioniConclusioni• Test sulla parte hardware => Strumenti di misura:Test sulla parte hardware => Strumenti di misura:

Oscilloscopio;Oscilloscopio; Tester;Tester;

• Test sulla parte software => Si è creato un simulatore Test sulla parte software => Si è creato un simulatore della telecamera che genera i segnali:della telecamera che genera i segnali: Clock a 8 MHzClock a 8 MHz

LVAL;LVAL;

DVAL;DVAL;

Un’immagine a colonne verticale;Un’immagine a colonne verticale;