Deschideți portul lpt. Interfețe hardware pentru PC. Enciclopedie. Extensii de porturi paralele

Descărcați pinoutul portului imprimantei:

IEEE 1284 (port de imprimantă, port paralel, terminal de imprimare linie engleză, LPT) - standard internațional de interfață paralelă

Acest standard se bazează pe interfața Centronics și pe versiunile sale extinse (ECP, EPP).

Numele „LPT” este derivat din numele dispozitivului de imprimantă standard „LPT1” (Line Printer Terminal sau Line Printer) în sistemele de operare din familia MS-DOS. Interfață Centronics și standardul IEEE 1284

Port paralel Centronics - un port folosit din 1981 în calculatoarele personale IBM pentru conectarea dispozitivelor de imprimare, dezvoltat de Centronics Data Computer Corporation; a devenit de mult un standard de facto, deși în realitate nu este standardizat oficial momentan.

Acest port a fost proiectat inițial doar pentru transferul de date simplex (unidirecțional), deoarece portul Centronics a fost conceput pentru a fi utilizat numai pentru operarea imprimantei. Ulterior, diferite companii au dezvoltat extensii de interfață duplex (mod byte, EPP, ECP). Apoi a fost adoptat standardul internațional IEEE 1284, care descrie atât interfața de bază Centronics, cât și toate extensiile acesteia.

Tipuri de conectori porturi paralele

Conector de cablu Centronics cu 36 de pini pentru conectarea dispozitivului extern (IEEE 1284-B)

Conector DB-25 cu 25 de pini folosit ca port LPT pe computerele personale (IEEE 1284-A)

Portul de pe partea dispozitivului de control (computer) are un conector DB-25-femă cu 25 de pini și 2 rânduri (IEEE 1284-A). Nu trebuie confundat cu un conector masculin similar („mascul”), care a fost instalat pe computere mai vechi și este un port COM cu 25 de pini.

Perifericele folosesc de obicei un conector Micro-ribbon Centronics (IEEE 1284-B) cu 36 de pini, astfel încât cablurile paralele pentru conectarea perifericelor la un computer sunt de obicei realizate cu un conector tată DB-25 cu 25 de pini pe o parte și un IEEE cu 36 de pini. 1284-B la altul (cablu AB). Ocazional, se folosește un cablu AC cu un conector MiniCentronics cu 36 de pini (IEEE 1284-C).

Există și cabluri CC cu conectori MiniCentronics la ambele capete pentru conectarea dispozitivelor care utilizează standardul IEEE 1284-II, care este rar folosit.

Lungimea cablului de conectare nu trebuie să depășească 3 metri. Design cablu: perechi răsucite într-un ecran comun sau perechi răsucite în scuturi individuale. Cablurile panglică sunt rar folosite.

Pentru a conecta un scaner și alte dispozitive, se folosește un cablu care are instalat un conector DB-25 tată în locul unui conector (IEEE 1284-B). De obicei, scanerul este echipat cu o a doua interfață cu un conector DB-25-femă (IEEE 1284-A) pentru conectarea unei imprimante (deoarece un computer este echipat de obicei cu o singură interfață IEEE 1284).

Circuitul scanerului este proiectat astfel încât atunci când lucrați cu o imprimantă, scanerul transferă în mod transparent datele de la o interfață la alta. Interfață fizică

Interfață conector

Interfața de bază Centronics este o interfață paralelă unidirecțională și conține linii de semnal caracteristice unei astfel de interfețe (8 pentru transmisia de date, strobe, linii de stare dispozitiv).

Datele sunt transferate într-o singură direcție: de la computer la un dispozitiv extern. Dar nu poate fi numit complet unidirecțional. Astfel, sunt folosite 4 linii de retur pentru a monitoriza starea dispozitivului. Centronics vă permite să conectați un dispozitiv, așa că pentru a utiliza mai multe dispozitive împreună, trebuie să utilizați suplimentar un selector.

Viteza de transfer de date poate varia și poate ajunge la 1,2 Mbit/s.

Cabluri de cablu lpt pentru imprimantă standard Centronics IEEE 1284:

Tabel simplificat - Diagrama semnalului interfeței Centronics LPT - conector

Contacte
DB-25 IEEE 1284-A
Contacte
Centronics IEEE 1284-B
Desemnare Notă Funcţie
1 1 Stroboscop Marcator ciclului de transfer (ieșire) Managementul computerelor
2 2 Bit de date 1 Semnal 1 (ieșire) Calculator de date
3 3 Bitul de date 2 Semnal 2 (ieșire) Calculator de date
4 4 Bit de date 3 Semnal 3 (ieșire) Calculator de date
5 5 Bit de date 4 Semnal 4 (ieșire) Calculator de date
6 6 Bitul de date 5 Semnal 5 (ieșire) Calculator de date
7 7 Bitul de date 6 Semnal 6 (ieșire) Calculator de date
8 8 Bitul de date 7 Semnal 7 (ieșire) Calculator de date
9 9 Bitul de date 8 Semnal 8 (ieșire) Calculator de date
10 10 Confirmare Disponibilitatea de a accepta (input) Starea imprimantei
11 11 Ocupat ocupat (intrare) Starea imprimantei
12 12 Capătul hârtiei Fără hârtie (intrare) Starea imprimantei
13 13 Selectați Selectați (intrare) Starea imprimantei
14 14 Auto Line Feed Alimentare automată (ieșire) Managementul computerelor
15 32 Eroare Eroare (intrare) Starea imprimantei
16 31 Init Inițializare (ieșire) Inițializare imprimantă (prime-low) Managementul computerelor
17 36 Selectați În Control imprimare (Ieșire) Selectați Intrare Managementul computerelor
18-25 16-17, 19-30 GND General Pământ

Cablajul cablului de imprimantă Centronics IEEE 1284 lpt - portul com9 poate fi afișat și sub forma unei imagini imagine

Portul „LPT” se găsește rar pe computerele moderne. Acesta este un conector special pentru computer pentru conectarea unei imprimante. Unele computere erau echipate cu mai multe porturi „LPT”. Aceste porturi au fost numerotate: „LPT1”, „LPT2” și așa mai departe.

Porturi paralele

Din punct de vedere istoric, porturile de conectare la computer au fost împărțite în categorii: porturi seriale și porturi paralele. „LPT” se referă la porturile paralele. Aceasta înseamnă că informația se deplasează de-a lungul a opt fire diferite, adică simultan și în paralel. Calculatoarele se ocupă de informații binare. Binar convertește informațiile în matrice de zerouri și unu. Un singur număr binar (zero sau unu) se numește bit. Un grup de opt biți se numește octet. Cei opt biți ai fiecărui octet care se mută de la computer la portul paralel se deplasează simultan. Un alt tip de cablu conectat la un port serial mută opt biți din fiecare octet unul după altul.

Sens

Portul paralel are un nume. Numele implicit pentru singurul port paralel al computerului este „LPT1”. Acest tip de port este folosit în principal pentru a conecta o imprimantă. La aceste porturi pot fi conectate și alte dispozitive, dar utilizatorii folosesc imprimanta mult mai des decât alte dispozitive. Conectarea unei imprimante la un computer o face un „periferic”. Un „periferic” poate fi orice dispozitiv suplimentar conectat la computer folosind un cablu special. Acest echipament „periferic” poate fi folosit doar de un computer la un moment dat. Singura modalitate de a conecta un dispozitiv „periferic” deja conectat la un alt computer pentru a utiliza imprimanta conectată la primul computer este prin intermediul rețelei și al software-ului. Acest proces este diferit de o imprimantă de rețea, care se conectează la o rețea mai degrabă decât la un singur computer. În acest caz, se utilizează un tip de cablu diferit și un tip de port diferit.

Conexiune

Portul paralel „LPT” și conectorul corespunzător au 25 de pini și se numesc „DB-25” sau „D-Type 25”. Pinii din conector sunt expuși. Sunt introduse în cele 25 de găuri ale portului paralel. Opt dintre cei 25 de pini sunt responsabili pentru transmiterea datelor, restul transportă fie date de control, fie instrucțiuni ale imprimantei, cum ar fi mesaje de la imprimantă despre lipsa hârtiei în imprimantă.

Viitor

Imprimantele de rețea sunt conectate la computer nu folosind portul „LPT”, ci folosind portul „Ethernet”. Puteți conecta nu numai o imprimantă, ci și alte dispozitive la portul LPT. Astăzi, dispozitivele „periferice” nu folosesc porturi paralele. Atât porturile „LPT”, cât și porturile seriale sunt acum un lucru de istorie și au fost înlocuite cu un port „USB” sau un port de rețea. Capacitatea de a conecta fără fir noi imprimante și periferice oferă o altă alternativă la portul „LPT” ca modalitate de a conecta o imprimantă la un computer.

La Habré despre controlul unei lămpi prin internet, a venit ideea de a controla iluminarea acasă de la un computer și, din moment ce o am deja configurată pentru a controla computerul de pe un telefon mobil, asta înseamnă că lumina poate fi controlată de la acelasi telefon. După ce i-a arătat articolul unuia dintre colegii mei de muncă, acesta a spus că tocmai de asta avea nevoie. Pentru că deseori adoarme în timp ce se uită la filme pe computer. La ceva timp după terminarea filmului, computerul adoarme și el și stinge monitorul, dar lumina din cameră rămâne aprinsă. Acestea. s-a decis că acest lucru este util și am început să adun informații și detalii pentru acest miracol.
Restul informatiilor sunt sub habracut (atentie, sunt multe poze - trafic).

Diagrama dispozitivului

Schema originală a fost preluată dintr-una dintre schemele găsite pe Internet și arăta astfel:

Dar doar cu o mică modificare: a fost adăugat un rezistor de 390 Ohm între primul pin al optocuplerului 4N25 și al doilea pin LPT și a fost adăugat și un LED pentru a indica pornirea. Circuitul a fost asamblat în modul de testare, adică pur și simplu conectat cu fire după cum este necesar și testat. În această versiune, pur și simplu a pornit și stins o lanternă veche sovietică.
S-a hotărât că dacă ar fi să facem control, atunci nu pentru un dispozitiv, ci pentru cel puțin 4 dispozitive (pe baza: o lampă pe masă, un candelabru cu două întrerupătoare, o priză de rezervă). În această etapă, a devenit necesară construirea unei scheme de circuit completă a dispozitivului și a început selecția diferitelor programe.
Instalat:

  1. KiCAD
  2. Vultur
După ce le-am uitat pe toate, m-am hotărât pe Eagle, deoarece avea părți „similare” în biblioteca sa. Iată ce s-a întâmplat în ea:

Diagrama folosește portul DB9, adică. un port COM obișnuit, acest lucru s-a făcut din motive de economisire atât de spațiu pe placă, cât și de conectorii înșiși (eu am avut cei COM), iar din moment ce vom folosi doar 5 conductori, acest lucru ne va fi suficient cu o rezervă. faceti si un adaptor de la DB25 (LPT) la DB9 (COM), in cazul meu se face in felul urmator:
LPT 2-9 pini = COM 1-8 pini sunt pini de control al datelor;
LPT 18-25 pini (deseori sunt conectați unul la altul) = COM 9 pini - acesta este terenul nostru.
Circuitul folosește, de asemenea, o sursă de alimentare suplimentară de 12 V pentru a alimenta releul; conform planului, va fi un simplu încărcător chinezesc sau poate o coroană de 9 V (un releu funcționează bine, trebuie să verificați 4 în același timp). Sursa de alimentare separată și izolarea galvanică folosind un optocupler sunt utilizate pentru a securiza portul computerului. Dacă doriți, puteți, desigur, să îl alimentați de la o sursă de alimentare de 12 V pentru computer, dar fiecare face acest lucru singur și pe riscul și riscul său.

Piese necesare pentru crearea dispozitivului
  1. Port COM - 1 bucată
  2. conector de alimentare - 1 buc.
  3. LED verde - 4 buc
  4. optocupler 4n25 - 4 buc
  5. scaun pentru optocupler (am avut doar unul pentru 8 picioare) - 4 buc.
  6. rezistență 390 Ohm - 4 buc.
  7. rezistență 4,7 kOhm - 4 buc.
  8. tranzistor KT815G - 4 buc.
  9. releu HJR-3FF-S-Z - 4 buc.
  10. cleme pentru 3 contacte - 4 buc.
  11. folie PCB

Pregătirea schemei PCB

După ce am încercat să folosesc Eagle pentru a pregăti un PCB, mi-am dat seama că va fi puțin complicat și am decis să găsesc o opțiune mai ușoară. Aceasta optiune a fost programul sprint layout 5, chiar daca este facut pentru Windows, dar ruleaza fara probleme in wine sub Linux. Interfața programului este intuitivă, în limba rusă și programul are ajutor (ajutor) destul de clar. Prin urmare, toate acțiunile ulterioare privind dezvoltarea plăcii de circuit imprimat au fost efectuate în aspectul sprint 5 (denumit în continuare SL5).
Deși mulți oameni folosesc acest program pentru a dezvolta plăci pentru dispozitivele lor, nu conținea părțile de care aveam nevoie (chiar și într-o grămadă de colecții de macro descărcate). Prin urmare, a trebuit mai întâi să creăm părțile lipsă:
  1. Port COM (cel care nu era la fel cu al meu, conform orificiilor de montare)
  2. priza de curent
  3. clemă cu trei dinte
  4. releu HJR-3FF-S-Z
Tipul acestor piese:

După adăugarea pieselor necesare, a început proiectarea propriu-zisă a plăcii de circuit imprimat. A fost nevoie de mai multe încercări, au fost vreo cinci. Fiecare versiune a plăcii a fost imprimată pe carton, au fost perforate găuri și au fost introduse piese în ele. De fapt, s-a aflat că portul meu COM nu se potrivește cu cel din SL5. O mică eroare a apărut și în circuitul releului - de fapt, corpul releului a fost deplasat cu 2-3 mm. Desigur, toate erorile au fost corectate.
La prima versiune tipărită, sa dovedit că tranzistorul a fost conectat incorect; două contacte au fost amestecate.
După toate corecțiile și ajustările, placa rezultată arăta astfel:

SL5 are o funcție Photo View pentru vizualizarea plăcii, iată cum arată în ea:

Versiunea finală a plăcii va avea mai multe modificări ale pieselor, dar în rest arată la fel.

SL5 are, de asemenea, o opțiune convenabilă pentru imprimarea plăcii; puteți ascunde straturi inutile și puteți selecta culoarea de imprimare a fiecărui strat, ceea ce este foarte util.

Pregătirea PCB-ului

S-a decis realizarea plăcii folosind metoda LUT (tehnologia laser-iron). În continuare, întregul proces este în fotografie.

Tăiați o bucată de PCB la dimensiunea necesară.

Luăm cea mai fină hârtie abrazivă și curățăm cu atenție suprafața de cupru.

După curățarea suprafeței, aceasta trebuie spălată și degresată. Se poate spala cu apa si degresa cu acetona (in cazul meu a fost solvent 646).
În continuare, imprimăm tabla noastră pe o imprimantă laser pe hârtie cretată, fără a uita să setăm imprimanta la cea mai îndrăzneață imprimare (fără a economisi toner). Această opțiune s-a dovedit a fi puțin nereușită, deoarece tonerul a pătat, dar o altă încercare a fost corectă.

Acum trebuie să transferați desenul de pe hârtie pe textolit. Pentru a face acest lucru, tăiem designul și îl aplicăm pe textolit, încercăm să-l aliniem după cum este necesar și apoi îl încălzim cu un fier de călcat. Este necesar să se încălzească bine întreaga suprafață, astfel încât tonerul să se topească și să se lipească de suprafața de cupru. Apoi lasam tabla sa se raceasca putin si mergem sa o udam sub jet de apa. Când hârtia se udă suficient, trebuie să fie separată de tablă. Doar tonerul blocat va rămâne pe tablă. Arata cam asa:

Apoi, trebuie să pregătiți o soluție pentru gravare. Am folosit clorură ferică pentru asta. Pe borcanul cu clorură ferică scrie că soluția trebuie făcută 1 la 3. M-am abătut puțin de la aceasta și am făcut 60 g clorură ferică la 240 g apă, adică. S-a dovedit 1 la 4, în ciuda acestui fapt, gravarea plăcii s-a întâmplat normal, doar puțin mai lent. Vă rugăm să rețineți că procesul de dizolvare a clorurii ferice uscate în apă produce căldură, așa că trebuie să o turnați în apă în porții mici și să amestecați. Desigur, pentru gravare este necesar să folosiți recipiente nemetalice; în cazul meu a fost un recipient din plastic (precum un hering). Am primit aceasta solutie:

Înainte de a coborî placa în soluție, am folosit bandă adezivă pentru a lipi o fir de pescuit pe partea din spate, pentru a facilita îndepărtarea și întoarcerea plăcii. Dacă soluția ajunge pe mâini, ar trebui să o spălați rapid cu săpun (săpunul o neutralizează), dar petele pot rămâne, totul depinde de condițiile specifice. Petele de pe haine nu se îndepărtează deloc, dar am avut norocul să nu testez asta pentru mine. Placa ar trebui să fie scufundată în soluție cu partea de cupru în jos și nu toată plană, ci în unghi. Din când în când, este recomandabil să curățați placa de minerit, deoarece interferează cu gravarea ulterioară. Acest lucru se poate face folosind tampoane de bumbac.

Întregul proces de gravare mi-a luat 45 de minute, 40 de minute ar fi fost de ajuns, dar eram doar ocupat cu încă un lucru.
După gravare, spălăm placa cu săpun, rupem banda cu firul de pescuit și obținem:

Atenţie! Nu turnați soluția de clorură ferică în chiuvetă (canal) - acest lucru poate deteriora părțile metalice ale chiuvetei și, în general, soluția poate fi totuși utilă.
Apoi, trebuie să spălăm tonerul, acest lucru se face cu succes cu același solvent 646 care a fost folosit pentru degresare (contactul prelungit al solventului cu pielea îl poate deteriora).

Următorul pas este să găuriți găurile. Am avut inițial găuri de 1 mm și 1,5 mm pe placă, deoarece nu am putut găsi burghie mai subțiri. De asemenea, în orașul nostru nu a fost posibil să găsești o mandră cu mâner pentru a o atașa la un motor electric, așa că totul a fost făcut cu un burghiu mare.

Primul aparat a sosit

Prima dată am luat doar două burghie, iar când am folosit un astfel de burghiu, acest lucru s-a dovedit a nu fi suficient. Un burghiu s-a rupt, iar celălalt a fost îndoit. Tot ce am reușit să forez în prima zi:

A doua zi am cumpărat cinci burghie. Și au fost doar destui, pentru că, dacă nu se rup (apropo, doar unul dintre cele cinci s-a rupt), devin plictisiți, iar atunci când sunt găuriți cu cei plictisiți, șinele se deteriorează și cuprul începe să se desprindă. După găurirea completă a plăcii, obținem:

După găurire, este necesar să cositorizați placa. Pentru a face acest lucru, am folosit vechea metodă - un fier de lipit, flux TAGS și cositor. Am vrut să-l încerc folosind aliaj Rose, dar nu se găsește în orașul nostru.

După cositorizare obținem următorul rezultat:

Apoi, trebuie să spălați placa pentru a îndepărta reziduurile de flux, deoarece TAGS se poate curăța cu apă, acest lucru se poate face fie cu apă, fie cu alcool. Am făcut ceva între ele - am spălat-o cu vodcă veche și am șters-o cu tampoane de vată. După toți acești pași, placa noastră este gata.

Instalarea pieselor

Pentru a verifica corectitudinea plăcii, inițial asamblam o singură linie (din patru) de piese, nu știi niciodată unde s-a strecurat o eroare.

După instalarea pieselor, mergem și conectăm dispozitivul la computer prin LPT; pentru aceasta, un adaptor de la DB25(LPT) la DB9(COM) este lipit în următoarea formă:

  • 2 pini DB25 la 1 pin DB9
  • DB25 cu 3 pini la DB9 cu 2 pini
  • DB25 cu 4 pini la DB9 cu 3 pini
  • DB25 cu 5 pini la DB9 cu 4 pini
  • DB25 cu 6 pini la DB9 cu 5 pini
  • DB25 cu 7 pini la DB9 cu 6 pini
  • DB25 cu 8 pini la DB9 cu 7 pini
  • 21 pini DB25 (oricare de la 18 la 25 este posibil) la 9 pini DB9
Deoarece perechea răsucită obișnuită a fost folosită ca fir, un fir lipsea, dar pentru acest dispozitiv sunt suficiente doar cinci fire, așa că această opțiune este potrivită. Sarcina noastră comutată este o simplă lanternă sovietică. Ei bine, ca sursă de alimentare - o sursă de alimentare universală chineză (4 conectori și sursă de alimentare de la 3 la 12 V). Iată totul asamblat:

Dar dispozitivul funcționează deja:

Aceasta s-a încheiat în altă seară și montarea pieselor rămase a fost lăsată pentru a doua zi.

Și iată dispozitivul complet asamblat:

Ei bine, un scurt videoclip despre cum funcționează (calitatea nu este foarte bună, nu a existat nicio modalitate de a o filma corect)

Atât, nu mai rămâne decât să găsești o carcasă normală pentru dispozitiv și să o dai în folosință.

Partea software

Desigur, pentru a controla portul LPT ai nevoie de un fel de software, dar din moment ce am Linux acasă, s-a decis să scriu eu un program simplu, apoi să-l adaug și să-l adaptez după cum este necesar. Ea arăta cam așa:
#include
#include
#include
#include
#define BASE 0x378
#definiți TIME 100000
int main()
{
int x = 0x0F;
int y = 0x00;
dacă (ioperm(BAZĂ, 1, 1))
{
perror("ioperm()");
ieșire(77);
}
outb(x,BASE);
returnează 0;
}

Acest program trimite 0x0F = 00001111 la portul LPT, adică. furnizează 1 la pinii 2-5 (Data0-Data3), iar aceasta este tensiunea noastră de control între pinii 2-5 și masă (pinii 18-25), astfel încât toate cele patru relee se vor porni. Programul pentru trimiterea 0x00 la un port pentru oprire funcționează exact în același mod, doar trimite y în loc de x - outb (y, BASE). Puteți citi și starea portului:
#define BASEPORT 0x378 /* lp1 */
...
printf("starea: %d\n", inb(BASEPORT));
...

Singurul avertisment al acestui program este că trebuie să fie executat ca root, deoarece funcția ioperm nu este disponibilă pentru utilizatorii obișnuiți. Cred că nu trebuie să vă spunem cum să rezolvați o astfel de problemă; fiecare va alege opțiunea care li se potrivește mai mult.

Ulterior, programul a fost modificat astfel încât, prin transmiterea parametrilor liniei de comandă acestuia, să fie posibil să se specifice ce dispozitiv și ce să facă.
Ieșirea „sw --help”:
Program pentru controlul releelor ​​prin portul LPT.
Un program poate avea unul sau doi parametri.
Format parametru: sw [număr dispozitiv] [acțiune]
numărul dispozitivului - de la 1 la 8
acțiune - "on", "off", "st" - on, off, status
Exemplu: „sw 2 on” pentru a porni al doilea dispozitiv sau „sw --help” pentru a afișa ajutor

PS dacă cineva are nevoie de el, atunci pot posta undeva fișierul diagramei plăcii în sl5 și codul sursă al programului de control.

Un port de interfață paralel a fost introdus în PC pentru a conecta o imprimantă - port LPT (Line Printer - line printer).

Adaptorul de interfață paralelă este set de registre, situat în spațiul I/O. Registrele de porturi sunt adresate în raport cu adresa de bază a portului, ale căror valori standard sunt 386h, 378h și 278h. Portul are extern 8 biți magistrala de date 5 biți obosi semnale statși 4 biți magistrala de semnal de control.

BIOS-ul acceptă până la patru porturi LPT (LPT1-LPT4) cu serviciul său de întrerupere INT 17h, care asigură comunicarea cu imprimante prin interfața Centronics. Cu acest serviciu, BIOS-ul realizează ieșirea caracterelor, interfața și inițializarea imprimantei, precum și starea imprimantei sondaj.

Interfața Centronics

Termenul Centronics se referă atât la setul de semnale și la protocolul de comunicație, cât și la conectorul cu 36 de pini instalat pe imprimante. Scopul semnalelor este prezentat în tabel. 1.

Masa1.

Semnale de interfață Centronics

Scop

Strobe de date. Datele sunt captate de un nivel scăzut al semnalului

Liniile de date. Date 0 (pin 2) - bitul cel mai puțin semnificativ

Confirmare - un impuls de confirmare de octet (o solicitare de a primi următorul). Poate fi folosit pentru a genera o cerere de întrerupere

Ocupat. Recepția datelor este posibilă numai când nivelul semnalului este scăzut

Un nivel înalt semnalează sfârșitul hârtiei

Semnează că imprimanta este pornită

Traducerea automată a liniilor.

Eroare: Sfârșitul hârtiei, OFF-Line sau Eroare internă de imprimantă

Inițializare

Selectarea imprimantei (nivel scăzut). Când nivelul este ridicat, imprimanta nu percepe alte semnale de interfață

Sârmă de interfață comună

Direcţie

(intrare/ieșire) în raport cu o imprimantă.

Interfața Centronics este acceptată de majoritatea imprimantelor cu o interfață paralelă; analogul său intern este interfața IRPR-M.

Port lpt tradițional

Portul tradițional SPP (Standard Parallel Port) este un port unidirecțional pe baza căruia protocolul de schimb Centronics este implementat în software.Portul oferă posibilitatea de a genera o cerere de întrerupere hardware pe baza unui impuls la intrarea ACK#. Semnalele portului sunt transmise către conectorDB-25S(priză) instalată direct pe placa adaptorului (sau placa de sistem) sau conectată la aceasta cu un cablu plat. Numele și scopul semnalelor conectorului de port (Tabelul 2) corespund interfeței Centronics.

Masa 2.

Conector port LPT standard

Contactați DB-25S

Sârmă buclă

Scop

18, 20, 22, 24, 26

* I/O setează direcția de transmisie (intrare/ieșire) a semnalului portului; 0/I indică liniile de ieșire a căror stare este citită prin citirea din porturile de ieșire corespunzătoare.

**Simbolul „\” marchează semnalele inversate (1 din registru corespunde unui nivel scăzut al liniei).

***Intrarea Ack# este conectată printr-un rezistor (10kOhm) la sursa de +5V.

Portul standard are trei registre de 8 biți, situate la adrese adiacente în spațiul I/O, începând de la adresa de bază a portului (BASE).

Registrul de date (DR) - registru de date, adresa= BASE.Datele scrise pe acest port sunt sunt afișate la liniile de ieșire ale interfeței. Datele citite din acest registru, în funcție de circuitul adaptorului, corespund fie datelor înregistrate anterior, fie semnalelor pe aceleași linii.

Registrul de stare (SR) -registrul de stare reprezentând Port de intrare pe 5 biți semnale de stare a imprimantei (biți SR.4-SR.7), adresa = BASE + 1. BitSR.7 este inversat - un nivel scăzut al semnalului corespunde unei singure valori de bit din registru și invers.

Scopul biților registrului de stare(numărul de contacte ale conectorului este dat în paranteze):

SR.7-Busy - afișare inversă a stării liniei de ocupat (11);

SR.6 -ACK (Confirmare) - afișează starea liniei Ack# (10).

SR.5 -PE (Sfârşit hârtie) - afişează starea liniei de sfârşit hârtie (12).

SR.4-Select - afișează starea liniei Select (13) O singură valoare corespunde semnalului de pornire a imprimantei.

SR.3-Eroare - afișează starea liniei de eroare (15).

SR.2 - PIRQ - flag de întrerupere pentru semnalul Ack# (doar pentru portul PS/2). Bitul este șters dacă semnalul Ack# a provocat o întrerupere hardware. Valoarea unică este setată prin resetarea hardware și după citirea registrului de stare.

SR - rezervat.

Registrul de control (CR) - registru de control, adresa=BA5E+2. Ca și registrul de date, acesta Port de ieșire pe 4 biți poate fi scris și citit (biții 0-3), dar tamponul său de ieșire este de obicei de tip colector deschis. Acest lucru vă permite să utilizați mai corect liniile acestui registru ca intrare atunci când le programați la un nivel înalt. Biții O, 1, 3 sunt inversați - o singură valoare din registru corespunde unui nivel scăzut al semnalului și invers.

Scopul biților registrului de control:

CR - rezervat.

CR.5 - Direcție - bit de control al direcției de transmisie (doar pentru porturile PS/2) Scrierea unuia transformă portul de date în modul de intrare.

CR.4 -ACKINTEN (Ack Interrupt Enable) - o singură valoare permite întreruperea atunci când semnalul cade pe linia Ackff - următorul semnal de solicitare de octet.

CR.3 - Select In - o valoare de un singur bit corespunde unui nivel scăzut la ieșirea Selecting (17) - un semnal care permite imprimantei să funcționeze prin interfața Centronics.

CR.2 - Init - valoarea bitului zero corespunde unui nivel scăzut la ieșirea Imt# (16) - semnal de resetare hardware a imprimantei.

CR.1 - Auto LF - o valoare unică de bit corespunde unui nivel scăzut la ieșire Auto LF# (14) - un semnal pentru avans automat de linie (LF - Line Feed) la primirea unui octet de returnare a carului (CR - Carriage Return ).

CR.O -Strobe - o valoare de un singur bit corespunde unui nivel scăzut la ieșirea Strobeff (1) - semnalul stroboscopic de date de ieșire.

Solicitare de întrerupere hardware(de obicei IRQ7 sau IRQ5) este generată de căderea semnalului negativ la pinul 10 al conectorului de interfață (ACK#) când CR.4 = 1. Întreruperea este generată atunci când imprimanta confirmă primirea octetului anterior.

Procedura de ieșire în octet prin interfața Centronics printr-un port standard include următorii pași (numărul necesar de operații de magistrală procesor este dat în paranteze):

Octet de ieșire în registrul de date (1 ciclu IOWR#).

Intrare din registrul de stare si verificarea starii de pregatire a dispozitivului (bit SR.7 - semnal BUSY).

La primirea pregătirii, ieșirea setează stroboscopul de date în registrul de control, iar următoarea ieșire elimină stroboscopul (2 cicluri lOWRff).

Portul standard este extrem de asimetric - în timp ce există 12 linii (și biți) care funcționează în mod normal ca ieșire, doar 5 linii de stare funcționează ca intrare. Dacă este necesară o comunicare bidirecțională simetrică, aceasta funcționează pe toate porturile standard modul ciugulit - Modul Nibble.În acest mod, numit și Hewlett Packard Bitronics, 4 biți de date sunt transmise simultan, a cincea linie este folosită pentru strângere de mână.

Un port de interfață paralel a fost introdus în PC pentru a conecta o imprimantă - LP"T-port (Line Printer - line printer).

Adaptorul de interfață paralelă este set de registre, situat în spațiul I/O. Registrele de porturi sunt adresate în raport cu adresa de bază a portului, ale căror valori standard sunt 386h, 378h și 278h. Portul are extern 8 biți magistrala de date 5 biți obosi semnale statși 4 biți magistrala de semnal de control.

BIOS-ul acceptă până la patru porturi LPT (LPT1-LPT4) cu serviciul său - întreruperea INT 17h, care asigură comunicarea cu imprimante prin interfața Centronics. Acest serviciu BIOS realizează ieșirea caracterelor, inițializarea interfeței și a imprimantei și, de asemenea, interogarea stării imprimantei.

Interfață Centronics

Termenul Centronics se referă atât la setul de semnal și la protocolul de comunicație, cât și la conectorul cu 36 de pini instalat pe imprimante. Scopul semnalelor este prezentat în tabel. 1.

Tabelul 1.

Semnale de interfață Centronics

Scop

Strobe de date. Datele sunt captate de un nivel scăzut al semnalului
Liniile de date. Date 0 (pin 2) - bitul cel mai puțin semnificativ
Confirmare - un impuls de confirmare de octet (o solicitare de a primi următorul). Poate fi folosit pentru a genera o cerere de întrerupere
Ocupat. Recepția datelor este posibilă numai când nivelul semnalului este scăzut
Un nivel înalt semnalează sfârșitul hârtiei
Semnează că imprimanta este pornită
Traducerea automată a liniilor.
Eroare: fără hârtie, stare OFF-Line sau eroare internă a imprimantei
Inițializare
Selectarea imprimantei (nivel scăzut). Când nivelul este ridicat, imprimanta nu percepe alte semnale de interfață
Sârmă de interfață comună

Direcţie

(intrare/ieșire) în raport cu o imprimantă.

Interfața Centronics este acceptată de majoritatea imprimantelor cu o interfață paralelă; analogul său intern este interfața IRPR-M.

Port LPT tradițional

Portul tradițional SPP (Standard Parallel Port) este un port unidirecțional pe baza căruia protocolul de comunicare Centronics este implementat în software. Portul oferă capacitatea de a genera o cerere de întrerupere hardware bazată pe un impuls la intrarea ACK#. Semnalele portului sunt transmise către conector DB-25S(priză) instalată direct pe placa adaptorului (sau placa de sistem) sau conectată la aceasta cu un cablu plat. Numele și scopul semnalelor conectorului de port (Tabelul 2) corespund interfeței Centronics.

Masa 2.

Conector port LPT standard

Contactați DB-25S

Sârmă buclă

Scop

18, 20, 22, 24, 26

* I/O specifică direcția de transmisie (intrare/ieșire) a semnalului portului; 0/I indică liniile de ieșire a căror stare este citită prin citirea din porturile de ieșire corespunzătoare.

** Simbolul „\” marchează semnalele inversate (1 din registru corespunde unui nivel de linie scăzut).

*** Intrarea Ack# este conectată printr-un rezistor (10 kOhm) la sursa de +5 V.

Portul standard are trei registre de 8 biți, situate la adrese adiacente în spațiul I/O, începând de la adresa de bază a portului (BASE).

Registrul de date (DR) - registru de date, adresa= BAZĂ. Datele scrise pe acest port sunt sunt afișate la liniile de ieșire ale interfeței. Datele citite din acest registru, în funcție de circuitul adaptorului, corespund fie datelor înregistrate anterior, fie semnalelor pe aceleași linii.

Registrul de stare (SR) - registrul de stare reprezentând Port de intrare pe 5 biți semnale de stare a imprimantei (biți SR.4-SR.7), adresa = BASE+1. Bitul SR.7 este inversat - un nivel scăzut al semnalului corespunde unei singure valori de bit din registru și invers.

Scopul biților registrului de stare(numărul de contacte ale conectorului este dat în paranteze):

SR.7-Busy - afișarea inversă a stării liniei de ocupat (11);

SR.6 -ACK (Confirmare) - afișează starea liniei Ack# (10).

SR.5 -PE (Sfârşit hârtie) - afişează starea liniei de sfârşit hârtie (12).

SR.4-Select - afișează starea liniei Select (13). O singură valoare corespunde unui semnal de pornire a imprimantei.

SR.3-Eroare - afișează starea liniei de eroare (15).

SR.2 - PIRQ - flag de întrerupere pentru semnalul Ack# (doar pentru portul PS/2). Bitul este șters dacă semnalul Ack# a provocat o întrerupere hardware. Valoarea unică este setată prin resetarea hardware și după citirea registrului de stare.

SR - rezervat.

Registrul de control (CR) - registru de control, adresa=BA5E+2. Ca și registrul de date, acesta Port de ieșire pe 4 biți poate fi scris și citit (biții 0-3), dar tamponul său de ieșire este de obicei de tip colector deschis. Acest lucru vă permite să utilizați mai corect liniile acestui registru ca intrare atunci când le programați la un nivel înalt. Biții O, 1, 3 sunt inversați - o singură valoare din registru corespunde unui nivel scăzut al semnalului și invers.

Scopul biților registrului de control:

CR - rezervat.

CR.5 - Direcție - bit de control al direcției de transmisie (numai pentru porturile PS/2). Scrierea unuia pune portul de date în modul de intrare.

CR.4 -ACKINTEN (Ack Interrupt Enable) - o singură valoare permite întreruperea atunci când semnalul cade pe linia Ackff - următorul semnal de solicitare de octet.

CR.3 - Select In - o valoare de un singur bit corespunde unui nivel scăzut la ieșirea Selecting (17) - un semnal care permite imprimantei să funcționeze prin interfața Centronics.

CR.2 - Init - valoarea bitului zero corespunde unui nivel scăzut la ieșirea Imt# (16) - semnal de resetare hardware a imprimantei.

CR.1 - Auto LF - o valoare unică de bit corespunde unui nivel scăzut la ieșire Auto LF# (14) - un semnal pentru avans automat de linie (LF - Line Feed) la primirea unui octet de returnare a carului (CR - Carriage Return ).

CR.O -Strobe - o valoare de un singur bit corespunde unui nivel scăzut la ieșirea Strobeff (1) - semnalul stroboscopic de date de ieșire.

Solicitare de întrerupere hardware(de obicei IRQ7 sau IRQ5) este generată de căderea semnalului negativ la pinul 10 al conectorului de interfață (ACK#) când CR.4 = 1. Întreruperea este generată atunci când imprimanta confirmă primirea octetului anterior.