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 11.02.2009

2 Dipl.Inf. Swen Habenberger - Microcontroller2 11.02.2009 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 - Microcontroller3 11.02.2009 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 - Microcontroller4 11.02.2009 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 - Microcontroller5 11.02.2009 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 - Microcontroller6 11.02.2009 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 - Microcontroller7 11.02.2009 Bild der Anschlüsse

8 Dipl.Inf. Swen Habenberger - Microcontroller8 11.02.2009 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 - Microcontroller9 11.02.2009 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

10 Dipl.Inf. Swen Habenberger - Microcontroller10 11.02.2009 Fragen?

11 Dipl.Inf. Swen Habenberger - Microcontroller11 11.02.2009 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 - Microcontroller12 11.02.2009 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 - Microcontroller13 11.02.2009 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 - Microcontroller14 11.02.2009 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 - Microcontroller15 11.02.2009 TeleTypeWriter (TTY)

16 Dipl.Inf. Swen Habenberger - Microcontroller16 11.02.2009 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 - Microcontroller17 11.02.2009 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 - Microcontroller18 11.02.2009 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 - Microcontroller19 11.02.2009 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 - Microcontroller20 11.02.2009 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 - Microcontroller21 11.02.2009 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 - Microcontroller22 11.02.2009 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 - Microcontroller23 11.02.2009 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 - Microcontroller24 11.02.2009 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 - Microcontroller25 11.02.2009 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 - Microcontroller26 11.02.2009 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 - Microcontroller27 11.02.2009 Fragen?

28 Dipl.Inf. Swen Habenberger - Microcontroller28 11.02.2009 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 - Microcontroller29 11.02.2009 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 - Microcontroller30 11.02.2009 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 - Microcontroller31 11.02.2009 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 - Microcontroller32 11.02.2009 Beispiel Parity 00101010 EvenParity: ergänze 1 OddParity: ergänze 0 MarkParity: ergänze 1 SpaceParity: 0

33 Dipl.Inf. Swen Habenberger - Microcontroller33 11.02.2009 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 - Microcontroller34 11.02.2009 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 - Microcontroller35 11.02.2009 Fragen?

36 Dipl.Inf. Swen Habenberger - Microcontroller36 11.02.2009 Ü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 - Microcontroller37 11.02.2009 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 - Microcontroller38 11.02.2009 Typische Baudraten bei RS232 Häufige Baudraten 9600 19200 115200 57600 38400 Seltene Baudraten 28800 14400 4800 2400 1200 300 75

39 Dipl.Inf. Swen Habenberger - Microcontroller39 11.02.2009 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 - Microcontroller40 11.02.2009 Baudratenberechnung mit Teiler 16 ClockBaud- rate ErgebnisCDBaud- rate Fehler 12 MHz3840019,5320375002,40% 12,2883840020 384000,00% 18,4323840030 384000,00% 24 Mhz3840039,0639384610,16% 40 Mhz38400 50 Mhz38400 60 Mhz38400

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

42 Dipl.Inf. Swen Habenberger - Microcontroller42 11.02.2009 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 - Microcontroller43 11.02.2009 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 - Microcontroller44 11.02.2009 Daten und Manchesterencoding

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

46 Dipl.Inf. Swen Habenberger - Microcontroller46 11.02.2009 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 - Microcontroller47 11.02.2009 Empfang von Daten

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

49 Dipl.Inf. Swen Habenberger - Microcontroller49 11.02.2009 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 - Microcontroller50 11.02.2009 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 - Microcontroller51 11.02.2009 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 - Microcontroller52 11.02.2009 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 - Microcontroller53 11.02.2009 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 - Microcontroller54 11.02.2009 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 - Microcontroller55 11.02.2009 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 - Microcontroller56 11.02.2009 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 - Microcontroller57 11.02.2009 Pinbelegung

58 Dipl.Inf. Swen Habenberger - Microcontroller58 11.02.2009 Anschluss am PC

59 Dipl.Inf. Swen Habenberger - Microcontroller59 11.02.2009

60 Dipl.Inf. Swen Habenberger - Microcontroller60 11.02.2009 Nutzdaten / Datenrate

61 Dipl.Inf. Swen Habenberger - Microcontroller61 11.02.2009 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

62 Dipl.Inf. Swen Habenberger - Microcontroller62 11.02.2009 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 - Microcontroller63 11.02.2009 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 - Microcontroller64 11.02.2009 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 - Microcontroller65 11.02.2009 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 - Microcontroller66 11.02.2009 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 - Microcontroller67 11.02.2009 Fragen?


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

Ähnliche Präsentationen


Google-Anzeigen