Theorie
 
 
 
 
 
Schnittstellen
 
 
 
 
 
parallel
 
 
Centronics
 
 

 
 
 
 
 
Die Centronics-Schnittstelle ist eine 8Bit Schnittstelle mit bit-parallelem und byte-seriellem, unidirektionalem Datenfluss. Sie wird in der Regel zum Anschluss von Druckern an Computer verwendet. Die Schnittstelle ist ein allgemein anerkannter Firmenstandard des Druckerherstellers Centronics, an den sich andere Hersteller mit leichten Abweichungen in Bezug auf die Signalzeiten und die verfügbaren Meldeleitungen halten.
Die Handshakeleitungen Strobe (/STRB) was Blitz bedeutet, BUSY was beschäftigt bedeutet und /Acknowledge (/ACKN) was 'zur Kenntnis genommen' bedeutet, sowie die 8 Datenleitungen, sind bei allen Herstellern verfügbar.
 
 
 
 
 
 
 
 
 

 

Die Handshakeleitungen
/STRBMeldeleitung vom Computer zum Drucker
Diese Leitung ist bei Low aktiv, und meldet dem Drucker, dass gültige Daten auf den Datenbus gelegt wurden. Nachdem diese Meldung für eine kurze Zeit an der Leitung anlag, fällt sie auf ihren Ruhezustand log1 zurück, .. bis erneut Daten auf den Datenbus ausgegeben werden. Wie dem Bild zu entnehmen ist, müssen die Datenleitungen vor dem Strobe-Signal gesetzt worden sein.

 

 

BUSYMeldeleitung vom Drucker zum Computer
Diese Leitung liegt im Ruhezustand auf log0. Hat der Drucker über das /STRB-Signal die Meldung erhalten, 'neues Datenbyte auf dem Datenbus', setzt der Drucker das Busy-Signal auf log1 und meldet damit dem Sender des Strobe-Signals, dass er dieses Signal zur Kenntnis genommen hat und ab jetzt mit der Ausgabe dieses Bytes beschäftigt ist. Das Busy-Signal bleibt solange auf log1, bis der Drucker das Datenbyte verarbeitet hat. Dann setzt er Busy in den Ruhezustand log0 zurück. Nun kann ein neues Datenbyte auf den Datenbus gelegt werden.

 

 

/ACKNMeldeleitung vom Drucker zum Computer
Eine zweite Möglichkeit die Strobe-Meldung vom Computer zu beantworten, bietet das Acknowledge-Signal. Es kann alternativ zum Busy-Signal benutzt werden. Dieses Signal liegt im Ruhezustand auf log1 und verbleibt dort, bis der Drucker seine Arbeit verrichtet hat. Ist der Drucker fertig, fällt das Signal kurzzeitig auf log0, um nach kurzer Zeit wieder auf log1 zu steigen. Hiernach kann ein neues Datenbyte auf den Datenbus gelegt werden.

 

 

 

 

 

Die Alternative BUSY oder /ACKN
Das Achnowledge-Signal eignet sich wegen seiner kurzen Meldedauer nicht, um durch eine programmierte Schleifenabfrage (polling) erfasst zu werden. Die Möglichkeit seinen Aktivzustand in einer Schleife zu verpassen ist gross. Für solche Abfragen sollte das BUSY-Signal verwendet werden.

Andererseits beschäftigen Polling-Abfragen einen Computer relativ sinnlos und
lange. Er könnte in dieser Zeit andere Programmaufträge erledigen. Hier bietet das Acknowledge-Signal eine Alternative. Wird es auf den IRQ-Eingang einer CPU gelegt, so könnte es trotz der kurzen Meldedauer einen Interrupt auslösen.
Obwohl die CPU in diesem Fall gerade mit anderen Arbeiten beschäftigt wäre, würde der Interrupt zum Durchlaufen eines Interrupt-Behandlungsprogramms führen. Dieses könnte dem Drucker ein neues Zeichen senden und zur unterbrochenen Programmarbeit zurückkehren. Die CPU müsste dem Drucker nur noch die unabdingbar notwendige Zeit opfern, trotzdem wäre der Drucker beschäftigt und die CPU könnte neben der Druckerausgabe noch andere Programmtätigkeiten erledigen.

 

 

 

 

 

Weitere Meldeleitungen
Neben den Handshake-Meldeleitungen kann der Drucker allgemeine Fehlermeldungen zum Computer übertragen. So kann er melden, dass ihm das Papier ausgegangen ist. Dies tut er durch die Aktivierung des Signals PAPER OUT = log1 (Paper empty). Auch kann er mit dem Signal /ERR = log0 melden, dass irgendein technischer Defekt am Drucker vorliegt, der den Druckvorgang hindert. Je moderner der Drucker ist, desto mehr derartige Rückmeldungen sind denkbar. Für einfache Drucker der Steuerungstechnik reichen die hier genannten Signale jedoch aus.

 

 

 

 

 

Ablaufdiagramm zur programmierten Ausgabe eines Zeichens
In den ersten beiden Schritten eines Programms sollte geprüft werden, ob der Drucker betriebsbereit ist, ob er also keine Fehlerzustände meldet.

Dann kann der ASCII-Code des zu druckenden Zeichens auf den Datenbus gelegt werden.

Damit der Drucker zur Kenntnis nimmt, dass ein Zeichen für ihn auf dem Datenbus bereitsteht, wird das Strobe-Signal kurzzeitig auf 0 gelegt, dann auf 1 zurückgesetzt.

Nun folgt eine Warteschleife, in der die Fehlermeldungen und vor allem das BUSY-Flag beobachtet werden. Solange dieses ein 1-Signal führt, ist der Drucker mit der Ausgabe beschäftigt. Fällt es auf 0, wurde das Zeichen vom Drucker ausgegeben und er wartet auf ein neues Zeichen.
Die Ausgabe weiterer Zeichen läuft wie eben beschrieben ab, jedoch kann die Beobachtung der Fehlerzustände am Anfang der Ausgaberoutine entfallen.
Eine Fehlermeldung sollte zum Bildschirm ausgegeben werden, wenn der Drucker seine Flagge /ERR für allgemeine Fehlerzustände auf 0, oder die Flagge PAPER OUT -kein Papier vorhanden – auf 1 setzt.

 

 

 

 

 

Pinbelegung 25pol Sub-D Stecker auf 36pol Amphenolstecker

 

 

 

 

 

-
-
-
GND
#ERR
-
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19

 

18
17
16
15
14
13
12
11
10
09
08
07
06
05
04
03
02
01
(+5V)
ChGND
GND
-
-
-
PAPER
BUSY
#ACKN
D7
D6
D5
D4
D3
D2
D1
D0
#STRB

 

 

 

 

 

ChGND bedeutet Chassis Ground und kann als gemeinsame Abschirmung benutzt werden. Zur Einzelabschirmung der Signalleitungen, ist jedem Pin mit einem Nutzsignal gegenüberliegend ein Pin mit dem Bezugspotential zugeordnet. Für die Signalübertragung sollte das fett gedruckte GND-Bezugspotential verwendet werden.

Achtung, einige Drucker führen auf Pin 18 die Versorgungsspannung von +5V des Druckers nach aussen. Diese sollte nicht mit der Versorgungsspannung des Computers zusammengeführt werden. Erhebliche Ausgleichsströme können die Folge sein und sowohl den Computer als auch den Drucker beschädigen.
Weitere Signale auf dem Stecker können sein ..

/INI – Pin 31- Init:        Wird dieses Signal auf log 0 gesetzt, führt der Drucker einen internen Reset durch, so als wäre er gerade eingeschaltet worden. Diese Einstellung kann aber auch durch Steuerzeichen (Escape Sequenzen) und über die Datenleitungen durchgeführt werden.

/SLC – Pin 36- Select: Führt dieses Signal eine log1, dann kann der Computer den Drucker mit Steuerzeichen über den Datenbus ein- bzw. ausschalten. Liegt das Signal auf log 0, gilt der Drucker in jedem Fall als angewählt. Normalerweise kann dieses Signal an einem DIP-Schalter im Drucker voreingestellt werden.

 

 

 

 

 

Elektrische und mechanische Standards
Druckeranschluss:        36pol Amphenolbuchse Serie 57
Signale:                         alle Signale besitzen TTL-Pegel. Eingangssignale
                                      sind mit Pull-Up Widerständen abgeschlossen
Übertragungsbereich:   2 bis 5m. Bei längeren Übertragungsstrecken sollte
                                       ein hochwertiges abgeschirmtes Kabel verwendet
                                       werden.

 

 

 

 

www..de