Hardware
Freier Logikanalysator Sigrok wird benutzbar
Zwei Entwickler haben den Logikanalysator Sigrok initiiert, der als freie und unter Linux lauffähige Alternative zu den proprietären Windows-Programmen der Hersteller gedacht ist.
Uwe Hermann
Eine Auswahl von Logikanalysatoren
Wie Uwe Hermann in seinem Blog
berichtet, begann er mit dem Projekt, zunächst unter dem Namen »flosslogic«, weil es ihn ärgerte, dass die gängigen Logikanalysatoren lediglich mit Windows-Programmen ausgeliefert wurden, die durchweg eine miese Qualität aufwiesen. Nach einiger Zeit fand er heraus, dass Bert Vermeulen an einem ähnlichen Projekt arbeitete. Sie verschmolzen ihre Projekte zu einem einzigen, das seither unter dem von Vermeulen gewählten Namen »sigrok« läuft.
Ein Logikanalysator ist ein Gerät, das ähnlich wie ein Oszilloskop arbeitet, aber lediglich digitale Werte (0, 1 und undefiniert) erfasst und dafür über eine hohe Zahl von Eingängen verfügt. Die Geräte können Signale von Digitalschaltungen teils mit Frequenzen von 100 MHz oder mehr erfassen. Einige dieser Geräte sind Steckkarten, andere werden einfach über USB mit dem Rechner verbunden.
Uwe Hermann
sigrok-gtk
Das Projekt sigrok hat mittlerweile erhebliche Fortschritte gemacht und liegt als Alphaversion vor. Im Gegensatz zu den proprietären Programmen ist es plattformübergreifend verfügbar, unterstützt eine Reihe von Produkten und bietet darüber hinaus eine Obermenge der Funktionen, die die proprietären Programme bereitstellen.
Die Hardware wird über eine Treiberbibliothek angesprochen, die zur Zeit die Modelle Saleae Logic, CWAV USBee SX, Openbench Logic Sniffer (OLS), ZEROPLUS Logic Cube LAP-C, ASIX Sigma/Sigma2, ChronoVu LA8 und noch weitere unterstützt. Der Hersteller ASIX unterstützte das Projekt mit einem Treiber, und ChronoVu stellte Informationen über das Protokoll LA8 zur Verfügung. Die Software kann ihre Daten in mehreren Ausgabeformaten schreiben, darunter ein eigenes Format, das alle Metadaten enthält, sowie Bits, Hex, ASCII, Binär, GNUplot, OpenBench Logic Sniffer, ChronoVu LA8, Value Change Dump (VCD, u.a. mit gtkwave anzusehen) und CSV.
Uwe Hermann
Sigrok-VDC-Datei in gtkwave
Sigrok kann aber nicht nur Signale aufzeichnen, sondern sie auch soweit »verstehen«, dass es verschiedene Protokolle dekodieren kann, darunter USB, DCF77, I2C, SPI, EDID, I2S und JTAG. Die Protokoll-Dekodierer können kaskadiert werden, um mehrere Protokollebenen zu dekodieren. Für die Bedienung von Sigrok stehen ein Kommandozeilenprogramm, ein GTK+-Programm und ein Qt-Programm zur Verfügung, wobei die Entwickler letzteres als noch nicht benutzbar und die GTK+-Oberfläche nur als eingeschränkt nutzbar bezeichnen.
Manche Logikanalysatoren benötigen Firmware, die in das Gerät geladen werden muss. Für proprietäre Firmware können die Entwickler lediglich Informationen bereitstellen, wie man sie aus der Hersteller-Software extrahiert. Für Firmware, die frei verteilt werden darf, haben die Entwickler ein Git-Repositorium bereitgestellt. Für Logikanalysatoren, die auf Cypress FX2 beruhen, existiert eine unter der GPL publizierte freie Firmware.
Die Zukunft für Sigrok scheint rosig. Die Entwickler haben noch viele Erweiterungen vor, sogar die Unterstützung von Analogdaten von Oszilloskopen und Multimetern steht auf dem Plan. Neben dem Quellcode steht in Debian Testing bereits ein Binärpaket zur Verfügung.