Gast
#633083
Ich habe ein kleines Problem mit einem SRAM am ATMEGA8515. Ich bekomme scheinbar keine Daten rein. Anbei der Source vom Testen. Die oberen Leitungen (A16-A18 haengen an Port E = 0 : 64kB Bank 0). Ich habe es mal auf das Notwendigste reduziert: Zuerst wird A8-15 auf Portc geschrieben und ein Latch geclocked, danach wird der gleiche Port fuer A0-A8 beschrieben. Der Datenport ist PortD und die DDRs sind alle (teilweise vorab) passend gesetzt. ldi ladr,0 ; SRAM: Low-Address ldi hadr,0 ; SRAM: Hi-Address m5: ldi mp,255 out ddrd,mp ; PortD output SRAM.:Data out portc,hadr ; set address port in mp,pinb ; clock (0) - 1 - 0 (A8-A15) ori mp,0b00001000 out portb,mp andi mp,0b11110111 out portb,mp out portc,ladr ; set Address (A0-A7) out portd,count ; generate some values in mp,pinb ; SRAM /WE:0 /CE:0 : write andi mp,0b11101011 out portb,mp ori mp,0b11110100 ; /WE:1 /CE:1 : tristate out portb,mp Das SRAM ist ein 628512-70, der auch unter dieser Bezeichnung bei Reichelt zu finden ist. Ich hatte diesen Typen schonmal an einem sehr alten 8bit-Computer mit einem 6522-VIA verwendet. Da gab es mit folgendem Ablauf keine Probleme : Adressen setzen, Datenport setzen, /CE und /WE (wurde dort duch R/W erledigt) passend pulsen. Der Source entspricht meinem letzten Versuch. Es ist zum Verzweifeln. Ich uebertrage mit knapp 20kB/s zwischen einem 30 Jahre alten CBM und einem AVR . An einem ansonsten unproblematischen SRAM muss man dann haengen bleiben. Koennte mir jemand auf die Spruenge helfen ? /OE liegt in der Schaltung auf GND. Habe ich bisher immer so verwendet. Elektrisch sollte alles ok sein. Signale sind auch alle passend da. Michael