next up previous contents
Next: Speicher Up: Adapterplatine Previous: Adapterplatine

FPGA

Ein FPGA1.5 ist ein programmierbarer Logikbaustein. Auf der Adapterplatine zwischen MBX-Board und Kameraplatine wird zur Ansteuerung der Kamera ein FPGA benötigt. Mit Hilfe des FPGAs können die ausgelesenen Bilddaten der Kamera in einen Bildspeicher geschrieben werden. Die gespeicherten Daten werden dann zum MBX-Board übertragen.
Die FPGAs der Firma Xilinx, auch LCAs1.6 genannt, wurden im IMS schon oft erfolgreich eingesetzt und deshalb auch bei dieser Anwendung genutzt. Der Aufbau eines LCAs ist in [1] ausführlich beschrieben.
Ein LCA bestehen aus zwei Grundelementen (s. Abb. 1.3):
  
Abbildung 1.3: Die Zellenstruktur der LCA von Xilinx

Quelle: [6]

Beim der Implementierung der Logik eines FPGAs kann eine Hardwarebeschreibungssprache wie Verilog HDL1.7 genutzt werden. Durch das Entwurfswerkzeug 'Cadence Design System' wird aus dem Verilog-Programmcode die Logikschaltung synthetisiert, die das FPGA realisieren soll.
Das FPGA von Xilinx kann auf verschiedene Arten programmiert bzw. konfiguriert werden. Über die Gehäuse-Pins M0, M1 und M2 kann der Programmiermodus gewählt werden (s. Tab. 1.1).

 
 
Tabelle 1.1: Programmiermodi des FPGA von Xilinx
Mode M2 M1 M0 CCLK Data
Master Serial 0 0 0 output Bit-Serial
Slave Serial 1 1 1 input Bit-Serial
Master Parallel Up 1 0 0 output Byte-Wide
          increment from 00000
Master Parallel Down 1 1 0 output Byte-Wide
          decrement from 3FFFF
Peripheral Syncronous 0 1 1 input Byte-Wide
Peripheral Asynchronous 1 0 1 output Byte-Wide
Reserved 0 1 0 - -
Reserved 0 0 1 - -


Quelle: [1]

Im weiteren wird auf den Programmiermodus 'Master Serial' eingegangen. In diesem Modus wird ein serielles EEPROM1.8 automatisch beim Einschalten des FPGAs ausgelesen. Die dort gespeicherte Information über die Logikschaltung wird in einen Konfigurationsspeicher im LCA geladen. Die Werte in dem Konfigurationsspeicher bestimmen die logische Funktion der CLBs und deren Verbindungen untereinander. Die erforderliche Speichergröße des EEPROM hängt deshalb von der Anzahl der CLBs des FPGAs ab.
Ist das EEPROM gesockelt, kann es ausgetauscht werden, um ein neues Programm für das FPGA zu installieren. Der Sockel wird bei einer Programmentwicklung durch häufige Steckzyklen stark belastet, und der Programmierprozeß ist zeitaufwendig. Die folgende Schaltung (s. Abb. 1.4) erlaubt deshalb eine Neuprogrammierung des EEPROMs ohne es aus dem System zu entnehmen (ISP1.9). Mit Hilfe eines PCs können die Daten schnell und einfach in das EEPROM geladen werden.

  
Abbildung 1.4: In-System Programmierung des EERPOMs

Quelle: [7]

Da die Signale des MBX-Board mit 3,3V Signalspannungspegeln und die Kameraplatine mit 5V CMOS-Pegeln arbeitet, muß an einer Schnittstelle der Adapterplatine eine Signalpegelwandlung durchgeführt werden (s. Kapitel 1.2.6). Die Schnittstelle zur Kamera hat weniger Signale, so daß eine Pegelwandlung an dieser Stelle einen kleineren Hardwareeinsatz bedeutet. Die Adapterplatine kann dann genau wie das MBX-Board in 3,3V Technik aufgebaut werden.
Folgenden Anforderungen sind an das FPGA zu stellen: Das XC4028XL-HQ304 aus der XC4000XL-Familie von Xilinx erfüllt diese Anforderungen. In der Tab. 1.2 sind einige technische Daten des XC4028XL zusammengefaßt. FPGAs aus der XC4000XL-Familie, die 3,3V Spannungspegel benutzen, weisen geringere Anschaffungskosten auf als die vergleichbaren FPGAs der XC4000E-Familie mit 5V Pegeln.

 
 
Tabelle 1.2: Technische Daten des XC4028XL von Xilinx
Max. Anzahl Logikgatter (ohne RAM) 28.000
Max. Bits RAM 32.768
CLB Matrix $32 \ast 32$
Logische Blöcke insgesamt 1.024
Anzahl der Flipflops 2.560
Systemgeschwindigkeit bis zu 80MHz
I/O Pins 256
Pins insgesamt 304
Spannungsversorgung normal 3,3V
  max. -0,5 bis 4,0V
Eingangsspannung normal 3,3V
  max. -0,5 bis 5,5V
Gehäuse Bauform HQ304

Ein passendes serielles EEPROM für die Konfiguration des XC4028XLs ist das AT17C010A von Atmel. Es arbeitet mit 3,3V Technik, hat eine Speichergröße von 1MBit und ein 20poliges PLCC-Gehäuse. Ein Datenblatt kann in [7] gefunden werden.
next up previous contents
Next: Speicher Up: Adapterplatine Previous: Adapterplatine
Thorsten Thormaehlen
2000-03-28