Sådan RS232 værker

Hvordan RS232 værker : RS232 definerer en protokol, der beskriver, hvordan en strøm af data bits issequentially overføres på en ledning, dvs en smule strøm. Rækkefølgen ogbetydningen af hver bit er defineret af protokollen. Den enkle forklaring nedenfor er tilstrækkelig til at forstå RS232 – ingen grund til at læse en stor manual!,

RS232 er en seriel informationsoverførselsprotokolstandard, der definerer både protokollen (metode til transmission af data) ogfysisk hard .are til at gøre det. Dette dokument beskriver, hvordan det fungerer påfysisk niveau, så du ved, hvilke signaler du kan forvente at se påmicrocontroller pins.

Hvad er RS232?,

Fundamentalt det er en metode til overførsel af data på tværs af en enkelt ledning (youneed to ledninger for at få data tilbage, da hver wire overførsler af data i en directiononly):

Det er en metode (eller protokol – en aftalt standard), der definerer, hvordan totransfer data mellem to enheder ved hjælp af et par ledninger. Det bruger en serialtransmission metode, hvor bytes af data udsendes en bit ad gangen på asingle wireire.

data overføres kun i onen retning for hver ledning, så for tovejskommunikation (to retninger) har du brug for to ledninger., Så dette er ikke et multidrop lan-kommunikationssystem som RS485, men en punkt-til-punkt-protokol.

disse to sammen med en jordreference (i alt: tre ledninger) udgør den mindste konfiguration, som du kan slippe af sted med.Bemærk: For mere pålidelig kommunikation over lange afstande skal du muligvis bruge andre forbindelser defineret i RS232-standarden, såsom DTR DCT osv. håndtryk signaler osv.

mere formelt RS232 er en asynkron kommunikationsprotokol, der lader digoverfør data mellem elektroniske enheder.,

grundlæggende kan det overføre en enkelt byte data over et serielt kabel, der har mellem 3 og 22 signaler og kører med hastigheder fra 100 til 20k baud. Commonbaud anvendte satser er 2.4 K, 9.6 k, 19.2 k, kabellængden kan være op til 50ft. Højere baudhastigheder bruges, men er ikke dækket af standarden, de stadig virker, f.eks. 38400.57600 Baud (bits/s).

for at overføre en blok af data overføres individuelle bytes en efter en anden.,

dette afsnit beskriver, hvordan RS232 fungerer generelt uden at beskrivehandshake metoder – kun det enkleste system er beskrevet – dette er det mest nyttigt og mest sandsynligt at arbejde!.

Handshake-signaler, der har brug for ekstra niveau oversættelse hardware (en RS232chip med, at flere i/O) og selv simple er ikke typisk kræves forPC til udvikling bord drift. Du kan få brug for dem til systemer, der styrer flere enheder, hvor du muligvis midlertidigt skal stoppe data fra en enhed. Der er et afsnit om håndtrykssignaler senere i dette dokument.,

data overføres serielt i en retning over et par ledninger. Datagoing out er mærket T. (indikerer transmission), mens data, der kommer i islmærket r. (angiver modtagelse). At oprette et tovejskommunikationssystem der kræves mindst tre ledninger T., R. og GND (jord). Krydsning over T.& r. mellem de to systemer lader hver enhed tale med den modsatte.

Bemærk: hvert signal (T and og R.) kræver en niveauoversætter, da der anvendes højspændinger til overførsel af data til ledningerne (typisk output fra 5 5V til 25 25V).,

hver byte kan overføres til enhver tid (så længe den forrige byte er blevet transmitteret). Den transmitterede byte synkroniseres ikke med modtageren-det er en asynkron protokol, dvs.der er ikke noget kloksignal. Af denne grundsoft .are i hver ende af kommunikationslinket skal oprettes nøjagtigt det sammeså hver seriel dekoderchip kan afkode den serielle datastrøm.


Bemærk: signal niveau inversion (logik 1er -12V og logik er 0 +12V).,

baudrate

hvordan RS232 virker i forholdet mellem baudrate og Signalfrekvens.

baudhastigheden er simpelthen transmissionshastigheden målt i bits pr second.It definerer hyppigheden af hver bitperiode.

For en baudhastighed på 2400 (2400 bps) er frekvensen 2400h.og bitperiod er 1/2400 eller 416.6 us. Dette er de oplysninger, som en modtager bruger tilgendanne bitene fra datastrømmen.,

Sådan fungerer RS232 – spændingsniveauer

for at få det til at fungere over lange kabler sendes høje spændinger fra hvertransmitter, da spændingen på grund af kabelmodstand reducerer den yderligere signal skal rejse. Udgangsspændingsspecifikationen er fra + 5V til + 25V (transmitterende en logisk nul) og-5V til-25V (transmitterende en logisk).bemærk: alle signaler i kablet skal generere de samme spændingsniveauer, f.eks.DTR, DSR, RTS, CTS. Så du har brug for en masse level translator chips til en fuldinterface men for meget korte afstande behøver du kun T.og R. og ground.,

den maksimale spænding på 25 25V behøver ikke bruges, og en fælles spænding i brug er 12 12V (output af MA .232 transceiverchip).

et mærke (logisk) sendes som-12V, og et mellemrum (logisk nul) sendes som+12V, dvs.logisk forstand er omvendt.

Bemærk: det faktum, at der findes høje spændinger i den serielle port, tillader detstrømningsenheder, som du normalt ikke ville forvente at finde på den. Men debør trække meget lidt strøm.

Modtagerspændingsniveauer

på modtageren input minimumspændingsniveauerne er defineret som ±3V dvs., at modtage en logik nul-spændingen skal være større end 3V og at modtage en logik, en thevoltage skal være mindre end -3V. Dette giver mulighed for tab, som det signal, travelsdown kabel og giver støj-immunitet, dvs. falsk støj op til alevel på ±3V kan tolereres uden at det har nogen virkning på modtageren.

Sådan fungerer RS232 – TheRS232 startbit

protokollen beskrives som asynkron, da der ikke er noget ur transmitteret overhovedet. I stedet anvendes en anden metode til urgendannelse.,

i begyndelsen af hver transmission sendes en startbit, der indikerer til modtageren, at en byte af data er ved at følge. Da tomgangstilstanden for RS232-linjerne er lav (- 12V) for at signalere en starttilstand, indstilles linjen højt (+12V) i 1 bit-periode. Det betyder, at en overgang på linjen altid ergenereret, så en modtager ved, hvornår 1. kant af dataene burstopstår.

startbit lader modtageren synkronisere med databitene, da den kan se signalets stigende kant på linjen., Hvad dette betyder er, at thereceiver kan oprette sin egen prøve ur i midten af hver bit – at afgøre, om bit er faktisk en data nul eller data en.

når startbit er fundet, ved modtageren, hvor de følgende bits vil være, da den får prøveperioden (afledt af baudhastigheden) som en del af initialiseringsprocessen. Det er derfor, du skal indstille de samme indstillinger inboth modtageren og senderen hard .are dvs baud rate, antal stop bits, antal databit, og paritetsbit (til eller fra)., Hvis youdon ‘ t så normalt intet vil ske – eller du vil se rubbishcharacters på modtageren.

Sådan fungerer RS232 – Databitene

databit følger startbit. Der vil normalt være syv eller otte databits med lsb transmitteret først. Grunden til at du kan vælge mellem seven oreight er, at ASCII består af alfabetet inden for de første syv bits (såvel som kontroltegnene). Den ottende bit udvider tegnsættet tilgrafiske symboler.

Hvis du kun vil sende tekst, behøver du kun 7 bits., Dette sparer abit og øger transmissionshastigheden ved transmission af store blokke af data.Andre data bit størrelser er 5, 6, 8 og 9 bit. Dog er bitlængden normaltsæt til 8 bit-dette bruges meget ofte.

TIP: da de fleste moduler er i stand til at håndtere ni bits, kan du definere en brug for den niende bit, såsom at indikere, at datapakken definerer en kommando. Men selvfølgelig skal du justere din modtager soft .are tilbehandle disse oplysninger.Bemærk: Hvis du bruger RS232 til at overføre rådata (binære data), skal du bruge 8 Databits.,

Sådan fungerer RS232 – Paritetsbiten

RS232 paritetsbiten er en rå fejldetekteringsmekanisme.Du kan bruge enten ulige paritet eller endda paritet eller slet ingen (i diagrametover er en paritetsbit inkluderet (mellem den sidste data bit og stop bit-her er pariteten angivet som en ‘1’, hvilket betyder, at der er et ulige antal afdatabits. Så pariteten i brug er ulige paritet. Diagrammet nedenfor (almindeligt anvendti mikrocontroller arbejde) bruger ikke en paritetsbit.,

det evaluerer blot alle databit og for ulige paritet returnerer en logik enhvis der er et ulige antal databit, der er indstillet. For jævn paritet et jævnt antal databit, der er indstillet, indstiller paritetsbiten.

Ved modtageren bruges paritetsbiten til at fortælle, om der opstod en fejl under transmission. Du kan bruge dette i modtagersoft .aren ved at læse et flag iuart-modulet.

problemet med fejlregistrering ved hjælp af paritetsbiten er, at hvis to bitsare fejler, fejler paritetskontrollen., Dette skyldes, at hver fejl annullerervirkningen af den anden (hvad angår paritetsberegningen). Ethvert jævnt talaf fejl forårsager en fejl i fejldetektering.

det vil ikke være et problem på en bænk top baseret system (der ikke har nogen kritisk datatransfer). 6ft vil du sandsynligvis ikke se nogen fejlany .ay. Normalt bruger jeg ingen paritet, og der er slet ikke noget problem.

for systemer, der kører over lange afstande eller i støjende omgivelser, bør der anvendes et bedre system, f.eks. tilføjelse af en cyklisk redundanskontrol til datastrømmen, før og efter den sendes over RS232., CRCs giver dig mulighed for at tjekke for og korrektret få fejl uden at overføre dataene igen.

Sådan fungerer RS232 – Stopbit

RS232 stop bit giver blot en periode, før ne .t start bit kan overføres. Det er den modsatte forstand til startbitog på grund af dette tillader startbit at ses, dvs.en stopbit fulgt afen startbit giver altid et stigende kantsignal til detektion af modtageren.

Hvis der ikke var nogen stopbit, ville den sidste bit i datastrømmen være theparity bit (eller data bit, hvis paritet ikke er aktiv)., Dette ville ændre dependingon de data, der sendes, så hvis det havde den samme mening som start bit så startbit kunne ikke ses!

stop bit kan indstilles vælge mellem 1, 1.5 eller 2 bit perioder.

Ved meget høje baudhastigheder vil perioden fra stop bit til start bit(forudsat at data sendes kontinuerligt) være meget lille, f.eks. for en baudrate på 115200 baud tiden til en bit er 1/115200 = 8,26 us, så ved at bruge 2 bit perioder vil du øge tiden til 16,5 us., Dette canallo.modtageren til at registrere start bit lettere, da hvis der er kapacitans på linjen bølgeformer vil udvise en CR stigning fald tid. Forlængelse af tidsperioden tillader mere Kapacitiv belastning. Men italso afhænger af modtageren hard .are, der anvendes.

Typiske Indstillinger

Typisk indstillinger til brug på skrivebordet, fx mellem en microcontroller og aterminal emulator program som “Tera Sigt”:

Hvordan RS232 værker : Typisk Baud ratesettings.,
Baud 9600
Data bits 8
Parity None
Stop bits 1
Flow Control None

This can also be compactly written as:

9600 8N1

Hardware Connections 3 (Rx,Tx,GND) – Rx and Tx crossed over.,

“Flo.control” i ovenstående liste henviser til en hard .are Flo. control signalering metode, der bruger signalerne DTR/DSR og RTS/CTS. Se her for mere om det.

Hvordan RS232 Værker – Signal Niveauer

På et tidspunkt, du måske ønsker at gøre en software UART-måske for at spare codespace i dit nuværende design (måske behøver du ikke modtager en del – som youare bare output variabler) eller for at bruge en ekstra pin-kode.

Bemærk: du kan finde modtage og transmitsoftware USART kode i 12F675 Tutorialpages.,

for at oprette det har du brug for de faktiske signaldiagrammer, som du ser påmicrocontroller pin (mærkeligt nok er det svært at finde på nettet).

følgende diagram viser den tidsindstillede 0V-og 5V-bitstrøm ved outputstiften til mikrocontrolleren. Det nederste diagram viser de oversatte signalniveauer klrs232-udgangsdrivere, der transmitteres over det serielle kabel.

disse højere niveauer genereres ved at sende 0-5V logikniveauerne til atransceiver chip f. eks., MA .232, som har en diode/kondensator boost conveter indbygget, der øger signalniveauerne til den krævede RS232 voltageof 12 12 volt. Bemærk hvordan – 12V niveauet svarer til en logisk ‘ 1 ‘ og + 12Vlevel svarer til en logisk ‘0’.

Bemærk: udgangsspænding niveau kan være fra ±5 ±25V. Forlonger afstande en højere spænding, er det nyttigt at opveje det tab, som signaltravels ned af det kabel, men til praktisk brug chips generere lavere spændinger, såsom ±12.,

Hvordan RS232 virker, når den sender acharacter

lavere bølgeform i bove ovenstående diagram viser den RS232signal, at du vil se, ved hjælp af et oscilloskop på udgangen kørsel ofa oversætter chip som den MAX232. Bemærk, at RS232 idlevoltage er -12V,

RS232-Ur

ovenstående diagram viser også RS232 timingdiagram, hvor hver bit periode er 1/frekvens, så for abaud rate på 9600 bps (bits per sekund) den periode, hvor hver bit er 1/9600 or104.,166us dette er effektivt RS232 ur periode, der kræves for specificbaud rate i brug.

RS232 bølgeform

i diagrammet ovenfor viser den nederste bølgeform RS232-spændingsignal, som du kan forvente at se ved udgangen af RS232 t. – stiften(også de samme niveauer på R. – stiften) på et oscilloskop. I nogle chips er det maksimale signalniveau muligvis ikke 12 12V-MA. – og minspændingen kan være mindre (da der ikke vil være et stort spændingsfald over korte afstande)., For lange afstande skal disse være 12 12V – ved enden af et langt kabel vil spændingen falde ned over kabelens modstand, men skal være mere end 3 3V i den anden ende.

kablet kapacitans vil også bremse de stigende og faldende kanter – afrundingthem off.

Sådan fungerer RS232 – Håndtrykssignaler

Håndtrykssignaler er simpelthen en metode til at stoppe data, der flyder. Hvis en del af systemet er optaget, kan det muligvis ikke acceptere flere data, og i stedet for at miste det bruges signaler i hver ende af linket til at fortælle den anden ende for at stoppe transmission af data., Der er to typer usedin RS232: hard .are håndtryk og soft .are håndtryk.

hard .are håndtryk

  • DTR – Data Terminal klar.
  • DSR – datasæt klar.
  • RTS-anmodning om at sende.
  • CTS-klar til at sende.

Hvis du bruger disse signaler, så skal de indberettes på theRS232 niveauer, dvs ±25V (eller hvad spænding er genereret af thetranslator chip fx ±12V dvs det samme som TX-udgang, så du har brug for et RS232-chip med mere niveau oversættere til at både sende og receivethe signaler.,

Husk, at den protokol, der var baseret på et modem (DCE eller DataCommunication Udstyr), der sidder på et skrivebord, og en tilsluttet (via RS232)på PC ‘ en (DTE eller Data Terminal Equipment) – controlleren. Der er endda en ringindikator (RI), der signalerer, når telefonen ringede, kablet direkte til telefonlinjen, hvilket ville tillade automatisk modemdetektion af en indgående datastrøm.

hvert signal er ikke ortogonalt, hvilket betyder, at der ikke er et tilsvarende signal, der går tilbage den anden vej., Denne del af protokollen voksede overarbejde, så der er forskellige anvendelser af disse signaler, men generelt denfølgende er anvendt:

for At stoppe data, der kommer fra PC ‘ en, nemlig at stoppe overvældende modem med data:

  • RTS (PC) til modem.
  • CTS (modem) til PC.

PC ‘ en hævder RTS for at indikere, at den ønsker at overføre data til modemet.
modemet hævder CTS at modtage data fra PC ‘ en.

for at stoppe data, der kommer fra modemet, dvs.for at stoppe overvældende PC ‘ en med data:

  • DTR (PC) til modem.
  • DSR (modem) til PC.,

modemet hævder DSR at indikere, at det ønsker at overføre data til PC ‘ en.
PC ‘ en hævder DTR at modtage data fra modemet.

Software Håndtryk

Hvis du kan se de vilkår XON og XOFF dette er en software flow controlmethod, hvor modtageren sender en særlig karakter (i ASCIIset) til at sige, at senderen holder op med at sende data. Når modtageren er genoprettet (en buffer tømmer), kan den sende transmitteron-signalet til at fortælle senderen for at genstarte transmissionen.

Leave a Comment