Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

DIY Personal Fabrication Drahtgebundene Kommunikation Juergen Eckert – Informatik 7.

Ähnliche Präsentationen


Präsentation zum Thema: "DIY Personal Fabrication Drahtgebundene Kommunikation Juergen Eckert – Informatik 7."—  Präsentation transkript:

1 DIY Personal Fabrication Drahtgebundene Kommunikation Juergen Eckert – Informatik 7

2 Fahrplan UART SPI TWI

3 Kommunikation Grundlagen (1/2) Taster und LED (siehe Bsp. vor Weihnachten) sind einfache Schnittstellen zur Kommunikation Kommunikation = Austausch von Signalen (z.B. Licht oder Spannung) Signal – Information in Form einer physikalischen Größe – Kategorisierungstupel: Wert:kontinuierlich oder diskret Zeit:kontinuierlich oder diskret heute

4 Kommunikation Grundlagen (2/2) Leitungskodierung bei binären Signalen = Zuordnung der Signalwerte zu 0 oder 1 Übertragungsart: – Parallel: mehrere Bits gleichzeitig – Seriell: zeitlich aufeinander folgende Bits Weitere Eigenschaften: 1.Synchron (selbsttaktend) oder asynchron: Sendertakt wird mit übermittelt 2.Gleichstromfrei: Kein bestimmter Pegel in Ref zu GND 3.Bandbreitenbedarf: Breite des Frequenzbands, um Signal zu übertragen.

5 Leitungskodierung (1/2) Non-Return-To-Zero (NRZ): „1“ = High, „0“ = Low, ¬(1), unipolar: ¬(2), polar: (2) ✓ NRZ-Invert (NRZI): „1“ = Wechsel, „0“ = kein Wechsel, ¬(1), ¬(2), verpolungssicher Bipolar: „0“ = Nullpegel, „1“ = alternierend Low und High, ¬(1), (2) ✓ Manchester-Kodierung: Pegelwechsel in Taktmitte, „1“ = High→Low, „0“ = Low→High, (1) ✓, ¬(2), benötigt doppelte Bandbreite, Verwendung bei Ethernet Differentielle Manchester-Kodierung: Pegelwechsel in Taktmitte und zusätzliche Taktwechsel am Flankenanfang,„1“ = kein Wechsel, „0“ = Wechsel, (1) ✓, (2) ✓, nochmal höhere Bandbreite, Verwendung bei Token Ring (Hier: High und Low sind Symbole die Spannung repräsentieren)

6 Leitungskodierung (2/2) NRZI Unipolares NRZ Bipolar Manchester- Kodierung Differentielle Manchester- Kodierung Polares NRZ Bitsequenz Referenz

7 Übertragungssystem Systemtheorie: mathematisches Modell zur Beschreibung des Übertragungsverhaltens Signalübertragung (Pegelwechsel) benötigt Energie (je höher die Freq. desto mehr) Bandbreitenbeschränkung (min. und max. Freq.) – Signalverzerrung – Idealisiert: Freq. 0..f C unverändert, höhere Freq. stark gedämpft. (Low Pass Filter) Übertragungs- system EingangssignalAusgangssignal s 1 (t)s 2 (t) Theorie (Fourierreihen, Fouriertransformation, Abtasttheorem,...) siehe RK Vorlesung [Hier (aus Zeitgründen) Daumenregel: Signal auf das Medium geben und mit Oszi überprüfen]

8 Serielle Schnittstelle (1/2) Meist genutztes Interface (DIY/HACKs) EIA-232 (RS-232, V.10) in 1962 – Punkt-zu-Punkt Verbindung (1:1) – Asynchron – Geschwindigkeit in Baud = Symbolrate ≠ Bits/s Neuere serielle Schnittstellen: – Ethernet – USB – S-ATA –... max. Baud max. Länge m m m m m <2m Foto: Wikipedia Alle Differenziell: 2 Leitungen übertragen das gleiche Signal, eine Leitung ist invertiert (Ursprung: RS485) Hohe Toleranz gegenüber el-mag. Störungen

9 Differenzielle Signalübertragung (Einschub) Foto: Wikipedia

10 Serielle Schnittstelle (2/2) RS-232: NRZ polar, mit TTL Logik: unipolar – TTL „1“ = 3.3V oder 5V und „0“ = 0V Baudrate muss bekannt sein Üblich: 8N1 (ohne Parity) 5-9 bit LSB first Foto: Wikipedia t

11 Universal Asynchronous Receiver Transmitter (UART) Hardware in fast jedem Mikrocontroller Manchmal auch USART: S steht für synchronous, also alternative Konfigurationsart Atmel AVR AVR: 1Byte Puffer Andere bieten mehr Hardware- Support (Puffer)

12 Hardware UART (Bsp: AVR) (1/3) Programmier Tutorial: Hardware wird mittels Bits in Register kontrolliert Beschreibung siehe Datenblatt void USART_Init( unsigned int baud ) { /* Set baud rate */ UBRRH = (unsigned char)(regbaud>>8); UBRRL = (unsigned char)regbaud; /* Enable receiver and transmitter */ UCSRB = (1<

13 Hardware UART (Bsp: AVR) (2/3) Aktives warten bis das Register frei ist Daten in Register schreiben. Mikrocontroller kann andere Sachen erledigen während der UART die Daten versendet void USART_Transmit( unsigned char data ) { /* Wait for empty transmit buffer */ while ( !( UCSRA & (1<

14 Hardware UART (Bsp: AVR) (3/3) Schreib- und Lesezugriff auf Register kann unterschiedliche Resultate haben (Bsp: UDR) – AVR UART ist Full Duplex (senden und empfangen gleichzeitig) unsigned char USART_Receive( void ) { /* Wait for data to be received */ while ( !(UCSRA & (1<

15 UART und Interrupts UART kann Interrupt nach dem Versenden oder Empfangen eines Bytes auslösen. → Kein aktives Warten notwendig! Komplexere MCUs haben FIFO Warteschlangen oder DMA Controller → Interrupt nur noch alle n Bytes

16 Software UART (= pain) Hardware bietet viele Vorteile: Geschwindigkeit, Interrupts, Fehlererkennung,... Wenn mehr UARTs benötigt werden als vorhanden kann der UART auch in Software mittels GPIO Pins implementiert werden. – „Semi-Software“ Lösungen (Kombination aus Interrupts und Timer) möglich – Sonst idR Half-Duplex Umgangssprachlich: Bit-Banging

17 Software UART (AVR304) TX RX Hier: Kein Stop Bit Test

18 Serielle Schnittstelle in der Praxis RS232 Service- und Konfigurationsschnittstelle – Heutzutage sonst eher unüblich – Heute: TTL oder CMOS UART (auf den Pegel achten!) Debugging: – 2 weitere UARTS (die 2 Empfangsleitungen) – Bus Pirate – Oszilloskop (2 Kanal) – Logic Analyzer Verwendung in Modulen – GPS, Bluetooth, WiFi,... Für Modultest: USB nach Seriell Adapter (z.B. mittels FTDI)

19 Punkt-zu-Punkt Verbindung Jedes Modul benötigt dedizierte Hardware (Pins) Mikrocontroller Modul TX RX

20 Binary Unit System (BUS) Datenübertragung zwischen mehreren Teilnehmern über einen gemeinsamen Übertragungsweg Aktive Konten: Master – Greifen selbstständig auf den BUS zu Passive Knoten: Slave Varianten – Single-Master (1:n) Bsp: SPI – Multi-Master (m:n) Bsp: TWI (aka. I2C) (weiterhin seriell)

21 Serial Peripheral Interface (SPI) Synchronous Serial Port (SSP) Master-Slave Paradigma (1:n) Full Duplex „Lockerer“ Standard SCLK (Clock) MISO (Master In Slave Out) MOSI (Master Out Slave In) Andere Namen mögl. (SDI/SDO) Von Motorola Foto: Wikipedia

22 SPI Topologie Fotos: Wikipedia Kaskadierung (Daisy-Chain) Slave nur über Vorgänger ansprechbar Benötigt wenig IOs Bsp. APA102 LEDs Stern Jeder Slave benötigt dedizierte Slave Select (SS) Leitung Schneller bei beliebigen Zugriff Meist verbreitet

23 Leitungskodierung (1/2) Unipolares NRZ für alle Leitungen 4 Modi basieren aus Kombination von – Clock Polarität (CPOL) – Clock Phase (CPHA) Folgen des lockeren Standards: Keine festgelegt Bit- und Byte-Order – MSB oder LSB first – Little oder Big Endian Keine festgelegt Bitanzahl (üblich 8-16bit) Siehe Datenblatt

24 Leitungskodierung (2/2) Foto: Wikipedia Rot Blau

25 SPI in der Praxis Mikrocontroller – Hardware Unterstützung – Software Mode einfacher als UART (zumindest als Master) Debugging – Bus Pirate – Oszilloskop (2-4 Kanäle) – Logic Analyzer Verwendung – SD-Karte (MMC) – So gut wie jeder Chip Für Chiptest: Bus Pirate Foto: dangerousprototypes.com

26 Single- vs. Multi-Master (1/2) Single-Master – Alle Kommunikation wird vom Master initiiert – Zentrale Kommunikation Beispiel SPI: Clock Leitung wird nur vom Master getrieben Paralleler Zugriff auf die Clock Leitung kann Hardware beschädigen Bus-Arbiter (lat.: „Richter“) kann Zugriff regeln – Komplex / Aufwendig

27 Single- vs. Multi-Master (2/2) Multi-Master – Mehrere aktive Konten auf dem geteilten Bus – Dezentrale Kommunikation Arbitrierung (Zugriffsregelung auf den Bus) Bus-Arbiter (de-) zentral Komponente (High Level) Auf Leitungsebene (Low Level)

28 Multi-Master Medienzugriff SPI: Clock HI ⇨ Leitung ⇦ Clock LOW Dominantes und Rezessives Bit – Verhindern von Hardwarebeschädigung wenn unterschiedliche Signals auf der Leitung – Dominantes Bit verdrängt rezessives Bit Bekannte Beispiele: – CAN-BUS (Automobilbereich, 1987) – I2C

29 Inter-Integrated Circuit (I2C) Philips Semiconductors (heute NXP), 1982 Schaltungsinterne Kommunikation (zwischen ICs) Ab Mitte der 1990er lizenzierte Drittanbieter Two-Wire-Interface (TWI) lizenzfreie alternative – 2006 I2C Patent abgelaufen TWI = I2C ≈ SMBus – System Management Bus gedacht für stromsparende PCs

30 Physikalische Schicht I2C Datenleitung: SDA, Taktleitung SCK (Half Duplex) Buszugriff mittels Open-drains – Low dominant, High rezessiv High Zustand mittels Pull-Up Widerstande – High-Speed: Konstant Strom Senke Foto: Lammertbies

31 Medienzugriff I2C Start Kondition (S): SDA, SCL=1 Bit übertragen (B X ) (MSB zuerst): – Sender: Pegel auf SDA während SCL=0 – Empfänger: SDA sampeln nachdem SCL Stop Kondition (P): SDA, SCL=1 Foto: Wikipedia

32 Transferschicht Zwischen Start und Stop beliebig viele Bits Byteweise Übertragung 9 Bit pro Byte: Letztes Bit = Bestätigung des Empfängers (ACK = „0“ = Low) Erstes Byte nach Start: – 7 Bit Adressierung: 112 Adressen (16 reserviert) Erweiterung auf 10 Bit (mittels 2. Adressbyte) – 8. Bit Kommunikationsrichtung Master lesen oder schreiben

33 Beispiel: AT24CXX EEprom (=persistenter Speicher) Adress-Pins Lesen Schreiben (Zuvor muss der Lese- Pointer gesetzt werden) Fotos: Datenblatt

34 I2C/TWI in der Praxis Siehe SPI Folie Anwendung: – „Low Power“ / „Langsame“ ICs

35 UART / I2C / SPI im Vergleich UARTI2C/TWISPI Leitungen je Chip Konnektivität1:1m:n1:n DistanzEinige MeterEinige Zentimeter< 1m Geschwindigkeit k2 Baud (Einige Mbaud) kbit/s (Bis zu 5Mbit/s) >> 10Mbit/s Synchronität-++ Für große Entfernungen empfiehlt sich ein höheres Spannungspotential und/oder ein differenzielles Signal

36 Nächstes mal bei DIY Drahtlose Kommunikation (Crash Kurs) ISO OSI Referenzmodell


Herunterladen ppt "DIY Personal Fabrication Drahtgebundene Kommunikation Juergen Eckert – Informatik 7."

Ähnliche Präsentationen


Google-Anzeigen