Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Microcontroller Dipl-Inf. Swen Habenberger 11.02.2009.

Ähnliche Präsentationen


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

1 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

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

4 Dipl.Inf. Swen Habenberger - Microcontroller 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

5 Dipl.Inf. Swen Habenberger - Microcontroller 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

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 17 Pins für Daten und Handshake 8 Pins für Masse

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

8 Dipl.Inf. Swen Habenberger - Microcontroller 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

9 Dipl.Inf. Swen Habenberger - Microcontroller General Purpose Interface Bus (GPIB) IEC-625-Bus Standard: IEEE 488 bzw. IEEE 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

10 Dipl.Inf. Swen Habenberger - Microcontroller Fragen?

11 Dipl.Inf. Swen Habenberger - Microcontroller 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

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

13 Dipl.Inf. Swen Habenberger - Microcontroller 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

14 Dipl.Inf. Swen Habenberger - Microcontroller 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

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

16 Dipl.Inf. Swen Habenberger - Microcontroller 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

17 Dipl.Inf. Swen Habenberger - Microcontroller 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

18 Dipl.Inf. Swen Habenberger - Microcontroller 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

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

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

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

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

23 Dipl.Inf. Swen Habenberger - Microcontroller 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

24 Dipl.Inf. Swen Habenberger - Microcontroller 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

25 Dipl.Inf. Swen Habenberger - Microcontroller 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

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

27 Dipl.Inf. Swen Habenberger - Microcontroller Fragen?

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

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

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

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

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

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

34 Dipl.Inf. Swen Habenberger - Microcontroller 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

35 Dipl.Inf. Swen Habenberger - Microcontroller Fragen?

36 Dipl.Inf. Swen Habenberger - Microcontroller Ü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

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

38 Dipl.Inf. Swen Habenberger - Microcontroller Typische Baudraten bei RS232 Häufige Baudraten Seltene Baudraten

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

40 Dipl.Inf. Swen Habenberger - Microcontroller Baudratenberechnung mit Teiler 16 ClockBaud- rate ErgebnisCDBaud- rate Fehler 12 MHz , ,40% 12, ,00% 18, ,00% 24 Mhz , ,16% 40 Mhz Mhz Mhz38400

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

42 Dipl.Inf. Swen Habenberger - Microcontroller 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

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

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

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

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

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

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

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!

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

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

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

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

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

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

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)

57 Dipl.Inf. Swen Habenberger - Microcontroller Pinbelegung

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

59 Dipl.Inf. Swen Habenberger - Microcontroller

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

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

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

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

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

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

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

67 Dipl.Inf. Swen Habenberger - Microcontroller Fragen?


Herunterladen ppt "Microcontroller Dipl-Inf. Swen Habenberger 11.02.2009."

Ähnliche Präsentationen


Google-Anzeigen