SberniceRS-232RS-232 Přenos dat

RS-232 Přenos dat

Asynchronní přenos

RS-232 používá asynchronní přenos – není sdílený hodinový signál mezi vysílačem a přijímačem. Synchronizace probíhá pomocí startovacího bitu (sestupná hrana).

Formát rámce (datový rámec)

┌─────────┬──────────┬─────────┬──────────┬─────────┐
│ Start   │ Data     │ Parita  │ Stop     │ Idle    │
│ bit (0) │ (5–9 bitů)│ (volitelné) │ bit/y (1) │ (Mark) │
└─────────┴──────────┴─────────┴──────────┴─────────┘
  1 bit      5–9 bitů    0/1 bit    1–2 bity   nekonečno
  • Start bit – vždy log. 0 (Space, kladné napětí), synchronizuje přijímač.
  • Datové bity – 5, 6, 7, 8 nebo 9 bitů (nejčastěji 8 bitů, LSB first).
  • Parita – volitelná kontrola integrity:
    • Even (sudá) – počet jedniček je sudý
    • Odd (lichá) – počet jedniček je lichý
    • Mark – vždy 1
    • Space – vždy 0
    • None – bez parity (nejčastější dnes)
  • Stop bit/y – 1, 1.5 nebo 2 bity log. 1 (Mark, záporné napětí), signalizuje konec rámce.
  • Idle (Mark) – linka držena v log. 1 mezi rámeci.

Typické nastavení (8N1)

  • 8 datových bitů
  • N = No parity (bez parity)
  • 1 stop bit
  • Celkem 10 bitů na 1 bajt → efektivita 80 %

Přenosová rychlost (Baud rate)

Standardní rychlosti (baud)
110, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600

Obě strany musí mít stejnou rychlost (tolerance typicky ±2–3 %).


Řízení toku dat (Handshaking)

Hardwarové (RTS/CTS, DTR/DSR)

  • RTS/CTS – řízení na úrovni komunikačního kanálu (připravenost přijmout/vyslat).
  • DTR/DSR – řízení na úrovni zařízení (připravenost terminálu/modemu).
  • V nastavení programů: "Hardware (RTS/CTS)", "Hardware (DTR/DSR)".

Softwarové (XON/XOFF)

  • XON (DC1, 0x11) – pokyn k pokračování v příjmu.
  • XOFF (DC3, 0x13) – pokyn k dočasnému zastavení příjmu.
  • Nevýhoda: data 0x11/0x13 nemohou být v užitečné zprávě (nutné escaping).

Žádné (None)

  • Riziko přetečení bufferu při vysoké zátěži.

Synchronní vs. Asynchronní

VlastnostAsynchronní (RS-232 standard)Synchronní (rozšíření)
Hodinový signálNe (start/stop bity)Ano (piny 15, 17, 24)
Účinnost~70–80 % (overhead start/stop/parita)>95 % (jen data + framing)
SložitostJednoduchá (UART)Vyšší (USART, clock recovery)
PoužitíTerminály, PC, embeddedModemy, ISDN, specializované linky

RS-232 standard definuje i synchronní režim (piny 15, 17, 24), ale v praxi se používá almost výhradně asynchronní.


UART (Universal Asynchronous Receiver/Transmitter)

Hlavní obvody:

  • 8250 / 16450 / 16550 / 16550A / 16650 / 16750 / 16850 / 16950 – historie PC sériových portů.
  • 16550A – první s FIFO buffery (16 B), klíčový pro rychlosti > 9600 baud.
  • Adresy v PC (ISA/EISA):
    • COM1: 3F8h–3FFh, IRQ 4
    • COM2: 2F8h–2FFh, IRQ 3
    • COM3: 3E8h–3EFh, IRQ 4
    • COM4: 2E8h–2EFh, IRQ 3

Registry 16550 (offset od bazové adresy)

OffsetRegistr (Read)Registr (Write)
0RBR (Receive Buffer)THR (Transmit Holding)
1IER (Interrupt Enable)IER
2IIR (Interrupt ID)FCR (FIFO Control)
3LCR (Line Control)LCR
4MCR (Modem Control)MCR
5LSR (Line Status)—
6MSR (Modem Status)—
7SCR (Scratch)SCR

Související poznámky

Built with LogoFlowershow