8515 mit externem RAM

Gast #24948
Lesenswert?

Moin Moin,

habe immer noch Probleme mit meinem externen RAM am 8515!

Verwende ein 70ns SRAM zusammen mit einem 74HC573 als Adresslatch und 
der 8515 läuft auf 4MHz.
Habe das ganze mittlerweile auf einer Lochrasterplatine aufgebaut um 
möglichst kurze Verbindungswege zu haben, die ich vorher nicht hatte. 
Leider brachte auch das keinen Erfolg.
In der Software muss man doch einfach nur das externe RAM im 
MCUCR-Register freigeben und kann dann z.B. mit Hilfe des 
X-Y-Z-Registers und den ld und st Befehlen auf das externe RAM wie auf 
das interne zugreifen. Liege ich da richtig, oder ist da noch ein Haken. 
Mit und ohne Waitstate habe ich auch schon versucht.

Hoffe Ihr könnt mir helfen!

Gruß,
Ralf
Gast #24953
Lesenswert?

Hallo Jens,

danke für deine Hilfe!
Habe gesehen, dass dort Pullups an der /rd und /wr Leitung hängen. Diese 
habe ich in meiner Schaltung nicht. Wenn ich mir die Schaltung des YAMPP 
MP3 Players ansehe, dann finde ich diese Widerstände jedoch auch nicht. 
Sind die beiden Ausgänge /rd und /wr open drain Ausgänge, sodass diese 
Widerstände nötig sind, oder nicht??

Gruß,
Ralf
Gast #24954
Lesenswert?

Hallo Ralf,
ich denke die Pullups dienen dazu undefinierte Zustände beim Einschalten 
zu verhindern. Beim starten des AVR´s sind die Ports ja als Eingänge 
definiert, ganz sicher bin ich mir allerdings nicht. Ich hab die 
Schaltung von Daniel, allerdings mit nem anderen AD-Wandler, aufgebaut 
und sie funzt einwandfrei.

Gruß
-=jens=-
Gast #24958
Lesenswert?

Hallo Jens,

ich gehe bei dem Testprogramm einfach davon aus, dass ich vor dem 
drücken des Tasters schon ein Textfile an den Controller gesendet habe, 
welches groß genug ist. Habe ich dieses File gesendet, dann drücke ich 
den Taster und setze den Zeiger wieder auf den Startpunkt, wo ich zuvor 
mit dem Beschreiben des RAMS begonnen habe. Von dort aus lese ich dann 
die Daten aus dem RAM aus und sende sie über die Schnittstelle an den 
PC. Die Anzahl der ausgelesenen Bytes habe ich einfach festgelegt und 
hat nichts mit der tatsächlich empfangenen Datenmenge zu tun. Ich möchte 
nur, das der Controller irgendwann aufhört zu senden, da sonst das 
Terminal bei mir immer weiter lief.
Gast #24959
Lesenswert?

Hallo Ralf,
o.k. wenn du es so machst solle das Programm ~2550 Byte senden.
Dann ist es wohl doch eher ein Hardware-Fehler. Check mal die 
Steuersignale, die Adress- und Datenleitungen sind (zumindest was 
vertauschen der Leitungen untereinander, nicht Adress- gegen 
Datenleitungen angeht) irrelevant.

Ich hoffe du kannst den Fehler lokalisieren. Sende eventuell mal ´n 
Layout das du verwendet hast.

Gruß
-=jens=-
Gast #24963
Lesenswert?

Moin Moin,

habe euch nochmal meine Schaltung angehängt. Vielleicht könntet Ihr ja 
mal einen kurzen Blick drauf werfen, ob ich da einen Fehler drin habe. 
Die CF-Fassung habe ich noch nicht eingebaut. Wollte erst mal den Rest 
ans laufen kriegen. Ebenso fehlt der Spannungsregler.
Ist eine Eagle *.sch-Datei.

Danke schonmal....

Ralf
Angehängte Dateien:
Gast #24965
Lesenswert?

Danke,

muß ich mir nochmal anschauen. Wollte meinen Adressbereich nachher in 
mehrere Teile aufteilen und dann die CF-Karte in einen höheren Bereich 
hineinlegen. Dann muß ich wohl noch ein ODER einbauen oder so, damit ich 
auch das ganze RAM verwenden kann. Die unteren 512 Byte werden glaube 
ich auch abgeschnittnen. Das hatte ich bis jetzt in Kauf genommen. Aber 
3/4 wollte ich nicht verlieren.
Werde heute dann nochmal die Steuersignale mit dem Scope nachmessen. 
Wenn die dann stimmen, hat wohl mein RAM oder eines der anderen ICs ne 
Macke.

Gruß,

Ralf
Gast #24966
Lesenswert?

Moin Moin,

danke für eure Hilfe!

Habe jetzt gestern meine Schaltung durchgemessen und das Problem lag 
wohl an der Entprellung des Tasters. Ich habe mir dort wohl immer recht 
schnell eine Störung eingefangen, sodass der Controller gleich zur 
Ausgabe der Daten übergegangen ist. Da zu diesem Zeitpunkt meist nur 
nicht lesbare oder Steuerzeichen im RAM standen, hat mein Terminal 
nichts angezeigt. Habe den Taster jetzt entprellt und alles 
funktioniert. Hätte nicht gedacht, dass das Entprellen des Tasters in so 
einem kleinen Programm so wichtig ist. Werde also in Zukunft immer 
saubere Programme schreiben!

Viele Grüße,

Ralf

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