Home
Aufgaben für das Realzeitlabor - Frankfurt University of Applied
Contents
1. E 8 Motorola 68000 Instruction Set Assembler Data Condition Codes Instruction Description Syntax Size XNZVC ABCD Add BCD with extend Dx Dy B Ro Aa TF Ax Ay ADD ADD binary Dn lt ea gt BWL PSO ERS EE lt ea gt Dn ADDA ADD binary to An lt ea gt An SWE ge Se ADDI ADD Immediate x lt ea gt BWL kk Kk Ze ADDO ADD 3 bit immediate lt 1 8 gt lt ea gt BWL x k k k k ADDX ADD eXtended Dy Dx BWL EE EA Ay Ax AND Bit wise AND lt ea gt Dn BWL EO O Dn lt ea gt ANDI Bit wise AND with Immediate lt data gt lt ea gt BWL 0 0 ASL Arithmetic Shift Left lt 1 8 gt Dy BWL BO oK Dx Dy lt ea gt ASR Arithmetic Shift Right eats BWL Be EN AS Bec Conditional Branch Bec S lt label gt BW A Ee a Bec W lt label gt BCHG Test a Bit and CHanGe Dn lt ea gt B L lt data gt lt ea gt BCLR Test a Bit and CLeaR N B L Seay az BSE est a Bit and SET ahs B L Se Pegler et BSR Branch to SubRoutine BSR S lt label gt BWIN BSR W lt label gt BTST Bit TeST Dn lt ea gt B L ET amet oe lt data gt lt ea gt CHK CHecK Dn Against Bounds lt ea gt Dn W ENK U CLR CLeaR lt ea gt BWL 0100 CMP CoMPare lt ea gt Dn BWL RR CMPA CoMPare Address lt ea gt An WL RR RT ER CMPI CoMPare Immediate lt data gt lt ea gt BWL x RK CMPM CoMPare Memory Ay Ax BWL u IRS I DBcc Looping Instruction DBcc Dn lt label gt W 22 DIVS DIVide Signed lt ea gt Dn W Rien ho RO DIVU DIVid
2. Realzeit Labor Versuche Seite 36 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 E 5 Die Digitale In Out Schnittstelle VDIO32 Die digitale Ein Ausgabe Schnittstelle VDIO 32 bietet 32 von einander unabh ngige optoentkoppelte Ein und Ausg nge f r digitale Signale von Spannungen zwischen 0 und 24 Volt Davon sind 16 fest als Ausg nge geschaltet die restlichen 16 Leitungen k nnen in Gruppen zu je 4 Bit wahlweise auf Input oder Output geschaltet werden Gleichg ltig wie die Datenrichtung ist K nnen die extern anliegenden effektiven Pegel der Leitungen jederzeit als Bits 0 oder 1 gelesen werden Die Ausg nge liefern Spannungen von 24 Volt und Str me bis 300 mA Die Eing nge haben eine Schwellenspannung f r logische 0 1 zwischen 2 0 und 3 0 Volt Zur Anbindung von Anwenderprogrammen steht eine Funktionen Bibliothek libvdio a zur Verf gung die mit Jibvdio a und mit liblynx a gelinkt werden mu Ben tigte Headerdatei include lt vdio h gt Bibliotheksfunktionen bersicht 5 1 vdio_open ffnen des Ger tes 5 2 vdio_close Deaktivierung Freigabe der Ressourcen 5 3 vdio_irgptn Definiert das Pattern f r den Pattern Match Interrupt 5 4 vdio_irgon Enable Pattern Interrupt Schaltet den Pattern Interrupt ein 5 5 vdio_irgoff Disable Pattern Interrupt Schaltet den Pattern Interrupt aus 5 6 vdio_irqwait Warte auf Pattern Interrupt 5 7 vdio_write Sch
3. gt lt Operand gt lt Operand 2 gt Realzeit Labor Versuche Seite 24 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 D 5 Arbeitsblatt 2 zur Aufgabe 4c Busprotokolle Namen SANER Aene ee Datum ee Rechner Atari 1024 CPU M68000 A t Diagramm des Testprogramms ADRESS BUS AA graphic FC 2_0 BUS DATA BUS AS n R W n l je ae si se ee a Se nein t Ergebnisse L nge der Schleife nen us NOP nstruktion esea us L nge eines READ Zyklus us WRITE Zyklus 000 rennen us Zeitabstand gegen Signal AS n FC ns ADRESS ns RW naar ns DATA read ns DT ACK n ns DATA write ns DT ACK n ns Zeitliche Schwankungen der Signale Jitter ADRESS ns DATA read ns Interpretationen Bussignale des MC 68 000 Adress 1_23 Wort Adressen Data 0_15 Daten Steuerung FC2_0 Function Control AS n Adress Strobe neg 0 0 0 not defined UDS n Upper Data Strobe neg 0 0 1 Daten im User Mode LDS n Lower Data Strobe neg O 1 0 Instruktion im User Mode R W n Read Write neg 0 Daten im Kernel Mode DTACK N Data Acknowledge neg 0 Instruktion im Kernel Mode Interrupt Grant BR n Bus Request neg IPL2_0 n Interrupt Priority Level BG n Bus Grant neg HALT BGACK n B
4. e xw yw in Zoll zu erstellen MovePen double x double y bewegt den Graphikzeiger zum Punkt mit den Koordinaten x y in Zoll ohne zu zeichnen DrawLine double dx double dy zeichnet eine Linie von aktuellen Standpunkt zu einem Punkt mit den relativen Abst nden dx und dy DrawTextString string s schreibt einen Text s ab der aktuellen Position und bewegt den Graphikzeiger entsprechend Pause int s wartet s Sekunden mit der Aktualisierung der Anzeige F r ihre Einbindung in ein C Programm sind folgende Bibliotheken erforderlich xxx cslib a diese Bibliothek von Grundfunktionen mu f r jede Rechnerplattform neu erstellt werden usr lib libX11 a diese Bibliothek von Grundfunktionen mu f r jede Rechnerplattform vorhanden sein wenn die Benutzeroberfl che X11 installiert ist usr lib libm a diese Bibliothek von Grundfunktionen mu f r jede Rechnerplattform vorhanden sein Zur Vereinfachung wurde ein Shellscript gecx installiert das eine Variante des Kommandos gcc darstellt und alle erforderlichen Bibliotheken l dt Im Kern enth lt es folgende Anweisung gcc g I CSLIB CSLIB IX11 Im Es wird wie ein gcc Kommando aufgerufen z B gccx o haus haus c Im Quellprogramm m ssen keine besonderen Header Dateien f r die Graphik angegeben werden Auf den LynxOS Rechnern im Realzeitlabor sind die notwendigen Bibliotheken auf folgenden Pfaden zu erreichen usr lib libX11 a usr lib libm a usr
5. Erh hen Sie die Wartezeit solange bis sie sich im Zeichenabstand wieder bemerkbar macht vergleichen Sie die Wartezeit mit der nominellen Ausgaberate Baud Rate Messen Sie die zeitliche Dauer des Ausgabesignals und berechnen Sie daraus die maximale Ausgaberate in Zeichen pro Sekunde cps Realzeit Labor Versuche Seite 10 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 4 Beobachtung von Fehlanpassungen Zusatzaufgabe Schlie en Sie ein VT 100 Terminal an die COM Schnittstelle an Stellen Sie mit dem SETUP die richtigen Kommunikationsparameter Baudrate Datenbits Parit t Stopbits ein und beobachten Sie den korrekten Empfang der vom Rechner gesendeten Zeichen ndern Sie im SETUP des Terminals die Empfangs Baudrate zuerst auf den doppelten dann auf den halben Wert Beobachten Sie die nderung der Darstellung auf dem Terminal in der Regel werden sogenannte Schmierzeichen ausgef llte Rechtecke oder umgedrehte Fragezeichen erscheinen die einen Fehler in der Daten bertragung signalisieren Bei Wahl geeigneter Eingabewerte von der Tastatur k nnen lesbare Zeichen entstehen Zeichnen Sie die entsprechenden Signalfolgen ma stabsgetreu auf und interpretieren Sie die Darstellung Stellen Sie zum Schlu im SETUP die Standard Baudrate wieder ein 9600 Baud 5 Ausarbeitung Programmdokumentation Quellcode Struktogramme etc Arbeitsanleitung Benutzerhandbuch Beschreibung der Beo
6. f r Analoge Ein Ausgabe und libvdio a f r Digitale Ein Ausgabe vorhanden die bei der Programmerstellung in das Anwender programm mit eingebunden werden m ssen Die wichtigsten Funktionen sind in den Anlage ES und E 6 zusammen gefa t Es empfiehlt sich den Asynchronbetrieb modefree zu w hlen und folgende Werte zu benutzen vstart vend 1 A D Kanal 1 vadsrv 2 CORRIGIERT dastart 1 daend 3 D A Kanal 1 2 3 vdasrv 2 cnvtime 1 000 000 ergibt eine Abtastfrequenz von 1 kHz wird mit dem tats chlichen Wert der Hardware abgeglichen Auf jeden Fall soll Ihr Programm in einem Vorspann einen Test aller Ein und Ausgabe Kan le vorsehen F r die Darstellung von Objekten insbesondere f r die Textausgabe empfiehlt es sich 2 Grundfunktionen zu erstellen polyline anzahl feld Linienzug mit den Eckpunkten in Array feld 2 anzahl kreisbogen Xm Ym r Olstart end Kreisbogen um den Mittelpunkt Xm Ym mit Radius r und Start bzw Endwinkeln start end die wiederum auf Basisfunktionen aufbauen wie moveto x y Ziehen mit abgehobenem Stift drawto x y Ziehen mit gesenktem Stift 4 Durchf hrung Es sind folgende graphische Objekte auf dem DIN A3 X Y Plotter darzustellen Rechteck der Gr e 30 x 40 cm Kreis der von 3 Seiten des Rechtecks den Abstand von 2 mm hat Darstellung des Kreismittelpunkts als liegendes Kreuz x ein beliebiger sinnvoller Text mit mindestens 6 verschiedenen Buchstaben an bel
7. Programmierung und Test f r die Steuerung eines Plotters Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 A Allgemeines zur Versuchsdurchf hrung Die Aufgaben werden in Gruppen zu je 2 Personen bearbeitet Die Bearbeitung erfolgt auf den Rechnern im Realzeitlabor BCN 103 unter LINUX MS DOS oder Lynx OS Jede Gruppe bearbeitet mindestens je eine Aufgabe aus den Aufgabenbl cken 1a c 2a b 3a c 4a c 5a d Die Versuchsbeschreibungen und die ausgeteilten Laborbl tter dienen der Vorbereitung der Durchf hrung und der Nachbereitung Zur Vorbereitung sind insbesondere die entsprechende Literatur zu lesen einige Diagramme zu skizzieren und Programme zu erstellen F r die Programme sind Kurzbeschreibungen Formblatt nach DIN 66 230 Struktogramme nach Nassi Shneiderman und Quellcode in verschiedenen Programmiersprachen zu erstellen Alle gr eren Programme snd modular aufzubauen und arbeitsteilig zu erstellen Alle wichtigen Module sollten so gestaltet sein da sie einzeln getestet werden k nnen um Fehler schneller eingrenzen zu k nnen oder Unklarheiten zu beseitigen Daher ist eine gute funktionelle Gliederung unerl lich Bei allen Versuchen ist darauf zu achten da die Versuchsanordnung zu Beginn in einen definierten Zu stand gebracht d h initialisiert wird W hrend der Versuchsdurchf hrung sind anhand der Versuchsbeschreibungen die Beobachtungen durc
8. bung 1b Messung der Laufzeiten bei Array Bearbeitung in einer h heren Programmiersprache Mit einfachsten Mitteln Armbanduhr sind die Laufzeiten f r die Bearbeitung eines 2 dimensionalen Array n n in einer h heren Programmiersprache z B C PASCAL FORTRAN oder BASIC zu bestimmen und die Unterschiede bei spaltenweiser und bei zeilenweiser Abarbeitung zu vergleichen bung Ic Messung der Laufzeiten von Instruktionen in einer maschinennahen Programmiersprache Mit einfachsten Mitteln Armbanduhr sind die Laufzeiten von Anweisungen in einer maschinennahen Programmiersprache Assembler m glichst genau zu bestimmen bung 2a Beobachtungen an der Terminalschnittstelle mit einem Oszilloskop Datendarstellung an der RS 232C Schnittstelle V 24 V 28 V 4 Datenraten Fehlanpassungen bung 2b Programmierung des Eingabeechos an einer Terminalschnittstelle F r ein Terminal VT 100 das an einen serielle Schnittstelle angeschlossen wird soll das von der Tastatur eingegebene Zeichen ber eine einfache Prozedur auf dem Bildschirm dargestellt werden Es sollen keine Systemfunktionen verwendet werden sondern Zugriffe auf die Register des entsprechenden Logikbausteins UART 8250 bung 2c Kommunikation zwischen 2 Rechnern ber die Terminalschnittstelle COM 1 Programmierung der Daten bertragung im Gegensprechverkehr Full Duplex FDX Zeichen die am Terminal eines Rechners eingegeben werden sollen am Bildschirm des anderen Rechners er
9. der zu einem bestimmten bekannten Lichtwert x zugeh rige Me wert y wird erfa t der Wert x wird dabei ber die Tastatur eingegeben Darstellung der Eichpunkte als Zahlenwerte Liste auf dem Terminal Berechnung einer Eichkurve zur Berechnung von Eingabewert x auf Me wert y nach einem Ausgleichs verfahren s w u Darstellung der Parameter der Eichkurve als Liste auf dem Terminal Darstellung der Eichkurve als Graphik auf dem Terminal Darstellung des aktuellen Proze werts als Mittelwert ber gen gend viele Me werte auf dem Bildschirm als Anzeigeinstrument Darstellung einer Me reihe als Me kurve auf dem Bildschirm eventuell ohne Umrechnung Darstellung des Frequenzspektrums einer Me reihe als Kurve auf dem Bildschirm d Eichkurven Zur Umrechnung eines Eingabewerts x Signalspannung auf den zugeh rigen Me wert y physikalische Gr e eines Me glieds wird stets eine Umrechnung ben tigt Im einfachsten Fall ist sie linear d h die Kennlinie bertragungsfunktion des Me glieds ist y c x bzw die Eichkurve x y c Im allgemeinen werden kompliziertere Funktionen ben tigt y g x und x f y die oft nicht analytisch geschlossen dargestellt oder umgerechnet werden k nnen Dann versucht man N herungsfunktionen anzuwenden die im einfachsten Fall wieder linear sind Ein Verfahren zur Linearisierung ist die bekannte Taylor Entwicklung um einen Fixpunkt x0 Realzeit Labor Versuche Seite 26 Labor f r Realze
10. Am Anfang des Programms soll durch Benutzereingabe ausgew hlt werden k nnen ob der Taskwechsel zyklisch erfolgt oder rein zuf llig Realzeit Labor Versuche Seite 16 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 bung 3c Programmierung von InterprozeBkommunikation Ziel dieser Aufgabe Unter Programmkontrolle sollen mehrere Tasks gestartet und nach einer vorgegebenen Anzahl von Durchl ufen beendet werden Zwischen den Tasks soll ein Datenaustausch stattfinden Die Taskaktivit ten sind auf dem Konsolterminal darzustellen 0 Aufgabenstellung Es soll ein Programm erstellt werden das beim Ablauf durch Fork Prozesse 4 neue Tasks A D erzeugt von denen jeweils 2 Erzeuger und 2 Verbraucher darstellen Die Erzeuger Tasks sollen im Wechsel ablaufen und Nachrichten ber eine Pipe an die Verbraucher Tasks senden Das Absenden durch die Erzeuger und die Annahme durch die Verbraucher sind auf der Console mit Zeitstempel darzustellen 1 Vorbereitung Strukturen durch Petri Netze definieren Geeignete Testprogramme Struktogramme Code erstellen 2 Inbetriebnahme der Versuchsanordnung Zur Durchf hrung dieses Versuchs ist jeder Rechner verwendbar der Multi Tasking erlaubt 3 Erstellung des Testprogramms Das Programm ist auf einem der LINUX Rechner im Realzeitlabor zu erstellen und zu installieren Beginnen Sie mit jeweils einem Erzeuger und einem Verbraucherproze 4 Durchf hrung Der Ablau
11. Codes set after CMP D0 D1 Instruction Relationship Unsigned Signed D1 lt DO CS Carry Bit Set iT Less Than D1 lt DO LS Lower or Same E Less than or Equal D1 DO EQ Equal Z bit Set EQ Equal Z bit Set D1 DO E Not Equal Z bit Clear E Not Equal Z bit Clear D1 gt DO HI Higher than GT Greater Than D1 gt DO CC Carry Bit Clear GE Greater than or Equal PL PLus N bit Clear I Minus N bit Set VC V bit Clear No Overflow VS V bit Set Overflow RA BRanch Always DBcc Only F Never Terminate DBRA is an alternate to DBF T Always Terminate Scc Only SF Never Set ST Always Set Parts from Programming the 68000 by Steve Williams c 1985 Sybex Inc Parts from BYTE Magazine article Compiled by Diego Barros e mail alien zikzak apana org au Revision 2 1 22 May 1994 Realzeit Labor Versuche Seite 51 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 E 9 Die Graphik Bibliothek CSLIB Die Graphik Bibliothek CSLIB wurde von Eric Roberts entwickelt und ist im Internet beim Verlag Addison amp Wesley verf gbar HTTP www aw com compter science Auf der Benutzeroberfl che X11 k nnen hiermit einfache Graphikausgaben durchgef hrt werden Folgende Basisfunktionen werden angeboten InitGraphics double xw double yw diese Grundfunktionen mu zu Beginn aufgerufen werden um ein Graphikfenster der Gr
12. Datenstruktur mit der die folgenden Parameter einstellungen spezifiziert werden k nnen zul ssige Wertebereiche in Klammern vend 1 16 die End Adresse des ausgew hlten Eingangskanals A D vstart 1 vend die Start Adresse des ausgew hlten Eingangskanals A D vadsrv AD_RAW 1 AD_CORR 2 Arbeitsweise des A D Wandlers daend 1 4 die End Adresse des ausgew hlten Ausgangskanals D A dastart 1 daend die Start Adresse des ausgew hlten Ausgangskanals D A envtime 20000 5682511 ns Wandlungszeit der A D und D A Wandler Der Wertebereich fiir cnvtime ist hier fiir die Default Taktfrequenz der lokalen CPU der VME AIO16 23068 kHz angegeben Nicht jeder Wert dieses Bereich ist jedoch exakt erreichbar VME AIO16 berechnet daher die beste N herung f r cnvtime Vaio_modefree gibt den tats chlich gesetzten Wert in cnvtime an den Aufrufer zur ck Einige weitere Parameter des VME AIO16 werden fest eingestellt vvtrg IRQ_OFF 0 vdasrv DA_NORMAL 0 ldemod LDAC_WITH_START_ADC 1 RETURN Im Fehlerfall wird 1 geliefert mir entspr Errno Code sonst 0 EBADF va ist kein giiltiger Handle von vaio_open Realzeit Labor Versuche Seite 40 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 EIO Fehler bei Kommunikation mit VME VAIO16 Hardware i a wegen falscher Parameter CAVEAT Diese Funktion ruft implizit vaio_stop auf F r den Beginn des Wandlerbetriebs is
13. Lesevorgang ver ndert 0 DSR gleich geblieben DCTS Delta Clear To Send 1 CTS seit letztem Lesevorgang ver ndert 0 CTS gleich geblieben Abb 9 Modemstatusregister Offset 06h 7 0 Abb 10 Scratch Pad Register Offset 07h Realzeit Labor Versuche Seite 47 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 E 7 Der Logikanalysator PM 3585 Die Benutzerschnittstelle besteht aus Eingabem glichkeiten ber eine Tastatur mit Funktions und alphanumerischen Tasten einen Drehknopf und eine Maus ein Diskettenlaufwerk im Labor ist es auf ReadOnly eingestellt einer Bildschirmanzeige und einem Drucker fiir Hardcopies der Bildschirmanzeige Atari Zentraleinheit Die Tastatur umfa t mehrere Felder 1 Funktionsauswahltasten Configure Format Trace I O Display Print Start und Stop 2 Die alphabetische und die numerische Tastatur die praktisch nur f r Dateinamen beim I O verwendet wird 3 Cursortasten Alle Funktionstasten k nnen durch Anklicken von Feldern im Display mit der Maus ersetzt werden Mit dem Drehknopf k nnen Parameter im Parameterfeld des Display s w u schrittweise variiert werden Die Auswahl entsprechender Parameter erfolgt durch Cursortasten oder mit der Maus Die Bildschirmanzeige umfa t verschiedene Funktionen Configuration Format Trace I O Display Hiervon werden im Labor nur die Funktionen I O und Display verwendet Mit der Funktion I O k
14. benutzen vstart vend 1 A D Kanal 1 vadsrv 2 CORRIGIERT dastart daend 1 D A Kanal 1 vdasrv 1 zur Ausgabe einer festen Referenzspannung f r den NTC cnvtime 1 000 000 ergibt eine Abtastfrequenz von 1 kHz wird mit dem tats chlichen Wert der Hardware abgeglichen Bedenken Sie da der NTC Widerstand ein passives Bauelement ist und selber keine Spannungen liefert statt dessen mu eine Stromquelle in Form einer Ausgabespannung und eines Vorwiderstands emuliert werden Man berlege sich welche Auswirkung dies auf die Eichung hat Auf jeden Fall soll Ihr Programm in einem Vorspann einen Test aller Ein und Ausgabe Kan le vorsehen 4 Durchf hrung Erfassung der Eichpunkte Darstellung der Eichpunkte in einem Koordinatenkreuz auf dem Arbeitsblatt Berechnung einer Eichkurve zur Berechnung von Eingabewert auf Me wert nach einem Ausgleichs verfahren s w o Darstellung der Eichkurve auf dem Arbeitsblatt Darstellung des aktuellen Me werts auf dem Terminal als Anzeigeinstrument Messung der Raumtemperatur am Fenster in der Raummitte und an der T r Messung der K rpertemperaturen der Versuchsteilnehmer 5 Ausarbeitung DV Handbuch mit Programmdokumentation Quellcode Struktogrammen Modulpl ne Bedienungsanleitung Anwenderhandbuch und Versuchsaufbau Beschreibung der Beobachtungen bei der Durchf hrung an Hand des Arbeitsblatts Realzeit Labor Versuche Seite 30 Labor f r Realzeitsysteme im Stud
15. den spektralen Schwerpunkt Unter und Obergrenze des Frequenzspektrums jenseits derer keine Komponenten gr er als 20 dB vorkommen Einschwingzeit d h die Zeit ab der die Amplitude des Grundtons zu 50 erreicht wird hierf r w re ein digitales Frequenzfilter sehr n tzlich Realzeit Labor Versuche Seite 32 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 bung 5d Programmierung und Test f r die Steuerung eines Plotters Ziel dieser Aufgabe Mit Hilfe der Analogausgabe eines Proze rechners ist ein XY Schreiber so zu steuern da vorgegebene Kurven und Texte dort dargestellt werden 0 Vorbereitung Bereiten Sie ein Programm Struktogramm vor das geeignet strukturiert ist und flexibel an die vorliegenden Gegebenheiten angepa t werden kann 1 Grundlagen Bedenken Sie da die Mechanik eines Schreiber recht tr ge ist und der Ausgabegeschwindigkeit eines Computers in der Regel nicht folgen kann Strukturieren Sie Ihr Programm so da es weitgehend unabh ngig vom konkreten Ausgabeger t ist und z B auch mit einem Oszilloskop als Ausgabeger t verwendet werden kann 2 Inbetriebnahme der Versuchsanordnung Der Plotter samt Stiften und Schreiberpapier werden von den Betreuern bereitgestellt 3 Erstellung des Me programms Das Me programm ist in einer h heren Programmiersprache vorzugsweise C zu erstellen F r den Zugriff auf die Proze peripherie sind die Bibliotheken libvaio a
16. eine noch komplexere Abh ngigkeit ergibt Zur Eichung mu eine N herungsfunktion benutzt werden wie sie weiter unten beschrieben wird b Die Zeitaufl sung eines Photoelements ist recht gut sie liegt bei 0 1 ms oder darunter Damit k nnen zeitab h ngige Vorg nge erfa t werden denen unser Auge nicht folgen kann z B das Flimmern eines Computer Bildschirms oder einer Lampe Bei Intensit tsmessungen an wechselstrombetriebenen Lichtquellen bei denen das erfa te Signal zeitabh ngig ist kann es zu erheblichen Fehlmessungen kommen wenn das Me ger t keine Mittelwertbildung durchf hrt oder nicht vollst ndig ber ganze Perioden gemittelt wird Es ist deshalb notwendig im Rechner ber l ngere Me reihen zu mitteln Dazu wird empfohlen ca 1 2 Sekunde lang mit einer Aufl sung von ca 1 2 ms zu messen und in eine Datei abzuspeichern F r die on line Darstellung der mittleren Lichtintensit t ist der Mittelwert zu bilden mittels der Eichung umzurechnen und auszugeben Die Erfassung kann freilaufend oder auf Anforderung Tastatureingabe erfolgen F r die zeitliche Darstellung des Intensit tsverlaufs kann eine Graphikbibliothek CSLIB verwendet werden s Anhang E 9 Optional kann eine Schnelle Fourier Transformation FFT der Me reihen eingebaut und das Frequenzspektrum dargestellt werden s Anhang E 10 c Der Ablauf des Programms ist zweckm igerweise in folgende Schritte zu gliedern und zu testen Erfassung der Eichpunkte
17. im Studiengang Informatik der FH Ffm WS 2002 03 pf Kaufpreis Mei O Installierungskosten Wartungs und Pflegekosten Schulungskosten Fachhochschule Frankfurt am Main University of Applied Sciences Fachbereich 2 Informatik und Ingenieurwissenschaften Computer Science and Engineering Labor f r Realzeitsysteme embedded systems Gruppen ID Teilnehmerin Teilnehmer Matrikelnummern ea PrN Durchgef hrtam Abgegeben am Realzeit Labor Versuche Seite 56
18. in folgende Schritte zu gliedern und zu testen Erfassung der Eichpunkte der zu einem bestimmten bekannten Temperaturwert x zugeh rige Me wert y wird erfa t der Wert x wird dabei ber die Tastatur eingegeben Es empfiehlt sich nach getaner Eichung diese Werte in einer Datei abzuspeichern um die aufwendige Temperatureichung nicht jedesmal wiederholen zu m ssen Bestimmung und Anzeige der Einstellzeiten Darstellung der Eichpunkte in einem Koordinatenkreuz auf dem Arbeitsblatt Berechnung einer Eichkurve zur Berechnung von Eingabewert auf Me wert nach einem Ausgleichs verfahren s w u Darstellung der Eichkurve Darstellung des aktuellen Me werts auf dem Terminal als Anzeigeinstrument Realzeit Labor Versuche Seite 29 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 2 Inbetriebnahme der Versuchsanordnung Temperatursensor Eis und Kocher werden von den Betreuern bereitgestellt 3 Erstellung des Me programms Das Me programm ist in einer h heren Programmiersprache vorzugsweise C zu erstellen F r den Zugriff auf die Proze peripherie sind die Bibliotheken libvaio a f r Analoge Ein Ausgabe und libvdio a f r Digitale Ein Ausgabe vorhanden die bei der Programmerstellung in das Anwenderprogramm mit eingebunden werden m ssen Die wichtigsten Funktionen sind in den Anlage E5 und E 6 zusammengefa t Es empfiehlt sich den Asynchronbetrieb modefree zu w hlen und folgende Werte zu
19. lt ea gt BWL al A A NEGX EGate with eXtend lt ea gt BWL ORTE NOP o OPeration NOB BORE Sh ca NOT Form one s complement lt ea gt BWL RAO O OR Bit wise OR lt ea gt Dn BWL EIER Dn lt ea gt ORI Bit wise OR with Immediate lt data gt lt ea gt BWL 0 0 PEA Push Effective Address lt ea gt L Ze zn RESET RESET all external devices RESET i SS ROL ROtate Left lt 1 8 gt Dy BWL Re Qk Dx Dy lt ea gt ROR ROtate Right werd BWL SRE Ee ROXL ROtate Left with eXtend ous BWL RR KO Sk ROXR ROtate Right with eXtend ER BWL KR Ka O at RTE ReTurn from Exception RTE N oe PO CR 3 RTR ReTurn and Restore RTR IIII RTS ReTurn from Subroutine BES ne SBCD Subtract BCD with eXtend Dx Dy B U FU Ax Ay sce Set to 1 if True 0 if False lt ea gt BS hy ea STOP Enable amp wait for interrupts lt data gt TE SUB SUBtract binary Dn lt ea gt BWL BR lt ea gt Dn SUBA SUBtract binary from An lt ea gt An SWE CS SUBI SUBtract Immediate x lt ea gt BWL kk kK KK SUBQ SUBtract 3 bit immediate lt data gt lt ea gt BWL kk kK KK SUBX SUBtract eXtended Dy Dx BWL Be 2 Oe Ay Ax SWAP SWAP words of Dn Dn W 00 TAS Test amp Set MSB amp Set N Z bits lt ea gt B ER TRAP Execute TRAP Exception lt vector gt gt a nnn TRAPV RAPV Exception if V bit Set TRAPV gt a Lo TST TeST for negative or zero lt ea gt BWL E00 UNLK Deallocate Stack Frame AM SES Symbol Meaning Set according to result of o
20. 32 Port3 LSB Kanal 1 PortO Fehler werden in folgenden F llen gemeldet Kurzschlu fehlende Last berspannung oder bertemperatur Da die Ports in Gruppen zu je 4 Ports zusammengefa t sind sind jeweils 4 Bit pro Portgruppe gleich Haben die 4 Bit den Wert 0000 liegt kein Fehler vor beim Wert 1111 ist mindestens auf einem Port ein Fehler aufgetreten ohne da der tats chliche Port bekannt ist Realzeit Labor Versuche Seite 38 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 E 6 Die Analoge In Out Schnittstelle VAIO16 Die Analoge Ein Ausgabe Schnittstelle VAIO16 bietet 16 von einander unabh ngige Eing nge A D und 4 Ausg nge D A f r Spannungen zwischen 0 und 5 Volt Zur Anbindung von Anwenderprogrammen steht eine Funktionen Bibliothek libvaio a zur Verfiigung die mit libvaio a und mit liblynx a gelinkt werden mu Ben tigte Headerdatei include lt vaio h gt Bibliotheksfunktionen 6 1 vaio_open ffnen des Ger ts 6 2 vaio_cbse Deaktivierung Freigabe der Ressourcen 6 3 vaio_reset Restart VME AIO16 optional neue CPU Frequenz 6 4 vaio_getcalib Hole Kalibrierdaten 6 5 vaio_modefree Initialisierung des unsynchronisierten Betriebs 6 6 vaio_modesync Initialisierung der synchronen Betriebsart 6 7 vaio_start Start Konversion 6 8 vaio_stop Stop Konversion 6 9 vaio_readfree Lies A D Kanal unsynchronisiert 6 10 vaio_writefree Schreibe D A Kana
21. Aufgabe la Verarbeitungszeiten D 2 Arbeitsblatt zur Aufgabe 1b Bearbeitungszeiten D 3 Arbeitsblatt zur Aufgabe Ic Instruktionszeiten D 4 Arbeitsblatt zur Aufgabe 2a Start Stop Prozedur D 5 Arbeitsblatt zur Aufgabe 4c Busprotokolle D 6 Arbeitsblatt zur Aufgabe 5a Programmierung Test und Eichung eines digitalen Photometers D 7 Arbeitsblatt zur Aufgabe 5b Programmierung Test und Eichung eines digitalen Thermometers D 8 Arbeitsblatt zur Aufgabe 5c Programmierung und Test f r die Erfassung von Schallereignissen D 9 Arbeitsblatt zur Aufgabe 5d Programmierung und Test f r die Steuerung eines Plotters E Anlagen E 1 Schalterstellungen des Philips PM 3382 A Oszilloskops E6 Die Analoge In Out Schnittstelle AIO32 E 2 Schalterstellungen des Philips Oszilloskops PM 3208 E 7 Der Logikanalysator PM 3585 E 3 Schalterstellungen des Grundig Oszilloskops MO30 E 8 Der Befehlssatz der Motorola 68 000 CPU E 4 Der UART 8250 E9 Die Graphik Blibliothek CSLIB E 5 Die Digitale In Out Schnittstelle PIO16 E 10 Digitale Fourier Transformation DFT Realzeit Labor Versuche Seite 2 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 bersicht ber die bungsaufgaben bung la Messung der Laufzeiten von Anweisungen in einer h heren Programmiersprache Mit einfachsten Mitteln Armbanduhr sind die Laufzeiten von Anweisungen in einer h heren Programmier sprache z B C PASCAL FORTRAN oder BASIC m glichst genau zu bestimmen
22. Endlosschleife Von der Konsoltastatur soll das Zeichen eingegeben werden das auf der Leitung erscheinen soll Der Zeitabstand der ausgegebenen Zeichen mu variabel sein entweder ber eine Timer Funktion oder ber eine Warteschleife Der Zeitabstand Wartezeit soll m glichst on line ver ndert werden k nnen andernfalls ist u U immer einen Neucompilation n tig die relativ viel Zeit kostet Es mu eine ESCAPE Funktion zum Beenden des Programms vorhanden sein CTRL C 0 3 Darstellung und Aufzeichnung der Signale Stellen Sie die Zeitbasis des Oszilloskops zun chst so ein da eine Programmschleife m glichst den gesamten Darstellungsbereich ausf llt d h so da 2 Zeichenausgaben zu sehen sind Halten Sie dabei einen geeichten Zeitma stab am Oszilloskop ein Betrachten Sie das Ausgabesignal genauer durch Wahl eines anderen Zeitma stabs und oder einer k rzeren Wartezeit swo Notieren Sie sich den Wert des verwendeten Schleifenz hlers oder des Timers Richten Sie Ihren Zeitma stab variabel so ein da ein Signalelement genau eine Rastereinheit ausf llt Zeichnen Sie die Signale ma st blich mit Zeitskala und Pegeln f r folgende Zeichen auf A a 1 2 3 4 Bestimmen Sie die Anzahl der Datenbits und die Einstellungen fiir das Priifbit Bestimmen Sie die Zeitdauer eines Signalelements in einem geeichten Zeitma stab Bestimmen Sie die Anzahl der Stopbits indem Sie die Wartezeit auf 0 verk rzen
23. Kalibrierdaten int vaio_calib int va struct vaio_calib calibdata 6 5 vaio_modefree Initialisierung des unsynchronisierten Betriebs int vaio_modefree int va struct vaio_freeset setupdata DESCRIPTION vaio_modefree konfiguriert das VME AIO16 Device den Treiber und die library f r unsynchronisierten A D und D A Betrieb Speziell werden hier die benutzten Kan le und die Frequenz der Wandlung festgelegt In dieser Betriebsart erzeugt das Ger t keine Interrupts vielmehr werden A D und D A Wandler mit typisch hoher Frequenz durch einen internen Timer des Ger ts getrieben Die Wandlerzyklen starten automatisch ohne da der Host darauf R cksicht nimmt Die Anwendung darf ohne weitere Synchronisation Daten vom ADC lesen oder in den DAC schreiben Die Verz gerung zwischen u erem Signalpegel und den rechnerseitigen Daten h ngt nat rlich von der Wiederholungsfrequenz der Wandlung ab In einem Multi Tasking System ist allerdings nicht zu erwarten da der unsynchronisierte Betrieb zu einer stabilen Abtastfrequenz d h zu einem gleichm igen Datenflu f hrt vielmehr ist abh ngig vom Scheduling mit mehr oder weniger Jitter zu rechnen Der unsynchronisierte Betrieb ist zun chst als besonders zu handhabender Testmodus gedacht Zur Sicherung einer stabilen Tastfrequenz eignet sich eher der synchrone Modus s vaio_modesync va ist der von vaio_open gelieferte Handle setupdata zeigt auf eine vom Aufrufer bereitzustellende
24. Prof Dr Erik Jacobson Fachbereich MND Fachhochschule Frankfurt am Main Inhalt Laborversuche im REALZEITLABOR zur Lehrveranstaltung Realzeitsysteme im Studiengang Informatik der FH Ffm Fb 2 m WS 2002 03 Version 1 4 Mai 2002 Allgemeine Hinweise zum Laborbetrieb Versuchskurzbeschreibungen bung la bung 1b bung Ic bung 2a bung 2b bung 2c bung 3a bung 3b bung 3c bung 4a bung 4b bung 4c bung 5a bung 5b bung 5c bung 5d Messung der Laufzeiten von Anweisungen in einer h heren Programmiersprache Messung der Laufzeiten bei Array Bearbeitung in einer h heren Programmiersprache Messung der Laufzeiten von Instruktionen in einer maschinennahen Programmiersprache Beobachtungen an der Terminalschnittstelle mit einem Oszilloskop Programmierung des Eingabeechos an einer Terminalschnittstelle COM 1 Kommunikation zwischen 2 Rechnern ber die Terminalschnittstelle COM 1 Programmierungen mit Timer Funktionen Programmierung zum Task Scheduling Programmierung von Interproze kommunikation Proze steuerung zum Kochen eines Eies ber eine Digitalschnittstelle Beobachtungen an der Busschnittstelle des Prozessors 68 000 mit einem Logikanalysator Modellierung einer Regelstrecke mit RESI Programmierung Test und Eichung eines digitalen Photometers Programmierung Test und Eichung eines digitalen Thermometers Programmierung und Test f r die Erfassung von Schallereignissen
25. are Intervalle der Wartezeiten von ca 1 bis 60 Sekunden Eingabeaufforderungen erzeugt hierbei ist daf r zu sorgen da vorzeitige Eingaben abgewiesen werden F r die darauf folgende Eingabe ist die ben tigte Reaktionszeit zu messen und f r eine nachfolgende Auswertung zu speichern In der Auswertung sind zu bestimmen F r die Wartezeit w Mittelwert und Varianz Minimal und Maximalwert werden vorgegeben F r die Reaktionszeit r Mittelwert und Varianz Minimal und Maximalwert 1 Vorbereitung Strukturen durch Petri Netze definieren Geeignete Testprogramme Struktogramme Code erstellen 2 Inbetriebnahme der Versuchsanordnung Zur Durchf hrung dieses Versuchs ist jeder beliebige PC verwendbar auf dem geeignete Timer Funktionen verf gbar sind 3 Erstellung des Testprogramms Das Programm ist auf einem der Unix LINUX oder Lynx OS Rechner im Realzeitlabor zu erstellen und zu installieren 4 Durchf hrung Machen Sie mehrere Versuche mit unterschiedlichen Parametern um die optimalen Werte herauszufinden f r die Wartezeiten Mittelwert und Varianz bzw Minimal und Maximalwerte die Anzahl der Me zyklen 10 bis 100 5 Ausarbeitung Programmdokumentation Quellcode Struktogramme etc Arbeitsanleitung Benutzerhandbuch MeBergebnisse 6 Zusatzaufgabe Bestimmen Sie eine etwaige Korrelation zwischen Wartezeit w und Reaktionszeit r numerisch und in Form eines Diagramms r w Realzeit Labor V
26. bachtungen bei der Durchf hrung Realzeit Labor Versuche Seite 11 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 D 4 Arbeitsblatt zur Aufgabe 2a Start Stop Prozedur Namen O OOs eee etat Datum een A EEA Rechner Zeitma stab msec div Signale ma st blich mit Zeitskala f r folgende Zeichen A 4 Anzahl der Datenbits Einstellung des Pr fbits Anzahl der Stopbits Signalpegel 0 V 1 V Anstiegszeit Flankensteilheit Zeitdauer eines Signalelements bits msec Zeitliche Dauer des Ausgabesignals msec Maximale Ausgaberate in Zeichen pro Sekunde cps Der optimale Wert f r die Wartezeit nenene Effekte die bei zu kurzer Pause zwischen 2 Zeichen st rend auf dem Bildschirm erscheinen Fehlanpassungen mit Sender Baudrate Empf nger Baudrate Sendezeichen A a Empfangszeichen auf dem Bildschirm neee Realzeit Labor Versuche Seite 12 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 bung 2b Programmierung des Eingabeechos an einer Terminalschnittstelle Programmierung des TerminalEcho mit Polling und mit Interrupt Ziel dieser Aufgabe Diese Aufgabe soll verdeutlichen da eine Terminaleingabe von der Tastatur nicht automatisch auch auf dem Bildschirm erscheint sondern erst durch gee
27. be m ssen 2 Rechner ber ihre COM Schnittstellen miteinander verbunden werden Hierf r sind geeignete Kabel und ein Nullmodem zu verwenden Das Nullmodem hat im wesentlichen die Aufgabe ein Paar von Modem zu ersetzen Dazu sind Sende und Empfangsleitungen kreuzweise miteinander zu verbinden Ebenso die Steuerleitungen RTS CTS DSR DTR 3 Erstellung und Eingabe des Testprogramms Auf beiden Rechner ist jeweils das gleiche Programm zu erstellen zu testen und in Betrieb zu nehmen Es ist in einer geeigneten maschinennahen Programmiersprache zu schreiben vorzugsweise in C 4 Durchf hrung Die Reaktionen der Rechner auf Consol Eingaben Gegensprechverkehr Full Duplex FDX sind zu beob achten und zu beschreiben 5 Ausarbeitung Programmdokumentation Quellcode Struktogramme etc Arbeitsanleitung Benutzerhandbuch Beschreibung der Beobachtungen bei der Durchf hrung 6 Zusatzaufgabe Beobachten Sie den Datenverkehr am Nullmodem mit einem Oszilloskop vgl Aufgabe 2a Realzeit Labor Versuche Seite 14 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 bung 3a Programmierungen mit Timer Funktionen Messung der Reaktionszeit f r eine Tasteneingabe nach zufallsgesteuerter Aufforderung Ziel dieser Aufgabe Programmieren von Zeitvorgaben ausgaben und Zeitmessung eingaben 0 Aufgabenstellung Um die Reaktionszeit einer Testperson zu messen werden in unregelm igen Abst nden einstellb
28. chiebt das Signal vertikal 14 17 TRIGx w hlt Kanal x als Triggersignal bzw Kanal 1 Triggern bei steigender o fallender Flanke steigende Flanke 18 21 AMPL setzt Verst rkung in Volt pro K stchen 0 5V bzw 5V 22 25 INPUT Signaleing nge 1 4 26 29 ON schaltet den Kanal ein aus alle Kan le ein 30 33 AC DC GND Kanalkopplung Gleich Wechselspannung Erde DC ANALOG ACQUIRE SAVE_RETAL MEASURE MATH Sun io Ha off TRIGGER MAGN 4x POS o i 4 5 E ime i TR WIPIGGER TON EVE i FOCUS O GRATICULE ILLUMINATION Realzeit Labor Versuche Seite 34 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 E 2 Schalterstellungen des Philips Oszilloskops PM 3208 Einstellungen die ausprobiert werden m ssen sind unterstrichen Netzschalter Intensit t Mittelstellung Fokus nicht ver ndern Trace Rotation nicht ver ndern Position A Mitte Linie Empfindlichkeit 5 V div Eingangs Schalter on Spannungs Schalter DC Eingang A Tastkopf mit Abschw chung 1 10 Eingang B Tastkopf mit Abschw chung 1 10 6B Eingangs Schalter on 7B Spannungs Schalter s o 10 X Position Strahlbeginn am linken Rand 11 Trigger Level ca Mitte 12 Zeitbasis ms us 13 Magnification x1 14 Zeitbasis ca 2us 15 Nachlauf var 16 Zeitbasis var zum Messen auf cal geeicht 17 Trigger DC 18 Trigger Slope 19 Trigger Quelle A 20 Trigger Modus NORMal 21 Trig
29. e Struktogramme Modulpl ne Petri Netzen Bedienungsanleitung Anwenderhandbuch mit Erl uterung durch ein Zustands bergangsdiagramm und detaillierte Beschreibung der Versuchsanordnung Beschreibung der Beobachtungen bei der Durchf hrung Aufheizzeit in sec Regelzyklen in sec Konsistenz des gekochten Eies roh wachsweich hart Realzeit Labor Versuche Seite 19 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 bung 4b Modellierung einer Regelstrecke mit RESI Ziel dieser Aufgabe Es ist eine Regelstrecke f r ein vorgegebenes System zu modellieren und in der Simulation zu testen 0 Vorbereitung Strukturen im Wirkungsplan erg nzen Ubertragungsfunktion des Systems und der Regelung bestimmen 1 Grundlagen Das REgelungs SImulationsprogramm RESI wurde an der FH FFM im Studiengang Ingenieur Informatik erstellt und enth lt noch einige Schwachstellen die sich aber nur bei Fehlbedienung bemerkbar machen dann aber oft so dramatisch da ein v lliges Ausschalten des Rechners n tig wird RESI ist frei kopierbar und l uft unter MS DOS ab Version 5 0 RESI ben tigt eine Gleitkomma Coprozessor und mindestens eine EGA Graphikausgabe RESI enth lt eine graphische Benutzeroberfl che mit Symbolen f r bertragungsglieder parametrierbare Signalquellen Bedienung intuitiv bedienbar daher keine ausf hrliche Bedienungsanleitung Folgende bertragungselemente werden im
30. e Unsigned lt ea gt Dn W AR 0 EOR Exclusive OR Dn lt ea gt BWL AO EORI Exclusive OR Immediate lt data gt lt ea gt BWL 0 0 EXG Exchange any two registers Rx Ry SSE ee EXT Sign EXTend Dn WL S KaR GO ILLEGAL ILLEGAL Instruction Exception POLEGAR 0 2 2 2 2 Bea at JMP JuMP to Affective Address lt ea gt L L n JSR Jump to SubRoutine SS Po 7222 00 EA Load Effective Address lt ea gt An SST gt 25 2222 LINK Allocate Stack Frame An lt displacement gt 7 SL Logical Shift Left Dx Dy BWL a oi Or lt 1 8 gt Dy lt ea gt LSR Logical Shift Right BR BWL FN AOS K OVE Between Effective Addresses lt ea gt lt ea gt BWL 00 OVE O GCR lt ea gt CCR W EPRE OVE o SR lt ea gt SR W Es De OVE From SR SR lt ea gt a ISLS OVE USP to from Address Register USP An er gE a An USP OVEA MOVE Address lt ea gt An ST 222222 Daanan Realzeit Labor Versuche Seite 49 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 OVEM OVE Multiple lt register list gt lt ea gt WL lt ea gt lt register list gt OVEP OVE Peripheral Dn x An ne 0 OSE x An Dn OVEO OVE 8 bit immediate lt 128 127 gt Dn L 0 0 ULS ULtiply Signed lt ea gt Dn W 2 80 0 ULU ULtiply Unsigned lt ea gt Dn W emma Oba NBCD egate BCD lt ea gt B Ue RE NEG EGate
31. e oder e eines Computerbildschirms Realzeit Labor Versuche Seite 28 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 bung 5b Programmierung Test und Eichung eines digitalen Thermometers Ziel dieser Aufgabe Es sollen mit einem NTC Widerstand Temperaturen erfa t und angezeigt werden Mit Hilfe der Analogeingabe eines Proze rechners sind die Signale einer Thermowiderstands NTC zu erfas sen und als digitale Temperaturwerte on line auf dem Bildschirm und off line als Me kurve darzustellen 0 Vorbereitung berlegen Sie sich welche Algorithmen Sie verwenden wollen um die Eichkurve zu erstellen Bereiten Sie ein Programm Struktogramm vor das geeignet strukturiert ist und flexibel an die vorlie genden Gegebenheiten angepa t werden kann 1 Grundlagen a Der Temperatursensor NTC Widerstand hat eine relativ gro e Tr gheit seine Einstellzeit betr gt min destens 0 1 Sekunden 100 ms Da Temperatur nderungen in der Regel langsam erfolgen ist dies auch aus reichend Dennoch sollten bei der Eichung Me reihen mit geeigneter Zeitaufl sung erfa t und ausgewertet werden um die Einstellzeit zu bestimmen und um irgendwelche St rungen zu erkennen b Die Kennlinie eines NTC Widerstands ist ausgesprochen nichtlinear n herungsweise gilt f r die absolute Temperatur T in Kelvin R T Ro exp To T z B mit Ro 0 04 Ohm To 2500 K Damit hat ein NTC Widerstand e
32. e werden hier die Steuersignale der RS 232 Schnittstelle verwendet die ber die Register des UART erzeugt und empfangen werden vgl Aufgabe 2b Hiermit wird ein digitales Ausgangssignal z B mit RTS oder DTR f r ein Relais erzeugt das die Heizung schaltet und ein digitales Signal vom Bimetallschalter mit CTS oder DSR empfangen Der Zugriff erfolgt ber Systemfunktionen oder ber die UART Register im IO Bereich f r die root Privilegien erforderlich w ren Zum Zugriff nichtprivilegierter Benutzer steht unter LINUX eine kleine Bibliothek USER_COM zur Verf gung die mit eingebunden werden mu Test fuer user_COM needs insmod userio_module by root extern unsigned char user_COMIl_in unsigned short port extern unsigned char user_COM2_in unsigned short port extern int user_COMIl_out unsigned short port unsigned char data extern int user_COM2_out unsigned short port unsigned char data B LYNX Systeme mit einer Digitalen Ein Ausgabe Schnittstelle DPIO 32 die ber den VME Bus angeschlossen ist N heres zu dieser Schnittstelle im entsprechenden Manual s Hardcopy 1 Vorbereitung Ablaufstrukturen durch Zustandsdiagramme definieren dabei sind auch St reinfl sse und ereignisse zu ber cksichtigen Geeignete Testprogramme Struktogramme Code erstellen 2 Erstellung des Programms F r den Ablauf ist etwa folgendes Rahmenprogramm vorzusehen Vor dem Start des eigentlichen Steuerungsprogramms sol
33. enderhalteregister und Senderschieberegister 0 ein Byte im Senderhalteregister oder Senderschieberegister TBE Senderhalteregister leer Transmitter Buffer Empty 1 kein Byte im Senderhalteregister O ein Byte im Senderhalteregister BREK Break l erfa t O kein Break FRMF Framing Fehler 1 Fehler aufgetreten 0 kein Framing Fehler PARF Parit tsfehler 1 Fehler aufgetreten O kein Parit tsfehler UBLF berlauffehler 1 Fehler aufgetreten 0 kein berlauffehler RXRD Empfangsdaten bereit 1 Empfangsdaten im Empf ngerpufferregister 0 keine Empfangsdaten Abb 8 Serialisierungsstatusregister Offset 05h LOOP Riickkoppelungspriifung Loopback Priifung 1 aktiv 0 Normal betrieb OUT2 Vielzweckausgang 2 General Purpose Output 2 im PC Master Interrupt Aktivierungsbit l aktiv O deaktiviert OUTI Vielzweckausgang 1 Genera Purpose Output 1 l aktiv O deaktiviert RTS Request TO Send 1 aktiv O deaktiviert DTR Data TerminalReady 1 aktiv O deaktiviert Abb 7 Modemsteuerregister Offset 04h 7 0 DCD Data Carrier Detect 1 DCD aktiv 0 DCD inaktiv RI Ring Indicator 1 RI aktiv O RI inaktiv DSR Data Set Ready 1 DSR aktiv 0 DSR inaktiv CTS Clear To Send 1 CTS aktiv 0 CTS inaktiv DDCD Delta Data Carrier Detect 1 DCD seit letztem Lesevorgang ver ndert 0 DCD gleich geblieben DRI Delta Ring Indicator 1 RI seit letztem Lesevorgang ver ndert O RI gleich geblieben DDSR Delta Data Set Ready 1 DSR seit letztem
34. epa t werden kann 1 Grundlagen Schallereignisse bestehen aus akustischen Wellen im Frequenzbereich von ca 20 Hz bis 20 KHz Um solche Analogwerte digital aufzunehmen m ssen sie nach Shannon mit mindestens der doppelten Frequenz also 40 kHz abgetastet werden Aus Speicher konomie ist hier eine Beschr nkung auf ca 32 KHz vorzu nehmen Ebenso ist eine zeitliche Begrenzung auf ca 1 bis 2 Sekunden f r jedes Schallereignis vorzusehen 2 Inbetriebnahme der Versuchsanordnung Mikrofone werden von den Betreuern bereitgestellt 3 Erstellung des Me programms Das Me programm ist in einer h heren Programmiersprache vorzugsweise C zu erstellen F r den Zugriff auf die Proze peripherie sind die Bibliotheken libvaio a f r Analoge Ein Ausgabe und ibvdio a f r Digitale Ein Ausgabe vorhanden die bei der Programmerstellung in das Anwenderprogramm mit eingebunden werden m ssen Die wichtigsten Funktionen sind in den Anlage E 5 und E 6 zusammengefa t Es empfiehlt sich den Synchronbetrieb zu w hlen und folgende Werte zu benutzen dastart daend 1 D A Kanal 1 vdasrv 1 tats chlich werden gar keine D A Kan le verwendet vstart vend 1 A D Kanal 1 vadsrv 17 CONTINUIERLICH ad_frames Ox7FFF 32767 ergibt einen Puffer in 1 Sekunde und es reicht ad_buffers 2 da_frames 0x7FFF 32767 ergibt einen Puffer in 1 Sekunde und es reicht da_buffers 1 cnvtime 31 250 ergibt eine Abtastfrequenz von 32 kHz ad_frames ad_buffe
35. ersuche Seite 15 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 bung 3b Programmierung zum Task Scheduling Ziel dieser Aufgabe Unter Programmkontrolle sollen mehrere Tasks gestartet und durch geeignete Tastatureingaben beendet werden Die Task Aktivit ten sind auf dem Konsolterminal darzustellen 0 Aufgabenstellung Es soll ein Programm erstellt werden das beim Ablauf durch Fork Prozesse 5 neue Tasks A E erzeugt Diese Tasks sollen im Wechsel ablaufen Jeder Taskwechsel ist auf der Console mit Zeitstempel kenntlich zu machen Au erdem ist vorzusehen da jede einzelne Task A E w hrend ihrer Laufzeit durch eine Consol Eingabe beendet werden kann ohne da der Gesamtproze Job abgebrochen wird 1 Vorbereitung Strukturen durch Petri Netze definieren Geeignete Testprogramme Struktogramme Code erstellen 2 Inbetriebnahme der Versuchsanordnung Zur Durchf hrung dieses Versuchs ist jeder Rechner verwendbar der Multi Tasking erlaubt 3 Erstellung des Testprogramms Das Programm ist auf einem der LINUX Rechner im Realzeitlabor zu erstellen und zu installieren Beginnen Sie mit 2 Kindprozessen A B und erweitern Sie dann die Menge der Kindprozesse auf 5 4 Durchf hrung Der Ablauf des Programms ist zu dokumentieren Am einfachsten durch Umleiten der Standardausgabe in eine Datei 5 Ausarbeitung Programmdokumentation Bedienungsanleitung Ablaufprotokoll 6 Zusatzaufgabe
36. f des Programms ist zu dokumentieren Am einfachsten durch Umleiten der Standardausgabe in eine Datei 5 Ausarbeitung Programmdokumentation Bedienungsanleitung Ablaufprotokoll 6 Zusatzaufgabe F hren Sie die bung so durch da die 4 Tasks als 4 eigenst ndige Programme aus 4 Fenstern gestartet werden Realzeit Labor Versuche Seite 17 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 bung 4a Proze steuerung zum Kochen eines Eies Ziel dieser Aufgabe Erstellung einer einfachen digitalen Regelung 0 Aufgabenstellung Mit Hilfe eines Computers soll ein 6 Minuten Ei gekocht werden Als Proze glieder sind vorhanden 1 ein Bimetallschalter der bei ca 90 C ffnet er besitzt keine eigene Spannungsversorgung sie mu ihm bereitgestellt werden 2 ein Relais f r die Heizung eines Kochtopfs Tauchsieder Es gilt eine Heizung Kochplatte oder Tauchsieder mit Hilfe eines Bimetallschalters so zu regeln da keine zu starke Erhitzung und kein berkochen des Wassers eintritt Durch geeignete Meldungen soll der Anwender zum Bedienen des Prozesses aufgefordert werden z B zur Inbetriebnahme des Prozesses zum Einlegen und Herausnehmen des Eies Im Vorlauf des Steuerprogramms oder als eigenst ndiges Programm ist ein Test der Ein Ausgabeschnittstelle Zur Realisierung stehen 2 unterschiedliche Systeme zur Verf gung A Linux Rechner mit einer seriellen COM Schnittstelle Als Behelfsschnittstell
37. ger Anschlu unbenutzt 22 Eich Impuls vonaurwun w PM3208 20MHz 16 14 17 1 22 8 7 9 7B 21 19 Realzeit Labor Versuche Seite 35 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 E 3 Schalterstellungen des GRUNDIG Oszilloskops MO 30 Einstellungen die ver ndert oder ausprobiert werden m ssen sind unterstrichen 1 Netzschalter 2 Netz Anzeige 3 Intensit t Mittelstellung 4 Fokus nicht ver ndern 5 Eichspannung 6 Trace Rotation nicht ver ndern 11 Eingang CH1 Tastkopf mit Abschw chung 1 10 12 Eingangskopplung DC 13 Empfindlichkeit 5 V div 14 Var CAL 15 Position CH1 Mittel Linie 16 Polarit t nicht invert 21 Eingang CH2 Tastkopf mit Abschw chung 1 10 22 Eingangskopplung DC 23 Empfindlichkeit 5 V div 24 Var CAL 25 Position CH2 Mittel Linie 26 Polarit t nicht invert 28 Vertical Mode BOTH 29 Vertical Mode CHOP 31 Magnification x1 35 X Y aus 36 Zeitbasis Var zum Messen auf CAL geeicht 38 Zeitbasis ca 2us cm 40 X Position Strahlbeginn am linken Rand 44 Trigger Slope 45 Trigger Level ca Mitte 0 47 Trigger Modus AUTO NORMal 48 Trigger Kopplung AC 49 Trigger Quelle CH1 50 Trigger Anschlu unbenutzt Bedien und Anzeige Elomente Oscilloscope MO 30 Sontrols and indicators Gebrauchsanweisung Operating Instruction VERTICAL MOD W URGE n en 4 ni
38. gnal unterbrochen nur bei flg BLOCKING EAGAIN kein A D Buffer frei nur bei flg NONBLOCKING EIO Fehler bei Kommunikation mit VME V AIO16 Hardware i a wegen falscher Parameter 6 12 vaio_writesync schreibe D A Buffer synchron int vaio_writesync int va int buffer enum blockmode flg mode DESCRIPTION vaio_writesync schreibt einen Datenbuffer des A D Konverters wie durch vaio_modesync konfiguriert der n chste freie D A Buffer wird mit den Anwenderdaten gef llt va ist wie blich der von vaio_open gelieferte Handle f r die Device Instanz buffer zeigt auf vom Aufrufer bereitzustellende Daten von insgesamt dabuf_frames daend dastart 1 Integers vaio_writesync bertr gt die Daten nur wenn mindestens ein D A Buffer auf der VME AIO16 frei ist Das enumerierte Argument flg bestimmt wie sich die Funktion verhalten soll wenn kein D A Buffer auf dem Ger t frei ist BLOCKING Funktion wartet am Z hlsemaphor VAIO_ADCIRQ auf Interrupt NONBLOCKING Funktion wartet nicht sondern liefert den Fehler errno EAGAIN RETURN gt 0 Anzahl der unverbrauchten Impulse im Interrupt Z hlsemaphor von VAIO_ADCIRQ Dieser Wert signalisiert die Anzahl der freien D A Buffer Die Zahl sollte kleiner als das konfigurierte dabuf_buffers sein Falls nicht liegt ein Overrun vor die D A Buffer wurden schneller konvertiert als nachgef llt Dies kann relativ leicht zu Beginn geschehen wenn die Konversion startet ehe der erste D A Buffer gef llt werden k
39. grammerstellung in das Anwender programm mit eingebunden werden m ssen Die wichtigsten Funktionen sind in den Anlagen E 5 und E 6 zusammen gefa t Es empfiehlt sich den Synchronbetrieb zu w hlen und folgende Werte zu benutzen vstart vend A D Kanal 1 vadsrv 17 CONTINUIERLICH ad_frames 0x7FFF 32767 0 4 ad_buffers 2 oder mehr dastart daend 1 D A Kanal 1 vdasrv 1 da_frames da_buffers 1 tats chlich werden gar keine D A Kan le verwendet cnvtime 500 000 ergibt eine Abtastfrequenz von 2 kHz ad_frames ad_buffers und cnvtime werden mit den tats chlichen Werten der Hardware abgeglichen Es empfiehlt sich die Me werte unverz glich in Dateien abzuspeichern und sp ter von dort zu lesen F r die graphische Darstellung von Kurven auf dem Bildschirm kann eine bereitgestellte Graphik Bibliothek CSLIB benutzt werden die in der Anlage E 9 beschrieben ist Auf jeden Fall soll Ihr Programm in einem Vorspann einen Test aller Ein und Ausgabe Kan le vorsehen 4 Durchf hrung 4 1 Eichung der Solarzelle mit einer Gl hlampe Die Eichung erfolgt bei folgenden Lichtintensit ten Dunkelwert Abdeckung mit der Hand L 0 lux der Eingangswert mu 0 sein nachpr fen sonst mu dieser Dunkelwert von allen folgenden Werten abgezogen werden direkte Beleuchtung mit Tischlampe 40 W matt aus einer Entfernung 1 vom Lampenkolben 600 lux 40 cm 1800 lux 20 cm 6000 lux 10 cm welche physikalische Gesetzm igkeit
40. h zuf hren und Messungen von Hand aufzuzeichnen oder auszudrucken Bei der Nachbereitung werden Werte die w hrend des Versuchs nicht mehr berechnet werden konnten ausgerechnet und Deutungen von Versuchsergebnissen anhand der Literatur ausgearbeitet Als Ausarbeitungen abzugeben sind 1 Benutzerhandbuch Arbeitsanleitung Bedienungsanleitung f r die Programme einschlie lich manueller Weiterverarbeitungen Es mu alles enthalten was zur Erstellung der Ergebnisse notwendig ist Ni g og gt 5 nD oO 5 7 lt ie 5 oz oO OQ P D T 5 Q amp 3 oO gt 5 3 Programmdokumentation DV Handbuch a Kurzbeschreibung auf Formblatt nach DIN 66 230 b Struktogramme der verwendeten Programme einschlie lich manueller Weiterverarbeitungen c Quellcode der Programme Listings Compiler Binder Lader d Makefile Kommandosequenzen zur Erstellung Nur der Entwickler darf dieses Handbuch benutzen er kennt aber das Benutzerhandbuch ttt Literatur Bennet Real Time Computer Control 1994 Jacobson Einf hrung in die PDV 1996 Rembold Levi Realzeitsysteme 1994 Strohrmann G Automatisierungstechnik 1997 F rber G Proze rechentechnik 1979 Coy Aufbau und Arbeitsweise von Rechenanlagen 1988 Kernighan Ritchie Programmieren in C 1983 Banahan Rutter UNIX 1984 Dannegger Parallele Prozesse unter UNIX 1991 D Arbeitsbl tter zu den Versuchen Muster D 1 Arbeitsblatt zur
41. iebiger Stelle 5 Ausarbeitung DV Handbuch mit Programmdokumentation Quellcode Struktogrammen Modulpl ne Bedienungsanleitung Anwenderhandbuch Plotterausgabe s o 6 Einstellungen an XY Schreiber Kipp amp Zonen X Anschlu an Kanal 1 Y Anschlu an Kanal 2 Z Anschlu an der Ger ter ckseite umstecken und mit Kanal 3 verbinden Alle Schiebeschalter m ssen in der oberen Stellung stehen Empfindlichkeiten in X und Y Richtung sind vorher zu bestimmen Alle Nullpunktlagen ZERO sind auf 0 zu stellen so da der Nullpunkt in der linken unteren Ecke ist Realzeit Labor Versuche Seite 33 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 E 1 Schalterstellungen des Philips PM 3382A Oszilloskops Eine f r die Durchf hrung der Aufgabe 1 1 passende Voreinstellung kann ber das SETUP Men jederzeit abgerufen werden SETUPS 4 Dr cken mit TRACK Drehknopf 3 Setup s1 ausw hlen RECALL im Display Men w hlen SETUPS 4 dr cken F r weitere Einstellungen hier die wichtigsten Funktionen Nr Name Funktion Voreinstellung 1 POWER Netzschalter 2 STATUS zeigt die aktuellen Einstellungen an 5 RUN STOP startet und stoppt die Aufzeichnung Momentaufnahme 6 MAGNIFY vergr ert die aktuelle Anzeige bis 32 fach 7 TIME DIV setzt die Zeitbasis in sec cm 500 ns 8 HARDCOPY druckt die Anzeige auf dem Drucker aus 9 X POS verschiebt alle Signale horizontal 10 13 Y POS vers
42. iengang Informatik der FH Ffm WS 2002 03 Arbeitsblatt zur bung 5b Programmierung Test und Eichung eines digitalen Thermometers Namen nalen Senn Datum sis Rechner Sensor Eichwerte Intensit t Abstand Me wert Zimmertemperatur DEE ee Eiswasser OFS wheimeds Kochendes Wasser 100 C Lave Mischwasser 50 50 50 C ren Eichkurve Einstellzeit s Me wert l l l l l l l l l l l l l l l l l l l lee ee Are EE E E EE E E GE SEHE SEEE E TC 0 20 50 100 C Eichfunktion y a x b Eichfaktoren a bare Ma einheiten Messung der Raumtemperatur am Fenster nn C in der Rummite C ander T r en C Messung der K rpertemperaturen der Versuchsteilnehmer 1 Teilnehmerin ee 2 Teilnehmer in C Realzeit Labor Versuche Seite 31 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 bung 5c Programmierung und Test f r die Erfassung von Schallereignissen Ziel dieser Aufgabe Mit Hilfe der Analogeingabe eines Proze rechners sind die Signale eines Mikrofons zu erfassen und als Zeit verlauf und als Frequenzspektrum on line auf dem Bildschirm darzustellen 0 Vorbereitung berlegen Sie sich welche Algorithmen Sie verwenden wollen um das Frequenzspektrum zu erstellen und auszuwerten Bereiten Sie ein Programm Struktogramm vor das geeignet strukturiert ist und flexibel an die vorliegenden Gegebenheiten ang
43. ierten Spektralkomponenten mit den Realteilen r und den Imagin rteilen i in folgender Anordnung To Ti lt TN 2 Ne 1 bay iy Diese Komponenten sind noch um den Faktor Vn zu normalisieren Achtung Zur Einbindung in Anwenderprogrammen sind folgende Bibliotheken notwendig FFTW RFFTW und MATH Bibliothek auf UNIX Systemen mit lrfftw lfftw Im Realzeit Labor Versuche Seite 53 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 PROGRAMMKENNDATEN Entwickler In Anlehnung an DIN 66 230 Programmname n Variantenbezeichnung Versionsbezeichnung erste Version freigegeben am aktuelle Version freigegeben am Deskriptoren Schlagworte Aufgabe Kurzbeschreibung ggf Beispiele fachbezogene Ein und Ausgaben Methoden Vorschriften Besonderheiten Realzeit Labor Versuche Seite 54 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 DIN 66230 Ger tebedarf mewe Speicherbedarf Fo Programmbedarf Betriebssystem er Unterprogramme BEE ee O Programmiersprache Sprache Sprachumfang Anzahl der Anweisungen ae a a Version Betriebsart KB berechtigung Er m FE EN Zust ndigkeiten Entwicklung lt Anschriften gt Vertrieb Pflege Weiterentwicklung Unterlagen Anwenderhandbuch Seiten Handb cher Entwicklerhandbuch Seiten Art des Angebots z B freibleibend Realzeit Labor Versuche Seite 55 Labor f r Realzeitsysteme
44. ignete Software Console Terminal 0 Vorbereitung Strukturen durch Petri Netze definieren Geeignete Testprogramme Struktogramme Code erstellen 1 Grundlagen Eine Eingabe von der Tastatur eines Terminal wird nicht automatisch auf dem Bildschirm dargestellt sondern es mu durch eine geeignete Prozedur eingelesen und auf dem Bildschirm wieder ausgegeben werden Dieses Verfahren nennt man Echo Zu seiner Realisierung werden 2 unterschiedliche Methoden benutzt Polling Verfahren d h die st ndige Abfrage des Tastaturpuffers bzw des zugeh rigen Control Registers R CSR durch das aktive Programm und Kopieren des Eingabewerts in das Ausgaberegister Interrupt Betrieb bei dem ein laufendes Programm unterbrochen sobald ein Ereignis eintritt z B ein Tastendruck und eine geeignete Routine aktiviert wird die das eingegebene Zeichen als Echo auf dem Bildschirm ausgibt Beide Arten k nnen auch kombiniert werden Im neuen Realzeitlabor wird derzeit nur das Polling Verfahren angewandt da f r den Interrupt Betrieb root Befugnisse notwendig w ren Das Polling Verfahren kann auch auf Hochsprachenebene eingesetzt werden ohne die Schnittstellen register zu verwenden 2 Inbetriebnahme der Versuchsanordnung F r diese Aufgabe ist an den COM Port des LINUX Rechners ein VT 100 Terminal anzuschlie en am Terminal sind die notwendigen Schnittstellenparameter einzustellen 3 Erstellung und Eingabe des Testprogramms Erstel
45. ikation mit VME VAIO16 Hardware i a wegen falscher Parameter Realzeit Labor Versuche Seite 41 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 6 9 vaio_readfree Lies A D Kanal unsynchronisiert int vaio_readfree int va int channel int buffer DESCRIPTION vaio_readfree liefert die bei der letzten A D Konversion erhaltenen Daten des ausgew hlten Kanals unter Beachtung der durch vaio_modefree bzw vaio_modesync konfigurierten Parameter va ist der von vaio_open gelieferte Handle f r die Device Instanz channel bezeichnet den A D Kanal der gelesen werden soll Es muss gelten vstart lt channel lt vend buffer zeigt auf einen vom Aufrufer bereitzustellenden Speicherplatz des Typs integer Der gelesene Konversionswert wird auf buffer abgelegt In dieser unsynchronisierten Betriebsart wird nicht auf das Ende einer Konversion gewartet sondern es wird der Wert kopiert der gerade vorgefunden werden Er entstammt der letzten abgeschlossenen Konversion Abh ngig vom eingestellten Verarbeitungsmodus vadsrv liefert vaio_readfree den Rohwert adwert channel oder den kalibrierten Wert advac channel RETURN Im Fehlerfall wird 1 geliefert mir entspr errno Code sonst 0 EBAD vaist kein g ltiger Handle von vaio_open EINVAL channel au erhalb des zul ssigen Bereichs EIO Fehler bei Kommunikation mit VME VAIO16 Hardware i a wegen falscher Parameter 6 10 vaio_writefree Schreibe D A Ka
46. in us zu welchen Instruktionen geh ren sie 3 2 Die L ngen von 2 weiteren von Ihnen gew hlten Instruktionen mit jeweils 1 bzw 2 Operanden Messen Sie die zeitliche Dauer dieser Instruktionen Bestimmen Sie die Anzahl der Buszugriffe dieser Instruktionen Zeichnen Sie die zugeh rigen Impulsdiagramme auf oder machen Sie eine Hardcopy davon die Sie geeignet interpretieren Bestimmen Sie hieraus die Latenzzeiten des Arbeitsspeichers bei Lese und bei Schreibzugriffen Realzeit Labor Versuche Seite 22 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 Da keine weiteren Vorkehrungen getroffen werden um in das Betriebssystem zur ckkehren zu k nnen mu der Rechner nach Beendigung des Programms neu gestartet werden RESET Taste 3 3 Bestimmen Sie den Adre bereich und die Gesamtl nge der Endlosschleife und stellen Sie den Ablauf als A t Diagramm graphisch auf dem Logikanalysator dar Machen Sie sich eine Hardcopy hiervon Hinweise zur Durchf hrung vgl auch E 7 Der Logikanalysator PM 3585 Betrachten Sie zun chst die Disassemblerlisten auf sinnvolle Instruktionen Der Einsatzpunkt des Disassemblers kann erst nach mehreren Buszyklen erfolgen Warum wohl Suche Sie dann im Impuls Diagramm State Kurve die entsprechende Stelle heraus und stellen Sie sie in einem geeigneten Ma stab dar Vergleichen Sie die Kurve mit der entsprechenden Liste Vermessen Sie die zu den Instruktionen Ihres Testprog
47. inen negativen Temperaturkoeffizienten Negative Temperature Coefficient d h der Widerstand sinkt mit steigender Temperatur Da die Kennlinie nur in kleinen Bereichen n herungsweise als linear betrachtet werden kann ist sie mit gen gend vielen Eichpunkten zu erfassen und die Eichkurve zu bestimmen Die Eichung erfolgt am besten bei folgenden Temperaturen 20 C Zimmertemperatur 0 C Eiswasser 100 C Kochendes Wasser vom Eierkochen Laborversuch 1 50 C Mischwasser 50 50 F r die Erstellung einer linearen Funktion f x y a b x aus n Me werten xi yi kann man folgendes Verfahren anwenden Zuerst berechnet man den Korrelationskoeffizienten r r Sy SQRT Sxx Sy mit Sx Ux xj Sy Ly Ly n Sy Uxiyi Xxiyi n Den Wert r priift man ob er geniigend gut bei 1 liegt ist dies der Fall so berechnet man dann die Koeffizienten b Sy Six und a Ly b Lx j n Falls kein linearer Zusammenhang besteht fiir die nichtlineare Ubertragungsfunktion g jedoch eine Umkehr funktion f angegeben werden kann k nnen deren Parameter aus einer entsprechenden Anzahl von Me wert paaren xi yi nach Aufl sung von meist nichtlinearen Gleichungssystemen bestimmt werden Dieses Verfahren empfiehlt sich f r die Bestimmung der Einstellzeit t denn die Einstellung einer Me gr e l t sich fast immer durch folgende Funktion darstellen y t Yo 1 exp Ut c Der Ablauf des Programms ist zweckm igerweise
48. itsysteme im Studiengang Informatik der FH Ffm WS 2002 03 Xo X f Xo X f Xo X2 xo 2 RE Ro die nach dem 1 Glied abgebrochen werden kann falls das 2 quadratische Glied f xo gen gend klein ist F r die Erstellung einer linearen Funktion f x y a b x aus n Me werten x yi kann man folgendes Verfahren anwenden Zuerst berechnet man den Korrelationskoeffizienten r r Syy SQRT Sxx Sy mit Sax Ux Ex Sy Ly yi n Sx Uxiyi Xxiyi n Den Wert r pr ft man ob er gen gend gut bei 1 liegt ist dies der Fall so berechnet man dann die Koeffizienten b Sy Sixx und a Ly b Lx n Falls kein linearer Zusammenhang besteht fiir die nichtlineare Ubertragungsfunktion g jedoch eine Umkehr funktion f angegeben werden kann k nnen deren Parameter aus einer entsprechenden Anzahl von Me wert paaren Xi yi nach Aufl sung von meist nichtlinearen Gleichungssystemen bestimmt werden Wenn deren analytische Aufl sung nicht m glich ist m ssen daf r numerische Verfahren eingesetzt werden 2 Inbetriebnahme der Versuchsanordnung Photoelement Eichlampe und Oszilloskop werden von den Betreuern bereitgestellt 3 Erstellung des Me programms Das Me programm ist in einer h heren Programmiersprache vorzugsweise C zu erstellen F r den Zugriff auf die Proze peripherie sind die Bibliotheken libvaio a f r Analoge Ein Ausgabe und libvdio a f r Digitale Ein Ausgabe vorhanden die bei der Pro
49. ktionsweise Der UART 8250 16450 Universal Asynchronous Receiver and Transmitter hat eine Menge Funktionen ist ein recht komplexer Baustein In Abb 1 ein Blockdiagramm des inneren Aufbaus Der UART besitzt ein Empf ngerteil in Abb 10 21 oben und ein Senderteil in der Abbildung Eine Besonderheit des 8250 16450 ist da Sender und Empf nger mit unterschiedlichen Baudraten betrieben werden k nnen Adre decoder 2 Steuerlogik 8250 Steuerlogik Empfanger Empfanger SIN pufferregister schieberegister Datenformat Empf nger register ROLK Teiler Latch Register LSB Baud wee Teiler Latch generator BAUDOUT Register MSB RTS Modem GTS S steuerregister DTR Is Modem DSR a va Modem steuerlogik BCD c statusregist Al 3 18 atusregister B N D er O Ss Interrupt Akliv OUT2 a Q Register IRQ Steuerlogik INTRPT interrupt D Register Scratch Pad o e Register enge Eh sendersteuerung statusregister Senderhalte Sender sour Abb 1 Blockdiagramm des UART 8250 16450 Schnittstelle Basisadresse IRQ COMI 3f8h IRQ4 COM2 2f8h IRQ3 COM3 3eSh IRQ4 COM4 2e8h IRQ3 oder nur Polling Betrieb Tab 5 Basisadressen und IRQ Belegungen von COMx Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 Register Offset DLAB A2 Al AO Empf ngerpufferregister Senderhalteregister_ N Interrupt Akti
50. l ein Test der Hardware Schnittstelle interaktiv mit dem Benutzer durchgef hrt werden Aus Sicherheitsgr nden welchen mu vor dem Anschlu der Heizung ans Netz die Funktionsf higkeit der angeschlossenen Proze peripherie Relais und Bimetallschalter berpr ft werden Zum Start des Kochvorgangs soll eine Best tigung vom Benutzer angefordert werden damit nicht ein Start versehentlich erfolgen kann Nach dem Erreichen der Solltemperatur wird der Anwender zum Einlegen eines Eies aufgefordert was dieser dann auch best tigen mu Die ben tigte Aufheizzeit ist auszugeben Das Wasser soll dann unter kontrollierten Bedingungen d h geregelt am Kochen gehalten werden Nach 6 Minuten Kochzeit ist die Heizung abzustellen und der Benutzer zum Herausnehmen des Eies aufzufordern was dieser dann wieder best tigen soll Vor Beendigung des Programms ist der Benutzer zum Abtrennen der Heizung vom Netz und ent sprechender Best tigung aufzufordern Hinweis Organisieren Sie Ihr Programm durch den Einsatz von geeigneten Unterprogrammen hierar chisch damit die Zugriffe auf die Hardware von der eigentlichen Programmlogik entkoppelt werden Realzeit Labor Versuche Seite 18 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 3 Inbetriebnahme der Versuchsanordnung 3 1 Test der Schnittstelle Dazu wird der f r die Proze steuerung verwendete Adapterstecker zun chst abgezogen und durch einen serienm ige
51. l unsynchronisiert 6 11 vaio_readsync Lies A D Buffer synchron 6 12 vaio_writesync schreibe D A Buffer synchron Bibliotheksfunktionen 6 1 vaio_open ffnen des Ger ts int vaio_open dev vaio ffnet das durch den Ger tenamen dev vaio spezifizierten Ger t pr ft den Installationszustand erfragt die im Kernel hinterlegten Ger teinformationsdaten Device Info und mappt die Register des Ger tes in den Adressraum des Prozesses Das Mapping wird durch ein sogen Physical Shared Memory PSMEM realisiert Dazu mu die Anwendung nicht nur mit libvaio a sondern auch mit liblynx a gelinkt werden RETURN vaio_open liefert eine Zahl zur ck die f r nachfolgende Funktionsaufrufe als Handle dient Man beachte dass diese Zahl kein Filedeskriptor ist sondern ein interner Index der Bibliothek Im Fehler fall liefert vaio_open den Wert 1 weitere Fehlerinformation findet sich ggf in errno EBUSY Treiber bereits ge ffnet errno errno Codes von open oder smem_create Insbesondere ist es nicht gestattet ein schon ge ffnetes Ger t im gleichen Programm ein zweites Mal zu ffnen ohne es vorher zu schlie en 6 2 vaio_close Deaktivierung Freigabe der Ressourcen int vaio_close int va Ruft die close Funktion des Treibers auf blockiert alle Interrupts des Ger ts und deallokiert alle durch die Bibliothek beanspruchten Ressourcen entfernt die Register der VME VAIO16 Hardware aus der Memory Map des Prozesses und vers
52. len Sie ein Testprogramm das folgende Bedingungen erf llt Das Programm l uft in einer Endlosschleife Der Zugriff auf die Terminalschnittstelle erfolgt ber die Register des UART s Anlage oder ber Systemfunktionen wie read und write getc oder putc Das auf der Terminal Tastatur eingegebene Zeichen erscheint unter Programmkontrolle auf dem Terminal Bildschirm eine Ver nderung des Zeichens soll im Programm eingeplant werden In der Endlosschleife ist eine Warteschleife einzubauen die andere Rechneraufgaben simuliert Die Wartezeit soll variabel sein entweder ber eine Timer Funktion oder ber einen Schleifenz hler Die Wartezeit soll ber die Consol Tastatur ver ndert werden k nnen Eine Neucompilation darf nicht notwendig sein da sie relativ viel Zeit kostet Es mu eine ESCAPE Funktion zum Beenden des Programms vorhanden sein CTRL C 0 4 4 Durchf hrung der Messungen Stellen Sie mit dem SETUP die richtigen Kommunikationsparameter Baudrate Datenbits Parit t Stopbits ein und beobachten Sie den korrekten Empfang der vom Rechner gesendeten Zeichen Die Reaktionen des Terminals auf Terminaleingaben sind f r verschiedene Warteschleifen zu beobachten und zu beschreiben 5 Ausarbeitung Programmdokumentation Quellcode Struktogramme etc Arbeitsanleitung Benutzerhandbuch Beschreibung der Beobachtungen bei der Durchf hrung Realzeit Labor Versuche Seite 13 Labor f r Realzeit
53. local lib cslib a Realzeit Labor Versuche Seite 52 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 E 10 Die Digitale Fourier Transformation DFT FFTW Die schnelle digitale Fourier Transformation FFTW Fast Fourier Transform West erm glicht eine Reihe von Fourier Transformationen von denen nur eine III hier verwendet werden soll I one dimensional complex transforms FFTW I multi dimensional complex transforms FFTWND III one dimensional transforms of real data RFFTW IV multi dimensional transforms of real data RFFTWND Die eindimensionale Fourier Transformation von reellen Zahlen RFFTW Ein typisches Programmsegment sieht etwa so aus include lt rfftw h gt fftw_real in N out N power_spectrum N 2 1 N 2 k besonders g nstig rfftw_plan p int k p rfftw_create_plan N FFTW_REAL_TO_COMPLEX FFTW_ESTIMATE einmalige Vorbereitung rfftw_one p in out die aktuelle Transformation power_spectrum 0 out 0 out 0 DC component for k 1 k lt N 1 2 k k lt N 2 rounded up power_spectrum k out k out k out N k out N k if N 2 0 N is even power _spectrum N 2 out N 2 out N 2 Nyquist freq rfftw_destroy_ plan p Freigabe von Speicherplatz n 1 Was rfftw_one p X Y wirklich berechnet ist Y Xj e r 1 n j 0 Der Ausgabe Vektor Y enth lt dann ein hermitisch komplex konjugiertes Feld der unnormalis
54. m Programm eine geniigend oft durchlaufene Schleife mit der und ohne die zu untersuchende Anweisung Sch tzen Sie ab welche Laufweite Ihre Schleifen haben m ssen um auch mit Hilfe einer sekundengenauen Zeitmessung Armband oder Systemuhr eine gen gend gro e Genauigkeit zu erhalten Realzeit Labor Versuche Seite 8 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 D 3 Arbeitsblatt zur Aufgabe Ic Instruktionszeiten Namen keiner Datum iirinn ss Rechnerkonfigurationen 1 Rechner Prozessor in inoia Taktfrequenz 2 Rechner Prozessor inneas Taktfrequenz 3 Rechner Prozessor Taktfrequenz Instruktionen al a2 a3 a4 b c d Me werte Rechner 1 Rechner 2 Rechner 3 Leerschleife in sec Mit sasiore Durchl ufen Instruktionszeiten in ns Instr 2 SP FE re O le rd a in 7 a o N Be o an a 2 Ce eh O Oe a o Realzeit Labor Versuche Seite 9 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 bung 2a Beobachtungen an der Terminalschnittstelle mit einem Oszilloskop Ziel dieser Aufgabe Aus den beobachteten Signalen sollen die bertragenen Zeichen und die eingestellten Parameter der RS 232C Schnittstelle bestimmt werden Themen Datendarstellung an der RS 232C Schnittstelle V 24 V 28 V 4 Daten
55. mierung Test und Eichung eines digitalen Photometers Mit Hilfe der Analogeingabe eines Proze rechners sind die Signale einer Solarzelle zu erfassen und als digitak Helligkeitswerte on line auf dem Bildschirm und off line als Me kurve darzustellen bung 5b Programmierung Test und Eichung eines digitalen Thermometers Mit Hilfe der Analogeingabe eines Proze rechners sind die Signale einer Thermowiderstands NTC zu erfassen und als digitale Temperaturwerte on line auf dem Bildschirm und off line als Me kurve dar zustellen bung 5c Programmierung und Test f r die Erfassung von Schallereignissen Mit Hilfe der Analogeingabe eines Proze rechners sind die Signale eines Mikrofons zu erfassen und als Zeitverlauf und Frequenzspektrum on line auf dem Bildschirm und off line als Me kurve darzustellen bung 5d Programmierung und Test f r die Steuerung eines Plotters Mit Hilfe der Analogausgabe eines Proze rechners ist ein XY Schreiber so zu steuern da vorgegebene Kurven und Texte dort dargestellt werden Realzeit Labor Versuche Seite 3 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 Aufgabe la Messung der Laufzeiten von Anweisungen in einer h heren Programmiersprache Ziel der Aufgabe Bestimmen Sie mit einfachsten Mitteln Armbanduhr die Laufzeiten von Anweisungen in einer h heren Pro grammiersprache z B C PASCAL FORTRAN oder BASIC Zuweisungsanweisung mit Speicherzugriffen Rechenoperationen
56. mmablauf entsteht 1 Grundlagen An die Busschnittstelle eines Prozessors wird ein Logikanalysator PM 3585 angeschlossen mit dem die Bussignale aufgezeichnet und auch interpretiert disassembliert werden k nnen Die Benutzerschnittstelle s w u besteht aus Eingabem glichkeiten ber eine Tastatur mit Funktions und alphanumerischen Tasten ber einen Drehknopf und ber eine Maus einer Bildschirmanzeige und einem Drucker f r Hardcopies der Bildschirmanzeige Logic Analyzer Atari Zentraleinheit 2 Inbetriebnahme der Versuchsanordnung 2 1 Anschalten des Logikanalysators 2 2 Anschlu des Me kopfs an die Atari CPU 2 3 Starten des Atari Rechners erfolgen durch die Betreuer 2 4 Erstellen eines eigenen Assembler Programms Der Atari unter dem Betriebsystem TOS besitzt eine graphische Benutzeroberfl che hnlich Windows auf seiner Systemdiskette befindet sich ein interaktiver Assembler der sich im Ordner Omicron Assembler befindet und dort aufgerufen wird Er besitzt einen integrierten Editor zur Programmerstellung mit dem auch ein Listing des Maschinenprogramms ausgegeben werden kann 3 Durchf hrung der Messungen Nach der Inbetriebnahme befindet sich der Rechner in einer l ngeren Abfrageschleife deren Ablauf auf dem Analysator als Impulsdiagramm als Zustandsliste oder als Disassemblerliste zu beobachten ist Bestimmen Sie 3 1 Die L nge der k rzesten und die der l ngsten Instruktion in der Abfrageschleife
57. n Schnittstellentester ersetzt auf dem durch Leuchtdioden die einzelnen Schnittstellensignale angezeigt werden Das Programm soll zuerst auf den Ausgabeleitungen periodisch wechselnde Signalzust nde 0 1 erzeugen blinken F r eine optimale Anzeigefrequenz von ca 1 Hz k nnen Systemfunktionen verwendet werden Dann soll eine Verbindung zwischen Ausgabe und Eingabeanschl ssen hergestellt werden loop back Schleifentest um zu pr fen ob die Ausgabesignale auch wieder gelesen werden k nnen z B RTS gt CTS DTR gt DSR beim LINUX Rechner 3 2 Anschlu der Proze peripherie bestehend aus Steuerung Relais f r die Heizung Tauchsieder und Sensor am Kochtopf berpr fung ihrer Funktionsf higkeit am besten durch das Schnittstellen Testprogramm s 3 1 3 3 Anschlu der Heizung Einf llen von Wasser und Einsetzen des Tauchsieders 4 Durchf hrung Der eigentliche Proze aufbau ist nur in einer Ausf hrung vorhanden und mu von allen Laborteilnehmer Innen im Wechsel benutzt werden Nehmen Sie die Proze peripherie erst dann in Betrieb wenn Sie sicher sind da Ihr Programm auch das leistet was von ihm erwartet wird Nach Programmstart soll das Programm mit Benutzerf hrung ablaufen Die beobachteten Proze zeiten Regekyklen sind zu notieren Eier sind selber mitzubringen ein Laden ist in der N he Das gekochte Ei ist vor Ort zu verspeisen Ausarbeitung DV Handbuch mit Programmdokumentation Quellcod
58. nal unsynchronisiert int vaio_writefree int va int channel int avalue DESCRIPTION vaio_write bergibt einen Digitalwert an den D A Konverter des ausgew hlten Kanals unter Beachtung der durch vaio_modefree bzw vaio_ modesync konfigurierten Parameter va ist wie blich der von vaio_open gelieferte Handle f r die Device Instanz channel bezeichnet den D A Kanal der gelesen werden soll Es muss gelten dastart lt channel lt daend avalue ist der neue Wert der ber den D A Kanal ausgegeben werden soll In dieser unsynchronisierten Betriebsart wird nicht gewartet sondern avalue wird in den durch channel bezeichneten Wandler gerieben ohne ein SWDALC auszul sen Mit der n chsten Konversion wird dann der entsprechende Analogwert ausgegeben RETURN Im Fehlerfall wird 1 geliefert mir entspr errno Code sonst 0 EBADF va ist kein g ltiger Handle von vaio_open EINVAL channel au erhalb des g ltigen Bereichs EIO Fehler bei Kommunikation mit VME VAIO16 Hardware i a wegen falscher Parameter gt 6 11 vaio_readsync Lies A D Buffer synchron int vaio_readsync int va int buffer enum blockmode mode DESCRIPTION vaio_readsync liefert einen Datenbuffer des A D Konverters wie durch vaio_modesync konfiguriert der lteste verf gbare A D Buffer wird komplett in den Speicher der Anwendung kopiert va ist wie blich der von vaio_open gelieferte Handle f r die Device Instanz buffer zeigt auf einen vom Aufrufe
59. nnen Messungen von einer Diskette abgerufen oder auf ihr gespeichert werden Diese M glichkeit wird im Labor nur ausnahmsweise genutzt Im Display k nnen 5 verschiedene Darstellungsarten gew hlt werden Timing State Button Timing Kurve Timing Liste State Kurve State Liste mit Disa AUS State Liste mit Disa EIN Disa Disassembling ree bo Das Display ist in 3 Bereich unterteilt 1 Statuszeile CAPS ON OFF Funktion Datum Zeit 2 Parameterfelder je nach Darstellungsart Teilung Tlg X R S Cursor Timing State Y Dreh Mod R S Scroll Balken f r den Ausschnitt aus der Gesamtmessung mit der Maus ver nderbar 3 Anzeigefeld f r Kurven oder Listen Die Anzeige kann ber das Men FORMAT eingestellt werden f r die vorgegebene Aufgabe sollte hier nichts ver ndert werden Zur Durchf hrung einer Messung ist ein Zeitma stab zu w hlen dieser ist voreingestellt und sollte auch ver ndert werden ein Triggermuster zum konfigurieren dieses ist voreingestellt und soll nicht ver ndert werden der Start und dann der Stopp Taster zu bet tigen Zur Ausgabe eines Display auf dem Drucker ist einfach die Taste PRINT zu bet tigen w hrend des Ausdruckens sollen keine Eingaben get tigt werden Realzeit Labor Versuche Seite 48 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03
60. onnte Es empfiehlt sich daher mindestens einen D A Buffer vorab zu f llen ehe man die automatische Konversion TIMER oder EXTERN startet 0 OK 1 Fehler s errno funktionsspezifische Fehlercodes m glich EBADF vaist kein g ltiger Handle von vaio_open EIO Fehler bei Kommunikation mit VME VAIO16 Hardware i a wegen falscher Parameter EAGAIN kein D A Buffer bereit nur bei flg NONBLOCKING EBUSY ein anderer Proze oder Thread wartet auf VAIO_ADCIRQ nur bei flg BLOCKING EINTR Das Warten auf den Interrupt Semaphor wurde durch ein Prozess Signal unterbrochen nur bei flg BLOCKING Realzeit Labor Versuche Seite 43 Anschlu stecker DPIO32 Digitale Input Output Signale bergabemodul I O Stecker P2 Ph nix FLKM64 oder FLKMS64 1 GND S ect 6 GNDI_ 27 ios 8 vo 4 9 vec2 10 12 14 16 18 20 22 24 26 30 32 38 39 vo19 4 vo20 42 50 52 54 56 58 59 vo29 0 vo30 62 1 0_32 Beschreibung der Signale siehe 3 1 4 VMB DP1032 Hardware Handbuch Rev 2 0 Anschlu stecker AIO16 Analoge Input Output Signale VO Stecker P2 Belegung des 64poligen Ubergabemoduls 2 GNDA OUT 4 JT3 GNDA Q S N QI J gt EET gt 63 IN16 64 VO Stecker Federleiste nach DIN41612 Bauform C64 a c Signal nicht angeschlossen Ina per Pin 1 0 A VME AIO16 Hardware Rev 1 0 Steckerbelegung E 6 Der UART Aufbau und Fun
61. peration Not affected 0 Cleared 1 Set U Outcome state after operation undefined I Set by immediate data lt ea gt Effective Address Operand lt data gt Immediate data lt label gt Assembler label lt vector gt TRAP instruction Exception vector 0 15 lt rg lst gt MOVEM instruction register specification list lt displ gt LINK instruction negative displacement Same as previous instruction Realzeit Labor Versuche Seite 50 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 Addressing Modes Syntax Data Register Direct Dn Address Register Direct An Address Register Indirect An Address Register Indirect with Post Increment An Address Register Indirect with Pre Decrement An Address Register Indirect with Displacement w An Address Register Indirect with Index b An Rx Absolute Short w Absolute Long 1 Immediate x Status Register SR Condition Code Register CCR Program Counter with Displacement w PC Program Counter with Index b PC Rx Legend Dn Data Register n is 0 7 An Address Register n is 0 7 b 08 bit constant w 16 bit constant 1 32 bit constant x 8 16 32 bit constant Rx Index Register Specification one of Dn W Low 16 bits of Data Register Dn L All 32 bits of Data Register An W Low 16 bits of Address Register L All 32 bits of Address Register Condition Codes for Bcc DBcc and Scc Instructions Condition
62. pt Z hler Z hl semaphor erniedrigt werden soll Bei der R ckkehr enth lt count den verbleibenden Stand des Interrupt Z hlers Der Z hlsemaphor wird jedesmal um 1 erh ht wenn die betreffende Bitgruppe einen Pattern Match Interrupt verursacht Beim Aufruf von vdio_irqwait wird vom Z hlsemaphor der durch count angegebene Betrag subtrahiert Falls count gr er als der augenblickliche Stand des Z hlers ist wird der Z hlsemaphor nur auf 0 gesetzt Dann wartet vdio_irqwait noch bis der n chste Interrupt f r diesen Port eintrifft und kehrt dann zum Aufrufer zur ck Anmerkung vdio_irqwait l t sich auch zum einfachen Abfragen des Z hlsemaphors nutzen indem man einen Wert von count 0 bergibt RETURN Im Fehlerfall wird 1 geliefert mir entspr errno Code sonst 0 5 7 vdio_write Schreiben 32 Bit breit mit Maske int vdio_write int vd unsigned long data unsigned long mask Schreibt in alle Output Ports vd ist der von vdio_open erhaltene Handle Die Bytes von data werden in die Ports des VME DPIO32 geschrieben Dabei erfolgt die Zuordnung nach aufsteigender Wertigkeit in der blichen Reihenfolge MSB Kanal 32 LSB Kanal 1 Es werden nur diejenigen Bits ver ndert deren korrespondierende Bits in mask gesetzt sind 5 8 vdio_read Lesen aller 32 Port Bits int vdio_read int vd unsigned long data Liest alle Input Ports des VME DPIO32 vd ist der von vdio_open erhaltene Handle data ist ein vom Aufr
63. r bereitzustellenden Bereich der genug Platz f r adbuf_frames vend vstart 1 Integers bieten muss vaio_readsync pr ft ob der Interrupt Semaphor von VAIO_ADCIRQ mindestens einen gef llten konvertierten A D Buffer signalisiert Das enumerierte Argument flg mode bestimmt wie sich die Funktion verhalten soll wenn kein A D Buffer auf dem Ger t gef llt ist BLOCKING Funktion wartet am Z hlsemaphor VAIO_ADCIRQ auf Interrupt NONBLOCKING Funktion wartet nicht sondern liefert den Fehler errno EAGAIN Realzeit Labor Versuche Seite 42 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 RETURN gt 0 Anzahl der unverbrauchten Impulse im Interrupt Z hlsemaphor von VAIO_ADCIRQ Dieser Wert signalisiert die Anzahl der verf gbaren fertig Konvertierten aber noch nicht abgeholten A D Buffer Die Zahl sollte kleiner als das konfigurierte adbuf_buffers sein Falls nicht liegt ein Overrun vor die A D Buffer wurden schneller erzeugt als abgeholt die zeitliche Zuordnung der gelesenen Konverterdaten ist dann unklar es empfiehlt sich zumindest ein Neustart der Konversion durch vaio_start u U auch eine Neu Konfigurierung mit geringerer Wandlerrate 0 OK 1 Fehler s errno funktionsspezifische Fehlercodes m glich EBADF vaist kein g ltiger Handle von vaio_open EBUSY ein anderer Proze oder Thread wartet auf VAIO_ADCIRQ nur bei flg BLOCKING EINTR Das Warten auf den Interrupt Semaphor wurde durch ein Prozess Si
64. ramms geh renden Buszyklen m glichst genau Variieren Sie die verschiedenen Adressierungsarten Register immediate absolut relativ deferred indiziert 4 Ausarbeitung Darstellung der Instruktionen gem Arbeitsblatt Assemblerlisting und Maschinenprogramm Ihres Testprogramms A t Diagramm Ihres Testprogramms mit Zuordnung zu den einzelnen Instruktionen Angaben zur L nge der Testschleife Anzahl der Instruktion L nge in us Anzahl der Buszugriffe die Latenzzeiten der einzelnen Signale Adresse Daten R W DTACK AS und interpretieren Sie sie Tragen Sie Ihre Ergebnisse in die Aufgabenbl tter ein Realzeit Labor Versuche Seite 23 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 D 5 Arbeitsblatt 1 zur Aufgabe 4c Busprotokolle Namen oe Datum PERT ere Rechner Atari 1024 CPU M68000 Kiirzeste Instruktion Code Lange in us Anzahl Buszugriffe Timing Diagramm ADRESS BUS DATA BUS AS n R W n FC 2_0 BUS L ngste Instruktion Code L nge in us Anzahl Buszugriffe Timing Diagramm ADRESS BUS FC 2_0 BUS DATA BUS AS n R W n 1 Operanden Instruktion Code L nge in us Anzahl Buszugriffe Timing Diagramm ADRESS BUS FC 2_0 BUS DATA BUS AS n R W n 2 Operanden Instruktion Code Lange in us Anzahl Buszugriffe Timing Diagramm ADRESS BUS FC 2_0 BUS DATA BUS AS n R W n lt FETCH
65. ransformierten bertragungsfunktionen der Systemglieder analytisch zu bestimmen und anzupassen 4 2 An Stelle des in 4 1 analytisch bestimmten Regelglieds ist ein PID Glied einzusetzen dessen Parameter empirisch bestimmt werden m ssen Dessen Regelverhalten ist mit dem aus 4 1 zu vergleichen 5 Ausarbeitung Beschreibung des zu regelnden Systems analytisch und anhand der Signalantworten der 4 Signakquellen Beschreibung der Regelung analytisch und anhand der Signalantworten aus Rechteck Sprungfunktion und Rechteck Impulsfunktion Vergleich der theoretischen und der tats chlichen Regelabweichungen aus 4 1 Vergleich des Regelverhaltens aus 4 1 und 4 2 Realzeit Labor Versuche Seite 21 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 bung 4c Beobachtungen an der Busschnittstelle des Prozessors 68 000 mit einem Logikanalysator Ziel der Aufgabe Anhand der Signale auf dem Bus soll die Arbeit der CPU beobachtet das Busprotokoll beschrieben und der Zeitbedarf von Instruktionen ermittelt werden 0 Vorbereitung Beschaffen Sie sich Unterlagen Literatur ber die Motorola 68000 CPU insbesondere ber deren Befehlssatz Anlage D 4 und deren Bussignale und protokolle Erstellen Sie ein kurzes Assembler Programm das in einer Endlosschleife mindestens je einen Befehl mit Schreib und mit Lesezugriff auf den Arbeitsspeicher enth lt F llen Sie es mit NOPs damit ein etwas l ngerer Progra
66. raten Fehl anpassungen 0 Vorbereitung Programm entwerfen ASCII Tabelle besorgen und den voraussichtlichen Signalverlauf aufzeichnen 1 Inbetriebnahme der Versuchsanordnung 1 1 An der Ausgangsbuchse COM 1 Port den Teststecker anschlie en und vor Einschalten des Rechners berpr fen lassen 1 2 Das Oszilloskop Grundig MO30 Philips PM 3208 oder PM 3382A am Netzschalter einschalten Die Schalterstellungen die beachtet werden m ssen sind auf den Beibl ttern E1 bis E3 angegeben Der Tastkopf des Oszilloskops ist an den Teststecker V 24 Tester zuerst folgenderma en anzuschlie en Masse an Leitung 7 GND Signalerde ground Kanal CH1 an Leitung 3 TxD Sendedaten transmitted data Zur Kontrolle der Sendedaten kann eine R ckf hrung ber Leitung 2 RxD angeschlossen und per Software gepr ft werden Falls ein VT 100 Terminal frei ist kann dieses zur u eren Kontrolle angeschlossen werden 1 3 Das Terminal am Netzschalter einschalten Bei geeigneter Einstellung des Terminalbildschirms SETUP erfolgt ein automatischer Zeilenumbruch Sonst wird am Ende der Zeile das letzte Zeichen immer wieder berschrieben Anmerkung Diese Aufgabe kann auch ohne Terminal durchgef hrt werden 2 Erstellung und Eingabe eines Testprogramms Erstellen Sie ein Testprogramm das folgende Bedingungen erf llt Der Zugriff auf die Terminalschnittstelle erfolgt ber eine Systemfunktion wie write Das Programm l uft in einer
67. reiben 32 Bit breit mit Maske 5 8 vdio_read Lesen aller 32 Port Bits 5 9 vdio_writebit Schreiben eines einzelnen Port Bit 5 10 vdio_readbit Lesen eines einzelnen Port Bit 5 11 vdio_readstatus Lesen des Fehlerstatus der Ausgangstreiber Bibliotheksfunktionen 5 1 vdio_open ffnen des Ger tes int vdio_open dev vdio ffnet das durch den Ger tenamen dev vdio spezifizierten Ger t pr ft den Installationszustand erfragt die im Kernel hinterlegten Ger teinformationsdaten Device Info und mappt die Register des Ger tes in den Adressraum des Prozesses Das Mapping wird durch ein sogen Physical Shared Memory PSMEM realisiert Dazu mu die Anwendung nicht nur mit libvdio a sondern auch mit liblynx a gelinkt werden RETURN vdio_open liefert eine Zahl zur ck die f r nachfolgende Funktionsaufrufe als Handle dient Man beachte dass diese Zahl kein Filedeskriptor ist sondern ein interner Index der Bibliothek Im Fehler fall liefert vdio_open den Wert 1 weitere Fehlerinformation findet sich ggf in errno EBUSY Treiber bereits ge ffnet errno errno Codes von open oder smem_create Insbesondere ist es nicht gestattet ein schon ge ffnetes Ger t im gleichen Programm ein zweites Mal zu ffnen ohne es vorher zu schlie en 5 2 vdio_close Deaktivierung Freigabe der Ressourcen int vdio_close int vd Ruft die close Funktion des Treibers auf blockiert alle Interrupts des Ger ts und deallokier
68. rrupt RxRD Daten empfang Received Data Ready 1 Interrupt wenn ein Byte im Empfangerpufferregister bereitsteht O kein Interrupt Abb 4 Interrupt Aktivierungsregister Offset 01h 1 kein Interrupt anh ngig O Interrupt anh ngig ID1 IDO identifizieren Ursache Abb 5 Interrupt Identifizierungsregister Offset 02h Interrupt Quelle Interrupt l schen durch g eines RS 232c Eingangssig ojo RS 232C Statusregister lesen Senderhalteregister leer Datenbyte in Senderhalteregister schreiben oder Interrupt Identifizierungsregister lesen Datenbyte im Empf ngerpufferregister lo Datenbyte aus Empf ngerpufferregister lesen Empfangsfehler oder Break Lesen des Serialisierungsstatusregisters Realzeit Labor Versuche Seite 46 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 Tab 7 Anh ngige Interrupts l schen 7 0 7 0 0 o Jo roor our2 Jour ers prr DLAB Divisor Latch Access Bit 1 Zugriff auf Teiler Latch 0 Zugriff auf Empfangs Senderegister und Interrupt Aktivierungsregister BRK BREAK 1 ein O aus PAR2 PARI PARO Parit t 000 keine 001 ungerade Oll gerade 101 mark 111 space STOP Anzahl der Stopbit 1 2 Stopbit 0 1 Stopbit DAB1 DABO Anzahl der Datenbit 00 5 Datenbit 01 6 Datenbit 10 7 Datenbit 11 8 Dastenbit Abb 6 Datenformatregister Offset 03h 7 0 0 TXE TBE BREK FRM_ PARF UBLF RxRD TXE Sender leer Transmitter Empty 1 kein Byte im S
69. rs da_frames da_buffers und cnvtime werden mit den tats chlichen Werten der Hardware abgeglichen Es empfiehlt sich die Me kurven unverz glich in Dateien abzuspeichern und von dort auszulesen F r die graphische Darstellung von Kurven auf dem Bildschirm wird eine graphische Bibliothek CSLIB verwendet die im Anhang E 9 kurz beschrieben ist F r die schnelle Fourier Transformationen stehen Funktionen aus einer Bibliothek FFTW Fast Fourier Transform West zur Verf gung die beim Binden angegeben werden mu s Anhang E 10 Andere einfachere Verfahren k nnen aus der Mathematik vorlesung selbst programmiert oder im Internet gefunden werden 4 Durchf hrung Erfassung der Audiosignale der 5 Vokale a e i o u und der 5 Konsonanten Kl rs t Erstellung der Fourier Transformierten und Darstellung als Audio Spektrum Graphik oder Liste Ausgabe der Grundfrequenz Maximum des Frequenzspektrums und der relativen Amplituden der ersten 5 Oberwellen als Liste 5 Ausarbeitung DV Handbuch mit Programmdokumentation Quellcode Struktogrammen Modulpl ne Bedienungsanleitung Anwenderhandbuch Darstellung der Beobachtungen in einer Tabelle F r jeden der Vokale sind zu bestimmen Frequenz des Grundtons in Hz Maximum des Frequenzspektrums relative Amplituden der ersten 5 Obert ne Harmonische Fiir die Konsonanten sind zu bestimmen Frequenz des Grundtons im letzten Drittel des Tones Maximum des Frequenzspektrums oder
70. scheinen bung 3a Programmierungen mit Timer Funktionen Messung der Reaktionszeit f r eine Tasteneingabe nach zufallsgesteuerter Aufforderung bung 3b Programmierung zum Task Scheduling Unter Programmkontrolle sollen mehrere Tasks gestartet und durch geeignete Tastatureingaben beendet werden Die Taskaktivit ten sind auf dem Konsolterminal darzustellen bung 3c Programmierung von Interproze kommunikation Unter Programmkontrolle sollen mehrere Tasks gestartet und durch geeignete Tastatureingaben beendet werden Zwischen den Tasks soll ein Datenaustausch stattfinden Die Task Aktivit ten sind auf dem Kon solterminal darzustellen bung 4a Proze steuerung zum Kochen eines Eies ber die Terminalschnittstelle Mit der Digitalen Ein Ausgabeschnittstelle eine Proze rechners oder mit der RS 232C Schnittstelle soll eine Me werterfassung Schlie en eines Bimetallschalters und eine Steuerwertausgabe Ein Ausschalten eines Kochers durchgef hrt werden um ein 6 Minuten Ei zu kochen bung 4b Modellierung einer Regelstrecke mit RESI Es ist eine Regelstrecke f r ein vorgegebenes System zu modellieren und in der Simulation zu testen bung 4c Beobachtungen an der Busschnittstelle des Prozessors 68 000 mit einem Logikanalysator Es sind die Bussignale des Prozessors MC 68 000 f r unbekannte und bekannte Programmabl ufe zu beobachten und zu interpretieren Hieraus sind Laufzeiten von Maschineninstruktionen zu bestimmen bung 5a Program
71. ssssssees ARE TAE Anweisung a b c d Me werte Rechner 1 Rechner 2 Sprache 1 Sprache 2 Leerschleife in msec Mit 0 Durchl ufen Anweisungszeiten in ns Instr Bye Rm wa De ae G O 327 A Be I G Realzeit Labor Versuche Seite 5 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 Aufgabe 1b Messung der Laufzeiten bei Array Bearbeitung in einer h heren Programmiersprache Ziel der Aufgabe Bestimmen Sie mit einfachsten Mitteln Armbanduhr die Laufzeiten f r die Bearbeitung eines 2 dimen sionalen Array n n in einer h heren Programmiersprache z B C PASCAL FORTRAN oder BASIC und vergleichen Sie die Unterschiede bei spaltenweiser und bei zeilenweiser Abarbeitung Aufgabenstellung Erstellen Sie Ihr Programm samt Struktogramm und Dokumentation Tragen Sie in das Arbeitsblatt die Bearbeitungszeiten als Funktion der Arraygr e n auf Hinweise verwenden Sie eine gen gend oft durchlaufene Schleife mit der spaltenweisen und der zeilenweisen Bearbeitung und bilden Sie die Differenz F llen Sie das Array als Vorbereitung mit einer aufsteigenden Folge von Zahlen und bilden als Bearbeitung hier ber die Summe Steigern Sie die Gr e des Array sukzessive und beobachten Sie auch etwaige Spr nge Zusatzaufgabe F hren Sie dieselbe bung auf einem anderen Rechner oder in einer anderen Programmiersprache durch Realzeit Labor Versuche Seite 6 Labor f r Realzeits
72. steht dahinter Bei gr eren Abst nden empfiehlt sich eine Abschirmung von Fremdlicht durch ein Papprohr entsprechender L nge 4 2 Messung der Lichtverh ltnisse im Labor Messungen der Lichtintensit ten am Fenster in der Raummitte an der T r Darstellung der zeitlichen Verl ufe an einer Leuchtstofflampe oder an einem Bildschirm mit einer Aufl sung von 1 kHz Zur Kontrolle soll mit einem Oszilloskop parallel zum Me eingang des Rechners das Signal des Photoelements beobachtet und von Hand aufgezeichnet werden 5 Ausarbeitung DV Handbuch mit Programmdokumentation Quellcode Struktogrammen Modulpl ne Bedienungsanleitung Anwenderhandbuch und Versuchsaufbau Darstellung der Beobachtungen bei der Durchf hrung auf dem Arbeitsblatt Realzeit Labor Versuche Seite 27 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 Arbeitsblatt zu bung 5a Test und Eichung eines digitalen Photometers Namen srnsaieiyenssitieasti ei Datum reihe Rechner Sensor Eichwerte Intensit t Abstand Me wert 600 lux 4Ocm en 1800 lux 206m aiena 6000 lux cm 000 Eichkurve l l l l l l l l l l l l l l l l l l l l re NEN NEN EEE RE N L 0 600 1800 6000 lux Eichfunktion y a x b Eichfaktoren a DE 2 Ma einheiten l l l l l l l l l l l t Skizze der Me kurve am Oszilloskop bei Beobachtung e einer Leuchtstofflamp
73. systeme im Studiengang Informatik der FH Ffm WS 2002 03 bung 2c Kommunikation zwischen 2 Rechnern ber die Terminalschnittstelle COM 1 Programmierung der Daten bertragung im Gegensprechverkehr Full Duplex FDX Ziel dieser Aufgabe Diese Aufgabe soll verdeutlichen wie ein Rechner auch als Terminal benutzt werden kann Und wie ber diese Schnittstelle auch Daten bertragen werden k nnen Die Zeichen die am Terminal eines Rechners eingegeben werden sollen am Bildschirm des anderen Rechners erscheinen Rechner COM Tastatur Null Console Modem Console 0 Vorbereitung Strukturen durch Petri Netze definieren Geeignete Testprogramme Struktogramme Code erstellen Geeignetes Null Modem Kabel konfigurieren 1 Grundlagen Tastatureingaben werden normalerweise auf dem Bildschirm des Terminals geechot vgl Aufgabe 2b In dieser Aufgabe sollen die Zechen die an einem Rechner eingegeben werden auf dem Bildschirm eines anderen Rechners Partner erscheinen Dazu sind auf beiden Rechnern identische Programm zu installieren die eine Kommunikation im Gegensprech verkehr Full Duplex FDX erm glichen Die Zeichen die an der Tastatur eingegeben werden werden auf die COM Schnittstelle geschickt und am anderen Rechner an der COM Schnittstelle empfangen und auf dem Bildschirm ausgegeben Hierf r werden Systemfunktionen wie getc und putc verwendet 2 Inbetriebnahme der Versuchsanordnung F r diese Aufga
74. t alle durch die Bibliothek beanspruchten Ressourcen entfernt die Register der VME DPIO32 Hardware aus der Memory Map des Prozesses SM_DETACH und versucht schlie lich das zugeh rige PSMEM zu l schen int vd der von vdio_open erhaltene Handle RETURN Im Fehlerfall wird 1 geliefert mir entspr errno Code sonst 0 EBADF vd ist kein g ltiger Handle von vdio_open errno errno Codes von close CAVEAT 1 vdio_close wird nicht automatisch beim exit aufgerufen 2 Das L schen des PSMEM mi lingt wenn zu diesem Zeitpunkt noch andere Prozesse Zugriff darauf haben Dies gilt nicht als Fehler Realzeit Labor Versuche Seite 37 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 5 3 vdio_irgptn Set Interrupt Pattern int vdio_irgptn int vd enum dpio32port port int pattern Definiert das Muster f r den Pattern Match Interrupt 5 4 vdio_irgon Enable Pattern Interrupt int vdio_irgon int vd enum dpio32port port Schaltet den Pattern Interrupt scharf 5 5 vdio_irqoff Disable Pattern Interrupt int vdio_irgoff int vd enum dpio32port port Schaltet den Pattern Interrupt aus 5 6 vdio_irqwait Warte auf Pattern Interrupt int vdio_irqwait int vd enum dpio32port port int count vd ist der von vdio_open erhaltene Handle port spezifiziert den 8 Bit Port dessen Interrupt Semaphor abgefragt werden soll count zeigt auf eine Integer Variable der Anwendung die angibt um wieviel der Interru
75. t ein zus tzlicher Aufruf von vaio_start n tig 6 6 vaio_modesync Initialisierung der synchronen Betriebsart int vaio_modesync int va struct vaio_syncset setupdata DESCRIPTION Im synchronen Betrieb wird der Buffer Mode der VME AJO16 genutzt um einen kontinuierlichen Datenflu der Wandlerdaten zwischen Host und VME AIO16 zu erzielen Die Interrupts der VME AIO16 fordern jeweils fr h genug den n chsten Datentransfer durch den Host an So kann der Host seine Aufgabe korrekt erf llen ohne dadurch allzu streng zeitlich engagiert zu sein va ist wie blich der von vaio_open gelieferte Handle f r die Device Instanz setupdata zeigt auf eine vom Aufrufer bereitzustellende Datenstruktur mit der die folgenden Parametereinstellungen spezifiziert werden k nnen zul ssige Wertebereiche in Klammern vend 1 16 die End Adresse des ausgew hlten Eingangskanals A D vstart 1 vend die Start Adresse des ausgew hlten Eingangskanals A D vadsrv AD_RAW 1 AD_CORR 2 AD_1SHOT 0x10 AD_CONT 0x11 Arbeitsweise A D ad_frames 0 Ox7fff frames per buffer ad_buffers 0 Ox7fff daend 1 4 die End Adresse des ausgew hlten Ausgangskanals D A dastart 1 daend die Start Adresse des ausgew hlten Ausgangskanals D A vdasrv DA_NORMAL 0 DA_1SHOT 1 DA_WRAP 2 Arbeitsweise D A da_frames 0 Ox7fff frames per buffer da_buffers 0 Ox7fff cnvtime 20000 5682511 ns Wandl
76. ucht schlie lich das zugeh rige PSMEM zu l schen va der von vaio_open erhaltene Handle RETURN Im Fehlerfall wird 1 geliefert mir entspr errno Code sonst 0 EBADF va ist kein g ltiger Handle von vaio_open errno errno Codes von close CAVEAT 1 vaio_close wird nicht automatisch beim exit aufgerufen 2 Das L schen des PSMEM mi lingt wenn zu diesem Zeitpunkt noch andere Prozesse Zugriff darauf haben Dies gilt nicht als Fehler Realzeit Labor Versuche Seite 39 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 6 3 vaio_reset Restart VME AI016 optional neue CPU Frequenz int vaio_reset int va long cpufreg vaio_reset f hrt einen Neustart der VME AIOI16 inklusive Selbsttest und Gewinnung der Kalibrierungsdaten durch va ist wie blich der von vaio_open gelieferte Handle f r die Device Instanz cpufreq bietet je nach Wert verschiedene zus tzliche Optionen 1 System Neustart mit Default Parametern stellt die Factory Defaults wieder her NULL System Neustart sonst cpufreq wird als Pointer interpretiert der auf einen Speicherplatz vom type long zeigt der dort vom Aufrufer abgelegte Wert wird als neue Taktfrequenz in kHz von 0 25 000 f r den lokalen Prozessor der VME AIO16 bernommen Auf cpufreq wird die tats chliche device interne Frequenz tifreq zur ckgeliefert RETURN Im Fehlerfall wird 1 geliefert mit entspr errno Code sonst 0 6 4 vaio_getcalib Hole
77. ufer bereitzustellender Speicherplatz in den der Inhalt der Input Ports des VME DPIO32 kopiert wird Dabei erfolgt die Zuordnung zu den Ports nach aufsteigender Wertigkeit in der blichen Reihenfolge MSB Kanal 32 LSB Kanal 1 5 9 vdio_writebit Schreiben eines einzelnen Port Bit int vdio_writebit int vd int bitno int value Schreibt ein einzelnes Bit in einen der Output Ports vd ist der von vdio_open erhaltene Handle bitno ist die KanalNummer des betroffenen Bits 1 bis 32 value liefert in seinem LSB 0 oder 1 den Wert der auf dem ausgew hlten Kanal ausgegeben wird 5 10 vdio_readbit Lesen eines einzelnen Port Bit int vdio_readbit int vd int bitno int value Liest ein einzelnes Bit aus einem der Output Ports vd ist der von vdio_open erhaltene Handle bitno ist die KanalNummer des betroffenen Bits 1 bis 32 value ist ein vom Aufrufer bereitzustellender Speicherplatz in den das durch bitno ausgew hlte Bit kopiert wird Falls das Bit Null war wird value auf 0 gesetzt andernfalls auf 1 5 11 vdio_readstatus Lesen des Fehlerstatus der Ausgangstreiber int vdio_readstatus int vd unsigned long data vd ist der von vdio_open erhaltene Handle data ist ein vom Aufrufer bereitzustellender Speicherplatz in den der Fehlerstatus der Ausgangstreiber des VME DPIO32 kopiert wird Dabei erfolgt die Zuordnung der Bytes zu den Ports nach aufsteigender Wertigkeit in der hier blichen Reihenfolge MSB Kanal
78. ungszeit der A D und D A Wandler 6 7 vaio_start Start Konversion int vaio_start int va enum trigmod trigger DESCRIPTION vaio_Start aktiviert die A D und D A Konversion va ist der von vaio_open gelieferte Handle fiir die Device Instanz Das enumerative Argument trigger kann 3 verschiedene Werte annehmen ONCE der device interne Parameter trigmod wird auf SOFTWARE gesetzt und es wird genau ein Konversionszyklus gestartet EXTERN trigmod wird auf EXTERN gesetzt wenn ein Trigger Impuls am externen Triggereingang der VME AIO16 erscheint startet jeweils ein neuer Konversionszyklus TIMER _ trigmod wird auf TIMER gesetzt und der Timer auf der VME AIO16 wird gestartet Er aktiviert automatisch die Konversion und zwar mit der zuvor durch vaio_modefree bzw vaio_modesync gew hlten Periode cnvtime CAVEAT Im synchronen Betrieb nach vaio_modesync ist ONCE als Startmodus i A nicht sinnvoll RETURN Im Fehlerfall wird 1 geliefert mir entspr errno Code sonst 0 EIO Fehler bei Kommunikation mit VME VAIO16 Hardware i a wegen falscher Parameter 6 8 vaio_stop Stop Konversion int vaio_stop int va DESCRIPTION schaltet die durch vaio_start gesetzten automatischen Trigger Modi EXTERN bzw TIMER ab Der interne Parameter trigmod der VME AIO16 wird auf SOFTWARE ONCE zur ckgesetzt vaio_stop l st keine weitere Konversion aus RETURN Im Fehlerfall wird 1 geliefert mir entspr Errno Code sonst 0 EIO Fehler bei Kommun
79. us Grant Acknowledge neg RESET CLK Clock 8 MHz BERR Bus Error Realzeit Labor Versuche Seite 25 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 bung 5a Programmierung Test und Eichung eines digitalen Photometers Ziel dieser Aufgabe Mit Hilfe der Analogeingabe eines Proze rechners sind die Signale einer Solarzelle zu erfassen und als digitale Helligkeitswerte on line auf dem Bildschirm und off line als Me kurve darzustellen 0 Vorbereitung berlegen Sie sich welche Algorithmen Sie verwenden wollen um die Eichkurve zu erstellen Bereiten Sie ein Programm Struktogramm vor das geeignet strukturiert ist und flexibel an die vorliegenden Gegebenheiten angepa t werden kann 1 Grundlagen a Die Kennlinie des Photoelements ist weitgehend linear genauer gesagt ist der Kurzschlu strom I bis zu einer bestimmten Grenze proportional zur Lichtintensit t L dies w rde ein Me instrument mit 0Q erfordern I c L z B mit c 50 nA lux Wird aber die Leerlaufspannung U der Photozelle gemessen findet man eine kompliziertere Abh ngigkeit U Uo In 1 L Lo z B mit Up 60 mV Lo 2 lux Diese Funktion ist sehr unhandlich probieren Sie es F r gen gend gro e Helligkeit L gt 10 Lo gilt n herungsweise U Uo In L Lo Tats chlich wird die Photozelle parallel zu einem kleinen Lastwiderstand 500 Q betrieben der weder einen Kurzschlu noch einen Leerlauf darstellt so da sich
80. vierungsregister_ oh fo fo fo h Jnterrupt Identifizierungsregister fh To jh Jlo Datenformatregister Leitungssteuerregister on To jh h Modemsteuctrepister RS 232 Ausgabe om l h lo lo Esstaliste gister Leim gsstatusregi os l ho l o h 001 Modemstatusregister RS 232 Eingabe gt Joh l h h Jo Scratch Pad Register fom h h h Teiler Latsch Register LSB fh tt fo jo Teiler Latch Register MSB _ a h Jo jo h DLAB Teiler Latch Zug Driana Tab 10 6 Registeradressen des UART 8250 Empf ngerpufferregister Senderhalteregister 7 0 T 0 Er eo es es es e er m E7 EO Empfangsbit 0 bis 7 S7 SO Sendebit 0 bis 7 Abb 3 Empf ngerpuffer und Senderhalteregister Offset 00h 7 0 7 0 o o o Jo sine o o jo lo lo I m mo SINP RS 232 Eingabe ID1 IDO Identifizierungsbits 1 Interrupt bei Zustands nderung einer 00 nderung eines RS 232 RS 232 Eingangsleitung Eingangssignals Priorit t 3 O kein Interrupt 01 Ubertragungspuffer leer Priorit t 2 ERBK Fehler und Break Error amp Break 10 Daten empfangen Priorit t 1 1 Interrupt bei Parit ts berlauf 10 Daten empfangen Priorit t 1 Framing Fehler oder BREAK 11 Serialisierungsfehler oder BREAK Priorit t 0 O kein Interrupt 0 h chste Priorit t TBE bertragungspuffer leer Transmitter 3 niedrigste Priorit t Du Ep PND _Pending Bit 1 Interrupt wenn bertragungspuffer leer O kein Inte
81. vorliegenden Versuch eingesetzt Typ bertragungsfunktion G s P Kp I K Is D Kp s DT Kps 1 s T PT Kp 1 2d s T s T 2 2 Inbetriebnahme Das Simulationsprogramm RESI l uft unter MS DOS Zum Booten von DOS ist der Rechner entweder durch RESET oder durch Einschalten zu Booten Dabei ist der Standard Bootvorgang durch lt ESC gt zu unterbrechen und an der Aufforderung LILO ist dos einzugeben Das Simulationsprogramm befindet sich im Ordner RESI Es wird mit RESI gestartet 3 Durchf hrung 3 1 Es wird das zu regelnde System Auf4b sim geladen Es enth lt 4 unterschiedliche Testsignalgeneratoren ein System aus I Glied und DT 1 Glied RC Hochpa eine eingespeiste stochastische St rung und ein P Glied als Ausgangspuffer 3 2 Das Verhalten des Systems ist durch Anschalten geeigneter Testfunktionen zu testen Die erhaltenen Systemantworten sind auszudrucken oder abzuzeichnen 3 3 Es ist eine Regelung so zu realisieren da die Ausgangsspannung einem vorgegebenen Signalverlauf m glichst getreu folgt 3 4 Das Verhalten der Regelung ist durch Anschalten der Sprung und der Impulsfunktion ohne und mit St rsignal zu testen Die erhaltenen Systemantworten sind auszudrucken oder abzuzeichnen Realzeit Labor Versuche Seite 20 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 4 Erstellung der Regelung 4 1 Die im Regelkreis notwendigen Glieder und deren Anordnung sind aus den Laplace t
82. wie Addition Subtraktion Multiplikation Division Unterprogrammsprung Zugriffe auf Datentr ger Festplatte oder Diskette Suchen Sie sich selber geeignete Anweisungen aus der von Ihnen gew hlten Programmiersprache C PASCAL FORTRAN oder BASIC aus Aufgabenstellung Erstellen Sie Ihr Programm samt Struktogramm und Dokumentation Tragen Sie in das Arbeitsblatt die untersuchten Anweisungen a b c d ein Hinweise Erstellen Sie vor Ubungsbeginn ein Programm samt Struktogramm Verwenden Sie in Ihrem Programm eine geniigend oft durchlaufene Schleife mit der und ohne die zu unter suchende Anweisung Sch tzen Sie ab welche Laufweite Ihre Schleifen haben m ssen um auch mit Hilfe einer sekundengenauen Zeitmessung Armband oder Systemuhr eine gen gend gro e Genauigkeit zu erhalten Zusatzaufgabe F hren Sie dieselbe bung auf einem anderen Rechner oder in einer anderen Programmiersprache durch Realzeit Labor Versuche Seite 4 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 D 1 Arbeitsblatt zur Aufgabe la Verarbeitungszeiten Namen keins Datum iiini Rechnerkonfigurationen 1 Rechner Prozessor in inoia Taktfrequenz 2 Rechner Prozessor imponi iiaei Taktfrequenz 3 Rechner Prozessor Taktfrequenz Programmiersprache 1 cssssssssss
83. ysteme im Studiengang Informatik der FH Ffm WS 2002 03 D 2 Arbeitsblatt zur bung 1b Bearbeitungszeiten Namen skin Datum iiini ss Rechnerkonfigurationen 1 Rechner Prozessor in nicoi Taktfrequenz 2 Rechner Prozessor uu Taktfrequenz 3 Rechner Prozessor Taktfrequenz Programmiersprache 1 cssssssssssssssssees ARE TAE Laufzeit in ms nooo e a a M O Realzeit Labor Versuche Seite 7 Labor f r Realzeitsysteme im Studiengang Informatik der FH Ffm WS 2002 03 Aufgabe 1c Messung der Laufzeiten von Instruktionen in einer maschinennahen Programmiersprache Ziel der Aufgabe Bestimmen Sie mit einfachsten Mitteln Armbanduhr die Laufzeiten von Anweisungen in einer Assemblersprache L schen CLEAR A Datentransfer MOVE A B Vergleich COMPARE A B Suchen Sie sich selber geeignete Instruktionen aus dem Instruktionssatz des verwendeten Rechners aus Verwenden Sie fiir mindestens eine Instruktion a unterschiedliche Adressierungsarten m gt 2 Aufgabenstellung Erstellen Sie Ihr Programm samt Struktogramm und Dokumentation Tragen Sie in das Arbeitsblatt die untersuchten Instruktionen am b c und die verwendeten Rechnerkonfigurationen n n gt 2 ein Hinweise Erstellen Sie vor Ubungsbeginn ein Programm samt Struktogramm Verwenden Sie in Ihre
Download Pdf Manuals
Related Search
Related Contents
使いやすさをそのままに 進化を遂げたハンディターミナル Supermicro X7DWE motherboard Dicota D30920 LG HS101 User's Manual V7 Projector Lamp for selected projectors by DELL Copyright © All rights reserved.
Failed to retrieve file