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 ;-)
An den Pins ist nichts angeschlossen?
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?
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 ...
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.
Auch dein Tastkopf hat eine Kapazität (die sich aufladen kann/muss). Vielleicht ein billiger Tastkopf mit Defekt?
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.