Hallo zusammen, bin gerade dabei einen Controller PIC zu untersuchen. Im Normalbetrieb liegen an den PORTs A und B definierte Logikpegel an. LOW = 0,7 V und High = 5,7 V. Im Fehlerbetrieb liegt an einem PIN ein Pegel von ca. 1.5V. Der Fehler wird vermutlich durch einen Softwarebug verursacht. Bin mir aber im Moment nicht sicher, ob die 1,5V zulässig oder unzulässig sind für einen bestimmten logischen Wert. Also darf an einem PIN 1,5V anliegen oder kann der Controller damit nichts anfangen ? Betriebsspannung am uC : 5,7V und Masse : 0,7V
Das kommt ganz auf den Controller und seine Architektur an. 1.5V werden allerdings in aller Regel als high erkannt. Gruss
Gibt es im Datenblatt des PIC dazu eine Bemerkung ? Ich habe meines mal grob überflogen aber nichts gefunden. Unter welcher Rubrik könnte man denn da was finden ?
Z.B. hier (Datenblatt eines PIC16F690): http://ww1.microchip.com/downloads/en/devicedoc/41262a.pdf Auf Seite 217. Gruss
Input High Voltage I/O ports with TTL buffer Min. 2.0V Output High Voltage I/O ports (Except RA4) Min VDD- 0.7V Output Low Voltage I/O ports Max 0.6V das habe ich in meinem Datenblatt unter dem Menüpunkt gefunden. Sehe ich das dann richtig, dass die 1,5V keinem eindeutigen logischen Wert zugeordnet werden kann ?
> Sehe ich das dann richtig, dass die 1,5V keinem eindeutigen logischen > Wert zugeordnet werden kann ? Ja. Die 1.5 könnten sich auch als Mittelwert durch schnelles ein- und ausschalten des Ports ergeben.
ok, vielen Dank. Kann man dann auch sagen, dass durch eine ordentlich funktionierende Software niemals ein Pegel von 1,5V an einem Pin anliegen kann ? Außer bei einem z.B. Softwarebug o.Ä ?
Mar.co schrieb: > Kann man dann auch sagen, dass durch eine ordentlich funktionierende > Software niemals ein Pegel von 1,5V an einem Pin anliegen kann ? Außer > bei einem z.B. Softwarebug o.Ä ? Wenn du eine PWM mit ca. 30% on-cycle ausgibst und diese "falsch" misst, dann kommt z.B. ein solcher Wert zu Stande. Daran ist im Grunde nichts "falsch". Gruss
Mar.co schrieb: > Im Normalbetrieb liegen an den PORTs A und B definierte Logikpegel an. > LOW = 0,7 V und High = 5,7 V. Ist das ein Eingang oder ein Ausgang des uCs? > Betriebsspannung am uC : 5,7V Hmmmmm..... > und Masse : 0,7V Wie nochmal? Masse hat 0,7V? Wogegen misst du denn? Worauf bezieht sich dein Messwert?
Mar.co schrieb: > Kann man dann auch sagen, dass durch eine ordentlich funktionierende > Software niemals ein Pegel von 1,5V an einem Pin anliegen kann ? Außer > bei einem z.B. Softwarebug o.Ä ? Nein. Es gibt keinen "Pegel" sondern logische Zustände im inneren die mit der Spannungshöhe am Pin nicht immer etwas zu tun haben. Die Software schaltet ganz banal einen Transistor gegen plus oder minus. Es gibt auch keine "ordentlich funktionierende Software". Es gibt Software die macht was Sie soll, "ordentlich" ist nicht definiert. Wenn du z.B. einen Ausgang als Eingang definierst, oder als Analog, Comparator etc pp. ist der Spannungspegel am Pin undefiniert. Ob das nun ordentlich gewollt oder ein Fehler ist muss du selbst wissen. Da können 1,5V anstehen, sein woher auch immer. Das Zauberwort heißt eingrenzen und zwar systematisch. Wenn du an z.B deinen Pegeln zweifelst prüfst du Sie einfach. Das lässt sich in die Teile, Hardware, Konfiguration und Software zerlegen, die prüft man nacheinander. - Messung am Pin unter Last! (10k gegen Plus) schließt aus das der Pin etwas anderes als ein Ausgang ist.* - langsames toggeln des Pins in Software Konfigurations- Software- und Verständnisfehler werden ausgegrenzt - Test der realen Software *Das ist der häufigste Fall beim PIC die per default immer analoge/comparatoreingänge haben. Das ist übrigens nach Reset die sinnvollste Funktion, darum wird das auch so gemacht.
> - langsames toggeln des Pins in Software > Konfigurations- Software- und Verständnisfehler werden ausgegrenzt Noch vergessen: Das prüft auch ob der Ausgang nicht überlastet wird, was auch sehr beliebt ist. Den Strom den ein Pin liefern kann ist begrenzt (bzw. wird begrenzt), wenn er nicht über 1,5V kommt ist das ein Hinweis das da ein zu großer "Verbraucher" dran hängt. Das prüft man dann ganz banal indem man den Pin ohne Beschaltung testet.
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.