Eingebettete Systeme

Größe: px
Ab Seite anzeigen:

Download "Eingebettete Systeme"

Transkript

1 Einführung in Eingebettete Systeme Vorlesung 2 Bernd Finkbeiner 23/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de 1

2 Letzte Woche: Modelle Ein Systemmodell (kurz: Modell) ist eine Abstraktion eines Systems, welche nur eine Menge ausgewählter, gerade interessierender Sachverhalte des betrachteten Systems aufweist. [Tabeling 2006] Ein komplexes System hat üblicherweise mehrere Modelle! 2

3 Physikalische Umgebung Sensoren A/D Endliche Automaten Hardware Software Steuerung Kommunikation, Nebenläufigkeit D/A Aktoren Physikalische Umgebung 3

4 Endliche Automaten Ein deterministischer Automat M=(I, O, S, s0, δ, λ) besteht aus den folgenden Komponenten: I ist eine endliche, nicht-leere Menge von Eingabesymbolen (das Eingabealphabet), O ist eine endliche, nicht-leere Menge von Ausgabesymbolen (das Ausgabealphabet) S eine endliche, nicht-leere Menge von Zuständen, s0 S ist der Initialzustand, δ : S I S ist die Transitionsfunktion, λ ist die Ausgabefunktion. 4

5 Analysemodell Konstruktionsmodell Widerspruch: Modell fehlerhaft Modell Analyse Design System Widerspruch: System fehlerhaft [Tabeling 2006] 5

6 3. Microcontroller Ziele: Überblick über die wesentlichen Bestandteile eines Microcontrollers Erstellen einfacher Programme (insbesondere die Implementierung endlicher Automaten auf einem Microcontroller).

7 Arduino ATmega328 7

8 Microcontroller Prozessorkern, Speicher, und Ein-Ausgabeschnittstellen auf einem Chip Ziel ist, Steuerungs- oder Kommunikationsaufgaben mit möglichst wenigen Bausteinen zu lösen Es existiert eine Vielzahl von Microcontrollern, organisiert in Microcontrollerfamilien (Familienmitglieder haben meist gleichen Prozessorkern aber unterschiedlichen Speicher und Schnittstellen) 8

9 [Brinkschulte/Ungerer, Mikrocontroller und Mikroprozessoren, 2002] 9

10 von-neumann Prinzip Der Rechner ist zentral gesteuert und aus Funktionseinheiten aufgebaut (Zentraleinheit, Speicher, Ein-/Ausgabeeinheit). Der Rechner ist nicht speziell auf ein zu bearbeitendes Problem zugeschnitten. Zur Lösung eines Problems wird ein eigenes Programm im Speicher abgelegt. ("programmgesteuerter Universalrechner") von-neumann Architektur: Programme und Daten liegen im selben Speicher. Harvard Architektur: Programme und Daten liegen in getrennten Speichern. (ATmega328 hat Harvard Architektur) 10

11 GND VCC ATmega328 Watchdog Timer Watchdog Oscillator Power Supervision POR / BOD & RESET debugwire PROGRAM LOGIC Oscillator Circuits / Clock Generation Flash SRAM CPU EEPROM AVCC AREF GND 8bit T/C 0 16bit T/C 1 A/D Conv. 2 DATABUS 8bit T/C 2 Analog Comp. Internal Bandgap 6 USART 0 SPI TWI PORT D (8) PORT B (8) PORT C (7) RESET XTAL[1..2] [ PD[0..7] PB[0..7] PC[0..6] ADC[6..7] 11

12 Prozessorkern (Central Processing Unit, CPU) [Brinkschulte/Ungerer, Mikrocontroller und Mikroprozessoren, 2002] 12

13 Operationsprinzip Zu jedem Zeitpunkt führt die CPU nur einen einzigen Befehl aus, und dieser kann (höchstens) einen Datenwert neu berechnen (Single Instruction - Single Data, SISD). Der Befehlsablauf folgt einer sequentiellen Befehlsfolge. In der Interpretations-Phase wird aufgrund der durch den Befehlszähler angegebenen Adresse der Inhalt einer Speicherzelle geholt und als Befehl interpretiert. In der Ausführungs-Phase wird aufgrund der im Befehl enthaltenen Adresse der Inhalt einer weiteren Speicherzelle geholt und als Datenwert verarbeitet. 13

14 ATmega328 Data Bus 8-bit Flash Program Memory Program Counter Status and Control Instruction Register 32 x 8 General Purpose Registrers Interrupt Unit SPI Unit Instruction Decoder Control Lines Direct Addressing Indirect Addressing ALU Watchdog Timer Analog Comparator I/O Module1 Data SRAM I/O Module 2 I/O Module n EEPROM I/O Lines [ 14

15 Speicher integrierter Festwert- und Schreiblesespeicher enthält Daten und Programme anders als beim PC ist Speicher meist knapp je nach Stückzahl der Anwendung unterschiedlicher Typ des Festwertspeichers (ROM: Read Only Memory, PROM: Programmable Read Only Memory, EPROM: Erasable Programmable Read Only Memory, EEPROM: Electrically Erasable Programmable Read Only Memory, Flash) 15

16 GND VCC ATmega328 - Speicher Harvard Architektur Flash (32KB) Programmspeicher permanenter Speicher SRAM (2KB) (Static Random Access Memory) Kurzfristige Daten flüchtiger Speicher EEPROM (1KB) Langfristige Daten DATABUS Watchdog Timer Watchdog Oscillator Oscillator Circuits / Clock Generation EEPROM 8bit T/C 0 8bit T/C 2 USART 0 Power Supervision POR / BOD & RESET Flash 16bit T/C 1 Analog Comp. SPI CPU debugwire PROGRAM LOGIC SRAM A/D Conv. Internal Bandgap TWI 6 2 AVCC AREF GND PORT D (8) PORT B (8) PORT C (7) RESET XTAL[1..2] [ PD[0..7] PB[0..7] PC[0..6] ADC[6..7] 16

17 Ein-/Ausgabekanäle Digitale Schnittstellen seriell oder parallel synchron oder asynchron Echtzeitkanäle: Echtzeiterweiterung der parallelen E/A-Kanäle Kopplung mit einem Zeitgeber: Ein-/ Ausgabezeitpunkt wird von Hardware bestimmt. Analoge Schnittstellen DA/AD Wandler Anschluss analoger Sensoren und Aktoren Auflösung und Wandlungszeit sind die wichtigsten Größen 17

18 GND VCC ATmega328 - E/A 14 digitale Anschlüsse 8 analoge Anschlüsse Auflösung: 10 bit (= 1024 verschiedene Werte) Richtung programmierbar DATABUS Watchdog Timer Watchdog Oscillator Oscillator Circuits / Clock Generation EEPROM 8bit T/C 0 8bit T/C 2 Power Supervision POR / BOD & RESET Flash 16bit T/C 1 Analog Comp. CPU debugwire PROGRAM LOGIC SRAM A/D Conv. Internal Bandgap 6 2 AVCC AREF GND USART 0 SPI TWI PORT D (8) PORT B (8) PORT C (7) RESET XTAL[1..2] [ PD[0..7] PB[0..7] PC[0..6] ADC[6..7] 18

19 Zähler und Zeitgeber GND VCC wichtig für Echtzeitsteuerungen Beispielanwendungen: Zählen von Ereignissen, Zeitmessung, Pulsweitemodulation, Frequenz- und Drehzahlmessung, Schrittmotorsteuerungen ATmega328: drei Zeitgeber DATABUS Watchdog Timer Watchdog Oscillator Oscillator Circuits / Clock Generation EEPROM 8bit T/C 0 8bit T/C 2 USART 0 Power Supervision POR / BOD & RESET Flash 16bit T/C 1 Analog Comp. SPI CPU debugwire PROGRAM LOGIC SRAM A/D Conv. Internal Bandgap TWI 6 2 A A PORT D (8) PORT B (8) PORT C (7) 19 X

20 Watchdog Wachhund zur Überwachung der Programmaktivitäten eines Mikrocontrollers Programm muss in regelmäßigen Abständen Lebenszeichen liefern Bleiben diese aus, so nimmt der Wachhund einen Fehler im Programmablauf an => Reset Reset by watchdog timer 20

21 Unterbrechungen (Interrupts) Unterbrechung des Programmablaufs bei Ereignissen Schnelle, vorhersagbare Reaktion auf Ereignisse Insbesondere wichtig bei Echtzeitanwendungen Behandlung eines Ereignisses durch eine Interrupt- Service-Routine Microcontroller kennen meist externe Unterbrechungsquellen (Eingangssignale) und interne Unterbrechungsquellen (Zähler, Zeitgeber, E/A- Kanäle,...) 21

22 VectorNo. Program Address (2) Source Interrupt Definition 1 0x0000 (1) RESET External Pin, Power-on Reset, Brown-out Reset and Watchdog System Reset 2 0x0002 INT0 External Interrupt Request 0 3 0x0004 INT1 External Interrupt Request 1 4 0x0006 PCINT0 Pin Change Interrupt Request 0 5 0x0008 PCINT1 Pin Change Interrupt Request 1 6 0x000A PCINT2 Pin Change Interrupt Request 2 7 0x000C WDT Watchdog Time-out Interrupt 8 0x000E TIMER2 COMPA Timer/Counter2 Compare Match A 9 0x0010 TIMER2 COMPB Timer/Counter2 Compare Match B 10 0x0012 TIMER2 OVF Timer/Counter2 Overflow 11 0x0014 TIMER1 CAPT Timer/Counter1 Capture Event 12 0x0016 TIMER1 COMPA Timer/Counter1 Compare Match A 13 0x0018 TIMER1 COMPB Timer/Coutner1 Compare Match B 14 0x001A TIMER1 OVF Timer/Counter1 Overflow 15 0x001C TIMER0 COMPA Timer/Counter0 Compare Match A 16 0x001E TIMER0 COMPB Timer/Counter0 Compare Match B 17 0x0020 TIMER0 OVF Timer/Counter0 Overflow 18 0x0022 SPI, STC SPI Serial Transfer Complete 19 0x0024 USART, RX USART Rx Complete 20 0x0026 USART, UDRE USART, Data Register Empty 21 0x0028 USART, TX USART, Tx Complete 22 0x002A ADC ADC Conversion Complete 23 0x002C EE READY EEPROM Ready 24 0x002E ANALOG COMP Analog Comparator 25 0x0030 TWI 2-wire Serial Interface 26 0x0032 SPM READY Store Program Memory Ready [ 22

23 Ruhebetrieb (Standby Mode) Ruhebetrieb zur Reduktion des Energieverbrauchs Energievorrat (oder Wärmeemission) oft beschränkt Abschaltung nicht benötigter Peripheriekomponenten und Festwertspeicher Erhaltungsspannung am Schreib-/Lesespeicher ATmega328: 6 verschiedene Sleep modes 23

24 Programmierung 24

25 manuell/ Codegenerator Modell C Programm #include <stdio.h> int main(void) { char a = 3, b = 4, c; while(1) { a++, b++; c = a + b; Compiler } } printf( "%d ", c ); Assembler Programm Linker Binärcode a <main>: 12a: cf 93 push r28 12c: df 93 push r29 12e: 00 d0 rcall.+0 ; 0x130 <main+0x6> 130: cd b7 in r28, ; 61, SP low 0x3d 132: de b7 in r29, 0x3e ; 62, SP high (r28/r29 == Y) 134: 83 e0 ldi r24, 0x03 ; 3 (Wert für a) 136: std Y+1, r24 ; Variable a, auf Stack 138: 84 e0 ldi r24, 0x04 ; 4 (Wert für b) 13a: 8a 83 std Y+2, r24 ; Variable b, auf Stack 13c: ldd r25, Y+1 ; a 13e: 8a 81 ldd r24, Y+2 ; b 140: 89 0f add r24, r25 ; a + b 142: 8b 83 std Y+3, r24 ; Ergebnis in c, auf Stack 144: 8b 81 ldd r24, Y+3 ; c 146: 28 2f mov r18, r24 ; c in r18 148: 30 e0 ldi r19, 0x00 ; 0 in r19 14a: 00 d0 rcall.+0 ; 0x14c <main+0x22> 14c: 0f 92 push r0 14e: 8d b7 in r24, ; 61, SP low 0x3d 150: 9e b7 in r25, 0x3e ; 62, SP high 152: adiw r24, 0x01 ; SP-Kopie : 40 e0 ldi r20, 0x00 ; 0 156: 52 e0 ldi r21, 0x02 ; 2 158: fc 01 movw r30, r24 ; r24/25 in r30/31 (Z) 15a: std Z+1, r21 ; Parameter auf Stack 15c: st Z, r20 ; 15e: fc 01 movw r30, r24 ; 160: std Z+3, r19 ; Kopie von c auf Stack 162: std Z+2, r18 ; 164: 0e 94 b9 00 call 0x172 ; <printf> aufrufen 168: 0f 90 pop r0 ; Stack bereinigen 16a: 0f 90 pop r0 16c: 0f 90 pop r0 16e: 0f 90 pop r0 170: e5 cf rjmp.-54 ; 0x13c <main+0x12> : BBF02C007900D92A430B107D9F712E0DF : A4E0B2E001C01D92AA30B107E1F70E944D : C C940000CF93DF9300D0E1 : CDB7DEB783E E08A A81A1 : F8B838B81282F30E000D00F928DB7E1 : EB E052E0FC FC01D0 : E94B9000F900F900F900F905D : E5CFCF93DF93CDB7DEB7FE : AF010E94CB000D : DF91CF F923F924F925F926F928D :1001A0007F928F929F92AF92BF92CF92DF92EF9207 :1001B000FF920F931F93CF93DF93CDB7DEB72D97A9 :1001C0000FB6F894DEBF0FBECDBF3C017D876C87B4 :1001D0005A01FC FFC8C12E015A :1001E C511CF EC85FD8593FD1E :1001F FF8191FD87EC F4B3C132 : F493FD859193FF8191FD87EC87C1 : F490E0B3010E94E802E4CFFF2484 : EE2410E01032B0F48B3269F08C3228F4F6 : F F40BC08D3239F080334B : F411602CC C C0E6 : C017FD2EC0282F20532A3098F496 : FF08C08F2D880FF82EFF0CFF0CF80E1C : F20E15C08E2D880FE82EEE0CEE0CE80E57 : E20E10620CC08E3221F416FD6CC11064B7 : C08C3611F C F4EC851B :1002A000FD8593FD859193FF8191FD87EC878823E0 :1002B00009F0B8CF982F F E 25

26 Arduino Programme C Programme (mit Bibliotheken) Arduino nennt Programme Sketches Programmstruktur: Header Deklarationen, Einbinden von Bibliotheken, etc. setup() wird einmal ausgeführt bei Programmstart loop() wird immer wieder ausgeführt sobald das Ende erreicht wurde 26

27 Beispielprogramm: Blink /* Blink Turns on an LED on for one second, then off for one second, repeatedly. */ // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinmode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalwrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalwrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } [ 27

28 arduino.cc 28

29 Implementierung eines Mealy-Automaten 1/P k0 0/P 0 1 k0 k1 / P f1 / P f1 k1 k1 f2 / P k2 / P 0/P 1/P 0/P 1/P k2 k3 / P f3 / P f2 k2 k3 k0 / S k0 / Ö 0/P 1/P 1/P 0/P 1/Ö f1 f2 / P f2 / P 0/S 1/S f3 k3 f2 f3 / P f3 / P f3 k0 / S k0 / S 29

30 Schritt 1: Repräsentation von Zuständen und Eingabesymbolen Zustände und Symbole können aufgezählt werden, wir können sie deshalb durch ganze Zahlen (integers) darstellen: #define STATE_k0 0 #define STATE_k1 1 #define STATE_k #define STATE_f3 6 int current_state; #define INPUT_0 0 #define INPUT_1 1 int current_input; 0 1 k0 k1 / P f1 / P k1 f2 / P k2 / P k2 k3 / P f3 / P k3 k0 / S k0 / Ö f1 f2 / P f2 / P f2 f3 / P f3 / P f3 k0 / S k0 / S 30

31 Schritt 2: Funktionen für Ausgaben Ausgaben entsprechen bestimmten Aktionen (z.b. an einer Schnittstelle). Wir implementieren diese Aktionen als Funktionen. void action_p() { digitalwrite(led, HIGH); delay(1000); digitalwrite(led, LOW); delay(1000); } void action_s() {...} void action_oe() {...} 0 1 k0 k1 / P f1 / P k1 f2 / P k2 / P k2 k3 / P f3 / P k3 k0 / S k0 / Ö f1 f2 / P f2 / P f2 f3 / P f3 / P f3 k0 / S k0 / S 31

32 Schritt 3: Initialzustand Der Initialzustand wird in setup() gesetzt. 1/P k0 0/P void setup() { current_state = STATE_k0; } 0/P f1 1/P 0/P k1 1/P f2 k2 0/P 1/P 1/P 0/P 1/Ö 0/S 1/S f3 k3 32

33 Schritt 4: Transitionen Für jede Eingabe wird, in Abhängigkeit vom Zustand, die entsprechende Ausgabeaktion durchgeführt und der neue Zustand gesetzt. void loop() { current_input = get_new_input(); switch(current_state) { case STATE_k0 : if (current_input==input_0) { action_p(); current_state = STATE_k1; } else if (current_input==input_1) { action_p(); current_state = STATE_f1; } case STATE_k1 : } } 0 1 k0 k1 / P f1 / P k1 f2 / P k2 / P k2 k3 / P f3 / P k3 k0 / S k0 / Ö f1 f2 / P f2 / P f2 f3 / P f3 / P f3 k0 / S k0 / S 33

34 4. StateCharts Ziele: Erstellen von kompakten, lesbaren Modellen für diskrete Steuerungen mit Hilfe von Hierarchie und Variablen Bewusstsein für semantische Schwierigkeiten (insbesondere Superstep Semantik)

35 StateCharts Automaten mit zusätzlichen Konstrukten Hierarchie Variablen mit komplexen Datentypen Timer Achtung: Bedeutung (Semantik) von StateCharts nicht einheitlich (mehr dazu später). Referenzsemantik: Statemate StateFlow Semantik UML... 35

36 Beispiel: Anrufbeantworter incl. 36

37 Hierarchie Wenn Zustand S aktiv ist, dann ist auch einer der Unterzustände aktiv (A oder B oder..) Superzustand (superstate) Unterzustände (substates) 37

38 Zustände Zustände, die nicht aus weiteren Zuständen bestehen, heissen Basiszustände. Zustände die aus weiteren Zuständen bestehen heissen Superzustände. Die Superzustände eines Zustands sind seine Ahnen. Superzustände können OR-Superzustände oder AND- Superzustände sein. Wann immer ein OR-Superzustand aktiv ist, ist auch genau einer seiner Unterzustände aktiv. Ahne von E 38

39 Hierarchie Statechart SC Die Hierarchie kann durch einen Baum repräsentiert werden, in dem die Basiszustände als Blätter auftreten. S SC Z Transitionen sind zwischen allen Hierarchie-Ebenen möglich A B C D E Wenn ein Basiszustand aktiv ist, dann sind alle seine Ahnen aktiv. 39

40 Transitionen zu Superstates Durch die Transition von Z nach S wird der Superzustand S aktiv. Zusätzlich muss ein Basiszustand aktiv werden. Default State Mechanismus History Mechanismus 40

41 Beispiel: Digitalcamera [ 41

42 Default Konnektoren Der gefüllte Kreis heißt default Konnektor und kennzeichnet den default state, der aktiv wird, wenn der Superzustand aktiv wird. Der Konnektor ist selbst kein Zustand. Die interne Struktur von S wird gegenüber der Außenwelt verborgen. 42

43 History Konnektoren Durch die Transition von Z nach S wird der Zustand aktiv, der aktiv war als S zuletzt verlassen wurde. Falls S zum ersten Mal besucht wird, wird der default state aktiv. 43

44 History und Default Konnektoren Die History und Default State Konnektoren können in verschiedenen Hierarchieebenen unterschiedlich eingesetzt werden. 44

45 History und Deep History Default states Active states DC S CO ID OP SL FA H History connectors speichern Zustände die auf der gleichen Hierarchiestufe wie der History Konnektor angesiedelt sind. 45

46 History und Deep History Default states Active states DC S ID CO SL speichert OP OP FA H Welcher Zustand wird aktiv nach SENSOR_DISCONNECTED, SENSOR_CONNECTED? 46

47 History und Deep History * S Default states Active states DC ID CO OP H* Deep history Konnektor H* speichert den aktuellen Basiszustand SL FA 47

48 History und Deep History * Default states Active states DC S ID CO SL OP remembers OP, FA What state is entered after H* sequence SENSOR_DISCONNECTED, SENSOR_CONNECTED? FA 48

49 AND Superzustände Alle (direkten) Unterzustände eines aktiven AND- Superzustands sind aktiv; Beispiel: 49

50 AND-Superzustände Beispiel für aktive Zustände: answ. Default states off on AND-super-state Active states l-m. k-m. L.w. L.p. K.w. K.p. AND-Zustände können in normalen Automaten nur durch Produktzustände nachgebildet werden Strukturelle Information geht verloren Produktautomat ist viel größer 50

51 Eintritt und Austritt aus AND-Superzuständen incl. Sowohl Line-monitoring als auch key-monitoring werden durch key-on and key-off betreten bzw. verlassen. 51

52 Variablen mit komplexen Datentypen Problem der klassischen Automaten: Sowohl Kontrolle als auch Daten werden durch explizite Zustände dargestellt. Hier: Getypte Variablen (z.b. integers, reals, strings, records) speichern Daten Der Zustand setzt sich zusammen aus den explizit dargestellten Kontrollzuständen und den Variablenbelegungen Terminologie: graphisch dargestellter Kontrollzustand = Zustand graphisch dargestellter Kontrollzustand + Variablenbelegung = Status 52

53 Beispiel: Alarmuhr P1 = alarm1_enabled (alarm2_disabled T1 T2) P2 = alarm2_enabled (alarm1_disabled T1 T2) P = alarm1_enabled alarm2_enabled T1=T2 [Harel: StateCharts: A visual formalism for complex systems. Science of Computer Programming, 1987] 53

54 Allgemeine Form der Kantenmarkierungen Ereignis [Bedingung] / Aktion Bedeutung: Bedingung: Transition kann genommen werden, wenn Ereignis stattgefunden hat und Bedingung wahr ist. Wenn Transition genommen wird, dann wird die Aktion ausgeführt. Bedingung bezieht sich auf die Variablen Aktion: Zuweisung und Generierung von Ereignis Beispiel: a & [x = 1023] / overflow; x:=0 54

55 Timer Timer können direkt in StateCharts modelliert werden. Spezielle Kanten beschreiben Timeouts. Falls Ereignis a nicht innerhalb von 20 ms eintritt während das System im linken Zustand ist, dann tritt das Timeout-Ereignis ein. 55

56 Beispiel 56

Eingebettete Systeme

Eingebettete Systeme Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 05/11/2014 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de 1 Programmierung 2 manuell/ Codegenerator

Mehr

Eingebettete Systeme

Eingebettete Systeme Einführung in Eingebettete Systeme Vorlesung 2 Bernd Finkbeiner 29/10/2014 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de 1 Systemmodell Ein Systemmodell (kurz:

Mehr

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega Einleitung... 11 Die Pins alphabetisch.... 12 Kapitel 1 Programmierung des ATmega8 und des ATmega328.... 15 1.1 Was Sie auf den nächsten Seiten erwartet... 19 1.2 Was ist eine Micro Controller Unit (MCU)?....

Mehr

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7 1 Vortrag Atmega 32 Von Urs Müller und Marion Knoth Urs Müller Seite 1 von 7 Inhaltsverzeichnis 1 Vortrag Atmega 32 1 1.1 Einleitung 3 1.1.1 Hersteller ATMEL 3 1.1.2 AVR - Mikrocontroller Familie 3 2 Übersicht

Mehr

Mikroprozessortechnik Grundlagen 1

Mikroprozessortechnik Grundlagen 1 Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes

Mehr

Eingebettete Systeme

Eingebettete Systeme Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de 1 Letzte Woche: StateCharts Automaten

Mehr

Erste Schritte. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes

Erste Schritte. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes Erste Schritte Programmieren für Ingenieure Sommer 2014 Andreas Zeller, Universität des Saarlandes Das Galileo-Board Anschluss 1. Netzteil 2. USB-Kabel Programmierumgebung Download über Vorlesungs-Webseite

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

E Mikrocontroller-Programmierung

E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E.1 Überblick Mikrocontroller-Umgebung Prozessor am Beispiel AVR-Mikrocontroller Speicher Peripherie Programmausführung Programm laden

Mehr

Die Technik hinter IoT: Arduino, Raspberry Pi & Co.

Die Technik hinter IoT: Arduino, Raspberry Pi & Co. Die Technik hinter IoT: Arduino, Raspberry Pi & Co. Praxisbeispiele für den Hausgebrauch Uwe Steinmann MMK GmbH 25.-26. September 2017 Uwe Steinmann (MMK GmbH) Die Technik hinter IoT 25.-26. September

Mehr

Prinzipien und Komponenten eingebetteter Systeme

Prinzipien und Komponenten eingebetteter Systeme 1 Prinzipen und Komponenten Eingebetteter Systeme (PKES) (2) Mikrocontroller I Sebastian Zug Arbeitsgruppe: Embedded Smart Systems 2 Veranstaltungslandkarte Fehlertoleranz, Softwareentwicklung Mikrocontroller

Mehr

MSP 430. Einführung. Was kann er? Hauptthemen. Wie sieht er aus? 64 / 100 polig. Was kann er? MSP 430 1

MSP 430. Einführung. Was kann er? Hauptthemen. Wie sieht er aus? 64 / 100 polig. Was kann er? MSP 430 1 MSP 430 Mixed Signal Microcontroller MSP 430 Einführung Der Mikrocontrollers MSP430 von Texas Instruments Das Entwicklungsboard MSP-STK 430A320 http://www.ti.com Texas Instruments 1 Texas Instruments 2

Mehr

Die AVR Mikrocontrollerfamilie

Die AVR Mikrocontrollerfamilie AKES - Ausgewählte Kapitel eingebetteter Systeme 10. Mai 2006 Übersicht über den Vortrag Was sind AVRs? 2/35 Anwendungsfelder Übersicht über den Vortrag Mikrocontroller 3/35 Kleiner Chip Viel integrierte

Mehr

Arduino und Amateurfunk (1)

Arduino und Amateurfunk (1) Arduino und Amateurfunk (1) Vortrag OV-Meeting H08 am 10.01.2012 / 01.09.2012 Historie Der Kern Entwicklungsumgebung Hardware Software Massimo Banzi Und wozu das Ganze? Historie (1) Arduino ist ein Open-Source-Prototypen-System,

Mehr

Erste Gehversuche mit ARDUINO (DL6OAA)

Erste Gehversuche mit ARDUINO (DL6OAA) Erste Gehversuche mit ARDUINO (DL6OAA) Zuerst die Software und Treiber installieren, siehe Anleitung auf der CD. Testen des Boards Arduino-Programm starten. Gehe zum Menüpunkt WERKZEUGE. Wenn die Installation

Mehr

Erste Schritte. Das Arduino-Board. Ihr Fundino-Board. Programmieren für Ingenieure Sommer 2015. Andreas Zeller, Universität des Saarlandes

Erste Schritte. Das Arduino-Board. Ihr Fundino-Board. Programmieren für Ingenieure Sommer 2015. Andreas Zeller, Universität des Saarlandes Erste Schritte Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Das Arduino-Board Ihr Fundino-Board Anschluss über USB Anschluss über USB Programmierumgebung Download

Mehr

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse Kapitel 11 Rechnerarchitektur 11.1 Der von-neumann-rechner Wir haben uns bisher mehr auf die logischen Bausteine konzentriert. Wir geben jetzt ein Rechnermodell an, das der physikalischen Wirklichkeit

Mehr

ATmega169 Chip: Pin-Layout

ATmega169 Chip: Pin-Layout ATmega169 Chip: Pin-Layout Die logische Schnittstelle der Funktionseinheit MCU (Microcontroller Unit) entspricht der physikalischen Schnittstelle der Baueinheit (Chip). Für die Maschinenbefehle sind nur

Mehr

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikrocomputertechnik Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikroprozessor-Achritekturen Folie 2 Mikroprozessor-Achritekturen Klassifizierung anhand Wortbreite CPU-Architektur und Busleitungen

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Aktuelle Controller 8051: Funktionsweise, äußere Beschaltung und Programmierung von Bernd-Dieter Schaaf, Stephan Böcker 6., aktualisierte und erweiterte Auflage Hanser München 2012

Mehr

Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller

Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller Mini- Mikroprozessor-Experimentier-System mit einem 8051-Mikrocontroller Version 1.0b vom 04.10.2004 14:21 Inhalt 1 Einleitung...3 2 Hardware...4 2.1 Übersicht...4 2.2 Mikrocontroller AT89C51RB2...5 2.3

Mehr

Name : Klasse : Punkte : Note :

Name : Klasse : Punkte : Note : ESI Semesterendprüfung 15.6.2009 Name : Klasse : Punkte : Note : Zeit: 12.50 bis 13.35 Die Aufgaben sind möglichst direkt auf den Blättern zu lösen (Antworten bitte in ganzen Sätzen!), bei Bedarf die Rückseite

Mehr

Fachbereich Medienproduktion

Fachbereich Medienproduktion Fachbereich Medienproduktion Herzlich willkommen zur Vorlesung im Studienfach: Grundlagen der Informatik Themenübersicht Rechnertechnik und IT Sicherheit Grundlagen der Rechnertechnik Prozessorarchitekturen

Mehr

Einführung in die Welt der Microcontroller

Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Inhaltsverzeichnis 1 Übersicht Möglichkeiten Einsatz 2 Microcontroller

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

Praktikum Informationsverarbeitung

Praktikum Informationsverarbeitung Praktikum Informationsverarbeitung Lehrstuhl für Datenverarbeitung Prof. Dr.-Ing. Klaus Diepold Dipl.-Ing. Johannes Feldmaier Hallo! seit September 2011 daedalus Affective Computing Machine Learning &

Mehr

Einführung in Mikrokontroller Benutzung mit dem Arduino Board. Ramon Hofer ICVR

Einführung in Mikrokontroller Benutzung mit dem Arduino Board. Ramon Hofer ICVR Einführung in Mikrokontroller Benutzung mit dem Arduino Board Ramon Hofer ICVR Ablauf Warum Mikrokontroller Das Arduino Board Anschliessen von Bauteilen Digitale Ein- und Ausgaben Analoge Eingaben Serielle

Mehr

Interruptsystem AVR. Interrupt-Quellen: Extern, Timer, ADC, USART usw. (siehe IVT im Anhang) Rücksprungadresse automatisch am Stack.

Interruptsystem AVR. Interrupt-Quellen: Extern, Timer, ADC, USART usw. (siehe IVT im Anhang) Rücksprungadresse automatisch am Stack. Interruptsystem AVR Interrupt-Quellen: Extern, Timer, ADC, USART usw. (siehe IVT im Anhang) Rücksprungadresse automatisch am Stack Stack im SRAM SP initialisieren Interrupt-Kontrollregister im IO Space

Mehr

FPGA vs. Mikrocontroller. Agenda

FPGA vs. Mikrocontroller. Agenda FPGA vs. Mikrocontroller Name: Jan Becker Matrikelnummer: 546508 Agenda - Kurzvorstellung eines FPGAs - Komponenten eines FPGAs - Programmierung eines FPGAs - Kurzvorstellung eines Mikrocontrollers - Komponenten

Mehr

U23 2008 Abend 3: Musterlösungen, Taster entprellen, Unterprozeduren, Interrupts, Timer

U23 2008 Abend 3: Musterlösungen, Taster entprellen, Unterprozeduren, Interrupts, Timer Abend 3: Musterlösungen, Taster entprellen, Unterprozeduren, Interrupts, Timer Alexander Neumann e.v. http://koeln.ccc.de Köln, 1.9.2008 1 Musterlösungen Aufgabe 1 & 2 2 Taster entprellen

Mehr

Prozessoren für mobile und. eingebettete Systeme II: Die AVR-Architektur. EMES: Eigenschaften mobiler und eingebetteter Systeme

Prozessoren für mobile und. eingebettete Systeme II: Die AVR-Architektur. EMES: Eigenschaften mobiler und eingebetteter Systeme EMES: Eigenschaften mobiler und eingebetteter Systeme Prozessoren für mobile und 00101111010010011101001010101 eingebettete Systeme II: Die AVR-Architektur Dipl. Inf. Jan Richling Wintersemester 2004/2005

Mehr

Was so passieren wird:

Was so passieren wird: Arduino Einführung Arduino Einführung Was so passieren wird: Was so passieren wird: Arduino Überblick Was so passieren wird: Arduino Überblick Die Taschenlampe Was so passieren wird: Arduino Überblick

Mehr

Unter einem Interrupt kann man sich einen durch Hardware ausgelösten Unterprogrammaufruf vorstellen.

Unter einem Interrupt kann man sich einen durch Hardware ausgelösten Unterprogrammaufruf vorstellen. Interrupttechnik mit dem ATmega32 Unter einem Interrupt kann man sich einen durch Hardware ausgelösten Unterprogrammaufruf vorstellen. Aufgrund einer Interruptanforderung wird das laufende Programm unterbrochen

Mehr

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer Übung RA, Kapitel 1.5 1. Beantworten Sie bitte folgende Repetitionsfragen 1. Beschreiben Sie in eigenen Worten und mit einer Skizze die Schichtung einer Multilevel Maschine. Folie 5, rechte Seite 2. Welche

Mehr

analoge Ein- und Ausgänge

analoge Ein- und Ausgänge 2016/07/17 13:39 1/5 analoge Ein- und Ausgänge analoge Ein- und Ausgänge Neben den digitalen Leitungen bietet der Arduino mehrere analoge Ein- und Ausgänge. analoge Ausgänge Die Ausgänge sind mit PWM bezeichnet.

Mehr

Microcontroller Selbststudium Semesterwoche 9

Microcontroller Selbststudium Semesterwoche 9 Microcontroller Selbststudium Semesterwoche 9 Kurzfragen zum Thema Interrupts 1. Wozu werden Interrupts benötigt (Beispiele)? Interrupts werden überall dort verwendet, wo auf zeitkritische Ereignisse reagiert

Mehr

Vorlesung HSMT (MRT - Teil) ab WS2011/2012

Vorlesung HSMT (MRT - Teil) ab WS2011/2012 HSMT / (MRT Teil) 27.10.11 Praktikum / Vorlesung / Dipl.Arbeiten Stephan Zielinski Horbacherstr. 116c Tel. 0241 6009 52302 Labor Goethestr, 52072 Aachen 0241 6009 52129 Büro Eupenerstr. Tel. 174173 Fax

Mehr

AVR-8-bit-Mikrocontroller Gruppe Technologie der AVR-8-bit-Mikrocontroller Teil SPI

AVR-8-bit-Mikrocontroller Gruppe Technologie der AVR-8-bit-Mikrocontroller Teil SPI Teil 101 - AVR-Architektur 1 Die Architektur der AVR-Mikrocontroller - der CPU-Kern 1.1 Einleitung und Geschichtliches 1.2 Die Architektur: RISC contra CISC 1.3 ALU - Arithmetic Logic Unit 1.4 Das Status

Mehr

Einführung in die Arduino Programmierung am Beispiel eines Roboters.

Einführung in die Arduino Programmierung am Beispiel eines Roboters. Einführung in die Arduino Programmierung am Beispiel eines Roboters mail@andrebetz.de 1. Was ist Arduino - Definition einer Hardware- und Software Plattform - Open Source - Hardware: - Mikrocontroller

Mehr

Vortrag zur Seminarphase der PG Solar Doorplate MSP430 Wichtigste Grundlagen von David Tondorf

Vortrag zur Seminarphase der PG Solar Doorplate MSP430 Wichtigste Grundlagen von David Tondorf Vortrag zur Seminarphase der PG Solar Doorplate MSP430 Wichtigste Grundlagen von David Tondorf Technische Daten 16-Bit RISC Architektur bis zu 16 Mhz Vcc: 1,8-3,6V 64 KB FRAM 2 KB SRAM 7 Schlafmodi 5 16-Bit

Mehr

MikroController der 8051-Familie

MikroController der 8051-Familie i Dipl.-Ing. Roland Dilsch MikroController der 8051-Familie Aufbau, Funktion, Einsatz Vogel Buchverlag Inhaltsverzeichnis Vorwort 5 1 Was ist ein MikrocontroUer? 13 1.1 Aufbau eines Computers 13 1.2 Entstehung

Mehr

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

Grundlagen der Anwendung und Programmierung des ESP8266. Dennis Hoffmann Mittwoch, :30 Uhr Schulungsraum SW23/147

Grundlagen der Anwendung und Programmierung des ESP8266. Dennis Hoffmann Mittwoch, :30 Uhr Schulungsraum SW23/147 Grundlagen der Anwendung und Programmierung des ESP8266 Dennis Hoffmann Mittwoch, 11.01.2017 08:30 Uhr Schulungsraum SW23/147 Inhalt Mikrocontroller ESP8266 Entwicklungsumgebung Firmware Beispiele Projekte

Mehr

Arithmetische und Logische Einheit (ALU)

Arithmetische und Logische Einheit (ALU) Arithmetische und Logische Einheit (ALU) Enthält Blöcke für logische und arithmetische Operationen. n Bit Worte werden mit n hintereinander geschalteten 1 Bit ALUs bearbeitet. Steuerleitungen bestimmen

Mehr

Atmega Interrupts. Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös

Atmega Interrupts. Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös Atmega Interrupts Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös Inhaltsverzeichnis Vorbereitung Was Sind Interrupts Interruptvektoren Software Interrupts Hardware Interrupts Quellen 2 Vorbereitung Rechner

Mehr

Inhaltsverzeichnis 1 Ein-Bit-Rechner Mikrorechentechnik-Grundlagen Das Mikrocontrollersystem ein Überblick am Beispiel MSP430F1232

Inhaltsverzeichnis 1 Ein-Bit-Rechner Mikrorechentechnik-Grundlagen Das Mikrocontrollersystem ein Überblick am Beispiel MSP430F1232 Inhaltsverzeichnis 1 Ein-Bit-Rechner... 15 1.1 Rechenwerk... 15 1.1.1 Register und Takt... 16 1.1.2 Zwischenspeicher... 17 1.1.3 Native und emulierte Datenmanipulationsbefehle... 18 1.2 Steuerwerk... 20

Mehr

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur 0. Assembler-Programmierung Datenstrukturen des ATMega32 Literatur mikrocontroller.net avr-asm-tutorial.net asm Alles über AVR AVR-Assembler-Einführung Assembler AVR-Aufbau, Register, Befehle 2008: ouravr.com/attachment/microschematic/index.swf

Mehr

Teil III: Wat macht ene Mikrokontroller?

Teil III: Wat macht ene Mikrokontroller? Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil III: Wat macht ene Mikrokontroller?

Mehr

Use of the LPM (Load Program Memory)

Use of the LPM (Load Program Memory) Use of the LPM (Load Program Memory) Use of the LPM (Load Program Memory) Instruction with the AVR Assembler Load Constants from Program Memory Use of Lookup Tables The LPM instruction is included in the

Mehr

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

Programmieren in C Teil 3: Mikrocontrollerprogrammierung Programmieren in C Teil 3: Mikrocontrollerprogrammierung 08/30/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Tag 1 Hello World 08/30/10 Fachbereich Physik Institut für Kernphysik

Mehr

Mikrocontroller. eine Einführung. Florian Schmitt - 16.11.2010 1 / 34

Mikrocontroller. eine Einführung. Florian Schmitt - 16.11.2010 1 / 34 Mikrocontroller eine Einführung Florian Schmitt - 16.11.2010 1 / 34 Inhalt Was sind Mikrocontroller, wozu sind sie nützlich? Unterschiede und Gemeinsamkeiten mit dem PC Wie funktionieren Mikrocontroller

Mehr

Teil 3 Mikrocontroller

Teil 3 Mikrocontroller Teil 3 Mikrocontroller 3.1 Programm- und Datenspeicher 3.2 Realisierung von Speicherzellen 3.3 Programmierung Teil 3 Mikrocontroller 1 Advanced Architecture Optimizes the Atmel AVR CPU Delivering High

Mehr

8. Beschreibung des Prozessors MSP 430

8. Beschreibung des Prozessors MSP 430 8. Beschreibung des Prozessors MSP 430 8.1 Die Eigenschaften des MSP 430 8.2 Die Register des MSP 430 8.3 Der Aufbau des Speichers 8.4 Interrupts 8.5 Der Watchdog Programmierkurs II Wolfgang Effelsberg

Mehr

Was ist Arduino? Historie Der Kern Entwicklungsumgebung Hardware Software Und wozu das Ganze? Workshop Mikrorechner 2012 A.

Was ist Arduino? Historie Der Kern Entwicklungsumgebung Hardware Software Und wozu das Ganze? Workshop Mikrorechner 2012 A. Was ist Arduino? Historie Der Kern Entwicklungsumgebung Hardware Software Und wozu das Ganze? Workshop Mikrorechner 2012 A.Schultze, DK4AQ 1 Das Arduino-Projekt Arduino ist ein Open-Source-Prototypen-System,

Mehr

Mikrocomputertechnik mit der 8051-Controller-Familie

Mikrocomputertechnik mit der 8051-Controller-Familie Mikrocomputertechnik mit der 8051-Controller-Familie Hardware, Assembler, C Bearbeitet von Jürgen Walter Neuausgabe 2008. Buch. xiii, 311 S. ISBN 978 3 540 66758 2 Format (B x L): 15,5 x 23,5 cm Weitere

Mehr

U5-2 Register beim AVR-µC

U5-2 Register beim AVR-µC U5 4. Übungsaufgabe U5 4. Übungsaufgabe U5-2 Register beim AVR-µC U5-2 Register beim AVR-mC Grundlegendes zur Übung mit dem AVR-µC 1 Überblick Register Beim AVR µc sind die Register: I/O Ports Interrupts

Mehr

C / C++ für das Internet der Dinge und Hausautomatisierung Einführung

C / C++ für das Internet der Dinge und Hausautomatisierung Einführung C / C++ für das Internet der Dinge und Hausautomatisierung Einführung Hochschule Fulda FB AI Sommersemester 2017 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Zur Veranstaltung 1 Peter Klingebiel

Mehr

Prozessoren für mobile und. eingebettete Systeme II: Die AVR-Architektur. EMES: Eigenschaften mobiler und eingebetteter Systeme

Prozessoren für mobile und. eingebettete Systeme II: Die AVR-Architektur. EMES: Eigenschaften mobiler und eingebetteter Systeme EMES: Eigenschaften mobiler und eingebetteter Systeme Prozessoren für mobile und 111111111111111 eingebettete Systeme II: Die AVR-Architektur Dr. Felix Salfner, Dr. Siegmar Sommer Wintersemester 29/21

Mehr

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 2 Der Mikrocontroller Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 1 beschrieben. Auf dem Chip sind die, ein ROM- für das Programm, ein RAM- für die variablen

Mehr

Teil 1: Digitale Logik

Teil 1: Digitale Logik Teil 1: Digitale Logik Inhalt: Boolesche Algebra kombinatorische Logik sequentielle Logik kurzer Exkurs technologische Grundlagen programmierbare logische Bausteine 1 Tri-State Ausgangslogik Ausgang eines

Mehr

Atmel AVR für Dummies

Atmel AVR für Dummies Atmel AVR für Dummies fd0@koeln.ccc.de 29.12.2005 Übersicht 1 Hardware Kurzvorstellung Atmega8 Programmierkabel (Eigenbau vs. Kommerzlösung) Alternative: Bootloader (Programmieren via rs232) Software Speicher

Mehr

Remote-Objekt-Überwachung. von Jan Schäfer und Matthias Merk

Remote-Objekt-Überwachung. von Jan Schäfer und Matthias Merk Remote-Objekt-Überwachung von Jan Schäfer und Matthias Merk Aufgabenstellung Steuerung von Sensoren zur Remote Objektüberwachung mit einem µc PIC16F874. Welcher Sensor hat gemeldet? Die Überwachung Mehrere

Mehr

Johann Wolfgang Goethe-Universität

Johann Wolfgang Goethe-Universität Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory

Mehr

Mikrocontroller vs. Mikroprozessor 1/3

Mikrocontroller vs. Mikroprozessor 1/3 Mikrocontroller vs. Mikroprozessor 1/3 Kriterium Microprozessor Microcontroller Aufgaben Nur für Rechenaufgaben zuständig, I/O praktisch nur mit zusätzlichen Bausteinen Speicher GB-Bereich, erweiterbar,

Mehr

Mikrocontroller. Vortrag von Louis Liedtke. 8. Dezember Fakultät Elektrotechnik und Informatik. Bild 1: Atmel ATmega8

Mikrocontroller. Vortrag von Louis Liedtke. 8. Dezember Fakultät Elektrotechnik und Informatik. Bild 1: Atmel ATmega8 Mikrocontroller Bild 1: Atmel ATmega8 Vortrag von 8. Dezember 2015 Gliederung 1. Begriffserklärung 2. Besondere Merkmale 3. Aufbau und Arbeitsweise 4. Programmierung 5. Nutzen 6. Fazit 2 1. Begriffserklärung

Mehr

Einführung Microcontroller

Einführung Microcontroller 18. Januar 2011 Inhaltsverzeichnis 1 Einleitung 2 3 4 5 Was ist eigentlich ein Microcontroller? Microcontroller - Was ist das? Microcontroller enthalten: integrierte und gleichzeitig programmierbare Schaltungen,

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung

Mehr

2.1 Atmega-Peripherie/Interrupts

2.1 Atmega-Peripherie/Interrupts 2.1 Atmega-Peripherie/Interrupts 2.1.1 Situation Während LED2 fortlaufend blinkt, soll LED2 jederzeit sofort durch Tastendruck von T1 eingeschaltet werden können. Dazu muss man im Programm regelmäÿig nachsehen,

Mehr

Microcontroller im Amateurfunk

Microcontroller im Amateurfunk Ortsverband Braunschweig - Okeraue H46 Microcontroller im Amateurfunk oder: Mit einem Arduino kann man Probleme lösen, die man ohne nicht hätte. Steuerung für Wintergarten Lüftung Wintergarten, wenn im

Mehr

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten

Mehr

Timer. Funktionsprinzip

Timer. Funktionsprinzip Timer Funktionsprinzip 8-Bit-Timer des ATmega28 Beispiel Timer im Polling- und Interrupt-Betrieb Funktionsprinzip Timer ist ein in Hardware realisierter i Zähler ändert seinen Zählerstand mit einer vorgegebenen

Mehr

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten

Mehr

Geekclock. Chaos Singularity Code and Hardware Walkthrough. Andreas Müller

Geekclock. Chaos Singularity Code and Hardware Walkthrough. Andreas Müller Geekclock Code and Hardware Walkthrough Chaos Singularity 2007 1 Elektronik Stromkreis Gesetz von Ohm Knotenpunkt- und Maschenregel Komponenten 2 What is an MCU? ATMega8 features Differences from coding

Mehr

Programmieren des ESP8266 mit OLED

Programmieren des ESP8266 mit OLED Willkommen! Und herzlichen Dank für den Kauf unseres AZ-Delivery ESP8266 Mikrocontroller mit integrierten 0.91" OLED Display. Auf den folgenden Seiten gehen wir mit dir gemeinsam die ersten Programmierschritte

Mehr

Einführung DIP & AVR EVK1100

Einführung DIP & AVR EVK1100 Einführung DIP & AVR EVK1100 Umfang: ca. 2-4 Zeitstunden Display und Buttons (DIP) DIP (Treiber, Code) Aufgaben Emqopter GmbH 2 Display: DIP204 20 Spalten x 4 Zeilen (80 Zeichen) Anzeige von Informationen

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Übung 2: Speicherarchitekturen in Mikrocontrollern und AOStuBS Christoph Borchert Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund http://ess.cs.uni-dortmund.de/~chb/

Mehr

Das Melvin Projekt. von der Idee bis zur Schaltung. - Seite 1 -

Das Melvin Projekt. von der Idee bis zur Schaltung. - Seite 1 - Das Melvin Projekt von der Idee bis zur Schaltung - Seite 1 - Inhaltsverzeichnis Vorwort...3 Der Name...3 Der Controller...4 Der Controller Datenübersicht...5 Die Erweiterungsstecker J1 und J2...6 Erweiterungsstecker

Mehr

Arduino µcontroller. Virtuelle COMSchnittstelle

Arduino µcontroller. Virtuelle COMSchnittstelle Aufgaben: Arduino µcontroller 1. Die gegebene Software auf einen ARDUINO MEGA-Board aufspielen weil die PORTS A (8xSchalter) und C (8xLEDs) benutzt werden. Steht nur ein UNO-Board zur Verfügung, dann den

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

Assembler-Unterprogramme

Assembler-Unterprogramme Assembler-Unterprogramme Rolle des Stack Prinzipieller Ablauf Prinzipieller Aufbau Unterprogramme void main(void) int sub(int i) { { int i,k; return i*2; i = sub(13); } k = sub(14); } Wie macht man das

Mehr

Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt:

Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt: Tasten abfragen Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt: pinmode(pinnummer, OUTPUT) digitalwrite(pinnummer, HIGH) oder digitalwrite(pinnummer, LOW) Zum Abfragen

Mehr

Inhaltsverzeichnis VII

Inhaltsverzeichnis VII Inhaltsverzeichnis 1 Grundlagen der Mikrocontroller... 1 1.1 Mikrocontroller-Familie ATtiny2313, ATtiny26 und ATmega32.... 6 1.1.1 Merkmale des ATtiny2313, ATtiny26 und ATmega32..... 8 1.1.2 Pinbelegung

Mehr

I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK

I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK... 1... V H D L Tim Köhler April 2005 I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK... 2... Übersicht 1. Einleitung 2. Syntax 3. Spezielle

Mehr

Mikrocomputertechnik

Mikrocomputertechnik J. Walter Mikrocomputertechnik mit der 8051-Controller-Familie Hardware, Assembler, C Mit 146 Abbildungen und 50 Tabellen Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona

Mehr

GdI2 - Systemnahe Programmierung in C Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 U4.fm

GdI2 - Systemnahe Programmierung in C Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 U4.fm U4 4. Übungsaufgabe U4 4. Übungsaufgabe Grundlegendes zur Übung mit dem AVR-µC Register I/O Ports Interrupts AVR-Umgebung U4.1 U4-1 Grundlegendes zur Übung mit dem AVR-mC U4-1 Grundlegendes zur Übung mit

Mehr

Tutorial. Microcontroller. Grundlagen µc. Kapitel 1

Tutorial. Microcontroller. Grundlagen µc. Kapitel 1 Microcontroller Kapitel 1 Grundlagen µc µc Inhaltsverzeichnis 1 - Vorwort Seite 2 2 - Prinzipieller Programmablauf Seite 4 3 - ISR Interrupt Service Routine Seite 5 4 - Compiler Seite 7 5 - ATMega8 Seite

Mehr

Bedienungsanleitung / Manual für il-debug_i Interface für den Debugger il_debug

Bedienungsanleitung / Manual für il-debug_i Interface für den Debugger il_debug Bedienungsanleitung / Manual für il-debug_i Interface für den Debugger il_debug Ing.Büro Stefan Lehmann Fürstenbergstraße 8a D-77756 Hausach Tel. (07831) 452 Fax (07831) 96428 E-Mail SL@iL-online.de Internet

Mehr

4.0 Der Atmel AT89LPx052 Mikrocontroller

4.0 Der Atmel AT89LPx052 Mikrocontroller 4.0 Der Atmel AT89LPx052 Mikrocontroller Die ersten beiden Derivate der Atmel LP Familie sind der AT89LP2052 und der AT89LP4052 in verschiedenen Gehäusevarianten mit 2 Kbytes bzw. 4 KBytes Flash. Gegenüber

Mehr

Rot/Gelb. Grün. Rot. Gelb. G.1 Einleitung

Rot/Gelb. Grün. Rot. Gelb. G.1 Einleitung G.1 Einleitung Eine Verkehrsampel durchläuft verschiedene Zustände. Bestimmte Ereignisse zum Beispiel ein Tastendruck oder der Ablauf einer Wartezeit führen zum Wechsel des aktuellen Zustands. Ein vereinfachtes

Mehr

Inhaltsverzeichnis VII.

Inhaltsverzeichnis VII. \ 1 Grundlagen der Mikrocontrolier 1 1.1 Mikrocontroller-Familie ATtiny2313, ATtiny26und ATmega32 6 1.1.1 Merkmale des ATtiny2313, ATtiny26und ATmega32 8 1.1.2 Pinbelegung des ATtiny2313, ATtiny26 und

Mehr

Technische Informatik 2: Addressierung und Befehle

Technische Informatik 2: Addressierung und Befehle Technische Informatik 2: Addressierung und Befehle Memory Map Programm Speicher: Adresse $000-$FFF max. 4096 Byte für kompiliertes Programm Data Memory: Adresse $0000-$FFFF 32 8Bit Register 64 I/O Register

Mehr

Fachprojekt for Embedded System: Design and Implement Your Own Embedded Systems (2) LS 12, TU Dortmund

Fachprojekt for Embedded System: Design and Implement Your Own Embedded Systems (2) LS 12, TU Dortmund Fachprojekt for Embedded System: Design and Implement Your Own Embedded Systems (2) Junjie Shi Niklas Ueter LS 12, TU Dortmund 09,April,2018 Junjie Shi, Niklas Ueter (LS 12, TU Dortmund) 1 / 1 Inhalt 1

Mehr

Beispiel. Echo-Anwendung. Beispiel Echo Anforderungen. Benutzer stellt Konfiguration der seriellen Schnittstelle am PC ein (z.b. über Hyperterminal)

Beispiel. Echo-Anwendung. Beispiel Echo Anforderungen. Benutzer stellt Konfiguration der seriellen Schnittstelle am PC ein (z.b. über Hyperterminal) Beispiel Echo-Anwendung Erweiterung String-Ausgabe Beispiel Echo Anforderungen Benutzer stellt Konfiguration der seriellen Schnittstelle am PC ein (z.b. über Hyperterminal) - asynchroner Modus - Baudrate:

Mehr

LabView mit der myavr Produktfamilie. Andreas Düring

LabView mit der myavr Produktfamilie. Andreas Düring myavr Anwendungsbeispiel LabView mit der myavr Produktfamilie l LabView mit der myavr Produktfamilie Erstellt von: Andreas Düring Inhalt Einleitung... 3 Zielstellung... 3 Voraussetzungen... 4 Durchführung...

Mehr

Zusatzanleitung. MPR-1 I²C-Protokoll. Version 1.01

Zusatzanleitung. MPR-1 I²C-Protokoll. Version 1.01 Zusatzanleitung MPR-1 I²C-Protokoll DE Version 1.01 Inhalt Inhalt 1. I²C Allgemein... 1 1.1 Beschreibung... 1 1.2 Konfiguration... 1 2. I²C-Protokoll des Drucksensormoduls MPR-1... 2 2.1 Parameter... 2

Mehr

I2C-006 DATASHEET I2C-006 V1.00: 1K EEPROM MODUL MIT TWI (I 2 C) SCHNITTSTELLE. Dokument NR.: I2C-006_Datasheet

I2C-006 DATASHEET I2C-006 V1.00: 1K EEPROM MODUL MIT TWI (I 2 C) SCHNITTSTELLE. Dokument NR.: I2C-006_Datasheet I2C-006 DATASHEET Dokument NR.: I2C-006_Datasheet I2C-006 V1.00: 1K EEPROM MODUL MIT TWI (I 2 C) SCHNITTSTELLE P Bitte denken Sie an die Umwelt, bevor Sie diese Datei ausdrucken Modification History: Version

Mehr

8051Speicherorganistaion. SFR u. oberer Datenspeicherbereich teilen sich den SPECIAL FUNCTION REGISTER. gleichen Adreßbereich. indirekt adressierbar

8051Speicherorganistaion. SFR u. oberer Datenspeicherbereich teilen sich den SPECIAL FUNCTION REGISTER. gleichen Adreßbereich. indirekt adressierbar intern (auf CPU) PROGRAMMSPEICHER extern 2K bis 64K ROM 051: 4K max 64K 051:64K 051Speicherorganistaion 13.04.2000 - v3 extern interner XRAM DATENSPEICHER intern (auf CPU) SPECIAL FUNCTION REGISTER SFR

Mehr