Weiterentwicklung JLab

Alles zum Thema Instrumentation (Anzeige- und Steuersoftware) auf Computerseite (Labview, JLab, ...) kann hier rein: Installation, Komponenten, Probleme...
Antworten
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Weiterentwicklung JLab

Beitrag von magicroomy »

Hallo zusammen,

Heft 3/09 der c't rückt näher und damit der verprochene Beitrag über ein FPGA Steckmodul. Ich werde hoffentlich in nächster Zeit auch wieder ein wenig Zeit haben um mich mit dem JLab zu befassen.
Verschiedene Leute haben mir ja schon Anregungen gegeben, was man noch alles verbessern und erweitern könnte. Um das zu bündeln starte ich diesen Thread. Wer also Wünsche und Anregungen hat, möge das bitte hierunter tun.

Auf meiner privaten Liste steht:
- Management und die Integration von Oberflächen für verschiedene FPGA Module.
- Scriptprogrammierung des c't Lab ohne Oberfläche.

Gruss
Magic Roomy
HSiebrecht
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 116
Registriert: 30.11.2007, 23:50
Wohnort: Westfalen

Beitrag von HSiebrecht »

Halo Volker,
Hallo zusammen,

Heft 3/09 der c't rückt näher und damit der verprochene Beitrag über ein FPGA Steckmodul. Ich werde hoffentlich in nächster Zeit auch wieder ein wenig Zeit haben um mich mit dem JLab zu befassen.
Verschiedene Leute haben mir ja schon Anregungen gegeben, was man noch alles verbessern und erweitern könnte. Um das zu bündeln starte ich diesen Thread. Wer also Wünsche und Anregungen hat, möge das bitte hierunter tun.

Auf meiner privaten Liste steht:
- Management und die Integration von Oberflächen für verschiedene FPGA Module.
Meinst Du hier mit verschiedene FPGA Module, unterschiedliche FPGA Module in Bezug auf geladen Konfigurationsdateien bzw. mit unterschiedlich bestückten Steckkarten.
- Scriptprogrammierung des c't Lab ohne Oberfläche.
Also ohne jlab / Java ?


Hast Du schon eine Beta Version vom jlab mit FPGA Unterstützung ?
Viele Grüße

Helmut

Die meisten Desaster in der IT Welt haben eine gemeinsame Ursache: Wir machen mal eben.
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Stand der Dinge

Beitrag von magicroomy »

Hi Helmut,

Zu FPGA in JLAB.
Vorrede : ;-)
Ich glaube das FPGA ist das erste Modul im c't Lab bei dem man nach meiner Meinung nach nach Herzenslust eigene Testhardware und Software entwickeln kann.
Steckkarten für ADA haben den Nachteil, daß für die Programmierung der Steckkarten immer die Firmware für den AT-Mega erweitert werden muß.
Bei Steckkarten für FPGA kann die At-Mega Firmware bleiben wie sie will, weil der FPGA ja über eine eigene Programmierung von der SD-Karte gespeist wird. Durch die Möglichkeit die Programmierung des FPGA über den Optobus zu ändern kann man es auch schaffen mehrere Karten für den FPGA gleichzeitig gesteckt zu haben.
Je nachdem welches BIN dann in das FPGA geladen wurde kann man mit einer der gesteckten Karten arbeiten.
Ein Beispiel: Die von CM entwickelte Platine soll ja ein DDS, einen Frequenzzähler und einen schnellen DA beinhalten. Dafür wirds sicher auch ein FPGA-BIN geben, welches exakt darauf abgestimmt ist. Dieses BIN wird aber sicher noch nichts von evtl. weiteren gesteckten Karten wissen.
Ein "Spiel"projekt von mir ist ja mein Patterngenerator, der mittlerweile tatsächlich als Platine existiert. Dafür gibts ein anderes FPGA-BIN auf der SD Karte. Einfach durch Laden des jeweiligen BIN hab ich damit andere Funktionen zur Verfügung. Zwar nicht gleichzeitig aber immerhin kann ich so auch Kartenentwürfe von anderen Leuten nutzen. Natürlich muß man aufpassen, daß die Karten sich elektrisch "vertragen".
Soviel zur Vorrede.
Nun zum JLab:
Auf den Punkt gebracht:
Bei FPGA gilt es ein vorhandenes FPGA-BIN mit Funktionen und Oberflächen zu verbinden. Über eine Managementoberfläche soll man dies tun können.
Die Funktionen und Oberflächen die dann über den AT-Mega Funktionen im FPGA ausführen müssen natürlich speziell programmiert werden. Das wird daher modular und erweiterbar sein müssen. Evtl. werde ich hier auch noch stärker mit Scripting arbeiten.
Über die Management-Oberfläche kann ich dann also FPGA-BIN Files mit Funktions/UI-Modulen verknüpfen. Durch Umschalten einer Konfiguration wird dann ein anderes BIN ins FPGA geladen und die passenden Oberflächen präsentiert.
Was gibt es schon (In meinem Softwarelabor)?
Erste Grundfunktionalität bzgl. FPGA Modulen gibt es schon in der 2.5. Wenn man in JAVA fit ist kann man hier Code schreiben und per XML dem JLab bekannt machen. Dann kann man sich die Oberfläche wie gewohnt über Menü auswählen.
Für meinen Pattern Generator und den Frequenzzähler hab ich das schonmal gemacht und es funktioniert.
Das ist schon eine gute Grundlage aber eben nur eine Grundlage. Die gilt es zu verbessern. Des weiteren werde ich natürlich die Unterstützung für die kommende CM-FPGA Karte entwickeln.

Zum Scripting:
Bereits mit dem aktuellen JLab kann man ja Scripts (in Javascript oder Groovy) ausführen. Mir schwebt nun vor die Scripts auch direkt aus der Kommandokonsole des Betriebssystems ausführen zu können. Dabei werde ich aber vermutlich ein installiertes Groovy vorraussetzen weil das halt wunderbar mit JAVA harmoniert. Da werde ich auch sicher die Möglichkeiten von CM bzgl. LabScript unterstützen.

Ich hoffe mein Redeschwall reicht erstmal ....

Gruss
Volker
HSiebrecht
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 116
Registriert: 30.11.2007, 23:50
Wohnort: Westfalen

Beitrag von HSiebrecht »

Hallo Volker,

danke für den ausführlichen Ausblick.

Eine Frage hätte ich da noch, mit welcher FPGA Firmware arbeitest Du zur Zeit, 1.10b (2.00) oder 2.01 (2.01).
2.01 macht bei mir mehr Probleme als 1.10b (2.00).
Viele Grüße

Helmut

Die meisten Desaster in der IT Welt haben eine gemeinsame Ursache: Wir machen mal eben.
Wilkeltus
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 36
Registriert: 29.11.2007, 10:06
Wohnort: Bad Soden / Ts.

JLab Wünsche

Beitrag von Wilkeltus »

Hallo magicroomy,

ich würde gerne auf den Wunsch zurückkommen, JLab modular zusammenzustellen. Du wolltest Dir mal Gedanken darüber machen.

Hintergrund ist, dass ich es gerne auf dem Xport laufen lassen würde. Wenns nicht geht, ist nicht schlimm, aber Du hattest halt gefragt.

Danke und Gruß, Wilkeltus
TeeVau
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 10
Registriert: 11.02.2009, 16:04

Beitrag von TeeVau »

Bei der EDL die Diagramme auf die aktuelle Hardwareversion anpassen.
Die EDL wurde umgebaut, dass Sie 50W verträgt, bis zu 10A (nur bis max. 5V), und 25V am Eingang.
Die Diagramme gehen im Moment nur bis 20W, 20V und 1A.

Grüße, Tobias
HSiebrecht
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 116
Registriert: 30.11.2007, 23:50
Wohnort: Westfalen

Beitrag von HSiebrecht »

Hallo Tobias,

in der jlab.xml Datei müssen die Parameter für "Deine EDL Konfiguration" eingetragen werden, siehe Auszug aus der Doku.

=======
Leider kann JLab nicht selbstständig erkennen wie leistungsfähig eine EDL ist. Daher muß man diese Parameter konfigurieren. Dies sind derzeit maximaler Strom (Current) und maximale Spannung (Voltage) an den Eingangsklemmen. Derzeit existiert keine Benutzeroberfläche um diese Werte zu konfigurieren. Sie müssen statt dessen direkt mit einem Text Editor in der JLab Konfigurationsdatei angegeben werden. Diese befindet sich im Home-Verzeichnis des Benutzers und lautet jlab.xml. Unter Windows liegt diese unter (<Systempartition>\Dokumente und Einstellungen\<Benutzername>. Die Datei wird von JLab automatisch beim ersten Start erzeugt.

Sie beginnt etwa so:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jLabConfig value-watch-active="true" value-watch-cycle="500" active-workspace="Default">
....

Für die Konfiguration der EDL Parameter ist folgendes Stück xml einzufügen:

<ct-module-parameters address="2" type="EDL" comm-channel="CH2" >
<parameter value="0.5" name="maxCurrent"/>
<parameter value="10" name="maxVoltage"/>
</ct-module-parameters>

Dies kann direkt unter dem root-Tag (<jLabConfig>) passieren

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jLabConfig value-watch-active="true" value-watch-cycle="500" active-workspace="Default">
<ct-module-parameters address="2" type="EDL" comm-channel="CH2" >
<parameter value="0.5" name="maxCurrent"/>
<parameter value="10" name="maxVoltage"/>
</ct-module-parameters>

Die Angabe des maximalen Strom und Spannung ist in Ampere bzw. Volt zu erledigen (nicht Milli oder Micro). Dezimaltrenner ist der Punkt. Falls mehrere EDLs im c't Lab stecken, können mehrere solche Parameter definitionen aufeinander folgen. Dadurch kann jede EDL einzeln konfiguriert werden. Diese sollten sich dann natürlich in der Adresse unterscheiden.

Seit V2.5 besteht die Möglichkeit mehrere c't Labs zu betrieben. Daher muß für die moduleparameter noch der comm-channel angegeben werden. Dies ist der Verbindungsname, der bei den Verbindungseinstellungen vergeben wurde.
=======
Viele Grüße

Helmut

Die meisten Desaster in der IT Welt haben eine gemeinsame Ursache: Wir machen mal eben.
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Sehr Schön

Beitrag von magicroomy »

Schöner hätte ich es auch nicht schreiben können...
Danke und Gruß

Volker
TeeVau
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 10
Registriert: 11.02.2009, 16:04

Re: Weiterentwicklung JLab

Beitrag von TeeVau »

Ah, also hatte ich es doch mal irgendwo gelesen.
Danke! :-)

Hab die Doku erst vergebens gesucht und dachte deshalb, dass ich mir das nur eingebildet habe.
Hab sie dann aber bei den Downloads gefunden.
TeeVau
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 10
Registriert: 11.02.2009, 16:04

Re: Weiterentwicklung JLab

Beitrag von TeeVau »

Einen Vorschlag möchte ich noch machen :)
Die Werte der EDL auslesen bzw. per Oberfläche einstellbar machen.
maxU und maxI können ja über OPT16 bzw. OPT14 ausgelesen werden.
Die Werte könnte man z.B. beim ersten Start automatisch auswerten und entsprechend im Jlab verwenden.
Wenn dann die Werte in einem Menü umgestellt werden, werden eben diese Werte benutzt.

Bei mir ist es so, dass sich die Spannungs- oder Strombereiche oft ändern.
So teste ich also z.B. schon mal 24V Spannungsversorgungen oder aber auch 3,3V oder 5V.
Das gleiche mit dem Strom. Mal sind es 1-2A oder nur 100mA.
Da ist es etwas lästig, das ganze per Hand im Configfile zu ändern.

Grüße, Tobias
Antworten