Logic Analyzer

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Diese Seite enthält eine Übersicht über verschiedene Logic Analyzer Selbstbau-Projekte. Zur genellen Funktion dieser Geräte, siehe die Seite Logikanalysator.

AVR-basiert

LoLA

  • 2002 von A. Hinrichs
  • AT90S1200 Controller with a 2k-RAM
  • ASM

LoLA is a 8-Bit Logicanalyzer. Internal sampletimes from 2µs to 16ms. Triggerword with don't cares. External clock or trigger on rising or falling edge. Timing and state with I2C-analysis. 2k memory, very low cost. With Pulsegenerator. Programmable Ti and Tp 1us..8sec, Duty-Cycle, Period/Frequency, Continuous- and Burst-Mode. 16- and 32-bit Software for Windows

Projektseite bei avrfreaks.net

AVR USB Logikanalysator

  • 2006 B. Sauter
  • Mega 32 & USBN9604
  • 8-Bit
  • 250kHz online, 1000 Samples @ 4MHz
  • USB

http://www.mikrocontroller.net/topic/48559

Simple Logic Analyzer

  • 8-channel
  • 32kB SRAM
  • RS232
  • 2 MHz
  • Software: Win GUI

http://antoniak.ep.com.pl/index.php?id=sla

SCANALOGIC

Version 1

  • bis 4 Kanäle
  • bis 4 Million Samples per second
  • RS232 (bzw. USB-RS232)
  • Windows-Software (Visual Basic)
  • Software (AVR und Windows): Closed Source?
  • Basis: Atmega16 und NAND-Gate
  • Eingestellte Produktlinie

Version 2 Pro

  • bis 4 Kanäle
  • bis 20 Million Samples per second
  • Maximum sampling buffer 256K
  • Generator/Playback Modus
  • USB HID mode
  • Firmware upgrade feature
  • Windows-Software (Visual Basic) und "ScanaStudio"
  • Basis: Atmel AVR
  • Aufgebaut und getestet
  • Wird nicht mehr direkt von Ikalogic hergestellt, aber noch unterstützt, es gibt Bausätze als "Edu-Kit"
  • https://www.ikalogic.com/scanalogic-2-support-page/

Version ScanaQuad


Version ScanaPlus

MiniLog

Zur Zeit gibt es zwei Versionen, die sich hauptsächlich in der Samplerate und in der Speichergröße unterscheiden:

50 MSa/s Version

  • 8 Kanäle
  • 50 MSa/s
  • 4k Samplespeicher
  • Trigger auf beliebige Pegelkombinationen
  • Basis ATMega644
  • FT232 USB 115200 Baud

80 MSa/s Version

  • 8 Kanäle
  • 50 MSa/s
  • 16k Samplespeicher (32k bei neuer Software)
  • Trigger auf beliebige Pegelkombinationen
  • Basis ATMega88 / ATMega48
  • FT232 USB 500000 Baud

Weitere Infos und Diskussion:

Arduino Logic Analyzer

Funktioniert auf einem Arduino mit AVR, STM32 und ESP8266.

Benutzung:

  • .ino auf den Arduino laden
  • processing.pde in Processing laden und seriellen Port auswählen

Links:

FPGA / CLPD

SUMP Logic Analyzer

  • 32 Kanäle bis 100 MHz, 16 Kanäle bei 200 MHz
  • 200 MHz - 10 Hz Sampling Rate
  • 256 KSamples Speicher (1 MByte)
  • Ankopplung über RS232
  • Java Software

Der SUMP Logic Analyzer hat wahlweise einen einfachen Trigger (Rising/Falling mit Maskierung) oder einen komplexen 4stufigen Trigger, sowie einen einfachen zuschaltbaren Noise Filter, der Pulse kürzer als 1/100 MHz filtert um Crosstalk-Effekte in den Anschlussleitungen zu kompensieren. Der Speicher wird im Wartezustand als "Ringstack" kontinuierlich beschrieben. Dadurch können auch Daten von vor der Trigger-Auslösung ausgelesen werden.

Das Gerät nutzt das Xilinx Spartan 3 Starter Kit Board von Digilent (Kosten Stand Mai 2006: 100 - 150 Euro). Es muss lediglich der FPGA beschrieben und die Software eingerichtet werden. Die Software nutzt für den Zugriff auf die RS232 die RXTX Bibliothek, die für alle gängigen Betriebssysteme existiert.

Links:

  • Projektseite bei sump.org
  • LogicAnalyzer is a framework as well as an application to operate a PC based logic analyzer. It's built using the Eclipse RCP and designed with extensibiliy in mind. Integrating devices, providing tools or creating completely new functionality is easy. The most prominent OpenSource logic analyzer hardware (namely the SUMP Logic Analyzer - and derivates such as the Open Workbench Logic Sniffer) work out of the box. It also serves as an example how easy it is to integrate new devices. (GPL)

BitHound Logic Analyzer

Hier handelt es sich um eine Erweiterung des SUMP auf einen Spartan-6. Es gibt zwei Versionen; eine für das Xilinx-SP601 Development Board und eine für das Digilent ATLYS-Spartan-6 Board.

Der Analyzer-Core ist (noch) derselbe wie beim SUMP, der Speicher ist nun jedoch 128MB gross und die Datenübertragung erfolgt per Ethernet zum ebenfalls leicht verbesserten JAVA-Client.

Links:

eebit Logic Analyzer

  • 32 Kanäle
  • 100 MHz Sampling Rate
  • 65 KSamples Speicher pro Kanal (2 MByte)
  • Ankopplung über ISA-Bus oder Parallelport
  • 2 stufiger Trigger
  • einfaches Windows-Programm zur Steuerung/Darstellung

Der LA basiert auf einem Altera FPGA und speichert die Daten in einem externen SRAM. Die Hardware existiert in 2 Varianten, einmal als PC/104-Karte und mit einem Parallelinterface.

Projektseite

miniLA

Der LA basiert auf einem Xilinx CPLD

  • 32 Kanäle
  • 100 MHz Sampling Rate
  • 128 kSamples Speicher
  • Ankopplung über USB oder LPT (neuere Version von mockup: nur USB)
  • 5V-tolerante Eingänge

neuere Version von mockup:

  • 512 kSamples bzw. 1MSamples
  • Ankoppelung über USB

Links:

neuere Version von mockup:

coolLA

coolLA ist eine erweiterte Version des miniLA. Die wesentlichen Änderungen sind:

  • USB Stromversorgung mit galvanischer Trennung
  • Einsatz einer Coolrunner II CPLD
  • Time- und Stateanalyse umschaltbar zusammen im System mit angepasster Software
  • 512k Samples Speicher 32 Bit
  • integrierte Datenempfänger
  • 40-poliger IDE Stecker Intronix LogicPort kompatibel
  • passt in Elpac Gehäuse

Links:

lekernel's USB Logic Analyzer

  • 24 Kanäle

Der LA basiert auf einem Altera Cyclone II FPGA. Alle Schaltpläne, VHDLs, Designer Dateien stehen zur Verfügung. Leider nur ein Quick+Dirty Linux Treiber erstmal da.

Projektseite

OpenBench Logic Sniffer

FPGA basierter LA, HW & SW ist offen (open source). Specs:

  • 70MHz+ sample speeds
    • 200Msps captures up to 100MHz waveforms on 16 channels
    • 100Msps captures up to 50MHz waveforms on 32 channels
  • 32 channels
    • 8 channels with 24K sample depth
    • 16 channels with 12K sample depth
    • 32 channels with 6K sample depth
  • 16 buffered, 5volt tolerant channels
  • USB interface, USB powered

Die Software hat Interpreter für RS232, SPI, I2C, 1-Wire und einen A/D-Wandler.

http://www.gadgetfactory.net/gf/project/butterflylogic/

Software in action:

  • Overview and using RLE : [1]
  • Capturing & Decoding UART data: [2]

Eine fertige Platine gibts von www.Seeedstudio.com für 50$ oder in Deutschland bei http://www.watterott.com/de/Open-Logic-Sniffer für 45,22€ exkl. Versand (2.90 € UPS Standard).

EjLA - Embedded jTAG Logic Analyzer

Dies ist ein kleiner Logicanalyzer der dafür gedacht ist, den (kommerziellen) Xilinx Chipscope Analyzer zu ersetzen. Daher verbietet die Lizenz auch die kommerzielle Nutzung.

Das EjLA Setup verwendet SUMP als Client-GUI am PC. Die Kommunikation erfolgt über jTAG und verwendet das Xilinx "impact" Programm. Daher sollte jedes Kabel, dass von Xilinx dafür unterstützt wird, auch mit EjLA laufen. Außerdem muss man beim Entwickeln nichts umstecken bzw. Pins "vorhalten" (man kann das ISE und Bitstream-download gleichzeitig mit der modifizierten SUMP Software zur Analyse verwenden). Um das zu realisieren, wird eine kleine "server" Software verwendet, die zwischen dem SUMP-GUI und dem EjLA Core über "impact" kommuniziert. Das ISE Setup wird dabei auch nicht verändert. Damit ist auch sichergestellt, dass SUMP kein wesentlicher Bestandteil von EjLA ist/wird und man stattdessen in Zukunft ggf. auch andere Clients verwenden kann.

Die kleinste Core Version läßt noch mehr als genug Platz sogar auf einem kleinen xc3s100e FPGA und bietet einen LA mit ~500 bis 8000 Samples x 32 Kanäle Speichertiefe nur mit einem BRAM Block(!) Dies wird erreicht durch die Verwendung von einfacher Lauflängen-Kompression.

Links:

PIC-basiert

PIC Logicx

PIC Logix (GPL, optional Standalone VGA Ausgabe, PIC24 or dsPIC33)

Logic Analyzer III (USB)

Logic Analyzer III (USB) uses a multithreaded Win-32 front-end and a native USB interface. It features a 20MS/s sample rate and a 4K sample depth. Zentrale Bauteile sind ein PIC18F4550 Mikrocontroller und ein AM7204 FIFO IC z.B. von AMD.

pk2-la

  • Hardware: PICkit 2 Programmer Logic Tool Analyzer
  • Software:
    • pk2-la. The Microchip PICkit 2 has the ability to act as a logic analyzer and I/O probe. This project provides a reverse engineered libusb user space device driver and GUI to provide this functionality for users of unsupported operating systems. (Python, Lizenz: GPL)

Parallelport LA

Bitte beachten: Derartige Parallelport LAs sind z.B. bei der Samplerate durch die PC-Hardware und das PC OS im Vergleich zu höherwertigen LAs eingeschränkt.

Open Source Software

The sigrok project aims at creating a portable, cross-platform, Free/Libre/Open-Source logic analyzer software that supports various (usually USB-based) logic analyzer hardware products. The code is licensed under the terms of the GNU GPL.

sigrok supported hardware:

  • Saleae Logic (supported)
  • EE Electronics XLA/ESLA100 (supported)
  • ASIX SIGMA (partially supported)
  • Openbench Logic Sniffer (work in progress)
  • ZEROPLUS Logic Cube LAP-C (work in progress)
  • CWAV USBee SX (coming up)
  • Braintechnology USB-LPS (planned)
  • Buspirate (planned)
  • Intronix Logicport (planned)


LogicAnalyzer is a framework as well as an application to operate a PC based logic analyzer. It's built using the Eclipse RCP and designed with extensibiliy in mind. Integrating devices, providing tools or creating completely new functionality is easy.

LogicAnalyzer main features:

  • Platform independent ( LogicAnalyzer is built using Eclipse RCP, thus it's mostly platform independent. It also features a native and clean UI.)
  • Rich set of tools ( Several tools come out of the box, such as frequency measurement, distance measurement and serial byte interpreter. LA also comes with an I2C protocol analyzer (SPI, as well as UART analyzer will follow).)
  • SUMP integration ( The most prominent OpenSource logic analyzer hardware (namely the SUMP Logic Analyzer - and derivates such as the Open Workbench Logic Sniffer) work out of the box. It also serves as an example how easy it is to integrate new devices.)

Sonstiges

Vergleichstabelle Logic-Analyzer

Isolation, galvanische Trennung vom PC

Bei günstigen Geräten am USB-Anschluss ist oft die Masseleitung vom Testgerät über den Logic-Analyzer bis hin zum PC durchgeschleift. Das ist nicht immer wünschenswert und man möchte daher keine elektrische Verbindung. Prinzipiell gibt es für die galvanische Trennung vom PC zwei Ansätze. Zum einen kann man die Eingänge des Logic Analyzers durch Übertrager derart gestalten, dass keine elektrische Verbindung zum Gerät besteht. Bei teuren Analyzern ist das meist eingebaut, manchmal sogar kanalweise. Man kann auch den Logic-Analyzer direkt über einen USB-Isolator vom PC trennen. Dabei muss aber die maximale Übertragungsrate, der verfügbare Strom des USB-Isolators beachtet werden und die notwendige Mindestgeschwindigkeit zum Betrieb des Logic-Analyzers. Bringt das Gerät beispielsweise keinen Pufferspeicher mit, so wird mindestens die Abtastrate herabgesetzt oder der Betrieb am USB-Isolator sogar unmöglich. Hier kann man dann eine Isolation auf Eingangsseite des Logic-Analyzers nachrüsten.

In Planung: Mikrocontroller.net LA

Hier entsteht langsam seit Mitte 2005 ein komplexer (FPGA, CLPD, AVR) Logic Analyser für recht gehobene Ansprüche, allerdings ist die Beteiligung seitdem etwas eingeschlafen:

In Planung: Logikanalysator mit Palm

In Planung, Brainstorming: Palm-Logicanalyzer