mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32F3 - Problem mit GPIOs Rise/Fall viel zu langsam - 250 µs


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Passierschein A38 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

habe hier ein extrem seltsames Problem mit einem STM32F3.
Die Anstiegs und Abfallzeiten an den I/Os sind VIEL zu langsam.
Oder genauer gesagt, von 0 bis ca. 2.4V ist es normal schnell. Sind ein 
paar Nanosekunden, aber danach braucht es dann plötzlich über 250 
MikroSekunden(!) bis 3.3V erreicht werden. Umgekehrt beim Schalten auf 
low  braucht es bis ca. 0.85V nur ein paar Nanosekunden, danach dann 
wieder über 250µs bis 0V erreicht werden.

Hardware: ST Nucleo-F303ZE (d.h. ein fertiges Eval-Board, sollte OK 
sein)
Und noch ein zweites Board! Es kann also eigentlich kein Hardware-Defekt 
sein.

Nein, liegt auch nicht am Oszi, habe es mit zwei verschiedenen getestet.
10X Tastkopf.
Auch Gegenprobe mit einem STM32F7 gemacht - da funktionierts normal mit 
sehr ähnlichem Code.
Habe schon von direkt BSRR/BRR Register setzen auf HAL Funktionen 
umgestellt, aber das hat auch nix gebracht.


  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();

// Pin als Ausgang konfiguriert:

  GPIO_InitStruct.Pin = GPIO_PIN_8;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;  // Push Pull
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;  // Low auch probiert, 
macht keinen Unterschied
  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);


// Am Pin wackeln:

  while(1)
  {
    HAL_Delay(1);
    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, GPIO_PIN_RESET);
    HAL_Delay(1);
    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, GPIO_PIN_SET);
    HAL_Delay(1);
  }

Ja habe auch andere GPIOs probiert - gleiches Problem.

Hat jemand eine Idee woran das liegen könnte?
Danke schonmal - ich werd hier langsam verrückt ;-)

Autor: foobar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An den Pins ist nichts angeschlossen?

Autor: Curby23523 N. (nils_h494)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Passierschein A38 schrieb:
> Habe schon von direkt BSRR/BRR Register setzen auf HAL Funktionen
> umgestellt, aber das hat auch nix gebracht.

Dann lass das lieber sein ;).

Wie verhalten sich andere Pins? Sind Kondensatoren oder andere Bauteile 
angeschlossen?

Autor: Dicker Tal Künstler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Passierschein A38 schrieb:
> Ja habe auch andere GPIOs probiert - gleiches Problem.
>
> Hat jemand eine Idee woran das liegen könnte?

Da hängt vermutlich (aufgrund des Eval-Boards) irgendeine Last
dran. Suche dir im Schalplan oder im Eval-Manual (Tabelle)
die Pin Belegung raus, es wird ja sicher ein paar Pins
geben die nicht belegt sind. Die dürfen dann "normal schnell"
schalten.

Passierschein A38 schrieb:
> von 0 bis ca. 2.4V ist es normal schnell

Zeigt dass die Spec eigentlich eingehalten wird, d.h. die
Schaltschwelle wird in sehr kurzer Zeit erreicht bzw. über-
schritten, was danach passiert ist dann nicht mehr relevant
für die Spec. Es garantiert dir ja niemand dass du nominell
3.3 V in 10 Nanosekunden geliefert bekommst. Nur die Zeit
von 0.x Volt (low) auf Vcc-0.x Volt (high) ist spezifiziert.
Und umgekehrt natürlich ...

Autor: Passierschein A38 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm nein an den Pins hängt sonst nichts, die sind komplett frei.

Öha... doch ein "Messfehler" sorry ;-)
Aber ein interessanter Messfehler.

Habe einen 1:1 Tastkopf (geringere Bandbreite) herausgekramt - DAMIT 
sieht das Signal jetzt normal aus.
(Sollte so spät wohl nicht mehr basteln, beim F7 hatte ich mit kürzerer 
Pause umgeschaltet, da ging das Signal nur bis ca. 2.5V hoch und sah 
daher relativ normal aus, hatte ich nicht bemerkt - verhielt sich aber 
eigentlich genau so)

Jetzt ist natürlich die Frage, warum wird die Flanke bis 2.4V sehr 
schnell und darüber abrupt extrem langsam dargestellt?
Die Oszis sind beide nicht die besten (ein Analoges und ein USB Oszi), 
mein gutes was ich normalerweise verwende steht leider gerade woanders.

Autor: Curby23523 N. (nils_h494)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch dein Tastkopf hat eine Kapazität (die sich aufladen kann/muss). 
Vielleicht ein billiger Tastkopf mit Defekt?

Autor: Passierschein A38 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Curby23523 N. schrieb:
> Auch dein Tastkopf hat eine Kapazität (die sich aufladen
> kann/muss).
> Vielleicht ein billiger Tastkopf mit Defekt?


Kapazität ist klar, aber die Kurve zeigt nur im langsamen Bereich das 
typische RC-Verhalten, davor ist es wie gesagt sehr schnell, der 
Übergang ist abrupt.

Der Tektronix Tastkopf hat 500 MHz Bandbreite - an meinem normalen Oszi 
läuft der gut also denke nicht dass der defekt ist.
Der andere mit dem es geht ist so ein Billigteil von "Testec", glaube 
mit 100 MHz Bandbreite.

Autor: Joe F. (easylife)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind da evtl. 3.3V Zenerdioden als ESD Schutz im Spiel? Die werden 
bereits unter 3.3V langsam leitend. Je näher die Spannung an 3.3V, desto 
mehr Strom fließt -> Anstiegs-Kurve flacht ab.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gleich mal den Tastkopf ab. :)

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.