Kommunikation Basic / Basic Terminal mit anderen Modulen

Das Forum für die Software der FPGA-Basisplatine
Antworten
francis
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 28
Registriert: 27.05.2009, 21:11

Kommunikation Basic / Basic Terminal mit anderen Modulen

Beitrag von francis » 27.05.2009, 21:45

Hallo zusammen,

ich habe seit kurzem das FPGA-Modul mit der DACRAM Platine aufgebaut. Funktioniert auch
alles grundsätzlich soweit. Firmware 2.61. Kommunikation mit PC ist ok.
Mein Verständnisproblem ist, kann ich aus Basic bzw. dem Terminal mit andere ct-Lab Modulen kommunizieren? Mit dem FPGA-Modul selbst funktioniert das ja soweit.
Andere Module (ADA-IO, DCG, DIV, DDS) lassen sich aber nicht ansprechen (weder über die Basic Befehle noch über den Terminalmodus. Labscript habe ich noch nicht getestet).
Mein FPGA Modul sitzt im Optobus direkt nach dem IFP Modul. Antworten anderer Module kommen doch gar nicht am FPGA an?
Muss vom letzten Modul Optobus Out an FPGA Optobus In geführt werden? Und das IFP nicht verbunden?

Beste Grüße
francis

magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Re: Kommunikation Basic / Basic Terminal mit anderen Modulen

Beitrag von magicroomy » 28.05.2009, 12:06

Hi,
das wurde ja schon mehrfach diskutiert.
Ein reguläres FPGA mit DACRAM kann bestenfalls Kommandos an andere Module senden, wenn es das Erste in der Optokette ist. Eine Antwort wird es aber nie kriegen, weil das Ende der Kette ja der PC ist.

Evtl. erzähle ich jetzt alte Kamellen und hab nicht alle Diskussionsthreads mitbekommen aber man könnte ja theoretisch mit einem seriellen Brückensteckerstecker TX mit RX verbinden, dann würden die Antworten der Module wieder in den Optobus eingespeist werden. Das würde aber vorraussetzen, daß die FPGA-AT Mega Firmware diese Antworten abfängt und dem FPGA weiterleitet, sonst würden die ja ewig die Runde machen. Ich glaube aber das sie das nicht tut. Das wäre auch ein prinzipiell völlig anderes Verhalten .Es bräuchte also entweder 2 Firmwares eine für den Betrieb als Opto-Slave, und eine als Master, oder man würde der FPGA Platine noch einen Jumper spendieren, den die AT-Mega Firmware abfragen könnte und daher weiß wie sie sich verhalten soll. Einen gemischten Betrieb, bei dem ein PC in den Optobus schreibt und das FPGA stelle ich mir schwierig vor.

Darum hat cm ja die Core Ram Zusatzplatine entwickelt. Die hat einen eigenen Optobus => das FPGA ist der Master für alle Module die daran hängen. Dann funktioniert es mit FPGA und Basic und ohne jeden PC.

Gruß
Volker

Benutzeravatar
ompf
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 168
Registriert: 19.01.2008, 13:03
Wohnort: Dortmund

Re: Kommunikation Basic / Basic Terminal mit anderen Modulen

Beitrag von ompf » 28.05.2009, 17:55

magicroomy hat geschrieben:Darum hat cm ja die Core Ram Zusatzplatine entwickelt. Die hat einen eigenen Optobus => das FPGA ist der Master für alle Module die daran hängen. Dann funktioniert es mit FPGA und Basic und ohne jeden PC.
Wobei Du hier eigentlich eine Routerfunktion brauchst. Das FPGA muß alle Kommandos vom Optobus 1 (IFP) abgreifen, die eigenen verarbeiten und die anderen über Optobus 2 weitersenden. Bei den Antworten muß dann geprüft werden, ob sie zu einer Anfrage vom FPGA oder vom PC gehören, und letztere müssen dann wieder zum Optobus 1 geschickt werden.

Anderenfalls müßte man ja immer die Kette umstöpseln, wenn man mal wieder über Labview dran will.


Gruß
Patrick

francis
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 28
Registriert: 27.05.2009, 21:11

Re: Kommunikation Basic / Basic Terminal mit anderen Modulen

Beitrag von francis » 28.05.2009, 19:34

Hallo,

das ist nachvollziehbar. Die CORERAM Karte ist damit auch die anzustrebende flexible Lösung.
Aber trotzdem beschäftigt mich die grundsätzlich Frage, lassen sich reine Befehle (ohne Antwort) über den normalen
Optobus absetzen. Mein FPGA (Mainchanal 3) sitzt nach dem IFP vor allen anderen Modulen.
Wenn ich zu Testzwecken das DDS (Mainchanal 1) auf eine andere Frequenz stellen will (1:0=600!) gibt es keine Reaktion dieses Moduls.
Weder über EHBasic, das Terminal noch mit Labscript. Labbus 0 ist doch der richtige Kanal?
Das bedeutet doch, dass in der Firmware diese Weiterleitung FPGA -> ATMega -> Optobus nicht vorgesehen ist?

Gruß Francis

cm
Konstrukteur
Konstrukteur
Beiträge: 124
Registriert: 06.12.2007, 10:36
Wohnort: Hannover
Kontaktdaten:

Re: Kommunikation Basic / Basic Terminal mit anderen Modulen

Beitrag von cm » 29.05.2009, 07:24

francis hat geschrieben:Hallo,

das ist nachvollziehbar. Die CORERAM Karte ist damit auch die anzustrebende flexible Lösung.
Aber trotzdem beschäftigt mich die grundsätzlich Frage, lassen sich reine Befehle (ohne Antwort) über den normalen
Optobus absetzen.
...
Das bedeutet doch, dass in der Firmware diese Weiterleitung FPGA -> ATMega -> Optobus nicht vorgesehen ist?

Gruß Francis
Nein, derzeit nicht. Habs mal probiert, gab aber massive Probleme wg AVR-Überbeschäftigung im IRQ, außerdem Antworten nicht möglich, weil AVR-Optobus kein Master ist (man müsste die weiteren Karten "im Kreis" schalten). Deshalb die CoreRAM-Lösung, da ist der OptoBusCore der Master.

-cm
Carsten Meyer

Redaktion c't

Antworten