Embedded Systems

Größe: px
Ab Seite anzeigen:

Download "Embedded Systems"

Transkript

1 Embedded Systems II Themen am : RTOS für AVR; Multitasking auf einem AVR; Serielle Schnittstelle mit / ohne Interrupts; Auftrag: Sternenhimmel, GPIO-Chips, I2C/TWI Einblick in die Medizintechnik Bitte OHP-/Tafel-Notizen selbst mitschreiben! ES217-V4 Ulrich Schaarschmidt HS Düsseldorf, SS 2017 Literatur und Internetquellen Jörg Wiegelmann: Softwareentwicklung in C für Mikroprozessoren und Mikrocontroller, 3 Aufl 2004, Hüthig Verlag, Heidelberg wwwatmelcom wwwmikrocontrollernet wwwkreatives-chaosde wwwavrfreaksnet/ wwwroboternetzde wwwavr-asm-tutorialnet/avr_de/indexhtml wwwsiwawiarubiuni-klde/avr_projects/ //Homepagesunrisech/meitel/avr/indexhtml //jkdesignde/avrproject/ Bollow,F; Homann,M; Köhn, K-P: C und C++ für Embedded Systems; mitp-verlag / Bonn (VMI) UG Schaarschmidt, HS - D 2 HS Düsseldorf (c) USchaarschmidt 1

2 Quellenhinweise wwwmikrocontrollernet Atmel Application Note: AVR244: AVR UART as ANSI Terminal Interface Atmel Application Note: AVR305: Half Duplex Compact Software UART Contiki - The Operating System for Connecting the Next Billion Devices - the Internet of Things - Contiki ein konfigurierbares, freies Betriebssystem mit IPv6wLoPan Stack Günter Schmitt: Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie 3 Überarbeitete und erweiterte Auflage 2007, Oldenbourg Verlag Hans-Gerd Lipinski: Einführung in die medizinische Informatik 1999, Oldenbourg Verlag UG Schaarschmidt, HS - D 3 Quellen- und Literaturhinweise AVR315: Using the TWI module as I2C master 2004, Atmel Application Note doc2564pdf, Rev 2564B-AVR-09/04 MAX7313pdf Maxim 16-Port I/O Expander with LED Intensity Control, Interrupt, and Hot-Insertion Protection MAX6964pdf Maxim 17-Output LED Driver/GPO with Intensity Control and Hot-Insertion Protection MCP23016 Microchip 16-Bit I2C I/O Expander PCA9554/PCA9554A Philips 8-bit I2C and SMBus I/O port with interrupt Philips_I2C_Handbookpdf AN469 Application Note I2C/SMBus general purpose I/O expanders Datasheet ATmega8 / ATmega8L 2003, Rev 2486M-AVR-12/03 AVR245: Code Lock with 4x4 Keypad and I2C LCD 2005, Atmel Application Note doc8013pdf, Rev 8013A-AVR-10/ UG Schaarschmidt, HS - D 4 HS Düsseldorf (c) USchaarschmidt 2

3 Richard Barry (avrfreaksnet): Multitasking on an AVR RTOS Tick UG Schaarschmidt, HS - D 5 RTOS - Multitasking Ausführungskontext unmittelbar vor der Unterbrechung CPU Stack Ptr Prog Counter Program Memory 0 1 Data Memory Reg1 Reg2 Reg3 FA E2 00 LDI Reg1, 0xFA LDI Reg2, 0xE2 ADD Reg1, Reg2 Der Task wird unterbrochen (suspend), während er gerade die Addition durchführt! Die vorherigen Befehle haben bereits die Register gesetzt, die vom ADD genutzt werden Wenn der Task wieder aufgenommen wird (resume), wird der ADD-Befehl der erste sein, der ausgeführt wird Der Task wird jedoch nicht wissen, ob die Register Reg1 oder Reg2 in der Zwischenzeit von einem anderen Task verändert wurden UG Schaarschmidt, HS - D 6 HS Düsseldorf (c) USchaarschmidt 3

4 Ausführungskontext General Purpose Registers R0 Stack R1 Status SREG R25 R26[XL] R27[XH] Program Counter PC R28[YL] R29[YH] R30[ZL] Stack Pointer SPH SPL 0xff 0xee R31[ZH] UG Schaarschmidt, HS - D 7 Speichern und Wiederherstellen des Kontext #define portsave_context() \ asm volatile ( \ "push r0 \n\t" \ (1) "in r0, SREG \n\t" \ (2) "cli \n\t" \ (3) "push r0 \n\t" \ (4) "push r1 \n\t" \ (5) "clr r1 \n\t" \ (6) "push r2 \n\t" \ (7) "push r3 \n\t" \ "push r4 \n\t" \ "push r5 \n\t" \ : UG Schaarschmidt, HS - D 8 HS Düsseldorf (c) USchaarschmidt 4

5 Speichern und Wiederherstellen des Kontext : "push r30 \n\t" \ "push r31 \n\t" \ "lds r26, pxcurrenttcb \n\t" \ (8) "lds r27, pxcurrenttcb + 1 \n\t" \ (9) "in r0, SP_L \n\t" \ (10) "st x+, r0 \n\t" \ (11) "in r0, SP_H \n\t" \ (12) "st x+, r0 \n\t" \ (13) ); UG Schaarschmidt, HS - D 9 Vor dem RTOS Tick Interrupt TaskA wird ausgeführt TaskA Code TaskA Stack General Purpose Registers Status SREG(A) LDI R0, 0 LDI R1, 1 R0(A) Program Counter ADD R0,R1 R1(A) PC(A) R30(A) Stack Pointer 0xff R31(A) SPH SPL 0xee UG Schaarschmidt, HS - D 10 HS Düsseldorf (c) USchaarschmidt 5

6 RTOS Tick Interrupt ausgelöst PC wird durch Interrupt auf dem TaskA-Stack abgelegt TaskA Code TaskA Stack General Purpose Registers Status SREG(A) LDI R0, 0 LDI R1, 1 R0(A) Program Counter ADD R0,R1 R1(A) PC(A) PC(A) R30(A) Stack Pointer 0xff R31(A) SPH SPL 0xee UG Schaarschmidt, HS - D 11 RTOS Tick Interrupt ausgelöst TaskA-Kontext ist jetzt der TaskA-Stack TaskA Stack Stack Pointer SPH SPL Der Kernel speichert eine Kopie des Stack Pointers für jeden Task Kopie von SP(A) SPH SPL Kopie von SP(B) SPH SPL R31(A) R30(A) R1(A) SREG(A) R0(A) PC(A) 0xff 0xee Kontext wird auf Stack gespeichert: portsave_context() PC durch Interrupt auf Stack gespeichert Applikations-Stack TaskA UG Schaarschmidt, HS - D 12 HS Düsseldorf (c) USchaarschmidt 6

7 RTOS Tick Interrupt ausgelöst Stack Pointer zeigt jetzt auf die oberste Stelle des TaskB-Kontext TaskB Stack R31(B) Stack Pointer SPH(B) SPL(B) Der Kernel speichert eine Kopie des Stack Pointers für jeden Task Kopie von SP(A) SPH SPL Kopie von SP(B) SPH SPL R30(B) R1(B) SREG(B) R0(B) PC(B) 0x12 0x34 Kontext von TaskB bei der Unterbrechung von TaskB Applikations-Stack TaskB UG Schaarschmidt, HS - D 13 Wiederherstellen des TaskB-Kontext TaskB-Kontext wurde wieder hergestellt TaskB Code TaskB Stack General Purpose Registers Status SREG(B) CLR R15 MOVW R18, R14 R0(B) Program Counter CALL 0xC4 R1(B) PC(B) PC(B) R30(B) Stack Pointer 0x12 R31(B) SPH SPL 0x UG Schaarschmidt, HS - D 14 HS Düsseldorf (c) USchaarschmidt 7

8 RTOS tick wird beendet TaskB wird jetzt nach Unterbrechung wieder ausgeführt TaskB Code TaskB Stack General Purpose Registers Status SREG(B) CLR R15 MOVW R18, R14 R0(B) Program Counter CALL 0xC4 R1(B) PC(B) R30(B) Stack Pointer 0x12 R31(B) SPH SPL 0x UG Schaarschmidt, HS - D 15 Auftrag: Sternenhimmel Es ist ein Lichternetz (halbkugelförmig) aus Leuchtdioden, die mittels I/O- Expandern in PWM angesteuert werden, zu entwerfen Bestimmte Sternbilder sollen erkennbar sein (Schwan, grosser Wagen, ) Die Helligkeit der Sterne bzw Sternbilder soll veränderlich (programmiert) sein UG Schaarschmidt, HS - D 16 HS Düsseldorf (c) USchaarschmidt 8

9 Cassiopeia UG Schaarschmidt, HS - D 17 Großer Bär UG Schaarschmidt, HS - D 18 HS Düsseldorf (c) USchaarschmidt 9

10 Krebs UG Schaarschmidt, HS - D 19 Auftrag: Eingebettetes System als Master für I2C-Bus-Gerät auswählen und prog Auftrag! Welche Controller aus meinem Bekanntenkreis haben die benötigte Schnittstelle an Board? Wenn keiner: Welche Schnittstelle kann die gewünschte emulieren? > Aufwandsabschätzung Gibt es einfach zuzuschaltende IC, die diese Aufgabe übernehmen? UG Schaarschmidt, HS - D 20 HS Düsseldorf (c) USchaarschmidt 10

11 Auftrag: Eingebettetes System als Master für I2C-Bus-Gerät auswählen und prog 2 Datenblatt heraussuchen und wichtige Stellen heraussuchen und durcharbeiten Datenblatt sehr schön, aber nicht alles verständlich umsetzbar Nach Application Notes suchen, die die Schnittstelle (in irgendeiner Form) behandeln Im Internet nach Lösungen suchen, die eine ähnliche Aufgabe gemeistert habenaber nicht zu viel Zeit dabei vertrödeln! UG Schaarschmidt, HS - D 21 Application Notes / Datenblätter AVR307: Half duplex UART using the Universal Serial Interface UG Schaarschmidt, HS - D 22 HS Düsseldorf (c) USchaarschmidt 11

12 Auftrag: Eingebettetes System als Master für I2C-Bus-Gerät auswählen und prog 3 uns kommt etwas komisch vor der Compiler / das Entwicklungssystem / der Assembler meldet Fehler, die wir nicht verstehen Im Internet nach aktuellen Bug-Beschreibungen und damit Bugfixes oder neuen Versionen der Entwicklungssoftware suchen -> Installieren Hardware elektrisch überprüfen, Kurzschlüsse zwischen einzelnen Leiterbahnen / Pins (Lupe), Leiterbahnunterbrechungen (Haarrisse, kalte Lötstellen, Lupe) Bauelemente im Design oder beim Einlöten vergessen? UG Schaarschmidt, HS - D 23 Erweiterung einer AVR-MCU zur V24 Pegelanpassung UG Schaarschmidt, HS - D 24 HS Düsseldorf (c) USchaarschmidt 12

13 Pegelanpassung Der MAX232 ist ein Pegelkonverter, der die -12V/+12V Signale an der seriellen Schnittstelle des PCs zu den 5V/0V des AVRs kompatibel macht Die 5 Kondensatoren sind 22µF-Elkos Auf die richtige Polung achten! Der exakte Wert ist hier relativ unkritisch, in der Praxis sollte alles von ca 10µF bis 50µF funktionieren X2 ist ein 9-poliger SUB-D-Verbinder, female Es gibt auch funktionsgleiche Bausteine in miniaturisierter Bauform, die kleinere Kapazitäten benötigen UG Schaarschmidt, HS - D 25 Software zum Senden Als erstes muss die gewünschte Baudrate im Register UBRR festgelegt werden Der in dieses Register zu schreibende Wert errechnet sich nach der folgenden Formel: UBRR = Taktfrequenz / 16 * Baudrate - 1 Beim ATmega8 gibt es für UBRR zwei Register: UBRRL (Low-Byte) und UBRRH (High-Byte) Im Normalfall steht im UBRRH 0, da der berechnete Wert kleiner als 256 ist und somit in UBRRL alleine passt Um den Sendekanal des UART zu aktivieren, muss das Bit TXEN im UART Control Register UCSRB auf 1 gesetzt werden UG Schaarschmidt, HS - D 26 HS Düsseldorf (c) USchaarschmidt 13

14 Software zum Senden 2 Danach kann das zu sendende Byte in das Register UDR eingeschrieben werden - vorher muss jedoch sichergestellt werden, dass das Register leer ist, die vorhergehende Übertragung also schon abgeschlossen wurde Dazu wird getestet, ob das Bit UDRE ("UART Data Register Empty") im Register UCSRA auf 1 ist Genaueres über die UART-Register findet man im Datenblatt des Controllers Der ATmega8 bietet noch viele weitere Optionen zur Konfiguration des UARTs, aber für die Datenübertragung zum PC sind im Normalfall keine anderen Einstellungen notwendig UG Schaarschmidt, HS - D 27 Test Programm (1) include "m8definc" def temp = r16 equ CLOCK = equ BAUD = 9600 equ UBRRVAL = CLOCK/(BAUD*16)-1 ldi temp, LOW(RAMEND) out SPL, temp ldi temp, HIGH(RAMEND) out SPH, temp ldi temp, LOW(UBRRVAL) out UBRRL, temp ldi temp, HIGH(UBRRVAL) out UBRRH, temp ldi temp, (1<<URSEL) (3<<UCSZ0) out UCSRC, temp sbi UCSRB,TXEN ; Stackpointer initialisieren ; Baudrate einstellen ; Frame-Format: 8 Bit ; TX aktivieren UG Schaarschmidt, HS - D 28 HS Düsseldorf (c) USchaarschmidt 14

15 Test Programm (2) loop: serout: ldi temp, 'T' rcall serout ; Unterprogramm aufrufen ldi temp, 'e' rcall serout ; Unterprogramm aufrufen ldi temp, 's' rcall serout ; ldi temp, 't' rcall serout ldi temp, '!' rcall serout ldi temp, 10 rcall serout ldi temp, 13 rcall serout rjmp loop sbis UCSRA,UDRE ; Warten bis UDR für das nächste ; Byte bereit ist rjmp serout out UDR, temp ret ; zurück zum Hauptprogramm UG Schaarschmidt, HS - D 29 Test Programm (3) Der Befehl rcall serout ruft ein kleines Unterprogramm auf, das zuerst wartet bis das Datenregister UDR von der vorhergehenden Übertragung frei ist, und anschließend das in temp (=r16) gespeicherte Byte an UDR ausgibt Bevor serout aufgerufen wird, wird temp jedesmal mit dem ASCII-Code des zu übertragenden Zeichens geladen Der Assembler wandelt Zeichen in einfachen Anführungsstrichen automatisch in den entsprechenden ASCII-Wert um Nach dem Wort "Test!" werden noch die Codes 10 (New Line) und 13 (Carriage Return) gesendet, um dem Terminalprogramm mitzuteilen, dass eine neue Zeile beginnt UG Schaarschmidt, HS - D 30 HS Düsseldorf (c) USchaarschmidt 15

16 Empfangen (1) Natürlich kann der AVR nicht nur Daten senden sondern auch vom PC empfangen Dazu muss man, nachdem die Baudrate wie oben beschrieben eingestellt wurde, das Bit RXEN setzen Sobald das UART dann ein Byte über die serielle Verbindung empfängt, wird das Bit RXC im Register UCSRA gesetzt, um anzuzeigen, dass das Byte im Register UDR zur Weiterverarbeitung bereitsteht Sobald es aus UDR gelesen wird, wird RXC automatisch wieder gelöscht, bis das nächste Byte angekommen ist UG Schaarschmidt, HS - D 31 Empfangen (2) Das erste einfache Testprogramm soll das empfangene Byte auf den an Port x angeschlossenen LEDs ausgeben Dabei sollte man daran denken, dass PD0 (RXD) bereits für die Datenübertragung zuständig ist, so dass das entsprechende Bit im Register PORTD keine Funktion hat und damit auch nicht für die Datenanzeige verwendet werden kann UG Schaarschmidt, HS - D 32 HS Düsseldorf (c) USchaarschmidt 16

17 Empfangen (3) Nachdem das UART konfiguriert ist, wartet das Programm einfach in der Hauptschleife darauf, dass ein Byte über das UART ankommt (zb indem man im Terminalprogramm ein Zeichen eingibt), also RXC gesetzt wird Sobald das passiert, wird das Register UDR, in dem die empfangenen Daten stehen, nach temp eingelesen und an den Port x ausgegeben UG Schaarschmidt, HS - D 33 Empfangs Test - Programm (1) include "m8definc" def temp = R16 equ CLOCK = equ BAUD = 9600 equ UBRRVAL = CLOCK/(BAUD*16)-1 ldi temp, LOW(RAMEND) out SPL, temp ldi temp, HIGH(RAMEND) out SPH, temp ldi temp, 0xFF out DDRD, temp ldi temp, LOW(UBRRVAL) out UBRRL, temp ldi temp, HIGH(UBRRVAL) out UBRRH, temp ; Port D = Ausgang ; Baudrate einstellen ; Frame-Format: 8 Bit UG Schaarschmidt, HS - D 34 HS Düsseldorf (c) USchaarschmidt 17

18 Empfangs Test - Programm (2) ; Frame-Format: 8 Bit ldi temp, (1<<URSEL) (3<<UCSZ0) out UCSRC, temp sbi UCSRB, RXEN ; RX (Empfang) aktivieren receive_loop: sbis UCSRA, RXC rjmp receive_loop in temp, UDR out PORTD, temp rjmp receive_loop ; warten bis ein Byte angekommen ist ;empfangenes Byte nach temp kopieren ; und an Port D ausgeben ; zurück zum Hauptprogramm UG Schaarschmidt, HS - D 35 UART mit Interrupt (1) include "m8definc" def temp = R16 equ CLOCK = equ BAUD = 9600 equ UBRRVAL = CLOCK(BAUD*16)-1 org 0x00 rjmp main org URXCaddr ; Interruptvektor für UART-Empfang rjmp int_rxc ; Hauptprogramm main: ldi temp, LOW(RAMEND) out SPL, temp ldi temp, HIGH(RAMEND) out SPH, temp ldi temp, 0xFF ; Port D = Ausgang out DDRD, temp UG Schaarschmidt, HS - D 36 HS Düsseldorf (c) USchaarschmidt 18

19 UART mit Interrupt (2) ; Baudrate einstellen ldi temp, LOW(UBRRVAL) out UBRRL, temp ldi temp, HIGH(UBRRVAL) out UBRRH, temp ; Frame-Format: 8 Bit ldi temp, (1<<URSEL) (3<<UCSZ0) out UCSRC, temp sbi UCSRB, RXCIE ; Interrupt bei Empfang sbi UCSRB, RXEN ; RX (Empfang) aktivieren sei ; Interrupts global aktivieren loop: rjmp loop ; Endlosschleife ; Interruptroutine: wird ausgeführt sobald ein Byte über das UART empfangen wurde int_rxc: push temp ; temp auf dem Stack sichern in temp, UDR out PORTD, temp pop temp ; temp wiederherstellen reti ; Interrupt beenden UG Schaarschmidt, HS - D 37 Softwareengineering für Embedded Systems Planungsphase Wesentliche Funktionen und Eigenschaften des geplanten Projektes definieren; Machbarkeit auch unter ökonomischen Aspekten eruieren; Pflichtenheft und Projektplan anfertigen; Definitionsphase Pflichtenheft verfeinern; genaue Spezifikation erstellen, Softwaremodule definieren; Testplan erstellen; UG Schaarschmidt, HS - D 38 HS Düsseldorf (c) USchaarschmidt 19

20 Softwareengineering für Embedded Systems Entwurfsphase Mit Softwaretechnik beginnen; Flussdiagramme oder Struktogramme zur Visualisierung von Abläufen; nach der Problemanalyse überschaubare Modularisierung (Teilaufgaben) bilden -> Daten- und Kontrollstrukturen aufstellen;; Codier und Implementierungsphase Quellcodeerzeugung mittels Softwareentwicklungstools (im kleinsten Fall mittels Editor); Dokumentation parallel dazu erzeugen; UG Schaarschmidt, HS - D 39 Softwareengineering für Embedded Systems Test- und Verifikationsphase Herausfinden, ob ein Programm in jeder erdenklichen Situation funktioniert; Hilfsmittel: Simulator - Einzelschrittabarbeitung; Vergleich der simulierten Ergebnisse mit den erwarteten Ergebnissen; Debugging (Fehlerbeseitigung); Wartungs- und Pflegephase Dokumentation erweitern / korrigieren, Fehlerbeseitigung, neue Revision / Version vorbereiten; UG Schaarschmidt, HS - D 40 HS Düsseldorf (c) USchaarschmidt 20

21 Interruptgesteuerte Programme (1) Diese Methode hat den großen Vorteil, dass das Hauptprogramm (hier nur eine leere Endlosschleife) völlig unbeeinflusst weiterläuft, während der Controller auf die Daten wartet Auf diese Weise kann man mehrere Aktionen quasi gleichzeitig ausführen, da das Hauptprogramm nur kurz unterbrochen wird um die empfangenen Daten zu verarbeiten UG Schaarschmidt, HS - D 41 Interruptgesteuerte Programme (2) Probleme können allerdings auftreten, wenn in der Interruptroutine die gleichen Register verwendet werden wie im Hauptprogramm, da dieses ja an beliebigen Stellen durch den Interrupt unterbrochen werden kann Damit sich aus der Sicht der Hauptschleife durch den Interruptaufruf nichts ändert, müssen alle in der Interruptroutine geänderten Register am Anfang der Routine gesichert und am Ende wiederhergestellt werden In diesem Zusammenhang wird der Stack wieder interessant: Um die Register zu sichern kann man sie mit push einfach oben auf den Stapel legen und am Ende wieder (in der umgekehrten Reihenfolge!) mit pop vom Stapel herunternehmen UG Schaarschmidt, HS - D 42 HS Düsseldorf (c) USchaarschmidt 21

22 Röntgenaufnahme Embedded Systems Medizintechnik-Überblick Embedded Systems mit DSP Embedded Controller sind von der Rechenleistung her in den letzten Jahren an die Signal-, Ton-, Bildverarbeitung herangeführt worden Dh, dass Diagnose- und Therapiegeräte in der Medizintechnik verkleinert werden konnten und portabel bzw mit erheblicher Energieeinsparung für den Rechenprozess entwickelt werden konnten UG Schaarschmidt, HS - D UG Schaarschmidt, HS - D 44 HS Düsseldorf (c) USchaarschmidt 22

23 Computertomographie Coputertomographie UG Schaarschmidt, HS - D UG Schaarschmidt, HS - D 46 HS Düsseldorf (c) USchaarschmidt 23

24 Ableitungen des Elektrokardiogramm Abbildungen: Medtronic UG Schaarschmidt, HS - D 47 Ablauf der EKG-Kurve durch Erregungsfunktion im Herzen UG Schaarschmidt, HS - D 48 HS Düsseldorf (c) USchaarschmidt 24

25 Schematische EEG- Ableitungen EKG - Elektrokardiogramm UG Schaarschmidt, HS - D UG Schaarschmidt, HS - D 50 HS Düsseldorf (c) USchaarschmidt 25

26 Elektroenzephalogramm (EEG) UG Schaarschmidt, HS - D 51 Rohrverengung (Blutgefäss nachempfunden) - Stenose UG Schaarschmidt, HS - D 52 HS Düsseldorf (c) USchaarschmidt 26

27 Ultraschalldiagnose - Dopplerultraschall Ähnlich wie die schon bekannte US- Entfernungsmessung wird von den Organen mit unterschiedlicher Dichte die Schallwellen unterschiedlich absorbiert bzw reflektiert Je feiner die messtechnische Auflösung realisiert werden kann desto besser wird die Bildauflösung Bei der Doppler-Ultraschall-Messung wird der Doppler- Effekt ausgenutzt, um die Geschwindigkeit des fließenden / pulsierenden Blutes zu analysieren UG Schaarschmidt, HS - D 53 HS Düsseldorf (c) USchaarschmidt 27

AVR UART. ELV Modul: http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=28776&flv=1&berei ch=&marke=

AVR UART. ELV Modul: http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=28776&flv=1&berei ch=&marke= AVR UART 1. Einleitung In dieser Anleitung soll beispielhaft gezeigt werden, wie die serielle Kommunikation zwischen einem AVR Mikroprozessor und dem PC aufgebaut wird. Hierbei wird erst der einfache Fall

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

UART-Kommunikation mit dem Atmel AVR

UART-Kommunikation mit dem Atmel AVR Fachbereich Elektrotechnik und Informatik Labor für Angewandte Informatik und Datenbanken Praktikum Automatisierung / Echtzeitregelung (BAU/BER) Prof.Dr.-Ing. Coersmeier UART-Kommunikation mit dem Atmel

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

Einführung in AVR-Assembler

Einführung in AVR-Assembler Einführung in AVR-Assembler Easterhack 2008 Chaos Computer Club Cologne Stefan Schürmans, BlinkenArea stefan@blinkenarea.org Version 1.0.4 Easterhack 2008 Einführung in AVR-Assembler 1 Inhalt Vorstellung

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

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

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs Programmieren 9.1.11 Microcontroller Kurs/Johannes Fuchs 1 General Purpose Input Output (GPIO) Jeder der Pins der vier I/O Ports kann als Eingabe- oder Ausgabe-leitung benutzt werden.

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

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

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

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

Multitasking / virtuelle Maschinen mittels Atmel AVR- Mikrocontrollern (Simple & Stupid)

Multitasking / virtuelle Maschinen mittels Atmel AVR- Mikrocontrollern (Simple & Stupid) VM/AVR SIMPLE & STUPID 1 Multitasking / virtuelle Maschinen mittels Atmel AVR- Mikrocontrollern (Simple & Stupid) Stand: 26. 1. 2010 Zweck: Elementare Demonstration der Mehrprogrammausführung auf Grundlage

Mehr

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C Interrupts Funktionsprinzip Interrupts bei ATmega128 Beispiel in C Funktionsprinzip 1 Was ist ein Interrupt? C muss auf Ereignisse reagieren können, z.b.: - jemand drückt eine Taste - USART hat Daten empfangen

Mehr

C4 Die SPI Schnittstelle

C4 Die SPI Schnittstelle C4 Die SPI Schnittstelle Einführung Motorola entwickelte die synchrone SPI-Master-Slave Schnittstelle, (Serial Periphal Interface) für die Kommunikation zwischen Mikrocontrollern. Ein ähnliches Bus System

Mehr

Aufgabenstellung Praktikum Mikrorechentechnik Sommersemester 2014

Aufgabenstellung Praktikum Mikrorechentechnik Sommersemester 2014 Aufgabenstellung Praktikum Mikrorechentechnik Sommersemester 2014 Aufgabe: Entwurf und Implementierung eines Weckers auf Basis des MSP430 Education Systems Beschreibung: Gegenstand des Praktikums ist der

Mehr

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung

Mehr

Mikrocontroller - Schnelleinstieg

Mikrocontroller - Schnelleinstieg Mikrocontroller - Schnelleinstieg Am Beispiel des Atmel Mega8 Philipp Fabian Benedikt Maier Mikrocontroller Schnelleinstieg Seite 1 Mikrocontroller - Schnelleinstieg: - Was ist ein Mikrokontroller? - Welche

Mehr

8.0 Erweiterung mit dem 8 Bit D/A Maxim MAX5382

8.0 Erweiterung mit dem 8 Bit D/A Maxim MAX5382 8.0 Erweiterung mit dem 8 Bit D/A Maxim MAX5382 Der MAX5382 ist ein 8 Bit DA Wandler im SOT23 Gehäuse. Der MAX5380 besitzt eine interne Referenzspannung von 2 V, der MAX5381 von 4 Volt und der verwendete

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

AVR-Mikrocontrollertechnik

AVR-Mikrocontrollertechnik 1/31 Ziele der Weiterbildung Vermitteln von Grundlagen zu den AVR Controllern Vermitteln von Assembler Grundlagen Vorstellen der benötigten Hard und Software Eigenständiges Programmieren der Controller

Mehr

BLIT2008-Board. Uwe Berger

BLIT2008-Board. Uwe Berger 11/2008 (BLIT) 2 Inhalt Was sind Mikrocontroller AVR-Mikrocontroller Werkzeugkasten Prinzipielles zur Programmierung BLIT2008-Board 11/2008 (BLIT) 3 Was sind Mikrocontroller AVR-Mikrocontroller Werkzeugkasten

Mehr

Wer möchte, kann sein Programm auch auf echter Hardware testen

Wer möchte, kann sein Programm auch auf echter Hardware testen U4 3. Übungsaufgabe U4 3. Übungsaufgabe Grundlegendes zur Übung mit dem AVR-μC Register I/O-Ports AVR-Umgebung Peripherie U4.1 U4-1 Grundlegendes zur Übung mit dem AVR-mC U4-1 Grundlegendes zur Übung mit

Mehr

3.0 8051 Assembler und Hochsprachen

3.0 8051 Assembler und Hochsprachen 3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle

Mehr

Parallel-IO. Ports am ATmega128

Parallel-IO. Ports am ATmega128 Parallel-IO Ansteuerung Miniprojekt Lauflicht Ports am ATmega128 PortE (PE7...PE0) alternativ, z.b. USART0 (RS232) 1 Pin von PortC Port C (PC7...PC0) 1 Parallel-IO-Port "Sammelsurium" verschiedener Speicher

Mehr

Lösungen zum Kurs "Mikrocontroller Hard- und Software

Lösungen zum Kurs Mikrocontroller Hard- und Software Lösungen zum Kurs "Mikrocontroller Hard- und Software Gerhard Schmidt Kastanienallee 20 64289 Darmstadt http://www.avr-asm-tutorial.net Lösung Aufgabe 2 Aufgabe 2 sbi DDRB,PB0 2 Takte sbi PORTB,PB0 2 Takte

Mehr

Zuse-Computer: Z1. erster Rechner mit binären Zahlen. Entwicklung der computergerechten. (Grundlage für IEEE-754) funktionierte leider nie zuverlässig

Zuse-Computer: Z1. erster Rechner mit binären Zahlen. Entwicklung der computergerechten. (Grundlage für IEEE-754) funktionierte leider nie zuverlässig Überblick Grundlagen: Spannung, Strom, Widerstand, IV-Kennlinien Elektronische Messgeräte im Elektronikpraktikum Passive Filter Signaltransport im Kabel Transistor Operationsverstärker PID-Regler Sensorik

Mehr

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen.

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen. Teilen binär Teil 1 - Vorzeichenlose Ganzzahlen ============ Irgendwann steht jeder Programmieren vor diesem Problem. Wie teile ich eine Binärzahl durch eine zweite? Wer in der Grundschule ein wenig aufgepasst

Mehr

Ein erstes Assembler-Projekt

Ein erstes Assembler-Projekt Das Attiny-Projekt Ein erstes Assembler-Projekt 1 Ein erstes Assembler-Projekt In diesem Kapitel wollen wir ein erstes einfaches Assembler-Programm für unsere Attiny-Platine schreiben. Worum soll es gehen?

Mehr

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

Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler die Datein verarbeitet. U4 4. Übung U4 4. Übung Besprechung Aufgabe 2 Makros Register I/O-Ports U4.1 U4-1 Makros U4-1 Makros Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler

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

Ringlicht-v3 - Frei konfigurierbares Ringlicht mit RS232 Anbindung. Kurzbeschreibung

Ringlicht-v3 - Frei konfigurierbares Ringlicht mit RS232 Anbindung. Kurzbeschreibung Ringlicht-v3 - Frei konfigurierbares Ringlicht mit RS232 Anbindung Kurzbeschreibung Das frei konfigurierbare Ringlicht kann jede beliebige Abfolge an Lichtmustern erzeugen und über einen Triggereingang

Mehr

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI)

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI) Serielle Kommunikation mit dem Arduino Teil 1: Das Serial Peripheral Interface (SPI) Axel Attraktor e.v. 4. Juni 2012 Axel (Attraktor e.v.) 5. Arduino-Stammtisch 4. Juni 2012 1 / 25 Serielle Kommunikation

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

I2C-Echtzeituhr am Atmel AVR

I2C-Echtzeituhr am Atmel AVR Fachbereich Elektrotechnik und Informatik Labor für Angewandte Informatik und Datenbanken Praktikum Mikrocontroller und DSP (EMD) Prof.Dr.-Ing. E. Coersmeier I2C-Echtzeituhr am Atmel AVR Name, Vorname

Mehr

Fachhochschule Kaiserslautern Fachbereich Angewandte Ingenieurwissenschaften WS2010/11. Zeitpunkt der Prüfung: 18.01.2011 Beginn: 10.

Fachhochschule Kaiserslautern Fachbereich Angewandte Ingenieurwissenschaften WS2010/11. Zeitpunkt der Prüfung: 18.01.2011 Beginn: 10. Lehrprozessor: Coldfire MCF-5272 Zeitpunkt der Prüfung: 18.01.2011 Beginn: 10.45 Uhr Raum: Aula Bearbeitungszeit: 180 Minuten Erlaubte Hilfsmittel: Gedrucktes Vorlesungsskript von Prof. Neuschwander mit

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

7.0 PWM - Pulsbreitenmodulation

7.0 PWM - Pulsbreitenmodulation 7.0 PWM - Pulsbreitenmodulation PWM ist eine Abkürzung für Pulse Width Modulation (Pulsbreitenmodulation). Zwei unabhängige PWM-Ausgänge erlauben die Erzeugung von Rechtecksignalen mit einstellbarer Frequenz

Mehr

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c 1 Transportbefehle 1.1 Verwendung nur Akku und Register (R0, R1,... R7) 1.1.1 Kopieren Sie den Wert aus Register1 nach

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

Produktinformationen. Basis Set Atmel Atmega8 & ISP Programmer. Lieferumfang :

Produktinformationen. Basis Set Atmel Atmega8 & ISP Programmer. Lieferumfang : Produktinformationen Basis Set Atmel Atmega8 & ISP Programmer Lieferumfang : 1 Steckboard 840 Pin 1 USB ISP Programmer mit Kabel 1 Kabelsatz 32-teilig 1 Atmega8L 5 LED 3mm Klar Rot/Gelb/Grün/Blau/Weiss

Mehr

StarterKit Embedded Control SC13 + DK51. From the electronic to the automation

StarterKit Embedded Control SC13 + DK51. From the electronic to the automation SC13 + DK51 From the electronic to the automation 21.10.2005 No. 1 /14 Entwicklungssystem für Embedded Controller Applikationsspezifische Komponenten ergänzen. Ethernet-Anbindungen seriellen Schnittstellen

Mehr

Tag 2 Eingabe und Interrupts

Tag 2 Eingabe und Interrupts Tag 2 Eingabe und Interrupts 08/30/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Taster Direkt an Portpin angeschlossen (etwa PINB0, PIND3) Pull-Up-Widerstände einschalten!

Mehr

Neues vom STRIP Forth-Prozessor

Neues vom STRIP Forth-Prozessor Neues vom STRIP Forth-Prozessor Tagung der Forth-Gesellschaft April 2011 in Goslar Willi Stricker 1 STRIP Forth-System Praxisdemonstration Aufbau Hardware Aufbau Software 2 STRIP-Kernel Clocks So,S1 Clock

Mehr

Kapitel 04: Das erste Projekt Abschnitt 04: Überblick über das Programm

Kapitel 04: Das erste Projekt Abschnitt 04: Überblick über das Programm Kapitel 04: Das erste Projekt Abschnitt 04: Überblick über das Programm Beim Durchgehen des Programms will ich die verschiedenen Abschnitte zeigen, aus denen jedes ATmega-Assemblerprogramm besteht. Da

Mehr

SC18IM700-Tester v1.0. 1. Einleitung

SC18IM700-Tester v1.0. 1. Einleitung SC18IM700-Tester v1.0 1. Einleitung Der SC18IM700-Tester ist ein mittels Visual Studio.NET und in der Programmiersprache C# entwickeltes Programm. Es lehnt sich an der Funktion eines einfachen Terminal-

Mehr

8.1 Grundsätzlicher Aufbau der Beispiele

8.1 Grundsätzlicher Aufbau der Beispiele 107 8 Beispiele Nachdem nun viele theoretische Grundlagen gelegt wurden, kann man mit dem Programmieren eines Mikrocontrollers beginnen. In den folgenden Kapiteln werden verschiedene Möglichkeiten der

Mehr

RN-Control ARDUINO Bibliothek ATMEL 32 Version 0.2

RN-Control ARDUINO Bibliothek ATMEL 32 Version 0.2 RN-Control ARDUINO Bibliothek ATMEL 32 Version 0.2 Bernd Klein 23. Mai 2011 Inhaltsverzeichnis 1 ARDUINO - RN-Control Library 3 1.1 Bibliothek RNControl...................... 3 1.2 Einführung............................

Mehr

i2c-bus.de I2C-001 KURZBESCHREIBUNG I 2 C Modul mit PCF8574 8-Bit I/O Port-Expander Dokument NR.: I2C-001-D-01

i2c-bus.de I2C-001 KURZBESCHREIBUNG I 2 C Modul mit PCF8574 8-Bit I/O Port-Expander Dokument NR.: I2C-001-D-01 DA CL Dokument NR.: I2C-001-D-01 I2C-001 KURZBECHREIBUNG I 2 C Modul mit PCF8574 8-Bit I/O Port-Expander P Bitte denken ie an die Umwelt, bevor ie diese Datei ausdrucken DA CL Inhaltsverzeichnis 1. Modul

Mehr

Programmlisting STEP7/Micro:

Programmlisting STEP7/Micro: Softwaremodul zur Datenübernahme der Strahldaten vom SCAN- Lichtgitter in eine SPS vom Typ Simatic S7/200 Das als Interrupt-Modul realisierte Treiberprogramm übernimmt die Meßdaten als seriellen Datenstrom

Mehr

Befehlssatz AVR RISC Controller

Befehlssatz AVR RISC Controller Befehlssatz AVR RISC Controller Design-Philosophie des AVR Befehlssatzes Assembler-Sprache AVR-Befehlssatz Philosophie RISC = Reduced Instruction Set Computing keine komplexen Befehle möglichst symmetrischer

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

i2c-bus.de I2C-002 KURZBESCHREIBUNG I 2 C Modul mit PCA8574 8-Bit I/O Port-Expander Dokument NR.: I2C-002-D-01

i2c-bus.de I2C-002 KURZBESCHREIBUNG I 2 C Modul mit PCA8574 8-Bit I/O Port-Expander Dokument NR.: I2C-002-D-01 DA CL Dokument NR.: I2C-002-D-01 I2C-002 KURZBECHREIBUNG I 2 C Modul mit PCA8574 8-Bit I/O Port-Expander P Bitte denken ie an die Umwelt, bevor ie diese Datei ausdrucken DA CL Inhaltsverzeichnis 1. Modul

Mehr

AVR-8-Bit-Mikrocontroller Bootloader

AVR-8-Bit-Mikrocontroller Bootloader Physik-Seminar AVR-8-Bit-Mikrocontroller Bootloader Markus Schroeder, 203110686 Universität Koblenz-Landau schroeder@uni-koblenz.de Betreuer: Dr. Merten Joost c 2006 INHALTSVERZEICHNIS 2 Inhaltsverzeichnis

Mehr

SPI Serial Peripheral Interface

SPI Serial Peripheral Interface SPI Serial Peripheral Interface Physik- Seminar Universität Koblenz-Landau Christian Büch 27. Juni 2006 Einleitung SPI bedeutet Serial Peripheral Interface zu Deutsch serielle Peripherie Schnittstelle

Mehr

EX-1361 / EX-1361IS EX-1362 / EX-1362IS. 1S PCMCIA Karte Standard und Surge Protection & Optical Isolation

EX-1361 / EX-1361IS EX-1362 / EX-1362IS. 1S PCMCIA Karte Standard und Surge Protection & Optical Isolation Bedienungsanleitung EX-1361 / EX-1361IS 1S PCMCIA Karte Standard und Surge Protection & Optical Isolation EX-1362 / EX-1362IS 2S PCMCIA Karte Standard und Surge Protection & Optical Isolation Version 1.3

Mehr

ateval-board Aufbauanleitung & Handbuch

ateval-board Aufbauanleitung & Handbuch atevalboard Aufbauanleitung & Handbuch Elektronik Hannes Jochriem Oberfeldweg 10 D 300 Oberaudorf info@ehajo.de 0033 / 695 69 9 0033 / 695 69 90 1. Inhaltsverzeichnis Aufbau... 5 Sockel...7 Summer...7

Mehr

Microcontroller Programmierung. Ein PDV-Vertiefungsprojekt von: Chr. Schulz, P. Simon und D. Stein Sommersemester 2005 Version 1.0

Microcontroller Programmierung. Ein PDV-Vertiefungsprojekt von: Chr. Schulz, P. Simon und D. Stein Sommersemester 2005 Version 1.0 Microcontroller Programmierung Ein PDV-Vertiefungsprojekt von: Chr. Schulz, P. Simon und D. Stein Sommersemester 2005 Version 1.0 Inhalt Einführung Die Hardware Die Schaltlogik Implementierung der Steuerung

Mehr

DTMF Sender. Es können 252 Zeichen maximal am Stück übertragen werden; die Länge des Strings wird mit einem Byte übertragen.

DTMF Sender. Es können 252 Zeichen maximal am Stück übertragen werden; die Länge des Strings wird mit einem Byte übertragen. DTMF Sender Author DK1RI, Version V02.1, 20160104 This project can be found in https://www.github.com/dk1ri Einleitung Dieses Interface ist eine Vorlage für ein Interface, das ein Gerät, das sich mit DTMF

Mehr

BEDIENUNGSANLEITUNG SKX OPEN. SKX Open ZN1RX SKXOPEN. Edition 1,1

BEDIENUNGSANLEITUNG SKX OPEN. SKX Open ZN1RX SKXOPEN. Edition 1,1 BEDIENUNGSANLEITUNG SKX OPEN SKX Open ZN1RX SKXOPEN Edition 1,1 INHALT 1. Einleitung... 3 1.1. ZN1RX-SKX OPEN... 3 1.2. Applikationsprogramm: SKX Open... 3 1.3. Grundlegende Spezifikationen des SKX Open...

Mehr

Projekt Thermen-Steuerung von Manuel Schreiner Mat.-Nr.: 713586 Betreuer: Prof. Rückle

Projekt Thermen-Steuerung von Manuel Schreiner Mat.-Nr.: 713586 Betreuer: Prof. Rückle Stand 16.06.08 Projekt Thermen-Steuerung von Manuel Schreiner Mat.-Nr.: 713586 Betreuer: Prof. Rückle Projekt-Kurzbeschreibung: Ziel des Projektes ist es ein Gerät zu entwickeln, welches die Temperatur

Mehr

Serieller S-Bus reduziertes Protokoll (Level 1)

Serieller S-Bus reduziertes Protokoll (Level 1) 2 Serieller S-Bus reduziertes Protokoll (Level 1) Inhalt - S-Bus RS485 Netzwerk - Beispielaufbau - Reduziertes S-Bus-Protokoll - PG5 Projektvorbereitung - Master / Konfiguration und Programmierung - Master

Mehr

Fernseh-Simulator Microcontroller ATMEL 89C4051 8 Bit Betriebsspannungsbereich von 9-35 Volt 8 leistungsfähigen Ausgänge 16 Programmspeicherplätze

Fernseh-Simulator Microcontroller ATMEL 89C4051 8 Bit Betriebsspannungsbereich von 9-35 Volt 8 leistungsfähigen Ausgänge 16 Programmspeicherplätze Fernseh-Simulator Diese Steuerung mit dem Microcontroller ATMEL 89C4051 ist für universelle Steueraufgaben bis 8 Bit ausgelegt. Der große Betriebsspannungsbereich von 9-35 Volt, die 8 leistungsfähigen

Mehr

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich Seite 1 von 10 CU-R-CONTROL Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32 Autor: Christian Ulrich Datum: 08.12.2007 Version: 1.00 Seite 2 von 10 Inhalt Historie

Mehr

Assembler für BASIC Programmierer

Assembler für BASIC Programmierer Assembler für BASIC Programmierer Von jean-claude.feltes@education.lu Wenn es mal schnell gehen muss: ASM und BAS mischen in BASCOM. Warum? Gibt es gute Gründe, sich mit Assembler herumzuplagen, wenn alles

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Interrupts. Inhalt. Interrupts. Synchronisation

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Interrupts. Inhalt. Interrupts. Synchronisation Übungen zu Systemnahe Programmierung in C (SPiC) Peter Wägemann, Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Übung 5 Inhalt Synchronisation Stromsparmodi Aufgabe 5: Ampel Hands-on: & Sleep Sommersemester

Mehr

5-Tonfolgen Dekodierung mittels AVR

5-Tonfolgen Dekodierung mittels AVR 5-Tonfolgen Dekodierung mittels AVR 2. Fassung In letzter Zeit bekam ich viele Anfragen wie denn die Dekodierung der Tonfolgen über einen µc genau funktioniert, wie die Hardware und Software dazu aussieht

Mehr

Universita t Koblenz/Landau Studienarbeit

Universita t Koblenz/Landau Studienarbeit Universita t Koblenz/Landau Studienarbeit Michael Fogel mikfogel@uni-koblenz.de 1.8.2005 Abbildung 1: Bild des fertigen Gera tes 1 INHALTSVERZEICHNIS INHALTSVERZEICHNIS Inhaltsverzeichnis 1 Aufgabenstellung

Mehr

Assembler in der Arduino-IDE: ein Einblick

Assembler in der Arduino-IDE: ein Einblick Skript Assembler in der Arduino-IDE: ein Einblick C-Code Die Arduino-IDE baut auf dem GNU-Assembler auf. Daher ist es möglich, mit der avr-gcc den µc über die ISP-Schnittstelle in Assembler programmieren.

Mehr

Wintersemester 08/09. Anwendungen der Prozessdatenverarbeitung Inverses Pendel

Wintersemester 08/09. Anwendungen der Prozessdatenverarbeitung Inverses Pendel Fachhochschule Wiesbaden Fachbereich Design Informatik Medien Studiengang Allgemeine Informatik WS 08/09 Wintersemester 08/09 Anwendungen der Prozessdatenverarbeitung Inverses Pendel bei Prof. Dr. Karl-Otto

Mehr

9 Multithreading. 1 Idee des Multithreading

9 Multithreading. 1 Idee des Multithreading 9 Multithreading Jörn Loviscach Versionsstand: 21. Juli 2015, 11:50 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work is licensed

Mehr

Single Side AVR Experimentier Board. Version 1.4. erstellt von. Ulrich Radig

Single Side AVR Experimentier Board. Version 1.4. erstellt von. Ulrich Radig Single Side AVR Experimentier Board Version 1.4 erstellt von Ulrich Radig 1 Inhaltsverzeichnis: 1. Vorwort S.3 2. Spezifikation S.4 3. Beschreibung S.5 4. Steckerbelegungen S.6 4.1. Steckerbelegung JP1

Mehr

Embedded Touch Panel PC OTP/57V

Embedded Touch Panel PC OTP/57V Embedded Touch Panel PC OTP/57V 19 / 3HE Operator Touch Panel System 5.7 VGA LCD, Touch Screen für X86: Linux / Java oder ARM: Web Applications Beschreibung Kompakter Touch Panel PC für moderne HMI Anwendungen

Mehr

BENUTZERHANDBUCH (PC Steuersoftware V2.13)

BENUTZERHANDBUCH (PC Steuersoftware V2.13) BENUTZERHANDBUCH (PC Steuersoftware V2.13) INFOMASTER MODELL 160 GLI/RLI TEXT LITE, Hans Heibges, Grimbergstr. 12 b, D-45889 Gelsenkirchen Tel.: + (0) 209 9 80 80 0, Fax: (0) 209 9 80 80 20 E-Mail: info@textlite.de,

Mehr

A20_PCI. ARCNET Controller Karte für PCI Bus. Gerätebeschreibung. 2003 TK Systemtechnik GmbH Nr. TK-04-037-F-1.2

A20_PCI. ARCNET Controller Karte für PCI Bus. Gerätebeschreibung. 2003 TK Systemtechnik GmbH Nr. TK-04-037-F-1.2 A20_PCI ARCNET Controller Karte für PCI Bus Gerätebeschreibung 2003 TK Systemtechnik GmbH Nr. TK-04-037-F-1.2 Angaben zur Version Dokument-Nr. Beschreibung Datum TK-04-037-F-1.0 Ausgabe 1 17.04.2001 TK-04-037-F-1.1

Mehr

AVR Web Server. Version 1.1. erstellt von. Ulrich Radig

AVR Web Server. Version 1.1. erstellt von. Ulrich Radig AVR Web Server Version 1.1 erstellt von Ulrich Radig 1 Vorwort: Der von mir aufgebaute AVR Webserver dient zum Steuern Messen und Regeln von diversen Gerätschaften genannt seien Garagentor, Lampen, Heizung

Mehr

Installation & Verwendung. Version 1.0. WinAVR

Installation & Verwendung. Version 1.0. WinAVR Installation & Verwendung Version 1.0 WinAVR Allgemeines Der estick ist ein USB basiertes Entwicklungs-Board für Atmel AT90USB162 Mikrocontroller. Einfache, anschauliche Anwendungen und Beispiele basierend

Mehr

USB2SERIALv1 Virtueller COM-Port, isoliert. Motivation Prinzip Funktion Schaltpläne Layout Signale. WindowsXP. Applikation DOS.

USB2SERIALv1 Virtueller COM-Port, isoliert. Motivation Prinzip Funktion Schaltpläne Layout Signale. WindowsXP. Applikation DOS. USB2SERIALv1 Virtueller COM-Port, isoliert Motivation Prinzip Funktion Schaltpläne Layout Signale DOS WindowsXP Applikation Dr. G. Heinz, GFaI e.v. Rudower Chausee 30 12489 Berlin Tel. +49 (30) 6392-1652

Mehr

Autonome Mobile Systeme. Dr. Stefan Enderle

Autonome Mobile Systeme. Dr. Stefan Enderle Autonome Mobile Systeme Dr. Stefan Enderle 2. Mikrocontroller Einleitung Unterschied Controller / Prozessor: Speicher (RAM, Flash, Eprom) intern Viele I/Os (Digital, Analog) Bus-Unterstützung (Seriell,

Mehr

Embedded Hardware Getting Started

Embedded Hardware Getting Started Embedded Hardware Getting Started HW - Ressourcen 2 Arduino Installation-Guide 4 Arduino IDE/Download 4 Arduino Treiber Installation 5 Arduino DIE starten 7 Arduino IDE - Getting Started (Code-Basiert)

Mehr

Technische Dokumentation

Technische Dokumentation Technische Dokumentation für metratec TCP/IP auf UART Converter (TUC) Stand: Juni 2011 Version: 1.0 Technische Dokumentation metratec TUC Seite 1 von 11 Inhaltsverzeichnis 1. Allgemeine Hinweise/Sicherheitshinweise...3

Mehr

Bluetooth Low Energy Demo mit dem Apple iphone 4s

Bluetooth Low Energy Demo mit dem Apple iphone 4s Bluetooth Low Energy Demo mit dem Apple iphone 4s Die hier dokumentierte Demo zeigt die einfache Übertragung von ASCII Zeichen zwischen einem iphone 4s (iphone 5, ipad 3, ipad 4, ipad mini) und einem connectblue

Mehr

embedded projects GmbH

embedded projects GmbH embedded projects GmbH e Quickstart GNUBLIN 32 MB (700641) Montage- und Aufbauanleitung Beispielanwendung (Rote LED auf dem Gnublin ) 1/12 Lieber Kunde, wir versuchen mit unseren Datenenblättern Ihnen

Mehr

D i g i t a l l a b o r

D i g i t a l l a b o r Hochschule Karlsruhe Technik und Wirtschaft Fakultät für Informatik und Wirtschaftsinformatik Prof. Dr. A. Ditzinger / Dipl.-Inform. (FH) O. Gniot Prof. Dr. N. Link / Dipl.-Ing. J. Krastel D i g i t a

Mehr

AN025. Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der CPU-Auslastung im Echtzeitbetrieb

AN025. Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der CPU-Auslastung im Echtzeitbetrieb AN025 Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der Autor: HB AN025.DOC (6 Seiten) 1. Definition Im folgenden wie auch in allen anderen Sorcus Schriften werden folgende Kurzbezeichnungen verwendet:

Mehr

Erster Schritt Vom Herunterladen bis zum Programmieren

Erster Schritt Vom Herunterladen bis zum Programmieren Erster Schritt Vom Herunterladen bis zum Programmieren Revision vom 27.07.2012 Verzeichnis 1. Einleitung 3 2. Herunterladen 4 3. Installation 5 4. Atmel Studio 6 6 4.1. Neues Projekt 7 4.2. Hinzufügen

Mehr

AVR-Mikrocontroller in BASCOM programmieren, Teil 3

AVR-Mikrocontroller in BASCOM programmieren, Teil 3 jean-claude.feltes@education.lu 1/8 AVR-Mikrocontroller in BASCOM programmieren, Teil 3 Alle Beispiele in diesem Kapitel beziehen sich auf den Mega8. Andere Controller können unterschiedliche Timer haben.

Mehr

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Sicheres C in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies

Mehr

Installation & Verwendung. Version 1.0. WinAVR & AVR Studio 4

Installation & Verwendung. Version 1.0. WinAVR & AVR Studio 4 Installation & Verwendung Version 1.0 WinAVR & AVR Studio 4 Allgemeines Der estick ist ein USB basiertes Entwicklungs-Board für Atmel AT90USB162 Mikrocontroller. Einfache, anschauliche Anwendungen und

Mehr

1 Assembler. 2 LED-Steuerung

1 Assembler. 2 LED-Steuerung Inhaltsverzeichnis Inhaltsverzeichnis... 1 1 Assembler... 2 2 LED-Steuerung... 2 3 Taster Abfrage ( Port I/O)... 3 3.1 Zahlensysteme... 3 3.2 Ausgabe... 4 3.2.1 Assembler-Sourcecode... 4 3.2.2 Assemblieren...

Mehr

Netduino Mikroprozessor für.net Entwickler

Netduino Mikroprozessor für.net Entwickler Netduino Mikroprozessor für.net Entwickler Patrick Herting Softwareentwickler BlueTem Software GmbH Blog E-Mail www.wdev.de pher@live.de Ablaufplan - Theorieteil Was ist der Netduino? Welche Modelle gibt

Mehr

Autoren: Anderson, Peter SYI101-Gruppe1 Müller, Petra SYI101-Gruppe1 Sonderman, Xaver SYI101-Gruppe1. Hexor Systemanalyse

Autoren: Anderson, Peter SYI101-Gruppe1 Müller, Petra SYI101-Gruppe1 Sonderman, Xaver SYI101-Gruppe1. Hexor Systemanalyse Autoren: Anderson, Peter SYI101-Gruppe1 Müller, Petra SYI101-Gruppe1 Sonderman, Xaver SYI101-Gruppe1 Hexor Systemanalyse Inhaltsverzeichnis 1 Abstract...4 2 Auftragsanalyse...5 2.1 Ist-Zustand...5 2.2

Mehr

Ergänzungen zum Manual OS V 2.05/2.06

Ergänzungen zum Manual OS V 2.05/2.06 Ergänzungen zum Manual OS V 2.05/2.06 SYSTEMRESOURCEN - PROGRAMM DOWNLOAD - Ab der Betriebssystemversion 2.05 haben die C-Control Units M-2.0 und Station 2.0 die Möglichkeit das Anwenderprogramm von einem

Mehr

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil IV: Programmieren an Beispielen

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil IV: Programmieren an Beispielen Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil IV: Programmieren an Beispielen Die

Mehr

eblock, SD-Kartenleser Projektteam: Henrik Esche Tobias Albers Michael Heßling Daniel Lütfrenk Jonas Wieschmann

eblock, SD-Kartenleser Projektteam: Henrik Esche Tobias Albers Michael Heßling Daniel Lütfrenk Jonas Wieschmann eblock, SD-Kartenleser Projektteam: Henrik Esche Tobias Albers Michael Heßling Daniel Lütfrenk Jonas Wieschmann eblock, SD-Kartenleser Zieldefinition: Am 17.06.2009 ist ein eblock betriebsbereit und mit

Mehr

SEDU-Ambilight. Ambilight mit dem SEDU-Board

SEDU-Ambilight. Ambilight mit dem SEDU-Board SEDU-Ambilight Ambilight mit dem SEDU-Board 1 Merkmale Das SEDU-Board ist ein universelles Controller-Board mit einem ATMega16-Prozessor (oder kompatiblen). Eine Beschreibung des Boards ist über einen

Mehr

Teil I: Wat isse ne Mikrokontroller?

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

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr