Diplomarbeit
Entstehung
Inhalt
Abkürzungen
Einleitung
Recherche
Konzept
Umgebung
Hardware
Software
Funktionsweise
Zusammenfassung
Anhang
Übersicht
Gruppierung
Recherche: Gruppierung

2.7 Gruppenaufteilung

Aufgrund der oben genannten Unterschiede kann man die Schnittstellen in sieben große Gruppen, aufteilen. Die Reihenfolge, mit der diese Klassifizierung hier gewählt wurde, entspricht auch der Vorkommens-Häufigkeit der entsprechenden Schnittstelle am Markt.

Gruppenbezeichnung Beispiel

- Die RS232 - Schnittstellen Datalogic Barcodeleser
- Die RS232 - ähnlichen Schnittstellen Kröplin Messuhr
- Die Schnittstelle "System Sylvac" Sylvac-Messschieber
- Die Mitutoyo - Digimatic - Schnittstelle Digimatic-Messschieber
- Die Helios - Schnittstelle Helios-Messuhr
- sonstige BCD - Schnittstellen
- sonstige binäre Schnittstellen


Die letzten beiden Gruppen werden nicht näher aufgeschlüsselt, da bei den BCD- und den binär codierten Schnittstellen von Hersteller zu Hersteller zu grosse Unterschiede vorkommen, als dass man mehrere Schnittstellen ähnlich ansprechen könnte. Für die ersten fünf Gruppen wird daher in den folgenden Abschnitten auch exemplarisch jeweils ein Meßmittel genau erläutert, während die sonstigen Schnittstellen allgemein abgehandelt werden.

2.8 Exemplarische Beschreibung einiger Schnittstellen

2.8.1 Die RS232 - V.24 - Schnittstelle des Datalogic-Barcodelesers

Der Name RS232 rührt von der amerikanischen Bezeichnung Recommended Standard Number 232 her, während der zweite Name V.24 aus der französischen Norm (CCITT V.24) stammt. Als deutsche Norm ist diese Schnittstelle in der DIN-Norm 66020 beschrieben, auf die an dieser Stelle für weitere Einzelheiten verwiesen sei. Man findet oft auch die Bezeichnung RS232-C, welche sich auf die Revision C der amerikanischen Norm bezieht. Im folgenden wird diese Schnittstelle einfach als RS232-Schnittstelle bezeichnet.

Da die RS232-Schnittstelle einen grossen Marktanteil innehält und auch weltweit genormt ist, wird an dieser Stelle zuerst allgemein auf diese Schnittstelle eingegangen und nachher das Beispiel des Datalogic-Barcodelesers näher beschrieben.

Die RS232-Schnittstelle besteht im wesentlichen aus einer Sende- und einer Empfangsdatenleitung nebst einigen Handshakeleitungen, welche jedoch zum einwandfreien Betrieb der Schnittstelle nicht zwingend erfoderlich sein müssen. Die Spannungspegel sind sehr frei definiert und müssen am Treiberausgang für die Datenleitungen bei logisch "1" zwischen -5V und -15V, für logisch "0" zwischen +5 und +15V liegen. Bei den Steuerleitungen sind die Pegel gleich, nur dass für einen zu signalisierenden "Ein"-Zustand der Pegel positiv sein muss, während für "Aus"-Signale negative Pegel erzeugt werden müssen.


Die Empfänger müssen ab einer Eingangsspannung von +/-3V korrekt arbeiten und dürfen bei hohen Eingangsspannungs-Spitzen von +/-25V nicht zerStört werden. Die maximale Übertragungsrate, die in den Normen gefordert wird, beträgt 20 kBaud (20*1024 Bits/s).

Alle folgenden Bezeichnungen und Numerierungen gelten für Datenendgeräte (DEE) nach DIN. Für Datenübertragungsgeräte (DUeE) müssen die Ein- und Ausgänge der Daten- und Steuerleitungen untereinander vertauscht werden.

Es werden am häufigsten folgende Signal-Leitungen verwendet (Numerierung wie an dem genormten 25-poligen Sub-D-Verbinder):

Nummer Bezeichnung nach DIN US-Bezeichnung Kürzel Eingang/Ausgang

Nr.

Bezeichnung nach DIN

US-Bezeichnung

Eingang/Ausgang

Pin 1

Schutzerde

Protective Ground GND

-

Pin 2

Sendedaten

Transmitted Data TxD

Ausgang

Pin 3

Empfangsdaten

Received Data RxD

Eingang

Pin 4

Sendeteil einschalten

Request to Send RTS

Ausgang

Pin 5

Sendebereitschaft

Clear to send CTS

Eingang



Mit diesen Leitungen lässt sich in den allermeisten Anwendungsfällen eine funktionstüchtige Verbindung zwischen RS232-Geräten aufbauen. Gelegentlich müssen andere Steuerleitungen im Stecker noch gebrückt werden, um für das entsprechende Gerät Steuersignale zu simulieren, welche beispielsweise das Vorhandensein eines Datenträgers in einem Modem oder das Vorhandensein eines angeschlossenen Gerätes überhaupt anzeigen, die Datenübertragung klappt jedoch dann meist einwandfrei.

Wenn der Empfänger bereit ist, Daten zu empfangen, so legt er seinen RTS-Ausgang auf einen positiven Pegel ("Ein"-Zustand). Wenn der Sender Daten senden möchte, so prüft er vor jedem zu sendenden Byte, ob sein CTS-Eingang auf "Ein" geschaltet ist, ist er es nicht, so ist der Empfänger nicht bereit und die Daten dürfen nicht abgesendet werden. Die RTS- und die CTS-Leitungen sind genau wie die RxD- und die TxD-Leitungen bei den beiden über die RS232-Schnittstelle verbundenen Geräten überkreuzt verschaltet (RxD an TxD, RTS an CTS und umgekehrt), so dass ein einwandfreies Handshaking erfolgen kann.

Bei dem Barcodeleser der Firma Datalogic, welcher im Rahmen der Diplomarbeit verwandt wurde, werden sogar von dieser abgespeckten Version nicht alle Leitungen benötigt. Das Signal von Pin 2 am Barcode-Stecker (RxD) ist hier nur der Vollständigkeit halber aufgeführt, wird aber zur Datenübertragung nicht verwendet.

Pinbelegung am Stecker des Barcodelesers:

Pin 1

GND

Pin 2

RxD

Pin 3

TxD

Pin 4

CTS

Pin 5

RTS

Pin 6

+5V



Die Datenübertragung auf der RS232-Schnittstelle übernimmt vollständig ein Asynchroner Interface Adapter ACIA vom Typ 6551, welcher zur Erzeugung der Baudrate lediglich einen externen Quartz benötigt. Über ein Datenregister werden die zu sendenden und empfangenden Daten an die ACIA übermittelt und von ihr gelesen, über ein Control und ein Command-Register kann das Übertragungsprotokoll und der Zustand der Steuerleitungen der Schnittstelle kontrolliert werden, hier werden auch die Baudrate und die Übertragungsparameter der Schnittstelle eingestellt. Über ein Statusregister kann eine Überprüfung auf Fehler bei der Datenübertragung erfolgen. Umfangreiche Interrupt-Eigenschaften unterstützen die Echtzeit-Bedienung einer mit dieser ACIA aufgebauten Schnittstelle.

Die Datenübertragung des Barcodelesers von Datalogic erfolgt mit 9600 Baud, 7 Datenbits, 1 Bit gerade Parität, 1 Stopbit. Das Paritätsbit wird vom Barcodeleser auf "1" gesetzt, wenn die Summe der 7 Datenbits ungerade ist und gelöscht, wenn diese Summe gerade ist. So ist eine einfache Fehlerprüfung im Empfänger möglich. Zuerst muss mit dem Barcodeleser ein Barcode eingelesen werden, da die Mini-CPU des Barcodelesers sonst nicht auf eine Datenanforderung reagieren würde. Die Mini-CPU quittiert einen erfolgreichen Lesevorgang durch einen kurzen Piepston. Sobald der Piepston angefangen hat, können die Daten durch einen Wechsel vom "Aus"- in den "Ein"-Zustand am CTS-Eingang des Barcodelesers angefordert werden. die Mini-CPU des Barcodelesers beginnt dann, die Daten über die V.24-Schnittstelle auszugeben.

Dabei wechselt zuerst das Signal am Sendedaten-Ausgang des Barcodelesers vom Ruhepegel "1" (negative Spannung) auf logisch "0", und zwar genau für die Dauer der Datenübertragung eines Bits. Man nennt dieses erste Bit auch Startbit, da es immer vor dem Beginn einer Übertragung eines Bytes abgesendet wird. Die Länge dieses Startbits ist gleich dem Wert 1/Baudrate in Sekunden, bei einer Baudrate von 9600Bd wäre also die Länge eines Bits (und damit auch die Länge des Startbits) = 1s/9600 = 104,2ms.

Am "0"-Pegel auf der Empfangsleitung erkennt die ACIA, dass nun eine Datenübertragung eines Bytes erfolgen wird. Sie tastet nun 7 mal in dem durch die Baudrate vereinbarten Zeit-Intervall die Empfangsdatenleitung ab und speichert den erkannten Wert ("0" oder "1") im Empfangsdatenregister der Reihe nach ab. Anschliessend folgt auf der Datenleitung das Parity-Bit, welches zur Erkennung von Übertragungsfehlern direkt von der ACIA ausgewertet wird. Es folgt ein Stopbit, welches das Ende eines Bytes markiert. Wird dieses Stopbit von der ACIA nicht einwandfrei erkannt, wird ein sogenannter Framing-Error erzeugt, welcher anzeigt, dass die Synchronisation der beiden Schnittstellenteilnehmer nicht funktioniert hat.

Nach dem Aussenden des Datenbytes geht die Sendedatenleitung des Barcodelesers wieder auf Ruhepegel, nach einer kurzen Zeitspanne beginnt das Aussenden des nächsten Datenbytes, bis durch ein Byte mit dem Wert LF (dezimaler Wert 10) das Ende der Datenübertragung angezeigt wird. Die Mini- CPU löscht dann den übertragenen Meßwert in dem eigenen Speicher und gibt den Lesestift zum Einlesen der nächsten Meßdaten frei.

Der Barcodeleser kann erst dann wieder neue Daten einlesen, wenn die im Speicher der Mini-CPU abgelegten Daten vom DatenEmpfänger gelesen wurden. Die Meßdaten müssen so schnell vom Prozessor bei der ACIA "abgeholt" werden, dass das Empfangsregister der ACIA vor dem Eintreffen des nächsten Datenbytes auf der Empfangsleitung des Meßmittelinterfaces wieder frei ist. Gegebenenfalls muss durch einen "Aus"-Pegel auf dem CTS-Eingang des Barcodelesers dessen Sendeaktivität gestoppt werden.

Für weitere Einzelheiten der Datenübertragung auf RS232-Schnittstellen mit der ACIA 6551 sei auf die Datenblätter im Anhang verwiesen.


2.8.2 Die Kröplin-Schnittstelle

Die Köplin-Schnittstelle stellt eine Sonderform der RS232-Schnittstelle dar, da sie ein Signal ähnlich nach RS232-Spezifikation erzeugt, jedoch die Information lediglich mit TTL-Pegel ("0"=0V, "1"=+5V) aussendet, da die Kröplin-Messgeräte batteriebetrieben sind und die hohen erforderlichen Pegel für den RS232-Standard (+/-12V) nicht aufbringen können. Man findet diesen Schnittstellentyp bei den ELI- und ELO-Test Messuhren sowie bei dem Anzeigegerät für den Digital-Taster EM25 von Kröplin, bei einigen Meßmitteln der Schweizer Firma Tesa/Roch SA und bei der Tastarm-Messuhr digi-Test der Serie 206 von Mitutoyo. Die Messuhren ELI- und ELO-Test und der Digital-Taster EM25 werden von den unterschiedlichsten Herstellern in Lizenz unter eigenem Namen angeboten (u.a. von Helios, Messwelk, Mitutoyo und Brütsch-Rügger) und sind relativ weit verbreitet. Bei den ELI- und ELO-Test-Geräten handelt es sich um Innen- und Aussen-Tastarm-Messuhren in handlichem Taschenformat mit digitaler Anzeige.

Die Übertragungsgeschwindigkeit beträgt 300 Baud. Gesendet werden nach einem Startbit 8 Datenbits (das achte Datenbit ist immer ="0", also werden nur 7 echte Datenbits gesendet), es folgen zwei Stoppbits, eine Paritätspruefung findet nicht statt. Es wird nur die Sendedatenleitung TxD des Meßmittels und die Masse verwandt. Über eine Triggerleitung ist eine externe Auslösung der Meßwertausgabe möglich.

Gesendet wird ein Vorzeichenbyte (ein Blank=$20 für positive und ein Minuszeichen "-" für negative Meßwerte), 6 Meßwertbytes codiert in Standard-ASCII, ein Einheitenbyte (ein Blank für mm, ein doppeltes Hochkomma=$22 für inch) ein Blank als Trennbyte und zuletzt ein Kennungsbyte für den Messmodus ("1" für max, "2" für optim, "3" für min, "4" für non optim). Abgeschlossen wird die Sendung durch ein CR, LF ($0D, $0A).


2.8.3 Die Schnittstelle "System Sylvac"

Die Firma Sylvac ist in Frankreich ansässig und stellt digitale Meßmittel zur Messung geometrischer Größen in vielen Variationen her. Dabei ist das von Sylvac verwandte Datenformat zur Übertragung der Meßwerte an weiterverarbeitende Computersysteme neben dem Mitutoyo-Format am weitesten verbreitet, da Sylvac nicht nur fertige Messinstrumente herstellt, sondern die Mess- und Auswerte-Elektronik auch in Modulform für Zweithersteller anbietet, welche dann die Elektronik in eigene Geräte einsetzen, die dann unter Umständen in direkter Konkurrenz zu den Sylvac-Erzeugnissen stehen. Zu diesen Zweitanbietern zählen unter anderem die Hersteller PAV, Mauser, Mahr, Preisser und Helios mit einigen Meßmitteln.

Bei dem Ausgang handelt es sich um einen synchronen, seriellen digital-Datenausgang. Die Ausgangsspannung beträgt 0V für log. "High", und -1.5V log. "Low". Die Ausgangsimpedanz beträgt 500kOhm, d.h. der Ausgang darf nur mit einem hochohmigen FET-Eingang belastet werden, da die Ausgangsspannung sonst sofort zusammenbrechen würde.

Das Sylvac-Meßmittel sendet laufend die aktuellen Meßdaten aus. Durch Kurzschliessen des Datenausgangs für eine Dauer von etwa 60ms kann man das Meßmittel vom Slowmode in den Fastmode und wieder zurück umschalten, bei dem der Abstand zwischen zwei Datentelegrammen drastisch verkürzt wird (Von 250ms Pause im Slowmode auf 20ms im Fastmode). Meist wird jedoch der Slowmode ausreichen, da er schnell genug ist und trotzdem noch Zeit lässt für eine Weiterverarbeitung der Daten (der Slowmode ist übrigens auch beim Einschalten des Meßmittels als Default-Modus aktiv). Die Datenübertragungsrate der Sylvac-Schnittstelle beträgt 125 kBits/s. Die Daten sind nur 2ms lang gültig, beginnend 1ms vor der steigenden Flanke des Clock-Impulses.

Es werden bei jedem Datentelegramm 48 Datenbits synchronisiert gesendet. Diese 48 Bit sind aufgeteilt in zwei Datenworte zu je 24 Bit. Das erste Wort (Wort 0) enthält eine Information, welche vom Meßmittelhersteller zu Diagnosezwecken genutzt wird, es enthält also keine Meßdaten. Der eigentliche Meßwert steht in dem zweiten Datenwort und stellt den Anzeigeninhalt als relative Grösse zu einem am Meßmittel einstellbaren Nullpunkt dar. Der Meßwert ist binär in einer intern verwendeten Einheit codiert und wird in invertierter Logik ausgegeben. Das Vorzeichenbit ist das MSB (most significant bit) =Bit 23: wenn es auf "1" gesetzt ist, wird das Einerkomplement der Bits 0 bis 22 nebst einem Minuszeichen angezeigt.


Das Sylvac-Datenformat wird durch folgende Grafik erläutert:

Sylvac Datenformat

Abb. 2: Das Datenformat der Sylvac-Schnittstelle

Das Meßmittel sendet den ermittelten Meßwert in einer intern verwendeten Einheit. Zur Berechnung des tatsächlichen Wertes in mm oder inch setzt man diesen internen Meßwert in eine der folgenden zugeschnittenen Größengleichungen ein und erhält direkt das Ergebnis in mm bzw. inch:

Meßwert(inch) = (1/8) * (5/128) * Meßwert(intern)
Meßwert(mm) = (1/8) * (127/128) * Meßwert(intern)


2.8.4 Die Mitutoyo-Digimatic-Schnittstelle

Die Mitutoyo-Digimatic-Schnittstelle ist eine weit verbreitete synchrone serielle digital-Schnittstelle, welche sich soweit durchgesetzt hat, dass man sie auch bei Meßmitteln anderer Anbieter findet, da Mitutoyo für seine Schnittstelle diverse Auswertegeräte vom Drucker bis zum Multiplexer für mehrere Meßmittel anbietet. Fast alle digital-Meßmittel von Mitutoyo verfügen über die gleiche hier beschriebenen Schnittstelle. Zuerst wieder eine Beschreibung der Pinbelegung des Digimatic-Meßmittels:

Mitutoyo-Stecker am Meßmittel

Pin 1

GND

Pin 6

Daten

Pin 7

Clock

Pin 8

Request



Wenn das Mitutoyo-Meßmittel eingeschaltet und angeschlossen ist und einen Meßwert anzeigt, wird der Anzeigewert durch einen Wechsel der Request-Leitung auf Massepotential ausgegeben. Das Meßmittel schaltet die Request-Leitung über einen Widerstand intern gegen seine eigene Versorgungsspannung. Wenn die Daten angefordert werden sollen, so muss diese Leitung potentialfrei (über einen Opto-Koppler) an Masse gelegt werden. Die Request-Leitung darf erst nach Ende der Übertragung wieder freigegeben werden, da das Mitutoyo-Meßmittel sonst sofort das Aussenden der Daten einstellt. Entgegen der Angabe in der Original-Mitutoyo Dokumentation zu der Schnittstelle darf das Request-Signal nicht nach minimal 2ms wieder auf "High" gelegt werden, sondern muss während der gesamten Dauer der Übertragung der Daten auf "Low" bleiben.

Die Daten werden taktsynchron zu einem Takt, den das Meßmittel wie auch die Daten als CMOS-Ausgang (Open drain, d.h. Pull-up-Widerstände nach +5V erforderlich) zur Verfügung stellt, ausgegeben. Maximal zwei Sekunden nach der Datenanforderung beginnt die Aussendung der Daten. Sobald dann eine fallende Flanke auf der Clockleitung erkannt wird, muss die Datenleitung innerhalb von 100mys gelesen werden.

Hier das Timing-Diagramm für die Mitutoyo-Digimatic-Schnittstelle

Zeitverhalten Mitutoyo Schnittstelle


Abb. 3: Das Zeitverhalten der Mitutoyo-Schnittstelle

Es werden 13 Digits (Ziffern) zu je 4 Bit als Bit-Serie, beginnend bei 2^0 vom ersten Digit (d1) bis 2^3 vom letzten Digit (d13) abgeschickt.

Die Bedeutung der einzelnen Digits wird in der untenstehenden Grafik erläutert:

Datenformat Mitutoyo Schnittstelle


Abb. 4: Das Mitutoyo-Datenformat

Nach dem Empfang der Daten muss man sie noch in Ascii-Werte umwandeln und das Vorzeichen und die Lage des Dezimalpunktes ermitteln und richtig in die Ascii-Zeichenkette einsetzen.


2.8.5 Die Helios-digitrix-Schnittstelle

Die Helios-digitrix-Schnittstelle ist der Mitutoyo-Schnittstelle in gewisser Weise ähnlich. Helios rüstet seine Digital-Messuhren, Messschieber und Mikrometerschrauben mit der digitrix-Schnittstelle aus. Die Nachfolgebaureihe heisst "Microdigit", verwendet aber meines Wissens auch die digitrix-Schnittstelle. Weiterhin gibt es Messschieber von NSK und eine Messschraube von Messwelk mit der hier beschriebenen Schnittstelle. Auch hier handelt es sich um einen synchronen, seriellen Datenausgang.

Pinbelegung des Steckers am Helios-Meßmittel

Pin 6

GND

Pin 8

Clock

Pin 3

Daten

Pin 2

Request

Pin 1

+3,2Vcc



Zur Datenanforderung wird die Request-Leitung über einen 22kOhm-Widerstand gegen die Versorgungsspannung des Meßmittels geschaltet. Das digitrix-Meßmittel beginnt mit der Aussendung Helios Bitcodierungdes Datentelegramms, sobald die Request-Leitung wieder Ruhepegel führt. Es werden 17 Digits zu je 8 Bit synchronisiert gesendet. Die Periodendauer des Taktsignals beträgt etwa 1.6ms, die Amplitude etwa 3V. Die Dauer eines gesamten Datentelegramms beträgt etwa 270ms. Die Datenbits müssen gelesen werden, wenn eine steigende Flanke auf der Taktleitung erkannt wird. Auf der Empfängerseite müssen die Datenbits noch invertiert werden.


Abb. 5: Die bitweise Codierung der Daten
   bei der Heilios-Digitrix-Schnittstelle

Die Bedeutung der einzelnen Digits erläutert folgende Grafik:

Helios Datenformat


Abb. 6: Das Helios-digitrix-Datenformat


2.8.6 Andere Schnittstellen

Einige Meßmittelhersteller verwenden statt der teilweise komplizierten Übertragungsformate, welche hier vorgestellt wurden, "prozessornahe" Übertragungsformate für die Meßdaten, d.h. die Daten werden als BCD- oder direkt als Binär-Worte codiert und unverändert gesendet.

Vorteil: In den meisten Fällen liegen bei einem digitalen Messsensor (Inkrementalgeber, Code-Scheiben oder -Massstäbe etc.) die Meßdaten ohnehin in binärer Form vor, so dass die Daten im Meßmittel nicht noch umgewandelt werden müssen. Die Elektronik in dem Meßmittel kann somit auf einen seriellen Zählerausgang oder ähnliches beschränkt werden, was den Aufwand sehr verringert. Falls doch ein einfacher (vielleicht kundenspezifischer) Prozessor verwendet wird, sind meist Befehle vorhanden, mit denen man binäre Daten in BCD-Daten umwandeln kann und umgekehrt, so dass auch das BCD-Format einfach zu realisieren ist.

Nachteil: Die Meßdaten müssen dann in der nachfolgenden DV-Anlage aufbereitet werden. Für einen universellen Datenverarbeiter ist dies insofern nachteilig, da diese "prozessornahen" Formate im allgemeinen nicht genormt sind und jeder Meßmittelhersteller ein Format verwendet, welches speziell auf die Eigenschaften des betreffenden Meßmittels zugeschnitten ist. Oft variieren nicht nur die Länge eines Datentelegramms und die Art der Datenübertragung (Handshaking, d.h. Verständigung der Kommunikationsteilnehmer und Kontrolle auf Fehler, Vorzeichenkodierung, Kodierung der verwendeten Mess-Einheit etc.), sondern auch die Spannungspegel, mit dem die Daten übertragen werden. So kann man für diese Gruppe von Meßmitteln kaum einen Vertreter angeben, da die einzelnen Schnittstellen sehr stark voneinander abweichen.

Zusammenfassend kann jedoch nach den relativ umfangreichen Untersuchungen im Vorfeld dieser Diplomarbeit gesagt werden, dass mit den hier vorgestellten Schnittstellentypen ein grosser Teil der derzeit am Markt befindlichen Meßmittel mit digitalen seriellen Schnittstellen repräsentiert wird.

© 2001 Marcel Sieling, http://www.powerslider.de
   Ich freue mich immer über nette EMails, die ich gerne beantworte.