Miten RS232 toimii

Miten RS232 toimii : RS232 määritellään protokolla, joka kertoo yksityiskohtaisesti, miten stream of data bits issequentially tarttua kiinni lanka eli vähän stream. Kunkin bitin järjestys ja puhdistus määritellään protokollassa. Yksinkertainen selitysbelow riittää ymmärtämään RS232-ei tarvitse lukea iso käsikirja!,

RS232 on sarjatiedonsiirtoprotokollanormi, joka määrittelee sekä protokollan (tiedonsiirron menetelmä) että sen tekemiseen tarvittavan laitteiston. Tässä asiakirjassa kuvataan, miten se toimii fyysisellä tasolla, joten tiedät, mitä signaaleja voit odottaa näkevän themicrocontroller pins.

mikä on RS232?,

Pohjimmiltaan se on tapa siirtää dataa yhden langan (tarvitset kaksi johtoa saada tiedot takaisin, koska jokainen lanka siirrot tiedot yhteen directiononly):

Se on menetelmä (tai protokolla – sovitun standard), joka määrittelee, miten siirtämistä tietoja kahden laitteen välillä käyttämällä muutamia johtoja. Se käyttää sarjalähetysmenetelmää, jossa tavuja tietoja tulostetaan yksi bitti kerrallaan asingle wire.

tiedot lähetetään vain yhdessä suunnassa kutakin johtoa varten, joten kaksisuuntaisessa viestinnässä (kahteen suuntaan) youneed kaksi johtoa., Kyseessä ei siis ole RS485: n kaltainen multidrop lan-viestintäjärjestelmä, vaan point-to-point-protokolla.

nämä kaksi yhdessä maadoitusreferenssi (yhteensä: kolme johtoa) muodostavat theminimum kokoonpano, että voit päästä pois.

Huomautus: luotettavampaan viestintään voi olla tarpeen käyttää muita Rs232standardissa määriteltyjä yhteyksiä, kuten DTR DCT jne. kättelymerkit ym.

virallisemmin RS232 on asynkroninen viestintäprotokolla, jonka avulla voit siirtää tietoja elektronisten laitteiden välillä.,

periaatteessa se voi siirtää yhden tavun dataa sarjakaapelin päällä, jossa on 3-22 signaalia ja joka kulkee nopeudella 100-20k baud. Commonbaud hinnat käytetään ovat 2,4 k, 9,6 k, 19,2 k, kaapelin pituus voi olla jopa 50ft. Korkeampi baud hinnat käytetään, mutta ei kuulu standardin ne toimivat edelleen esimerkiksi 38400,57600 Baud (bits/s).

datalohkon siirtämiseksi yksittäiset tavut lähetetään yhden toisensa jälkeen.,

tässä jaksossa kuvataan, miten RS232 toimii yleensä kuvailematta kättelymenetelmiä – vain yksinkertaisin järjestelmä on kuvattu – tämä seostuseful ja todennäköisesti toimii!.

Kättely-signaalien tarvitsevat ylimääräistä tasolla käännös laitteisto (an RS232chip enemmän I/O) ja vaikka yksinkertainen, ei yleensä tarvita forPC kehitys-board toiminta. Saatat tarvita niitä järjestelmiä, jotka valvovat useita laitteita, joissa saatat joutua tilapäisesti stopdata yksiköstä. Tässä dokumentissa on kohta kädenpuristussignaaleista myöhemmin.,

tiedot välitetään sarjallisesti yhteen suuntaan johtoparin yli. Datagoing out on merkitty Tx (osoittaa siirto), kun tiedot tulevat islabelled Rx (osoittaa vastaanotto). Luoda kaksisuuntainen viestintäjärjestelmä aminimum kolme johdot tarvitaan Tx, Rx ja GND (maa). Ylitys Tx& Rx kahden järjestelmän välillä antaa kunkin yksikön puhua vastakkaiselle.

Huom: Jokainen signaali (TX ja RX) vaatii tason kääntäjä, koska highvoltages käytetään siirtämään dataa johdot (typicallyoutput ±5V ±25V).,

Jokainen tavu voidaan lähettää milloin tahansa (niin kauan kuin edellisen tavun hasbeen lähetetään). Lähetettyä tavua ei ole synkronoitu vastaanottimeen-se on asynkroninen protokolla eli kellosignaalia ei ole. Tästä syystä viestintälinkin jokaiseen päähän on asennettava juuri se sameso, jonka jokainen sarjadekooderinsiru voi purkaa sarjadatan.


Huom: signaali tasolla inversio (logiikka 1hän -12V ja logiikka 0 on +12V).,

Siirtonopeus

Miten RS232 toimii välinen suhde, siirtonopeus ja signalfrequency.

baud-nopeus on yksinkertaisesti bitteinä mitattu siirtonopeus per second.It määrittää kunkin bittijakson taajuuden.

Varten siirtonopeus 2400 (2400 bps) taajuus on 2400Hz ja bitperiod on 1/2400 tai 416.6 meille. Tämä on tieto, jota vastaanotin käyttää siirtääkseen bittiä datavirrasta.,

miten RS232 toimii – Voltagelevels

jotta se toimii pitkien Kaapelien yli suuret Jännitteet lähetetään eachtransmitter koska kaapelin resistanssin vuoksi jännite vähentää edelleen thesignal on matkustaa. Lähtöjännitteen erittely on välillä +5V- +25v(loogisen nollan lähettäminen) ja-5v – – 25V (loogisen lähettäminen).

Huomautus: kaikkien kaapelin signaalien on tuotettava samat jännitetasot, esim.DTR, DSR, RTS, CTS. Joten tarvitset paljon tason kääntäjä pelimerkkejä fullinterface mutta hyvin lyhyitä matkoja tarvitset vain TX ja RX ja maahan.,

maksimijännitettä ±25v ei tarvitse käyttää ja käytössä oleva yhteisvoltti on ±12V (lähtö MAX232-lähetin-vastaanottimen sirulla).

a-merkki (looginen) lähetetään as-12V ja avaruus (looginen nolla) lähetetään muodossa+12V eli logiikkataju käännetään ylösalaisin.

Huomautus: se, että korkeat jännitteet olemassa sarjaportti allowspowering laitteet, joita et normaalisti odottaa löytävänsä sitä. Mutta se vetää hyvin vähän virtaa.

vastaanottimen jännitetasot

vastaanottimessa tulo minimijännitetasot määritellään ±3v eli, saadakseen logiikan nollan jännitteen on oltava suurempi kuin 3v ja saadakseen logiikan yhden jännitteen on oltava pienempi kuin-3v. tämä mahdollistaa häviöt signaalin kulkiessa kaapelia pitkin ja tarjoaa melunsietokyvyn eli kaikki virheelliset äänet ±3V: n aleveliin asti voidaan sietää ilman, että niillä on vaikutusta vastaanottimeen.

Miten toimii RS232 – TheRS232 Aloittaa Bit

pöytäkirja on kuvattu asynkroninen, koska ei ole kelloa transmittedat kaikki. Sen sijaan käytetään erilaista kellojen palautusmenetelmää.,

jokaisen lähetyksen alussa lähetetään aloitusbitti, joka osoittaa vastaanottimelle, että tietojen tavu on tulossa. Koska lepotilassa ofthe-RS232 linjat on alhainen (-12V) signaali aloittaa kunnon linja on asetettu korkealle(+12V) 1 bit ajan. Tämä tarkoittaa siirtymistä linjalla alwaysgenerated niin, että vastaanotin tietää, kun 1. reuna tietojen burstoccurs.

aloitusbitin avulla vastaanotin synkronoituu databitteihin, koska se pystyy havaitsemaan signaalin nousevan reunan linjalla., Tämä tarkoittaa, että thereceiver voi luoda oman näytteen kello keskellä kunkin bitin-päättää, onko bittiä todella data nolla tai data yksi.

kun aloitusbitti löytyy, vastaanottaja tietää, missä seurausbitit tulevat olemaan, sille annetaan näytteenottokausi (johdettu baud-nopeudesta) osana theinitialization-prosessia. Siksi sinun täytyy asettaa samat asetukset inboth vastaanotin ja lähetin laitteisto eli baud korko, määrä stop bittiä, määrä databittejä, ja pariteetti bit (päälle tai pois)., Jos et sitten yleensä mitään tapahtuu-tai näet rubbishcharacters vastaanottimessa.

miten RS232 toimii – databitit

databitit seuraavat aloitusbittiä. On yleensä seitsemän tai kahdeksan tietokantaa lsb lähetetään ensin. Syy seitsemän oreightin valintaan on se, että ASCII koostuu aakkostosta ensimmäisten seitsemän bittien sisällä (samoin kuin ohjausmerkit). Kahdeksas bitti laajentaa merkin asettaa forgraphical symboleja.

Jos haluat vain lähettää tekstiä, tarvitset vain 7 bittiä., Tämä säästää abit ja lisää siirtonopeutta lähetettäessä suuria datalohkoja.Muut databitin koot ovat 5, 6, 8 ja 9 bittiä. Kuitenkin bittipituus on usuallyset 8 bittiä-tämä on hyvin yleisesti käytetty.

vihje: koska useimmat moduulit pystyvät käsittelemään yhdeksän bittiä, voit määritellä yhdeksännen bittin käytön, kuten osoittamalla, että tietopaketti määrittää komennon. Mutta tietenkin sinun täytyy säätää vastaanottimen ohjelmisto toprocess, että tiedot.

Huomautus: Jos käytät RS232 lähettää raw data (binary data) sitten sinun willneed 8 databittejä.,

miten RS232 toimii – Pariteettibitti

RS232 pariteettibitti on karkea virheilmaisumekanismi.Voit käyttää joko pariton pariteetti tai jopa pariteetti tai ei ollenkaan (vuonna diagramabove pariteetti bitti on mukana (välillä viime tietojen bittinen ja stop bit -Täällä pariteetti on merkitty ” 1 ” tarkoittaa, että on olemassa pariton määrä ofdatabits. Käytössä oleva pariteetti on siis pariton. Alla olevassa kaaviossa (yleisesti käytetään Mikrocontroller työtä) ei käytetä pariteetti bittiä.,

se yksinkertaisesti arvioi kaikki databitit ja parittomille palautuksille logiikan oneif on olemassa pariton määrä databittejä, jotka on asetettu. Jopa pariteetti on määrä databittejä, jotka on asetettu, asettaa pariteetti bittiä.

vastaanottimessa pariteettibittiä käytetään kertomaan, tapahtuiko edelleenlähettämisen aikana virhe. Voit käyttää tätä vastaanottimen ohjelmisto lukemalla lipun UART moduuli.

virheilmaisun ongelma pariteettibitin avulla on se, että jos kaksi bittiä on virheessä, pariteettitarkistus epäonnistuu., Tämä johtuu siitä, että jokainen virhe kumoaa toisen vaikutuksen (pariteettilaskennan osalta). Kaikki jopa lukuisat virheet aiheuttavat virheen havaitsemisessa.

se ei ole ongelma penkkipohjaisessa järjestelmässä (jossa ei ole kriittistä datatransferia). Lyhyen kaapelin, esim. 6ft, yli et luultavasti näe mitään errorsanywayta. Normaalisti en käytä mitään tasa-arvoa, eikä mitään ongelmaa ole.

pitkän matkan tai meluisassa ympäristössä kulkevissa järjestelmissä olisi käytettävä parempaa järjestelmää esimerkiksi lisäämällä syklinen redundanssitarkistus datavirtaan ennen ja jälkeen RS232: n lähettämisen., CRCs voit tarkistaa ja korjata muutamia virheitä ilman uudelleen lähettää tietoja.

miten RS232 toimii – Stopbit

RS232 stop bit vain antaa aikaa ennen kuin thenext start bit voidaan lähettää. Se on päinvastainen tunne alku bitand, koska tämän avulla aloitus bitti voidaan nähdä, eli stop bit seurasi bya start bit antaa aina nouseva reuna signaalin havaitsemiseksi vastaanottimen.

Jos välilyöntibittiä ei ollut, datavirran viimeinen bitti olisi theparity bit (tai databitti, jos pariteetti ei ole aktiivinen)., Tämä muuttuisi riippuen lähetetystä datasta, joten jos sillä olisi sama tunne kuin aloitusbitillä, startbitiä ei voitu nähdä!

pysäytysbitin voi asettaa valitsemalla 1, 1, 5 tai 2 bittiajan.

hyvin korkeilla baud-nopeuksilla stop bit to start bit(olettaen, että tietoja lähetetään jatkuvasti) on hyvin pieni esim.baud-nopeudella 115200 baud melonta yhteen bittiin on 1/115200 = 8.26 us joten käyttämällä 2 bittiajan pidennät aikaa 16.5 us., Tämä canallow vastaanotin havaitsemaan alkaa vähän helpommin, koska jos on kapasitanssi linjalla aaltomuodot näytteille CR nousu lasku aikaa. Aikajakson pidentäminen mahdollistaa kapasitiivisemman lastauksen. Italso riippuu kuitenkin käytetystä vastaanottimesta.

Tyypillinen Asetukset

Tyypillinen asetukset käytettäväksi työpöydällä, esim. välillä mikro-ja aterminal emulaattori-ohjelma, kuten ”Tera Termi”:

Miten RS232 toimii : Tyypillinen Siirtonopeus 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.,

”Virtauksen ohjaus” edellä mainitussa luettelossa viittaa laitteistovirran ohjausmerkintämenetelmään, jossa käytetään signaaleja DTR/DSR ja RTS / CTS. Katso tästä lisää siitä.

Miten Toimii RS232 – Signaalin Tasot

jossain vaiheessa haluat ehkä tehdä ohjelmisto UART ehkä pelastaa codespace nykyisessä suunnittelu (ehkä sinun ei tarvitse saada osa – kuten olet vain syöttöä muuttujat) tai käyttää vara-pin-koodi.

huomaa: 12f675 Tutorialpagesta löytyy vastaanottaja ja lähettäjä USART-koodi.,

sen luomiseen tarvitaan varsinaisia signaalikaavioita, jotka näet themicrocontroller pin-tunnuksella (kumma kyllä näitä on vaikea löytää verkosta).

seuraavassa kaaviossa näytetään ajastettu 0V-ja 5V-bittivirta mikrokontrollerin ulostulotaulussa. Alempi kaavio näyttää käännetyt signaalitasot RS232-lähtöajureissa, jotka lähetetään sarjakaapelin kautta.

nämä korkeammat tasot syntyvät lähettämällä 0-5V logiikkatasot atransceiver-sirulle esim., MAX232, joka on diodi / kondensaattori boost conveter builtin, joka lisää signaalin tasoa vaadittuun RS232 volttivoltti ±12 volttia. Huomaa, miten-12V-taso vastaa loogista ” 1 ”ja +12vleveliä vastaa loogista ”0”: ta.

huomaa: lähtöjännitetaso voi olla ±5 – ±25v. Forlongerin etäisyyksillä suurempi jännite on hyödyllinen kompensoimaan menetys signaltravelsin laskiessa kaapelia, mutta käytännön käyttöön sirut tuottavat pienempiä jännitteitä, kuten ±12.,
miten RS232 toimii lähetettäessä acharacter

alla olevassa boven kaaviossa oleva alempi aaltomuoto näyttää Rs232signaalin, jonka näkisit käyttävän oskilloskooppi lähtöasemalla ofa kääntäjä siru, kuten max232. Huomaa, että RS232 idlevoltage on -12V,

RS232 Kello

– yllä Oleva kaavio osoittaa myös, RS232 timingdiagram, jossa jokainen bitti-aika on 1/taajuus niin abaud nopeudella 9600 bps (bits per second) aikana kunkin bitti on 1/9600 or104.,166US tämä on tehokkaasti RS232 kellonaika tarvitaan erityinen baud nopeus käytössä.

RS232 aaltomuoto

alemman aaltomuodon yläpuolella olevassa kaaviossa näkyy RS232 voltagesignaali, jonka voit odottaa näkeväsi oskilloskoopin RS232 TX-tappin(myös samat tasot RX-pinnillä) ulostulossa. Joissakin pelimerkeissä themaximum signaalin taso ei välttämättä ole ±12V-max ja min jännite voi olla pienempi (koska ei ole suuri jännite pudota lyhyillä etäisyyksillä)., Pitkien etäisyyksien on oltava ±12V-pitkän kaapelin päässä volttivoltti putoaa kaapelin vastuksen yli, mutta sen on oltava yli ±3v toisessa päässä.

kaapelin kapasitanssi myös hidastaa nousevia ja putoavia reunoja-roundingthem pois.

Miten Toimii RS232 – Kättely-Signaalien

Kädenpuristus signaalit ovat yksinkertaisesti menetelmä pysäyttää data virtaa. Ifsome osa järjestelmää on kiireinen, se ei voi hyväksyä enemmän tietoa mieluummin kuin menettää sen signaaleja käytetään jokaisen linkin totell toinen pää lakata toimittamasta tietoja., On olemassa kahdenlaisia usedin RS232: laitteisto kädenpuristus ja ohjelmisto kädenpuristus.

Hardware handshake

  • DTR – Datapääte valmis.
  • DSR – tietokokonaisuus valmis.
  • RTS-pyyntö lähettää.
  • CTS-Clear To Send.

Jos käytät näitä signaaleja, niin ne on kaikki toimittaa theRS232 tasoa eli ±25V (tai mikä jännite syntyy thetranslator siru esim. ±12V eli sama kuin TX-ulostulo, joten tarvitset RS232-siru, jossa on enemmän tason kääntäjien sekä lähettää ja receivethe signaaleja.,

muista, että protokolla perustui työpöydällä istuvaan modeemiin (DCE tai DataCommunication Equipment) ja tietokoneeseen (via RS232)liitettyyn (DTE tai Datapäätelaitteet) – ohjaimeen. Siellä on vielä rengas-ilmaisin (RI), että signaalit kun puhelin soi,langallinen suoraan puhelinlinjaan, joka mahdollistaisi automaattisen modemdetection saapuvan tietovirran.

jokainen signaali ei ole ortogonaalinen eli vastaavaa signaalia ei ole menossa takaisin toiseen suuntaan., Tämä osa pöytäkirjaa kasvoi ylitöitä niin on olemassa erilaisia käyttää näitä signaaleja, mutta yleensä seuraavassa on käytetty:

lopeta tiedot tulevat PC eli lopettaa ylivoimainen modeemin tiedot:

  • RTS (PC) – modeemi.
  • CTS (modeemi) tietokoneeseen.

PC vakuuttaa RTS: n osoittavan, että se haluaa lähettää dataa modeemille.
modeemi vakuuttaa CTS: n vastaanottavan tietoja tietokoneelta.

pysäyttääkseen modeemista tulevan tiedon, eli lopettaakseen PC: n musertamisen datalla:

  • DTR (PC) modeemille.
  • DSR (modeemi) tietokoneeseen.,

modeemi vakuuttaa DSR: n osoittavan, että se haluaa lähettää tietoja PC: lle.
PC vakuuttaa DTR: n vastaanottavan dataa modeemista.

Ohjelmisto Kädenpuristus

Jos olet katso ehdot XON ja XOFF tämä on ohjelmisto virtaus controlmethod, jossa vastaanotin lähettää erityinen merkki (vuonna ASCIIset) sanoa lähetin lopettaa tietojen lähettämisen. Kun vastaanotin onlöydetty (puskuri tyhjenee) sitten se voi lähettää XON signaalin totell lähetin uudelleen aloittaa lähetyksen.

Leave a Comment