Technische Berichte. fachhochschule hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK NR. 31 OKTOBER Magnetoresistive Sensorsysteme

Größe: px
Ab Seite anzeigen:

Download "Technische Berichte. fachhochschule hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK NR. 31 OKTOBER 1998. Magnetoresistive Sensorsysteme"

Transkript

1 Technische Berichte fachhochschule hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Magnetoresistive Sensorsysteme Mustererkennung mit Fuzzylogik Echtzeit-Datenverarbeitung Entwicklungswerkzeuge für Kommunikationsprotokolle Mehrkanal-Audiosignalverarbeitung Bestückungsautomat mit Bildverarbeitung FPGA-Synthese Protokolltests im Mobilfunk NR. 31 OKTOBER FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 [1]

2 ... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 IMPRESSUM Fachbereich Elektrotechnik und Informatik der Fachhochschule Hamburg Berliner Tor Hamburg Tel.: Redaktion: Prof. Dr.-Ing. Ulf Claussen claussen@ etech.fh-hamburg.de Technische Berichte im Internet: fh-hamburg.de Inhaltsverzeichnis Technische Berichte Nr. 31 Oktober 1998 Editorial 3 REINHARD VÖLLER... FPGA-Synthese mit VHDL für Bildverarbeitungsanwendungen 4 JÜRGEN REICHARDT... Echtzeitdatenverarbeitung 11 JOCHEN SCHNEIDER... Mustererkennung mit Fuzzylogik 16 LUDOLF STEWEN... Entwicklung einer universellen Kommunikationsbibliothek 22 HEIKO BOBZIN... Magnetoresistive Sensorsysteme für Automobilanwendungen am Beispiel eines 25 integrierten Winkelmeßsystems KLAUS DIETMAYER... Mehrkanal-Audiosignalverarbeitung mit Digitalen Signalprozessoren 30 ULI SAUVAGERD... Bestückungsautomat mit Bildverarbeitung 34 UWE APEL, HANS PETER KÖLZER... Protokolltests im digitalen Mobilfunk 38 PETER RIEDEL... [2]

3 Liebe Freunde unseres Fachbereichs, heute begrüßt Sie auf dieser Seite ein neues Gesicht. Am 15. Juli habe ich die Nachfolge von Prof. Dr. Maas im Amt des Dekans angetreten. Ich möchte Herrn Maas an dieser Stelle für seinen Einsatz in den vergangenen vier Jahren danken und hoffe, in meiner Amtszeit seine Arbeit erfolgreich fortsetzen zu können. Ich freue mich auch besonders, daß mir im Amt des Prodekans Prof. Dr. Kölzer tatkräftig zur Seite steht. Ich möchte mich kurz vorstellen: Nach meiner Promotion in der Informatik an der Universität Kiel mit einem Thema aus dem Bereich "Semantik von Programmiersprachen", war ich mehrere Jahre in der Softwareentwicklung tätig und gehöre seit 1992 der Fachhochschule Hamburg an. Von 1994 bis 1998 war ich Prodekan des Fachbereichs Elektrotechnik und Informatik und habe mich in dieser Zeit also schon ein wenig auf die jetzige Tätigkeit vorbereiten können. Lassen Sie mich über einige Aktivitäten des Fachbereichs berichten: Da ist zunächst einmal das Thema Studienreform: Wir bemühen uns zur Zeit intensiv, ein Konzept für die Modularisierung der Studiengänge zu entwickeln. Erweiterung der Wahlmöglichkeiten, Erhöhung des Anteils nichttechnischer Inhalte am Studium, Kreditpunkte (European Credit Transfer System), Erleichterung des Wechsels zwischen Hochschulen in Europa, internationale Abschlüsse wie Bachelor und Master sind da wichtige Themen. Wir hoffen zum Wintersemester 1999 "europäisierte" Studiengänge anbieten zu können. Studierende werden dann die Möglichkeit haben, ihr Studium z.b. in Hamburg zu beginnen, nach einem Jahr an eine Hochschule in Frankreich, nach einem weiteren Jahr nach England zu wechseln. Das Studium wird dann wieder in Deutschland abgeschlossen, wo die Fachhochschule als Abschluß das Diplom verleiht. Gleichzeitig erhalten die Absolventen auch die Abschlüsse der anderen besuchten Hochschulen. Über Europa hinaus greift die Planung für unseren Internationalen Studiengang "Information Engineering". Dieser Studiengang soll ebenfalls ab Wintersemester 1999/2000 in englischer Sprache angeboten werden. Einmal im Jahr wollen wir etwa 40 Studierende aufnehmen, die dann in Hamburg einen Bachelor- bzw. Master-Abschluß erhalten können. Wir wenden uns hier besonders an Studierende aus dem nicht-europäischen Ausland aber natürlich auch an deutsche Interessentinnen und Interessenten. Unsere langjährigen Beziehungen zur University of Shanghai for Science and Technology kommen uns hier zu Hilfe. Schließlich führen wir und der Fachbereich Maschinenbau und Produktion gemeinsam mit unseren chinesischen Partnern in Shanghai zwei Kurse in den Fachrichtungen Elektrotechnik und Maschinenbau durch. Etwa ein Drittel des Lehrangebots wird dabei in deutscher Sprache von Kollegen aus Hamburg erbracht. Ab Oktober 98 lernen die chinesischen Studierenden zunächst einmal für ein Jahr intensiv deutsch. Dann schließt sich ein dreijähriges Fachstudium an. Während dieser Zeit werden pro Fachrichtung und Semester zwei Professoren aus Hamburg für acht Wochen in Shanghai lehren. Gleichzeitig wollen wir unsere Kontakte nutzen, um Teilnehmer für unseren Internationalen Studiengang anzuwerben. Sie sehen, es wird am Fachbereich international und spannend. Mit diesem Heft liegt Ihnen zugleich der Tagungsband zum diesjährigen "Tag der Begegnung mit Industrie und Wirtschaft" am 19. Oktober vor. Ich bin sicher, daß das diesjährige Thema "Trends in der Informationstechnik" bei Besuchern der Veranstaltung aber auch bei Ihnen als Leser Interesse findet. Als Neuerung findet in diesem Jahr am Nachmittag desselben Tages die "2. Jobbörse" statt, auf der sich Firmen den Studierenden als zukünftige Arbeitgeber präsentieren. Vergessen sind offensichtlich die Zeiten, in denen unsere Absolventen Schwierigkeiten beim Berufsstart hatten. Als Lohn eines anspruchsvollen Studiums können junge Informatiker und Ingenieure nun wieder zwischen mehreren attraktiven Jobangeboten auswählen. Wir wünschen uns, daß das so bleibt und sich auch bei potentiellen Studienbewerbern noch mehr herumspricht. Mit freundlichen Grüßen Prof.Dr. Reinhard Voeller, Dekan des Fachbereichs Elektrotechnik und Informatik an der FH Hamburg... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 [3]

4 ... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 Prof. Dr. JÜRGEN REICHARDT, FH Hamburg, FB E/I, Berliner Tor 3, Hamburg, etech.fh-hamburg.de Bild 1: Anteilige Verwendung verschiedener Hardwarebeschreibungssprachen 1993 und 1997 (Mehrfachnennungen waren erlaubt). Quellen [1] [19] Einführung FPGA-Synthese mit VHDL für Bildverarbeitungsanwendungen An ein modulares, parallelisierbares System zur Bilderfassung und -bearbeitung lassen sich die folgenden Anforderungen stellen: 1. Neu zu implementierende bzw. anzupassende Bildverarbeitungsoperatoren sollten leicht integrierbar sein. 2. Es sollte eine strukturierte Entwicklungsmethodik mit hierarchischen Bibliothekskomponenten verwendbar sein, die für ein Design-Reuse geeignet sind. 3. Das System sollte eine hohe Ausführungsgeschwindigkeit, insbesondere für arithmetische Operationen besitzen. 4. Die verwendete Hardware sollte eine skalierbare Komplexität der verwendeten Bausteine besitzen, um somit für eine konkrete Aufgabe die optimale Preis-/Leistungsrelation zu erzielen. 5. In Anwendungen, die z.b. ROM-Tabellen oder FIFO-Strukturen verwenden, müssen schnelle Speicherzugriffe möglich sein. Üblicherweise werden zur Realisierung dieser Anforderungen Digitale Signalprozessoren (DSPs) verwendet. In diesem Vortrag soll hingegen über einen alternativen Lösungsansatz berichtet werden: Die Verwendung von FPGAs (Field Programmable Gate Array) im Zusammenhang mit der Programmiersprache VHDL JÜRGEN REICHARDT Fachhochschule Hamburg, Fachbereich Elektrotechnik und Informatik VHDL Verilog HDL Andere C Wie insbesondere die ersten beiden Wünsche durch den Einsatz von VHDL erfüllt werden, ist Inhalt des folgenden Kapitels. Die Forderungen 3 bis 5 müssen durch die verwendete FPGA-Hardware erfüllt werden. Darauf wird im Abschnitt 3 eingegangen. Die Darstellung zweier praktischer Anwendungen im Abschnitt 4 runden diesen Bericht ab. 2 Was ist VHDL und welche Vorteile bietet VHDL beim Entwurf digitaler Systeme? Das Synonym VHDL steht für VHSIC Hardware Definition Language (VHSIC = Very High Speed Integrated Circuit). Im Gegensatz zu herkömmlichen Programmiersprachen, die eine bereits existierende Hardware mit Leben d.h. mit Software erfüllen, soll VHDL einen einheitlichen Sprachstandard zur Beschreibung von Hardware liefern. Dies bedeutet, daß anstatt einer Schaltplaneingabe moderne digitale Designs durch textuelle Beschreibungen formuliert werden. Im Gegensatz zu der ebenfalls für diesen Zweck entwickelten Sprache Verilog HDL wurde VHDL durch das IEEE erstmalig 1987 standardisiert. Diesen Vorteil nutzend setzen laut einer neueren amerikanischen Umfrage aus dem Jahr 1997 mehr als 60% aller ASIC Entwickler VHDL als Hardwarebeschreibungssprache ein [1]. Nachdem sich insbesondere in Europa dieser Sprachstandard bereits vor einigen Jahren durchgesetzt hatte, wurde offensichtlich mit ergänzenden Standardisierungsbestrebungen durch das IEEE in den letzten Jahren auch in den USA die Marktführerschaft erreicht (siehe Bild 1). Die Syntax der Sprache VHDL ist an die bekannten Programmiersprachen PASCAL bzw. ADA angelehnt [2] und daher für Elektronikentwickler leicht erlernbar. Die Nebenläufigkeit der Hardwarefunktionen bei der Analyse des Verhaltens eines VHDL-Codes bereitet jedoch Software-Entwicklern, die nur eine sequentielle Programmierung gewohnt sind, häufig Schwierigkeiten. [4]

5 Ursprünglich für Dokumentations- und Simulationszwecke konzipiert, wurden in den letzten Jahren durch die EDA (electronic design automation) - Industrie auch PC-basierte VHDL-Synthesewerkzeuge sehr erfolgreich auf dem Markt plaziert. Heutige Anwendungsbereiche von VHDL sind der Entwurf von digitalen ASICs, FPGAs und CPLDs. Die Integration von Simulation, Synthese und Dokumentation in einer Beschreibungssprache revolutionierte in den letzten Jahren die Entwicklungsmethodik digitaler Systeme. Dies ist der Grund für den Entschluß, diesen Sprachstandard auch in der Ausbildung einzusetzen, womit den Studierenden eine in Bereichen der Industrie bereits weitverbreitete Entwurfsmethodik vermittelt werden kann. Diese ist durch den intensiven Einsatz von Simulationswerkzeugen und die Möglichkeit eines Top-Down Ansatzes bei ausgeprägter Hierarchie gekennzeichnet. Vorteilhaft ist die Möglichkeit, eine zu einem frühen Zeitpunkt entworfene Testumgebung während des gesamten Entwurfs unverändert verwenden zu können. Dabei wird das zu entwerfende System zunächst in seinem Verhalten beschrieben und mit einem VHDL-Simulator eingehend hinsichtlich der Systemanforderungen analysiert. Dazu dient eine Testumgebung (testbench), in die Modelle des zu entwerfenden Systems quasi als DUT (Device under Test) eingebunden werden. Innerhalb der Testumgebung werden z.b. auch Dateizugriffe auf dem PC unterstützt. Dies ermöglicht die Emulation der Schnittstelle zwischen dem zu entwerfenden System (z.b. einer PC-Einschubkarte) und der Anwendungssoftware eine wesentliche Voraussetzung für ein erfolgreiches Hardware-Software Codesign. Ein in der Testumgebung erfolgreich analysiertes Verhaltensmodell wird anschließend geeignet partitioniert und die daraus resultierenden Funktionsblöcke schrittweise in synthesefähigen VHDL-Code umgesetzt, wobei die daraus resultierenden Testbench-Ergebnisse unverändert bleiben sollten. Ein Problem bei der Umsetzung des Verhaltensmodell in synthesefähigen Code ist die Tatsache, daß mit den CAE-Synthesewerkzeugen nicht alle VHDL-Konstrukte synthetisierbar sind [6]. Vielmehr ist beim Entwickler eine genaue Kenntnis darüber erforderlich, welche VHDL-Anweisungen mit welchen Grundstrukturen digitaler Hardware korrespondieren. Syntaktisch korrekte aber semantisch falsche Formulierungen führen z.b. zur Inferrierung von Latches oder Flipflops auch dort, wo eigentlich eine kombinatorische Logik erwünscht ist. Insbesondere beim Entwurf von Zustandsautomaten (Schaltwerken) und Schleifenkonstrukten erfordert die Architektursynthese, daß spezielle syntaktische Regeln in Form von Templates einzuhalten sind, die zudem teilweise in den Werkzeugen auf unterschiedliche Weise unterstützt werden [3] [4] [5]. Hier ist deutlich zu erkennen, daß die Architektursynthese in einigen Bereichen noch Gegenstand der Forschung ist, woraus für die am Markt verfügbaren Werkzeuge recht kurze Innovationszyklen resultieren. Für viele Anwendungen der Echtzeitbildverarbeitung ist eine effektive Umsetzung arithmetischer Operatoren in Hardware von entscheidender Bedeutung. Stand der Technik bei der Architektursynthese arithmetischer Funktionen ist die Verwendung von vorverdrahteten Modulen (z.b. Addierer, Subtrahierer, Inkrementer), sofern diese in der herstellerspezifischen Synthesebibliothek vorhanden sind. Auf diese Weise ist eine für die jeweilige Zielarchitektur flächen- oder laufzeit-optimierte Synthese der arithmetischen Operationen sichergestellt. 3 Komplexität und Struktur von FPGAs für Bildverarbeitungsanwendungen Chrakteristisches Kennzeichen von FPGAs ist deren im Vergleich zu (C)PLDs hohe Granularität: Eine große Anzahl von vergleichsweise gering komplexen Logikstrukturen (CLB=Configurable Logic Block) wird durch eine programmierbare, komplexe Mehrlagenverdrahtung miteinander verbunden. Dabei steht eine große Anzahl von Flipflops zur Verfügung, was den Entwurf komplexer Schaltwerke erleichtert [7]. Eine vom Bausteinhersteller entwickelte Design-Fitter Software bestimmt den erreichbaren Nutzungsgrad des FPGAs für digitale Schaltungen, der typischerweise bei ca. 80% liegt. Eine Reprogrammierbarkeit der Bausteine ist dann gegeben, wenn SRAM- oder EE- PROM-basierte Konfigurationen verwendet werden. Eine Rekonfiguration innerhalb einiger Millisekunden erlauben SRAM-Technologien. Damit läßt sich in sehr kurzer Zeit die Funktionalität eines FPGAs z.b. verändern, womit diese Bausteine einen sehr schnellen Coprozessor für dedizierte Anwendungen darstellen (z.b. für verschiedene Bildverarbeitungsoperatoren). Weiterer Vorteil dieser FPGAs ist, daß die für die Speicherung der Konfiguration verwendeten SRAM-Zellen in vielen Technologien auch als ultraschneller On-Chip Speicher mit Schreibzyklen unterhalb von 10 ns, verwendet werden können [8] [9]. Die Komplexität heute verfügbarer FPGAs mit SRAM Architektur reicht von 3k bis 250k Gatteräquivalenten (GÄ), wobei auch die Schwelle von 1M GÄ in Kürze durchbrochen werden wird [8]. Weitere Trends bei der FPGA- Entwicklung sind zum einen der Übergang zur 3.3V bzw. 2.5V Spannungsversorgung, sowie... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 [5]

6 ... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 Bild 2: FPGA-basierte Hardwarearchitektur zur Bilddatenvorverarbeitung die Erschließung eines Low-Cost Marktsegments mit Komplexitäten bis zu 40k GÄ (z.b. die Spartan-Serie von Xilinx). Die Preise dieser FPGAs liegen bei 0.3 Pf/GÄ. Ein weiterer Trend, der insbesondere auch für Echtzeit-Bildverarbeitungsanwendungen von Bedeutung ist, sind FPGAs, die sich partiell neu konfigurieren lassen, während der übrige Teil des Bausteins die in ihm abgelegten Funktionen weiter ausführt. Besondere Charakteristik derartiger Bausteine ist die kurze Konfigurationszeit, die im Bereich von µs liegt (Xilinx XC6200), so daß echte Spezial-Coprozessoren aufgebaut werden können [8]. Die FPGA-Synthesewerkzeuge unterstützen in weiten Bereichen die Forderung des Anwenders nach einem Design-Reuse: Neben der Einbindung eigener synthesefähiger VHDL- Code-Bibliothekselemente werden Soft- und Hardmacros unterstützt [10]. Softmacros sind dabei nicht nur parametrierbare Grundstrukturen wie Zähler, Speicher, Akkumulatoren etc., die blockweise in das Design integriert werden, sondern auch komplexe Strukturen für den Entwurf digitaler Filter. Üblicherweise werden für Softmacros zur Unterstützung der Entwurfsphase VHDL-Verhaltensmodelle generiert. Die interne Plazierung und Verdrahtung von Softmacrofunktion erledigt eine vom FPGA-Hersteller zur Verfügung gestellte Software, womit eine optimale Flächenausnutzung bzw. kürzeste Signallaufzeiten sichergestellt sind. Hardmacros hingegen sind fertig entwikkelte Funktionsblöcke mit abgeschlossener interner Plazierung und Verdrahtung. Dazu gehören selbstentwickelte Funktionen aber auch solche anderer Hersteller. Für diesen Zweck arbeiten die FPGA-Hersteller weltweit mit Entwicklern von Intellectual Property eng zusammen [11], [12]. Auf diesem Wege werden heute u.a. fertig entwickelte PCI-Bus- und ATM-Schnittstellen von den FPGA-Herstellern zur Verfügung gestellt. Besondere Zielrichtung der FPGA-Hersteller ist die Durchdringung auch des Marktsegments, das ursprünglich von Festkomma-DSPs abgedeckt wurde. Die hohe Geschwindigkeit, mit der auch Multiplikationen in einem FPGA durchgeführt werden können (85 MHz für einen 8 Bit Multiplizierer [12]), macht FPGAs für den Aufbau von FIR-Filtern äußerst interessant. Dabei wird der Entwurf des eigentlichen Filters auf die Angabe von geeigneten Parametern eines Softmacros reduziert. Während bei den DSPs üblicherweise nur eine MAC-Einheit (MAC=Multiply and Accumulate) zur Verfügung steht, kann diese bei FPGAs abhängig von der zur Verfügung stehenden Chipgröße vielfach parallelisiert werden. Auf diese Weise konnte z.b. für ein 16 Bit FIR-Filter eine im Vergleich zum TMS320C6x ca. 10-fach höhere Rechenleistung bei einem 5-fach reduzierten Preis erzielt werden [20]. Eine von uns durchgeführte Abschätzung der Ausführungszeit eines 3x3-Median Filters für ein 8 Bit Grauwertbild mit 256x256 Pixeln ergab vergleichbare Ergebnisse [13], obwohl dieser Algorithmus keinerlei MACs sondern ausschließlich Vergleichsoperatoren erfordert. Für die Ausführung einer Bildbearbeitung des intern mit vier Parallelprozessoren ausgestatteten TMS320C80 (Taktfrequenz 50 MHz) wurden 3.03 ms berechnet, während eine FPGA- Abschätzung für eine dreistufige Pipelinestruktur 3.8 ms ergab. Bezogen auf den einzelnen DSP des TMS380C bedeutet dies eine etwa um den Faktor drei kürzere Ausführungszeit des FPGAs. Weiterer Vorteil einer FPGA-Lösung ist die Tatsache, daß neben der Filteranwendung im Gegensatz zum DSP weitere Logikmodule, z.b. komplexe Zustandsautomaten, mit auf dem Chip integriert werden können. 4 FPGA-Coprozessoren in der Bildverarbeitung a) Anwendungen in der Bildvorverarbeitung Eine Hardware-Konfiguration, mit der eine FPGA-basierte Bilddatenvorverarbeitung für die Segmentierung und Merkmalsextraktion durchgeführt werden kann, ist in Bild 2 dargestellt [14]. Als erster Schritt zur Realisierung des BEV- Coprozessors wurde im Rahmen einer Diplomarbeit zunächst eine PC-Einsteckkarte entwikkelt, mit der einfache VHDL-basierte Bildverarbeitungsalgorithmen an Hand statischer, im PC abgelegter Bilder untersucht werden können [15]. Die Struktur dieser Karte zeigt Bild 3. Den Kern dieser Karte stellt die Hardware eines XILINX XC4006E mit 6 kgä (256 CLBs) dar, der vollständig unter Verwendung von VHDL entworfen wurde. Die Struktur der VHDL-Komponenten zeigt Bild 4. Dieser Bau- [6]

7 stein beinhaltet die für die Kommunikation mit dem ISA- Bus erforderlichen Komponenten und erledigt neben der eigentlichen Bildverarbeitung auch die Zugriffe auf den Bildspeicher. Für den eigentlichen Bildverarbeitungsalgorithmus BEV_ALGO stehen ca. 70% der FPGA- Ressourcen zur Verfügung. Als erste Anwendungen wurden Binarisierung und Invertierung für ein Graustufen-Quellbild implementiert. Diese sehr einfachen Algorithmen belegen 5% bzw. 9% der verfügbaren FPGA-Kapazität. Die Ergebnisse für ein 100x100 Pixel großes Bild mit 8 Bit Pixeltiefe zeigt Bild 5. Als nächster zu implementierender Algorithmus ist ein Medianfilter geplant. Der Medianwert wird jeweils aus einem über das Quellbild wandernden, 3x3 Pixel großen Fenster gebildet. Dieses Filter wurde zunächst als VHDL-Verhaltensmodell implementiert, das in einer Simulationsumgebung analysiert wurde. Die Filterwirkung auf ein 256x256 Pixel großes Bild zeigt Bild 6. Das bekannte Verhalten des Median-Operators, eine Unterdrückung des Rauschens, das im Quellbild insbesondere in der Bildmitte erkennbar ist, läßt sich deutlich erkennen. Bild 3: Architektur der PC- Einschubkarte zum Testen von VHDLbasierten Bildvorverarbeitungsalgorithmen. Bild 4: Komponentenstruktur des FPGA auf der Bilderfassungskarte... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 [7]

8 ... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 Bild 5: a) Graustufen Quellbild (100x100 Pixel, 8 Bit) b) Binarisiertes Bild mit Graustufenschwellwert 128 c) Invertiertes Binärbild. Bild 6: Wirkung eines 3x3-VHDL-Medianfilters auf ein verrauschtes Bild Bild 7: Sortieralgorithmus für ein Medianfilter mit 9 Elementen (aus [16]) Bei der Umsetzung in synthetisierbaren Code wird der in Bild 7 dargestellte Sortieralgorithmus für die neun Pixel P1...P9 eingesetzt [16]. Dem Bild ist zu entnehmen, welche Vergleiche durchzuführen sind, um den Medianwert zu bilden. a) Quellbild 256x256 Pixel, 8-Bit Graustufen b) Gefiltertes Bild, 3x3 Median Filter Die diesem Bild entsprechende kombinatorische Logik entspricht einer vergleichsweise langen Ausführungsdauer, die sich dadurch verkürzen läßt, daß die Topologie in eine dreistufige Pipelinestruktur umgesetzt wird. Diese ist in Bild 8 dargestellt [16]. Bild 8: Dreistufige Pipelinestruktur des Medianfilters (aus [16]) In Bild 9 ist der zugehörige VHDL-Code als überwiegend strukturelle Beschreibung dargestellt. Die Knoten in Bild 8 entsprechen einfachen Basiskomponenten (HI, LO, MED, HILO und SORT3), die Komparatorfunktion besitzen. Der Prozeß beschreibt die Signalübernahme in der Pipeline. Die Synthese dieser Filterstruktur erfordert 163 CLBs. Eine Timinganalyse ergibt eine maximale Verzögerungsdauer der kombinatorischen Logik von 57 ns. Unter Echtzeitbedingungen lassen sich damit prinzipiell d.h. mit geeigneten Speicherbausteinen oder direkt an einer geeigneten Kamera Bilder mit 512x512 Pixeln bei einer Wiederholfrequenz von 60Hz bearbeiten. Die experimentelle Überprüfung dieser Aussagen in der Zielhardware erfordert jedoch [8]

9 Im zweiten Beispiel soll eine Bildverarbeitungsanwendung vorgestellt werden, die unabhängig von einer PC-basierten Nachbearbeitung ausgeführt wird: Es handelt sich dabei um eine Bilddrehung unter Echtzeitbedingungen, bei der der Drehwinkel beliebig zwischen 0 und 360 variieren kann. Besondere Herausforderung ist dabei die Interpolation des gedrehten Bildes, die erforderlich ist, um Kantensprünge, die aus der Nichtlinearität der Sibegin TAKT: process (CLK) -- Pipeline Datenuebernahme begin if CLK'event and CLK='1' then L1 <= L2 after 10 ns; -- Uebernahme in 2. Stufe M1 <= M2 after 10 ns; H1 <= H2 after 10 ns; L0 <= L1 after 10 ns; -- Uebernahme in 1. Stufe M0 <= M1 after 10 ns; H0 <= H1 after 10 ns; end if; end process; noch den Entwurf eines modifizierten Adreßgenerators. Dieser ist erforderlich, da die Pixelzugriffe, im Gegensatz zu den oben geschilderten einfachen Anwendungen nicht mehr linear erfolgen. b) Vollständige Bildbearbeitung MEDIAN <= RESULT after 10 ns; -- Heraustakten -- nebenlaeufige Komponenteninstanziierungen (Schaltnetz) C1: SORT3 port map(in1, IN2, IN3, L2, M2, H2); C2: HI port map(l0, L1, VAR1); C3: HILO port map(m1, M2, VAR2, VAR3); C4: LO port map(h1, H2, VAR4); C5: HI port map(var1, L2, VAR21); C6: HI port map(m0, VAR2, VAR5); C7: LO port map(var5, VAR3, VAR22); C8: LO port map(h0, VAR4, VAR23); C9: MED port map(var21, VAR22, VAR23, RESULT); end STRUKTUR; nus- bzw. Cosinus-Funktion resultieren, auszugleichen. Eine eingehende Analyse möglicher Interpolationsalgorithmen hat ergeben, daß eine lineare Interpolation unter Einbeziehung der Pixelwerte der nächsten Nachbarn für einen zufriedenstellenden optischen Eindruck nicht ausreichend ist [17]. Die Architektur dieses Systems zeigt Bild 10. Das Projekt ist gekennzeichnet durch hohe Geschwindigkeitsanforderungen bei arithmetischen Operationen. Ferner wird bei der schnellen Berechnung der Sinus- und Cosinus-Funktionen davon Gebrauch gemacht, daß die FPGA-Zellen auch als ROM-Tabelle mit ultraschnellen Zugriffszeiten (Zykluszeit < 10 ns) einsetzbar sind. Bei der Synthese dieser Teilaufgaben werden Soft Bild 9: Struktureller VHDL-Code für ein 3x3 Median Filter Bild 10: System zur FPGA-basierten Echtzeitbilddrehung... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 [9]

10 ... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 macros des Herstellers sowie individueller VHDL-Code verwendet. Für das noch in der Entwicklung befindliche Projekt wurde ein Verhaltensmodell geschrieben, das z.zt. auf einem Prototyp des Bilddrehungsprozessors zusammen mit bereits existierenden VHDL-Komponenten zur Ansteuerung der Wandler in synthesefähigen Code umgesetzt wird [18]. Literatur [1] Quelle: VHDL International; Markterhebung 1997; [2] D.Pellerin, D.Taylor; VHDL Made Easy; Prentice Hall, Upper Saddle River; 1997 [3] Aurora Softwaredokumentation; Viewlogic Inc.; [4] PeakVHDL Softwaredokumentation; Accolade Design Automation Inc.; [5] FPGA-Express Softwaredokumentation; Synopsys Inc.; [6] R.Airiau, J.M.Berge, V.Olive; Circuit Synthesis with VHDL; Kluwer Academic Publishers; Boston, Dordrecht; 1994 [7] A.Auer, D.Rudolf; FPGA Feldprogrammierbare Gate Arrays; Hüthig-Verlag, Heidelberg; 1995 [8] XILINX-Datenbuch, Xilinx Inc;1998; / [9] Datenbuch der Serie FLEX 10K; Altera Corporation,1998; [10] Dokumentation zur Foundation Software V1.4, Xilinx Inc. 1998; [11] AMPP-Catalog; Altera Corporation; 1996 [12] Core Solutions Databook; Xilinx Inc.; 1997 [13] H.P.Kölzer, J.Reichardt, B.Schwarz; 2. Zwischenbericht zum F&E-Projekt Entwurf eines modularen, parallelisierbaren Bilderfassungs- und Verarbeitungssystems für Echtzeitbetrieb; FH Hamburg; 1998 [14] H.P.Kölzer, J.Reichardt, B.Schwarz; Zwischenbericht zum F&E-Projekt Entwurf eines modularen, parallelisierbaren Bilderfassungs- und Verarbeitungssystems für Echtzeitbetrieb; FH Hamburg; 1997 [15] R.Hoppe, V.Cordes; Entwicklung einer FPGA-basierten PC-Einsteckkarte zur Implementierung von Bildverarbeitungsalgorithmen mit VHDL; Diplomarbeit FH-Hamburg, FB E/I;1998 [16] J.L.Smith: Implementing Median Filters in XC4000E FPGA; XCELL 23, Xilinx Corp.; 1996 [17] R.Koppel; Entwurf eines FPGA-basierten Systems zur Echtzeitbilddrehung; Diplomarbeit FH-Hamburg, FB E/I;1998 [18] C. Scherner; Synthetisierbare Komponenten eines Systems zur Echtzeitbilddrehung; Studienarbeit FH-Hamburg, FB E/I;1998 [19] M.Jain; The VHDL forecast; IEEE Spectrum; June 1993 p.36 [20] XUP Workshops; Xilinx Corp.; 1997 [10]

11 1 Einführung Echtzeitdatenverarbeitung 1 beinhaltet die Lösung von Aufgaben unter genauer Einhaltung vorgegebener zeitlicher Randbedingungen [9]. Typisches Beispiel ist die Aufgabe eines Roboterarms, Werkstücke von einem Montageband zu nehmen. Ein korrekter Ablauf ist weder bei verfrühtem noch bei verspätetem Zugriff möglich. Entsprechende Anforderungen gelten für zahlreiche Systeme, die im industriellen Umfeld, in Verkehrsmitteln oder im häuslichen Bereich in irgend einer Weise mit ihrer Umwelt interagieren. In der Regel müssen zeitlich parallel unter Berücksichtigung mehrerer Einflußgrößen mehrere Ausgangsgrößen eingestellt werden (Multitasking). Welche maximalen Zeitabweichungen bzw. Verzögerungen dabei zulässig sind, ohne daß das Systemverhalten fehlerhaft wird, hängt von der jeweiligen konkreten Aufgabenstellung ab (die Zeiten liegen oft im Millisekundenbereich). Für den Aufbau von Echtzeitsystemen werden alle Arten von Computern bis hin zu eingebetteten Systemen ( embedded control ) verwendet. Die notwendigen Betriebsprogramme können entweder alleinstehend laufen und müssen dann die gesamte Zeitsteuerung beinhalten oder können als Anwenderprogramme unter einem Echtzeitbetriebssystem dessen Einrichtungen zur Einhaltung von Zeitvorgaben nutzen. 2 Motivation Bei mehreren in Industriebetrieben durchgeführten Diplomarbeiten hat der Autor die Erfahrung gemacht, daß die Lösung von Echtzeitproblemen durch alleinstehende Assembler- oder C-Programme unverhältnismäßig lange Entwicklungszeiten bis zur Einhaltung des geforderten Zeitverhaltens zur Folge hatten und die notwendigen komplizierten Programmstrukturen nur schwer wartbar waren. 1 'Echtzeit' ist die übliche Übersetzung des englischen Wortes 'Realtime'. Echtzeitdatenverarbeitung JOCHEN SCHNEIDER Fachhochschule Hamburg, Fachbereich Elektrotechnik und Informatik Z.B. war es für die Realisierung einer mikrocontrollergesteuerten programmierbaren SPS- Fernsteuerung erforderlich, u.a. drei gleichzeitig aktive Schnittstellen zu bedienen [8]. Das Problem wurde durch Verschachteln von Instruktionsblöcken der drei Treiberprogramme gelöst (Funktionsprinzip siehe Bild 1). Bei der Programmentwicklung für den Ablauf unter einem Echtzeitbetriebssystem ist die Strukturierung erheblich einfacher, es entstehen betriebssicherere Systeme und Modifikation und Wartung sind mit weniger Problemen verbunden. Welche grundlegenden Eigenschaften von Echtzeitbetriebssystemen diese Vereinfachungen bewirken, soll der vorliegende Beitrag aufzeigen. 3 Eigenschaften von Echtzeitbetriebssystemen Dem Entwickler bietet sich die Auswahl unter mehr als 80 unterschiedlichen Echtzeitbetriebssystemen [1]. Viele sind nur für eine bestimmte Prozessorfamilie geeignet, andere für zahlreiche unterschiedliche Prozessortypen verfügbar. Es gibt keinen häufig eingesetzten Prof. Dr. JOCHEN SCHNEIDER FH Hamburg Fachbereich E/I Berliner Tor Hamburg TEL.: FAX: schneider@ etech.fh-hamburg.de Bild 1: Multitasking eines alleinstehenden Bedienprogramms für drei Schnittstellen durch Verschachteln von Instruktionsblöcken dreier separater Treiberprogramme... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 [11]

12 ... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 Bild 2: Beispiel zur Rechenzeitzuteilung. Die Prozesse A bis F befinden sich im Zustand bereit. Wegen der unterschiedlichen Prioritäten werden aber nur die Prozesse A bis C wechselweise aktiviert. Priorität Mikroprozessor bzw. Mikrocontroller, für den kein Echtzeitbetriebssystem verfügbar ist. Die Kommandosprachen sind überwiegend von UNIX abgeleitet. Mit unterschiedlichsten grafischen Oberflächen lassen sich Benutzerschnittstellen für Anwendungen vom eingebetteten System mit kleiner LCD-Anzeige bis zum Rechner mit Großbildschirm realisieren. Die Programmierschnittstellen genügen vielfach der amerikanischen Norm POSIX b. (Eine gute Einführung findet man in [4].) Die Stückpreise von Echtzeitbetriebssystemen liegen zwischen kostenlos bis über DM Gemeinsame elementare Eigenschaften sind Multitasking, Einrichtungen zur Steuerung des Zeitverhaltens, Methoden zur Ressourcenzuteilung und schnelle Kommunikationsmechanismen. 3.1 Threads, Prozesse Ein Prozessor stellt i.a. nur einen Controllerkern zur Verfügung, so daß die parallelen Prozesse aus Sicht des Prozessors zeitseriell ablaufen müssen (quasiparallele Abarbeitung der Aufgaben). Die Forderung läßt sich auf zwei verschiedene Weisen realisieren. Zum einen durch nebenläufige Unterprogramme (Threads), die zeitlich abwechselnd in einem gemeinsamen Speicherbereich ausgeführt werden und zum anderen durch die Einrichtung einer kompletten virtuellen Maschine für jeden parallel ablaufenden Programmteil (Prozeß). 2 'POSIX' ist die Kurzbezeichnung für 'Portable Operating System Interface'. Warteschlange der Prozesse im Zustand 'bereit' aktiv Prozeß A Prozeß D Prozeß E Prozeß B Prozeß F Prozeß C Prozeß G wartend Prozeß Z In beiden Fällen erledigt der Scheduler, ein zentraler Teil des Betriebssystems, die Prozessorzuteilung. Wenn der verwendete Prozessor über eine Speicherverwaltungseinheit verfügt, wird in der Regel vorzugsweise das Prozeßkonzept angewandt, da sich Programmfehler bei kaum unterschiedlichem Zeitbedarf für die Kontextumschaltung nicht auf die parallel ablaufenden Programmteile auswirken können. Zudem hat eine Strukturierung in Prozesse den Vorteil, daß bei Performanceproblemen unter der Voraussetzung einer entsprechenden Unterstützung des Betriebssystems ohne prinzipielle Programmänderungen leicht auf ein vernetztes Multiprozessorsystem übergegangen werden kann. Z.B. kann man in einem Meßdatenerfassungssystem einen rechenintensiven Auswerteprozeß auf einen anderen Prozessor auslagern. Die Generierung und das Beenden von Prozessen ist durch entsprechende Betriebssystemaufrufe während der Laufzeit eines Programms möglich. Bei Vorhandensein von genügend Speicherplatz und ausreichenden Systemressourcen können in einem Echtzeitsystem durchaus mehrere hundert Prozesse und/ oder Threads parallel ablaufen. Einige Echtzeitbetriebssysteme sind auch intern in Prozesse strukturiert, so daß insbesondere Treiber für Peripheriegeräte ohne Systemneustart dynamisch hinzugefügt oder entfernt werden können. Die jeweils rechtzeitige Prozessorzuteilung an die einzelnen Prozesse ist nicht immer einfach lösbar. Ein Echtzeitbetriebssystem ordnet dazu jedem Prozeß einen Zustand und eine individuell einstellbare Priorität zu. Die wichtigsten Zustände sind aktiv, wartend und bereit. Der Zustand aktiv charakterisiert einen Prozeß, der gerade den Prozessor beansprucht. Ein Prozeß, der auf Daten von einem Peripheriegerät wartet oder erst zu einem späteren Zeitpunkt aktiviert werden soll, ist im Zustand wartend und ein Prozeß, der bei Verfügbarkeit der notwendigen Ressourcen weiterlaufen kann, befindet sich im Zustand bereit. 3.2 Zeitsteuerung Der Scheduler versetzt jeweils den höchstpriorisierten Prozeß vom Zustand bereit in den Zustand aktiv. Die aktivierte virtuelle Maschine belegt den Prozessorkern dann für die Dauer einer Zeitscheibe (z.b. 50 ms). Wenn zwischenzeitlich ein noch höher priorisierter Prozeß in den Zustand bereit wechselt, löst dieser eine Umschaltung durch den Scheduler aus und belegt seinerseits den Prozessor (siehe Bild 2). Prinzipbedingt könnte ein höchstpriorisierter Prozeß demnach beliebig lange im Zustand aktiv verbleiben und damit alle anderen Echtzeitaktionen verhindern. Hohe Prioritäten dürfen deshalb ausschließlich an kurze zeitkritische Aufgaben wie die Übernahme von Peripheriedaten vergeben werden, und längere Berechnungen müssen mit möglichst niedriger Priorität ausgeführt werden. [12]

13 Falls mehrere Prozesse mit der gleichen höchsten Priorität den Zustand bereit einnehmen, kann der Scheduler unterschiedlich (i.a. einstellbar) reagieren. Z.B. können die einzelnen Prozesse abwechselnd nacheinander für jeweils eine Zeitscheibe aktiviert werden oder bis zu einem selbständigen Wechsel in den Zustand wartend durchlaufen. Für das zeitgesteuerte Starten von Threads oder Prozessen stehen in Echtzeitbetriebssystemen Timer zur Verfügung. Das sind spezialisierte Prozesse, die zu absolut oder relativ vorwählbaren Zeiten vom Scheduler aktiviert werden, um z.b. den Zustand eines zu steuernden anderen Prozesses von wartend auf bereit zu ändern. Die erreichbaren zeitlichen Auflösungen und Genauigkeiten hängen i.w. von den Möglichkeiten der verwendeten Hardware ab und liegen typischerweise im Mikro- bis Millisekundenbereich. Zur schnellen Reaktion auf externe Ereignisse unterstützen alle Echtzeitbetriebssysteme Hardwareinterrupts. Diese sind immer höher priorisiert als Threads und Prozesse; der Scheduler hat auf den Ablauf eines Interrupthandlers keinen Einfluß (siehe Bild 3). Auch die Priorisierung unterschiedlicher Interrupts zueinander ist (teilweise programmierbar) durch die Hardwarefunktionen des verwendeten Prozessors vorgegeben. Genau vorhersagbar ist das Zeitverhalten nur für den höchstpriorisierten Interrupt (siehe Bild 4). Üblicherweise stellt ein Echtzeitbetriebssystem für alle möglichen Interrupts bereits vorbereitete Handler mit allen Sicherungs- und Restaurierungsoperationen für den unterbrochenen Programmteil zur Verfügung, so daß durch entsprechende Betriebssystemaufrufe lediglich die vorgesehenen Benutzeraktionen eingefügt werden müssen. Um das vom Scheduler festgelegte Zeitverhalten nicht zu stören, müssen alle Interrupthandler möglichst schnell wieder beendet werden. Dazu läßt sich nach evtl. notwendigen Hardwareaktionen ein entsprechend vorbereiteter Prozeß vom Zustand wartend in den Zustand bereit versetzen, um dann schedulergesteuert alle weiteren Datenverarbeitungsschritte durchzuführen. Die vom Auftreten des Interruptsignals bis zur Ausführung des ersten Befehls im Interrupthandler maximal benötigte Zeit (Interruptlatenz) gehört zu den wichtigsten Kennwerten eines Echtzeitbetriebssystems. 3.3 Kommunikationsmechanismen Der zur Ausnutzung der zeitlichen Steuermöglichkeiten notwendige modulare Programmaufbau ist nur möglich, wenn die einzelnen Prozesse auf effiziente Weise Daten austauschen können. Da die einzelnen Module bei Realisierung als virtuelle Maschinen Interrupt tritt auf Interrupthandler startet Interrupthandler ist fertig durch die Speicherverwaltungseinheit streng voneinander abgeschirmt sind, kann eine Übergabe von Daten als Funktionsparameter oder als globale Variablen nicht funktionieren. Statt dessen muß das Betriebssystem für den Transport der Daten von Prozeß zu Prozeß sorgen. Viele Betriebssysteme bieten dafür mehrere Realisierungsmöglichkeiten: Die wichtigste Übertragungsmethode ist das Message Passing. Dazu muß der sendende Prozeß die Daten unter Angabe der gewünschten Übertragungspriorität an das Betriebssystem übergeben. Die Daten werden dann in einer nach Prioritäten und Ankunftszeiten geordneten Warteschlange aufbewahrt, bis sie vom Zielprozeß abgerufen werden. Aufgrund des Multitaskings kann es vorkommen, daß das Abrufen einer Nachricht zeitlich vor dem Absenden erfolgt. In diesem Fall wird der Empfangsprozeß vom Scheduler in den ressourcenschonenden Zustand wartend versetzt, bis die Nachricht eintrifft. Unter Ausnutzung dieser Funktionsweise ist auch eine zeitliche Synchronisation der Aktivitäten zweier oder mehrerer Prozesse möglich. Die beim Message Passing erreichbaren Übertragungsgeschwindigkeiten sind von den Möglichkeiten der Hardware und der Art der Implementierung abhängig (zwischen einigen KB/s bis zu mehreren MB/s). Häufig wird auch die Möglichkeit der Festlegung gemeinsamer Speicherbereiche ( shared memory ) angeboten. Ob diese durch entsprechende Programmierung der Speicherverwaltungseinheit oder durch transparente Anwendung des Message Passing realisiert wer Prozeß A Int X T T T il int iret IRQ X IntY IRQ Y Prozeß B unterbrochener Prozeß läuft weiter Prozeß C Zeit Bild 3: Zeitverhalten beim Auftreten eines Interrupts. T il ist die Interruptlatenzzeit, T int die Ausführungszeit des Handlers und T iret die Rückkehrzeit Bild 4: Beispiel zum Zeitverhalten während der Unterbrechung eines Interrupts IRQ X (mit Handler Int X ) durch einen höher priorisierten Interrupt IRQ Y (mit Handler Int Y ). Int Y versetzt Prozeß B in den Zustand bereit, Int X Prozeß C. Zeit... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 [13]

14 ... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 Tabelle 1: Kennwerte des Echtzeitbetriebssystems QNX bei Verwendung auf einem Pentium/90 PC den, ist je nach Betriebssystem unterschiedlich. Ein so durchgeführter Datenaustausch erscheint zunächst besonders attraktiv, da besondere Betriebssystemaufrufe nicht erforderlich sind. Allerdings muß man bedenken, daß die einzelnen Prozesse ja zeitlich parallel abgearbeitet werden und deshalb geeignete Synchronisationsmaßnahmen getroffen werden müssen. Schließlich muß sowohl der Empfangsprozeß wissen, wann Daten abholbereit zur Verfügung stehen als auch der Sendeprozeß, wann neue Daten geliefert werden können. 3.4 Ressourcenzuteilung Für die Zugriffssteuerung auf gemeinsam benutzte Speicherbereiche und andere Ressourcen können Semaphore eingesetzt werden. Wenn ein Prozeß auf eine so verwaltete Ressource zugreifen möchte, muß er mittels eines Betriebssystemaufrufs zunächst eine Anforderung an das Semaphor senden. Falls die Ressource gerade anderweitig benutzt wird, geht der Prozeß in den Zustand wartend, bis sich unter den wartenden Prozessen keiner mit höherer Priorität mehr befindet. Es erfolgt dann ein Wechsel in den Zustand bereit und nach Aktivierung durch den Scheduler kann der Zugriff erfolgen. Danach muß die Ressource durch einen weiteren Betriebssystemaufruf an das Semaphor wieder freigegeben werden. Bei häufig verwendeten Peripheriegeräten kann es sich lohnen, die Ressourcenverwaltung auf einen gesonderten Serverprozeß zu verlagern, der z.b. via Message Passing Anfragen entgegennimmt und alle Datenübertragungen realisiert. Durch Puffern mehrfach benötigter Datenbereiche durch den Serverprozeß läßt sich die Arbeitsgeschwindigkeit eines Systems ggf. erheblich steigern. Für Standardperipheriegeräte und gebräuchliche Schnittstellen liefern die Hersteller von Echtzeitbetriebssystemen i.a. entsprechend optimierte Treiberprogramme bereits mit. Der für die Anpassung spezieller Peripherie zu treibende Aufwand ist je nach Systemarchitektur sehr unterschiedlich. Er muß bei der Bewertung der Eignung eines Betriebssystems sorgfältig geprüft werden. Kontextumschaltung: 28 µs Interruptlatenz: 5 µs Timerauflösung: Übertragungsrate bei Message Passing: bis 100 µs (einstellbar, ohne Hardwarezusatz) 35 MB/s (bei 4096 Byte großen Datenpaketen) 4 Anwendungen Neben der Zusammenarbeit mit Industriefirmen wurde inzwischen im Lehrgebiet Digitale Informationstechnik die Vermittlung von Echtzeitdatenverarbeitung in den Studienplan der Studenten aufgenommen. Aufgrund von guten Erfahrungen des Autors während seiner industriellen Entwicklertätigkeit mit dem PC-Echtzeitbetriebssystem QNX (s. Tabelle 1) wurde dieses für das Labor für Digitale Schaltungstechnik in mehreren Exemplaren angeschafft und seither u.a. für diverse Diplom- und Studienarbeiten erfolgreich eingesetzt. QNX [5] ist modular aufgebaut und beinhaltet einen nur wenige Kilobyte großen Betriebssystemkern. Der Einsatz ist auf allen Varianten von PC-Hardware sowie auf Power-PCund MIPS-Prozessoren möglich. Schnittstellenund Gerätetreiber laufen als Benutzerprozesse und können während des Betriebs jederzeit hinzugefügt oder entfernt werden. Drei verschiedene grafische Benutzeroberflächen erlauben die Ansteuerung unterschiedlichster Hardwarekonfigurationen. Durch ein transparentes Vernetzungskonzept werden auch Multiprozessorsysteme problemlos unterstützt. Eine Einführung in die Echtzeitdatenverarbeitung mit QNX findet man in [6]. Tabelle 1 zeigt einige mit einem Pentium/90 ermittelte Betriebssystemkennwerte. Umfangreichere konkrete Anwendungen von QNX wurden bisher vorwiegend im Rahmen des Entwicklungsprojekts Hard- und Software für Koordinatenmeßgeräte erstellt. Eine grundlegende Beschreibung findet man in [7], Erweiterungen des Konzepts wurden u.a. in [3] und [2] entwickelt. Für den Einsatz in einem eingebetteten System wird QNX z.zt. im Rahmen einer noch nicht ganz abgeschlossenen Diplomarbeit in das Flash-ROM eines vernetzten PC104 Mikrocomputers implementiert. Zur komfortablen Benutzerkommunikation soll die echtzeitgeeignete grafische Oberfläche Photon angepaßt werden, so daß nach Fertigstellung ein eigenständiges leistungsfähiges Echtzeitsystem für Steuerung und Meßdatenerfassung auf kleinstem Raum zur Verfügung steht. 5 Fazit Echtzeitbetriebssysteme stellen die für die genaue Einhaltung eines vorgegebenen Zeitverhaltens notwendigen Hilfsmittel zur Verfügung. Durch ihre Anwendung läßt sich die Entwicklung von Echtzeitsystemen vereinfachen und beschleunigen. Der erzwungene modulare Programmaufbau führt zu erhöhter Betriebssicherheit und erleichtert die spätere Systemwartung. Die zusätzlichen Anschaffungskosten [14]

15 für das Betriebssystem fallen auch bei kleinen Projekten gegenüber den Vorteilen kaum ins Gewicht. Entsprechende Kenntnisse und Erfahrungen der Systementwickler zu fördern lohnt sich. Literatur [1] Auswahlliste für Echtzeitbetriebssysteme: [2] Bläske O.: Entwicklung eines Interpreters für spezielle SPS-Syntax zur Steuerung von Koordinatenmeßgeräten unter Verwendung der UNIX-Werkzeuge lex und yacc. Diplomarbeit, FH Hamburg, FB E/I, [3] Bruse I., Krüger J.: Entwicklung eines Interpreters für spezielle SPS-Syntax zur Steuerung von Koordinatenmeßgeräten. Diplomarbeit, FH Hamburg, FB E/I, [4] Gallmeister B.O.: POSIX.4-Programming for the Real World. O Reilly & Associates Inc., [5] QNX Software Systems Ltd.: QNX 4 Operating System System Architecture. Kanata, Auch: / literature/qnx_sysarch/. [6] Schneider J.: Echtzeit-Datenverarbeitung. Studienskript, FH Hamburg FB E/I, [7] Schubert F.: Parallele Prozessoren steuern Koordinatenmeßmaschine. Technische Berichte Nr. 27, pp , FH Hamburg, FB E/I, [8] Schulenburg J.: Entwicklung eines programmierbaren mikrocontrollergesteuerten Moduls zur Fernsteuerung einer SI- MATIC S5 über das EURO-ISDN. Diplomarbeit, FH Hamburg FB E/I, [9] Uhres L.: comp.realtime Frequently Asked Questions. /faqs/ realtime-computing/faq/.... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 [15]

16 ... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 ZUSAMMENFASSUNG Diese Arbeit stellt ein Ergebnis aus dem vom WS95/96 bis zum SS97 von der Fachhochschule geförderten Forschungsprojekt Fuzzylogik und ihre Anwendung dar. An einem Beispiel aus dem Bereich der Mustererkennung wird gezeigt, daß beim Einsatz der Fuzzylogik schon im Ansatz andere als die herkömmlichen Denkweisen erforderlich sind. Schon bei der modellhaften Beschreibung einer Anwendung sollte jede unnötige scharfe Unterscheidung vermieden werden, damit die Vorteile der Fuzzylogik auch zur Geltung kommen. Diese Regel gilt schon für die Wahl der linguistischen Variablen, soweit der Anwender diese selbst festlegen kann. Handgeschriebene Zeichen können durch scharf voneinander zu unterscheidende Linientypen wie Bogen, Kreis und Gerade, sie können aber auch fuzzygerecht durch einen einzigen Linientyp mit dem unscharfen Parameter Krümmung beschrieben werden. Der unscharfe Ansatz vereinfacht die Aufstellung der Fuzzyregeln und verbessert die Erkennungsrate. Mustererkennung mit Fuzzylogik 1 Grundlagen und Vorarbeiten Dieser Beitrag schließt an den Artikel Fuzzylogik und ihre Anwendung an, der im Juni 1997 vom Autor in [1] vorgelegt wurde. Dort sind die Grundlagen der Fuzzylogik soweit erläutert, daß damit auch der mit der Fuzzylogik nicht vertraute Leser dem vorliegenden Inhalt mühelos folgen kann. Eine ausführlichere Einführung in die Fuzzylogik ist in [2] oder [3] nachzulesen. In [4] ist neben einer Vielzahl von Beiträgen unterschiedlicher Autoren zur Mustererkennung mit Fuzzylogik auch die berühmte Erstveröffentlichung zum Thema Fuzzy von Lotfi Zadeh abgedruckt. Der Leser, der die Bedeutung der Begriffe Fuzzymenge, linguistische Variable, linguistischer Term, Zugehörigkeitsgrad und Zugehörigkeitsfunktion einzuordnen weiß, die elementaren logischen Verknüpfungen von Fuzzymengen wie UND und ODER sowie die Invertierung von Fuzzymengen kennt und über Grundkenntnisse vom Aufbau eines Fuzzysystems mit Fuzzifizierung, Fuzzyinferenz, Regelbasis und Defuzzifizierung verfügt, ist für das Verständnis des folgenden Inhalts hinreichend gerüstet. Tabelle 1 enthält eine komprimierte Erläuterung dieser Grundbegriffe. 2 Mustererkennung als beispielhafte Anwendung Die Mustererkennung, speziell die Erkennung handgeschriebener Zeichen, wurde hier als ein Anwendungsbeispiel der Fuzzylogik gewählt. Es geht in diesem Fall also nicht so sehr um das fertige Produkt Zeichenleser sondern vielmehr um allgemeingültige Erkenntnisse und Erfahrungen, die sich dann auch auf andere Anwendungsbereiche übertragen las- LUDOLF STEWEN Fachhochschule Hamburg, Fachbereich Elektrotechnik und Informatik sen. Um den Kerngedanken dieses Beitrags, die fuzzygerechte Modellierung einer Anwendung zu verdeutlichen, wird der bereits in [1] vorgestellte Ansatz zur Mustererkennung in Abschnitt 3 noch einmal kurz skizziert, um dann in Abschnitt 4 einem neuen, fuzzygerechteren Ansatz gegenübergestellt werden zu können. Der Zeichensatz für die zu erkennenden Zeichen wurde zunächst auf die handgeschriebenen Dezimalziffern 0 bis 9 begrenzt, kann aber grundsätzlich auch um andere Zeichen, wie z.b. die Buchstaben des Alphabets oder einfache grafische Symbole erweitert werden, soweit die nachfolgend beschriebenen Modellbildungsverfahren dieses zulassen. Entscheidend, wie bei jeder Mustererkennung, sind die Merkmale, die zur Beschreibung der Zeichen herangezogen werden. Dem eigentlichen Erkennungsprozeß wird ein Vorverarbeitungsprozeß [1, 5] vorangestellt, in dem die Zeichen einer Zeichenfolge vereinzelt, in ihrer Größe normiert, auf ihren wesentlichen Bestandteil reduziert und bezüglich erkennbarer Fehler korrigiert werden. Dieser Prozeß hat zunächst noch nichts mit der Fuzzylogik zu tun. Zur Vereinzelung wird zu jedem eingelesenen Zeichen ein Fenster bestimmt, in das es gerade nach Höhe und Breite hineinpaßt. Als Normgröße eines Zeichens wird ein Fenster von 60x60 Bildpunkten festgelegt. Auf diese Fenstergröße wird das eingelesene Zeichen abgebildet, um eine Abhängigkeit von der Größe der Darstellung auszuschließen. Nach einer Glättung und anschließenden Ausdünnung des Linienverlaufs (Skelettierung) wird das jeweilige Zeichen nur noch durch glatt verlaufende, einen Punkt breite Linienzüge repräsentiert. Nach einer Korrektur offensichtlicher Fehler wie kurzer Linienunterbrechungen und Einzelpunkte (Fliegenschmutz) steht dann das Bild 1: Vorverarbeitung am Beispiel der Ziffer 6 aus der Ziffernfolge 16 Ziffernfolge 16 -> Vereinzelung -> Normierung -> Glättung -> Skelettierung -> Korrektur [16]

17 vorverarbeitete Zeichen für den eigentlichen Erkennungsprozeß zur Verfügung. Bild 1 zeigt die einzelnen Schritte der Vorverarbeitung am Beispiel der Ziffer 6 aus der Ziffernfolge Scharfe Merkmalsunterscheidung bei verschiedenen Linientypen Als Erkennungsmerkmale werden in einem ersten Ansatz [5] folgende Linientypen scharf unterschieden: die Gerade, der Bogen, der Kreis, die Schlange und die Schnecke. Die Definition dieser Typen ist weitgehend aus Bild 2 ersichtlich. Jedes Zeichen läßt sich durch Festlegen von Merkmalspunkten in Linienelemente der beschriebenen Typen aufspalten. Merkmalspunkte sind Linienendpunkte, Kreuzungen Abzweigungen und (in hier nicht näher erläuterten Sonderfällen) Ecken (s. Bild 3). Jedes Linienelement wird durch die linguistischen Variablen Lage vertikal, Lage horizontal, Richtung und Größe beschrieben. Tabelle 2 führt die zu diesen Variablen definierten linguistischen Terme auf. Eine genaue Definition dieser Terme ist in [5] enthalten. Jede Ziffer wird durch mindestens einen Satz von Fuzzyregeln beschrieben. Dieser Satz enthält alle signifikanten Linienelemente der Ziffer und eine Beschreibung dieser Ele Tabelle 1: Grundbegriffe der Fuzzylogik Bild 2: Linientypen Gerade Bogen Kreis Schlange Schnecke... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 [17]

18 ... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 Bild 3: Merkmalspunkte und Linienelemente Tabelle 2: Linguistische Variablen und linguistische Terme Bild 5: Linienelemente mit unterschiedlicher Krümmung K MPA = Merkmalspunkt am Anfang, MPB = Merkmalspunkt am Ende, SP = Schwerpunkt mente durch den Linientyp und die zugehörigen linguistischen Variablen. Insbesondere für solche Ziffern wie die 1, die 4 oder die 7, die sehr unterschiedlich geschrieben werden, werden mehrere Regelsätze angeben. Eine formale Beschreibung der Ziffer 6 kann z.b. wie folgt aussehen: Ziffer: 6 Linientyp: Kreis Beschreibung: (LAGE_U LAGE_UM) (RICHTUNG_R RICHTUNG_RU) Linientyp: Bogen Beschreibung: (LAGE_O LAGE_OM) (RICHTUNG_O RICHTUNG_RO) Die Bedeutung der oben verwendeten Kurzbezeichnungen ergibt sich aus folgender Erläuterung. Nach der formalen Beschreibung stellt das zu identifizierende Zeichen eine 6 dar, wenn es: 1. einen Linientyp Kreis enthält, dessen Schwerpunkt unten ODER halbunten ( unten-mitte ) liegt UND der nach rechts ODER nach rechts-oben gerichtet ist, wobei die Richtung durch die Verbindungslinie zwischen Kreismerkmalspunkt und Kreisschwerpunkt (s. Bild 3) bestimmt wird, 2. UND wenn es einen Linientyp Bogen enthält, dessen Schwerpunkt oben ODER halboben (oben-mitte) liegt UND der nach oben ODER nach rechts-oben gerichtet ist, wobei die Richtung durch die Verbindungslinie zwischen Bogenmerkmalspunkt und Bogenschwerpunkt bestimmt wird (s. Bild 3). Bild 4: Mögliche Schreibweien der Ziffer 1 4 Unscharfe Merkmalsunterscheidung bei einem Linientyp Die scharfe Unterscheidung zwischen den unterschiedlichen Linientypen Gerade, Bogen, Kreis, Schnecke und Schlange macht erhebliche Probleme. Für jedes Linienelement muß jeweils scharf entschieden werden, um welchen Typ es sich handelt. So geht z.b. ab einer bestimmten geringen Krümmung eine Gerade in einen Bogen und dieser ab einer bestimmten sehr großen Krümmung in einen Kreis über. Der Anwender als Schreiber oder Leser von Zeichen macht diese scharfe Unterscheidung gewöhnlich nicht. Die in Bild 4 nur geringfügig anders geschriebenen gleichen Ziffern (hier die 1) sollen das verdeutlichen. Eine Erkennung dieser vier gleichen Ziffern würde nach dem in Abschnitt 3 beschriebenen Verfahren vier unterschiedliche Musterbeschreibungen (Regelsätze) erfordern. In einer neuen Modellbeschreibung wird daher, ganz im Sinne der Fuzzylogik, die scharfe Unterscheidung zwischen den Linientypen aufgelöst und nur noch der eine Linientyp Linie definiert. Zur fuzzygerechten (unscharfen) Unterscheidung wird die Linie jetzt durch eine zusätzliche linguistische Variable Krümmung beschrieben. Der Wertebereich der Krümmung K wird auf den Bereich von -1 bis +1 so festgelegt, daß z.b. der Wert K = 0 eine Gerade, der Wert K = +0.5 einen Links-Halbbogen, der Wert K = -0.5 einen Rechts-Halbbogen und die Werte K = -1 und K = +1 ein und denselben Kreis kennzeichnen (Bild 5). Das Vorzeichen [18]

19 Bild 7: Zerlegung von Schnecke und Schlange in jeweils zwei Bögen von K spielt beim Grenzfall Kreis keine Rolle. Als linguistische Terme zur Beschreibung der Variablen Krümmung werden verwendet: gerade, linksgebogen, rechtsgebogen und rund. Eine sinnvolle Definition dieser Terme in Bild 6 zeigt, daß es zwischen gerade und gebogen (links oder rechts) breite Überlappungsbereiche gibt, so daß ein Bogen mit schwacher Krümmung auch noch als Gerade behandelt wird. Ein starker Links- oder Rechtsbogen ist zugleich auch als Kreis anzusehen. Die Linientypen Schnecke und Schlange werden jeweils in zwei Linienelemente vom alten Typ Bogen aufgespalten, der dann durch den neuen Linientyp Linie beschrieben wird. Das Aufspalten geschieht durch Einfügen eines zusätzlichen Merkmalspunktes MPZ an der Stelle, an der die Schnecke bzw. die Schlange durch eine Gerade geschnitten wird, die durch die beiden, diesen Linientyp begrenzenden Merkmalspunkte, verläuft (Bild 7). Eine ausführlichere Beschreibung des in diesem Abschnitt erläuterten Verfahrens ist in [6] enthalten. 5 Relative Positionierung der Linienelemente Bei der Zeichenbeschreibung nach Abschnitt 3 wurden noch alle Linienelemente unabhängig voneinander positioniert. Dazu wurde zu jedem Linienelement seine horizontale und seine vertikale Position innerhalb des Zeichenfeldes angegeben. Durch Festlegung eines geeigneten Orientierungspunkts kann mit einer auf diesen Punkt bezogenen Beschreibung auf eine Positionsangabe der Linienelemente völlig verzichtet werden. Als Orientierungspunkt wird jeweils der Merkmalspunkt ge- wählt, von dem die meisten Linienelemente ausgehen. Da bei den Ziffern 0 bis 9 im Normalfall nur von einem einzigen Merkmalspunkt mehr als ein Linienelement ausgeht, wird dieser als Orientierungspunkt festgelegt. In Bild 8 sind zu typischen Schreibweisen der Dezimalziffern jeweils die Orientierungspunkte markiert. Mit der Reduzierung auf einen einzigen Linienelementtyp Linie gemäß Abschnitt 4 und der hier erläuterten relativen Positionierung der Linienelemente bei Wegfall der absoluten Positionsangaben, kann der Regelsatz zur Beschreibung der Zeichen sehr stark komprimiert werden. Die hier benötigten linguistischen Variablen und die zugehörigen linguistischen Terme zeigt Tabelle 3 (vgl. auch Tabelle 2). Eine Regel zur Beschreibung der Ziffer 6 sieht jetzt wie folgt aus: Ziffer: 6 Linientyp: Linie Beschreibung: (KRUEMMUNG_REG KRUEMMUNG_GER) (RICHTUNG_O RICHTUNG_RO) Linientyp: Linie Beschreibung: KRUEMMUNG_RND (RICHTUNG_RU RICHTUNG_R) Die Bedeutung der oben verwendeten Kurzbezeichnungen ergibt sich aus der folgenden Erläuterung. Nach der formalen Beschreibung wird eine 6 erkannt, wenn: 1. ein vom Orientierungspunkt ausgehender Rechtsbogen ODER eine Gerade nach oben ODER nach rechts-oben gerichtet ist, 2. UND wenn ein vom Orientierungspunkt ausgehender Kreis nach rechts-unten ODER nach rechts gerichtet ist. Bild 6: Linguistische Terme der Variablen Krümmung K Bild 8: Orientierungspunkte der Zeichen 0 bis 9 Tabelle 3: Linguistische Variablen und linguistische Terme bei einem Linientyp und relativer Positionierung der Linienelemente... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 [19]

20 ... FH HAMBURG FACHBEREICH ELEKTROTECHNIK UND INFORMATIK TECHNISCHE BERICHTE NR. 31 Prof. Dipl.-Ing. LUDOLF STEWEN FH Hamburg Fachbereich E/I Berliner Tor Hamburg TEL.: FAX: stewen@ etech.fh-hamburg.de 6 Ergebnisse und Ausblick Legt man als Qualitätsmerkmal für die beschriebenen Verfahren die Quote fest, mit der eine Probe von handgeschriebene Zeichen richtig erkannt wird, so ergeben sich mit 97% sowohl für das in Abschnitt 3 beschriebene Verfahren als auch für das Verfahren nach Abschnitt 4 und 5 in etwa die gleichen guten Werte. Als Prüfmaßstab wurden zu jedem Zeichen jeweils von 62 Personen Schriftproben zugrunde gelegt. Wichtig ist aber der wesentlich geringere Aufwand, den das zuletzt beschriebene Verfahren für das Erstellen der Regelbasis mit den Erkennungsregeln benötigt. Das macht sich auch, im Vergleich zum ersten Verfahren, in dem auf weniger als die Hälfte reduzierten Umfang des Regelsatzes bemerkbar. Für das Aufstellen eines Satzes von Erkennungsregeln stehen z.z. noch keine formalen Kriterien zur Verfügung. Insofern ist ein Qualitätsvergleich der beschriebenen Verfahren äußerst schwierig, weil dieser immer die verwendeten Regelsätze mit einschließt, die selbst mit dem Verfahren nichts zu tun haben. Trotzdem kann man aus den angeführten Gründen das zuletzt beschriebene Verfahren durchaus als wesentliche Weiterentwicklung des ersten Verfahrens bezeichnen. Es wird angestrebt, in weiteren Arbeiten Verfahren zu entwickeln, über die auch die Regeln automatisch generiert und möglicherweise im Betrieb korrigiert werden. Hierbei könnten Lernprozesse eine Rolle spielen, wie sie von Neuronalen Netzen her bekannt sind und unter dem Stichwort NeuroFuzzy auch in der Fuzzylogik Eingang gefunden haben [7, 8, 9]. Der wichtigste Aspekt dieser Arbeit, insbesondere in Bezug auf allgemeine Erkenntnisse zum Einsatz der Fuzzylogik, liegt in der Einführung der linguistischen Variablen Krümmung. Durch Wegfall der scharfen Unterscheidung von fünf unterschiedlichen Linientypen wird die Beschreibung der Mustererkennungsregeln erheblich vereinfacht. Es ist davon auszugehen, daß damit auch bessere Erkennungsergebnisse möglich werden. Ein Nachweis konnte aber noch nicht erbracht werden, weil die mit unterschiedlichem Aufwand von verschiedenen Personen empirisch generierten Regeln diesen Vergleich nicht zulassen. Ohne die Unterstützung der Fachhochschule und die engagierte Mitwirkung der Studenten in Studien- und Diplomarbeiten wäre diese Arbeit nicht möglich gewesen. Dafür möchte ich mich bei allen Beteiligten, insbesondere bei den Studenten Udo Basse und Kai Würtz [5], Gero Ricklinkat [6] sowie Volkmar Horn und Jürgen Koop [10], die inzwischen ihr Studium an der Fachhochschule erfolgreich abgeschlossen haben, ganz herzlich bedanken Literatur [1] Stewen: Fuzzylogik und ihre Anwendung, Technische Berichte der Fachhochschule Hamburg, Fachbereich Elektrotechnik und Informatik, Nr. 30, Juni 1997; [2] Stewen: Fuzzylogik, Studienskript, Fachhochschule Hamburg, Fachbereich Elektrotechnik und Informatik, 1997; [3] Kahlert, Frank: Fuzzy-Logik und Fuzzy- Control, Vieweg, 1993; [4] Bezdek, Pal: Fuzzy Models for Pattern Recognition, IEEE Press, 1992; [5] Basse, Würtz: Erkennung handgeschriebener Zeichen mit Hilfe der Fuzzy-Logik, Diplomarbeit, Fachhochschule Hamburg, Fachbereich Elektrotechnik und Informatik, 1997; [6] Ricklinkat: Umbau eines OCR-Systems durch Erweiterung des Fuzzyansatzes, Diplomarbeit, Fachhochschule Hamburg, Fachbereich Elektrotechnik und Informatik, 1998; [7] Chen: Fuzzy Logic and Neural Network Handbook, McGraw Hill, 1996; [8] Kartalopoulos: Understanding Neural Networks and Fuzzy Logic, IEEE Press, 1996; [9] Yen, Langari, Zadeh: Industrial Applications of Fuzzy Logic and Intelligent Systems, IEEE Press, 1995; [10] Horn, Koop: Mustererkennung mit Fuzzylogik, Diplomarbeit, Fachhochschule Hamburg, Fachbereich Elektrotechnik und Informatik, [20]

FPGA-Synthese mit VHDL für Bildverarbeitungsanwendungen

FPGA-Synthese mit VHDL für Bildverarbeitungsanwendungen Prof. Dr. JÜRGEN REICHARDT, FH Hamburg, FB E/I, Berliner Tor 3, 20099 Hamburg, reichard@ etech.fh-hamburg.de Bild 1: Anteilige Verwendung verschiedener Hardwarebeschreibungssprachen 1993 und 1997 (Mehrfachnennungen

Mehr

Echtzeitdatenverarbeitung

Echtzeitdatenverarbeitung 1 Einführung Echtzeitdatenverarbeitung 1 beinhaltet die Lösung von Aufgaben unter genauer Einhaltung vorgegebener zeitlicher Randbedingungen [9]. Typisches Beispiel ist die Aufgabe eines Roboterarms, Werkstücke

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./29.05.2009

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./29.05.2009 Übungen zu Architektur Eingebetteter Systeme Blatt 5 28./29.05.2009 Teil 1: Grundlagen 1.1: VHDL Bei der Erstellung Ihres Softcore-Prozessors mit Hilfe des SOPC Builder hatten Sie bereits erste Erfahrungen

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

LPT1 Anschluss mit PCMCIA Karte

LPT1 Anschluss mit PCMCIA Karte 1. Allgemeines LPT1 Anschluss mit PCMCIA Karte verwendete Hardware: Lenze PC Systembusadapter EMF 2173-V003 PCMCIA Karte Firma QUATECH Typ SPP-100 Auf die Installation der PCMCIA Karte wird hier nicht

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005

Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005 Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005 1. Vorwort 1 2. Systemvoraussetzungen 2 3. Programmarten 2 4. Sicherheit der Endnutzer 2 5. Handhabung 3 5.1 allgemeine Programmübersicht 3 5.2

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Die Lernumgebung des Projekts Informationskompetenz

Die Lernumgebung des Projekts Informationskompetenz Beitrag für Bibliothek aktuell Die Lernumgebung des Projekts Informationskompetenz Von Sandra Merten Im Rahmen des Projekts Informationskompetenz wurde ein Musterkurs entwickelt, der den Lehrenden als

Mehr

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage. Integration mit Die Integration der AristaFlow Business Process Management Suite (BPM) mit dem Enterprise Information Management System FILERO (EIMS) bildet die optimale Basis für flexible Optimierung

Mehr

Bauteilattribute als Sachdaten anzeigen

Bauteilattribute als Sachdaten anzeigen Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

10 Erweiterung und Portierung

10 Erweiterung und Portierung 10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle

Mehr

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer Institut für Kommunikationsnetze und Rechnersysteme Grundlagen der Technischen Informatik Paul J. Kühn, Matthias Meyer Übung 2 Sequenzielle Netzwerke Inhaltsübersicht Aufgabe 2.1 Aufgabe 2.2 Prioritäts-Multiplexer

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Fragebogen ISONORM 9241/110-S

Fragebogen ISONORM 9241/110-S Fragebogen ISONORM 9241/110-S Beurteilung von Software auf Grundlage der Internationalen Ergonomie-Norm DIN EN ISO 9241-110 von Prof. Dr. Jochen Prümper www.seikumu.de Fragebogen ISONORM 9241/110-S Seite

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Wie funktioniert ein Mieterhöhungsverlangen?

Wie funktioniert ein Mieterhöhungsverlangen? Wie funktioniert ein Mieterhöhungsverlangen? Grundsätzlich steht einem Vermieter jederzeit die Möglichkeit offen, die gegenwärtig bezahlte Miete gemäß 558 BGB an die ortsübliche Miete durch ein entsprechendes

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN) Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN) Definition Was ist Talk2M? Talk2M ist eine kostenlose Software welche eine Verbindung zu Ihren Anlagen

Mehr

Veranstaltungsbelegung in QIS/LSF -- Leitfaden für BW-Studierende --https://qis-serni-frankfurt.de

Veranstaltungsbelegung in QIS/LSF -- Leitfaden für BW-Studierende --https://qis-serni-frankfurt.de 1 Veranstaltungsbelegung in QIS/LSF -- Leitfaden für BW-Studierende --https://qis-serni-frankfurt.de Innerhalb des Studienanteils Bildungswissenschaften sind alle Proseminare und Seminare belegpflichtig;

Mehr

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten Outsourcing Advisor Bewerten Sie Ihre Unternehmensanwendungen auf Global Sourcing Eignung, Wirtschaftlichkeit und wählen Sie den idealen Dienstleister aus. OUTSOURCING ADVISOR Der Outsourcing Advisor ist

Mehr

Arbeiten Sie gerne für die Ablage?

Arbeiten Sie gerne für die Ablage? University of Applied Sciences Arbeiten Sie gerne für die Ablage? Ihr Studium kommt nun in die Schlussphase, denn Sie haben sich gerade zur Abschlussarbeit angemeldet. Auch wenn das Ende Ihres Studiums

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden Moderne Apps für Smartphones und Tablets lassen sich ohne großen Aufwand innerhalb von wenigen Stunden designen Kunde Branche Zur Firma Produkte Übersicht LFoundry S.r.l Herrngasse 379-381 84028 Landshut

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

Beschreibung des MAP-Tools

Beschreibung des MAP-Tools 1. Funktionen des MAP-Tool 2. Aufbau des MAP-Tools 3. Arbeiten mit dem MAP-Tool Beschreibung MAP-Tool.doc Erstellt von Thomas Paral 1 Funktionen des MAP-Tool Die Hauptfunktion des MAP-Tools besteht darin,

Mehr

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt AMPEL-Steuerung(en) Die Beschreibung und Programmierung der Ampel (vor allem Ampel_5) können sehr kompliziert

Mehr

Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt?

Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt? DGSV-Kongress 2009 Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt? Sybille Andrée Betriebswirtin für und Sozialmanagement (FH-SRH) Prokuristin HSD Händschke Software

Mehr

Spamfilter einrichten

Spamfilter einrichten Spamfilter einrichten In Apple Mail unter Mac OS X 10.5 (Leopard) www.verbraucher-sicher-online.de August 2009 (ki) In dieser Anleitung zeigen wir Ihnen Schritt für Schritt, wie Sie den eingebauten Filter

Mehr

3.14 Die Programmieroberfläche Programmierung

3.14 Die Programmieroberfläche Programmierung 121 3.14 Die Programmieroberfläche Programmierung Besonderheiten Die Oberflächen der einzelnen Quellen (3S, KW-Software, Siemens-TIA-Portal, logi.cad 3, PAS4000) sind in sich unterschiedlich. Aber auch

Mehr

Zulassung nach MID (Measurement Instruments Directive)

Zulassung nach MID (Measurement Instruments Directive) Anwender - I n f o MID-Zulassung H 00.01 / 12.08 Zulassung nach MID (Measurement Instruments Directive) Inhaltsverzeichnis 1. Hinweis 2. Gesetzesgrundlage 3. Inhalte 4. Zählerkennzeichnung/Zulassungszeichen

Mehr

Mediumwechsel - VR-NetWorld Software

Mediumwechsel - VR-NetWorld Software Mediumwechsel - VR-NetWorld Software Die personalisierte VR-NetWorld-Card wird mit einem festen Laufzeitende ausgeliefert. Am Ende der Laufzeit müssen Sie die bestehende VR-NetWorld-Card gegen eine neue

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Eigenen Farbverlauf erstellen

Eigenen Farbverlauf erstellen Diese Serie ist an totale Neulinge gerichtet. Neu bei PhotoLine, evtl. sogar komplett neu, was Bildbearbeitung betrifft. So versuche ich, hier alles einfach zu halten. Ich habe sogar PhotoLine ein zweites

Mehr

Windows 8 Lizenzierung in Szenarien

Windows 8 Lizenzierung in Szenarien Windows 8 Lizenzierung in Szenarien Windows Desktop-Betriebssysteme kommen in unterschiedlichen Szenarien im Unternehmen zum Einsatz. Die Mitarbeiter arbeiten an Unternehmensgeräten oder bringen eigene

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems Name: Bruno Handler Funktion: Marketing/Vertrieb Organisation: AXAVIA Software GmbH Liebe Leserinnen und liebe Leser,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

.. für Ihre Business-Lösung

.. für Ihre Business-Lösung .. für Ihre Business-Lösung Ist Ihre Informatik fit für die Zukunft? Flexibilität Das wirtschaftliche Umfeld ist stärker den je im Umbruch (z.b. Stichwort: Globalisierung). Daraus resultierenden Anforderungen,

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Java Script für die Nutzung unseres Online-Bestellsystems

Java Script für die Nutzung unseres Online-Bestellsystems Es erreichen uns immer wieder Anfragen bzgl. Java Script in Bezug auf unser Online-Bestell-System und unser Homepage. Mit dieser Anleitung möchten wir Ihnen einige Informationen, und Erklärungen geben,

Mehr

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma:

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma: Anwendungsbeispiele Neuerungen in den E-Mails Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Neuerungen in den E- Mails 2 Was gibt es neues? 3 E- Mail Designs 4 Bilder in E- Mails einfügen 1 Neuerungen

Mehr

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation Übungsaufgaben Anmerkung Allen Beispielen soll noch hinzugefügt sein, dass wertvolle Hinweise, also die Tipps und Tricks die der schnellen maschinellen Multiplikation zu Grunde liegen, neben dem toff zur

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de Agiles Design Dr.-Ing. Uwe Doetzkies Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de startupcamp berlin 15.3.2013 Regionalgruppe Berlin/Brandenburg Arbeitskreis Freiberufler

Mehr

an die Hochschule und ihre Studierenden. Er gibt auch inhaltlich eine Linie vor: Um ihr gerecht zu werden, muss sie innovative Studiengänge anbieten.

an die Hochschule und ihre Studierenden. Er gibt auch inhaltlich eine Linie vor: Um ihr gerecht zu werden, muss sie innovative Studiengänge anbieten. Sperrfrist: 23. November 2015, 13.00 Uhr Es gilt das gesprochene Wort. Grußwort des Staatssekretärs im Bayerischen Staatsministerium für Bildung und Kultus, Wissenschaft und Kunst, Bernd Sibler, bei der

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Eine Logikschaltung zur Addition zweier Zahlen

Eine Logikschaltung zur Addition zweier Zahlen Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Die Verbindung für Ihre Produkte zum Internet mit dem LAING CLOUD INTERFACE. Bedienen Überwachen Konfigurieren über das Internet

Die Verbindung für Ihre Produkte zum Internet mit dem LAING CLOUD INTERFACE. Bedienen Überwachen Konfigurieren über das Internet Die Verbindung für Ihre Produkte zum Internet mit dem LAING CLOUD INTERFACE. Bedienen Überwachen Konfigurieren über das Internet Laing Cloud Interface Verbindungen zum Internet gibt es viele, aber vermutlich

Mehr

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten! Mathefritz 5 Terme und Gleichungen Meine Mathe-Seite im Internet kostenlose Matheaufgaben, Skripte, Mathebücher Lernspiele, Lerntipps, Quiz und noch viel mehr http:// www.mathefritz.de Seite 1 Copyright

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

Erklärung zum Internet-Bestellschein

Erklärung zum Internet-Bestellschein Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

Mehr

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets Verwalten und erstellen Sie Ihre eigenen Tickets NetStream GmbH 2014 Was ist NetStream Helpdesk-Online? NetStream Helpdesk-Online ist ein professionelles Support-Tool, mit dem Sie alle Ihre Support-Anfragen

Mehr

E-Mail Adressen der BA Leipzig

E-Mail Adressen der BA Leipzig E-Mail Adressen der BA Jeder Student der BA bekommt mit Beginn des Studiums eine E-Mail Adresse zugeteilt. Diese wird zur internen Kommunikation im Kurs, von der Akademie und deren Dozenten zur Verteilung

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

Microsoft Update Windows Update

Microsoft Update Windows Update Microsoft bietet mehrere Möglichkeit, Updates durchzuführen, dies reicht von vollkommen automatisch bis zu gar nicht. Auf Rechnern unserer Kunden stellen wir seit September 2006 grundsätzlich die Option

Mehr

Softwareentwicklung Schrittweise Verfeinerung, Programmieren üben: Tic-Tac-Toe in Raten

Softwareentwicklung Schrittweise Verfeinerung, Programmieren üben: Tic-Tac-Toe in Raten Mag. iur. Dr. techn. Michael Sonntag Softwareentwicklung Schrittweise Verfeinerung, Programmieren üben: Tic-Tac-Toe in Raten E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm

Mehr

GEVITAS Farben-Reaktionstest

GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest Inhalt 1. Allgemeines... 1 2. Funktionsweise der Tests... 2 3. Die Ruhetaste und die Auslösetaste... 2 4. Starten der App Hauptmenü... 3 5. Auswahl

Mehr

Online Newsletter III

Online Newsletter III Online Newsletter III Hallo zusammen! Aus aktuellem Anlass wurde ein neuer Newsletter fällig. Die wichtigste Neuerung betrifft unseren Webshop mit dem Namen ehbshop! Am Montag 17.10.11 wurde die Testphase

Mehr

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000 Folgende Anleitung beschreibt, wie Sie ein bestehendes Postfach in Outlook Express, bzw. Microsoft Outlook bis Version 2000 einrichten können. 1. Öffnen Sie im Menü die Punkte Extras und anschließend Konten

Mehr

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration Arbeitsblatt und Demonstration A. Rost 1. Steuerung eines VI über LAN Eine Möglichkeit zur Steuerung virtueller Instrumente

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Technical Note 0302 ewon

Technical Note 0302 ewon Technical Note 0302 ewon Variablen (Tags) aus einer Rockwell Automation Steuerung auslesen - 1 - Inhaltsverzeichnis 1 Allgemeines... 3 1.1 Information... 3 1.2 Hinweis... 3 2 Allen Bradley MicroLogix...

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

Installationsanleitung Maschinenkonfiguration und PP s. Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18.

Installationsanleitung Maschinenkonfiguration und PP s. Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18. Installationsanleitung Maschinenkonfiguration und PP s Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18.Februar 2015 Inhaltsverzeichnis 1 Einbinden der Postprozessoren... 3 1.1

Mehr

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Vorbereitung zur Prüfung Echtzeitbetriebssysteme Vorbereitung zur Prüfung Echtzeitbetriebssysteme Zugelassene Hilfsmittel: Taschenrechner Bitte verwenden Sie keinen roten Farbstift! 1. Echtzeitbetriebssysteme - Allgemein (15 Punkte) 1.1. Warum setzen

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Local Control Network Technische Dokumentation

Local Control Network Technische Dokumentation Steuerung von Hifi-Anlagen mit der LCN-GVS Häufig wird der Wunsch geäußert, eine Hi-Fi-Anlage in die Steuerung der LCN-GVS einzubinden. Auch das ist realisierbar. Für die hier gezeigte Lösung müssen wenige

Mehr

Anleitung öffentlicher Zugang einrichten

Anleitung öffentlicher Zugang einrichten TRK-DashBoard Anleitung öffentlicher Zugang einrichten Manual für Kunden VERSION DATUM AUTOR DATEINAME 1.0 8. SEPTEMBER 2011 HRR ANLEITUNG_OEFFENTLICHER_ZUGANG_DASHBOARD_V10 INHALT 1 ALLGEMEINE INFORMATIONEN...

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Satzhilfen Publisher Seite Einrichten

Satzhilfen Publisher Seite Einrichten Satzhilfen Publisher Seite Einrichten Es gibt verschiedene Möglichkeiten die Seite einzurichten, wir fangen mit der normalen Version an, Seite einrichten auf Format A5 Wählen Sie zunächst Datei Seite einrichten,

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

Erfolgreiche Webseiten: Zur Notwendigkeit die eigene(n) Zielgruppe(n) zu kennen und zu verstehen!

Erfolgreiche Webseiten: Zur Notwendigkeit die eigene(n) Zielgruppe(n) zu kennen und zu verstehen! Erfolgreiche Webseiten: Zur Notwendigkeit die eigene(n) Zielgruppe(n) zu kennen und zu verstehen! www.wee24.de. info@wee24.de. 08382 / 6040561 1 Experten sprechen Ihre Sprache. 2 Unternehmenswebseiten

Mehr

Inhalt. Allgemeine Einführung. Argumentationsvermögen. Räumliches Vorstellungsvermögen. Begabungen und Fähigkeiten messen

Inhalt. Allgemeine Einführung. Argumentationsvermögen. Räumliches Vorstellungsvermögen. Begabungen und Fähigkeiten messen Beispielheft Inhalt Allgemeine Einführung Test Eins: Test Zwei: Test Drei: Test Vier: Test Fünf: Argumentationsvermögen Auffassungsvermögen Zahlenvermögen Sprachverständnis Räumliches Vorstellungsvermögen

Mehr

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

ONLINE-AKADEMIE. Diplomierter NLP Anwender für Schule und Unterricht Ziele ONLINE-AKADEMIE Ziele Wenn man von Menschen hört, die etwas Großartiges in ihrem Leben geleistet haben, erfahren wir oft, dass diese ihr Ziel über Jahre verfolgt haben oder diesen Wunsch schon bereits

Mehr

Installationsanleitung Boardmaker

Installationsanleitung Boardmaker Zur Installation des s benötigen Sie zwei CDs: Programm Ergänzungen Beginnen Sie die Installation mit der CD Programm Legen Sie die CD Programm ins Laufwerk und starten Sie das Programm "Setup.exe". install-bm-v6

Mehr