Θύρα LPT: pinout. Υπουργείο Παιδείας και Επιστημών της Ρωσικής Ομοσπονδίας Ομοσπονδιακό κρατικό προϋπολογισμό Εκπαιδευτικό Ίδρυμα Περιγραφή lpt

Ντμίτρι Ιβάνοφ, 21 Σεπτεμβρίου 2009 Το άρθρο αναθεωρήθηκε και ενημερώθηκε στις 23 Ιανουαρίου 2012

Κατά τη διάρκεια της ύπαρξης αυτού του ιστότοπου, μου κάνουν συχνά την ίδια ερώτηση, η οποία μπορεί να περιγραφεί περίπου ως εξής:



Ως αποτέλεσμα, αποφάσισα να περιγράψω αυτό το θέμα με περισσότερες λεπτομέρειες και να γράψω ένα άρθρο. Ναι, πράγματι, τώρα πρέπει να αναζητήσετε σταθερούς υπολογιστές με θύρα LPT (δηλαδή, δεν συνοδεύεται πλέον από κάθε «μητέρα» μια θύρα LPT). Δεν χρειάζεται να μιλήσουμε καθόλου για φορητούς υπολογιστές. Τα σύγχρονα μοντέλα δεν χρησιμοποιούν καθόλου θύρες LPT. Μόνο πολύ ακριβά και εξειδικευμένα μηχανήματα, όπως η DELL, μπορούν να «καμαρώσουν» ότι έχουν αυτή τη θύρα.

Επίσης, τώρα μπορείτε να αγοράσετε ελεύθερα συσκευές που ονομάζονται προσαρμογείς LPT-USB.

Οι οδηγίες λένε ότι αυτή η συσκευή είναι πλήρως συμβατή με διάφορους εκτυπωτές, σαρωτές κ.λπ. Συνδέουμε τον προσαρμογέα στη θύρα USB και εγκαθιστούμε τα προγράμματα οδήγησης. Ας δούμε τον διαχειριστή συσκευών. Πιθανότατα στο νήμα "Θύρες LPT/COM"δεν εμφανίστηκε τίποτα (αν και υπάρχουν εξαιρέσεις). Πιθανότατα θα υπάρξει ένα νέο υποκατάστημα με μια παράξενη συσκευή με ένα όνομα, για παράδειγμα, LPT1USBή στην ενότητα Συσκευές USB μια περίεργη καταχώρηση σχετικά "Υποστήριξη συσκευών USB για εκτυπωτές LPT". Ας προσπαθήσουμε να εκτελέσουμε κάποιο παράδειγμα από τα παραπάνω άρθρα. Και αυτό δεν συμβαίνει - τίποτα δεν λειτουργεί. Δοκιμάζουμε τη διεύθυνση θύρας LPT1 - τίποτα δεν λειτουργεί. Ας δοκιμάσουμε τη διεύθυνση θύρας LPT2. Δυστυχώς, αυτός ο εκσυγχρονισμός της διεύθυνσης στα αιτήματα επίσης δεν οδηγεί σε τίποτα - τα LED δεν ανάβουν και δεν ανάβουν.

Για να καταλάβουμε τι συμβαίνει εδώ, ας επιστρέψουμε για λίγο στη συνηθισμένη θύρα LPT "native iron" - LPT1, η οποία "εξέχει" από τη μητρική πλακέτα. Ας πάμε στον διαχειριστή συσκευών και ας δούμε τις ιδιότητες της θύρας μας. Εκεί θα δούμε μια τέτοια εικόνα. Είναι ξεκάθαρα ορατό ότι το σύστημα έχει καταχωρήσει τη βασική διεύθυνση εισόδου/εξόδου 0x378 και τον αριθμό αιτήματος διακοπής 7. Όλα είναι σωστά.

Τώρα ας βουτήξουμε στο επίπεδο προγραμματισμού. Στα παραδείγματα των παραπάνω άρθρων, παρακάμπτοντας το σύστημα προστασίας I/O χρησιμοποιώντας νόμιμες και παράνομες μεθόδους, επικοινωνήσαμε απευθείας με έναν πραγματικό καταχωρητή I/O, στον οποίο έχει εκχωρηθεί η διεύθυνση 0x378. Όλα είναι ξεκάθαρα εδώ. Ας μην ξεχνάμε επίσης ότι τα Windows συνιστούν να εργάζεστε με τη θύρα LPT χρησιμοποιώντας κλήσεις συναρτήσεων API - OpenFile(), WriteFile(), ReadFile(). Οι εφαρμογές που χρησιμοποιούν τη θύρα LPT για την ανταλλαγή πληροφοριών μέσω παράλληλης διεπαφής με εξωτερικές συσκευές (εκτυπωτής, για παράδειγμα) κάνουν ακριβώς αυτό. Δεν έχει καμία εργασία να ορίσει κανένα bit καταχωρητή Δεδομένανομική μονάδα. Απλώς (η εφαρμογή) χρειάζεται να στείλει ένα πακέτο δεδομένων και ποιος θα είναι εκεί ποιες γραμμές, και ταυτόχρονα να το "τραβήξει" και να το διαβάσει δεν ενδιαφέρεται πολύ. Αυτές οι λειτουργίες εκτελούνται από το πρόγραμμα οδήγησης θύρας LPT του συστήματος. Φορτώνεται στη μνήμη κατά την εκκίνηση του λειτουργικού συστήματος. Όταν καλούμε τη συνάρτηση OpenFile ("LPT1", ....)ουσιαστικά έχουμε πρόσβαση στο πρόγραμμα οδήγησης θύρας, το οποίο ονομάζεται συμβολικά LPT1. Το πρόγραμμα οδήγησης κάνει μια δέσμη διαφορετικών εργασιών - αρνείται την πρόσβαση στη θύρα σε άλλες διεργασίες, διαμορφώνει τις παραμέτρους του πρωτοκόλλου μεταφοράς δεδομένων, υλοποιεί αυτή τη μεταφορά, αλλά τελικά όλα καταλήγουν στον άμεσο έλεγχο των μεμονωμένων bit θύρας LPT σε επίπεδο πυρήνα λειτουργικού συστήματος.

Τώρα ας προσπαθήσουμε να δουλέψουμε με τον προσαρμογέα USB-LPT. Ας ξεκινήσουμε, όσο περίεργο κι αν φαίνεται, με τις κλήσεις API. Ας ξεκινήσουμε OpenFile ("LPT1USB", ...)(ανάλογα με τον τρόπο κλήσης αυτού του προσαρμογέα στη διαχείριση συσκευών, αν καλείται καθόλου). Τι συμβαίνει; Το γεγονός είναι ότι τώρα δεν θα εργαστούμε με το πρόγραμμα οδήγησης θύρας OS LPT, αλλά με το πρόγραμμα οδήγησης αυτού του προσαρμογέα! Αυτό είναι το κόλπο! Λαμβάνει ένα πακέτο δεδομένων από την εφαρμογή χρήστη μας και, στην απαιτούμενη μορφή, στέλνει αυτό το πακέτο μέσω του προγράμματος οδήγησης USB του συστήματος στον ελεγκτή USB, τα «πόδια» του οποίου προεξέχουν από την εξωτερική υποδοχή LPT στο καλώδιο (καλά, αυτό είναι «πρόχειρη εξήγηση»). Βλέπετε, δεν υπάρχει υπόδειξη πρόσβασης στα μητρώα στις διευθύνσεις 0x378 (0x278), επειδή απλά δεν υπάρχουν!

Επομένως, όταν προσπαθείτε να εκτελέσετε τα παραδείγματα σε αυτήν την ενότητα και να αποκτήσετε απευθείας πρόσβαση στις διευθύνσεις 0x378 (αν αυτή η "ψευδοθύρα" ονομαζόταν LPT1USB ή κάτι τέτοιο), 0x278 (LPT2_...), κ.λπ. Δεν συμβαίνει τίποτα. Απλώς δεν υπάρχουν! Αλλά ένα πρόγραμμα που λειτουργεί μέσω κλήσεων API δεν θα παρατηρήσει τίποτα - όλη η εργασία χαμηλού επιπέδου γίνεται από το πρόγραμμα οδήγησης και ποιο πρόγραμμα οδήγησης και πού θα πάνε τα πακέτα δεδομένων (στην πραγματική θύρα I/O ή στον ελεγκτή κεντρικού υπολογιστή USB) - η εφαρμογή δεν ενδιαφέρεται! Δοκιμάστε να ανοίξετε τις ιδιότητες "ψευδοθύρας" στη Διαχείριση Συσκευών. Δεν έχετε καρτέλα πόρους; Ναι, αλλά υπάρχουν κάποιες ακατάλληλες τιμές ή η καρτέλα είναι απενεργοποιημένη; Στην πραγματικότητα του θέματος.



Γιατί 99%; Επειδή υπάρχουν αυτοσχέδιοι προσαρμογείς USB-LPT που εντοπίζονται από τα Windows ως πλήρης θύρα LPT1 και τους εκχωρείται μια εντελώς συνηθισμένη διεύθυνση 0x378. Οι άμεσες κλήσεις στις καρφίτσες θύρας είναι επιτυχείς! Ωστόσο, πρόκειται για μια πολύ μη τυπική σχεδίαση (κυρίως ένα πρόγραμμα οδήγησης που παρεμποδίζει τις κλήσεις στη βασική διεύθυνση της θύρας LPT1). Όλα αυτά δεν είναι πολύ αξιόπιστα (η ενημέρωση του λειτουργικού συστήματος - και ο σχεδιασμός χάνει τη λειτουργικότητά του) και μπορεί να συνιστάται μόνο για χρήση με τέντωμα.



Όσο περίεργο κι αν φαίνεται, Λύση ΥΠΑΡΧΕΙ. Μπορείτε πάντα να προσθέσετε μια πραγματική θύρα LPT στον επιτραπέζιο ή φορητό υπολογιστή σας. Πρώτα απ 'όλα, ξεχάστε αμέσως τους προσαρμογείς USB. Για να λυθεί αυτό το πρόβλημα είναι απαραίτητο να αγοράσετε PCI-LPTπροσαρμογέας για επιτραπέζιο υπολογιστή (απαιτείται δωρεάν υποδοχή PCI) ή PCMCIA-LPTπροσαρμογέας φορητού υπολογιστή (δείτε φωτογραφία παρακάτω).


Δεν υπάρχουν προβλήματα κατά τη χρήση αυτών των συσκευών. Ορίζονται ως πραγματικές "εγγενείς" θύρες LPT. Η αντίστοιχη καταχώρηση θα προστεθεί στην καρτέλα διαχείρισης συσκευών "Θύρες LPT/COM". Η άμεση πρόσβαση στις ακίδες θυρών θα λειτουργήσει.

Μια θύρα παράλληλης διασύνδεσης εισήχθη στον υπολογιστή για τη σύνδεση εκτυπωτή - θύρα LPT (Line Printer - line printer).

Ο προσαρμογέας παράλληλης διεπαφής είναι σύνολο μητρώων,βρίσκεται στο χώρο I/O. Οι καταχωρητές λιμένων απευθύνονται σε σχέση με τη διεύθυνση βάσης της θύρας, οι τυπικές τιμές της οποίας είναι 386h, 378h και 278h. Το λιμάνι έχει εξωτερικός 8-bit δίαυλο δεδομένων 5-bit λάστιχοσήματα κατάστασηκαι 4-bit δίαυλο σήματος ελέγχου.

Το BIOS υποστηρίζει έως και τέσσερις θύρες LPT (LPT1-LPT4) με την υπηρεσία διακοπής INT 17 ωρών, η οποία παρέχει επικοινωνία με εκτυπωτές μέσω της διεπαφής Centronics Με αυτήν την υπηρεσία, το BIOS εκτελεί την έξοδο χαρακτήρων, τη διεπαφή και την προετοιμασία του εκτυπωτή, καθώς και την κατάσταση του εκτυπωτή σφυγμομέτρηση.

Διεπαφή Centronics

Ο όρος Centronics αναφέρεται τόσο στο σύνολο των σημάτων και του πρωτοκόλλου επικοινωνίας, όσο και στην υποδοχή 36 ακίδων που είναι εγκατεστημένη στους εκτυπωτές. Ο σκοπός των σημάτων δίνεται στον πίνακα. 1.

Τραπέζι1.

Σήματα διασύνδεσης Centronics

Σκοπός

Στροβοσκοπικό δεδομένων. Τα δεδομένα συλλαμβάνονται από χαμηλό επίπεδο σήματος

Γραμμές δεδομένων. Δεδομένα 0 (ακίδα 2) - λιγότερο σημαντικό bit

Επιβεβαίωση - ένας παλμός επιβεβαίωσης byte (ένα αίτημα για λήψη του επόμενου). Μπορεί να χρησιμοποιηθεί για τη δημιουργία αιτήματος διακοπής

Απασχολημένος. Η λήψη δεδομένων είναι δυνατή μόνο όταν το επίπεδο σήματος είναι χαμηλό

Ένα υψηλό επίπεδο σηματοδοτεί το τέλος του χαρτιού

Σηματοδοτεί ότι ο εκτυπωτής είναι ενεργοποιημένος

Αυτόματη μετάφραση γραμμών.

Σφάλμα: Τέλος χαρτιού, OFF-Line ή εσωτερικό σφάλμα εκτυπωτή

Αρχικοποίηση

Επιλογή εκτυπωτή (χαμηλό επίπεδο). Όταν το επίπεδο είναι υψηλό, ο εκτυπωτής δεν αντιλαμβάνεται άλλα σήματα διεπαφής

Κοινό καλώδιο διασύνδεσης

Κατεύθυνση

(είσοδος/έξοδος) σε σχέση με εκτυπωτή.

Η διεπαφή Centronics υποστηρίζεται από τους περισσότερους εκτυπωτές με παράλληλη διεπαφή IRPR-M.

Παραδοσιακή θύρα lpt

Η παραδοσιακή θύρα SPP (Standard Parallel Port) είναι μια θύρα μονής κατεύθυνσης βάσει της οποίας υλοποιείται το πρωτόκολλο ανταλλαγής Centronics σε λογισμικό. Η θύρα παρέχει τη δυνατότητα δημιουργίας αιτήματος διακοπής υλικού με βάση έναν παλμό στην είσοδο ACK#. Τα σήματα της θύρας εξάγονται σε σύνδεσμοςDB-25S(πρίζα) εγκατεστημένη απευθείας στην πλακέτα προσαρμογέα (ή πλακέτα συστήματος) ή συνδεδεμένη σε αυτήν με καλώδιο με κορδέλα. Το όνομα και ο σκοπός των σημάτων σύνδεσης θύρας (Πίνακας 2) αντιστοιχούν στη διεπαφή Centronics.

Τραπέζι 2.

Τυπική υποδοχή θύρας LPT

Επικοινωνήστε με το DB-25S

Σύρμα βρόχου

Σκοπός

18, 20, 22, 24, 26

* Το I/O ρυθμίζει την κατεύθυνση μετάδοσης (είσοδος/έξοδος) του σήματος της θύρας. Το 0/I υποδηλώνει τις γραμμές εξόδου των οποίων η κατάσταση διαβάζεται με ανάγνωση από τις αντίστοιχες θύρες εξόδου.

**Το σύμβολο "\" επισημαίνει ανεστραμμένα σήματα (1 στον καταχωρητή αντιστοιχεί σε χαμηλό επίπεδο γραμμής).

***Η είσοδος Ack# συνδέεται με μια αντίσταση (10kOhm) στην παροχή +5V.

Η τυπική θύρα έχει τρεις καταχωρητές 8-bit,που βρίσκονται σε παρακείμενες διευθύνσεις στο χώρο I/O, ξεκινώντας από τη διεύθυνση βάσης της θύρας (BASE).

Μητρώο δεδομένων (DR) - μητρώο δεδομένων,διεύθυνση= BASE.Τα δεδομένα που έχουν γραφτεί σε αυτή τη θύρα είναι εμφανίζονταιστις γραμμές εξόδου της διεπαφής. Τα δεδομένα που διαβάζονται από αυτόν τον καταχωρητή, ανάλογα με το κύκλωμα του προσαρμογέα, αντιστοιχούν είτε σε δεδομένα που έχουν εγγραφεί προηγουμένως είτε σε σήματα στις ίδιες γραμμές.

Μητρώο κατάστασης (SR) -μητρώο κατάστασης,αντιπροσωπεύοντας Θύρα εισόδου 5 bitσήματα κατάστασης εκτυπωτή (bits SR.4-SR.7), διεύθυνση = BASE+1 BitSR.7 είναι ανεστραμμένη - ένα χαμηλό επίπεδο σήματος αντιστοιχεί σε μια τιμή μεμονωμένου bit στον καταχωρητή και αντίστροφα.

Σκοπός των bit καταχωρητή κατάστασης(οι αριθμοί των επαφών σύνδεσης δίνονται σε παρένθεση):

SR.7-Απασχολημένος - αντίστροφη εμφάνιση κατάστασης γραμμής κατειλημμένης (11).

SR.6 -ACK (Acknowledge) -εμφανίζει την κατάσταση της γραμμής Ack# (10).

SR.5 -PE (Paper End) - εμφανίζει την κατάσταση της γραμμής Paper End (12).

SR.4-Select - εμφανίζει την κατάσταση της γραμμής Select (13) Μια μεμονωμένη τιμή αντιστοιχεί στο σήμα για την ενεργοποίηση του εκτυπωτή.

SR.3-Error - εμφανίζει την κατάσταση της γραμμής Σφάλμα (15).

SR.2 - PIRQ - σημαία διακοπής για το σήμα Ack# (μόνο για τη θύρα PS/2). Το bit διαγράφεται εάν το σήμα Ack# προκάλεσε διακοπή υλικού. Η μοναδική τιμή ορίζεται με επαναφορά υλικού και μετά την ανάγνωση του μητρώου κατάστασης.

SR - δεσμευμένο.

Μητρώο ελέγχου (CR) - μητρώο ελέγχου,διεύθυνση=BA5E+2. Όπως το μητρώο δεδομένων, αυτό Θύρα εξόδου 4 bitμπορεί να γραφτεί και να διαβαστεί (bit 0-3), αλλά η προσωρινή μνήμη εξόδου είναι συνήθως του τύπου ανοιχτός συλλέκτης.Αυτό σας επιτρέπει να χρησιμοποιείτε πιο σωστά τις γραμμές αυτού του καταχωρητή ως είσοδο κατά τον προγραμματισμό τους σε υψηλό επίπεδο. Τα bit O, 1, 3 αντιστρέφονται - μια μεμονωμένη τιμή στον καταχωρητή αντιστοιχεί σε χαμηλό επίπεδο σήματος και αντίστροφα.

Σκοπός των bit καταχωρητή ελέγχου:

CR - με κράτηση.

CR.5 - Κατεύθυνση - bit ελέγχου κατεύθυνσης μετάδοσης (μόνο για θύρες PS/2 Η εγγραφή μετατρέπει τη θύρα δεδομένων σε λειτουργία εισόδου).

CR.4 -ACKINTEN (Ack Interrupt Enable) - μια μεμονωμένη τιμή επιτρέπει τη διακοπή όταν το σήμα πέφτει στη γραμμή Ackff - το επόμενο σήμα αιτήματος byte.

CR.3 - Select In - μια τιμή ενός bit αντιστοιχεί σε χαμηλό επίπεδο στην έξοδο επιλογής (17) - ένα σήμα που επιτρέπει στον εκτυπωτή να λειτουργεί μέσω της διεπαφής Centronics.

CR.2 - Init - μηδενική τιμή bit αντιστοιχεί σε χαμηλό επίπεδο στην έξοδο Imt# (16) - σήμα επαναφοράς υλικού εκτυπωτή.

CR.1 - Auto LF - μια τιμή ενός bit αντιστοιχεί σε ένα χαμηλό επίπεδο στην έξοδο Auto LF# (14) - ένα σήμα για αυτόματη τροφοδοσία γραμμής (LF - Line Feed) κατά τη λήψη ενός byte επιστροφής μεταφοράς (CR - Carriage Return ).

CR.O -Strobe - μια τιμή μεμονωμένου bit αντιστοιχεί σε χαμηλή στάθμη στην έξοδο Strobeff (1) - το σήμα στροβοσκοπικών δεδομένων εξόδου.

Αίτημα διακοπής υλικού(συνήθως IRQ7 ή IRQ5) δημιουργείται από την πτώση αρνητικού σήματος στον ακροδέκτη 10 της υποδοχής διασύνδεσης (ACK#) όταν CR.4 = 1. Η διακοπή δημιουργείται όταν ο εκτυπωτής επιβεβαιώσει τη λήψη του προηγούμενου byte.

Διαδικασία εξόδου byteμέσω της διεπαφής Centronics μέσω μιας τυπικής θύρας περιλαμβάνει τα ακόλουθα βήματα (ο απαιτούμενος αριθμός λειτουργιών διαύλου επεξεργαστή δίνεται σε παρένθεση):

Έξοδος ενός byte στον καταχωρητή δεδομένων (1 κύκλος IOWR#).

Είσοδος από τον καταχωρητή κατάστασης και έλεγχος ετοιμότητας της συσκευής (bit SR.7 - σήμα BUSY).

Μετά τη λήψη της ετοιμότητας, η έξοδος ορίζει το στροβοσκόπιο δεδομένων στον καταχωρητή ελέγχου και η επόμενη έξοδος αφαιρεί το στροβοσκόπιο (2 κύκλοι lOWRff).

Η τυπική θύρα είναι εξαιρετικά ασύμμετρη - ενώ υπάρχουν 12 γραμμές (και bit) που συνήθως λειτουργούν ως έξοδος, μόνο 5 γραμμές κατάστασης λειτουργούν ως είσοδος. Εάν απαιτείται συμμετρική αμφίδρομη επικοινωνία, λειτουργεί σε όλες τις τυπικές θύρες λειτουργία τσιμπήματος - Λειτουργία Nibble Σε αυτή τη λειτουργία, που ονομάζεται επίσης Hewlett Packard Bitronics, μεταδίδονται 4 bit δεδομένων ταυτόχρονα, η πέμπτη γραμμή χρησιμοποιείται για χειραψία.

Μία από τις παλαιότερες θύρες υπολογιστή είναι η θύρα LPT ή η παράλληλη θύρα. Και παρόλο που η θύρα LPT δεν είναι πλέον ορατή σε κάθε μητρική πλακέτα, ωστόσο, οι αναγνώστες μπορεί να ενδιαφέρονται να μάθουν τι είναι.

Πρώτα απ 'όλα, ας δούμε το όνομα της θύρας. Ίσως δεν γνωρίζουν όλοι τι σημαίνει η συντομογραφία LPT. Στην πραγματικότητα, το LPT είναι μια συντομογραφία για το Line Print Terminal. Έτσι, γίνεται σαφές ότι η θύρα LPT προοριζόταν κυρίως για τη σύνδεση εκτυπωτών. Γι' αυτό η θύρα LPT έχει άλλο όνομα - θύρα εκτυπωτή. Αν και θεωρητικά άλλες συσκευές μπορούν να συνδεθούν στο LPT.

Η θύρα LPT έχει μακρά ιστορία. Αναπτύχθηκε από την Centronics (γι' αυτό η θύρα ονομάζεται συχνά θύρα Centronics), η οποία παρήγαγε εκτυπωτές dot matrix πριν από την εποχή των Η/Υ, στις αρχές της δεκαετίας του 1970. Και στις αρχές της δεκαετίας του 1980, η θύρα LPT άρχισε να χρησιμοποιείται από την IBM στους υπολογιστές της και για κάποιο διάστημα έγινε η τυπική θύρα για τη σύνδεση συσκευών υψηλής ταχύτητας (εκείνη την εποχή).

Εμφάνιση της παράλληλης θύρας στο πίσω μέρος του υπολογιστή

Η διεπαφή LPT υπήρχε σε πολλές εκδόσεις. Στην αρχική έκδοση, η θύρα LPT ήταν μονής κατεύθυνσης, δηλαδή μπορούσε να μεταδώσει δεδομένα μόνο προς μία κατεύθυνση - σε μια περιφερειακή συσκευή. Φυσικά, αυτή η κατάσταση δεν ταίριαζε στους χρήστες, αφού υπήρχαν εκτυπωτές που απαιτούσαν μεταφορά δεδομένων και προς τις δύο κατευθύνσεις. Επομένως, η διεπαφή LPT βελτιώθηκε στη συνέχεια αρκετές φορές έως ότου αναπτύχθηκε το διεθνές πρότυπο IEEE 1284. Σύμφωνα με αυτό το πρότυπο, η διεπαφή παράλληλης θύρας υποστήριζε πολλούς τρόπους λειτουργίας και ήταν επίσης συμβατή με παλαιότερα πρότυπα. Επιπλέον, η διεπαφή στην τελική της έκδοση υποστήριζε σχετικά υψηλούς ρυθμούς μεταφοράς δεδομένων - έως και 5 Mb/s.

Πώς λειτουργεί η παράλληλη θύρα

Η θύρα LPT ονομάζεται παράλληλη επειδή το καλώδιο που συνδέεται με αυτήν μεταδίδει δεδομένα παράλληλα, δηλαδή ταυτόχρονα κατά μήκος πολλών αγωγών. Αυτή η ιδιότητα διακρίνει μια παράλληλη θύρα από μια άλλη θύρα υπολογιστή—μια σειριακή θύρα COM.

Υπάρχουν 8 αγωγοί που μεταδίδουν τα ίδια τα δεδομένα στο καλώδιο Centronics Επιπλέον, το καλώδιο περιέχει πολλές γραμμές μέσω των οποίων μεταδίδονται τα σήματα ελέγχου.

Παρόλο που η παράλληλη θύρα χρησιμοποιείται κυρίως για τη σύνδεση εκτυπωτών, υπήρχαν, ωστόσο, άλλες χρήσεις για αυτήν. Πρώτον, χρησιμοποιώντας τη θύρα LPT μπορείτε να συνδέσετε απευθείας δύο υπολογιστές χρησιμοποιώντας ένα ειδικό καλώδιο Interlink. Πριν από την ευρεία χρήση των καρτών δικτύου Ethernet, μια τέτοια σύνδεση, αν και δεν παρείχε στον χρήστη υψηλές ταχύτητες μεταφοράς δεδομένων, ήταν συχνά, ωστόσο, ο μόνος τρόπος σύνδεσης δύο υπολογιστών. Υπάρχουν επίσης ηλεκτρονικά κλειδιά σχεδιασμένα για σύνδεση στη θύρα LPT.

Καλώδιο για μεταφορά δεδομένων μεταξύ υπολογιστών - Διασύνδεση

Όπως συμβαίνει με πολλές άλλες συσκευές στη μητρική πλακέτα, οι τρόποι λειτουργίας παράλληλης θύρας μπορούν συχνά να διαμορφωθούν μέσω του BIOS Setup. Κατά κανόνα, για αυτό χρησιμοποιούνται επιλογές του BIOS όπως Parallel Port, Parallel Port IRQ, Parallel Port DMA κ.λπ.

Υποδοχή παράλληλης θύρας μητρικής πλακέτας και καλώδιο Centronics

Η υποδοχή θύρας LPT βρίσκεται συνήθως απευθείας στη μητρική πλακέτα, αν και μέχρι τα μέσα της δεκαετίας του 1990. ήταν συνήθως παρούσα σε μια λεγόμενη multicard τοποθετημένη σε μια υποδοχή επέκτασης, στην οποία βρίσκονταν και άλλες θύρες του υπολογιστή. Η έξοδος θύρας είναι μια θηλυκή υποδοχή 25 ακίδων που ονομάζεται υποδοχή DB25.

ISA multicard με LPT (DB25 - «μητέρα») και θύρα gaming επί του σκάφους.

Για τη σύνδεση στον εκτυπωτή, χρησιμοποιείται ένα ειδικό καλώδιο - ένα καλώδιο Centronics. Το ένα άκρο (βύσμα) του καλωδίου Centronics είναι συνδεδεμένο στη θύρα, το άλλο (επίσης βύσμα) συνδέεται σε μια ειδική υποδοχή στον εκτυπωτή. Ο τελευταίος σύνδεσμος έχει 36 ακίδες. Επομένως, ένα χαρακτηριστικό του καλωδίου Centronics είναι ότι έχει διαφορετικούς συνδέσμους και στις δύο πλευρές.

Εμφάνιση του καλωδίου Centronics.

Αν και η υποδοχή καλωδίου της μητρικής πλακέτας ονομάζεται συχνά υποδοχή Centronics, για την αυστηρή χρήση, η υποδοχή Centronics είναι μόνο μια υποδοχή 36 ακίδων για σύνδεση στον εκτυπωτή και όχι στη μητρική πλακέτα. Ο σύνδεσμος καλωδίου για τη σύνδεση στη θύρα ονομάζεται υποδοχή Amphenolstacker, από το όνομα του Αμερικανού κατασκευαστή συνδετήρων Amphenol που το ανέπτυξε.

Χαρακτηριστικά της παράλληλης θύρας

Λόγω του γεγονότος ότι η θύρα LPT υποστηρίζει παράλληλη μεταφορά δεδομένων, στους πρώτους υπολογιστές αυτή η θύρα θεωρούνταν μια από τις ταχύτερες θύρες υπολογιστή. Η μετάδοση δεδομένων σε πολλές γραμμές κάνει τη διεπαφή LPT πολύ πιο κοντά στην αρχιτεκτονική με τους διαύλους υπολογιστών. Ωστόσο, αυτή η περίσταση επιβάλλει επίσης έναν περιορισμό στο μήκος του καλωδίου, το οποίο, λόγω παρεμβολών που εμφανίζονται στο καλώδιο, δεν μπορεί να υπερβαίνει τα 5 m.

Η μέγιστη τάση που χρησιμοποιείται στις γραμμές σήματος θύρας είναι +5 V. Για απλή μετάδοση δεδομένων, απαιτούνται μόνο δέκα γραμμές σήματος - αυτές είναι 8 γραμμές δεδομένων, μια γραμμή σήματος στροβοσκοπίου, δηλαδή ένα σήμα ότι η θύρα είναι έτοιμη για μετάδοση δεδομένων και μια πολυσύχναστη γραμμή. Οι υπόλοιπες γραμμές χρησιμοποιούνται για συμβατότητα με το πρότυπο Centronics.

Θηλυκή θύρα LPT με αρίθμηση pin.

Pinout συνδετήρα παράλληλης θύρας DB25:

  • 1 – Στροβοσκοπικό δεδομένων
  • 2-9 – Δεδομένα, bits 0-7
  • 10 – Επιβεβαίωση (Επιβεβαίωση από τον εκτυπωτή)
  • 11 – Απασχολημένος
  • 12 – Έξω χαρτί
  • 13 – Επιλέξτε (Εκτυπωτής ενεργός)
  • 14 – Αυτόματη τροφοδοσία
  • 15 – Σφάλμα
  • 16 – Init (αρχικοποίηση εκτυπωτή)
  • 17 – Επιλέξτε Εισαγωγή
  • 18-25 – Γη

συμπέρασμα

Η θύρα LPT είναι μια διεπαφή προσωπικού υπολογιστή που θεωρείται πλέον ξεπερασμένη και δεν έχει σημαντική υποστήριξη από κατασκευαστές υλικού και λογισμικού υπολογιστών. Ωστόσο, η παράλληλη θύρα εξακολουθεί να χρησιμοποιείται με επιτυχία σε πολλά παλαιότερα μοντέλα υπολογιστών και εκτυπωτών.

Έτσι, ήρθε η ώρα να γράψετε ένα απλό πρόγραμμα που να δείχνει πώς να διαβάζετε και να γράφετε δεδομένα σε μια θύρα LPT. Προς το παρόν, θα το γράψουμε στην έκδοση της κονσόλας, έτσι ώστε στο στάδιο της κατανόησης και ανάλυσης αυτού του προγράμματος να μην χρειάζεται να «σκάβουμε» στα άγρια ​​φύση του κώδικα στα Windows (μην ανησυχείτε, το επόμενο άρθρο θα αφιερώνεται ειδικά σε μια εφαρμογή με οπτική διεπαφή).


Πριν προχωρήσουμε και γράψουμε ένα πρόγραμμα, πρέπει να κατανοήσουμε τη θύρα LPT, να δούμε από τι αποτελείται και πώς μπορούμε να τη χρησιμοποιήσουμε για τους δικούς μας σκοπούς. Εάν μιλάμε σε επίπεδο νοικοκυριού, μπορούμε να πούμε ότι μια θύρα LPT είναι ένα σύνολο επαφών στις οποίες μπορούμε να ρυθμίσουμε την τάση στα 0 ή +5 V (λογικά 0 και 1) από το πρόγραμμα ή αυτό μπορεί να γίνει από εξωτερικό συσκευή από το εξωτερικό.



Ας βρούμε ποιες επαφές μπορούμε να λειτουργήσουμε και ποιες όχι. Το παρακάτω σχέδιο θα μας βοηθήσει σε αυτό (δεν το ζωγράφισα εγώ, ο συγγραφέας μου είναι άγνωστος. Αλλά είναι πολύ καλό, εγώ ο ίδιος το χρησιμοποιώ όλη την ώρα).

Το σχήμα δείχνει ότι οι ακίδες της θύρας μπορούν να χωριστούν σε τέσσερις ομάδες: αυτό "πήλινος"συμπεράσματα. Σημειώνονται με μαύρο χρώμα (καρφίτσες 18-25). Όλα είναι συνδεδεμένα μεταξύ τους, ώστε να μπορείτε να χρησιμοποιήσετε οποιοδήποτε από αυτά ως γη για την ανάπτυξή σας.

Οι ακίδες του λεγόμενου μητρώου σημειώνονται με κόκκινο χρώμα Δεδομένα(καρφίτσες 2-9). Με τον όρο μητρώο εννοούμε (σε καθημερινό επίπεδο) τη συσχέτιση μιας ομάδας επαφών θύρας LPT. Υπάρχουν 8 από αυτά στο μητρώο δεδομένων. Αυτός είναι ο πιο έξυπνος καταχωρητής - μας επιτρέπει, τόσο από το πρόγραμμα όσο και από μια εξωτερική συσκευή, να ορίσουμε το λογικό 0 ή 1 στις επαφές του, π.χ. είναι αμφίδρομη. Αυτό ακριβώς χρησιμοποιήσαμε στο πρώτο μας πρόγραμμα. Port.exe- Σύνδεσε το LED στον 2ο ακροδέκτη της θύρας (όπως βλέπετε τώρα, αυτός ο ακροδέκτης ανήκει στον καταχωρητή δεδομένων και είναι το μηδενικό του bit) και τον ακροδέκτη 25 (γείωση) και χρησιμοποιώντας το πρόγραμμα ελέγξαμε την παροχή τάσης στον ακροδέκτη 2 σε σχέση με το έδαφος. Για να αποκτήσετε πρόσβαση σε αυτό το μητρώο, πρέπει να γνωρίζετε τη διεύθυνσή του: 0x378- σε δεκαεξαδικό σύστημα ή 888 σε δεκαδικό.


Στο σχήμα γράφεται &H378 - αυτό είναι το ίδιο με το 0x378, απλώς ο πρώτος προσδιορισμός είναι εγγενής στη γλώσσα Pascal και παρόμοια, αλλά γράφουμε σε C.


Θυμόμαστε ξανά το πρόγραμμα Port.exe, σημειώστε ότι αποκτήσαμε πρόσβαση στον καταχωρητή χρησιμοποιώντας την ακόλουθη συνάρτηση _outp(Διεύθυνση, 0); , όπου η μεταβλητή Διεύθυνσηείχε οριστεί προηγουμένως ως 888. Τώρα είναι σαφές ότι με αυτό υποδείξαμε τις συναρτήσεις _outp(), ότι θέλουμε να εργαστούμε συγκεκριμένα με το μητρώο δεδομένων.

Ας συνεχίσουμε να κοιτάμε το λιμάνι. Απομένουν άλλα δύο μητρώα. Στη συνέχεια θα γίνει η εγγραφή Κατάσταση(καρφίτσες 10-13, 15). Αυτό είναι ένα μητρώο μονής κατεύθυνσης. Μπορεί να ελεγχθεί μόνο "από το εξωτερικό", μέσω μιας εξωτερικής συσκευής (αυτό σημαίνει αλλαγή δεδομένων σε αυτήν, μπορείτε να διαβάσετε από οποιοδήποτε μητρώο προς οποιαδήποτε κατεύθυνση). Έχει διεύθυνση 0x379- σε δεκαεξαδικό σύστημα ή 889 σε δεκαδικό. Και εγγραφείτε Ελεγχος(επαφές 1, 14, 16-17). Έχει μόνο 4 επαφές και μπορεί να ελεγχθεί μόνο από ένα πρόγραμμα. Η διεύθυνσή του: 890 στο δεκαδικό σύστημα.



Τώρα ας δούμε πώς γράφονται και διαβάζονται τα δεδομένα στους καταχωρητές θυρών LPT, δηλ. Πώς ορίζουμε τις απαιτούμενες ακίδες σε 0 ή 1;


Εγγραφή/ανάγνωση δεδομένων στο μητρώο δεδομένων

Λοιπόν, ας δούμε αμέσως ένα πρακτικό πρόβλημα. Θέλω τον αριθμό pin 3 της θύρας LPT (bit D1 του καταχωρητή Δεδομένα) ρυθμίστηκε το λογικό 1 (δηλαδή, έτσι ώστε να υπάρχουν +5 V μεταξύ αυτού και της γείωσης) και οι υπόλοιπες ακίδες αυτού του καταχωρητή (2,4-9 ακροδέκτες θυρών) ήταν μηδενικά. Γράφουμε τον κώδικα:

Διεύθυνση Int = 888; int δεδομένα = 2; Out32 (Διεύθυνση, δεδομένα);

Χρησιμοποίησα τη συνάρτηση Out32()βιβλιοθήκες inpout32.dll, θα το συνηθίσουμε, γιατί... Θα αναλύσουμε περαιτέρω παραδείγματα χρησιμοποιώντας αυτήν τη βιβλιοθήκη. Εάν εκτελεστεί αυτός ο κωδικός, αποδεικνύεται ότι υπάρχει +5 V στον ακροδέκτη 3 της θύρας και το μηδέν κολλάει στο 2,4-9. Πώς συνέβη?

Ας αρχίσουμε να το καταλαβαίνουμε: περνάμε τον αριθμό 888 ως πρώτη παράμετρο στη συνάρτηση Out32() Όπως ήδη γνωρίζετε, αυτή είναι η διεύθυνση του καταχωρητή θύρας δεδομένων LPT. Τώρα η συνάρτηση ξέρει πού να γράψει δεδομένα. Στη συνέχεια, περνάμε τον αριθμό 2 ως δεύτερη παράμετρο, δηλ. τιμή για εγγραφή στη θύρα. Σημειώστε ότι το δύο είναι στο σύστημα δεκαδικών αριθμών. Τι συμβαίνει μετά? Για καλύτερη οπτικοποίηση της διαδικασίας, μετατρέπουμε τον αριθμό 2 από δεκαδικό σε δυαδικό σύστημα αριθμών. Κάθε ψηφίο ενός δυαδικού αριθμού, από τα δεξιά προς τα αριστερά, γράφεται με τη σειρά στον καταχωρητή, ξεκινώντας από το ψηφίο χαμηλής τάξης D0 (ακίδα 2 της θύρας) και τελειώνοντας με το υψηλό ψηφίο D7 (ακίδα 9). Εάν μετατρέψετε τον αριθμό 2 από δεκαδικό σε δυαδικό και προσθέσετε 8 ψηφία στον αριθμό (σύμφωνα με τον αριθμό των ψηφίων του μητρώου), θα λάβετε 00000010 . Μηδενικό ψηφίο ενός δυαδικού αριθμού - 0 (δεξιά) γράφεται στο D0, λοιπόν 1 γράφεται στο D1. Και ούτω καθεξής μέχρι το τέλος, και τα 8 ψηφία.

Λοιπόν, είστε λίγο κουρασμένοι διαβάζοντας; Τώρα θα γίνει πιο ξεκάθαρο. Πάμε στο μητρώο ΔεδομέναΑς γράψουμε τον αριθμό 245. Γράφουμε τον κωδικό:

Διεύθυνση Int = 888; int δεδομένα = 245; Out32 (Διεύθυνση, δεδομένα);

Και πάλι μετατρέπουμε το 245 στο δυαδικό σύστημα αριθμών και γράφουμε τα ψηφία του αριθμού στα αντίστοιχα bit του καταχωρητή από δεξιά προς τα αριστερά. Ως αποτέλεσμα, παίρνουμε ότι υπάρχει τάση +5 V στις ακίδες της θύρας LPT με αριθμό 2,4,6-9 και μηδέν στις ακίδες 3,5.

Λοιπόν, τώρα σκέφτομαι να γράψω δεδομένα στο μητρώο Δεδομένατο καταλάβαμε. Θα πρέπει να σημειωθεί ότι το εύρος των δεκαδικών αριθμών που μπορούν να εγγραφούν στο μητρώο Δεδομέναβρίσκεται ανάμεσα 0 πριν 255 . Ο καταχωρητής μας είναι 8-bit, που σημαίνει ότι ο μέγιστος αριθμός συνδυασμών 0 και 1 στις ακίδες του είναι 2 8 -1=256-1=255.


Ανάγνωση δεδομένων

Τώρα ας διαβάσουμε τα δεδομένα που γράφτηκαν προηγουμένως στη θύρα, δηλαδή, να μάθουμε τα τρέχοντα στατιστικά στοιχεία του μητρώου Δεδομένα. Θέλουμε να μάθουμε ποιες ακίδες εγγραφής ΔεδομέναΤώρα το επίπεδο τάσης είναι υψηλό και στο οποίο είναι χαμηλό. Θυμάστε παραπάνω που γράψαμε τον αριθμό 245 στη θύρα; Ας το πάρουμε από το λιμάνι τώρα. Γράφουμε τον κώδικα:

Διεύθυνση Int = 888; int δεδομένα? δεδομένα = Inp32(Διεύθυνση);

Inp32()- αυτή είναι μια λειτουργία για την ανάγνωση δεδομένων από τη θύρα της βιβλιοθήκης inpout32.dll. Η μόνη παράμετρος για αυτό είναι η διεύθυνση του μητρώου από τον οποίο θέλουμε να διαβάσουμε τα δεδομένα. Στην έξοδο, επιστρέφει έναν δεκαδικό αριθμό που αντιστοιχεί στα τρέχοντα περιεχόμενα του μητρώου. Με την εκτέλεση αυτού του κώδικα, η μεταβλητή δεδομέναθα περιέχει τον αριθμό 245. Τι σημαίνει αυτό; Για να το καταλάβουμε, μετατρέπουμε τον αριθμό 245 από δεκαδικό σε δυαδικό και μπορούμε με σιγουριά να πούμε ότι στις ακίδες της θύρας 2,4,6-9 υπάρχουν τώρα +5 V και στις ακίδες 3,5 0 V. (δείτε το παραπάνω σχήμα)


Εγγραφή/ανάγνωση δεδομένων στον καταχωρητή Control

Τώρα ας διαχειριστούμε τον καταχωρητή Control. Είναι μονής κατεύθυνσης μόνο το πρόγραμμά μας μπορεί να γράψει δεδομένα σε αυτό. Σημειώστε πολλά χαρακτηριστικά αυτού του μητρώου. Πρώτον, περιέχει μόνο τέσσερις ακίδες εργασίας. Αυτό σημαίνει ότι μπορείτε να γράψετε έναν αριθμό στην περιοχή από 0 έως 2 4 -1=16-1=15. Δεύτερον, έχει ένα πολύ δυσάρεστο χαρακτηριστικό: ορισμένες από τις εξόδους του είναι ανεστραμμένες, δηλ. αν γράψετε 1 σε αυτό το pin, τότε ορίζεται σε 0. Και αντίστροφα, διαβάζετε 1, αλλά στην πραγματικότητα υπάρχει 0. Επομένως, η σημασία των δεδομένων που γράφτηκαν και των δεδομένων που διαβάζονται δεν είναι απολύτως προφανής. Ακολουθεί ένα παράδειγμα εγγραφής αριθμού στον καταχωρητή Control. Γράφουμε τον κώδικα:

Διεύθυνση Int = 890; int δεδομένα = 10; Out32 (Διεύθυνση, δεδομένα);

Και ένα παράδειγμα ανάγνωσης:

Διεύθυνση Int = 890; int δεδομένα? δεδομένα = Inp32(Διεύθυνση);

Εγγραφή/ανάγνωση δεδομένων στο μητρώο κατάστασης

Επιτέλους έφτασε στο μητρώο Κατάσταση. Είναι μονής κατεύθυνσης, τα δεδομένα μπορούν να εγγραφούν μόνο σε αυτό εξωτερική συσκευή, δηλ. Στο πρόγραμμα μπορούμε να διαβάσουμε μόνο τα περιεχόμενα αυτού του μητρώου. Έχοντας διαβάσει τα δεδομένα από Κατάσταση, και μετατρέποντάς τα σε δυαδικό αριθμό, είναι αμέσως αρκετά δύσκολο να καταλάβουμε τι πραγματικά συμβαίνει με τις τάσεις στις εξόδους αυτού του καταχωρητή. Πρώτον, έχει επίσης ανεστραμμένους ακροδέκτες και, δεύτερον, τα μπιτ εργασίας είναι οι αριθμοί 4-7 και το 0-3 δεν χρησιμοποιούνται, και επομένως ο αριθμός είναι γραμμένος μάλλον έξυπνα.

Τίθεται το ερώτημα, πώς να εγκαταστήσετε αυτά τα δεδομένα σε αυτό; Αρκετά απλό. Προς το παρόν, θα ενεργείτε ως εξωτερική συσκευή. Εκτελέστε αυτόν τον κωδικό.

Διεύθυνση Int = 889; int δεδομένα? δεδομένα = Inp32(Διεύθυνση);

Θα πάρεις κάποιο νούμερο. Τώρα πάρτε έναν αγωγό και συνδέστε τον σε οποιονδήποτε από τους ακροδέκτες γείωσης της θύρας (18-25) με κάποια ακίδα εγγραφής Κατάσταση(10-13, 15), για παράδειγμα με το δέκατο. Και ξαναδιάβασε. Θα λάβετε διαφορετικό αριθμό. Αφαιρέστε τον αγωγό. Αφού διαβάσετε, θα λάβετε τον αρχικό αριθμό. Πως δουλεύει? Αρχικά, όλοι οι ακροδέκτες αυτού του καταχωρητή έχουν υψηλό επίπεδο τάσης +5 V. Όταν συνδέσαμε έναν από τους ακροδέκτες του στη γείωση, η τάση σε αυτόν, κατά συνέπεια, έγινε μηδέν, δηλ. λογικό μηδέν. Μπορείτε να δοκιμάσετε να βραχυκυκλώσετε άλλες ακίδες εγγραφής Κατάστασηστη γείωση, βραχυκύκλωμα πολλά ταυτόχρονα.

Πρέπει να σημειωθεί ότι σε τέτοια πειράματα με το μητρώο ΚατάστασηΜια όχι εντελώς ξεκάθαρη κατάσταση προκύπτει με τις άλλες ακίδες της θύρας LPT. Μετά το πρώτο κλείσιμο των τερματικών Κατάσταση, οι έξοδοι αρχίζουν να αναβοσβήνουν ΔεδομέναΚαι Ελεγχος. Αυτό οφείλεται στο γεγονός ότι η θύρα LPT έχει σχεδιαστεί για τη σύνδεση ενός εκτυπωτή και των ακίδων Κατάστασηχρησιμοποιείται για την παροχή στον υπολογιστή με ορισμένες πληροφορίες υπηρεσίας. Αλλαγές στις καρφίτσες Κατάστασηκαταχωρεί το πρόγραμμα οδήγησης συστήματος του λειτουργικού συστήματος. Πραγματοποιεί επίσης ενέργειες απόκρισης, οι οποίες είναι παρατηρήσιμες για εμάς με τη μορφή περιοδικών αλλαγών στην κατάσταση άλλων συμπερασμάτων. Δεν μπορείτε να κάνετε τίποτα για αυτό. Συνήθως απλώς κλείνω κάποια γραμμή εγγραφής στην αρχή της εργασίας με τη θύρα Κατάστασηστο έδαφος και περιμένετε περίπου ένα λεπτό μέχρι ο οδηγός να «ηρεμήσει». Μετά από αυτό, η θύρα είναι ελεύθερη και νέες λειτουργίες στο μητρώο Κατάστασηδεν οδηγούν σε ανεξέλεγκτες διεργασίες στο λιμάνι.


© Ντμίτρι Ιβάνοφ
2005-2006

Ο υπολογιστής επεξεργάζεται σήματα σε παράλληλες ροές, επομένως είναι πιο εύκολο για αυτόν να "μιλάει" σε παράλληλες παρά σειριακές εξωτερικές θύρες. Το 1984, το IBM PC παρουσίασε μια παράλληλη θύρα για πρώτη φορά. Σχεδιάστηκε ως μέσο σύνδεσης εκτυπωτών dot matrix, εξ ου και το όνομα LPT - Line Printer ή Line Printer Terminal. Αργότερα, η διασύνδεση USB υψηλής ταχύτητας άρχισε να χρησιμοποιείται για εκτυπωτές και η θύρα LPT άρχισε να αντικαθίσταται σταδιακά από τις προδιαγραφές του υπολογιστή. Οι έξυπνοι συγκρίνουν το LPT με μια βαλίτσα χωρίς χερούλι - είναι κρίμα να το πετάξεις και αδύνατο να το μεταφέρεις. Ωστόσο, ο "βετεράνος" εξακολουθεί να είναι ικανός για πολλά, αν, φυσικά, υπάρχει σε έναν συγκεκριμένο υπολογιστή.

Η υποδοχή θύρας LPT έχει 25 ακίδες. Ο κανόνας "de facto" θεωρείται ότι είναι μια υποδοχή DB-25F στον υπολογιστή και ένα βύσμα DB-25M στο καλώδιο επιστροφής (Πίνακας 4.2). Η αρίθμηση των επαφών των βυσμάτων και των πριζών αντικατοπτρίζεται (Εικ. 4.7, α, β).

Πίνακας 4.2. Διάταξη σήματος στη θύρα LPT 25 ακίδων

Αποκρυπτογράφηση

Κατεύθυνση

Μπείτε στην έξοδο

Μπείτε στην έξοδο

Επιβεβαίωση

Ετοιμότητα

Χωρίς χαρτί

Αυτόματη μεταφορά

Μπείτε στην έξοδο

Αρχικοποίηση

Μπείτε στην έξοδο

Επιλογή εισόδου

Μπείτε στην έξοδο

Ρύζι. 4.7. Μπροστινή όψη των υποδοχών θύρας LPT 25 ακίδων: α) Υποδοχή DB-25F στον υπολογιστή. β) Βύσμα DB-25M στο καλώδιο σύνδεσης.

Αρχικά, οι γραμμές θυρών LPT ήταν μονής κατεύθυνσης SPP (Standard Parallel Port). Ορισμένα από αυτά λειτουργούσαν μόνο για είσοδο, μερικά - μόνο για έξοδο, τα οποία, όσον αφορά το σύνολο σημάτων και το πρωτόκολλο ανταλλαγής, αντιστοιχούσαν στη διεπαφή εκτυπωτή Centronics. Το 1994 εγκρίθηκε ένα νέο πρότυπο παράλληλης διεπαφής, το IEEE 1284, το οποίο παρέχει αμφίδρομες γραμμές και τρεις τρόπους λειτουργίας: SPP, EPP (Enhanced Parallel Port), ECP (Extended Capabilities Port).

Τα επίπεδα ηλεκτρικού σήματος της θύρας LPT συμπίπτουν με τα συμβατικά λογικά τσιπ «πέντε βολτ». Προηγουμένως, οι υπολογιστές χρησιμοποιούσαν τσιπ buffer TTJl της σειράς 74LSxx, αργότερα - τσιπ CMOS και LSI, περίπου ισοδύναμα με τη σειρά 74ACxx. Στην τελευταία περίπτωση, μπορούμε να υποθέσουμε χονδρικά ότι η στάθμη LOW είναι 0,1..0.2 V και η ΥΨΗΛΗ στάθμη είναι 4.5...4.9 V.

Το πρότυπο ρυθμίζει ένα φορτίο 14 mA για κάθε έξοδο, διατηρώντας ταυτόχρονα μια τάση όχι μικρότερη από +2,4 V HIGH και όχι μεγαλύτερη από +0,4 V LOW. Ωστόσο, σε διαφορετικές μητρικές πλακέτες, τα buffer εξόδου της θύρας LPT ενδέχεται να έχουν διαφορετικές χωρητικότητες φόρτωσης, συμπεριλαμβανομένων εκείνων κάτω από το τυπικό («αδύναμη» θύρα).

Απαιτήσεις για τη σύνδεση καλωδίων που είναι συνδεδεμένα στη θύρα LPT:

Τα καλώδια σήματος πρέπει να συνδυάζονται με ένα κοινό καλώδιο GND.

Κάθε ζεύγος πρέπει να έχει σύνθετη αντίσταση 56...68 Ohms στην περιοχή συχνοτήτων 4...16 M Hz.

Εάν χρησιμοποιείται καλώδιο επίπεδης ταινίας, τα καλώδια σήματος πρέπει να εναλλάσσονται φυσικά με το κοινό καλώδιο GND (τοπικές ασπίδες).

Το επίπεδο αλληλεπίδρασης μεταξύ των σημάτων δεν υπερβαίνει το 10%.

Το καλώδιο πρέπει να έχει θωράκιση που καλύπτει τουλάχιστον το 85% της εξωτερικής επιφάνειας. Στα άκρα του καλωδίου, η οθόνη πρέπει να είναι δακτυλιωμένη και συνδεδεμένη στην επαφή γείωσης του βύσματος.

Στον σύνδεσμο καλωδίου, μπορείτε να κολλήσετε αντιστάσεις σειράς C2-23 (OMJIT-O.125) με αντίσταση 100...300 Ohms στους ακροδέκτες 1...17 (Εικ. 4.8). Αυτό θα προστατεύσει τον υπολογιστή από τυχαία βραχυκυκλώματα στο φορτίο και θα μειώσει το «κουδούνισμα» υψηλής συχνότητας στις άκρες του σήματος.

Ρύζι. 4.8. Ηλεκτρικό διάγραμμα καλωδίου LPT με αντιστάσεις «αντι-ringing».

Τα σχήματα σύνδεσης MK σε θύρα LPT μπορούν να χωριστούν σε τρεις ομάδες:

Λήψη σημάτων από υπολογιστή (Εικ. 4.9, a...h);

Μετάδοση σημάτων σε υπολογιστή (Εικ. 4.10, α...ε).

Λήψη/μετάδοση σημάτων ταυτόχρονα (Εικ. 4.11, α…ε).

Κάποιες απλοποιήσεις έχουν γίνει στα διαγράμματα. Το σήμα εισόδου είναι κυρίως "DO" και το σήμα εξόδου είναι "ASK", αν και μπορεί να υπάρχουν άλλα που αναφέρονται στον Πίνακα. 4.2. Σε κάθε συγκεκριμένο υπολογιστή, η απόδοση των αυτοσχέδιων κυκλωμάτων πρέπει να ελέγχεται πειραματικά, γεγονός που οφείλεται στην παρουσία «ισχυρών» και «ασθενών» θυρών LPT ως προς τη χωρητικότητα φορτίου.

Ρύζι. 4.9. Σχέδια για την εισαγωγή σημάτων από τη θύρα LPT στο MK (αρχή):

α) η αντίσταση R1 περιορίζει το ρεύμα εισόδου. Τα στοιχεία R2, C1 μπορεί να απουσιάζουν, αλλά μειώνουν το "κουδούνισμα" στα μέτωπα του σήματος με ένα μακρύ καλώδιο.

β) Το τρανζίστορ buffer VT1 αντιστρέφει το σήμα. Η δίοδος VD1 είναι προαιρετική, αλλά προστατεύει το τρανζίστορ από την εσφαλμένη εφαρμογή μεγάλης αρνητικής τάσης. Εάν δεν εγκαταστήσετε την αντίσταση R2, το κύκλωμα θα παραμείνει λειτουργικό, ωστόσο, όταν το καλώδιο αποσυνδεθεί από τη θύρα LPT, είναι δυνατή η ψευδής ενεργοποίηση του τρανζίστορ VT1 λόγω εξωτερικών παρεμβολών και παρεμβολών.

γ) η δίοδος VD1 διακόπτει τις παρεμβολές και αυξάνει το κατώφλι απόκρισης του τρανζίστορ VT1. Η αντίσταση R1 κλείνει αξιόπιστα το τρανζίστορ VT1 σε επίπεδο LOW από τη θύρα LPT.

δ) Το λογικό στοιχείο buffer DD1 έχει έξοδο ανοιχτού συλλέκτη. Τα άκρα του σήματος σχηματίζονται από τα στοιχεία R1, C1. Μπορείτε να αντικαταστήσετε τον μετατροπέα DD1 με έναν επαναλήπτη K155LP9 κάνοντας τις κατάλληλες αλλαγές στο πρόγραμμα MK και στον υπολογιστή.

ε) Η σκανδάλη Schmitt DD1 (αντικατάσταση - K555TL2) αυξάνει την ατρωσία στον θόρυβο. Όσο μικρότερη είναι η αντίσταση των αντιστάσεων R1, R2, τόσο μεγαλύτερη είναι η κλίση των άκρων του σήματος. Όταν το καλώδιο από τη θύρα LPT αποσυνδεθεί, η αντίσταση R1 εμποδίζει την είσοδο του τσιπ DD1 να «κρέμεται στον αέρα».

στ) η διαδοχική σύνδεση δύο λογικών στοιχείων DD11, /)/)/.2 αυξάνει (αποκαθιστά) την κλίση των άκρων του σήματος. Η αντίσταση R1 εξαλείφει τις εκπομπές, «κουδουνίζει».

Ρύζι. 4.9. Σχέδια για την εισαγωγή σημάτων από τη θύρα LPT στο MK (τέλος):

ζ) τα δεδομένα που προέρχονται από τη θύρα LPT τοποθετούνται προκαταρκτικά στον ενδιάμεσο καταχωρητή DD1. Η εγγραφή εκτελείται σε ΥΨΗΛΟ επίπεδο στην είσοδο «C» του μικροκυκλώματος DD1, η αποθήκευση εκτελείται σε επίπεδο ΧΑΜΗΛΟ. Αυτή η λύση εξαλείφει τις παρεμβολές, καθώς ενδέχεται να εξάγονται περιοδικά τυχαία δεδομένα στη θύρα LPT, ανάλογα με τα προγράμματα οδήγησης που είναι εγκατεστημένα στον υπολογιστή. Καταργούνται μέσω προγραμματισμού, για παράδειγμα, με επανειλημμένη ανάγνωση του σήματος εισόδου από τις γραμμές MK.

η) προσωρινή αποθήκευση της θύρας LPT με ισχυρούς διακόπτες τρανζίστορ που βρίσκονται στο τσιπ DA1 από την Texas Instruments. Οι αντιστάσεις R1...R8 μπορούν να έχουν 10...15 φορές χαμηλότερη αντίσταση, γεγονός που σας επιτρέπει να συνδέσετε τσιπ A4/άλλα εξαρτήματα της συσκευής παράλληλα με τις εξόδους.

Ρύζι. 4.10. Σχέδια για την έξοδο σημάτων από τη θύρα MK στη θύρα LPT (αρχή):

α) απευθείας σύνδεση της εξόδου MK χωρίς στοιχεία buffer. Οι αντιστάσεις R1, R2 μειώνουν την ανάκλαση των σημάτων στη γραμμή. Επιπλέον, η αντίσταση R2 προστατεύει την έξοδο MK από τυχαίο βραχυκύκλωμα με το κύκλωμα GND στα καλώδια του καλωδίου σύνδεσης.

β) Η σκανδάλη Schmitt DD1 χρησιμεύει ως προστατευτικό buffer για το MK σε περίπτωση έκτακτης ανάγκης στην έξοδο (βραχυκύκλωμα ή υψηλή τάση).

γ) το τσιπ DD1 έχει έξοδο ανοιχτού συλλέκτη, που το προστατεύει από βραχυκυκλώματα στα καλώδια και τους συνδέσμους του καλωδίου σύνδεσης.

δ) παροχή δύο αντιφασικών σημάτων στον υπολογιστή. Σκοπός - αναγκαιότητα λογισμικού ή οργάνωση ενός εφεδρικού καναλιού (ελέγχου) μετάδοσης δεδομένων.

ε) Οπτικοζεύκτης σε στοιχεία HL1, BL1, τα οποία χρησιμοποιούνται σε μηχανικά ποντίκια υπολογιστών. Το KG/τρανζίστορ ενισχύει και αντιστρέφει το σήμα. Για την κανονική λειτουργία της συσκευής, ο υπολογιστής πρέπει να ρυθμίσει τη γραμμή «D8» σε ΥΨΗΛΟ επίπεδο.

Ρύζι. 4.11. Συνδυασμένα κυκλώματα σήματος εισόδου/εξόδου μεταξύ θύρας MK και LPT (εκκίνηση):

α) εάν ο υπολογιστής ρυθμίσει τη γραμμή «DO» σε ΥΨΗΛΟ επίπεδο, τότε το MK στη λειτουργία εξόδου μπορεί να δημιουργήσει ένα σήμα «ASK» μέσω της αντίστασης R1. Εάν το MK τεθεί σε λειτουργία εισόδου, τότε ο υπολογιστής μπορεί να μεταδώσει δεδομένα σε αυτόν μέσω της γραμμής "DO" μέσω της διόδου VD1, ενώ η εσωτερική αντίσταση "pull-up" MK σχηματίζει ΥΨΗΛΗ στάθμη.

β) το σήμα από τη θύρα LPT εισάγεται στη MK μέσω ενός μετατροπέα στο τρανζίστορ VT1, σε αυτήν την περίπτωση ο υπολογιστής πρέπει να ρυθμίσει τη γραμμή "D2" σε ένα επίπεδο ΥΨΗΛΟ. Οι πληροφορίες σε MK εισάγονται από τη γραμμή «DO» μέσω της αντίστασης R1 Η υψηλή αντίσταση της αντίστασης R1 αποσυνδέει φυσικά τα κανάλια εισόδου και εξόδου.

Ρύζι. 4.11. Συνδυασμένα κυκλώματα σήματος εισόδου/εξόδου μεταξύ θύρας MK και LPT (τέλος):

β) το σήμα από τη θύρα LPT εισάγεται στο MK μέσω ενός μετατροπέα στο τρανζίστορ VT1, ενώ ο υπολογιστής πρέπει να ρυθμίσει το επίπεδο LOW στη γραμμή «DO». Οι πληροφορίες εισάγονται στο MK μέσω των στοιχείων R1, R3, VT2.

δ) το σήμα από τη θύρα LPT εισάγεται στο MK μέσω ενός επαναλήπτη στο τρανζίστορ VT1 και ο υπολογιστής πρέπει να ρυθμίσει τη γραμμή «DO» σε ΥΨΗΛΗ στάθμη. Οι πληροφορίες εισάγονται στο MK μέσω ενός επαναλήπτη στο τσιπ DD1\

ζ) τα σήματα "D0" ... "D3" εισάγονται στο MK σε επίπεδο LOW στη γραμμή "INIT", ενώ ο υπολογιστής πρέπει να διαμορφώσει τις γραμμές "D4" ... "D7" ως εισόδους. Στις ρυθμίσεις του BIOS του υπολογιστή, πρέπει να ορίσετε τη λειτουργία αμφίδρομης EPP ή ECP για τη θύρα LPT. Οι πληροφορίες μεταδίδονται στον υπολογιστή από το MK κατά μήκος των γραμμών "D4" ... "D7" σε ΥΨΗΛΟ επίπεδο στη γραμμή "INIT". Η αντίσταση R1 αλλάζει τις εξόδους του τσιπ DD1 στην κατάσταση Z όταν αποσυνδεθεί το καλώδιο από τη θύρα LPT.

ε) το σήμα από τη θύρα MK στη θύρα LPT εισάγεται μέσω του επαναλήπτη DD1.2 και ο υπολογιστής πρέπει να ρυθμίσει το HIGH επίπεδο στη γραμμή «D2» και το επίπεδο LOW στη γραμμή «D5». Οι πληροφορίες εισάγονται στο MK μέσω του επαναλήπτη DD1.1 σε επίπεδο LOW στη γραμμή "D2". Η διαγραφή σημάτων στις εισόδους "E1", "E2" του μικροκυκλώματος DD1 αυξάνει την αξιοπιστία της μετάδοσης δεδομένων.



Έχετε ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: