• Keine Ergebnisse gefunden

EMS - Mögiche Prüfungsfragen Ausbesserungen an eike@ehringer.de

N/A
N/A
Protected

Academic year: 2021

Aktie "EMS - Mögiche Prüfungsfragen Ausbesserungen an eike@ehringer.de"

Copied!
11
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

EMS - Mögiche Prüfungsfragen Ausbesserungen an eike@ehringer.de

1. Was ist ein Mikroprozessor?

- Zentraleinheit eines Datenverarbeitungssystems ( CPU = CentralProcessingUnit ),

- CPU besteht aus Rechenwerk und Steuerwerk ( Prozessorkern ) mit Schnittstellen zur Außenwelt. Hierbei keine speziellen Schnittstellen zu Peripheriegeräten,

- Heute meist mit weiteren Komponenten auf einem einzigen Chip untergebracht,

- Weitere Komponenten ( je nach Komplexität ) möglich, z.B. Cache, virtuelle Speicherverwaltung…

- Mit Ziel, ein Programm möglichst effizient auszuführen ( Geschwindigkeit).

2. Was ist ein Mikrocontroller?

- Ein oder mehrere parallel arbeitende Mikroprozessoren mit Peripherie ( = Mikrorechner ) auf einen Chip,

- Prozessorkern, Speicher und I/O-Schnittstellen sind auf die Lösung spezieller Aufgaben zugeschnitten, wobei Prozessorkern einfacher als der eines

Mikroprozessors und damit günstiger ist,

- Ziel: Steuerungs- und Kommunikationsaufgabe mit möglichst wenigen Bausteinen lösen,

- Anwendung oft einmal programmiert und für die Lebensdauer des Mikrocontrollers auf diesem ausgeführt,

- Reduzierter Stromverbrauch und damit verbessertes Echtzeitverhalten, - Oft unsichtbar in uns umgebenden Geräten verborgen,

- Vielzahl verschiedener Mikrocontroller.

3. Was ist ein Embedded System?

Unter eingebetteten Systemen versteht man Rechensysteme, die auf einen

Anwendungsbereich zugeschnitten und in einen technischen Kontext eingebunden sind.

Sie bestehen oft aus unterschiedlichen HW- und SW- Komponenten, Sensoren und Aktoren mit einer Mensch-Maschinen-Schnittstelle ( HMI ).

(2)

4. Welche Eigenschaften muss ein Embedded System beschreiben?

- Heterogenität:

Reaktion/Erzeugung auf unterschiedliche Datenarten:

i. Einzelne, asynchrone Ereignisse ( Interrupt ),

ii. Asynchrone Meldungen (Signalisierung und Daten), iii. Kontinuierliche Datenströme, z.B. Messungen.

- Echtzeitfähigkeit,

d.h. Antwort innerhalb bestimmter Zeitschranken, - Reaktivität,

d.h. Antwort auf bestimmte Stimuli ausführen, - Zuverlässigkeit,

d.h. ausfallsichere Bearbeitung der Ereignisse / Prozesse garantieren, - Verteilte Implementierung,

d.h. Kommunikation eines ES über ein gemeinsames Kommunikationssystem, - Im Regelfall nicht programmierbar durch den Endbenutzer,

- Feste Laufzeitbedingungen.

5. Vergleiche Embeddes Systems mit regulären Personal Computer:

Embeddes Systems: Personal Computer:

Weniger Anwendungen, die zur Entwurfszeit bekannt sind.

Breites Anwendungsspektrum.

Nicht programmierbar durch Endbenutzer.

Programmierbar durch Endbenutzer.

Feste Laufzeitbedingungen (zusätzliche Rechenleistung nicht nützlich).

Schneller ist immer besser.

Kriterien:

- Kosten,

- Leistungsverbrauch, - Vorhersagbare Geschw.

Kriterien:

- Kosten,

- Geschwindigkeit, - Geschw.

Virtualität, d.h. unsichtbar in den uns umgebenden Geräten verborgen.

„direkter Zugriff“ auf das System möglich.

(3)

6. Welcher Unterschied besteht zwischen Mikrocontroller und Prozessor?

Siehe Frage 1 & 2 -> Gegenüberstellung.

Mikrocontroller: Prozessor:

Prozessor Ein oder mehrere parallel

arbeitende Mikroprozessoren mit Peripherie ( =Mikrorechner ) auf einen Chip, speziell auf

Anwendung zugeschnitten.

Eine CPU.

I/O Bausteine Speziell auf Anwendung zugeschnitten.

Keine spezielle Schnittstellen.

Erweiterbarkeit Speziell auf Anwendung zugeschnitten.

Prinzipiell beliebig erweiterbar.

Software Auf Anwendung zugeschnitten, kann nicht vom Benutzer verändert werden.

Frei programmierbar.

Zeitverhalten Muss meist Echtzeiteigenschaften erfüllen.

Erfüllt meistens kein Echtzeitverhalten.

Stromverbrauch Möglichst gering. „Beliebig“ hoch.

Wärmeentwicklung Möglichst gering. Hoch, bis an

Spezifikationsgrenzen.

Preis Möglichst gering. „Beliebig“ hoch.

7. Ist der CAN-Bus Echtzeitfähig? Begründung!

JEIN!

Das Busprotokoll ist so aufgebaut, dass in der Meldung zuerst die ID (Arbitrationfield) aufgeführt wird. Je tiefer diese ist, desto höher priorisiert ist die entsprechende

Meldung. Dies ist die direkte Folge der Dominanz des Null-Pegels.

Damit ist sichergestellt, dass die höherpriorisierte Nachricht in jedem Fall übermittelt wird.

Also sind zumindest für wichtige Nachrichten auch die Antwortzeiten garantierbar.

Die Vertreter des CAN bezeichnen deshalb den Bus als echtzeitfähig.

( Im strengen Sinn der Definition stimmt dies allerdings nicht! Ein CSMA-Verfahren ist nie zu 100% deterministisch! )

Æ In der Praxis quasi-echtzeitfähig!

Im strengeren Sinne der Definition jedoch nicht, da nicht sichergestellt werden kann, dass wirklich alle Messages innerhalb gegebener Zeitspannen gesendet werden können.

Jedoch, wurde eine Modifikation des CAN-Protokolls gemacht:

TT-CAN = TimeTriggered-CAN

Der TT-CAN ist echtzeitfähig, da vor der eigentlichen Busarbitrierung eine

Busreservierung stattfindet in welcher ein garantiertes Versenden von Nachrichten in diesem Zeitfenster für bestimmte Teilnehmer gesichert ist.

(4)

8. Geben Sie stichpunktartig die Initialisierungsschritte des AD-Wanderls an, um einen Port zu messen.

- „Disablen“ der digitalen Eingänge an denen die analogen Signale anliegen, - Globales Interrupt Enable Control Bit im PSW (ProcessorStatusWord) setzen, - „ADCON“ Register konfigurieren:

B0-3: ADCH Channel selection 0000 channel 0;

when in auto scan

mode then start

with this channel

B4-5: ADM ADC Mode selection: 01 fixed channel

continuous conversion

B6: ADX ADC Extension Channel control: 0 selects AN0-15

B7: ADST ADC Start Bit: 0 start conversions

B8: ADBSY ADC Busy Flag: 0 ADC is idle;

set by system

B9: ADWR ADC Wait for read control: 1 ADDAT is not over-

written, when set

conversion is halted

B10: ADCIN ADC Channel injection enable: 0for specific B11: ADCRQ ADC Channel Injection Request Flag: 0 conversions B12-13: ADC Sample Time Control: 00 fastes mode B14-15: ADC ADC Conversion Time Control: 10 " "

- ADCIC Register (ADCInterruptControl) konfigurieren:

(occurs when converter has written a new value to ADDAT )

B0-1: GLVL: 00 group level B2-5: LVL: 0101 interrupt level B6: ADIE: 1 interrupt enable B7: ADIR: 0 interrupt request;

set by system

B8-15: reserved

- ADEIC Register (ADCErrorInterrupt) konfigurieren:

( occurs when ADDAT is rewritten, before it is read when ADWR (wait for read control in ADCON) is set, this interrupt would never occur! )

B0-1: GLVL: 0 group level B2-5: ILVL: 0011 interrupt level B6: ADIE: 1 interrupt enable

B7: ADIR: 0 interrup request; set by system when interrupt occurs B8-15: reserved

- Setzen des ADST (ADC Start Bit) in ADCON Register um die Wandlung zu starten,

- InterruptServiceRoutinen für die konfigurierten Interrupts programmieren.

(5)

9. Was ist ein PEC / Wie ist der PEC im groben zu benutzen?

PEC = Periphal Event Controller

Interrupt-gesteuerter DMA-ähnlicher Datentransfer über acht getrennte PEC-Kanäle.

Jedem Kanal (0…7) sind die Steuerregister (Peripheral Event Channel Controll PECCx), ein Source Pointer (SRCPx) und ein Destination Pointer (DSTPx) zugeordnet.

Die Pointer lassen sich so konfigurieren, dass entweder der SRCP oder der DSTP oder keiner der beiden beim Datentransfer um ein Byte oder ein Word weitergeschaltet werden.

Jeder beliebige Hardware INT kann einem der acht PEC-Kanäle zugeordnet werden.

Die Zuordnung geschieht durch ILVL=1111 oder ILVL=1110, zugeordnet ist, so wird aufgrund des GLVL ein PEC-Kanal ausgewählt und je nach Inhalt con COUNT im PECCx ein Datentransfer oder ein INT ausgelöst.

Ist COUNT =

o zwischen 254 und 1, wird das Request Flag gelöscht ( COUNT != 1 ), COUNT dekrementiert, die Pointer ggfs. Erhöht ( nach Einstellung PECC ) und ein PEC Transfer durchgeführt.

o = 0 im PECCx, dann wird ein INT ausgelöst.

o = 255 werden PEC Transfers durchgeführt ohne COUNT zu verändern und ohne Interrupts auszulösen.

10. Was ist Bitstuffing, was bewirkt es?

Bei CAN wird die Synchronisation durch Bitstuffing sichergestellt. Sobald in einer Sendefolge 5 gleiche Bits aufeinander folgen, wird ein inverses Bit, ein sogenanntes Stuff-Bit, eingefügt. Hierdurch wird sichergestellt, dass spätestens nach 5 Bitzeiten eine Signalflanke zur Nachsynchronisation zur Verfügung steht. Die Stuff-Bits werden von den CAN-Controllern der Empfänger nach der Taktrückgewinnung wieder aus dem Datenstrom entfernt.

(6)

11. Wie erfolgt die Interrupt Behandlung beim C167 im Gegensatz zum regulären Personal Computer?

Schritte:

1. Setzen des InterruptRequestBits (IRBit) im jeweiligen InterruptControlRegister xxIC 2. Überprüfung ob selektives InterruptEnableBit (IE) im xxIC gesetzt ist

3. Überprüfung ob zentrales InterruptEnableBit (IEN) im PSW gesetzt ist

4. Vergleich ILVL des PSW (aktuelle Service Priority) mit ILVL des auftretenden Interrupts (Request Priority)

5. Speichern des PSW, IP und bei segmentiertem Mode auch CSP auf dem Stack 6. Request Priority wird als Service Priority im PSW gespeichert

7. Das InterruptRequestBit der Hardware Interrupt Quelle wird gelöscht 8. Spezialbehandlung Multiplikation / Division …

9. Direkter Sprung an die mit der Interrupt-Nummer zugeordneten Stelle der

InterruptVektorTabelle. Dort stehender Code wird direkt ausgeführt. Dabei kann es sich um die ISR selbst oder um einen Sprung in eine seperate ISR handeln.

10. Die ISR wird abgearbeitet. Mit dem Befehl RETI (ReturnFromInterrupt) wird der ursprüngliche Stack wieder hergestellt und das Programm an der unterbrochenen Stelle weiterbearbeitet.

Hauptunterschiede PC – C167:

- bei einem PC erfolgt ein indirekter Sprung in die ISR, der C167 führt einen direkten Sprung in die Vektortabelle und führt den dortigen Code aus.

- Die Prioritätenberücksichtigung erfolgt beim PC durch den PIC, im Gegensatz zum C167 der selbst die Prioritäten im PSW vergleicht.

12. Geben Sie ein Flussdiagramm zur Initialisierung des Displays DIP204-4 – wie Sie es aus der Übung kennen.

An das Display müssen folgende 6 Befehle geschickt werden:

Initialisierungsbeispiel für den 8-Bit Modus

Befehl: RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 HEX Bemerkung:

Function Set 0 0 0 0 1 1 0 1 0 0 $34 8-Bit Datenlänge,

extension Bit RE=1 Ext.

Function Set 0 0 0 0 0 0 1 0 0 1 $09 4 Zeilen Modus

Funcion Set 0 0 0 0 1 1 0 0 0 0 $30 8-Bit Datenlänge,

extension Bit RE=0 Display

ON/OFF 0 0 0 0 0 0 1 1 1 1 $0F Display ein, Cursor

ein, Cursor blinken

Clear Display 0 0 0 0 0 0 0 0 0 1 $01

Display löschen, Cursor auf 1. Spalte von 1. Zeile

Entry Mode 0 0 0 0 0 0 0 1 1 0 $06 Cursor Auto-

Increment

( Quelle: http://www.lcd-module.de/deu/pdf/doma/dip204-4.pdf )

(7)

13. Geben Sie die Initialisierungssequenz des Displays DIP204-4 codemäßig an.

??????????????????????????????????????????????

14. Geben Sie ein Flussdiagramm zur Initialisierung der Tastatur – wie Sie es aus der Übung kennen.

- Pins, an denen die Clock- und Datenleitung der Tastatur angeschlossen sind müssen auf Eingang konfiguriert sein,

- Capture/Compare Interrupt auf fallende Flanke konfigurieren, - Interrupt an Pin 14 (Datenleitung) enablen,

- InterruptLevel und GroupLevel vergeben.

Im Einzelnen läuft dann Folgendes ab:

- Die Tastatur legt das Startbit auf den Datenpin. Um dieses Signal zu erkennen kann man entweder ständig den Pin pollen oder sich über die Capture/Compare Einheit am Pin 14 über einen Interrupt informieren lassen,

- Ist das Signal erkannt, wartet man wieder auf die nächste fallende Flanke des Taktsignals und liest das erste Bit (Least Significant Bit) vom Datenpin,

- Dies wiederholt sich wieder bis zum achten Bit. Das empfangene Byte wird zur Weitergabe in einer globalen Variablen abgelegt. Danach liest man das Parity Bit, - Am Ende wird noch ein Stoppbit übertragen.

15. Geben Sie die Initialisierungssequenz der Tastatur codemäßig an.

??????????????????????????????????????????????

(8)

16. Geben Sie ein Flussdiagramm zur Initialisierung des CAN-Bus- Controllers – wie Sie es aus der Übung kennen.

- Externe Peripherie enablen (XPEN), - CAN Modul 1 enablen,

- Pins der Sende-und Empfangsleitungen von CAN1 als Aus- bzw. Eingang definieren, - Porttreiber festlegen (OD/PP-Mode),

- Globales Interrupt Enable Bit setzen,

- Control Status Register des CAN1 initialisieren (C1CSR), - PortControl Interrupt Register initialisieren (C1PCIR), - Bit Timing Register initialisieren (BTR),

- Global Mask Short initialisieren (GMR), - Alle Message Objects als ungültig erklären,

- Den Message Objects werden IDs für die Arbitrierung zugeordnet, - Konfiguration der Message Objects,

- Verwendete Message Objects als gültig erklären,

- Am Ende der Initialisierung das Initflag im C1CSR zurücksetzen!!!

- CAN1 Interrupt enablen,

- Priority und Group Level für den Interrupt vergeben.

17. Geben Sie die Initialisierungssequenz des CAN-Buses codemäßig an.

??????????????????????????????????????????????

(9)

Für den DVT Zusatz SS2004 – Hier darf natürlich auch jeder helfen!

1. Was ist ein Programmierbarer Baustein?

??????????????????????????????????????????????

2. Vorteil von Programmierbaren Bausteinen gegenüber regulären Bausteinen?

- Flexible Schaltungsentwicklung,

- Flexible „standardisierte“ Entwicklung mit PALs und PLAs,

- Wiederverwendung von bereits Entwickelten Schaltteilen ( als Blackbox ), - Platzersparnis / Kostenersparnis,

- Leichtes aufbauen von yP-Steuerwerke,

- Möglichkeit von PC-Simulationen in der frühen Entwicklungsphase, - Höhere Schaltzeiten.

3. Unterschied zwischen Bausteine: PAL/GAL – CPLD – FPGA

PAL / GAL: CPLD: FPGA:

Logik-Ressourcen

Wenige und sehr einfache

Ressourcen,

Komplexe Logik nur mit Hilfe von

Feedbacks.

Wenige, komplexe Ressourcen.

Viele, sehr einfache Logikelemente, Umsetzung von komplexer Logik erfordert viele Module.

Verbindungsaufbau Verdrahtungsmatrix. Schaltmatrix.

Logik kann global und lokal genutzt werden.

Geschwindigkeit

Sehr schnell, Langsam beim Einsatz von Feedbacks.

Schnell.

Abhängig on Verdrahtung und Platzierung.

Zeitliches Verhalten Vorhersagbar. Vorhersagbar. Nicht vorhersagbar!

Software PLD-Compiler. Mapper / Fitter. Place and Route, Simulation.

4. Vorteile und Nachteile zwischen Bausteinen: PAL/GAL – CPLD – FPGA

(10)

5. Was ist die Motivation für die Verwendung von VHDL - Warum?

- Hardwarelösungen oft vorteilhafter ( gegenüber SW ):

i. Verarbeitungsgeschwindigkeit, ii. Zuverlässigkeit,

iii. Leistungsverbrauch, iv. Sicherheit.

- Produktivitätssteigerung, - Immer kürzere Produktzyklen, - Technologischer Fortschritt.

6. Was kann mit VHDL gemacht werden?

- Schaltungs- Entwicklung / Simulation / Optimierung / Verifikation, - Wiederverwendung von bereits realisierten Schaltungsteilen, - Standarisierung des Formates zur Weiterverwendung

z.B. Portierung / Übertragung auf programmierbaren Baustein…

- ! Siehe Punkt 7. !

7. Vorteile von VHDL?

- Steigerung der Produktivität,

- Fehlervermeidung durch Simulation, - Standarisierung,

- Allgemeine und detailierte Beschreibung von Bauteilen, - Logik- und Timing- Spezifikation ( Keine Pegelspezifikation ), - Entity Deklaration ( Welches, wie viel Anschlüsse ),

- Parallele Simulation bis alle Eingänge Stabil sind, - Sequenzielle Abarbeitung z.B. Register.

(11)

8. Geben Sie einen Überblick über den Entwurfsablauf in VHDL.

- Spezifikation:

i. Gewünschtes Verhalten,

ii. Schnittstellen ( Zahlen und Art der E/A ),

iii. Randbedingungen ( Geschw., Kosten, Fläche, Leistungsverbrauch…), - Implementierung:

i. Entwurfsdomänen / Entwurfsebenen:

- Entwurfsablauf:

Referenzen

ÄHNLICHE DOKUMENTE

© Deutsches Institut für Entwicklungspolitik, Die aktuelle Kolumne, 08.06.2009 www.die-gdi.de.. Die aktuelle Kolumne

Dass die Tiere als Stall nicht mehr brauchen als ein Dach über dem Kopf und eine trockene Fläche, wo sie liegen und fressen können, bestätigt Margret Keck von der Eidgenössischen

An der Podiumsdiskussion wird der wohl aktuellste Zankapfel der Schweizer Agrarpolitik diskutiert: Soll die Milchkontingentierung aufgehoben werden oder

Frühjahrsabkalbung, saisonale Milchproduktion von März-November, Vollweidebetrieb, Kurzrasenweide, Kreuzen der Red Holstein-Kühe mit der Rasse Jersey, Natursprung mit 2

Unsere Tierhaltergemeinschaft (THG) ist für uns eine Lösung, unsere Betriebe auch in Zukunft landwirtschaftlich nutzen zu können.. Als Unternehmer wollen wir auch

• Laufställe werden durch die Programme für die besonders tierfreundliche Haltung von Nutztieren (BTS und RAUS) finanziell gefördert und bei den Investitionshilfen bevorzugt..

Gemeinschafter: Hannes Gysin, Matthias Schaffer, Beat Speiser Arbeitskräfte: die obgenannten 3

So fand sich bei POCD­Betroffenen etwa eine erhöhte Aktivität von Mikroglia, einem Zelltyp, der für die Koordination von Immunabwehr und Entzündungsreaktionen im Gehirn