Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Cilat janë avantazhet dhe disavantazhet e një porti paralel. Portet paralele

Së bashku me portën paralele, porta COM, ose porta serike, është një nga portet tradicionale I/O të një kompjuteri, e përdorur në PC-të e parë. Edhe pse në kompjuterë modernë Porta COM është me përdorim të kufizuar, megjithatë, informacioni rreth tij mund të jetë i dobishëm për shumë përdorues.

Porti serik, si ai paralel, u shfaq shumë përpara shfaqjes së kompjuterëve personalë të arkitekturës IBM PC. Në PC-të e parë, porta COM u përdor për të lidhur pajisjet periferike. Sidoqoftë, qëllimi i aplikimit të tij ishte paksa i ndryshëm nga qëllimi i portit paralel. Nëse porti paralel përdorej kryesisht për lidhjen e printerëve, atëherë porti COM (nga rruga, prefiksi COM është vetëm një shkurtim i fjalës komunikim) zakonisht përdorej për të punuar me pajisje telekomunikacioni siç janë modemet. Sidoqoftë, mund të lidhni, për shembull, një mi me portin, si dhe pajisje të tjera periferike.

Porta COM, fushat kryesore të aplikimit:

  1. Lidhja e terminalit
  2. ~ modemë të jashtëm
  3. ~ printera dhe plotter
  4. ~ minj
  5. Lidhja direkte e dy kompjuterëve

Aktualisht, shtrirja e portit COM është zvogëluar ndjeshëm për shkak të prezantimit të një ndërfaqe USB më të shpejtë dhe më kompakte, dhe, nga rruga, edhe serike. Pothuajse jashtë përdorimit modemë të jashtëm, i projektuar për lidhje me portin, si dhe minjtë "COM". Është e rrallë që dikush tani lidh dy kompjuterë me një kabllo modem null.

Megjithatë, një numër i pajisjeve të specializuara ende përdorin portën serike. Mund ta gjeni edhe në shumë pllaka amë. Fakti është se, në krahasim me USB, porta COM ka një të tillë avantazh i rëndësishëm- sipas standardit të të dhënave serike RS-232, mund të punojë me pajisje në një distancë prej disa dhjetëra metrash, ndërsa diapazoni i kabllit USB zakonisht kufizohet në 5 metra.

Si funksionon një port serik dhe si ndryshon nga një port paralel

Ndryshe nga porti paralel (LPT), porti serial transmeton të dhëna pak nga pak në një linjë të vetme, në vend të disa në të njëjtën kohë. Sekuencat e biteve grupohen në një seri të dhënash, duke filluar me një bit fillimi dhe duke përfunduar me një bit ndalues ​​dhe bit të barazisë që përdoren për kontrollin e gabimeve. Nga këtu vjen një tjetër Emri anglisht e cila ka një port serik - Serial Port.

Porta serike ka dy linja përmes të cilave transmetohen të dhënat aktuale - këto janë linjat për transferimin e të dhënave nga terminali (PC) në pajisjen e komunikimit dhe anasjelltas. Përveç kësaj, ka disa linja të tjera kontrolli. Porti serik shërbehet nga një mikroqark special UART, i cili është i aftë të mbështesë një shpejtësi relativisht të lartë të transferimit të të dhënave, duke arritur në 115,000 baud (bajt / s). Megjithatë, duhet të theksohet se shpejtësia aktuale e shkëmbimit të informacionit varet nga të dy pajisjet e komunikimit. Për më tepër, funksioni i kontrolluesit UART është të konvertojë paralelisht në kodin serial dhe anasjelltas.

Porti përdor sinjale elektrike të një tensioni relativisht të lartë - deri në +15 V dhe -15 V. Niveli logjik zero i portës serike është +12 V, dhe ai logjik është -12 V. Një rënie kaq e madhe e tensionit siguron një shkallë e lartë e imunitetit ndaj zhurmës së të dhënave të transmetuara. Nga ana tjetër, tensionet e larta të përdorura në portin Serial kërkojnë zgjidhje komplekse qarkore. Kjo rrethanë ka ndikuar edhe në rënien e popullaritetit të portit.

Ndërfaqja serike RS-232

Funksionimi i portës serike në një PC bazohet në standardin e komunikimit serial RS-232. Ky standard përshkruan procesin e shkëmbimit të të dhënave ndërmjet një pajisjeje telekomunikacioni, si një modem dhe një terminal kompjuteri. Standardi RS-232 përcakton karakteristikat elektrike të sinjaleve, qëllimin, kohëzgjatjen e tyre, si dhe dimensionet e lidhësve dhe pinout për to. Në të njëjtën kohë, RS-232 përshkruan vetëm shtresën fizike të procesit të transferimit të të dhënave dhe nuk zbatohet për protokollet e transportit të përdorura në këtë rast, të cilat mund të ndryshojnë në varësi të pajisjeve dhe softuerit të përdorur të komunikimit.

Standardi RS-232 u krijua në 1969, dhe i tij Versioni i fundit, TIA 232, u lëshua në vitin 1997. RS-232 tani është i vjetëruar, por shumica e sistemeve operative ende e mbështesin atë.

Në kompjuterët modernë, lidhësi i portit Serial është një lidhës mashkullor DB-9 me 9 kunja, megjithëse standardi RS-232 përshkruan gjithashtu një lidhës DB-25 me 25 pin, i cili shpesh përdorej në kompjuterët e vjetër. Lidhësi DB-9 zakonisht ndodhet në motherboard PC, megjithëse në kompjuterët e vjetër mund të vendoset në një multi-kartë speciale të futur në folenë e zgjerimit.

Femër 9-pin DB-9 në motherboard

Lidhës DB-9 në kabllon e pajisjes së bashkangjitur

Ndryshe nga porta paralele, lidhësit në të dy anët e kabllos serike me dy skaje janë identike. Përveç linjave për transmetimin e të dhënave vetë, porti përmban disa linja shërbimi përmes të cilave mund të transmetohet midis terminalit (kompjuterit) dhe pajisjes së telekomunikacionit (modemit). informacionin e kontrollit... Megjithëse teorikisht vetëm tre kanale janë të mjaftueshme për funksionimin e një porti serik - marrja e të dhënave, transmetimi i të dhënave dhe toka, praktika ka treguar se prania e linjave të shërbimit e bën komunikimin më efikas, të besueshëm dhe, si rezultat, më të shpejtë.

Qëllimi i linjave të lidhësit të portit Serial DB-9 sipas RS-232 dhe korrespondenca e tyre me kontaktet e lidhësit DB-25:

DB-9 pin Emri anglisht Emri rus Kontaktoni DB-25
1 Zbulimi i bartësit të të dhënave Zbuluar operator 8
2 Transmetoni të dhënat Të dhënat e transmetuara 2
3 Merrni të dhëna Të dhënat e marra 3
4 Terminali i të dhënave gati Gatishmëria e terminalit 20
5 Tokë Toka 7
6 Seti i të dhënave gati Gatishmëria e transmetuesit 6
7 Kërkesë për të dërguar Kërkesë për të dërguar të dhëna 4
8 Është e qartë për të dërguar Lejohet transmetimi i të dhënave 5
9 Treguesi i unazës Treguesi i ziles 22

Konfigurimi dhe ndërprerjet

Meqenëse një kompjuter mund të ketë disa porte serike (deri në 4), sistemi ndan dy ndërprerje harduerike për to - IRQ 3 (COM 2 dhe 4) dhe IRQ 4 (COM 1 dhe 3) dhe disa ndërprerje BIOS. Shumë programe komunikimi, si dhe modemë të integruar, përdorin ndërprerjet dhe hapësirën e adresave të porteve COM për punën e tyre. Në këtë rast, zakonisht nuk përdoren porte reale, por të ashtuquajturat porte virtuale, të cilat imitohen nga vetë sistemi operativ.

Ashtu si në rastin e shumë komponentëve të tjerë në motherboard, parametrat e porteve COM, në veçanti, vlerat e ndërprerjeve të BIOS që korrespondojnë me ndërprerjet e harduerit, mund të konfigurohen përmes ndërfaqes BIOS Setup. Për ta bërë këtë, përdorni opsionet e BIOS si COM Port, Onboard Serial Port, Serial Port Address, etj.

konkluzioni

Porta serike e një PC aktualisht nuk është një mjet i përdorur gjerësisht i informacionit I/O. Sidoqoftë, meqenëse ekziston një numër i madh i pajisjeve, kryesisht telekomunikacioni, të dizajnuara për të punuar me një port serik, dhe gjithashtu për shkak të disa prej avantazheve të protokollit të transferimit të të dhënave serike RS-232, ndërfaqe serike ende nuk duhet të hidhet poshtë si një element absolutisht i vjetëruar i arkitekturës së kompjuterit personal.

Porti quhet "serial" sepse informacioni transmetohet përmes tij një bit në një kohë, pak nga pak në mënyrë sekuenciale (në krahasim me një port paralel). Përkundër faktit se disa ndërfaqe kompjuterike (për shembull, Ethernet, FireWire dhe USB) përdorin gjithashtu një metodë serike të shkëmbimit të informacionit, emri "port serial" i është caktuar portit të standardit RS-232.

Emërimi

Porta serike më e përdorur për kompjuterët personalë është standardi RS-232C. Më parë, porta serike përdorej për të lidhur një terminal, më vonë për një modem ose mouse. Tani përdoret për t'u lidhur me, për të komunikuar me harduerin e integruar të zhvillimit kompjuterik, marrës satelitor, kasa, programues, me aparatura per sistemet e sigurise se objekteve, si dhe me shume pajisje te tjera.

Me një port COM, mund të lidhni dy kompjuterë duke përdorur të ashtuquajturin "kabllo modem null" (shih më poshtë). Ai është përdorur që nga ditët e MS-DOS për transferimin e skedarëve nga një kompjuter në tjetrin, në UNIX për akses në terminal në një makinë tjetër dhe në Windows (madje edhe modern) për një korrigjues të nivelit të kernelit.

Avantazhi i teknologjisë është thjeshtësia ekstreme e pajisjeve. Disavantazhet janë shpejtësia e ulët, madhësitë e mëdha të lidhësit, si dhe shpesh kërkesat e larta për kohën e përgjigjes së OS dhe drejtuesit dhe një numër i madh ndërprerjesh (një për gjysmën e radhës së harduerit, domethënë 8 bajt).

Video të ngjashme

Lidhës

Në pllakat amë nga prodhuesit kryesorë (për shembull, Intel) ose sistemet jashtë raftit (për shembull, IBM, Hewlett-Packard, Fujitsu Siemens Computers), porta serike është simbol COM ose RS-232.

Opsionet e lidhësit të portit DE-9 COM

Lidhësit D më të përdorur janë standardizuar në vitin 1969: 9- dhe 25-pin, (DB-9 dhe DB-25, respektivisht). Më parë, janë përdorur gjithashtu DA-31 dhe DIN-8 me tetë kunja të rrumbullakëta. Shpejtësia maksimale e baud-it për një port konvencional është 115,200 baud.

Rëndësia

Ekzistojnë standarde për emulimin e një porti serik përmes USB dhe Bluetooth (kjo teknologji është projektuar kryesisht si një "port serial me valë").

Ende emulimi i softuerit të këtij porti përdoret gjerësisht sot. Kështu, për shembull, pothuajse të gjitha Telefonat celular imitoni një port klasik COM dhe një modem për lidhjen - aksesi i kompjuterit në internet përmes pajisjeve telefonike GPRS / EDGE / 3G / 4G. Për më tepër, për lidhje fizike kompjuteri përdor USB, Bluetooth ose Wi-Fi.

Gjithashtu, emulimi i softuerit të kësaj porti u ofrohet "mysafirëve" të makinave virtuale VMWare dhe Microsoft Hyper-V, qëllimi kryesor i të cilave është lidhja e një niveli korrigjues. Kerneli i Windows tek "mysafiri".

Në formën e një UART, i cili ndryshon në nivelet e tensionit dhe mungesën e sinjaleve shtesë, ai është i pranishëm në pothuajse të gjithë mikrokontrolluesit, përveç atyre më të vegjël, SoC, bordet e zhvillimit, dhe është gjithashtu i pranishëm në bordet e shumicës së pajisjeve. , megjithëse lidhësi nuk është nxjerrë në kasë. Ky popullaritet është për shkak të thjeshtësisë së kësaj ndërfaqeje, si nga pikëpamja fizike, ashtu edhe lehtësisë së aksesit në port nga ana e softuerit në krahasim me ndërfaqet e tjera.

Pajisjet

Lidhësi ka kontakte:

DTR (Data Terminal Ready - gatishmëria për të marrë të dhëna) - dalje në kompjuter, hyrje në modem. Tregon që kompjuteri është gati për të punuar me modemin. Rivendosja e kësaj linje shkakton pothuajse rindezje e vështirë modemi në gjendjen e tij origjinale, duke përfshirë rënien e tubit (disa regjistra kontrolli mbijetojnë pas një rivendosjeje të tillë). Në UNIX, kjo ndodh kur të gjitha aplikacionet kanë skedarë të mbyllur në drejtuesin serial. Miu përdor këtë tel për të marrë energji.

DSR (Data Set Ready) - hyrje në kompjuter, dalje në modem. Tregon që modemi është gati. Nëse kjo linjë është në zero, atëherë në disa OS bëhet e pamundur hapja e portit si skedar.

RxD (Marrja e të Dhënave) - hyrje në kompjuter, dalje në modem. Rrjedha e të dhënave që hyn në kompjuter.

TxD (Transmetimi i të dhënave) - dalje në kompjuter, hyrje në modem. Transmetimi i të dhënave del nga kompjuteri.

CTS (Clear to Send) - hyrje në kompjuter, dalje në modem. Kompjuteri është i detyruar të pezullojë transmetimin e të dhënave derisa ky tel të vendoset në një. Përdoret në protokollin e kontrollit të rrjedhës së harduerit për të parandaluar tejmbushjen në modem.

RTS (Kërkesë për dërgim) - dalje në kompjuter, hyrje në modem. Modemi është i detyruar të pezullojë transmetimin e të dhënave derisa ky tel të vendoset në një. Përdoret në protokollin e kontrollit të rrjedhës së harduerit për të parandaluar tejmbushjen në harduer dhe drejtues.

DCD (Carrier Detect) - hyrje në kompjuter, dalje në modem. Duke u ngjitur nga modemi në një pasi të keni vendosur një lidhje me modemin në anën tjetër, rivendoseni në zero kur lidhja prishet. Pajisja e kompjuterit mund të lëshojë një ndërprerje kur ndodh një ngjarje e tillë.

RI (Ring Indicator) - hyrje në kompjuter, dalje në modem. Përkulur nga modemi në një pas zbulimit të një sinjali zileje telefonatë... Pajisja e kompjuterit mund të lëshojë një ndërprerje kur ndodh një ngjarje e tillë.

SG (Signal Ground) - tela e përbashkët e sinjalit të portit, nuk është bazë e përbashkët, si rregull, i izoluar nga kutia e kompjuterit ose modemi.

Një kabllo modem null përdor dy çifte të kryqëzuara: TXD / RXD dhe RTS / CTS.

Fillimisht, në IBM PC dhe IBM PC / XT, hardueri i portit u ndërtua në një mikroqark UART 8250 nga National Semiconductor, më pas mikroqarku u zëvendësua nga një softuer 16450, i pajtueshëm me ato të mëparshme, por lejoi shpejtësi deri në 115200 bit për. së dyti, më pas u shfaq një mikroqark 16550, që përmbante buferin e të dhënave FIFO me dy drejtime për të zvogëluar ngarkesën në kontrolluesin e ndërprerjes. Aktualisht i përfshirë në çipin SuperIO në motherboard së bashku me një numër pajisjesh të tjera.

Qasje programatike në portën COM

UNIX

Portat COM në sistemin operativ Unix (Linux) janë skedarë të pajisjes me karakter. Zakonisht këto skedarë ndodhen në drejtori / dev dhe quhen

  • ttyS0, ttyS1, ttyS2 etj në Linux
  • ttyd0, ttyd1, ttyd2 etj (ose ttyu0, ttyu1, ttyu2 dhe kështu me radhë që nga 8.0) në FreeBSD
  • ttya, ttyb, ttyc etj në Solaris
  • ttyf1, ttyf2, ttyf3 e kështu me radhë në IRIX
  • tty1p0, tty2p0, tty3p0 etj në HP-UX
  • tty01, tty02, tty03 etj në Unix Digital
  • ser1, ser2, ser3 etj në QNX

Për qasje programatike në portën COM, duhet të hapni skedarin përkatës për lexim / shkrim dhe të bëni thirrje në funksionet speciale tcgetattr (në mënyrë që të zbuloni cilësimet aktuale) dhe tcsetattr (për të vendosur cilësimet e reja). Ju gjithashtu mund të keni nevojë të bëni thirrje ioctl me parametra specifikë. Pas kësaj, kur shkruani në një skedar, të dhënat do të dërgohen përmes portit, dhe kur lexoni, programi do të marrë të dhëna tashmë të marra nga buferi i portit COM.

Pajisjet me emrin "ttyxx" përdoren si pajisje serveri, domethënë aplikacioni që hapi këtë pajisje zakonisht pret një telefonatë hyrëse nga modemi. Aplikacioni klasik i tillë i përdorur si parazgjedhje është getty, i cili pret për një thirrje hyrëse, më pas konfiguron portën COM në përputhje me skedarët e konfigurimit, nxjerr "login:" atje, merr një emër përdoruesi dhe ekzekuton komandën "loginUserName" si pasardhës. me hyrje dhe dalje standarde të ridrejtuar në portën COM. Kjo komandë, nga ana tjetër, kërkon dhe kontrollon fjalëkalimin dhe nëse është e suksesshme, lëshon (jo si fëmijë, por në vend të vetes duke thirrur execve në të njëjtin proces) guaskën e paracaktuar të përdoruesit të specifikuar në skedarin / etc / passwd.

Kjo teknologji historikisht lindi në vitet 1970, kur kompjuterë të tillë si PDP-11 (në BRSS, seria quhej kompjuterë SM) ose VAX u përdorën nën UNIX OS, duke lejuar lidhjen e shumë terminaleve për punën e shumë përdoruesve. Terminalet - dhe për rrjedhojë e gjithë ndërfaqja e përdoruesit - u lidhën nëpërmjet portet serike, me mundësinë e lidhjes së një modemi në vend të një terminali dhe më tej telefonimit me një kompjuter me telefon. Deri më tani, ekziston një pirg terminali në sistemin operativ të ngjashëm me UNIX, dhe zakonisht ka 3 implementime terminale - porta serike, konsola modaliteti i tekstit ekran + tastierë, dhe "loopback" në një nga skedarë të hapur aplikacioni i kontrollit (kështu zbatohen telnetd, sshd dhe xterm).

Pajisjet e klientit të portave serike për kryerjen e thirrjeve nga jashtë quhen cuaxx në shumë (por jo të gjitha) pajisje UNIX.

Meqenëse porta serike në UNIX është e aksesueshme vetëm përmes stivës së terminalit, ai mund të jetë terminali kontrollues për proceset dhe grupet (dërgo SIGHUP kur lidhja nga modemi është e prishur dhe SIGINT kur shtypet Ctrl-C), në nivel kernel, mbështetje redaktimi i rreshtit të fundit të futur me tastet me shigjeta etj. Për të çaktivizuar këtë veçori për ta kthyer pajisjen në një "tub" për një rrjedhë bajtash, kërkohen thirrje ioctl.

Dritaret

Portet serike trajtohen si skedarë në Win32. Funksioni CreateFile përdoret për të hapur portin. Mund të ketë shumë porte, kështu që ato caktohen si COM1, COM2, etj. sipas radhës në të cilën gjenden drejtuesit përkatës të pajisjes. 9 portat e para janë gjithashtu të disponueshme si tuba të emërtuar për transmetimin e të dhënave (të disponueshme me emrat "COM1", "COM2", ...), kjo metodë aksesi konsiderohet e vjetëruar. Rekomandohet që të gjitha portet të trajtohen si skedarë (me emrat "\\. \ COM1", "\\. \ COM2", ... "\\. \ COMx").

Porta serike

Një port ose ndërfaqe që mund të përdoret për komunikim serial, i cili transferon vetëm 1 bit në të njëjtën kohë.

Shumica e porteve serike për kompjuterët personalë janë në përputhje me RS-232C ose RS-422. Porta serike është një ndërfaqe Qëllimi i përgjithshëm, mund të përdoret për shumë lloje pajisjesh, duke përfshirë modemët, miun dhe printerët (edhe pse shumica e printerëve janë të lidhur me portën paralele).

Një PC tipik ka ttyS0 dhe ttyS2 në IRQ 4, dhe ttyS1 dhe ttyS3 në IRQ 3. Mund të shihni se cilat IRQ janë në përdorim duke shtypur: setserial / dev / ttyS2, etj. Duke parë / proc / ndërprerjet do të shfaqen disa prej tyre. Për të përdorur më shumë se dy pajisje serike, do t'ju duhet të ripërcaktoni ndërprerjet. Një qasje e mirë është të rimarrë ndërprerjen për portin paralel. Kompjuterët zakonisht kanë IRQ 5 dhe IRQ 7 të vendosur në portat tuaja paralele, por pak njerëz përdorin dy porte paralele. Mund të ricaktoni një nga ndërprerjet në një pajisje serike dhe të përdorni portën paralele të mbetur mirë. për ta bërë këtë, ju nevojitet programi setserial. Gjithashtu, duhet të luani me kërcyesit në motherboard, të kontrolloni dokumentacionin për bordin tuaj. Vendosni kërcyesit në IRQ që dëshironi t'i caktoni çdo porti.

Duhet të konfiguroni gjithçka në mënyrë që të ketë një dhe vetëm një ndërprerje për secilën pajisje serike. Kështu e vendos Greg në /etc/rc.d/rc. lokale - duhet ta bëni këtë në skedarin që ekzekutohet pas fillimit:

/ sbin / setserial / dev / ttyS0 irq 3 # miu im serial

/ sbin / setserial / dev / ttyS1 irq 4 # terminali im Wyse dumb

/ sbin / setserial / dev / ttyS2 irq 5 # modemi im Zoom

/ sbin / setserial / dev / ttyS3 irq 9 # modemi im USR

Detyrat standarde IRQ:

IRQ 0 Kanali i kohëmatësit 0

Tastierë IRQ 1

IRQ 2 Cascade për kontrolluesin 2

Porta serike IRQ 3 2

IRQ 4 Seriali 1

IRQ 5 Porta paralele 2

IRQ 6 Floppy Drive

IRQ 7 Porta paralele 1

IRQ 8 Ora në kohë reale

IRQ 9 Përcillet te IRQ2

IRQ 10 nuk është caktuar

IRQ 11 nuk është caktuar

IRQ 12 nuk është caktuar

IRQ 13 Bashkëprocesor matematikor

IRQ 14 Hard Drive 1

Hard Disku IRQ 15 2

Nuk ka vërtet asnjë "mënyrë të drejtë" për të caktuar një ndërprerje. Vetëm sigurohuni që nuk është në përdorim. motherboard ose ndonjë tabelë tjetër.

Numrat e ndërprerjes 2, 3, 4, 5 ose 7 janë zgjedhje të mira. "E pacaktuar" do të thotë se asgjë nuk po përdor aktualisht standardisht këto IRQS. Vini re gjithashtu se IRQ 2 është i njëjtë me IRQ 9. Mund ta quani si 2 ose 9, drejtuesi i serisë është shumë i zgjuar. Nëse keni një tabelë serike me një lidhës autobusi 16-bit, atëherë mund të përdorni gjithashtu IRQ 10, 11, 12 ose 15.

Vetëm sigurohuni që të mos përdorni IRQ 0, 1, 6, 8, 13 ose 14! Ato përdoren nga motherboard juaj. Ju mund të keni shumë telashe duke keqpërdorur këto IRQ. Kur të keni mbaruar, hidhini një sy / proc / interrupts dhe sigurohuni që të mos ketë konflikte.

Vendosja e adresave të pajisjes serike

Pastaj, duhet të vendosni adresën e portit. Kontrolloni manualin për bordin tuaj për cilësimet e kërcyesit. Ashtu si ndërprerjet, një pajisje serike mund të ketë vetëm një adresë. Portet tuaja zakonisht vijnë me këto cilësime:

Adresa ttyS0 0x3f8

Adresa ttyS1 0x2f8

Adresa ttyS2 0x3e8

Adresa ttyS3 0x2e8

Zgjidhni adresat që dëshironi të përdorni për secilën pajisje serike dhe vendosni kërcyesit në përputhje me rrethanat. Modemi im është ttyS3, mausi im është ttyS0 dhe terminali im është ttyS2.

Kur rindizni, Linux duhet të shohë portat tuaja serike në adresat ku i keni vendosur. IRQ që sheh Linux mund të mos përputhet me IRQ që keni vendosur me kërcyesit. Mos u shqetësoni për këtë. Linux nuk bën asnjë përpjekje për të përcaktuar IRQ në kohën e nisjes, sepse përcaktimi IRQ është i rrezikshëm dhe mund të mos jetë i saktë. Përdor setserial për të treguar Linux se cilin IRQ po përdor porti. Ju mund të kontrolloni / proc / ioports për të parë se cilat adresa të portit I / O janë në përdorim pas nisjes së Linux.

Përshtatës ndërfaqe paraleleështë një grup regjistrash të vendosur në hapësirën e adresave të pajisjeve hyrëse/dalëse. Numri i regjistrave varet nga lloji i portit, por tre prej tyre janë standard dhe janë gjithmonë të pranishëm - regjistri i të dhënave, regjistri i statusit dhe regjistri i kontrollit. Adresat e regjistrit numërohen nga ajo bazë, vlerat standarde të të cilave janë 3BCh, 378h, 278h. Mund të zbuloni numrin e portave të instaluara në kompjuter dhe adresat e tyre bazë duke skanuar zonën e të dhënave BIOS në adresat 0: 408h për LPT1, 0: 40Ah për LPT2, 0: 40Ch për LPT3 dhe 0: 40Eh për LPT4. Nëse këto adresa përmbajnë një fjalë (2 byte) me një vlerë jozero, atëherë kjo është adresa bazë e portit. Nëse fjala përmban vlerë zero- porti nuk është i instaluar. BIOS nuk mbështet më shumë se 4 porte LPT. Porti mund të përdoret ndërprerje harduerike(IRQ7 ose IRQ9). Shumë sistemet moderne ju lejon të ndryshoni mënyrën e funksionimit të portit, adresën e saj dhe IRQ nga Cilësimet e BIOS-it Konfigurimi. Për shembull, AWARD BIOS ka një seksion periferikësh të integruar që ju lejon të konfiguroni modalitetin e portit, adresën dhe IRQ.

Porta LPT ka një autobus të jashtëm të të dhënave 8-bit, një autobus të sinjalit të statusit 5-bit dhe një autobus sinjali kontrolli 4-bit. Në bootstrap BIOS përpiqet të zbulojë një portë paralele, dhe këtë e bën në një mënyrë primitive dhe jo gjithmonë të saktë - një bajt testimi i përbërë nga një grup alternativ zerosh dhe njësh (55h ose AAh) transmetohet në adresat e mundshme bazë të porteve, pastaj ai lexon në të njëjtën adresë, dhe nëse bajt i lexuar përkon me atë të shkruar, atëherë konsiderohet se nga adresa e dhënë U gjet porta LPT. BIOS nuk mund të përcaktojë adresën e portit LPT4. Për të punuar me panelin e kontrollit, BIOS siguron një ndërprerje INT 17h, e cila bën të mundur transferimin e të dhënave (byte-by-byte), inicializimin e panelit të kontrollit dhe marrjen e informacionit për gjendjen e tij.


Gjatë historisë së gjatë të zhvillimit të kompjuterëve personalë port paralel(port paralel) i cili shpesh quhet porta e printerit(porta e printerit) mbetet mënyra më e shpejtë dhe më e besueshme për të lidhur printerët dhe pajisjet e tjera me një PC. Transmetimi paralel i tetë biteve të të dhënave dhe kontrolli automatik i rrjedhës së të dhënave duke përdorur sinjale mirënjohje(shtrëngimi i duarve) i bën qarqet e jashtme të panevojshme për dekodimin e të dhënave dhe sinjalet e kontrollit. Përdorimi i gjerë i porteve paralele është për shkak të thjeshtësisë së tyre dhe performancë të lartë... Për më tepër, porta paralele lejon hyrjen deri në nëntë bit dhe daljen deri në 12 bit në të njëjtën kohë, duke kërkuar një qark minimal të jashtëm për shumë detyra të thjeshta.

Porta standarde paralele (SPP)

Porta standarde paralele(Portë standarde paralele - SPP) paraqitet në anën e pasme të kompjuterit me një lidhës femëror 25-pin të tipit D me vrima. Në mënyrë tipike, kablloja për këtë lidhës ka një lidhës 34-pin në skajin tjetër për t'u lidhur me një printer. Është porti paralel i kompjuterit që shpesh quhet porta e printerit(porta e printerit). Ilustrimi tregon lidhësit dhe kabllon për lidhjen e printerit. Në të majtë është lidhësi i mbërthyer për portën paralele të PC-së dhe në të djathtë është lidhësi për printerin.

Kompjuteri ka katër linja kontrolli (CONTROL), pesë linja statusi (STATUS) dhe tetë linja të dhënash (DATA) në lidhës. Grupet e sinjaleve të dhëna janë të disponueshme përmes regjistrave përkatës, të cilët shpesh quhen gjithashtu portet... Tetë kunjat e mbetura janë të tokëzuara.

Portat më të reja paralele përcaktohen nga standardi IEEE 1284, i cili u botua në 1994. Ky standard përcakton pesë mënyra funksionimi:

    1. Mënyra e përputhshmërisë.
    2. Mënyra e fletoreve (Nibble Mode).
    3. Modaliteti Byte.
    4. Modaliteti i përmirësuar i portit paralel PPE).
    5. Modaliteti i portit me aftësi të zgjeruara (Portë me aftësi të zgjeruara - ECP).

Qëllimi i standardit ishte të zhvillonte drejtues dhe pajisje të reja që janë të pajtueshme me njëri-tjetrin dhe të përputhshëm me Portin Paralel Standard ( SPP). Modaliteti i përputhshmërisë, Notebook dhe Byte përdorin qarqet standarde që gjenden në kartat origjinale të portit paralel, ndërsa modalitetet EPP dhe ECP kërkojnë qarqe shtesë që janë më të shpejta, por që janë ende të pajtueshme me portën standarde paralele.

Në modalitetin e përputhshmërisë, ose Modaliteti Centronics, siç quhet zakonisht, është e mundur të transmetohen të dhënat vetëm në drejtimin përpara, d.m.th. tërheqë të dhëna, me një shpejtësi tipike prej rreth 50 KB / s, por shpejtësi më të larta deri në 150 KB / s janë të mundshme. Për të futur të dhëna, duhet të kaloni në modalitetin e fletoreve ose bajteve. Modaliteti i fletores lejon hyjnë tetrad (4 bit) nga pajisja në PC. Modaliteti i bajtit përdor një lehtësi dydrejtimëshe (që gjendet vetëm në disa karta) për të futur bajt (8 bit).

Portat EPP dhe ECP përdorin qark shtesë për të kontrolluar dhe gjeneruar shtrëngime duarsh. Për të nxjerrë një bajt në një printer në modalitetin e përputhshmërisë program duhet të bëjë sa vijon:

  1. Shkruani një bajt në portën e të dhënave.
  2. Kontrolloni nëse printeri është i zënë. Nëse printeri është i zënë, ai nuk pranon asnjë të dhënë, kështu që të gjitha të dhënat e shkruara në të humbasin.
  3. Jepni një sinjal strobi (pin 1) të ulët. Ai i tregon printerit se ka të dhëna të vlefshme në linjat e të dhënave (kunjat 2-9).
  4. Instaloni nivel të lartë strobe, duke pritur rreth 5 μs pas formimit të një niveli të ulët (në fazën 3).

Kontrolli i daljes së softuerit kufizon shpejtësinë e portit paralel standard. Portat më të avancuara EPP dhe ECP e zgjidhin këtë problem duke lejuar qarkun të kontrollojë nëse printeri është i zënë dhe të gjenerojë sinjale strobe dhe/ose të përshtatshme shtrëngimi duarsh. Për shkak të kësaj, duhet të ekzekutohet vetëm një komandë dalëse, e cila rrit shpejtësinë e funksionimit. Portet e reja mund të nxjerrin të dhëna me një shpejtësi prej 1-2 MB / s. Përveç kësaj, porta ECP përdor qasjen e drejtpërdrejtë të memories ( DMA) dhe buffers FIFO(First In - First Out), kështu që të dhënat mund të transferohen pa përdorur komandat e daljes.

Hardware

Tabela e mëposhtme tregon pikat për lidhësin e kompjuterit të tipit D me 25 kunja dhe lidhësin Centronics me 34 kunja që gjenden zakonisht në printera. Megjithatë, standardi IEEE 1284 përcakton tre lidhës të ndryshëm për përdorim me një portë paralele. Lidhësi i parë i tipit A 1284 është një lidhës i rregullt i tipit D 25-pin. Lidhësi i dytë 36-pin 1284 Lloji B është një lidhës Centronics. Lidhësi i tretë IEEE 1284 Type C është një lidhës 36-pin i ngjashëm me lidhësin Centronics, por më i vogël. Ka një pajisje më të mirë, parametra më të mirë elektrikë dhe është më e lehtë të lidhni kabllon me të. Mund të përdoren dy sinjale shtesë për të kontrolluar nëse pajisja është e ndezur. Ky lidhës njihet si premtues për përdorim në dizajne të reja.

#kontakt
(D-25)
# kontakt (Centronics) Sinjali SPP Drejtimi Regjistrohu Hardware
i përmbysur
1 1 nStrobë Hyni në dalje Menaxhimi po
2 2 Të dhënat 0 Prodhimi Të dhënat
3 3 Të dhënat 1 Prodhimi Të dhënat
4 4 Të dhënat 2 Prodhimi Të dhënat
5 5 Të dhënat 3 Prodhimi Të dhënat
6 6 Të dhënat 4 Prodhimi Të dhënat
7 7 Të dhënat 5 Prodhimi Të dhënat
8 8 Të dhënat 6 Prodhimi Të dhënat
9 9 Të dhënat 7 Prodhimi Të dhënat
10 10 nAck hyrje shtetet
11 11 I zënë hyrje shtetet po
12 12 Paper-Out / Paper-End hyrje shtetet
13 13 Zgjidhni hyrje shtetet
14 14 nAuto-Linefeed Hyni në dalje Menaxhimi po
15 32 nGabim / nGabim hyrje shtetet
16 31 nInicializoj Hyni në dalje Menaxhimi
17 36 nZgjidh-Printer / nZgjidh-In Hyni në dalje Menaxhimi po
18 - 25 19-30 Toka Toka

Letër n para emrit të sinjalit do të thotë një sinjal me një nivel të ulët aktiviteti, për shembull nGabim... Nëse ka një gabim në printer, kjo linjë do të jetë e ulët. Zakonisht është në një nivel të lartë për të treguar funksionimin e saktë të printerit. Hardware i përmbysur do të thotë që sinjali përmbyset nga qarqet e portit paralel. Një shembull këtu është linja I zënë... Nëse në këtë linjë aplikohet një tension prej +5 V (logjika 1) dhe lexohet regjistri i statusit, atëherë ky nivel kthehet si 0 në bitin 7 të regjistrit të statusit.

Sinjalet e portave paralele përfaqësohen nga nivelet konvencionale TTL. Shumica e porteve paralele bazohen në një ASIC që mbyt dhe burim rreth 12 mA. Sidoqoftë, vlera të tjera mund të shfaqen në të dhënat e referencës, për shembull Lavamani / Burimi 6 mA, Burimi 12 mA / Lavamani 20 mA, Lavamani 16 mA / Burimi 4 mA.

Linjat e të dhënave janë përcjellës të vërtetë që bartin informacion nga kompjuteri në pajisje (dhe nga pajisja në kompjuter në portet e reja). Për të reduktuar efektet e ndërhyrjes, secila linjë e të dhënave ka një linjë tokësore përkatëse. Këto linja tokësore ofrojnë gjithashtu një referencë të përbashkët elektrike midis kompjuterit dhe pajisjes. Pjesa tjetër e linjave paralele me portin ndahen për kontroll dhe shtrëngim duarsh.

Për të siguruar që printeri është në një gjendje fillestare të njohur, sinjali nInitialize i kompjuterit e vendos printerin në gjendjen në të cilën është pas ndezjes. Kështu, inicializimi i printerit me sinjalin nInitialize është i barabartë me fikjen e printerit dhe më pas ndezjen e tij përsëri.

Një sinjal në linjën Select i tregon kompjuterit se pajisja periferike është brenda online(online) dhe gati për të marrë të dhëna. Kompjuteri nuk dërgon të dhëna nëse ka një sinjal të ulët në linjën Select. Në mënyrë tipike, statusi i këtij sinjali korrespondon me treguesin "on-line" në printer.

Kur kompjuteri ka gjeneruar sinjale të vlefshme të dhënash në linjat e të dhënave, pajisja duhet të raportojë se të dhënat janë gati. Kjo është ajo për të cilën synohet sinjal pulsi strobe nStrobe, e cila duhet ta detyrojë pajisjen të pranojë një bajt të dhënash dhe ta ruajë atë në një tampon për përpunim të mëvonshëm.

Për arritje shpejtësi e lartë për të transferuar të dhëna, printeri ka nevojë për një metodë specifike të koordinimit të transfertave. Kompjuteri duhet të presë ndërmjet bajteve derisa printeri të jetë gati për të rifilluar marrjen e bajteve të reja. Printerët përdorin sinjalin Busy për të vonuar kompjuterin derisa printeri të jetë gati për të marrë bajtin tjetër. Printeri gjeneron një nivel të lartë të sinjalit Busy në përgjigje të marrjes së sinjalit nStrobe dhe ky nivel mbetet derisa të përgatitet për të marrë bajtin tjetër. Vini re se sinjali Busy mund ta vonojë kompjuterin për çdo kohë nëse ndodh një gabim serioz, si p.sh. bllokimi i letrës. Kur printeri ka përpunuar një bajt, ai duhet të kërkojë nga kompjuteri në pritje bajtin tjetër. Printeri heq sinjalin Busy dhe lëshon një nAck të shkurtër pulsi konfirmimi. Kështu, sinjalet nStrobe, Busy dhe nAck kontrollojnë (konfirmojnë) transferimin e të dhënave në portën paralele.

Në disa printera, karakteri i kontrollit Carriage Return (CR) e transporton automatikisht letrën në rreshti tjetër ndërsa në të tjerat thjesht e kthen karrocën në fillim të linjës aktuale pa transportuar letër. Në shumë printera, cilido nga këto opsione mund të vendoset me një çelës, por mund ta kontrolloni këtë edhe me sinjalin nAuto-LineFeed. Një nivel i ulët i këtij sinjali bën që printeri të transportojë automatikisht letrën një rresht në një kohë kur merret karakteri i kontrollit CR.

Linja nSelect-Printer lejon një kompjuter të sjellë në distancë një pajisje periferike në linjë ose jashtë linje. Shumica e porteve paralele e mbajnë këtë linjë të ulët në mënyrë që pajisja të ndjejë automatikisht të dhënat. Një sinjal i lartë në këtë linjë pengon funksionimin e pajisjes. Një sinjal nGabim nga një pajisje periferike informon kompjuterin se ka një problem që pengon printimin, por nuk e shtjellon atë. Gabimi mund të shkaktohet nga shumë arsye, detajet e të cilave varen nga pajisja periferike. Zakonisht, sinjali nError "mbledh" situata të tilla si mungesa e letrës (kjo arsye përcaktohet nga sinjali Paper Out), prania e një printeri në jashtë linje(modaliteti offline) ose dështime të qarkut të brendshëm të printerit.

Ndërfaqja Centronics

Centronics është një standard i vjetër (shpesh i quajtur ndërfaqe dhe protokoll) për transferimin e të dhënave nga një kompjuter (host) në një printer. Njohja e këtij standardi përdoret në shumicën e printerëve dhe zakonisht zbatohet në softuer. Figura tregon një diagram të thjeshtuar të protokollit Centronics.

Së pari, të dhënat dërgohen në kunjat 2-9 të portës paralele. Më pas hosti kontrollon nëse printeri është i zënë, d.m.th. I zënë duhet të jetë i ulët. Pas kësaj, programi lëshon një strob, pret të paktën 1 μs dhe heq strobin. Të dhënat zakonisht lexohen nga pajisja në skajin në rritje të strobit. Printeri tregon se është i zënë me përpunimin e të dhënave në linjën Busy. Kur printeri ka marrë të dhënat, ai konfirmon bajtin me një impuls negativ me kohëzgjatje rreth 5 μs në linjën nAck.

Shpesh, për të kursyer kohë, hosti injoron sinjalin në linjën nAck. Kur merret në konsideratë një port me aftësi të zgjeruara ECP, do të shfaqet zbatimi i modalitetit Fast Centronics (Fast Centronics Mode), në të cilin shtrëngimi i duarve kryhet në mënyrë skematike. Programuesi duhet vetëm të shkruajë një bajt të dhënash në portën I/O. Qarqet kontrollojnë nëse printeri është i zënë dhe gjenerojnë një strob. Vini re se në këtë modalitet linja nAck nuk monitorohet.

Adresat e porteve

Porta paralele ka tre adresa bazë të zakonshme, të cilat tregohen në tabelën e mëposhtme. Adresa bazë 3BCh u prezantua fillimisht për portet paralele në kartat grafike të hershme. Pasi u hoqën portat paralele nga kartat video, kjo adresë u zhduk. Më pas, ai u shfaq si një opsion për portet paralele të integruara në motherboard, ku konfigurimi mund të ndryshohet duke përdorur BIOS. Emrit LPT1 zakonisht i caktohet adresa bazë 378h dhe LPT2 zakonisht i caktohet adresa bazë 278h. Megjithatë, më tej tregohet se kjo nuk është gjithmonë kështu. Adresat 378h dhe 278h përdoren pothuajse gjithmonë për porte paralele, por mund të ndryshojnë nga PC në PC.

Kur kompjuteri është i ndezur, BIOS zbulon numrin e porteve të disponueshme dhe i emërton ato LPT1, LPT2 dhe LPT3. BIOS fillimisht shikon 3BCh. Nëse aty gjendet një port paralel, ai emërtohet LPT1 dhe më pas kontrollohet adresa 378h. Nëse aty gjendet një port paralel, atij i caktohet si vijon emër i lirë... Do të jetë LPT1 nëse nuk është gjetur asnjë kartë në adresën 3BCh, ose LPT2 nëse është gjetur një kartë. Porti në 278h kontrollohet në të njëjtën mënyrë. Si rezultat, është e mundur që të kemi LPT2 në 378h dhe jo në 278h të pritur.

Situata është e ndërlikuar nga fakti se disa prodhues të kartave të porteve paralele vendosin kërcyes që ju lejojnë të konfiguroni portin në LPT1, LPT2, LPT3. Cila është adresa e LPT1 tani? Shumica e kartave kanë LPT1 në 378h dhe LPT2 në 278h, por disa përdorin 3BCh si LPT1, 378h si LPT1 dhe 278h si LPT2.

Për një ndërfaqe me një port, adresa bazë përdoret shpesh në vend të emrit, në vend të LPT1 dhe emrave të tjerë. Tabela e adresave të portit ndodhet në zonën e të dhënave BIOS. Kur BIOS-i cakton adresa për pajisjet e printerit, ai i ruan adresat në vendndodhje specifike memorie në mënyrë që ato të mund të gjenden atje. shënim * : Në BIOS-et më të reja, adresa 0000: 040E nga zona e të dhënave BIOS mund të përdoret si Zonë e Zgjeruar e të Dhënave BIOS.

Regjistrat standardë të softuerit të porteve paralele (portet)

Porta e të dhënave

Paragjykim Emri Lexo/Shkruaj Bit Emërimi
Baza + 0 Porta e të dhënave Shkruaj ( * ) Biti 7 - 0Të dhënat 7 - 0

shënim * : Nëse porti është me dy drejtime, atëherë lejohen operacionet Read (input) dhe Write (output).

Adresa bazë, e quajtur zakonisht si porta e të dhënave ose regjistri i të dhënave, përdoret thjesht për të nxjerrë të dhëna në linjat e të dhënave (kunjat 2-9) të portës paralele. Zakonisht ky regjistër është vetëm me shkrim. Kur lexoni nga porti, futet bajt i fundit i transmetuar. Në rastin e një porti dydrejtues (shih më poshtë), të dhënat e marra ndodhen në këtë adresë.

Porta e statusit

Porta e statusit është vetëm për lexim, kështu që çdo e dhënë e shkruar në të injorohet. Porti ka pesë linja hyrëse (kunjat 10, 11, 12, 13 dhe 15), një bit të kërkesës për ndërprerje IRQ dhe dy bit të rezervuar. Biti 7 (i zënë) është një hyrje me aktivitet të ulët, d.m.th. nëse biti 7 përmban 0, atëherë pini 11 ka një tension prej +5 V. E njëjta gjë vlen edhe për bitin 2 (nIRQ) - nëse biti përmban 1, atëherë nuk ka ndodhur asnjë ndërprerje.

Porti i menaxhimit

Porta e menaxhimit (adresa bazë + 2) ishte vetëm për shkrim. Kur lidhet me portën paralele të printerit, përdoren katër sinjale kontrolli: Strobe (bit 0), Auto Line Feed (bit 1), Reset inicialization (bit 2) dhe Select Printer (bit 3). Të gjitha këto sinjale përveç Reset janë të përmbysur.

Printeri nuk sinjalizon për të inicializuar kompjuterin dhe nuk i thotë kompjuterit të përdorë furnizimin automatik të linjës. Megjithatë, katër daljet e mësipërme mund të përdoren për hyrje. Nëse kompjuteri e shtyn pinin lart (+5 V) dhe pajisja dëshiron ta ulë atë, porti shkurtohet, duke shkaktuar një konflikt. Prandaj, këto dalje janë projektuar sipas skemës "kolektor i hapur". Ata kanë dy gjendje: të ulët (0 V) dhe rezistencë të lartë (qark i hapur).

Zakonisht një kartë printeri ka rezistorë të brendshëm tërheqës, por jo të gjitha kartat i kanë këto. Disa karta janë vetëm dalje të hapura kolektori, ndërsa të tjerat janë dalje konvencionale shtytje-tërheqëse (totem). Mund të përdoret një rezistencë e jashtme për të mundësuar funksionimin e duhur të pajisjes me sa më shumë porte printeri të jetë e mundur. Nëse tashmë ekziston një rezistencë e brendshme, atëherë rezistenca e jashtme vepron paralelisht me të, dhe në rastin e daljes me shtytje-tërheqje, si ngarkesë.

Vlera e rezistencës së jashtme është zakonisht 4.7 kΩ. Nuk rekomandohet të përdorni një rezistencë më të vogël pasi mund të ketë një rezistencë të brendshme në kartë. Në gjendjen me rezistencë të lartë, kunja e portës paralele është e lartë në +5 V. Në këtë gjendje, një pajisje e jashtme mund ta vendosë pinin në të ulët dhe të bëjë që porta e kontrollit të lexojë një vlerë të ndryshme. Kjo lejon që katër kunjat e portës së kontrollit të përdoren për transmetimin e të dhënave në dy drejtime. Sidoqoftë, për të lexuar të dhënat përmes portës së kontrollit, duhet t'i vendosni ato në xxxx0100 në mënyrë që të gjitha kunjat të kenë +5 V dhe pajisja të mund të vendosë një nivel të ulët (tokë - logjikë 0).

Bitet 4 dhe 5 janë për kontroll të brendshëm. Biti 4 mundëson kërkesën për ndërprerje IRQ (shih më poshtë), dhe biti 5 mundëson portin dydrejtimësh, d.m.th. 8 bit mund të futen në linjat DATA 0-7. Kjo mënyrë është e mundur vetëm nëse karta e mbështet atë. Bitët 6 dhe 7 janë të rezervuar, çdo shkrim në këto bit nuk merret parasysh.

Portet me dy drejtime

Diagrami i mëposhtëm tregon një paraqitje të thjeshtuar të regjistrit të të dhënave të portit paralel. Kartat origjinale të portit paralel bazohen në logjikën e familjes 74LS. Tani aplikuar mikroqarqe të specializuara, por parimet e punës mbeten të njëjta.

Portet jo-bi-drejtuese lëshohen me një sinjal aktivizues në dalje JOE 74LS374 është i lidhur përgjithmonë me tokën, kështu që porta e të dhënave bën vetëm pin. Kur lexohen nga regjistri i të dhënave, të dhënat merren nga qarku 74LS374, i cili gjithashtu është i lidhur me kunjat e të dhënave. Nëse çaktivizoni skemën 74LS374, mund të merrni një port dydrejtues.

Në portat dydrejtimëshe, biti 5 i regjistrit të kontrollit lidhet me hyrjen për të mundësuar daljen. JOE 74LS374 qarqet në mënyrë që drejtuesit e daljes të mund të çaktivizohen (çaktivizohen). Në këtë rast, mund të lexoni të dhëna nga kunjat e të dhënave të portit paralel pa konflikt.

Biti 5 i regjistrit të kontrollit mundëson ose çaktivizon funksionimin dydrejtues të portës paralele. Funksionon vetëm për porte të vërteta dydrejtimëshe. Kur ky bit vendoset në 1, kunjat 2-9 drejtohen në një gjendje me rezistencë të lartë. Në këtë gjendje, mund të futni të dhëna në këto rreshta dhe të lexoni portën e tyre të të dhënave (adresën bazë). Të dhënat e shkruara në port ruhen, por nuk disponohen në kontaktet e të dhënave. Për të çaktivizuar modalitetin me dy drejtime, biti 5 i portës së kontrollit duhet të pastrohet në 0.

Megjithatë, jo të gjitha portet veprojnë në të njëjtën mënyrë. Disa porte mund të kërkojnë vendosjen e bitit 6 të portës së kontrollit për të aktivizuar modalitetin dydrejtues dhe bitin 5 për ta çaktivizuar atë. Prodhues të ndryshëm zbatojnë portat e tyre dydrejtimëshe ndryshe. Nëse keni nevojë të përdorni një portë dydrejtimëshe për futjen e të dhënave, fillimisht verifikoni që porti është dydrejtues me një sondë logjike ose multimetër.

Përdorimi i portës paralele për të futur tetë bit

Nëse porta paralele nuk mbështet modalitetin me dy drejtime, mund të futni ende deri në nëntë bit. Për ta bërë këtë, mund të përdorni pesë linjat hyrëse të portës së statusit dhe katër linjat hyrëse (kolektor i hapur) i portës së kontrollit sipas diagramit të mëposhtëm.

Hyrja e portit paralel zgjidhet për të thjeshtuar lidhjet. Sinjali i zënë është pjesa më e rëndësishme e 7-së së portës së statusit, e ndjekur nga sinjalet Ack, Paper Out dhe Select të portit të statusit, duke formuar një grimcë të sipërme. Vizat tregojnë se cilat inpute janë të përmbysura nga hardueri, d.m.th. +5 V lexohet si logjikë 0 dhe 0 V si logjikë 1. Porta e statusit ka vetëm një hyrje të përmbysur.

Thithja më e re lexohet nga porta e kontrollit (Zgjidh Printer, Init, Auto Linefeed, Strobe). Këtu përdoren inverterë me kolektor të hapur. Kjo mund të kërkojë rezistenca tërheqëse 4.7k.

Modaliteti i fletores

Modaliteti Nibble është mënyra e preferuar për të futur tetë bit të dhëna pa e vendosur portën në modalitetin e kundërt dhe duke përdorur linja të dhënash. Kjo mënyrë është më e lehta për t'u zbatuar. Një multiplekser (katërfish 2: 1) përdoret për leximin sekuencial të fletoreve. Bashkimi i fletoreve në bajt kryhet në mënyrë programore. Sigurisht, kjo metodë është disi më e ngadaltë se ato të mëparshme. Këtu, leximi i një bajt të vetëm kërkon komanda të shumta I/O dhe kërkon një mikroqark të jashtëm.

Multiplekseri 74LS157 funksionon thjesht si katër çelësa. Kur hyrja A / B = 0 (e ulët), zgjidhen hyrjet A, d.m.th. hyrja 1A transferohet në daljen 1Y, hyrja 2A në daljen 2Y, etj. Kur hyrja A / B = 1 (i lartë), zgjidhen hyrjet B. Daljet Y lidhen me portën e statusit të portës paralele në mënyrë që të jenë regjistri i rendit të lartë i regjistrit të statusit. Edhe pse një lidhje e tillë është fakultative, ajo thjeshton disi programin.

Përdorimi i ndërprerjes së portës paralele IRQ

Kërkesa për ndërprerje të portit paralel nuk përdoret për printimin DOS. Ndërprerjet janë të mira për pajisjet, momenti i aktivizimit të të cilave nuk dihet, për shembull, një sensor temperaturë të lartë... Në këtë rast, është më efikase të punosh në një ndërprerje sesa të vëzhgosh periodikisht sensorin me anë të softuerit. Përveç kësaj, ndërprerjet janë veçanërisht të rëndësishme për një sistem operativ me shumë detyra.

Zakonisht një linjë IRQ 5 ose IRQ 7 është një kërkesë për ndërprerje të portit paralel, por mund të jetë e ndryshme. Është e mundur që ndërprerjet në kartë të çaktivizohen plotësisht nëse përdoret vetëm për printim. Ndërprerjet e portit paralel mund të aktivizohen dhe çaktivizohen duke përdorur bitin 4 të regjistrit të kontrollit - aktivizoni IRQ përmes linjës Ack (Aktivizo IRQ Via Ack Line). Një ndërprerje e aktivizuar ndodh kur sinjali nAck shkon nga niveli i ulët në të lartë (buza në rritje). Megjithatë, disa karta shkaktojnë një ndërprerje nga lart në të ulët.

Mënyrat paralele të portit në BIOS

Shumica e porteve paralele tani janë porte me shumë mënyra. Zakonisht ato janë softuer të konfiguruar në një nga disa mënyra duke përdorur procedurat BIOS. Mënyrat tipike:

    Modaliteti i printerit, i quajtur ndonjëherë modaliteti i paracaktuar ose normal
    Standard dhe dydrejtues (SPP)
    EPP1.7 dhe mënyra SPP
    EPP1.9 dhe modaliteti SPP
    Modaliteti ECP
    Modaliteti ECP dhe EPP1.7
    Modaliteti ECP dhe EPP1.9

Modaliteti i printeritështë mënyra më e thjeshtë - përputhet vetëm me pinin e portës standarde paralele. I mungon funksionaliteti me dy drejtime, kështu që biti 5 i portës së kontrollit është i çaktivizuar. Standard dhe dydrejtues (SPP)është modaliteti i dyanshëm. Në këtë modalitet, biti 5 i portës së kontrollit ndryshon drejtimin e portës, kështu që ju mund të lexoni vlerën e hyrjes mbi linjat e të dhënave.

EPP1.7 dhe mënyra SPPështë një kombinim i mënyrave EPP 1.7 (Enhanced Parallel Port) dhe SPP. Kjo mënyrë funksionimi siguron akses në regjistrat e SPP-së (regjistrat e të dhënave, statusit dhe kontrollit) si dhe akses në regjistrat e PPP-së. Në të njëjtën mënyrë, ju mund të ndryshoni drejtimin e portit duke përdorur bitin 5 të regjistrit të kontrollit. Versioni i parë i EPP 1.7 mund të mos ketë një bit Timeout.

EPP1.9 dhe modaliteti SPP e ngjashme me atë të mëparshme, por tani përdoret EPP Version 1.9. Aksesi në regjistrat SPP ofrohet ende këtu, duke përfshirë bitin 5 të portës së kontrollit. Por kjo mënyrë është e ndryshme nga Mënyrat EPP1.7 dhe SPP në atë që ju mund të përdorni bitin Timeout të portës EPP.

Modaliteti ECP ofron një port të aftësive të zgjeruara. Më pas, modaliteti i këtij porti mund të caktohet duke përdorur Regjistrin e Zgjeruar të Kontrollit (ECR) të portës ECP. Megjithatë, në këtë modalitet, nga BIOS Modaliteti EPP(100) nuk do të jetë i disponueshëm.

Modaliteti ECP dhe EPP1.7 dhe Modaliteti ECP dhe EPP1.9 siguron një port me aftësi të zgjeruara ECP si në modalitetin e mëparshëm. por Modaliteti EPP në ECR të portit ECP tani është i disponueshëm. V Modaliteti ECP dhe EPP1.7 ju keni në dispozicion portin EPP1.7 dhe në Modaliteti ECP dhe EPP1.9- Porta EPP1.9.

Mënyrat e konsideruara konfigurohen përmes BIOS-it. Përdoruesi mund të rikonfigurohet me programin e tij, por bëjeni këtë Nuk rekomandohet... Regjistrat e softuerit në adresat 2FAh, 3F0h, 3F1h janë të destinuara për qasje vetëm nga BIOS. Nuk ka një standard të caktuar për këta regjistra konfigurimi, kështu që aplikacioni që i përdor ato bëhet i lëvizshëm.

Shumë më mirë të zgjidhni nga BIOS Modaliteti ECP dhe EPP1.7 ose Modaliteti ECP dhe EPP1.9 dhe më pas përdorni ECP Extended Control Register për të vendosur modalitetin e portit paralel. Në modalitetin EPP1.7, kishte disa probleme që lidhen me formimin e strobeve të të dhënave dhe adresën për fillimin e një cikli pavarësisht nga gjendjet e pritjes, kështu që kjo mënyrë nuk zbatohet tani. Është më mirë të vendosni portën paralele në Mënyra ECP dhe EPP 1.9.

Mënyrat paralele të portit dhe Regjistri i Kontrollit të Zgjeruar të ECP të Portit

Më parë u tregua se rekomandohet të vendosni portin paralel në Modaliteti ECP dhe EPP1.9 dhe më pas përdorni regjistrin e zgjeruar të kontrollit të portës ECP për të zgjedhur mënyra të ndryshme puna. Regjistrat e portave ECP janë të standardizuara nga Microsoft.

Bit Funksioni
7:5
000 Mënyra standarde
001 Modaliteti i bajtit
010
011 Modaliteti ECP FIFO
100 Modaliteti EPP
101 Rezervuar
110 Mënyra e testimit FIFO
111 Modaliteti i konfigurimit
4 Biti i ndërprerjes ECP
3 Biti i aktivizimit të DMA
2 Biti i shërbimit ECP
1 FIFO është e plotë (E plotë)
0 FIFO bosh

Gjatë instalimit Modaliteti ECP një grup i ri regjistrash është i disponueshëm në Base + 400h. Një shqyrtim i detajuar i kësaj jepet në materialin për portin ECP, por këtu na duhet vetëm regjistri i zgjeruar i kontrollit në Base + 402h. Formati i këtij regjistri është paraqitur në tabelën në të majtë. Vini re se regjistrat ECP nuk janë të disponueshëm për portin me adresën bazë 3BCh.

Deri më tani, ne jemi të interesuar vetëm për tre pjesët më të rëndësishme të regjistrit të kontrollit të zgjeruar, të cilët përcaktojnë mënyrën e funksionimit. Ekzistojnë shtatë mënyra të mundshme funksionimi, por jo të gjitha portet mbështesin të gjitha mënyrat. Për shembull, disa porte nuk mbështeten Modaliteti EPP... Tabela e mëposhtme jep informacion më të detajuar mbi mënyrat e funksionimit.

Mënyrat e funksionimit

Mënyra standarde
Modaliteti i bajtit
Modaliteti FIFO i portit paralel
Modaliteti ECP FIFO
Modaliteti EPP / Rezervuar Sipas Protokolli i Portit me Kapacitete të Zgjeruara dhe Standardi i Ndërfaqes ISA
RezervuarE rezervuar për momentin. - Sipas
Mënyra e testimit FIFO
Modaliteti i konfigurimit

Nëse modaliteti ECP është vendosur në BIOS ose karta është konfiguruar me kërcyes në ECP, rekomandohet të inicializoni portin ECP në një gjendje të paracaktuar përpara përdorimit. Kur përdorni SPP, hapi i parë është vendosja e portit në modalitetin standard. Porti nuk mund të supozohet të jetë tashmë në modalitetin standard (SPP).

Në disa mënyra, regjistrat SPP mund të zhduken ose të mos funksionojnë siç duhet. Kur përdorni SPP, duhet ta vendosni regjistrin ECR në modalitetin standard.

Porta paralele e përmirësuar (EPP)

Porta paralele e përmirësuar(Portë paralele e përmirësuar - PPE) zhvilluar nga Intel, Xircom dhe Zenith Sistemet e të Dhënave... Portat EPP fillimisht u përcaktuan në EPP 1.7 dhe më pas u inkorporuan në IEEE 1284 (1994). Porti EPP ka dy standarde EPP 1.7 dhe EPP 1.9. Ka dallime midis tyre që mund të ndikojnë në funksionimin e pajisjeve (shih më poshtë). Shkalla e transferimit të të dhënave varion nga 500 KB/s në 2 MB/s. Arrihet nga fakti se shtrëngimi i duarve, strobing dhe operacione të tjera formohen nga qarqet e portit, dhe jo në mënyrë programore, si në ndërfaqen Centronics.

Hobistët priren të përdorin portin EPP më shpesh sesa Portin e Aftësive të Zgjeruara (ECP). Porta EPP ndryshon nga porta ECP në atë që porta EPP gjeneron dhe kontrollon të gjitha transmetimet në / nga pajisja periferike. Nga ana tjetër, porta ECP kërkon që pajisja periferike të njohë lidhjen e kundërt dhe të kontrollojë shtrëngimin e duarve. Kjo është e vështirë të arrihet me njerëzit e zakonshëm. skema të thjeshta dhe kërkohet një kontrollues i dedikuar ose çip periferik ECP.

Hardware

Në modalitetin EPP, çdo rreshti i caktohen funksione dhe etiketa të ndryshme siç tregohet në tabelën e mëposhtme.

Kontaktoni Sinjali SPP Sinjali i PPE Hyni në dalje Funksioni
1 StrobeShkruaj ProdhimiNjë nivel i ulët në këtë rresht tregon Shkruani dhe një nivel i lartë tregon Lexoni.
2-9 Të dhënat 0-7 Të dhënat 0-7Hyni në dalje Autobusi i të dhënave me dy drejtime.
10 Ack Ndërprisnihyrje Prish linjën. Një ndërprerje ndodh në një skaj pozitiv (në rritje).
11 I zënë Prisnihyrje Përdoret për njohje. Cikli PPE mund të fillojë në një nivel të ulët dhe të përfundojë në një nivel të lartë.
12 Letër jashtë / fund rezervëhyrje
13 Zgjidhni rezervëhyrje E rezervuar - nuk përdoret në shtrëngimin e duarve të PPE.
14 Furnizimi automatik i linjës Strobi i të dhënaveProdhimi Tregon transferimin e të dhënave në nivel të ulët.
15 Gabim / Gabim rezervëhyrje E rezervuar - nuk përdoret në shtrëngimin e duarve të PPE.
16 inicializoj RivendosProdhimi Rivendosja e aktivitetit të ulët.
17 Zgjidhni Printer Adresa StrobeProdhimi Kur është i ulët, tregon transferimin e adresës.
18-25 Toka TokaGNDToka

Sinjalet Paper Out, Select dhe Error nuk janë të përcaktuara në shtrëngimin e duarve EPP dhe përdoruesi mund të përdorë linjat përkatëse sipas gjykimit të tij. Gjendjet e këtyre rreshtave mund të përcaktohen në çdo kohë duke lexuar regjistrin e statusit. Fatkeqësisht, nuk ka rezultate të tepërta, të cilat mund të shkaktojnë vështirësi të caktuara.

Shtrëngim duarsh i portit EPP

Për të kryer komunikim të saktë duke përdorur portën EPP, duhet të respektohet shtrëngimi i duarve EPP. Meqenëse të gjitha operacionet kryhen në një qark, vetëm hardueri duhet të përdorë shtrëngimin e duarve, jo softuerin, siç është rasti me portin SPP. Për të nisur ciklin EPP, programi duhet të kryejë vetëm një operacion I/O në regjistrin përkatës EPP (shih më poshtë për më shumë detaje).

Cikli i shkrimit të të dhënave EPP

1. Programi shkruan në regjistrin e të dhënave EPP (Baza + 4).
2. Krijohet një nivel i ulët nWrite, që tregon një operacion shkrimi.
3. Të dhënat vendosen në rreshtat e të dhënave 0-7.
4. nData Strobe lëshohet nëse Pritja është e ulët (mund të filloni një lak).

6. Strobe nData hiqet.
7. Cikli i shkrimit të të dhënave EPP përfundon.

Adresa e shkrimit të ciklit EPP

1. Programi shkruan adresën në regjistrin e adresave EPP (Baza + 3).
2. Formohet një nivel i ulët i sinjalit Write, që tregon një operacion shkrimi.
3. Adresa vendoset në linjën e të dhënave 0-7.
4. Strobe e Adresës lëshohet nëse Pritja është e ulët (mund të filloni të qarkulloni).
5. Kompjuteri është në pritje të konfirmimit - niveli i lartë në nWait (mund ta përfundoni ciklin).
6. nAddress Strobe hiqet.
7. Cikli i regjistrimit të adresës EPP përfundon.

Cikli i leximit të të dhënave EPP

1. Programi lexon regjistrin e të dhënave EPP (Bazë + 4).
2. Strobe nData lëshohet nëse Pritja është e ulët (mund të filloni një cikli).


5. nData Strobe hiqet.
6. Cikli i leximit të EPP përfundon.

Cikli i leximit të adresës EPP

1. Programi lexon regjistrin e adresave EPP (Bazë + 3).
2. Strobe nAddr lëshohet nëse Prisni është i ulët (mund të filloni një lak).
3. Kompjuteri është në pritje të konfirmimit - niveli i lartë në nPrit.
4. Të dhënat lexohen nga kunjat e portës paralele.
5. Strobe nAddr hiqet.
6. Përfundon cikli i leximit të adresës së EPP-së.

shënim Me shtrëngimin e duarve EPP 1.7 (deri në IEEE 1284), goditjet e të dhënave dhe adresat mund të lëshohen për të nisur një cikël pavarësisht nga gjendja e pritjes. Në standardin EPP 1.9, cikli fillon vetëm kur niveli i pritjes është i ulët. Të dy EPP 1.7 dhe EPP 1.9 kërkojnë një nivel të lartë pritjeje për të përfunduar ciklin.

Regjistrat e Softuerit të Portit EPP

Porti EPP ka gjithashtu një grup të ri regjistrash, tre prej të cilëve janë trashëguar nga porti paralel standard i SPP. Tabela e mëposhtme tregon regjistrat e rinj dhe ekzistues.

Siç mund ta shihni, tre adresat e para janë saktësisht të njëjta me ato të regjistrave të portit SPP dhe funksionojnë në të njëjtën mënyrë. Prandaj, kur përdorni portën EPP, mund të nxirrni të dhëna në adresën Base + 0 në të njëjtën mënyrë si në SPP. Kur lidhni një printer dhe përdorni modalitetin e përputhshmërisë, duhet të kontrolloni nëse porti është i zënë dhe më pas të dridhni dhe të hapni një strob duke përdorur portat e kontrollit dhe statusit dhe më pas të prisni për një Ack.

Nëse keni nevojë të ndërveproni me një pajisje të pajtueshme me EPP, ju vetëm duhet të ngarkoni të dhënat e transmetuara në regjistrin e të dhënave EPP në Base + 4 dhe karta do të gjenerojë të gjitha sinjalet e kërkuara të njohjes. Në mënyrë të ngjashme, nëse është e nevojshme të lëshoni një adresë në pajisje, përdorni regjistrin e adresave EPP në Base + 3.

Adresat EPP dhe regjistrat e të dhënave janë të lexueshme dhe të shkruhen, kështu që të njëjtat regjistra mund të përdoren për të lexuar të dhëna nga pajisja. Megjithatë, karta EPP e printerit duhet të nisë një cikël leximi pasi si nData Strobe ashtu edhe nAddress Strobe janë dalje. Pajisja mund të sinjalizojë kërkesën e leximit me një ndërprerje dhe të bëjë që Rutina e Shërbimit të Ndërprerjes (ISR) të kryejë operacionin e leximit.

Porta e statusit ka një modifikim të vogël. Biti 0, i cili është i rezervuar në grupin e regjistrave të portës SPP, tani është biti i skadimit të EPP. Ky bit caktohet kur ndodh skadimi i portës EPP. Kjo ndodh kur sinjali në linjën nWait nuk hiqet përafërsisht 10 µs (në varësi të portit) pas lëshimit të IOW ose IOR. Linjat e sinjalit IOW dhe IOR për të shkruar dhe lexuar I/O janë të disponueshme në autobusin ISA.

Modaliteti EPP varet shumë nga koha e autobusit ISA. Kur një cikël leximi është në progres, porti duhet të bëjë shtrëngimin e duhur të dorës Leximi/Shkruani dhe të kthejë të dhënat në atë cikël autobusi ISA. Sigurisht, kjo nuk ndodh në një cikël ISA, kështu që porti përdor sinjalin IOCHRDY (I / O Channel Ready) në autobusin ISA për të prezantuar gjendjet e pritjes përpara se cikli të përfundojë. Tani çfarë ndodh nëse porta EPP Read ose Write niset dhe pajisja periferike nuk është e lidhur?. Porti nuk do të marrë kurrë një konfirmim (nPrit) dhe do të mbajë kërkesat e gjendjes në pritje ndërsa kompjuteri është i bllokuar. Prandaj, në portën EPP mbahet një kohëmatës mbikëqyrës, i cili është vendosur në rreth 10 µs.

Tre regjistrat me adresat Base + 5, Base + 6 dhe Base + 7 mund të përdoren për operacione leximi dhe shkrimi 16 dhe 32-bit, nëse porti i mbështet ato. Kjo mund të zvogëlojë numrin e operacioneve I/O. Porta paralele mund të transmetojë vetëm tetë bit në të njëjtën kohë, kështu që fjala 32 ose 16-bit e shkruar në paralele ndahet në bajt dhe transmetohet në tetë linjat e të dhënave të portit.

Karakteristikat e programimit të portit EPP

Porti EPP ka vetëm dy regjistra kryesorë dhe një flamur të afatit. Çfarë keni për të konfiguruar? Përpara se çdo cikël porti EPP të mund të aktivizohet duke lexuar dhe shkruar në portat e të dhënave dhe adresat EPP, porti duhet të konfigurohet siç duhet. Kur është i papunë, EPP do të ketë nAddress Strobe, nData Strobe, nWrite dhe nReset linjat pasive (të lartë). Disa porte kërkojnë këtë konfigurim përpara se të nisin çdo cikël EPP. Prandaj, detyra e parë është inicializimi manual i këtyre linjave duke përdorur regjistrat e portit SPP. Për ta bërë këtë, shkruani kodin XXXX0100 në portin e menaxhimit.

Në disa karta, nëse porta paralele është vendosur në modalitetin e kundërt, cikli i shkrimit EPP nuk mund të kryhet. Prandaj, rekomandohet të vendosni portën EPP në modalitetin e drejtpërdrejtë përpara se ta përdorni. Pastrimi i bitit 5 në regjistrin e kontrollit duhet të rezultojë në funksionimin e duhur.

Ne kemi diskutuar tashmë bitin e skadimit të portës EPP. Kur ky bit është vendosur, porta mund të mos funksionojë siç duhet. Prandaj, rekomandohet të lexoni gjithmonë FFh në një adresë ose cikël të dhënash. Ky bit duhet të pastrohet për funksionim të besueshëm dhe duhet të monitorohet vazhdimisht.

Porta me aftësi të zgjeruara (ECP)

Modaliteti i avancuar është zhvilluar nga Hewlett-Packard dhe Microsoft për zbatim si Protokolli i Portit me Kapacitete të Zgjeruara dhe Standardi i Ndërfaqes ISA... Ky protokoll përdor qark shtesë për të gjeneruar sinjale shtrëngimi duarsh në të njëjtën mënyrë si në modalitetin EPP dhe funksionon me një ritëm më të shpejtë se porti EPP. Sidoqoftë, ky modalitet funksionon më mirë në Windows, pasi mund të përdorë kanalet e Qasjes së Memories direkte (DMA) për transferimin e të dhënave. Ai gjithashtu përdor një buffer FIFO për të dhënat e marra dhe të transmetuara.

Një veçori tjetër e ECP është kompresimi i të dhënave në kohë reale. Algoritmi Run Length Encoding (RLE) ofron raporte kompresimi deri në 64: 1. Kjo është e dobishme për skanerët dhe printerët ku shumica e të dhënave janë në vargje të përsëritura.

Porta ECP mbështet metodën e adresimit të kanalit. Nuk synohet të përdoret në pajisjet me zinxhir, por lejon që pajisje të shumta të adresohen brenda një pajisjeje të vetme. Një shembull janë shumë fakse moderne që përfshijnë një portë paralele për ndërfaqen me një kompjuter. Makina e faksit mund të ndahet në pajisje të veçanta, si p.sh. skaner, modem/faks dhe printer, dhe secili komponent mund të adresohet veçmas, edhe nëse pajisjet e tjera nuk mund të lexojnë të dhëna për shkak të buferëve të plotë.

Hardware

Megjithëse portat e printerit ECP përdorin të njëjtin lidhës D25 si porta standarde paralele (SPP), porta ECP cakton funksione të ndryshme te kunjat (siç bën porta EPP). Prandaj, ndërfaqja e portit ECP përdor një metodë të ndryshme shtrëngimi duarsh.

Porta ECP është e pajtueshme me portat SPP dhe EPP. Kur funksionojnë në modalitetin SPP, linjat individuale funksionojnë njësoj si në portin SPP dhe emërtohen Strobe, Auto Linefeed, Init, Busy, etj. Kur funksionojnë në modalitetin EPP, linjat kryejnë funksione në përputhje me metodën e përshkruar në protokollin e portit EPP dhe përdoret një metodë e ndryshme shtrëngimi duarsh. Kur porti është në modalitetin ECP, linjat përcaktohen si më poshtë.

Kontaktoni Sinjali SPP Sinjali ECP Hyni në dalje Funksioni
1 Strobe HostCLKProdhimi Një nivel i ulët në këtë linjë tregon që hosti ka të dhëna të vlefshme. Kur hiqet ky sinjal, skaji pozitiv i sinkronizimit duhet të përdoret për të ngrirë të dhënat në pajisje.
2-9 Të dhënat 0-7 Të dhënat 0-7Hyni në dalje Autobusi i të dhënave me dy drejtime.
10 Ack PeriphCLKhyrje Një nivel i ulët në këtë linjë tregon që pajisja ka të dhëna të vlefshme. Kur hiqet ky sinjal, skaji pozitiv i orës duhet të përdoret për të ngrirë të dhënat në host.
11 I zënë PeriphAckhyrje Në drejtimin e kundërt, një nivel i lartë tregon një cikël të dhënash dhe një nivel i ulët tregon një cikël komandimi. Në drejtimin përpara, ai vepron si një PeriphAck.
12 Letër jashtë / fund nAckReversehyrje Pajisja konfirmon kërkesën e kundërt me një nivel të ulët.
13 Zgjidhni X-Flamurihyrje Flamuri i shtrirjes.
14 Furnizimi automatik i linjës Pritësi i pranimitProdhimi Në drejtimin përpara, një nivel i lartë tregon një cikël të dhënash dhe një nivel i ulët tregon një cikël komandimi. Në drejtim të kundërt, vepron si HostAck.
15 Gabim / Gabim PeriphRequesthyrje Instaluar nga pajisja një nivel i ulët tregon disponueshmërinë e të dhënave të anasjellta.
16 inicializoj nReverse KërkesëProdhimi Një nivel i ulët tregon transferimin e të dhënave në drejtim të kundërt.
17 Zgjidhni Printer 1284 AktivProdhimi Një nivel i lartë tregon se hosti po funksionon në modalitetin e transferimit 1284. Një nivel i ulët e përfundon këtë modalitet.
18-25 Toka TokaGNDToka

Sinjalet në linjat HostAck dhe PeriphAck tregojnë nëse të dhënat ose një komandë janë në autobusin e të dhënave 0-7. Nëse këto linja janë të larta, ka të dhëna në autobusin e të dhënave (kunjat 2-9). Nëse zbatohet cikli i komandës, atëherë linja përkatëse do të jetë e ulët; nëse, për shembull, hosti lëshon një komandë, atëherë linja HostAck do të jetë e ulët, dhe nëse pajisja lëshon një komandë, atëherë linja PeriphAck do të jetë e ulët.

Cikli i komandës mund të jetë një nga dy - numëruesi RLE ose adresa, e cila përcaktohet nga biti 7 i linjave të të dhënave (pin 9). Nëse biti 7 përmban 0, atëherë pjesa tjetër e të dhënave (bitet 0-6) është numëruesi i gjatësisë RLE i përdorur në algoritmin e kompresimit. Por nëse biti 7 përmban 1, atëherë të dhënat në bitet 0-6 janë adresa e kanalit. Nëse një bit mungon, numri mund të jetë vetëm një vlerë nga 0 në 127.

Shtrëngim duarsh në portin ECP

Shtrëngimi i duarve i portit ECP është i ndryshëm nga shtrëngimi i duarve i portit SPP. Dallimi më i dukshëm është se porti ECP mund të transmetojë të dhëna në çdo drejtim në çdo kohë, dhe kjo kërkon sinjalizim shtesë. Më pas, merret parasysh njohja e portit ECP për drejtimet përpara dhe të kundërta.

Cikli i drejtpërdrejtë i të dhënave ECP


2. Më pas hosti tregon një cikël të dhënash duke dhënë një sinjal të ulët HostAck.

4. Pajisja periferike lëshon konfirmimin e saj të vlefshmërisë duke lëshuar sinjalin PeriphAck.
5. Hosti nxjerr sinjalin HostClk të lartë. Buza pozitive përdoret për të ngrirë të dhënat në pajisjen periferike.
6. Pajisja periferike lëshon një bajt konfirmimi, duke hequr sinjalin PeriphAck.

Cikli i komandës ECP përpara

1. Pritësi vendos të dhëna në linjën e të dhënave.
2. Më pas hosti tregon ciklin e komandës, duke hequr HostAck.
3. Host tregon vlefshmërinë e të dhënave duke gjeneruar një sinjal të ulët HostClk.
4. Pajisja periferike lëshon një konfirmim të vlefshëm të të dhënave duke gjeneruar sinjalin PeriphAck.
5. Pritësi e tërheq sinjalin HostClk lart. Buza pozitive përdoret për të ngrirë të dhënat në pajisjen periferike.
6. Pajisja lëshon një bajt konfirmimi, duke hequr sinjalin PeriphAck.

ECP e të dhënave të anasjellta




4. Më pas pajisja zgjedh një cikël të dhënash duke gjeneruar një sinjal të lartë PeriphAck.




Komanda ECP Cikli i kundërt

1. Pritësi e vendos sinjalin nReverseRequest të ulët për të kërkuar një kanal të anasjelltë.
2. Pajisja periferike konfirmon kërkesën e kanalit të anasjelltë duke lëshuar një sinjal të ulët nAckReverse.
3. Pajisja vendos të dhëna në linjën e të dhënave.
4. Më pas pajisja zgjedh një cikël komandimi duke gjeneruar një sinjal të ulët PeriphAck.
5. Pajisja shfaq të dhëna të vlefshme me një sinjal të ulët PeriphClk.
6. Pritësi lëshon konfirmimin e tij të vlefshmërisë me një fuqi të lartë sinjali HostAck.
7. Pajisja e vendos lart sinjalin PeriphClk. Edge pozitive përdoret për të transferuar të dhëna te hosti.
8. Pritësi lëshon bajtin e tij të konfirmimit, duke gjeneruar një sinjal të ulët HostAck.

Krahasimi i shtrëngimit të duarve ECP dhe SPP

Shtrëngimi i duarve i portit SPP përbëhet nga vetëm pesë hapa:

  1. Shkruani një bajt në portën e të dhënave.
  2. Kontrolloni nëse printeri është i zënë. Nëse printeri është i zënë, ai nuk do të pranojë asnjë të dhënë, kështu që të gjitha të dhënat që po shkruhen humbasin.
  3. Gjeneroni një nivel të ulët të sinjalit Strob (pin 1). Ai i tregon printerit se ka të dhëna të sakta në linjat e të dhënave (kunjat 2-9).
  4. Pas rreth 5 μs, formoni një nivel të lartë të sinjalit Strobe.
  5. Kontrolloni konfirmimin e pranimit nga pajisja.

Nga ana tjetër, njohja e portit ECP kërkon më shumë hapa. Prandaj, duket se porti ECP do të jetë më i ngadalshëm se porti SPP. Megjithatë, nuk është kështu, pasi kontrolli i të gjitha fazave të shtrëngimit të duarve zbatohet në formë skematike. Nëse shtrëngimi i duarve do të zbatohej në softuer, do të ishte dukshëm më i ngadalshëm se shtrëngimi i duarve i portit SPP.

Kodimi RLE

U tha shkurtimisht më herët se protokolli i portit ECP përfshin një algoritëm të thjeshtë kompresimi për kodimin e gjatësisë së ekzekutimit ( RLE). Ai siguron një raport maksimal kompresimi deri në 64: 1 dhe funksionon duke dërguar bajt të kopjuar si numërues segmentesh dhe një kopje të bajtit. Numëruesi i segmentit përcakton se sa herë duhet të përsëritet bajt-i pasues.

Nëse, për shembull, transmetohet një varg prej 25 shkronjash "A", atëherë së pari duhet të transmetohet bajt numëruesi i segmentit i barabartë me 24, i ndjekur nga bajt "A". Pajisja marrëse, me marrjen e numërimit të gjatësisë së ekzekutimit, do të zgjasë (përsërit) bajtin pasardhës numrin e herëve të përcaktuar nga numëruesi.

Bajt numëruesi i fetës duhet të jetë i ndryshëm nga bajtët e tjerë në shtegun e të dhënave. Ai dërgohet si komandë në Portin e Adresës FIFO. Bajtët e dërguar në këtë regjistër mund të jenë një numërues i gjatësisë së segmentit ose një adresë. Ato dallohen nga biti më domethënës 7. Nëse biti 7 përmban 1, atëherë shtatë bitët e mbetur (0-6) janë adresa e kanalit. Nëse biti 7 është vendosur në 0, atëherë shtatë bitët më pak të rëndësishëm janë numëruesi i gjatësisë së segmentit. Në këtë rast, adresat e kanalit dhe numëruesit e gjatësisë së segmentit kufizohen në shtatë bit (vlera nga 0 në 127).

Regjistrat e Softuerit të Portit ECP

Tabela e mëposhtme liston regjistrat e portave ECP. Tre regjistrat e parë janë të njëjtë me regjistrat e portit SPP. Megjithatë, vini re se biti i aktivizimit të portit dydrejtimësh (biti i portit të kontrollit 5) shfaqet. Ky bit tregon drejtimin aktual të portës ECP dhe ndikon në bitet FIFOpFull FIFOpEmpty në regjistrin ECR (shih më poshtë).

Adresë Emri i portit Lexo/Shkruaj
Baza + 0 Porta e të dhënave (SPP)Shkruaj
Adresa ECP FIFO (modaliteti ECP)Lexo/Shkruaj
Baza + 1Porta e statusit (të gjitha mënyrat) Lexo/Shkruaj
Baza + 2Porta e menaxhimit (të gjitha mënyrat) Lexo/Shkruaj
Baza + 400h Të dhënat FIFO (modaliteti FIFO i portës paralele) Lexo/Shkruaj
Të dhënat FIFO (modaliteti ECP) Lexo/Shkruaj
Kontrolli FIFO (modaliteti i testimit)Lexo/Shkruaj
Regjistri i konfigurimit A (Modaliteti i konfigurimit) Lexo/Shkruaj
Baza + 401hRegjistri i konfigurimit B (modaliteti i konfigurimit) Lexo/Shkruaj
Baza + 402h Regjistri i zgjeruar i kontrollit (përdoret nga të gjitha mënyrat) Lexo/Shkruaj

Regjistri i Zgjeruar i Kontrollit (ECR)

Bit Funksioni
7:5 Zgjidhni mënyrën aktuale të funksionimit
000 Mënyra standarde
001 Modaliteti i bajtit
010 Modaliteti FIFO i portit paralel
011 Modaliteti ECP FIFO
100 Modaliteti EPP
101 Rezervuar
110 Modaliteti i kontrollit FIFO
111 Modaliteti i konfigurimit
4 Biti i ndërprerjes ECP
3 Biti i aktivizimit të DMA
2 Biti i shërbimit ECP
1 FIFO Plot
0 FIFO Bosh

Regjistri më i rëndësishëm i portit ECP është Regjistri i Zgjeruar i Kontrollit ( ECR), kështu që së pari le të shqyrtojmë se si funksionon. Ky regjistër përcakton se në cilin modalitet do të funksionojë porta ECP, dhe gjithashtu vendos gjendjen e buferit FIFO. Funksionet e këtij regjistri janë paraqitur në tabelën e mëposhtme.

Tre pjesët më të rëndësishme të regjistrit të zgjeruar të kontrollit përcaktojnë mënyrën e funksionimit. Ekzistojnë shtatë mënyra të mundshme funksionimi, por jo të gjitha portet mbështesin të gjitha mënyrat. Për shembull, disa porte nuk mbështeten Modaliteti EPP... Tabela e mëposhtme jep informacion më të detajuar mbi mënyrat e funksionimit.

Mënyra standarde Vendosja e këtij modaliteti bën që porta ECP të veprojë si një portë paralele standarde pa aftësi dydrejtimëshe.
Modaliteti i bajtit Vepron si SPP në modalitetin dydrejtues. Biti 5 e vendos portën në modalitetin e kundërt.
Modaliteti FIFO i portit paralel Në këtë modalitet, të gjitha të dhënat e shkruara në të dhënat FIFO do të dërgohen në pajisjen periferike duke përdorur SPP shtrëngimin e duarve. Njohja e nevojshme zbatohet në një qark. Ky modalitet është i dobishëm për pajisjet jo-ECP si printerët. Ofrohen disa aftësi ECP, të tilla si buferët FIFO dhe gjenerimi i qarkut të shtrëngimit të duarve, por me një shtrëngim duarsh SPP dhe jo me një shtrëngim duarsh ECP.
Modaliteti ECP FIFOModaliteti standard për portin ECP. Në këtë mënyrë përdoret shtrëngimi i duarve ECP. - Kur modaliteti ECP caktohet nëpërmjet BIOS dhe regjistri ECR vendoset në modalitetin ECP FIFO (011), regjistrat SPP mund të zhduken.
Modaliteti EPP / Rezervuar Modaliteti EPP aktivizohet nëse është i disponueshëm. Nën BIOS, nëse është vendosur modaliteti ECP, ka më shumë gjasa që ky modalitet të mos jetë një opsion. Por nëse BIOS është vendosur në modalitetin ECP dhe EPP1.x, atëherë EPP 1.x do të aktivizohet. - Sipas Protokolli i Portit me Kapacitete të Zgjeruara dhe Standardi i Ndërfaqes ISA kjo mënyrë është specifike për shitësin.
RezervuarE rezervuar për momentin. - Sipas Protokolli i Portit me Kapacitete të Zgjeruara dhe Standardi i Ndërfaqes ISA kjo mënyrë është specifike për shitësin.
Mënyra e testimit FIFONë këtë mënyrë, të gjitha të dhënat e shkruara në regjistrin e testit FIFO do të vendosen në FIFO dhe çdo e dhënë e lexuar nga regjistri FIFO Test do të lexohet nga buferi FIFO. Bitët e statusit FIFO Full / Empty do t'i pasqyrojnë ato. kuptimin e vërtetë, prandaj, në këtë mënyrë, ju mund të përcaktoni disa karakteristika të FIFO, si thellësia e tij.
Modaliteti i konfigurimitNë këtë modalitet, dy regjistra konfigurimi cnfgA dhe cnfgB bëhen të disponueshme në adresat e tyre.

Siç u tregua më herët, kur porti është vendosur të funksionojë modaliteti standard, ai vepron si një port SPP pa transferime të të dhënave dydrejtimëshe. Nëse kërkohet transmetim me dy drejtime, vendosni modalitetin e bajtit. Modaliteti i portit paralel FIFO dhe ECP FIFO përdorin qarkun për të gjeneruar sinjalet e kërkuara të shtrëngimit të duarve. Dallimi i vetëm midis të dyjave është se porta paralele FIFO përdor shtrëngimin e duarve SPP dhe mund të përdoret me një printer SPP. Modaliteti ECP FIFO përdor shtrëngimin e duarve të portit ECP.

Modaliteti i kontrollit FIFO mund të përdoret për të testuar kapacitetin e buferëve FIFO dhe për të verifikuar nëse ato funksionojnë siç duhet. Në këtë mënyrë, çdo bajt që shkruhet në regjistrin TEST FIFO (Bazë + 400h) vendoset në buferin FIFO dhe çdo bajt i lexuar nga ky regjistër merret nga buferi FIFO. Kjo mund të përdoret së bashku me pjesët FIFO Full dhe FIFO Empty të regjistrit të zgjeruar të kontrollit ECR për të përcaktuar kapacitetin e buferit FIFO. Thellësia FIFO është zakonisht rreth 16 bajt.

Pjesët e tjera të regjistrit ECR gjithashtu luajnë një rol të rëndësishëm në funksionimin e portit ECP. Biti i ndërprerjes (biti 4) mundëson përdorimin e ndërprerjeve, dhe biti i aktivizimit DMA (biti 3) mundëson përdorimin e aksesit të drejtpërdrejtë të memories. Biti i shërbimit ECP (biti 2) tregon nëse një kërkesë për ndërprerje është iniciuar. Nëse është i pranishëm, ky bit do të vendoset. Kjo pjesë pastrohet ndryshe në mikroqarqe të ndryshme. Disa kërkojnë që të pastroni bitin, d.m.th. shkruani 0 në të, ndërsa të tjerët rivendosen kur lexohen nga regjistri.

Biti FIFO Full (bit 1) dhe FIFO Empty (bit 0) tregojnë gjendjen e buferit FIFO. Këto bit varen nga drejtimi, kështu që biti 5 i regjistrit të kontrollit duhet të merret parasysh. Nëse vendoset biti 0 (FIFO Empty), atëherë FIFO është bosh, dhe nëse biti 1 është vendosur, atëherë FIFO është plot. Nëse asnjë nga këto bit nuk është vendosur, atëherë ka të dhëna në FIFO, por buferi nuk është ende i plotë. Këto pjesë mund të përdoren në modalitetin e kontrollit FIFO për të përcaktuar kapacitetin e tamponit FIFO.

Regjistri i konfigurimit A (cnfgA)

Regjistri i konfigurimit A (cnfgA) është një nga dy regjistrat e konfigurimit të portit ECP. Regjistrat e konfigurimit disponohen vetëm në modalitetin e konfigurimit. Adresa e regjistrit cnfgA është Base + 400h. Formati i regjistrit cnfgA është paraqitur në tabelën e mëposhtme.

Bit Funksioni
7 1 Ndërprerjet shkaktohen nga niveli
0 Ndërprerjet aktivizohen në skaj
6:4 00h Pranon fjalë me gjerësi maksimale. 16 bit
01hPranon fjalë me gjerësi maksimale. 8 bit
02hPranon fjalë me gjerësi maksimale. 32 bit
03h: 07hE rezervuar për zgjerim
3 Rezervuar
2 Rimëkëmbja e hostit: Bajt i tubacionit / transmetuesit përfshihet në FIFO?
0 Në drejtimin përpara, një bajt në tubacionin e transmetuesit nuk ndikon në FIFO Full.
1 Në drejtimin përpara, një bajt në tubacionin e transmetuesit llogaritet si pjesë e FIFO Full.
1:0 Rikuperimi i hostit: Bajtet e padërguara të mbetura në FIFO
00 Fjalë e plotë
01 1 bajt i vlefshëm
10 2 dy bajt të vlefshëm
11 3 bajt të vlefshëm

Regjistri i konfigurimit A mund të lexohet për informacion shtesë mbi ECP. Biti 7 tregon nëse karta gjeneron ndërprerje të nivelit ose skajit. Varet nga lloji i autobusit të përdorur nga karta. Bitet 6: 4 tregojnë gjerësinë e autobusëve brenda kartës. Disa karta përdorin vetëm shtegun e të dhënave 8-bit, ndërsa të tjerat përdorin 16- ose 32-bit. Për të marrë efikasitet maksimal nga karta, programi duhet të lexojë gjendjen e këtyre biteve për të përcaktuar madhësia maksimale fjala që del në port.

Tre bitët më pak të rëndësishëm përdoren për Rimëkëmbjen e Host. Për të rikuperuar nga një gabim, programi duhet të dijë se sa bajt janë transferuar, duke përcaktuar nëse ka mbetur ndonjë bajt në FIFO. Disa implementime mund të llogariten për bajt në pritje në regjistrin e transmetuesit si pjesë e gjendjes së plotë FIFO, ndërsa të tjerët jo. Biti 2 përcakton një situatë të veçantë.

Një problem tjetër është se dalja e porteve paralele është vetëm tetë bit e gjerë dhe programi mund të përdorë komanda I / O 16- ose 32-bit. Në këtë rast, një pjesë e fjalës port mund të dërgohet. Prandaj, bitet 0 dhe 1 tregojnë numrin e bajteve të vlefshme të mbetura në FIFO dhe mund të ritransmetohen.

Regjistri i konfigurimit B (cnfgB)

Regjistri i konfigurimit B, si regjistri i konfigurimit A, disponohet vetëm në modalitetin e konfigurimit. Adresa e tij në këtë modalitet është Base + 401h. Formati i regjistrit cnfgB është paraqitur në tabelën e mëposhtme.

Bit Funksioni
7 1 Kompresoni të dhënat e daljes duke përdorur algoritmin RLE
0 Mos i kompresoni të dhënat
6 Statusi i ndërprerjes - tregon Gjendja e tanishme Kontakt IRQ
5:3 Zgjedh ose shfaq gjendjen e linjës së kërkesës për ndërprerje IRQ.
000 Ndërprerja e zgjedhur me kërcyes
001 IRQ 7
010 IRQ 9
011 IRQ 10
100 IRQ 11
101 IRQ 14
110 IRQ 15
111 IRQ 5
2:0 Zgjedh ose shfaq gjendjen e kanalit DMA të përdorur nga karta e printerit
000 Përdor kanal DMA 8-bit të zgjedhur nga kërcyesi
001 Kanali 1 DMA
010 Kanali 2 DMA
011 Kanali 3 DMA
100 Përdor kanal DMA 16-bitësh të zgjedhur nga kërcyesi
101 Kanali 5 DMA
110 Kanali 6 DMA
111 Kanali 7 DMA

Regjistri i konfigurimit B (cnfgB) mund të jetë një kombinim aksesi lexim-shkrim. Disa porte janë softuer të konfigurueshëm me burime IRQ dhe DMA të vendosura nga regjistri. Të tjerët mund të konfigurohen nëpërmjet BIOS-it ose nëpërmjet kërcyesve në kartë, kështu që regjistri mund të lexohet vetëm.

Biti 7 përcakton nëse do të kompresohen ose jo të dhënat e daljes duke përdorur algoritmin RLE: 1 - hosti kompreson të dhënat përpara transmetimit, 0 - të dhënat transmetohen në pajisje të papërpunuara (të pakompresuara). Biti 6 kthen gjendjen e pinit IRQ. Mund të përdoret për të diagnostikuar konfliktet, pasi do të tregojë jo vetëm statusin IRQ të portës paralele, por edhe pajisjen tjetër që përdor këtë linjë IRQ.

Bitet 5: 3 tregojnë statusin e caktimit të linjës IRQ në port, dhe bitet 2: 0 tregojnë statusin e caktimit të kanalit DMA në port. Siç u tha më herët, këto fusha mund të lexohen dhe shkruhen. Për tabelat kërcyese që zhduken, këto pjesë thjesht tregojnë burimet si "Jumpered" ose numra të saktë të rreshtave. Sigurisht, në këtë rast ato mund të lexohen vetëm.

Artikujt kryesorë të lidhur