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
Università degli studi di Trieste – Corso di laurea
triennale in Ingegneria elettronica
Introduzione
• Scopo dell’elaborato: realizzare una scheda d’interfaccia tra
la telecamera CLinkCam e la scheda XSA50;
• Sulla XSA50 è montato un dispositivo logico programmabile
FPGA (Field Programmable Gate Array), che elabora le
immagini e le visualizza sullo schermo VGA;
• Il controllo della telecamera avviene attraverso due linee
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
Schema a blocchi principale
Telecamera
CLinkCam
Scheda XSA50
(FPGA)
SCHEDA
D’INTERFACCIA
PC
Sviluppo di un’interfaccia Camera Link - FPGA
Schermo VGA
Università degli studi di Trieste – Corso di laurea
triennale in Ingegneria elettronica
Caratteristiche della telecamera
• Interfaccia di comunicazione Camera Link;
• Frame rate = 24 immagini al secondo;
• Risoluzione dell’immagine = 640 x 480 pixel;
• Luminosità pixel quantizzata in 1024 livelli
(dimensione pixel = 10 bit);
• Controllo seriale tramite 2 linee a velocità 9600 baud;
• 1 linea di controllo CC1 per richiedere la visualizzazione di
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 telecamera
• il segnale di clock (8 MHz);
• il segnale di sincronizzazione dei dati DVAL (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 telecamera
• il segnale di sincronizzazione delle linee LVAL (line valid);
• il segnale di sincronizzazione delle immagini FVAL (frame
valid).
Sviluppo di un’interfaccia Camera Link - FPGA
Università degli studi di Trieste – Corso di laurea
triennale in Ingegneria elettronica
Interfaccia standard di comunicazione
CameraLink
• Sviluppata da alcune compagnie che producono telecamere
digitali;
• Si basa sulla comunicazione LVDS (Low Voltage Differential
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 Link
• 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 Link
3.3 V
• Serie di integrati prodotti
dalla National
Semiconductor;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
C_TX7
C_TX5
C_TX8
C_TX9
• Trasmettitori e ricevitori,
che convertono 4 linee
LVDS in 28 linee
TTL/CMOS e viceversa.
C_SPARE
C_LVA L
C_FVA L
V CC
TxIN5
TxIN6
TxIN7
GND
TxIN8
TxIN9
TxIN10
V CC
TxIN11
TxIN12
TxIN13
GND
TxIN14
TxIN15
TxIN16
V CC
TxIN17
TxIN18
TxIN19
GND
TxIN20
TxIN21
TxIN22
TxIN23
V CC
TxIN24
TxIN25
TxIN4
TxIN3
TxIN2
GND
TxIN1
TxIN0
TxIN27
LV DS GND
TxOUT0TxOUT0+
TxOUT1TxOUT1+
LV DS VCC
LV DS GND
TxOUT2TxOUT2+
TxCLKOUTTxCLKOUT+
TxOUT3TxOUT3+
LV DS GND
PLL GND
PLL V CC
PLL GND
PWR DWN
TcCLKIN
TxIN26
GND
56
55
54
53
52
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
C_TX4
C_TX3
C_TX2
C_TX1
C_TX0
C_TX6
LV DS_GND
X0X0+
X1X1+
LV DS_V CC
LV DS_GND
X2X2+
XCLKXCLK+
X3X3+
LV DS_GND
PLL_GND
PLL_V CC
PLL_GND
C_PWDN
C_TXCLK
C_DVA L
DS90CR285
0
Sviluppo di un’interfaccia Camera Link - FPGA
0
Università degli studi di Trieste – Corso di laurea
triennale in Ingegneria elettronica
Scheda d’interfaccia – Il connettore MDR26
• Connette la telecamera con la scheda
d’interfaccia;
• 26 piedini (13 linee LVDS):
 8 piedini per la trasmissione dei dati (4 canali);
 2 piedini per il clock;
 8 piedini per 4 segnali di controllo;
 2 piedini per il segnale seriale verso la
telecamera;
 2 piedini per il segnale seriale verso il frame
grabber;
 4 piedini di protezione di massa.
Sviluppo di un’interfaccia Camera Link - FPGA
shield26
shield13
X0X0+
X1X1+
X2X2+
XclkXclk+
X3X3+
SerTC+
SerTCSerTFGSerTFG+
CC1CC1+
CC2+
CC2CC3CC3+
CC4+
CC4shield14
shield1
mdr26
26
13
25
12
24
11
23
10
22
9
21
8
20
7
19
6
18
5
17
4
16
3
15
2
14
1
Data_In0Data_In0+
Data_In1Data_In1+
Data_In2Data_In2+
Clk_InClk_In+
Data_In3Data_In3+
SerTx_Out+
SerTx_OutSerRx_InSerRx_In+
CC1_OutCC1_Out+
Università degli studi di Trieste – Corso di laurea
triennale in Ingegneria elettronica
Scheda d’interfaccia – Il ricevitore LVDS per
applicazioni Camera Link DS90CR286
• E’ il duale del trasmettitore LVDS DS90CR285, che sta nella
telecamera;
• Converte 4 canali LVDS di dati in 28 linee TTL/CMOS;
• Converte il canale LVDS del clock nella linea TTL/CMOS del
clock;
• Alimentazione: +3.3V => livello logico alto in uscita = +3.3V;
• Tensione di modo comune LVDS d’ingresso = 1.2 V;
• Soglia della tensione differenziale LVDS d’ingresso = ±100mV.
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
applicazioni Camera Link DS90CR286
+3.3 V
+3.3 V
Data_In0R8
100
Spare
LV AL
FV AL
DV AL
Data_In0+
Data_In1-
D6
R7
100
Data_In1+
Data_In2C13
100nF
R6
100
Data_In2+
Clk_InR5
100
Clk_In+
Data_In3-
PWRDWN
R4
100
CLK
D0
C14
Data_In3+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
RxOUT22
RxOUT23
RxOUT24
GND4
RxOUT25
RxOUT26
RxOUT27
LV DS GND8
RxIN0RxIN0+
RxIN1RxIN1+
LV DS V cc
LV DS GND14
RxIN2RxIN2+
RxCLKINRxCLKIN+
RxIN3RxIN3+
LV DS GND21
PLL GND22
PLL Vcc
PLL GND24
PWRDWN
RxCLK OUT
RxOUT0
GND28
V cc56
RxOUT21
RxOUT20
RxOUT19
GND52
RxOUT18
RxOUT17
RxOUT16
V cc48
RxOUT15
RxOUT14
RxOUT13
GND44
RxOUT12
RxOUT11
RxOUT10
V cc40
RxOUT9
RxOUT8
RxOUT7
GND36
RxOUT6
RxOUT5
RxOUT4
RxOUT3
V cc31
RxOUT2
RxOUT1
DS90CR286
100nF
Sviluppo di un’interfaccia Camera Link - FPGA
56
55
54
53
52
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
C18
100nF
C17
100nF
C16
D9
D8
100nF
D5
D7
D4
D3
D2
D1
C15
100nF
Università degli studi di Trieste – Corso di laurea
triennale in Ingegneria elettronica
Scheda d’interfaccia – Controllo seriale ed il
segnale di controllo CC1
• Trasmettitore LVDS a 2 linee DS90C401 per la trasmissione
del segnale seriale e del segnale CC1 verso la telecamera ;
• Ricevitore duale DS90C402 per la ricezione del segnale
seriale dalla telecamera.
+5 V
SerRx_In+5 V
C19
100nF
CC1_OutCC1_Out+
CC1_In
1
2
3
4
VCC
DI2
DO1- DO2+
DO1+ DO2DI1 GND
8
7
6
5
SerTx_In
SerTx_Out+
SerTX_Out-
C20
100nF
DS90C401
R3
100
1
2
3
4
VCC RI2RO1 RI2+
RI1+ RO2
RI1- GND
8
7
6
5
SerRx_In+
SerRx_Out
DS90C402
GND
Sviluppo di un’interfaccia Camera Link - FPGA
GND
Università degli studi di Trieste – Corso di laurea
triennale in Ingegneria elettronica
Scheda d’interfaccia – Comunicazione seriale
• MAX232: converte i due segnali seriali SerTx e SerRx in
due segnali, che si possono ricevere o trasmettere con il
protocollo RS232;
• Un cavo null modem RS232 collega il connettore
maschio a 9 poli della scheda con il PC;
• I byte di comando si trasmettono utilizzando il tool di
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 – Costruzione
• ORcad Capture per fare lo schematico;
• ORcad Layout per creare i footprint dei componenti e
per realizzare il layout;
• La basetta è stata costruita nei laboratori dell’Elettra;
• Alcuni componenti saldati nei laboratori dell’Elettra,
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 - Componenti
• Dispositivi logici programmabili FPGA e CPLD;
• Memoria SDRAM;
• Memoria Flash;
• Generatore di clock programmabile;
• Switch e pushbotton;
• Display a 7 segmenti;
• Porta parallela da collegare al PC;
• 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 blocchi
Sviluppo di un’interfaccia Camera Link - FPGA
Università degli studi di Trieste – Corso di laurea
triennale in Ingegneria elettronica
Programmazione della FPGA
• Si è scelto di programmarla in due modi:
 Utilizzando il linguaggio di programmazione VHDL;
 Disegnando uno schematico;
• Tool di programmazione: Project Navigator della Xilinx;
• Il tool esegue la sintesi, l’implementazione e genera il
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 generale
SDRAM
CONTROLLER
Dati
dalla
telecamera
Segnali
da/verso
SDRAM
CONTROL
SYSTEM
VGA
CONTROLLER
Sviluppo di un’interfaccia Camera Link - FPGA
Immagine
da
visualizzare
Università degli studi di Trieste – Corso di laurea
triennale in Ingegneria elettronica
Software: SDRAM Controller
• Il controllo della memoria SDRAM (RAM dinamica e
sincrona) è complesso;
• Lo SDRAM Controller gestisce la SDRAM e la fa sembrare
una RAM statica facile da controllare;
• Per comandare le operazioni di scrittura e lettura si
utilizzano i segnali di write e read enable;
• Dimensione bus indirizzi: 23 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 Controller
• Genera i segnali di
sincronismo per la
visualizzazione
dell'immagine:
 Hsync: segnale di
sincronismo
orizzontale;
 Vsync: segnale di
sincronismo
verticale.
Sviluppo di un’interfaccia Camera Link - FPGA
Università degli studi di Trieste – Corso di laurea
triennale in Ingegneria elettronica
Software: VGA Controller
• converte i dati provenienti dalla SDRAM in dati di 6 bit
che si possono visualizzare:
 Red: 2bit;
 Green: 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 - Introduzione
• Controlla e gestisce gli altri 2 blocchi;
• E’ composto da 3 sottoblocchi:
 Write_control: legge i dati dalla telecamera e li memorizza nella
SDRAM;
 Read_control: legge i pixel dalla memoria e li invia al VGA
Controller;
 Address Control: è un multiplexer => sceglie gli indirizzi della
SDRAM tra quelli di scrittura e lettura a seconda della posizione
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 - 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 flusso
Scrittura nella
SDRAM (wr=1)
Switch = 1
Switch = 0
Lettura dalla
SDRAM (rd=1)
Sviluppo di un’interfaccia Camera Link - FPGA
Università degli studi di Trieste – Corso di laurea
triennale in Ingegneria elettronica
Conclusioni
• Test sulla parte hardware => Strumenti di misura:
 Oscilloscopio;
 Tester;
• Test sulla parte software => Si è creato un simulatore
della telecamera che genera i segnali:
 Clock a 8 MHz
 LVAL;
 DVAL;
 Un’immagine a colonne verticale;
Sviluppo di un’interfaccia Camera Link - FPGA
Scarica

Sviluppo di un`interfaccia Camera Link