1/51 Transmisja szeregowa vs równoległa

Telekomunikacja – sieci rozległe

Prezentacja poświęcona porównaniu dwóch podstawowych metod przesyłania danych: transmisji szeregowej (serial) i transmisji równoległej (parallel). Omówione zostaną zasady działania, zalety i wady obu metod, standardy IEEE 1284, PATA, SATA, USB, PCIe oraz ewolucja magistral komputerowych od równoległych do szeregowych.

Transmisja szeregowa – dane przesyłane bit po bicie, jedną linią transmisyjną. Transmisja równoległa – dane przesyłane jednocześnie wieloma liniami.
Ilustracja: Grafika porównawcza – jedna linia (szeregowa) vs wiele linii (równoległa) z bitami

Transmisja szeregowa, w przeciwieństwie do równoległej, wymaga dokładnej synchronizacji nadajnika i odbiornika, ponieważ bity są wysyłane sekwencyjnie w czasie. Rozróżnia się dwa podstawowe tryby synchronizacji: transmisję asynchroniczną, w której każdy bajt jest poprzedzany bitem startu i kończony bitem lub bitami stopu, oraz transmisję synchroniczną, w której dane są przesyłane w blokach synchronizowanych wspólnym zegarem. Standard RS-232-C, opracowany przez Stowarzyszenie EIA, definiuje interfejs szeregowy dla łączy DTE-DCE, wykorzystywany powszechnie w starszych urządzeniach telekomunikacyjnych i komputerowych.

Szybkość transmisji w łączach szeregowych wyraża się w bodach (baud) – liczbie symboli na sekundę – oraz w bitach na sekundę (bps). W najprostszych standardach, takich jak RS-232, 1 bod równa się 1 bps, ale w bardziej zaawansowanych technikach modulacji jeden symbol może przenosić wiele bitów. Interfejs V.24/V.28, będący europejskim odpowiednikiem RS-232, definiuje te same sygnały sterujące dla połączeń między terminalami a modemami, wykorzystując złącza DB9 lub DB25.

2/51 Streszczenie

Transmisja szeregowa vs równoległa – streszczenie

Transmisja szeregowa przesyła dane bit po bicie za pomocą jednej linii transmisyjnej, podczas gdy transmisja równoległa wykorzystuje wiele linii do jednoczesnego przesyłania wielu bitów. Przy niskich częstotliwościach transmisja równoległa oferuje większą przepustowość, jednak przy wyższych częstotliwościach pojawiają się problemy synchronizacji (skew) i przesłuchów (crosstalk), które ograniczają jej wydajność.

Transmisja szeregowa umożliwia wyższe częstotliwości taktowania, dłuższy zasięg i niższe koszty kabli, co doprowadziło do ewolucji magistral komputerowych od równoległych (PATA, PCI, IEEE 1284) do szeregowych (SATA, PCIe, USB). Współczesne systemy komunikacyjne dominują transmisje szeregowe z różnicowymi parami sygnałowymi.

  • Szeregowa – 1 bit na raz, 1 linia, wyższe częstotliwości, dłuższy zasięg
  • Równoległa – wiele bitów naraz, wiele linii, wyższa przepustowość przy niskim taktowaniu
  • Problemy – skew, crosstalk, koszt kabli w transmisji równoległej
  • Standardy – IEEE 1284, PATA, SATA, USB, PCIe
Ilustracja: Mapa pojęć – transmisja szeregowa vs równoległa

Transmisja szeregowa asynchroniczna, stosowana między innymi w interfejsie RS-232, opiera się na strukturze ramki, która umożliwia odbiornikowi samodzielną synchronizację bez potrzeby przesyłania oddzielnego sygnału zegarowego. Każda ramka asynchroniczna rozpoczyna się bitem startu (stan logiczny 0), po którym następuje od 5 do 8 bitów danych (najczęściej 8), opcjonalny bit parzystości służący do wykrywania błędów oraz jeden lub dwa bity stopu (stan logiczny 1). Taka konstrukcja ramki pozwala na transmisję znaków ASCII w dowolnym momencie, bez konieczności utrzymywania ciągłej synchronizacji.

Handshaking hardware w RS-232 realizowany jest za pomocą linii RTS (Request To Send) i CTS (Clear To Send), które kontrolują przepływ danych między urządzeniami DTE i DCE. Urządzenie DTE (Data Terminal Equipment), takie jak komputer, zgłasza gotowość do nadawania poprzez ustawienie sygnału RTS, na co DCE (Data Circuit-terminating Equipment), na przykład modem, odpowiada sygnałem CTS. Dodatkowe sygnały, takie jak DSR (Data Set Ready) i DTR (Data Terminal Ready), informują o stanie gotowości poszczególnych urządzeń, umożliwiając niezawodną komunikację dwukierunkową.

3/51 Transmisja szeregowa – definicja

Transmisja szeregowa (serial transmission)

Transmisja szeregowa – metoda przesyłania danych, w której bity są wysyłane jeden po drugim, sekwencyjnie, za pomocą jednej linii transmisyjnej.

W transmisji szeregowej wykorzystuje się zazwyczaj jedną parę przewodów (lub jedną linię w przypadku transmisji jednokierunkowej). Kolejne bity danych są przesyłane w ściśle określonej kolejności – od bitu najmniej znaczącego (LSB) do najbardziej znaczącego (MSB) lub odwrotnie, w zależności od standardu.

Kluczowe cechy:

  • Jedna linia transmisyjna (lub jedna para różnicowa)
  • Bity przesyłane sekwencyjnie w czasie
  • Potrzebna synchronizacja nadajnika i odbiornika (zegar lub kodowanie)
  • Stosowana w USB, SATA, PCIe, Ethernet, RS232
Ilustracja: Schemat transmisji szeregowej – bity 0 i 1 przesyłane kolejno pojedynczą linią

W transmisji szeregowej najważniejszym parametrem jest szybkość transmisji, określana w bodach (symbolach na sekundę) i bitach na sekundę. W interfejsie RS-232 typowe szybkości to 9600, 19200, 38400, 115200 bps – im wyższa wartość, tym więcej danych można przesłać w jednostce czasu. Należy jednak pamiętać, że wraz ze wzrostem szybkości maleje maksymalna długość kabla transmisyjnego, ponieważ wyższe częstotliwości są bardziej podatne na tłumienie i zakłócenia elektromagnetyczne.

Standard RS-232-C określa napięcia sygnałów na poziomie ±3 V do ±15 V, gdzie napięcie ujemne oznacza stan logiczny 1 (mark), a dodatnie stan logiczny 0 (space). Jest to tak zwana logika ujemna, przeciwna do standardowej logiki TTL stosowanej wewnątrz urządzeń cyfrowych. Dlatego do konwersji napięć między mikrokontrolerami a portem RS-232 stosuje się układy scalone takie jak MAX232, które zamieniają poziomy TTL na standard RS-232 i odwrotnie, umożliwiając bezpośrednie połączenie z komputerem przez złącze DB9.

4/51 Transmisja równoległa – definicja

Transmisja równoległa (parallel transmission)

Transmisja równoległa – metoda przesyłania danych, w której wiele bitów jest wysyłanych jednocześnie za pomocą wielu linii transmisyjnych (np. 8, 16, 32 linii).

W transmisji równoległej każda linia przenosi jeden bit, a wszystkie bity są przesyłane w tym samym momencie, synchronizowane wspólnym sygnałem zegarowym. Na przykład magistrala 8-bitowa przesyła jednocześnie cały bajt danych.

Kluczowe cechy:

  • Wiele linii transmisyjnych (8, 16, 32, 64)
  • Bity przesyłane równocześnie – jeden cykl zegara = wiele bitów
  • Wspólny sygnał zegara dla wszystkich linii
  • Stosowana w IEEE 1284, PATA, starszych magistralach (ISA, PCI)
Ilustracja: Schemat transmisji równoległej – 8 bitów przesyłanych jednocześnie 8 liniami

Transmisja równoległa choć teoretycznie szybsza, ponieważ przesyła wiele bitów jednocześnie, napotyka na fundamentalne ograniczenia fizyczne przy wyższych częstotliwościach. Problem różnic czasowych (skew) między poszczególnymi liniami danych oraz wzajemne indukowanie się sygnałów (przesłuchy) powodują, że zwiększanie szybkości transmisji w magistralach równoległych staje się niezwykle trudne i kosztowne. Z tego powodu współczesne interfejsy, takie jak PCIe czy SATA, mimo że przesyłają dane szeregowo, osiągają wielokrotnie wyższe przepustowości niż ich równoległe poprzedniki.

W kontekście transmisji szeregowej interfejs V.24/V.28 definiuje aż 25 sygnałów sterujących dla połączeń DTE-DCE, jednak w praktyce większość z nich nie jest używana przy standardowych połączeniach. Typowe złącze DB9 wykorzystuje jedynie 9 pinów, z których najważniejsze to: TXD (Transmit Data) do nadawania danych, RXD (Receive Data) do odbioru, RTS i CTS do sterowania przepływem, DTR i DSR do sygnalizacji gotowości oraz GND jako masa odniesienia. Taka redukcja liczby sygnałów upraszcza okablowanie i czyni transmisję szeregową znacznie tańszą w implementacji.

5/51 Obrazowe porównanie metod

Analogia drogowa

Transmisja szeregowa – jednopasmowa droga. Jeden samochód (bit) na raz, ale może jechać bardzo szybko.
Transmisja równoległa – autostrada wielopasmowa. Wiele samochodów (bitów) obok siebie, ale każde pasmo musi być zsynchronizowane.

W transmisji szeregowej dane płyną wąskim "kanałem", ale przy wysokiej prędkości. W transmisji równoległej dane płyną szerokim "kanałem", ale przy niższej prędkości na pasmo ze względu na konieczność synchronizacji.

Analogia dobrze ilustruje kompromis: szerokość magistrali (liczba linii) vs częstotliwość taktowania. Przy niskich częstotliwościach równoległa jest szybsza, przy wysokich – szeregowa wygrywa.

Ilustracja: Rysunek – jednopasmowa droga (szeregowa) vs autostrada (równoległa) z samochodami jako bitami

Analogia drogowa doskonale oddaje istotę różnicy między transmisją szeregową a równoległą, ale w praktyce inżynierskiej kluczowe znaczenie mają konkretne parametry techniczne. W transmisji szeregowej asynchronicznej, stosowanej w RS-232, prędkość przesyłania danych zależy zarówno od szybkości bodowej, jak i od formatu ramki. Na przykład przy prędkości 9600 bps i ramce 8N1 (8 bitów danych, brak parzystości, 1 bit stopu) przesyłanych jest 9600/10 = 960 bajtów na sekundę, ponieważ każda ramka ma długość 10 bitów (1 start + 8 danych + 1 stop).

W transmisji synchronicznej, stosowanej w interfejsach takich jak I2C czy SPI, dane są przesyłane w blokach synchronizowanych wspólnym sygnałem zegarowym, co eliminuje potrzebę stosowania bitów startu i stopu dla każdego bajtu. Dzięki temu transmisja synchroniczna osiąga wyższą efektywność, ponieważ narzut na bajt danych jest znacznie mniejszy niż w transmisji asynchronicznej. W interfejsie RS-232 handshaking sprzętowy za pomocą linii RTS/CTS zapobiega przepełnieniu buforów odbiorczych, co jest szczególnie istotne przy wyższych prędkościach transmisji.

6/51 Zasada działania i zegar

Rola zegara w transmisji

W transmisji równoległej wszystkie linie są taktowane wspólnym sygnałem zegarowym (clock). Zegar określa moment, w którym dane na liniach są ważne (próbkowane przez odbiornik). Każda linia przenosi jeden bit, a wszystkie bity są odczytywane jednocześnie na zboczu narastającym lub opadającym zegara.

Zegar (clock) – wspólny sygnał taktujący synchronizujący transmisję danych na wszystkich liniach.

W transmisji szeregowej synchronizacja może być realizowana przez osobny sygnał zegara (transmisja synchroniczna) lub przez kodowanie danych (np. NRZI w USB, 8B/10B w SATA/PCIe) – wtedy zegar jest odtwarzany z samego strumienia danych.

Brak potrzeby przesyłania zegara osobno dla każdej linii to jedna z zalet transmisji szeregowej.

Ilustracja: Przebieg czasowy – sygnał zegara i dane na 4 liniach w transmisji równoległej

W transmisji szeregowej synchronizacja nadajnika i odbiornika może odbywać się na dwa podstawowe sposoby. W trybie asynchronicznym, charakterystycznym dla interfejsu RS-232, odbiornik odtwarza zegar na podstawie zbocza bitu startu, a następnie próbkuje linię danych w środku każdego bitu. Dokładność generatora zegara w odbiorniku musi być wystarczająca, aby nie stracić synchronizacji w ciągu całej ramki – typowo wymagana jest tolerancja rzędu 2-5% dla ramki 8-bitowej. W trybie synchronicznym natomiast zegar jest przesyłany osobną linią lub odtwarzany ze strumienia danych za pomocą pętli PLL.

Standard EIA RS-232-C definiuje interfejs dla transmisji asynchronicznej, w którym maksymalna zalecana długość kabla maleje wraz ze wzrostem szybkości transmisji. Dla prędkości 9600 bps maksymalna długość wynosi około 15 metrów, podczas gdy dla 115200 bps spada do około 3-4 metrów. Ograniczenie to wynika z pojemności kabla, która wraz z rezystancją wejściową odbiornika tworzy filtr dolnoprzepustowy, zniekształcający zbocza sygnałów i utrudniający prawidłowe próbkowanie bitów w odbiorniku.

7/51 Historyczne magistrale równoległe

Pierwsze magistrale komputerowe

PCI (Peripheral Component Interconnect) – 32/64-bitowa równoległa magistrala danych, częstotliwość 33/66 MHz, przepustowość do 533 MB/s. Dominująca magistrala rozszerzeń w latach 1993–2005.

ISA (Industry Standard Architecture) – 8/16-bitowa magistrala równoległa, 8 MHz. Stosowana w PC od 1981 roku.

PATA (Parallel ATA / IDE) – 16-bitowa równoległa magistrala do podłączania dysków (1986). Osiągała do 133 MB/s.

Port równoległy (IEEE 1284) – 8-bitowa magistrala dla drukarek i skanerów, do 2,5 MB/s.

Wszystkie te standardy zostały wyparte przez szeregowych następców: PCIe, SATA, USB.

Ilustracja: Płyta główna z zaznaczonymi slotami ISA, PCI, PCIe – ewolucja

Historyczne magistrale równoległe, takie jak ISA, PCI czy PATA, dominowały w komputerach przez ponad dwie dekady, ponieważ przy niskich częstotliwościach taktowania oferowały wyższą przepustowość niż ówczesne interfejsy szeregowe. W tym samym czasie interfejs RS-232, mimo że oferował skromne prędkości rzędu 9600-115200 bps, był powszechnie stosowany do podłączania modemów, terminali i urządzeń pomiarowych właśnie ze względu na prostotę i niezawodność transmisji szeregowej na większe odległości. Sygnały DTE/DCE w RS-232 umożliwiały nawiązywanie i zrywanie połączeń modemowych za pomocą linii DTR (Data Terminal Ready) i DSR (Data Set Ready).

W standardzie V.24/V.28, który jest europejskim odpowiednikiem RS-232, zdefiniowano łącznie 25 sygnałów dla interfejsu DTE-DCE, z czego wiele przeznaczono do sterowania łączami telefonicznymi i modemami. Złącze DB25, które było pierwotnym złączem dla RS-232, zawiera wszystkie te sygnały, ale w praktyce większość komputerów PC wykorzystywała jedynie 9-pinowe złącze DB9 z najważniejszymi liniami. Handshaking hardware za pomocą par RTS/CTS i DTR/DSR pozwalał na skuteczne sterowanie przepływem danych między komputerem a modemem bez angażowania oprogramowania.

8/51 Zalety szeregowej – mniejsza liczba linii

Oszczędność na liniach sygnałowych

Transmisja szeregowa – 1–4 linie sygnałowe zamiast 8–64 w transmisji równoległej.

Mniejsza liczba linii przekłada się na wymierne korzyści:

  • Tańsze kable: kabel SATA ma 7 pinów (dane), podczas gdy PATA wymagał 40 lub 80 żył
  • Mniejsze złącza: złącze USB Type-C ma 24 piny i obsługuje USB, DisplayPort, Thunderbolt – niewyobrażalne w technologii równoległej
  • Łatwiejsze prowadzenie kabli: cienkie kable szeregowe zajmują mniej miejsca w obudowie komputera
  • Niższy koszt produkcji: mniej miedzi, prostsze złącza
Ilustracja: Porównanie kabli – szeroki kabel PATA (40 żył) vs cienki kabel SATA (7 pinów)

Mniejsza liczba linii w transmisji szeregowej ma bezpośrednie przełożenie na koszty i niezawodność systemów telekomunikacyjnych. W standardzie RS-232 do podstawowej komunikacji wystarczą zaledwie trzy przewody: TXD (nadawanie), RXD (odbiór) i GND (masa), co pozwala na wykonanie taniego kabla 3-żyłowego o długości do kilkunastu metrów. W przypadku transmisji synchronicznych, takich jak I2C czy SPI, liczba potrzebnych linii jest również niewielka – I2C wymaga tylko dwóch przewodów (SDA i SCL), a SPI czterech (MOSI, MISO, SCK, SS). Taka oszczędność przewodów jest szczególnie istotna w aplikacjach przemysłowych i systemach wbudowanych.

W interfejsie RS-232 sygnały DTE/DCE pozwalają na wykrywanie stanu gotowości urządzeń bez potrzeby stosowania dodatkowych linii sygnałowych. Na przykład sygnał DTR (Data Terminal Ready), wysyłany przez DTE do DCE, informuje modem, że komputer jest włączony i gotowy do komunikacji. Odpowiedzią jest sygnał DSR (Data Set Ready) z modemu, potwierdzający gotowość do pracy. W połączeniach bez modemu (null modem) sygnały DTR i DSR są często łączone krzyżowo, aby symulować obecność i gotowość obu urządzeń, co umożliwia bezpośrednie połączenie dwóch komputerów bez pośrednictwa modemu.

9/51 Zalety szeregowej – zasięg i EMI

Dłuższy zasięg i mniejsze zakłócenia

Brak problemu skew: W transmisji szeregowej dane płyną jedną linią, więc nie występuje problem różnicy czasu dotarcia sygnałów (skew). Pozwala to na stosowanie dłuższych kabli.

Mniejsza emisja elektromagnetyczna (EMI): Mniej linii sygnałowych = mniejsze promieniowanie elektromagnetyczne. Transmisja różnicowa (pary skręcone) dodatkowo redukuje EMI.

Mniejsze przesłuchy: W transmisji równoległej sąsiednie linie indukują w sobie sygnały (crosstalk). W szeregowej problem jest znacznie mniejszy.

ParametrSzeregowaRównoległa
Typowy zasięgdo 5–10 m (USB), do 100 m (Ethernet)~0,5–3 m
EMIniskie (pary różnicowe)wysokie
Ilustracja: Wykres porównawczy zasięgu – szeregowa (dłuższy) vs równoległa (krótszy)

Jedną z kluczowych zalet transmisji szeregowej jest możliwość przesyłania danych na znacznie większe odległości niż w przypadku transmisji równoległej. W interfejsie RS-232 maksymalna zalecana długość kabla wynosi około 15 metrów przy prędkości 9600 bps, ale w praktyce przy niższych szybkościach transmisji możliwe jest uzyskanie stabilnego połączenia na dystansie nawet kilkudziesięciu metrów. Dla porównania, magistrale równoległe, takie jak PATA, ograniczone są do około 45 centymetrów, a port IEEE 1284 do około 3 metrów, co wynika z narastających problemów ze skew i przesłuchami przy większych długościach kabli.

W transmisji szeregowej różnicowej, stosowanej w standardach takich jak RS-485 czy Ethernet, zasięg można zwiększyć nawet do 1200 metrów przy prędkości 100 kbps, ponieważ sygnał różnicowy jest odporny na zakłócenia wspólne (common-mode). Interfejs RS-485, będący rozwinięciem RS-232, wykorzystuje parę skręconych przewodów do przesyłania sygnału różnicowego, co eliminuje konieczność stosowania masy odniesienia i znacząco redukuje wpływ zakłóceń elektromagnetycznych. Dzięki temu transmisja szeregowa jest preferowanym rozwiązaniem w systemach automatyki przemysłowej, gdzie urządzenia są rozproszone na dużych obszarach.

10/51 Zalety szeregowej – częstotliwość i rozmiar

Wyższe częstotliwości i mniejsze wymiary

Brak synchronizacji wielu linii – w transmisji szeregowej nie trzeba dopasowywać opóźnień między wieloma liniami, co pozwala na stosowanie znacznie wyższych częstotliwości taktowania.

O ile magistrala PCI osiągała 33–66 MHz, o tyle PCIe 5.0 działa z częstotliwością 32 GT/s (32 miliardy transmisji na sekundę) – to wzrost o 3-4 rzędy wielkości.

Mniejszy rozmiar kabli i złączy: Złącza szeregowe (USB, SATA, RJ-45) są znacznie mniejsze od równoległych odpowiedników (DB-25, 40-pin IDC), co ma kluczowe znaczenie w urządzeniach mobilnych – smartfonach, tabletach, laptopach.

Ilustracja: Porównanie rozmiarów złączy – DB-25 (równoległy) vs USB-C (szeregowe)

Wyższe częstotliwości taktowania w transmisji szeregowej są możliwe właśnie dlatego, że nie występuje w niej problem synchronizacji wielu linii jednocześnie. W interfejsie RS-232, mimo że jest to standard stosunkowo wolny (maksymalnie 115200 bps w typowych implementacjach), zasada działania jest taka sama jak w nowoczesnych magistralach szeregowych – dane są przesyłane bit po bicie, a szybkość transmisji zależy od częstotliwości zegara nadajnika. W transmisji asynchronicznej prędkość jest wyrażana w bodach, a każda ramka danych zawiera dodatkowe bity synchronizacyjne (start i stop), które stanowią narzut zmniejszający efektywną przepustowość.

Złącze DB9, które jest najczęściej spotykanym złączem dla interfejsu RS-232, ma znacznie mniejsze wymiary niż starsze złącze DB25, co było odpowiedzią na potrzebę miniaturyzacji sprzętu komputerowego. Z dziewięciu pinów złącza DB9 w typowej konfiguracji wykorzystuje się: TXD (pin 3), RXD (pin 2), RTS (pin 7), CTS (pin 8), DTR (pin 4), DSR (pin 6), DCD (pin 1), RI (pin 9) oraz GND (pin 5). Taka redukcja liczby sygnałów w porównaniu z pełnym zestawem 25 pinów DB25 pokazuje trend miniaturyzacji, który w przypadku USB doprowadził do powstania złącza Type-C o niewielkich rozmiarach i dużej funkcjonalności.

11/51 Zalety szeregowej – izolacja galwaniczna

Łatwiejsza izolacja galwaniczna

W transmisji szeregowej łatwiej jest zastosować izolację galwaniczną między nadajnikiem a odbiornikiem, ponieważ przesyłany jest tylko jeden sygnał (lub para różnicowa).

Izolacja galwaniczna – oddzielenie elektryczne dwóch obwodów przy zachowaniu możliwości przesyłania sygnałów. Stosuje się transformatory, transoptory lub sprzęgacze pojemnościowe.

Przykład – Ethernet: W interfejsie Ethernet (100BASE-TX, 1000BASE-T) stosuje się transformatory w torze sygnałowym, które zapewniają izolację galwaniczną do 1500 V. W transmisji równoległej izolacja każdej z kilkudziesięciu linii byłaby niepraktyczna.

Izolacja chroni sprzęt przed przepięciami, wyrównuje potencjały mas i eliminuje pętle mas.

Ilustracja: Schemat izolacji galwanicznej – transformator w torze Ethernet

Izolacja galwaniczna w transmisji szeregowej jest szczególnie łatwa do zrealizowania właśnie ze względu na małą liczbę linii sygnałowych. W interfejsie RS-232 do izolacji można zastosować transoptory lub separatory magnetyczne dla każdej z linii sygnałowych, co przy zaledwie 3-9 liniach jest rozwiązaniem praktycznym i ekonomicznym. W transmisji równoległej izolacja każdej z kilkudziesięciu linii byłaby niezwykle kosztowna i zajmowałaby dużo miejsca na płytce drukowanej, dlatego rzadko się ją stosuje w magistralach równoległych.

W systemach przemysłowych, gdzie występują duże różnice potencjałów między urządzeniami, izolacja galwaniczna interfejsu RS-232 lub RS-485 jest niezbędna do ochrony sprzętu i personelu. Separatory galwaniczne do RS-232 są dostępne w postaci gotowych układów scalonych, które zapewniają izolację do 2500 V między portem szeregowym komputera a urządzeniem zewnętrznym. Handshaking hardware za pomocą linii RTS i CTS również może być izolowany, co pozwala na zachowanie pełnej funkcjonalności sterowania przepływem nawet w trudnych warunkach przemysłowych, gdzie występują silne zakłócenia elektromagnetyczne i pętle mas.

12/51 Zalety równoległej – przepustowość

Większa przepustowość przy tej samej częstotliwości

Przepustowość = szerokość magistrali × częstotliwość
8 bitów × f = 8f vs 1 bit × f = f

Przy tej samej częstotliwości taktowania transmisja równoległa oferuje przepustowość proporcjonalną do liczby linii. Dla magistrali 8-bitowej taktowanej 100 MHz: 8 × 100 Mb/s = 800 Mb/s. Dla szeregowej 1-bitowej przy 100 MHz: 100 Mb/s.

Dlatego w latach 80. i 90. XX wieku, gdy częstotliwości były niskie (8–66 MHz), transmisja równoległa była standardem – była po prostu szybsza.

Dzięki postępowi technologicznemu szeregowe osiągają dziś gigabitowe prędkości, ale przy bardzo niskich częstotliwościach równoległa nadal ma przewagę.

Ilustracja: Wykres porównania przepustowości przy niskiej częstotliwości – równoległa wygrywa

Przy niskich częstotliwościach transmisja równoległa rzeczywiście oferuje wyższą przepustowość, co było głównym powodem jej dominacji w erze komputerów 8- i 16-bitowych. Jednak w kontekście transmisji szeregowej asynchronicznej stosowanej w RS-232, przepustowość jest ograniczona nie tylko szybkością bodową, ale także narzutem związanym z formatem ramki. Dla typowej konfiguracji 8N1 (8 bitów danych, brak parzystości, 1 bit stopu) każdy przesłany bajt wymaga 10 bitów na linii, co oznacza, że rzeczywista przepustowość danych wynosi 80% prędkości linii. Przy prędkości 115200 bps daje to efektywnie 11520 bajtów na sekundę.

Mimo że przepustowość RS-232 wydaje się niska w porównaniu z nowoczesnymi interfejsami, standard ten przez wiele lat był podstawą komunikacji z modemami telefonicznymi, które w erze dial-up osiągały prędkości do 56 kbps. Sygnały DTE/DCE, takie jak DCD (Data Carrier Detect) i RI (Ring Indicator), umożliwiały modemom sygnalizowanie połączenia przychodzącego i wykrywanie nośnej. Handshaking hardware za pomocą RTS/CTS był niezbędny do sterowania przepływem danych między komputerem a modemem, szczególnie gdy używana była sprzętowa kompresja danych w modemach.

13/51 Zalety równoległej – prostota konstrukcji

Prostsza konstrukcja nadajnika/odbiornika

Brak potrzeby serializacji: W transmisji szeregowej dane (bajty/słowa) muszą być najpierw zamienione na strumień bitów (serializacja) przez układ PISO (Parallel-In Serial-Out), a po drugiej stronie zdeserializowane przez SIPO (Serial-In Parallel-Out). W transmisji równoległej dane są przesyłane w naturalnej postaci.

Niższe opóźnienie per-bit: Ponieważ wiele bitów jest przesyłanych jednocześnie, opóźnienie na pojedynczy bit jest niższe – cały bajt dociera w jednym cyklu zegara, a nie w ośmiu.

W praktyce oznacza to prostsze układy logiczne po obu stronach łącza, co było istotne w erze prostszych układów scalonych.

Ilustracja: Schemat blokowy – serializacja (PISO) i deserializacja (SIPO) w transmisji szeregowej

Prostota konstrukcji nadajnika i odbiornika w transmisji równoległej wynika z faktu, że dane są przetwarzane w postaci równoległej, zgodnej z wewnętrzną architekturą procesora. W transmisji szeregowej konieczne jest stosowanie układów UART (Universal Asynchronous Receiver-Transmitter), które dokonują konwersji danych z postaci równoległej na szeregową i odwrotnie. Układ UART dodaje do przesyłanych danych bit startu, opcjonalny bit parzystości oraz bity stopu, a po stronie odbiorczej usuwa te elementy i odtwarza oryginalne dane równoległe. Współczesne mikrokontrolery mają wbudowane układy UART, co znacznie upraszcza implementację interfejsu RS-232.

Standard RS-232 definiuje nie tylko format ramki asynchronicznej, ale także poziomy napięć dla sygnałów danych i sterujących. Sygnały danych (TXD i RXD) wykorzystują logikę ujemną, gdzie napięcie od -3 V do -15 V oznacza stan 1 (mark), a od +3 V do +15 V stan 0 (space). Sygnały sterujące RTS, CTS, DTR, DSR, DCD i RI używają natomiast logiki dodatniej, gdzie napięcie dodatnie oznacza stan aktywny (ON), a ujemne nieaktywny (OFF). Ta różnica w interpretacji sygnałów danych i sterujących jest charakterystyczną cechą standardu RS-232, którą należy uwzględnić podczas projektowania interfejsów.

14/51 Zalety równoległej – buforowanie danych

Łatwiejsze buforowanie i przetwarzanie

W transmisji równoległej dane są już w postaci bajtów/słów, co ułatwia ich buforowanie i przetwarzanie w pamięci operacyjnej. Nie ma potrzeby składania strumienia bitów w słowa – procesor otrzymuje gotowe dane.

Zalety w kontekście historycznym:

  • Procesory 8-bitowe (6502, Z80) i 16-bitowe (8086) łatwiej komunikowały się z 8/16-bitowymi magistralami równoległymi
  • Operacje DMA (Direct Memory Access) były prostsze – dane z magistrali trafiały bezpośrednio do pamięci
  • Buforowanie FIFO dla danych równoległych wymagało mniej skomplikowanej logiki

Dziś te zalety są mniej istotne – nowoczesne procesory i kontrolery DMA bez problemu obsługują transmisje szeregowe.

Ilustracja: Porównanie buforowania – dane równoległe (gotowe bajty) vs szeregowe (strumień bitów)

Buforowanie danych w transmisji szeregowej jest bardziej złożone, ponieważ dane docierają w postaci strumienia bitów, który musi zostać złożony w bajty przez układ UART. Wewnątrz układu UART zastosowano rejestry przesuwne, które kolejno odbierają bity z linii szeregowej, a po zgromadzeniu pełnej ramki (bit startu, bity danych, opcjonalny bit parzystości i bity stopu) udostępniają gotowy bajt na magistrali równoległej. W nowoczesnych układach UART stosuje się bufory FIFO (First-In, First-Out) o pojemnościach 16, 64 lub nawet 256 bajtów, które przechowują odebrane dane do momentu ich odczytania przez procesor.

W interfejsie RS-232 handshaking hardware za pomocą linii RTS/CTS odgrywa kluczową rolę w buforowaniu i sterowaniu przepływem. Gdy bufor odbiorczy UART jest prawie pełny, odbiornik dezaktywuje linię RTS, sygnalizując nadajnikowi wstrzymanie transmisji do czasu opróżnienia bufora. Podobnie linia CTS informuje nadajnik, czy odbiornik jest gotowy na przyjęcie kolejnych danych. W transmisji synchronicznej, takiej jak SPI, buforowanie jest prostsze, ponieważ dane są przesyłane w blokach z wydzieloną linią zegara, a odbiornik próbkuje dane na każdym zboczu zegara, co eliminuje potrzebę stosowania bitów startu i stopu.

15/51 Wady transmisji równoległej

Problemy transmisji równoległej

Mimo wyższej przepustowości przy niskich częstotliwościach, transmisja równoległa ma poważne wady:

  • Skew (rozbieżność czasowa): Sygnały na różnych liniach docierają w różnym czasie z powodu różnic w długości ścieżek i prędkości propagacji
  • Przesłuchy (crosstalk): Indukowanie sygnałów między sąsiednimi liniami, szczególnie przy wyższych częstotliwościach
  • Wyższe koszty kabli i złączy: Wiele żył, większe złącza, droższa produkcja
  • Ograniczona długość kabla: Maksymalnie 3–5 m dla IEEE 1284, 45 cm dla PATA
  • Problemy z synchronizacją przy wysokich częstotliwościach: Skew i crosstalk rosną z częstotliwością
Ilustracja: Diagram problemów transmisji równoległej – skew, crosstalk, ograniczenia długości

Wady transmisji równoległej, takie jak problem skew i przesłuchy, są całkowicie nieobecne w transmisji szeregowej, co czyni ją znacznie bardziej niezawodną przy wyższych częstotliwościach i większych odległościach. W standardzie RS-232, mimo że jest to transmisja asynchroniczna z logicznym poziomem napięć, problem skew nie występuje, ponieważ dane są przesyłane pojedynczą linią sygnałową. Jedynym źródłem potencjalnych błędów są zakłócenia zewnętrzne i tłumienie sygnału w kablu, które można minimalizować poprzez stosowanie kabli ekranowanych i odpowiednie dobieranie szybkości transmisji do długości kabla.

W transmisji szeregowej asynchronicznej, stosowanej w RS-232, do wykrywania błędów wykorzystuje się opcjonalny bit parzystości, który może być konfigurowany jako parzystość parzysta (even parity), nieparzysta (odd parity) lub może być pomijany (no parity). Bit parzystości jest obliczany przez nadajnik jako suma modulo 2 wszystkich bitów danych w ramce, a odbiornik po odebraniu ramki wykonuje to samo obliczenie i porównuje wynik z odebranym bitem parzystości. W przypadku niezgodności odbiornik może zgłosić błąd transmisji, co w połączeniu z handshakingiem hardware umożliwia retransmisję uszkodzonych danych.

16/51 Tabela porównawcza: szeregowa vs równoległa

Porównanie obu metod transmisji

CechaSzeregowaRównoległa
Liczba linii1–48–64
Zasięgdługi (do 100 m+)krótki (do 3 m)
Szybkość przy niskiej częstotliwościniskawysoka
Maks. częstotliwośćbardzo wysoka (nawet 32 GT/s)ograniczona (do 133 MHz)
Koszt kablaniskiwysoki
EMIniskiewysokie
Złożoność nadajnika/odbiornikaśrednia (SERDES)niska
Problem skewnie występujewystępuje
Problem przesłuchówminimalnyistotny
Ilustracja: Graf porównawczy – ikony szeregowej i równoległej z kluczowymi parametrami

Tabela porównawcza uwidacznia fundamentalne różnice między transmisją szeregową a równoległą, ale w praktyce wybór odpowiedniej metody zależy od konkretnego zastosowania i wymagań systemowych. W interfejsie RS-232, który jest przykładem transmisji szeregowej asynchronicznej, kluczowym parametrem jest szybkość transmisji wyrażana w bodach. Należy pamiętać, że w RS-232 jeden bod odpowiada jednemu bitowi na sekundę, ponieważ stosowana jest prosta modulacja NRZ (Non-Return-to-Zero) bez kodowania wielopoziomowego. Dla prędkości 9600 bps czas trwania jednego bitu wynosi około 104 mikrosekundy.

W transmisji szeregowej asynchronicznej format ramki ma bezpośredni wpływ na efektywną przepustowość. Dla ramki 8N1 narzut wynosi 2 bity (start i stop) na 8 bitów danych, co daje sprawność 80%. W przypadku ramki 8E1 (z bitem parzystości parzystej) narzut wzrasta do 3 bitów, a sprawność spada do 72,7%. Dlatego przy wyborze konfiguracji RS-232 należy znaleźć kompromis między niezawodnością (bit parzystości) a przepustowością. W transmisji synchronicznej, takiej jak SPI czy I2C, narzut jest znacznie mniejszy, ponieważ dane są przesyłane w blokach bez oddzielnych bitów startu i stopu dla każdego bajtu.

17/51 Problem skew – definicja i przyczyny

Skew (rozbieżność czasowa)

Skew – różnica w czasie dotarcia sygnałów na różnych liniach transmisji równoległej, powodująca błędy odczytu danych.

Przyczyny skew:

  • Różna długość drogi sygnałów: Ścieżki na PCB mają różne długości, kable mają różne długości żył wewnętrznych i zewnętrznych
  • Różna prędkość propagacji: Sygnał w różnych materiałach (miedź, różne dielektryki) propaguje się z różną prędkością
  • Różnice w pojemności linii: Różna pojemność między liniami wpływa na stałą czasową RC i opóźnienie
  • Różnice w bramkach logicznych: Każda brama logiczna w torze sygnałowym wnosi własne opóźnienie
Ilustracja: Schemat skew – sygnały na 4 liniach docierające w różnym czasie

Problem skew, który jest jednym z głównych ograniczeń transmisji równoległej, nie występuje w transmisji szeregowej, ponieważ wszystkie bity danych są przesyłane sekwencyjnie tą samą linią transmisyjną. W interfejsie RS-232 jedynym wyzwaniem związanym z czasem jest utrzymanie synchronizacji między nadajnikiem a odbiornikiem w ramach pojedynczej ramki asynchronicznej. Odbiornik detekuje zbocze bitu startu i uruchamia wewnętrzny licznik, który próbkuje linię danych w środku każdego bitu, co wymaga precyzyjnego dostrojenia częstotliwości generatora w odbiorniku do prędkości transmisji nadajnika.

W transmisji synchronicznej, gdzie dane są przesyłane z wydzielonym sygnałem zegara, problem synchronizacji jest rozwiązany w sposób naturalny, ponieważ odbiornik próbkuje dane na zboczu zegara dostarczanego przez nadajnik. Standardy takie jak I2C i SPI wykorzystują ten mechanizm, osiągając prędkości do kilkudziesięciu megaherców przy zachowaniu pełnej synchronizacji. W interfejsie RS-232 asynchronicznym stosuje się konwencję, że generator odbiornika musi pracować z częstotliwością będącą wielokrotnością prędkości transmisji (najczęściej 16-krotnością), co pozwala na precyzyjne próbkowanie środka każdego bitu i minimalizację błędów wynikających z niedokładności zegarów.

18/51 Skew w kablu i na PCB

Rodzaje skew w praktyce

Skew w kablu płaskim (ribbon cable): Sygnały na zewnętrznych liniach kabla mają dłuższą drogę niż na wewnętrznych, ponieważ kabel jest gięty i układany w przestrzeni. W kablach PATA (40/80 żył) różnice długości wewnętrznych i zewnętrznych żył mogą sięgać kilku centymetrów.

Skew na PCB: Różne długości ścieżek na płycie głównej – szczególnie problematyczne w przypadku magistral synchronizowanych zegarem (jak pamięć RAM). Projektanci PCB stosują techniki "serpentyn" (meandrujących ścieżek), aby wyrównać długości tras.

Przykład: Przy częstotliwości 133 MHz (ATA/133) okres zegara to ~7,5 ns. Skew rzędu 1 ns stanowi już 13% okresu – to znaczący margines błędu.
Ilustracja: Płytka PCB z serpentynami – ścieżki wyrównywane długościowo

W kontekście transmisji szeregowej problem wyrównywania długości ścieżek na PCB nie występuje, ponieważ dane są przesyłane pojedynczą linią sygnałową. Projektanci układów z interfejsem RS-232 muszą jednak zadbać o odpowiednie dopasowanie impedancji linii transmisyjnej oraz o filtrację zasilania, aby zminimalizować zakłócenia wpływające na jakość sygnału. W przypadku dłuższych połączeń RS-232 stosuje się kable o odpowiedniej pojemności jednostkowej (typowa wartość to około 50 pF/m), a maksymalna długość kabla jest ograniczona przez dopuszczalny spadek amplitudy sygnału i wzrost opóźnień propagacyjnych.

W transmisji synchronicznej szeregowej, takiej jak SPI, różnice w długości ścieżek między linią zegara a linią danych mogą powodować błędy odczytu, szczególnie przy wyższych częstotliwościach. Dlatego w zaawansowanych projektach PCB stosuje się techniki wyrównywania długości ścieżek również dla interfejsów szeregowych synchronicznych, choć problem jest znacznie mniejszy niż w przypadku magistral równoległych z wieloma liniami danych. W interfejsie RS-232, który jest asynchroniczny, synchronizacja jest odtwarzana na podstawie bitu startu, co eliminuje potrzebę prowadzenia linii zegara i czyni go odpornym na różnice w długości ścieżek.

19/51 Konsekwencje skew

Wpływ skew na transmisję

Błędy odczytu: Gdy sygnały na różnych liniach docierają w różnym czasie, odbiornik może próbkować dane w momencie, gdy niektóre linie są jeszcze w stanie nieustalonym. Skutkuje to błędnymi odczytami.

Konieczność oczekiwania na najwolniejszą linię: Aby uniknąć błędów, okres zegara musi być dłuższy niż maksymalny skew między liniami + czas narastania. To ogranicza maksymalną częstotliwość taktowania.

Przykład: Dla magistrali 8-bitowej z skew 2 ns, maksymalna częstotliwość to ok. 1/(2 ns) = 500 MHz teoretycznie, ale w praktyce znacznie mniej ze względu na margines bezpieczeństwa. Dla porównania, transmisja szeregowa nie ma tego problemu.

To właśnie skew jest głównym powodem, dla którego magistrale równoległe nie mogły osiągnąć wyższych częstotliwości.

Ilustracja: Przebieg czasowy z oznaczonym skew i oknem próbkowania

Konsekwencje skew w transmisji równoległej są tak poważne, że doprowadziły do całkowitego przejścia na transmisję szeregową w nowoczesnych magistralach komputerowych. W transmisji szeregowej asynchronicznej stosowanej w RS-232, problem różnic czasowych między liniami nie istnieje, ale pojawia się inne wyzwanie: konieczność prawidłowego próbkowania bitów w strumieniu danych. Układ UART w odbiorniku musi dokładnie określić moment próbkowania każdego bitu, co realizuje za pomocą generatora pracującego z częstotliwością 16-krotnie wyższą od prędkości transmisji. Po wykryciu bitu startu odbiornik odlicza 8 cykli generatora i próbkuje linię danych w środku pierwszego bitu, a następnie co 16 cykli dla kolejnych bitów.

W praktyce oznacza to, że błędy transmisji w RS-232 mogą wystąpić, gdy rzeczywista prędkość transmisji nadajnika różni się od prędkości ustawionej w odbiorniku o więcej niż 2-3%. Dlatego oba urządzenia muszą być skonfigurowane z tą samą szybkością transmisji, liczbą bitów danych, rodzajem parzystości i liczbą bitów stopu. Niezgodność któregokolwiek z tych parametrów powoduje błędy odczytu, które w interfejsie RS-232 są wykrywane poprzez zgłoszenie błędu ramki (framing error) lub błędu parzystości (parity error). W przeciwieństwie do transmisji równoległej, gdzie błędy wynikają z fizycznych ograniczeń kabla, w transmisji szeregowej głównym źródłem problemów są nieprawidłowe ustawienia konfiguracyjne.

20/51 Przesłuchy (crosstalk)

Crosstalk – indukowanie sygnałów między liniami

Crosstalk (przesłuch) – niepożądane indukowanie sygnału z jednej linii transmisyjnej na sąsiednią, spowodowane sprzężeniem pojemnościowym i indukcyjnym między liniami.

NEXT (Near-End Crosstalk): Sygnał z linii nadawczej indukuje się na sąsiedniej linii odbiorczej po tej samej stronie kabla. Im wyższa częstotliwość, tym silniejszy NEXT.

FEXT (Far-End Crosstalk): Sygnał z linii nadawczej indukuje się na sąsiedniej linii odbiorczej po przeciwnej stronie kabla. FEXT jest mniejszy niż NEXT, ale rośnie z długością kabla.

W transmisji równoległej crosstalk rośnie proporcjonalnie do częstotliwości – to kolejne fundamentalne ograniczenie.

Ilustracja: Schemat NEXT i FEXT – indukowanie sygnału między sąsiednimi liniami

Przesłuchy (crosstalk) w transmisji równoległej są zjawiskiem, które w transmisji szeregowej praktycznie nie występuje, ponieważ sygnały są przesyłane jedną linią lub parą różnicową. W interfejsie RS-232, który wykorzystuje sygnały niesymetryczne (single-ended) względem masy, głównym źródłem zakłóceń są zewnętrzne pola elektromagnetyczne i pętle mas, a nie przesłuchy między liniami sygnałowymi. Aby zminimalizować wpływ zakłóceń, w kablach RS-232 stosuje się ekranowanie w postaci oplotu miedzianego lub folii aluminiowej, które są łączone z masą urządzenia po jednej stronie kabla, co zapobiega powstawaniu pętli mas.

Standard RS-232 definiuje napięcia sygnałów na poziomie ±5 V do ±15 V, co daje duży margines odporności na zakłócenia w porównaniu z logiką TTL (0-5 V). W praktyce oznacza to, że sygnał RS-232 może ulec tłumieniu i zniekształceniu nawet o 30-40% i nadal będzie poprawnie odebrany, ponieważ odbiornik ma histerezę i detekuje jedynie przekroczenie progu ±3 V. W transmisji równoległej, gdzie linie są prowadzone równolegle na dużej długości, przesłuchy między sąsiednimi liniami są znacznie trudniejsze do wyeliminowania, co wymaga stosowania kabli z dodatkowymi ekranami między liniami sygnałowymi, jak w przypadku 80-żyłowych kabli PATA dla dysków twardych.

21/51 Przyczyna przejścia na transmisję szeregową

Dlaczego szeregowa zastąpiła równoległą?

W miarę wzrostu częstotliwości problemy skew i przesłuchów rosną wykładniczo – to główna przyczyna przejścia na transmisję szeregową we współczesnych magistralach.

Ewolucja magistral komputerowych jasno pokazuje ten trend:

  • ISA (8 MHz) → PCI (33–66 MHz) → PCIe (2,5–32 GT/s) – szeregowa
  • PATA (33–133 MHz) → SATA (1,5–6 Gb/s) – szeregowa
  • Port równoległy (2,5 MB/s) → USB (5–40 Gb/s) – szeregowa
  • SCSI (równoległy) → SAS (Serial Attached SCSI) – szeregowa

Wszędzie tam, gdzie potrzebna była wyższa przepustowość, transmisja szeregowa okazywała się lepszym rozwiązaniem – pomimo pozornie niższej wydajności przy niskich częstotliwościach.

Ilustracja: Oś czasu ewolucji magistral – od równoległych do szeregowych

Przejście z transmisji równoległej na szeregową było podyktowane przede wszystkim ograniczeniami fizycznymi, których nie można było pokonać poprzez zwiększanie liczby linii czy udoskonalanie technologii kabli. W standardzie RS-232, który jest jednym z najstarszych interfejsów szeregowych, zastosowano transmisję asynchroniczną właśnie po to, aby uprościć okablowanie i umożliwić komunikację na większe odległości. Sygnały DTE/DCE, takie jak DTR i DSR, pozwalają na wzajemne informowanie się urządzeń o stanie gotowości, co jest szczególnie ważne w systemach, gdzie jedno urządzenie może być wyłączone lub niegotowe do pracy.

Współczesne interfejsy szeregowe, takie jak USB, SATA czy PCIe, są rozwinięciem tej samej koncepcji co RS-232, ale z wykorzystaniem zaawansowanych technik kodowania i transmisji różnicowej. Podstawowa zasada pozostaje jednak taka sama: dane są przesyłane bit po bicie, a synchronizacja jest realizowana poprzez kodowanie lub dodatkowy sygnał zegara. W przypadku RS-232 handshaking hardware za pomocą linii RTS/CTS umożliwia efektywne zarządzanie przepływem danych, co było prototypem dla bardziej zaawansowanych mechanizmów sterowania przepływem stosowanych w nowoczesnych interfejsach szeregowych, takich jak USB (protokół token-based) czy PCIe (warstwa transakcyjna).

22/51 IEEE 1284 – port równoległy

Standard IEEE 1284 (1994)

IEEE 1284 – standard portu równoległego, następca interfejsu Centronics (1970). Określa fizyczne i elektryczne właściwości portu równoległego w komputerach PC.

Złącze:

  • DB-25 (25 pinów) po stronie komputera – żeńskie złącze
  • 36-pinowe Centronics po stronie urządzenia (drukarka, skaner)

Linie sygnałowe:

  • 8 linii danych (D0–D7) – przesyłanie bajtów
  • Linie sterujące: STROBE, BUSY, ACK, SELECT, ERROR, INIT, SLCT IN, AUTOFD

Maksymalna długość kabla: ~3 m (ograniczona przez problemy transmisji równoległej).

Ilustracja: Zdjęcie złącza DB-25 (żeńskie) i kabla Centronics

Standard IEEE 1284 był ostatnim przedstawicielem transmisji równoległej w komputerach osobistych, zanim został całkowicie wyparty przez szeregowy interfejs USB. W tym samym okresie interfejs RS-232, mimo że oferował znacznie niższe prędkości transmisji, pozostawał standardem w urządzeniach przemysłowych i telekomunikacyjnych ze względu na swoją prostotę i niezawodność na większych odległościach. Złącze DB25, stosowane zarówno w IEEE 1284, jak i w RS-232, miało tę samą liczbę pinów, ale różne przypisanie sygnałów, co czasami prowadziło do pomyłek przy podłączaniu urządzeń.

W interfejsie RS-232 złącze DB25 zawiera pełny zestaw sygnałów DTE/DCE, w tym drugorzędne linie takie jak SRD (Secondary Received Data) i STD (Secondary Transmitted Data), które były używane w połączeniach synchronicznych. W praktyce większość zastosowań RS-232 wykorzystywała jedynie podzbiór sygnałów dostępny w złączu DB9, które stało się standardem w komputerach PC od lat 90. Sygnały DTE/DCE w RS-232 pełnią funkcje podobne do linii sterujących w IEEE 1284 – na przykład DTR odpowiada INIT w IEEE 1284, a DSR odpowiada SELECT – co pokazuje uniwersalność koncepcji sygnałów gotowości i sterowania przepływem niezależnie od metody transmisji.

23/51 IEEE 1284 – tryby pracy

Tryby pracy portu równoległego

TrybNazwaKierunekMaks. prędkośćCechy
SPPStandard Parallel Portjednokierunkowy (PC → urządzenie)150 kB/sPodstawowy tryb zgodny z Centronics
EPPEnhanced Parallel Portdwukierunkowy2 MB/sLepsza wydajność, adresowanie urządzeń
ECPExtended Capabilities Portdwukierunkowy z DMA2,5 MB/sDMA, kompresja RLE, kanały adresowe

SPP (Standard Parallel Port): Najwolniejszy, oryginalny tryb. Wymagał od procesora obsługi każdego bajtu (PIO – Programmed I/O).

EPP (Enhanced Parallel Port): Umożliwiał dwukierunkową komunikację, przydatną dla skanerów i napędów Zip.

ECP (Extended Capabilities Port): Najszybszy, z DMA i sprzętową kompresją RLE (Run-Length Encoding) dla drukarek.

Ilustracja: Wykres słupkowy porównania prędkości SPP vs EPP vs ECP

Tryby pracy portu równoległego IEEE 1284, takie jak SPP, EPP i ECP, ewoluowały od prostego jednokierunkowego przesyłania danych do zaawansowanego trybu z obsługą DMA i kompresją RLE. Podobną ewolucję przeszedł interfejs RS-232, który początkowo był używany wyłącznie do komunikacji z terminalami znakowymi, a później znalazł zastosowanie w modemach, urządzeniach pomiarowych i systemach automatyki. W standardzie V.24/V.28 zdefiniowano protokoły transmisji synchronicznej i asynchronicznej, a także procedury nawiązywania połączenia za pomocą sygnałów DTE/DCE, które są odpowiednikiem mechanizmów sterujących w EPP i ECP.

Handshaking hardware w RS-232, realizowany przez sygnały RTS i CTS, pełni funkcję zbliżoną do sygnałów STROBE i BUSY w IEEE 1284. W obu standardach nadajnik sygnalizuje gotowość do wysłania danych, a odbiornik potwierdza gotowość do ich przyjęcia. W RS-232 dodatkowe sygnały DTR i DSR informują o ogólnym stanie gotowości urządzeń, co odpowiada sygnałowi SELECT w IEEE 1284. Zarówno w transmisji szeregowej, jak i równoległej, mechanizmy handshakingu są niezbędne do zapewnienia niezawodnej komunikacji, szczególnie gdy urządzenia pracują z różnymi prędkościami lub są włączane i wyłączane niezależnie od siebie.

24/51 IEEE 1284 – zastosowania i ograniczenia

Zastosowania portu równoległego

Drukarki: Główne zastosowanie – podłączenie drukarek igłowych i atramentowych.

Skanery: Skanery płaskie wykorzystywały port równoległy w trybie EPP/ECP.

Napędy Zip: Iomega Zip Drive – popularny nośnik danych (100/250/750 MB) podłączany przez port równoległy.

Klucze sprzętowe (dongles): Zabezpieczenia oprogramowania (np. HASP) podłączane między portem a kablem drukarki.

Ograniczenia: Maksymalna długość kabla ~3 m, prędkość do 2,5 MB/s (ECP), brak hot-plug, duże złącze. IEEE 1284 został wyparty przez USB pod koniec lat 2000.
Ilustracja: Kolaż urządzeń – drukarka, skaner, napęd Zip, klucz HASP

Zastosowania portu równoległego IEEE 1284, takie jak drukarki i skanery, zostały w dużej mierze przejęte przez interfejs USB, który jest transmisją szeregową o znacznie wyższej przepustowości i mniejszych złączach. W dziedzinie telekomunikacji i automatyki przemysłowej interfejs RS-232 utrzymał swoją pozycję znacznie dłużej, ponieważ oferował prostą implementację, niski koszt i możliwość pracy na większych odległościach. Sygnały DTE/DCE w RS-232 umożliwiają wykrywanie obecności i gotowości urządzenia peryferyjnego bez konieczności stosowania zaawansowanych protokołów wykrywania, co jest analogiczne do mechanizmu Plug and Play w USB.

Klucze sprzętowe HASP były ciekawym zastosowaniem zarówno portu równoległego, jak i szeregowego – w przypadku RS-232 klucze były podłączane między komputerem a modemem na złączu DB9 lub DB25. Zabezpieczenia te wykorzystywały sygnały DTR i DSR do komunikacji z oprogramowaniem, co było możliwe dzięki transparentności interfejsu RS-232 dla sygnałów sterujących. W przeciwieństwie do portu równoległego, który był wyparty przez USB w ciągu kilku lat, RS-232 w systemach przemysłowych i telekomunikacyjnych jest używany do dziś, szczególnie w aplikacjach wymagających prostoty, niezawodności i izolacji galwanicznej.

25/51 IEEE 1284 – pinout DB-25

Rozkład pinów złącza DB-25

PinNazwaKierunekOpis
1STROBESygnał strobujący dane
2–9D0–D7Linie danych (bity 0–7)
10ACKPotwierdzenie odbioru
11BUSYUrządzenie zajęte
12PEBrak papieru (Paper Empty)
13SELECTUrządzenie wybrane (online)
14AUTOFDAuto Feed (automatyczny wysuw)
15ERRORBłąd urządzenia
16INITInicjalizacja drukarki
17SLCT INWybór urządzenia
18–25GNDMasa (w tym 8 pinów dla D0–D7)
Ilustracja: Schemat pinout złącza DB-25 z opisem sygnałów

Pinout złącza DB-25 w standardzie IEEE 1284 różni się znacząco od przypisania sygnałów w interfejsie RS-232, mimo że oba standardy używają tego samego fizycznego złącza. W RS-232 piny złącza DB25 są przypisane do sygnałów DTE/DCE: pin 2 to TXD (Transmit Data), pin 3 to RXD (Receive Data), pin 4 to RTS, pin 5 to CTS, pin 6 to DSR, pin 7 to GND, pin 8 to DCD, pin 20 to DTR, a pin 22 to RI. W IEEE 1284 natomiast piny 2-9 to linie danych D0-D7, pin 1 to STROBE, pin 10 to ACK, a pin 11 to BUSY. Te różnice w przypisaniu pinów powodowały, że kabel zaprojektowany dla jednego standardu nie mógł być używany z drugim bez przejściówki.

Złącze DB9, które jest zminiaturyzowaną wersją DB25 dla RS-232, zawiera najważniejsze sygnały potrzebne do podstawowej komunikacji szeregowej. W komputerach PC złącze DB9 było najczęściej wyprowadzone jako męskie (DTE), co oznaczało, że do podłączenia modemu (DCE) potrzebny był kabel prosty, a do połączenia dwóch komputerów (DTE-DTE) kabel nulmodem z krzyżowym połączeniem linii TXD i RXD oraz RTS i CTS. W IEEE 1284 złącze DB25 było żeńskie po stronie komputera, a kabel do drukarki kończył się złączem Centronics 36-pinowym, co uniemożliwiało pomyłkę przy podłączaniu, ale wymagało stosowania grubych i sztywnych kabli.

26/51 PATA (Parallel ATA / IDE)

PATA – równoległa magistrala dyskowa

PATA (Parallel ATA) – równoległa magistrala do podłączania dysków twardych i napędów optycznych. Znana również jako IDE (Integrated Drive Electronics) lub ATA (AT Attachment).

Historia:

  • 1986 – IDE (Integrated Drive Electronics) – pierwsza implementacja
  • 1994 – standard ATA (AT Attachment) – oficjalna specyfikacja ANSI
  • 16-bitowa magistrala danych (przesyłana 16 bitów jednocześnie)
  • Kabel 40-żyłowy (później 80-żyłowy dla ATA/66+)

PATA przez prawie 20 lat była dominującym interfejsem do podłączania dysków w komputerach PC.

Ilustracja: Dyski twarde PATA (IDE) – złącze 40-pinowe i taśma

Magistrala PATA (Parallel ATA) była przykładem transmisji równoległej w zastosowaniach dyskowych, gdzie przez prawie 20 lat stanowiła standardowy interfejs do podłączania dysków twardych i napędów optycznych. W tym samym okresie interfejs RS-232 był używany do komunikacji zewnętrznej komputerów z modemami i urządzeniami peryferyjnymi, podczas gdy PATA służyła do komunikacji wewnętrznej z pamięcią masową. Oba standardy różniły się nie tylko typem transmisji, ale także zasięgiem i przeznaczeniem – PATA była przeznaczona do pracy wewnątrz obudowy komputera na odległości do 45 cm, podczas gdy RS-232 mógł łączyć urządzenia oddalone o kilkanaście metrów.

W kontekście transmisji szeregowej interesujące jest to, że zarówno PATA, jak i RS-232 korzystają z sygnałów sterujących do zarządzania przepływem danych. W PATA sygnał IORDY (I/O Ready) pełni funkcję podobną do CTS w RS-232 – informuje nadajnik, że odbiornik jest gotowy do przyjęcia danych. Sygnał DMACK w PATA odpowiada za potwierdzenie operacji DMA, podobnie jak sygnał DTR w RS-232 sygnalizuje gotowość terminala do komunikacji. Te analogie pokazują, że niezależnie od metody transmisji (szeregowa czy równoległa), podstawowe mechanizmy sterowania przepływem danych pozostają takie same, różniąc się jedynie sposobem implementacji fizycznej.

27/51 PATA – generacje i prędkości

Kolejne generacje ATA

StandardRokKabelPrędkośćTryb
ATA/33 (UDMA/33)199640-żyłowy33 MB/sUDMA (Ultra DMA)
ATA/66 (UDMA/66)199980-żyłowy66 MB/sUDMA
ATA/100 (UDMA/100)200080-żyłowy100 MB/sUDMA
ATA/133 (UDMA/133)200280-żyłowy133 MB/sUDMA
ATA/133 (133 MB/s) – maksymalna prędkość PATA. Porównanie: SATA III (600 MB/s) jest ~4,5× szybszy.

Wzrost liczby żył w kablu (z 40 do 80) wynikał z potrzeby dodania mas dla redukcji przesłuchów przy wyższych częstotliwościach. Co druga żyła to masa (GND).

Ilustracja: Wykres słupkowy prędkości PATA – ATA/33 → ATA/133

Generacje PATA, od ATA/33 do ATA/133, pokazują stopniowy wzrost prędkości transmisji równoległej, który ostatecznie został zatrzymany przez fizyczne ograniczenia kabla i złącza. Dla porównania, interfejs RS-232 również przeszedł ewolucję od prędkości 300 bps w latach 60. do 115200 bps w standardowych implementacjach komputerów PC, a w wersjach zoptymalizowanych (RS-232 z buforowaniem FIFO) osiągał nawet 921600 bps. Wzrost prędkości w RS-232 był jednak ograniczony przez pojemność kabla i zasięg transmisji, podobnie jak w PATA ograniczeniem były przesłuchy i skew między liniami danych.

W transmisji szeregowej szybkość transmisji wyrażana w bodach nie zawsze odpowiada bezpośrednio szybkości w bitach na sekundę – w standardzie RS-232 jeden symbol faktycznie przenosi jeden bit, ponieważ stosowane jest kodowanie NRZ. W bardziej zaawansowanych standardach szeregowych, takich jak PCIe czy USB 3.0, stosuje się kodowanie 8B/10B lub 128B/130B, gdzie nadmiarowe bity są dodawane w celu zrównoważenia składowej stałej i ułatwienia odtwarzania zegara. W PATA natomiast każda linia danych przenosi jeden bit, a 16-bitowa magistrala danych przesyła 16 bitów jednocześnie, co przy cyklu 15 ns i podwójnym taktowaniu (DDR) dawało przepustowość 133 MB/s (2 bajty / 15 ns ≈ 133 MB/s).

28/51 PATA – topologia master/slave

Topologia master/slave

Master/Slave – w PATA dwa urządzenia mogą być podłączone do jednego kabla. Jedno jest konfigurowane jako master (główne), drugie jako slave (podrzędne).

Konfiguracja odbywała się za pomocą zworek (jumperów) na dysku:

  • Master: Dysk główny – pierwszy w kolejności rozruchu (jeśli BIOS tak ustawi)
  • Slave: Dysk podrzędny – współdzieli kanał z masterem
  • CS (Cable Select): Automatyczne przypisanie roli na podstawie pozycji na kablu (pozycja końcowa = master, środkowa = slave)

Wady: Współdzielenie pasma między dwa urządzenia, możliwość konfliktów przy nieprawidłowej konfiguracji zworek.

Ilustracja: Schemat podłączenia master/slave na kablu PATA

Topologia master/slave w PATA, która wymagała ręcznej konfiguracji zworek na dyskach, była jednym z najbardziej uciążliwych aspektów tego standardu dla użytkowników. W interfejsie RS-232 nie ma odpowiednika topologii master/slave, ponieważ komunikacja odbywa się w trybie point-to-point między dwoma urządzeniami DTE i DCE. Każde połączenie RS-232 jest dedykowane i nie wymaga konfigurowania adresów ani priorytetów – urządzenie DTE (np. komputer) inicjuje komunikację, a DCE (np. modem) odpowiada. Dopiero w rozszerzeniach takich jak RS-485 wprowadzono topologię magistrali z wieloma urządzeniami (multi-drop), gdzie każde urządzenie ma unikalny adres.

Handshaking hardware w RS-232, z sygnałami RTS i CTS, rozwiązuje problem arbitrażu dostępu do medium w sposób bardziej elegancki niż zwory master/slave w PATA. W RS-232 każde urządzenie może w dowolnym momencie zgłosić chęć nadawania poprzez aktywację RTS, a odbiornik odpowiada CTS, gdy jest gotowy do odbioru. W systemach z wieloma urządzeniami RS-485 stosuje się protokoły takie jak Modbus RTU, które implementują mechanizm master-slave na poziomie programowym, gdzie master (zwykle komputer) wysyła zapytanie do konkretnego urządzenia, a slave odpowiada po upływie określonego czasu. To pokazuje, że koncepcja master/slave jest bardziej elastyczna w transmisji szeregowej niż w PATA, gdzie była narzucona przez fizyczną topologię kabla.

29/51 PATA – ograniczenia fizyczne

Ograniczenia magistrali PATA

Szeroki kabel: Kabel 40/80-żyłowy ma szerokość ~5 cm – utrudnia przepływ powietrza w obudowie, pogarszając chłodzenie komponentów.

Krótka długość: Maksymalna długość kabla ~45 cm – ogranicza swobodę rozmieszczenia dysków w obudowie.

Brak hot-plug: Nie można podłączać/odłączać dysku podczas pracy komputera – grozi uszkodzeniem sprzętu lub danych.

Podatne złącze: 40-pinowe złącze IDC – łatwe do uszkodzenia (wygięte piny), wymaga siły przy podłączaniu.

Wniosek: PATA była wystarczająca w erze dysków HDD, ale dla nowoczesnych SSD (które potrzebują >500 MB/s) i lepszego chłodzenia konieczna była zmiana na SATA.
Ilustracja: Zdjęcie kabla PATA w obudowie – blokuje przepływ powietrza

Ograniczenia fizyczne magistrali PATA, takie jak szeroki kabel blokujący przepływ powietrza i krótka dopuszczalna długość, były bezpośrednim skutkiem zastosowania transmisji równoległej. W transmisji szeregowej, zarówno w RS-232, jak i w SATA, kable są cieńsze, bardziej elastyczne i umożliwiają lepsze chłodzenie komponentów wewnątrz obudowy komputera. Brak hot-plug w PATA wynikał z tego, że równoczesne podłączenie 40 lub 80 styków przy włączonym zasilaniu groziło zwarciem i uszkodzeniem kontrolera, podczas gdy w RS-232 hot-plug był możliwy dzięki niższym napięciom i mniejszej liczbie sygnałów, choć w praktyce rzadko stosowany.

W interfejsie RS-232 podłączanie i odłączanie urządzeń podczas pracy jest bezpieczne, ponieważ standard definiuje, że piny sygnałowe nie powinny być narażone na uszkodzenie przy zwarciu do masy lub napięcia zasilania. Złącza DB9 i DB25 są zaprojektowane tak, że piny zasilania (jeśli występują) są dłuższe i łączą się jako pierwsze, a piny sygnałowe łączą się później, co minimalizuje ryzyko przepięć. W systemach przemysłowych stosuje się dodatkowo obwody ochrony przepięciowej na liniach RS-232, które chronią sprzęt przed wyładowaniami elektrostatycznymi i przepięciami powstałymi podczas podłączania kabli pod napięciem.

30/51 PATA – złącze 40-pinowe

Złącze PATA (40-pin IDC)

Złącze PATA to 40-pinowe złącze IDC (Insulation-Displacement Connector) na kablu taśmowym. Pin 1 jest oznaczony czerwonym paskiem na kablu (tzw. "pin 1 stripe").

Wybrane sygnały:

PinSygnałOpis
1RESETReset dysku
3–18DD0–DD15Linie danych (16-bit)
27IORDYI/O Ready – gotowość dysku
29DMACKDMA Acknowledge
39CSELCable Select

W standardzie ATA/66+ zastosowano kabel 80-żyłowy, ale złącze pozostało 40-pinowe – dodatkowe 40 żył to masy między sygnałami dla redukcji przesłuchów.

Ilustracja: Schemat złącza PATA 40-pin z opisem kluczowych sygnałów

Złącze PATA 40-pin IDC jest przykładem złącza równoległego, które zdominowało rynek na długo przed erą transmisji szeregowej w magazynach danych. W interfejsie RS-232 złącza DB9 i DB25 są również złączami wielopinowymi, ale liczba sygnałów jest znacznie mniejsza, a piny są rozmieszczone w dwóch rzędach, co ułatwia podłączanie i zwiększa trwałość mechaniczną. W PATA 40-pinowe złącze IDC było podatne na uszkodzenia mechaniczne – wygięcie jednego pinu uniemożliwiało podłączenie dysku, a identyfikacja pinu 1 wymagała czerwonego oznaczenia na kablu (pin 1 stripe), które czasami było trudne do dostrzeżenia.

W standardzie RS-232 identyfikacja poszczególnych pinów jest ułatwiona poprzez numerację wytłoczoną na złączu oraz standardowy schemat połączeń. W złączu DB9 używanym w RS-232 numery pinów są zazwyczaj wyraźnie oznaczone, a standardowe kolory przewodów w kablach RS-232 ułatwiają identyfikację sygnałów podczas napraw i modyfikacji. W PATA sytuacja była bardziej skomplikowana, ponieważ producenci kabli nie stosowali jednolitego kodowania kolorami, a oznaczenie pinu 1 było często jedynym sposobem na prawidłowe podłączenie kabla. Przejście na SATA (szeregową) wyeliminowało te problemy, wprowadzając małe, kluczowane złącze z zatrzaskiem, które można podłączyć tylko w jeden sposób.

31/51 SATA (Serial ATA) – wprowadzenie

SATA – szeregowy następca PATA

SATA (Serial ATA) – szeregowa magistrala do podłączania dysków, pierwsza specyfikacja w 2003 roku. Zastąpiła PATA w ciągu kilku lat.

Transmisja szeregowa różnicowa:

  • Dwie pary sygnałowe: TX+ / TX- (nadawanie) i RX+ / RX- (odbiór)
  • Transmisja różnicowa – sygnał jest różnicą napięć na parze przewodów
  • Pełny dupleks – jednoczesne nadawanie i odbiór
  • Napięcie sygnałów: 0,5 V (vs 5 V w PATA) – mniejsze zużycie energii

Kabel SATA ma tylko 7 pinów dla danych (w tym masy) – to ogromna redukcja względem 40/80 żył PATA.

Ilustracja: Kabel SATA (7-pinowy, cienki) vs kabel PATA (80-żyłowy, szeroki)

SATA (Serial ATA) jest przykładem udanego przejścia z transmisji równoległej na szeregową w obszarze magazynów danych, co przyniosło wymierne korzyści w postaci wyższej przepustowości, mniejszych kabli i obsługi hot-plug. Podobną ewolucję przeszedł interfejs RS-232, który z czasem został rozszerzony o standard RS-485 umożliwiający transmisję różnicową na większe odległości, oraz o standard RS-422 dla komunikacji pełnodupleksowej. W obu przypadkach (PATA→SATA i RS-232→RS-485) kluczową zmianą było przejście z sygnałów niesymetrycznych (single-ended) na różnicowe (differential), co znacząco poprawiło odporność na zakłócenia.

W transmisji szeregowej SATA zastosowano kodowanie 8B/10B, które zapewnia zrównoważoną liczbę zer i jedynek w strumieniu danych, ułatwiając odtwarzanie zegara po stronie odbiornika. W RS-232 nie stosuje się tak zaawansowanego kodowania – dane są przesyłane w postaci surowej z wykorzystaniem bitów startu i stopu do synchronizacji. Mimo tej różnicy, podstawowa zasada transmisji szeregowej jest taka sama: dane są przesyłane bit po bicie, a odbiornik musi zrekonstruować oryginalną sekwencję bitów. W SATA, podobnie jak w RS-232, stosuje się pary sygnałowe do nadawania i odbioru, ale w SATA są to pary różnicowe z napięciem 0,5 V, podczas gdy w RS-232 sygnały są niesymetryczne z napięciem ±12 V.

32/51 SATA – generacje i prędkości

Kolejne generacje SATA

GeneracjaRokPrędkość liniiKodowanieRzeczywista przepustowość
SATA I20031,5 Gb/s8B/10B150 MB/s
SATA II20043 Gb/s8B/10B300 MB/s
SATA III20096 Gb/s8B/10B600 MB/s
Kodowanie 8B/10B: Każde 8 bitów danych jest kodowane jako 10 bitów transmisji. Narzut 20% – stąd 6 Gb/s linii = 600 MB/s danych (6 Gb/s / 10 bitów × 8 bitów / 8 = 600 MB/s).

Planowany SATA IV (12 Gb/s) nie został zrealizowany – rynek przeszedł na NVMe/PCIe dla szybszych SSD.

Ilustracja: Wykres słupkowy – SATA I, II, III z prędkościami

Generacje SATA, od SATA I (1,5 Gb/s) do SATA III (6 Gb/s), pokazują systematyczny wzrost przepustowości przy jednoczesnym zachowaniu wstecznej zgodności – dysk SATA I można podłączyć do kontrolera SATA III i odwrotnie. W interfejsie RS-232 również istnieje wsteczna zgodność – urządzenie pracujące z prędkością 9600 bps może być podłączone do portu RS-232 skonfigurowanego na 115200 bps, o ile oba urządzenia zostaną skonfigurowane na tę samą prędkość. W SATA autonegocjacja prędkości odbywa się automatycznie podczas inicjalizacji połączenia, podczas gdy w RS-232 prędkość musi być ustawiona ręcznie w konfiguracji oprogramowania.

Kodowanie 8B/10B stosowane w SATA wprowadza 20% narzut, co oznacza, że przy prędkości linii 6 Gb/s rzeczywista przepustowość danych wynosi 600 MB/s. W RS-232 narzut związany z formatem ramki asynchronicznej zależy od konfiguracji – dla ramki 8N1 każde 8 bitów danych wymaga przesłania 10 bitów na linii (narzut 25%), co daje sprawność 80%. Dla porównania, w nowoczesnych interfejsach szeregowych jak PCIe 3.0 z kodowaniem 128B/130B narzut wynosi zaledwie 1,5%, co pokazuje, jak bardzo ewoluowały techniki kodowania w transmisji szeregowej. Mimo mniejszej sprawności, prostota RS-232 i niski koszt implementacji sprawiają, że jest on nadal powszechnie stosowany w aplikacjach, gdzie przepustowość nie jest krytyczna.

33/51 SATA – zalety nad PATA

Przewagi SATA nad PATA

CechaPATASATA
Kabel40/80 żył, szeroki ~5 cm7 pinów, cienki ~1 cm
Długość kabla~45 cmdo 1 m
Napięcie sygnałów5 V0,5 V
Hot-plugnietak
Topologiamaster/slave (2 na kanał)point-to-point
NCQ (Native Command Queuing)nietak (optymalizacja kolejności zapytań)
TRIM dla SSDnietak

Point-to-point: Każde urządzenie ma dedykowany port – brak konfliktów master/slave, pełne pasmo dla każdego dysku.

Ilustracja: Porównanie SATA vs PATA – ikony kabli, złączy, topologii

Zalety SATA nad PATA są w dużej mierze takie same, jak zalety transmisji szeregowej nad równoległą w ogólności: mniejsza liczba przewodów, większy zasięg, wyższe częstotliwości i hot-plug. W kontekście RS-232 warto zauważyć, że wiele z tych zalet było dostępnych w transmisji szeregowej już od lat 60. – RS-232 od początku oferował hot-plug (choć nieformalnie), małą liczbę przewodów (minimalnie 3) i możliwość pracy na większych odległościach niż równoległe odpowiedniki. Różnica polega na tym, że SATA osiąga gigabitowe prędkości dzięki zaawansowanemu kodowaniu i transmisji różnicowej, podczas gdy RS-232 jest ograniczony do niższych prędkości przez prostsze kodowanie i wyższe napięcia sygnałów.

NCQ (Native Command Queuing) w SATA jest przykładem zaawansowanego mechanizmu optymalizacji kolejności zapytań, który nie ma bezpośredniego odpowiednika w RS-232. Jednak w systemach przemysłowych stosujących protokoły takie jak Modbus RTU po RS-232/RS-485 również implementuje się mechanizmy kolejkowania zapytań na poziomie aplikacji. Sygnały DTE/DCE w RS-232, takie jak DTR i DSR, umożliwiają podstawowe sterowanie przepływem, które w SATA zostało zastąpione bardziej zaawansowanymi mechanizmami warstwy transportowej. Hot-plug w SATA jest zaimplementowany w standardzie, podczas gdy w RS-232 bezpieczne podłączanie i odłączanie urządzeń podczas pracy jest możliwe dzięki konstrukcji złączy i niskim napięciom, ale nie jest formalnie zdefiniowane w standardzie.

34/51 SATA – złącze i topologia

Złącze SATA i topologia point-to-point

Złącze SATA: 7 pinów dla danych + 15 pinów dla zasilania. Małe, wygodne, z zatrzaskiem.

Złącze danych (7 pinów):

  • Pary TX+ / TX- (nadawanie) i RX+ / RX- (odbiór)
  • Masa (GND) – 3 piny

Złącze zasilania (15 pinów): Napięcia 3,3 V, 5 V, 12 V – wszystkie w jednym złączu.

eSATA (external SATA): Zewnętrzna wersja SATA, do 2 m kabla. Złącze bardziej wytrzymałe (odporne na wielokrotne podłączanie).

Topologia point-to-point: Każde urządzenie łączy się bezpośrednio z kontrolerem hosta – żadnych konfliktów, każde urządzenie ma pełne pasmo.

Ilustracja: Złącze SATA – piny danych (7) i zasilania (15)

Złącze SATA danych (7 pinów) i zasilania (15 pinów) jest przykładem nowoczesnego podejścia do fizycznej implementacji transmisji szeregowej, gdzie oddzielono tor danych od zasilania i zastosowano kluczowanie uniemożliwiające nieprawidłowe podłączenie. W interfejsie RS-232 złącze DB9 łączy w sobie zarówno sygnały danych, jak i sterujące, ale nie przenosi zasilania – urządzenia DCE muszą mieć własne źródło zasilania. Dopiero w standardzie USB połączono transmisję szeregową danych z zasilaniem urządzeń peryferyjnych, co było rewolucją w podłączaniu urządzeń do komputera. Złącze DB9 w RS-232 nie ma mechanicznego zatrzasku, co w wibracyjnych środowiskach przemysłowych wymaga stosowania dodatkowych śrub montażowych lub zatrzasków.

Topologia point-to-point w SATA, gdzie każde urządzenie ma dedykowane połączenie z kontrolerem, jest podobna do standardowego połączenia RS-232 między DTE a DCE. W obu przypadkach nie ma rywalizacji o dostęp do medium, a pasmo transmisyjne jest w pełni dostępne dla pojedynczego urządzenia. W RS-232 możliwe jest jednak również połączenie wielu urządzeń w sieć za pomocą standardu RS-485, który implementuje topologię magistrali z wieloma węzłami (multi-drop). W takiej konfiguracji wszystkie urządzenia są podłączone do tej samej pary przewodów, a dostęp do medium jest regulowany przez protokół warstwy wyższej, na przykład Modbus RTU z mechanizmem master-slave lub bardziej zaawansowane protokoły z detekcją kolizji.

35/51 Porównanie PATA vs SATA

PATA vs SATA – zestawienie parametrów

ParametrPATA (ATA/133)SATA III
Typ transmisjirównoległa (16-bit)szeregowa różnicowa
Maks. prędkość133 MB/s600 MB/s
Kabel40/80 żył, taśma7 pinów, cienki
Długość kabla~45 cmdo 1 m (eSATA: 2 m)
Napięcie sygnałów5 V0,5 V
Topologiamaster/slavepoint-to-point
Hot-plugnietak
NCQnietak
TRIM (SSD)nietak

SATA III jest ~4,5× szybszy od PATA/133, a dodatkowo oferuje hot-plug, NCQ, TRIM i lepsze chłodzenie dzięki cieńszemu kablowi.

Ilustracja: Graf porównawczy PATA vs SATA

Porównanie PATA i SATA w tabeli wyraźnie pokazuje przewagę transmisji szeregowej nad równoległą w kontekście interfejsów dyskowych. W interfejsie RS-232 również można zaobserwować podobny postęp – od standardowego RS-232 z prędkością 115200 bps do RS-485 z prędkością 10 Mbps (na krótkich dystansach) lub 100 kbps na odległości do 1200 metrów. W obu przypadkach (PATA→SATA i RS-232→RS-485) kluczową innowacją było wprowadzenie transmisji różnicowej, która zapewnia większą odporność na zakłócenia i umożliwia wyższe prędkości transmisji. SATA zastosował pary różnicowe dla każdego kierunku transmisji, podczas gdy RS-485 używa jednej pary różnicowej dla komunikacji półdupleksowej.

W kontekście pinów i kabli różnica jest równie dramatyczna – PATA wymagała 40 lub 80 żył w kablu, podczas gdy SATA potrzebuje tylko 7 pinów dla danych (w tym masy). W RS-232 złącze DB25 miało 25 pinów, z czego wiele było rzadko używanych, a przejście na DB9 było odpowiedzią na potrzebę miniaturyzacji. W RS-485 używane jest jeszcze prostsze okablowanie – zaledwie 2 lub 3 przewody (A, B i opcjonalnie GND) dla całej sieci urządzeń. Zarówno w przypadku SATA, jak i RS-485, redukcja liczby przewodów idzie w parze ze wzrostem przepustowości i zasięgu, co potwierdza tezę, że transmisja szeregowa jest bardziej efektywna w większości współczesnych zastosowań.

36/51 USB – Universal Serial Bus

USB – wprowadzenie

USB (Universal Serial Bus) – szeregowa magistrala do podłączania urządzeń peryferyjnych. Jeden z najpopularniejszych standardów w historii komputerów.

Historia:

  • USB 1.0 (1996) – 1,5 Mb/s (Low Speed) i 12 Mb/s (Full Speed)
  • USB 1.1 (1998) – poprawki, masowa adopcja
  • USB 2.0 (2000) – 480 Mb/s (High Speed), półdupleks

USB zaprojektowano jako uniwersalny zamiennik dla wielu różnych złączy: portu szeregowego (RS-232), równoległego (IEEE 1284), PS/2 (mysz/klawiatura) i innych.

Ilustracja: Logo USB i różne złącza USB – Type-A, Type-B, Mini, Micro

USB (Universal Serial Bus) jest najbardziej rozpowszechnionym przykładem transmisji szeregowej w codziennym użytkowaniu komputerów. W przeciwieństwie do RS-232, który jest standardem dla pojedynczego połączenia punkt-punkt, USB został zaprojektowany jako magistrala z topologią gwiazdy, umożliwiająca podłączenie do 127 urządzeń za pomocą hubów. W RS-232 sygnały DTE/DCE umożliwiają nawiązywanie połączenia między dwoma urządzeniami, podczas gdy USB wykorzystuje bardziej zaawansowany protokół z enumeracją urządzeń, przypisywaniem adresów i automatycznym wykrywaniem prędkości. Oba standardy korzystają jednak z tej samej podstawowej koncepcji – transmisji szeregowej bit po bicie.

USB 1.0/1.1, podobnie jak RS-232, wykorzystuje transmisję asynchroniczną z kodowaniem NRZI (Non-Return-to-Zero Inverted) i mechanizmem bit-stuffing do utrzymania synchronizacji. W RS-232 funkcję synchronizacji pełnią bity startu i stopu, podczas gdy USB stosuje kodowanie NRZI, które zapewnia przejścia sygnału dla każdego bitu 0, a w przypadku długich sekwencji jedynek wymusza wstawienie dodatkowego bitu 0 (bit-stuffing). Handshaking w USB jest realizowany na poziomie pakietów, a nie sygnałów sprzętowych jak w RS-232, ale zasada jest podobna – nadajnik wysyła dane, a odbiornik potwierdza ich odbiór. W USB 2.0 dodano transmisję o prędkości 480 Mbps, która jest 4000 razy szybsza niż typowy RS-232 z prędkością 115200 bps.

37/51 USB 3.0, 3.1, 3.2, USB4

Kolejne generacje USB

WersjaRokPrędkośćNazwa marketingowa
USB 3.020085 Gb/sSuperSpeed
USB 3.1201310 Gb/sSuperSpeed+
USB 3.2201720 Gb/sSuperSpeed+ 2×
USB4201940 Gb/sUSB4 (oparty na Thunderbolt 3)
USB 3.0+: Wprowadza dodatkowe pary różnicowe dla SuperSpeed – SSTX+/- (nadawanie) i SSRX+/- (odbiór), umożliwiające pełny dupleks.

USB 3.2 Gen 2x2 wykorzystuje 2 pasma po 10 Gb/s, osiągając 20 Gb/s. USB4 opiera się na protokole Thunderbolt 3 i oferuje do 40 Gb/s.

Ilustracja: Wykres wzrostu prędkości USB od 1.0 do USB4

USB 3.0 (SuperSpeed) wprowadził istotne ulepszenia w stosunku do wcześniejszych wersji, w tym dodatkowe pary sygnałów różnicowych dla transmisji pełnodupleksowej i kodowanie 8B/10B. Ta zmiana jest analogiczna do przejścia z RS-232 na RS-422/RS-485, gdzie dodanie par różnicowych umożliwiło wyższe prędkości i większą odporność na zakłócenia. RS-232 jest transmisją pełnodupleksową dzięki oddzielnym liniom TXD i RXD, podczas gdy USB 3.0 również oferuje pełny dupleks z oddzielnymi parami dla nadawania i odbioru, ale z wyższą przepustowością. Wspólne dla obu standardów jest to, że poprawa wydajności wymagała zwiększenia liczby przewodów w kablu.

USB4, osiągający prędkość do 40 Gb/s, pokazuje, jak daleko zaszła transmisja szeregowa od czasów RS-232. Mimo ogromnej różnicy w przepustowości, podstawowe zasady pozostały takie same – dane są przesyłane bit po bicie, a odbiornik odtwarza zegar ze strumienia danych. W USB4 zastosowano kodowanie 128B/132B, które jest znacznie wydajniejsze od 8B/10B (narzut 3% zamiast 25%), ale podobnie jak w RS-232 konieczne jest zachowanie synchronizacji między nadajnikiem a odbiornikiem. Rosnące prędkości transmisji szeregowej wymagają coraz bardziej zaawansowanych technik kodowania i modulacji, ale fundamentem pozostaje ta sama idea, którą znamy z RS-232 – sekwencyjne przesyłanie bitów pojedynczą linią.

38/51 USB – transmisja i topologia

Transmisja różnicowa i topologia USB

Transmisja różnicowa:

  • USB 1.x/2.0: D+ i D- (półdupleks) – jedna para różnicowa dla nadawania i odbioru
  • USB 3.x: dodatkowo SSTX+/- (nadawanie) i SSRX+/- (odbiór) – pełny dupleks
  • USB4: 4 pasma (2 TX, 2 RX) – do 40 Gb/s

Topologia USB: Hierarchiczna gwiazda z hubami. Host kontroluje wszystkie urządzenia, urządzenia nie komunikują się bezpośrednio między sobą.

Maksymalnie 127 urządzeń – limit adresów w standardzie USB (7-bitowy adres, adres 0 zarezerwowany).
Ilustracja: Schemat topologii USB – host → huby → urządzenia

Transmisja różnicowa w USB, zastosowana po raz pierwszy w USB 1.0 na liniach D+ i D-, jest tą samą techniką, która jest używana w standardzie RS-485 dla komunikacji przemysłowej. W RS-232 transmisja jest niesymetryczna (single-ended), co oznacza, że sygnał jest mierzony względem masy, podczas gdy w USB i RS-485 sygnał jest mierzony jako różnica napięć między dwoma przewodami. Dzięki temu sygnały różnicowe są znacznie bardziej odporne na zakłócenia, ponieważ zakłócenia indukowane w obu przewodach są identyczne i znoszą się przy obliczaniu różnicy. W praktyce oznacza to, że USB może pracować z wyższymi prędkościami na dłuższych kablach niż RS-232 przy tych samych poziomach zakłóceń.

Topologia hierarchicznej gwiazdy w USB, z hostem na szczycie i hubami pośredniczącymi, różni się od prostej topologii punkt-punkt w RS-232. W RS-232 każde połączenie jest dedykowane i nie ma potrzeby adresowania urządzeń, podczas gdy w USB każde urządzenie otrzymuje unikalny 7-bitowy adres podczas enumeracji. W RS-232 sygnały DTE/DCE, takie jak DTR i DSR, pełnią funkcję informowania o gotowości urządzeń, co w USB zostało zastąpione bardziej zaawansowanym protokołem zarządzania energią i stanami uśpienia. Mimo tych różnic, oba standardy zapewniają mechanizmy wykrywania błędów – w RS-232 jest to bit parzystości i błędy ramki, a w USB sumy kontrolne w pakietach i potwierdzenia ACK/NAK.

39/51 USB – zasilanie i złącza

Zasilanie przez USB i rodzaje złączy

Zasilanie przez USB:

StandardNapięcieMaks. prądMoc
USB 2.05 V500 mA2,5 W
USB 3.05 V900 mA4,5 W
USB BC 1.25 V1,5 A7,5 W
USB PD 3.05–48 Vdo 5 Ado 240 W

Złącza USB: Type-A (host), Type-B (urządzenie), Mini-A/B, Micro-A/B, Type-C (odwracalne, obsługuje USB, DisplayPort, Thunderbolt, zasilanie do 240 W).

USB Type-C: 24 piny, odwracalne, obsługuje USB 3.2/4, DisplayPort (ALT Mode), Thunderbolt 3/4, Power Delivery do 240 W.
Ilustracja: Porównanie złączy USB – Type-A, Type-B, Micro, Type-C

Zasilanie przez USB było rewolucyjną cechą, która pozwoliła na zasilanie urządzeń peryferyjnych bezpośrednio z portu komputera, eliminując potrzebę stosowania zewnętrznych zasilaczy. W interfejsie RS-232 zasilanie nie jest przenoszone przez kabel transmisyjny, co wymagało oddzielnego zasilania dla każdego urządzenia DCE, takiego jak modem czy czytnik kodów kreskowych. W systemach przemysłowych stosuje się jednak konwertery RS-232 na RS-485, które mogą być zasilane z portu RS-232 poprzez pobieranie energii z linii sterujących, takich jak DTR i RTS, które w stanie aktywnym mają napięcie dodatnie i mogą dostarczyć niewielki prąd do zasilania prostych układów elektronicznych.

Złącze USB Type-C, z 24 pinami i możliwością odwracalnego podłączania, jest szczytowym osiągnięciem w dziedzinie miniaturyzacji złączy dla transmisji szeregowej. Dla porównania, złącze DB9 w RS-232 ma 9 pinów, jest większe i nie jest odwracalne – można je podłączyć tylko w jeden sposób. USB Type-C obsługuje nie tylko transmisję danych (USB 3.2, USB4, Thunderbolt), ale także zasilanie do 240 W (USB PD) i sygnały wideo (DisplayPort ALT Mode). Mimo że RS-232 jest znacznie prostszy i wolniejszy, w wielu zastosowaniach przemysłowych i laboratoryjnych pozostaje niezastąpiony ze względu na swoją prostotę, solidność i łatwość diagnostyki za pomocą oscyloskopu lub analizatora stanów logicznych.

40/51 USB – porównanie wersji

Porównanie generacji USB

CechaUSB 2.0USB 3.0USB 3.2USB4
Prędkość480 Mb/s5 Gb/s20 Gb/s40 Gb/s
Duplekspółduplekspełny duplekspełny duplekspełny dupleks
Pary różnicowe1 (D+/D-)3 (D+/D-, SSTX, SSRX)4 (2× TX, 2× RX)4 (2× TX, 2× RX)
KodowanieNRZI8B/10B8B/10B128B/132B
Maks. moc2,5 W4,5 W4,5 Wdo 240 W (PD)
Złącze typoweType-A, Micro-BType-A, Type-CType-CType-C
Ilustracja: Tabela porównawcza USB 2.0 vs 3.0 vs 3.2 vs USB4

Porównanie generacji USB od 2.0 do USB4 pokazuje, jak ewoluowała transmisja szeregowa na przestrzeni dwóch dekad, osiągając wzrost prędkości o dwa rzędy wielkości. Podobną ewolucję przeszedł interfejs RS-232, który od prędkości 300 bps w latach 60. osiągnął 115200 bps w standardowych implementacjach i do 921600 bps w wersjach z rozszerzonymi buforami FIFO. W obu przypadkach wzrost prędkości wymagał wprowadzenia bardziej zaawansowanych technik kodowania – od NRZI w USB 2.0 przez 8B/10B w USB 3.0 do 128B/132B w USB4, a w RS-232 od prostego NRZ do kodowania Manchester w niektórych aplikacjach synchronicznych.

Wspólną cechą wszystkich standardów transmisji szeregowej jest konieczność synchronizacji nadajnika i odbiornika. W USB 2.0 synchronizacja jest realizowana przez kodowanie NRZI z bit-stuffingiem, w USB 3.0 i nowszych przez kodowanie 8B/10B lub 128B/132B, a w RS-232 przez bity startu i stopu w ramce asynchronicznej. Każde z tych rozwiązań ma swoje zalety i wady – ramka asynchroniczna RS-232 jest prosta i tania w implementacji, ale ma większy narzut, podczas gdy kodowanie 8B/10B jest bardziej wydajne, ale wymaga bardziej złożonych układów logicznych. Wybór odpowiedniej metody synchronizacji zależy od wymagań aplikacji dotyczących szybkości, kosztów i niezawodności transmisji.

41/51 PCI Express – wprowadzenie

PCIe – szeregowa magistrala rozszerzeń

PCI Express (PCIe) – szeregowa magistrala dla kart rozszerzeń komputera, następca równoległej magistrali PCI.

Historia:

  • PCI (Parallel PCI, 1993) – 32/64-bit, 33/66 MHz, do 533 MB/s
  • PCI-X (1998) – 64-bit, do 133 MHz, do 1,06 GB/s – rozszerzenie dla serwerów
  • PCIe 1.0 (2003) – szeregowa, 2,5 GT/s per lane

PCIe to magistrala szeregowa z liniami (lanes). Każda linia to para różnicowa nadawcza i odbiorcza (4 przewody na linię). Liczba linii: x1, x4, x8, x16.

Ilustracja: Sloty PCIe na płycie głównej – x1, x4, x8, x16

PCI Express jest przykładem najbardziej zaawansowanej implementacji transmisji szeregowej w komputerach osobistych, gdzie każda linia (lane) stanowi niezależne łącze szeregowe z transmisją różnicową. Koncepcja wielu linii PCIe, które mogą być łączone w celu zwiększenia przepustowości, jest rozwinięciem idei transmisji szeregowej, gdzie zamiast zwiększać prędkość pojedynczej linii, dodaje się kolejne linie pracujące równolegle. W pewnym sensie PCIe łączy w sobie zalety transmisji szeregowej (synchronizacja, brak skew w ramach jednej linii) z korzyściami skali znanymi z transmisji równoległej (wiele linii zwiększających przepustowość).

W interfejsie RS-232 nie ma koncepcji wielu linii – jest to zawsze pojedyncze łącze szeregowe. Jednak w systemach przemysłowych często stosuje się wiele portów RS-232 (wieloportowe karty szeregowe), które zapewniają wiele niezależnych kanałów komunikacji, podobnie jak wiele linii PCIe. W PCIe każda linia to para TX+/- i para RX+/-, podczas gdy w RS-232 każdy port ma pojedyncze linie TXD i RXD. W obu przypadkach zastosowanie wielu niezależnych kanałów zwiększa całkowitą przepustowość systemu, ale w PCIe kanały te mogą być łączone w jeden logiczny interfejs (np. x16 dla karty graficznej), podczas gdy w RS-232 każdy port jest niezależny i wymaga osobnego zarządzania przez oprogramowanie.

42/51 PCIe – linie (lanes)

Linie PCIe – skalowalność przepustowości

Lane (linia PCIe) – para różnicowa nadawcza (TX) i odbiorcza (RX). Łącznie 4 przewody na jedną linię. Liczba linii decyduje o przepustowości.
KonfiguracjaLiczba par TXLiczba par RXZastosowanie
x111Karty sieciowe, dźwiękowe, kontrolery
x444NVMe SSD, karty sieciowe 10 GbE
x888Karty sieciowe 25/40 GbE, RAID
x161616Karty graficzne

PCIe skaluje się liniowo – x16 oferuje 16× większą przepustowość niż x1 (przy tej samej generacji).

Ilustracja: Schemat linii PCIe – pary TX+/- i RX+/- dla jednej linii

Linie PCIe (lanes) są przykładem skalowalności transmisji szeregowej, gdzie przepustowość można zwiększać liniowo poprzez dodawanie kolejnych par sygnałów różnicowych. Każda linia PCIe zawiera dwie pary różnicowe (TX i RX), co daje łącznie 4 przewody na linię, umożliwiające jednoczesne nadawanie i odbiór w pełnym dupleksie. W interfejsie RS-232 do komunikacji pełnodupleksowej potrzebne są dwie linie sygnałowe (TXD i RXD) plus masa, co daje łącznie 3 przewody. W PCIe każda linia jest w pełni niezależna, podobnie jak każdy port RS-232 jest niezależny, co pozwala na jednoczesną komunikację z wieloma urządzeniami.

W kontekście szybkości transmisji, PCIe 5.0 z prędkością 32 GT/s na linię jest około 277 000 razy szybszy niż standardowy RS-232 z prędkością 115200 bps. Mimo tej ogromnej różnicy, podstawowa zasada transmisji szeregowej pozostaje ta sama – dane są przesyłane bit po bicie, a odbiornik odtwarza zegar ze strumienia danych. W PCIe stosuje się kodowanie 128B/130B, które zapewnia bardzo niski narzut (1,5%) i umożliwia odtwarzanie zegara. W RS-232 narzut jest wyższy (20-25% w zależności od konfiguracji ramki), ale implementacja jest znacznie prostsza i tańsza. Wybór między tymi standardami zależy od wymagań aplikacji – PCIe dla bardzo szybkiej komunikacji wewnątrz komputera, RS-232 dla prostej i niezawodnej komunikacji zewnętrznej.

43/51 PCIe – generacje i prędkości

Generacje PCIe

GeneracjaRokGT/sKodowanieMB/s per laneGB/s x16
PCIe 1.020032,58B/10B2504
PCIe 2.020075,08B/10B5008
PCIe 3.020108,0128B/130B~985~16
PCIe 4.0201716,0128B/130B~1970~32
PCIe 5.0201932,0128B/130B~3940~63
PCIe 6.0202264,01b/1b (PAM-4)~7880~126
Kodowanie 128B/130B (PCIe 3.0+) – narzut tylko ~1,5% (vs 20% dla 8B/10B).
PCIe 6.0: PAM-4 (2 bity na symbol) + kodowanie 1b/1b.
Ilustracja: Wykres wzrostu prędkości PCIe od 1.0 do 6.0

Generacje PCIe od 1.0 do 6.0 pokazują systematyczny wzrost prędkości transmisji szeregowej na przestrzeni dwóch dekad. Każda kolejna generacja podwajała prędkość linii, zachowując przy tym wsteczną zgodność – karta PCIe 4.0 może pracować w slocie PCIe 2.0, choć z niższą prędkością. Podobną wsteczną zgodność zapewnia RS-232 – urządzenia pracujące z różnymi prędkościami mogą się komunikować, o ile zostaną poprawnie skonfigurowane. W PCIe autonegocjacja prędkości odbywa się automatycznie podczas inicjalizacji, natomiast w RS-232 prędkość transmisji musi być ustawiona ręcznie w konfiguracji portu przez użytkownika lub oprogramowanie.

Kodowanie 128B/130B wprowadzone w PCIe 3.0 jest znaczącym usprawnieniem w stosunku do 8B/10B stosowanego w PCIe 1.0 i 2.0, redukując narzut z 20% do zaledwie 1,5%. W RS-232 również można zaobserwować ewolucję technik kodowania – od podstawowego NRZ w standardowym RS-232 do kodowania Manchester w synchronicznych wariantach, gdzie zegar jest łączony z danymi w jednym sygnale. PCIe 6.0 wprowadza modulację PAM-4, która przesyła 2 bity na symbol, co jest radykalną zmianą w stosunku do tradycyjnego NRZ (Non-Return-to-Zero) stosowanego we wcześniejszych generacjach. W RS-232 zawsze stosowano NRZ (jeden bit na symbol), ale w nowszych standardach szeregowych, takich jak 1000BASE-T Ethernet, również zastosowano modulację wielopoziomową (PAM-5) dla zwiększenia przepustowości.

44/51 PCIe – przykłady obliczeń

Obliczenia przepustowości PCIe

Przykład 1: PCIe 3.0 x16 = 16 linii × ~985 MB/s ≈ 15,76 GB/s w każdą stronę (pełny dupleks).

Przykład 2 – Karta sieciowa 10 GbE:

  • Wymagana przepustowość: 10 Gb/s = 1,25 GB/s
  • PCIe 3.0 x1: ~0,985 GB/s – niewystarczający
  • PCIe 3.0 x4: ~3,94 GB/s – wystarczający
  • W praktyce karty 10 GbE używają PCIe 2.0 x4 lub PCIe 3.0 x1

Przykład 3 – Karta graficzna high-end:

  • Wymagane: ~15–20 GB/s w praktyce
  • PCIe 3.0 x16: ~15,76 GB/s – minimalnie wystarcza
  • PCIe 4.0 x16: ~31,5 GB/s – komfortowy zapas
Ilustracja: Wykres – PCIe x1 vs x4 vs x8 vs x16 dla PCIe 3.0

Obliczenia przepustowości PCIe są dobrym przykładem tego, jak w transmisji szeregowej należy uwzględniać narzut związany z kodowaniem przy określaniu rzeczywistej szybkości transmisji. W RS-232 podobne obliczenia są jeszcze prostsze – dla prędkości 9600 bps i ramki 8N1, rzeczywista przepustowość wynosi 9600 / 10 = 960 bajtów na sekundę, ponieważ na każdy bajt danych przypada 10 bitów na linii (1 start + 8 danych + 1 stop). W PCIe 3.0 x1, przy prędkości 8 GT/s i kodowaniu 128B/130B, rzeczywista przepustowość wynosi 8 GT/s × 128/130 ≈ 7,88 Gb/s ≈ 985 MB/s, co jest wartością znacznie bliższą teoretycznej niż w RS-232.

W obu przypadkach zrozumienie narzutu związanego z formatem ramki lub kodowaniem jest kluczowe dla prawidłowego oszacowania wydajności systemu. W RS-232 im dłuższa ramka (więcej bitów danych), tym mniejszy narzut procentowy – na przykład ramka 7E2 (7 bitów danych, parzystość parzysta, 2 bity stopu) ma narzut 4/11 = 36%, podczas gdy ramka 8N1 ma narzut 2/10 = 20%. W PCIe narzut jest stały dla danej generacji (20% dla 8B/10B, 1,5% dla 128B/130B), co ułatwia obliczenia. W praktyce, przy projektowaniu systemów komunikacyjnych, należy uwzględniać nie tylko narzut kodowania, ale także opóźnienia propagacyjne, czas odpowiedzi urządzeń i ewentualne retransmisje w przypadku błędów transmisji.

45/51 PCI vs PCIe – porównanie

Porównanie PCI (równoległa) i PCIe (szeregowa)

CechaPCI (Parallel)PCI Express
Typ transmisjirównoległa (32/64 bit)szeregowa (linie różnicowe)
Maks. przepustowość533 MB/s (PCI 64/66)~126 GB/s (PCIe 6.0 x16)
Liczba pinów~124 (PCI 32-bit)~82 (x16, z zasilaniem)
Skalowalnośćsłaba (szyna współdzielona)bardzo dobra (point-to-point)
Hot-plugnietak (PCIe 2.0+)
Współdzielenie pasmatak (wszystkie urządzenia)nie (każde urządzenie dedykowane linie)
GeneracjePCI 2.x, PCI-XPCIe 1.0 – 6.0 (wstecznie zgodne)

PCIe jest ~240× szybszy od PCI (PCIe 6.0 x16 vs PCI 64/66) i oferuje nieporównywalnie lepszą skalowalność.

Ilustracja: Slot PCI (biały, długi) vs PCIe x16 (czarny) – porównanie rozmiaru

Porównanie PCI (równoległej) i PCIe (szeregowej) jest doskonałym przykładem zalet transmisji szeregowej nad równoległą w praktyce. PCI jako magistrala współdzielona wymagała, aby wszystkie urządzenia na magistrali negocjowały dostęp do medium, co ograniczało skalowalność i zwiększało opóźnienia. W PCIe każde urządzenie ma dedykowane połączenie punkt-punkt z mostem PCIe, co eliminuje rywalizację o dostęp do magistrali. Analogicznie, w RS-232 każde połączenie jest dedykowane i nie ma rywalizacji o medium, podczas gdy w wielopunktowych magistralach równoległych, takich jak starsze SCSI, zarządzanie dostępem było złożone i wymagało terminacji kabla oraz konfiguracji identyfikatorów urządzeń.

PCIe oferuje hot-plug, co oznacza, że karty rozszerzeń mogą być dodawane i usuwane podczas pracy komputera, o ile płyta główna i system operacyjny to obsługują. W RS-232 hot-plug jest powszechnie stosowany w praktyce (podłączanie kabla USB-UART lub urządzeń przemysłowych), choć nie był formalnie przewidziany w oryginalnym standardzie. W PCI hot-plug nie był możliwy ze względu na konstrukcję magistrali. W obu przypadkach przejście z architektury współdzielonej na punkt-punkt (PCI→PCIe) lub z równoległej na szeregową (RS-232→USB) przyniosło wymierne korzyści w postaci wyższej przepustowości, lepszej skalowalności i większej wygody użytkowania.

46/51 Przykład praktyczny 1 – transfer 10 GB

Porównanie transferu pliku 10 GB

Plik 10 GB = 10 240 MB – porównanie czasów transferu dla różnych magistral.
InterfejsPrędkość teoretycznaCzas teoretycznyCzas praktyczny
PATA/133133 MB/s~77 s~90–100 s
SATA III600 MB/s~17 s~20–25 s
USB 3.2 (20 Gb/s)~2000 MB/s~5,1 s~6–8 s

Wnioski: SATA III jest ~4,5× szybsza od PATA/133. USB 3.2 jest ~15× szybsza od PATA/133. W praktyce: kopia przez PATA → kawa (1,5 minuty), przez SATA → chwila (17 s), przez USB 3.2 → mgnienie oka (5 s).

Ilustracja: Wykres słupkowy czasów transferu – PATA vs SATA vs USB 3.2

Przykład praktyczny transferu pliku 10 GB przez różne interfejsy pokazuje, jak ogromny wpływ na wydajność ma wybór metody transmisji. W interfejsie RS-232 przy prędkości 115200 bps przesłanie 10 GB danych zajęłoby około 10 GB × 10 bitów na bajt / 115200 bps = około 868 000 sekund, czyli ponad 10 dni. Dla porównania, przez nowoczesny interfejs USB 3.2 (20 Gb/s) ten sam transfer zająłby około 5 sekund. Ta różnica o pięć rzędów wielkości pokazuje, jak bardzo ewoluowała transmisja szeregowa od czasów RS-232, ale jednocześnie wyjaśnia, dlaczego RS-232 jest nadal używany w aplikacjach, gdzie przesyłane są niewielkie ilości danych.

W systemach przemysłowych i telekomunikacyjnych, gdzie za pomocą RS-232 przesyła się pojedyncze komendy i odpowiedzi (rzędu kilkudziesięciu bajtów), prędkość 9600-115200 bps jest w pełni wystarczająca. Na przykład w systemie monitorowania stacji meteorologicznej, gdzie co minutę odczytywanych jest kilka wartości pomiarowych, RS-232 pracujący z prędkością 9600 bps zapewnia czas transmisji rzędu milisekund, co jest więcej niż satysfakcjonujące. W takich zastosowaniach zalety RS-232 – prostota, niski koszt, łatwość implementacji i diagnostyki – są ważniejsze niż maksymalna przepustowość, którą oferują nowoczesne interfejsy szeregowe, takie jak USB, PCIe czy SATA.

47/51 Przykład praktyczny 2 – PATA vs SATA

Instalacja systemu – PATA vs SATA

PATA ATA/133 + HDD 7200 obr/min: Instalacja systemu Windows ~30 minut, obciążenie CPU (PIO), głośniejsza praca, kabel blokuje przepływ powietrza.

SATA III + SSD: Instalacja ~5 minut, NCQ, hot-plug, cienki kabel (lepsze chłodzenie), point-to-point.

Dodatkowe zalety SATA:

  • NCQ – optymalizacja kolejności zapytań do dysku
  • TRIM – utrzymanie wydajności SSD
  • Niższe napięcie sygnałów (0,5 V vs 5 V) – mniejsze zużycie energii
  • Większa niezawodność złącza (zatrzask, brak wygiętych pinów)
  • Brak ograniczenia master/slave – każde urządzenie ma osobny port
Ilustracja: Płyta główna z portami SATA – 6 portów, każdy dedykowany

Porównanie instalacji systemu na PATA i SATA pokazuje praktyczne korzyści płynące z przejścia na transmisję szeregową w magazynach danych. W interfejsie RS-232, choć jest to standard wolniejszy niż SATA, również można zaobserwować podobne korzyści związane z prostotą okablowania i łatwością podłączania urządzeń. W systemach przemysłowych często stosuje się konwertery RS-232 na RS-485, które umożliwiają podłączenie wielu urządzeń do jednej pary przewodów, co znacząco upraszcza instalację w porównaniu z równoległymi magistralami przemysłowymi, takimi jak GPIB (IEEE-488), które wymagały drogich i grubych kabli.

Funkcje NCQ i TRIM w SATA, które optymalizują wydajność dysków SSD, nie mają bezpośredniego odpowiednika w RS-232, ponieważ RS-232 jest standardem komunikacji szeregowej, a nie interfejsem do pamięci masowej. Jednak w systemach przemysłowych stosujących protokoły szeregowe, takie jak Modbus RTU, istnieją mechanizmy optymalizacji zapytań, które można uznać za odpowiednik NCQ – na przykład kolejkowanie zapytań do wielu urządzeń w sieci RS-485 i optymalizacja kolejności odpowiedzi. Niższe napięcie sygnałów w SATA (0,5 V) w porównaniu z PATA (5 V) jest analogiczne do różnicy między RS-232 (±12 V) a nowoczesnymi standardami szeregowymi, takimi jak USB (3,3 V dla Low Speed, 0,4 V różnicowo dla High Speed) czy PCIe (0,8-1,2 V dla różnicowych), co przekłada się na mniejsze zużycie energii i mniejszą emisję zakłóceń.

48/51 Przykład praktyczny 3 – PCIe x1 vs x16

PCIe x1 vs x16 – wpływ liczby linii

PCIe 3.0 x1: ~1 GB/s – wystarcza dla karty sieciowej 10 GbE (1,25 GB/s).
PCIe 3.0 x16: ~16 GB/s – wymagane dla karty graficznej high-end.

Obliczenia:

  • PCIe 3.0 x1: 8 GT/s × 128/130 ≈ 0,985 GB/s
  • PCIe 3.0 x16: 16 × 0,985 ≈ 15,76 GB/s

NVMe SSD: PCIe 3.0 x4 → ~4 GB/s (~32 Gb/s) – to ~6,7× więcej niż SATA III (600 MB/s). Dlatego NVMe SSD są dziś standardem w wydajnych komputerach.

Wniosek: Liczba linii PCIe musi być dobrana do wymagań przepustowości urządzenia – karta sieciowa x1 wystarcza, karta graficzna wymaga x16.

Ilustracja: Porównanie PCIe x1 (mały slot) vs x16 (duży slot) na płycie głównej

Przykład PCIe x1 vs x16 ilustruje skalowalność transmisji szeregowej, gdzie przepustowość można dostosować do potrzeb urządzenia poprzez wybór odpowiedniej liczby linii. W interfejsie RS-232 nie ma takiej skalowalności – każdy port ma stałą przepustowość zależną od ustawionej prędkości transmisji. Jednak w systemach przemysłowych często stosuje się karty z wieloma portami RS-232 (2, 4, 8 lub nawet 16 portów na jednej karcie PCIe), co umożliwia jednoczesną komunikację z wieloma urządzeniami. Każdy port może pracować z inną prędkością i konfiguracją ramki, co daje elastyczność w dostosowaniu do wymagań różnych urządzeń peryferyjnych.

W przypadku NVMe SSD wykorzystujących PCIe 3.0 x4, przepustowość około 4 GB/s jest około 350 000 razy większa niż przepustowość typowego RS-232 (115200 bps ≈ 11520 B/s). Ta ogromna różnica pokazuje, jak bardzo wyspecjalizowane są współczesne interfejsy szeregowe – każdy z nich jest optymalizowany do konkretnej klasy zastosowań. RS-232 jest przeznaczony do prostych, wolnych połączeń na średnie odległości, USB do uniwersalnych połączeń urządzeń peryferyjnych, SATA do magazynów danych, a PCIe do bardzo szybkich połączeń wewnątrz komputera. Wspólnym mianownikiem wszystkich tych standardów jest transmisja szeregowa, która dzięki swojej elastyczności i odporności na problemy fizyczne (skew, przesłuchy) stała się dominującą metodą przesyłania danych.

49/51 Podsumowanie

Najważniejsze wnioski

Transmisja szeregowa – 1 bit na raz, jedna linia, wyższe częstotliwości, dłuższy zasięg, niższy koszt.
Transmisja równoległa – wiele bitów jednocześnie, wiele linii, przewaga przy niskich częstotliwościach.
  • Przy niskich częstotliwościach równoległa ma przewagę przepustowości
  • Przy wyższych częstotliwościach pojawia się problem skew i przesłuchów – szeregowa wygrywa
  • Szeregowa umożliwia wyższe częstotliwości i dłuższe zasięgi
  • Ewolucja magistral: PATA → SATA, PCI → PCIe, port równoległy → USB
  • Transmisja szeregowa z różnicowymi parami sygnałowymi dominuje we współczesnych systemach
  • Kodowanie 8B/10B, 128B/130B, PAM-4 umożliwiają coraz wyższe prędkości
Ilustracja: Grafika podsumowująca – ewolucja od równoległych do szeregowych magistral

Podsumowując, transmisja szeregowa jest dziś dominującą metodą przesyłania danych w systemach teleinformatycznych, od prostych interfejsów RS-232 w urządzeniach przemysłowych po zaawansowane magistrale PCIe 6.0 w superkomputerach. Kluczowe zalety transmisji szeregowej – brak problemu skew, mniejsze przesłuchy, prostsze okablowanie, łatwiejsza izolacja galwaniczna i możliwość pracy na większych odległościach – sprawiły, że zastąpiła ona transmisję równoległą we wszystkich nowoczesnych standardach komunikacyjnych. Nawet w przypadkach, gdzie potrzebna jest bardzo wysoka przepustowość, jak w kartach graficznych czy dyskach SSD, stosuje się wiele linii szeregowych (PCIe x16, SATA III) zamiast pojedynczej magistrali równoległej.

Standard RS-232, mimo że powstał w latach 60. XX wieku i jest technicznie przestarzały pod względem prędkości, pozostaje w użyciu w wielu dziedzinach ze względu na swoją prostotę, niski koszt i powszechną dostępność układów UART w mikrokontrolerach. Jego podstawowe koncepcje – ramka asynchroniczna z bitem startu i stopu, bit parzystości do wykrywania błędów, handshaking hardware za pomocą sygnałów RTS/CTS i DTR/DSR – są fundamentem, na którym zbudowano nowoczesne interfejsy szeregowe. Zrozumienie zasad działania RS-232 jest kluczowe dla każdego inżyniera telekomunikacji i informatyka, ponieważ pozwala zrozumieć ewolucję technik transmisji danych od prostych połączeń szeregowych do zaawansowanych systemów komunikacyjnych dzisiejszych czasów.

50/51 Dziękuję za uwagę

Telekomunikacja – sieci rozległe

Prezentacja "Transmisja szeregowa vs równoległa" została przygotowana w ramach kursu "Telekomunikacja – Sieci Rozległe" dla studentów I roku kierunku IT.

Zapamiętaj: Zrozumienie różnic między transmisją szeregową i równoległą jest kluczowe dla zrozumienia współczesnych standardów komunikacyjnych – od USB przez SATA po PCIe.

Literatura uzupełniająca:

  • W. Stallings, "Data and Computer Communications", Pearson, 10th ed., 2014
  • A. S. Tanenbaum, "Computer Networks", Pearson, 5th ed., 2011 (tłum. polskie: "Sieci komputerowe", Helion)
  • J. Kołakowski, J. Cichocki, "Systemy telekomunikacyjne", Wydawnictwa Komunikacji i Łączności, Warszawa
  • ANSI/TIA/EIA-232-F — standard interfejsu RS-232C
  • PCI-SIG — specyfikacja PCI Express 6.0

„Transmisja szeregowa zwyciężyła z równoległą – prostota i szybkość idą w parze.”

Ilustracja: Grafika końcowa – globus z połączeniami danych

Dziękuję za uwagę – mam nadzieję, że prezentacja przybliżyła Państwu tematykę transmisji szeregowej i równoległej oraz pokazała, jak fascynująca jest ewolucja technik komunikacyjnych w informatyce i telekomunikacji. Transmisja szeregowa, od prostego RS-232 po zaawansowane PCIe 6.0, jest doskonałym przykładem tego, jak podstawowa koncepcja przesyłania bitów jeden po drugim może być rozwijana i udoskonalana przez dziesięciolecia, osiągając przepustowości mierzone w terabajtach na sekundę. Zachęcam do dalszego zgłębiania tematu, szczególnie w kontekście standardów takich jak USB4, Thunderbolt, NVMe czy Ethernet, które są bezpośrednimi następcami idei transmisji szeregowej.

W ramach dalszej nauki warto zapoznać się z bardziej zaawansowanymi aspektami transmisji szeregowej, takimi jak kodowanie kanałowe (8B/10B, 64B/66B, 128B/130B), techniki modulacji (NRZ, PAM-4, PAM-8), mechanizmy korekcji błędów (FEC, CRC) oraz protokoły warstwy łącza danych stosowane w poszczególnych standardach. Szczególnie polecam zapoznanie się z dokumentacją techniczną standardów RS-232 (EIA/TIA-232-F), USB-IF oraz PCI-SIG, które zawierają szczegółowe specyfikacje omawianych interfejsów. Materiały te są dostępne w bibliotece uczelnianej oraz w repozytoriach internetowych organizacji standaryzacyjnych.

51/51 Pytania do dyskusji

Pytania do dyskusji

  1. Dlaczego mimo że transmisja równoległa przesyła wiele bitów naraz, to współczesne magistrale są szeregowe? Które czynniki były decydujące?
  2. W jakich sytuacjach transmisja równoległa nadal ma przewagę nad szeregową? Czy są zastosowania, gdzie równoległa jest lepszym wyborem?
  3. Jak kodowanie 8B/10B i 128B/130B wpływa na rzeczywistą przepustowość? Dlaczego nie stosuje się 1B/1B?
  4. Dlaczego PCIe 6.0 przeszedł na PAM-4 zamiast dalszego zwiększania GT/s? Jakie są wyzwania związane z PAM-4?
  5. Czy możliwy jest powrót do transmisji równoległej w przyszłości, gdy technologia rozwiąże problem skew? Uzasadnij.
Ilustracja: Ikony pytań i dyskusji – znaki zapytania, dymki dialogowe

Pytania do dyskusji zostały przygotowane tak, aby skłonić do refleksji nad przyczynami i konsekwencjami ewolucji od transmisji równoległej do szeregowej. W kontekście omawianych zagadnień warto zastanowić się, jakie znaczenie dla rozwoju technologii transmisji szeregowej miał standard RS-232, który przez ponad 50 lat pozostawał w nieprzerwanym użyciu. Dlaczego mimo dostępności znacznie szybszych interfejsów, takich jak USB czy Ethernet, RS-232 jest nadal stosowany w nowych projektach przemysłowych? Odpowiedź na to pytanie pozwoli zrozumieć, że w inżynierii nie zawsze chodzi o maksymalną prędkość, ale o dobór odpowiedniego narzędzia do konkretnego zastosowania.

Drugim ważnym tematem do dyskusji jest przyszłość transmisji szeregowej. Czy możliwe jest, że w przyszłości powrócimy do transmisji równoległej, gdy technologie takie jak korekcja skew i eliminacja przesłuchów osiągną odpowiedni poziom zaawansowania? A może transmisja szeregowa będzie ewoluować dalej, wykorzystując techniki takie jak PAM-4, PAM-8, a nawet modulację koherentną znaną z telekomunikacji światłowodowej? Warto również przedyskutować rolę standardów takich jak V.24/V.28 w kształtowaniu dzisiejszych interfejsów komunikacyjnych oraz zastanowić się, jakie lekcje można wyciągnąć z historii rozwoju interfejsów szeregowych dla projektowania przyszłych systemów komunikacyjnych.