mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik TTL (Un)-Logik


Autor: Thomas Haber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin noch ziemlich neu in Sachen Elektronik und habe eine Frage zum 
Thema TTL-Logik.

Ich habe hier einen Komparator, wo ich nicht weiß welcher Typ das ist. 
WIe kann ich rausfinden, ob der TTL- Kompatibel ist? MM ranhängen und 
gucken, ob der 0 bzw. 5V Pegel macht? Wieviel Strom muss der treiben 
können?

Das ganze soll als SChalter an einen Atmega8 geklemmt werden. Ich kapier 
einfach nicht, wie das elektronisch funktioniert. Wie "sieht" der Atmega 
jetzt den Low- bzw. High-Pegel? Ich habe leider bei meiner Suche kein 
ESB gefunden. Sind da auch Komparatoren intern verbaut?

Ich hoffe jemand kann mir bei meinen (evtl. super dämlichen) Fragen 
helfen...

Autor: Murkser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wieso weißt Du nicht welcher Typ das ist? Was steht denn auf dem IC 
drauf? Danach kannst Du im Datenblatt nachschauen und die Fragen werden 
dort - hoffentlich - beantwortet.

Murkser

Autor: .blackhat .blade (blackhat-blade)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Komparator ist ein analoges Bauteil, also nicht Bestandteil 
irgendeiner Logik Familie. HIGH ist üblicherweise irgendwo bei VCC - 
xxx. xxx steht im Datenblatt kann aber auch Null sein. LOW liegt bei VSS 
+ xxx.  Wenn du also VCC auf +5V und VSS auf GND legst erzeugt dein 
Komparator einen kompatiblen TTL Pegel. Über den Strom brauchst du dir 
keine allzu grossen Gedanken machen.

Allerdings ist ein Atmega kein TTL sondern ein CMOS Baustein, und will 
nicht 0/5v als LOW/HIGH sondern einen Pegel der von der Betriebsspannung 
abhängt. Welche Pegel Genau findest du im Datenblatt des Atmega. Wenn du 
sowohl deinen Atmega als auch deinen Komparator an 5V/0V betreibst 
sollte es allerdings funktionieren.

Weisst du eigentlich dass der Mega8 sowohl einen ADC als auch einen 
Komparator an Bord hat, mit dem du dir einen externen Komparator sparen 
könntest und zugleich flexibler wärst da du die Schaltschwelle per 
Software definieren könntest?

-blade

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Wenn du also VCC auf +5V und VSS auf GND legst erzeugt dein
>Komparator einen kompatiblen TTL Pegel.

Besonders die mit Open-Kollektor-Ausgang.

MfG Spess

Autor: Thomas Haber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo .blackhat .blade,

ich habe jetzt mal im Datenblatt nachgelesen und bin bei folgender 
Formulierung stutzig geworden:

"If PORTxn is written logic one when the pin is configured as an output 
pin, the port pin is driven
high (one). If PORTxn is written logic zero when the pin is configured 
as an output pin, the port
pin is driven low (zero)."

Was bedeutet in diesem Zusammenhang "the port
pin is driven low (zero)."

.blackhat .blade schrieb:
> Allerdings ist ein Atmega kein TTL sondern ein CMOS Baustein, und will
>
> nicht 0/5v als LOW/HIGH sondern einen Pegel der von der Betriebsspannung
>
> abhängt. Welche Pegel Genau findest du im Datenblatt des Atmega.

Das habe ich nirgends gefunden. Wo steht das??

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das habe ich nirgends gefunden. Wo steht das??
Hinten, bei den IO- und DC-Characteristics...

> Was bedeutet in diesem Zusammenhang "the port pin is driven low (zero)."
Er kann einen nennenswerten Strom (so um 20-40mA) z.B. von einer LED, 
die über einen Widerstand an Vcc hängt, gegen Masse schalten.
Wie groß der Strom genau/maximal ist: s.o.

Autor: Thomas Haber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller schrieb:
>> Das habe ich nirgends gefunden. Wo steht das??
>
> Hinten, bei den IO- und DC-Characteristics...

gefunden! Alles klar hierzu.

Lothar Miller schrieb:
>> Was bedeutet in diesem Zusammenhang "the port pin is driven low (zero)."
>
> Er kann einen nennenswerten Strom (so um 20-40mA) z.B. von einer LED,
>
> die über einen Widerstand an Vcc hängt, gegen Masse schalten.
>
> Wie groß der Strom genau/maximal ist: s.o.

Das verstehe ich nach wie vor nicht.

Der Mikrocontroller schaltet doch nicht (dachte ich). Der PIN ist doch 
als Eingang geschaltet. Ich dachte er LÄSST sich (!) von aussen 
schalten. Auch verstehe ich nicht, wie ich in dieser Logik meinen 
Komparator einordnen soll. Wenn eine bestimmte Schwelle überschritten 
wird schaltet dieser (bei VCC = 5V) auf 5V.

Wie kann ich mir das Schaltungstechnisch vorstellen wenn der Komparator 
auf 5V zieht und am uc irgendwas gegen Masse geschaltet wird...Ich bin 
echt am verzweifeln -.-

Autor: Anton (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

der Komparator gibt ein Signal ab, das willst du mit dem Atmega
weiter verarbeiten, dazu muß es natürlich auf einen "Eingang"
des Atmega gehen.

Die Portpins des Atmega kannst Du als Eingang oder Ausgang definieren.
Das geschieht in dem Du in dem DDRx (x=Port A,B,)-Register das
zugehörige Bit setzt (Ausgang) oder löscht (Eingang).

Setzt Du im Port-Register (Portx) das betreffende Bit zusätzlich auf
1 schaltest Du noch den Pull-Up-Widerstand dazu ein. (bei Eingang)

Recht gut ist das Ganze im Datenblatt zum Prozessor unter I/O-Ports
beschrieben.

Autor: Michael H. (michael_h45)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Floh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Haber schrieb:
> Der Mikrocontroller schaltet doch nicht (dachte ich). Der PIN ist doch
> als Eingang geschaltet. Ich dachte er LÄSST sich (!) von aussen
> schalten. Auch verstehe ich nicht, wie ich in dieser Logik meinen
> Komparator einordnen soll. Wenn eine bestimmte Schwelle überschritten
> wird schaltet dieser (bei VCC = 5V) auf 5V.

Das sind IO-Ports ,sprich können je nach Programmierung Ein oder Ausgang 
sein.
Dazu gibts pro PORT (8 einzelne Anschlüsse meistens) die Register DDRx, 
PORTx und PINx

DDRx PORTx
0       0   Eingang
0       1   Eingang mit pullup
1       0   Ausgang, der uC schaltet auf Masse
1       1   Ausgang, der uC schaltet nach 5V

über PINx kannst du den aktuellen Zustand des Pins abfragen.
:-)

Autor: Thomas Haber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube ich hab euch mein Problem schlecht erklärt. Die letzten drei 
Beiträge verstehe ich alle. Aber sie treffen nicht mein Problem..

Ich habe den Komparator an den uc angeschlossen und der uc erkennt high 
und low pegel. Soweit so gut.

Jedoch verstehe ich nicht WIE das funktioniert.
Der Komparator liefert 0/5V. Der uc Pin ist als Eingang geschaltet und 
die Pullups sind aus.
                            Ix
Komparator o----------->---------------o uc

- Warum ist Ix nicht unendlich hoch? Was begrenzt den Strom?
- Wie passt hier die Aussage aus dem Datenblatt rein (If PORTxn is 
written logic zero when the pin is configured
as an output pin, the port
pin is driven low (zero).)
- Woher weiß ich, dass ein ic (z.B. der Komparator) genügend Strom 
liefert um High- und LowPegel am uc Pin zu liefern (wegen 
Eingangskapazitäten laden etc...)

Und das alles wenn man KEIN Datenblatt des ic's/Komparators hat.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> - Warum ist Ix nicht unendlich hoch? Was begrenzt den Strom?
Der Eingangswiderstand des uC-Pins, wenn er als Eingang konfiguriert 
ist. Für einen bestimmten Pegel brauchst du da nur einen ganz kleinen 
Strom.

> when the pin is configured as an output pin
Lautet übersetzt: Wenn der Pin als Ausgang konfiguriert ist...
Aber das ist er bei dir ja nicht.

> - Woher weiß ich, dass ein ic (z.B. der Komparator) genügend Strom
> liefert um High- und LowPegel am uc Pin zu liefern (wegen
> Eingangskapazitäten laden etc...)
> Und das alles wenn man KEIN Datenblatt des ic's/Komparators hat.
Einfach mal am uC-Pin messen, ob der Pegel für eine zuverlässige 
erkennung von 0 und 1 ausreicht. die Schwellen dafür stehen im 
Datenblatt des uC.

Autor: Thomas Haber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK ich glaub ich habs so gut wie kapiert. Zwei Kleinigkeiten fehlen 
noch.

Lothar Miller schrieb:
> Der Eingangswiderstand des uC-Pins, wenn er als Eingang konfiguriert
>
> ist. Für einen bestimmten Pegel brauchst du da nur einen ganz kleinen
>
> Strom.

Wo steht dieser Widerstand? Der Pullup kann es ja nicht sein, da er 
ausgeschaltet ist. Ist es der Gatewiderstand von dem CMOS?

(siehe : 
http://www.elektronik-kompendium.de/public/schaere...)

Lothar Miller schrieb:
> Lautet übersetzt: Wenn der Pin als Ausgang konfiguriert ist...
>
> Aber das ist er bei dir ja nicht.

Sorry, ich meinte natürlich den Fall, dass PORTX "0" und das DDR als 
Eingang konfiguriert ist. Diesen Fall finde ich im DB nicht. Was 
passiert wenn der uc einen Low- oder High-Pegel sieht? Wird hier intern 
auch eine Art Komparator geschaltet?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wo steht dieser Widerstand?
Du mußt ihn dir aus dem Leckstrom (das ist der Strom, den du suchst) und 
einer passenden Spannung selber ausrechnen:
IIL Input Leakage Current I/O Pin VCC = 5.5V, pin low (absolute value) 1 
μA
Wenn da also eine Spannung von 5V anliegt und ein Strom von 1µA fließt, 
dann gibt das nach Simon Ohm: 5 MegaOhm.

> Ist es der Gatewiderstand von dem CMOS?
Ja.

> Wird hier intern auch eine Art Komparator geschaltet?
Nein.
Das schlimmste, was einem CMOS-Eingang passieren kann, ist, dass er 
einfach offen ist. Dann stellt sich ein Pegel auf etwa Vcc/2 ein und 
beide Eingangstransistoren leiten, was einen unnötigen Strom fliessen 
lässt und das IC (evtl. bis zum bittetern Ende) aufheizt.

Autor: Jens G. (jensig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wo steht dieser Widerstand? Der Pullup kann es ja nicht sein, da er
>ausgeschaltet ist. Ist es der Gatewiderstand von dem CMOS?


Du hast da keinen Widerstand (abgesehen vom Reststrom, oder Pullup, wenn 
eingeschaltet), sondern nur die Gatekapazität, die paar pF hat.
Die meisten Komparatoren haben aber OpenCollector-Ausgänge, die brauchen 
also noch einen Collector-R (Pullup), der , wenn der Komparator H 
darstellen will, die Spannung hochzieht. Der R darf natürlich nicht zu 
groß sein, weil sonst die RC-Konstante die Anstiegsgeschwindigkeit 
bestimmt.

>Sorry, ich meinte natürlich den Fall, dass PORTX "0" und das DDR als
>Eingang konfiguriert ist. Diesen Fall finde ich im DB nicht. Was
>passiert wenn der uc einen Low- oder High-Pegel sieht? Wird hier intern
>auch eine Art Komparator geschaltet?

Der Eingang ist ein CMOS-Eingang irgendeines internen Logik-Gatters. Was 
der µC intern daraus macht, bestimmt Dein Programm im µC.

Autor: Thomas Haber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jens G. schrieb:
> Die meisten Komparatoren haben aber OpenCollector-Ausgänge, die brauchen
>
> also noch einen Collector-R (Pullup), der , wenn der Komparator H
>
> darstellen will, die Spannung hochzieht. Der R darf natürlich nicht zu
>
> groß sein, weil sonst die RC-Konstante die Anstiegsgeschwindigkeit
>
> bestimmt.

Aber ich messe mit meinem Oszi 0 bzw. 5V am Ausgang des Komparators- das 
heißt doch, dass da schon was Pullupmäßiges integriert sein muss, da er 
doch sonst gar keinen high Pegel sehen könnte oder nicht?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> das heißt doch, dass da schon was Pullupmäßiges integriert sein muss, da er
> doch sonst gar keinen high Pegel sehen könnte oder nicht?
Ja, ist doch gut.

Wie steil sind die Flanken?

Autor: Thomas Haber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sehr steil denke ich.

Pegelwechsel in ~50ns.

OK oder?!

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> OK oder?!
Ja, du bist an dieser Ecke fertig.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.