Acest articol va explica următoarele subiecte în detaliu:
1) Pasul 1: înțelege conexiunea RS232 și semnale
2) Pasul 2: Aflați mai multe despre protocolul
3) Pasul 3: controla dispozitivele RS232 utilizând 232ANALYZER

(protocol) standarde pentru RS232., Dacă aveți șansa de a testa dispozitivele RS232 cu software-ul 232ANALYZER, ar trebui să puteți controla dispozitivele RS232 într-o perioadă scurtă de timp.

Pasul 1: Înțelegerea Conexiune RS232 & Semnale

RS-232C, EIA RS-232, sau pur și simplu RS-232, se referă la același standard definit de Electronic Industries Association în 1969 pentru comunicații seriale.

DTE și DCE

DTE standuri pentru echipamente terminale de date. Un computer este un DTE. DCE standuri pentru echipamente de comunicații de date. Un modem este un DCE.,

DTE vine în mod normal cu un conector tată, în timp ce DCE vine cu un conector mamă. Totuși, acest lucru nu este întotdeauna adevărat. Utilizați modul simplu de mai jos pentru a confirma: măsurați pinul 3 și pinul 5 al unui conector DB-9 cu un contor de volți, dacă obțineți o tensiune de-3V la-15v, atunci este un dispozitiv DTE. Dacă tensiunea este pe pinul 2, atunci este un dispozitiv DCE.notă: rezultatul pentru un conector DB – 25 este inversat (vă rugăm să consultați tabelul de conversie DB-9 la DB-25 de mai jos).

RS-232 pini outs (DB-9)

un tată DB-9 conector văzut din față., Vedere inversă sau din spate a conectorului masculin pentru conectorul feminin.,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) la un DCE (de exemplu, modem), toate semnalele dintr-o parte conectate la semnalele corespunzătoare din cealaltă parte într-o bază unu-la-unu. Un cablu crossover (null-modem) este utilizat pentru a conecta două DTE direct, fără un modem între ele., Trec transmite și primi semnale de date între cele două părți și există mai multe variante privind modul în care alte semnale de control sunt cu fir, mai jos este una dintre ele:

RS-232 Semnalele

RS-232 Logica de Undă (8N1)

graficul de mai sus ilustrează un tipic RS-232 logica de undă (format de Date: 1 pic de Start, 8 biți de Date, Fără Paritate, 1 bit de Stop)., Transmisia de date începe cu un bit de pornire, urmat de biții de date (LSB trimis primul și MSB trimis ultimul) și se termină cu un bit „Stop”.

tensiunea logicii ” 1 „(Mark) este între-3vdc și-15vdc, în timp ce logica” 0 ” (Space) este între +3vdc și +15vdc.RS-232 conectează solul a 2 dispozitive diferite împreună, care este așa-numita conexiune „dezechilibrată”. O conexiune dezechilibrată este mai susceptibilă la zgomot și are o limitare a distanței de 50 ft (care este în jur de 15 metri).,

Pasul 2: Aflați despre Protocol

un protocol este unul sau câteva seturi de reguli hardware și software convenite de toate părțile de comunicare pentru schimbul de date corect și eficient.

comunicațiile sincrone și asincrone

comunicarea sincronă necesită ca expeditorul și receptorul să partajeze același ceas. Expeditorul furnizează un semnal de sincronizare receptorului, astfel încât receptorul să știe când să „citească” datele. Comunicarea sincronă are, în general, rate mai mari de date și o capacitate mai mare de verificare a erorilor. O imprimantă este o formă de comunicare sincronă.,

comunicarea asincronă nu are semnal de sincronizare sau ceas. În schimb, introduce biți de pornire / oprire în fiecare octet de date pentru a „sincroniza” comunicarea. Deoarece utilizează mai puține fire pentru comunicare (fără semnale de ceas), comunicarea asincronă este mai simplă și mai rentabilă. RS-232 / RS-485 / RS-422 / TTL sunt formele de comunicații asincrone.

Drilling Down: Bits and Bytes

Internal computer communications consists of digital electronics, represented by ON ON or OFF., Le reprezentăm cu două numere: 0 și 1, care în sistemul binar este numit un pic.

un octet este format din 8 biți, care reprezintă numărul zecimal 0 la 255, sau numărul hexazecimal 0 la FF. După cum s-a descris mai sus, un octet este unitatea de bază a comunicațiilor asincrone.

rata de transfer, biți de date, paritate și biți de oprire

rata de transfer este viteza de comunicare care măsoară numărul de transferuri de biți pe secundă. De exemplu, 19200 baud este de 19200 biți pe secundă.

biți de date sunt o măsurare a biților de date reale într-un pachet de comunicare., De exemplu, graficul de mai sus arată opt (8) biți de date într-un pachet de comunicare. Un pachet de comunicare se referă la un singur transfer de octet, inclusiv biți de pornire / oprire, biți de date și paritate. Dacă transferați un cod ASCII standard (de la 0 la 127), sunt suficienți 7 biți de date. Dacă este un cod ASCII extins (128 până la 255), atunci sunt necesari 8 biți de date.

paritatea este o modalitate simplă de verificare a erorilor. Există indicatori par, ciudați, marcați și spațiali. De asemenea, puteți utiliza nici o paritate., Pentru paritatea par și impară, portul serial setează bitul de paritate (ultimul bit după bitul de date) la o valoare pentru a se asigura că pachetul de date are un număr par sau impar de biți logici mari. De exemplu, dacă datele sunt 10010010, pentru paritate uniformă, portul serial setează bitul de paritate ca 1 pentru a menține egal numărul de biți logici. Pentru paritatea impară, bitul de paritate este 0, astfel încât numărul de biți logic-high este impar. Mark parity setează pur și simplu bitul de paritate la logic-high și Space setează bitul de paritate la logic-low, astfel încât partea care primește poate determina dacă datele sunt corupte.,

biții de oprire sunt utilizați pentru a semnala sfârșitul unui pachet de comunicare. Acest lucru ajută, de asemenea, la sincronizarea diferitelor Ceasuri pe dispozitivele seriale.strângerea de mână (controlul debitului)

strângerea de mână se mai numește și „controlul debitului”. Scopul principal al strângerii de mână este de a preveni supraîncărcarea receptorului. Prin utilizarea semnalelor de strângere de mână, receptoarele vor putea spune dispozitivului de trimitere să întrerupă transmisia de date dacă receptorul este supraîncărcat. Există trei tipuri de strângere de mână: strângere de mână Software, strângere de mână Hardware și ambele.

software handshaking utilizează două caractere de control: XON și XOFF., Receptorul trimite aceste caractere de control pentru a întrerupe emițător în timpul comunicării. XON este zecimal 17 și xoff este zecimal 19 în graficul ASCII. Dezavantajul strângerii de mână a Software-ului este că aceste două caractere de control nu pot fi utilizate în date. Acest lucru este destul de important atunci când transmiteți date binare, deoarece este posibil să aveți nevoie să utilizați aceste două coduri în datele dvs.

strângere de mână Hardware face uz de linii hardware reale, cum ar fi RTS / CTS, DTR / DSR, și DCD / RI (pentru modem).

în comunicarea DTE / DCE, RTS (Request to Send) este o ieșire pe DTE și o intrare pe DCE., CTS (clar pentru a trimite) este semnalul de răspuns care vine de la DCE. Înainte de a trimite date, DTE solicită permisiunea prin setarea ieșirii RTS la mare. Nu vor fi trimise date până când DCE acordă permisiunea utilizând linia CTS. DTE utilizează semnalul DTR (Data Terminal Ready) pentru a indica faptul că este gata să accepte informații, în timp ce DCE utilizează semnalul DSR în același scop. DTR / DSR sunt în mod normal activate sau dezactivate pentru întreaga sesiune de conectare (de exemplu, Off-hook), în timp ce RTS/CTS sunt activate sau dezactivate pentru fiecare transmisie de date., DCD (Data Carrier Ready) este utilizat de modem atunci când a fost stabilită o conexiune cu echipamente la distanță, în timp ce ri (Indicator de inel) este utilizat de modem pentru a indica un semnal de apel de la linia telefonică.

formate de date (binar, Hex, Dec, Oct și ASCII)

dispozitivele seriale folosesc binar pentru comunicare, care constă doar din două numere unice: 0 și 1.

binar este sistemul de numerotare Base-2. Un octet de date este format din 8 cifre binare, de la 0000 0000 la 1111 1111. Hexazecimal este sistemul base-16, care constă din 16 numere: de la 0 la 9 și Literele A la F (numărul zecimal 15).,sistemul de numerotare hexazecimal este util deoarece poate reprezenta fiecare octet ca două cifre hexazecimale consecutive și este mai ușor pentru oameni să citească numere hexazecimale decât numerele binare. Majoritatea producătorilor folosesc hexazecimal în documentația protocolului. Este simplu să convertiți o valoare de la Hexazecimal la binar. Doar traduceți fiecare cifră hexazecimală în echivalentul binar pe 4 biți. De exemplu, numărul hexazecimal F3 este egal cu numărul binar 1111 0011.

zecimal se referă la numerele din Baza 10, care este sistemul de numerotare pe care îl folosim cel mai mult în viața de zi cu zi., Nu este la fel de ușor ca hexazecimal și Octal să convertească zecimal în număr binar, dar este mai ușor pentru noi să înțelegem zecimal.Octal se referă la sistemul de numerotare base-8, care utilizează doar opt simboluri unice (de la 0 la 7). Programatorii folosesc adesea formatul Octal, deoarece este relativ ușor pentru oameni să citească și poate fi ușor tradus în format binar: fiecare cifră octală reprezintă 3 cifre binare. De exemplu, numărul Octal 73 este egal cu numărul binar 111 011.ASCII (American Standard Code for Information Interchange) este o codificare de caractere bazată pe alfabetul englez., Codurile ASCII (atât lizibile, cât și necitite) sunt utilizate pe scară largă în comunicații, cum ar fi comunicațiile Modem. Literele de la A la Z și numerele de la 0 la 9 sunt coduri ASCII care pot fi citite. Unele coduri ASCII nu pot fi citite, cum ar fi codurile de control: XON și XOFF, care sunt utilizate în controlul fluxului Software.

Checksum

multe protocoale seriale folosesc checksum (octeți suplimentari adăugați la sfârșitul șirului de date) pentru a verifica integritatea datelor, deoarece pot apărea erori în timpul transmiterii datelor. Există mai multe tipuri de control, de la cele mai simple utilizări ale acestuia în Modula sau BCC la calcul sofisticat CRC., Folosind Modula ca exemplu, aflăm că înainte de transmiterea datelor, expeditorul adaugă toți octeții de comandă împreună, apoi modează-l cu 255 (zecimal) pentru a obține un octet suplimentar. Aceasta va fi adăugată la sfârșitul șirului de comandă. Când receptorul primește șirul de comandă, va verifica mai întâi octetul adăugat pentru a vedea dacă datele rămân neschimbate sau nu. În acest caz, va accepta datele și, dacă nu, va cere expeditorului să retrimită datele.

Exemple de comenzi de protocol

o comandă de protocol este un șir de date trimis de la un dispozitiv serial (de exemplu, un Computer) la altul (adică., un Modem). Iată câteva exemple:

exemplu de comandă ASCII: ATI1 pentru a interoga informațiile producătorului modemului. (Notă: sunt codurile de control ale transportului Retur și linia de alimentare).,mal și devine: 41 54 49 31 0D 0A

Converti șirul de comandă de mai sus pentru a Zecimal și devine: 065 084 073 049 013 010

Converti șirul de comandă de mai sus pentru Octal și devine: 101 124 111 061 012 015

Converti șirul de comandă de mai sus pentru a Binar și devine: 01000001 01010100 01001001 00110001 00001101 00001010

Pas 3: Control RS232 dispozitive cu ajutorul 232Analyzer

232Analyzer este un Advanced Serial Port Protocol Analyzer software, care vă permite să controlați / debug, monitor / mirosi dispozitive seriale (RS-232 / RS-485 / RS-422 / TTL) direct de pe PC., 232analyzer este un shareware, versiunea gratuită are unele limitări, dar este mai mult decât suficient pentru a testa și controla dispozitivele seriale. Faceți clic aici pentru a descărca o copie gratuită.232analyzer vine cu un calculator de control, care vă permite să calculați octetul complicat de control în câteva secunde, Iată un exemplu:

Să presupunem că controlați un proiector, iar protocolul proiectorului folosește xOR pentru a obține octetul suplimentar de control, șirul de comandă pentru a porni proiectorul este: „1a 2b 3c” plus octetul de control., Utilizați următoarele proceduri pentru a calcula octetul de control:

  1. selectați Hex ca format de operanzi
  2. selectați xOr ca operator
  3. cheie în șirul de comandă și adăugați o virgulă (,) după fiecare octet de cod de comandă: de ex., 1A,2B,3C,
  4. Click pe butonul „Calculează” și veți obține rezultatul 0D (0 este omis)

Selectați portul COM și Configurare formate de comunicare

Notă: După ce ați configurat corect formate de comunicare (acestea trebuie să se potrivească cu proiector de port COM setări), faceți clic pe butonul „Connect” de pe stânga pentru a activa portul COM.,

Fluxul setările de control

Control RS232 dispozitive

  1. Control / monitorizare Linie Membre

    232Analyzer vă permite de a controla / monitoriza linia membre de porturi COM.

    1. stările de linie ale RTS și DTR vor fi comutate atunci când se face clic pe LED-ul respectiv, puteți utiliza un contor de tensiune pentru a verifica modificările, ar trebui să obțineți +6v la +15v când starea liniei este pornită și-6V la-15V când starea liniei este oprită.,
    2. alte stări de linie pot fi monitorizate prin Ds virtuale, cum ar fi RX, TX, DSR, CTS, DCD și RI.
  2. Trimite / Primi comenzi

    Utilizare exemplul de mai sus pentru a controla un proiector (porniți proiectorul), tastați comanda completă string „1A,2B,3C,0D,” în Send_Command_Pane așa cum se arată mai sus, și apoi faceți clic pe butonul „Trimite”…

    Note:

    1. În versiunea gratuită, modul Hex nu este disponibil., Puteți utiliza formatul zecimal pentru a trimite șirul de comandă: „26,43,60,13”,
    2. puteți utiliza orice dispozitiv RS-232 pentru testare, atâta timp cât cunoașteți comenzile protocolului.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *