mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Einen eprom Speicher mit Hilfe eines µcs emulieren...


Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich weiß einige werden dieses Projekt sicherlich für Schwachsinn
halten, aber ich poste es trotzdem mal. Ich habe vor, in einen µC eine
etwas erweiterte Funktionsweise eines E bzw EEproms zu implementieren.
Die Daten dazu sollen über einen Computer per UART in einen
Arbeitsspeicher geladen werden und evtl auch geändert werden können vom
Computer aus(steht ganz unten auf der Featureliste, die
Grundfunktionalitäten sind erstmal wichtiger). Die Zugriffszeit des
emulierten Eproms sollte nicht höher als 100ns maximal 120ns sein. Was
würdet ihr für einen µC zur Erfüllung dieser Aufgabe nehmen? Ein AVR
wäre denke ich zu langsam für diese Aufgabe. Also würde ich es mit
einem ARM versuchen.
Ich bin immer offen für Anregungen, Vorschläge und Kritiken.
Gruß
Chris

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

Bewertung
0 lesenswert
nicht lesenswert
Ein SRAM, das anstelle des (E)EPROMs verwendet wird und vom µC gefüllt
wird, das kann auch ein AVR oder ein noch viel langsamerer µC
ansteuern.

Was nicht, auch nicht mit einem ARM möglicht ist, ist die direkte
Simulation des (E)EPROMs mit den Portleitungen des µC - der müsste in
den von Dir erwähnten 100ns nämlich auf Lese- und Schreibzugriffe
reagieren können, die richtigen Daten irgendwoanders herholen resp.
dorthin packen ...
Das bedeutet, daß der betreffende µC in diesen 100ns etliche CPU-Zyklen
und etliche I/O-Zyklen durchführen müsste - keine praktikable Lösung.

Nimm ein SRAM, kopple dessen Adress- und Datenbus über
Tristate-Bustreiber ('245 o.ä.) an µC und das Zielsystem, und denke
Dir eine sinnvolle Verschaltung von /CS, /OE und /WR aus.

Soll der µC das SRAM beschreiben, werden die Bustreiber so geschaltet,
daß der µC mit dem RAM verbunden, aber das Zielsystem getrennt ist.

Geschwindigkeitsmäßig sollte ein normales 70ns-SRAM genügen, die
Differenz zu den geforderten 100ns füllt selbst ein LS245 nicht aus.
Notfalls nimmst Du halt 'ne schnellere Logikreihe, wie z.B. AC.

Der µC selbst hat beim Beschreiben des SRAMs ja alle Zeit der Welt (das
Zielsystem kann halt in der Zeit nicht darauf zugreifen) und kann daher
praktisch jeder denkbare Typ sein.

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke auch, wie mein vorredner schon sagte, ein Eprom direkt mit dem
mc zu emulieren ist der falsche Denkansatz. Das würde spezielle Hardware
brauchen, weil das Ram, was die Daten für den emulierenden MC mindestens
faktor 2-6 schneller sein müsste, als das emulierte Eprom.

Das ist vermutlich den Aufwand nicht wert.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt... der Lösungsansatz ist weitaus schöner und eleganter finde ich.
Vor allem um einiges leichter zu implementieren.
Danke für den Vorschlag. Ich werde mich mal drann setzen, falls noch
jemand andere Vorschläge oder Ideen dazu hat, ich bin wie gesagt für
alles offen.
Gruß
Chris

Autor: Thoms Schildknecht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ganze nennt sich Eprom Simulator oder Eprom Emulator. Vor 20 Jahren
habe ich das entwickelt, gebaut und vertrieben.
Letzlich musst du ein RAM aufbauen über das du sowohl vom uC wie auch
vom Zielsystem zugreifen kannst. Das kann man mit Multiplexer bauen
oder auch einfachen Transievern wie einem 74245. der uC schreibt
während Downlodaphase in das Ram und erzeugt gleich noch ein Reset
signal für das Zielsystem. Danach schaltet er seine Treiber ab und gibt
den Zugriff vom Zielsystem frei. Der selbst erzeugte Reset wird
ausgelöst und das Zielsystem kann loslaufen. Die zusätzlichen
Verzögerungen durch die Mux liegen bei ca 20ns. Die beste lösung ist
eine sehr kurze Verbindung über steckkontakte ins zielsystem. Hier kein
Flachbandkabel o.ä verwenden das bereitet Probleme.

Später habe ich dann einen Doppelsimulator gebaut der immer abwechselnd
in Bank 1 und dann Bank 2 läd. Durch eine Umschaltsignal wird für das
Zielsystem unsichtbar bei der steigenden Flanke des CS Signals zwischen
den beiden Bänken umgeschaltet. Dieses System wurde auf
Motorenprüfständen verwendet um die Kennfelder der Motorelektronik bei
laufendem Motor zu ändern.

Vor 20 Jahren gab es keine EEPROMS, seither macht ein Eprom Simulator
keinen Sinn mehr. Aussdem kann man das bei Ahlers für wenige Euros
kaufen. Trotzdem viel Spass beim bauen.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es SRAMS/DRAMS mit 20 Adressleitungen und einer Speicherkapazität
von min 32Mbit? Die die ich bisher gefunden habe haben alle weitaus
weniger Adressleitungen(10 bis 12). Das heißt ich müsste einen
Adressdekoder verwenden.

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur zur Info:

EEProms gibts seit 1983; die technik, die dafür verwandt wurde
(floating Gate NMOS) stammt aus einer Erfindung aus den frühen 70ern
(egentlich eher ende 60'er aber die entwicklung dauerte relativ
lange).

Consumermarktreife (stabile, niedrige Preise) erreichten EEProms
"relativ" früh 4-5 Jahre nach Erscheinung.

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
suche mal nach "4flash" Eprom EMU im Netz

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.