Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Dipl-Inf. Swen Habenberger

Ähnliche Präsentationen


Präsentation zum Thema: "Dipl-Inf. Swen Habenberger"—  Präsentation transkript:

1 Dipl-Inf. Swen Habenberger 11.02.2009
Microcontroller Dipl-Inf. Swen Habenberger

2 Dipl.Inf. Swen Habenberger - Microcontroller
Datentransport Ein Mikrocontroller benötigt zum arbeiten Daten. Diese Daten stammen von Internen Quellen z.B. von Timern (Signalgeneratoren) Externen Quellen z.B. andere Microcontroller Dipl.Inf. Swen Habenberger - Microcontroller

3 Dipl.Inf. Swen Habenberger - Microcontroller
Datenübertragung Parallel Mehrere Bits gleichzeitig Eine Leitung pro Bit Meist interne Kommunikation Seriell Ein Bit hinter dem anderen Eine Leitung reicht aus Meist externe Kommunikation Dipl.Inf. Swen Habenberger - Microcontroller

4 Parallele Kommunikation
Das interne Bussystem ist eine parallele Kommunikationsstruktur Je nach Busbreite (8, 16, 32 Bit) werden entsprechend viele Bits übertragen Die Datenraten sind bei gleicher Taktrate um das Vielfache der Busbreite höher als bei serieller Übertragung Dipl.Inf. Swen Habenberger - Microcontroller

5 Parallele externe Schnittstelle
Fa. Centronics entwickelte in den 70er Jahren einen Stecker zur Parallelen Datenübertragung von PC zu Peripheriegeräten Ursprünglich 36 Pins IBM brachte beim IBM-PC abgespeckte Version mit 25 Pin Stecker heraus, der sich zum Standard entwickelte Dipl.Inf. Swen Habenberger - Microcontroller

6 Dipl.Inf. Swen Habenberger - Microcontroller
Pinbelegung 36 Pins am Drucker 17 Pins für Daten und Handshake 19 Pins für Masse 25 Pins am PC 8 Pins für Masse Dipl.Inf. Swen Habenberger - Microcontroller

7 Dipl.Inf. Swen Habenberger - Microcontroller
Bild der Anschlüsse Dipl.Inf. Swen Habenberger - Microcontroller

8 Parallele Schnittstelle
Es war nur die Kommunikation zwischen 1 PC und einem Peripheriegerät (Drucker/Plotter) möglich Rückmeldung nur z.B. BUSY, ERROR, ONLINE Enhanced Parallel Port Bidirektionale Datenübertragung Extended Capabilities Port 4 MByte pro Sekunde Microsoft und HP entwickeln Standard Dipl.Inf. Swen Habenberger - Microcontroller

9 General Purpose Interface Bus (GPIB)
IEC-625-Bus Standard: IEEE 488 bzw. IEEE 60488 Standard wurde Anfang der 70er Jahre verabschiedet Datenrate bis zu 1MByte/s Anbindung von bis zu 15 Messgeräten 24 Pin-Centronics Stecker bei IEE488 (Standard) oder 25 Pin-Centronics Stecker bei IEC-625 Dipl.Inf. Swen Habenberger - Microcontroller

10 Dipl.Inf. Swen Habenberger - Microcontroller
Fragen? Dipl.Inf. Swen Habenberger - Microcontroller

11 Externe Serielle Datenübertragung
Für die serielle Datenübertragung gibt es 3 gebräuchliche Standards RS 232 RS 485 RS 422, wobei dieser Standard sehr ähnlich zum Standard RS485 ist Dipl.Inf. Swen Habenberger - Microcontroller

12 Dipl.Inf. Swen Habenberger - Microcontroller
Hardware / Software Neben der Spezifikation der Hardware d.h. der Signalcodierung ist auch die Spezifikation der Softwareschnittstelle des Datenübertragungsprotokoll wichtig Wie erkennt man das eine Übertragung anfängt oder aufhört? Datenempfang oder Datensendung? Wer ist Empfänger? Ist wichtig wer der Sender ist? Korrektheit der übermittelten Daten Dipl.Inf. Swen Habenberger - Microcontroller

13 Prinzipielle Arten in der Datenübertragungstechnik
Strombasierte Übertragung Der übertragene Strom wird kurzfristig unterbrochen und so ein Flankenwechsel generiert Spannungsbasierte Übertragung Die übertragene Spannung wird kurzfristig erhöht/erniedrigt um einen Flankenwechsel zu generieren Dipl.Inf. Swen Habenberger - Microcontroller

14 Strombasierte Übertragung
Die Strombasierte Übertragung ist über 100 Jahre alt: Fernschreiber und Morsegeräte arbeiten nach diesem Prinzip 20mA (Ruhezustand) logisch 1, idle, mark 0mA logisch 0, break, space Dipl.Inf. Swen Habenberger - Microcontroller

15 Dipl.Inf. Swen Habenberger - Microcontroller
TeleTypeWriter (TTY) Dipl.Inf. Swen Habenberger - Microcontroller

16 Spannungsbasierte Übertragung
Es wird zwischen 2 Spannungen gemessen um den Zustand zu ermitteln Aktuelle Spannung zu Masse Spannung Leitung 1 zu Spannung Leitung 2 Differenz größer als ein bestimmter Wert => logische 1 Differenz kleiner als ein bestimmter Wert => logische 0 Dipl.Inf. Swen Habenberger - Microcontroller

17 Single-Ended Übertragung
Die Daten werden über eine einzige Leitung versendet Die (De-)codierung erfolgt immer im Bezug zur Masse des Senders bzw. Empfänger Dies kann zu Problemen führen, da die Masse evtl. nicht immer gleich ist. Äußere Störfelder können die Spannung der Datenleitung ändern und dadurch ein falsches Signal erzeugen Dipl.Inf. Swen Habenberger - Microcontroller

18 Differentielle Übertragung
Es werden 2 Leitungen benötigt. Für logisch 0 oder 1 sind hier nicht die Absolutwerte, sondern die Differenz von 2 Pegeln maßgeblich. 5V an + und –5V an – ergibt +10 V -5V an + und 5V an – ergibt -10V Ist das +Signal in einem Leitungspaar positiver als das -Signal, dann entspricht das dem Zustand WAHR. Ist das +Signal negativer als das -Signal, dann ist das der Zustand FALSCH und gleichzeitig der Ruhezustand. Äußere Einflüsse beeinflussen beide Leitung gleich, so dass sich eine Potentialverschiebung nicht auf das Signal auswirkt Dipl.Inf. Swen Habenberger - Microcontroller

19 Dipl.Inf. Swen Habenberger - Microcontroller
Weitere Begriffe Pseudodifferentielle Übertragung: Anstelle der invertierenden Spannung kann als zweites Signal auch die Masse übertragen werden. Twisted-Pair: Werden beide Leitungen miteinander verdrillt, d.h. ineinander gedreht, nennt man das Twisted-Pair Dies ermöglicht eine größere Schirmung gegen externe Störeinflüsse Dipl.Inf. Swen Habenberger - Microcontroller

20 Prinzipielle Arten in der Datenübertragungstechnik
Punkt zu Punkt RS232 Ein Sender, mehrere Empfänger RS422 Mehrere Sender, mehrere Empfänger RS485 Dipl.Inf. Swen Habenberger - Microcontroller

21 Dipl.Inf. Swen Habenberger - Microcontroller
Punkt zu Punkt Bei der Punkt zu Punkt Kommunikation wird nur zwischen 2 Geräten kommuniziert Einsparung der Empfänger- und Sendercodierung im Übertragunsgprotokoll ermöglicht eine Erhöhung der Geschwindigkeit Dipl.Inf. Swen Habenberger - Microcontroller

22 Dipl.Inf. Swen Habenberger - Microcontroller
Bussystem Mehrere Sender und mehrere Empfänger werden im allgemeinen als Bussystem bezeichnet Erfordert im Übertragungsprotokoll eine entsprechende Codierung des Senders und des Empfängers Dipl.Inf. Swen Habenberger - Microcontroller

23 Prinzipielle Arten in der Datenübertragungstechnik
Synchrone Datenübertragung Ein Taktsignal wird parallel zu den Daten über eine eigene Leitung übermittelt. Asynchrone Datenübertragung Das Datenübertragungsprotokoll muss eine Regulierung zur Synchronisation beinhalten Dipl.Inf. Swen Habenberger - Microcontroller

24 Synchrone Datenübertragung
Bei der Synchronen Datenübertragung wird die Übertragung einzelner Bits zwischen Sender und Empfänger mit einem Taktsignal zeitlich synchronisiert. Dieses Taktsignal kann über eine eigene Schnittstellenleitung gesendet werden Taktrückgewinnung: Empfänger gewinnt Taktsignal aus dem Datensignal zurück Dipl.Inf. Swen Habenberger - Microcontroller

25 Asynchrone Datenübertragung
Bei diesem Verfahren werden die Zeichen asynchron, d.h. zu beliebigen Zeiten, übertragen. Einzelne Bits werden plesiochron übertragen Das Verfahren wird auch Start-Stopp-Verfahren genannt, da jeweils mindestens ein Start und Stopp Bit gesendet werden muss. Durch diese mindestens 2 Bits ist die Datenrate geringer als bei synchroner Datenübertragung Dipl.Inf. Swen Habenberger - Microcontroller

26 Dipl.Inf. Swen Habenberger - Microcontroller
Universal Synchronous and Asynchronous serial Receiver and Transmitter (USART) Die USART Schnittstelle eines Microcontrollers ist die universelle Schnittstelle zur seriellen Schnittstelle Durch Einstellungen in den Registern kann die Schnittstelle den Anwendungseinstellungen entsprechend konfiguriert werden Dipl.Inf. Swen Habenberger - Microcontroller

27 Dipl.Inf. Swen Habenberger - Microcontroller
Fragen? Dipl.Inf. Swen Habenberger - Microcontroller

28 Konfiguration der USART Schnittstelle
Synchrone oder asynchrone Datenübermittlung Datenrate Baudrate Anzahl Datenbits In Abhängigkeit vom Protokoll noch Fehlererkennung und Anzahl Stoppbits Dipl.Inf. Swen Habenberger - Microcontroller

29 Dipl.Inf. Swen Habenberger - Microcontroller
Kommunikation mit RS232 Startbit, Datenbits, Paritybit, Stoppbit Synchrone oder Asynchrone Übertragung? Zwischen 5 und 9 Datenbits Paritätsbit Keins, gerade, ungerade, 0, 1 1 oder 1,5 oder 2 Stoppbits Dipl.Inf. Swen Habenberger - Microcontroller

30 Dipl.Inf. Swen Habenberger - Microcontroller
RS232 Sender und Empfänger müssen zunächst sich darüber einig werden wie die Bits der Übertragung interpretiert werden 5 -9 Datenbits Üblicherweise 8 Bit (gelegentlich 7 Bit) 9 Bits erfordern zusätzliche Betrachung von Registern Dipl.Inf. Swen Habenberger - Microcontroller

31 Dipl.Inf. Swen Habenberger - Microcontroller
Partität / Parity Es kann zur Fehlererkennung ein Bit angehängt werden. Häufig wird dieses Bit nicht verwendet (none) Even/Gerade: Es wird auf eine gerade Anzahl 1 ergänzt Odd/Ungerade: Es wird auf eine ungerade Anzahl an 1 ergänzt Mark: Immer 1 Space: immer 0 Es kann maximal ein 1-Bitfehler erkannt werden Dipl.Inf. Swen Habenberger - Microcontroller

32 Dipl.Inf. Swen Habenberger - Microcontroller
Beispiel Parity EvenParity: ergänze 1 OddParity: ergänze 0 MarkParity: ergänze 1 SpaceParity: 0 Dipl.Inf. Swen Habenberger - Microcontroller

33 Dipl.Inf. Swen Habenberger - Microcontroller
Stoppbits Nach übermittlung von Startbit, Datenbits und evtl. Paritybit wird das Stoppbit übermittelt Die Dauer des Stoppbits beträgt entweder 1 oder 1,5 oder 2 mal der Zeitdauer (Länge) eines Datenbits Man spricht aber von 1, 1,5 oder 2 Stoppbits Dipl.Inf. Swen Habenberger - Microcontroller

34 Hardwaredaten vs. Softwaredaten
Der Benutzer bestimmt im allgemeinen nur den Inhalt der Datenbits Die Berechnung des Paritybits sowie das Senden des Startbits und des Stoppbits übernimmt in der Regel die Hardware Einstellungen aus den Registern ermöglichen die Konfiguration Dipl.Inf. Swen Habenberger - Microcontroller

35 Dipl.Inf. Swen Habenberger - Microcontroller
Fragen? Dipl.Inf. Swen Habenberger - Microcontroller

36 Übertragungsgeschwindigkeit
Die Übertragungsgeschwindigkeit wird in Baud angegeben. 1 Baud entspricht 1 Symbol pro Sekunde 1 Symbol entspricht nicht immer 1 Bit 1 Symbol entspricht einer Änderung des Signals Dipl.Inf. Swen Habenberger - Microcontroller

37 Dipl.Inf. Swen Habenberger - Microcontroller
Modulation Durch Einsatz von mehreren Spannungen können mit einem Symbol mehrere Zustände übermittelt werden. 2 Spannungen: 2 Bits (0 und 1) 4 Spannungen: 0, 1V, 2V, 3V (00, 01, 10, 11) Usw. Hierdurch können in einem Symbol auch mehrere Bits codiert sein Dipl.Inf. Swen Habenberger - Microcontroller

38 Typische Baudraten bei RS232
Häufige Baudraten 9600 19200 115200 57600 38400 Seltene Baudraten 28800 14400 4800 2400 1200 300 75 Dipl.Inf. Swen Habenberger - Microcontroller

39 Dipl.Inf. Swen Habenberger - Microcontroller
Baudgenerator Als Taktgenerator dient ein Quarz mit der Taktrate von 1,8432 MHz oder Ganzzahlige Vielfache davon Als Alternative: 2,4567 MHz (4/3*1,84) oder 6,144 MHz (10/3*1,84 MHZ) oder ganzzahlige Vielfache Baudrate = Taktfrequenz / (8*(2-Over)*CD) Over = 0 oder 1: Multiplikation mit 8 oder 16 CD = CounterDivider / ClockDivider Dipl.Inf. Swen Habenberger - Microcontroller

40 Baudratenberechnung mit Teiler 16
Clock Baud-rate Ergebnis CD Fehler 12 MHz 38400 19,53 20 37500 2,40% 12,288 0,00% 18,432 30 24 Mhz 39,06 39 38461 0,16% 40 Mhz 50 Mhz 60 Mhz Dipl.Inf. Swen Habenberger - Microcontroller

41 Dipl.Inf. Swen Habenberger - Microcontroller
Beispielübertragung TXD ist die Transmit eXchange Data Line (Übertragungsleitung) Dipl.Inf. Swen Habenberger - Microcontroller

42 Non-Return to Zero (NRZ)
Die Daten werden beim NRZ-Modus übertragen wie sie anfallen, d.h. 1 = Hoher Pegel 0 = Niedriger Pegel Zwischen 2 oder mehr Einsen wird nicht auf den Grundpegel zurückgegangen Problem: Übermittlung von 0en kann nicht unterschieden werden von Leitungsbruch Dipl.Inf. Swen Habenberger - Microcontroller

43 Dipl.Inf. Swen Habenberger - Microcontroller
Manchester Encoding Anstelle die Daten als reiner Pegel zu übertragen, werden die Daten bei der asynchronen Datenübertragung häufig als Manchester-Codierung übertragen Hierbei wird in der Mitte des Taktes das Signal invertiert Zu Beginn wird bei einer 0 das Signal invertiert und bei einer 1 das Signal beibehalten Dipl.Inf. Swen Habenberger - Microcontroller

44 Daten und Manchesterencoding
Dipl.Inf. Swen Habenberger - Microcontroller

45 Preamble = Lernen der Bits
Dipl.Inf. Swen Habenberger - Microcontroller

46 Dipl.Inf. Swen Habenberger - Microcontroller
Empfang von Daten Der Datenempfang wird durch eine oversampelte Clock überwacht Die Receiveclock arbeitet mit der 8- oder 16- Fachen Geschwindigkeit der Baudrate Bei Empfang des Stoppbits wird automatisch auf den Beginn des nächsten Startbits gewartet Es ist egal ob 1, 1,5 oder 2 Stoppbits eingestellt sind Dipl.Inf. Swen Habenberger - Microcontroller

47 Dipl.Inf. Swen Habenberger - Microcontroller
Empfang von Daten Dipl.Inf. Swen Habenberger - Microcontroller

48 Dipl.Inf. Swen Habenberger - Microcontroller
Synchroner Empfang Empfang bei jeder steigenden Taktflanke Dipl.Inf. Swen Habenberger - Microcontroller

49 Dipl.Inf. Swen Habenberger - Microcontroller
Handshaking DTE-DCE DTE - data terminal equipment : PC/ComputerTerminal (schnell) DCE - data communication equipment: MODEM (langsam) Einführung von Steuerleitungen: RTS: Request to Send: Darf Ich? CTS: Clear To Send: Ja du darfst! Dipl.Inf. Swen Habenberger - Microcontroller

50 Dipl.Inf. Swen Habenberger - Microcontroller
Hardwarehandshake µC: Setzt des RTS Empfänger: Setzt CTS µC: Sendet Datenbits, Start und Stop Empfänger Verarbeitet Daten Falls zu schnell Daten kommen, Rücksetzung des CTS-Signals Dipl.Inf. Swen Habenberger - Microcontroller

51 Dipl.Inf. Swen Habenberger - Microcontroller
Timeguard Mit Hilfe des Time-Guards können Verzögerungszeiten nach jedem Datenblock eingesetzt werden. Dies verlängert de facto das Stoppbit um eine gewisse Zeit Wird benötigt falls der Empfänger sehr viel langsamer arbeitet als der Sender und so ein Überlaufen des Empfangsbuffers zu vermeiden Wirkungsvoller ist wahrscheinlich aber die Senkung der Baudrate Dipl.Inf. Swen Habenberger - Microcontroller

52 Dipl.Inf. Swen Habenberger - Microcontroller
Overrun Error Nach jedem empfangenen Datum wird das RXRDY-Status Bit gesetzt und die Datenbits in das Empfangsregister kopiert Beim nächsten Startbit wird das RXRDY-Status-Bit zurückgesetzt Falls das RXRDY-Bit bereits gesetzt ist werden die Daten überschrieben und das Overrun-Error-Bit gesetzt Es kann dann ein Interrupt ausgelöst werden, der die Datenkontrolle neuregelt Dipl.Inf. Swen Habenberger - Microcontroller

53 Dipl.Inf. Swen Habenberger - Microcontroller
Drift Compensation Beim Empfang wird das Signal oversampelt. Hierdurch kann es zu Ungenauigkeiten kommen, z.B. eine Abweichung um 1 Bit nach 10 Durchläufen, dann wird ein zusätzliches Clocksignal in diese Periode eingefügt Es kann auch ein Clocksignal aus der Periode ausgelassen werden Dipl.Inf. Swen Habenberger - Microcontroller

54 Dipl.Inf. Swen Habenberger - Microcontroller
Framing Error Der Zeitraum zwischen den Start- und Stopbits ist konstant und hängt vom Baudrate und einer Anzahl Daten- und Paritätsbits ab. Das Startbit wird immer mit einem Space Niveau angegeben, das Stoppbit mit dem Mark Niveau. Wenn der Empfänger einen anderen Wert als Mark in dem Moment entdeckt, zu dem das Stopbit hätten empfangen werden müssen, => Framing Error aufgetreten ist Neusynchronisation erforderlich Dipl.Inf. Swen Habenberger - Microcontroller

55 Dipl.Inf. Swen Habenberger - Microcontroller
DTR und DSR DTR: data terminal ready DSR: data set ready Diese beiden Leitungen werden immer auf ON gehalten um zu signalisieren, dass eine Verbindung besteht Dipl.Inf. Swen Habenberger - Microcontroller

56 Dipl.Inf. Swen Habenberger - Microcontroller
Pegel Die Pegel werden pseudo-differentiell übertragen, d.h. es werden 2 Leitungen miteinander verglichen, wobei die eine Leitung auf Masse gezogen ist Die Pegel betragen ca. 12V und ca. -12 V Spezifikation: +5V bis +15V (0), und -5V bis -15V (1) Dipl.Inf. Swen Habenberger - Microcontroller

57 Dipl.Inf. Swen Habenberger - Microcontroller
Pinbelegung Dipl.Inf. Swen Habenberger - Microcontroller

58 Dipl.Inf. Swen Habenberger - Microcontroller
Anschluss am PC Dipl.Inf. Swen Habenberger - Microcontroller

59 Dipl.Inf. Swen Habenberger - Microcontroller
Dipl.Inf. Swen Habenberger - Microcontroller

60 Dipl.Inf. Swen Habenberger - Microcontroller
Nutzdaten / Datenrate Dipl.Inf. Swen Habenberger - Microcontroller

61 Vergleich Baud / Bitlänge
Datenrate [baud] 300 2400 9600 19200 38400 57600 115200 Bitlänge 3,33 ms 417 µs 104 µs 52,08 µs 26,04 µs 17,36 µs 8,68 µs Dipl.Inf. Swen Habenberger - Microcontroller

62 Dipl.Inf. Swen Habenberger - Microcontroller
ISO7816 protocol Neben den herkömmlichen Protokollen wie RS232 und RS485 können auch Smartcard, also Chipkarten mit dem USART gelesen und geschrieben werden Dipl.Inf. Swen Habenberger - Microcontroller

63 Dipl.Inf. Swen Habenberger - Microcontroller
IrDA protocol Es ist auch möglich, Infrarot-Geräte über den USART anzusprechen. Die Übertragung ähnelt sehr der Übertragung von RS232 Dipl.Inf. Swen Habenberger - Microcontroller

64 Dipl.Inf. Swen Habenberger - Microcontroller
Fehlerkorrektur Paritybits ermöglichen nur die Fehlererkennung einzelner Bits Zur Fehlerkorrektur müssen in den Datenbits fehlerkorrigierende Codes eingebaut werden. Ein Beipiel für fehlererkennenden Code ist der CRC Dipl.Inf. Swen Habenberger - Microcontroller

65 Dipl.Inf. Swen Habenberger - Microcontroller
RS485 Ähnlicher Standard wie RS232 Voll differntielle Datenübertragung Abschlusswiderstand notwendig Bis zu 32 Empfänger Leitungslänge bis zu 1200 m Dipl.Inf. Swen Habenberger - Microcontroller

66 Dipl.Inf. Swen Habenberger - Microcontroller
Modbus-Protokoll Modbus ist ein in der Industrie verbreitetes Standard-Kommunikationsprotokoll zur Kommunikation in einer Master-Slave Umgebung Ist ein beliebtes Datenprotokoll für die Kommunikation in RS485-Netzen Dipl.Inf. Swen Habenberger - Microcontroller

67 Dipl.Inf. Swen Habenberger - Microcontroller
Fragen? Dipl.Inf. Swen Habenberger - Microcontroller


Herunterladen ppt "Dipl-Inf. Swen Habenberger"

Ähnliche Präsentationen


Google-Anzeigen