Probleme mit externem RAM

Gast #54782
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
Gast #54786
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
Gast #54787
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
Gast #54788
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=-
Gast #54789
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
Gast #54790
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=-
Gast #54791
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.
Gast #54792
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
Gast #54793
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
Gast #54794
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
Gast #54795
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren