Fach: Angewandte Computertechnik (PE5) Datum: 18. Juli 2007, 9.30Uhr Prof. Dr.-Ing. J. Hönig Name:................................... Vorname:........................................ Unterschrift:......................... Matrikelnummer:............................ Dauer: 90 Minuten Anforderungen: Gegliederte Ansätze mit erläuternden Stichworten in deutlich lesbarer Form. Vollständige, übersichtliche Berechnungen in Größengleichungen. Ergebnisse müssen, wenn nicht anders gefordert, mit drei signifikanten Stellen und mit zulässigen Einheiten und zweckmäßigen Vorsatzzeichen angegeben werden (z. B.: falsch: U = 0,00631779 V , richtig: U = 6,32 mV). Vollständig beschriftete Diagramme (Achsen, Größen, Einheiten) und Schaltungen. Wenn eine allgemeine Berechnung verlangt ist, müssen Konstanten und Variablen mit ihren vorgegebenen Symbolen benutzt werden (z. B.: R1, UB, ie,...). Bedingungen: Lichtbildausweis, Taschenrechner mit gelöschtem Speicher. Als Hilfsmittel sind nur eigene Skripte erlaubt. Bücher und sonstige fremde Unterlagen dürfen nicht benutzt werden. Bitte nur Kugel- oder Tintenschreiber verwenden. Bitte keine rote Farbe (Tinte, Faserschreiber) verwenden. Bitte jede Aufgabe auf einem neuen Blatt beginnen. Zur Abgabe bitte die Arbeits- und Lösungsblätterblätter in das gefaltete Aufgabenblatt einlegen. 748918035 -1- 1. Aufgabe: Rote Leucht-Diode (pn-Übergang) am Port eines µControllers (33P) Zunächst ist nur an Port 1.6 die Serienschaltung von roter Leuchtdiode (LED D1) und Arbeitswiderstand angeschlossen. VCC T1 und R2 werden erst unter Aufgabenpunkt 1.4 benötigt. GND 1.1 Mit welcher Spannung (etwa) an P1.6 gegenüber Masse leuchtet LED D1? Mit welcher anderen Spannung (etwa) an P1.6 bleibt LED D1 dunkel? 1.2 Mit welcher Anweisung im Verlauf eines Programmes erzielen Sie für obige Schaltung die leuchtende LED? Wie lautet die Anweisung, um eine dunkele LED zu erhalten? Schreiben Sie zu jeder Anweisung einen geeigneten und formal korrekten Kommentar. 1.3 Berechnen Sie ggf. unter Mithilfe des beigefügten Arbeitsblattes aus „Digitaltechnik interaktiv“ eine geeignete Größe von R1. Wie groß muß die Belastbarkeit von R1 (ausgedrückt in Watt) sein? 1.4 Mit dem Ziel, über Port 1.7 einen Strom von 500mA in R2 zu erreichen, soll T1 mit einem Stromverstärkungsfaktor 100 eingesetzt werden. Ergänzen Sie die Schaltung geeignet. Welchen Basiswiderstand RB für T1 benötigen Sie? 748918035 -2- 2. Aufgabe: Kommunikation (I2C-Bus) (33P) Der I2C-Bus ist zur Kommunikation zwischen Mikrocontroller und dem Baustein PCF8583 (Uhr, RAM, hexadezimale Bausteinadresse &HA0) benutzt worden. 2.1 Skizzieren Sie die grundsätzliche Leitungsanordnung eines I2C-Bus-Systemes zum Datenaustausch zwischen einem Master und einigen Slaves. Wie werden dominante bzw. rezessive Zustände auf den Busleitungen realisiert? 2.2 Erläutern Sie mit Hilfe einer maßstäblichen Skizze der Zeitfunktionen der Signale SCL und SDA die Gestaltung einer Startbedingung. Skizzieren Sie in entsprechender Weise die Stopbedingung. 2.3 Erklären Sie den grundsätzlichen Unterschied zwischen der Gestaltung eines Datentransfers und der Gestaltung der Start- bzw. Stopbedingung. In Fig. 17 ist das Datenübertragungsprotokoll einer Sendung vom Master zum Slave dargestellt (Kopie aus dem Datenblatt des PCF 8583), Fig. 1 zeigt das vereinfachte Blockdiagramm. 748918035 -3- 2.4 Geben Sie einen kommentierten Programm-Ausschnitt zur Übertragung des hexadezimalen Wertes &H08 in die Speicherstelle mit der hexadezimalen Adresse &H00 („Memory Word Address“) des PCF8583 an. Welche der Uhrenfunktion zugeordnete Bedeutung hat der Speicherplatz mit der Adresse &H00? 2.5 Erweitern Sie das Programm zu einer Übertragung in fortlaufend adressierte Speicherplätze (hexadezimale Adressen &H01, &H02, &H03, &H04) mit den hexadezimalen Daten &H00, &H17, &H30, &H09. Benutzen Sie hierbei die Fähigkeit zum Autoincrement der „Memory Word Address“. Welche der Uhrenfunktion zugeordnete Bedeutung haben die Speicherplätze mit den Adressen &H01 … &H04? 2.6 Mit welchem Startwert wurde der Uhrenbaustein bei diesem Vorgang beschrieben? 3. Aufgabe: Geschwindigkeitsdefinierte Bearbeitung einer Aufgabe (34P) Orientieren Sie sich im Folgenden an den Ausführungen und Ihren eigenen Versuchen zur Benutzung der Baugruppe Timer 0 als Zeitgeber (Timer). Die "1" im folgendem Bitmuster 0000 0001 (binär) soll mit definierter Geschwindigkeit fortlaufend nach links geschoben (rotiert) werden, um zum Beispiel acht Aktoren der Reihe nach anzusteuern. Nach dem 7. Mal soll die "1" wieder von rechts her erscheinen u. s. w. Dieses zunächst im Rechner in der Variablen mit der Bezeichnung Aktor vorhandene Bitmuster soll an Port 4 (P4) fortlaufend ausgegeben werden. Die definierte Geschwindigkeit soll mit Timer 0 auf ca. 50ms je Schiebe-Vorgang eingestellt werden. 3.1 Bei welcher Programmspeicher-Adresse beginnt immer die Interrupt-Service-Routine für Timer 0? Was verstehen Sie überhaupt unter einer Interrupt-Service-Routine? Wie gelangt der Controller in die eigentliche vom Anwender formulierte Interrupt-ServiceRoutine? Welche Bits müssen vorbereitend gesetzt sein, um einen Timer-Interrupt zur Geltung kommen zu lassen? Durch welches Ereignis wird der Timer-Interrupt ausgelöst? Bereiten Sie ein Programm zur Realisierung der vorliegenden Aufgabe in folgenden (unbedingt kommentierten) Schritten auf: 3.2 Formulieren Sie in Bascom den Programmteil zur Vorbereitung der Nutzung von Timer 0 als 16-Bit-Timer (Zeitgeber) in interrupt-unterstützender Arbeitsumgebung. 3.3 Geben Sie ein einfaches, aber gleichwohl sinnvolles Hauptprogramm an. 3.4 Die Interrupt-Service-Routine für den Timer soll die Detail-Arbeit leisten: In dieser Routine wird das zur Aufgabenstellung gehörende Schieben (Rotieren) realisiert; anschließend wird der Timer für die nächsten 50ms vorbereitet und gestartet. 3.5 Mit welcher Genauigkeit können Sie die verlangte Periodendauer von 50ms einstellen? Wie können Sie die tatsächlich eingestellte Zeit kontrollieren? 3.6 Welche maximale Periodendauer können Sie in der Ihnen bekannten Arbeitsumgebung mit Timer 0 alleine einstellen? Wie gehen Sie vor, wenn Sie eine größere Periodendauer erreichen müssen? 748918035 -4-