Denne artikel vil forklare de følgende emner i detaljer:
1) Trin 1: Forstå RS232-Forbindelse og Signaler
2) Trin 2: Lær om Protokollen
3) Trin 3: Kontrol din RS232 enheder ved hjælp af 232Analyzer

Efter at have læst denne side, du bør være i stand til at forstå de fleste af hardware og software (protokol) standarder for RS232., Hvis du har en chance for at teste dine RS232-enheder med 232analy .er-soft .aren, skal du være i stand til at kontrollere dine RS232-enheder på kort tid.

Trin 1: Forstå RS232 Forbindelse & Signaler

RS-232C, EIA RS-232, eller blot RS-232, refererer til den samme standard, der er defineret af Electronic Industries Association i 1969 til seriel kommunikation.

DTE-og DCE –

DTE står for Data terminaludstyr. En computer er en dte. DCE står for Datakommunikationsudstyr. Et modem er en DCE.,

DTE leveres normalt med et hanstik, mens DCE leveres med et Hunstik. Det er dog ikke altid sandt. Brug den enkle måde nedenfor til at bekræfte: mål Pin 3 og Pin 5 på et DB-9-stik med en voltmeter, hvis du får en spænding på-3V til-15V, så er det en dte-enhed. Hvis spændingen er på Pin 2, så er det en DCE-enhed.

Bemærk: resultatet for et DB-25-stik vendes (se DB-9 til DB-25-konverteringstabel nedenfor).

RS-232 Pin outs (DB-9)

et mandligt DB-9-stik set forfra., Omvendt eller bagfra af hanstik til Hunstik.,div>7

4 RTS Request to Send 8 5 CTS Clear to Send 9 22 RI Ring Indicator

RS-232 Connections

A straight-through cable is used to connect a DTE (e.,g. computer) til en DCE (f.eks. modem), alle signaler i den ene side forbundet til de tilsvarende signaler i den anden side i en en-til-en basis. Et crossover-kabel (null-modem) bruges til at forbinde to dte direkte uden et modem imellem., De krydser sende og modtage data signaler mellem de to parter, og der er mange variationer af, hvordan de andre styresignaler er koblet, nedenfor er et af dem:

RS-232 Signaler

RS-232 Logik Bølgeform (8N1)

grafikken ovenfor illustrerer en typisk RS-232 logik bølgeform (Data format: 1 Start-bit, 8 databit, Ingen Paritet, 1 Stop bit)., Datatransmissionen starter med en startbit, efterfulgt af databitene (LSB sendt først og MSB sendt sidst), og slutter med en “Stop” bit.

spændingen af logik “1” (Mark) er mellem-3VDC til-15VDC, mens logikken “0” (mellemrum) er mellem +3VDC til +15VDC.

RS-232 forbinder jorden på 2 forskellige enheder sammen, hvilket er den såkaldte “ubalancerede” forbindelse. En ubalanceret forbindelse er mere modtagelig for støj og har en afstandsbegrænsning på 50 ft (hvilket er omkring 15 meter).,

Trin 2: Lær om protokollen

en protokol er et eller et par sæt hard .are-og soft .areregler, som alle kommunikationspartier har aftalt for at udveksle data korrekt og effektivt.

synkron og asynkron kommunikation

synkron kommunikation kræver, at afsender og modtager deler det samme ur. Afsenderen giver et tidssignal til modtageren, så modtageren ved, hvornår man skal “læse” dataene. Synkron kommunikation har generelt højere datahastigheder og større fejlkontrol kapacitet. En printer er en form for synkron kommunikation.,

asynkron kommunikation har ingen timing signal eller ur. I stedet indsætter det Start / Stop bits i hver byte af data for at “synkronisere” kommunikationen. Da det bruger mindre ledninger til kommunikation (ingen kloksignaler), er asynkron kommunikation enklere og mere omkostningseffektiv. RS-232 / RS-485 / RS-422 / TTL er formerne for asynkron kommunikation.

boring ned: Bits og Bytes

intern computerkommunikation består af digital elektronik, repræsenteret af kun to betingelser: til eller fra., Vi repræsenterer disse med to tal: 0 og 1, som i det binære system betegnes lidt.

en Byte består af 8 bit, som repræsenterer decimaltal 0 til 255 eller he .adecimalt tal 0 til FF. Som beskrevet ovenfor er en byte den grundlæggende enhed for asynkron kommunikation.

baudrate, databit, paritet og Stop bit

baudhastigheden er den kommunikationshastighed, der måler antallet af bitoverførsler pr. For eksempel er 19200 baud 19200 bits per sekund.

databit er en måling af de faktiske databit i en kommunikationspakke., For eksempel viser ovenstående grafik otte (8) databit i en kommunikationspakke. En kommunikationspakke refererer til en enkelt byte overførsel, herunder Start / Stop bits, databit og paritet. Hvis du overfører en standard ASCII-kode (0 til 127), er 7 Databits nok. Hvis det er en udvidet ASCII-kode (128 til 255), kræves der 8 databit.

paritet er en enkel måde at fejl-check. Der er lige, ulige, Mark og plads indikatorer. Du kan også bruge ingen paritet., For lige og ulige paritet indstiller den serielle port paritetsbiten (den sidste bit efter databiten) til en værdi for at sikre, at datapakken har et lige eller ulige antal logikhøje bits. For eksempel, hvis dataene er 10010010, for jævn paritet, indstiller den serielle port paritetsbiten som 1 for at holde antallet af logiske høje bits lige. For ulige paritet er paritetsbiten 0, så antallet af logiske høje bits er ulige. Mark paritet blot sætter paritet bit til logik-høj og Space sætter paritet bit til logik-lav, så den modtagende part kan afgøre, om dataene er beskadiget.,

Stop bits bruges til at signalere slutningen af en kommunikationspakke. Dette hjælper også med at synkronisere forskellige ure på de serielle enheder.

Handshaking (Flo.Control)

Handshaking kaldes også “Flo. Control”. Hovedformålet med håndtryk er at forhindre overbelastning af modtageren. Ved at bruge Håndtrykssignaler vil modtagere kunne fortælle sendeenheden at sætte dataoverførslen på pause, hvis modtageren er overbelastet. Der er tre typer af handshaking: soft .are handshaking, hard .are handshaking og begge.

soft .are handshaking bruger to kontrol tegn: Andon og andoff., Modtageren sender disse kontrol tegn til pause senderen under kommunikation. Decimalon er decimal 17 ogoffoff er decimal 19 i ASCII-diagrammet. Ulempen ved soft .are handshaking er, at disse to kontrol tegn ikke kan bruges i data. Dette er meget vigtigt, når du sender binære data, som du måske nødt til at bruge disse to koder i dine data.

Hardware-handshaking gør brug af den faktiske hardware linjer, såsom RTS / CTS, DTR / DSR, og DCD / RI (for modem).

i dte / DCE-kommunikation er RTS (anmodning om at sende) et output på dte og input på DCE., CTS (klar til at sende) er telefonsvarersignalet, der kommer fra DCE. Før du sender en data, spørger DTE tilladelse ved at indstille sin RTS-udgang til høj. Der sendes ingen data, før DCE giver tilladelse ved hjælp af CTS-linjen. Dte bruger DTR-signalet (Data Terminal Ready) til at indikere, at det er klar til at acceptere information, mens DCE bruger DSR-signalet til samme formål. DTR/DSR er normalt tændt eller slukket for hele forbindelsessessionen (f.eks. Off-hook), mens RTS/CTS er tændt eller slukket for hver dataoverførsel., DCD (Data Carrier Ready) bruges af modemet, når der er etableret en forbindelse med fjernudstyr, mens RI (Ringindikator) bruges af modemet til at indikere et ringesignal fra telefonlinjen.

dataformater (binære, he., Dec, Oct og ASCII)

serielle enheder bruger binære til kommunikation, som består af kun to unikke tal: 0 og 1.

binær er Base-2 nummereringssystemet. En byte af data består af 8 binære cifre, fra 0000 0000 til 1111 1111. He .adecimal er base-16-systemet, der består af 16 tal: 0 til 9 og bogstaverne A til F (decimaltal 15).,

Det Hexadecimale system til nummerering er nyttigt, fordi det kan repræsentere hver byte som to på hinanden følgende hexadecimale cifre, og det er lettere for mennesker at læse Hexadecimal tal end Binære tal. De fleste producenter bruger he .adecimal i deres protokoldokumentation. Det er nemt at konvertere en værdi fra He .adecimal til binær. Oversæt bare hvert he .adecimalt ciffer til dets 4-bit binære ækvivalent. F. eks.er HE .adecimalt tal F3 lig med binært tal 1111 0011.

Decimal henviser til tal i base 10, som er det nummereringssystem, vi bruger mest i hverdagen., Det er ikke så nemt som HE .adecimal og oktal til Konverter Decimal til binært tal, men det er lettere for os at forstå Decimal.

oktal refererer til base-8 nummereringssystemet, der bruger kun otte unikke symboler (0 til 7). Programmører bruger ofte Oktalformat, fordi det er relativt let for folk at læse og let kan oversættes til binært format: hvert Oktalciffer repræsenterer 3 binære cifre. F. eks.oktal nummer 73 er lig med binært nummer 111 011.ASCII (American Standard Code for Information Interchange) er et tegnsæt baseret på det engelske alfabet., ASCII-koder (både læsbare og ulæselige) bruges i vid udstrækning i kommunikation, såsom Modemkommunikation. Bogstaverne A til Z og numrene 0 til 9 er læsbare ASCII-koder. Nogle ASCII-koder er ulæselige, såsom kontrolkoderne: Andon og andoff, som bruges i Soft .are Flo.control.

Checksum

mange serielle protokoller bruger checksum (ekstra bytes tilføjet i slutningen af datastrengen) til at kontrollere dataintegriteten, da der kan opstå fejl under dataoverførsel. Der er mange typer checksum, fra de enkleste anvendelser af det i Modula eller BCC til sofistikeret CRC-beregning., Ved hjælp af Modula som et eksempel lærer vi, at før dataoverførsel tilføjer afsenderen alle kommandobyte sammen og derefter mod den med 255 (decimal) for at få en ekstra byte. Dette skal tilføjes i slutningen af kommandostrengen. Når modtageren modtager kommandostrengen, vil den først kontrollere den tilføjede byte for at se, om data forbliver uændrede eller ej. Hvis det er tilfældet, vil det acceptere dataene, og hvis ikke, vil det bede afsenderen om at sende dataene igen.

eksempler på protokolkommandoer

en protokolkommando er en datastreng sendt fra en seriel enhed (f. eks. en Computer) til en anden (dvs., modem). Her er nogle eksempler:

ASCII-kommandoeksempel: ATI1 for at forespørge Modemproducentens oplysninger. (Bemærk: er kontrol koder for transport retur og Line Feed).,mal og det bliver: 41 54 49 31 0D 0A

Konverter kommandoen string ovenstående til Decimal, og det bliver: 065 084 073 049 013 010

Konverter kommandoen string ovenfor for at Oktal og det bliver: 101 124 111 061 015 012

Konverter kommandoen string over til Binære og det bliver: 01000001 01010100 01001001 00110001 00001101 00001010

Trin 3: Kontrol din RS232 enheder ved hjælp af 232Analyzer

232Analyzer er en Avanceret Seriel Port Protokol Analysator software, som giver dig mulighed for at kontrollere / debug monitor / snuse serielle enheder (RS-232 / RS-485 / RS-422 / TTL) direkte fra din PC., 232analy .er er en share .are, den gratis version har en vis begrænsning, men er mere end nok til at teste og kontrollere dine serielle enheder. Klik her for at do .nloade en gratis kopi.

Checksum beregning

232Analyzer kommer med en Checksum calculator, som giver dig mulighed for at beregne den komplicerede kontrolsumbyte i sekunder, her er et eksempel:

lad os Antage, at du kontrollerer en projektor, og projektoren protokol anvender xOR for at få yderligere kontrolsumbyte, kommandostreng for at tænde projektoren er: “1A 2B 3C” plus kontrolsumbyte., Brug følgende procedurer til at beregne kontrolsumbyte:

  1. Vælg Hex som en operander format
  2. Vælg xOr som en operator
  3. indtast kommandoen string og tilføj et komma (,) efter hver byte af kommando-kode: fx, 1A,2B,3B,
  4. Klik på “Beregn” – knappen og du vil få resultatet af 0D (0 er udeladt)

Vælg COM-port Opsætning og kommunikation formater

Bemærk: Efter at du har indstillet den korrekte meddelelse formater (de skal matche med projektorens indstillinger for COM-port), skal du klikke på “Connect” knappen til venstre for at aktivere den COM-port.,

Flow-kontrol-indstillinger

Styre din RS232-enheder

  1. Kontrol / Overvågning Linje Stater

    232Analyzer giver dig mulighed for at styre / overvåge linje stater af din COM-porte.

    1. Linjetilstande for RTS og DTR vil blive slået til, når den respektive LED klikkes, du kan bruge en spændingsmåler til at verificere ændringerne, du skal få +6V til +15V, når linjetilstanden er tændt, og-6V til-15V, når linjetilstanden er slukket.,
    2. andre linjestater kan overvåges gennem den virtuelle DS, såsom R., T., DSR, CTS, DCD og RI.
  2. Send / Modtag-kommandoer

    Bruge ovennævnte eksempel til at styre en projektor (tænd for projektoren), skal du indtaste den komplette kommandoen string “1A,2B,3,0D,” i Send_Command_Pane som vist ovenfor, og klik derefter på “Send” knappen…

    noter:

    1. i den gratis version er HE. – tilstand ikke tilgængelig., Du kan bruge decimalformat til at sende kommandostrengen: “26,43,60,13,”
    2. du kan bruge en hvilken som helst RS-232-enhed til test, så længe du kender protokolkommandoerne.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *