Forum: Mikrocontroller und Digitale Elektronik SPI-EEPROM antwortet nicht


von Christoph B. (christophbudelmann) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo,

ich würde gern ein SPI-EEPROM aus der M95***-Reihe von ST per SPI mit
einem Atmega8 auslesen. Das Senden von Befehlen an das EEPROM
funktioniert, wie ich auf dem Oszilloskop sehen kann. Jedoch bekomme
ich überhaupt keine Antwort vom EEPROM, dessen Datenausgang immer nur
um einíge Hunderstel Volt im SPI-Takt hin- und herwackelt. Pinbelegung,
Instruktionen für das EEPROM, etc. habe ich nun bereits mehrfach geprüft
und ich weiß auch nicht mehr, voran es sonst noch liegen könnte.

Anbei meine Routinen zum Lesen und Schreiben via SPI. Wäre super, wenn
jemand helfen könnte, seit zwei Tagen funktioniert das nicht.

von Feadi (Gast)


Lesenswert?

Ich komme bei solchen Problemen immer einen großen Schritt weiter wenn
ich die Einänge mit Schaltern/Tastern(entprellt), und die Ausgänge mit
LED's, verbinde.

Du kannst dann sehr schnell herausfinden was genau nicht funktioniert.

Feadi

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Ich weiß nicht ganz, was das bringen soll. Ich sehe ja beispielsweise am
Oszilloskop, dass der Atmega8 die Daten richtig über den SPI-Bus
rausschiebt, dass MISO aber immer high bleibt.

von Stefan K. (_sk_)


Lesenswert?

> ich überhaupt keine Antwort vom EEPROM, dessen Datenausgang immer
> nur um einíge Hunderstel Volt im SPI-Takt hin- und herwackelt.

Ist die MISO-Leitung noch mit anderen Bauteilen beschaltet? Das klingt
nicht gesund.
Was passiert, wenn Du die MISO-Leitung mit Pullup bzw. Pulldown
beschaltest? Im Idle-Zustand sollte sie dem Pulup/down folgen, wenn das
EEPROM angesprochen wird, sollte ein Pegelwechsel auftreten.

D an MOSI und
Q an MISO?

Gruß, Stefan

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Die Pinbelegung ist richtig und MISO ist auch mit nichts anderem
beschaltet. Allerdings auch wenn ich die SPI -Schnittstelle nicht
aktiviere und MISO als Ausgang ohne PullUp definiere, liegen 5V am Pin
an. Selbst ein 1K-PullDown-Widerstand zieht die nicht runter. Wundert
mich etwas, denn ich benutze das STK500, Kurzschlüsse sollten da ja nun
nicht auftreten.

von Stefan K. (_sk_)


Lesenswert?

Dann hast Du wohl ein elektrisches problem. Wenn der Pulldown den Pegel
nicht ändern kann, dann kann das EEPROM ihn auch nicht ändern.

Hast Du vielleicht ein Programmiergerät am SPI angeschlossen?

Gruß, Stefan

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Das 6polige ISP-Kabel vom STK hatte ich nach dem Flashen abgemacht, es
ging aber immer noch nicht. Allerdings habe ich die STK Platine mal in
die Waschmaschine gesteckt und siehe da, jetzt geht es. War wohl
wirklich irgendwo ein Kurzschluss.

Danke für die Tipps!

Christoph

PS: Die Waschmaschine ist speziell eine für Platinen, die heimische
Maschine sollte man dafür nicht unbedingt benutzen... ;-)

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.