LTP-kontakt. Funktioner och funktionsprincip för lpt-skrivarporten

En av de äldsta datorportarna är LPT-porten eller parallellporten. Och även om LPT-porten nu inte kan ses på alla moderkort men läsare kan vara intresserade av att veta vad det är.

Först av allt, låt oss titta på portnamnet. Det är kanske inte alla som vet vad förkortningen LPT står för. Faktum är att LPT är en förkortning för Line Print Terminal. Därmed blir det tydligt att LPT-porten i första hand var avsedd för anslutning av skrivare. Det är därför LPT-porten har ett annat namn - skrivarport. Även om andra enheter teoretiskt kan anslutas till LPT.

LPT-porten har en lång historia. Den utvecklades av Centronics (vilket är anledningen till att denna port ofta kallas Centronics-porten), som producerade matrisskrivare före PC-eran, i början av 1970-talet. Och i början av 1980-talet började LPT-porten användas av IBM i sina datorer och blev under en tid standardporten för att ansluta höghastighetsenheter (på den tiden).

Utseendet på parallellporten på baksidan av datorn

LPT-gränssnittet har funnits i flera upplagor. I den ursprungliga versionen var LPT-porten enkelriktad, det vill säga den kunde överföra data i endast en riktning - till en kringutrustning. Naturligtvis passade den här situationen inte användarna, eftersom det fanns skrivare som krävde dataöverföring i båda riktningarna. Därför förbättrades LPT-gränssnittet sedan flera gånger tills det utvecklades internationell standard IEEE 1284. I enlighet med denna standard stödde parallellportsgränssnittet flera driftlägen och var även kompatibelt med äldre standarder. Dessutom stödde gränssnittet i sin slutliga version relativt höga dataöverföringshastigheter - upp till 5 Mb/s.

Hur parallellporten fungerar

LPT-porten kallas parallell eftersom kabeln som är ansluten till den överför data parallellt, det vill säga samtidigt längs flera ledare. Den här egenskapen skiljer en parallellport från andra datorportar - serieport COM.

Det finns 8 ledare som överför själva data i Centronics-kabeln. Kabeln innehåller dessutom flera ledningar genom vilka styrsignaler överförs.

Även om parallellporten mest används för att ansluta skrivare, fanns det dock andra användningsområden för den. För det första, med hjälp av LPT-porten, kan du ansluta två datorer direkt med en speciell Interlink-kabel. Före utbredd användning nätverkskort En Ethernet-liknande anslutning, även om den inte gav användaren höga dataöverföringshastigheter, var ofta ändå det enda sättet att koppla ihop två datorer. Det finns också elektroniska nycklar, avsedd för anslutning till LPT-port.

Kabel för dataöverföring mellan datorer - Interlink

Som med många andra enheter på moderkortet kan parallellportens driftlägen ofta konfigureras via BIOS inställningar. Som regel används BIOS-alternativ som Parallel Port, Parallel Port IRQ, Parallel Port DMA etc. för detta.

Moderkorts parallellportkontakt och Centronics-kabel

LPT-portkontakten är vanligtvis placerad direkt på moderkortet, dock fram till mitten av 1990-talet. det fanns vanligtvis på ett så kallat multikort som satts in i en expansionskortplats, på vilken även andra portar på datorn fanns. Portutgången är en 25-stifts honkontakt som kallas en DB25-kontakt.

ISA multikort med LPT (DB25 - "mamma") och en spelport ombord.

För att ansluta till skrivaren används en speciell kabel - en Centronics-kabel. Ena änden (pluggen) av Centronics-kabeln är ansluten till porten, den andra (också pluggen) är ansluten till en speciell kontakt på skrivaren. Den sista kontakten har 36 stift. Därför är en egenskap hos Centronics-kabeln att den har olika kontakter på båda sidor.

Centronics-kabelns utseende.

Även om moderkortets kabelkontakt ofta kallas Centronics-kontakten, strängt taget, är Centronics-kontakten endast en 36-pins kontakt för anslutning till skrivaren, och inte till moderkortet. Kabelkontakten för att ansluta till porten kallas en Amphenolstacker-kontakt, från namnet på den amerikanska kontakttillverkaren Amphenol som utvecklade den.

Funktioner hos parallellporten

På grund av det faktum att LPT-porten stöder parallell dataöverföring, ansågs denna port i de första datorerna vara en av de snabbaste datorportarna. Att överföra data över flera linjer gör LPT-gränssnittet mycket närmare datorbussar i arkitekturen. Denna omständighet medför dock också en begränsning av kabellängden, som på grund av störningar i kabeln inte får överstiga 5 m.

Den maximala spänningen som används i portsignallinjerna är +5 V. För enkel dataöverföring krävs endast tio signallinjer - dessa är 8 datalinjer, en strobesignallinje, det vill säga en signal om att porten är redo att överföra data och en upptagen linje. De återstående linjerna används för kompatibilitet med Centronics-standarden.

LPT-port av typen "hona" med kontaktnummer.

DB25 Parallell Port Connector Pinout:

  • 1 – Datablixt
  • 2-9 – Data, bitar 0-7
  • 10 – Bekräfta (Bekräftelse från skrivaren)
  • 11 – Upptagen
  • 12 – Papper slut
  • 13 – Välj (skrivare aktiv)
  • 14 – Automatisk matning
  • 15 – Fel
  • 16 – Init (skrivarinitiering)
  • 17 – Välj Ingång
  • 18-25 – Jorden

Slutsats

LPT-porten är ett persondatorgränssnitt som nu anses föråldrat och som inte har betydande stöd från datorutrustningstillverkare och programvara. Men parallellporten används fortfarande framgångsrikt i många äldre modeller av datorer och skrivare.

Vi rekommenderar starkt att träffa honom. Där hittar du många nya vänner. Dessutom är det snabbast och effektivt sätt kontakta projektadministratörerna. Avsnittet Antivirusuppdateringar fortsätter att fungera - alltid uppdaterade gratisuppdateringar för Dr Web och NOD. Har du inte hunnit läsa något? Hela innehållet i tickern finns på denna länk.

Arbeta med en LPT-port i Win NT/2000/XP

LPT-port (L ine P rin T er) är en parallell gränssnittsport som ursprungligen skapades för att ansluta en skrivare. BIOS ger stöd för LPT-porten, vilket är nödvändigt för att organisera utdata via Centronics-gränssnittet. Portadressutrymmet upptar intervallet &H378-&H37F

LPT-porten har 12 utgångs- och 5 ingångslinjer. Ett sådant ganska stort antal rader gör möjlig anslutning till hamnen av enkel utrustning, som kanske inte ens har en egen mikrokontroller. Därför används denna port, trots försvinnandet av skrivare med ett LPT-gränssnitt, aktivt för att ansluta enkla minneschipprogrammerare, JTAG-gränssnitt för blinkande (ersättning av programvara) satellitmottagare, DVD-spelare och annan elektronisk utrustning. LPT-porten är också populär bland moddare, eftersom den låter dig ansluta LCD-skärmar till din dator utan att göra komplexa gränssnittskort.

Windows 2000/XP tillåter inte program att komma åt I/O-portar direkt. För att göra detta måste du använda en drivrutin som körs i KERNEL-läge (i operativsystemets kärnläge).

Att begränsa åtkomsten till I/O-portar för vanliga applikationsprogram (som körs i användarläge) gör operativsystemet mer stabilt. Även om, å andra sidan, ingen hindrar programmeraren från att skriva en drivrutin som kommer åt portarna.

Jag undrar för vad Intel-processor x86, kan du skriva en drivrutin med hjälp av en av två fundamentalt olika metoder. Det första alternativet är att föraren själv kommer åt portarna, och applikationsprogrammet talar bara om för föraren vad den ska göra. Detta alternativ är vanligtvis standard och föredraget.

För att lösa problemet finns det fyra populära drivrutinsalternativ som tillåter ett applikationsprogram att komma åt I/O-portar: drivrutin DLPortIO, förare Användarport, förare GiveIO.sis, förare Port95nt.

Alla fyra alternativen är nästan likvärdiga.

Drivrutinen för DLPortIO

DLportIO - drivrutin för portåtkomst från paketet Drivrutinen LINX från Scientific Software Tools, Inc. (http://www.sstnet.com) i förkortad form (utan beskrivning och onödig dokumentation). För normal drift av underhållsprogram för LCD-indikatorer kan vi rekommendera detta drivrutinsalternativ.

Själva drivrutinen består av två komponenter:
. DLPortIO.dll - Win32 DLL tillhandahåller hårdvaru-I/O och
. DLPortIO.sys - drivrutin för WinNT, körs i OS-kärnläge (krävs inte för Win95/98)

I installationspaketet för drivrutiner finns det förutom dessa två komponenter också en Install.exe-fil som flyttar de två ovan nämnda till mappen Windows-drivrutiner och registrera dem i systemet.

Det finns inget mer att skriva om denna förare. Ingen installation krävs. Laddat ner, installerat, använd. Glöm inte att titta i slutet av artikeln och läsa om hur du säkerställer LPT-portens funktionalitet.

Installationen är enkel - kör filen Install.exe och installera. När installationen är klar, titta i mappen C:\Windows\System32\drivers och kontrollera om det finns två drivrutinsfiler (DLPortIO.sys och DLPortIO.dll). Om vi ​​ser att dessa filer aldrig kopierades tar vi dem från installationspaket och kopiera det manuellt. Oroa dig inte, inget dåligt kommer att hända med din dator. Vi startar om datorn och arbetar med LPT-porten.

Om du plötsligt, som ett resultat av manipulationer med utrustningen, får ett meddelande från drivrutinen så här: "dlportio.sys enhetsdrivrutin inte laddad port I/O kommer att ha någon effekt," få inte panik. Det här problemet är fixat så här:
. Starta regedit.
. Vi går till filialen i registret HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.
. Ändra parameterns värde i mappen dlportio Start1 .
. Starta om datorn.

UserPort-drivrutin

Förare Användarportöppnar åtkomst till portar i Win NT/2000/XP för program. Denna version av LPT-portdrivrutinen används oftast av "tekniker" som arbetar med programmerare och JTAGs, eftersom drivrutinen har åtminstone några konfigurationsinställningar. Den kan också användas för att driva underhållsprogram för LCD-indikatorer.

Drivrutinsarkivet innehåller tre filer:
. UserPort.sys - drivrutin för WinNT, körs i OS-kärnläge,
. UserPort.exe är ett program för att konfigurera drivrutinen och
. UserPort.pdf - beskrivningsfil.

UserPort installation:
. 1. Packa upp arkivet i en separat mapp.
. 2. Kopiera UserPort.sys-filen till C:\Windows\System32\drivers

UserPort-inställning:
. Kör UserPort.exe.
. En panel med 2 fönster kommer att dyka upp framför oss.

Det vänstra fönstret hänvisar till programmet som körs i ett DOS-fönster, det högra till fullskärm. Som standard innehåller de LPT-portnummer - alla kan tas bort med knappen "Ta bort". I båda fönstren måste du ange de nödvändiga portnumren som du planerar att använda.

För användning från drivrutinen med de flesta programmerare, JTAGs och displayserviceprogram, lägg till följande parametrar i den vänstra kolumnen:
378 , 379 Och 37A För LPT1
278 , 279 Och 27A För LPT2(Om LPT-portadressen omtilldelas i BIOS).

Låt mig förklara vad siffrorna betyder. 0x378- det här är portadressen.
. Adress 0x378 kallad grundläggande och används för att skriva och läsa data till och från hamnen, via databussen D0-D7.
. Adress 0x379 (grundläggande+1) skapad för läsa bitar status från en enhet ansluten till LPT-porten.
. Adress 0x37A (grundläggande+2) tjänar till bitinspelning kontroll av enheten som är ansluten till LPT-porten.

Lägg till så här:
0x378-0x378
0x37A-0x37A



Du måste lägga till portadresser till listan genom inmatningsfönstret och med knappen "Lägg till". Adress 0x379 oftast behövs det inte och kan utelämnas, eftersom det är avsett för läsa bitar status från en enhet som är ansluten till LPT-porten, och de flesta enheter (speciellt programmerare, JTAGs och LCD-indikatorer) genererar inte statussignaler Om så önskas kan du tvärtom ange hela intervallet av adresser som tilldelats av systemet LPT-porten 0x378-0x37F.

Låt oss gå till Kontrollpanel, System, välj fliken Utrustning, Enhetshanteraren, gå till Portar (COM och LPT) och titta på egenskaperna för LPT-porten genom vilken du vill upprätta en anslutning. Öppna fliken Resurser i Egenskaper och titta på parametervärdet Ingångs-/utgångsintervall (I/O).. (Vanligtvis är det i Windows XP 378 - 37F)

Efter att ha skapat listan med adresser måste du klicka på "Start"-knappen, drivrutinen startas och meddelandet visas:



Klicka sedan på knappen "Uppdatera", föraren kommer att registreras i systemet, sedan "Avsluta". Det finns naturligtvis ingen anledning att trycka på "Stopp"-knappen medan vi använder föraren.

Om systemet startar om när du klickar på knappen "Uppdatera", måste du försöka starta drivrutinsregistrering i systemet med administratörsrättigheter eller försöka tillfälligt inaktivera brandväggen eller antivirusprogrammet, vilket kan blockera ingrepp i systemprocesser. Om något inte fungerar, läs UserPort.pdf

För att kontrollera om åtkomst till portarna har dykt upp kan du köra programmet "lpt-test.exe".

Efter att ha startat programmet visas ett fönster med följande innehåll:



Frånvaron av meddelandet "LPT-port testas (adress XXXh)" och raderna efter det indikerar att drivrutinen inte fungerar.

Detta program skickar helt enkelt till Dx-dataregistret och Ux-kontrollregistret för LPT-porten olika nummer, och sedan läser dem. Statusregistret för LPT-port Sx är skrivskyddat. Numret och adressen till LPT-porten som testas visas på skärmen. Om porten är frisk bör inga meddelanden utfärdas för Dx- och Ux-registren.



LPT-TEST v1.03 1995-2003 Copyright (C) S.B.Alemanov. Moskva "BINAR".
Under testning bör ingen kringutrustning vara ansluten till portarna.
Dx - reg. data (ut), Ux - reg. kontroll (ut), Sx - reg. status (inp).

LPT1-porten testas (adress 378h)
2:a kontakten (D0) - ingen "1"
3:e kontakten (D1) - ingen "1"
4:e kontakt (D2) - ingen "1"
5:e stift (D3) - ingen "1"
6:e stift (D4) - ingen "1"
7:e stift (D5) - ingen "1"
8:e stift (D6) - ingen "1"
9:e stift (D7) - ingen "1"
1:a kontakt (U0) - ingen "1"
14:e stift (U1) - ingen "1"
17:e stift (U3) - ingen "1"
1:a kontakt (U0) - ingen "0"
14:e stift (U1) - ingen "0"
17:e kontakt (U3) - ingen "0"
15:e kontakt (S3) - ingen "0"


Om Dx- eller Ux-registren är felaktiga, visas meddelandet "no 0" eller "no 1" och stiftnumret på LPT-kontakten indikeras (signalerna på detta stift kan ses med ett oscilloskop). Ingången till Sx-statusregistret kan vara antingen "0" eller "1", men vanligtvis, när inget är anslutet till LPT-porten, är alla ingångar i statusregistret "1". Uppkomsten av status "0" vid registrets ingång kan vara ett tecken på att ingången har brutits, om det tidigare alltid fanns en "1" där.
På vissa maskiner, om dataregistret eller kontrollregistret är felaktigt, visas inte åtkomst till LPT-porten alls. Uppenbarligen, när du slår på datorn, testar BIOS LPT-porten och, om den är felaktig, inaktiverar den den.

Om problem uppstår är det möjligt att vissa förare stör driften genom att regelbundet skicka pulser till LPT-porten (detta kan ses med ett oscilloskop). Du kan till exempel koppla från LPT-porten i skrivarinställningarna:
stäng av LPT1: Skrivarport
aktivera FIL: Skriv ut till fil

Efter att alla problem är lösta och testet är godkänt bör åtkomst till portarna visas och du kan köra ett program som använder LPT-porten. Annars fungerar inte enheten som är ansluten till porten på en sådan maskin.

GiveIO.sys drivrutinen

Redan 1996 genomförde den amerikanske programmeraren Dale Roberts en serie experiment, vars resultat var föraren GiveIO.sys. Fram till nu är den här drivrutinen ett av de populära verktygen som gör att ett applikationsprogram kan komma åt I/O-portar.

Drivrutinsförfattaren själv rekommenderar starkt att den här drivrutinen endast används för felsökningsändamål. Slutversion applikationsprogram bör, istället för att självständigt komma åt I/O-portarna, anförtro denna uppgift till en drivrutin som är skriven speciellt för dessa ändamål. Föraren måste bete sig "korrekt" genom att kontrollera om enheten redan används av någon annan applikation.

Men om du är helt säker på att ingen använder de nödvändiga I/O-portarna förutom du (du har till exempel ingen skrivare ansluten till LPT), kan du säkert använda drivrutinen GiveIO.sys.

Installation av drivrutiner:

1. Ladda ner arkivet, packa upp och kopiera GiveIO.sys-filen till katalogen C:\Windows\System32\Drivers (förutsatt att ditt Windows är installerat i katalogen C:\Windows).
. 2. Kör filen install.reg. Följande meddelande visas på skärmen:


. 3. Vi svarar jakande. Ett meddelande kommer att visas som indikerar att informationen har matats in i registret. Om du vill kan du verifiera detta. Vi startar registerredigeraren regedit.exe och i filialen HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\giveio Vi kontrollerar förekomsten av följande register:


. 4. Starta om datorn och kontrollera att programmen fungerar med hjälp av drivrutinen.

Förare GiveIO.sys människor använder det aktivt och dök upp med tiden andra alternativ för att installera den.

Till exempel - förare GiveIO.sys om det finns en fil med "hårdvaruinformation" GeIO.inf kan installeras via appleten "Hårdvaruinstallation".




Vi kommer att visa GiveIO.sys-drivrutinen för operativsystemet så att det tror på existensen av "GiveIO"-hårdvaran.

Ladda ner en uppsättning filer för detta alternativ för drivrutinsinstallation GiveIO.sys(giveio_sys_v2.rar - 78kb). Arkivet innehåller filerna GiveIO.sys och GiveIO.inf, samt detaljerade instruktioner installationsanvisningar med illustrationer.

Utöver alternativen för "manuell" drivrutinsinstallation har flera versioner av installationsprogrammet skrivits som utför installationen automatiskt.

Ladda ner en uppsättning filer för automatisk installation förare GiveIO.sys(giveio_sys_install.rar - 28kb). Arkivet innehåller filerna GiveIO.sys och instdrv.exe, samt filen remove-giveio.cmd, med vilken drivrutinen GiveIO.sys kan tas bort från systemet.

Drivrutinen för port95nt

Termen " förare Port95nt" kommer inte att vara helt korrekt här. Detta är i huvudsak samma drivrutin DLPortIO från paketet Drivrutinen LINX från Scientific Software Tools, Inc., endast i full version, med ett par porthanteringsverktyg, med en beskrivning och många exempel för programmerare. Den genomsnittliga användaren har ingen nytta av ytterligare komponenter, och drivrutinskomponenterna DLPortIO.sys och DLPortIO.dll är exakt desamma som i den förkortade versionen.

Jag nämnde Port95nt som en drivrutin av två anledningar. Den första är att komplettera listan med referenser till LPT-portdrivrutiner som finns på Internet.

Det andra skälet är att det i vissa fall kan vara problem med att installera en förkortad version av DLPortIO under WinXP. Vanligtvis, men inte ofta, händer detta i avskalade "författarbyggen" av WinXP. I det här fallet kan du ta full version installationsprogram (1,5 MB). Även om det enligt mig kommer att gå snabbare att manuellt lägga in den önskad mapp DLPortIO.sys och DLPortIO.dll, varför bry sig om att välja ett installationsprogram som kan göra detta åt dig.

Ytterligare åtgärder

Förutom att installera en av de ovan nämnda drivrutinerna, för normal drift av LPT-porten under WinXP OS, måste du redigera registret med en REG-fil xp_stop_polling.reg(xp_stop_polling.rar - 0,48 kb)

Under WinXP är enheter som använder LPT-porten ibland instabila. Orsaken till sådana fel kan vara undersystemet Plug-and-Play (PnP) i Windows, som regelbundet efterfrågar LPT för att upptäcka anslutna enheter. Denna polling sker när systemet startar, men det kan också ske under drift. Tyvärr blockerar inte DLportIO.sys-drivrutinen och andra drivrutinsalternativ åtkomst till LPT från andra program när man arbetar med klientporten för denna drivrutin, och PnP-undersystemet är säker på att porten inte är upptagen, kommer åt den och stör driften externa enheter. REG-filen används för att åtgärda problemet. xp_stop_polling.reg. Denna fil är skriven i registret Windows-nyckel, som förbjuder sådan polling medan systemet körs.

Förutom att installera drivrutinen och begränsa samtidig åtkomst till porten för program, för att säkerställa hårdvarukompatibilitet och normal drift av utrustning med LPT-porten, är det nödvändigt att ställa in korrekt adress Och portens driftläge("Normal", SPP eller EPP, men inte ECP).

Följande parametrar kan konfigureras via BIOS Setup:

Basadress, som kan vara 378h, 278h och 3BCh. Under initieringen kontrollerar BIOS förekomsten av portar efter adress i exakt denna ordning och tilldelar följaktligen de logiska namnen LPT1, LPT2, LPT3 till de upptäckta portarna. Adress 3BCh har en portadapter placerad på MDA- eller HGC-kortet (föregångare till moderna grafikkort). De flesta portar är konfigurerade för att adressera 378h som standard och kan växlas till 278h.

Den avbrottsbegäran som används, IRQ7 används vanligtvis för LPT1, IRQ5 för LPT2. I många skrivbordsprogram används inte skrivaravbrott, och denna knappa PC-resurs kan sparas. Men när man använder ECP (Fast Centronics) höghastighetslägen kan avbrottsdrift förbättra prestandan avsevärt och minska processorbelastningen.

Samtidigt kan ECP-läget inte användas med enheter som kräver snäva timings (programmerare och JTAG-gränssnitt).

Avslutningsvis lite om terminologi:

. SPP(Standard parallellport - standard parallellport). Ofta, för att förenkla förståelsen, betecknas det i BIOS med termen " Vanligt".
. EPP(Enhanced Parallel Port) - höghastighets dubbelriktat gränssnittsalternativ. Syftet med vissa signaler har ändrats, möjligheten att adressera flera logiska enheter och 8-bitars dataingång och en 16-byte hårdvaru-FIFO-buffert har införts. Den maximala växlingshastigheten är upp till 2 Mb/s.
. ECP(Enhanced Capability Port) - en intelligent version av EPP. Möjligheten att separera överförd information i kommandon och data, stöd för DMA och komprimering av överförda data med RLE-metoden (Run-Length Encoding) har introducerats.

LPT EEE 1284 (Line Print Terminal) är en internationell parallellgränssnittsstandard för anslutning av kringutrustning till en persondator. Namnet LPT kommer från namnet standardanordning LPT1-skrivare (Line Printer Terminal eller Line Printer) i operativsystem i MS-DOS-familjen.

Standard IEEE 1284definierar en dubbelriktad version av porten som gör att databitar kan skickas och tas emot samtidigt.I kärnan denna standard ligger Centronics-gränssnittet och dess utökade versioner (ECP, EPP). IEEE 1284 standard var resultatet av en lång kamp för att säkerställa kompatibilitet. Standard innehåller en formell beskrivning av alla driftlägen för LPT-porten. Före antagandet av denna standard fanns det inget formellt dokument som skulle göra det möjligt att räkna med, om den efterlevdes korrekt funktion enheter i alla möjliga konfigurationer.

I grund och botten används LPT-porten för att ansluta en skrivare, skanner och andra externa enheter till en dator. Även LPT-port används ofta för att ansluta externa lagringsenheter.Kan användas för att organisera kommunikation mellan två datorer, ansluta alla telesignalerings- och/eller fjärrkontrollenheter.

IEEE-1284-standarden utvecklas för närvarande inte. Den slutliga standardiseringen av parallellporten sammanföll med starten av implementeringen USB-gränssnitt, som också låter dig ansluta MFP:er och ger mer hög hastighet tryckning och tillförlitlig drift skrivare. Ett alternativ till det parallella gränssnittet är också nätverksgränssnitt Ethernet.

Historia

Till en början saknades LPT-porten fysiskt från moderkortet och implementerades av ett extra expansionskort som satts in i en av ISA-expansionsplatserna på moderkortet. Parallellporten användes vanligtvis för en skrivare eller skanner, för vilken överföringen av en stor mängd data inte var tidskritisk. Därefter integrerades stöd för parallellportar i chipset som implementerar moderkortets logik.

Centronics parallellport - port använd sedan 1981 in personliga datorer från IBM för anslutning av skrivarenheter, utvecklad av Centronics Data Computer Corporation. Ursprungligen designades denna port endast för enkelsidig (enriktad) dataöverföring, eftersom det antogs att Centronics-porten endast skulle användas för att arbeta med en skrivare. Därefter utvecklade olika företag duplexgränssnittstillägg (Byte Mode, EPP, ECP). Den internationella standarden IEEE 1284 antogs sedan, som beskriver hur grundläggande gränssnitt Centronics och alla dess tillägg.

Allmän information

IBM-standarden definierar 3 parallella I/O-portar, som finns i PC BIOS och i alla versioner av DOS. Basadresserna för dessa portar är reserverade i adressutrymmet på datorn: 3BCh, 378h, 278h.

På IBM-kompatibla datorer tilldelas parallellportar speciella logiska namn som stöds av systemet: LPT1, LPT2, LPT3. Dessa logiska namn behöver inte vara desamma som angivna adresser in-/utgångsportar. Vid uppstart analyserar systemet förekomsten av parallella portar för var och en av de tre basadresserna. Portsökningar utförs alltid i följande ordning: 03BCh, 0378h, 0278h. Den första parallellporten som hittas tilldelas det logiska namnet LPT1, den andra - LPT2 och den tredje - LPT3. Som ett resultat av att implementera detta namnschema kommer det alltid att finnas en LPT1-port i systemet, oavsett vilken I/O-portadress som tilldelats den, förutsatt att datorn fysiskt har denna parallellport.

Bios

Portadresserna som tilldelats varje LPTx-plats kan bestämmas genom att läsa BIOS-dataområdet på adressen 0000:0408.

Parallellport ombord - Det här alternativet anger I/O-adressen och avbrottsnumret för den parallella LPT-porten. Detta alternativ beror på BIOS-version, anger antingen adressen och avbrottet som används av parallellporten (LPT), eller bara adressen (avbrottet anges av ett separat alternativ som finns bredvid).

Alternativvärden:

378H/IRQ7 – adress 378H och avbryt IRQ7;

278H/IRQ5 – adress 278H och avbryt IRQ5;

3BCH/IRQ7 – 3BCH-adress och IRQ7-avbrott;

Auto – automatisk bestämning av I/O-adress och avbrottsnummer;

Disabled – inaktiverar LPT-porten.

Parallellportläge- Det här alternativet ställer in driftsläget för den parallella LPT-porten.

Exempel på Phoenix-inställningssida - Award Bios

Alternativvärden:

Normal eller SPP - den enklaste enkelriktade eller standard (Standard Parallel Port);

Bi-Dir, Bi-Directional eller BPP - dubbelriktad (Bi-Directional);

EPP - Enhanced Parallel Port;

ECP - Enhanced Capabilities Port;

ECP+EPP - stöder två lägen - Enhanced Capabilities Port och Enhanced Parallel Port.

Det optimala valet är att välja värdet "Enhanced Capabilities Port - ECP", som kommer att ge maxhastighet utbyta data mellan en dator och en kringutrustning.

Om utrustningen som är ansluten till denna parallella PC-port är instabil kan du successivt reducera det använda läget till standardläget. I vissa fall hjälper det att installera dubbelriktade (Bi-Directional) eller kombinerade (Enhanced Parallel Port och Enhanced Capabilities Port) lägen.

ECP DMA Välj- Om parallellporten fungerar i höghastighetsportläge med avancerade ECP-funktioner (Enhanced Capabilities Port) eller ECP+EPP ( Enhanced Capabilities Port och Enhanced Parallel Port) måste den allokera en DMA-kanal (Direct Memory Access). Standardvärdet är kanalnummer 3.

Systemegenskaper - Hårdvara - Enhetshanterare - Portar (Com & LPT) - LPT-port - Resurser

Notera: I Windows-versioner som inte använder Windows kärna NT (som DOS och vissa andra operativsystem), kan program komma åt parallellporten med hjälp av rutinerna outportb() och inportb(). I operationssalar Windows-system NT och Unix (NetBSD, FreeBSD, Solaris, 386BSD) är 80386-processorns inbyggda säkerhetsmekanism aktiverad och åtkomst till parallellporten nekas om inget annat anges nödvändig förare. Denna begränsning ökar säkerheten och hjälper till att lösa konflikter vid åtkomst till enheten.

Portdriftsläge

Standarden gör att gränssnittet kan användas i flera lägen:

  • SPP(Standard Parallel Port) - enkelriktad port, helt kompatibel med Centronics-gränssnittet.
  • Nibbläge- låter dig organisera dubbelriktat datautbyte i SPP-läge genom att använda kontrolllinjer (4 bitar) för att överföra data från en kringutrustning till styrenheten. Historiskt sett var detta det enda sättet att använda Centronics för tvåvägskommunikation.
  • Byteläge- används sällan tvåvägs datautbytesläge. Används i vissa äldre kontroller innan IEEE 1284-standarden antogs.
  • EPP(Enhanced Parallel Port) - utvecklad Intel företag, Xircom och Zenith Data Systems - dubbelriktad port, med dataöverföringshastigheter på upp till 2 MB/sek (1991)
  • ESR(Extended Capabilities Port) – utvecklad av Hewlett-Packard och Microsoft – dessutom har funktioner som hårdvarudatakomprimering, en buffert och möjligheten att arbeta i DMA-läge dykt upp.

LPT DB25F pinout

Pinout LPT Centronics (CN36)

LPT-portemulering (IEEE 1284) under OS Windows

#1: Använda ett PCI-kompatibelt expansionskort för en persondator.

Exempel på ett PCIe-expansionskort med en EPP LPT-port

PCI(engelska: Peripheral Component Interconnect) - en in-/utgångsbuss för anslutning av kringutrustning till datorns moderkort.

Systemegenskaper - Hårdvara - Enhetshanterare - Portar (Com & LPT) - PCI LPT Port - Resurser

Notera: Oftast, när du installerar ett PCI-kort LPT, kommer I/O-adresserna att skilja sig från de vanliga / grundläggande, vilket gör att nästan alla programmerare och LPT-nycklar inte fungerar eller kommer att fungera felaktigt.

Den faktiska I/O-adressen beror på operativsystemet och kommer att väljas slumpmässigt. I/O-adressen kommer inte att ändras om inte PCI-kortet flyttas till en annan PCI-plats.

IEEE1284 1- och 2-portars PCI-kort finns till försäljning.

I teknisk beskrivning PCI-expansionskort med ett LPT-gränssnitt indikerar möjligheten att använda ett standardadressutrymme för I/O (ingång/utgång), dock bestäms möjligheten att ange I/O-resurser av vilken typ av operativsystem som används.

I operativsystem MS Windows 95/98/ME, DOS är det möjligt att ställa in parametrar som motsvarar standard ISA LPT-portar. B b I mer moderna operativsystem (till exempel Windows 2000/XP/Vista) sker I/O-resursallokering utan att användaren eller administratören deltar.I vissa fall kan detta leda till att styrenheten inte kan fungera i vissa lägen och beror till stor del på hårdvarukonfigurationen och typen av operativsystem som används.

En LPT-gränssnittsport (annan känd som en parallell- eller skrivarport) används i persondatorer för att ansluta olika kringutrustning. I praktiken användes det oftast för att serva skrivare. Fokusområdet för tillämpningen av gränssnittet återspeglas direkt i dess engelska namn: förkortningen LPT kommer från Line Print Terminal.

Efter uppkomsten av USB-gränssnittet började det snabbt förlora sin popularitet och används nu sällan för sitt avsedda syfte.

LPT-portversion

LPT-porten är en parallell design baserad på Centronics-gränssnittet och är fysiskt utformad som en 25-stifts, dubbelradig DB25-kontakt. Kabeldelen är gjord enligt kontaktdesignen, uttaget utgör instrumentdelen av gränssnittet.

Foto av LPT-kontakt på moderkortet

Den nedre raden rymmer 13 kontakter, medan de återstående 12 är placerade i den översta raden.

Korrekt polaritet för anslutningen i det monterade tillståndet av kontakten säkerställs genom användning av ett mekaniskt lås som tillhandahålls av en styv trapetsformad metallkjol installerad på uttaget. Denna strukturella komponent tar dessutom på sig funktionerna hos en extern cirkulär skärm.

På grund av kabelns stora massa är anslutningskabelns kontakt i det monterade tillståndet av kontakten dessutom fäst vid uttaget med två fästskruvar. Detta gör att du kan uppnå önskad nivå av driftsäkerhet.

Kopplingsschema för kontakter

LPT port pinout, trots det stora antalet kontakter i gränssnittskontakten, visar det sig vara ganska enkelt och visas i tabellen.

Ett ganska stort antal service- och servicesignaler beror på behovet av att styra skrivarens drift och stödja dess interaktion med datorn. I det här fallet tillhandahålls endast enkelriktad dataöverföring.

På grund av jämförelsevis kort avstånd mellan separata kontakter kontakt efter lödning av ledningarna, de är extra isolerade med korta bitar av cambric, presspassade eller med värmekrympbara slangar.

Kabeln kan vara antingen vanliga tvinnade par eller individuellt skärmade tvinnade par. Det är acceptabelt att använda en platt bandkabel. Den totala längden på sladden bör inte överstiga 3 m.

Det kommer att väcka ett sådant intresse bland programmerare och elektronikingenjörer eftersom... Jag fick många brev med frågor och fortsätter att få dem än i dag, även om det har gått nästan tre år sedan artikeln skrevs. Dessutom, i den första artikeln ett antal felaktigheter. Allt detta fick mig att skriva en mer detaljerad artikel om detta ämne, där jag kommer att försöka svara på de flesta frågor från kära läsare och korrigera de felaktigheter som gjordes i den första artikeln. Låt läsarna av den första artikeln inte bli förolämpade av mig, men vi kommer återigen att titta i detalj på varje kontakt och bit av vår LPT-port. I den första delen av artikeln kommer teorin att övervägas, i den andra och efterföljande (om det finns några) kommer vi att överväga elektroniska apparater, som kan "hämtas" till denna port.

I texten kommer du att stöta på en allmänt accepterad förkortning för att skriva siffror. Till exempel, 1010 2 - en tvåa i underskriften anger att numret5 representeras i binärt,124 10 – en tio i teckningen anger att siffran124 decimal Det är det... för säkerhets skull

Som praxis har visat fungerar alla program, korrekt skrivna och kompletterade med lämpliga bibliotek (vbio32.dll, inpout32.dll, dlportio.dll, etc.) på de flesta datorer med operativsystem Windows familj. Jag kontrollerade driften av alla mina program (Visual Basic5.0, 6.0) på Win95, 98, Me, 2000, XP HE, XP Prof och till och med DOS6.22 (QBasic) - allt fungerar bra. I DOS behöver du inga bibliotek alls, allt fungerar där ändå. Låt mig göra en reservation direkt att vbio32.dll och inpout32.dll KOMMER INTE ARBETA UNDERWin2000, men de kommer att fungera perfekt under Win95, 98, Me.

Förresten, du kan ta vilket som helst av dessa bibliotek. Jag ville prova dlportio.dll och det här ögonblicket Jag jobbar med det här biblioteket. Och slutligen, innan du skriver program, måste du korrekt deklarera biblioteket du använder.

För inpout32.dll

Privat deklarera Funktion Inp Lib "inpout32.dll" Alias ​​"Inp32" (ByVal PortAddress Som heltal) Som heltal

Private Declare Sub Out Lib "inpout32.dll" Alias ​​​​"Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

För dlportio.dll

Private Declaration Funktion DlPortReadPortUchar Lib "dlportio.dll" (ByVal Port As Long) As Byte

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

Vad är skillnaden Privat från offentlig Jag kommer inte att skriva.

Parallellporten för kommunikation med en skrivare (eller annan enhet) har en basadress &H378 (LPT1), &H278 (LPT2), &H3BC (LPT3). I den här artikeln kommer vi bara att överväga LPT1. Adressutrymmet för denna port upptar intervallet &H378-&H37F.

· Adress & H378 kallad grundläggande och används för att skriva (läs, men mer om det senare) data till porten, på linje D0-D7.

· Adress & H379 (grundläggande+1) designad för att läsa statusbitar från en enhet ansluten till LPT-porten (skrivare, skanner, etc.)

· Adress & H37A (grundläggande+2) tjänar till att spela in kontrollbitar för en enhet som är ansluten till LPT-porten (skrivare, skanner, etc.).

Tabellerna nedan dechiffrerar kontakterna och signalerna för varje adress

Pins 18-25 – "ground" (gemensam, GND, GROUND, etc.)

Låt oss överväga att programmera var och en av adresserna.

· Basadress &H378 (LPT1) gör att data kan skrivas till porten på linje D0-D7 i området från 0 till 255.

· Skriv siffran 69 till porten

· Adress &H379 används för att läsa statusbitar.

· Läs portstatusen på &H379

När du läser adress &H379 måste du komma ihåg att de tre första bitarna inte används och alltid har ett loggvärde. "1", och den 7:e biten är invers. Som ett resultat, om alla stift 15, 13, 12, 10, 11 sätts till jord, då när du läser information kommer du att få 1+2+4 på de första tre bitarna (som inte används) och på den 7:e biten ( stift 11- invers, vilket betyder att vid jordfel kommer det att finnas en logg “1”) +128 totalt 135. Glöm inte detta. I den andra delen av artikeln kommer vi att titta närmare på detta.

· Adress & H37 A används för att skriva kontrollbitar.

· Skriv -STROBE-signalen (kontrollbit 0)

Varför 10? Låt oss titta på tallriken.

STROBE, AUTO, SELECT IN-signalerna är inversa, vilket innebär att för att få en logisk "1" vid utgången av kontakterna 1, 14, 17, måste du applicera en logisk "0" på dessa bitar, dvs. De gav en sak och fick motsatsen. INIT-signalen är direkt (inte invers), så en logisk "1" vid stift 16 kommer att visas när vi applicerar en logisk "1" på denna bit, dvs. Det du gav är vad du fick.

Låt oss försöka få en låg signalnivå "0" på stift 1.17, och en hög signalnivå "1" på stift 14 och 16, dvs. vid utgången av kontakterna 1,14,16,17 kommer det att finnas 0 1 1 0 (610).

Nollbiten (-STROBE) är satt till "1" (stift 1 kommer att vara "0"), den första biten (-AUTO) är "0" (stift 14 kommer att vara "1"), den andra biten (INIT) är "1" (på stift 1 kommer det att finnas "1") och slutligen, på den tredje biten (-SELECT IN) tillämpar vi "1" (på stift 17 kommer det att finnas "0"), dvs. Vi skrev numret 10112 på adressen &H37A, vilket är 1310. Det betyder att för att få 6 vid utgången måste du ange 13.

För enkelhetens skull tillhandahåller jag en tabell med alla möjliga kombinationer av siffror från 0 till 15

Signal levereras

Mottagen signal

Decimal nummer

(- BLIXT) 2 0

(-AUTO) 2 1

(INIT) 2 2

(-VÄLJ IN) 2 3

stift 1

stift 14

stift 16

stift 17

Decimal nummer

Och till sist, det sista i den här delen av artikeln. Om din dator stöder EPP-standarden, då den fjärde biten på adressen & H37A du kan aktivera ett avbrott (för LPT1 är detta IRQ7) från skrivaren, fråga mig bara inte vad det är, jag vet inget om avbrott ändå. Men med den femte biten 110101 2, till exempel, genom att skicka in numret 43 10, ställer du D0-D7-bussen i läge RECEPTION data. I det här fallet tar alla bitar (kontakter 2-9) värdet på logisk "1". För att applicera en logisk "0" på den önskade kontakten måste du stänga den genom ett motstånd på 240 - 360 ohm till jord. Således, genom LPT-porten på datorn vi tar emot standardformulär en enhet med 12 utgångssignaler och 5 insignaler, och när porten växlas till EPP-läge får vi 4 utgångssignaler och 13 ingångssignaler.

LägeSPP (12 utgångar och 5 ingångar)

LägeEPP (4 ingångar och 13 utgångar)

Signal

Riktning

Signal

Riktning

Utgång

Ingång

Utgång

Ingång

Utgång

Ingång

Utgång

Ingång

Utgång

Ingång

Utgång

Ingång

Utgång

Ingång

Utgång

Ingång

Ingång

Ingång

Ingång

Ingång

PAPPERSSLUT

Ingång

PAPPERSSLUT

Ingång

Ingång

Ingång

- UPPTAGEN

Ingång

- UPPTAGEN

Ingång

- BLIXT

Utgång

Utgång

Utgång

- BIL

Utgång

Utgång

Utgång

-VÄLJ IN

Utgång

-VÄLJ IN

Utgång

Slutet på första delen.

I den andra delen av artikeln kommer vi att koppla olika elektroniska saker till porten.

Dela med sig