MFA-Nachbildung wird langsam vollständig

Da immer mehr Zusi User von einem 1:1 Führerstand mit träumen, soll es zumindest an Datenaustausch nicht hapern.
Nachricht
Autor
etzi
Beiträge: 20
Registriert: 29.08.2002 09:02:33

#21 Beitrag von etzi »

Hallo Immo,

das ist die elektronische Seite. Soweit klar, aber man muß die Daten ja aus ZUSI irgendwie rausbekommen. Ich kann mir nicht vorstellen, daß es ähnlich wie beim Raildriver die Daten vom Bildschirm "abliest".

ImmoBirnbaum
Beiträge: 1040
Registriert: 18.01.2004 12:51:32
Aktuelle Projekte: Objektbau in LOD0, Fahrpult, new adventures in VHDL
Wohnort: EPD

#22 Beitrag von ImmoBirnbaum »

Stimmt, dafür gibt es ja den TCP-Server. Auf Daniels Homepage gibts
den Server und einige Test-Tools sowie den Quellcode für einen Daten-
empfänger (geschrieben in Delphi).

Benutzeravatar
AndreasBrandtner
Administrator
Beiträge: 2367
Registriert: 04.11.2001 14:10:41
Wohnort: Quickborn, Schleswig Holstein

#23 Beitrag von AndreasBrandtner »

Fehlt eigentlich nur noch die Unterstützung der 7-Segment Anzeige. Den man hat ja über der Balkenanzeige und im Tacho solche Anzeigen.

Kommt nun eigentlich auch eine Schnitstelle um Schalter anzuschließen. Z.b. für PZB usw..?

Grüße
Andreas Brandtner
****************

ImmoBirnbaum
Beiträge: 1040
Registriert: 18.01.2004 12:51:32
Aktuelle Projekte: Objektbau in LOD0, Fahrpult, new adventures in VHDL
Wohnort: EPD

#24 Beitrag von ImmoBirnbaum »

Nach noch etwas optimieren (unnötige Bits wegschneiden etc.) hab ich
mit Ach und Krach folgendes in den Chip gekriegt:

Tacho
Traktions-Anzeige
7-Segment-Ansteuerung Fahrstufe
7-Segment-Ansteuerung LZB Distanz
Ansteuerung LZB-Bargraph

Damit steht wohl fest, dass ich 2 Chips benutzen werde, somit
wird der Inhalt von Chip 2:

Oberspannung
Oberstrom
LM-Ansteuerung
und vielleicht noch ne Tröte oder sowas...

um die Schalter muss ich mich auch noch irgendwann kümmern...

Benutzeravatar
AndreasBrandtner
Administrator
Beiträge: 2367
Registriert: 04.11.2001 14:10:41
Wohnort: Quickborn, Schleswig Holstein

#25 Beitrag von AndreasBrandtner »

Hm... also einmal 7-Segment über dem LZB Balken (2 Anzeigen) und einmal die V-Ziel im Tacho (3 Anzeigen)?!
Andreas Brandtner
****************

ImmoBirnbaum
Beiträge: 1040
Registriert: 18.01.2004 12:51:32
Aktuelle Projekte: Objektbau in LOD0, Fahrpult, new adventures in VHDL
Wohnort: EPD

#26 Beitrag von ImmoBirnbaum »

AndreasBrandtner hat geschrieben:Hm... also einmal 7-Segment über dem LZB Balken (2 Anzeigen)
Ja, ist jetzt in Chip 1 drin.
AndreasBrandtner hat geschrieben:und einmal die V-Ziel im Tacho (3 Anzeigen)?!
Bisher noch nicht vorgesehen, da ich so einen Tacho nicht habe.
Hat eigentlich mal jemals wer bei Deuta angefragt, was so ein Tacho
kostet? Sonst mache ich das irgendwann mal...

Benutzeravatar
AndreasBrandtner
Administrator
Beiträge: 2367
Registriert: 04.11.2001 14:10:41
Wohnort: Quickborn, Schleswig Holstein

#27 Beitrag von AndreasBrandtner »

Frag doch einfach mal ganz Blöde ob sie dir aus irgend welchen Resten oder so etwas zuschicken könnten? So habe ich es gemacht und es hat geklappt.
Oder der Herr Kuhlmann hat noch ein 112er - MFA für 150€. Das sollte mit LZB sein. Musst ihn mal anfragen. Denn wenn du ein Original kaufts dann wird das sicher im vierstelligem Bereich landen.

Wobei ich es sehr begrüßen würde wenn du die 7-Segment Anzeigen im Tacho mit Programmierst und in den Chip bringst. Denn so langsam ist bei meinem Pultbau der Punkt angekommen wo ich mal erste Versuche mit der Ansteuerung unternehmen muß. :D

Grüße
Andreas Brandtner
****************

ImmoBirnbaum
Beiträge: 1040
Registriert: 18.01.2004 12:51:32
Aktuelle Projekte: Objektbau in LOD0, Fahrpult, new adventures in VHDL
Wohnort: EPD

#28 Beitrag von ImmoBirnbaum »

Hier ist nochmal ein wenig Bildmaterial:

Also, das ganze in den Chip zu kriegen war letztendlich wie gesagt eine
sehr knappe Angelegenheit...:

Bild

Und so sieht nur das LZB-Modul von Innen aus:

Bild

(Das ist übrigens nur eine von zwei Seiten!)
Die länglichen Blöcke enthalten Logik-Elemente und sehen von Innen
dann z.B. so aus:

Bild

Spätestens mit diesen Bildern ist wohl klar, dass so etwas von Hand zu
löten nicht wirklich Spass machen würde...

Benutzeravatar
Oliver Lamm
Beiträge: 3102
Registriert: 04.01.2002 15:02:17
Aktuelle Projekte: Aachen - Neuss für Zusi3
Wohnort: Essen
Kontaktdaten:

#29 Beitrag von Oliver Lamm »

Vielleicht habe ich es überlesen, aber was für Hardware - Controller setzt Du ein ?

Oli

PS: Bin etwas 68HC1X geschädigt :)
Oliver Lamm
mail(AT)oliverlamm(DOT)de

ImmoBirnbaum
Beiträge: 1040
Registriert: 18.01.2004 12:51:32
Aktuelle Projekte: Objektbau in LOD0, Fahrpult, new adventures in VHDL
Wohnort: EPD

#30 Beitrag von ImmoBirnbaum »

Oliver Lamm hat geschrieben:Bin etwas 68HC1X geschädigt :)
Auf meiner bisherigen Tacho-Platine verrichtet ein 68HC908 seine
Arbeit. Die neue Platine, die gerade in Etwicklung ist, und zu der
die Screenshots gehören, läuft auf der Basis eines Xilinx CPLDs
(XC95108 im PLCC84Gehäuse). Das ist praktisch der größte
CPLD-Chip, den es in einem nicht-SMD-Gehäuse gibt. Nicht dass
ich mit dem Löten ein Problem hätte, aber es ist einfach bequemer
den Chip umzustecken statt ihm zum Programmieren festzulöten,
dann wieder auszulöten und woanders wieder einzulöten...
Programmiert wird der Chip in der Hardwarebeschreibungssprache
VHDL. Entwicklungsumgebung und Simulator ist ModelTech ModelSim 5.7,
Synthese-Tool (also Übersetzer und Programmier-Tool) ist Xilinx ISE.
Zuletzt geändert von ImmoBirnbaum am 03.04.2005 13:22:44, insgesamt 1-mal geändert.

Benutzeravatar
r.h.
Beiträge: 269
Registriert: 21.08.2003 11:12:43

#31 Beitrag von r.h. »

statt ihm zum Programmieren festzulöten,
dann wieder auszulöten und woanders wieder einzulöten...
Bitte???

Wozu hat Xilinx denn von Lattice das ISP übernommen??? Machst Du eine 7pol Steckerleiste ziemlich nah neben dem XC95xx und bastelst Dir ein Kabel zu Deinem Programmer.

Wo liegt darin die Schwierigkeit???

Selbst wenn Du die TCO, TDO, TDI usw. Pins als Eingänge in der Schaltung verwendest...selbst dafür gibt es Lösungen auf der Xilinx Homepage.

Also liegt es doch am Löten?
Programmiert wird der Chip in der Hardwarebeschreibungssprache
VHDL
... und wenn ich sehe, daß Du Schematics postest, glaube ich, hast programmierst Du den Chip eh nicht in VHDL. Mag sein, daß das ISE Deine Schematics dann in Equotations in VHDL umsetzt, aber bleibe dann bitte bei der Wahrheit.

r.
Zuletzt geändert von r.h. am 03.04.2005 14:48:24, insgesamt 1-mal geändert.

Benutzeravatar
Oliver Lamm
Beiträge: 3102
Registriert: 04.01.2002 15:02:17
Aktuelle Projekte: Aachen - Neuss für Zusi3
Wohnort: Essen
Kontaktdaten:

#32 Beitrag von Oliver Lamm »

@Immo: Danke für die Beschreibung, meine nächsten Wege führen mich jetzt erst mal zum Atmel MEGA128 ...

@Robert: Wie sag der Engländer so schön: chill ... :-)

Oli
Oliver Lamm
mail(AT)oliverlamm(DOT)de

ImmoBirnbaum
Beiträge: 1040
Registriert: 18.01.2004 12:51:32
Aktuelle Projekte: Objektbau in LOD0, Fahrpult, new adventures in VHDL
Wohnort: EPD

#33 Beitrag von ImmoBirnbaum »

@Robert:

na, was wird das jetzt? Ein weiterer Anflug von Günther Netzer:
"Mja, man merkt gleich, dass Ihnen da die Sachkenntnis fehlt."?
Okay, meine Delphi-Kenntnisse sind unter aller Sau (da stehe ich
auch zu), ich weiss nicht alles über Java (allerdings immer noch mehr
als gar nichts) - für Flames bzgl. meiner Fehlannahmen über Java
kannst Du ja mal eine nette Mail an Prof. Dr. Esser, FB E+I, HAW
Hamburg schicken -, und ich bin kein hauptberuflicher Programmier-
Halbgott, aber deswegen noch lange nicht Grenzdebil, ich schliesse
mich also Olivers Statement an.

Zu den Sachthemen:
Sicherlich, es gibt für alles ne Lösung, aber warum soll ich mir darüber
Gedanken machen, wenn ich doch einen steckbaren Chip bekommen
kann? OK, nun habe ich auch festgestellt, dass 108 Macrocells nicht
so wahnsinnig viel sind, aber im Moment mache ich erstmal EINE
Variante fertig.

Was den Code angeht:
hier mal der Code für eine der Komponenten:
library ieee;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;

entity PWMModule is
port (
Target: in std_logic_vector(7 downto 0);
Strobe: in std_logic;
Enable: in std_logic;
Clk: in std_logic;
Reset: in std_logic;
TachoOut: out std_logic
);
end PWMModule;

architecture PWMModule_Arch of PWMModule is
signal CounterVal, CounterValNext: std_logic_vector(7 downto 0);
signal Target_I: std_logic_vector(7 downto 0);
begin

DataReg: process(Reset,Strobe)
begin
if Reset='1' then
Target_I<=(others=>'0') after 10 ns;
elsif Strobe='1' and Strobe'event then
if Enable='1' then
Target_I<=Target after 10 ns;
end if;
end if;
end process DataReg;

UESN: process (CounterVal) -- Übergangsschaltnetz
begin
CounterValNext<=(others=>'0'); -- Default-Zuweisung
CounterValNext<=(CounterVal+"00000001") after 10 ns;
end process UESN;

ZSP: process (Clk,Reset) -- Zustandsspeicher
begin
if Reset='1' then -- async. Reset
CounterVal<=(others=>'0') after 10 ns;
elsif Clk='1' and Clk'event then
CounterVal<=CounterValNext after 10 ns;
end if;
end process ZSP;

ASN: process (CounterVal,Target_I)
begin
TachoOut<='0'; -- Default-Zuweisung
if CounterVal<Target_I then
TachoOut<='1';
else
TachoOut<='0';
end if;
end process ASN;

end PWMModule_Arch;
Die Schematics werden NACH der Synthese erstellt (das Feature ist
glaube ich ab ISE 6.0 dabei gewesen). Die Annahme, ich denke
mir auf dem Papier einen Wust von Gattern aus, der zufällig ein
LZB-Modul ergibt, klicke die im Rechner zusammen, mache einen
Chip draus und erhalte dabei ein wenig VHDL als "Abfallprodukt"
ist mit Verlaub ziemlich behämmert.

Benutzeravatar
r.h.
Beiträge: 269
Registriert: 21.08.2003 11:12:43

#34 Beitrag von r.h. »

Hi Immo,

schon gut. Die Schematics schreien für mich aber nach einem Karnough-Plan um dort noch was zu vereinfachen. - dann hast Du sicher noch ein paar Makrozellen über :-)

Im VHDL finde ich jedoch kein weiteres Potenzial zur Vereinfachung. Auch wenn ich nicht verstehe, wie daraus diese Schematics entstehen. :confused:

Evtl. würden hier die Spartan-Reihe noch Verbesserung bringen, denn da könnte man so eine Statemachine einfacher aufbauen... Das ist dann aber wieder komplexer :-(

Egal. Probier trotzdem so eine ISP-Schnittstelle in Deine Schaltung mit einzubauen, denn dann kannst Du - wenn Dein Prog mal kaputt geht - auch einen Prog nehmen, der nicht unbedingt PLCC84-Gehäuse unterstützt... Macht vieles einfacher.

r.

ImmoBirnbaum
Beiträge: 1040
Registriert: 18.01.2004 12:51:32
Aktuelle Projekte: Objektbau in LOD0, Fahrpult, new adventures in VHDL
Wohnort: EPD

#35 Beitrag von ImmoBirnbaum »

Der handverlötete Prototyp kommt voran.
Die Tachosignale sind korrekt, einen Tacho habe ich noch nicht ange-
schlossen, da ich noch keinen Op-Amp auf die Platine gelötet habe.
Die Fahrstufenanzeige und LZB-Distanz-Anzeige funktionieren ebenfalls
wie sie sollen, und zumindest das Oszilloskop sagt mir, dass der
LZB-Bargraph wohl auch richtig funktioniert, ich werde jetzt noch
ein wenig an dem LZB-Modul rumlöten, so dass bald Bilder folgen
können.

Das ist übrigens der Prototyp nebst IO-Warrior:

Bild

Benutzeravatar
AndreasBrandtner
Administrator
Beiträge: 2367
Registriert: 04.11.2001 14:10:41
Wohnort: Quickborn, Schleswig Holstein

#36 Beitrag von AndreasBrandtner »

Vie viele LED´s hast du eigenrtlich für den LZB Balken eingeplant? Wenn ich mich recht erinnere sind es 37 im Original!

Wirst du denn nun auch eine V-ziel Anzeige im Tacho vorsehen? Wenn du kein original Teil auftreiben kannst dann kann ich dir ein paar passende 7segment Anzeigen zuschicken. Da ich sie bei mir auswächseln musste und gleich ein paar mehr bestellt habe. War gar nicht so einfach nur 7mm hohe Anzeigen zu bekommen. Bei Conrad etc. beginnen sie erst ab 10mm. Waren dafür auch sehr teuer!
Den Rest muss man dann irgendwie im Tacho einbasteln. Im Original ist es übrigens so das nur die Hunderter und Zehner Stelle wächseln. Die einer Stelle zeigt immer 0 an. Also müssen eigentlich nur zwei 7-Segment Anzeigen unterstützt werden und ein Ausgang der die einer Stelle einschaltet.

Grüße
Andreas Brandtner
****************

Christopher Spies
Beiträge: 775
Registriert: 26.01.2005 16:10:18
Wohnort: Darmstadt

#37 Beitrag von Christopher Spies »

ImmoBirnbaum hat geschrieben:Entwicklungsumgebung und Simulator ist ModelTech ModelSim 5.7.
Wo hast Du das denn her? Kostet das nicht ein Vermögen?

ImmoBirnbaum
Beiträge: 1040
Registriert: 18.01.2004 12:51:32
Aktuelle Projekte: Objektbau in LOD0, Fahrpult, new adventures in VHDL
Wohnort: EPD

#38 Beitrag von ImmoBirnbaum »

Es gibt eine kostenlose Variante des Programms auf der Xilinx-Homepage.
In der Uni haben wir die Vollversion, aber mir ist bis heute nicht ein
relevanter Unterschied aufgefallen...

Hier mal wieder ein Bild von einem der letzten Testläufe:

Bild

Für die Distanz-Anzeigen hatte ich gerade keine Flachbandkabel mehr,
ich werde aber morgen wieder Herrn Conrad ein kleines bisschen
reicher machen.

Im Moment macht die Anzeige noch einige Probleme im oberen
Wertebereich, da muss ich noch ein paar pull-down-Widerstände
hinzufügen. Ausserdem werde ich das "Innenleben" der Anzeige
wohl doch von einer Mealy-FSM auf eine Moore-FSM umstellen,
das geht ja zum Glück "lötfrei" zu bewerkstelligen.

Edit:
@Andreas: ich würde gerne die original-Anzahl an LEDs verbauen,
aber leider war die Platine ein wenig zu kurz ;-)
Technisch gesehen sind 40 LEDs ohne Neuprogrammierung machbar.
Zuletzt geändert von ImmoBirnbaum am 10.04.2005 12:40:48, insgesamt 1-mal geändert.

ImmoBirnbaum
Beiträge: 1040
Registriert: 18.01.2004 12:51:32
Aktuelle Projekte: Objektbau in LOD0, Fahrpult, new adventures in VHDL
Wohnort: EPD

#39 Beitrag von ImmoBirnbaum »

So, der Hand-Prototyp ist zum geätzen Prototypen geworden:

Bild

da werde ich doch gleich noch ein wenig testen...
morgen gibts noch ein besseres Foto mit Tageslicht-Bedingungen.

PS es sind übrigens 38 LEDs auf der Platine.
Zuletzt geändert von ImmoBirnbaum am 19.04.2005 22:26:28, insgesamt 2-mal geändert.

ImmoBirnbaum
Beiträge: 1040
Registriert: 18.01.2004 12:51:32
Aktuelle Projekte: Objektbau in LOD0, Fahrpult, new adventures in VHDL
Wohnort: EPD

#40 Beitrag von ImmoBirnbaum »

So, es gibt mal wieder ein paar kleine Fortschritte:

im Moment sitze ich an der MFA-Platine:
Bild

EDIT Verdammt, mein Webspace ist voll...
Ich hab die anderen 2 geringfügig themenfremden Bilder rausgenommen
und muss morgen mal die Platte aufräumen...
Zuletzt geändert von ImmoBirnbaum am 01.05.2005 22:35:54, insgesamt 1-mal geändert.

Antworten