conector LTP. Caracteristici și principiul de funcționare al portului imprimantei lpt

Unul dintre cele mai vechi porturi de computer este portul LPT sau portul paralel. Și deși portul LPT nu poate fi văzut acum pe fiecare placa de baza, totuși, cititorii ar putea fi interesați să știe despre ce este vorba.

În primul rând, să ne uităm la numele portului. Poate că nu toată lumea știe ce înseamnă abrevierea LPT. De fapt, LPT este o abreviere pentru Line Print Terminal. Astfel, devine clar că portul LPT a fost destinat în primul rând pentru conectarea imprimantelor. De aceea portul LPT are un alt nume - port printer. Deși teoretic alte dispozitive pot fi conectate la LPT.

Portul LPT are o istorie lungă. A fost dezvoltat de Centronics (de aceea acest port este adesea numit portul Centronics), care producea imprimante matriciale înainte de era PC-urilor, la începutul anilor 1970. Și la începutul anilor 1980, portul LPT a început să fie folosit de IBM în computerele sale și de ceva timp a devenit portul standard pentru conectarea dispozitivelor de mare viteză (la acea vreme).

Aspectul portului paralel de pe spatele computerului

Interfața LPT a existat în mai multe ediții. În versiunea originală, portul LPT era unidirecțional, adică putea transmite date într-o singură direcție - către un dispozitiv periferic. Desigur, această situație nu se potrivea utilizatorilor, deoarece existau imprimante care necesitau transfer de date în ambele direcții. Prin urmare, interfața LPT a fost ulterior îmbunătățită de mai multe ori până când a fost dezvoltată standard international IEEE 1284. În conformitate cu acest standard, interfața cu portul paralel a suportat mai multe moduri de operare și a fost, de asemenea, compatibilă cu standardele mai vechi. În plus, interfața în versiunea sa finală a suportat rate de transfer de date relativ mari - până la 5 Mb/s.

Cum funcționează portul paralel

Portul LPT se numește paralel deoarece cablul conectat la acesta transmite date în paralel, adică simultan de-a lungul mai multor conductori. Această proprietate distinge un port paralel de alte porturi de computer - port serial COM.

Există 8 conductori care transmit datele în sine în cablul Centronics.În plus, cablul conține mai multe linii prin care sunt transmise semnalele de control.

Deși portul paralel este folosit mai ales pentru conectarea imprimantelor, au existat, totuși, și alte utilizări pentru acesta. În primul rând, folosind portul LPT, puteți conecta direct două computere folosind un cablu special Interlink. Înainte de utilizarea pe scară largă plăci de rețea O conexiune asemănătoare Ethernet, deși nu oferea utilizatorului viteze mari de transfer de date, era adesea, totuși, singura modalitate de a conecta două computere. Există, de asemenea chei electronice, destinat conectării la Port LPT.

Cablu pentru transfer de date între computere - Interlink

Ca și în cazul multor alte dispozitive de pe placa de bază, modurile de operare a portului paralel pot fi adesea configurate prin Configurarea BIOS-ului. De regulă, opțiunile BIOS cum ar fi Parallel Port, Parallel Port IRQ, Parallel Port DMA etc. sunt utilizate pentru aceasta.

Conector pentru portul paralel al plăcii de bază și cablu Centronics

Conectorul portului LPT este de obicei situat direct pe placa de bază, deși până la mijlocul anilor 1990. era prezent de obicei pe un așa-numit multicard introdus într-un slot de expansiune, pe care se aflau și alte porturi ale computerului. Ieșirea portului este un conector mamă cu 25 de pini numit conector DB25.

Multicard ISA cu LPT (DB25 - „mamă”) și un port pentru jocuri la bord.

Pentru a conecta la imprimantă, se folosește un cablu special - un cablu Centronics. Un capăt (ștecher) al cablului Centronics este conectat la port, celălalt (și mufa) este conectat la un conector special de pe imprimantă. Ultimul conector are 36 de pini. Prin urmare, o caracteristică a cablului Centronics este că are conectori diferiți pe ambele părți.

Aspectul cablului Centronics.

Deși conectorul cablului plăcii de bază este adesea numit conector Centronics, strict vorbind, conectorul Centronics este doar un conector cu 36 de pini pentru conectarea la imprimantă, și nu la placa de bază. Conectorul cablului pentru conectarea la port se numește conector Amphenolstacker, de la numele producătorului american de conectori Amphenol care l-a dezvoltat.

Caracteristicile portului paralel

Datorită faptului că portul LPT acceptă transferul paralel de date, la primele PC-uri acest port a fost considerat unul dintre cele mai rapide porturi de computer. Transmiterea datelor pe mai multe linii face ca interfața LPT să fie mult mai apropiată în arhitectură de magistralele computerizate. Totuși, această circumstanță impune și o limitare a lungimii cablului, care, din cauza interferențelor care apar în cablu, nu poate depăși 5 m.

Tensiunea maximă utilizată în liniile de semnal portului este de +5 V. Pentru transmisia simplă de date, sunt necesare doar zece linii de semnal - acestea sunt 8 linii de date, o linie de semnal stroboscopic, adică un semnal că portul este gata să transmită date. , și o linie ocupată . Liniile rămase sunt folosite pentru compatibilitate cu standardul Centronics.

Port LPT de tip „femeie” cu numerotare contacte.

Pinout pentru conectorul portului paralel DB25:

  • 1 – Strobe de date
  • 2-9 – Date, biții 0-7
  • 10 – Confirmare (Confirmare de la imprimantă)
  • 11 – Ocupat
  • 12 – Hârtia scoasă
  • 13 – Selectați (Imprimantă activă)
  • 14 – Alimentare automată
  • 15 – Eroare
  • 16 – Init (inițializarea imprimantei)
  • 17 – Selectați Intrare
  • 18-25 – Pământ

Concluzie

Portul LPT este o interfață pentru computerul personal care este acum considerată învechită și nu are suport semnificativ din partea producătorilor de echipamente informatice și software. Cu toate acestea, portul paralel este încă folosit cu succes în multe modele mai vechi de computere și imprimante.

Vă recomandăm cu căldură să vă întâlniți cu el. Acolo vei găsi mulți prieteni noi. În plus, este cel mai rapid și mod eficient contactați administratorii de proiect. Secțiunea Actualizări antivirus continuă să funcționeze - actualizări gratuite mereu actualizate pentru Dr Web și NOD. Nu ai avut timp să citești ceva? Conținutul complet al tickerului poate fi găsit la acest link.

Lucrul cu un port LPT în Win NT/2000/XP

Port LPT (L ine P rin T er) este un port de interfață paralel care a fost creat inițial pentru a conecta o imprimantă. BIOS-ul oferă suport pentru portul LPT, care este necesar pentru a organiza ieșirea prin interfața Centronics. Spațiul de adrese de port ocupă intervalul &H378-&H37F

Portul LPT are 12 linii de ieșire și 5 linii de intrare. Un astfel de număr destul de mare de linii face posibila conexiune la portul unui echipament simplu, care poate nici măcar să nu aibă propriul microcontroler. Prin urmare, acest port, în ciuda dispariției imprimantelor cu interfață LPT, este utilizat în mod activ pentru a conecta programatoare simple de cip de memorie, interfețe JTAG pentru receptoare de satelit intermitent (înlocuire software), playere DVD și alte echipamente electronice. Portul LPT este, de asemenea, popular în rândul modderilor, deoarece vă permite să conectați ecrane LCD la computer fără a face plăci de interfață complexe.

Windows 2000/XP nu permite aplicațiilor să acceseze direct porturile I/O. Pentru a face acest lucru, trebuie să utilizați un driver care rulează în modul KERNEL (în modul kernel al sistemului de operare).

Restricționarea accesului la porturile I/O pentru programele de aplicație obișnuite (care rulează în modul utilizator) face sistemul de operare mai stabil. Deși, pe de altă parte, nimeni nu oprește programatorul să scrie un driver care accesează porturile.

Mă întreb pentru ce procesor Intel x86, puteți scrie un driver folosind una dintre cele două abordări fundamental diferite. Prima opțiune este că driverul însuși accesează porturile, iar programul de aplicație îi spune doar șoferului ce trebuie să facă. Această opțiune este în general standard și preferată.

Pentru a rezolva problema, există patru opțiuni de driver populare care permit unui program de aplicație să acceseze porturile I/O: driver DLPortIO, conducător auto UserPort, conducător auto GiveIO.sis, conducător auto Port95nt.

Toate cele patru opțiuni sunt aproape echivalente.

Driver DLPortIO

DLportIO - driver de acces la port din pachet DriverLINX de la Scientific Software Tools, Inc. (http://www.sstnet.com) într-o formă prescurtată (fără descriere și documentație inutilă). Pentru funcționarea normală a programelor de întreținere pentru indicatoarele LCD, vă putem recomanda această opțiune de driver.

Driverul în sine este format din două componente:
. DLPortIO.dll - Win32 DLL care oferă I/O hardware și
. DLPortIO.sys - driver pentru WinNT, care rulează în modul nucleu al sistemului de operare (nu este necesar pentru Win95/98)

În pachetul de instalare a driverului, pe lângă aceste două componente, există și un fișier Install.exe care le mută pe cele două menționate mai sus în folderul Drivere Windowsși înregistrarea acestora în sistem.

Nu mai este nimic de scris despre acest șofer. Nu este necesară configurarea. Descărcat, instalat, folosit. Nu uitați să vă uitați la sfârșitul articolului și să citiți despre asigurarea funcționalității portului LPT.

Instalarea este simplă - rulați fișierul Install.exe și instalați. Odată ce instalarea este finalizată, căutați în folderul C:\Windows\System32\drivers și verificați dacă există două fișiere driver (DLPortIO.sys și DLPortIO.dll). Dacă vedem că aceste fișiere nu au fost niciodată copiate, le luăm de pe pachet de instalareși copiați-l manual. Nu vă faceți griji, nimic rău nu se va întâmpla cu computerul dvs. Repornim computerul și lucrăm cu portul LPT.

Dacă brusc, ca urmare a manipulărilor cu echipamentul, primiți un mesaj de la driver ca acesta: „Dlportio.sys device driver not loaded. Port I/O va avea niciun efect”, nu intrați în panică. Această problemă este rezolvată astfel:
. Lansați regedit.
. Mergem la filiala din registru HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.
. În folderul dlportio, modificați valoarea parametrului start pe 1 .
. Reporniți computerul.

Driver UserPort

Conducător auto UserPort deschide accesul la porturile din Win NT/2000/XP pentru programe. Această versiune a driverului portului LPT este folosită cel mai adesea de „tehnicieni” care lucrează cu programatori și JTAG, deoarece driverul are cel puțin câteva setări de configurare. Poate fi folosit și pentru a opera programe de întreținere pentru indicatoarele LCD.

Arhiva driverului conține trei fișiere:
. UserPort.sys - driver pentru WinNT, care rulează în modul nucleu al sistemului de operare,
. UserPort.exe este un program pentru configurarea driverului și
. UserPort.pdf - fișier de descriere.

Instalare UserPort:
. 1. Despachetați arhiva într-un folder separat.
. 2. Copiați fișierul UserPort.sys în C:\Windows\System32\drivers

Setare UserPort:
. Rulați UserPort.exe.
. În fața noastră va apărea un panou cu 2 ferestre.

Fereastra din stânga se referă la programul care rulează într-o fereastră DOS, cea din dreapta la ecran complet. În mod implicit, acestea conțin numere de port LPT - toate pot fi eliminate folosind butonul „Eliminare”. În ambele ferestre trebuie să introduceți numerele de porturi necesare pe care intenționați să le utilizați.

Pentru utilizare de la driver cu majoritatea programatorilor, JTAG-urilor și programelor de servicii de afișare, adăugați următorii parametri în coloana din stânga:
378 , 379 Și 37A Pentru LPT1
278 , 279 Și 27A Pentru LPT2(Dacă adresa portului LPT este reatribuită în BIOS).

Să explic ce înseamnă numerele. 0x378- aceasta este adresa portului.
. Abordare 0x378 numit de bazăși este folosit pentru scris și citit date către și dinspre port, prin magistrala de date D0-D7.
. Abordare 0x379 (de bază+1) creat pentru citiți biți starea de la un dispozitiv conectat la portul LPT.
. Abordare 0x37A (de bază+2) serveste pentru înregistrare pe biți controlul dispozitivului conectat la portul LPT.

Adăugați-l astfel:
0x378-0x378
0x37A-0x37A



Trebuie să adăugați adrese de porturi la listă prin fereastra de introducere și folosind butonul „Adăugați”. Abordare 0x379 cel mai adesea nu este necesar și poate fi omis, deoarece este destinat citiți biți starea de la un dispozitiv conectat la portul LPT, iar majoritatea dispozitivelor (programatoare, JTAG-uri și indicatoare LCD, în special) nu generează semnale de stare.Dacă se dorește, puteți, dimpotrivă, introduceți întreaga gamă de adrese alocate de sistem pt. portul LPT 0x378-0x37F.

Să mergem la Panou de control, Sistem, selectați fila Echipament, manager de dispozitiv, mergeți la Porturi (COM și LPT) și uitați-vă la proprietățile portului LPT prin care doriți să stabiliți o conexiune. În Proprietăți, deschideți fila Resurse și uitați-vă la valoarea parametrului Interval de intrare/ieșire (I/O).. (De obicei, în Windows XP este 378 - 37F)

După generarea listei de adrese, trebuie să faceți clic pe butonul „Start”, driverul va fi lansat și va apărea mesajul:



Apoi faceți clic pe butonul „Actualizare”, șoferul va fi înregistrat în sistem, apoi „Ieșire”. Desigur, nu este nevoie să apăsăm butonul „Stop” în timp ce folosim driverul.

Dacă, când faceți clic pe butonul „Actualizare”, sistemul repornește, trebuie să încercați să începeți înregistrarea driverului în sistem cu drepturi de administrator sau să încercați să dezactivați temporar firewall-ul sau antivirusul, ceea ce poate bloca intervenția în procesele sistemului. Dacă ceva nu funcționează, citiți UserPort.pdf

Pentru a verifica dacă a apărut accesul la porturi, puteți rula programul "lpt-test.exe".

După pornirea programului, va apărea o fereastră cu următorul conținut:



Absența mesajului „Portul LPT este în curs de testare (Adresa XXXh)” și liniile de după acesta indică faptul că driverul nu funcționează.

Acest program trimite pur și simplu către registrul de date Dx și registrul de control Ux al portului LPT numere diferite, apoi le citește. Registrul de stare Sx a portului LPT este numai pentru citire. Numărul și adresa portului LPT testat sunt afișate pe ecran. Dacă portul este sănătos, atunci nu ar trebui emise mesaje pentru registrele Dx și Ux.



LPT-TEST v1.03 1995-2003 Copyright (C) S.B.Alemanov. Moscova „BINAR”.
În timpul testării, niciun dispozitiv periferic nu trebuie conectat la porturi.
Dx - reg. date (out), Ux - reg. control (out), Sx - reg. stare (inp).

Portul LPT1 este testat (Adresa 378h)
Al doilea contact (D0) - nu "1"
Al treilea contact (D1) - nu „1”
Al 4-lea contact (D2) - nu „1”
Al 5-lea pin (D3) - fără „1”
Al șaselea pin (D4) - fără „1”
Al șaptelea pin (D5) - fără „1”
Al 8-lea pin (D6) - fără „1”
Al 9-lea pin (D7) - fără „1”
Primul contact (U0) - nu „1”
Al 14-lea pin (U1) - fără „1”
Al 17-lea pin (U3) - fără „1”
Primul contact (U0) - nu "0"
Al 14-lea pin (U1) - fără „0”
Al 17-lea contact (U3) - fără „0”
Al 15-lea contact (S3) - nu „0”


Dacă registrele Dx sau Ux sunt defecte, atunci este afișat mesajul „nu 0” sau „nu 1” și este indicat numărul pinului de pe conectorul LPT (semnalele de pe acest pin pot fi vizualizate cu un osciloscop). Intrarea registrului de stare Sx poate fi fie „0” fie „1”, dar de obicei, atunci când nu este conectat nimic la portul LPT, toate intrările registrului de stare sunt „1”. Apariția stării „0” la intrarea registrului poate fi un semn că intrarea a fost întreruptă, dacă anterior a existat întotdeauna un „1” acolo.
Pe unele mașini, dacă registrul de date sau registrul de control este defect, atunci accesul la portul LPT nu apare deloc. Aparent, atunci când porniți computerul, BIOS-ul testează portul LPT și, dacă este defect, îl dezactivează.

Dacă apar probleme, este posibil ca unii drivere să interfereze cu funcționarea trimițând periodic impulsuri către portul LPT (acest lucru poate fi văzut cu un osciloscop). De exemplu, vă puteți deconecta de la portul LPT în setările imprimantei:
dezactivați LPT1: Port pentru imprimantă
enable FILE: Imprimați în fișier

După ce toate problemele sunt rezolvate și testul este trecut, ar trebui să apară accesul la porturi și puteți rula un program care utilizează portul LPT. În caz contrar, dispozitivul conectat la portul de pe o astfel de mașină nu va funcționa.

Driver GiveIO.sys

În 1996, programatorul american Dale Roberts a efectuat o serie de experimente, al căror rezultat a fost conducătorul GiveIO.sys. Până acum, acest driver rămâne unul dintre instrumentele populare care permite unui program de aplicație să acceseze porturile I/O.

Însuși autorul driverului recomandă insistent utilizarea acestui driver numai în scopuri de depanare. Versiunea finala program de aplicare ar trebui, în loc să acceseze independent porturile I/O, să încredințeze această sarcină unui driver scris special pentru aceste scopuri. Driverul trebuie să se comporte „corect” verificând dacă dispozitivul este deja utilizat de o altă aplicație.

Cu toate acestea, dacă sunteți absolut sigur că nimeni nu folosește porturile I/O necesare în afară de dvs. (de exemplu, nu aveți o imprimantă conectată la LPT), puteți utiliza în siguranță driverul GiveIO.sys.

Instalarea driverului:

1. Descărcați arhiva, despachetați și copiați fișierul GiveIO.sys în directorul C:\Windows\System32\Drivers (presupunând că Windows este instalat în directorul C:\Windows).
. 2. Rulați fișierul install.reg. Pe ecran va apărea următorul mesaj:


. 3. Răspundem afirmativ. Va apărea un mesaj care indică faptul că informațiile au fost introduse cu succes în registru. Dacă doriți, puteți verifica acest lucru. Lansăm editorul de registry regedit.exe și în ramură HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\giveio Verificăm prezența următoarelor înregistrări:


. 4. Reporniți computerul și verificați funcționarea programelor folosind driverul.

Conducător auto GiveIO.sys oamenii îl folosesc în mod activ și, în timp, au apărut alte variante de instalare.

De exemplu - șofer GiveIO.sys dacă există un fișier cu „informații hardware” GiveIO.inf poate fi instalat prin intermediul applet-ului „Instalare hardware”.




Vom arăta driverul GiveIO.sys sistemului de operare, astfel încât acesta să creadă în existența hardware-ului „GiveIO”.

Descărcați un set de fișiere pentru această opțiune de instalare a driverului GiveIO.sys(giveio_sys_v2.rar - 78kb). Arhiva conține fișierele GiveIO.sys și GiveIO.inf, precum și instrucțiuni detaliate instrucțiuni de instalare cu ilustrații.

Pe lângă opțiunile de instalare „manuală” a driverului, au fost scrise mai multe versiuni ale programului de instalare care efectuează instalarea automat.

Descărcați un set de fișiere pentru instalare automatășoferii GiveIO.sys(giveio_sys_install.rar - 28kb). Arhiva conține fișierele GiveIO.sys și instdrv.exe, precum și fișierul remove-giveio.cmd, cu care driverul GiveIO.sys poate fi eliminat din sistem.

Driver Port95nt

Termenul " conducător auto Port95nt" nu va fi complet corect aici. În esență, acesta este același driver DLPortIO din pachet DriverLINX din Scientific Software Tools, Inc., doar în versiune completă, cu câteva utilitare de administrare a porturilor, cu o descriere și multe exemple pentru programatori. Utilizatorul mediu nu beneficiază de componente suplimentare, iar componentele driverului DLPortIO.sys și DLPortIO.dll sunt exact aceleași ca în versiunea scurtată.

Am menționat Port95nt ca driver din două motive. Prima este completarea listei de referințe la driverele de porturi LPT găsite pe Internet.

Al doilea motiv este că în unele cazuri pot apărea probleme cu instalarea unei versiuni scurtate de DLPortIO sub WinXP. De obicei, dar nu des, acest lucru se întâmplă în versiunile „autor” reduse ale WinXP. În acest caz, puteți lua versiunea completa program de instalare (1,5 MB). Deși, după părerea mea, va fi mai rapid să-l introduci manual folderul dorit DLPortIO.sys și DLPortIO.dll, de ce să vă deranjați să alegeți un program de instalare care poate face acest lucru pentru dvs.

Măsuri suplimentare

Pe lângă instalarea unuia dintre driverele menționate mai sus, pentru funcționarea normală a portului LPT sub WinXP OS, trebuie să editați registrul folosind un fișier REG xp_stop_polling.reg(xp_stop_polling.rar - 0,48 kb)

Sub WinXP, dispozitivele care utilizează portul LPT sunt uneori instabile. Cauza unor astfel de defecțiuni poate fi subsistemul Plug-and-Play (PnP) din Windows, care interogează periodic LPT-ul pentru a detecta dispozitivele conectate. Acest sondaj are loc atunci când sistemul pornește, dar poate apărea și în timpul funcționării. Din păcate, driverul DLportIO.sys și alte opțiuni de driver nu blochează accesul la LPT din alte programe atunci când lucrează cu portul client al acestui driver, iar subsistemul PnP este sigur că portul nu este ocupat, îl accesează și întrerupe funcționarea dispozitive externe. Fișierul REG este folosit pentru a remedia problema. xp_stop_polling.reg. Acest fișier este scris în registru Tasta Windows, care interzice astfel de interogare în timp ce sistemul rulează.

Pe lângă instalarea driverului și limitarea accesului simultan la portul pentru programe, pentru a asigura compatibilitatea hardware și funcționarea normală a echipamentelor cu portul LPT, este necesar să setați adresa corecta Și modul de operare port(„Normal”, SPP sau EPP, dar nu ECP).

Următorii parametri pot fi configurați prin BIOS Setup:

Adresa de bază, care poate fi 378h, 278h și 3BCh. În timpul inițializării, BIOS-ul verifică prezența porturilor după adresă exact în această ordine și, în consecință, atribuie nume logice LPT1, LPT2, LPT3 porturilor detectate. Adresa 3BCh are un adaptor de port situat pe placa MDA sau HGC (predecesorii plăcilor video moderne). Cele mai multe porturi sunt configurate să abordeze 378h în mod implicit și pot fi comutate la 278h.

Linia de cerere de întrerupere utilizată, IRQ7 este de obicei folosită pentru LPT1, IRQ5 pentru LPT2. În multe aplicații desktop, întreruperile imprimantei nu sunt utilizate, iar această resursă limitată de PC poate fi salvată. Cu toate acestea, atunci când utilizați moduri de mare viteză ECP (Fast Centronics), întreruperea operațiunii poate îmbunătăți semnificativ performanța și poate reduce sarcina procesorului.

În același timp, modul ECP nu poate fi utilizat cu dispozitive care necesită sincronizare strânsă (programatori și interfețe JTAG).

În concluzie, puțin despre terminologie:

. SPP(Port paralel standard - port paralel standard). Adesea, pentru a simplifica înțelegerea, în BIOS este notat cu termenul " Normal".
. EPP(Port paralel îmbunătățit) - opțiune de interfață bidirecțională de mare viteză. Scopul unor semnale a fost schimbat, capacitatea de a adresa mai multe dispozitive logice și intrare de date pe 8 biți și un buffer hardware FIFO de 16 octeți a fost introdus. Viteza maximă de schimb este de până la 2 Mb/s.
. ECP(Enhanced Capability Port) - o versiune inteligentă a EPP. A fost introdusă capacitatea de a separa informațiile transmise în comenzi și date, suport pentru DMA și comprimarea datelor transmise folosind metoda RLE (Run-Length Encoding).

LPT EEE 1284 (Line Print Terminal) este un standard internațional de interfață paralelă pentru conectarea dispozitivelor periferice ale unui computer personal. Numele LPT este derivat din nume dispozitiv standard Imprimantă LPT1 (Line Printer Terminal sau Line Printer) în sistemele de operare din familia MS-DOS.

Standard IEEE 1284definește o versiune bidirecțională a portului care permite trimiterea și primirea simultană a biților de date.In nucleu acest standard se află interfața Centronics și versiunile sale extinse (ECP, EPP). Standardul IEEE 1284 a fost rezultatul unei lungi lupte pentru a asigura compatibilitatea. Standard include o descriere formală a tuturor modurilor de operare ale portului LPT. Înainte de adoptarea acestui standard, nu exista un document formal care să permită, dacă ar fi respectat, să se bazeze funcţionare corectă dispozitive în toate configurațiile posibile.

Practic, portul LPT este folosit pentru a conecta o imprimantă, un scaner și alte dispozitive externe la un computer. De asemenea, port LPT adesea folosit pentru a conecta dispozitive de stocare externe.Poate fi folosit pentru a organiza comunicarea între două computere, pentru a conecta orice dispozitive de telesemnalizare și/sau telecontrol.

Standardul IEEE-1284 nu este în prezent dezvoltat. Standardizarea finală a portului paralel a coincis cu începerea implementării interfață USB, care vă permite, de asemenea, să conectați echipamente multifuncționale și oferă mai multe de mare viteză tipărire și funcţionare fiabilă imprimanta. De asemenea, o alternativă la interfața paralelă este interfata retea Ethernet.

Istorie

Inițial, portul LPT a lipsit fizic de pe placa de bază și a fost implementat de o placă de expansiune suplimentară introdusă într-unul dintre sloturile de expansiune ISA de pe placa de bază. Portul paralel a fost folosit de obicei pentru o imprimantă sau un scaner, pentru care transferul unei cantități mari de date nu era critic în timp. Ulterior, suportul portului paralel a fost integrat în chipset-urile care implementează logica plăcii de bază.

Port paralel Centronics - port folosit din 1981 în calculatoare personale de la IBM pentru conectarea dispozitivelor de imprimare, dezvoltat de Centronics Data Computer Corporation. Inițial, acest port a fost proiectat doar pentru transferul de date simplex (unidirecțional), deoarece se presupunea că portul Centronics ar trebui să fie utilizat numai pentru lucrul cu o imprimantă. Ulterior, diferite companii au dezvoltat extensii de interfață duplex (Byte Mode, EPP, ECP). Apoi a fost adoptat standardul internațional IEEE 1284, care descrie cum interfata de baza Centronics și toate extensiile sale.

Informații generale

Standardul IBM definește 3 porturi I/O paralele, care sunt furnizate în BIOS-ul PC-ului și în toate versiunile de DOS. Adresele de bază ale acestor porturi sunt rezervate în spațiul de adrese al computerului: 3BCh, 378h, 278h.

Pe computerele compatibile cu IBM, porturilor paralele li se atribuie nume logice speciale acceptate de sistem: LPT1, LPT2, LPT3. Aceste nume logice nu trebuie să fie identice cu adrese specificate porturi de intrare/ieșire. La pornire, sistemul analizează prezența porturilor paralele pentru fiecare dintre cele trei adrese de bază. Căutările de porturi sunt întotdeauna efectuate în următoarea ordine: 03BCh, 0378h, 0278h. Primului port paralel găsit i se atribuie numele logic LPT1, al doilea - LPT2 și al treilea - LPT3. Ca urmare a implementării acestei scheme de denumire, va exista întotdeauna un port LPT1 în sistem, indiferent de adresa portului I/O care i-a fost atribuită, cu condiția ca computerul să aibă fizic acest port paralel.

Bios

Adresele de port alocate fiecărui slot LPTx pot fi determinate citind zona de date BIOS la adresa 0000:0408.

Port paralel la bord - Această opțiune specifică adresa I/O și numărul de întrerupere pentru portul LPT paralel. Această opțiune depinde de Versiunea BIOS, specifică fie adresa și întreruperea utilizate de portul paralel (LPT), fie numai adresa (întreruperea este specificată printr-o opțiune separată situată lângă acesta).

Valori opțiuni:

378H/IRQ7 – adresa 378H și întreruperea IRQ7;

278H/IRQ5 – adresa 278H și întreruperea IRQ5;

3BCH/IRQ7 – adresa 3BCH și întrerupere IRQ7;

Auto – determinarea automată a adresei I/O și a numărului de întrerupere;

Disabled – dezactivează portul LPT.

Modul Port paralel- Această opțiune setează modul de funcționare al portului LPT paralel.

Exemplu de pagină de setări Phoenix - Biografia premiului

Valori opțiuni:

Normal sau SPP - cel mai simplu unidirecțional sau standard (Standard Parallel Port);

Bi-Dir, Bi-Directional sau BPP - bidirectional (Bi-Directional);

EPP - Port paralel îmbunătățit;

ECP - Port de capabilități îmbunătățite;

ECP+EPP - acceptă două moduri - Port cu capabilități îmbunătățite și Port paralel îmbunătățit.

Alegerea optimă este să selectați valoarea „Enhanced Capabilities Port - ECP”, care va oferi viteza maxima schimb de date între un computer și un dispozitiv periferic.

Dacă echipamentul conectat la acest port paralel al PC-ului este instabil, puteți reduce succesiv modul utilizat până la cel standard. În unele cazuri, instalarea modurilor bidirecționale (bidirecționale) sau combinate (port paralel îmbunătățit și port capabilități îmbunătățite) ajută.

ECP DMA Select- Dacă portul paralel funcționează în modul port de mare viteză cu capabilități ECP avansate (Port de capabilități îmbunătățite) sau ECP+EPP ( Port cu capabilități îmbunătățite și port paralel îmbunătățit) , trebuie să aloce un canal de acces direct la memorie (DMA). Valoarea implicită este numărul canalului 3.

Proprietăți sistem - Hardware - Manager dispozitive - Porturi (Com și LPT) - Port LPT - Resurse

Notă:ÎN versiuni Windows care nu folosesc Nucleul Windows NT (cum ar fi DOS și alte sisteme de operare), programele pot accesa portul paralel folosind rutinele outportb() și inportb(). În sălile de operație sisteme Windows NT și Unix (NetBSD, FreeBSD, Solaris, 386BSD) mecanismul de securitate încorporat al procesorului 80386 este activat și accesul la portul paralel este interzis dacă nu este specificat sofer necesar. Această restricție mărește securitatea și ajută la rezolvarea conflictelor la accesarea dispozitivului.

Mod de operare port

Standardul permite ca interfața să fie utilizată în mai multe moduri:

  • SPP(Standard Parallel Port) - port unidirecțional, complet compatibil cu interfața Centronics.
  • Modul Nibble- vă permite să organizați schimbul de date bidirecțional în modul SPP utilizând linii de control (4 biți) pentru a transfera date de la un dispozitiv periferic la controler. Din punct de vedere istoric, aceasta a fost singura modalitate de a utiliza Centronics pentru comunicarea bidirecțională.
  • Modul octet- rar folosit modul de schimb de date în două sensuri. Folosit în unele controlere mai vechi înainte de adoptarea standardului IEEE 1284.
  • EPP(Port paralel îmbunătățit) - dezvoltat Companii Intel, Xircom și Zenith Data Systems - port bidirecțional, cu rate de transfer de date de până la 2 MB/sec (1991)
  • ESR(Extended Capabilities Port) - dezvoltat de Hewlett-Packard și Microsoft - în plus, au apărut caracteristici precum compresia datelor hardware, un buffer și capacitatea de a lucra în modul DMA.

Pinout LPT DB25F

Pinout LPT Centronics (CN36)

Emulare port LPT (IEEE 1284) sub sistemul de operare Windows

#1: Utilizarea unui card de expansiune compatibil PCI pentru un computer personal.

Exemplu de placă de expansiune PCIe cu un port EPP LPT

PCI(Engleză: Peripheral Component Interconnect) - o magistrală de intrare/ieșire pentru conectarea dispozitivelor periferice la placa de bază a computerului.

Proprietăți sistem - Hardware - Manager dispozitive - Porturi (Com și LPT) - Port PCI LPT - Resurse

Notă: Cel mai adesea, la instalarea unei plăci PCI LPT, adresele I/O vor fi diferite de cele standard/de bază, drept urmare aproape toți programatorii și cheile LPT nu vor funcționa sau vor funcționa incorect.

Adresa I/O reală depinde de sistemul de operare și va fi aleasă aleatoriu. Adresa I/O nu va fi modificată decât dacă placa PCI este mutată într-un alt slot PCI.

Plăcile PCI IEEE1284 cu 1 și 2 porturi sunt disponibile spre vânzare.

ÎN descriere tehnica Plăcile de extensie PCI cu o interfață LPT indică posibilitatea utilizării unui spațiu de adrese standard pentru I/O (intrare/ieșire), cu toate acestea, capacitatea de a specifica resurse I/O este determinată de tipul de sistem de operare utilizat.

În sistemele de operare MS Windows 95/98/ME, DOS, este posibilă setarea parametrilor corespunzători porturilor standard ISA LPT. B b În sistemele de operare mai moderne (de exemplu, Windows 2000/XP/Vista), alocarea resurselor I/O are loc fără participarea utilizatorului sau a administratorului.În unele cazuri, acest lucru poate duce la imposibilitatea de a funcționa controlerul în anumite moduri și depinde în mare măsură de configurația hardware și de tipul de sistem de operare utilizat.

Un port de interfață LPT (cunoscut și sub numele de port paralel sau de imprimantă) este utilizat în computerele personale pentru a conecta diverse dispozitive periferice. În practică, a fost folosit cel mai adesea pentru a întreține imprimante. Zona focalizată de aplicare a interfeței este reflectată direct în numele său englezesc: abrevierea LPT este derivată din Line Print Terminal.

După apariția interfeței USB, aceasta a început rapid să-și piardă din popularitate și acum este rareori folosită în scopul propus.

Versiune port LPT

Portul LPT este un design paralel bazat pe interfața Centronics și este proiectat fizic ca un conector DB25 cu 25 de pini, cu două rânduri. Partea cablului este realizată conform designului mufei; în consecință, priza formează partea instrumentală a interfeței.

Fotografie cu conectorul LPT de pe placa de bază

Rândul de jos găzduiește 13 contacte, în timp ce restul de 12 sunt situate în rândul de sus.

Polaritatea corectă a conexiunii în starea asamblată a conectorului este asigurată prin utilizarea unui blocaj mecanic asigurat de o fustă metalică trapezoidală rigidă instalată pe priză. Această componentă structurală preia în plus funcțiile unui ecran circular extern.

Datorită masei mari a cablului, ștecherul cablului de conectare în starea asamblată a conectorului este fixat suplimentar de priză cu două șuruburi captive. Acest lucru vă permite să atingeți nivelul dorit de fiabilitate operațională.

Schema de conexiuni pentru contacte

Pinout portul LPT, în ciuda numărului mare de contacte ale conectorului de interfață, se dovedește a fi destul de simplu și este prezentat în tabel.

Un număr destul de mare de semnale de service și service se datorează necesității de a controla funcționarea imprimantei și de a sprijini interacțiunea acesteia cu computerul. În acest caz, se asigură numai transferul unidirecțional de date.

Datorită comparativ distanta scurtaîntre contacte separate conector după lipirea firelor, acestea sunt izolate suplimentar cu bucăți scurte de cambric, presate sau folosind un tub termocontractabil.

Cablul poate fi fie perechi răsucite obișnuite, fie perechi răsucite ecranate individual. Este acceptabilă utilizarea unui cablu plat plat. Lungimea totală a cablului nu trebuie să depășească 3 m.

Va trezi un asemenea interes în rândul programatorilor și inginerilor electronici pentru că... Am primit o mulțime de scrisori cu întrebări și le primesc în continuare până astăzi, deși au trecut aproape trei ani de când a fost scris articolul. În plus, în primul articol o serie de inexactități. Toate acestea m-au determinat să scriu un articol mai detaliat pe această temă, în care voi încerca să răspund la majoritatea întrebărilor dragilor cititori și să corectez inexactitățile care au fost făcute în primul articol. Lăsați cititorii primului articol să nu fie jigniți de mine, dar ne vom uita din nou în detaliu la fiecare contact și bit din portul nostru LPT. În prima parte a articolului se va lua în considerare teoria, în a doua și în cele ulterioare (dacă există) vom avea în vedere dispozitive electronice, care poate fi „preluat” în acest port.

În text veți întâlni o abreviere general acceptată pentru scrierea numerelor. De exemplu, 1010 2 - un doi în indice indică faptul că numărul5 reprezentat în binar,124 10 – zece în indice indică faptul că numărul124 zecimal Asta e... pentru orice eventualitate

După cum a arătat practica, toate programele, scrise corect și completate cu biblioteci adecvate (vbio32.dll, inpout32.dll, dlportio.dll etc.) funcționează pe majoritatea computerelor cu sisteme de operare Familia Windows. Am verificat funcționarea tuturor programelor mele (Visual Basic5.0, 6.0) pe Win95, 98, Me, 2000, XP HE, XP Prof și chiar DOS6.22 (QBasic) - totul funcționează bine. În DOS nu aveți nevoie deloc de biblioteci, totul funcționează oricum acolo. Permiteți-mi să fac o rezervare imediat pentru vbio32.dll și inpout32.dll NU VA FUNCȚIONA SUBWin2000, dar vor funcționa perfect sub Win95, 98, Me.

Apropo, puteți lua oricare dintre aceste biblioteci. Am vrut să încerc dlportio.dll și acest moment Lucrez cu această bibliotecă. Și în sfârșit, înainte de a scrie programe, trebuie să declarați corect biblioteca pe care o utilizați.

Pentru inpout32.dll

Funcția de declarare privată Inp Lib „inpout32.dll” Alias ​​„Inp32” (ByVal PortAddress ca întreg) ca întreg

Private Declarare Sub Out Lib „inpout32.dll” Alias ​​„Out32” (ByVal PortAddress ca număr întreg, valoarea ByVal ca număr întreg)

Pentru dlportio.dll

Funcția de declarare privată DlPortReadPortUchar Lib "dlportio.dll" (ByVal Port As Long) As Byte

Private Declarare Sub DlPortWritePortUchar Lib "dlportio.dll" (ByVal Port As Long, ByVal Value As Byte)

Care este diferența Privat din Public nu voi scrie.

Portul paralel pentru comunicarea cu o imprimantă (sau alt dispozitiv) are o adresă de bază &H378 (LPT1), &H278 (LPT2), &H3BC (LPT3). În acest articol vom lua în considerare doar LPT1. Spațiul de adrese al acestui port ocupă intervalul &H378-&H37F.

· Abordare & H378 numit de bază și este folosit pentru a scrie (a citi, dar mai multe despre asta mai târziu) date în port, pe linia D0-D7.

· Abordare & H379 (de bază+1) conceput pentru a citi biții de stare de pe un dispozitiv conectat la portul LPT (imprimantă, scaner etc.)

· Abordare & H37A (de bază+2) servește la înregistrarea biților de control ai unui dispozitiv conectat la portul LPT (imprimantă, scaner etc.).

Tabelele de mai jos descifrează contactele și semnalele fiecărei adrese

Pini 18-25 – „masă” (comun, GND, GROUND etc.)

Să luăm în considerare programarea fiecărei adrese.

· Adresa de bază &H378 (LPT1) permite scrierea datelor în portul de pe linia D0-D7 în intervalul de la 0 la 255.

· Scrieți numărul 69 în port

· Adresa &H379 este folosită pentru a citi biții de stare.

· Citiți starea portului la &H379

Când citiți adresa &H379, trebuie să vă amintiți că primii trei biți nu sunt utilizați și au întotdeauna o valoare de jurnal. „1”, iar al 7-lea bit este invers. Drept urmare, dacă toți pinii 15, 13, 12, 10, 11 sunt puși la pământ, atunci când citiți informațiile veți obține 1+2+4 pe primii trei biți (care nu sunt utilizați) și pe al 7-lea bit ( pin 11- invers, ceea ce înseamnă că atunci când există o eroare la pământ, va exista un jurnal „1”) +128 total 135. Nu uitați de asta. În a doua parte a articolului ne vom uita la asta mai detaliat.

· Adresă și H37 A este folosit pentru a scrie biți de control.

· Scrieți semnalul -STROBE (bit de control 0)

De ce 10? Să ne uităm la farfurie.

Semnalele STROBE, AUTO, SELECT IN sunt inverse, ceea ce înseamnă că pentru a obține un „1” logic la ieșirea contactelor conectorului 1, 14, 17, trebuie să aplicați un „0” logic acestor biți, adică. Au dat un lucru și au primit opusul. Semnalul INIT este direct (nu invers), deci un „1” logic pe pinul 16 va apărea atunci când aplicăm un „1” logic acestui bit, adică. Ce ai dat este ceea ce ai primit.

Să încercăm să obținem un nivel scăzut de semnal „0” pe pinii 1.17 și un nivel ridicat de semnal „1” pe pinii 14 și 16, de exemplu. la ieșirea contactelor 1,14,16,17 va fi 0 1 1 0 (610).

Bitul zero (-STROBE) este setat la „1” (pinul 1 va fi „0”), primul bit (-AUTO) este „0” (pinul 14 va fi „1”), al doilea bit (INIT) este „1” (pe pinul 1 va fi „1”) și, în final, pe al treilea bit (-SELECT IN) aplicăm „1” (pe pinul 17 va fi „0”), adică. Am scris numărul 10112 la adresa &H37A, care este 1310. Aceasta înseamnă că pentru a obține 6 la ieșire, trebuie să introduceți 13.

Pentru comoditate, ofer un tabel cu toate combinațiile posibile de numere de la 0 la 15

Semnal furnizat

Semnal primit

Numar decimal

(- STROBE) 2 0

(-AUTO) 2 1

(INIT) 2 2

(-SELECT IN) 2 3

pinul 1

pinul 14

pinul 16

pinul 17

Numar decimal

Și în sfârșit, ultimul lucru din această parte a articolului. Dacă computerul dvs. acceptă standardul EPP, atunci al patrulea bit la adresa & H37A puteți activa o întrerupere (pentru LPT1 acesta este IRQ7) de la imprimantă, doar nu mă întrebați ce este, oricum nu știu nimic despre întreruperi. Dar cu al cincilea bit 110101 2, de exemplu, prin trimiterea numărului 43 10, setați magistrala D0-D7 la modul RECEPŢIE date. În acest caz, toți biții (contactele 2-9) iau valoarea „1” logic. Pentru a aplica un „0” logic contactului dorit, trebuie să îl închideți printr-o rezistență de 240 - 360 Ohmi la masă. Astfel, prin portul LPT al computerului primim forma standard un dispozitiv cu 12 semnale de ieșire și 5 semnale de intrare, iar când portul este comutat în modul EPP, obținem 4 semnale de ieșire și 13 semnale de intrare.

ModulSPP (12 ieșiri și 5 intrări)

ModulEPP (4 intrări și 13 ieșiri)

Semnal

Direcţie

Semnal

Direcţie

Ieșire

Intrare

Ieșire

Intrare

Ieșire

Intrare

Ieșire

Intrare

Ieșire

Intrare

Ieșire

Intrare

Ieșire

Intrare

Ieșire

Intrare

Intrare

Intrare

Intrare

Intrare

CAPĂT HÂRTIE

Intrare

CAPĂT HÂRTIE

Intrare

Intrare

Intrare

- OCUPAT

Intrare

- OCUPAT

Intrare

- STROBE

Ieșire

Ieșire

Ieșire

- AUTO

Ieșire

Ieșire

Ieșire

-SELECT IN

Ieșire

-SELECT IN

Ieșire

Sfârșitul primei părți.

În a doua parte a articolului vom conecta diverse lucruri electronice la port.

Acțiune