Aufgabe Vorschlag C - Aufgabe 1.4 · Abitur Hessen Technische Informatik LK 2021
Thema: Klassen und Methoden implementieren · Aus der Prüfung LK (2021)
Aufgabenstellung
Boundary-Scan-Test
Das Verfahren des Boundary-Scan-Tests (BST) wurde entwickelt, um Leiterbahnen auf Leiterplatten (Platinen) mithilfe von Software auf ihre Funktionalität zu testen.
Der BST nutzt auf der Leiterplatte vorhandene spezielle integrierte Schaltkreise (ICs) 1, die über die vier zusätzlichen BST-Anschlüsse Testdata in (TDI), Testdata out (TDO), Testclock (TCK) und Test mode select (TMS) verfügen.
Eine detailliertere Übersicht eines solchen Boundary-Scan-ICs ist in Material 1 zu finden. In den ICs befinden sich Boundary-Scan-Zellen, die als Schieberegister zwischen den Anschlüssen der ICs und der internen Logik angeordnet sind. Der Boundary-Scan-Test wird softwareseitig von einem PC über einen Mikrocontroller gesteuert. Im Folgenden soll zuerst die Testsoftware erstellt werden.
1 Integrated Circuit, kurz IC; Plural ICs.
Material 1: Übersicht Boundary-Scan-IC
1.4 Der Integritätstest ist der einfachste der BSTs. Er testet, ob alle Boundary-Scan-ICs, die in der Schaltung vorhanden sein sollen, auch wirklich vorhanden sind, und ob sie in der richtigen Reihenfolge angeordnet sind. Dazu wird ein Testmuster erstellt, das pro IC aus 8 „0“-en besteht, die dann später während der Testdurchführung in die zu testende Schaltung geschoben werden. Für die erwartete Testantwort werden die IDs der ICs in der Reihenfolge, wie sie in der Netzliste auftreten, aneinandergehängt.
Implementieren Sie die Klasse IntegritaetstestGenerator und die Klasse BScan in einer objektorientierten Programmiersprache (z. B. Java).
Hinweise: Alle anderen Klassen sind als gegeben vorauszusetzen. Nutzen Sie zur Implementierung auch die Beschreibung aus Aufgabenteil 1.2. Auf die Implementierung der Klassen für die ICs und den Testadapter ist hierbei zu verzichten.
a)
b)

Lösung
Nach den offiziellen Korrekturhinweisen
Implementieren Sie die Klasse IntegritaetstestGenerator in einer objektorientierten Programmiersprache.
Lösung: ```java public class IntegritaetstestGenerator extends TestmusterGenerator { public IntegritaetstestGenerator(BScan bsm) { super(bsm); } public String generiereMuster() { // pro IC 8 0en String testmuster = ""; for (int i = 0; i < getNetzliste().getAnzahlICs(); i++) { testmuster += "00000000"; } return testmuster; } public String generiereZuErwartendeTestAntwort() { // IDs der einzelnen ICs hintereinandergehaengt String zuErwartendeTestAntwort = ""; getNetzliste().geheZuErstesBauteil(); for (int i = 0; i < getNetzliste().getAnzahlICs(); i++) { zuErwartendeTestAntwort += getBScan().getNetzliste().getAktuellesIC().getId(); getNetzliste().naechstesIC(); } return zuErwartendeTestAntwort; } } ```
Implementieren Sie die Klasse BScan in einer objektorientierten Programmiersprache.
Lösung: ```java public class BScan { private Netzliste netzliste; private Testadapter ta = new Testadapter(); private String testMuster; private String testErgebnis; private String zuErwartendeTestAntwort; public BScan(Netzliste netzliste) { this.netzliste = netzliste; } public void testen() { this.testErgebnis = ta.testen(this.testMuster); } public Netzliste getNetzliste() { return netzliste; } } ```
Die ausführliche Erklärung Schritt für Schritt (mit KI) gibt es mit Premium. Premium
Löse sie direkt hier: automatische Korrektur, Hinweise und Lösung Schritt für Schritt.
‹ Aufgabe Vorschlag B - Aufgabe 1.5 · LK 2021