Ich habe versucht, eine gute Beschreibung des TTL-Serie „Standard“ ohne viel Glück zu finden. Ich verstehe, dass seriellen Sende- (TX) und Empfangs- (RX) Leitungen frei hoch (VCC), und dass sie zu Boden fallen, wenn ein Bit übertragen wird. Als solche sind sie von der Norm umgekehrt, wobei eine „1“ hoch ist, und „0“ ist gering.
Was ich nicht verstehe, ist, die zum Halten der Leitung hoch verantwortlich ist und wie eine Null übertragen. Hat der Absender die Linie hoch und niedrig fahren? Oder hält der Empfänger die Linie hoch und ist mit dem Sender Ziehen der Leitung niedrig (open collector)?
microcontroller
serial
ttl
Blalor
quelle
quelle
Antworten:
Bei serieller TTL gibt es zwei unidirektionale Datenleitungen. Jeder wird vom Absender gesteuert, sowohl hoch als auch niedrig. Ein 0-Bit wird durch 0 V und ein 1-Bit durch VCC dargestellt.
Der Stift des Empfängers sollte mit einem Eingang eingestellt werden.
Also, für einen Mikrocontroller ein Byte (8-N-1 keine Datenflusskontrolle) senden könnte es so etwas tun:
(Dieser Code liest ein bisschen nach hinten, wie es ursprünglich für invertierte TTL Serien gemeint war)
Natürlich sind die meisten MCUs haben Hardware UARTs, die dies alles für Sie tun.
Hier ist, was Sie für einen Bereich sehen würde:
https://www.pololu.com/docs/0J25/4.a
Hier ist eine große Video von ladyada erklären serial: http://www.adafruit.com/blog/2010/09/15/usb-serial-and-you-video-an-adafruit-after-school-special/
quelle
Sie sagen nicht in so vielen Worten, aber das "Leerlaufhoch" legt nahe, dass Sie einen UART meinen. UARTs sind Punkt-zu-Punkt- Verbindungen zu Line-Transceivern wie dem allgegenwärtigen, aber datierten MAX232 (es gibt heutzutage weitaus bessere Lösungen). Die Linie zwischen Mikrocontroller und Transceiver wird auch kurz sein; Wenn es Entfernung überbrückt wird es zwischen Transceiver sein.
Der Ausgang des Controller ist ein Push-Pull.
Der P-MOSFET wird den hohen Pegel bereitzustellen, der N-MOSFET dem niedrigen Pegel. Einer von ihnen muss aktiv sein, sonst würde der Leitungspegel schweben und undefiniert sein (oder durch eine Last im Transceiver definiert werden). Beide sind in der Lage, etwas Strom zu beziehen / abzuleiten und ziehen die Leitung auf die Schienen, so dass die Signalform nahezu ideal ist.
Die anders wäre , wenn es wirklich TTL ist, wie es in Ihrer Frage (der Mikrocontroller ist HCMOS). TTL - Ausgänge sind stark asymmetrisch: sie können nur wenig Strom liefern, typischerweise 0,4 mA. Die Stromaufnahme ist mit 8 mA in Ordnung. Der niedrige Source - Strom kann ein Problem sein , wenn die Leitung eine hohe Kapazität aufweist und mit hohen Geschwindigkeit. Der niedrige Treiberstrom bedeutet, dass die Kapazität nur relativ langsam aufgeladen wird und ansteigende Flanken langsam sind, was bei hoher Geschwindigkeit zu ernsthaften Signalverzerrungen führen kann. TTL wird dafür nie verwendet.
Ihre Frage könnte auch auf eine verweisen Multidrop - Leitung , wo mehrere Geräte sprechen können. In diesem Fall können Sie die Push-Pull - Ausgang verwenden: Wenn ein Gerät die Linie hoch , während andere Antriebe fahren würde es niedrig würden wir einen Kurzschluss haben. Multidrop - Linien verwenden fast immer Pull-up - Widerstände die Leitung frei hoch zu halten. Dann nur ein niedriges Niveau erfordert Antrieb der Linie, und anstelle des Push-Pull - Ausgang werden wir einen Open-Drain haben, nur mit dem N-MOSFET. Der Pull-up - Widerstand kann nur liefern wenig Strom, während die Pull-Down - FET die Linie schnell zu Boden fahren kann: Die Linie wird nun auch asymmetrisch angesteuert. High - Speed Multi - Drop Linien stellen daher eine Grenze für die Pull-up - Widerstände. Ein Beispiel hierfür ist I2C.
quelle