Forum: Mikrocontroller und Digitale Elektronik Probleme mit externem RAM


von J. Rehder (Gast)


Lesenswert?

Moin,

ich habe an einen 8515 (8MHz) ein externes RAM (62256) angeschlossen.
Als Spannungsversorgung verwende ich einen 78S05 an den neben dem
Mikrocontroller noch einige andere Verbraucher angeschlossen sind.
Fülle ich nun das RAM mit Daten, treten Fehler auf. In jeweils 8 Byte
Abschnitten sind bestimmte Pins gesetzt, obwohl das Programm dies nicht
"angeordnet" hat. Daraufhin habe ich einen weiteren 78S05 eingebaut,
der nur RAM und Latch versorgt. Anfänglich verschwand der Fehler
dadurch, er ist nun aber wieder da, und auch wenn nicht mehr jeweils 8
Byte gestört sind, so doch alle 8 Byte mal eines. (Immer das gleiche.)
Der Fehler liegt augenscheinlich an der Spannungsversorgung, wieso ist
er aber zeitweilig verschwunden? Wie kann ich eine Spannungsversorgung
herstellen, die diesem Fehler entgegen wirkt?

Vielen Dank schonmal,

J. Rehder

von Frankl (Gast)


Lesenswert?

Mal einfach Fragen: Abblockkondensatoren (zwischen + und -) an der
Stromversorgung und an den IC's (100nf)?.

von Schmittchen (Gast)


Lesenswert?

Verdrahtungsfehler Adress- und/oder Datenbus? Könnte ne Unterbrechung
irgendwo sein.

Schmittchen.

von Eckhard (Gast)


Lesenswert?

Hallo,

weiß ja nicht was da noch so dranhängt, aber wie siehts mit der
Treiberleistung des Datenbusses aus ? Ansonsten etvl ein kritisches
Timing nicht exakt eingehalten ?


Eckhard

von J. Rehder (Gast)


Lesenswert?

Ein Abblockkondensator habe ich natürlich. Verdrahtungsfehler hatte ich
auch erst vermutet, schließe ich aber aus, weil es zeitweilig
uneingeschränkt funktioniert hat. Eine eigene Spannungsversorgung hatte
ja zeitweilig Abhilfe geschaffen und schafft noch immer eine
Verbesserung, wenn auch einige Daten wieder beschädigt sind.
Hat denn niemand mal ein ähnliches Problem bewältigt?

J. Rehder

von Matthias (Gast)


Lesenswert?

Hi

was für ein 8515? S oder Mega? Was für Latch? Die S8515 sind berüchtigt
dafür das sie ein häßliches Timing auf dem Bus haben was eigentlich
nicht kompatibel zum 8080-Bus ist. Manchmal hilft ein anderes Latch,
manchmal ein anderes SRAM, manchmal ein kleiner C (47p oder sowas)
direkt an ALE gegen Masse. Besonders letzteres hat bei mir schonmal
geholfen.

Der Mega8515 ist da unproblematischer.

Matthias

von DerInder (Gast)


Lesenswert?

Hi,
bei mir gabs auch kleinere Probleme aufgrund des kritischen timings.
Abhilfe bracht das setzen der Waitstaits, obwohl das RAM eigentlich
schnell genug währe ohne zu arbeiten.

Gruß
-=jens=-

von Siegfried (Gast)


Lesenswert?

Hi,
die Schaltungsvorschläge von Atmel beziehen sich auf bei 4 MHz auf
einen bestimmten 74???373 Typ, der als Adresslatch eingesetzt wird. Bei
8 MHz muss ein schnellerer Typ eingesetzt werden. Steht alles in den
Spezifikationen.

Siegfried

von DerInder (Gast)


Lesenswert?

Hi nochmal,
bei mir läuft die Schaltung mit einem gewöhnlichen 74LS373 auf 8 MHz,
wie gesagt mit Waitstats. Problematischer ist glaube ich schon die
Geschwindigkeit der RAM-Bausteins, bei mit ist es ein 60ns TAG-RAM.

Gruß
-=jens=-

von Jochen (Gast)


Lesenswert?

Aus dem hohlen Bauch raus würde ich sagen, dass die 74LS-Familie bei
8MHz zumindest schon am Rande der Spec betrieben wird, wenn nicht schon
zu langsam ist.
Zudem ist die 74LS-Familie veraltet, die setzt man bei Neuentwicklungen
heute nicht mehr ein. Zudem saugt die Strom ohne Ende. Der direkte
Ersatz ist 74ALS, doppelte Geschwindigkeit bei halbem Stromverbrauch.
Allerdings sollte sich jeder überlegen, ob er nicht direkt eine der
Niedrigspannungsfamilien einsetzt. Einige sind 5V-tolerant und zudem
kann man ja auch den AVR sowie das RAM auch bei 3,3V oder weniger
betreiben.

von Matthias (Gast)


Lesenswert?

Hi

bei 3,3V werden die Eigenschaften der Logik aber nicht wirklich besser.
LS sollte man trotzdem nicht unbedingt einsetzen. Ein 74HC573 reicht
aber bei 8MHz Takt eigentlich aus. Zu ALS und Konsorten sollte man nur
greifen wenns nicht mehr anders geht da einem die Dinger die
Betriebsspannung und Masse sehr leicht verhauen können. Groundplane ist
bei der Verwendung von dem Zeug eigentlich Pflicht.

Matthias

von J. Rehder (Gast)


Lesenswert?

Moin,

den Waitbit habe ich bereits gesetzt, ohne den funktioniert es bei 8
MHz höchst schäbig. Als Latch verwende ich einen 74HCT573. Mit einer 4
MHz Taktung nimmt die Häufigkeit der Fehler tatsächlich ab auch wenn
sie nicht ganz verschwinden. Eigentlich würde ich aber gern weiterhin
eine 8 MHz-Taktung verwenden, weil der sonst der Rechner für meine
Belange zu langsam ist. Es hat ja auch kurzzeitig damit funktioniert.
(Ich weiß, ich wiederhole mich, aber ich finde es so unverständlich und
frech von dem.)
Könnte ein ATmega8515 gegenüber einem AT90S8515 da Abhilfe schaffen?
Kann ich die gegeneinander austauschen? Und bestände dann sogar die
Möglichkeit den mit externem RAM und 16 MHz zu betreiben oder ist das
dann entgültig zu schnell?

Vielen Dank nochmal für die vielen Beiträge!

J. Rehder

von Matthias (Gast)


Lesenswert?

Hi

der Mega8515 ist wohl deutlich gutmütiger was die Timings anbelangt. Er
kann den S8515 direkt ersetzen. Außerdem bietet er mehr Möglichkeiten
WaitStates einzufügen. Für den Betrieb mit 8MHz nennt Atmel ein 74HC573
als geeignetes Latch was ich bestätigen kann. Darüber brauchts wohl
AHC. Aber eigentlich solltest du es mit dem S8515 auch zum Laufen
bringen. Hast du ein Skop? Kannst du dir die Daten/Adressleitungen bzw.
deren Timing mal anschauen und dann mal sehen wos klemmt?

Da die Fehler aber auch bei 4MHz nicht völlig verschwinden würde ich
auf einen Fehler/eine Unsauberkeit im Aufbau tippen. Was verwendest du
denn als RAM? Und erstmal solltest du das LS-Latch gegen ein HC-Latch
tauschen.

Matthias

von Jochen (Gast)


Lesenswert?

@Matthias:
Die Eigenschaften der 3,3V-Familien sind in der Tat besser. Die haben
bessere elektrische Eigenschaften als auch kürzere Durchlaufzeiten.
Mit den steileren Flanken sollte man aber in der Tat ein bisschen mehr
Sorgfalt bei der Erstellung der Platinen walten lassen.

von Tobias (Gast)


Lesenswert?

Hi,
nur mal um sicher zu gehen:
Wenn ich einen ATMega8515 mit 16Mhz Takte und ein 15ns RAM habe, leuft
das dann mit einem 74ALS573 ohne wait-states?

Tobias

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