www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik sigrok - Cross-Platform Open-Source Logic Analyzer Software


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Uwe Hermann (uwehermann) Benutzerseite
Datum:
Angehängte Dateien:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hi,

ich hab ganz versäumt das sigrok Projekt hier mal "offiziell" 
vorzustellen:

Das ist eine Open-Source (GPL), platformübergreifende Software-Suite 
(Linux, Mac OS X, FreeBSD, Windows, u.a. geplant) für verschiedenste 
Logic Analyzer.

  http://sigrok.org

Das Projekt ist im Moment wie folgt aufgebaut:

*libsigrok*: C shared library die die allgemeine Infrastruktur und 
modulare "Treiber" für Logic Analyzer Hardware bereitstellt, sowie 
modularen Support für Input/Output Dateiformate.

Derzeit unterstützte Hardware:

  demo                 Demo driver, pattern generator
  ols                  Openbench Logic Sniffer
  zeroplus-logic-cube  Zeroplus Logic Cube LAP-C series
  asix-sigma           ASIX SIGMA
  chronovu-la8         ChronoVu LA8
  fx2lafw              fx2lafw (FX2 LAs)

fx2lafw ist eine Open-Source Firmware für Cypress FX2 Geräte, u.a. 
Saleae Logic, USBee SX, uvm.

  http://sigrok.org/wiki/Fx2lafw

Support für viele weitere Logic Analyzer ist schon auf der TODO-Liste, 
u.a. RockyLogic Ant8/Ant18e, Ikalogic SCANALOGIC-2 PRO, MiniLA Mockup, 
Acute PKLA-1216, Saleae Logic16, PoLabs PoScope Basic2, uvm:

  http://sigrok.org/wiki/Supported_hardware

Derzeit unterstützte Dateiformate:

  sigrok session       Default-Format das alle Metadaten enthält
  bits                 Bits
  hex                  Hexadecimal
  ascii                ASCII
  binary               Raw binary
  vcd                  Value Change Dump (VCD)
  ols                  OpenBench Logic Sniffer
  gnuplot              Gnuplot
  chronovu-la8         ChronoVu LA8
  csv                  Comma-separated values (CSV)

*libsigrokdecode*: C shared library für Protocol Decoder Support. Die 
einzelnen Protocol Decoder sind in Python (>= 3) geschrieben.

Derzeit unterstützte Decoder:

  dcf77                DCF77 time protocol
  lpc                  Low-Pin-Count
  mx25lxx05d           Macronix MX25Lxx05D
  jtag_stm32           Joint Test Action Group / ST STM32
  i2s                  Integrated Interchip Sound
  spi                  Serial Peripheral Interface
  edid                 Extended display identification data
  pan1321              Panasonic PAN1321
  mlx90614             Melexis MLX90614
  jtag                 Joint Test Action Group
  rtc8564              Epson RTC-8564 JE/NB
  transitioncounter    Pin transition counter
  usb                  Universal Serial Bus
  i2cdemux             I2C demultiplexer
  i2c                  Inter-Integrated Circuit
  i2cfilter            I2C filter
  mxc6225xu            MEMSIC MXC6225XU
  uart                 Universal Asynchronous Receiver/Transmitter

Ein wichtiges Ziel war es hier das Schreiben/Verstehen von Decodern 
möglichst einfach und intuitiv zu machen, daher Python (auch wenn das 
ein wenig auf Kosten der Performance geht). Ich rechne fest damit, dass 
wir innerhalb kürzester Zeit 10-20 weitere Decoder haben werden, sowohl 
von uns geschrieben, als auch von anderen Leuten beigesteuerte (hint, 
hint).

*sigrok-cli*: Kommandozeilentool, das die beiden Libs benutzt. 
Beispielaufrufe:

Eine Millisekunde mit 1MHz sampeln und in Datei schreiben:

 $ sigrok-cli -d chronovu-la8:samplerate=1mhz --time 1ms -o test.sr

JTAG Protocol Decoder über eine Datei drüber laufen lassen:

 $ sigrok-cli -i test.sr -a jtag:tdi=5:tms=2:tck=3:tdo=7
 [...]
 jtag: "New state: EXIT1-IR"
 jtag: "IR TDI: 11111110, 8 bits"
 jtag: "IR TDO: 11110001, 8 bits"
 jtag: "New state: UPDATE-IR"
 jtag: "New state: RUN-TEST/IDLE"
 jtag: "New state: SELECT-DR-SCAN"
 jtag: "New state: CAPTURE-DR"
 jtag: "New state: SHIFT-DR"
 [...]

usw. usw.

Derzeit sind noch zwei GUIs in Arbeit (aber noch nicht gut benutzbar, 
eher Alpha-Software): sigrok-gtk und sigrok-qt (GTK+ und Qt basiert), 
die jeweils auf libsigrok + libsigrokdecode basieren.

Windows Support ist im Moment leider noch nicht brauchbar, wir sind aber 
dran diverse libusb- und Portabilitätsfixes zu implementieren. Installer 
EXE-Dateien stehen schon.

Die nächste große Baustelle wird auch Support für Analog-Daten sein, 
d.h. Support für Oszis, Multimeter, usw. Dafür brauchts dann auch wieder 
nochmal aufwändigen GUI-Support, das kann also noch ein wenig dauern.


Wir sind natürlich immer an Patches interessiert, egal ob Support für 
neue Hardware, Bugfixes, neue Protocol Decoder usw... Der Code ist in 
Git, es gibt eine Mailingliste und einen IRC-Channel (#sigrok auf 
Freenode).

Uwe.

Autor: Chris (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo Uwe,
ich hatte mir damals die Software angesehen, sind inzwischen fast Jahre 
vergangen. Damals war sie viel zu langsam, der Protokoll Dekoder kam mit
den 50/100 Mbytes/sec an Daten nicht zurecht.  Wie ist es derzeit.
Mein Test war 10Mbit rs485, IRDA, 25Mhz SPI und 2Mbit Glasfaser 
(Manchester)
dekodierung, eigentlich alles nicht soo schnell, nur realtime ging es 
nicht.
Daten waren mit 100Mbyte/s eingelesen, komprimiert und über usb 
übertragen.

Autor: Uwe Hermann (uwehermann) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hi,

Chris schrieb:
> Hallo Uwe,
> ich hatte mir damals die Software angesehen, sind inzwischen fast Jahre
> vergangen. Damals war sie viel zu langsam, der Protokoll Dekoder kam mit
> den 50/100 Mbytes/sec an Daten nicht zurecht.

Welche Hardware hast du benutzt und welchen Decoder? Soo alt sind die 
nun auch wieder nicht, kann noch nicht so lang her sein :) Das, was vor 
einigen Monaten noch drin war, war nur Testcode und nicht wirklich zu 
gebrauchen.

Prinzipiell ist realtime im Moment eher schwierig ja. Die Logic Analyzer 
die durchgehend streamen können (im Großen und Ganzen die FX2-basierten 
im Moment) haben generell das Problem, dass sie bei allerspätestens 
24MHz Samplerate aussteigen, meist eher sehr sehr viel früher, je nach 
sonstigem USB-Traffic im System. Das werden wir noch etwas verbessern 
indem wir das Sampeln in einem anderen Thread machen als das Speichern 
und Dekodieren, das Grundproblem bleibt aber.

Man kann im Moment in der Therie schon auch "live" sampeln und 
dekodieren, nur geht die Performance bei höheren Sampleraten schnell in 
die Knie und man kommt nicht hinterher.

Als Ausweichlösung kann man natürlich immer in eine Datei speichern, und 
später aus der Datei dekodieren.


> Wie ist es derzeit.
> Mein Test war 10Mbit rs485, IRDA, 25Mhz SPI und 2Mbit Glasfaser
> (Manchester)
> dekodierung, eigentlich alles nicht soo schnell, nur realtime ging es
> nicht.
> Daten waren mit 100Mbyte/s eingelesen, komprimiert und über usb
> übertragen.

Kannst du von den oben genannten Sachen Dumps im .sr Format machen für 
unser Repo (Lizenz "Public Domain" falls du nichts anderes bevorzugst)? 
Wir sammeln ein paar Test-Dumps für jedes Protokoll zu Debug- und 
Test-Zwecken beim Dekoder-Entwickeln. Das wäre super!

Beispiele hier:
http://sigrok.git.sourceforge.net/git/gitweb.cgi?p...

Falls möglich bitte mit Doku was wo wie angeschlossen war, welcher Logic 
Analyzer benutzt wurde, welches Protokoll / welche Hardware gedumpt 
wurde usw.


Danke, Uwe.

Autor: Chris (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Benutzt wurde Xtag-2 (Xmos) mit LA-SW , kann bis 50Mhz extern 
syncronisiert
werden und 100Mhz im free running mode, welche dann komprimiert und mit 
ca
50Mbyte/sek über USB hochgeschickt werden, 12Leitungen. Abgesehen von 
der Glasfaser müsste ich noch ein paar logs haben. Die HW ist 
konkurrenzlos
günstig.

Autor: Uwe Bonnes (Firma: TU Darmstadt) (uwebonnes)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Getriggertes samplen geht wohl noch nicht. Irgendetwas in der Mache?

Autor: Uwe Hermann (uwehermann) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Uwe Bonnes schrieb:
> Getriggertes samplen geht wohl noch nicht. Irgendetwas in der Mache?

Sollte an sich schon gehen, hängt aber etwas vom Hardware-Treiber ab:

Beispiel von ASIX Sigma (soweit ich weiss):

  To capture data from 4 probes lasting 100ms at 10 MHz starting at the
  trigger condition 1:high, 2:rising, 3:low, 4:high, use:

  sigrok-cli -d 0:samplerate=10m -p 1-4 --time 100 \
             --wait-trigger --triggers 1=1,2=r,3=0,4=1

Autor: Uwe Hermann (uwehermann) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Chris schrieb:
> Benutzt wurde Xtag-2 (Xmos) mit LA-SW , kann bis 50Mhz extern
> syncronisiert
> werden und 100Mhz im free running mode, welche dann komprimiert und mit
> ca
> 50Mbyte/sek über USB hochgeschickt werden, 12Leitungen.

Hm, jetzt bin ich etwas verwirrt. Hast du einen Link zu der Software? Du 
hast also nicht mit sigrok gesampelt, oder habe ich das falsch 
verstanden?

Sehe ich das richtig, du has diese Hardware hier als Logic Analyzer 
benutzt?

http://www.xmos.com/products/development-kits/xtag...

Wenn ja, mit spezieller Firmware? Woher? Gibts da ein Projekt bzw. eine 
URL?


> Abgesehen von
> der Glasfaser müsste ich noch ein paar logs haben. Die HW ist
> konkurrenzlos günstig.

In der Tat. Und diese Logs waren mit sigrok erstellt oder anderer 
Software? Falls letzteres, welches Format?

Danke, Uwe.

Autor: Chris (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
> Sehe ich das richtig, du has diese Hardware hier als Logic Analyzer
> benutzt?
>
> http://www.xmos.com/products/development-kits/xtag...
>
Genau.

> Wenn ja, mit spezieller Firmware? Woher? Gibts da ein Projekt bzw. eine
> URL?
Gab es, Domain und websites sind inzwischen zweimal umgemodelt worden,
(Xmos) und dann habe ich das Projekt nicht mehr publiziert, weil ich
http://www.kickstarter.com/projects/bushing/openvi... 
gefunden habe, welche damals bereits schon
das Geld eingesammelt hatten und ich nicht meine Arbeit denen zur 
Verfügung stellen wollte. Hatte ich kurz zuvor entdeckt als ich es
posten wollte.

>
>
>> Abgesehen von
>> der Glasfaser müsste ich noch ein paar logs haben. Die HW ist
>> konkurrenzlos günstig.
>
> In der Tat. Und diese Logs waren mit sigrok erstellt oder anderer
> Software? Falls letzteres, welches Format?
Die waren mit sigrok erstellt, dem damaligen code, natürlich 
modifiziert.
Da aber eigentlich nichts funktionierte, und das gleichzeitige 
Abspeichern
und einlesen von USB bei 50Mbyte auch nicht ging, es funktionierte nur 
mit
Ramdisk, wurde auch nichts committed. Warscheinlich würde es gehen, wenn
man die RLE Daten weiters mit libzip comprimieren würde, ansonsten
schafft es der PCI bus nicht.

>
> Danke, Uwe.

Ps. Es lässt sich darüber reden, die Dinger mit modifizierter FW 
(encrypted) zu verkaufen, um ein paar Euro mehr, 4 Bits gehen mit 200Mhz
problemlos, ausgetested wurde schon 600Mhz und 2 bits, ob das aber nur 
Augenauswischerei ist, kann ich nicht beurteilen, würde dem der das 
messen kann so ein Modul schenken.

Autor: Uwe Hermann (uwehermann) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hi,

Chris schrieb:
>>> Abgesehen von
>>> der Glasfaser müsste ich noch ein paar logs haben. Die HW ist
>>> konkurrenzlos günstig.
>>
>> In der Tat. Und diese Logs waren mit sigrok erstellt oder anderer
>> Software? Falls letzteres, welches Format?
> Die waren mit sigrok erstellt, dem damaligen code, natürlich
> modifiziert.
> Da aber eigentlich nichts funktionierte, und das gleichzeitige
> Abspeichern
> und einlesen von USB bei 50Mbyte auch nicht ging, es funktionierte nur
> mit
> Ramdisk, wurde auch nichts committed. Warscheinlich würde es gehen, wenn
> man die RLE Daten weiters mit libzip comprimieren würde, ansonsten
> schafft es der PCI bus nicht.

Hm, nochmal zum Verständnis, du hast das XTAG2 als General-Purpose Logic 
Analyzer benutzt um externe Signale irgendwo abzugreifen? Oder ist das 
so Chipscope-artig nur um XMOS-Interna zu sampeln?

Btw, sigrok benutzt inzwischen libzip intern um die Output files zu 
packen (*.sr).


> Ps. Es lässt sich darüber reden, die Dinger mit modifizierter FW
> (encrypted) zu verkaufen, um ein paar Euro mehr, 4 Bits gehen mit 200Mhz
> problemlos, ausgetested wurde schon 600Mhz und 2 bits, ob das aber nur
> Augenauswischerei ist, kann ich nicht beurteilen, würde dem der das
> messen kann so ein Modul schenken.

Hast du da ein Produkt daraus gemacht und/oder würdest es machen, oder 
wie ist das gemeint? Ich hab nach einigem Suchen, weil mir das alles 
irgendwie bekannt vorkam, noch das hier gefunden, das hat Henk Muller 
(scheinbar XMOS-Mitarbeiter) vor einiger Zeit angefangen, ich dachte 
erst es geht um dieses Projekt, scheint ja aber nicht der Fall zu sein, 
oder?

  https://github.com/xcore/sw_logic_analyzer

  http://news.gmane.org/gmane.comp.debugging.sigrok.devel

Ich weiss auch nicht was der Stand davon ist, ob es überhaupt läuft usw.

Anyway, wir sind natürlich sehr daran interessiert sigrok Support für 
diese Hardware zu haben, falls irgend möglich. Ganz besonders dann wenn 
es als General-Purpose LA eingesetzt werden kann.

Uwe.

Autor: Guido (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert

Autor: MikroControllerProgrammierer (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Eignet sich das auch für den hiesigen LA - > siehe LA ARtikel.
?

Autor: Uwe Hermann (uwehermann) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
MikroControllerProgrammierer schrieb:
> Eignet sich das auch für den hiesigen LA - > siehe LA ARtikel.
> ?

Welchen genau meinst du? Link? Falls "MiniLA Mockup" dann ja, ich habe 
so einen daheim und plane dafür einen sigrok Treiber zu machen, weiss 
allerdings nicht wann ich dazu kommen werde.

Uwe.

Autor: Thomas Sch. (doschi_)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo Uwe,

wird der Beitrag "10 Euro Logikanalyzer" (von 
Dealextreme/ dx) auch von sigrok unterstützt?
Er ähnelt optisch diesem hier: http://sigrok.org/wiki/ARMFLY_Mini-Logic
Die Beschriftung lautet angeblich (ich habe noch keinen) "USBEE AX PRO".

Kann man sigrok schon einfach unter Windows nutzen?

Danke,
Thomas

Autor: lukas (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
IThomas Sch. schrieb:
> Hallo Uwe,
>
> wird der Beitrag "10 Euro Logikanalyzer" (von
> Dealextreme/ dx) auch von sigrok unterstützt?
> Er ähnelt optisch diesem hier: http://sigrok.org/wiki/ARMFLY_Mini-Logic
> Die Beschriftung lautet angeblich (ich habe noch keinen) "USBEE AX PRO".
>
> Kann man sigrok schon einfach unter Windows nutzen?
>
> Danke,
> Thomas

Bitte um Antwort bezueglich Windows

Bräuchte das ganze unter Win mit dem usbee clone

Autor: Uwe Hermann (uwehermann) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
lukas schrieb:
> IThomas Sch. schrieb:
>> Hallo Uwe,
>>
>> wird der Beitrag "10 Euro Logikanalyzer" (von
>> Dealextreme/ dx) auch von sigrok unterstützt?
>> Er ähnelt optisch diesem hier: http://sigrok.org/wiki/ARMFLY_Mini-Logic
>> Die Beschriftung lautet angeblich (ich habe noch keinen) "USBEE AX PRO".
>>
>> Kann man sigrok schon einfach unter Windows nutzen?
>>
>> Danke,
>> Thomas
>
> Bitte um Antwort bezueglich Windows
>
> Bräuchte das ganze unter Win mit dem usbee clone

Windows Unterstützung ist definitiv geplant, aber im Moment noch nicht 
so richtig brauchbar. Wir arbeiten aber dran.

Alle Libraries und Applikationen die zu sigrok gehören sind prinzipiell 
portabel ausgelegt, es kompiliert jetzt schon alles ganz gut unter 
Linux, Mac OS, Windows, FreeBSD, usw., auch auf x86, ARM, SPARC, PowerPC 
etc. etc.

Ich habe schon NSIS Installer für das Kommandozeilentool (sigrok-cli) 
und alle derzeitigen GUIs (sigrok-qt, sigrok-gtk, PulseView) 
vorbereitet, d.h. es wird später z.B. eine simple 
pulseview-installer.exe geben wo alles mit dabei ist was man braucht, 
das ist soweit kein Problem.

Für Windows gibt es aber derzeit noch diverse offene Baustellen, so dass 
es z.Zt. noch keinen Sinn macht einen Installer zum Download anzubieten. 
Sobald ein einigermaßen brauchbarer Stand erreicht ist, wird es 
Installer geben. Bis dahin sind Linux, FreeBSD, oder Mac OS X aber 
erstmal die bessere Wahl.


Uwe.

Autor: Bär_Tram (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo,

das Projekt hört sich ja ganz interessant an. Beim "Blättern" über die 
Homepage habe ich aber (zumindest auf die Schnelle) keine HowTo o.ä. 
gefunden. Im Eröffnungsthread wird ja der Konsolenmodus als Beispiel 
gezeigt und 2 GUI angedeutet.
Wie aber arbeitet man mit der Software in der Praxis? Gibt es da 
irgendwelche Doku/Beispiele/Demos, wie man die erzeugte Logdatei dann 
mit einem Decoder weiterverarbeitet?

Autor: Andreas Gassner (andreasgs)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hi,

Ein wirklich sehr interessantes Projekt. Genauso wie Bär_Tram würde auch 
mich der geplante Praxiseinsatz interessieren. Ich denke, dass die GUI 
sehr entscheidend für den Projekterfolg sein wird.

Weiterhin würde mich interessieren, vorallem im Bezug GUI, ob ein 
Bedienpanel (gerne auch Open-Source) ala

http://www.etc.sk/index.php/en/products/auxiliary-...

unterstützt werden wird?

Können später mehrere Geräte wie ein Hantek DSO-2090 angeschlossen 
werden um mehr als nur 2 Kanäle zu messen?


Grüßle
Andreas

Autor: Peter W. (peterw)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Uwe Hermann schrieb:
> Windows Unterstützung ist definitiv geplant, aber im Moment noch nicht
> so richtig brauchbar. Wir arbeiten aber dran.

Ich weiss, dass man diese Frage eigentlich nicht stellt (ich selbst 
antworte immer mit "2 Wochen" ;) ). Aber gibt es einen ungefähren 
Zeitplan?

Autor: Volkmar Dierkes (volkmar)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo,

ich habe eine Frage zu sigrok-cli. Ich habe es dann trotz meiner 
geringen Linux-Kenntnisse geschafft alles zu installieren (auf Xubuntu 
12.04) und nachdem ich dem Account auch root-Rechte hinzugefügt hatte 
wurde auch mein USBee Clone erfolgreich erkannt (firmware hochgeladen). 
Ich bekomme nun folgende Liste:
xxx@xxx:~$ sigrok-cli -D
sr: alsa: Cannot get device info (hw:0,4): No such file or directory.
The following devices were found:
Demo device with 8 probes: 0 1 2 3 4 5 6 7
ALSA: Intel 82801DB-ICH4 Intel 82801DB-ICH4 with 2 probes: Ch_0 Ch_1
ALSA: Intel 82801DB-ICH4 Intel 82801DB-ICH4 - MIC ADC with 2 probes: Ch_0 Ch_1
ALSA: Intel 82801DB-ICH4 Intel 82801DB-ICH4 - MIC2 ADC with 2 probes: Ch_0 Ch_1
ALSA: Intel 82801DB-ICH4 Intel 82801DB-ICH4 - ADC2 with 2 probes: Ch_0 Ch_1
CWAV USBee AX with 8 probes: 0 1 2 3 4 5 6 7

pulseview erkennt auch den USBee, aber ich schaffe es nicht den USBee 
von sigrok-cli aus anzusprechen. Was muß ich nach dem Parameter -d 
angeben damit ich die Daten lesen kann?

Die Fehlermeldung "sr: alsa: Cannot get device info" kann ich auch nicht 
deuten.

Gruß
Volkmar

Autor: Johannes R. (jr17oo)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo Volkmar,

das Problem hat mich auch ein wenig Zeit gekostet, bis ich es verstanden 
hatte. Verwende einfach den Parameter "--driver", dann sollte alles 
klappen.

Beispiel:
sigrok-cli --driver fx2lafw -d samplerate=16m --time 1000

Da du nur ein einziges fx2lafw-Gerät hast, ist bei "-d" keine Angabe der 
Device-ID nötig. Ganz auf "-d" verzichten kannst du aber nicht, da du 
damit ja die Samplerate einstellst.

Ansonsten häng nochmal "-l 5" mit dran, dann werden die Fehlermeldungen 
ein wenig ausführlicher.
Die Parameter sind in der man-Page ganz gut erklärt.

Autor: min (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Alsa sind die Linux-Soundtreiber (für Soundkartenoszi o.ä). In pulseview 
müssten dann das: "CWAV USBee AX" anwählbar sein.

Autor: Peter W. (peterw)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Gibt es irgendwo auch eine "einfache" Anleitung für sigrok? Ich 
scheitere schon damit herauszufinden warum es zig GUIs gibt und welches 
ich brauche :D

Wie es scheint sind leider bei Ubuntu nur die lib und das cli dabei, und 
ich hatte eigentlich gehofft den Compiler nicht anwerfen zu müssen.

Autor: Volkmar Dierkes (volkmar)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo Johannes,

Johannes R. schrieb:
> das Problem hat mich auch ein wenig Zeit gekostet, bis ich es verstanden
> hatte. Verwende einfach den Parameter "--driver", dann sollte alles
> klappen.

Danke für Deine Erklärungen, die haben mir wirklich geholfen. Nun klappt 
es und auch die Angabe der Port-Pins und Trigger funktioniert. 
Wunderbar!

Johannes R. schrieb:
> Da du nur ein einziges fx2lafw-Gerät hast, ist bei "-d" keine Angabe der
> Device-ID nötig.

Und wie gebe ich es an, wenn ich 2 von den Dingern hätte?

min schrieb:
> Alsa sind die Linux-Soundtreiber (für Soundkartenoszi o.ä). In pulseview
> müssten dann das: "CWAV USBee AX" anwählbar sein.

Das mit den Soundtreibern hatte ich schon vermutet, Danke für die 
Bestätigung. Pulseview läuft, Danke. Aber da ich dort keine 
Protokolldecoder angeben kann, wollte ich es zunächst mit sigrok-cli 
versuchen.

Gruß
Volkmar

Autor: Interessierter (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Die Decoderliste wächst ja erfreulich. Ist es auch mal angedacht, neben 
der reinen Decodierung auch einen Interpreter dazuzubringen? So daß z.B. 
in pulseview der interpretierte Wert (z.B. "SOF" usw.) über der Kurve 
angezeigt wird?

Autor: Uwe Hermann (uwehermann) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Interessierter schrieb:
> Die Decoderliste wächst ja erfreulich. Ist es auch mal angedacht, neben
> der reinen Decodierung auch einen Interpreter dazuzubringen? So daß z.B.
> in pulseview der interpretierte Wert (z.B. "SOF" usw.) über der Kurve
> angezeigt wird?

Ja, natürlich, die Anzeige der dekodierten "Pakete"/Daten soll auf jeden 
Fall in den GUIs auftauchen, ist auch derzeit in Arbeit. Bis es soweit 
ist, bleibt aber das Kommandozeilentool sigrok-cli die einzige 
Möglichkeit die dekodierten Daten auszugeben bzw. in Dateien zu 
speichern und evtl. weiterzuverarbeiten.

Uwe.

Beitrag #3025203 wurde von einem Moderator gelöscht.
Autor: dfgh (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ich habe momentan ein seltsames Problem:

In Pulseview kann ich problemlos beliebig viele Samples mit ein 
Samplerate von bis zu 12MHz aufnehmen und ansehen.

Da man dort aber bisher nicht Speichern kann, habe ich sigrok-cli 
folgendermaßen aufgerufen:

> sigrok-cli --driver fx2lafw -d samplerate=1m -o testsampling.csv -O csv -p
> 0=PIN1_G,1=PIN2,2=PIN3_V,3=PIN4,4=PIN5,5=PIN6,6=PIN7,7=PIN8,8=PIN9 --time
> 1000

Offensichtlich verschluckt sich Sigrok aber hier an der Datenmenge, denn 
ich bekomme immer die Meldung

> Device only sent 235520 samples.  (Die Zahl ändert sich dabei)

Irgendwo muss es also einen Unterschied zwischen dem Aufruf von 
sigrok-cli und pulseview geben, obwohl doch pulseview eigentlich nur 
sigrok-cli aufruft, wenn ich das korrekt verstanden habe?

Autor: Uwe Hermann (uwehermann) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
dfgh schrieb:
> Ich habe momentan ein seltsames Problem:
>
> In Pulseview kann ich problemlos beliebig viele Samples mit ein
> Samplerate von bis zu 12MHz aufnehmen und ansehen.
>
> Da man dort aber bisher nicht Speichern kann, habe ich sigrok-cli
> folgendermaßen aufgerufen:
>
>> sigrok-cli --driver fx2lafw -d samplerate=1m -o testsampling.csv -O csv -p
>> 0=PIN1_G,1=PIN2,2=PIN3_V,3=PIN4,4=PIN5,5=PIN6,6=PIN7,7=PIN8,8=PIN9 --time
>> 1000
>
> Offensichtlich verschluckt sich Sigrok aber hier an der Datenmenge, denn
> ich bekomme immer die Meldung
>
>> Device only sent 235520 samples.  (Die Zahl ändert sich dabei)
>
> Irgendwo muss es also einen Unterschied zwischen dem Aufruf von
> sigrok-cli und pulseview geben, obwohl doch pulseview eigentlich nur
> sigrok-cli aufruft, wenn ich das korrekt verstanden habe?

Nein, Pulseview ist eine GUI die libsigrok benutzt, sigrok-cli ist ein 
Kommandozeilentool das ebenfalls libsigrok benutzt. PulseView ruft aber 
nicht sigrok-cli auf.

Die "only sent 235520 samples" Meldungen sind das inherente Problem bei 
FX2-basierten Logic Analyzern, je nach Samplerate (je höher desto 
schlimmer), CPU-Auslastung, USB-Bus Auslastung und sonstigen Umständen 
können Samples verloren gehen.

In diesem Fall liegt der Unterschied im CSV Export denke ich, das ganze 
Stringmanipulieren dauert relativ lange bei großen Datenmengen, daher 
steigt er irgendwann aus. Da gibts sicherlich Optimierungspotenzial 
sowohl im CSV-Exporter als auch in libsigrok generell, um weniger oft 
Samples zu verlieren.

Als Workaround für den Moment kannst du aber wie üblich ins "normale" 
.sr Format speichern (statt CSV), das geht am besten/schnellsten, und 
alles weitere dann später "offline" machen (z.B. nach CSV exportieren, 
Protokoll Decoder laufen lassen, etc).

 $ sigrok-cli --driver fx2lafw -d samplerate=1m -o testsampling.sr -p 
0=PIN1_G,1=PIN2,2=PIN3_V,3=PIN4,4=PIN5,5=PIN6,6=PIN7,7=PIN8,8=PIN9 
--time 1000

Uwe.

Autor: Franz (Gast)
Datum:
Angehängte Dateien:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo!

Nachdem ich alle git-repositorys geclont habe und mein Ubuntu 12.04.2 
LTS auch alles compilieren und installieren konnte, wollte ich mit 
meinem USBee AX PRO-Clone ein paar Samples aufnehmen:
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 013: ID 08a9:0014  
USB device ist da, wenn auch ohne Name.
$ sigrok-cli --scan
The following devices were found:
demo - Demo device with 8 probes: 0 1 2 3 4 5 6 7
fx2lafw:conn=4.13 - CWAV USBee AX with 8 probes: 0 1 2 3 4 5 6 7
sigrok scheint das Gerät zu erkennen.

Aber egal welche Samplerate, wieviele Samples oder welche Zeit ich 
einstelle:
$ sigrok-cli --driver fx2lafw:samplerate=1m --samples 64 -o test.sr
Device only sent 0 samples.
Ich bekomme 0 Samples :-(
In Worten: null

Im Anhang gibt es noch den ausführlichen Output (-l 5).

Vielleicht kann mir ja jemand weiterhelfen.

Viele Grüße
Franz

Autor: Uwe Hermann (uwehermann) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
hi,

Franz schrieb:
> Hallo!
>
> Nachdem ich alle git-repositorys geclont habe und mein Ubuntu 12.04.2
> LTS auch alles compilieren und installieren konnte, wollte ich mit
> meinem USBee AX PRO-Clone ein paar Samples aufnehmen:
>
> $ lsusb
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 004 Device 013: ID 08a9:0014
> 
> USB device ist da, wenn auch ohne Name.

Sieht soweit gut aus, der Name ist optional, das ist kein Bug oder so.


>
> $ sigrok-cli --scan
> The following devices were found:
> demo - Demo device with 8 probes: 0 1 2 3 4 5 6 7
> fx2lafw:conn=4.13 - CWAV USBee AX with 8 probes: 0 1 2 3 4 5 6 7
> 
> sigrok scheint das Gerät zu erkennen.

Sieht auch richtig aus.


> Aber egal welche Samplerate, wieviele Samples oder welche Zeit ich
> einstelle:
>
> $ sigrok-cli --driver fx2lafw:samplerate=1m --samples 64 -o test.sr
> Device only sent 0 samples.
> 
> Ich bekomme 0 Samples :-(
> In Worten: *null*

Die Kommandozeilenoptionen von sigrok-cli haben sich etwas verändert, es 
sollte etwa so aussehen im neuesten git:

 sigrok-cli --driver fx2lafw --config samplerate=1m --samples 64

Der Debug-Output sieht trotzdem etwas seltsam aus. Probier mal ohne USB 
Hub (falls einer dran ist), und probier definitiv ein "gutes" USB-Kabel, 
das mitgelieferte war in vielen Fällen schon kompletter Müll und führt 
zu allen möglichen seltsamen Effekten.

Ansonsten müssen noch die Permissions für das USB Device stimmen, also 
z.B. als root ausführen oder die udev-Datei benutzen die libsigrok 
mitliefert.

Ach ja, und die fx2lafw Firmware muss die neueste sein (0.1.1 oder git), 
ältere Versionen haben die "Fake" FX2LP (die eigtl. ältere FX2 sind) 
noch nicht unterstützt.

Uwe.

Autor: Franz (Gast)
Datum:
Angehängte Dateien:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo Uwe!

Uwe Hermann schrieb:
> probier definitiv ein "gutes" USB-Kabel,
> das mitgelieferte war in vielen Fällen schon kompletter Müll und führt
> zu allen möglichen seltsamen Effekten.
Danke, das war der entscheidende Hinweis. Mit dem Kabel von der Digicam 
klappt es einwandfrei.

Ich frage mich nur, was man an so einem Kabel eigentlich falsch machen 
kann ?!? Selbst mit einem zusätzlichem Klappferrit funktioniert es 
nicht.

Und vielen Dank für die nette Software (sigrok-cli). Sieht sehr 
vielversprechend aus.

Viele Grüße
Franz

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net