Ich bin nur sicher, dass man durch Probieren schneller als durch Behaupten bzw. Diskutieren den anerkanten Pegel wissen wird.
Hallo PIC,
TTL ist Bipolar, und der Eingang ist der Emitter eines pnp-Transistors, dessen Basis gegen Vcc gezogen wird.
Ein offener TTL-Eingang zeigt daher einen "1"-Pegel. Bei TTL durfte man auch einen unbenutzten Eingan einfach offen lassen!
TTL ist auch relativ unempfindlich gegen ESD, da der Eingang niederohmig ist.
https://commons.wikimedia.org/wiki/F...00_Circuit.svg
Heute werde aber kaum noch bipolare TTL-Gatter mehr verwendet, die heutigen 74xx-Familien sind auch CMOS.
Im APPLE ][ wurde diese Multiplex-Methode auch verwendet. Bei den kleinen Bipolar-ROMs (256 Byte, nix mit Kilo!) auf den I/O-Karten wurde einfach Vcc abgeschaltet, damals vor allem um Strom zu sparen.
Bei CMOS ist dies aber anders!
Da der Eingang eigentlich nur aus dem Gate besteht, hat man einen sehr hochohmigen Eingang, welcher eigentlich auch entsprechend empfindlich gegen ESD ist! Deshalb braucht man die Schutzschaltung mit Dioden oder einer Z-Diode.
Zudem hat man das Problem, dass bei einem offenen Eingang dieser irgendeinen Spannungswert annimmt, meistens irgend etwas im Bereich der halben Betriebsspannung.
https://commons.wikimedia.org/wiki/F...:Inverter1.svg
Hier hat man dann das Problem, dass dann beide Transistoren gleichzeitig leiten und die Speisespannung kurzschliessen. Bei CMOS sind unbeschaltete Eingänge verboten.
Bei µCs werden im allgemeinen, zu der Schutzschaltung, bei den I/O-Pins, noch hochohmige Pull Ups eingebaut, weshalb man diese unbeschaltet lassen kann. Die per Software schaltbarem Pull Ups sind liegen dann parallel und sind niederohmiger.
MfG Peter(TOO)
- - - Aktualisiert - - -
Hallo,
Vcc floatet aber nicht wirklich, da hängt intern immer der ganze µC mit dran.
Theoretisch musst du damit rechnen, dass ein L-Pegel erkannt wird.
Praktisch spielt da noch der Zufall mit rein. Die Frage ist eben noch, welchen Strom der AVR bei welcher Spannung aufnimmt. Unterhalb der minimalen Betriebsspannung garantiert da keiner etwas und Halbleiter sind nun mal keine linearen Widerstände.
Kar ist nur, dass der Pull Up, Vcc über die Schutzdiode anhebt, praktisch liegt dann Vcc etwa 0.6V niedriger als der Pegel am Pin. Welche Spannung sich dann einstellt, hängt vom Wert des Pull Ups ab und der Stromaufnahme des AVR bei der entsprechenden Spannung. Möglich ist auch, dass das Ganze oszilliert.
Es wird Streuungen mit den Exemplaren und der Temperatur geben.
MfG Peter(TOO)
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
Ich bin nur sicher, dass man durch Probieren schneller als durch Behaupten bzw. Diskutieren den anerkanten Pegel wissen wird.
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Hi Leute,
Ja, wohl wahr.Ich bin nur sicher, dass man durch Probieren schneller als durch Behaupten bzw. Diskutieren den anerkanten Pegel wissen wird.
Und ich hab's gemacht (2 ATmega32, einer davon nur über GND mit dem aktiven µC verbunden, aber in einer einfachen µC Schaltung eingebaut und spannungslos). I/O Pin des aktiven µCs einmal mit und einmal ohne int. Pullup mit einem I/O-Pin des spannungslosen µCs verbunden (keine externen Bauteile).
Ergebnis:
Int. Pullup AUS: Erkannt wird GND
Int. Pullup EIN: Erkannt wird GND
Damit tue ich Abbitte und Buße und verneige mich tief und ehrfürchtig vor Peter(TOO)!
Wieder was gelernt.
Was die Ausgangsfrage von demmy angeht:
-> Wenn von einem aktiven µC sowohl bei fehlendem (nicht eingebaut, Erkennung: HIGH) als auch bei spannungslosem 2. µC (Erkennung: LOW) dessen I/O-Pin identisch erkannt werden soll, empfiehlt sich tatsächlich ein Pulldown (z.B. 10 kOhm):
Dann wird der Pegel sowohl bei fehlendem, als auch bei spannungslosem 2. µC als LOW erkannt.
Das Signal selbst kann man dann mit HIGH übertragen (active high).
Gruß
Dirk
Haallo Dirk,
Nicht nötig, ich war rund 40 Jahre beruflich als Elektronik-Entwickler im Industriebereich unterwegs und sollte da einiges an Wissen angesammelt haben...
Allerdings hat in der Technik glauben nichts zu suchen, da zählen nur die Fakten.
Hinzu kommt noch, dass einiges scheinbar funktioniert. Wir haben hier schon öfters Probleme gehabt, weil etwas im Prinzip funktioniert hat, wenn man dann z.B. eine längere Leitung angeschlossen hat, ist alles abgestürzt.
Ausprobieren ist auch so eine Sache. Für ein Einzelstück funktioniert dies meistens recht gut. Soll dann aber eine Serie gebaut werden, muss man auch die ganzen Bauteilstreuungen berücksichtigen.
Ich hatte an einer Prüfung mal ein solches Gerät, da war ein OpAmp eingebaut mit -1 Verstärkung. Weil dieser hochohmig sein sollte wurden Widerstände mit +/-20% verwendet.
Der Prototyp hat bei denen auch bestens funktioniert.
Netterweise habe ich zwei Widerstände erwischt, welche genau entgegengesetzte Toleranzen hatten. Je nachdem lag dann die Verstärkung bei -0.6 oder -1.5
Logischerweise hat dann mein Gerät nicht richtig funktioniert.
Da waren aber auch noch 3 weitere Konstruktionsfehler in diesem Gerät.
MfG Peter(TOO)
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
Hi Leute,
vielen Dank für eure sehr ausführlichen Erläuterungen! Sehr Cool.
Also ich werde jetzt einen externen Pulldown einplanen und das Signal "active high" übertragen.
Jetzt bleibt nur noch die Frage, wie hoch würdet Ihr den Widerstand auslegen?
Der interne Pullup des µC ist ja so um die 100K angegeben. Würdet Ihr den externen Pulldown auch so in dem Bereich wählen? Oder eher was um die 10K?
Viele Grüße
Welchen AVR Du da als Referenz nimmst seh ich hier im Thread nicht. Bei den "AVR"s im Allgemeinen setze ich mal auf ähnliche Werte über die meisten Baumuster. Das Datenblatt Atmel-8272G-AVR-01/2015 für 1284er und Familie nennt (Seite 318, 28.1 DC Characteristics), Tabelle 28-1).. Der interne Pullup des µC ist ja so um die 100K angegeben ..
RPU I/O Pin Pull-up Resistor 20 .. 50 kΩ
selbst gemessen hatte ich mehrfach WErte um die 30 .. 40 kΩ
Ciao sagt der JoeamBerg
Hi oberallgeier,
Du hast natürlich recht, ich hab mich böse vertan! hab eben selbst nochmal nachgelesen.RPU I/O Pin Pull-up Resistor 20 .. 50 kΩ
selbst gemessen hatte ich mehrfach WErte um die 30 .. 40 kΩ
Aber würdet Ihr da jetzt an die untere oder die obere Grenze ran gehen?
Viele Grüße
Hallo,
Nun, bei 20k für den internen Pull Up, einem externen Pull Down von 10k und Vcc = 3.3 ergeben sich: 1.1V für den Low-Pegel.
Laut Datenblatt wird ein Low-Pegel bei kleiner 0.3*Vcc erkannt, hier also bei unter 0.99V
Da reichen 10k nicht!
MfG Peter(TOO)
- - - Aktualisiert - - -
Hallo Geier,
Im Datenblatt stehen die Werte, welche auch eine Montagscharge erreicht.
Hinzu kommt noch, dass die Angaben über den ganzen Temperaturbereich (-40°C bis 85°C) gelten. Da die Widerstände aus schwach dotiertem Silizium bestehen, müssten die Werte bei 85°C am geringsten sein. Hinzu kommt noch, dass bei 85°C die Leckströme auch am grössten sind, diese kommen zum Pull Up noch hinzu.
MfG Peter(TOO)
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
Lesezeichen