Auswahl
Projekte
Impressum
lang:en   lang:de

 
 
 
Measure Ein handlicher 8-Kanal Logikanalysator. Nicht, daß dieses kleine Gerät etwas einmaliges wäre. Es gibt auch andere Projekte, die solch eine Funktion hervorgebracht haben. Aber...

Warum und Wofür

Die Idee zu diesem Gerät kam, als ich aus beruflichen Gründen Reaktionszeiten an einem Echtzeitsystem ermitteln mußte. Trotz Austauschen der Logikanalysatoren und Oszillographen hin zu immer höheren Preisklassen stellte sich heraus, daß keines der "professionellen" Geräte die gewünschte Information liefern konnte. Sie schaffen zwar alle sehr hohe Abtastraten (daher die enormen Preise), brauchen aber nach jedem Trigger eine Denkpause, bei der sie die letzten Daten auswerten. Während dieser Zeit sind sie alle blind für weitere Ereignisse, unabhängig vom Preis des Geräts.
Somit durch die Bank unbrauchbar für eine Messung von Echtzeitfähigkeiten (auch das Gerät für 40.000€), weil bei solchen Messungen niemals nicht auch nur ein Ereignis übersehen werden darf.
 
Das war die Geburtsstunde des Kritzel. Ein simples Erfassungsgerät, das auch noch ein Stimulus-Signal erzeugen kann. Letzteres wird für die Echtzeitmessungen benötigt. D.h. darüber wird im Zielsystem eine Unterbrechung erzeugt und die zeitlichen Reaktion unter verschiedenen Lastszenarien erfaßt. Damit kann man die schlechteste Reaktionzeit ("worst case") ermitteln.
Kritzel selbst ist sehr einfach aufgebaut. Denn es erfaßt nur die Signaländerungen und schickt diese Information via USB an einen Host. Alle Auswertung der Daten findet also ausschließlich auf dem Host statt. Damit wird Kritzel sehr preiswert und den Möglichkeiten mit den erfassten Daten (auch nachträglich) etwas zu tun sind keine Grenzen gesetzt.
Durch diese Trennung von Erfassung und Auswertung ist es möglich, kontinuierlich Ereignisse zu erfassen, ohne Gefahr zu laufen, auch nur ein Ereignis zu verlieren. Außerdem kann die Auswertung zu einem beliebigen späteren Zeitpunkt stattfinden, bzw. wiederholt werden, weil die Daten auf die Festplatte des Host geschrieben werden.

Dokumentation

Die Bauanleitung für dieses Projekt liegt nur als PDF und in englischer Sprache vor.
Die Benutzeranleitung für dieses Projekt liegt ebenfalls nur als PDF und in englischer Sprache vor.

Quellen

Das in der Anleitung erwähnte Projekt-Archiv kann von hier geladen werden.

Aktualisierung 03.05.2010:
  • Die Routine zum Senden von Ereignissen in einer 500ns Abtastrate in der Firmware bis 0.1.7 ist komplett unbrauchbar. Die funktionierte bisher nur scheinbar. Der verwendete FTDI245 USB-Baustein hat ein merkwürdiges Zeitverhalten, so dass es nicht möglich ist, einen Report in unter 6 µs zu senden. Die Assembler-Routine in der Firmware-Version 0.1.8 benötigt im besten Fall 98 Takte, was 6,125 µs entspricht. Somit ist auch die 4 µs Abtastrate mit Vorsicht zu genießen, bzw. nur mit Ereignissen im 8 µs-Raster.
    Die 500 ns Abtastrate wird in der Firmware-Version 0.1.8 nicht mehr unterstützt.
Aktualisierung 01.05.2010:
  • Die bisherige Firmware bis Version 0.1.7 enthält einen Fehler, der beim Senden von Kommandos vom Host an Kritzel dort einen Pufferüberlauf erzeugen kann. Das führt dazu, dass Kritzel nicht mehr reagiert und nur ein Ab- und Wiederanstecken hilft (Kaltstart). Eine Korrektur kommt bald.
Aktualisierung 04.03.2010:
  • Die Dokumentation wurde überarbeitet und aktualisiert.
  • Der Host-Teil der Kritzel-Software wurde erweitert und um einen Fehler bereinigt. Dieser Fehler führte bisher dazu, dass nicht alle bereits erfassten Daten gespeichert wurden, wenn das Hauptprogramm mit STRG-C abgebrochen wurde. Dieser Effekt trat hauptsächlich dann auf, wenn gleichzeitig mittels 'pipe' die Daten auch in einen externen Filter geschrieben wurden (wie beispielsweise kritzel_raw).
Die aktuelle Host-Software 'kritzel-1.1.2.tar.bz2' und auch das ganze aktualisierte ptxdist basierte Projekt 'OSELAS.BSP-JB-Kritzel-0.0.3.tar.bz2' können hier geladen werden.

Die bisherige (alte) Anleitung kann weiterhin von hier geladen werden.