Forum: Mikrocontroller und Digitale Elektronik Externes RAM bei 90S8515


von Moritz (Gast)


Lesenswert?

Hallo liebe µC-Leute!

Bin noch relativ unerfahren mit Mikrokontrollern und habe mich trotzdem 
an ein MP3-Player Projekt gewagt. Dieses Design benutzt einen AT90S8515 
(mit 7.3MHz Clk), der über einen Latch an Port A und über Port C (+ /RD 
und /WR von Port D) ein 32K*8 externes SRAM steuert. Nachdem es auf 
Anhieb natürlich nicht funktioniert hat, hab ich mal angefangen mich ein 
bisschen auf dem ASM Spielplatz auszutoben.
Ich hab versucht, Testwerte ins RAM zu schreiben und zu prüfen ob die 
richtig zurückgelesen werden. Hier das Listing:
---------
.include "8515def.inc"

ldi r16, 0b11000000
out MCUCR, r16    ;enable ext_ram + waitstate




ldi YH, 0x02  ;ext_ram start address
ldi YL, 0x60

main:
ldi r17, 0b10101010  ;test pattern
st Y, r17    ; write pattern to sram

ld r16, Y    ;read byte from sram

cp r16, r17    ;check if readback is ok
brne fehler

weiter:
adiw YL,1    ;inc adress

cpi YH, 0x80    ;exit if address=ext_ram end
breq ende
rjmp main

fehler:
; Adresse und RAM Inhalt per UART auf dem PC ausgeben


ende:
nop
rjmp ende
-------------------

Kann mir jemand sagen, ob das Programm prinzipiell OK ist oder ob ich 
z.B die RD und WR Strobes manuell machen muss?

Ich wäre euch für jeden Tip oder jede Berichtigung dankbar!

Schöne Grüsse,
Moritz

von Falk W. (Gast)


Lesenswert?

hmmmm..... bei einem mp3-projekt glaube ich nicht das du zusätzlichen 
speicher brauchst, da der decoder-chip schon einen buffer ffür einige 
millisekunden eingebaut hat (zumindest der MAS3507D von Micronas 
Intermetall www.intermetall.de), da brauchst du dich nur noch um den 
data-flow zu kümmern.

von Moritz (Gast)


Lesenswert?

Hi,

Der Player verwendet als Decoder den VS1001 von VLSI (www.vlsi.fi). Der 
hat auch einen Buffer, aber dieser Teil funktioniert. Die 32K Ram werden 
verwendet, um Daten von einer angeschlossenen Festplatte zu puffern.

von Falk W. (Gast)


Lesenswert?

hmmm.... ne festplatte... also die platte über ports zu steuern is ne 
heiden-arbeit, wenn das klappen sollte schick mir mal den sourcecode ;) 
(asm?).

ansonsten schau mal hier rein:

http://www.dg4fac.de/avr/avr_de/testram.html

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.