Forum: Mikrocontroller und Digitale Elektronik Bedarf an einer universellen Logic-Analyser Software?


von Christian (Gast)


Lesenswert?

Hi,

wir planen gerade in einer kleinen Gruppe eine "universelles"
Frontend für Logic Analyser zu entwickeln. Universell soll heißen,
durch Plugins/Module an nahezu beliebige Hardware anzupassen und zu
erweitern, so plattformunabhängig wie möglich, skalierbar und als
OpenSource völlig frei :-)
Wie seht ihr den Bedarf an einer solchen Software? Was würdet ihr euch
von so einer Software wünschen?

Siehe dazu auch den Thread in PC-Programmierung:
http://www.mikrocontroller.net/forum/read-8-128949.html#new

Ich freue mich über jeden konstruktiven Kommentar zur Idee
Christian

von Markus (Gast)


Lesenswert?

Wollt Ihr euch nur auf Logic Analyzer beschränken?
Die Idee mit den Erweiterungen klingt eher nach LabView
http://www.ni.com/labview/ (man beachte die Preise).

Und genau sowas würde ich mir auch wünschen. Ich hab auch schon
überlegt, so was selbst zu versuchen, aber das ist (wenn es gut werden
soll) sehr viel Aufwand.

Markus

von Christian (Gast)


Lesenswert?

Der Logic Analyser ist der Ansatz. Sich direkt auf die Implementation
einer eierlegende Wollmilchsau wie LabView zu stürzen, halte ich schon
fast für vermessen. Vor allem in Hinblick auf die Zeit bis zum ersten
Release.
Die Idee mit der Erweiterung ziehlt natürlich auch darauf ab, später
möglichst einfach anderes Equipment, wie analoge Datenerfassung á la
Oszi einbinden zu können. Allerdings werden wir zuerst sehen, dass wir
die LA-Version hinbekommen, wie wir uns das vorstellen. Danach ist
abzuwarten, wie und ob sich das Projekt mit ensprechender Dynamik
weiterentwickelt (hoffentlich nicht nur von uns). Und wenn das Programm
von einem solchen Paket "assimiliert" wird oder mutiert... auch gut,
eigentlich sogar noch besser...

Wir werden hoffentlich schon bald unseren Planungsstand (inkl.
Schnittstellen etc.) veröffentlichen, leider (?) kommt da noch ein
bisschen Weihnachten & Urlaub zwischen ;)

von Markus (Gast)


Lesenswert?

Natürlich muß da nicht als erstes Release ein ernsthafter
Labview-Konkurrent rauskommen (und ich bin auch nicht so der Fan von
grafischer Programmierung). Mir scheint nur die Beschränkung auf
Logikanalyser etwas einseitig. Wenn die Darstellung nur ein
Modul/Plugin ist, dann sollte sich das ziemlich einfach zu einem
Oszilloskop umbauen lassen.

Du hast aber natürlich völlig recht damit, daß man bei der Entwicklung
nichts überstürzen darf. Es gibt auf sourceforge bereits zu viele
ambitionierte aber tote Projekte.

Markus

von tomi (Gast)


Lesenswert?

Ich wäre das hier mal wieder auf, ist daraus irgendwas geworden? ich 
hätte großes Interesse.

von Manuel K. (manuel1139)


Lesenswert?

Dazu kann ich (leider) nichts sagen... Wäre aber an einem entsprechenden 
Projekt gerne beteiligt...

von Unbekannter (Gast)


Lesenswert?

Das wäre interessant. Aber bitte klein anfangen, damit was bei raus 
kommt! LAbview kann keiner gebrauchen - viel zu kompliziert!

Meine Anforderungen für einen LA:

- Adaption an virtuelle Datenformate, die von anderen LAs geschrieben 
wurden.
- Ein- und Ausblenden von unbelegten Bereichen ohne Signalwechsel mit 
+/- Symbolik wie bei Dateiordnern
- Rekompression der Daten (Elimination von Leerinformation)
- Automatische Zoom und Scrollfunktionen
- Interpreterinterface für Daten in C/c++, damit man eigene Funktionen 
realsieren und compilieren kann
- Grafische Auswertung von binären Datenströmen, z.B. Dezimation und 
Summation, Integrale und Differenziale von Signalen
- Zomm von ausgewählten Bereichen und Speicherung nur DIÉSER Daten im 
Sichtfenster
- Speicherung in diversen Formaten, idealerweise als input anderer 
Analyzersoftware

Wie plant ihr die Anbindung an vorhandene Systeme ?
Ich plane den Kauf des Logic Port.

von Christian U. (z0m3ie)


Lesenswert?

Wenn daraus was geworden wäre hätte man hier sicher etwas mit bekommen 
oder ?

von Gast (Gast)


Lesenswert?

Und ganz wichtig, bitte kein Java benutzen.

von HolgerB (Gast)


Lesenswert?

> Und ganz wichtig, bitte kein Java benutzen.

Wieso? Sicher gibt es viele, die sich ohne große Ahnung vom 
Programmieren irgend einen Haufen Binärschrott zusammenklicken, aber das 
kann dir bei anderen Programmiersprachen auch passieren. Vielleicht sind 
es bei Java ein paar mehr davon, weil jeder WI'ler das im Studium 
aufgetischt bekommen hat und sich jetzt für den größten Programmierer 
hält, aber da kann Java ja nichts für.

Und in Zeiten wo alleine schon das Betriebssystem mehr Leistung braucht 
wie der beste Ego-Shooter vor 2 Jahren lasse ich das Argument der 
Ressourcenverschwendung auch nicht mehr gelten.

PS: Ich nutze Eclipse auf nem alten Laptop der <1GHz-Klasse unter Linux, 
das tut wunderbar. Übrigens nicht zur Java-Programmierung ;-)

von Manuel K. (manuel1139)


Lesenswert?

Grundsätzlich sollte man die Frage der zu verwendeten Programmiersprache 
nach der Analyse/Design Phase stellen. Globale aussagen wie "Bitte kein 
Java" sind dabei wenig hilfreich.

von Unbekannter (Gast)


Lesenswert?

Bitte kein Java!  Bitten sollten geäußert werden können.

von Tropi (Gast)


Lesenswert?

Haste mal n Euro?

von Manuel K. (manuel1139)


Lesenswert?

Aber weiter bringen tut es die Sache an sich nicht... schade...

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Wie wär's damit eine bestehende Software (z.B. die von 
http://www.sump.org) weiterzuentwickeln?

von Christian U. (z0m3ie)


Lesenswert?

@HolgerB das mit dem Java ist schon  berechtigt. Vergleich mal 
OpenOffice mit Microsoft Office allein nur die geschwindigkeit...
Alle Java Apps sind ziemlich Träge und in Echtzeit bereichen nicht zu 
gebrauchen.

Selbiges gilt aber auch z.b. für .net

von Manuel K. (manuel1139)


Lesenswert?

Also ich hab letzte woche Vista gesehen - ich glaub das ist auch in Java 
geschrieben :-)

von Manuel K. (manuel1139)


Lesenswert?

BTW - Weder OpenOffice noch Microsoft Office sind in Java geschrieben ?!

von uu (Gast)


Lesenswert?

Allenfalls sind das Basicinterpreter, in Java geschrieben.

von Christian U. (z0m3ie)


Lesenswert?

Natürlich ist OpenOffice in Java geschrieben.
Microsoft Office natürlich nicht das hab ich als 
Geschwindigkeitsvergleich dagegen gestellt.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Halbwissen und Vorurteile...

Openoffice ist natürlich NICHT in Java geschrieben. Java ist aber für so 
Dinge wie eine LA-Software wunderbar geeignet, da die Software so ohne 
Anpassung auf allen Plattformen läuft.

von Der erste Frager (Gast)


Lesenswert?

@Andreas Schwarz
Das Projekt ist zwar echt gut, nur wenn man das Board kaufen muß und 
dann noch alles andere extra, lohnt es nicht.
Gibt's nichts anderes an Logikschaltungen, welche mit DIL-Fassungen?

von Christian U. (z0m3ie)


Lesenswert?

Tatsählich Sorry ich dachte immer der kern sei auch in Java geschrieben 
aber es sind tatsächlich nur teile. Entschuldigt diese Falschaussage.

The following areas of OpenOffice.org 2.0 depend on a JRE being present:

    * The media player on Unix-like systems
    * All document wizards in Writer
    * Accessibility tools
    * Report Autopilot
    * JDBC driver support
    * HSQL database engine, which is used in OpenOffice.org base
    * XSLT filters
    * BeanShell, the NetBeans scripting language and the Java UNO bridge
    * Export filters to the Aportis.doc (.pdb) format for the Palm OS or 
Pocket Word (.psw) format for the Pocket PC
    * Export filter to LaTeX

Trotsdem bin ich der Meinung man muss gerade in solch zeitkritischen 
Gebieten nicht unbedingt Java nutzen. Plattformunabhängigkeit erreicht 
man auch anders günstig. Warum die Geschwindigkeit einschränken ?

von Christian U. (z0m3ie)


Lesenswert?

So, ich bekomm den Gedanken jetzt auch nicht aus dem Kopf. Es wird jetzt 
sicherlich stimmen geben die sagen, der Ulrich spinnt die vm ist 
mittlerweile genau so schnell. Wie wärs damit hier auch mal was 
produktives rauskommt mit nem kleinen Wettbewerb die paar Stunden würd 
ich mal opfern. Allein schon um mal zu sehn wie wiet java wirklich in 
Sachen Geschwindigkeit ist. Ich würd als Ziel eine einfach LA Software 
sehen Hauptkriterium ist Portabilität und Geschwindigkeit. Zielsysteme 
mind. Windows und Linux. Hardware würd ich sagen einfach Paralellport 
ist man dann halt erstmal auf 0 oder 5V eingeschränkt und hat 8 Kanäle 
zur verfügung. Für Hobby und lau sicherlich durchaus akzeptabel. 
Features würd ich erstmal nur Datenaufzeichnung und anzeige sehen. Was 
meint ihr ? Findet sich noch ein java Programmierer der mitmacht ?

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Wo ist denn eine Logic Analyzer-Software zeitkritisch? Das Aufnehmen der 
Daten macht das Gerät, die Software ist nur für die Darstellung und 
Auswertung zuständig.

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Ich würd das allein aus Interesse mal machen, jedoch bin ich erst am 
Dienstag wieder zuhause, deswegen kann ich noch nicht anfangen.
Mich interessiert in wie weit Java da mithalten kann.

PS: Java kann nicht von sich aus auf den Parallelport/die Serielle 
schnittstelle zugreifen. Dort werden binarys benötigt. Deswegen ists 
schon mal nicht alleine mit Java zu lösen.

von Benedikt K. (benedikt)


Lesenswert?

Hauke Radtki wrote:
> PS: Java kann nicht von sich aus auf den Parallelport/die Serielle
> schnittstelle zugreifen. Dort werden binarys benötigt. Deswegen ists
> schon mal nicht alleine mit Java zu lösen.

Da hätten wir schonmal genug Gründe die gegen Java sprechen...

Was mir an Java auch nicht gefällt: Die Programme sind schlecht 
Transportierbar. Schreibe ich ein Programm in C(++) dann erstelle ich 
eien EXE, kopiere diese auf eine CD o.ä. und starte das Programm auf 
einem anderen PC.
Bei Java wird immer das JRE oder wie das heißt benötigt. Man kann die 
Software also nicht auf Rechnern verwenden auf denen man nichts 
installieren kann/darf.

Aber bevor jetzt wieder ein Java/C Streit ausbricht: Solange die 
Software läuft, kann die Logic-Analyser Software von mir aus auch in 
Java geschrieben sein. Sowas suche ich nämlich auch schon lange. Mein 
selbstgeschriebenes Programm ist nämlich ziemlicher Mist. Da läuft sogar 
Windows stabiler..

Das wichtigste daran ist meiner Meinung nach eine leicht anzupassende 
und flexible Schnittstelle zur Hardware.


von Manuel K. (manuel1139)


Lesenswert?

Wie ich vorher schon geschrieben habe würde mich so ein Projekt auch 
interessieren und das ganze ist natürlich eine gute Möglichkeit Java 
Kenntnisse zu erweitern. Habe zwar schon EINIGES mit Java gemacht aber 
noch nie mit der GUI oder mit externer Hardware zu tun gehabt.

Wenn man sich nur mal ansehen will wie so ein LA in Java aussehen kann, 
dem empfehle ich http://de.sump.org/projects/analyzer/.

Das mit dem Parallel Port hört sich natürlich erst mal schön + günstig 
an. Bei genauerer Betrachtung bin ich jedoch der Meinung das er sich aus 
verschiedenen Gründen nicht eignet:

  - Der Parallel Port ist ein Drucker Port und wird auch vom
    von Java nicht direkt unterstützt. Wer hier jetzt gleich schreit
    "Wieder ein Java nachteil" dem sei gesagt:

Windows XP + .NET und Konsorten können auch nicht von Hause aus auf den 
direkt auf die Hardware des Parallel Port zugreifen. Hier werden auch 
spezielle Treiber benötigt (PortIO, ...).

  - Der Parallel Port müsste dauernd "gepollt" werden. Das würde
    den PC auch mit jeder anderen Programmiersprache lahm legen.

  - Wegen Interrupt latenzen würde das Ergebnis trotzdem nicht genau
    sein.

Also wäre mein Vorschlag das mit einem AVR/PIC zu machen und die Daten
in das interne RAM zu schreiben. Dann könnte man das ganze seelenruhig 
über UART  /USB an den Rechner schicken.

Und für die Hartgesottenen unter uns wäre es auch kein Problem das ganze
mit einem FPGA zu machen. Da wären dann Samplingraten >100 MHZ auch kein 
Problem.

Ein paar Stunden würden für so ein Projekt jedoch sicher nicht reichen 
wenn das ganze was hermachen soll. (Auch weil ich schon im Hinterkopf 
einen LA + Oszi + Freq. Generator habe :-)  )

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Man könnte ja die schnittstelle zur Hardware in C(++) oder so schreiben 
und die eigentliche Anwendung inkl. darstellung und vielleicht auch 
interpretation Java überlassen. So hätte man einen kleinen Teil, der 
beliebig austauschbar ist, und so an jede Hardware/jedes Betriebssystem 
anpassbar ist.

von Manuel K. (manuel1139)


Lesenswert?

Wobei ich mich jetzt hier jetzt schon irgendwie hab dazu hinreisen 
lassen das ganze in Java machen zu wollen :-)

Systemanalytisch natürlich absolut 6-

von Manuel K. (manuel1139)


Lesenswert?

Benedikt K. wrote:
> Hauke Radtki wrote:
>> PS: Java kann nicht von sich aus auf den Parallelport/die Serielle
>> schnittstelle zugreifen. Dort werden binarys benötigt. Deswegen ists
>> schon mal nicht alleine mit Java zu lösen.
>
> Da hätten wir schonmal genug Gründe die gegen Java sprechen...
>

Da würdes du aber auch gegen so ziemlich jede andere Programmiersprache 
sprechen.

Auch C / C++  VB  und was es da sonst noch so gibt können nicht auf 
die Serielle / Parallele Schnittstelle zugreifen. Das macht man immer 
über OS APIs (zumindest in zeiten von Windows XP  Vista  Linux).

Und diese kann mann natürlich auch (wenn auch nicht so komfortabel wie 
mit C) in Java ansprechen (Stichwork JNI).

von Christian U. (z0m3ie)


Lesenswert?

Mit externer Hardware gibt es natürlich auch keine so grossen 
kritikpunkte an Java mehr. Ich bin jedoch davon ausgegangen das man das 
auch ohne externe Hardware lösen möchte. Genauigkeit ist in niederen 
Frequenzen auch erreichbar. Bis 500 khz dürfte das auch mit dem 
Paralellport+Rechner zu machen sein und um I2C oder SPI oder um ein LCD 
Display zu überwachen so die Standart Hobby Sachen zu machen reicht das. 
Man könnte das mit nem Pluginsystem machen so das man später auch eigene 
Hardware oder Fremdhardware einfach anbinden kann. Das war mein 
hauptargument gegen Java. Ich wollte diese ohne Hardware Möglichkeit 
nicht verbauen. Es gibt 2 Möglichkeiten die dort sinn machen. Eine 
Zeitlich garantierte niederfrequente Darstellung so bis 300 oder 500 khz 
und eine Darstellung in der sooft es geht gepollt wird aber die Zeiten 
nicht garantiert werden können weil eben das Betriebssystem 
dazwischenfunken kann. Kann auch Sinn machen wenn es rein um den 
Signalverlauf geht und nicht um die Zeit.

Würd mich auch bereiterklären das mal zu machen... werden halt vorerst 
nicht allzuviele Features dran sein.

von Christian U. (z0m3ie)


Lesenswert?

OK, damit hat sich das dann wohl gegessen.

von Weinga-Unity (Gast)


Lesenswert?

Hallo! Hier auch ein LA-Projekt mit AT89C2051. Die wichtigste Idee ist 
hier die Datenkompremierung.

http://wwwiti.cs.uni-magdeburg.de/~buchmann/privat/logger.htm

mfg W.K.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.