Funktionsweise der internen Multifunktionskarte Lab-PC

Ähnliche Dokumente
Funktionsweise der internen Multifunktionskarte CIO-DAS08Jr/16-AO

Funktionsweise der internen Multifunktionskarte ACL-8316

Funktionsweise der internen Multifunktionskarte PC20TR

Chip veraltet, für neue Anwendungen nicht empfehlenswert!

Analog-Digital-Converter

Verarbeiten von Analogwerten

11. Die PC-Schnittstelle

SMP Übung 8 - Lösungsvorschlag

Beschreibung RS232-Protokoll für POWER-TRAP Fotovoltaik-Wechselrichter (ab Protokollversion ENS1 = 5 und ENS2 = 6)

ITK Micro 2.1 / Columbus Card

Inhalt. I 2 C-433 MHz Funksender Beschreibung der Kommandos Version 1.2

Hardware Logik-Analysatoren

Hinweise Böcker psamp DMS-UART

Datentechnik. Prinzipieller Aufbau eines Schnittstellenbausteins

BCM8-Modbus. Dokumentation. 8-Kanal Countermodul mit S0-Eingängen und Modbus Datenschnittstelle. BCM8-Modbus. Modbus A+ B- A+ B-

Serielle Kommunikation - Kodierung

Meilhaus Electronic Handbuch ME-24 PC/ D. Embedded PC/104 TTL-Digital-I/O Karte mit drei 8 bit Ports

Datenübertragung per Direct Memory Access (DMA)

Versuch 2, LPC11U24 - GPIO

1. TÜ-Zusammenfassung zum Modul Computersysteme

URL (weitere Seiten): -

Balz-DAC. Digital/Analog Konverter. Spannung ±10V. Technische Daten. Analoge Ausgänge - 8 analoge Spannungs-Ausgänge - Spannungsbereich: ±10V

C-DIAS-Analog-Eingangsmodul CAI x Eingänge 0 10 V oder 8 x Eingänge V (ab HW-V 2.0)

Research & Development Ultrasonic Technology / Fingerprint recognition DATA SHEETS OPKUD.

Temperaturmessung mit dem ATmega8

Basiswissen in RESI'S GRAPH

Kurzanleitung LTT 186 bzw. LTT182 Stand-Alone-Betrieb. 1. Anschluss des LTT Rekorders an den Computer

Mikroprozessortechnik Grundlagen 1

Kapitel 18. Externe Komponenten

10 Versuch Nr Anmerkungen zum Versuch Nr. 8

MODBUS RTU Übertragungsprotokoll für Digitale Elektronische Vorschaltgeräte mit RS-485 Schnittstelle

Grundlagen der Technischen Informatik

Geräte- und Anwendungsbeschreibung PROCONTROL. Analog-Eingabegerät 81EA32-- E/R0200. Geräte der Turbinen-Leittechnik. ±10 V, 16fach.

1. Kontinuierliche Datenerfassung Aufgabenstellung Voraussetzungen. Datei: AN046.DOC (5 Seiten)

Analogmodule AS-i IP65, M12

Vorwort 8. Kap. 1: Grundlagen 10

2.5. Mikrocontroller-Komponenten

Programmierbarer Intervall-Timer 8253/8254 (PIT)

C. Lokale I/O-Adressen

Konstruktion. eines. PT100 - Meßverstärker

Wie groß ist die Page Table?

Zeitrelais PL0045 mit optionaler PC-Anbindung

Serielle Datenübertragung mit dem Schnittstellenbaustein 8251

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

16C62 A-D Wandler und Interruptfunktionen Ziel Benutzung des A/D-Wandlers zur Messung eines analoges Eingangssignales.

LCD-Ansteuerung mit MikroForth

Ansteuerung eines LCD-Screens

Adressierung von Speichern und Eingabe- Ausgabegeräten

F4 Fuse- und Lock-Bits

Unified-E Modbus Adapter

Serielles LCD-Display PL0045

Kommunikationsobjekte Allgemein. Verwendung des Applikationsprogramms. EIB Ein-/Ausgänge. Funktionsbeschreibung

Meßkarte mit SSI-Eingängen. SSI-Interface-Karte SSI 1276

Ein ROM soll aus mehreren ROMs (vgl. Abbildung rechts: Enable-Leitung EN, Adressleitungen ADDR, Datenleitungen DATA) aufgebaut werden.

Technische Dokumentation

Technische Alternative - Datenleitung. Datenleitung. Regler fi UVS 232 / BL232. Version 1.3. Datum: Seite: 1 von 12

Klaus Kohl Der A/D-Wandler am Druckerport

Viessmann Vitogate 300. Vitogate 300.

Beschaltung eines Mikrocontrollers. Jordi Blanch Sierra Steuerungsgruppe

ELECTRONIC SYS. 8 Channel 10 Bit A/D Wandler. seriell V USB V

Projektlabor. LCD Ansteuerung

Übungsaufgaben. Stand

Technische Anleitung CAN-SVR-420-BOX 2 Kanal CAN Modul mit analogen Ausgängen

, 2014W Übungsgruppen: Mo., Mi.,

Datenblatt EA16. Messwertanzeiger Baugruppe für den Paneleinbau DB_DE_EA16 ST4-A 03/16 * *

So funktionieren Computer

Kennlinienschreiber. Inbetriebnahme und Abgleich

PPC2 MANAGER Online-Hilfe

Computer Watchdog. Allgemeines. Funktionalität. Seite 1 von 6 Beschreibung D

7V: Komplexe Übertragungsfunktion eines RC-Gliedes mittels Digitalspeicher-Oszilloskop Agilent VEE - Direct I/O (SCPI)

Prozess-rechner. auch im Büro. Automation und Prozessrechentechnik. Prozessrechner. Sommersemester Prozess I/O. zu und von anderen Rechnern

M2510 Analog-Eingabe

Sukzessive Approximation

INSTALLATIONSANLEITUNG BEDIENUNGSANLEITUNG

1. Inhaltsverzeichnis

Datenblatt - SNET/CAN/Ethernet Konverter

Wichtige technische Information SDR 610PVR

1.Einleitung: 1.1Versuchsaufbau:

Schrittmotorsteuerung PL0061

SONSTIGE GERäTE. Datenlogger DLU. Technische Daten

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden.

Service & Support. Konfiguration einer S7-300 als DP- Slave an einer S7-400H als DP-Master unter Verwendung eines Y-Links PROFIBUS DP.

2 Systemadministration

INSTALLATIONSANLEITUNG BEDIENUNGSANLEITUNG

Übung - Nutzung des Windows-Rechners zur Bestimmung von Netzwerkadressen

Fachhochschule Dortmund FB Informations und Elektrotechnik KLAUSUR LN/FP Sensortechnik/Applikation

LCD board EB

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

NOISY Datenimport vom LD 831

Großanzeige 13 Grundkonfiguration Stand:

TM1638-Anzeige-Taster-Modul

RGB-Sequenzer RS232 RS485 MDX512 AD / IO Platine

Betriebsanleitung CNC-Retrofit für W21 64-Bit PCNC

D.1 Vorbereitung. Teil D Analog-Digital-Wandler 1

8.3 Taster am µcontroller

Das Attiny-Projekt Assemblieren 1

C-DIAS-Temperaturerfassungsmodul CAI x Temp. Eingänge C

ME-6100 isolierte Analog-Ausgangskarte mit FIFOs

Analoge Schnittstellen

Eine einfache Operationsverstärkerschaltung zur Bestimmung des Widerstandes eines Sensors

Transkript:

Funktionsweise der internen Multifunktionskarte Lab-PC Das Kernstück jeder Meßkarte ist der Analog/Digitalwandlerbaustein (zum Messen und Digitalisieren von Spannungen) und/ oder der Digital/Analogwandlerbaustein (zur Ausgabe von Spannungen) sowie eine für beide Bauelemente benötigte Spannungsreferenz. Diese drei Komponenten begrenzen die technisch mögliche Qualität der Messung. Neben der Bitbreite pro Meßbereich (dieser liegt typisch bei 10 V) die derzeit zwischen 8 Bit und 24 Bit variiert ist noch das Rauschen, die Linearität und die Temperaturstabilität wesentlich. Die Gestaltung des eigentlichen Meßsystems ist von Karte zu Karte je nach geplanten Aufgabenbereich sehr unterschiedlich und reicht von einer Billiglösung in der die Digitalanschlüsse der AD- und DA- Bausteine nahezu direkt mit der internen Datenschnittstelle des PC verbunden sind bis zu Systemen mit eigenen Mikrokontrollern, Speicherbausteinen und Taktgebern, die auch sorgfältig von elektrischen Störungen innerhalb des PCs abgeschirmt sind. Während im billigen Fall die Datenaufnahme und Signalausgabe mit der momentanen Leistung der Hardware und des Betriebssytems schwankt und daher nur für einfache Meßanwendungen geeignet sind können höherwertige Karten programmierbare Signalgeneratoren (DA Ausgang) und Transientenrekorder bzw. Oszilloskope ersetzen. Diese "internen" Meßkarten haben einige Vorteile gegenüber externen Meßgeräten aber auch Nachteile. Zu den Vorteilen zählt (i) Die schnelle Übernahme der Meßdaten in das Anwenderprogramm und (ii) Kosteneinsparung gegenüber einem Meßgerät da sowohl Gehäuse als auch Eingabe- und Ausgabeeinheit wegfallen. Weiters benötigen Einsteckkarten keine eigene Stromversorgung oder eine Datenfernübertragungsmöglichkeit (GPIB oder RS 232). Da meist viele Datenleitungen auf engem Raum aus dem Rechner geführt werden müssen ist die experimentelle Anordnung mitunter schwieriger zu gestalten. Schutzmechanismen wie Sicherungen gegen Überlastung und Überspannung fehlen in der Regel, so daß eine Fehlspannung den gesamten PC zerstören kann. So vielfältig die Kartenauswahl so vielfältig ist auch die systemnahe Registerprogrammierung (siehe Datei regprog.pdf) derartiger Komponenten für die es bestenfalls (undokumentierte), firmeninterne Standards gibt. Sehr häufig ist dazu auch die erhältliche Dokumentation einer Meßkarte ungenügend und nicht selten fehlerhaft. Im Rahmen der Experimente werden wir uns daher auf die beiden einfachen Funktionen der Meßkarte: (i) eine Spannung über den DA ausgeben und (ii) einen Meßwert am AD einlesen beschränken. Im nachfolgenden eine kurze allgemeine Zusammenfassung worauf es bei der Registerprogrammierung ankommt gefolgt von den kartenspezifischen Eigenschaften (blau hervorgehoben). Die technischen Spezifikationen der Karte LabPC finden Sie am Ende des Abschnitts. 1) Adressraum der Meßkarte 2) Datenbreite des Übertragungsmediums (verwendeter interner Bus) im Vergleich zur Bitbreite des AD bzw. DA Bausteins 3) Herstellen eines definierten Grundzustands der Karte vor Meßbeginn 4) DA - Wandlung (Analogausgang) 5) AD Wandlung (Analogeingang) Zu 1) Wie alle im PC vorhandenen Komponenten werden die Datenregister über Adressleitungen angesprochen. Das Konzept zur Registerprogrammierung können Sie in regprog.pdf nachlesen. Die Angabe einer Adresse besteht aus der Basisadresse (üblicherweise in Hexadezimaldarstellung) und dem Versatz (Offset) der einzelnen Register zur Basisadresse. Da die LabPC Meßkarte keine Plug & Play Autokonfiguration zuläßt muß Registeradresse, IRQ und DMA Belegung beim Einbau festgelegt und notiert werden. Bei Bedarf, aber nicht notwendigerweise können die belegten Ressourcen händisch in das Betriebssystem eingetragen werden. Ihre LabPC Karte hat die Basisadresse 0x300 (&H300). Alle im folgenden genannten Versatzangaben beziehen sich auf diese Basisadresse. IRQ und DMA werden bei unseren Programmen nicht benötigt. Zu 2) In diesem Seminar wird intern meist der 8 Bit breite Datenbus genützt. Will man dementsprechend an einen DA Wandler einen 12 oder 16 Bit breiten Wert übertragen, muß dieser in 2 Bytes zu 8 Bits zerstückelt werden. Das umgekehrte gilt für das Einlesen eines digitalisierten AD Werts. Hier müssen 2 Bytes zu einem Wert zusammengesetzt werden. Nachfolgend ist angegeben wie beim zerstückeln und zusammensetzen vorzugehen ist wobei Zahl der zu zerstückelnde Wert ist, Lowbyte das niederwertige Nippel (8Bit Byte) und Highbyte das hochwertige Nippel der beiden Bytes. Zerstückeln: Highbyte = Lowbyte = [ Zahl / 256] Ganze _ Zahl [ Zahl 256 Highbyte] Ganze _ Zahl Zusammensetzen: Zahl = 256 Highbyte + Lowbyte Beim Zerstückeln und Zusammensetzen ist zu beachten in welcher Reihenfolge die beiden Bytes (niederwertiges Nippel muß zwingend vor oder nach dem hochwertigen Nippel übertragen/gelesen werden). über den Bus geschrieben bzw. gelesen werden müssen. Dann kommt es auch darauf an zu wissen wie die Bits (eines 12 oder 16 wertigen Datums) in den beiden Bytes abgelegt sind (Es kann das LSB links oder rechts im Byte stehen).

Abbildung 1: Zerstückeln der Zahl 1300 (= 1024 + 256 +16 + 4) in 2 Bytes und anschließend das Zusammenfügen zur Zahl. Die UND Operation stellt sicher daß keine unerwünschten Bits zu Fehlern führen. Für die LabPC Karte sind stets die 8 niederwertigen Bits in einem Byte und die restlichen (4) im zweiten Byte. Das niedertigste Bit (LSB) des 12 Bit Datums ist Bit 0 des 1. Bytes. Das höchsterwige Bit (MSB) ist Bit 3 des 2 Bytes. Da Bit 4 bis 7 nicht definiert sind, sollten sie sicherheitshalber sowohl beim Schreiben als auch beim Lesen maskiert werden. Beim Schreiben zum DA und beim Lesen vom AD wird zuerst das niederwertige Byte und danach das höherwertige Byte übertragen. Eine Beispiel VI ist in Abb. 1 dargestellt. Zu 3) Der Aufwand zur Herstellung eines definierten Ausgangszustands hängt in der Regel vom Funktionsumfang der Karte ab. Weiters ist es wichtig zu wissen was man mit der Meßkarte nachfolgend machen will. Für einfache Karten ist es sinnvoll die DA Ausgänge in einen definierten Zustand zu versetzen und einen Dummy Wert vom AD abzulesen. Viele Karten buffern wenigstens den letzten AD Wert und senden diesen bei der nächsten Abfrage anstelle des aktuellen Meßsignals. Da die LabPC Karte über den Rahmen der Aufgabenstellung hinausgehende Funktionen verfügt sind in nachfolgender Tabelle in zeitlicher Reihenfolge die einzelnen Registeranweisungen zusammengefaßt um den Ausgangszustand für unsere Anwendung herzustellen. Die erste Spalte gibt den Adressenversatz (zu 0x300) in Hexadezimalzahlen an. In der zweiten Spalte steht ob es sich um eine Schreib (S) bzw. Leseoperation (L) des Registers handelt. Schreiben bedeutet, daß Sie die Funktion Out Port für 8 Bit Datenbreite (siehe regprog.pdf) Lesen, daß Sie die Funktion In Port anwenden. Bei Schreiboperationen ist in Klammer der zu sendende hexadezimale Wert angegeben. Die letzte Spalte kommentiert was diese Anweisung bewirkt. Um Fehlfunktionen zu vermeiden darf die Sequenz an keinem Punkt abgekürzt werden. OFFSET Registeraktion (Wert beim Schreiben) Kommentar 0x00 S (0x00) AD Kanal 0 mit Verstärkung = 1 0x01 S (0x00) DA & AD intern single getriggert 0x02 S (0x00) IRQ, DMA abschalten 0x17 S (0x34) Zähler modus 0x14 S (0x0A) Zählerregister 0x14 S (0x00) Zählerregister (interne Taktrate) 0x0A S (0x00) Interrupts löschen 0x0C S (0x00) Interrupts löschen 0x08 S (0x00) AD Buffer löschen 0x0A L Dummy AD Byte

0x0A L Dummy AD Byte 0x04 S (0x00) Byte zum 1. DA Kanal 0x05 S (0x00) Byte zum 1. DA Kanal ( 0.0V) 0x06 S (0x00) Byte zum 2. DA Kanal 0x07 S (0x00) Byte zum 2. DA Kanal ( 0.0V) Zu 4) Der DA Wandler (Analogausgang). Viele Karten besitzen mehr als einen DA Ausgang. D.h. der gewünschte Ausgang muß angewählt werden. Zu berücksichtigen ist weiters, daß der Wert den der DA Wandler erwartet eine ganze Zahl zwischen 0 und 2 (Bitanzahl) -1 ist. Während Sie eine bestimmte Spannung am Ausgang haben wollen. Diese Konversion von Spannungs- in Binärdaten können Sie entweder manuell (mit Taschenrechner) vornehmen oder Sie bauen eine entsprechende Umwandlungsroutine in Ihr Programm ein: U Binärzahl = U Ausgang max U U min min 2 ( Bi tan zahl ) ganze _ Zahl Wobei U max und U min die der Spezifikation entnommene größte bzw. kleinste ausgebbare Spannung ist. U Ausgang ist die gewünschte Ausgangsspannung. Die Schritte um eine Wandlung vorzunehmen sind dann: Wahl des Ausgangs Senden der Binärzahl Wandlung auslösen Für die LabPC Karte mit 2 DA Ausgängen zwischen 0 und 10V mit 12Bit Auflösung gilt: U max = 10, U min = 0, 2 12 = 4096. Wie oben gezeigt ist der ermittelte Binärwert in ein niederwertigs und ein höherwertiges Byte aufzuspalten. Die Kanalauswahl geschieht über die Auswahl der Register in die die beiden Bytes geschrieben werden. Für den 1. DA Ausgang wird zunächst das niederwertige Byte in das Register mit dem OFFSET = 0x04 geschrieben. Danach wird das höherwertige Byte in das Register 0x05 übertragen. Diese Übertragung löst die Wandlung aus und am Ausgang sollte die gewünschte Spannung meßbar sein. Da die Wandlung mit dem Übertragen des höherwertigen Bytes eingeleitet wird muß die Reihenfolge eingehalten werden andernfalls kommt es zu Fehlern. Für den 2. DA Kanal sind die Registeradressen 0x06 für das niederwertige und 0x07 für das höherwertige Byte. Zu 5) Ähnlich zum vorhin gesagtem werden auf Meßkarten häufig mehrere Eingänge (über einen Multiplexer) zum AD Konverter geleitet. D.h. Sie müssen festlegen welchen Eingang Sie abfragen wollen. Weiters besitzen viele Karten die Möglichkeit das Eingangssignal zu verstärken, und/oder die Auflösung der AD Wandlung einzustellen. Die Zahl die Sie von den Registern einlesen ist wiederum eine ganze Binärzahl die erst wieder skaliert werden muß um einen Spannungswert zu erhalten. Die wesentlichen Schritte einer AD Wandlung sind dann: Wahl des Eingangs (mit Optionen wie Empfindlichkeit und Auflösung) Einleiten einer Wandlung Warten bis die Wandlung fertig ist Empfangen des Binärwerts Skalieren (falls erforderlich) Für die LabPC mit 8 AD Eingängen, 12 Bit Auflösung und 7 Empfindlichkeitsbereichen zwischen ±5 V und ±0.05V geschieht der erste Schritt indem man ein Byte,cmd, zusammenstellt in dem der Eingangskanal und die Empfindlichkeit festgelegt werden. Die Empfindlichkeitseinstellungen sind nachfolgender Tabelle zu entnehmen. Die erste Spalte gibt den Verstärkungsfaktor an, die 2. Eine Zahl die mit 16 zu multiplizieren ist bevor sie zu der Kanalnummer (zwischen 0 und 7) hinzugezählt wird um die Anweisung zu komplettieren: cmd = 16 Verstärkerzahl + Kanalnummer Verstärkung Binärzahl 1 0 2 2 5 3 10 4 20 5 50 6 100 7

Die Zahl wird in das Register (OFFSET = 0x00) geschrieben. Danach wird die Wandlung eingeleitet indem in das Register 0x01 die Zahl 0x04 und anschließend in das Register 0x03 ein beliebiger Wert (0) geschrieben wird. In einer Schleife kann durch Auslesen von Register 0x00 geprüft werden wann die Wandlung beendet wurde. Da das Byte mehrere Informationen enthält uns aber nur der Status Wandlung ist beendet (Entspricht einem gesetzten Bit 0 des Bytes = 2 1 = 1) interessiert, sollte die Abfrage mit einer Maske für Bit 0 durchgeführt werden. Ist Byte UND Maske = 1? (siehe auch regprog.pdf) Danach wird zuerst das niederwertige Byte des binären AD Werts durch Lesen von Register 0x0A und dann das höherwertige Byte durch nochmaliges Lesen des Registers 0x0A in das Programm übertragen. Die beiden Bytes werden zu dem Binärwert für den gewählten AD Eingang zusammengesetzt (siehe Abb. 1 rechter Teil). Skaliert kann dann über die folgende Beziehung wobei der Verstärkungsfaktor zu berücksichtigen ist U max und U min beziehen sich auf die Einstellungen des AD Wandlers und sind für die Verstärkung von 1 +5 V und 5 V: U U 2 U Binärwert max min Eingang = + U ( Bi tan zahl ) min