Atmel USART + SRAM Probleme!

A

Andreas Auer

Guest
Hi.

Ich hab hier einen ATMega162. Das Problem, das ich mit dem Mikrocontroller
habe ist folgendes:
Ich verwende die USART1 (2.serielle). Sie funktioniert einwandfrei.
Wenn ich jetzt das externe SRAM dazuschalte (USART und SRAM aktiviert),
sieht es zwar so aus als ob ich ganz normal auf das SRAM schreiben bzw. von
dort lesen kann (beschreibe es mit Werte und lese die Werte wieder aus).
Wenn ich das SRAM entferne dann ändert sich irgendwie nichts, d.h. es
funktioniert immer noch, sollte es aber nicht mehr.

Komischerweise ist auch ein HIGH Pegel auf PC2, sobald ich auf UDR1 schreibe
bzw. von dort lese. Die restlichen PINS von Port C sehen aus, als würde
sich nichts ändern (JTAG Interface ist ausgeschaltet).

Kennt jemand dieses Phänomen?? Kann mir jemand sagen wie ich das SRAM
richtig testen kann, ob es auch wirklich funktioniert!

mfg
Andreas

--

Andreas Auer aauer1@sbox.tugraz.at
Student of Telematics
Graz University of Technology
 
Andreas Auer wrote:

Hi.

Ich hab hier einen ATMega162. Das Problem, das ich mit dem Mikrocontroller
habe ist folgendes:
Ich verwende die USART1 (2.serielle). Sie funktioniert einwandfrei.
Wenn ich jetzt das externe SRAM dazuschalte (USART und SRAM aktiviert),
sieht es zwar so aus als ob ich ganz normal auf das SRAM schreiben bzw.
von dort lesen kann (beschreibe es mit Werte und lese die Werte wieder
aus). Wenn ich das SRAM entferne dann ändert sich irgendwie nichts, d.h.
es funktioniert immer noch, sollte es aber nicht mehr.

Komischerweise ist auch ein HIGH Pegel auf PC2, sobald ich auf UDR1
schreibe bzw. von dort lese. Die restlichen PINS von Port C sehen aus, als
würde sich nichts ändern (JTAG Interface ist ausgeschaltet).

Kennt jemand dieses Phänomen?? Kann mir jemand sagen wie ich das SRAM
richtig testen kann, ob es auch wirklich funktioniert!

mfg
Andreas

Hi Andreas,

ein ertraeglich einfacher Test ist das beschreiben mit 2 komplementaeren
Testpattern. 0x55 und 0xaa sind nett.
Das _ganze_ RAM mit 0x55,0x55,0xaa,0x55,0x55,0xaa usw.
beschreiben, _dann_ erst das _ganze_ RAM darauf testen, ob die Bytes
in dieser Reihenfolge auch drin sind. Damit erwischt man die ueblichen
Fehler in der Adressierung, zu wenig RAM, etc. Wenn Du dann die Testpattern
noch etwas variierst kannst Du auch noch verbleibende, schraege Fehler
finden.
Gib die erste Adresse, bei der ein Fehler auftritt mit dem zurueckgelesenen
Wert ueber die serielle Schnittstelle aus, und Du hast einen
gutenAnhaltspunkt bei der fehlersuche.
Ist schnell implementiert und der Durchlauf geht auch recht schnell.

Viel Spass dabei ;-)
Detlef
--
Man ersetze das _dot_ in der Email gegen einen Punkt..
 

Welcome to EDABoard.com

Sponsor

Back
Top