mikrocontroller.net

Forum: Offtopic Bauanleitung für EPROM Emulator mit Echtzeitfähigkeit?


Autor: Steffen Hausinger (steffenh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich möchte einen EPROM (27256) emulieren und bin dafür auf der Suche 
nach einer Bauanleitung für einen EPROM-Emulator. Im Netz lassen sich da 
ja einige finden. Aber leider beherrscht keiner von ihnen das Ändern der 
Daten in Echtzeit. Bei allen, die ich finden konnte, muss das 
Target-System in den Reset geschickt werden.

Ich verstehe nicht, wieso ich keinen Emulator mit Echtzeitfähigkeiten 
finden kann. Im Prinzip muss doch lediglich ein Dual Port RAM verwendet 
werden oder eine zweite Speicherbank eingebaut werden, auf die dann bei 
Bedarf umgeschaltet wird.

Kennt jemand von Euch eine Quelle, wo ich solch einen Emulator zum 
Nachbauen finden kann?

Grüße
Steffen

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ...EPROM-Emulator...
> leider beherrscht keiner von ihnen das Ändern der Daten in Echtzeit.
Eigentlich logisch:
Auch ein normales EPROM, das mit so einem Ding nachgebildet werden 
soll, bietet dir diese Echtzeit-Änderungsfähigkeit nicht.

Autor: Steffen Hausinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kennt hier wirklich niemand was?

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vermute mal über den Daumen gepeilt Chiptuning an einem G40 oder G60?

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm 2 SRAMS und schalt einfach um, beim nächsten READ.

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Im Prinzip muss doch lediglich ein ...

Na, bau's doch einfach, wenn du soviel Ahnung davon hast....

> ...EPROM-Emulator...
> leider beherrscht keiner von ihnen das Ändern der Daten in Echtzeit.

Eigentlich logisch:
Es geht vermutlich in 90% der Fälle in die Hose.....

Autor: Steffen Hausinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls der Gedanke mit dem Umschalten falsch war, dann bitte nicht ein 
"dann mach's doch einfach selbst" posten, sondern auch eine Erklärung! 
Warum geht es in 90% der Fälle in die Hose?

Ich fahre keinen G40 oder G60. Aber die Idee ist gut - für solche Zwecke 
benötigt man doch einen Emulator, den man in Echtzeit umschalten kann. 
Gibt es da nichts (oder nur kommerzielles)?

Autor: Ahh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll's denn koennen ? Ein EEPROM kann nicht geschrieben werden, auch 
nicht Echtzeit. Ein EEPROM Emulator kann beschrieben werden, 
ueblicherweise wird dort das Hexfile des Compiler reingeschrieben. Was 
soll denn sonst noch moeglich sein ?

Autor: Steffen Hausinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es soll möglich sein, das Programm während der Laufzeit zu ändern. D.h. 
während des Betriebes soll der Inhalt des emulierten EPROMs geändert 
werden können. Und zwar ohne, dass ein Reset des Target-Systems 
notwendig ist.

Dadurch soll verhindert werden, dass das Programm jedes Mal neu 
gestartet werden muss und jedes Mal die Programmstelle angesprungen 
werden muss.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Universell lässt sich das nicht lösen, denn was passiert z.B. wenn genau 
während dem Lesen eines Wertes dieser geändert wird? -> Es wird 
irgendwas falsches gelesen und wenn dies z.B. eine Sprungadresse war, 
dann springt der µC irgendwo hin und macht von nun an Mist.
Oder aber es verschieben sich die Daten, da irgendwo ein Byte eingefügt 
wurde. Nun passen alle Adressen nicht mehr -> µC macht Mist.

Sowas kann man nur sehr spezifisch auf einen bestimmten µC angepasst 
machen, wenn man genau weiß was der µC gerade macht und was eine 
bestimmte Änderung bewirken wird.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steffen Hausinger wrote:
> Es soll möglich sein, das Programm während der Laufzeit zu ändern.

Das scheint ja ein recht altmodischer MC zu sein, der noch keinen 
internen Flash besitzt.


> Dadurch soll verhindert werden, dass das Programm jedes Mal neu
> gestartet werden muss und jedes Mal die Programmstelle angesprungen
> werden muss.

Selbst, wenn Du in einem Programm nur ein einziges Byte einfügst, 
verschiebt sich aller nachfolgender Code und ein Sprung irgendwohin 
führt dann zum Absturz.

Wenn Du das Programm änderst, mußt Du einen Reset ausführen, denn nur 
der Resetvektor ist bei allen Programmen gleich.

Ein Springen mitten in ein unbekanntes Programm ist daher in der Regel 
vollkommen sinnfrei.


Wenn Du allerdings zu Ausbildungszwecken die Wirkung verschiedener 
Befehle demonstrieren willst, dann füge sie einfach alle in das Programm 
ein mit nachfolgendem RET und springe sie per indirektem Call an.


Peter

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man fügt kein Byte hinzu oder löscht eines. Man ändert nur Werte von 
Konstanten und nicht als solches den Programmablauf. So passiert im 
Ablauf des Programms gar nichts. Es ändern sich nur Parameter wie z.B. 
der Wert für den Zündzeitpunkt oder der Wert für die Einspritzmenge.

Beim Umschalten wird irgenwie auf das fallende (glaube ich) Signal von 
CE oder OE getriggtert wenn ich es richtig verstehe. Was ich aber weiss 
ist dass es 100% funktioniert.

Das Problem mit der Umschaltung besteht auch wenn man auf einen höheren 
Adressbereich umschaltet. Dies wird mit einem FlipFlob gelöst

http://www.progforum.com/showthread.php?t=2141

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger wrote:

> Selbst, wenn Du in einem Programm nur ein einziges Byte einfügst,
> verschiebt sich aller nachfolgender Code und ein Sprung irgendwohin
> führt dann zum Absturz.

Schon mal was von der Rucksacktechnik gehört? Die benutze man füher, um 
Programme zu patchen, ohne sie neu zu generieren.

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein kannst es mir sicher erklären?

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man setzt mit einem Hex-Editor oder Assembler im Debugger vor der 
Stelle, die geändert werden muß, einen Spurungbefehl hinter das Ende des 
Codes ein.

Dort wird der Rucksack eingetragen, der den korrigierten Code enthält 
und am Ende wieder an eine passende Stelle im ursprünglichen Code 
zurückspringt.


Aber in einem EPROM muß nicht unbedingt Code stehen - es können ja auch 
irgend welche Daten, oder Tabellen sein. Dann kann man durchaus einzelne 
Bytes zur Laufzeit verändern, ohne daß der Controller direkt abschmieren 
muß.

Der Wunsch, einen EPROM-Simulator zu haben, dessen Inhalt man zur 
Laufzeit verändern kann, mag etwas ungewöhnlich sein, aber unsinnig ist 
er nicht. Es kommt eben immer auf die Umgebung an.

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ELV hatte mal einen. Gibts leider nicht mehr.
War mit Online Debugging von Registern, RAM und ROM
Schau in der Bucht. Ich denke es war EPS 1001.
Der EPS 1000 war ne "offline" Version. Habe ich noch, so wie den von 
Elektor.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Speedracer wrote:
> Man fügt kein Byte hinzu oder löscht eines. Man ändert nur Werte von
> Konstanten und nicht als solches den Programmablauf.

Nein!

Der Threadposter hat doch eindeutig gesagt, er möchte das Programm 
ändern und nicht nur Daten.

Ich programmiere der Bequemlichkeit wegen in C. Und selbst kleinste 
Änderungen erzeugen dort ein völlig unterschiedliches Hex-File.

Zum Assembler hacken per Hex-Editor habe ich nicht die Zeit und die 
Geduld.


Peter

Autor: frankman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CAS-1000/E von Corelis kaufen!!!

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Der Threadposter hat doch eindeutig gesagt, er möchte das Programm
>ändern und nicht nur Daten.


Ach ja !

"Daten" hat er gesagt und nicht "Programm". Auch wenn Daten 
(Interpretationssache)  zum Programm gehörten  sind damit die Kennfelder 
und Kennlinien und sonstige Konstanten gemeint und nicht der 
Programmcode. Das nennt man Chiptuning. Und wenn man was am Programm 
selber ändert dann ändert man dies nicht in Echtzeit sonder vorher. 
Bevor man den Motor startet.

Im Chiptuning wird nie in Echtzeit der Programmablauf geändert sondern 
nur Parameter für Zündung, Ladedruck, Benzinmenge usw.

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

Ich kenne nur den EPS 1 und der ist nicht Echtzeitfähig auch wenn es 
drauf steht.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Speedracer wrote:
> "Daten" hat er gesagt und nicht "Programm".

Dann muß das hier wohl chinesisch gewesen sein:

Steffen Hausinger wrote:
> Es soll möglich sein, das Programm während der Laufzeit zu ändern.



Speedracer wrote:
> Das nennt man Chiptuning.

Von Chiptuning stand weder im Text noch in meiner Glaskugel etwas, das 
hattest nur Du unterstellt.


Peter

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Dann muß das hier wohl chinesisch gewesen sein:



>Ich fahre keinen G40 oder G60. Aber die Idee ist gut - für solche Zwecke
>benötigt man doch einen Emulator, den man in Echtzeit umschalten kann.
>gibt es da nichts (oder nur kommerzielles)?

Was ist es dann wenn es kein Chiptuning ist ?

Und mit Programm hat er sicher nicht Programmablauf gemeint sonder die 
Parameter !

Oder welchen Grund soll es geben den Programmablauf ein Echtzeit zu 
verändern?

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den hier kennst du?

http://www.holger-klabunde.de/eprsim/eprsim.htm

Ram scheint groß genug für zwei Speicherseiten zu sein, und wenn der 
CPLD noch Resourcen zum Update des Rams "zwischendurch" hat, sollte das 
von der Hardware schon eine passende Basis bieten.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger wrote:

> Zum Assembler hacken per Hex-Editor habe ich nicht die Zeit und die
> Geduld.

Es gab mal Zeiten, da war das Patchen die schnellere Methode und 
Programme wurden in ASM geschrieben. Die Jungs waren derart schnell 
damit, da konnte man nur mit den Ohren schlackern. Den 
8080-Maschinencode konnten sie auswendig - in Hex versteht sich.

Autor: Thomas B. (yahp) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uhu Uhuhu wrote:
>> Zum Assembler hacken per Hex-Editor habe ich nicht die Zeit und die
>> Geduld.
> Es gab mal Zeiten, da war das Patchen die schnellere Methode und
> Programme wurden in ASM geschrieben. Die Jungs waren derart schnell
> damit, da konnte man nur mit den Ohren schlackern. Den
> 8080-Maschinencode konnten sie auswendig - in Hex versteht sich.

Und es gab auch mal Zeiten, da konnten Leute Speerschleudern und 
Feuersteine bedienen. Für die Jungs war das auch der schnellste Weg zum 
Steak, aber ist das deswegen heute noch die bestmögliche Art?

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ram scheint groß genug für zwei Speicherseiten zu sein, und wenn der
>CPLD noch Resourcen zum Update des Rams "zwischendurch" hat, sollte das
>von der Hardware schon eine passende Basis bieten.

Bezweifel dass man zwischendurch noch das RAM Updaten kann. Dazu ist die 
Zeit zu klein. Lass mich aber gerne eines besseren belehren.

Autor: Siggi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... 8080-Maschinencode konnten sie auswendig  ...

Wer hat denn den Käfig des Offtopic wieder offen gelassen?

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas B. wrote:
> ... aber ist das deswegen heute noch die bestmögliche Art?

Hab ich das behauptet? Ich hatte lediglich die Behauptung richtig 
gestellt, man könne Code nicht verändern, ohne alles zu verschieben.

Autor: Thomas B. (yahp) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uhu Uhuhu wrote:
> Thomas B. wrote:
>> ... aber ist das deswegen heute noch die bestmögliche Art?
>
> Hab ich das behauptet? Ich hatte lediglich die Behauptung richtig
> gestellt, man könne Code nicht verändern, ohne alles zu verschieben.

Ok, ist wahr. Aber obiger Satz zielte ja gegen die Aussage, dass 
Assembler hacken verschwendete Zeit ist. Und das ist ja wohl auch wahr 
;-)

Autor: Skua C:\> (skua)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Im Prinzip muss doch lediglich ein Dual Port RAM verwendet
werden

Richtig.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas B. wrote:

> Ok, ist wahr. Aber obiger Satz zielte ja gegen die Aussage, dass
> Assembler hacken verschwendete Zeit ist. Und das ist ja wohl auch wahr
> ;-)

Durchaus nicht. Wenn es um 6-stellige Stückzahlen geht und durch den 
Einsatz von ein wenig ASM pro Stück nur 1 Cent gespart wird, dann sind 
das auch 10000 Euronen.

Dogmatismus ist nie ein guter Rageber.

Autor: Thomas B. (yahp) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uhu Uhuhu wrote:
> Thomas B. wrote:
>
>> Ok, ist wahr. Aber obiger Satz zielte ja gegen die Aussage, dass
>> Assembler hacken verschwendete Zeit ist. Und das ist ja wohl auch wahr
>> ;-)
>
> Durchaus nicht. Wenn es um 6-stellige Stückzahlen geht und durch den
> Einsatz von ein wenig ASM pro Stück nur 1 Cent gespart wird, dann sind
> das auch 10000 Euronen.
>
> Dogmatismus ist nie ein guter Rageber.

Das ist in keiner Weise dogmatisch zu verstehen. Wenn der "uberhacker" 
aber ausfällt/kündigt/eingeliefert wird - wie auch immer - und jemand 
neues muss nen Fehler finden oder eine Änderung einpflegen, dann sind 
die gesparten 10.000 Euro auch schnell wieder weg. Sparen, koste es was 
es wolle, ist eben nicht unbedingt der beste Weg.

Außerdem war die Ansage von Peter ja auch nicht beliebig allgemein, 
jedenfalls verstehe ich sie nicht so. Und wenn das eben heißt, dass es 
nicht um Millionenstückzahlen geht und wenn man für sich selbst 
rausgefunden hat, effektiver mit wartungsfreundlichen Hochsprachen zu 
arbeiten, dann ist das doch richtig.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde sagen, es ist auch für junge Entwickler keine schlechte Idee, 
mal eine Weile mit ASM zu arbeiten. Was dabei rausspringt ist die 
Fähigkeit mit einem Debugger, wie z.B. WinDBG umgehen zu lernen, ohne 
gleich vor Code kapitulieren zu müssen, von dem man keine Quellen hat.

Autor: Steffen Hausinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zunächst vielen Dank für Eure Hinweise!

Ich gebe zu, mich schwammig ausgedrückt zu haben. Mit "Programm" meinte 
ich tatsächlich die Software (Programm + Daten), so wie es Speedracer 
vermutet hatte. Das war ungenau.

Offensichtlich scheint es eine fertige Bauanleitung für einen 
umschaltfähigen EPROM-Emulator nicht zu geben. Bzw. es kennt hier 
niemand eine. Aber mit Deinem Vorschlag, Speedracer, sollte man auch 
einen ganz normalen Emulator umbauen können! Vielen Dank für den Link! 
(Es ist zwar nun belanglos, aber heute morgen unter der Dusche ist mir 
ein ähnlicher Einfall gekommen! Ernsthaft!)

Nochmals vielen Dank an ALLE!
Steffen

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielfach werden wirklich 2 Emulatoren genommen und dessen Ausgang für 
das EPROM Parallel geschlossen.

Dann braucht es eine Elektronik die wie schon besprochen wurde zum 
richtigen Zeitpunkt umschaltet und sonst noch ein paar KlimBim damit der 
richtige Emulator zum richtigen Zeitpunkt beschrieben wird.

Ich weiss dass es einige namhafte Chiptuner gibt die so arbeiten oder 
gearbeitet haben.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

früher (tm) hätte ich 2 passende SRAM, schnelle Bustreiber und ein wenig 
Standard-TTL zusammengelötet und einen Schalter da dran.

Rams über schnelle Tri-State-Bustreiber zusammenbinden, einmal zum 
System, einmal zum Programmer. WE/OE/CS auch. FlipFlop dazu, daß mit CS 
syncronisiert dir Treiber passend schaltet und fertig.

Problem ist evtl. Buslast des Systems und nötige Geschwindigkeit. Das 
läßt sich aber nur mit den Systemdaten klären...

Heutzutage vermutlich in SMD auch klein genug zu bekommen, so daß es 
relativ unproblematisch an das System anzubinden wäre. Vermutlich noch 
einen Mega8515 mit dran um das Debug aus einem Terminalprogramm über 
eine längere RS232 erledigen zu können.

Gruß aus Berlin
Michael

Autor: Alex W. (a20q90)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steffen Hausinger wrote:
> Es soll möglich sein, das Programm während der Laufzeit zu ändern. D.h.
> während des Betriebes soll der Inhalt des emulierten EPROMs geändert
> werden können. Und zwar ohne, dass ein Reset des Target-Systems
> notwendig ist.
>
> Dadurch soll verhindert werden, dass das Programm jedes Mal neu
> gestartet werden muss und jedes Mal die Programmstelle angesprungen
> werden muss.

Soetwas habe ich mir vor 5 Jahren mit einem Mega128 gebaut! Ziel war es 
das Kennfeld eines Audi 200 Q 20V wärend des Betriebes zu verändern! 
Dazu habe ich einfach zwei RAMs genommen (64256) und umgeschaltet. 
Fertig.

Wärend die Motronic im Ram1 gelesen hat, habe ich im Ram2 das Kennfeld 
geändert und danach umgeschaltet. Inhalt vom Ram2 dann in Ram1 kopiert. 
Im Ram1 rumeditiert und zurückgeschaltet.

Klappte wunderbar!

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und jetzt fragen wir uns natürlich alle, was das ganze eigentlich soll.
Wozu bitte ist es erforderlich, a) irgendwelche Motorenkennfelder zu 
befummeln und b) das auch noch während des Betriebs?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus t. Firefly wrote:
> Und jetzt fragen wir uns natürlich alle, was das ganze eigentlich soll.
> Wozu bitte ist es erforderlich, a) irgendwelche Motorenkennfelder zu
> befummeln und b) das auch noch während des Betriebs?

Warscheinlich, um den Motorsound zu verbessern, den Verschleiß zu 
erhöhen und die Garantie zu verlieren.


Peter

Autor: P. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beetle mit Ferrari-Sound ist nur so lange witzig, wie er nicht nachts um 
3 vor dem eigenen Schlafzimmerfenster rumorgelt :-/

Autor: Steffen Hausinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Und jetzt fragen wir uns natürlich alle, was das ganze eigentlich soll.
Wozu bitte ist es erforderlich, a) irgendwelche Motorenkennfelder zu
befummeln und b) das auch noch während des Betriebs?"

Was bezweckst Du mit dieser Frage? Eine Grundsatzdiskussion? Bitte nicht 
in "meinem" Thread. Danke.

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Alex W

Warum ein Mega128? Was alles für Funktionen hat dieser übernommen?

Autor: Jupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein typischer Thread im mikrocontroller.net. Vielen fühlen sich berufen 
ihre Meinung kundzutun - aber keiner hat eine passende Antwort.

Sorry Steffen, dass ich einfach dazwischen poste.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jupp wrote:
> Ein typischer Thread im mikrocontroller.net. Vielen fühlen sich berufen
> ihre Meinung kundzutun - aber keiner hat eine passende Antwort.

Das stimmt so nicht ganz:

Das was er sucht gibt es so direkt nicht, und das wurde ihm mit leicht 
verständlichen Argumenten erklärt, warum das so ist.
Weiterhin hat er selbst ja schon eine mögliche Lösung genannt und er hat 
auch weitere mögliche Lösungen genannt bekommen. Es ist halt nur keines 
davon eine fertige Bauanleitung, ein bischen muss er also noch selbst 
machen.
Wenn er das nicht kann, dann muss er eben ein Fertiggerät kaufen, sowas 
gibt es mit Sicherheit, aber bestimmt nicht für 1,95€ im nächsten Laden 
um die Ecke.

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jupp

Warum gibt du deinen Senf dazu wenn dein Text genau so wenig dazu passt?

Überheblichkeit, Arroganz oder was ist der Grund ?

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt genug 32k dual port RAM, die du noch beziehen kannst. Das ist 
die
einfachste Lösung, sprich die sicherste. Sonst muß man auch etwas über 
den umliegenden Prozessor wissen, und man kann dann zwischen zwei Rams 
umschalten. Es gibt aber auch die Soft-CPU Lösung. PC mit Parallelport,
und bei Zugriff einen Interrupt + Interrupthandler, der die 
gemultiplexten
Adressen sowie Daten einliest sowie ausgiebt, gibt es sicherlich noch im 
Netz, wurde für den 3042 aufwärts gerne genutzt, bis zum 8052.
Dann gibt es nocht die teurere Lösung mittels FPGA oder CPLD, beides
möglich. Du erwartest doch nicht, daß wir dir hier das fertige Projekt 
machen ? Sonst Wilhelm Eprom programmer sowie SRAM oder dual port SRAM
als Beispiel. Da bekommst du dann den Hex Editor auch kostenlos mit.

Autor: Steffen Hausinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Dual Port RAM sehe ich Schwierigkeiten bei der Echtzeitfähigkeit. 
Was passiert, wenn der RAM neu beschrieben wird und das ablaufende 
Programm mal auf neue, mal auf alte Daten zugreift?

Ich erwarte nicht, dass mir jemand einen solchen Emulator entwickelt. 
Die Frage war, ob es bereits ein fertiges Projekt zum Nachbauen gibt. 
Das steht so aber auch gleich im ersten Post ;-)

Steffen

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jupp wrote:
> Ein typischer Thread im mikrocontroller.net. Vielen fühlen sich berufen
> ihre Meinung kundzutun - aber keiner hat eine passende Antwort.
>
> Sorry Steffen, dass ich einfach dazwischen poste.

Nur unser Jupp ist mal wieder die Ausnahme...

Autor: P. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steffen Hausinger wrote:

> Beim Dual Port RAM sehe ich Schwierigkeiten bei der Echtzeitfähigkeit.
> Was passiert, wenn der RAM neu beschrieben wird und das ablaufende
> Programm mal auf neue, mal auf alte Daten zugreift?

Wer soll denn so allgemein gehaltene Fragen beantworten? Du brauchst 
dich nicht wundern, wenn du mehr und mehr ungehaltene Antworten bekommst 
- die Leute hier kommen sich nunmal leicht veraeppelt vor, wenn jemand 
bohrt und bohrt aber seinerseits kaum dazu beihilft, die Fragen 
beantwortbar zu machen.

Und auch ueber Grundsatzdiskussionen brauchst du dich da nicht zu 
wundern, du waerst nicht der Erste, der zweifelhafte bis illegale Hacks 
hier ueber die Hintertuer realisiert haben moechte.

Btw, mir deucht du hast eine ganz eigene Definition von 
"Echtzeitfaehig", die nichts mit der ueblichen zu tun hat...

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Beim Dual Port RAM sehe ich Schwierigkeiten bei der Echtzeitfähigkeit.
> Was passiert, wenn der RAM neu beschrieben wird und das ablaufende
> Programm mal auf neue, mal auf alte Daten zugreift?

Um noch mal Senf dazuzugeben :
Wie willst Du das überhaupt beherrschen ohne genau zu wissen was 
passiert?
Selbst wenn Du genau zwischen einem Takt das EPROM umschalten kannst, 
was passiert wenn der Prozessor gerade auf 16 Bit Daten zugreift, das 
EPROM aber 8 Bit breit ist?
Dann wird von der alten Konstante z.B. das Low-Byte gelesen, und von den 
neuen Daten das High-Byte. Beim Zusammensetzen gibts einen Blödsinn.

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In dieser Zeit in dem gelesen wird da wird auch nicht umgeschalten.

So funktioniert es schon seit >20 Jahren im Chiptuningbereich.
Und es funktioniert sehr gut ohne irgendwelche Abstürze.

Autor: Steffen Hausinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter Stegemann:
Welche Fragen habe ich nicht beantwortet? Ich kann keine entdecken. Und 
dieses "bohren und bohren" ist meine Neugier. Ich hoffe, Du legst sie 
mir nicht zum Nachteil aus, in Deinem Post klingt es nämlich so.

Bezüglich der "illegalen Hacks": Ich habe mit nicht einem Wort erwähnt, 
um welche Anwendung es geht. Wieso schließt Du darauf, dass es sich um 
etwas illegales handelt? Finde ich komisch.

Im Übrigen habe ich den Begriff Echtzeitfähigkeit nicht definiert. Wenn 
Dir etwas konstruktives zu diesem Thema einfällt, dann schreib hier doch 
einfach etwas dazu. Würde mich freuen. Dein Nachposter hat das bspw. 
gemacht. Und Recht hat er!

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Bezüglich der "illegalen Hacks": Ich habe mit nicht einem Wort erwähnt,
>um welche Anwendung es geht. Wieso schließt Du darauf, dass es sich um
>etwas illegales handelt? Finde ich komisch.
dann erzähl doch mal einfach um welche anwendung und um welchen 
prozessor es sich handelt. da du ja nichts illegales vor hast kann das 
ja kein problem sein, oder?

gruss
gerhard

Autor: Steffen Hausinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerhard, was soll das bringen?

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn jeder seine Vorhaben hier im Forum offenlegen müsste gäbe es bald 
kein Forum mehr. Und wenn ich was illegales machen möchte dann erzähle 
ich es doch nicht hier oder wie naiv muss man denn sein?

Autor: Alex W. (a20q90)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Speedracer wrote:
> Wenn jeder seine Vorhaben hier im Forum offenlegen müsste gäbe es bald
> kein Forum mehr. Und wenn ich was illegales machen möchte dann erzähle
> ich es doch nicht hier oder wie naiv muss man denn sein?

Eben! Und selbst wenn Du es nicht erzählen möchtet für was Du es 
benötigst, erfindest Du halt einfach etwas anderes! Hauptsache die Jungs 
geben Ruhe. Der Hardware ist es schlißlich egal wo sie eingesetzt wird. 
Sie macht das wofür sie gebaut wurde, fertig!

Du hast mich gefragt ob ich Schaltpläne dafür habe! Ja habe ich, kann 
ich aber nicht herausgeben. Sind Firmeneigentum! Aber die Technik ist 
ganz einfach! Klemm nen RAM an nen Mega128 (128 deshalb, weil der 
bereits externes Ram unterstützt. Zudem hast Du mehr Platz für spätere 
Softwareerweiterungen). Der M128 bekommt über die UART die zu änderten 
Werter der entsprchenden Adressen. Sobald Du das "OK" gibst, wird 
umgeschaltet (über einen zusätzlichen Pin). Der M128 merkt sich den 
Umschaltpunkt und kopiert den Ram1 ins Ram2. Dort wird dann der 
Anderungsbefehl weitergeführt (also Du toggelst nach jedem "OK" die 
Rams).

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Alex

Also wenn ich es richtig verstanden habe hast du 2 SRAMs als 
RAM-Erweiterung an am Mega128 angeschlossen und über CE aktivierst du 
das eine oder andere SRAM und die Ausgänge hast du mit Tri-State-Treiber 
getrennt und so mit der ECU verbunden?

Eigentlich ein normaler Realtime Emulator?

Gruss

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn jeder seine Vorhaben hier im Forum offenlegen müsste gäbe es bald
>kein Forum mehr. Und wenn ich was illegales machen möchte dann erzähle
>ich es doch nicht hier oder wie naiv muss man denn sein?

wenn leute mit dem wissen wie es der themen-ersteller und einige andere 
ach so coole checker" offensichtlich haben an geräten wie einer 
motorsteuerung "herumbastelt" dann halte ich das nicht nur für illegal 
sondern für lebenbedrohlich. und zwar nicht nur das leben des "bastlers" 
bedrohend sondern auch seiner mitmenschen die er durch seinen "pfusch" 
in gefahr bringt. ist das soweit angekommen oder brauchst du es noch 
etwas detailierter?

gruss
gerhard

Autor: Alex W. (a20q90)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gerhard wrote:
> dann halte ich das nicht nur für illegal
> sondern für lebenbedrohlich.

Das ist absoluter Blödsinn! Es gibt zertifizierte Tuner (z.B. für 
Peugeot) bei dem alles TÜV-Gerecht und StVZo-Konform ist. Der 
FZ-Hersteller listet den Tuner sogar bei sich! Ist vergleichbar wie 
Brabus, Alpina...

An den Steuergeräten wird nichts "herumgebastelt"! Das machst villeicht 
Du!

Zudem was soll passieren ausser einem Motorschaden? Ich selber habe für 
einen Tuner gearbeitet, und kann mir eine Meinung bilden! Du allerdings 
nicht!

Zudem hat der Threadersteller nirgends geschrieben das es für ein FZ für 
die Straße ist! Es kann auch für eine private Rennstrecke sein. Also 
halt mal den Ball flach...

@Speedracer:
Ich habe nicht die /CE-Leitung benutzt, sonder wählte den Ram über die 
Adresse aus!

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das ist absoluter Blödsinn! Es gibt zertifizierte Tuner (z.B. für
>Peugeot) bei dem alles TÜV-Gerecht und StVZo-Konform ist. Der
>FZ-Hersteller listet den Tuner sogar bei sich! Ist vergleichbar wie
>Brabus, Alpina...
da habe ich auch nicht bestritten. nur kann ich mir nicht vorstellen, 
dass der thread ersteller bei so einem unternehmen beschäftigt ist. 
andernfalls würde ich mir ernste sorgen machen.

>An den Steuergeräten wird nichts "herumgebastelt"! Das machst villeicht
>Du!
wie kommst du zu dieser aussage?

>Zudem was soll passieren ausser einem Motorschaden?
was wird wohl bei einem motorschaden auf der autobahn bei dichten 
verkehr passieren? schon mal darüber nachgedacht?


>Ich selber habe für
>einen Tuner gearbeitet, und kann mir eine Meinung bilden! Du allerdings
>nicht!
danke für die belehrung!

>Zudem hat der Threadersteller nirgends geschrieben das es für ein FZ für
>die Straße ist! Es kann auch für eine private Rennstrecke sein. Also
>halt mal den Ball flach...
dann soll er das auch so sagen, andernfalls ist jede hilfe unsererseits 
beihilfe zu einer illegalen handlung.

gruss
gerhard

Autor: P. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex W. wrote:
> gerhard wrote:
>> dann halte ich das nicht nur für illegal
>> sondern für lebenbedrohlich.
> Das ist absoluter Blödsinn!

Vieleicht haettest du den Teil vor "dann" beachten sollen.

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man immer diesen destruktiven Aussagen von irgend welchen Moralaposteln.

Lebengefährlich sind Leute die hier Legale Schaltungen basteln und 
irgend was Regeln von dem Sie keine Ahunung was für Folgen dies haben 
können.

Motorschäden gibt es auch ohne Chiptuning genug.
Und Unfälle gibt es auch genug durch hirnlose Fahrer die ebenfalls hier 
Schaltungen entwickeln.

Gerhard bitte lege alle deine Projekte offen damit wir beurteilen können 
ob deine Schaltungen eine Gefahr für die Allgemeinheit ist. Wenn du dies 
nicht kannst dann bist nicht vertrauenswürdig. Oder kannst du dies nicht 
weil du ebenfalls ilegales entwickelt hast?

Nochmals:
Chiptuning ist nicht ilegal:
_Für Motorsport
_wenn die Änderung vom TÜV abgenommen wurde.

Autor: Steffen Hausinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Alex W.: Danke für die Info zum Aufbau!

Mit meiner ursprünglichen Frage wollte ich eigentlich nur abklären, ob 
es bereits ein fertiges Projekt zum Nachbauen existiert. Da das 
offensichtlich nicht der Fall ist, sind die Infos, die u.a. von Dir 
genannt wurden, sehr hilfreich!

Autor: Der mit dem Transistor tanzt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Chiptuning ist nicht ilegal:
>_Für Motorsport
>_wenn die Änderung vom TÜV abgenommen wurde.

Streng genommen ist Chiptuning illegal weil es das Urheberrecht des 
Softwareherstellers verletzt. Sind schon genug Chiptuner z.b. von BMW 
erfolgreich verklagt worden.

Außerdem nimmt der TÜV nicht die Änderung ab sondern prüft die 
Leistungssteigerung - wenn denn eine da ist - und schaut das die 
Abgaswerte dazu passen. Sollte das "Programm" grob fahrlässig verändert 
worden sein (z.B. das Ausheben eines Schutzes) und das ganze kommt raus 
(was sehr sehr unwahrscheinlich ist) kann die Versicherung jeglichen 
Schutz verweigern.

Naja, wenn Chiptuning handelt es sich hierbei wenigstens nicht um ein 
modernes Fahrzeug. Die haben kein 27256 mehr drin sondern ganz andere 
Kaliber.

Einen fertigen Emulator gibt es z.B. bei EVC, nicht grade billig. An 
sonsten am einfachsten 2 SRAMS, Bustreiber dazwischen die umschalten und 
so wie beschrieben ein SRAM ändern. Was ggf. auch geht ist ein 
Microcontroller der ein externen Bus hat und sich mittels WAIT Leitung 
o.a. als Slave verwenden lässt.

Grüße

Autor: Alex W. (a20q90)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der mit dem Transistor tanzt wrote:
>>Chiptuning ist nicht ilegal:
>>_Für Motorsport
>>_wenn die Änderung vom TÜV abgenommen wurde.
>
> Streng genommen ist Chiptuning illegal weil es das Urheberrecht des
> Softwareherstellers verletzt. Sind schon genug Chiptuner z.b. von BMW
> erfolgreich verklagt worden.

Dann müsste EVC auch schon verklagt worden sein! Immerhin liefern die 
diese Checksummenmodule. Das Urheberrecht der Steuergerätesoftware liegt 
aber bei Bosch bzw Siemens. Die EDC16 aus meinem BMW passt z.B. auch in 
meinem Hyundai. Sind komplett baugleich (hardwarseitig). Nur wie EWS ist 
anderst programmiert, weshalb es schon da nicht gehen würde.

Beim überspielen der Software kann ein BMW-EDC16 in einem Elantra 
2.0CRDI laufen (hab ich schon selber gesehen).

Allerdings gebe ich Dir recht! Ist Urheberrechtsverletzung und beim 
Tuning verdiehnt der Staat weniger, da die meinsten Fahrzeuge weniger 
Sprit bei gleicher Fahrweise verbrauchen. Eigendlich sollte man die 
Tuner verklagen wegen reduzierung von Staatseinnahmen. Die machen doch 
undere ganze Konjungtur kaputt. Die machen Autos schneller und 
sparsamer. Man sollte eine Kilometerpauschale auf getunte Auto 
einführen!

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Solange man Chiptuning für sich machte kann auch der Hersteller nichts 
dagegen machen ausser die Garantie verweigern.

Ich frage mich nur warum es hier so viele Moralapostel gibt wenn es um 
solche Themen geht und bei anderen Dinge bei der es um Hochspannung geht 
und irgendwelche Hobbybastler was machen da fühlt sich selten jemand 
dafür verantwortlich.

Ich glaube es geht wieder mal um den Deutschen Neid.

Autor: P. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Speedracer wrote:

> Ich glaube es geht wieder mal um den Deutschen Neid.

Kaum, Leute, die man beneiden kann, kaufen sich Autos, die man nicht 
mehr tunen braucht...

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Kaum, Leute, die man beneiden kann, kaufen sich Autos, die man nicht
>mehr tunen braucht...

Dem ist überhaupt nicht so. Auch diese Leute tunen ihre Autos damit sie 
sich von den anderen abheben können. Damit sind sogar sehr sehr 
hochpreisige Autos gemeint.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer glaubt, sich durch "getunte" Autos von anderen abheben zu müssen, 
hat ein großes Problem, das er auch durch das Tuning nicht kompensieren 
kann.

Immerhin, einen Vorteil hat diese Autoschrauberei: Oft erkennt man 
sofort, daß es sich um ein entsprechendes Fahrzeug handelt, was man als 
Warnung vor den Insassen auffassen kann.
Das Konzept ist aus der Tierwelt bekannt; giftige und sonstwie 
unangenehme Insekten sind oft sehr auffällig gekennzeichnet, um auf ihre 
Unverdaulichkeit hinzuweisen, als Beispiel sei hier nur die Wespe 
aufgeführt.

Tiefergelegt, "Fickfolie" an der Heckscheibe, Breitreifen, 
"Sport"-Auspuff, "Böser Blick" - alles eindeutige Idiotenindikatoren.

Toll.

[Nachtrag]

Da dieser Thread nicht nur durch meinen Beitrag jetzt ganz eindeutig OT 
ist, alles relevante zum Thema EPROM-Simulator bereits gesagt wurde und 
schon längere Zeit nichts mehr inhaltliches dazugekommen ist, habe ich 
das ganze mal verschoben.

Autor: Speedracer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus mit dir zu diskutieren ist ja so oder so wie Perlen vor die 
Schweine geworfen.

Denn du hast "absolut immer und überall Recht". Das haben so gut wie 
alle deine Thread gezeigt.

Noch schlimmer ist dass du dich überall zuständig fühlst ohne viel 
konstruktives bei zu tragen.

Ich glaube eher du hast ein Problem wenn du andere nicht lassen kannst 
da zu machen was die für sich gut finden.

Sobald Rufus an einem Thread teil genommen hat kann man ihn eigentlich 
auch gleich löschen. Denn es geht nur noch um seine Einstellung die 
nichts mehr mit der Sache zu tun hat.

Ist echt traurig wieviele Threads du hier schon in den Schmutz gezoge 
hast. Deshalb begreife ich Leute die sich schon nach kurzer Zeit hier 
nicht mehr aufhalten.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für das Lob.

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, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.