Parallelle poorten pc. Parallelle poorten


Over de lange geschiedenis van de ontwikkeling van personal computers parallelle poort(parallelle poort) die vaak wordt genoemd printerpoort:(printerpoort) blijft de snelste en meest betrouwbare manier om printers en andere apparaten op een pc aan te sluiten. Parallelle overdracht van acht databits en automatische datastroombesturing met behulp van signalen erkenning(handshaking) externe circuits overbodig maken voor het decoderen van data en stuursignalen. Het wijdverbreide gebruik van parallelle poorten is te danken aan hun eenvoud en hoge prestaties. Bovendien maakt de parallelle poort invoer van maximaal negen bits en uitvoer van maximaal 12 bits tegelijkertijd mogelijk, waardoor voor veel eenvoudige taken minimale externe schakelingen nodig zijn.

Standaard parallelle poort (SPP)

Standaard parallelle poort(Standaard parallelle poort - SPP) wordt weergegeven op de achterkant van de computer met een 25-pins D-type vrouwelijke connector met gaten. Meestal heeft de kabel voor deze connector een 34-pins connector aan het andere uiteinde voor aansluiting op een printer. Het is de parallelle poort van de pc die vaak wordt genoemd printerpoort:(printerpoort). De afbeelding toont de connectoren en kabel voor het aansluiten van de printer. Aan de linkerkant bevindt zich de vastgezette connector voor de parallelle pc-poort en aan de rechterkant bevindt zich de connector voor de printer.

De computer heeft vier stuurlijnen (CONTROL), vijf statuslijnen (STATUS) en acht datalijnen (DATA) op de connector. De gegeven signaalgroepen zijn beschikbaar via de bijbehorende registers, die vaak ook worden genoemd poorten... De overige acht pinnen zijn geaard.

Nieuwere parallelle poorten worden gedefinieerd door de IEEE 1284-standaard, die in 1994 werd gepubliceerd. Deze standaard definieert vijf werkingsmodi:

    1. Compatibiliteitsmodus.
    2. Modus van notebooks (Nibble-modus).
    3. Byte-modus.
    4. Verbeterde parallelle poortmodus EPP).
    5. Poortmodus met uitgebreide mogelijkheden (Extended Capabilities Port - ECP).

Het doel van de standaard was om nieuwe stuurprogramma's en apparaten te ontwikkelen die compatibel zijn met elkaar en achterwaarts compatibel zijn met de standaard parallelle poort ( SPP). Compatibiliteits-, Notebook- en Byte-modi gebruiken de standaardcircuits die te vinden zijn op de originele parallelle poortkaarten, terwijl de EPP- en ECP-modi extra circuits vereisen die sneller zijn maar nog steeds achterwaarts compatibel met de standaard parallelle poort.

In compatibiliteitsmodus, of Centronics-modus, zoals het gewoonlijk wordt genoemd, is het mogelijk om gegevens alleen in voorwaartse richting te verzenden, d.w.z. terugtrekken data, met een typische snelheid van ongeveer 50KB/s, maar hogere snelheden tot 150KB/s zijn mogelijk. Om gegevens in te voeren, moet u overschakelen naar de modus van notebooks of bytes. Notebook-modus staat toe: binnenkomen tetrads (4 bits) van het apparaat naar de pc. Byte-modus gebruikt een bidirectionele faciliteit (alleen te vinden op sommige kaarten) om bytes (8 bits) in te voeren.

De EPP- en ECP-poorten gebruiken extra circuits om handshakes te controleren en te genereren. Een byte uitvoeren naar een printer in compatibiliteitsmodus programma moet het volgende doen:

  1. Schrijf een byte naar de datapoort.
  2. Controleer of de printer bezet is. Als de printer bezig is, accepteert deze geen gegevens, dus alle gegevens die erop worden geschreven, gaan verloren.
  3. Geef een stroboscoopsignaal (pin 1) laag. Het geeft aan de printer aan dat er geldige gegevens op de gegevenslijnen staan ​​(pinnen 2-9).
  4. Stel de flitser hoog in en wacht ongeveer 5 s nadat het lage niveau is gevormd (in stap 3).

Software output control beperkt de snelheid van de standaard parallelle poort. De meer geavanceerde EPP- en ECP-poorten lossen dit probleem op door circuits te laten controleren of de printer bezig is en stroboscoop- en/of geschikte handshake-signalen te genereren. Hierdoor hoeft slechts één uitvoeropdracht te worden uitgevoerd, wat de werksnelheid verhoogt. De nieuwe poorten kunnen gegevens uitvoeren met een snelheid van 1-2 MB/sec. Bovendien gebruikt de ECP-poort Direct Memory Access ( DMA) en buffers FIFO(First In - First Out), zodat gegevens kunnen worden overgedragen zonder uitvoercommando's.

Hardware

De volgende tabel toont de pin-outs voor de 25-pins D-type computerconnector en de 34-pins Centronics-connector die gewoonlijk op printers worden aangetroffen. De IEEE 1284-standaard definieert echter drie verschillende connectoren voor gebruik met een parallelle poort. De eerste 1284 Type A-connector is een gewone 25-pins D-type connector. De tweede 36-pins 1284 Type B-connector is een Centronics-connector. De derde IEEE 1284-type C-connector is een 36-pins connector, vergelijkbaar met de Centronics-connector, maar kleiner. Het heeft een betere bevestiging, betere elektrische parameters en het is gemakkelijker om de kabel erop aan te sluiten. Er kunnen twee extra signalen worden gebruikt om te controleren of het apparaat aan staat. Deze connector wordt erkend als veelbelovend voor gebruik in nieuwe ontwerpen.

#contact
(D-25)
# contactpersoon (Centronics) SPP-signaal Richting Register Hardware
omgekeerd
1 1 nStrobe Voer uitgang in Beheer Ja
2 2 Gegevens 0 Uitgang Gegevens
3 3 Gegevens 1 Uitgang Gegevens
4 4 Gegevens 2 Uitgang Gegevens
5 5 Gegevens 3 Uitgang Gegevens
6 6 Gegevens 4 Uitgang Gegevens
7 7 Gegevens 5 Uitgang Gegevens
8 8 Gegevens 6 Uitgang Gegevens
9 9 Gegevens 7 Uitgang Gegevens
10 10 nAck Ingang Staten
11 11 Druk Ingang Staten Ja
12 12 Paper-Out / Paper-End Ingang Staten
13 13 Selecteer Ingang Staten
14 14 nAuto-Linefeed Voer uitgang in Beheer Ja
15 32 nFout / nFout Ingang Staten
16 31 nInitialiseren Voer uitgang in Beheer
17 36 nSelect-Printer / nSelect-In Voer uitgang in Beheer Ja
18 - 25 19-30 Land Land

Brief N voor de signaalnaam betekent bijvoorbeeld een signaal met een laag activiteitsniveau nFout... Als er een fout in de printer zit, is deze lijn laag. Het is meestal op een hoog niveau om de juiste werking van de printer aan te geven. Hardware geïnverteerd betekent dat het signaal wordt geïnverteerd door de parallelle poortcircuits. Een voorbeeld hier is de regel Druk... Als op deze lijn een spanning van +5 V (logisch 1) wordt gezet en het statusregister wordt uitgelezen, dan wordt dit niveau in bit 7 van het statusregister als 0 teruggegeven.

Parallelle poortsignalen worden weergegeven door conventionele TTL-niveaus. De meeste parallelle poorten zijn gebaseerd op een ASIC die Sink en Source ongeveer 12 mA heeft. In de referentiegegevens kunnen echter andere waarden voorkomen, bijvoorbeeld Sink / Source 6 mA, Source 12 mA / Sink 20 mA, Sink 16 mA / Source 4 mA.

Datalijnen zijn echte geleiders die informatie van computer naar apparaat vervoeren (en van apparaat naar computer op nieuwe poorten). Om de effecten van interferentie te verminderen, heeft elke datalijn een bijbehorende aardlijn. Deze aardleidingen bieden ook een gemeenschappelijke elektrische referentie tussen de computer en het apparaat. De rest van de lijnen evenwijdig aan de haven zijn toegewezen voor controle en handshaking.

Om ervoor te zorgen dat de printer zich in een bekende beginstatus bevindt, zet het nInitialize-signaal van de computer de printer in de staat waarin deze zich bevindt na het opstarten. Het initialiseren van de printer met het nInitialize-signaal staat dus gelijk aan het uit- en weer inschakelen van de printer.

Een signaal op de Select-lijn vertelt de computer dat de randapparatuur is ingeschakeld online(online) en klaar om gegevens te ontvangen. De computer verzendt geen gegevens als er een zwak signaal is op de Select-lijn. Meestal komt de status van dit signaal overeen met de "on-line"-indicator op de printer.

Wanneer de computer geldige datasignalen op de datalijnen heeft gegenereerd, moet het apparaat melden dat de data gereed is. Dit is precies waar het nStrobe-stroboscoopsignaal voor is ontworpen, wat het apparaat zou moeten dwingen een databyte te accepteren en op te slaan in een buffer voor latere verwerking.

Om hoge gegevensoverdrachtsnelheden te bereiken, heeft de printer een specifieke methode nodig voor het coördineren van verzendingen. De computer moet tussen de bytes wachten totdat de printer klaar is om de ontvangst van nieuwe bytes te hervatten. Printers gebruiken het Busy-signaal om de computer te vertragen totdat de printer klaar is om de volgende byte te ontvangen. De printer genereert een hoog niveau van het Bezet-signaal als reactie op de ontvangst van het nStrobe-signaal, en dit niveau blijft totdat het zich voorbereidt om de volgende byte te ontvangen. Houd er rekening mee dat het Bezet-signaal de computer voor enige tijd kan vertragen als er een ernstige fout optreedt, zoals een papierstoring. Als de printer een byte heeft verwerkt, moet hij de wachtende computer om de volgende byte vragen. De printer verwijdert het Bezet-signaal en geeft een korte bevestigingspuls nAck. Zo sturen (bevestigen) de signalen nStrobe, Busy en nAck de gegevensoverdracht in de parallelle poort.

Bij sommige printers transporteert het besturingsteken Carriage Return (CR) het papier automatisch naar de volgende regel, terwijl bij andere de wagen gewoon teruggaat naar het begin van de huidige regel zonder het papier te transporteren. In veel printers kan elk van deze opties worden ingesteld met een schakelaar, maar u kunt dit ook regelen met het nAuto-LineFeed-signaal. Een laag niveau van dit signaal zorgt ervoor dat de printer het papier automatisch regel voor regel transporteert wanneer het CR-controleteken wordt ontvangen.

Met de nSelect-Printer-lijn kan een computer op afstand een randapparaat online of offline brengen. De meeste parallelle poorten houden deze lijn laag, zodat het apparaat automatisch gegevens detecteert. Een hoog signaal op deze lijn verhindert de werking van het apparaat. Een nError-signaal van een randapparaat informeert de computer dat er een probleem is dat het afdrukken verhindert, maar gaat er niet verder op in. De fout kan verschillende oorzaken hebben, waarvan de details afhankelijk zijn van het randapparaat. Gewoonlijk "verzamelt" het nError-signaal situaties als de afwezigheid van papier (deze reden wordt aangegeven door het Paper Out-signaal), de aanwezigheid van een printer in offline(offline-modus) of interne printercircuitstoringen.

Centronics-interface

Centronics is een oude standaard (vaak interface en protocol genoemd) voor het overbrengen van gegevens van een computer (host) naar een printer. Erkenning van deze standaard wordt in de meeste printers gebruikt en wordt meestal geïmplementeerd in software. De afbeelding toont een vereenvoudigd diagram van het Centronics-protocol.

Eerst worden gegevens verzonden naar pinnen 2-9 van de parallelle poort. De host controleert vervolgens of de printer bezet is, d.w.z. Druk moet laag zijn. Daarna geeft het programma een flitser af, wacht minstens 1 μs en verwijdert de flitser. Gegevens worden meestal gelezen door het apparaat aan de stijgende rand van de flitser. De printer geeft aan dat hij bezig is met het verwerken van gegevens op de Bezet-lijn. Wanneer de printer de gegevens heeft ontvangen, bevestigt deze de byte met een negatieve puls van ongeveer 5 μs op de nAck-lijn.

Om tijd te besparen negeert de host vaak het signaal op de nAck-lijn. Bij het overwegen van een poort met uitgebreide ECP-mogelijkheden, zal de implementatie van de Fast Centronics Mode (Fast Centronics Mode) worden getoond, waarin het handenschudden schematisch wordt uitgevoerd. De programmeur hoeft slechts een byte aan gegevens naar de I/O-poort te schrijven. De circuits controleren of de printer bezig is en genereren een stroboscoop. Merk op dat in deze modus de nAck-lijn niet wordt bewaakt.

Poortadressen

De parallelle poort heeft drie gemeenschappelijke basisadressen, die in de volgende tabel worden weergegeven. Het basisadres 3BCh werd oorspronkelijk geïntroduceerd voor parallelle poorten op vroege grafische kaarten. Nadat de parallelle poorten van de videokaarten waren verwijderd, verdween dit adres. Vervolgens verscheen het als een optie voor parallelle poorten geïntegreerd in moederborden, waarbij de configuratie kan worden gewijzigd met behulp van het BIOS. Aan de LPT1-naam wordt gewoonlijk basisadres 378h toegewezen en aan LPT2 wordt gewoonlijk basisadres 278h toegewezen. Verder wordt echter aangetoond dat dit niet altijd het geval is. De adressen 378h en 278h worden bijna altijd gebruikt voor parallelle poorten, maar kunnen per pc verschillen.

Wanneer de computer is ingeschakeld, detecteert het BIOS het aantal beschikbare poorten en noemt deze LPT1, LPT2 en LPT3. Het BIOS kijkt eerst naar 3BCh. Als daar een parallelle poort wordt gevonden, wordt deze LPT1 genoemd en wordt het adres 378h gecontroleerd. Als daar een parallelle poort wordt gevonden, krijgt deze de eerstvolgende beschikbare naam. Het is LPT1 als er geen kaart is gevonden op adres 3BCh, of LPT2 als er wel een kaart is gevonden. De poort om 278h wordt op dezelfde manier gecontroleerd. Als gevolg hiervan is het mogelijk om LPT2 op 378 uur te hebben in plaats van de verwachte 278 uur.

De situatie wordt gecompliceerd door het feit dat sommige fabrikanten van parallelle-poortkaarten jumpers instellen waarmee u de poort kunt configureren op LPT1, LPT2, LPT3. Wat is nu het adres van LPT1? De meeste kaarten hebben LPT1 op 378h en LPT2 op 278h, maar sommige gebruiken 3BCh als LPT1, 378h als LPT1 en 278h als LPT2.

Voor een interface met een poort wordt vaak het basisadres gebruikt in plaats van een naam, in plaats van LPT1 en andere namen.De poortadrestabel bevindt zich in het BIOS-gegevensgebied. Wanneer het BIOS adressen toewijst aan printerapparaten, slaat het de adressen op in specifieke geheugenlocaties zodat ze daar kunnen worden gevonden. Opmerking * : In nieuwere BIOSen kan adres 0000: 040E uit het BIOS-gegevensgebied worden gebruikt als uitgebreid BIOS-gegevensgebied.

Standaard parallelle poort software registers (poorten)

Gegevens poort

Vooroordeel Naam Lezen schrijven Bits Afspraak
Basis + 0 Gegevens poort Schrijven ( * ) Bit 7 - 0Gegevens 7 - 0

Opmerking * : Als de poort bidirectioneel is, zijn de bewerkingen Lezen (invoer) en Schrijven (uitvoer) toegestaan.

Basisadres, gewoonlijk aangeduid als gegevens poort of gegevensregister, wordt eenvoudigweg gebruikt om gegevens uit te voeren op de datalijnen (pinnen 2-9) van de parallelle poort. Meestal is dit register alleen-schrijven. Bij het lezen van de poort wordt de laatst verzonden byte ingevoegd. In het geval van een bidirectionele poort (zie hieronder) bevinden de ontvangen gegevens zich op dit adres.

Statuspoort

De statuspoort is alleen-lezen, dus alle gegevens die erop worden geschreven, worden genegeerd. De poort heeft vijf invoerlijnen (pinnen 10, 11, 12, 13 en 15), een IRQ-interruptverzoekbit en twee gereserveerde bits. Bit 7 (Bezet) is een invoer met lage activiteit, d.w.z. als bit 7 0 bevat, dan heeft pin 11 een spanning van +5 V. Hetzelfde geldt voor bit 2 (nIRQ) - als de bit 1 bevat, is er geen interrupt opgetreden.

Beheerpoort

De beheerpoort (basisadres + 2) was alleen-schrijven. Bij aansluiting op de parallelle printerpoort worden vier stuursignalen gebruikt: Strobe (bit 0), Auto Linefeed (bit 1), Reset initialisatie (bit 2) en Select Printer (bit 3). Al deze signalen behalve Reset zijn omgekeerd.

De printer geeft geen signaal om de computer te initialiseren en vertelt de computer niet om automatische regelinvoer te gebruiken. De bovenstaande vier uitgangen kunnen echter worden gebruikt voor invoer. Als de computer de pin hoog (+5 V) duwt en het apparaat wil deze laag zetten, dan maakt de poort kortsluiting en ontstaat er een conflict. Daarom zijn deze uitgangen ontworpen als "open collector". Ze hebben twee toestanden: laag (0 V) en hoge impedantie (open circuit).

Gewoonlijk heeft een printerkaart interne pull-up-weerstanden, maar niet alle kaarten hebben deze. Sommige kaarten zijn gewoon open collector-uitgangen, terwijl andere conventionele push-pull (totem)-uitgangen zijn. Er kan een externe weerstand worden gebruikt om het apparaat goed te laten functioneren met zoveel mogelijk printerpoorten. Als er al een interne weerstand is, werkt de externe weerstand parallel daaraan en in het geval van een push-pull-uitgang als een belasting.

De externe weerstandswaarde is meestal 4,7 kΩ. Het wordt niet aanbevolen om een ​​kleinere weerstand te gebruiken, omdat er mogelijk een interne weerstand op de kaart zit. In de toestand met hoge impedantie is de parallelle poortpin hoog bij +5 V. In deze toestand kan een extern apparaat de pin op laag zetten en ervoor zorgen dat de controlepoort een andere waarde leest. Hierdoor kunnen de vier pinnen van de controlepoort worden gebruikt voor bidirectionele gegevensoverdracht. Om echter gegevens via de controlepoort te lezen, moet u deze instellen op xxxx0100 zodat alle pinnen +5 V hebben en het apparaat een laag niveau kan instellen (aarde - logisch 0).

Bit 4 en 5 zijn voor interne controle. Bit 4 activeert het IRQ-interruptverzoek (zie hieronder), en bit 5 activeert de bidirectionele poort, d.w.z. Op DATA-lijnen 0-7 kunnen 8 bits worden ingevoerd. Deze modus is alleen mogelijk als de kaart dit ondersteunt. Bits 6 en 7 zijn gereserveerd, schrijven naar deze bits wordt genegeerd.

Bidirectionele poorten

Het volgende diagram toont een vereenvoudigde weergave van het parallelle poortgegevensregister. De originele parallelle poortkaarten zijn gebaseerd op de logica van de 74LS-familie. Er worden nu gespecialiseerde microschakelingen gebruikt, maar de werkingsprincipes blijven hetzelfde.

Niet-bidirectionele poorten worden uitgegeven met een uitgangssignaal nee de 74LS374 is permanent verbonden met aarde, dus de datapoort pint alleen. Wanneer ze uit het dataregister worden gelezen, worden de gegevens uit het 74LS374-circuit gehaald, dat ook is verbonden met de datapinnen. Als u het 74LS374-schema uitschakelt, kunt u een bidirectionele poort krijgen.

In bidirectionele poorten is bit 5 van het besturingsregister verbonden met de ingang om de uitgang mogelijk te maken. nee 74LS374 circuits zodat output drivers kunnen worden uitgeschakeld (uitgeschakeld). In dit geval kunt u zonder conflict gegevens van de datapinnen van de parallelle poort lezen.

Bit 5 van het besturingsregister schakelt bidirectionele werking van de parallelle poort in of uit. Het werkt alleen voor echte bidirectionele poorten. Wanneer dit bit is ingesteld op 1, worden pinnen 2-9 naar een toestand met hoge impedantie gestuurd. In deze toestand kunt u op deze regels gegevens invoeren en hun datapoort (basisadres) uitlezen. Gegevens die naar de poort zijn geschreven, worden opgeslagen, maar zijn niet beschikbaar op gegevenscontacten. Om de bidirectionele modus uit te schakelen, moet bit 5 van de controlepoort op 0 worden gezet.

Niet alle poorten werken echter op dezelfde manier. Voor sommige poorten moet bit 6 van de controlepoort worden ingesteld om de bidirectionele modus in te schakelen en bit 5 om deze uit te schakelen. Verschillende fabrikanten implementeren hun bidirectionele poorten anders. Als u een bidirectionele poort moet gebruiken voor gegevensinvoer, controleer dan eerst of de poort bidirectioneel is met een logische sonde of multimeter.

De parallelle poort gebruiken om acht bits in te voeren

Als de parallelle poort de bidirectionele modus niet ondersteunt, kunt u nog steeds maximaal negen bits invoeren. Hiervoor kunt u de vijf invoerlijnen van de statuspoort en de vier invoerlijnen (open collector) van de controlepoort gebruiken volgens het volgende diagram.

De parallelle poortingangen zijn geselecteerd om verbindingen te vereenvoudigen. Het Busy-signaal is het meest significante bit van 7 van de statuspoort, gevolgd door de Ack-, Paper Out- en Select-signalen van de statuspoort, die een bovenste knabbel vormen. De streepjes geven aan welke ingangen hardwarematig zijn geïnverteerd, d.w.z. +5 V wordt gelezen als logisch 0 en 0 V als logisch 1. De statuspoort heeft slechts één geïnverteerde ingang.

De jongste nibble wordt gelezen vanaf de controlepoort (Select Printer, Init, Auto Linefeed, Strobe). Hier worden open-collectoromvormers gebruikt. Hiervoor zijn mogelijk 4,7k pull-up-weerstanden nodig.

Notebook-modus

Nibble-modus is de beste manier om acht bits gegevens in te voeren zonder de poort in omgekeerde modus te zetten en datalijnen te gebruiken. Deze modus is het gemakkelijkst te implementeren. Een multiplexer (viervoudig 2: 1) wordt gebruikt voor het achtereenvolgens lezen van notebooks. Het samenvoegen van notebooks in bytes wordt programmatisch uitgevoerd. Natuurlijk is deze methode iets langzamer dan de vorige. Hier vereist het lezen van een enkele byte meerdere I / O-opdrachten en vereist een externe microschakeling.

De 74LS157 multiplexer werkt net zo eenvoudig als vier schakelaars. Wanneer ingang A / B = 0 (laag), worden ingangen A geselecteerd, d.w.z. ingang 1A wordt overgedragen naar uitgang 1Y, ingang 2A naar uitgang 2Y, enz. Wanneer ingang A / B = 1 (hoog), wordt gekozen voor ingangen B. De Y-uitgangen worden aangesloten op de statuspoort van de parallelle poort zodat ze het hoge-orderegister van het statusregister zijn. Hoewel een dergelijke verbinding optioneel is, vereenvoudigt het het programma enigszins.

De IRQ-interrupt van de parallelle poort gebruiken

Het onderbrekingsverzoek voor de parallelle poort wordt niet gebruikt voor DOS-afdrukken. Onderbrekingen zijn goed voor apparaten waarvan de activeringstijd onbekend is, zoals een hogetemperatuursensor. In dit geval is het efficiënter om aan een interrupt te werken dan om de sensor periodiek softwarematig te pollen. Daarnaast zijn interrupts vooral belangrijk voor een multitasking besturingssysteem.

Gewoonlijk is een IRQ 5- of IRQ 7-lijn een onderbrekingsverzoek voor een parallelle poort, maar dit kan anders zijn. Het is mogelijk dat onderbrekingen op de kaart volledig worden uitgeschakeld als deze alleen voor afdrukken wordt gebruikt. Onderbrekingen van parallelle poorten kunnen worden in- en uitgeschakeld met behulp van bit 4 van het besturingsregister - schakel IRQ in via de Ack-lijn (Enable IRQ Via Ack Line). Een ingeschakelde interrupt treedt op wanneer het nAck-signaal van laag naar hoog gaat (stijgende flank). Sommige kaarten activeren echter een hoog-naar-laag-interrupt.

Parallelle poortmodi in BIOS

De meeste parallelle poorten zijn nu multimode-poorten. Ze zijn meestal software die is geconfigureerd voor een van de verschillende modi met behulp van BIOS-procedures. Typische modi:

    Printermodus, ook wel Standaard- of Normale modus genoemd
    Standaard en bidirectioneel (SPP)
    EPP1.7 en SPP-modus
    EPP1.9 en SPP-modus
    ECP-modus:
    ECP- en EPP1.7-modus
    ECP- en EPP1.9-modus

Printermodus is de eenvoudigste modus - deze komt alleen overeen met de pin van de standaard parallelle poort. Het mist bidirectionele functionaliteit, dus bit 5 van de controlepoort is uitgeschakeld. Standaard en bidirectioneel (SPP) is bidirectionele modus. In deze modus keert bit 5 van de controlepoort de richting van de poort om, zodat u de invoerwaarde over de datalijnen kunt lezen.

EPP1.7 en SPP-modus is een combinatie van EPP 1.7 (Enhanced Parallel Port) en SPP-modi. Deze werkwijze geeft zowel toegang tot de SPP-registers (data-, status- en controleregisters) als toegang tot de EPP-registers. In dezelfde modus kunt u de richting van de poort wijzigen met bit 5 van het besturingsregister. De eerste versie van EPP 1.7 heeft mogelijk geen Timeout-bit.

EPP1.9 en SPP-modus vergelijkbaar met de vorige, maar nu wordt EPP-versie 1.9 gebruikt. Toegang tot de SPP-registers wordt hier nog steeds geboden, inclusief bit 5 van de controlepoort. Maar deze modus is anders dan EPP1.7- en SPP-modi in die zin dat u toegang hebt tot het Timeout-bit van de EPP-poort.

ECP-modus: biedt een Extended Capabilities Port. De modus van deze poort kan vervolgens worden ingesteld met behulp van het Extended Control Register (ECR) van de ECP-poort. In deze modus echter vanuit het BIOS EPP-modus:(100) zal niet beschikbaar zijn.

ECP- en EPP1.7-modus en ECP- en EPP1.9-modus biedt een poort met verbeterde ECP-mogelijkheden zoals in de vorige modus. maar EPP-modus: in de ECR van de ECP-poort is nu beschikbaar. V ECP- en EPP1.7-modus je hebt EPP1.7-poort tot je beschikking, en in ECP- en EPP1.9-modus- EPP1.9-poort.

De overwogen modi worden geconfigureerd via het BIOS. De gebruiker kan met zijn programma opnieuw configureren, maar doe dit: Niet aangeraden... Softwareregisters op de adressen 2FAh, 3F0h, 3F1h zijn alleen bedoeld voor toegang vanuit BIOS. Er is geen vaste standaard voor deze configuratieregisters, dus de toepassing die ze gebruikt, wordt draagbaar.

Veel beter om uit BIOS te kiezen ECP- en EPP1.7-modus of ECP- en EPP1.9-modus en gebruik vervolgens het ECP Extended Control Register om de parallelle poortmodus in te stellen. In de EPP1.7-modus waren er verschillende problemen in verband met de vorming van gegevensflitsers en het adres voor het starten van een cyclus, ongeacht de wachtstatussen, dus deze modus wordt nu niet toegepast. Het is het beste om de parallelle poort in te stellen op: ECP- en EPP-modus 1.9.

Parallelle poortmodi en ECP-besturingsregister voor uitgebreide poorten

Eerder werd aangetoond dat het wordt aanbevolen om de parallelle poort in te stellen op: ECP- en EPP1.9-modus en gebruik vervolgens het uitgebreide controleregister van de ECP-poort om verschillende bedrijfsmodi te selecteren. ECP-poortregisters zijn gestandaardiseerd door Microsoft.

Bits Functie
7:5
000 Standaard modus
001 Byte-modus
010
011 ECP FIFO-modus
100 EPP-modus:
101 Gereserveerd
110 FIFO-testmodus
111 Configuratiemodus:
4 ECP-interruptbit
3 DMA-bit inschakelen
2 ECP-servicebit
1 FIFO is vol (Vol)
0 FIFO leeg

Bij het installeren ECP-modus: een nieuwe set registers is beschikbaar bij Base + 400h. Een gedetailleerde overweging hiervan wordt gegeven in het materiaal over de ECP-poort, maar hier hebben we alleen het uitgebreide controleregister op Base + 402h nodig. Het formaat van dit register is weergegeven in de tabel aan de linkerkant. Merk op dat de ECP-registers niet beschikbaar zijn voor de poort met basisadres 3BCh.

Tot nu toe zijn we alleen geïnteresseerd in de drie meest significante bits van het uitgebreide besturingsregister, die de bedrijfsmodus bepalen. Er zijn zeven mogelijke werkingsmodi, maar niet alle poorten ondersteunen alle modi. Sommige poorten worden bijvoorbeeld niet ondersteund EPP-modus:... De volgende tabel geeft meer gedetailleerde informatie over de werkingsmodi.

Bedrijfsmodi:

Standaard modus
Byte-modus
Parallelle poort FIFO-modus
ECP FIFO-modus
EPP-modus: / Gereserveerd Volgens Uitgebreide mogelijkheden Poortprotocol en ISA-interfacestandaard
GereserveerdVoorlopig gereserveerd. - Volgens
FIFO-testmodus
Configuratiemodus:

Als de ECP-modus is ingesteld in het BIOS of als de kaart als jumper is geconfigureerd voor ECP, wordt aanbevolen om de ECP-poort voor gebruik te initialiseren naar een vooraf gedefinieerde status. Bij gebruik van SPP is de eerste stap het instellen van de poort in de standaardmodus. Er kan niet worden aangenomen dat de poort al in de standaard (SPP)-modus staat.

In sommige modi kunnen de SPP-registers verdwijnen of niet goed werken. Als u SPP gebruikt, moet u het ECR-register in de standaardmodus zetten.

Verbeterde parallelle poort (EPP)

Verbeterde parallelle poort(Verbeterde parallelle poort - EPP) is ontwikkeld door Intel, Xircom en Zenith Data Systems. EPP-poorten werden eerst gedefinieerd in EPP 1.7 en vervolgens opgenomen in IEEE 1284 (1994). De EPP-poort heeft twee standaarden EPP 1.7 en EPP 1.9. Er zijn verschillen tussen hen die de werking van de apparaten kunnen beïnvloeden (zie hieronder). Gegevensoverdrachtsnelheden variëren van 500 KB/s tot 2 MB/s. Dit wordt bereikt door het feit dat handshaking, strobing en andere bewerkingen worden gevormd door de poortcircuits, en niet programmatisch, zoals in de Centronics-interface.

Hobbyisten gebruiken de EPP-poort vaker dan de Extended Capabilities Port (ECP). De EPP-poort verschilt van de ECP-poort doordat de EPP-poort alle transmissies van/naar het randapparaat genereert en bestuurt. Aan de andere kant vereist de ECP-poort dat het randapparaat de reverse link bevestigt en de handshaking controleert. Dit is moeilijk te bereiken met conventionele eenvoudige circuits en vereist een speciale controller of ECP Peripheral Chip.

Hardware

In de EPP-modus krijgt elke lijn verschillende functies en labels, zoals weergegeven in de volgende tabel.

Contact SPP-signaal EPP-signaal Voer uitgang in Functie
1 StroboscoopSchrijven UitgangEen laag niveau op deze regel geeft Schrijven aan en een hoog niveau geeft Lezen aan.
2-9 Gegevens 0-7 Gegevens 0-7Voer uitgang in Bidirectionele databus.
10 Ack OnderbrekenIngang Breuklijn. Een interrupt vindt plaats op een positieve (stijgende) flank.
11 Druk WachtenIngang Gebruikt voor erkenning. De EPP-cyclus kan op een laag niveau beginnen en op een hoog niveau eindigen.
12 Papier op / einde ReserveIngang
13 Selecteer ReserveIngang Gereserveerd - niet gebruikt bij EPP-handshake.
14 Automatische regelinvoer GegevensstroboscoopUitgang Geeft gegevensoverdracht op laag niveau aan.
15 Fout / fout ReserveIngang Gereserveerd - niet gebruikt bij EPP-handshake.
16 Initialiseren ResettenUitgang Lage activiteit reset.
17 Selecteer printer Adres StrobeUitgang Als het laag is, wordt de overdracht van het adres weergegeven.
18-25 Land LandGNDLand

De signalen Paper Out, Select en Error zijn niet gedefinieerd in de EPP-handshake en de gebruiker kan de bijbehorende lijnen naar eigen inzicht gebruiken. De toestanden van deze lijnen kunnen op elk moment worden bepaald door het statusregister uit te lezen. Helaas zijn er geen redundante uitgangen, wat voor bepaalde problemen kan zorgen.

EPP-poort handdruk

Om een ​​correcte communicatie via de EPP-poort uit te voeren, moet de EPP-handshake in acht worden genomen. Aangezien alle bewerkingen in een circuit worden uitgevoerd, mag alleen hardware handshaking gebruiken, geen software, zoals het geval is met de SPP-poort. Om de EPP-cyclus te starten, hoeft het programma slechts één I / O-bewerking in het bijbehorende EPP-register uit te voeren (zie hieronder voor meer details).

EPP-gegevensschrijfcyclus

1. Het programma schrijft naar het EPP-gegevensregister (Base + 4).
2. Er wordt een laag nWrite-niveau gegenereerd, wat wijst op een schrijfbewerking.
3. Gegevens worden op datalijnen 0-7 geplaatst.
4. De nData Strobe wordt uitgegeven als Wait laag is (u kunt een lus starten).

6. De nData Strobe is verwijderd.
7. De EPP-gegevensschrijfcyclus eindigt.

EPP-lus schrijfadres

1. Het programma schrijft het adres naar het EPP-adresregister (Base + 3).
2. Er wordt een laag niveau van het schrijfsignaal gevormd, wat een schrijfbewerking aangeeft.
3. Het adres wordt op datalijn 0-7 geplaatst.
4. De Address Strobe wordt uitgegeven als Wait laag is (u kunt beginnen met herhalen).
5. De computer wacht op bevestiging - hoog niveau op nWait (u kunt de cyclus beëindigen).
6. De nAddress Strobe is verwijderd.
7. De EPP-adresregistratiecyclus eindigt.

EPP data leescyclus

1. Het programma leest het EPP-gegevensregister (Base + 4).
2. De nData Strobe wordt uitgegeven als Wait laag is (u kunt een lus starten).


5. De nData Strobe is verwijderd.
6. De EPP-leescyclus eindigt.

EPP adres leescyclus

1. Het programma leest het EPP-adresregister (Base + 3).
2. De nAddr-stroboscoop wordt afgegeven als Wait laag is (u kunt een lus starten).
3. De computer wacht op bevestiging - hoog niveau op nWait.
4. Gegevens worden gelezen van de pinnen van de parallelle poort.
5. De nAddr-stroboscoop is verwijderd.
6. De cyclus van het lezen van het EPP-adres eindigt.

Opmerking Met EPP 1.7 handshaking (tot IEEE 1284) kunnen dataslagen en adressen worden uitgegeven om een ​​cyclus te starten, ongeacht de wachtstatus. In de EPP 1.9 standaard start de cyclus pas als het Wachtniveau laag is. Zowel EPP 1.7 als EPP 1.9 vereisen een hoog wachtniveau om de cyclus te beëindigen.

EPP-poortsoftwareregisters

De EPP-poort heeft ook een nieuwe set registers, waarvan er drie zijn overgenomen van de standaard SPP-parallelle poort. De volgende tabel toont de nieuwe en bestaande registers.

Zoals u kunt zien, zijn de eerste drie adressen precies hetzelfde als die van de SPP-poortregisters en werken ze op dezelfde manier. Daarom kunt u bij gebruik van de EPP-poort gegevens naar het Base + 0-adres uitvoeren op dezelfde manier als in SPP. Wanneer u een printer aansluit en de compatibiliteitsmodus gebruikt, moet u controleren of de poort bezet is, en vervolgens flikkeren en een flitser openen met behulp van de controle- en statuspoorten, en vervolgens wachten op een bevestiging.

Als u met een EPP-compatibel apparaat moet communiceren, hoeft u alleen maar de verzonden gegevens in het EPP-gegevensregister op Base + 4 te laden en de kaart zal alle vereiste bevestigingssignalen genereren. Evenzo, als het nodig is om een ​​adres aan het apparaat te geven, gebruikt u het EPP-adresregister op Base + 3.

De EPP-adres- en dataregisters zijn leesbaar en beschrijfbaar, dus dezelfde registers kunnen worden gebruikt om data van het apparaat te lezen. De EPP-kaart van de printer moet echter een leescyclus starten, aangezien zowel nData Strobe als nAddress Strobe outputs zijn. Het apparaat kan het leesverzoek signaleren met een interrupt en ervoor zorgen dat de Interrupt Service Routine (ISR) de leesbewerking uitvoert.

De statuspoort heeft één kleine wijziging. Bit 0, dat is gereserveerd in de SPP-poortregisterset, is nu het EPP-time-outbit. Deze bit wordt ingesteld wanneer de time-out van de EPP-poort optreedt. Dit gebeurt wanneer het signaal op de nWait-lijn niet wordt verwijderd ongeveer 10 µs (afhankelijk van de poort) nadat de IOW of IOR is afgegeven. De IOW en IOR signaallijnen voor het schrijven en lezen van I/O zijn aanwezig op de ISA bus.

De EPP-modus is sterk afhankelijk van de timing van de ISA-bus. Wanneer een leescyclus aan de gang is, moet de poort de juiste lees-/schrijfhandshake maken en gegevens retourneren op die ISA-buscyclus. Dit gebeurt natuurlijk niet in één ISA-cyclus, dus gebruikt de poort het IOCHRDY-signaal (I/O Channel Ready) op de ISA-bus om wachtstatussen in te voeren voordat de cyclus is voltooid. Wat gebeurt er nu als de EPP-poort Lezen of Schrijven wordt gestart en het randapparaat niet is aangesloten? De poort zal nooit een bevestiging (nWait) ontvangen en zal statusverzoeken in behandeling houden terwijl de computer is geblokkeerd. Daarom wordt er een watchdog-timer bijgehouden in de EPP-poort, die is ingesteld op ongeveer 10 µs.

De drie registers met de adressen Base + 5, Base + 6 en Base + 7 kunnen worden gebruikt voor 16- en 32-bits lees- en schrijfbewerkingen, als de poort ze ondersteunt. Dit kan het aantal I/O-bewerkingen verminderen. De parallelle poort kan slechts acht bits tegelijk verzenden, dus het 32- of 16-bits woord dat naar de parallel wordt geschreven, wordt opgesplitst in bytes en verzonden via de acht datalijnen van de poort.

Functies voor EPP-poortprogrammering

De EPP-poort heeft slechts twee hoofdregisters en een time-outvlag. Wat moet je configureren? Voordat EPP-poortcycli kunnen worden geactiveerd door het lezen van en schrijven naar datapoorten en EPP-adressen, moet de poort correct worden geconfigureerd. Als de EPP inactief is, heeft de nAddress Strobe, nData Strobe, nWrite en nReset-lijnen passief (hoog). Sommige poorten vereisen deze instelling voordat een EPP-cyclus wordt gestart. Daarom is de eerste taak om deze lijnen handmatig te initialiseren met behulp van de SPP-poortregisters. Schrijf hiervoor de XXXX0100-code naar de beheerpoort.

Op sommige kaarten kan de EPP-schrijfcyclus niet worden uitgevoerd als de parallelle poort is ingesteld op de omgekeerde modus. Daarom wordt aanbevolen om de EPP-poort in de directe modus te zetten voordat u deze gebruikt. Het wissen van bit 5 in het controleregister zou moeten resulteren in een correcte werking.

We hebben de time-outbit van de EPP-poort al besproken. Als deze bit is ingesteld, werkt de poort mogelijk niet goed. Daarom is het aan te raden om altijd FFh in een adres- of datacyclus uit te lezen. Deze bit moet worden gewist voor een betrouwbare werking en moet continu worden gecontroleerd.

Extended Capabilities Port (ECP)

Advanced Mode is ontwikkeld door Hewlett-Packard en Microsoft voor implementatie als: Uitgebreide mogelijkheden Poortprotocol en ISA-interfacestandaard... Dit protocol gebruikt extra circuits om handshake-signalen te genereren op dezelfde manier als in de EPP-modus, en werkt sneller dan de EPP-poort. Deze modus werkt echter beter onder Windows, omdat het Direct Memory Access (DMA)-kanalen kan gebruiken voor gegevensoverdracht. Het gebruikt ook een FIFO-buffer voor ontvangen en verzonden gegevens.

Een ander kenmerk van ECP is realtime datacompressie. Het Run Length Encoding (RLE)-algoritme biedt compressieverhoudingen tot 64:1. Dit is handig voor scanners en printers waar veel van de gegevens zich in herhalende reeksen bevinden.

De ECP-poort ondersteunt de kanaaladresseringsmethode. Het is niet bedoeld om te worden gebruikt in daisy-chain-apparaten, maar maakt het mogelijk om meerdere apparaten binnen één apparaat te adresseren. Een voorbeeld zijn veel moderne faxapparaten die een parallelle poort hebben voor interface met een computer. Het faxapparaat kan worden opgesplitst in afzonderlijke apparaten zoals een scanner, modem/fax en printer, en elk onderdeel kan afzonderlijk worden geadresseerd, ook als andere apparaten geen gegevens kunnen lezen vanwege volle buffers.

Hardware

Hoewel de ECP-printerpoorten dezelfde D25-connector gebruiken als de standaard parallelle poort (SPP), wijst de ECP-poort verschillende functies toe aan de pinnen (net als de EPP-poort). Daarom gebruikt de ECP-poortinterface een andere handshaking-methode.

De ECP-poort is achterwaarts compatibel met SPP- en EPP-poorten. In de SPP-modus werken de afzonderlijke lijnen hetzelfde als in de SPP-poort en worden ze Strobe, Auto Linefeed, Init, Busy, enz. genoemd. Wanneer ze in de EPP-modus werken, voeren de lijnen functies uit in overeenstemming met de methode die wordt beschreven in het EPP-poortprotocol en wordt een andere handshakingmethode gebruikt. Wanneer de poort in ECP-modus staat, worden de lijnen als volgt gedefinieerd.

Contact SPP-signaal ECP-signaal Voer uitgang in Functie
1 Stroboscoop HostCLKUitgang Een laag niveau op deze regel geeft aan dat de host geldige gegevens heeft. Wanneer dit signaal wordt verwijderd, moet de positieve flank van de synchronisatie worden gebruikt om de gegevens in het apparaat te bevriezen.
2-9 Gegevens 0-7 Gegevens 0-7Voer uitgang in Bidirectionele databus.
10 Ack PeriphCLKIngang Een laag niveau op deze regel geeft aan dat het apparaat geldige gegevens heeft. Wanneer dit signaal wordt verwijderd, moet de positieve flank van de klok worden gebruikt om gegevens op de host te bevriezen.
11 Druk PeriphAckIngang In de omgekeerde richting geeft een hoog niveau een gegevenscyclus aan en een laag niveau een opdrachtcyclus. In voorwaartse richting werkt het als een PeriphAck.
12 Papier op / einde nAckReverseIngang Het apparaat bevestigt het Reverse Request met een laag niveau.
13 Selecteer X-vlagIngang Uitbreidbaarheid vlag.
14 Automatische regelinvoer Host bevestigingUitgang In voorwaartse richting geeft een hoog niveau een gegevenscyclus aan en een laag niveau een opdrachtcyclus. In de tegenovergestelde richting werkt het als HostAck.
15 Fout / fout PerifereRequestIngang Een laag niveau dat door het apparaat is ingesteld, geeft de beschikbaarheid van inverse gegevens aan.
16 Initialiseren nReverseRequestUitgang Een laag niveau duidt op gegevensoverdracht in omgekeerde richting.
17 Selecteer printer 1284 ActiefUitgang Een hoog niveau geeft aan dat de host in de 1284-overdrachtsmodus werkt. Een laag niveau beëindigt deze modus.
18-25 Land LandGNDLand

Signalen op de HostAck- en PeriphAck-lijnen geven aan of data of een commando op databus 0-7 staat. Als deze lijnen hoog zijn, staat er data op de databus (pinnen 2-9). Als de opdrachtcyclus is geïmplementeerd, is de bijbehorende regel laag; als de host bijvoorbeeld een opdracht geeft, is de HostAck-regel laag en als het apparaat een opdracht geeft, is de PeriphAck-regel laag.

De opdrachtcyclus kan een van de twee zijn: de RLE-teller of het adres, dat wordt bepaald door bit 7 van de datalijnen (pin 9). Als bit 7 0 bevat, dan is de rest van de gegevens (bits 0-6) de RLE-lengteteller die in het compressiealgoritme wordt gebruikt. Maar als bit 7 1 bevat, dan zijn de gegevens in bits 0-6 het kanaaladres. Als er één bit ontbreekt, kan het getal alleen een waarde van 0 tot 127 zijn.

Handshake ECP-poort

De ECP-poort-handshake verschilt van de SPP-poort-handshake. Het meest voor de hand liggende verschil is dat de ECP-poort op elk moment gegevens in elke richting kan verzenden, en dit vereist extra signalering. Vervolgens wordt de bevestiging van de ECP-poort voor voorwaartse en achterwaartse richtingen overwogen.

ECP directe datalus


2. De host toont vervolgens een datacyclus door een laag HostAck-signaal te geven.

4. Het randapparaat geeft zijn validatiebevestiging af door het PeriphAck-signaal af te geven.
5. De host voert het HostClk-signaal hoog uit. De positieve rand wordt gebruikt om gegevens in de randapparatuur te bevriezen.
6. Het randapparaat geeft een bevestigingsbyte af, waardoor het PeriphAck-signaal wordt verwijderd.

ECP-opdracht voorwaartse lus

1. De host zet data op de datalijn.
2. De host toont vervolgens de opdrachtlus en verwijdert HostAck.
3. De host geeft de geldigheid van de gegevens aan door een laag HostClk-signaal te genereren.
4. Het randapparaat geeft een geldige gegevensbevestiging af door het PeriphAck-signaal te genereren.
5. De host trekt het HostClk-signaal hoog. De positieve rand wordt gebruikt om gegevens in de randapparatuur te bevriezen.
6. Het apparaat geeft een bevestigingsbyte af, waardoor het PeriphAck-signaal wordt verwijderd.

ECP-gegevens omgekeerd




4. Het apparaat selecteert vervolgens een datacyclus door een hoog PeriphAck-signaal te genereren.




ECP Commando Inverse Cyclus

1. De host stelt het nReverseRequest-signaal laag in om een ​​invers kanaal aan te vragen.
2. Het randapparaat bevestigt het verzoek van het inverse kanaal door een laag nAckReverse-signaal af te geven.
3. Het apparaat zet gegevens op de datalijn.
4. Het apparaat selecteert vervolgens een opdrachtcyclus door een laag PeriphAck-signaal te genereren.
5. Het apparaat toont geldige gegevens met een laag PeriphClk-signaal.
6. De host geeft zijn validatiebevestiging af met een hoge HostAck-signaalsterkte.
7. Het apparaat stelt het PeriphClk-signaal hoog in. De positieve rand wordt gebruikt om gegevens door te geven aan de host.
8. De host geeft zijn bevestigingsbyte af, waardoor een laag HostAck-signaal wordt gegenereerd.

Vergelijking van ECP en SPP handshaking

De SPP-poorthandshake bestaat uit slechts vijf stappen:

  1. Schrijf een byte naar de datapoort.
  2. Controleer of de printer bezet is. Als de printer bezig is, accepteert deze geen gegevens, dus alle gegevens die worden weggeschreven, gaan verloren.
  3. Genereer een laag niveau van het Strob-signaal (pin 1). Het vertelt de printer dat er correcte gegevens op de gegevenslijnen staan ​​(pinnen 2-9).
  4. Vorm na ongeveer 5 μs een hoog niveau van het stroboscoopsignaal.
  5. Controleer de Ack-bevestiging van het apparaat.

Aan de andere kant vereist ECP-poortbevestiging meer stappen. Daarom lijkt het erop dat de ECP-poort langzamer zal zijn dan de SPP-poort. Dit is echter niet het geval, aangezien de besturing van alle fasen van de handshaking schematisch wordt uitgevoerd. Als de handshake in software zou zijn geïmplementeerd, zou deze aanzienlijk langzamer zijn dan de handshake van de SPP-poort.

RLE-codering

Eerder werd kort vermeld dat het ECP-poortprotocol een eenvoudig compressiealgoritme bevat voor Run Length Encoding ( RLE). Het biedt een maximale compressieverhouding van maximaal 64: 1 en werkt door dubbele bytes te verzenden als segmenttellers en één kopie van de byte. De segmentteller bepaalt hoe vaak de volgende byte moet worden herhaald.

Als bijvoorbeeld een reeks van 25 letters "A" wordt verzonden, moet eerst de segmenttellerbyte gelijk aan 24 worden verzonden, gevolgd door de "A"-byte. Het ontvangende apparaat zal, na ontvangst van de Run Length Count, de volgende byte het door de teller bepaalde aantal keren verlengen (herhalen).

De slicetellerbyte moet verschillen van andere bytes in het gegevenspad. Het wordt als een opdracht naar de adres-FIFO-poort verzonden. De bytes die naar dit register worden gestuurd, kunnen een segmentlengteteller of een adres zijn. Ze worden onderscheiden door de meest significante bit 7. Als bit 7 1 bevat, dan zijn de overige zeven bits (0-6) het kanaaladres. Als bit 7 is ingesteld op 0, dan zijn de minst significante zeven bits de segmentlengteteller. In dit geval zijn kanaaladressen en segmentlengtetellers beperkt tot zeven bits (waarden van 0 tot 127).

ECP-poortsoftwareregisters

De volgende tabel bevat de ECP-poortregisters. De eerste drie registers zijn gelijk aan de SPP-poortregisters. Merk echter op dat de bidirectionele poortinschakelbit (besturingspoortbit 5) verschijnt. Deze bit geeft de huidige richting van de ECP-poort aan en beïnvloedt de FIFOpFull FIFOpEmpty-bits in het ECR-register (zie hieronder).

Het adres Poortnaam Lezen schrijven
Basis + 0 Gegevenspoort (SPP)Schrijven
ECP FIFO-adres (ECP-modus)Lezen schrijven
Basis + 1Statuspoort (alle modi) Lezen schrijven
Basis + 2Beheerpoort (alle modi) Lezen schrijven
Basis + 400h FIFO-gegevens (parallelle poort FIFO-modus) Lezen schrijven
FIFO-gegevens (ECP-modus) Lezen schrijven
FIFO-controle (testmodus)Lezen schrijven
Configuratieregister A (configuratiemodus) Lezen schrijven
Basis + 401hConfiguratieregister B (configuratiemodus) Lezen schrijven
Basis + 402h Uitgebreid controleregister (gebruikt door alle modi) Lezen schrijven

Uitgebreid controleregister (ECR)

Beetje Functie
7:5 Selecteer de huidige bedrijfsmodus
000 Standaard modus
001 Byte-modus
010 Parallelle poort FIFO-modus
011 ECP FIFO-modus
100 EPP-modus:
101 Gereserveerd
110 FIFO-controlemodus
111 Configuratiemodus:
4 ECP-interruptbit
3 DMA-bit inschakelen
2 ECP-servicebit
1 FIFO vol
0 FIFO leeg

Het belangrijkste register van de ECP-poort is het Extended Control Register ( ECR), dus laten we eerst eens kijken hoe het werkt. Dit register bepaalt in welke modus de ECP-poort zal werken en stelt ook de status van de FIFO-buffer in. De functies van dit register worden weergegeven in de volgende tabel.

De drie meest significante bits van het uitgebreide besturingsregister bepalen de werkingsmodus. Er zijn zeven mogelijke werkingsmodi, maar niet alle poorten ondersteunen alle modi. Sommige poorten worden bijvoorbeeld niet ondersteund EPP-modus:... De volgende tabel geeft meer gedetailleerde informatie over de werkingsmodi.

Standaard modus Als u deze modus instelt, werkt de ECP-poort als een standaard parallelle poort zonder bidirectionele capaciteit.
Byte-modus Werkt als SPP in bidirectionele modus. Bit 5 zet de poort in de omgekeerde modus.
Parallelle poort FIFO-modus In deze modus worden alle gegevens die naar de gegevens-FIFO zijn geschreven naar het randapparaat gestuurd met SPP-handshake. De nodige bevestiging wordt geïmplementeerd in een circuit. Deze modus is handig voor niet-ECP-apparaten zoals printers. Sommige ECP-mogelijkheden zijn aanwezig, zoals FIFO-buffers en circuitgeneratie van handshake, maar met een SPP-handshake in plaats van een ECP-handshake.
ECP FIFO-modusStandaardmodus voor de ECP-poort. In deze modus wordt ECP-handshake gebruikt. - Wanneer de ECP-modus is ingesteld via BIOS en het ECR-register is ingesteld op ECP FIFO-modus (011), kunnen de SPP-registers verdwijnen.
EPP-modus: / Gereserveerd EPP-modus is ingeschakeld indien beschikbaar. Als onder BIOS de ECP-modus is ingesteld, is het meer dan waarschijnlijk dat deze modus geen optie is. Maar als het BIOS is ingesteld op ECP en EPP1.x-modus, wordt EPP 1.x ingeschakeld. - Volgens Uitgebreide mogelijkheden Poortprotocol en ISA-interfacestandaard deze modus is leverancierspecifiek.
GereserveerdVoorlopig gereserveerd. - Volgens Uitgebreide mogelijkheden Poortprotocol en ISA-interfacestandaard deze modus is leverancierspecifiek.
FIFO-testmodusIn deze modus worden alle gegevens die naar het Test FIFO-register zijn geschreven in de FIFO geplaatst en alle gegevens die uit het Test FIFO-register worden gelezen, worden gelezen uit de FIFO-buffer. De statusbits FIFO vol / leeg geven hun werkelijke waarde weer, dus in deze modus kunt u enkele kenmerken van de FIFO definiëren, zoals de diepte.
Configuratiemodus:In deze modus komen twee configuratieregisters cnfgA en cnfgB op hun adressen beschikbaar.

Zoals eerder getoond, fungeert een poort als deze is ingesteld om in de standaardmodus te werken als een SPP-poort zonder bidirectionele gegevensoverdracht. Als bidirectionele verzending vereist is, stelt u de bytemodus in. De FIFO- en ECP FIFO-modi met parallelle poort gebruiken circuits om de vereiste handshake-signalen te genereren. Het enige verschil tussen de twee is dat de FIFO met parallelle poort SPP-handshake gebruikt en kan worden gebruikt met een SPP-printer. ECP FIFO-modus maakt gebruik van ECP-poort-handshake.

De FIFO-controlemodus kan worden gebruikt om de capaciteit van de FIFO-buffers te testen en te controleren of ze correct werken. In deze modus wordt elke byte die naar het TEST FIFO-register (Base + 400h) wordt geschreven in de FIFO-buffer geplaatst en wordt elke byte die uit dit register wordt gelezen uit de FIFO-buffer gehaald. Dit kan worden gebruikt in combinatie met de FIFO Full en FIFO Empty bits van het uitgebreide besturingsregister ECR om de capaciteit van de FIFO-buffer te bepalen. De FIFO-diepte is meestal rond de 16 bytes.

De andere bits van het ECR-register spelen ook een belangrijke rol bij de werking van de ECP-poort. De interrupt-bit (bit 4) maakt het gebruik van interrupts mogelijk, en de DMA-enable-bit (bit 3) maakt het gebruik van directe geheugentoegang mogelijk. Het ECP-servicebit (bit 2) geeft aan of een interruptverzoek is gestart. Indien aanwezig, wordt dit bit ingesteld. Dit bit wordt in verschillende microschakelingen anders gewist. Bij sommige moet je het bit wissen, d.w.z. schrijf er 0 naar, terwijl anderen resetten wanneer ze uit het register worden gelezen.

De FIFO Full-bit (bit 1) en de FIFO Empty (bit 0) geven de status van de FIFO-buffer aan. Deze bits zijn richtingsafhankelijk, dus bit 5 van het besturingsregister moet in aanmerking worden genomen. Als bit 0 (FIFO leeg) is ingesteld, is de FIFO leeg en als bit 1 is ingesteld, is de FIFO vol. Als geen van deze bits is ingesteld, staan ​​er wel gegevens in de FIFO, maar is de buffer nog niet vol. Deze bits kunnen in de FIFO-controlemodus worden gebruikt om de capaciteit van de FIFO-buffer te bepalen.

Configuratieregister A (cnfgA)

Configuratieregister A (cnfgA) is een van de twee ECP-poortconfiguratieregisters. De configuratieregisters zijn alleen beschikbaar in de configuratiemodus. Het cnfgA-registeradres is Base + 400h. Het cnfgA-registerformaat wordt weergegeven in de volgende tabel.

Beetje Functie
7 1 Onderbrekingen worden geactiveerd door het niveau
0 Interrupts worden door de rand geactiveerd
6:4 00u Accepteert woorden met een breedte van max. 16 bits
01hAccepteert woorden met een breedte van max. 8 bits
02uAccepteert woorden met een breedte van max. 32 bits
03h: 07hGereserveerd voor uitbreiding
3 Gereserveerd
2 Host Recovery: Pipeline / Transmitter Byte opgenomen in FIFO?
0 In de voorwaartse richting heeft één byte in de zenderpijplijn geen invloed op FIFO Full.
1 In de voorwaartse richting telt één byte in de zenderpijplijn als onderdeel van de FIFO Full.
1:0 Hostherstel: niet-verzonden bytes in FIFO
00 Volledig woord
01 1 geldige byte
10 2 twee geldige bytes
11 3 geldige bytes

Configuratieregister A kan worden gelezen voor aanvullende informatie over het ECP. Bit 7 geeft aan of de kaart level- of edge-interrupts genereert. Het hangt af van het type bus dat door de kaart wordt gebruikt. Bits 6: 4 tonen de breedte van de bussen in de kaart. Sommige kaarten gebruiken alleen een 8-bits datapad, terwijl andere 16- of 32-bits gebruiken. Om het meeste uit de kaart te halen, moet het programma de status van deze bits lezen om de maximale woordgrootte te bepalen die naar de poort moet worden uitgevoerd.

De minst significante drie bits worden gebruikt voor Host Recovery. Om te herstellen van een fout, moet het programma weten hoeveel bytes zijn overgedragen, om te bepalen of er nog bytes in de FIFO zijn. Sommige implementaties kunnen rekening houden met hangende bytes in het zenderregister als onderdeel van de FIFO Full-status, terwijl andere dat niet doen. Bit 2 bepaalt een bepaalde situatie.

Een ander probleem is dat de uitvoer van de parallelle poorten slechts acht bits breed is en dat het programma 16- of 32-bits I/O-commando's kan gebruiken. In dit geval kan een deel van het poortwoord worden verzonden. Daarom geven bits 0 en 1 het aantal geldige bytes aan dat nog in de FIFO zit en opnieuw kan worden verzonden.

Configuratieregister B (cnfgB)

Configuratieregister B is, net als configuratieregister A, alleen beschikbaar in de configuratiemodus. Het adres in deze modus is Base + 401h. Het cnfgB-registerformaat wordt weergegeven in de volgende tabel.

Beetje Functie
7 1 Comprimeer de uitvoergegevens met behulp van het RLE-algoritme
0 Gegevens niet comprimeren
6 Interrupt State - Toont de huidige status van de IRQ-pin
5:3 Selecteert of toont de status van de IRQ-onderbrekingsverzoekregel.
000 Interrupt geselecteerd met jumper
001 IRQ 7
010 IRQ 9
011 IRQ 10
100 IRQ 11
101 IRQ 14
110 IRQ 15
111 IRQ 5
2:0 Selecteert of toont de status van het DMA-kanaal dat door de printerkaart wordt gebruikt
000 Gebruikt door jumpers geselecteerd 8-bits DMA-kanaal
001 Kanaal 1 DMA
010 Kanaal 2 DMA
011 Kanaal 3 DMA
100 Gebruikt door jumpers geselecteerd 16-bits DMA-kanaal
101 Kanaal 5 DMA
110 Kanaal 6 DMA
111 Kanaal 7 DMA

Configuratieregister B (cnfgB) kan een lees-schrijftoegangscombinatie zijn. Sommige poorten zijn softwarematig configureerbaar met IRQ- en DMA-bronnen die vanuit het register zijn ingesteld. Anderen zijn configureerbaar via BIOS of via jumpers op de kaart, zodat het register alleen kan worden gelezen.

Bit 7 bepaalt of de uitvoergegevens al dan niet moeten worden gecomprimeerd met behulp van het RLE-algoritme: 1 - de host comprimeert de gegevens vóór verzending, 0 - de gegevens worden onbewerkt (ongecomprimeerd) naar het apparaat verzonden. Bit 6 retourneert de status van de IRQ-pin. Het kan worden gebruikt om conflicten te diagnosticeren, omdat het niet alleen de IRQ-status van de parallelle poort laat zien, maar ook het andere apparaat dat deze IRQ-lijn gebruikt.

Bits 5: 3 geven de toewijzingsstatus van de IRQ-lijn aan de poort aan, en bits 2: 0 geven de toewijzingsstatus van het DMA-kanaal aan de poort aan. Zoals eerder vermeld, kunnen deze velden worden gelezen en geschreven. Voor verdwijnende jumperboards geven deze bits eenvoudigweg de bronnen aan als "Jumpered" of correcte regelnummers. In dit geval kunnen ze natuurlijk alleen worden gelezen.

Seriële poorten

Seriële poorten voor gegevensuitwisseling met externe apparaten zijn het belangrijkste onderdeel van elke MC; zonder hen is de "communicatie" met de buitenwereld sterk beperkt. Ze worden sequentieel genoemd omdat ze slechts één bit tegelijk verzenden (in sommige gevallen is gelijktijdige verzending en ontvangst mogelijk, maar toch slechts één bit tegelijk). Het belangrijkste voordeel van seriële poorten ten opzichte van parallel (wanneer integer bytes of nibble-tetrads gelijktijdig worden uitgewisseld) is de vermindering van het aantal verbindingen. Maar het is niet de enige - paradoxaal genoeg, maar seriële interfaces geven een aanzienlijke voorsprong aan parallelle interfaces bij hoge snelheden, wanneer vertragingen in de lijnen de transmissiebetrouwbaarheid beginnen te beïnvloeden. Dit laatste kan niet precies hetzelfde worden gemaakt, en dit is een van de redenen dat seriële interfaces nu beginnen te domineren (typische voorbeelden: USB en Fire Wire in plaats van LPT en SCSI of Serial ATA in plaats van IDE).

In microcontroller-apparaten met onze datavolumes is de overdrachtssnelheid voor ons natuurlijk van secundair belang, maar het aantal verbindingsdraden is een zeer kritische factor. Daarom zullen alle externe apparaten, die we verder zullen overwegen, seriële interfaces hebben (behalve displays voor het weergeven van informatie, waarvoor helaas seriële interfaces alleen worden gevonden in modellen van een voldoende hoog niveau).

Vrijwel elke seriële poort kan in software worden gesimuleerd met behulp van conventionele MCU-pinnen. Zelfs de meest populaire van deze poorten, de UART, werd ooit gebruikt. Sindsdien hebben MCU's echter hardware-seriële poorten gekregen, wat echter niet betekent dat ze onmisbaar zijn. Het gemak van het simuleren van seriële poorten in software is een ander voordeel.

Van alle soorten poorten die in de AVR MK aanwezig kunnen zijn, zullen we vooral aandacht besteden aan de UART ( Universele asynchrone ontvanger - zender, universele asynchrone zendontvanger). UART is het belangrijkste onderdeel van elk apparaat dat het RS - 232-protocol ondersteunt, maar niet alleen (het is niet voor niets "universeel") - bijvoorbeeld de industriële normen RS - 485 en RS - 422 worden ook geïmplementeerd via UART, omdat ze alleen verschillen van RS-232 door elektrische parameters en toegestane snelheden, en niet door de algemene logica van de constructie.

Personal computers hebben een COM-poort die op hetzelfde RS-232-protocol werkt, en het UART-knooppunt is hetzelfde basisonderdeel ervan. Daarom dient de UART als de belangrijkste manier om gegevens uit te wisselen tussen de MCU en de computer.

Merk op dat de afwezigheid van een COM-poort in de meeste moderne pc-modellen geen obstakel is - er zijn USB-COM-adapters en een extra kaart met COM-poorten kan in het desktopmodel worden gestoken. Hoe u in de praktijk met de UART omgaat, staat beschreven in: hoofdstukken 21 en 22 , toegepast op het platform Arduino- het is veel moeilijker om zo'n uitwisseling in assembler te programmeren (hoewel betrouwbaarder, zie hieronder). V Hoofdstuk 22 We zullen zien dat er eenvoudige en toch redelijk betrouwbare manieren zijn om transmissie via een seriële poort over een radiokanaal te organiseren, waardoor het mogelijk is om helemaal zonder kabels te doen.

Naast UART bevatten bijna alle AVR MK's de eenvoudigste van alle seriële poorten - SPI ( Seriële randapparatuur, seriële perifere interface). Het SPI-apparaat werd genoemd in Hoofdstuk 16... De fundamentele eenvoud heeft een gedeeltelijk slechte rol gespeeld - het is moeilijk om twee apparaten te vinden waarbij de SPI-protocollen volledig samenvallen, meestal gaat de uitwisseling op deze poort gepaard met bepaalde "toeters en bellen". Opgemerkt moet worden dat AVR-programmering ook via SPI wordt uitgevoerd, maar in het algemeen zijn deze interface en SPI voor gegevensuitwisseling verschillende dingen, hoewel ze in de meeste gevallen dezelfde conclusies hebben.

Overigens worden ook alle bekende geheugenkaarten ("flashdrives") aangesproken via een protocol dat heel dicht bij SPI ligt.

Naast deze poorten wordt vaak een zeer eenvoudige hardware-interface gebruikt, maar een meer complexe softwarematig en nogal trage 12C-interface (in Atmel AVR-terminologie wordt dit TWI genoemd ( Tweedraads interface, tweedraadsinterface). Met zijn hulp kunt u met veel apparaten communiceren: real-time klokken, kompassen, sensoren, sommige soorten geheugen. We zullen er opnieuw naar kijken in de hoofdstukken over Arduino .

De AVR heeft een 10-bit SAR ADC (zie pagina 10). Hoofdstuk 17). Het werken ermee heeft nogal wat nuances, en we zullen het in detail bespreken in Hoofdstuk 20... V Hoofdstuk 22 je zult zien hoe Arduino vereenvoudigt dit proces. En in het algemeen zullen we enkele andere knooppunten van de MK van de AVR-familie beschouwen in de loop van de presentatie van specifieke schema's - het zal op deze manier duidelijker zijn. Nu zullen we onze langdurige kennismaking met de microcontroller beëindigen en ons richten op de vraag hoe deze te programmeren. We zullen de volgende twee hoofdstukken wijden aan basiskennis van MK-programmering in assembler, en dan gaan we verder met talen op hoog (en zelfs ultrahoog) niveau. U kunt dus visueel vergelijken en zelfs als u "met uw handen wilt voelen" de voor- en nadelen van deze en gene benadering en de grenzen van hun toepasbaarheid.

Invoer- en uitvoerapparaten zoals toetsenbord, muis, monitor en printer zijn standaard op de pc aanwezig. Alle randapparatuur moet zo op de pc worden aangesloten dat de door de gebruiker ingevoerde gegevens niet alleen correct in de computer kunnen komen, maar ook in de toekomst efficiënt kunnen worden verwerkt. Voor gegevensuitwisseling en communicatie tussen de randapparatuur (invoer / uitvoerapparaten) en de gegevensverwerkingsmodule (moederbord), kan parallelle of seriële gegevensoverdracht worden georganiseerd.

Parallelle communicatie betekent dat alle 8 bits (of 1 byte) niet achter elkaar worden verzonden en verzonden, maar gelijktijdig (parallel) of, meer precies, elk op zijn eigen draad. Het principe van parallelle communicatie wordt duidelijk als je kijkt naar een kabel die is aangesloten op een parallelle interfaceconnector, zoals een printerkabel. Het is aanzienlijk dikker dan een seriële muiskabel, omdat een parallelle datakabel ten minste acht draden moet bevatten, elk voor één bit.

Parallelle interfaces zijn ontwikkeld door Centronics, daarom wordt de parallelle interface vaak de Centronics-interface genoemd.

Een parallelle printerinterface wordt meestal LPT (Line Printer) genoemd. De eerste aangesloten printer wordt aangeduid als LPT1 en de tweede als LPT2.

Er zijn verschillende soorten parallelle poorten: standaard, EPP en ECP.

De standaard parallelle poort is alleen bedoeld voor eenrichtingsoverdracht van informatie van een pc naar een printer, die is opgenomen in het bedradingsschema van de poort. Het biedt een maximale gegevensoverdrachtsnelheid van 120 tot 200 Kb / s.

Port.EPP is bidirectioneel, d.w.z. biedt parallelle verzending van 8 bits gegevens in beide richtingen en is volledig compatibel met de standaardpoort. De EPP-poort verzendt en ontvangt gegevens tot zes keer sneller dan een standaard parallelle poort, geholpen door de buffer van de EPP-poort die verzonden en ontvangen tekens opslaat totdat de printer klaar is om ze te ontvangen. Met een speciale modus kan de EPP-poort datablokken rechtstreeks van de RAM-pc naar de printer overbrengen en vice versa, waarbij de processor wordt omzeild. Met de juiste software kan de EPP-poort gegevens verzenden en ontvangen met snelheden tot 2 Mbps.

De ECP-poort, met alle mogelijkheden van de EPP-poort, zorgt voor een hogere gegevensoverdrachtsnelheid dankzij de gegevenscompressiefunctie. Om gegevens te comprimeren, wordt de RLE-methode (Run length Encoding) gebruikt, waarbij een lange reeks identieke tekens wordt verzonden met slechts twee bytes: één byte definieert het herhaalde teken en de tweede - het aantal herhalingen. Tegelijkertijd staat de ECP-standaard datacompressie en decompressie toe, zowel programmatisch (met behulp van een stuurprogramma) als hardware (met behulp van een poortcircuit). Deze functie is optioneel, dus poorten, randapparatuur en programma's ondersteunen deze mogelijk niet. Het kan worden geïmplementeerd wanneer de gegevenscompressiemodus wordt ondersteund door zowel de ECP-poort als de printer. Door de gegevensoverdrachtsnelheid te verhogen met behulp van de ECP-poort, wordt de tijd die nodig is om gegevens op de printer af te drukken aanzienlijk verkort.


Profiteren van de functionaliteit van de ECP- en EPP-poorten is mogelijk met een computer die is uitgerust met een van deze standaarden.

Seriële communicatie vindt bit voor bit plaats: afzonderlijke bits worden achtereenvolgens over één draad verzonden (of ontvangen), terwijl gegevensuitwisseling in twee richtingen mogelijk is, gegevensontvangst en verzending worden uitgevoerd met dezelfde klokfrequentie. Voor seriële interfaces is de keuze aan aangesloten apparaten veel groter, dus de meeste pc's zijn meestal uitgerust met twee interfaceconnectoren voor seriële gegevensoverdracht. De meest gebruikte aanduiding voor de seriële interface is RS-232, RS-422, RS-465. Seriële connectoren op een pc zijn 9-pins (mannelijk) Sub-D of 25-pins (mannelijk) Sub-D.

Om communicatie tussen twee seriële interfaces tot stand te brengen, moet u ze eerst dienovereenkomstig configureren, d.w.z. specificeer hoe de gegevensuitwisseling zal worden uitgevoerd: baudrate, gegevensformaat, pariteitscontrole, enz. Hardwareconfiguratie van de interface door het correct instellen van jumpers of schakelaars is onhandig, omdat u de pc-behuizing moet openen. Meestal wordt de configuratie van de seriële interface programmatisch uitgevoerd, vooral omdat de Windows-omgeving een dergelijke mogelijkheid biedt.


Laboratoriumwerk nr. 9

Parallelle en seriële poorten en hoe ze werken

Het doel van het laboratoriumwerk:

- Studie van de eigenaardigheden van het werk van parallelle en seriële poorten

De (personal) computerpoort is bedoeld voor de uitwisseling van informatie tussen apparaten die zijn aangesloten op de bus in de computer en extern apparaat.

Om te communiceren met randapparatuur zijn een of meerdere microschakelingen aangesloten op de computerbus I/O-controller.

Seriële poort van RS-232-C-standaard. Het is een standaard voor het aansluiten van computers op verschillende seriële externe apparaten. In besturingssystemen krijgt elke RS-232-poort de logische naam COM1-COM4.

De parallelle poort wordt gebruikt voor de gelijktijdige overdracht van 8 bits informatie. Op computers wordt deze poort voornamelijk gebruikt voor het aansluiten van printers, plotters en andere apparaten. Parallelle poorten worden aangeduid als LPT1-LPT4.

USB-interface (Universal Serial Bus) is een universele seriële bus die is ontworpen om de oudere seriële (COM) en parallelle (LTP) poorten te vervangen. Met de USB-bus kunt u nieuwe apparaten aansluiten zonder uw computer uit te schakelen. De bus bepaalt zelf wat er precies op de computer is aangesloten, welke driver en bronnen het apparaat nodig heeft, en wijst deze vervolgens toe zonder tussenkomst van de gebruiker. Met de USB-bus kunt u maximaal 127 apparaten aansluiten.

IEEE 1394 (Institute of Electrical and Electronic Engineers 1394) is een seriële interface voor het aansluiten van interne componenten en externe apparaten. De IEEE 1394 digitale seriële interface wordt gekenmerkt door een hoge betrouwbaarheid en kwaliteit van gegevensoverdracht, het protocol ondersteunt gegarandeerde overdracht van tijdkritische informatie, waardoor de doorgang van video- en audiosignalen in realtime zonder merkbare vervorming wordt gegarandeerd. Met behulp van de IEEE 1394-bus kunt u maximaal 63 apparaten aansluiten en in bijna elke configuratie, wat gunstig afsteekt bij de moeilijk te configureren SCSI-bussen. Deze interface wordt gebruikt om harde schijven, cd-rom- en dvd-rom-stations en snelle externe apparaten zoals camcorders, videorecorders enz. aan te sluiten.

Oefening 1.

Zoek de afbeelding van de moederbordconnectoren. Geef de naam van de connectoren aan en voor welke apparaten ze worden gebruikt. Vind theoretische informatie over deze connectoren.

Taak 2.

Bepaal de externe interfaces van de doelcomputer. Sluit een printer, monitor, scanner, muis, toetsenbord, luidsprekers aan op de doelcomputer.

Externe moederbordconnectoren: PS / 2 (1 - muis, 2 - toetsenbord), netwerk RJ-45 (3), USB (4), D-subminiatuur (9-pins COM-poort) (5), LPT-poort (6), VGA-poort (7), MIDI) (8) en 3,5 mm audio I/O (TRS-connector) (9)

1, 2. PS / 2 - een computerpoort (connector) die wordt gebruikt om een ​​toetsenbord en muis aan te sluiten. Het verscheen voor het eerst in 1987 op IBM PS/2-computers en kreeg vervolgens erkenning van andere fabrikanten en wordt veel gebruikt in personal computers en servers. De gegevensoverdrachtsnelheid is van 80 tot 300 Kb / s en is afhankelijk van de prestaties van het aangesloten apparaat en de softwaredriver.

Iedereen die minstens één keer heeft geprobeerd om zelf een pc in elkaar te zetten of een van de componenten te kopen, kreeg te maken met de kwestie van poorten. Parallel of sequentieel? 4-pins of 16-pins aansluiting? Uitvoer via poort of geheugen? Al deze vragen rijzen bij het bestuderen van dit onderwerp en het kiezen van de juiste kabel.

Haven

Wat is een haven? Dit is een speciale connector in een pc die fungeert als verbinding tussen verschillende apparaten en het computersysteem. Poorten zijn traditioneel synoniem met connectoren die nodig zijn om randapparatuur te bedienen die los staat van de pc-architectuur. Daarentegen moet worden opgemerkt dat de netwerkconnector, of de plaats voor het aansluiten van een chip en RAM, geen poort wordt genoemd.

Sommige poorten kunnen hot-plugging en loskoppelen ondersteunen, andere moeten eerst het systeem uitschakelen en vervolgens de poort aansluiten.

Een hardwarepoort is verkrijgbaar in een aantal typen. Dit omvat dus een parallelle interface, serieel, USB, PATA / SATA, PS / 2 en vier moderne video-interfaces: Display Port, HDMI, VGA, DVI.

Parallel

Het zal gaan over een van dit soort interfaces. Parallel is gemaakt voor de pc als verbinding tussen het randapparaat en de computer. Als we het hebben over computertechnologie, dan implementeert dit type fysiek een parallelle verbinding, wat vrij logisch is.

Vaak hoor je de uitdrukking "parallelle printerpoort" niet voor niets. Het type van deze interface werd direct na zijn geboorte de printerpoort en de Centronics-poort genoemd.

Begin

Deze naam is echt met een reden geworden. De interface is ontwikkeld door Centronics, dat er in 1970 een printer mee uitbracht. De poort is ontwikkeld door Howard en Robinson. Niemand was van plan een nieuw type te maken of een revolutionaire ontdekking te doen. Het gebeurde allemaal de facto en de parallelle poort werd de industriestandaard.

In die tijd waren er veel verschillende kabels die fabrikanten gebruikten. Zo waren de DC-3, 36, 25 en 50-pins connectoren populair.

Ontwikkeling

De ontwikkeling van de printerpoort werd snel opgepakt. Bedrijven, de een na de ander, begonnen hun versies te implementeren. Platte opties voor een groot aantal pinnen begonnen te verschijnen. Dataproducts werkte met de interface en ontwikkelde een DC-37 die hostspecifiek was en een 50-pins poort die op een printer kon worden aangesloten.

Dataproducts heeft meerdere varianten tegelijk gemaakt. Parallelle verbindingen kunnen worden gerealiseerd over korte afstanden tot 15 meter, en voor lange verbindingen tot 150 meter. Deze interface heeft lange tijd dienst gedaan. Tot de jaren negentig gebruikten veel fabrikanten het als optie.

Ook het Amerikaanse bedrijf IBM besloot mee te werken aan de totstandkoming van een parallelle computerpoort. Ten tijde van de release van haar eerste personal computer was het mogelijk om kennis te maken met de Centronics-modificatie. Interessant is dat voor veel gebruikers meteen een voorwaarde werd gesteld. Alleen gereviseerde printers van Epson die het IBM-logo droegen, konden met deze interface werken.

Het bedrijf heeft hard gewerkt om de DB25F-kabel te standaardiseren. Toen begonnen de printerfabrikanten de standaard in hun modellen te implementeren. En begin jaren 90 werd de populaire Centronics-poort veranderd in IEEE 1284.

Verscheidenheid

Dus de nieuwigheid kwam in gebruik en verwierf zijn eigen fans. IEEE 1284 heeft een andere naam - LPT. De parallelle poort heeft internationale standaardisatie gekregen en dient nog steeds om randapparatuur aan te sluiten.

Net als de vorige optie wordt het vaker gebruikt om een ​​printer, scanner en verschillende externe apparatuur te activeren. In tegenstelling tot de vorige wijziging, werd het echt om een ​​verbinding tussen twee pc's te maken, telecontrolemechanismen te activeren.

De basis voor IEEE 1284 was de Centronics-poort en zijn verschillende variaties.

Vergelijking

Zoals eerder vermeld, is de Centronics-interface gemaakt door het bedrijf met dezelfde naam en werd deze veel gebruikt voor IBM-pc's. Dankzij deze connector was het mogelijk om drukmachines aan te sluiten. Het werd lange tijd als de belangrijkste beschouwd, hoewel het officieel niet zo was.

Het werd voor het eerst gemaakt voor unidirectionele overdracht van informatie, dus het was ideaal voor printers. Toen ze begonnen te werken aan duplexaanpassingen, werd besloten om een ​​van de nieuw uitgebrachte standaarden officieel te formaliseren. Dit is hoe EEE 1284 werd geboren.

Verscheidenheid

Wat is deze parallelle poort precies? Aan de computerkant wordt het weergegeven door een 25-pins, tweerijige DB-25-vrouwelijke connector. Er moet meteen worden opgemerkt dat dit de zogenaamde "moeder" is, maar er is een vergelijkbare connector - "vader", die eerder in een pc als COM-poort werd gebruikt.

Randapparatuur is vaker uitgerust met een 36-pins microconnector in de vorm van een lint, dus de kabel heeft aan de ene kant 25 DB-25-male pinnen en kan worden aangesloten op een pc, en aan de andere - 36 IEEE 1284- B-pinnen. Soms vervangt deze optie MiniCenttronics - een poort die wordt weergegeven door een 36-pins AC-kabel.

Er zijn onder andere CC-kabels, aan beide zijden een MiniCenttronics. Dit is een zeer zeldzame wijziging voor apparaten met de IEEE 1284-II-standaard.

Aangezien we een norm voor ons hebben, heeft deze een aantal vereisten waaraan moet worden voldaan. De kabellengte mag bijvoorbeeld niet meer zijn dan drie meter. De structuur zelf wordt weergegeven door getwiste paren in een gemeenschappelijk of individueel scherm. Lintversies zijn zeldzaam.

Als je goed kijkt naar oudere scanners, was er ook een DB-25-male poort in plaats van IEEE 1284-B. Interessant is dat dergelijke apparaten een extra DB-25-female connector hadden om een ​​printer aan te kunnen sluiten. De scanner verzond dus informatie via twee interfaces.

Fysieke implementatie

De belangrijkste haven van Centronics, zoals eerder vermeld, werd vertegenwoordigd door een unidirectionele parallelle poort. De kabel heeft de belangrijkste kenmerken gerealiseerd. Er waren dus 8 signaallijnen voor beweging, flitsers en een apparaatstatuslijn.

Het is duidelijk dat de unidirectionele interface het mogelijk maakte om materialen in één richting van de pc naar de apparatuur over te brengen. Desondanks was de technologie iets breder. Er waren vijf retourlijnen die de toestand van het apparaat bewaakten. De snelheid waarmee informatie kon worden overgedragen fluctueerde en steeg naar 1,2 Mbit/s.

Extensies

Alle oorspronkelijke wijzigingen werden later samengevoegd en gestandaardiseerd. De daad van eenwording eindigde met de registratie van de IEEE-1284-standaard. Maar dit loste het probleem van volledige naleving niet op. De nieuwigheid was nog steeds anders dan de eerder gemaakte gespecialiseerde extensies.

De bekendste waren de ontwikkelingen van Hewlett-Packard. Samen met Centronics verscheen de Bitronics-poort. Hij ontving tweerichtingstechnologie, verplaatste gegevens in twee richtingen en was nodig om informatie te verzamelen over de status van de printer.

Bitronics werkte met HP's multiplex-busprotocol. De technologie maakte het mogelijk om een ​​"ketting" te gebruiken: om meerdere apparaten op de LPT-connector aan te sluiten. Om deze taak te volbrengen, werden verschillende standaarden gecreëerd, hoewel het ook hier niet mogelijk was om compatibiliteit te bereiken.

Als u dus verouderde Hewlett-Packard-apparaten bent tegengekomen die niet correct werken, is dit niet verwonderlijk. Het hele probleem zit in de havens en de implementatie.

Kansen

De parallelle interface kan in verschillende modi worden gebruikt. SPP is bijvoorbeeld een standaard eenrichtingspoortimplementatie die compatibel is met Centronics. Nibble Mode is een bidirectionele datatransmissiemodus. Het werkt dankzij controlelijnen. Ooit was het de enige optie waardoor Centronics bidirectionele informatie doorstuurde.

Byte-modus is een andere bidirectionele synchronisatieoptie die niet populair werd, maar nog steeds werd gebruikt met sommige controllers. EPP - de werkwijze van de toonaangevende fabrikanten Intel, Xircom en Zenith Data Systems, was ook bezig met tmet een snelheid van 2 MB / s.

En de laatste modus is ECP. Microsoft en Hewlett-Packard hebben eraan gewerkt. Hardwarebestandscompressie, buffer, directe geheugentoegang toegevoegd.

Sollicitatie

Het is geen geheim dat de meeste printers tegenwoordig zijn aangesloten via USB-kabels. Voordat deze optie verscheen, was de connector de enige optie. Maar daarnaast bestond het ook in verschillende randapparatuur.

Nu is het moeilijk te zeggen wat er eerder en als eerste verscheen, maar elektronische sleutels die software beschermden tegen kopiëren werden bekend. Ook is deze poort overgegaan naar de verwijdering van schijven en scanners. En dit gaf op zijn beurt een impuls aan het creëren van parallelle connectoren voor modems, geluidskaarten, webcams, gamepads, enz.

Vervolgens begonnen ze adapters te ontwikkelen voor de SCSI-standaard in combinatie met een parallel type. Adapters voor EPROM's en hardwarecontrollers zijn ook bekend.

modern gebruik

De parallelle interface is minder populair geworden. Het is vervangen door USB-kabels en Ethernet voor de netwerkverbinding. Veel fabrikanten beschouwen het type parallelle connector als verouderd. Daarom begint het massaal te verdwijnen uit de interfacepanelen van computers en laptops. Microsoft vraagt ​​ontwikkelaars om dit type poort niet te gebruiken. En voor degenen die nog steeds niet klaar zijn om deze optie op te geven, is er een "parallelle USB" -adapter.

Verschil

Seriële en parallelle poorten worden vaak vergeleken. In systemen van IBM waren er naast de parallelle interface ook seriële en ingebouwde voor het toetsenbord. De seriële poort werd vaak gebruikt om high-speed communicatieapparaten aan te sluiten die in het RS-232-formaat werkten. Hier hebben we het over modems en soortgelijke apparaten.

De seriële poort was gemakkelijker te implementeren voor technologie die de overdracht van een kleine hoeveelheid gegevens vereiste. Dit is inclusief een gewone computermuis.

Fout

Mensen leren vaak over de parallelle interface van het systeem zelf. Soms zijn er problemen waardoor de gebruiker zweet om ze op te lossen. Sommige mensen hebben bijvoorbeeld een crash van de "Parallel Port Driver" opgemerkt. Deze fout verschijnt meestal in het systeemlogboek en is gemarkeerd met een rood kruis.

Nu komt dit probleem steeds minder voor in het systeem. Het kan voorkomen bij het starten van Parport wanneer er geen parallelle poort op het bord is. In dit geval kunt u naar het register gaan en de regel "Start" vinden in de sectie Parport. Hier moet u de waarde "2" in "4" veranderen.

conclusies

De parallelle poort behoort nu tot het verleden. Ze hebben er in de vorige eeuw aan gewerkt en al in de onze konden ze het vervangen door handigere connectoren. De opties die ongewijzigd bleven, konden adapters verkrijgen. Dus werd het een realiteit om een ​​PCI parallelle poortcontroller aan te schaffen, een vervanging voor USB en andere populaire interfaces.

Er zijn veel manieren op internet om zelf een of andere kabel te maken. Maar om eerlijk te zijn, de opties zijn niet helemaal veilig en twijfelachtig. Beter, als je ineens een parallelle poort nodig hebt voor een apparaat, kijk dan in de winkels. Hoewel het niet wordt geproduceerd, bleef het nog steeds te koop. En wanneer u zelf een pc in elkaar zet, is het beter om het interfacepaneel van het moederbord van dichterbij te bekijken, om later niet in de problemen te komen.