Personal Fabrication Drahtgebundene Kommunikation

Slides:



Advertisements
Ähnliche Präsentationen
USB - Universal Serial Bus
Advertisements

Metriken in Netzwerken
Bauteile des PC´c Werden vorgestellt: PC-Gehäuse Prozessor Tastatur
SCSI = Small Computer Systems Interface
Modellbasierte Software-Entwicklung eingebetteter Systeme
Referat zum Thema: Soundkarte Von Julian Weger IT-Klasse 2482.
Drei wichtige Baugruppen der Elektronik
EINGEBETTETE SYSTEME Vorlesungen WS2010.
1 low:=low-Q 2 high:=high-Q 2 low:=low-Q 1 high:=high-Q 1.
Übertragungsgeschwindigkeit: Bandbreite und Durchsatz
Bericht über Arbeiten zu Asynchronen Wave Pipelines Stephan Hermanns Sorin Alexander Huss.
Die Serielle Schnittstelle
Serielle Schnittstellen Von Pascal Wetterau
Lehrstuhl für Kommunikationssysteme - Systeme II1 Systeme II – 17te Vorlesung Lehrstuhl für Kommunikationssysteme Institut für Informatik / Technische.
RZI * Für Datenraten bis 1,152 Mbits/s wird RZI (Return Zero Inverted) verwendet * Ein 0-Bit bedeutet ein kurzer IR-Impuls ein 1-Bit kein Impuls * Eine.
Katja Bode MOdulator Der, Die, Das DEModulator.
Drei wichtige Baugruppen der Elektronik
Nichtperiodische Signale
Netzwerkadapter FGT-IT-12 Netzwerke planen und installieren
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
Einführung in die Systemtheorie
Evolution des Chemoskops
Wie funktioniert Signalübertragung?
CCNA1 – Module 7 Ethernet Technologies
RS232 Register und ihre Bits
Bericht über Arbeiten zu Asynchronen Wave Pipelines Stephan Hermanns Sorin Alexander Huss.
Studienarbeit Mini-Web-Server auf einem Signalcontroller
Schnittstellen des Computers
Diskrete Mathe 9 Vorlesung 9 SS 2001
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
1. Was ist Hardware? Hardware nennt man alle Geräte und Bauteile, die zu einem Computer gehören – also alles was man am Computer anfassen kann. Bsp: Monitor,
CNC 810 Daten Uebertragung
Das OSI Schichtenmodell
Einführung in die Programmierung
Computerorientierte Physik VORLESUNG Zeit: jeweils Mo Uhr Ort: Hörsaal 5.01, Institut für Experimentalphysik, Universitätsplatz 5, A-8010.
Codierungstechniken Net2 SS2004 Thomas Trenker.
Das Binär-System Alles ist davon abhängig, ob Strom fließt oder nicht!
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
Die verschiedenen Schnittstellen eines Computers und ihre Verwendung
Grundlagen der Kommunikation in Verbindung mit der Codierung von Daten
Kommunikation und Codierung von Daten
Meldungen über Ethernet mit FINS/UDP
Multivendor Anwendung NB Kopplung an S über Ethernet
Technische Informatik II
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
Detect and identify Prozessmesstechnik Uni-Probe LB 490 / 491 Bedienoberflächen Notwendige Teile zur Kommunikation.
I/O Schnittstellen.
Anforderungen an Automotive Bussysteme
Anschlussmöglichkeiten beim Samsung S3
Basisbandübertragung
Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde IV: Bildverarbeitung IV Köln 15. Januar 2015.
Impulsverzerrungen © Roland Küng, 2009.
Info2 Prof. J. WALTER info2 Stand: März 2002 Seite 1 Einführung in die Systemtheorie Definition System: Ein in sich geschlossenes, geordnetes und gegliedertes.
Systeme II Christian Schindelhauer Sommersemester 2007
USB - Universal Serial Bus
Die Netzwerkkarte Von Alexander Wolk.
Referat über USB von Ralph Heinz.
Beispiel Präsentation Firewire / 1394
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Foliendesign: Jörg Steinrücken & Tobias Kahn Vorlesung
Binärer Baum, Binärer Suchbaum I
Infrarot.
Zusätzliche Hintergrund Informationen zu Breitbandtechnologien
Schnittstellen vom Computer
Übung zu Grundlagen der Technischen Informatik
Schnittstellen IDE SCSI Serial ATA USB Übersicht Funktionsweise.
Systeme II 2. Die physikalische Schicht Christian Schindelhauer Technische Fakultät Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Version.
Erste Schritte im Internet of Things
Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde III: Bildverarbeitung III Köln 5. Dezember 2013.
t t t.
 Präsentation transkript:

Personal Fabrication Drahtgebundene Kommunikation DIY Personal Fabrication Drahtgebundene Kommunikation `` Juergen Eckert – Informatik 7

Fahrplan UART SPI TWI

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

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: Synchron (selbsttaktend) oder asynchron: Sendertakt wird mit übermittelt Gleichstromfrei: Kein bestimmter Pegel in Ref zu GND Bandbreitenbedarf: Breite des Frequenzbands, um Signal zu übertragen.

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)

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

Ü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..fC unverändert, höhere Freq. stark gedämpft. (Low Pass Filter) Übertragungs- system Eingangssignal Ausgangssignal s1(t) s2(t) Theorie (Fourierreihen, Fouriertransformation, Abtasttheorem, ...) siehe RK Vorlesung [Hier (aus Zeitgründen) Daumenregel: Signal auf das Medium geben und mit Oszi überprüfen]

Serielle Schnittstelle (1/2) Foto: Wikipedia 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 2400 900m 4800 300m 9600 152m 19200 15m 57600 5m 115200 <2m Alle Differenziell: 2 Leitungen übertragen das gleiche Signal, eine Leitung ist invertiert (Ursprung: RS485) Hohe Toleranz gegenüber el-mag. Störungen

Differenzielle Signalübertragung (Einschub) Differenzielle Signalübertragung Foto: Wikipedia

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 t Foto: Wikipedia

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

Hardware UART (Bsp: AVR) (1/3) void USART_Init( unsigned int baud ) { /* Set baud rate */ UBRRH = (unsigned char)(regbaud>>8); UBRRL = (unsigned char)regbaud; /* Enable receiver and transmitter */ UCSRB = (1<<RXEN)|(1<<TXEN); /* Set frame format: 8data, 2stop bit */ UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0); } Trick: Sender 8N2, Empfänger 8N1 →Empfänger hat 1bit mehr Zeit zur Verarbeitung Programmier Tutorial: Hardware wird mittels Bits in Register kontrolliert Beschreibung siehe Datenblatt

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

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

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

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

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

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)

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

Binary Unit System (BUS) (weiterhin seriell) 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)

Serial Peripheral Interface (SPI) Von Motorola 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) Foto: Wikipedia

SPI Topologie Kaskadierung (Daisy-Chain) Stern 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 Fotos: Wikipedia

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

Leitungskodierung (2/2) Rot Blau Foto: Wikipedia

SPI in der Praxis Mikrocontroller Debugging Verwendung 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 Foto: dangerousprototypes.com Für Chiptest: Bus Pirate

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

Single- vs. Multi-Master (2/2) 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)

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

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

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

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

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

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

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

UART / I2C / SPI im Vergleich I2C/TWI SPI Leitungen 1-2 2 2-3 +1 je Chip Konnektivität 1:1 m:n 1:n Distanz Einige Meter Einige Zentimeter < 1m Geschwindigkeit 1200-115k2 Baud (Einige Mbaud) 100-400 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

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