Transcription of Schnittstellen - Netzmafia
1 SchnittstellenSerielleSchnittstelle, USB, Feldbusse, SPI, I2C, 1-Wire urgen Plate, 12. November 2017 Inhaltsverzeichnis1 Parallele Grundlagen der Ansteuerung von Parallel- Schnittstellen .. Digitalausg ange .. Digitaleing ange .. Ansteuerung .. Der IEC-Bus (IEEE-Bus) .. 92 Die serielle Die RS232C-Schnittstelle ( ) .. Die RS422-Schnittstelle .. Die RS485-Schnittstelle .. Die Stromschnittstelle(TTY) .. Die USB-Schnittstelle .. USB-Hardware .. 233 Der CAN-Bus .. Der LIN-Bus .. KNX .. 314 Die SPI-Schnittstelle .. Arbeitsweise des SPI .. Programmierung .. Der I2C-Bus .. 5 V,3,3 V Pegelwandler .. Lange Leitung .. Programmierung .. Der 1-Wire-Bus.
2 ZACwire .. 515 Literatur .. Schnittstellen .. Schaltungstechnik .. Links .. 554 InhaltsverzeichnisStichwortverzeichnis59 1 Parallele SchnittstellenDie E/A- Schnittstellen sind Bindeglied zwischen CPU und Peripherie. Sie sorgen unter anderem f urDatentransport, zeitliche Anpasung, Signalumsetzung, Pegelumsetzung, Erweiterung der Belastbar-keit, Datenformat-Anpassung, Codeumsetzung etc.). Das Einsatzgebiet reicht von einfacher Byte-orientierter Ein- und Ausgabe bis zur autonomen Verwaltung komplexer Protokolle, wie z. B. dieNetzwerkanbindung. E/A-Komponenten werden in der Regel so entworfen, dass sie jeweils einenm oglichst gro en Bereich von Anwendungen abdecken. Die Spezialisierung f ur die Anwendung ge-schieht durch Initialisierung der Komponente im System, ein Vorgang, der in Datenbl attern und imallgemeinen Sprachgebrauch Programmierung genannt wird: Nach jedem Einschalten des Systemsm ussen bestimmte Steuerregister dieser Komponenten von der CPU aus mit bestimmten Werten in-itialisiert jeder Controller verf ugt uber bitparallele Ein-/Ausgabe.
3 Der Zugriff auf die Peri-pherie erfolgt entweder programmgesteuert (polling) oder interruptgesteuert. Auch Bus-Treiberk onnen als sehr einfache E/A-Bausteine eingesetzt werden. So wurde z. B. die Standard-Druckerschnittstelle des IBM-PC mit zwei 8-Bit-Latches und zwei 8-Bit-Bustreibern realisiert (sie-he ). Kaum komplexer sind auch Speicher-Register mit nachgeschalteten Leistungstreibern. Sie ubernehmen auch die zeitliche Anpassung. ZumTeil sind sie mit Steuerlogik, Betriebsartenwahl (Ein/Aus) und Interrupt-Ausl osung flexibler im Einsatz sind programmierbare E/A-Komponenten ( Ports , deren Eigen-schaften und Funktion sind per Software einstellbar ist. Programmierbare Eigenschaften k onnen sein:Datenrichtung Ubertragungsgeschwindigkeit UbertragungsformatParit atspr ufungArtdes Interrupt-Signals von der PeripherieInterrupt-MaskeDiese Ports erlauben meist sowohl programmgesteuerten E/A-Transfer als auch interruptgesteuertenE/A-Transfer.)
4 F ur den einfachen E/A-Transfer gibt es zwei Grundtypen:Schnittstellef ur parallelen Datenaustausch. In der Regel sind mehr als ein 8 Bit breiter Port vor-handen (meist zwei bis vier). Steuer- oder Statusregister sind meist pro Port separat existieren jedoch auch parallele Schnittstellen , die aus einem Ger at herausgef uhrt und stan-dardisiert sind. Dazu geh oren unter anderem der IEEE-Bus, der noch oft zur Ansteuerung vonMessger aten verwendet wird oder die parallele ur bitseriellen Datenverkehr. Diese Komponenten enthalten je einen Parallel-Seriell-und Seriell-Parallel-Wandler (Schieberegister). SIe werden im folgenden Kapitel der Ansteuerung von Digitalausg ange Uber Digitalausg ange werden beispielsweise Relais, Sch utze, Anzeige- und Warnlampen geschaltet,Displays angesteuert und Ger ate und Maschinen aller Art unter die Kontrolle des Mikrocomputersgebracht.
5 Digitalausg ange gibt es bez uglich ihres Zeitverhalten in unterschiedlichen Formen:StatischeAusg ange, die uber Register gepuffert sind. Durch den Ausgabebefehl wird ein n-Bit-Register geladen, dessen Inhalt in Form von Digitalsignalen nach au en ubergeben festgelegter oder programmierbarer Dauer. Hier l ost die Ausgabe einer 1 die Er-zeugung eines Impulses aus, dessen Dauer durch die Programmierung oder durch die Hardware(Taktfrequenz) vorgegeben ist. Oft wird diese Form der digitalen Ausgabe durch die Anwendungvon zwei Befehlen auf einen statischen Ausgang simuliert (Sequenz Bit ein - Bit aus).Pulsfolgen:Am Digitalausgang entsteht eine programmierbare Anzahl von Impulsen. Pulsfolgenwerden im allgemeinen ebenfalls unter Programmkontrolle auf statischen Ausg angen wichtiger Parameter zur Beschreibung von Digitalausg angen ist die physikalische Spezifikationder Ausgangssignale.
6 Dabei sind folgende Formen gebr auchlich:Spannungsausgang,der zun achst dem logischen Pegel des Rechnersystems (TTL, CMOS, .. ) en-spricht, der dann aber uber Pegelkonverter an die entsprechenden Prozesseing ange angepa t wer-den (ECO= Electronic-Contact), der einem gesteuerten Transistor mit offenem Kol-lektor entspricht. Einoffener Kontaktdes ECO ist durch eine maximale zul assige Spannung undeinen Reststrom spezifiziert. Dergeschlossene Kontaktdes ECO ergibt sich aus einer Kollektor-Restspannung und einer maximal zul assigen Digitaleing angeDigitaleing ange dienen der direkten Eingabe digitaler Information und ubernehmen vielf altige Auf-gaben, darunter die Abfrage von Kontakten (Endkontakte, Tasten, Maschinenzust ande, St uckz ahler, ) und die Ubernahme von digitalen Me ergebnissen (z.)
7 B. Digitalvoltmeter,Digitalz ahler, Waagenergebnisse).Auch Digitaleing ange werden unter Programmsteuerung abgefragt. Sie sind in Gruppen organi-siert, die der Breite der Parallel-E/A-Bausteine entsprechen. Mit jedem Eingabebefehl wird die ganzeGruppe eingelesen. In seltenen F allen ist die Datenrate so gro , da ein DMA-Anschlu der Digital-eingabegruppe erforderlich Gegensatz zu den Digitalausg angen gibt es recht unterschiedliche Typen von Digitaleing angen:Direkteing ange:Die Zust ande der Eingangsleitungen werden hier direkt ubernommen. Ihr Zu-stand im Zeitpunkt des Lese-Befehls ist ma gebend (LD- oder IN-Befehl).Gepufferte Eing ange:Es gibt mehrere Arten der Pufferung, beispielsweise kann eine ganze Digi-taleingabegruppe durch ein externes oder internes Ubernahmesignal in ein Register abgespeichertwerden.
8 Hier ist der Zustand der Dateneingabeleitungen nicht zum Zeitpunkt der Abfrage durchdas Programm, sondern zum Zeitpunkt des Taktes ma ange:Asynchron an den einzelnen Eing angen ankommende Ereignisse (Flan-ken oder Pulse) werden gespeichert; die betroffenen Speicher-Flipflops m ussen diese Informationsolange behalten, bis sie vom Rechner ubernommen werden und dort zu entsprechenden Aktio-nen f uhren. Da die Flip-Flops voneinander unabh angig zu beliebigen Zeitpunkten gesetzt werdenk onnen, stellt das R ucksetzen ein gewisses Problem dar: Solle genau in der Zeit zwischen Lesender Eingangsinfo und dem L oschen der Flipflops eine neuer Impils eintreffen, w urde dieser uber-sehen . Dies f uhrt zu sporadischen Fehlern, die nur sehr schwer zu finden sind (wenn uberhaupt!)
9 Es d urfen also nur die Flipflops gel oscht werden, deren 1-Zustand bereits vom Rechner ubernom-men wurde. Dies ist nur m oglich, wenn man die Ereignisse doppelt puffert. Eine Prinzipschaltungzeigt Bild der Ansteuerung von :Doppelt gepufferte Impulseing angeMit der steigenden Flanke des Lese-Signals wird der Inhalt des eigentlichen Ereignisspeichers indie zweite Flipflop-Reihe ubernommen. Der invertierte Ausgang der Zwischenspeicher wird zumR ucksetzen der Ereignisspeicher benutzt. Am Ende des Lesezyklus muss der Zwischenspeicherwieder gel oscht werden, damit das n achste Ereignis den Ereignisspeicher setzen ahleing ange:dienen dem Z ahlen von Ereignissen. Dabei sind folgende Realisierungen m oglich: Verwendung direkter Digitaleing ange und Abfrage per Programm in bestimmten Zeitinter-vallen (die Periode mu kleiner sein als der halbe minimale Ereignisabstand).
10 Verwendung von Interrupteing angen: Jedes Ereignis erzeugt einen Interrupt. DIe Interruptservice Routine inkrementiert einen Softwarez ahler. Verwendung eines Hardwarez ahlers, der das Z ahlen von sehr schnellen Ereignissen aufig wird der Z ahler uberlauf dazu benutzt, eine Programmunterbrechung auszul AnsteuerungGrunds atzlich gibt es mehrere M oglichkeiten der Ansteuerung von Schnittstellen :ProgrammgesteuerterE/A-Tr ansfer (Polling):Einfache E/A- Schnittstellen f ur programmierten E/A-Transfer bestehen wesentlich aus einemE/A-Datenregister (EADR), einem E/A-Steuer- und Statusregister (EASR) sowie der Adre - undSteuerlogik . Das EADR dient zur Zwischenspeicherung des auszugebenden bzw. einzulesendenDatenwerts (siehe oben).