Hallo allerseits
Ich brauche Rat.
Nachdem ich viele Stunden damit verbracht habe, mittels PIO Signale zu erfassen, bin ich nun dahingehend angelangt, dass es offensichtlich ein Problem beim Signal gibt und nicht beim Softwarecode oder dem Signalgeber.
Bei der optischen Auswertung des Signales mittels Pico sehe ich, dass z.B. das ausgewertete Clock-Signal nicht regelmässig und sauber verläuft, sondern mit vielen Aussetzern, Abschnitte ohne logisch 1, und allgemein vielen fehlenden Signale mit highs. Es scheint, dass die highs vom Pico nicht richtig erkannt werden.
Es ist kein Pulldown-Widerstand vorhanden. Eine Prüfung mittels Pulseview und separatem Logikanalyzer zeigt, dass das Signal aber grundsätzlich richtig ankommt beim GPIO des Pico. Dort sieht das Signal sauber aus wie es sein muss.
Die low und high Signale kommen aus einem Gerät, dass mit VDD 5.00 V betrieben wird.
Das originale Signal hat folgende Levels gemäss Hersteller:
VIH = min. 0.8 VDD, max. 1.0 VDD => somit 4-5 Volt
VIL = min. 0.0 VDD, max. 0.2 VDD => somit 0-1 Volt
Dieses Signal soll nun irgendwie auf die maximal 3.3 V gebracht werden, ohne dass an der Logik 0/1 etwas verändert wird.
Da der Pico nun ja maximal 3.3 V verträgt, wurde ich dahingehend beraten, das Signal über einen SN74AHCT125 laufen zu lassen und einfach nur 3.3 V als Betriebsspannung anzulegen. Der SN74... würde dann das Signal VIH entsprechend mit maximal 3.3 V wieder ausgeben. Was aber mit VIL geschieht, konnte man mir nicht genau sagen und habe ich so im Datenblatt auch nicht gefunden. Da der Tipp von jemandem kam, der in diesem Bereich tätig ist, habe ich soweit mal vertraut und den Euro für den SN74 ist auch nicht alle Welt. Aber selbst bin ich Softwareentwickler, und habe von Bauelementen nicht ganz soviel Ahnung leider.
Datenblatt SN74...:
- Damit VIH sauber erkannt wird, muss mindestens 2.0 V anliegen. Das wäre eingehalten, da ich ja 4-5 V bringe.
- Damit VIL sauber erkannt wird, darf maximal 0.8 V anliegen. Das wäre nicht eingehalten, da ich ja bis zu 1 V bringe (was aber mit Nachmessung ausgeschlossen werden kann. Es sind je nach Signal maximal 0.6 V).
Das gilt für eine Betriebsspannung des SN74 von 4.5-5.5 V. Mir wurde gesagt, dass diese Werte mit kleinerer Betriebsspannung ebenfalls sinken und ich mir hier keinen Kopf machen soll und es auch mit den 1 V Input gehen würde, die lows zu erkennen.
Nun ja, da stehe ich nun und mache mir einen Kopf.
Darum meine Frage: Was für eine Empfehlung habt ihr mir, damit ich das Eingangssignal auf maximal 3.3 V begrenze und trotzdem saubere lows und highs bekomme?
Ich habe euch ein Bild angehängt. Ihr seht oben das Signal, dass ich mit dem Logikanalyzer direkt am GPIO abfange; unten das Resulatat, wenn ich mittels PIO das Signal auswerte und visualisiere.
Vom Gerät, das ausgewertet werden soll, kommen 7 Signalleitungen und 1 GND.
Danke und Gruss
Michael |