Aufgabenstellung Praktikum Mikrorechentechnik Sommersemester 2014 Aufgabe: Entwurf und Implementierung eines Weckers auf Basis des MSP430 Education Systems Beschreibung: Gegenstand des Praktikums ist der Softwareentwurf einer Weckuhr, basierend auf dem MSP430 Mikrocontroller. Als Hardware ist das MSP Education System 3.0 zu benutzen. Die Software ist entweder mit der Kickstart Edition (maximal 4kB Codegröße) der IAR Embbeded Workbench oder mit Code Composer Studio 5 in C zu entwickeln. Einzelne Assembleranweisungen dürfen in den C – Code eingebettet werden, jedoch keine kompletten Module. Der Quellcode ist vollständig und nachvollziehbar zu kommentieren. Folgende Mindestanforderungen werden an den Wecker gestellt: • Weckuhr mit Anzeige von Uhrzeit, Datum, Wochentag und Alarmzeit über das LC Display • Eingabe und Justage von Uhrzeit, Datum und Alarmzeit per Inkrementaldrehgeber • Der Wochentag ist automatisch für das jeweilige Datum zu berechnen • Akustischer Weckalarm bestehenden aus unterschiedlichen Tönen • Nutzung der 4x4 LED Matrix zur Anzeige des Alarmzustandes (An / Aus / Aktiv) Dokumentation Über das Praktikum ist eine technische Dokumentation von 10-15 Seiten Umfang zu erstellen. Der Aufbau der Software ist darin in geeigneter Form (Flussdiagramme, Struktogramme, Modulpläne usw.) darzustellen und die einzelnen Teilmodule in Textform zu beschreiben. Die Bearbeitung erfolgt in Zweier-Gruppen. Neben der Dokumentation ist auch eine Bedienungsanleitung für die Weckuhr zu erzeugen (max. 4 Seiten). 1 von 5 Bewertung Folgende Faktoren fließen in die Bewertung ein: • Qualität der Software-Realisierung • Qualität von Dokumentation und Bedienungsanleitung • Bedienbarkeit der Weckuhr • Zusätzliche Funktionalitäten (z.B. Weckmelodie, mehrere Alarmzeiten, besonders gute Bedienkonzepte usw.) Abgabe und Präsentation Die Abgabe der Belege erfolgt in der letzten Woche der Vorlesungszeit (voraussichtlich am 28.06.). Zusammen mit der Abgabe des Beleges sind die Wecker vorzuführen und der Quellcode zu erläutern. Kontakt Matthias Müller [email protected] 0341 / 3076 – 3110 (lange Klingeln lassen, für Handyumleitung) Literatur Sturm, Matthias: Mikrocontrollertechnik. Am Beispiel der MSP430 Familie. Leipzig: Hanser, 2014 Datenblatt MCP23008 -­‐ http://ww1.microchip.com/downloads/en/DeviceDoc/21919e.pdf Datenblatt LCD Controller -­‐ https://www.sparkfun.com/datasheets/LCD/HD44780.pdf 2 von 5 Hardwarebeschreibung In diesem Abschnitt werden die nötigen Informationen zur Schaltung des Educations Systems 3.0 bereitgestellt. Pinbelegungen MSP430 Funktion Taster Farbe Taster Farbe Taster Farbe Taster Farbe Drehgeber (Encoder) Ausgang A Drehgeber (Encoder) Ausgang B Drehgeber gemeinsamer Interrupt I2C LED Matrix SCL I2C LED Matrix SDA Lautsprecher LCD D4 LCD D5 LCD D6 LCD D7 LCD RS LCD EN Anschluss MSP430 – Pin P2.0 P2.1 P2.2 P2.5 P4.1 P4.2 P2.3 P3.2 P3.1 P2.4 P1.0 P1.1 P1.2 P1.3 P3.0 P3.3 Inkrementaldrehgeber Inkrementelle Drehgeber (umgangssprachlich Drehencoder oder nur Encoder) ähneln von außen betrachtet Drehpotentiometern, liefern aber anstelle eines Widerstandes ein digitales Ausgangssignal. Der im Education System benutzte Encoder produziert an seinen beiden Ausgängen jeweils 24 Impulse pro Umdrehung , die zueinander um 90° phasenverschoben sind. Schaltung 1 zeigt die Beschaltung des Drehgebers. Die beiden Ausgänge A und B sind über Pull-­‐Up Widerstände mit dem MSP verbunden und demnach low aktiv. Da die beiden MSP Eingänge P4.1 und P4.2 nicht Interrupt fähig sind, ist der Drehgeber zusätzlich über Dioden mit dem Eingang P2.3 verbunden. 3 von 5 Schaltung 1 I2C Port Expander und LED Matrix Da der verwendete MSP430 nur über vergleichsweise wenig GPIO Pins verfügt, wurde die 4x4 LED Matrix über einen s.g. Port Expander angeschlossen. Dieser Schaltkreis nennt sich MCP23008 und wird von der Firma Microchip hergestellt. Er wird über eine serielle I2C Schnittstelle angesteuert und stellt eine 8-­‐bit breite parallele Schnittstelle zur Verfügung. Die Hardwareanbindung zeigt Schaltung 2. Um den Schaltkreis zu steuern werden per I2C verschiede Register innerhalb des Chips geschrieben. Eine genaue Beschreibung dazu finden Sie im Datenblatt des MCP23008. Schaltung 2 4 von 5 Die LEDs wiederum sind in einer Matrixschaltung (Schaltung 3)an den Portexpander angeschlossen. Schaltung 3 5 von 5