Post on 13-Jan-2016
description
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
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.
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
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.
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);
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).
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).
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.
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
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+
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.
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
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
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;
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à.
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.
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
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.
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
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.
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.
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.
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.
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
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
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;