Selfmade Logic Analyzer

About

Unser Chip-Entwicklungsprojekt ist zum Erfassen und Darstellen der Logiksignale von I2C- und SPI-Protokollen konzipiert, es lassen sich aber auch andere Digitalsignale bis 4 bit Datenbreite darstellen. Als zentralen Chip verwenden wir dabei den FPGA-Baustein „Spartan 3e“ der Firma Xilinx. Bei einem Logikanalysator sind die zeitliche Auflösung, die Datenbreite sowie die Speichertiefe wesentliche Eigenschaften. Der von uns verwendete Baustein hat einen internen Speicher mit einer Größe von 72 kbit. Der Speicher ist in vier Blöcke unterteilt, dies ermöglicht ein noch schnelleres Abspeichern der erfassten Daten. Die Speichertiefe hängt von der eingestellten Auflösung ab. Als Datenbreite haben wir 4 bit vorgesehen, da dies die häufigsten Anwendungsfälle abdeckt. Beim SPI-Bus werden die Signale „Clock, MOSI bzw. MISO“ aufgezeichnet, wobei das CE-Signal als Trigger für den Beginn der Aufzeichnung verwendet wird. Beim I2C-Bus sind das die Signale „SCL und SDA“. Als Triggerbedingung für die Aufzeichnung wird die Startbedingung des I2C-Buses überprüft. Der FPGA-Baustein dient nur zur schnellen Aufzeichnung der Logikpegel auf den entsprechenden Leitungen, da dies nur durch eine parallel arbeitende schnelle Hardware möglich ist. Die Auswertung der Daten erfolgt danach mit dem Mikrocontrollerbaustein 18F2550 von Microchip. Dazu werden die gespeicherten Daten über eine SPI-Schnittstelle des FPGA´s an den Mikrocontroller übertragen. Diese SPI-Schnittstelle wird ebenso wie die gesamte Funktion des FPGA´s mit VHDL programmiert. Als Entwicklungsumgebung verwenden wir die „ISE WebPack“ der Firma Xilinx.