Programmierung verteilter eingebetteter Systeme Teamprojekt Einführung und Grundlagen Teil 1

Ähnliche Dokumente
Programmierung verteilter eingebetteter Systeme Teamprojekt

Einführung in. Logische Schaltungen

Was unterscheidet Microcontroller von einem PC ( Laptop ) oder einem Handy

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler die Datein verarbeitet.

Mikrocontroller - Schnelleinstieg

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Aufgabenstellung Praktikum Mikrorechentechnik Sommersemester 2014

Grundlagen der Informationverarbeitung

Mikrocontroller Grundlagen. Markus Koch April 2011

Grundlagen der Informatik

easyident Türöffner easyident Türöffner Art. Nr. FS-0007 FS Fertigungsservice

Zahlensysteme Seite -1- Zahlensysteme

Updatehinweise für die Version forma 5.5.5

einfache PIC-Übungsprogramme

Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung

Messtechnik zum I2C-Bus

Zahlensysteme Das 10er-System

Daten verarbeiten. Binärzahlen

SJ OFFICE - Update 3.0

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Anwendungsbeispiele Buchhaltung

Digitalelektronik 4 Vom Transistor zum Bit. Stefan Rothe

iphone-kontakte zu Exchange übertragen

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

Drahtlosnetzwerke automatisch konfigurieren mit WCN (Windows Connect Now) unter Windows Vista

Installation OMNIKEY 3121 USB

AVR Net-IO. Der originale von Pollin vertriebene Bausatz hat folgende Eckdaten:

Von Bits, Bytes und Raid

N Bit binäre Zahlen (signed)

Einführung in die Welt der Microcontroller

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Wissenswertes über binäre Felder

Lasersteuerung. Themengruppen FTDI - Interface ILDA Format Ausgabensteuerung Figurenerstellung Lasershowerstellung Lasershowarten Software / Community

M a i l C r e d i t. \\Burt\user\Soutschek\FP\Technik\Frankiermaschinen\00_PC Software\MailCredit\Anleitung MailCredit Installation.

tensiolink USB Konverter INFIELD 7

Allgemeine Anleitung Treiber für CP2102

Facharbeit Informatik. Thema:

Amateurfunkkurs. Erstellt: Landesverband Wien im ÖVSV. Digitale Signalverarbeitung. R. Schwarz OE1RSA. Übersicht. Definition.

HYPERCOM MEDHYBRID EINRICHTUNG UNTER CHREMASOFT

Programmierung Weichenmodul S/D Tafel 1

Grundvoraussetzung: Windows XP mit Servicepack 3 (SP3) Arbeitsplatz rechter Mouseklick Eigenschaften

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

A.u.S. Spielgeräte GmbH A-1210 Wien Scheydgasse 48 Tel.+43-(0) Fax. +43-(0)

Anleitung TempCW 2011

2004, Thomas Barmetler Automatisierungstechnik - Einstieg. Das EVA-Prinzip

Kommunikation mehrerer PCs über Hubs

Professionelle Seminare im Bereich MS-Office

METTLER TOLEDO USB-Option Installation der Treiber unter Windows XP

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Arbeitsschritte EAÜ Leistungserbringer Einnahmen erfassen

Atmel AVR für Dummies

EMU Bill & Report 1/33

Technisches Datenblatt

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Regiometer. Bedienungsanleitung

Bedienungsanleitung zum Import und Bearbeiten von Sauenkarten

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben. Präsenzaufgaben

Anleitung zur Nutzung des SharePort Utility

Duonix Service Software Bedienungsanleitung. Bitte beachten Sie folgende Hinweise vor der Inbetriebnahmen der Service Software.

Microsoft Update Windows Update

Zahlensysteme. Zahl Stellenwert Zahl Zahl =

Local Control Network

Lego Roboter mit NXT-G programmieren. Hochschule Mannheim

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann,

Tech Note: SYSTEMVARIABLEN SIO_RJ11_BAUDRATE. Tel.: +43 (0) 3159/ Products: SLS Produkte A-8344 Bad Gleichenberg

Ust.-VA ab Release 1.0.0

Microsoft Windows XP SP2 und windream

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Bluetooth Low Energy Demo mit dem Apple iphone 4s

TIPES Fernabschlag Programm Beschreibung

Die nachfolgende Anleitung zeigt die Vorgehensweise unter Microsoft Windows Vista.

Anleitung für die Umstellung auf das plus Verfahren mit manueller und optischer Übertragung

Installationsanleitung für das KKL bzw. AGV4000 Interface

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

TEAMWORK-Uploader. Dokumentenaustausch mit dem PC

Technical Note 0606 ewon

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Leichte-Sprache-Bilder

Programmierung mit NQC: Kommunikation zwischen zwei RCX

Kurzanleitung. Toolbox. T_xls_Import

Elektromagnetische Relais sind Schalter, die durch Elektromagnete betätigt werden.

Eigene Seiten erstellen

9 Multiplexer und Code-Umsetzer

Einrichtung der 2N EntryCom an einer AVM Fritz!Box

7 Rechnen mit Polynomen

ATMega2560Controllerboard

Übersicht... 2 Dateiupload... 3 Administratorfunktionen... 4

Die Post hat eine Umfrage gemacht

HYPERCOM MEDHYBRID EINRICHTUNG UNTER DAMPSOFT

Einrichten des Elektronischen Postfachs

Pilot Drivers Package. Handbuch

TYPO3-Zusatzkurs für

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

Anleitungen zum KMG- -Konto

E-TIME ADVANCED Dokumentation zum Vorgehen bei der elektronischen Zeiterfassung. Geben Sie folgende Internetadresse ein:

Transkript:

Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Programmierung verteilter eingebetteter Systeme Teamprojekt Einführung und Grundlagen Teil 1 Stephan Rottmann, Ulf Kulau, Felix Büsching Summer Term 2014

Ablauf Organisatorisches Grundlagen 1 Praktikumshardware Aufgabe 1 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 2

Teilnehmerinnen und Teilnehmer 13 Anmeldungen 5 Gruppen Gruppe 1: Sascha, Tobias Gruppe 2: Heiner, Adrian Gruppe 3: Fabian, Dennis, David Gruppe 4: Arne, André, Lars Gruppe 5: Stefanie, Marian, Quentin S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 3

Raumnutzung und Belegung: Raum 148 (hier) Praktikumsraum 3 Arbeitsplätze für je 3 Personen Nicht essen -> macht eklige Tastaturen Möglichst nichts verschütten Dieses Praktikum Hiwis anwesend Gruppen 1, 2, 4: Montags, 13:15 16:15 Gruppen 3: Mittwochs, 11:15 14:15 Gruppen 5: Donnerstags, 13:15 16:15 Anderes Praktikum Freie Zeit bei Bedarf Ggf. im Miclab fragen, ob man euch in den Raum lässt Uhrzeit Mo Di Mi Do Fr 8:00-9:30 9:45-11:15 11:30-13:00 3 13:15-14:45 1,2,4 3 5 15:00-16:30 1,2,4 5 16:45-18:15 18:30-20:00 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 4

Raumnutzung Raum 147 ( ) & Werkstatt (Keller) Mikroprozessorlabor 2 Lötarbeitsplätze Umfangreiche Sammlung an Bauteilen für eigene Ideen Menschen mit Erfahrung Werkstatt Platinen belichten, entwickeln, ätzen und bohren Mechanische Bearbeitung von allem möglichen S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 5

Betreuung Jost Stolze, Montag ab 13:15 Dennis Reimers, Mittwoch ab 11:30 Karsten Hinz, Donnestag ab 13:15 Ulf Kulau, IZ Raum 111 Stephan Rottmann, IZ Raum 118 Felix Büsching, IZ Raum 132 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 6

Accounts und Zugänge Rechner-Login Gruppenaccounts (lokal an den Rechnern, daher immer den gleichen PC nutzen) Benutzer-Accounts http://www.ibr.cs.tu-bs.de/passwd/rz.html Y-Nummer registrieren Wiki https://trac.ibr.cs.tu-bs.de/course-cm-ss14-esys/wiki/ Dokumentation, Kollaboration, Diskussion y-nummer bitte jetzt eintragen SVN-Zugang https://svn.ibr.cs.tu-bs.de/course-cm-ss14-esys/ Alles ist im SVN zu speichern, hierfür y-account nutzen! S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 7

Ablauf des Praktikums Aufgabenphase Start: sofort Aufgaben werden in den Teams bearbeitet Hiwis geben gerne Hilfestellungen 2 Kolloquien je Gruppe über die gelernten Dinge Ende: Nach Bearbeitung der Aufgaben >= 1 Aufgabe pro Termin Projektphase Start: Nach Aufgabenphase Eigenes Projekt im Team oder gemeinsam mit mehreren Teams Ende: Ende des Semesters (nicht Ende der Vorlesungszeit) S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 8

Ablauf Organisatorisches Grundlagen 1 Praktikumshardware Aufgabe 1 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 9

Eingebettete Computer sind allgegenwärtig S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 10

Eingebettete Computer mit verschiedenen Eigenschaften S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 11

Microcontroller Microcontroller Microcontroller = Microprocessor + Peripherals Memory Main-, program- and data-memory SD-RAM, Flash, EEPROM Bus-controller USART, UART, I²C, SPI, DMA, USB, CAN, Ethernet GPIO ADC / Comparators, DAC Timer S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 12

Reale Welt vs. Rechner-Welt Realität: Analog Unendlich viele Farben Unendlich große Zahlen Irrationale und nicht-deterministische Entscheidungen Rechner-Welt: Digital / Binär Begrenzte Zahlenräume I.d.R. Deterministisches Verhalten (gewünscht) Keine 100%ig genaue Abbildung der Realität möglich Immer nur Annäherungen S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 13

Rechner: Darstellung von Zahlen durch Spannungen Letztendlich geht es immer um das Rechnen mit Zahlen! Rechner arbeiten im Binärsystem: Es existieren nur 0 und 1 Physikalisch passiert das durch unterschiedliche Spannungspegel Bspw: 0V == 0, 5V == 1 Logikpegel nicht absolut Technologie Low (V IL ) High (V IH ) TTL 5V 0,8 2,0 CMOS 5V 1,5 3,5 LVTTL 3,3V 0,8 2,0 CMOS 2,5V 0,7 1,7 CMOS 1,8V 0,7 1,17 RS-232-15 bis -3 +3 bis + 15 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 14

Zahlensysteme Wir rechnen (meist) im 10er-System 10 Symbole: 0 bis 9 Größere Zahlen brauchen mehr Stellen: 423 10 = 4*10 2 + 2*10 1 + 3*10 0 Computer rechnen immer im 2er-System 2 Symbole: 0 und 1 Stellen haben Wertigkeit 1, 2, 4, 8, (2 0, 2 1, 2 2 ) 5 10 = 1*4 + 1*1 = 1*2 2 + 1*2 0 = 101 2 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 15

Weitere Zahlensysteme Bei der Programmierung findet man häufig die Hexadezimaldarstellung, Basis 16 0, 1,, 9, A, B,, F Zahlen lassen sich mit Basis 2 konvertieren: 0x3 2 A 0b001100101010 Gelegentlich wird das oktale System genutzt Basis 8 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 16

Zahlensysteme in C Basis wird mittels Präfix angegeben Basis Präfix Beispiel für Zahl 23 10 2 0b 0b10111 8 0 027 10 (n/a) 23 16 0x 0x11 Achtung: 0123 in C entspricht 83 10 Kombination möglich, aber nicht immer sinnvoll int c = 0x22 + 011 + 0b1011 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 17

Bitoperationen (N)AND (N)OR XOR NOT SHIFT Das N steht für NOT und dreht Ergebnis um S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 18

AND Ver-UND-ung A B A AND B A NAND B 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 A 1 0 0 0 1 1 0 1 AND B 1 1 0 1 1 0 1 1 = 1 0 0 0 1 0 0 1 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 19

OR Ver-ODER-ung A B A OR B A NOR B 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 A 1 0 0 0 1 1 0 1 OR B 1 1 0 1 1 0 1 1 = 1 1 0 1 1 1 1 1 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 20

XOR Exklusives ODER A B A XOR B 0 0 0 0 1 1 1 0 1 1 1 0 A 1 0 0 0 1 1 0 1 XOR B 1 1 0 1 1 0 1 1 = 0 1 0 1 0 1 1 0 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 21

NOT Negierung, unär A NOT A 0 1 1 0 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 22

SHIFT Verschieben von Werten int a = 7; int b; //0b00000111 b = a << 2; //0b00011100 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 23

Anwendung Alle Operationen in C bitweise oder logisch verwendbar Logisch: Verwendung bei Abfragen (true/false) Typ bitweise logisch AND a & b a && b OR a b a b XOR a ^ b (n/a) NOT ~! SHIFT <<, >> (n/a) S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 24

Einsatzgebiete AND: Testen, ob Bit gesetzt OR: Ein Bit setzen XOR: Ein Bit wechseln NOT: Negierung SHIFT: Bits verschieben S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 25

Codebeispiel int bit3 = 1 << 3; // 0b00001000 if(pind & bit3) { //Bit 3 an PIND ist gesetzt printf( Bit %d ist gesetzt\n, 3); } PORTB = bit3; // Bit 3 in PORTB setzen PORTB ^= (1<<2); // Bit 2 in PORTB wechseln PORTC &= ~(1<<3); //Bit 3 in PORTC löschen S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 26

(Noch) Advanced, aber bald hilfreich Datenblatt: Register und enthaltene Bits Diese sind als Makros in C verfügbar //Setup Data Direction Register DDRD = (1<<DDD7) (1<<DDD5) (1<<DDD3); //Turn on PORTD7, Turn off PORTD1 PORTD = (1<<PORTD7); PORTD &= ~(1<<PORTD1); S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 27

Digitalelektronik Digitale Elektronik kennt zwei Zustände: 1 und 0 Zustände entsprechen i.d.r. auf Spannungen z.b. 1 3,3V / 0 0V Ein Bit kann Wert 0 oder 1 annehmen Ein Byte besteht aus 8 Bit Ein 8 Bit-Mikrocontroller kann 8 Bit gleichzeitig verarbeiten Zahlen mit mehr als 8 Bit werden in mehreren Schritten verarbeitet S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 28

Schnittstelle zwischen Soft- und Hardware Mikrocontroller können über I/O-Pins mit der Welt interagieren: Digitale Werte ausgeben oder einlesen Ein Port hat (meist) 8 Bit Ein Pin entspricht einem Bit Pins können (meist) als Ein- oder Ausgang konfiguriert werden S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 29

Interaktion über Ports und deren Pins Ein Schalter kann an einen als Eingang geschalteten Pin angeschlossen und von der Software ausgelesen werden LEDs oder Transistoren für größere Leistungen können ein- und ausgeschaltet werden Bit für Pin gesetzt: Spannung liegt an Digitale Bausteine können angeschlossen werden S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 30

Ablauf Organisatorisches Grundlagen 1 Praktikumshardware Aufgabe 1 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 31

Mess-Station S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 32

Logikanalysator & digitales Speicheroszilloskop S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 33

Entwicklungsboard Temperatursensor für I2C-Bus DS1621 I2C-EEPROM AT24C0x SPI-Digital-Analogwandler MCP4911 LC-Display Funkmodule: Bluetooth und anderes auf 2,4GHz weitere Speicher, Displays, Eingabemodule (Tastenfelder,...) und vieles mehr S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 34

Ablauf Organisatorisches Grundlagen 1 Praktikumshardware Aufgabe 1 S. Rottmann, U. Kulau, F. Büsching: Programmierung verteilter eingebetteter Systeme 35