hogyan működik az RS232 : az RS232 olyan protokollt határoz meg, amely részletezi, hogyan működik az RS232 egy adatfolyam bitek ISSEQUENTALLY továbbított-ra egy vezeték, azaz egy kicsit patak. A sorrend ésaz egyes bitek jelentését a protokoll határozza meg. Az egyszerű magyarázataz alábbiakban elegendő megérteni RS232 – nem kell olvasni egy nagy kézikönyv!,
az RS232 egy soros információátviteli protokoll szabvány, amely meghatározza mind a protokollt (az adatátvitel módját), mind afizikai hardvereket. Ez a dokumentum leírja, hogyan működik afizikai szinten, így tudni fogja, milyen jeleket várhat el a themicrocontroller csapok.
mi az az RS232?,
Alapvetően ez egy módszer adatátvitel át egyetlen vezetéket (már két drótot, hogy adatokat, mivel minden egyes átutalások adatok egy directiononly):
Ez egy módszer (vagy jegyzőkönyv – egy elfogadott standard), amely meghatározza, hogy a adatok között két eszköz segítségével néhány vezetéket. Ez használ egy serialtranszmissziós módszer, ahol bájt adatok kimenet egy kicsit egy időben rá asingle drót.
az adatokat csak egy irányban továbbítják minden huzalhoz, így a kétirányú kommunikációhoz (két irány) két vezetékre van szükség., Tehát ez nem egy többdropos lan kommunikációs rendszer, mint például az RS485, hanem egy pont-pont protokoll.
Ez a két együtt egy földi referencia (összesen: három vezeték) alkotják theminimum konfiguráció, hogy lehet megúszni.
megjegyzés: a megbízhatóbb kommunikáció érdekében a túl hosszú távolságokhoz szükség lehet az Rs232standardban meghatározott egyéb kapcsolatok használatára, például a DTR DCT stb. kézfogás jelek stb.
alapvetően egyetlen bájtnyi adatot képes továbbítani egy 3-22 jelű soros kábelen, amely 100-20 kilométeres sebességgel fut. Commonbaud használt árak 2,4 k, 9,6 k, 19,2 k, a kábel hossza lehet akár 50ft. Magasabb baud arányokat használnak, de nem tartoznak a szabvány még mindig működik, pl. 38400,57600 Baud (bit/s).
egy adatblokk átviteléhez az egyes bájtok egymás után kerülnek továbbításra.,
Ez a rész leírja, hogyan működik az RS232 általában anélkül, hogy leírnáa kézfogási módszereket-csak a legegyszerűbb rendszert írják le-ez a leghasznosabb és a legvalószínűbb!.
a kézfogási jeleknek extra szintű fordítási hardverre van szükségük (egy RS232chip több I / O-val), bár az egyszerűek általában nem szükségesek a fejlesztőpanel működéséhez. Szükség lehet rájuk olyan rendszerekhez, amelyektöbb eszközt vezérelnek, ahol átmenetileg le kell állítania az adatokat egy egységről. Van egy rész kézfogás jelek később ebben a dokumentumban.,
az adatokat sorosan továbbítják egy irányba egy pár vezeték felett. Datagoing ki van jelölve Tx (jelezve átviteli) míg az adatok jönnek islabelled Rx (jelezve vétel). Ahhoz, hogy egy kétirányú kommunikációs rendszer aminimum három vezeték van szükség Tx, Rx és GND (föld). Átkelés TX& Rx a két rendszer között lehetővé teszi, hogy minden egység beszéljen az ellenkezőjével.
minden bájt bármikor továbbítható (mindaddig, amíg az előző bájt továbbításra kerül). A továbbított bájt nincs szinkronizálva a vevővel -ez egy aszinkron protokoll, azaz nincs órajel. Ezért a kommunikációs kapcsolat mindkét végén pontosan ugyanazt kell beállítanihogy minden soros dekóder chip dekódolja a Soros adatfolyamot.
Megjegyzés: a jelszint inverziója (logic 1IS-12V and logic 0 is +12V).,
Baud Rate
hogyan működik az rs232 a baud rate és a signalfrequency viszonyában.
az átviteli sebesség egyszerűen bitenként mért átviteli sebesség second.It meghatározza az egyes bitperiódusok gyakoriságát.
2400 (2400 bps) átviteli sebességnél a frekvencia 2400 Hz, a bitperiod pedig 1/2400 vagy 416,6 us. Ez az az információ, amelyet a vevő használhogy visszaszerezze a biteket az adatfolyamból.,
hogyan működik az RS232 – Voltagelevels
annak érdekében, hogy hosszú kábeleken keresztül működjön, nagy feszültségeket küldünk mindegyikrőltranszmitter, mivel a kábel ellenállása miatt a feszültség csökkenti a további thesignal-nak utaznia kell. A kimeneti feszültség specifikáció +5V-tól +25V-ig(logikai nulla továbbítása) és-5V-tól-25V-ig (logikai továbbítás).
Megjegyzés: A kábel összes jelének azonos feszültségszinteket kell generálnia, például DTR, DSR, RTS, CTS. Tehát sok szintű fordító Chipre van szükség a teljeshezarc, de nagyon rövid távolságokra csak TX-re, RX-re és földre van szüksége.,
a ±25V maximális feszültséget nem kell használni, a használatban lévő közös feszültség ±12V (MAX232 Adóvevő chip kimenete).
egy (logikai) jelet-12V-ként küldünk, egy (logikai nulla) helyet pedig+12V-ként küldünk, azaz a logikai értelemben fordított.
Megjegyzés: Az a tény, hogy a soros porton nagy feszültségek vannak, lehetővé tesziOlyan eszközök áramlása, amelyekre általában nem számíthat. De nagyon kevés áramot kell húzni.
Vevőfeszültség-szintek
a vevőnél a bemenet a minimális feszültségszint ±3V, azaz, a logikai zéró fogadásához a feszültségnek 3V-nál nagyobbnak kell lennie, és egy logikai vételhez a feszültségnek-3V-nál kisebbnek kell lennie. ez lehetővé teszi a veszteségeket, mivel a jel a kábelen keresztül halad, és zajmentességet biztosít, azaz a ±3V-os szintig terjedő bármilyen hamis zaj tolerálható anélkül, hogy bármilyen hatása lenne a vevőre.
hogyan működik az RS232-TheRS232 Start Bit
a protokoll aszinkron, mivel nincs óra transmittedat minden. Ehelyett más módszert alkalmaznak az óra helyreállítására.,
minden egyes átvitel elején egy kezdő bit kerül továbbításra, amely jelzi a vevőnek, hogy egy bájtnyi adat készül követni. Mivel az alapjárati állapotaz RS232 vonalak alacsonyak (- 12V), hogy jelezzék a kezdeti állapotot, a vonal magas(+12V) 1 bites időszakra van beállítva. Ez azt jelenti, hogy a vonalon való átmenet mindiggenerált, hogy a vevő tudja, mikor következik be az adatok 1.széle.
a start bit lehetővé teszi, hogy a vevő szinkronizálja az adat biteket, mivel képeslásd a jel emelkedő szélét a vonalon., Ez azt jelenti, hogy thereceiver létrehozhat saját minta óra közepén minden bit – eldönteni, hogy a bit valójában egy adat nulla vagy adat egy.
miután a kezdő bit megtalálható, a vevő tudja, hol lesznek a következő bitek, mivel a minta periódusa (az átviteli sebességből származik) az initializációs folyamat részeként. Ezért kell ugyanazokat a beállításokat beállítanimind a vevő, mind az adó hardver, azaz átviteli sebesség, a stop bitek száma, az adat bitek száma, valamint a paritás bit (be vagy ki)., Ha nem, akkor általában semmi sem fog történni – vagy látni fogja rubbishcharacters a vevő.
hogyan működik az RS232 – az adatbankok
adat bitek követik a kezdő bitet. Általában hét vagy nyolc adatbank lesz az lsb-vel, amelyet először továbbítanak. Az ok lehet választani hét oreight, hogy ASCII alkotja az ábécé az első hét bit (valamint a vezérlő karakterek). A nyolcadik bit kiterjeszti a karakterkészletetgrafikus szimbólumok.
Ha csak szöveget szeretne továbbítani, akkor csak 7 bitre van szüksége., Ez nagy adatblokkok továbbításakor megnöveli az átviteli sebességet.Egyéb adatok bit mérete 5, 6, 8, 9 bit. A bithossz azonban általában 8 bitre van állítva-ezt nagyon gyakran használják.
Megjegyzés: Ha RS232-t használ nyers adatok (bináris adatok) továbbítására, akkor 8 adat bitre lesz szüksége.,
hogyan működik az RS232 – a Paritásbit
az RS232 paritásbit nyers hibakeresési mechanizmus.Használhatja akár páratlan paritás vagy akár paritás vagy egyáltalán nem (a diagrambana paritás bit felett szerepel (az utolsó adatbit és a stop bit között-itt a paritás ” 1 ” – ként van feltüntetve, ami azt jelenti, hogy páratlan számú adatabit van. Tehát a használatban lévő paritás páratlan-paritás. Az alábbi ábra (gyakran használjáka mikrokontroller munkájában) nem használ paritás bitet.,
egyszerűen kiértékeli az összes adat bitet, páratlan paritás esetén pedig egy logikát ad visszaha páratlan számú adat Bit van beállítva. Még paritás egy evennumnyi adat bitek vannak beállítva, beállítja a paritás bit.
a vevőnél a paritás bit jelzi, hogy hiba történt a továbbítás során. Ezt a vevőszoftverben használhatja egy zászló olvasásávalaz UART modul.
a paritásbit használatával történő hibaelhárítás problémája az, hogy ha két bit hibában van, akkor a paritásellenőrzés sikertelen., Ez azért van, mert minden hiba törliA másik hatása (a paritás kiszámítása szempontjából). Bármilyen páros numberof hibák hibát okoz a hiba észlelése.
Ez nem lesz probléma a pad tetején alapuló rendszer (amely nem rendelkezik kritikus datatransfer). Több mint egy rövid kábel, például 6ft akkor valószínűleg nem fog látni semmilyen hibátsanyway. Általában nem használok paritást, és egyáltalán nincs probléma.
a távolsági vagy zajos környezetben futó rendszereknél jobb rendszert kell használni, például egy ciklikus redundancia-ellenőrzést kell hozzáadni az adatsorokhoz, majd az RS232-en keresztül elküldeni., A CRC-k lehetővé teszik, hogy ellenőrizze és korrigáljonelég néhány hiba az adatok továbbítása nélkül.
hogyan működik az RS232 – a Stopbit
az RS232 stop bit csak egy ideig ad, mielőtt thenext start bit továbbítható. Ez az ellenkező értelemben, hogy a start bités emiatt lehetővé teszi a start bit látható, azaz a stop bit követi bya start bit mindig ad egy emelkedő él jel kimutatására a vevő.
ha nem volt stop bit, akkor az adatfolyam utolsó bitje theparity bit (vagy data bit, ha a paritás nem aktív)., Ez az elküldött adatoktól függően megváltozna, tehát ha ugyanolyan értelme lenne, mint a start bit, akkor a startbit nem látható!
a stop bit beállítható 1, 1, 5 vagy 2 bites időszakok közül.
nagyon magas baud ráta az időszak stop bit, hogy a start bit(feltételezve, hogy adatokat küld folyamatosan) nagyon kis pl. a baud ráta 115200 baud a timeing, hogy egy kicsit az 1/115200 = 8.26 minket, így segítségével 2 kis időszakok, hogy növekedni fog az idő, hogy 16.5 minket., Ez lehetővé teszi a vevőkészülék számára, hogy könnyebben észlelje a start bitet, mivel ha van kapacitás a vonalon, a hullámformák CR emelkedési esési időt mutatnak. Az időtartam meghosszabbítása lehetővé teszi a kapacitív betöltést. Azonban italso függ a vevő használt hardver.
tipikus beállítások
tipikus beállítások az asztalon történő használatra, pl. mikrokontroller és aterminal emulátor program között, mint például a “Tera Term”:
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.,
“Flow control” a fenti listában a DTR/DSR és az RTS/CTS jeleket használó hardveráram-ellenőrző jelzési módszerre utal. Erről bővebben itt olvashat.
hogyan működik az RS232 – jelszintek
egy bizonyos ponton érdemes lehet egy UART szoftvert készíteni, hogy a codespace – t mentse az aktuális tervbe (talán nincs szüksége a vételi részre-mivel csak kiad változókat), vagy használjon tartalék pin-kódot.
megjegyzés: a 12f675 Tutorialpages-ben megtalálható a receive and transmitsoftware USART kód.,
létrehozásához szüksége van a tényleges jeldiagramokra, amelyeket a themicrocontroller pinnél lát (furcsa módon ezeket nehéz megtalálni az interneten).
az alábbi ábra a mikrokontroller kimeneti PIN-kódjának időzített 0V és 5V bitfolyamát mutatja. Az alsó ábra a lefordított jelszinteket mutatja beaz RS232 kimeneti meghajtók, amelyeket a soros kábelen továbbítanak.
ezeket a magasabb szinteket úgy generáljuk, hogy a 0-5V logikai szinteket az atransceiver Chipre küldjük, pl., MAX232, amely dióda / kondenzátor boost conveter beépített, amely növeli a jelszint a szükséges RS232 feszültség ±12 volt. Vegye figyelembe, hogy a-12V szint megfelel egy logikai ” 1 “- nek, a +12v szint pedig egy logikai ” 0 ” – nak felel meg.
az alsó hullámforma a fenti Rove diagramban az RS232signal-t mutatja, amelyet látni fog oszcilloszkóp használata a kimeneti meghajtónegy fordító chip, például a MAX232. Vegye figyelembe, hogy az rs232 idlevoltage-12V,
RS232 óra
a fenti ábra az RS232 timingdiagramot is mutatja, ahol minden bit periódus 1/frekvencia, így az abaud sebessége 9600 bps (bit másodpercenként) az egyes bitek időtartama 1/9600 or104.,166us ez ténylegesen az rs232 óraidő szükséges a specificbaud sebesség használatban.
RS232 hullámforma
az alsó hullámforma feletti ábrán az rs232 voltagesignal látható, amelyet az rs232 TX tű kimenetén(az RX tűn is ugyanazok a szintek) láthat oszcilloszkópon. Egyes chipekben a maximális jelszint nem lehet ±12v-a max és min feszültség lehetkisebb (mivel rövid távolságokon nem lesz nagy feszültségesés)., Hosszú távolságokra ezeknek ±12V – nak kell lenniük-egy hosszú kábel végén a feszültség leesik a kábel ellenállásán, de a másik végén ±3V-nál nagyobbnak kell lennie.
a kábel kapacitása szintén lassítja az emelkedő és leeső éleket-kerekítve le őket.
hogyan működik az RS232-kézfogási jelek
a kézfogási jelek egyszerűen az adatok áramlásának megállítására szolgálnak. Ha a rendszer egy része foglalt, előfordulhat, hogy nem tud több adatot elfogadniés ahelyett, hogy elveszítené, a kapcsolat mindkét végén jeleket használnakjelezze a másik végét az adatok továbbításának leállítására., Az RS232-ben kétféle típus létezik: hardveres kézfogás és szoftveres kézfogás.
Hardware handshake
- DTR – Data Terminal Ready.
- DSR-adatkészlet Kész.
- RTS-küldési kérelem.
- CTS-egyértelmű küldeni.
ha ezeket a jeleket használja, akkor azokat 232 szinten, azaz ±25V-on kell továbbítani (vagy bármilyen feszültséget a thetranslator chip generál, pl. ±12V, azaz ugyanaz, mint a TX kimenet, így szüksége van egy RS232 Chipre, amelynek több szintű fordítója van a jelek továbbítására és fogadásáraa jeleket.,
ne feledje, hogy a protokoll alapja egy modem (a DCE vagy adatkommunikációs berendezések) ül az asztalon, és egy csatolt (via RS232)a PC (a DTE vagy adat terminál berendezés) – a vezérlő. Van még egy gyűrűjelző (RI), amely jelzi, amikor a telefon cseng, vezetékes közvetlenül a telefonvonal, amely lehetővé tenné az automatikus modemdetection bejövő adatfolyam.
minden jel nem ortogonális, ami azt jelenti, hogy nincs egyenértékű jel a másik irányba., Ez a része a protokoll nőtt túlóra, így vannak különböző felhasználási ezeket a jeleket, de általában thefollowing használják:
megállítani érkező adatok a PC azaz megállítani elsöprő a modem adatok:
- RTS (PC) modem.
- CTS (modem) PC-re.
a számítógép RTS-t állít fel, jelezve, hogy adatokat kíván továbbítani a modemnek.
a modem azt állítja, hogy a CTS adatokat kap a számítógépről.
a modemből érkező adatok leállítása, azaz a számítógép túlterhelésének megállítása az adatokkal:
- DTR (PC) a modemhez.
- DSR (modem) PC-re.,
a modem DSR-t állít fel, jelezve, hogy adatokat kíván továbbítani a számítógépre.
a PC azt állítja, hogy a DTR adatokat kap a modemtől.
szoftver kézfogás
ha látja a feltételeket XON és XOFF ez egy szoftver áramlásvezérlésmódszer, ahol a Vevő egy speciális karaktert továbbít (az ASCIIset-ben), hogy azt mondja az adónak, hogy hagyja abba az adatok küldését. Amikor a vevőkészülék fel van fedve (egy puffer ürül), akkor továbbíthatja az XON jelet, hogy az adó újraindítsa az átvitelt.