Kennt jemand die Schaltschwellen (Input Threshold) der GPIO Eingänge beim Raspberry Pi Pico (CPU RP2040 oder RP2350)? Wo findet man sie? Die pauschale Angabe VDD/2 für CMOS Logik reicht mir nicht.
Martin O. schrieb: > Die > pauschale Angabe VDD/2 für CMOS Logik reicht mir nicht. Da mag durchaus sein. Wenn du sie jedoch mal misst, wirst du feststellen dass es eben genau so ist. Wenn man den per default eingeschalteten Schmitt-Trigger nutzt: * Unterhalb Vdd/2 - 100mV Hysterese ──▶ LOW * Oberhalb Vdd/2 + 100mV Hysterese ──▶ HIGH Wenn nicht, dann ist es extrem empfindlich bei ziemlich genau Vdd/2.
Beachte das Erratum E9: https://github.com/raspberrypi/pico-feedback/issues/401 Wenn ein Input einmal auf High gezogen wurde, kriegt man ihn nur wieder auf Low, wenn man ihn mit einem ziemlich niedrigen Widerstand, z.B. 1 kOhm, nach Masse zieht. Der interne Pulldown reicht dafür nicht aus. Das betrifft das Hardware Stepping A2 (Aufschrift des Prozessors "RP2350xxA2". Dieser Fehler ist mit dem Stepping A3 und A4 behoben.
Günter N. schrieb: > 1 kOhm, nach Masse zieht. Der Hersteller selbst meint 8.2kΩ. oder für einen Zyklus IE aus und einschalten. oder für einen Zyklus auf Output und wieder auf Input schalten.
Martin O. schrieb: > Wo findet man sie? Die > pauschale Angabe VDD/2 für CMOS Logik reicht mir nicht. An einer (digitalen) GPIO Eingangsstufe ohne Schmitt-Trigger (bzw. Komparator) haben irgendwelche halbgaren Zwischenpegel nichts zu suchen. Wenn dir die genaue Schaltschwellen so wichtig erscheint, solltest du dein Schaltungsdesign noch einmal überdenken.
:
Bearbeitet durch User
Rainer W. schrieb: > An einer (digitalen) GPIO Eingangsstufe ohne Schmitt-Trigger (bzw. > Komparator) haben irgendwelche halbgaren Zwischenpegel nichts zu suchen. Zeig doch mal einen aktuellen µC, der keine Schmitttrigger bei digitalen Eingängen hat. Es muß ja nicht explizit im Datenblatt stehen, auch wenn sich dadurch einige Personen wieder aufpusten können. Günter N. schrieb: > Das betrifft das Hardware Stepping A2 (Aufschrift des Prozessors > "RP2350xxA2". Dieser Fehler ist mit dem Stepping A3 und A4 behoben. ... und beim RP2040 nicht vorhanden.
Mi N. schrieb: > Zeig doch mal einen aktuellen µC, der keine Schmitttrigger bei digitalen > Eingängen hat. Für mich sind alle µCs aktuell, die aktuell gefertigt werden. Bei denen, die Schmitt-Trigger Eingänge besitzen, sind die Schaltschwellen entweder im Datenblatt spezifiziert oder die Schwellwerte stellen keine zugesicherte Eigenschaft dar und dienen nur der Unterdrückung von Störungen auf langsamen Signalflanken. Oft ist dann die Hysterese angegeben.
:
Bearbeitet durch User
Rainer W. schrieb: > Für mich sind alle µCs aktuell, die aktuell gefertigt werden. Gut, Du kannst keinen benennen. Dann hattest Du nur heiße Luft abgelassen.
Martin O. schrieb: > Kennt jemand die Schaltschwellen (Input Threshold) der GPIO Eingänge > beim Raspberry Pi Pico (CPU RP2040 oder RP2350)? Wo findet man sie? Die > pauschale Angabe VDD/2 für CMOS Logik reicht mir nicht. Genauer wird es aber nicht möglich sein. Die Schaltschwellen hängen ab von Betriebsspannung, Prozesstreuung, Temperatur und von dem Schaltzustand der auf dem Chip benachbarten Transistoren. Der Hersteller spezifiziert Dir im Datenblatt, wie low High und wie high Low maximal sein darf, und außerhalb dieser Grenzen kann alles passieren.
Rainer W. schrieb: > Wenn dir die genaue Schaltschwellen so wichtig erscheint, solltest du > dein Schaltungsdesign noch einmal überdenken. Na, na.... So ein Schmitt Trigger hat schon seine Berechtigung. Und man kann die Schaltschwellen durchaus nutzen, wie sie sind. Wobei es allerdings Überraschungen geben kann. Beispiel: ATMega328P Schalschwelle ca. VCC/2, also 2,5V bei VCC=5V mit recht großer Hysterese. Beim übertragen des Programms auf einem Leonardo, also mit ATMega32U4, kam dann die Überraschung/Fehlfunktion. An VCC=5V liegt die Schaltschwelle bei ca 1,7V. Mit sehr viel kleinerer Hysterese. Es lohnt sich die Datenblätter aufmerksam zu lesen. Selbst wenn man dem Datenblatt nicht vertrauen möchte, warum auch immer, kann man das recht einfach ausmessen.
Arduino F. schrieb: > Na, na.... > So ein Schmitt Trigger hat schon seine Berechtigung. > Und man kann die Schaltschwellen durchaus nutzen, wie sie sind. Nur wenn sie im Datenblatt nicht spezifiziert sind, können sie sich schon mit der nächsten Maskenversion ändern. Es steht einem natürlich immer frei, die Schaltschwellen über den Temperatur- und Versorgungsspannungsbereich auszumessen. Arduino F. schrieb: > Beispiel: > ATMega328P Schalschwelle ca. VCC/2, also 2,5V bei VCC=5V mit recht > großer Hysterese. Verwechselt du da etwas mit garantiertem Schwellwertbereich (0.3 ... 0.7 VCC) für einen GPIO? Das sind nicht die Schaltschwellen des Schmitt-Triggers. Für die Hysterese beim ATmega328P ist nur der Minimalwert mit 0.05*VCC angegeben, keine Aussage über den Maximalwert. Das meinte ich mit Rauschunterdrückung, in digitalen Anwendungen meist eher Klingelunterdrückung.
:
Bearbeitet durch User
Rainer W. schrieb: > Arduino F. schrieb: >> Beispiel: >> ATMega328P Schalschwelle ca. VCC/2, also 2,5V bei VCC=5V mit recht >> großer Hysterese. > > Verwechselt du da etwas mit garantiertem Schwellwertbereich (0.3 ... 0.7 > VCC) für einen GPIO? Nein, das verwechselt er nicht! > Für die Hysterese beim ATmega328P ist nur der Minimalwert mit 0.05*VCC > angegeben, keine Aussage über den Maximalwert. Das meinte ich mit > Rauschunterdrückung, in digitalen Anwendungen meist eher > Klingelunterdrückung. Du hast wohl nie bei einem ATmega328 die Hysterese der Eingänge benutzt und sonnst Dich daher in Schwarzmalerei. Im Datenblatt stehen recht genaue Werte unter "typische Parameter" und bei hunderten von diesen Controllern über > 20 Jahre konnte ich mich darauf verlassen. Martin O. schrieb: > Kennt jemand die Schaltschwellen (Input Threshold) der GPIO Eingänge > beim Raspberry Pi Pico (CPU RP2040 oder RP2350)? Du kannst einen Oszillator aufbauen wie mit einem 74xy14. Ein C gegen GND und an den Eingang eines GPIO-Pins als Eingang und von einem GPIO-Ausgang das invertierte Eingangssignal über einen Widerstand zum Eingang an den Kondensator zurück. Je nach Deiner Anwendung kannst Du Temperatur und Versorgungsspannungseinflüsse testen und entscheiden, ob es Dir hinreichend stabil ist. Das hatte ich bei diversen Controllern getestet, wobei die mittlere Schaltschwelle immer leicht unter VCC/2 lag. Gleiche Schaltschwelle hat auch z.B. ein 74AUP1G14 und selbst ein 74AUP1G04 hat eine kleine Hysterese. So sieht die Praxis aus - ohne die übliche Schwafelei.
Rainer W. schrieb: > Verwechselt du da etwas mit garantiertem Schwellwertbereich Nein, ich spreche über Messungen, die ich gemacht habe, nach dem das Problem ans Tageslicht kam. Aufbau: Funktionsgenerator an einen Pin, den als Eingang konfiguriert und dessen Digitalwert an einem anderen Pin wieder ausgegeben. An beide Pins je einen Oszikanal angeschlossen. Die Unterschiede zwischen gleichen µC sind minimal. Zwischen 328p und 32U4 beträchtlich Wie auch laut Datenblatt erwartbar. Ein 16U2 verhält sich übrigens wie ein 32U4 in der Sache.
Vielen Dank für die zahlreichen Hinweise. Ich weiss jetzt genau genug wie es um die Schaltschwelle bestellt ist. Erratum 9 war mir noch gar nicht aufgefallen weil ich den Input niederohmig genug ansteuere. Ich nehme jetzt den RP2040 (Pico 1) statt des RP2350 (Pico 2), da habe ich das Problem nicht. Vielen Dank nochmal speziell für diesen Hinweis.
Martin O. schrieb: > Ich > nehme jetzt den RP2040 (Pico 1) statt des RP2350 (Pico 2), da habe ich > das Problem nicht. Das ist auch für mich noch ein Grund, auf die neuere Version des RP2350 zu warten. Die Diskussionen um den Schaltrgeler beim RP2350 sind auch keine 'Einladung'. Nebenbei: Für den RP2040 gibt es auch sehr kostengünstige Boards mit LDO-Regler, 16 MB Flash und Anschlüssen für alle GPIOs.
:
Bearbeitet durch User
Mi N. schrieb: > Nebenbei: Für den RP2040 gibt es auch sehr kostengünstige Boards mit > LDO-Regler, 16 MB Flash und Anschlüssen für alle GPIOs. Aber dabei bedenken: Eine einzel-LiPo Versorgung kann damit evtl. gerade noch funktionieren, muss aber nicht. Bei USB Versorgung natürlich kein Thema. Edit: Hab' welche mit ME6215C33M5G Dropout voltage: 0.16V @ 100mA / 0.32V @ 200mA
:
Bearbeitet durch User
Norbert schrieb: > Edit: Hab' welche mit ME6215C33M5G > Dropout voltage: 0.16V @ 100mA / 0.32V @ 200mA Wenn es hart auf hart kommen sollte, habe ich zur Anpassung ME6216A27M3G, die dann auch bei Batteriebetrieb die Versorgungsspannung stabil halten. Dropout voltage: 0.11V @ 100mA / 0.24V @ 200mA ;-)
Mi N. schrieb: > Wenn es hart auf hart kommen sollte, habe ich zur Anpassung > ME6216A27M3G Bei 2.7V ist allerdings kein ADC-Gebrauch gemäß Datenblatt/Spezifikation möglich. Aber rein Digital, Y¬
Norbert schrieb: > Bei 2.7V ist allerdings kein ADC-Gebrauch gemäß Datenblatt/Spezifikation > möglich In meinem Datenblatt ist ADC_AVDD mit min. 1,62 V angegeben. Wenn es richtig gut werden soll, ist sowieso ein STM32Gxyz angesagt.
Mi N. schrieb: > In meinem Datenblatt ist ADC_AVDD mit min. 1,62 V angegeben. Und nur wenige Zeilen darunter: ADC performance will be compromised at voltages below 2.97V
Was besagt denn die Diskussion um den RP2350 Schaltregler? Wo gibt es preiswerte Boards mit allen GPIOs?
Martin O. schrieb: > Was besagt denn die Diskussion um den RP2350 Schaltregler? Wo gibt es > preiswerte Boards mit allen GPIOs? Da geht es eher um den direkt im RP2350 befindlichen (zweiten)Regler für die Kernspannung (WIMRE). Bei fertigen Boards kein Problem. Bei selbst gebauten lohnt es sich die Designvorgaben zu berücksichtigen. Der ›normale‹ Schaltregler stellt soweit mir bekannt ist auch kein Problem dar. Man kann ihn sogar in zwei verschiedenen Modi (Energie sparend, PWM kontinuierlich) betreiben. Edit:Tippfeuler AD1: Regler im Chip, extern L2,C19,C20
:
Bearbeitet durch User
>Wo gibt es preiswerte Boards mit allen GPIOs? Pimoroni hat zumindest Boards mit mehr Pins: https://shop.pimoroni.com/products/pimoroni-pico-lipo-2-xl-w?variant=55447911006587
Um mal in Europa zu bleiben, Olimex bietet sogar die größeren RP2350B mit 48 GPIOs an. Für einen richtig guten Preis.
Norbert schrieb: > Mi N. schrieb: >> In meinem Datenblatt ist ADC_AVDD mit min. 1,62 V angegeben. > > Und nur wenige Zeilen darunter: > ADC performance will be compromised at voltages below 2.97V Nicht Genaues weiß man nicht. Sinkt dann die eh schon geringe ENOB von 8,7 auf 8,5? Martin O. schrieb: > Wo gibt es preiswerte Boards mit allen GPIOs? Eine kleine Auswahl diverser Ausführungen: https://de.aliexpress.com/item/1005003371056277.html Norbert schrieb: > Der ›normale‹ Schaltregler stellt soweit mir bekannt ist auch kein > Problem dar. Beim RP2040 mußte ich teilweise LDOs nachrüsten, weil der Regler gestört hat. Aber gut, das alles wegen analoger Eingangsstufen und etwas speziell. Da wir hier eh schon abgeschweift sind: Hast Du mal auf minimale standby-Stromaufnahme geachtet und einen Realen Zahlenwert dazu? Ich denke, ein LDO wird da auch besser abschneiden als der vorhandene Schaltregler.
Mi N. schrieb: > Da wir hier eh schon abgeschweift sind: Hast Du mal auf minimale > standby-Stromaufnahme geachtet und einen Realen Zahlenwert dazu? Nee, habe nur gelegentlich überprüft ob sich die mittlere Stromaufnahme ungefähr im beworbenen Bereich bewegt. (›Raspberry Pi Pico Datasheet‹, das für das Board, nicht den Controller) Man muss aber gerechterweise sagen, das Board ist nicht auf Sparsamkeit ausgelegt. Nix tun: ~10mA Viel tun: Eine Potenz höher extreme Taktquälerei: ⮭⮭⮭ > Ich denke, ein LDO wird da auch besser abschneiden als > der vorhandene Schaltregler. Weiß nicht, wenn man den Linearregler knapp über Vdrop betreibt, vielleicht. Aber etwas höher und die Effizienz des Schaltreglers wird wohl gewinnen.
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.