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