Servus allerseits Den RFM95W setzen wir seit Jahren ein und hatten damit noch nie irgendwelche Probleme. Bis ich vor ein paar Tagen bei einem Prototype den RFM nicht von der Produktion abzweigte, sondern eines aus meinem eigenen Lagerbestand benutzte. An die Bezugsquelle kann ich mich nicht mehr errinern; aber sie sind gegurtet und unterscheiden sich optisch nicht von den anderen. Resultat: die Kommunikation klappte nur halbwegs: das Gerät konnte zwar seine Nachricht absetzen, war dann aber blockiert, bis der Watchdog eingriff. Ich war dermassen erstaunt, dass ich den Techniker anrief und ihn fragte, ob er schon mal einen defekten RFM95W habe auswechseln müssen. Nein, hatte er noch nie müssen. Also das Ding ausgewechselt und die Kommunikation klappte wieder. Um dann ein paar Tage später wieder zu bocken. Beim Debuggen sah ich dann, dass der RFM zwar die internen Flags korrekt setzte, aber kein Interrupt-Signal generierte. Als ich dann mit dem Oszi den DIO-0 Pin kontrollierte, sah ich das Signal. Sehr sauber, so als ob man es mit Stift und Linear gezeichnet hätte. Aber sein Pegel war nur 1,5V (SPI-Signale hingegen 3.3V). Alle anderen Geräte, die ich von der Serien-Produktion erhalten hatte, hatten am DIO-O ein 3.3V Pegel. Alles in allem habe ich 3 RFMs ausgewechselt, bis ich auf die glänzende Idee kam, diesbezüglich mal das Datenblatt zu konsultieren. Und dort stand zu meinem Erstaunen "Digital output level high min. 0.9V" Um die Tests nicht zu blockieren habe ich den Code dahingehend abgeändert, dass ich nun die Flags abfrage. Und weil in LoRa die Sende- und Empfangs-Zeiten doch recht gemütlich sind und das Ganze mit RTOS läuft, habe ich auch keinerlei Performanseinbussen. Aber schön ist es nicht. Dem DIO-Ausgang werde ich nun einen Transistor spendieren, damit ich in Zukunft Ruhe habe. Aber wohl ist mir bei der Sache nicht. Fast tendiere ich dazu, beim Polling zu bleiben. Denn im Internet konnte ich sowas ähnliches nicht finden, und selbst eine Anfrage bei der KI hat nichts gebracht. Meine 2 Fragen: - Habe ich irgendwas übersehen? - Wie würdet Ihr jetzt weiter vorgehen?
Mehmet K. schrieb: > Und dort stand zu meinem Erstaunen "Digital output level high min. 0.9V" Wo steht das? Man achte auf die Einheiten (Spalte "Unit"). Ich lese dort "0.9 VDD", bei VDD=3,3V also etwa 2,97V.
:
Bearbeitet durch User
Rainer W. schrieb: > Man achte auf die Einheiten (Spalte "Unit"). In der Tat. Danke für diesen Hinweis. Aber nun verstehe ich gar nichts mehr. Woher kommen diese 1,5V?
Mehmet K. schrieb: > Woher kommen diese 1,5V? Da bricht der Pegel zusammen. Wie sieht die Schaltung aus? Wie hoch ist die Quellimpedanz für den H-Pegel und was hängt da als Last dran?
Rainer, nochmals vielen Dank für Deinen Hinweis. Das hat mich dazu bewogen, DIO-0 von der Schaltung zu trennen und das Signal so zu messen: 3.3V \o/ Die Leitung selbst hat keinerlei Kurzschlüsse oder dergleichen; das hatte ich schon von Anfang an kontrolliert. Vermutlich liegt der Fehler irgendwo in der Intialisierung des STM32. Ich arbeite mit einem STM32U575, der für mich Neuland ist. In all den anderen Geräten sitzt ein STM32F407 o.ä. Sorry dafür, dass ich Eure Zeit unnötigerweise in Anspruch genommen habe.
Mehmet K. schrieb: > Die Leitung selbst hat keinerlei Kurzschlüsse oder dergleichen; das > hatte ich schon von Anfang an kontrolliert. Bei einem Kurzschluss hätte die Spannung stärker zusammen brechen müssen. 1/2 VDD entsteht z.B. wenn zwei push-pull Ausgangsstufen gegeneinander arbeitenden - eine zieht nach Low, die andere nach High. Der in so einem Fall fließende Querstrom sollte sich auch in der Gesamtstromaufnahme bemerkbar machen.
Rainer W. schrieb: > 1/2 VDD entsteht z.B. wenn zwei push-pull Ausgangsstufen gegeneinander > arbeitenden - eine zieht nach Low, die andere nach High. Ich tippe auf Open Collector Ausgang mit Weak Pullup.
Wastl schrieb: > Ich tippe auf Open Collector Ausgang mit Weak Pullup. Und auf der anderen Seite ist zufällig ein weak Pulldown aktiviert? Oder wie kommt sonst VDD/2 zusammen?
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.