Praktikum Mikrocomputertechnik

Ähnliche Dokumente
Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

Tag 2 Eingabe und Interrupts

B1 Stapelspeicher (stack)

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

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./

Praktikum Mikrocomputertechnik

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


Anwendung und Programmierung von Mikrocontrollern. Anwendung und Programmierung von Mikrocontrollern

FKOM Applikationen mit 6LoWPAN


Inhaltsverzeichnis. Ersatzteilwesen PROGRAMMDOKUMENTATION SPCM

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

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

UART-Kommunikation mit dem Atmel AVR

Weiterleiten von Bildern und Texten mittels SMTP

myavr Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg für myavr Board MK3

AVR-Mikrocontroller in BASCOM programmieren, Teil 3

Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg am Beispiel myethernet-projekt

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

Deckblatt. VPN-Tunnel über Internet. SCALANCE S61x und SOFTNET Security Client Edition FAQ August Service & Support. Answers for industry.

OPENDO neo. Aufzugsteuerung. Kurzanleitung D

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

Anleitung zur Einrichtung einer ABB Welcome Türkommunikation Anlage in den EisBär Scada V2.1 (Geprüft mit Version )

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

Anleitung zur Einrichtung eines 3G/4G Internetzugangs Für DWR-921

Tutorial. Microcontroller. Grundlagen µc. Kapitel 1

Lehrfach: Mikrorechentechnik Versuch: Zeitmessung

minimon Einfaches CAN-Monitoringtool für Windows

I2C-Echtzeituhr am Atmel AVR

Serie 8: Microcontroller 17./

Die Entwicklungsumgebung. Labor Technische Informatik. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) A. Reber

TBE332 Controller. Produktbeschreibung

Anschluß des DI-614+ an das lokale, bereits vorhandene Netzwerk

Praktikum Mikrocomputertechnik

Versuch 3: Anwendungen der schnellen Fourier-Transformation (FFT)

Bedienungsanleitung BOTEX DMX OPERATOR

Bedienungsanleitung Modbus-LAN Gateway

Übung zur Einführung in die digitale Signalverarbeitung

Abenteuer DC-Car. Der neue Ampelbaustein M O D E L L E I S E N B A H N C L A U S

Mikrocomputertechnik

Bedienungs- & Installationsanleitung COMMPACT / COMMPACT Audio V2.0

Zähler- und Zeitgeber-Baugruppen

a.i.o. control AIO GATEWAY Einrichtung

EBÜS Manager. Alle Video-Arbeitsplätze zentral überwachen. Hardo Naumann EBÜS Manager Status: Freigegeben,

ANLEITUNG ZUR EINRICHTUNG VON FTP UNTER OS X 10.8 (MOUNTAIN LION)

DNS-325/-320 und FXP

UMGANG MIT MICROSOFT WORD ~DER EINSTIEG~

Installation / Konfiguration von WebcamXP/7

Technical Note 0605 ewon

Über die Status-Befehle kann die Peripherie der gesamten Hard- und Firmware abgefragt werden.

\ @ ) ooo0o_( )_o0oo --ooo--(_o_)--ooo BBBBB BBBBB BB BB BB BB BBBBB BBBBB BB BB BB BB BBBBB asti und BBBBB enny's Ampelanlage

Inhalt 1 Inbetriebnahme 2 Erläuterungen zum Gateway 3 Bedienung der App 4 Hinweise zur Fehlerbehebung. 1 - Inbetriebnahme Gateway anschließen

SNr bis mit Gigabyte AMD K7 Mainboard. Konfiguration 7 und 7M

Hex Datei mit Atmel Studio 6 erstellen

Transponder Zutrittskontrolle. Set 1 / 2 / 3. Bedienungsanleitung

Service Handbuch. Heißkanalregler HR & HRD. Rev /2014 Originalserviceanleitung

Kurzanleitung. 29. Februar Oktober 2008 Update. APtool-Kurzanleitung-V1_2_DE Seite 1 von 8

MySQL Community Server 5.6 Installationsbeispiel (Ab )

Compuprint SP40plus. Das SP40plus Remote Setup Programm. Restore MFG. Send Setup. Send Setup. Restore MFG

Lösungen zum Kurs "Mikrocontroller Hard- und Software

Programmlisting STEP7/Micro:

SEDU-Ambilight. Ambilight mit dem SEDU-Board

automation technologies GmbH PAD-Card Benutzerhandbuch

Eine Übersicht über die angepassten Skripte ist hier (Skripte Referenz) zu finden.

Einführung in das Programmieren in der Sekundarstufe 1. mit einem Arduino und der Physical-Computing-Plattform

einfache PIC-Übungsprogramme

Kapitelbezeichnung Kapitelbezeichnung

Übungscomputer mit Prozessor Bedienungsanleitung

Echtzeitbetriebssysteme/ Prozessdatenverarbeitung II

S O L U T I O N S ::::: CSE-H55 Ethernet/RS422 Wandler. Installationsanleitung

Smart Home. Quickstart

µc/os-ii FLASHPORTIERUNG FÜR SK167 Peter Balog Fachhochschule Technikum Wien ZUSAMMENFASSUNG:

Benutzerhandbuch. Smartphone-Server App Stand

Parallel-IO. Ports am ATmega128

Arbeiten mit XILINX - ISE - WebPACK

Transparente Kommunikation zwischen SPS / PC und TOSHIBA Frequenzumrichtern

DOKUMENTATION VOGELZUCHT 2015 PLUS

DB2 Kurzeinführung (Windows)

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung

Memory-Mapped-IO. Kapitel 4

Exchange-Server - Outlook 2003 einrichten. 1. Konfiguration Outlook 2003 mit MAPI. Anleitung: Stand:

Teil I: Wat isse ne Mikrokontroller?

Inhalt. Inhalt Voraussetzungen Liegenschaften und Adressen auswählen Abgleich mit Internet-Office Dokumente...

Sicheres C Programmieren in Embedded Systemen ARM I (ARM7TMDI [1] ) Wintersemester

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

CompuLok Zentrale. Software Interface. Digitalzentrale für DCC und Motorola Format

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

Alle Video-Arbeitsplätze zentral überwachen

Fortbildungsmodule >> Elektrotechnik. Modulpräzisierung zu Modul 22 >> µc. Teilmodul 22.1 Grundlagen µcontroller 8051

Beispielsammlung (1. Beispiel)

ALL0276VPN / Wireless g VPN Router

Gateway für netzwerkfähige Komponenten ewon kann als Gateway für alle netzwerkfähigen Komponenten dienen

Mikrocontroller - Schnelleinstieg

Bedienungsanleitung Version 1.0

Neue Funktionen im GUI für PC-DMIS V3.x 4.x Seite 1 von 8

MERLIN IPHONE. Der Schnelleinstieg ins mobile Projektmanagement ProjectWizards GmbH, Melle, Germany. All rights reserved.

Transkript:

Praktikum Mikrocomputertechnik Versuch 5: Labor: Termin der Durchführung: IE-Labor und DT-Labor Ampelsteuerung als Automat Teilnehmer: Gruppe: Semester: Student 1: Student 2: Testat: Datum: Bemerkungen: Unterschrift: - 1 -

Praktikum Mikrocomputertechnik Versuch 4: Erstellen einer Ampelsteuerung mit dem Mikrocontroller XC164 1 Versuchsinhalte Allgemeine Beschreibung Bei der Programmierung der Ampelsteuerung wird Ihnen weitestgehend freie Hand gegeben. Sie müssen eine Ampelanlage nach einem definierten Zeitschema ansteuern. Die LEDs werden direkt vom den Port P1 des µcs angesteuert. Die Status-LEDs und -taster werden in diesem Versuch nicht benötigt, stehen Ihnen aber für Debugoder Statuszwecke zur Verfügung. Die einzige Einschränkung ist, dass Sie die Ampelsteuerung als Automaten realisieren müssen. Verwenden Sie zur Definition der Zustände und Übergangsbedingungen (Wartezeiten) einen Datenbereich. Umsetzungen die einfach nur mit Ausgabelisten oder ähnlichem arbeiten, werden als Lösung nicht akzeptiert. Vorbereitung Sie sind bei diesem Versuch darauf angewiesen, sich grundlegende Gedanken bereits in der Vorbereitung zu machen. Die Vorbereitung sollte folgende Punkte beinhalten: Grundlegende Überlegungen zum Lösungsprinzip. (Es gibt eine ganze Reihe von Möglichkeiten das System zu realisieren.) Lesen Sie die Übungsaufgabe Automaten! Dieses Dokument erleichtert Ihnen die Umsetzung eines Automaten in Assembler erheblich. Dieses finden Sie auf der Labor-Homepage parallel zu den Versuchsbeschreibungen. Flussdiagramm des Hauptprogramms sowie ggf. verwendeter Interrupt-Routinen und Unterprogramme. (Abstraktionslevel bitte so wählen, dass der generelle Ablauf verstanden werden kann, befehlsgenaue Darstellung ist nicht notwendig.) Erstellen Sie ein graphisches Ablaufdiagramm mit den genauen Zeiten und Abfolgen des Ampelablaufes. Erstellen Sie ein State-Diagramm mit allen vorkommenden Zuständen sowie die Übergangsbedingungen. - 2 -

Versuchsdurchführung Codieren Sie die vorbereiteten Flussdiagramme. Sollten sich während der Versuchsdurchführung Ihr Konzept ändern, fügen Sie dieses in Ihr Flussdiagramm ein. Verwenden Sie für die Durchführung das Keil Projekt Rumpf.Uv2 von der Laborhomepage. Ausarbeitung Nach Beendigung des Versuches haben Sie alle Arbeiten erledigt. Sie können die Ausarbeitung direkt nach dem Praktikumstermin abgeben. Die Ausarbeitung besteht aus folgenden Komponenten: Ausgefülltes Deckblatt Das am Ende befindliche, von Ihnen ausgefüllte Fragenblatt zur Theorie Am PC erstellte Flussdiagramme und ggf. Berechnungen aus der Versuchsvorbereitung Ausdruck der Assemblerdateien zur Durchsicht Zustandsdiagramm des Automaten - 3 -

2 Beschreibung des Versuchsaufbaus 2.1 Das Board Abb. 2.1.1: XC164 Ampel-Board der HS Regensburg - 4 -

2.2 Portbelegung der Ampelanlage 2.2.1 Die LEDs der Ampel (und auch die Status-LEDs) werden alle über Port 1 angesteuert Port Ampel / Status Licht 1L.0 Fußgänger O W Grün 1L.1 Fußgänger O W Rot 1L.2 Straße N S Grün 1L.3 Straße N S Gelb 1L.4 Straße N S Rot 1L.5 N.C. - 1L.6 Status LED: Automatik Blau 1L.7 Status LED: Ost West Blau 1H.0 Status LED: Nord Süd Blau 1H.1 Status LED: Nacht Blau 1H.2 N.C. - 1H.3 Fußgänger N S Grün 1H.4 Fußgänger N S Rot 1H.5 Straße O W Grün 1H.6 Straße O W Gelb 1H.7 Straße O W Rot 2.2.2 Die Taster werden über den Port 9 eingelesen Port Taster 9.0 Automatik 9.1 Ost West 9.4 Nord Süd 9.5 Nacht Die Taster können zwar für eigene Zwecke verwendet werden, sind in diesem Versuch allerdings nicht notwendig. - 5 -

2.3 Skizze der Ampelkreuzung - 6 -

2.4 Zeitablauf der Ampelanlage 2.4.1 Ablauf der Straßenampeln Nach dem Start der Software beginnt die Ampel mit einer vollständigen Rotphase, d.h. alle Straßen- und Fußgängerampeln zeigen Rot. Phase Rot Phase der kompletten Kreuzung Rot Gelb Phase Grün Phase in Nord-Süd Richtung Grün Phase in West-Ost Richtung Gelb Phase Zeitdauer 1s 1s 15s 12s 2s Alle anderen Zeiten ergeben sich automatisch durch diesen Ablauf. Ein gesamter Durchlauf dauert nach diesen Angaben also 35 Sekunden. 2.4.2 Ablauf der Fußgängerampeln Der Ablauf der Fußgängerampeln steht natürlich im direkten Zusammenhang mit dem Ablauf der Straßenampeln. Es sind zur Steuerung der korrespondierenden Fußgängerampeln noch die beiden folgenden Zeitangaben notwendig: Rot Grün der Fußgängerampel erfolgt gleichzeitig mit dem Übergang von Rot/Gelb Grün der entsprechenden Straßenampel. Grün Rot der Fußgängerampel erfolgt 2s vor dem Grün Gelb Übergang der entsprechenden Straßenampel. 2.5 Zusätzliche Informationen / Angaben Die Zeiten der einzelnen Phasen sind im Gesamtablauf auf mindestens 1% einzuhalten. Die Realisierung erfordert also einen genau abgestimmten Timer im Interrupt-Betrieb. Das Board läuft mit einer Grundfrequenz von 20 MHz - 7 -

3.) Versuchsdurchführung Bevor Sie mit der Programmierung der Ampelanlage beginnen, bauen Sie das Konzept in ein paar einzelnen Schritten auf. Damit vermeiden Sie komplexere Fehler, die in einem aufwendigeren Programm dann nur schwer zu finden sind. 3.1) Unterprogramm warten_3s Schreiben Sie zunächst ein Unterprogramm, das eine Wartezeit von ca. 3 Sekunden generiert. Hierzu können Sie z.b. das Warteprogramm aus Versuch 1 entsprechend abändern. Zum Test des Unterprogramms lassen Sie einfach etwas blinken. Sie können die Zeit mit dem Logicport nachmessen. 3.2) Tabelle im Datenbereich anlegen Definieren Sie eine Tabelle im Datenbereich, die folgende Werte beinhalten soll: alle_roten_leds DW/DB/DS... alle_gelben_leds DW/DB/DS... alle_gruenen_leds DW/DB/DS... Tabellenende DB 0h Schreiben Sie nun ein Programm, das nacheinander alle roten, alle gelben, alle grünen LEDs ausgibt und dann wieder von neuem beginnt. Nutzen Sie dabei das obige Warteprogramm warten_3s. Dabei soll die erste Adresse in ein Register geladen werden und dann automatisch hochgezählt werden. Hinweis: Als letzter Tabelleneintrag sollte ein eindeutig identifizierbarer Wert stehen (z.b. 0h). 3.3) Verwendung von Interrupts Initialisieren Sie nun im Hauptprogramm einen Timer, der möglichst exakt eine Sekunde läuft. Hierzu ist ein GPT zu verwenden, der mit einem automatischen Reload konfiguriert ist (Verwenden Sie hierzu Timer 2 und Timer 3). Ebenso müssen Sie den zu Timer 3 gehörigen Interrupt konfigurieren. Definieren Sie den Interrupt mit Grouplevel 1 und Interruptlevel 3. Die Beschreibung der Timer finden Sie im Handbuch zum µc (Infineon Technologies; XC164-16 User s Manual, Volume 2 (of 2): Peripheral Units). Der Vorteiler für den Timer soll so gewählt werden, dass ein möglichst großer Zählbereich verwendet wird, um die Genauigkeit zu erhöhen. Um den Timer und den Interrupt zu testen, geben Sie im Hauptprogramm kontinuierlich alle roten LEDs aus. Bei einem Interrupt geben Sie hingegen alle grünen LEDs aus. Damit diese auch sichtbar aufleuchten, verwenden Sie noch ein auf ca. eine viertel Sekunde getrimmtes, geeignetes Warteprogramm. - 8 -

3.4) Realisierung des Ampelablaufes Im letzten Schritt generieren Sie nun die Tabelle, die alle Ampelzustände enthält, die Übergangsbedingungen beschreibt und die Folgezustände definiert. Schreiben Sie nun Ihr Hauptprogramm und Ihre Interrupt-Service-Routine so, dass der Ampelablauf dem vorne definierten Zeitablauf entspricht. Für Anpassungen am Ampelablauf darf der Code nicht geändert werden müssen. Alle Änderungen müssen durch Editieren der Tabelle vorgenommen werden können. Die Tabelle muss die folgenden Informationen enthalten: Name des Zustandes Wert des Zustandes (hier: Ausgabewert auf die LEDs) Übergangsbedingung (hier: Zeit des jeweiligen Zustandes) Name des Folgezustandes Der Datenbereich NCONST wird über den dpp1 definiert (Siehe Definitions-Header im Rumpf-Programm). Eine entsprechende Tabelle im FLASH könnte also wie folgt aussehen: State_1 DW 0x2d12, 0x000d, dpp1:state_2 State_2 DW 0x2e88, 0x0003, dpp1:state_3 State_3 DW 0x522b, 0x0010, dpp1:state_1 Der Assembler setzt in die Datentabelle dann direkt die Adresse der entsprechenden Zeile für den Folgezustand ein. Somit kann dieser Wert im Anschluss für den Zugriff auf die Informationen des Folgezustandes verwendet werden. - 9 -

4) Weitere Informationsquellen 1. Infineon technologies; XC164-16 User s Manual, Volume 1 (of 2): System Units 2. Infineon technologies; XC164-16 User s Manual, Volume 2 (of 2): Peripheral Units 3. Infineon technologies; XC164-16 Data Sheet 4. Infineon technologies, C166S User Manual (Befehlssatz) 5. http://www.infineon.com 6. https://hps.hs-regensburg.de/~fam39454/ie_lab/pmc.php 7. http://www.keil.com 8. G. Schmitt; Mikrocomputertechnik mit dem Controller C167, Oldenbourg Wissenschaftsverlag GmbH, München 2000 9. Automaten - Praktikumsbegeleitende Unterlagen von Prof. Dr. Hans Meier - 10 -

5) Begleitende Fragen (Vorbereitung, mit abzugeben!) Konfiguration von Timer und Interrupt: 1. Mit welcher Taktfrequenz läuft die CPU auf dem Ampel Board? f clk = MHz 2. Welcher Settings für den Timer verwenden Sie für diesen Versuch? Optimaler Vorteiler für f clk : Zählrichtung des Timers: up down Wiederladewert für T3 (Reload): dezimal bzw. hex 3. Was ist der Unterschied zwischen einem Timer und einem Counter? 4. Bitte ermitteln Sie für die folgenden Register die Konfigurationswerte: GPT12E_T3CON: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 GPT12E_T3IC: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 GPT12E_T2CON: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0-11 -

5. Zeichnen Sie den prinzipiellen Verlauf (Zählerwerte) von T3 über die Zeit in folgendes Diagramm: - 12 -