mikrocontroller.net

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


Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Einhart Pape (einhart)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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. :(

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?!

Autor: Wayne (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.