Hva er en com-port. Interne porter på en personlig datamaskin. Serielle COM-porter

Dataoverføring fra sentralenhet til et hvilket som helst eksternt utstyr og omvendt kontrollert ved å stille inn en IRQ ...

Avbrudd og adresser

Overføringen av data fra CPU til enhver perifer enhet og omvendt kontrolleres ved å spesifisere en avbruddsforespørsel (IRQ) og en I/O-adresse. For eksterne perifert avbruddsforespørselen og I/O-adressen tildeles porten den er koblet til.

Selve ordene "avbruddsforespørsel" informerer om at CPUen er avbrutt og den blir bedt om å håndtere dataene som kommer fra en enhet. Det er 16 avbrudd totalt - fra 0 til 15. Alle sekvensielle og parallelle porter krever vanligvis sin egen avbruddsforespørsel, bortsett fra at COM1 og COM3 og COM2 og COM4 ofte har generell henvendelse avbrudd.

For hver port må du spesifisere en unik I/O-adresse, som ligner på postkasse for korrespondanse som ankommer CPU-adressen, der den lagres før behandling. Hvis en avbruddsforespørsel eller I/O-adresse brukes av mer enn én enhet samtidig, vil ingen av dem fungere ordentlig og kan til og med fryse PC-en.

For problemer med en port, sjekk hvilke avbruddsforespørsler og I/O-adresser som er tilordnet den.

Kontrollpanel - System - Enheter - COM- og LPT-porter

Hvis du ser en gul sirkel foran en linje med utropstegn inne, kan du finne årsaken til "interferensen". Med linjen valgt, klikk "Egenskaper - Ressurser". I boksen Liste over motstridende enheter finner du hva som forårsaker konflikten. Hvis det viser seg at dette er noen gammelt brett som ikke støtter Plug & Play, vil den bli oppført som "Ukjent enhet".

For å løse problemet, endre avbruddsforespørselen eller I/O-adressen for en av de fornærmende enhetene. Hvis porten er på hovedkort, bruk deretter programmet til dette førstegangs oppsett System System Oppsett (BIOS).

For å gå inn i systemoppsettet mens du starter PC-en, trykk på "Slett", "F1" eller en annen tast - finn ut i systemdokumentasjonen. I mange innledende oppsettprogrammer kan du tilordne en avbruddsforespørsel og I/O-adresse (sett ressurser) til hver spesifikke port, og overstyre de gamle.

Finn en ubrukt avbruddsforespørsel eller I/O-adresse.

Kontrollpanel - System - Enheter - Datamaskin

Du vil se full liste ressursene som brukes. Hvis det ikke er noen ubrukte avbruddsforespørsler, prøv å deaktivere den ubrukte porten ved hjelp av systemoppsett.

Etter det...

System - Enheter - Motstridende Enhet - Ressurser

Slå av " Automatisk tuning". I "Ressursliste"-vinduet velger du ressurstypen, klikker på" Endre "-knappen og i "Verdi"-feltet, spesifiser en ny (ubrukt) avbruddsforespørselsverdi eller I/O-adresse.

Innstilling av parametere for parallellporter

Parallelle porter er forkortet til LPT. Datamaskinen tildeler automatisk adresser fra LPT1 til LPT3 til hver oppdaget parallellport.

Hvis du installerer en annen parallellport, sørg for at den ikke bruker en eksisterende avbruddsforespørsel. Noen datamaskiner LPT1 og LPT2 bruker IRQ7 som standard. Bruk Enhetsbehandling til å angi IRQ5 for LPT2. Hvis dette ikke er mulig, bruk Oppsettprogram CMOS for systemet ditt.

Standard Parallell Port Resource Settings

LPT-port Avbruddsforespørsel I/O-adresse
LPT1 IRQ7 ZVS
LPT2 IRQ7 378
LPT3 IRQ5 278

Innstilling av serieportparametere

Hver serieport identifiseres av en av åtte mulige COM-adresser - COM1, COM2, etc., hver med sin egen unike I/O-adresse og avbruddsforespørsel.

Vær forsiktig når du installerer en enhet på PC-en som krever en COM-port. COM1- og COM2-porter har standard I/O-adresser og avbruddsforespørsler som ikke skal endres noe sted (kan vanligvis bare endres i PC-ens oppsett CMOS-program). Hvis en COM1- eller COM2-port kreves for å tildeles en ny enhet, gå inn i installasjonsprogrammet når du starter opp PC-en og enten deaktiver serieporten som er tildelt COM1 eller COM2, eller hvis du trenger å frigjøre de tilsvarende innstillingene for lagt til enhet, endre avbruddsforespørselen og adressen som identifiserer den, input-output.

Merk at alle standard I/O-adresser kun bruker tredje og fjerde avbrudd. Siden to enheter ikke skal bruke samme avbruddsforespørsel, prøv å tilordne COM3 til COM3-porten for nye eksterne enheter ved å angi avbruddsforespørsler og I/O-adresser manuelt ved å bruke Enhetsbehandling (dialogboks "Egenskaper: System").

Standard Serial Port Resource Settings

COM-port Avbruddsforespørsel I/O-adresse
COM1 IRQ4 3F8
COM2 IRQ3 2F8
COM3 IRQ4 ЗЕ8
COM4 IRQ3 * 2E8
COM5 IRQ4 * ZEO
COM6 IRQ3 * 2ЕО
COM7 IRQ4 * 338
COM8 IRQ3 * 238

* Kan installeres ved hjelp av Manager Windows-enheter 9x (Egenskaper: System)

Optimalisering av serieporter

Datamaskinen har én eller to innebygde 9-pinners serieporter, vanligvis plassert på baksiden av datamaskinen. Ved hjelp av en slik port kan bare 1 bit data overføres per tidsenhet, mens gjennom parallellporten - 8 biter. Hastigheten til den serielle porten avhenger av den universelle asynkrone mottakeren/senderen (UART), som konverterer den parallelle datastrømmen som går gjennom PC-bussen til en-bits data.

Vanligvis kommer moderne PC-er med en 16550 UART. I dette tilfellet er maksimum gjennomstrømning er 115 kbps, som gir nok båndbredde for de fleste serielle enheter. Eldre UART-modeller 16450 og 8250 kan ikke lenger takle denne oppgaven. Men noen ganger er ytelsen til UART 16550 kanskje ikke nok, fordi noen analoge modemer behandle komprimerte data ved 230 kbps, og ISDN-adaptere opptil 1 Mbps. Så hvis du trenger en høyere overføringshastighet, kjøp et utvidelseskort med en modell 16750 UART som er i stand til 921 kbps.

Arbeid med parallellporter

Parallelle porter brukes ofte for skrivere, selv om de kan kobles til PC-er og andre enheter som skannere. Med deres hjelp kan du overføre data med en hastighet på 40 KB / s til 1 MB / s, og noen ganger enda høyere.

I utgangspunktet kommer alle PC-er med én parallellport i form av en 25-pinners kontakt på bakpanelet. For å legge til en ekstra port, må du kjøpe en I/O-kontroller og installere den i et utvidelsesspor på hovedkortet. Det er fire typer parallellporter - ensrettet, toveis, forbedret (EPP) og forbedret (ECP). Hver av dem har forskjellige hastigheter og muligheter. Portene på de fleste nyere PC-er støtter alle fire modusene, og for å finne ut hvilken som gir parallellporten, se i installasjonsprogrammet ( CMOS-oppsett verktøyet) på PC-en i delen Integrerte periferiutstyr.

Enveis port noen ganger også referert til som en SPP-port. Denne grunnleggende konfigurasjonen sender data med hastigheter på 40-50 KB / s i bare én retning - til skriveren eller den andre. ekstern enhet.

Toveis port. Gir toveis datautveksling med en overføringshastighet fra 100 til 300 Kb/s mellom en PC og en ekstern enhet. I dette tilfellet går informasjon om tilstanden til sistnevnte til datamaskinen.

Avansert port (EPP). Designet for eksterne stasjoner og nettverksadaptere krever høy ytelse. Gir dataoverføringshastigheter fra 400 KB/s til 1 MB/s eller mer.

Når den er installert i Systemprogram EPP-oppsettalternativene tilbys i versjon 1.7 og 1.9. For nesten alle eksterne enheter kjøpt fra i fjor, må du velge 1.9.

Enhanced Port (ECP).Øker hastigheten og utvider mulighetene for datautveksling mellom en ekstern enhet og en datamaskin. Hvis skriveren og andre eksterne enheter støtter ECP, rapporterer de direkte enhetsstatus og feil.

Hvis i programmet. Systemoppsett sett inn ECP-alternativet, så vises en linje for valg av DMA-kanal (direkte minnetilgangskanal). Du må angi den på samme måte som for en avbruddsforespørsel. For å forhindre at det oppstår DMA-kanalkonflikter, se de ledige i vinduet "Egenskaper: Datamaskin" som beskrevet ovenfor. Hvis konflikt ikke kan unngås, gå tilbake til toveis portmodus.

Den beste porten for en dataorkan.

I nye systemer og periferiutstyr begynte parallelle og serielle porter å bli erstattet av den universelle serielle bussen ( Universell seriebuss, USB). Med dens hjelp kan du oppnå dataoverføringshastigheter på opptil 12 Mbit / s, samt koble til, med bare én port, tastaturer, skjermer, mus og mange andre (opptil 127) enheter, som så vel som med en SCSI grensesnitt som løser lignende oppgaver, kan kobles til "kjede"... I dette tilfellet brukes bare én avbruddsforespørsel. USB-bussen kan også installeres på eldre datamaskiner ved å kjøpe et passende utvidelseskort.

Den parallelle porten gir ganske høy hastighet overføringer, siden denne overføringen er byte-for-byte. Men hvis kabellengden er lang eller datautvekslingen ikke er veldig intensiv, viser den serielle porten seg å være mer praktisk.

Serieporten overfører bare 1 bit data i én retning om gangen. Data kan overføres via denne havnen både fra en datamaskin til en ekstern enhet, og omvendt.

Serielle porter datamaskiner er vanligvis i samsvar med den internasjonale referansestandarden RS-232C (Reference Standard 232 revisjon C), derfor kan enhver enhet kobles til denne porten, denne standarden(for eksempel en mus, modem, seriell skriver eller en annen datamaskins serieport). Dette grensesnittet bruker 9 kommunikasjonskanaler: en av dem brukes til å overføre data fra en datamaskin, den andre - for å motta data fra en perifer enhet. De resterende 7 kanalene brukes til å kontrollere datautvekslingsprosessen.

Serieporten består av en UART-brikke (Universal Asynchronous Receiver / Transmitter) og hjelpekomponenter. UART-brikken mottar databytes fra databussen (der de overføres parallelt), konverterer dem til en sekvens av biter, legger til servicebiter og utfører deretter dataoverføring, og utfører også reversere handlinger på å motta en sekvens av biter og oversette koden fra seriell til parallell.

Moderne UART-er er utstyrt med bufferminne og gir dataoverføringshastigheter på opptil 115 Kbps. Nye høyhastighets serieportvarianter - Enhanced Serial Port (ESP) og Super ESP (Super Enhanced Serial Port) gir dataoverføringshastigheter på opptil 460 Kbps.

Data kl seriell overføring atskilt med servicebiter som f.eks startbit og stopp litt. Disse bitene indikerer starten og slutten av overføringen av serielle databiter. Denne metoden overføring muliggjør synkronisering mellom mottaker- og overføringssiden, samt utjevning av datautvekslingshastigheten.

For identifisering og gjenkjenning av feil under seriell overføring kan en paritetsbit i tillegg inkluderes i meldingen. Paritetsbitverdien bestemmes av den binære summen av alle overførte databiter. I modusen når paritetsbiten er partall (even paritet), er verdien av paritetsbiten 0 hvis summen av bitene er partall, og 1 - i ellers... Paritetsbitene har inverse (reverserte) verdier (henholdsvis 1 eller 0), hvis paritetsbiten er oddetall (odd paritet).

Datamaskinen leveres som standard med to serielle porter. Forskjellen mellom den serielle portkontakten og den parallelle er at denne kontakten har 9 pinner, og ikke stikkontakter ("fars" kontakt) (Fig. 1.3.11a). På siden av kabelen til den tilkoblede enheten brukes en "mor"-kontakt (fig. 1.3.11b). Seriell kabellengde er begrenset til 18 m. Hovedenheten koblet til seriell port er de gamle modellene av modemer og mus.

Noen datamaskiner, spesielt de som er rettet mot kommunikasjonsapplikasjoner, kan ha serielle porter laget i henhold til andre standarder (for eksempel RS-449A eller RS-613) og ha en høyere dataoverføringshastighet over lengre avstander.

Ris. 1.3.11. Seriell port: a) 9-pinners datamaskinkontakt;

b) Seriell til USB-adapterkabel

1.3.2.3.13. PS / 2 porter

PS / 2-porten (6-pinners) heter det fordi den først dukket opp på datamaskiner i IBM PS / 2-serien. Av 6 kontakter brukes 4 kontakter hvorav den ene er til dataoverføring, den andre til signaler klokkefrekvens(i området 10-16,7 kHz), den tredje kontakten forsynes med strøm (+ 5V), og den fjerde - bakken. Dataoverføring utføres på samme måte som i serieporten, men ved overføring av data til enheten legges det til én bekreftelsesbit. V moderne datamaskiner det er to PS / 2-porter for å koble til en mus (grønn kontakt) og et tastatur (lilla kontakt) (fig. 1.3.12а), men disse enhetene brukes USB-port... PS / 2 (mus og tastatur) kabelplugger er vist i fig. 1.3.12b.

Ris. 1.3.12. PS / 2 port: a) datamaskin port sockets; b) kabelplugger

Seriell port - konsept og typer. Seriell portklassifisering og funksjoner 2017, 2018.

Noen ganger må du løse kommunikasjonsproblemet elektronisk apparat med en datamaskin, enten det er bare datautveksling eller fjernkontroll. Denne artikkelen beskriver hvordan dette kan gjøres ved å bruke en seriell port. Dens største fordel er at standarden programvaregrensesnitt Windows (API) tillater direkte kontroll av utgangslinjer, gir direkte kontroll over dem, og har en funksjon for å vente på en hendelse knyttet til en COM-port. Også RS-232-standarden, som COM-portene er laget i henhold til, tillater tilkobling og frakobling av kabler under drift av enheter (hot plug).

Beskrivelse

COM-port (seriell port)- et toveis grensesnitt som overfører data i seriell form (bit for bit) ved hjelp av RS-232-protokollen. Dette er en ganske vanlig protokoll som brukes til å koble én enhet (for eksempel en datamaskin) med andre ved hjelp av ledninger på opptil 30 meter. Nivåene av logiske signaler her er forskjellige fra standard: nivået på den logiske enheten er fra +5 til + 15V, nivået logisk null- fra -5 til -15V, som krever ekstra kretstransformasjoner, men gir god støyimmunitet.

Tenk på en 9-pinners kontakt (DB-9M). Nedenfor er dens pinout:

PIN-kode Navn Signal natur Signal
1 DCD Inndata Databærer oppdager
2 RxD Fridag Overfør data
3 TxD Inndata Motta data
4 DTR Fridag Dataterminal klar
5 GND - Bakke
6 DSR Inndata Datasett klart
7 RTS Fridag Forespørsel om å sende
8 CTS Inndata Fjern for å sende
9 RI Inndata Ringeindikator

Mest av alt vil vi være interessert i pinner 2 (dataoverføring), 3 (datamottak) og 5 (bakke). Dette er minimumssettet for toveiskommunikasjon av enheter.

Jeg skal ikke dvele ved beskrivelsen av protokollen i detalj. For dette er det GOST-er, etc. Derfor vil vi gå videre og snakke om hvordan vi kan kontrollere dette dyret.

applikasjon

Som nevnt er RS-232 LAN-nivåene forskjellige fra standard TTL-nivåer. Derfor må vi på en eller annen måte transformere spenningsverdiene. De. lag 5V ​​fra + 15V og 0V fra -15V (og omvendt). En av måtene (og sannsynligvis den enkleste) er å bruke en spesiell MAX232 mikrokrets. Den er lett å forstå og kan konvertere to logiske signaler samtidig.

Nedenfor er et diagram over dets inkludering:


Jeg tror det ikke burde være noen vanskeligheter. Dette er et av alternativene for å bruke denne mikrokretsen: overføring av data fra en mikrokontroller til en datamaskin og omvendt. Signal sendt går inn i bena T x IN på den ene siden og på R x IN på den andre. Inngangssignaler er hentet fra T x OUT og R x henholdsvis UT.

Programmering

La oss først snakke om portprogrammering på lavt nivå. Dette vil være mer korrekt. Jeg brukte mye nerver på å håndtere dette grensesnittet før jeg begynte å fordype meg i prinsippet om driften på et lavere nivå enn enkel overføring tegn. Hvis dette er klart, betyr det også med språk. høy level det vil ikke være noen problemer.

Nedenfor er adressene til COM-portene som vi må jobbe med:

Portnavn Adresse IRQ
COM 1 3F8h 4
COM 2 2F8h 3
COM 3 3E8h 4
COM 4 2E8h 3

De kan variere. Du kan angi verdiene i BIOS-innstillingene. den baseadresser... Adressene til registrene som er ansvarlige for driften av havnene vil avhenge av dem:

Adresse DLAB Les Skriv Forkortelse Registrer navn
+ 0 =0 Skrive Senderholdebuffer
=0 Lese Mottakerbuffer
=1 Les Skriv Divisor Lås Lav Byte
+ 1 =0 Les Skriv IER Avbryt Aktiver Register
=1 Les Skriv Divisor Latch High Byte
+ 2 - Lese IIR Interrupt Identification Register
- Skrive FCR FIFO kontrollregister
+ 3 - Les Skriv LCR Linjekontrollregister
+ 4 - Les Skriv MCR Modemkontrollregister
+ 5 - Lese LSR Linjestatusregister
+ 6 - Lese MSR Modemstatusregister
+ 7 - Les Skriv Skraperegister

Den første kolonnen er registeradressen i forhold til basisen. For eksempel, for COM1: LCR-registeradressen vil være 3F8h + 3 = 3FB. Den andre kolonnen er DLAB-biten (Divisor Latch Access Bit) som definerer en annen tilordning for det samme registeret. den lar deg operere på 12 registre med kun 8 adresser. For eksempel, hvis DLAB = 1, vil vi, med henvisning til adressen 3F8h, sette verdien til den nedre byten til frekvensdeleren klokkegenerator... Hvis DLAB = 0, vil den overførte eller mottatte byten bli skrevet til dette registeret med henvisning til samme adresse.

Null register

Det tilsvarer registrene for mottak / overføring av data og innstilling av generatorens frekvensdelerkoeffisient. Som nevnt ovenfor, hvis DLAB = 0, brukes registeret til å skrive mottatte / overførte data, hvis det er lik 1, blir verdien av den lave byten til klokkegeneratorens frekvensdeler satt. Dataoverføringshastigheten avhenger av verdien av denne frekvensen. Den høye byten til divisoren skrives til neste minneplassering (dvs. for COM1-porten vil den være 3F9h). Nedenfor er avhengigheten av baudraten på delefaktoren:

Interrupt Enable Register (IER)

Hvis DLAB = 0, brukes det som et asynkront adapteravbruddskontrollregister, hvis DLAB = 1, blir den høye byten til klokkegeneratorens frekvensdeler satt i den.

Interrupt Identification Register (IIR)

Et avbrudd er en hendelse der kjøringen av hovedprogrammet stopper og kjøringen av avbruddsrutinen begynner. Dette registeret bestemmer typen avbrudd som skjedde.

Linjekontrollregister (LCR)

Dette er kontrollregisteret.

Bit 7 1 Divisor Latch Access Bit - innstilling av datautvekslingskurs
0 Normal modus (avbruddskontroll, datamottak/overføring)
Bit 6 Simuler linjeskift (sender en sekvens med flere nuller)
Bit 3 - 5 Bit 5 Bit 4 Bit 3 Paritetsvalg
X X 0 Ingen paritet
0 0 1 Odd paritet
0 1 1 Til og med paritet
1 0 1 Høy paritet (klebrig)
1 1 1 Lav paritet (klebrig)
Bit 2 Antall stoppbits
0 1 stoppbit
1 2 stoppbiter for 6,7 eller 8 databiter eller 1,5 stoppbiter for 5 databiter.
Bit 0 og 1 Bit 1 Bit 0 Antall databiter
0 0 5 bit
0 1 6 bit
1 0 7 bit
1 1 8 bit

Paritetssjekk innebærer overføring av en bit til - paritetsbiten. Verdien er satt slik at det totale antallet enere (eller nuller) i bitburst er partall eller oddetall, avhengig av innstillingen til portregistrene. Denne biten brukes til å oppdage feil som kan oppstå under dataoverføring på grunn av linjestøy. Mottakende enhet beregner pariteten til dataene på nytt og sammenligner resultatet med den mottatte paritetsbiten. Hvis pariteten ikke stemmer overens, anses dataene for å være overført ved en feil.

Stoppbiten betyr slutten på dataoverføringen.

Modem Control Register (MCR)

Modemkontrollregister.

Bit Betydning
0 DTR linje
1 RTS linje.
2 OUT1 linje (reserve)
3 OUT2-linje (reserve)
4 Kjør diagnostikk når en asynkron adapterinngang er kortsluttet til utgangen.
5-7 Lik 0

Linjestatusregister (LSR)

Et register som bestemmer linjens tilstand.

Bit Betydning
0 Data mottatt og klar til å lese, spyles automatisk når data leses.
1 Overløpsfeil. En ny databyte ble mottatt, og den forrige er ennå ikke lest av programmet. Den forrige byten er tapt.
2 Paritetsfeil, fjernet etter lesing av linjestatus.
3 Synkroniseringsfeil.
4 Forespørsel om å avbryte overføringen "BREAK" oppdaget - lang linje nuller.
5 Senderlagerregisteret er tomt, en ny byte kan skrives til det for overføring.
6 Senderens skiftregister er tomt. Dette registeret mottar data fra holdingsregisteret og serialiserer det for overføring.
7 Tidsavbrudd (enheten er ikke koblet til datamaskinen).

Modemstatusregister (MSR)

Modemstatusregister.

Så det er alt. Ved å bruke disse registrene kan du kommunisere direkte med COM-porten, kontrollere overføring og mottak av data. Hvis du ikke vil rote med minne, kan du bruke ferdige komponenter til ulike programmeringsmiljøer: C ++, VB, Delphi, Pascal, etc. De er intuitive, så jeg tror du ikke bør fokusere på dem her.

I utgangspunktet, da dukket opp personlige datamaskiner, med dem kom på en gang flere ikke Gud vet hva vanskelig, men ganske vellykket fungerte i forbindelse med alle resten av fylling, porter eller kretsgrensesnitt. Kort sagt, porten er metoden for dataoverføring. Det er som en minnecelle. Bare i RAM informasjon registreres og ligger der mens den trengs av et eller annet program, til programmet behandler det (eller selve programmet er fortsatt nødvendig på datamaskinen av noen).

Port og minne

Det vil si at programmet vil lese dataene fra minnet inn i prosessoren, gjøre noe med det, kanskje hente noen nye data fra denne informasjonen, som det vil skrive til et annet sted. Eller det gitte i seg selv vil ganske enkelt bli skrevet om til et annet sted. I alle fall, i minnet, kan informasjon som en gang ble registrert enten leses eller slettes. Cellen er oppnådd som en kiste, stående mot veggen. Og alt minne består av en celle, hver celle har sin egen adresse. Akkurat som kistene stilt opp mot veggen i den gjerrige ridderkjelleren.

Vel, havnen kan også tenkes som en celle. Kun en slik celle bak den har et vindu som fører et sted utover veggen. Du kan skrive informasjon inn i den, og informasjonen vil ta den og fly ut av vinduet, selv om den i noen tid vil være i cellen på samme måte som i en vanlig celle tilfeldig tilgangsminne.

Eller tvert imot, informasjon kan "fly inn" fra vinduet til celleporten. Prosessoren vil se dette og lese denne nye informasjonen som har dukket opp. Og han vil sette det ut i livet - han vil skrive det om et sted, gjenfortelle det sammen med noen andre data. Den kan til og med skrive den til en annen celle. Eller til en annen celleport, så kan denne informasjonen mottatt gjennom den første porten "fly bort" inn i vinduet til den andre porten - vel, det er slik prosessoren vil bestille. Snarere programmet som i dette øyeblikket kommanderer prosessoren og behandler dataene som er skrevet i minnet og som kommer fra portene.

Enkelt og vakkert. Disse portene ble navngitt slik med en gang - I/O-porter. Gjennom noen av dem sendes data et sted, gjennom andre - fra et sted mottatt.

Vel, da begynner bevegelsen i en sirkel. Det er én enhet, og det er en annen. Og nå er det en streng med tegn, som hver består av separate binære biter, og denne strengen må overføres. Hvordan overføre? Det er mulig å umiddelbart overføre et helt tegn langs en linje med 8 ledninger - en ledning = en bit, deretter koden til en annen, deretter en tredje, og så videre, til du overfører hele kjeden.

Og det var mulig å utvide hver bit, ikke i rommet (langs ledningene), men i tid: først overføre en bit av tegnet, deretter den andre, og så videre åtte ganger. Det er klart at i det andre tilfellet, noen ekstra midler slik at symbolene utfolder seg på en slik måte i tid.

Parallell og sekvensiell

Og overføringshastigheten vil være annerledes:

Det viser seg at hvert alternativ har sine egne fordeler, men også sine ulemper.

  1. Åtte bits om gangen (det vil si byte-vis) overføres raskere, men ledningene trenger åtte ganger mer
  2. Send en bit om gangen - du trenger bare ett informasjonsoppslag, men det vil gå 8 ganger tregere.

Så i det første tilfellet ble overføringen kalt parallell, og i det andre tilfellet sekvensiell.

Portgrensesnitt

Og hele systemet med en slik overføring - i det ene tilfellet som dette, i det andre - sånn, kalt grensesnittet... Det ene grensesnittet er parallelt, det andre er serielt. Nesten det samme, porter, en parallell, den andre seriell.

Hvordan er konseptet port forskjellig fra konseptet "grensesnitt"? V moderne teknologi Ord dukker ikke bare opp, de vokser og mottar «opplæring». Og som mennesker kan de bli smale spesialister, eller de kan bli "amatører". Her er et typisk amatørord - "grensesnitt". Fordi det er «en plugg for hvert hull». Grensesnitt er:

Og meningen med ordet er noe mellom noe. Inter - mellom, ansikt - ansikt. Det ble vakkert, derfor brukes det overalt. For eksempel, brukergrensesnitt Windows-systemer- dette er ansiktet på skjermen til systemet, beregnet for kommunikasjon med en person.

Og det består av et bilde tegnet på skjermen + reglene for driften av hvert element i bildet (klikk for eksempel på en knapp på skjermen med musen - den vil klikke) + reglene for reaksjonen til hvert element og hele systemet som helhet + all maskinvare involvert i dialogen (mus, tastatur, skjerm) + alle programmer som gir dialog både fra hele systemets side og fra individuelle enheter (drivere).

De nevnte ikke bare personen, men siden han også er en del av samhandlingen, må han ha kunnskap og ferdigheter for å jobbe i systemet, og for dette finnes det treningsprogrammer, hjelpesystemer... Og ut av alt dette oppstår et vakkert og romslig ord: grensesnitt.

I vårt tema står grensesnittet for ting som er litt enklere.

Dette er maskinvare + programvare overføring + overføringsregler. Maskinvare - forståelig. Men programvaren på datamaskiner og inn moderne virkemidler forbindelser er alltid og overalt. Det skjer til og med slik: For det første, på en eller annen maskinvarebase, opprettes noe funksjonelt, som ikke utføres umiddelbart, men ved hjelp av spesialskrevne programmer... Og alle programmene kan tilpasses.

Og gradvis, mens du jobber ny funksjon(eller en funksjonell blokk), programmene som "gjør" det - og de skiller seg fra maskinvare ved at de lett kan konfigureres - bringes til en eller annen tilstand optimal innstilling... Det trenger ikke å konfigureres lenger. Og så er programmet inn ny verson funksjonsblokk kan erstattes med en maskinvareimplementert erstatning for programvaredelen. For eksempel å "sy" en optimalt fungerende et godt innstilt program permanent minne ... Eller kom med en spesiell logisk diagram, som vil gjøre akkurat det samme som det optimalt innstilte programmet gjorde - uten å vike unna og noen ganger glemme alle de nyttige innstillingene.

Derfor kalles dette grensesnittet ofte - Hardware og software.

Overføringsregler er nødvendig slik at de samme tingene blir forstått (og behandlet) likt i begge ender av interaksjonen. Snakker vi om impulsoverføring? Det betyr at impulsene strengt tatt må være de samme.

For eksempel slik at 1 bit kom i form av +12 eller +15 volt spenningsfall fra null. Og slik at det var i form av et rektangel, eller et skarpt utbrudd - toppen som nødvendigvis ikke var mindre, vel, + 5 volt, og den øvre grensen, for eksempel, er ikke veldig nødvendig å introdusere. Dette er fordi når du sender pulser over en viss avstand elektriske signaler har en tendens til å svekkes og "smøre".

Hvis strengt tatt 12 volt sendes fra den ene enden, kan 3 volt nå den andre, og dette av mottakersystemet kan ganske enkelt betraktes som støy i linjen, og den overførte informasjonen vil gå tapt.

Betydningen av impulsene må også forstås på samme måte. Og impulsene kan være informative, tjeneste, synkronisering. Og generelt sett for eksempel ikke impulser, men rett og slett konstant trykk... Som kan brukes i den andre enden for å drive en liten enhet.

Og selve ledningene, som ble diskutert helt i begynnelsen, bør også forstås på samme måte. Her må jeg si med en gang at det aldri er et eneste innlegg. Til og med telefonen har to ledninger i kabelen, men normalt er det ment at det er fire ledninger i kabelen. Og datagrensesnitt har alltid flere ledere. Noen av dem er informative, noen er tjenester. Og det er dette som bør anerkjennes like i begge ender av interaksjonen. Og ledningene gjenkjennes som? Etter farge, hvis i kabelen og etter plassering, hvis i tilkoblingspinnene.

Port er et enkelt ord og heller ikke helt entydig. Men betydningen er lik: noe som laster noe på noe og sender det et sted. Eller tvert imot det faktum at den aksepterer noe og losser noe fra det. Betydningen er nesten den samme som maskinvare-programvaregrensesnittet, men på en eller annen måte mer kortfattet. Og strengere, som i marinen ("De vil fortelle deg - ikke krangle ... og vi krangler ikke ..."). Bare våre signaler flyter ikke til sjøs, men med kabel.

Pinout av COM-port-kontakter

Pinouten har ingen forbindelse med en pinning, selv om de, som ledninger som løper fritt i en kabelkappe, tas fra hverandre og stivt loddet til pinnene, på samme måte som en pinning. Pin, på engelsk "pin", pin, derfor pinout, ordet er allerede en datakommunikasjon "pro-engelsk" sjargong. Betyr - ulodde ledninger på pinner på kontakten.

Formen på kontakten, rekkefølgen på ledningene (pinnene) i den, formålet med hver pinne, samt spenningsklassifiseringene og betydningen av signalene i hver er en del av grensesnittet. Vanligvis er all denne informasjonen samlet i et eget dokument som kalles en portspesifikasjon. Et så enkelt og greit én-sides skilt. I andre typer grensesnitt kan noe slikt kalles en "protokoll". Og her kalles de ganske enkelt "pinout".

Serielle COM-porter

COM-porter på en datamaskin er kommunikasjon av et "langdistanse" datamaskinkompleks. I motsetning til parallellporter og kabler som førte til "tunge" enheter - skrivere, skannere, Com-porter koblet "lette" enheter til en datamaskin - en mus, et modem. Første grensesnitt mellom datamaskiner (via "null-modem"). Lengre, ved spredning lokale nettverk , og musene begynte å kobles til via den samme kontakten som tastaturet - port ps / 2 (halv-og-halvt) - com-porten ble på en eller annen måte glemt.

Renessansen kom med fremveksten av en konsistent USB-grensesnitt... Så bevegelsen i en sirkel viste seg. Nå på USB kan du finne, i tillegg til flash-stasjoner, og USB-shny mus, og USB-shny "tastatur". Skrivere, skannere, modemer - alt periferiutstyr er nå på USB, har glemt tykke og solide parallelle LTP-kabler, som var nødvendig i påbudt, bindende skru på 2 bolter på hver side. Og det er to signalledninger i disse USB-ene (faktisk er det en kanal, ett direkte signal, det andre er det samme - omvendt) og to - strømforsyning og etui.

Tidligere var det flere COM-serieporter. Den minste – og den mest etterspurte 9-pins port (D9), som de fleste enhetene var koblet til: mus, modemer, nullmodemkabler... Kontakter ble plassert i to rader, 5 og 4 på rad, en trapes ble oppnådd. Derfor navnet D9. På "mamma" gikk nummereringen fra venstre til høyre og fra topp til bunn:

1 2 3 4 5

Uloddet COM-port, port RS232, 9 pinner.

Betegnelse Type av Beskrivelse
1 DCD inngang Høyt nivå fra modemet når det mottar operatøren til partnermodemet
2 RxD inngang Innkommende datapulser
3 TxD Produksjon Utgående datapulser
4 DTR Produksjon Et høyt nivå (+ 12V) indikerer at datamaskinen er klar til å motta data. Den tilkoblede musen brukte denne pinnen som strømkilde.
5 GND Generell Jord
6 DSR inngang Klar til å sende data per enhet
7 RTS Produksjon Responsen til enheten - partner
8 CTS inngang Beredskap til å motta data fra en partner
9 RI inngang Signal som informerer datamaskinen om innkommende anrop mottatt av modemet fra kommunikasjonslinjen

Seriell port er en I/O-enhet. Som en I/O-enhet er det bare en bane for overføring av data fra og til en datamaskin. det er også mange andre I/O-enheter som serielle porter, parallellporter, diskkontrollere, nettverkskort, universelle serielle enheter USB-buss, etc. De fleste datamaskiner har en eller to serielle porter... Hver har en 9-pinners kontakt (noen ganger 25-pinners) (fig. 1) på baksiden systemenhet datamaskin. Programmer kan sende data (bytes) via utgangspinnen og motta bytes via en annen inngangspinne. Alle andre kontakter er for kontroll og jording.

) er mer enn bare en kobling. Den konverterer data fra parallell til sekvensiell og endrer den elektriske representasjonen av dataene. Inne i en datamaskin overføres databiter parallelt (flere ledninger brukes til å overføre data samtidig). En seriell datastrøm er en sekvens av biter over bare én ledning (for eksempel overførings- og mottaksdataledningen på en seriell portkontakt). For dette tjener denne enheten til å lage en slik datastrøm fra en parallell form til en seriell (inne i en datamaskin) og overføre den til en dataoverføringskontakt (og følgelig omvendt).

Flertall elektroniske komponenter seriell port er konsentrert i én databrikke (mikrokrets) kalt UART.

Kontakter og ledninger

Eldre datamaskiner bruker 25-pinners kontakter, men det brukes faktisk bare 9 pinner i dag. Hver av de 9 pinnene er vanligvis koblet til en ledning. med unntak av to ledninger for overføring og mottak av data, resten brukes til kontroll og jording. Spenningen over hver av pinnene og ledningene måles i forhold til signaljorden. Derfor er minimum antall ledninger for toveis dataoverføring 3. I sjeldne tilfeller kan to ledninger være nok for drift (uten signaljording), men dette kan føre til dårlig ytelse, og noen ganger til feil i dataoverføring.

Det er fortsatt noen få ledninger som kun er beregnet på kontroll (overvåking) og som ikke brukes til dataoverføring. Alle disse signalene kan overføres på en enkelt linje, men i stedet er det tildelt separate ledninger. Noen (eller alle) av disse signallinjene kalles "modemstatuslinjer". Statuslinjene kan være i en av to tilstander satt (på) +12 volt eller tilbakestilt (av) -12 volt. En av disse ledningene signaliserer datamaskinen til å slutte å sende data over den serielle porten. Andre signaliserer på sin side at enheten koblet til serieporten skal slutte å overføre data til datamaskinen. Hvis den tilkoblede enheten er et modem, kan de gjenværende linjene indikere til modemet at det må oppta telefonlinjen eller signalisere til datamaskinen at en tilkobling er opprettet eller at det er et anrop til telefonlinje(det betyr noe å koble til datamaskinen). Se delen Kontakter og signaler for mer informasjon.

RS-232 eller EIA-232, etc.

Seriell port) (ikke å forveksle med USB) er generelt i samsvar med standarden RS-232-C, EIA-232-D, eller EIA-232-E... Dette er tre syn på det samme. Hovedstandarden RS (Recommended Standard) fikk prefikset EIA (Electronics Industries Association) og senere EIA / TIA etter at EIA ble slått sammen med TIA (Telecommunications Industries Association). EIA-232-spesifikasjonen dekker også synkron dataoverføring, men i de fleste tilfeller støttes ikke synkron dataoverføring av brikker i datamaskiner. RS-betegnelsen er foreldet, men den er fortsatt mye brukt i dag. EIA vil bli brukt oftere på hele denne siden. Noen dokumenter bruker den fullstendige EIA / TIA-betegnelsen.

Datautveksling (baudhastigheter)

Data (bytes som utgjør bokstaver, bilder osv.) går gjennom den serielle porten. Datahastigheter (som 56k (56000) bps) kalles (feilaktig) "hastigheter". De fleste sier feilaktig "hastighet" i stedet for "hastighetsforhold".

Det er viktig å vite det gjennomsnittshastighet dataoverføringer er ofte mindre enn det maksimale som er oppgitt. Det er forsinkelser (eller venteperioder) og som et resultat blir hastigheten lavere. Disse forsinkelsene kan øke avhengig av typen dataoverføringsovervåking. Selv i beste tilfelle det er alltid forsinkelser mellom byte, selv om de er små (noen mikrosekunder). Hvis enheten koblet til datamaskinen via den serielle porten ikke kan fungere på full hastighet, bør gjennomsnittshastigheten reduseres.

Dataoverføringskontroll

Dataoverføringskontroll betyr muligheten til å begrense dataoverføringen gjennom den serielle porten. Til seriell port dette betyr muligheten til å stoppe og deretter gjenoppta dataoverføring uten å miste byte.