Anwendungen der Mikrocontrollertechnik

Ähnliche Dokumente
Dokumentation Raspberry USV+ E

Servo-Modul Version

Die Robo-TX RS-485 Schnittstelle

Mikrocomputertechnik. Thema: Serielle Schnittstelle / UART

LCD-Ansteuerung mit MikroForth

M-Bus Master Manual. M-Bus Master. Manual. Version 2.1 1/10

IR NEC Empfänger mit 4x7 LED Anzeige (ATtiny2313)

Bericht Übung 5.5 Ampelsteuerung und Steuerung einer 7-Segment-Anzeige Teilnehmer: Natalia Springer, Tong Cha Datum:

Labor Automatisierungstechnik

GPS-Funkübertragungssystem mit Bluetooth-Anbindung. Benutzerhandbuch

Lösung Versuch Nr. 4

1. Allgemein Technische Daten... 2

ZM(B) Erinnerungsschreiben

1 Gestatten: Raspberry Pi! Schnellstart: Die erste Inbetriebnahme Den Desktop kennenlernen Wichtige Konsolenbefehle im Griff 69

myavr Programmierung in C

Technical Note 0409 ewon

10. Elektrische Logiksysteme mit

COMM-TEC EIB-Gateway

Übungsaufgaben. Stand

Mikrocomputertechnik

DIAmat. Überblendsteuerung für bis zu zwei Diaprojektoren. Stand Sonntag, 5. Mai 2002 Seite 1 von 10

MODBUS RTU Übertragungsprotokoll für Digitale Elektronische Vorschaltgeräte mit RS-485 Schnittstelle

Praktikum: VLSI-Entwurf. VHDL Standardzell Entwurf Entwurf einer Weckuhr

Steuermodul Gleisabschnitte

MODBUS/TCP und Beckhoff Steuerelemente

Bericht. Digitallabor. Hochschule Karlsruhe N1. Aufgabe 5.6 Stoppuhr. Teilnehmer: Natalia Springer, Tong Cha. Datum:

I2C Serial 2.6 LCD Modul

Compuprint SP40plus. Firmware-Aktualisierung. Um den SP40/SP40plus zu einem anderen Firmwarestand zu verhelfen, sind nur wenige Handgriffe notwendig:

Einbindung der RasPiLC in die CODESYS-Umgebung

Erweiterte Konfiguration Agenda Anywhere

Technical Note 0306 ewon

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher

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

8.3 PCA2.D12 Display-Modul mit 4 Ziffern

RGB-Sequenzer RS232 RS485 MDX512 AD / IO Platine

BOOTLOADER für AVR-Entwicklungsmodule

Parameterliste, Funk-Empfänger RCW-M

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

Serielle Kommunikation - Kodierung

Installation der Convision V100/V200 Serie

9. Elektronische Logiksysteme ohne Rückführung, kombinatorische Schaltungen

HAS. HAS-Schnittstelle. Technische Information TR - E - TI - D

Word Kapitel 1 Grundlagen Lektion 1 Benutzeroberfläche

S0-Pulszähler mit Modbus Schnittstelle

HARDWARE-PRAKTIKUM. Versuch L-2. Fehlersuche in digitalen Schaltungen. Fachbereich Informatik. Universität Kaiserslautern

Hardware Leitungscodierung

Inhalt. die SoPro595 Kamera

Siemens Industry Online Support

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

Raspberry Pi meets Pocket Code. Tutorial: Ampelschaltung

Digitallabor Aufgabe 5.4 Lauflicht

Frei programmierbare 4-8 Digit / Bargraph LED-Anzeige für µcontrolleranwendungen

3 Geoverarbeitung mit dem ModelBuilder

Codespot Pro Eventplayer Tutorial 1

Abbildung 4-9-1: Die Sound-Machine-Tastatur und der Arduino

Laborübung 4. Zustandsautomaten (Finite State Machines)

WorldSDS Installationsanleitung. Inhaltsverzeichnis

How-To-Do. Hardware Konfiguration SLIO CPU 014

Wäge- und Dosiersysteme. FAQs SIWAREX WP231. Wie funktioniert die Modbus-Kommunikation der WP231? Version Siemens.

FAQ Kommunikation über PROFIBUS

Technical Note 0604 ewon

itool Projektieren über Modemverbindung B /

Word Kapitel 1 Grundlagen Lektion 1 Benutzeroberfläche

Anleitung Version 1.1 Deutsch

Kombinatorische Schaltungen

GAL 16V8. 4. Laboreinheit - Hardwarepraktikum SS 2002 VCC / +5V. Eingang / Clock. 8 konfigurierbare Ausgangszellen. 8 Eingänge GND / 0V.

Der I²C-Bus. Vorstellung des Inter-Integrated Circuit -Bus. Aufbau und Funktionsweise. Beispiel PortExpander am Arduino

Grundlagen für den Kursersteller

qfix ASCII-Protokoll

Ampelsteuerung Merkblatt 2 Wie wird der Arduino programmiert?

Spezifikation RTR09 USB-Transceiver Easywave

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3

Bedienungsanleitung FMI-250 Zusatz. ATP Messtechnik GmbH

Mit Hilfe des Timers kann das Versenden automatisiert werden, auch ist eine zeitliche Verzögerung zwischen den Datensätzen möglich.

Protokoll zu Grundelemente der Digitaltechnik

ANLEITUNG Version

Mikroprozessortechnik Grundlagen 1

Dokumentation IBIS Master Version 1.5.6

' ' ' ' ' Ausnahmen an den Multimetern VC 820 und 840 ' ' Ver (c) Bernd Kunze '

d e S I G n & d e v e L O P M e n T TYPO3 AdvAnced

THC24-4B MOD Datenblatt Rev 1.1

Name : Klasse : Punkte : Note :

Arduino µcontroller. Virtuelle COMSchnittstelle


28 Word 2016 Wirtschaftssprache

Befehl Tabelle sortieren Befehl Tabelle drucken Befehl Tabelle als *.Pdf erstellen Tabelle als Pdf-Datei mit Outlook mailen...

Laborübung 2. Teil 1: Latches, Flipflops, Counter. Abbildung 1: Schaltkreis eines Gated D-Latch

/ Rev. 2 / SERIE P40 Zusatzbeschreibung: Quick Guide für FDT Basic-Tool und Backup-Tool

Paritäts-Bit- Generator

zur Verfügung gestellt durch das OpenOffice.org Dokumentations-Projekt

Verbindung zwischen PC und Mikrokontroler Blue-Tooth-Modul Schaltung Parametrierung kein zusätzliches LF

D.1 Vorbereitung. Teil D Analog-Digital-Wandler 1

Relaismatrix x64. Technische Dokumentation. V Apr 2013

Elektrische Schnittstelle Signal

JX6-INT1 Versions Update von V1.00 auf V1.24

Vorbereitung. Teil D Analog-Digital-Wandler 1

Einführung Arduino - Aufbau

Inhalt. Allgemein. 1 Allgemein Wie finde ich den richtigen Port? Wie erkenne ich das über Ethernet angeschlossene Zeitmessgerät?...

Technisches Handbuch DSE300 Erweiterungsmodul CPU6

Transkript:

Anwendungen der Mikrocontrollertechnik Projektarbeit WS15/16 Prof. Dr.-Ing. Dietmar A. Brück Jannik Haupenthal 3601110 Stichpunkte: Entwicklung der Aufgabenstellung zu der Erweiterungsplatine 7 Segment Anzeige Entwicklung einer Lösung zu der Aufgabenstellung Ansteuerung eines Linienbusanzeigers über die Serielle Schnittstellen des Raspberry Pi's (fehlgeschlagen)

Inhaltsverzeichnis Aufgabenstelleung Stoppuhr...3 Beschreibung...3 Funktionsweise...4 Aufgabe - Initialisierungsdatei...5 Aufgabe Trigger...6 Aufgabe BCD-Tabelle...6 Aufgabe Time...6 Aufgabe - Stoppuhr...6 Aufgabe Time1...7 Lösungsvorschlag...8 Ansteuerung eines Linienbusanzeiger...11 Beschreibung...11 Quellcode main:...13 Fazit:...14 2 Jannik Haupenthal

Aufgabenstelleung Stoppuhr Beschreibung Mit Hilfe des Zusatzmoduls "7-Segment-Anzeige" für den Infineon C515C-L soll eine Stoppuhr realisiert werden. Alle Ausgänge sind über das Bus-Driver-Zusatzmodul zu schalten. Die Stoppuhr soll auf insgesamt vier Anzeigen die Zeit in Sekunden und Millisekunden stoppen. Auf der letzten BCD-Stelle soll die Zeit in Millisekunden laufen. Die obersten 3 BCD-Stellen sollen die Sekunden darstellen. Anzeige BCD1: Millisekunden BCD2: Sekunden Einer-Stelle BCD2: Sekunden Zehner-Stelle BCD3: Sekunden Hunderter-Stelle (Trigger) (D0) (D1) (D2) (D3) Steht die Stoppuhr bei 999,9s vor dem Überlauf, soll sie im nächsten Zählzyklus neu beginnen. Zum Start bzw. Reset der Uhr werden Schalter verwendet. Ein Schalter dient zum Starten der Uhr. Die Uhr läuft so lange, bis der Schalter wieder in seine Ruheposition versetzt wird. Das Verhalten des Start- und Reset-Schalters ist in folgender Tabelle festgelegt. Nach dem Einschalten soll die Stoppuhr mit 0000 initialisiert werden. Start- Schalter Reset- Schalter Ereignis x / Die Stoppuhr zählt x x Die Stopuhr läuft weiter. Der Reset hat keine Auswirkung / x Die Stoppuhr wird wieder mit 0000 initialisiert / / Die Stopuhr pausiert. Der aktuelle Zahlenwert ist sichtbar. 3 Jannik Haupenthal

Abbildung 1: 7 Segment Zusatzmodul Funktionsweise Abbildung 2: 7 Segment Anzeige Alle vier 7-Segment-Anzeigen werden über einen einzigen Port gesteuert. Es empfiehlt sich, das LSB des Ports für den a-eingang der Anzeige zu verwenden. Dem entsprechend wird für das MSB des Port der h-eingang verwendet. 4 Jannik Haupenthal

Welche Anzeige man mit dem Wert im Port beschreiben will wird über die Eingänge D0 bis D3 entschieden. Eine positive Flanke am Eingang D0 bewirkt eine Wertübernahme von dem Port (Eingänge a bis h) in den C-MOS Speicher der ersten Anzeige. Selbige Vorgehensweise mit D3 bewirkt eine Wertübernahme auf die letzte Anzeige. Folgende Reihenfolge ist somit für die Ansteuerung einzuhalten: 1. Definierten Wert an die Eingänge a bis h anlegen. 2. Erzeugung eines 0-1 Impulses (denken Sie an das Zurücksetzen für das nächste Triggern) Wichtig: Der Wert, den sie an die Eingänge a bis h legen wird von dem Zusatzmodul invertiert! Aufgabe - Initialisierungsdatei Schreiben Sie Ihre eigene Initialisierungsdatei, damit Sie eine Übersicht der verwendeten Ein- und Ausgänge haben. Speichern Sie diese Datei in Ihrem Projektpfad und konfigurieren Sie Ihr Programm soweit, dass Sie diese Datei in Ihrem Programm verwenden können. Überprüfung Sie Ihre Initialisierungsdatei mit Hilfe der Portsignale im Keil uvision 4. Aktivieren Sie die Sensoren/Aktoren nacheinander per Hand und überprüfen Sie dabei den Portstatus. Kontrollieren Sie danach die Funktionalität der Aktoren, indem Sie die Ausgänge des Kontrollers nacheinander setzen um die Bewegung zu erkennen. Achten Sie darauf KEINE Eingänge zu setzten. Bitte beachten Sie folgende Vorgehensweise zur Erstellung der Initialisierungsdatei: - Kopieren Sie die Datei Reg515C.inc im Ordner Keil\C51\ASM auf Ihren USB-Stick in Ihr eigenes Verzeichnis und benennen Sie diese Datei um in INIAmpel. - Bearbeiten Sie in der Initialisierungsdatei die Ports die Sie Verwenden, und Vergeben Sie passende Namen, orientieren Sie sich dabei an der Tabelle 2. Ampelphasen. - Sie können nun Ihre eigene Initialisierungsdatei mit folgenden Befehlen in Ihre Quelldatei einbinden: $NOMOD51 //Registerbelegung des C8051 deaktivieren $include (INIUhr) 5 Jannik Haupenthal

Aufgabe Trigger Legen sie im direkten Speicher die Variablen BCD1 bis BCD4 für die jeweiligen Anzeigen an. Diese Variablen BCD1 bis BCD4 werden später im Hauptprogramm mit den BCD- Werten aus der Tabelle beschrieben. In dem Unterprogramm Trigger geben sie lediglich ihren BCD-Wert an Port 1 weiter und steuern der Reihe nach die einzelnen Anzeigen an. Testen Sie Ihr Programm, indem Sie die Anzeigen BCD1 bis 4 mit 0 beschreiben. Aufgabe BCD-Tabelle Schreiben Sie ein Unterprogramm Tabelle. Das Unterprogramm Tabelle soll die invertierten Zahlen von 0 bis 9 in die Adressen 80h bis 89h schreiben. Nutzen Sie die indirekte Addressierung über R0 um die BCD-Werte in die Adressen 80h bis 89h zu schreiben. Aufgabe Time In einem weiteren Unterprogrammm Time soll eine Verzögerung von 0,1 Sekunde realisiert werden. Erstellen Sie einen Programmablaufplan für das Unterprogramm und codieren Sie den Programmcode in Assembler. Diese Zeit wird als Takt für die BCD1- Anzeige verwendet (Millisekunden). Aufgabe - Stoppuhr Realisieren Sie mit den Unterprogrammen Tabelle, Time und Trigger die in Kapitel "Beschreibung" festgelegte Funktionsweise. Das Unterprogramm Time liefern ihnen einen Takt für die Anzeige BCD1. Überlegen Sie sich, welcher Millisekunden Wert einen Wertewechsel in der nächsten Anzeige bewirkt. Greifen Sie auf die Werte der Tabelle über die indirekte Adressierung zu. Gehen Sie Schritt für Schritt vor. Realisieren Sie zuerst den Wechsel der BCD1 zu BCD2-Stelle. Hinweis: Pro BCD Anzeige benötigen sie ein anderes indirekt addressierbares Register. Achten Sie auf die Auswahl der Registerbank. 6 Jannik Haupenthal

Aufgabe Time1 Ersetzen sie das Unterprogramm Time durch Time1. Time1 soll einen Timer verwenden. 7 Jannik Haupenthal

Lösungsvorschlag 8 Jannik Haupenthal

9 Jannik Haupenthal

10 Jannik Haupenthal

Ansteuerung eines Linienbusanzeiger Beschreibung Linienbusanzeiger reagieren ausschließlich auf, die für sie bestimmten, Ibis-Datensätze. Diese sind vom Verband deutscher Verkehrunternehmen in der VDV-300 Schrift festgelegt worden. Versendet werden die Daten von einem Master über eine serielle Schnittstelle. Die Spannung, mit der die Ibis-Telegramme versendet werden muss 24V betragen. Die Schnittstelle muss folgendermaßen initialisiert werden: Baudrate: 1200 bit/sec Anzahl Startbits: 1 Anzahl Datenbits: 7 Parität: gerade Anzahl Stopbits: 2 Abbildung 3: Zielanzeiger In Abbildung 3 sehen Sie drei verschiedene Zielanzeiger. Im Rahmen dieses Versuches werde ich mich ausschließlich auf den mit "1" gekennzeichneten Zielanzeiger beziehen. Dieser Anzeiger reagiert auf zwei verschiedene Ibis-Datensätze. Den Datensatz, der die Liniennummer als Inhalt besitzt und den mit der Endhaltestelle. Datensatz Aufrufcode Beschreibung DS001 lzzzfp Liniennummer DS003a zahncfp Endhaltestelle 11 Jannik Haupenthal

Am Beispiel des Datensatzes DS001 werde ich den Aufbau des Telegramms erklären. Folgendes Beispiel erklärt den Aufbau des Telegrammes für die Liniennummer 126. Wie in der Tabelle sichtbar muss das Protokoll "l126fp" übertragen werden. Nach dem Aufrufcode werden 3 Ziffern erwartet. Danach folgt das Formatprüfzeichen in Form eines "Carriage Return". Abschließen wird das Paritätsbyte gebildet. Ibis Zielanzeiger arbeiten mit einer ASCII-Codierung. Wandelt man nun den Inhalt in Hexadezimalzahlen um erhält man das Protokoll <6C><31><32><36><0D> <Paritybyte>. "0D" entspricht dabei dem Carriage Return. Um die Paritätsbildung zu erklären wandelt man dieses Protokol in Binärzahlen um. Die Parität wird wiefolgt gebildet: Hex -> Bin 6C -> 0110 1100 31 -> 0011 0001 32 -> 0011 0010 36 -> 0011 0110 0D -> 0000 1101 2B -> 0010 1011 -> Paritybyte Mit der in Abbildung 4 dargestellten Schaltung, einem Raspberry Pi und einem Python Skript wird nun versucht auf die Anzeige zu schreiben. Der Wandler ermöglicht eine Ansteuerung des Anzeigers über die UART Schnittstelle des Raspberry Pi's (3,3V zu 24V). Abbildung 4: 3,3V/24V Wandler 12 Jannik Haupenthal

Quellcode main: 13 Jannik Haupenthal

Fazit: Die Anzeige hat keinerlei Reaktion auf die versendeten Datensätze gezeigt. Der Grund dafür ist unklar. Ich führe es auf die fehlenden Kenntnisse der Ibis-Schnittstellen Spezifikation zurück. Die Schnittstelle ist in der VDV-300 Schrift spezifiziert. Ohne Geld zu investieren kann ich dieses Dokument leider nicht einsehen. 14 Jannik Haupenthal