Klausur MCOM2 1/16 Musterlösung Klausur MCOM2 Fach
Transcription
Klausur MCOM2 1/16 Musterlösung Klausur MCOM2 Fach
Klausur MCOM2 Musterlösung Klausur MCOM2 Fach: Mikrocomputertechnik 2 Hilfsmittel: - Vorlesungsskript, Taschenrechner nicht erlaubt: - Lösungen von Übungsaufgaben, -klausuren, o.ä. Die Klausur enthält zwei Teile: - Aufgabenblätter - Lösungsblätter Bitte füllen Sie auf dem Lösungsdeckblatt die Felder zu Ihren persönlichen Daten aus. Bittte tragen Sie die Lösungen der Aufgaben in die zugehörigen Lösungsblätter ein. Geben Sie nur die Lösungsblätter ab! N. Normann, V5.0, 01/2008 1/16 MCOM2KlausurV50Lsg.DOC Klausur MCOM2 1. Allgemeine Kenntnisse Füllen Sie die Lösungsblätter zur Aufgabe 1 aus. 2. Microcomputer-Programmierung In einem Programm-Modul MACDriver.c sind Funktionen zur Steuerung des EthernetControllers 91C111 enthalten. In MACDriver.c gibt es eine Funktion CopyToBuffer91C111(), mit der ein aufrufendes Programm einen Sendeauftrag für einen bestimmten Ethernet-Frame erteilen kann. Die Schnittstelle des Programm-Moduls ist in der Header-Datei MACDriver.h festgelegt. Zur Ausführung benötigt die Funktion CopyToBuffer91C111() folgende Informationen: Ziel-MAC-Adresse, Quell-MAC-Adresse, Laenge/Typ, Datenfeld , Anzahl der Bytes im Datenfeld Diese Informationen sollen in einer passenden Datenstruktur zusammengefasst sein. Dieser Strukturtyp soll den Aliasnamen MACFRAME bekommen. CopyToBuffer91C111() soll als Aufrufparameter einen Pointer auf diese Datenstruktur verwenden und als Rückgabewert 0 (für „Sendeauftrag akzeptiert“) bzw. 1 (für „Sendeauftrag abgelehnt“) liefern. Schreiben Sie die Header-Datei MACDriver.h Verwenden Sie das Lösungsblatt zur Aufgabe 2. 3. PCI-Bus Beim PCI-Bus sind die Konfigurationsinformationen jedes individuellen PCI-Devices in seinem speziellen Konfigurationsspeicher abgelegt. Mit Hilfe eines Analyseprogramms wurden für einen PC die Informationen über die vorhandenen PCI-Devices ermittelt. Die Tabelle auf der nächsten Seite zeigt einen Auszug der Konfigurations-Speicherinhalte. 3.1 Füllen Sie für alle PCI- Busbrücken die Lösungsblatt-Tabelle 3.1 aus. 3.2 Zeichnen Sie in einem Blockschaltbild auf dem Lösungsblatt 3.2 • die Hierarchie von Systembus, PCI-Bussen und PCI-Devices • für Ein-/Ausgabe-PCI-Devices die jeweilige Schnittstelle zur Peripherie • gruppieren Sie PCI-Devices, die sich zusammen in einer Baugruppe oder einer Integrierten Schaltung befinden N. Normann, V5.0, 01/2008 2/16 MCOM2KlausurV50Lsg.DOC Klausur MCOM2 Auszug aus der PCI-Analyse eines PC’s Hinweis: Bnn: PCI-Bus-Nr., Dnn: Device-Nr., Fnn: Funktions-Nummer Bei PCI-PCI-Brücken steht in Adresse 0x19 die Nummer des unterlagerten PCI-Busses Adresse : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F B00 D00 F00: Intel 82848P/865G/865GV/865P/865PE Memory Controller Hub [A-2] Offset 00: 86 80 70 25 06 01 90 20 02 00 00 06 00 00 00 00 Offset 10: 08 00 00 E4 00 00 00 00 00 00 00 00 00 00 00 00 B00 D01 F00: Intel 82848P/865G/865GV/865P/865PE AGP Controller Offset 00: 86 80 71 25 07 01 A0 00 02 00 04 06 00 40 01 00 Offset 10: 00 00 00 00 00 00 00 00 00 01 01 40 D0 D0 A0 22 B00 D06 F00: Intel 82848P/865G/865GV/865P/865PE I/O Memory Interface Offset 00: 86 80 76 25 02 00 80 00 02 00 80 08 00 00 00 00 Offset 10: 00 00 CF FE 00 00 00 00 00 00 00 00 00 00 00 00 B00 D1D F00: Intel 82801EB ICH5 - USB Universal Host Controller Offset 00: 86 80 D2 24 05 00 80 02 02 00 03 0C 00 00 80 00 Offset 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B00 D1D F07: Intel 82801EB(M) ICH5(-M) - Enhanced USB2 Controller Offset 00: 86 80 DD 24 06 01 90 02 02 20 03 0C 00 00 00 00 Offset 10: 00 FC DF FB 00 00 00 00 00 00 00 00 00 00 00 00 B00 D1E F00: Intel 82801EB I/O Controller Hub 5 (ICH5) Offset 00: 86 80 4E 24 07 01 80 00 C2 00 04 06 00 00 01 00 Offset 10: 00 00 00 00 00 00 00 00 00 02 02 40 E0 E0 80 22 B00 D1F F00: Intel 82801EB ICH5 - LPC Bridge Offset 00: 86 80 D0 24 0F 00 80 02 02 00 01 06 Offset 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 B00 D1F F01: Intel 82801EB ICH5 - ATA-100 IDE Controller Offset 00: 86 80 DB 24 07 00 80 02 02 8A 01 01 00 00 00 00 Offset 10: 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 B00 D1F F03: Intel 82801EB ICH5 - SMBus Controller Offset 00: 86 80 D3 24 01 00 80 02 02 00 05 0C Offset 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B00 D1F F05: Intel 82801EB ICH5 - AC'97 Audio Controller Offset 00: 86 80 D5 24 07 00 90 02 02 00 01 04 00 00 00 00 Offset 10: 01 B4 00 00 01 B0 00 00 00 F8 DF FB 00 F4 DF FB B01 D00 F00: ATI Radeon 9600 (RV350) Video Adapter Offset 00: 02 10 53 41 07 01 B0 02 00 00 00 03 Offset 10: 08 00 00 E8 01 D0 00 00 00 00 EE FB 04 FF 80 00 00 00 00 00 B01 D00 F01: ATI Radeon 9600 (RV350) - Secondary Video Adapter Offset 00: 02 10 73 41 07 00 B0 02 00 00 80 03 04 40 00 00 Offset 10: 08 00 00 F0 00 00 EF FB 00 00 00 00 00 00 00 00 B02 D0A F00: Intel PRO/100 S Desktop Adapter Offset 00: 86 80 29 12 17 01 90 02 0C 00 00 02 Offset 10: 00 F0 FF FB 01 E8 00 00 00 00 FC FB N. Normann, V5.0, 01/2008 3/16 00 40 00 00 00 00 00 00 MCOM2KlausurV50Lsg.DOC Klausur MCOM2 4. CAN Das Lösungsblatt zur Aufgabe 4 zeigt zwei mit Hilfe eines Speicheroszilloskops aufgezeichnete Messungen des gleichen CAN-Frames, aufgenommen unter verschiedenen Messbedingungen. Gemessen wurde direkt am sendenden CAN-Knoten. 4.1 CAN-Frame 1 Kennzeichnen Sie einzelnen Felder des CAN-Frames. Markieren Sie die Stuffbits. Tragen Sie die Werte der einzelnen Felder ein. 4.2 CAN-Frame 2 Analysieren Sie die Signalform des ACK-Bit im Vergleich zu 4.1 und beantworten Sie die Fragen der Lösungstabelle. 5. Ethernet (IEEE 802.3) 5.1 Frameanalyse Mit Hilfe eines Analysatorprogramms wurde ein Ethernet-Frame aufgezeichnet (siehe nächste Seite). Der Analysator stellt im Anzeigefenster alle Octets (=Bytes) eines Frames dar, beginnend mit dem ersten Octet nach Erkennung des Start-Frame-Delimiters und endend mit dem letzten Octet vor den CRC- Octets. Füllen Sie die Tabelle im Lösungsblatt 5.1 aus. 5.2 Laborvernetzung Sie sollen im Computertechnik-Labor 25 PC’s an das Hochschulnetzwerk anschließen. Jeweils 6 PC’s stehen auf einer Gruppe von Labortischen. 1 PC steht auf dem Bürotisch des Laboringenieurs. Alle PC’s haben 100 Base-TX Netzwerkkarten. Im Labor befindet sich ein Netzwerkanschluss 1000 Base SX Glasfaser zum Hochschulnetzwerk Sie haben zur Verfügung: - 1 Switch (1* 1000 Base SX Uplink-Port und 6* 100 Base-TX Downlink-Ports) - 3 Switches (1 * 100 Base-TX Uplink-Port und 6 * 100 Base-TX Downlink-Ports) - 1 Hub (1 * 100 Base-TX Uplink-Port und 6 * 100 Base-TX Downlink-Ports) Skizzieren Sie das Labornetzwerk auf dem Lösungsblatt 5.2 . Wieviele verschiedene Kollisionsdomänen enthält es? N. Normann, V5.0, 01/2008 4/16 MCOM2KlausurV50Lsg.DOC Klausur MCOM2 Screenshot Ethernetanalysator N. Normann, V5.0, 01/2008 5/16 MCOM2KlausurV50Lsg.DOC Klausur MCOM2 Klausur MCOM2 Lösungsblätter zur Klausur Fach: Mikrocomputertechnik 2 Hilfsmittel: - Vorlesungsskript, Taschenrechner nicht erlaubt: - Lösungen von Übungsaufgaben, -klausuren, o.ä. Name: MUSTERLÖSUNG Matr.-Nr.: Vorname: Studiengang: Datum: Unterschrift: Klausurergebnis Aufgabe Punkte der Aufgabe Punkte der Teilaufgaben 1 12 12 2 20 20 3 4 16 20 4 14 16 30 5 8 10 18 Prüfer: Prof. Dr. Normann N. Normann, V5.0, 01/2008 Datum: Summe der Punkte: 100 Note: 1,0 Unterschrift: 6/16 MCOM2KlausurV50Lsg.DOC Klausur MCOM2 Lösungsblatt zu Aufgabe 1: Kreuzen Sie nur die jeweils richtige Aussage an. 1.1 In einem C-Programm ist die Programmzeile #define richtig PI 3.1415 die Definition einer Programmvariablen PI, initialisiert mit 3.1415 die Definition einer Programmkonstanten PI, initialisiert mit 3.1415 die Definition einer symbolischen Konstanten PI (Zeichenfolge 3.1415) X 1.2 In einem C-Programm bewirkt der Operator && richtig ein logisches UND der beiden Operanden X ein bitweises UND der beiden Operanden eine Addition der beiden Operanden richtig 1.3 Bei einer „elektrisch kurzen“ Leitung ist die Laufzeit auf der Leitung kleiner als die halbe Schaltflankendauer X wirken sich unterschiedliche Schaltflankendauern überhaupt nicht aus ist die Schaltflankendauer kleiner als die halbe Laufzeit auf der Leitung richtig 1.4 Bei der NRZI-Codierung werden die Binärwerte 0/1 dargestellt durch Pegelwechsel bei jeder ‚1‘ X durch Pegelwechsel innerhalb der Bitzeit durch direkte Zuordnung zu 2 Signalpegeln richtig 1.5 Bitstuffing ist ein Korrekturverfahren für Einzelbitfehler kennzeichnet bei bitserieller Übertragung den Beginn einer Bitfolge dient bei nicht sicher selbsttaktenden Codes zur Sicherstellung der X Taktinformation richtig 1.6 Eine Multipunkt-zu-Punkt (n:1) Kommunikationsbeziehung hat 1 Informationsquellen, n Informationsnutzer 1 Informationsquellen, 1 Informationsnutzer n Informationsquellen, 1 Informationsnutzer X N. Normann, V5.0, 01/2008 7/16 MCOM2KlausurV50Lsg.DOC Klausur MCOM2 richtig 1.7 Bridges und Switches in Netzwerken puffern komplette Datenpakete vor der Weitergabe und bewirken so eine X Verzögerung verstärken die Signalpegel ohne signifikante Verzögerung isolieren Netzwerksegmente elektrisch voneinander richtig 1.8 Repeater und Hubs für IEEE 802.3 transportieren Datenpakete mit physikalischen MAC-Adressen transportieren Bitströme mit dem Timing des Physical Layer an alle X angeschlossenen Netzknoten transportieren Datenpakete und verwenden IP-Adressen richtig 1.9 Ein Datenrahmen (Frame) nach IEEE 802.3 beginnt nach Präambel und Start-Frame Delimiter mit der MAC-Adresse des Empfängers X der MAC-Adresse des Senders der IP-Adresse des Empfängers richtig 1.10 Ein CAN-Controller, der im Zustand Error Active ist sendet bei einem erkannten Fehler 6 dominante und 8 rezessive Bits X sendet bei einem erkannten Fehler 6+8=14 rezessive Bits nimmt nicht mehr am Busverkehr teil richtig 1.11 Ein CAN2.0B-Controller kann sowohl Standard Frames als auch Extended Frame senden. In einem HS-CAN dürfen verwendet werden nur Standard Frames entweder Standard Frames oder Extended Frames beide Frametypen gemischt X richtig 1.12 Bei einem LIN-Datenrahmen sendet ein Slave nur die Datenantwort zu seinem Nachrichtenheader X Nachrichtenheader mit Identifier und Datenantwort nur Nachrichtenheader mit Identifier N. Normann, V5.0, 01/2008 8/16 MCOM2KlausurV50Lsg.DOC Klausur MCOM2 Lösungsblatt zu Aufgabe 2: //****************************************************************************** // // File: MACDriver.h #ifndef __MACDRIVER_H #define __MACDRIVER_H //***************************************************************************** // Symbolische Konstanten und Makros #include <inttypes.h> // Typdefinitionen fuer MISRA-C2 Integer-Types typedef struct { uint8_t destMAC [6]; uint8_t srcMAC [6]; uint8_t lenType [2]; uint8_t payload [1500]; uint16_t payloadlen; // // // // // // Ziel-MAC-Adresse Quell-MAC-Adresse Laenge oder Typ Daten Anzahl Bytes im Payload (bei 802.3 = lenType, bei Ethernet_II abhaengig vom Type) } MACFRAME; extern unsigned int CopyToBuffer91C111 (MACFRAME * frameBuffer); #endif // __MACDRIVER_H N. Normann, V5.0, 01/2008 9/16 MCOM2KlausurV50Lsg.DOC Klausur MCOM2 Lösungsblatt 3.1 zu Aufgabe 3: PCI – Busbrücken BusNr. DeviceNr. Funkt.Nr. HeaderTyp KlassenKodierung Bezeichnung der durch die Brücke verbundenen Busse 00 00 00 00 06 00 00 Brücke vom PCIBus0 zum Systembus der CPU 00 01 00 01 06 04 00 Brücke vom PCIBus0 zum AGP-Port (PCIBus1) 00 1E 00 01 06 04 00 Brücke vom PCIBus0 zum PCIBus2 00 1F 00 80 06 01 00 Brücke vom PCIBus0 zum ISA-Bus N. Normann, V5.0, 01/2008 10/16 MCOM2KlausurV50Lsg.DOC Klausur MCOM2 Lösungsblatt 3.2 zu Aufgabe 3: Skizze der Hierarchie von Systembus und PCI-Bussen N. Normann, V5.0, 01/2008 11/16 MCOM2KlausurV50Lsg.DOC Klausur MCOM2 Lösungsblatt zu Aufgabe 4.1: 1. Messung der Spannung auf der Leitung CAN_L eines HS-CAN-Busses Begr.-Bit S S S Interframe Space SOF Steuerfeld IDE=0 DLC=0 Identifier 100 0000 0000b= 0x400 CRC EOF RTR=1 Begr.-Bit N. Normann, V5.0, 01/2008 12/16 MCOM2KlausurV50Lsg.DOC ACK SOF Klausur MCOM2 Lösungsblatt zu Aufgabe 4.2: 2. Messung der Spannung auf der Leitung CAN_L eines HS-CAN-Busses fallende Flanke des ACK um ca 200ns verzögert: -> Abstand erster empfangender CAN-Knoten nach ca 600 ns kommt ACK vom zweiten CANKnoten -> Abstand 2. empfangender CAN-Knoten N. Normann, V5.0, 01/2008 13/16 MCOM2KlausurV50Lsg.DOC zweiter empfangender CANKnoten sendet Begrenzungsbit rezessiv um mindestens 600ns verzögert. Für den sendenden CANKnoten knapp am Bitfehler. erster empfangender CAN-Knoten sendet Begrenzungsbit rezessiv Klausur MCOM2 Lösungsblatt zu Aufgabe 4.2: 1. Messung Zeitdauer eines Bits [µs]: Brutto-Datenrate [Bits/s]: Identifier (Typ und Wert) Frametyp & Nutzdaten (Anzahl und Inhalt) ca. 1,0 µs ( 1,06 µs aus Cursormarkierung oder Scope-Zeitachse) 1 MBit/s (106 Bit/s) Standard 11 Bit, Wert 0x400 Datenanforderungsrahmen (RTR=1), DLC=0, keine Nutzdaten 2. Messung (die Messung zeigt den gleichen CAN-Frame wie in Aufgabe 4.1 unter anderen Bedingungen) mindestens 3 Knoten Wieviele CAN-Knoten sind am (der Sender der Botschaft und zwei andere Knoten, die in Parallelschaltung das ACK-Bit auf CAN-Segment? Begründung? dominanten Pegel setzen, deshalb niedrigerer Pegel im ACK-Bit ) Der Beginn der fallenden Flanke des ACK-Bit kommt vom nahen Empfänger ca. 200ns verzögert. Das Ende der ansteigenden Flanke des ACK-Bit kommt vom fernen Empfänger ca. 600 ns verzögert. Davon sind jeweils ca. 100 ns interne Verzögerung im CAN-Controller (Synchronization Element). Die Verzögerung entsteht auf dem Weg vom Sender zum Empfänger und zurück. Schätzen Sie den minimalen und den maximalen Abstand Typische Signallaufzeit auf einer CAN-Zweidrahtleitung: ca. 2*108 m/s (2/3 Lichtgeschwindigkeit). zwischen den CAN-Knoten Entfernung naher Empfänger: 0,5 * 2*108 m/s * (200-100) 10-6 s = ca. 10 m Entfernung ferner Empfänger: 0,5 * 2*108 m/s * (600-100) 10-6 s = ca. 50 m (knapp über dem Maximalwert von 40m für 1MBit/s-CAN) N. Normann, V5.0, 01/2008 14/16 MCOM2KlausurV50Lsg.DOC Klausur MCOM2 Lösungsblatt zu Aufgabe 5.1: Ethernet-Frame Ziel-MAC-Adresse Quell-MAC-Adresse Längen/Typfeld Anzahl der Octets im Frame (ohne CRC) Wert FF:FF:FF:FF:FF:FF Bedeutung 00:03:A0:88:FC:35 Broadcast-Adresse 0800 Typfeld, IP-Datagram Anzahl der Octets für Nutzdaten: 252 – 14 = 238 N. Normann, V5.0, 01/2008 15/16 MCOM2KlausurV50Lsg.DOC 6+6+2+ (2+(14*16)+12) = 252 Klausur MCOM2 Lösungsblatt zu Aufgabe 5.2: Kollisionsdomäne 100Base-SX zum Hochschulnetz Hub Switch1 PC PC PC Büro-PC PC Switch2 PC PC PC Switch4 Switch3 PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC Kollisionsdomänen: Alle am Hub angeschlossenen PC’s bilden eine Kollisionsdomäne; sie reicht bis zum Downlink-Port des Switch1 Alle anderen Verbindungen sind Punkt-zu-Punkt-Verbindungen. Im Full-Duplex-Betrieb gibt es hier keine Kollisionen. Im Halb-Duplex-Betrieb ist hier jede Punkt-zu-Punkt-Verbindung eine separate Kollisionsdomäne. N. Normann, V5.0, 01/2008 16/16 MCOM2KlausurV50Lsg.DOC PC