Forum: Mikrocontroller und Digitale Elektronik ATmega32 16MHz - kein SPI-Highpegel


von Maik (Gast)


Lesenswert?

Hallo!

Da mir geraten wurde,einen eigenen Thread aufzumachen, tue ich das hier 
mal.

Ich habe mir eine Leiterplatte fertigen lassen. Darauf befindet sich ein
ATmega32 16AU mit dem ich 2 Sensoren auslesen möchte.Getaktet wird mit
einem 16MHZ Ceramic Resonantor (CSTCE16M0V53A) Das alles funktionierte
vorher einwandfrei,wo ich allerdings einen ATmega16 und einen Takt von
8MHz verwendet habe.
Betrieben wird alles mit 3,2V.

Heute nun hab ich das Board in Betrieb nehmen wollen und der Sensor, den
ich über SPI auslese, gibt mir nichts zurück.

Ich programmiere mit der aktuellsten Version des AVR Studio und JTAG ICE
mkII.

Beim messen der SPI-Signalpegel habe ich festgestellt,dass der Highpegel
vom Taktsignal SCK anstatt etwa 3V nur 450mV beträgt!!

Meine Vermutung ist,dass ich beim Einstellen der Fuse Bits etwas falsch
gemacht habe.

Meine Einstellungen sind:

JTAGEN   1
SPIEN    1
CKOPT    1
SUT_CKSEL Ext. Crystal/Resonator,High Freq,Start-up: 16K CK+64ms
Brown out Vcc 2,7V

Fusebit High 0x89
        Low  0xFF

Ein Routingfehler auf der Leiterplatte kann ausgeschlossen werden.Hab 
ich ebenfalls schon durchgemessen.

Hat jemand eine Idee,was da falsch sein könnte?

von Einhart P. (einhart)


Lesenswert?

Du betreibst den Mega32 mit 3,2 V außerhalb seiner Spezifikationen. Das 
geht nur mit der L Ausführung, dann aber mit max. 8 Mhz.

Gruß
Einhart

von Maik (Gast)


Lesenswert?

> Wenn mit Oszi: Erkennt man an der Signalform ungewöhnliches?

Ich messe mit dem Oszi und Ungewöhnliches kann ich nicht erkennen.
Mein Programm läuft auch durch und auf der MOSI-Leitung sind die Pegel 
auch einwandfrei. Highpegel ist dort 3,25V

Nur auf der SCK-Leitung ist eben das Highsignal 480mV.
Mein Bustakt ist 250KHz.

von Maik (Gast)


Lesenswert?

> Du betreibst den Mega32 mit 3,2 V außerhalb seiner Spezifikationen. Das
> geht nur mit der L Ausführung, dann aber mit max. 8 Mhz.

Du hast recht.Jetzt seh ich das auch grad im Datenblatt.Das wird dann 
wohl der Fehler sein. :(

von Maik (Gast)


Lesenswert?

Guten Morgen.

Ein Nachtrag von mir:

Ich habe gestern den 16MHz Keramik Resonator durch einen 8MHz 
ausgetauscht und das Problem besteht weiterhin.

> Du betreibst den Mega32 mit 3,2 V außerhalb seiner Spezifikationen. Das
> geht nur mit der L Ausführung, dann aber mit max. 8 Mhz.

Das ist doch nicht das Problem, da ich auf meinem funktionierenden Board 
einen ATmega16 (ohne L-Bezeichnung) drauf habe und diesen auch mit 3,2V 
versorgen kann. Dabei läuft das Programm auch einwandfrei.Laut 
Datenblatt dürfte dies ja aber nicht gehen,da dort Vcc 4,5...5,5V sein 
sollte!

Komischerweise hat mein I²C-Takt den 3,2V Highpegel?!

von Wayne (Gast)


Lesenswert?

Des wegen gibt es ja die L-Typen, die laufen zuverlässig bei niedriegen 
Spannungen, bei den normalen Typen wird das nicht garantiert. Das kann 
bedeuten, dass das meiste läuft und nur ein Teil, wie z.B. bei dir die 
SPI-Schnittstelle, nicht.

von Maik (Gast)


Lesenswert?

> Das kann bedeuten, dass das meiste läuft und nur ein Teil, wie z.B. bei dir > 
die SPI-Schnittstelle, nicht.

Dann wäre das aber denke ich schon großer Zufall,wenn ich hier 3 
Controller habe,die mir bei 3,2V alle keine Probleme auf sämtlichen 
Leitungen machen oder?

von Oliver J. (skriptkiddy)


Lesenswert?

Maik schrieb:
> Dann wäre das aber denke ich schon großer Zufall,wenn ich hier 3
> Controller habe,die mir bei 3,2V alle keine Probleme auf sämtlichen
> Leitungen machen oder?

Man betreibt Bauteile nicht außerhalb ihrer Spezifikation. Basta.
Versuch doch mal die schaltung mit 5V zu speisen und schau mal, wie dann 
die Highpegel aussehen. Da siehst du dann, ob es an dem 
nicht-spec-konformen Betrieb liegt.

Gruß Skriptkiddy

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Hmm, ich dachte (hoffte) das mit der Out-of-Spec wär's gewesen. Mein 
Verdacht liegt immer noch eher bei der Hardware.

Wenn die externe SPI-Hardware abtrennbar ist oder nicht stören kann 
(sieht man mangels Schaltplan leider nicht), dann den SCK-Pin mal als 
IO-Pin programmieren und klappern bzw. messen ob der ohne die SPI-Unit 
einen sauberen HIGH produzieren kann.

Und ich würde mit der Tastspitze des Oszi mal suchen, wo der Rest meines 
SCK-Signals versickert. Also: Hat irgendein anderer Pin ebenfalls den 
SCK-Takt - speziell MISO, der direkt neben SCK liegt (Lötbrücke).

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.