Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00416 007376 11264276 na godz. na dobę w sumie
Interfejsy sprzętowe komputerów PC - książka
Interfejsy sprzętowe komputerów PC - książka
Autor: Liczba stron: 536
Wydawca: Helion Język publikacji: polski
ISBN: 83-7361-663-2 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> hardware >> elementy komputera
Porównaj ceny (książka, ebook, audiobook).

Dowiedz się, w jaki sposób komputery PC komunikują się z innymi urządzeniami

Komputer PC może współpracować z różnymi urządzeniami -- od drukarek, modemów i innych komputerów, aż do urządzeń pomiarowych, siłowników i innych sterowanych z poziomu komputera. Połączenie komputera z urządzeniem zewnętrznym jest realizowane za pośrednictwem interfejsów -- złączy umożliwiających komunikację dwóch urządzeń.

Książka 'Interfejsy sprzętowe komputerów PC' to kompletne omówienie wszystkich interfejsów stosowanych do łączenia komputerów PC z urządzeniami peryferyjnymi. Przedstawia zarówno rodzaje interfejsów, jak i zasady ich działania, typy przesyłanych przez nie sygnałów i reguły przydzielania im pamięci w komputerze. Omawia mechanizmy transmisji przez każdy z zaprezentowanych interfejsów oraz sygnały sterujące działaniem ich kontrolerów.

Jeśli chcesz stworzyć aplikację, która będzie wykorzystywać jeden z interfejsów komputera PC, lektura tej książki będzie strzałem w dziesiątkę.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK Interfejsy sprzêtowe komputerów PC Autor: 83-7361-663-2 T³umaczenie: Rados³aw Meryk (wprowadzenie, rozdz. 1 – 6), Przemys³aw Szeremiota (rozdz. 7 – 10) ISBN: MichaelGook Tytu³ orygina³u: PC Hardware Interfaces: A Developers Reference Format: B5, stron: 536 DODAJ DO KOSZYKA DODAJ DO KOSZYKA Dowiedz siê, w jaki sposób komputery PC komunikuj¹ siê CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE z innymi urz¹dzeniami • Rodzaje i zadania interfejsów • Magistrale i karty rozszerzeñ • Dedykowane interfejsy urz¹dzeñ peryferyjnych Komputer PC mo¿e wspó³pracowaæ z ró¿nymi urz¹dzeniami — od drukarek, modemów i innych komputerów, a¿ do urz¹dzeñ pomiarowych, si³owników i innych sterowanych z poziomu komputera. Po³¹czenie komputera z urz¹dzeniem zewnêtrznym jest realizowane za poġrednictwem interfejsów — z³¹czy umo¿liwiaj¹cych komunikacjê dwóch urz¹dzeñ. Ksi¹¿ka „Interfejsy sprzêtowe komputerów PC” to kompletne omówienie wszystkich interfejsów stosowanych do ³¹czenia komputerów PC z urz¹dzeniami peryferyjnymi. Przedstawia zarówno rodzaje interfejsów, jak i zasady ich dzia³ania, typy przesy³anych przez nie sygna³ów i regu³y przydzielania im pamiêci w komputerze. Omawia mechanizmy transmisji przez ka¿dy z zaprezentowanych interfejsów oraz sygna³y steruj¹ce dzia³aniem ich kontrolerów. • Zasada dzia³ania interfejsów • Interfejsy COM i LPT • Z³¹cza bezprzewodowe — IrDA i Bluetooth • Magistrale USB, FireWire i SCSI • Z³¹cza kart rozszerzeñ • Interfejsy klawiatury i myszy • Z³¹cza pamiêci masowych i sieciowe Jeġli chcesz stworzyæ aplikacjê, która bêdzie wykorzystywaæ jeden z interfejsów komputera PC, lektura tej ksi¹¿ki bêdzie strza³em w dziesi¹tkê. Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Spis treści Wprowadzenie w tematykę interfejsów ............................................... 7 Ogólna struktura komputerów ...................................................r........................................ 7 Urządzenia peryferyjne ...................................................r........................................... 7 Hierarchia połączeń ...................................................r................................................ 8 Organizacja interfejsów...................................................r................................................ 10 Typy przesyłanych informacji...................................................r............................... 10 Interfejsy równoległe i szeregowe...................................................r......................... 11 Sygnały i media transmisji ...................................................r.................................... 16 Galwaniczna separacja podłączonych urządzeń...................................................r.... 18 Interakcje pomiędzy urządzeniami i topologia urządzeń ......................................... 19 Kontrola poprawności transmisji i jej niezawodność oraz sterowanie przepływem.....22 Parametry czasowe i synchronizacja...................................................r..................... 24 Ewolucja sposobów podłączania urządzeń peryferyjnych............................................... 25 Interfejsy poziomu systemu ...................................................r.................................. 25 Interfejsy urządzeń peryferyjnych...................................................r......................... 31 Wybór interfejsu ...................................................r...................................................r 33 Rozdział 1. Interfejs równoległy: port LPT ...................................................n......... 35 1.1. Tradycyjny port LPT ...................................................r............................................. 36 1.2. Ulepszenia portu równoległego ...................................................r............................. 40 1.3. Standard IEEE 1284 ...................................................r.............................................. 40 1.3.1. Tryb półbajtowy...................................................r.......................................... 41 1.3.2. Bajtowy tryb wejściowy...................................................r.............................. 43 1.3.3. Tryb EPP...................................................r...................................................r.. 44 1.3.4. Tryb ECP ...................................................r...................................................r. 49 1.3.5. Tryby i rejestry ECP ...................................................r................................... 52 1.3.6. Negocjacja w standardzie IEEE 1284 ...................................................r......... 56 1.3.7. Interfejsy fizyczne i elektryczne...................................................r.................. 57 1.3.8. Rozwój standardu IEEE 1284 ...................................................r..................... 60 1.4. Obsługa systemowa portów LPT...................................................r........................... 61 1.5. Funkcje portu równoległego oraz obsługa Plug-and-Play ........................................ 62 1.6. Zastosowania portu LPT...................................................r........................................ 62 1.7. Konfiguracja portów LPT...................................................r...................................... 64 1.8. Rozwiązywanie problemów z działaniem portu równoległego ................................ 66 4 Interfejsy sprzętowe komputerów PC Rozdział 2. Interfejs szeregowy: port COM ...................................................n........ 69 2.1. Interfejs RS-232C...................................................r.................................................. 70 2.2. Interfejsy pomocnicze i konwertery poziomów...................................................r..... 75 2.3. Tryb asynchroniczny ...................................................r............................................. 80 2.4. Sterowanie przepływem danych ...................................................r............................ 81 2.5. Układy scalone asynchronicznych nadajniko-odbiorników (UART) ....................... 83 2.6. Obsługa portów COM w systemie operacyjnym ...................................................r... 90 2.7. Konfiguracja portów COM...................................................r.................................... 91 2.8. Zastosowania portów COM...................................................r................................... 91 2.9. Porty COM i PnP...................................................r...................................................r 93 2.10. Problemy z działaniem portów COM i ich rozwiązywanie ...................................... 94 2.10.1. Testowanie konfiguracji...................................................r.............................. 94 2.10.2. Testowanie działania...................................................r................................... 95 2.10.3. Brak zasilania interfejsu, czyli dlaczego nie działa mysz............................... 97 Rozdział 3. Interfejsy bezprzewodowe ...................................................n............... 99 3.1. Port podczerwieni — IrDA...................................................r.................................... 99 3.2. Radiowy interfejs Bluetooth...................................................r................................ 103 Rozdział 4. Magistrale szeregowe: USB i FireWire.............................................. 109 4.1. Uniwersalna magistrala szeregowa: USB ...................................................r............ 110 4.1.1. Architektura USB...................................................r...................................... 110 4.1.2. Model transmisji danych ...................................................r........................... 116 4.1.3. Transakcje magistrali ...................................................r................................ 119 4.1.4. Przepustowość magistrali i urządzenia...................................................r...... 127 4.1.5. Synchronizacja podczas transmisji izochronicznych.................................... 133 4.1.6. Interfejs fizyczny...................................................r....................................... 137 4.1.7. Urządzenia USB...................................................r........................................ 146 4.1.8. Koncentratory USB...................................................r................................... 148 4.1.9. Host...................................................r...................................................r........ 159 4.1.10. Konfiguracja i zarządzanie urządzeniami ...................................................r. 171 4.1.11. Zastosowania interfejsu USB...................................................r.................... 178 4.2. Magistrala IEEE 1394: FireWire ...................................................r......................... 194 4.2.1. Fizyczna warstwa sieci...................................................r.............................. 195 4.2.2. Protokół IEEE 1394 ...................................................r.................................. 196 4.2.3. Urządzenia i adaptery interfejsu 1394...................................................r....... 199 4.2.4. Zastosowania interfejsu 1394...................................................r.................... 200 Rozdział 5. Magistrala SCSI ...................................................n........................... 203 5.1. Równoległe interfejsy SCSI ...................................................r................................ 206 5.1.1. Protokół magistrali ...................................................r.................................... 207 5.1.2. Sterowanie interfejsem i wykonywanie poleceń .......................................... 213 5.1.3. Kable, złącza i sygnały...................................................r.............................. 216 5.1.4. Terminatory...................................................r............................................... 224 5.1.5. Konfiguracja urządzeń SCSI...................................................r..................... 226 5.1.6. Podłączanie urządzeń do magistrali SCSI ...................................................r. 228 5.2. Interfejs Fibre Channel ...................................................r........................................ 233 5.3. Adapter hosta SCSI ...................................................r............................................. 234 Rozdział 6. Magistrale i karty rozszerzeń wejścia-wyjścia ................................... 237 6.1. Magistrale PCI oraz PCI-X ...................................................r................................. 238 6.1.1. Wyliczanie urządzeń ...................................................r................................. 241 6.1.2. Protokół magistrali ...................................................r.................................... 243 6.1.3. Przepustowość magistrali...................................................r.......................... 266 6.1.4. Przerwania: INTx#, PME#, MSI i SERR#...................................................r 269 Spis treści 5 6.1.5. Bezpośredni dostęp do pamięci, emulacja DMA trybu ISA (PC/PCI, DDMA)...................................................r..................................... 279 6.1.6. Mosty PCI i PCI-X...................................................r.................................... 280 6.1.7. Konfiguracja urządzeń ...................................................r.............................. 292 6.1.8. Interfejs elektryczny i budowa magistrali ...................................................r. 315 6.2. Interfejs AGP...................................................r...................................................r.... 325 6.2.1. Protokoły transakcji ...................................................r.................................. 327 6.2.2. Translacja adresów: szczelina AGP i GART ............................................... 333 6.2.3. Transakcje izochroniczne AGP 3.0 ...................................................r........... 334 6.2.4. Rejestry konfiguracyjne AGP ...................................................r................... 335 6.2.5. Karty i gniazda AGP ...................................................r................................. 339 6.3. Architektura PCI Express ...................................................r.................................... 343 6.3.1. Formaty transakcji i pakietów w architekturze PCI Express ........................ 349 6.3.2. Przesyłanie pakietów i przepustowość łączy................................................ 352 6.4. Interfejs LPC ...................................................r...................................................r.... 353 6.5. Karty i magistrale rozszerzeń w notebookach ...................................................r..... 358 6.5.1. Interfejsy PCMCIA, karty PC i CardBus ...................................................r.. 359 Rozdział 7. Specjalizowane interfejsy urządzeń peryferyjnych .............................. 365 7.1. Interfejs klawiatury...................................................r.............................................. 365 7.1.1. Interfejsy klawiaturowe: AT i PS/2...................................................r........... 366 7.1.2. Kontroler klawiatury i myszy 8042 (8242) .................................................. 368 7.1.3. Obsługa systemowa i interfejs programowy ................................................ 371 7.2. Interfejs myszy ...................................................r...................................................r. 372 7.2.1. Myszy szeregowe: mysz Microsoft i mysz PC............................................. 372 7.2.2. Myszy PS/2 ...................................................r............................................... 373 7.2.3. Mysz szynowa...................................................r........................................... 374 7.3. Interfejsy drukarki i plotera ...................................................r................................. 375 7.3.1. Interfejsy równoległe: Centronics i IEEE 1284............................................ 376 7.3.2. Szeregowe interfejsy drukarki...................................................r................... 378 7.3.3. Obsługa drukarki w systemie operacyjnym.................................................. 380 7.4. Interfejsy wyjściowe kart graficznych ...................................................r................. 381 7.4.1. Interfejs cyfrowy RGB TTL...................................................r...................... 381 7.4.2. Analogowe interfejsy RGB ...................................................r....................... 382 7.4.3. Interfejsy cyfrowe P D, DVI i DFP...................................................r......... 389 7.4.4. Wewnętrzne interfejsy cyfrowe...................................................r................. 393 7.4.5. Interfejsy sygnału wideo ...................................................r........................... 395 7.5. Interfejsy audio...................................................r...................................................r. 397 7.5.1. Interfejsy analogowe ...................................................r................................. 397 7.5.2. Interfejsy cyfrowe ...................................................r..................................... 399 7.5.3. Interfejs MIDI ...................................................r........................................... 400 7.5.4. Interfejs karty syntezatora ...................................................r......................... 403 7.6. Interfejs dżojstika ...................................................r................................................ 403 Rozdział 8. Interfejsy urządzeń pamięci masowych ............................................. 407 8.1. Interfejs stacji dysków elastycznych...................................................r.................... 408 8.1.1. Interfejs sprzętowy ...................................................r.................................... 408 8.1.2. Kontroler stacji dysków elastycznych ...................................................r....... 411 8.2. Urządzenia IDE i interfejs ATA (ATAPI)...................................................r........... 415 8.2.1. Interfejs równoległy ATA ...................................................r......................... 418 8.2.2. Szeregowy interfejs ATA...................................................r.......................... 446 8.3. Interfejsy i konstrukcja półprzewodnikowych pamięci masowych......................... 452 8.3.1. CompactFlash ...................................................r........................................... 453 8.3.2. SmartMedia Card ...................................................r...................................... 456 6 Interfejsy sprzętowe komputerów PC 8.3.3. Karty Multimedia Card i Secure Digital ...................................................r... 457 8.3.4. Karty Miniature Card ...................................................r................................ 459 8.4. Systemowa obsługa urządzeń pamięci masowych.................................................. 460 Rozdział 9. Interfejsy sieciowe ...................................................n....................... 463 9.1. Standardy i interfejsy sieci Ethernet ...................................................r.................... 463 9.2. Adaptery sieciowe ...................................................r............................................... 468 Rozdział 10. Pomocnicze interfejsy i magistrale szeregowe ................................ 475 10.1. Kanały komunikacji szeregowej bazujące na I2C .................................................. 476 10.1.1. Magistrala I2C ...................................................r.......................................... 476 10.1.2. ACCESS.Bus ...................................................r............................................ 482 10.1.3. SMBus ...................................................r...................................................r... 488 10.1.4. Porównanie magistral I2C, ACCESS.Bus i SMBus..................................... 498 10.2. Media Independent Interface ...................................................r............................... 499 10.3. Interfejs SPI...................................................r...................................................r......501 10.4. Interfejs JTAG...................................................r...................................................r.. 502 10.5. Programowe implementacje interfejsów szeregowych........................................... 507 Skorowidz ...................................................n.................................. 511 Rozdział 2. Interfejs szeregowy: port COM Uniwersalny interfejs szeregowy — port COM — występuje w komputerach PC począw- szy od pierwszych modeli. Port zapewnia asynchroniczną1 transmisję danych z wyko- rzystaniem standardu RS-232C. Porty COM są implementowane za pomocą układów scalonych określanych jako Uniwersalny Asynchroniczny Odbiorniko-nadajnik (ang. Universal Asynchronous Receiver-Transmitter — UART) zgodnych z modelem pro- gramowym i8250/16450/16550. Każdy z nich zajmuje osiem sąsiednich ośmiobitowych rejestrów w przestrzeni adresowej wejścia-wyjścia i może wykorzystywać jeden ze stan- dardowych adresów: 3F8h (COM1), 2F8h (COM2), 3E8h (COM3) oraz 2E8h (COM4). Porty mogą generować przerwania sprzętowe IRQ4 (zwykle używane dla portów COM1 i COM3) oraz IRQ3 (używany dla COM2 i COM4). Ze strony sprzętowej porty zawie- rają linie do szeregowego nadawania danych i ich odbioru. Jest także zbiór linii sterujących i monitorowania stanu zgodnych ze standardem RS-232C. Porty COM są wyposażone w zewnętrzne męskie złącza DB25P lub DB9P na panelu tylnym komputera (patrz podrozdział 2.1). Cechą wyróżniającą interfejs jest zastosowanie sygnałów, które nie są sygnałami TTL: wszystkie zewnętrzne sygnały portu są bipolarne. Interfejs nie gwarantuje galwanicznej separacji: masa obwodu podłączonego urządzenia jest połączona z masą komputera. Szybkość transmisji sięga 115 200 b/s. BIOS komputera obsługuje do czterech portów szeregowych: od COM1 do COM4 (kom- putery klasy AT zazwyczaj są wyposażone w dwa porty). Przerwanie BIOS KPVJ zapewnia inicjalizację portu, wejście i wyjście znaków (bez wykorzystania przerwań) i odpytywanie stanu. Za pomocą standardowych wywołań KPVJ można zaprogra- mować szybkości transmisji w zakresie od 110 do 9 600 b/s (mniej niż pozwalają rze- czywiste możliwości portu). W celu zwiększenia przepustowości powszechnie wyko- rzystuje się interakcję oprogramowania aplikacyjnego z portem na poziomie rejestrów. Z tego powodu sprzęt portów szeregowych musi być zgodny z modelem oprogramowania i8250/1645/16550. y 1 W komputerach PC transmisję synchroniczną obsługują tylko specjalne adaptery, takie jak SDLC lub V.35. 70 Interfejsy sprzętowe komputerów PC Nazwa portu wskazuje na jego główne przeznaczenie: podłączanie sprzętu (np. mode- mów) umożliwiającego komunikację z innymi komputerami, sieciami i urządzeniami peryferyjnymi. Urządzenia peryferyjne wyposażone w interfejsy szeregowe — drukarki, plotery, itp. można podłączać bezpośrednio do portu. Porty COM są powszechnie wy- korzystywane do podłączania myszy oraz do bezpośredniego podłączania dwóch kom- puterów. Porty COM wykorzystuje się również w celu podłączania do komputera kluczy elektronicznych. Praktycznie wszystkie nowoczesne płyty główne (począwszy od pierwszych płyt wy- posażonych w złącze PCI dla procesorów x486) są wyposażone w dwa wbudowane adaptery portu COM. Jeden z portów można także wykorzystać do bezprzewodowej komunikacji z urządzeniami peryferyjnymi za pomocą podczerwieni (IrDA). Istnieją karty ISA wyposażone w kilka portów COM. Najczęściej obok portów COM na kartach tego typu jest port LPT oraz kontrolery interfejsów dysków (FDC+IDE). Jeśli jest po- trzebna większa liczba interfejsów, można zainstalować dodatkowe specjalizowane ad- aptery nazywane kartami wieloportowymi. Są to stosunkowo drogie karty wyposażone w 4, 8, 12, a nawet 16 portów. Wyprowadzenie tak dużej liczby złączy na tylnym pa- nelu komputera PC jest kłopotliwe. Z tego powodu karty wieloportowe są zazwyczaj wyposażone w blok zewnętrznych złączy zawierających elektronikę i podłączonych do adaptera za pomocą kabla z wielożyłowymi złączami. Karty wieloportowe nie są ob- sługiwane przez BIOS. „Klasyczny” port COM umożliwiał jedynie transmisję danych sterowaną programowo. W celu przesłania każdego bajtu procesor musiał wykonać kilka instrukcji. Nowoczesne porty są wyposażone w kilka buforów danych FIFO i umożliwiają transfer danych poprzez kanał DMA. To znacznie zmniejsza obciążenie procesora — szczególnie istotny czynnik przy dużych szybkościach transmisji. 2.1. Interfejs RS-232C Interfejs RS-232C jest przeznaczony do podłączania sprzętu do transmisji lub odbie- rania danych (ang. Data Terminal Equipment — DTE) ze sprzętem zapewniającym kanały danych (ang. Data Communication Equipment — DCE). Rolę urządzenia DTE może spełniać komputer, drukarka, ploter lub inne urządzenie peryferyjne. Rolę urzą- dzenia DCE zwykle spełnia modem. Celem połączenia jest zapewnienie łącza pomię- dzy dwoma urządzeniami transmisji danych. Schemat połączeń pokazano na rysunku 2.1. Interfejs umożliwia wyłączenie kanału zdalnej komunikacji wraz z parą urządzeń DCE poprzez bezpośrednie połączenie dwóch urządzeń za pomocą kabla modemu ze- rowego (ang. null-modem) (rysunek 2.2). Rysunek 2.1. Schemat połączeń interfejsu RS-232C Rozdział 2. ♦ Interfejs szeregowy: port COM 71 Rysunek 2.2. Połączenie RS-232C za pomocą kabla zerowego modemu W standardzie określono sygnały sterujące interfejsu, transmisji danych, interfejsu elek- trycznego i typy złączy. Standard zapewnia asynchroniczne i synchroniczne tryby transmi- sji, ale porty COM obsługują jedynie tryb asynchroniczny. Funkcjonalnie standard RS- 232C odpowiada standardom CCITT/ITU V.24/V.28, ale występują w nim inne nazwy sygnałów. W standardzie RS-232C (patrz rysunek 2.3) zdefiniowano asymetryczne nadajniki i od- biorniki, w których sygnały są przesyłane względem wspólnego przewodu: obwodu masy (w innych interfejsach, takich jak RS-422, są wykorzystywane symetryczne sygnały różnicowe). Interfejs nie gwarantuje galwanicznej separacji urządzeń. Napięcia w zakresie −12 V do −3 V odpowiadają logicznej jedynce (stan MARK) na linii danych odbiornika (sygnał 4: ). Napięcia w zakresie +3 V do +12 V odpowiadają logicznemu zeru (stan SPACE). Dla sygnałów sterujących napięcia w zakresie od +3 V do +12 V odpowiadają stanowi ON, natomiast w zakresie −12 V do −3 V stanowi OFF. Zakres od −3 V do +3 V to martwa strefa zapewniająca histerezę odbiornika: stan linii uznaje się za zmieniony wyłącznie po przekroczeniu progu (rysunek 2.3). Poziomy sygnałów na wyjściach na- dajnika powinny mieścić się w zakresie od −12 V do –5 V oraz od +5 V do +12 V. Różnica potencjałów pomiędzy masami sygnałów (SG) połączonych urządzeń po- winna być mniejsza niż 2 V. Większa różnica potencjałów może spowodować błędny odbiór sygnałów. Warto zwrócić uwagę, że poziomy sygnałów TTL (na wejściach i wyj- ściach układów scalonych UART) są przesyłane z wykorzystaniem prostego kodowania na liniach 6: i 4: oraz odwróconego dla pozostałych. Rysunek 2.3. Odbiór sygnałów RS-232C Interfejs zakłada istnienie uziemienia zabezpieczającego dla podłączonych urządzeń, jeśli oba są zasilane prądem zmiennym z sieci i są wyposażone w filtry. 72 Interfejsy sprzętowe komputerów PC Podłączanie i odłączanie kabli interfejsów urządzeń wyposażonych w indywidualne zasilacze powinno odbywać się przy wyłączonym zasilaniu. W innym przypadku różnica napięć w nieustabilizowanych urządzeniach w momencie nawiązywania połączenia może spowodować przepływ prądu w obwodach wyjściowych lub, co jest bardziej niebezpieczne, w obwodach wejściowych interfejsu i uszkodzić układy scalone. Standard RS-232C reguluje typy wykorzystywanych złączy. Zazwyczaj urządzenia DTE (włącznie z portami COM) są wyposażone w męskie złącze DB-25P lub mniejsze męskie złącze DB-9P. Złącza dziewięciostykowe nie są wypo- sażone w dodatkowe sygnały potrzebne do obsługi trybu synchronicznego (w większości złączy dwudziestopięciostykowych styki te są nieużywane). Urządzenia DCE (modemy) są wyposażone w żeńskie złącza DB-25S lub DB-9S. Z reguły tej wynika, że złącza urządzeń DCE można połączyć ze złączami urządzeń DTE bezpośrednio lub za pomocą kabli adapterów „na wprost” wyposażonych w żeńskie złą- cze z jednej strony i męskie z drugiej, których przewody są połączone „jeden do jednego”. Istnieją też kable adapterów wyposażone w złącze 9-stykowe z jednej strony i 25-stykowe z drugiej (rysunek 2.4). Rysunek 2.4. Kable do podłączania modemów Jeśli urządzenia DTE są podłączone bez wykorzystania modemów, ich złącza są połączone za pomocą kabla zerowego modemu (Z-modem). Takie kable są wyposażone w żeńskie złącza po obu stronach, a żyły skrzyżowane są zgodnie ze schematem pokazanym na rysunku 2.5. Rysunek 2.5. Kable zerowego modemu: a — minimalny, b — kompletny Rozdział 2. ♦ Interfejs szeregowy: port COM 73 Jeśli w urządzeniu DTE zainstalowano złącze żeńskie, istnieje prawie stuprocentowa pew- ność, że należy je podłączyć do innego urządzenia za pomocą kabla na wprost podob- nego do kabla wykorzystywanego do połączenia modemu. Żeńskie złącza zazwyczaj montuje się w urządzeniach, których nie łączy się za pośrednictwem modemów. W tabeli 2.1 zaprezentowano funkcje styków złącza portu COM (oraz innych urządzeń typu DTE). Styki złącza DB-25S są zdefiniowane przez standard EIA/TIA-232-E, natomiast złącza DB-9S przez standard EIA/TIA-574. W modemach (DCE) stosuje się te same nazwy obwodów i styków, ale funkcje sygnałów (wejście-wyjście) są odwrócone. Tabela 2.1. Złącza interfejsu RS-232C i wykorzystywane w nich sygnały Sygnał Styk złącza Numer żyły zewnętrznego kabla łączącego z komputerem PC Port COM RS-232 V.24 DB-25P DB-9P 11 PG SG TD RD RTS CTS DSR DTP DCD RI AA AB BA BB CA CB CC CD CF CE 101 102 103 104 105 106 107 108/2 109 125 1 7 2 3 4 5 6 20 8 22 5 5 3 2 7 8 6 4 1 9 (10) 5 3 2 7 8 6 4 1 9 22 (10) 9 5 3 4 6 2 7 1 8 33 (10) 1 3 4 8 7 9 2 5 6 44 1 13 3 5 7 9 11 14 15 18 1 Taśma dla ośmiobitowych kart wielofunkcyjnych. 2 Taśma dla szesnastobitowych kart wielofunkcyjnych i portów wbudowanych. 3 Wersja taśmy dla portów wbudowanych. 4 Szeroka taśma dla złącza 25-stykowego. Kierunek Wejście/Wyjście — — Wyjście Wejście Wyjście Wejście Wejście Wyjście Wejście Wejście Poniżej przeanalizujemy podzbiór sygnałów interfejsu RS-232C dla trybu asynchro- nicznego z punktu widzenia portu COM komputera PC. Dla wygody wykorzystamy mnemoniki przyjęte w opisach portów COM i większości urządzeń (które różnią się od anonimowych notacji opisu kabli RS-232 i V.24). Należy pamiętać, że stan aktywny (ON) sygnałów sterujących i logiczne zero przesyłanych danych są reprezentowane przez potencjał dodatni (powyżej +3 V) interfejsu, natomiast stan OFF i logiczna jedynka są reprezentowane przez potencjał ujemny (poniżej −3 V). W tabeli 2.2 zaprezentowano funkcje sygnałów interfejsu. Na rysunku 2.6 pokazano normalną sekwencję sygnałów sterujących dla przypadku modemu podłączonego do portu COM: Rysunek 2.6. Sekwencja sygnałów sterujących interfejsu 74 Interfejsy sprzętowe komputerów PC Tabela 2.2. Funkcje sygnałów interfejsu RS-232C Sygnał Funkcja PG SG TD RD RTS CTS DSR DTR DCD RI Uziemienie zabezpieczające: podłączone do obudowy urządzenia i ekranu kabla. Masa sygnału (obwodu): w zależności od poziomu sygnału. Transmisja danych: dane przesyłane szeregowo, wynik generowany przez nadajnik. Odbiór danych: dane szeregowe, dane wejściowe odbiornika. Request To Send (żądanie wysłania): stan ON informuje modem, że terminal posiada dane do transmisji. W trybie półdupleksowym wykorzystywany do sterowania kierunkiem transmisji: stan ON to sygnał dla modemu do przełączenia do trybu transmisji. Clear To Send (zezwolenie na wysłanie): zezwolenie wysyłania danych dla terminala. Stan OFF uniemożliwia transmisję danych. Sygnał jest wykorzystywany do sprzętowej kontroli strumieni danych. Data Set Ready (zbiór danych gotowy): odebranie sygnału oznacza, że urządzenie jest gotowe do transmisji danych (modem w trybie działania jest podłączony do kanału i zakończył negocjacje z urządzeniem po drugiej stronie kanału). Data Terminal Ready (terminal danych gotowy): wysłanie sygnału oznacza, że terminal jest gotowy do wymiany danych. Stan ON utrzymuje połączenie komutowanego kanału. Data Carrier Detected (wykryto nośną danych): odebranie sygnału oznacza, że wykryto sygnał nośnej zdalnego modemu. Ring Indicator (wskaźnik dzwonka): odebranie sygnału wywołania (dzwonka). W komutowanym kanale sygnał ten oznacza, że modem otrzymuje sygnał dzwonienia. 1. Komputer PC sygnalizuje, że chce skorzystać z modemu, poprzez ustawienie linii DTR. 2. Modem sygnalizuje, że jest gotowy i ustanawia połączenie, poprzez ustawienie sygnału DSR. 3. Poprzez ustawienie sygnału RTS komputer prosi o zezwolenie na transmisję i informuje modem, że jest gotowy do odbioru danych. 4. Poprzez ustawienie sygnału CTS modem informuje, że jest gotowy do odbioru danych z komputera i do wysyłania ich w łączu. 5. Poprzez wyzerowanie sygnału CTS modem sygnalizuje, że nie może kontynuować odbioru danych (na przykład bufor jest pełny) oraz że komputer powinien wstrzymać wysyłanie danych. 6. Poprzez ustawienie sygnału CTS modem zezwala na wznowienie transmisji danych (zwolniło się miejsce w buforze). 7. Wyzerowanie sygnału RTS może oznaczać, że bufor komputera jest pełny (modem musi wstrzymać wysyłanie danych do komputera) lub że komputer nie ma danych do przesłania do modemu. W takim przypadku modem zwykle wstrzymuje transmisję danych do komputera. 8. Modem potwierdza wyzerowanie sygnału RTS poprzez wyzerowanie sygnału CTS. 9. W celu wznowienia wysyłania danych komputer ponownie ustawia sygnał RTS. Rozdział 2. ♦ Interfejs szeregowy: port COM 75 10. Modem potwierdza gotowość. 11. Komputer sygnalizuje zakończenie wymiany. 12. Modem odpowiada, wysyłając potwierdzenie. 13. Komputer zeruje sygnał DTR, co zazwyczaj oznacza sygnał do przerwania połączenia. 14. Poprzez wyzerowanie sygnału DSR modem sygnalizuje przerwanie połączenia. Z analizy powyższej sekwencji jasno wynika cel połączenia sygnałów 6454 oraz 465 65 w kablu zerowego modemu. 2.2. Interfejsy pomocnicze i konwertery poziomów W interfejsach szeregowych nie zawsze wykorzystuje się bipolarne sygnały RS-232C. Korzystanie z nich jest niewygodne np. z powodu konieczności wykorzystania bipo- larnych zasilaczy dla nadajniko-odbiorników. Układy scalone opisanych powyżej na- dajniko-odbiorników UART pracują z sygnałami TTL(CMOS). Te same rodzaje sy- gnałów są stosowane w interfejsach różnorodnych urządzeń. Na przykład sygnały TTL(CMOS) są wykorzystywane w portach twardych dysków, telefonów komórkowych (choć o bardzo niskich poziomach) oraz różnych innych urządzeniach. Wiele urządzeń (włącznie z kieszonkowymi komputerami PC i telefonami komórkowymi) jest wypo- sażonych w interfejsy szeregowe wykorzystujące logikę niskonapięciową. Oczywiście sygnały standardowej logiki nie charakteryzują się tak wysoką rezystancją szumów jak RS-232C, ale nie zawsze jest to potrzebne. W celu umożliwienia wzajemnej konwersji pomiędzy poziomami napięć interfejsu RS-232C i logiki CMOS istnieją specjalne układy scalone buforów dla odbiorników (z histerezą) oraz nadajników sygnałów bipolarnych. Układy te jako pierwsze stają się ofiarami efektów „pirotechnicznych” w przypadku naruszenia reguł uziemiania i łą- czenia urządzeń. Dawniej często instalowano je w podstawkach w celu ułatwienia wy- miany w przypadku awarii. Na rysunku 2.7 zaprezentowano rozmieszczenie styków jedne- go z popularnych układów scalonych generujących sygnały na poziomie interfejsu RS-232C. Często obwody buforów są włączone w układy scalone LSI interfejsów. W ten sposób cena urządzenia staje się niższa, ale w przypadku awarii powstaje ryzyko większych strat. Uszkodzenie układów scalonych interfejsu z powodu zwarcia jest mało prawdopodobne: prąd zwarcia nadajników zazwyczaj nie przekracza 20 mA. W specjalnych kablach adapterów często stosowane są konwertery produkowane przez firmy Maxim i Sypex. Kable te sprawdzają się pod tym względem, że zawierają za- równo odbiorniki, jak nadajniki. Spośród szerokiej gamy dostępnych konwerterów z ła- twością można wybrać te, które zawierają potrzebną liczbę odbiorników i nadajników, a także wymaganą charakterystykę napięciową (unipolarne, bipolarne, niskonapięciowe). 76 Interfejsy sprzętowe komputerów PC Rysunek 2.7. Generatory sygnałów RS-232C: a — odbiornik 1489; b — odbiornik 1488; c — tabela stanów wyjściowych nadajnika (*na brakującym wyjściu 1B zakłada się logiczną jedynkę) Kiedy jest wymagana wysoka rezystancja szumów (dla dużych szybkości lub transmisji na dalekie odległości), wykorzystywane są różne wersje elektryczne interfejsu szere- gowego: RS-422A (V.11, X.27), RS-423A (V.10, X.26) oraz RS-485. Na rysunku 2.8 pokazano schematy podłączania odbiorników i nadajników wraz z limitami długości łączy (L) oraz maksymalnymi szybkościami transmisji (V). Asymetryczne linie inter- fejsów RS-232C i RS-423A charakteryzują się najniższą odpornością na znane zakłó- cenia, chociaż różnicowe wejście odbiornika RS-423A w pewnym stopniu neutralizuje tę sytuację. Najlepsze parametry mają interfejsy RS-422A i RS-485 pracujące w sy- metrycznych liniach komunikacyjnych. Wykorzystuje się w nich nadajniki różnicowe z osobną parą przewodów (z przeplotem) dla każdej pętli sygnału. Rysunek 2.8. Standardy interfejsów szeregowych W interfejsach EIA-RS-422 (ITU-T V.11, X.27) i EIA-RS-485 (ISO 8482) wykorzy- stuje się symetryczną transmisję sygnału. Interfejsy te umożliwiają realizację połą- czeń zarówno w topologii punkt-punkt, jak i w magistrali. Nośnikiem informacji jest Rozdział 2. ♦ Interfejs szeregowy: port COM 77 w nich różnica potencjałów pomiędzy przewodnikami A i B. Różnica potencjałów na −UB 0,2 V (A ma większy potencjał dodatni niż B) odpowiada wejściu odbiornika UA stanowi OFF (przerwa), natomiast UA −Ug −0,2 V (A ma większy potencjał ujemny niż B) stanowi ON (mark). Zakres |UA–UB| 0,2 V to martwa strefa (histereza) zapew- niająca ochronę przed zakłóceniami. Na wyjściach nadajnika sygnały UA i Ug zazwy- czaj mają poziomy 0 V i +5 V (CMOS) lub +1 V i +4 V (TTL). Różnicowe napięcie wyjściowe musi mieścić się w zakresie od 1,5 V do 5 V. Rezystancja wyjściowa na- dajnika wynosi 100 Ω. Interfejsy są zgodne pod względem elektrycznym, chociaż wystę- pują pewne różnice w ograniczeniach. Zasadniczą cechą wyróżniającą nadajniki RS-485 jest ich zdolność do przełączania się do stanów wysokiej impedancji. Nadajniki RS-422/ 485 są zgodne z odbiornikami RS-423. W tabeli 2.3 wyszczególniono główne parametry interfejsów. Topologie połączeń pokazano na rysunku 2.9. Tabela 2.3. Parametry interfejsów RS-422 i RS-485 Parametr RS-422 Próg działania |UA−UB| [V] 0,2 Dopuszczalny poziom zakłóceń trybu wspólnego, [V]1. −6.8 – +6.8 RS-485 0,2 −6.8 – +11.8 Dopuszczalne napięcie wejściowe, [V]1. Rezystancja wejściowa odbiornika, [kΩ]. Minimalna rezystancja obciążenia nadajnika, [Ω]. Maksymalna liczba węzłów. −7 – +7 −7 – +12 4 100 12 60 Jeden nadajnik plus 10 odbiorników 32 (nadajniki, odbiorniki lub kombinacja nadajników i odbiorników) Maksymalna długość [m]. 1200 (100 kb/s) 12 (10 Mb/s) 1200 (100 kb/s) 12 (10 Mb/s) Terminator, R=100 Ω. Po stronie nadajnika Po obu stronach Prąd zwarcia [mA]. 150 do szyny GND 250 do szyny o potencjale −7 V − +12 V lub pomiędzy żyłami A i B 1 Napięcie jest mierzone względem masy obwodu węzła. Rysunek 2.9. Topologia interfejsów: a — RS-422; b — RS-485 4-żyłowy; c — RS-485 2-żyłowy 78 Interfejsy sprzętowe komputerów PC W celu zwiększenia liczby węzłów można podnieść rezystancję wejściową odbiorni- ków, ale to prowadzi do obniżenia dopuszczalnej szybkości transmisji lub zmniejsze- nia potencjalnej odległości, na którą jest realizowana transmisja. Maksymalna szyb- kość transmisji na krótkich odległościach (do 10 metrów) jest ograniczona szybkością działania nadajnika (można osiągnąć częstotliwości do 25 MHz). Na średnich odległo- ściach ograniczenia zależą od pojemności kabla (przy szybkości 1 200 b/s — 25 nF, przy szybkości 9 600 b/s — 30 nF, przy szybkości 115 kb/s — 250 pF). Maksymalna odległość jest ograniczona rezystancją DC pętli. Istnieją dwa typy interfejsu RS-485: dwużyłowy i czterożyłowy. Interfejs czterożyłowy (rysunek 2.9b) ustawia węzeł nadrzędny, którego nadajniki obsługują odbiorniki po- zostałych węzłów. Nadajnik węzła nadrzędnego jest zawsze aktywny: nie musi się prze- łączać do stanu wysokiej impedancji. Nadajniki pozostałych węzłów (podrzędnych) muszą posiadać trójstanowe wyjścia — są podłączone do wspólnej szyny nadajnika nad- rzędnego. W interfejsie dwużyłowym (rysunek 2.9c) wszystkie węzły są sobie równe. W najprostszym przypadku połączenia punkt-punkt interfejsy RS-485 i RS-422 są równoważne i stan wysokiej impedancji nie jest używany. W celu utrzymania najmniej aktywnego stanu szyny RS-485, kiedy nie ma aktywnych nadajników, na linii instaluje się aktywny terminator, który utrzymuje potencjał prze- wodników. W tym stanie żyła B musi charakteryzować się wyższym potencjałem do- datnim niż żyła A. W przypadku połączenia wielopunktowego należy zapewnić metodę dostępu do śro- dowiska transmisji. Najczęściej wykorzystuje się metodę odpytywania: wyznaczone urzą- dzenie nadrzędne odpytuje urządzenia podrzędne, sprawdzając ich gotowość do trans- misji. Przekazanie praw dostępu z jednego urządzenia do innego jest możliwe zgodnie z ustanowionym protokołem. Czasami stosuje się także metody dostępu swobodnego (analogicznie do sieci Ethernet). Wejście różnicowe interfejsów zapewnia zabezpieczenie przed zakłóceniami, ale w tym przypadku masy obwodów urządzeń muszą być połączone między sobą oraz do szyny uziemienia. W celu połączenia urządzeń wykorzystywana jest trzecia żyła interfejsu (do tego celu można także wykorzystać ekran kabla). W celu zabezpieczenia przed przepły- wem przez trzecią żyłę zbyt dużego prądu równoważącego potencjały masy, w obwodzie umieszcza się rezystory (rysunek 2.10). Rysunek 2.10. Połączenia masy obwodów dla interfejsów RS-422 i RS-485 Interfejs RS-422 jest często wykorzystywany do podłączania urządzeń peryferyjnych (na przykład drukarek). Interfejs RS-485 to popularny sposób podłączenia sprzętu auto- matyki przemysłowej. Rozdział 2. ♦ Interfejs szeregowy: port COM 79 W celu transmisji sygnału w dwużyłowej linii łączącej odbiornik z nadajnikiem sto- sowany jest interfejs pętli prądowej, w którym zamiast napięciowych stosowane są sy- gnały prądowe. Prąd o natężeniu 20 mA odpowiada logicznej jedynce, natomiast brak przepływu prądu to logiczne zero. Taki sposób reprezentacji sygnałów w opisanym po- wyżej formacie transmisji asynchronicznej umożliwia wykrywanie przerw w łączu: od- biornik wykryje brakujący bit stopu (przerwa w łączu spełnia rolę stałego logicznego zera). Pętla prądowa zazwyczaj oznacza galwaniczną separację obwodów wejściowych odbior- nika od pozostałej części obwodu. W tym przypadku źródłem prądu w pętli jest nadajnik (w tej wersji nazywa się aktywnym nadajnikiem). Możliwe jest również zasilanie z od- biornika (aktywny odbiornik). W takim przypadku wyjście nadajnika może być galwa- nicznie odseparowane od pozostałej części obwodu nadajnika. Istnieją również wersje uproszczone, które nie zapewniają galwanicznej separacji, ale są to zubożone wersje interfejsu. Warto zwrócić uwagę, że interfejs MIDI (patrz punkt 7.5.3) nie jest zgodny z „klasyczną” pętlą prądową. Pętla prądowa z galwaniczną separacją (rysunek 2.11) umożliwia transmisję sygnałów do kilku kilometrów, ale z niskimi szybkościami (szybkości powyżej 19 200 b/s nie są wykorzystywane, a kiedy odległość mierzy się w kilometrach, maksymalna szybkość wynosi 9 600 b/s, a nawet mniej). Maksymalna odległość jest określona przez rezy- stancję pary przewodów oraz poziom szumów. Ponieważ interfejs wymaga jednej pary przewodów dla każdego sygnału, zazwyczaj używane są tylko dwa sygnały interfejsu szeregowego (linia czterożyłowa). W przypadku wymiany dwukierunkowej wykorzy- stywane są wyłącznie sygnały do wysyłania i odbioru danych. W takiej sytuacji stosuje się programowe sterowanie przepływem XON/XOFF. Jeśli nie ma potrzeby dwukie- runkowej wymiany, jedna para przewodów jest wykorzystywana do transmisji danych, a druga do sterowania przepływem za pomocą sygnału CTS (protokół sprzętowy) lub odwróconej linii danych (protokół programowy). Przy pomocy odpowiedniego opro- gramowania można wykorzystać jedną pętlę prądową do zorganizowania półdupleksowej dwukierunkowej komunikacji pomiędzy dwoma urządzeniami. W takim przypadku każdy odbiornik „słyszy” zarówno sygnały nadajników z drugiej strony łącza, jak sygnały nadajników własnych. Protokoły komunikacyjne uznają je jako sygnały echa. Aby był możliwy odbiór bez błędów, nadajniki muszą pracować na zmianę. Rysunek 2.11. Konwersja interfejsu RS-232C na pętlę prądową Pętla prądowa umożliwia wykorzystanie dedykowanych fizycznych łączy (dzierżawio- nych) bez modemów, ale z niskimi szybkościami transmisji. Czasami pętle prądowe stosuje się do podłączenia terminali interfejsu RS-232C w przypadku, kiedy odległość połączenia gwarantowana przez interfejs jest zbyt mała lub jeśli jest potrzebna separacja galwaniczna. Przekształcenie sygnałów RS-232C na sygnały pętli prądowej nie jest 80 Interfejsy sprzętowe komputerów PC trudne. Na rysunku 2.11 pokazano bardzo prosty schemat konwertera umożliwiającego podłączenie terminala. Do uzyskania sygnałów bipolarnych wymaganych przez obwody wejściowe portu COM wykorzystywane jest zasilanie interfejsu. Konwerter można usprawnić, zapewniając ochronę przed przeciążeniem optoizolatorów oraz w celu sta- bilizacji sygnałów napięciowych. Maksymalna szybkość transmisji zależy od szybkości wykorzystanych optoizolatorów (szybkość 9 600 b/s można osiągnąć stosując optoizo- latory dowolnego typu). 2.3. Tryb asynchroniczny Tryb asynchroniczny transmisji szeregowej jest bajtowy (znakowy): najmniejsza jed- nostka przesyłanych informacji to jeden bajt (jeden znak). Na rysunku 2.12 zilustro- wano format transmisji bajtowej. Transmisja każdego bajtu rozpoczyna się od bitu startu, który sygnalizuje początek transmisji do odbiornika. Po nim są przesyłane bity danych i, czasami, bit parzystości. Transmisję kończy bit stopu. Bit startu kolejnego bajtu jest przesyłany w dowolnym czasie po bicie stopu poprzedniego bajtu, tzn. po- między transmisjami poszczególnych bajtów mogą występować pauzy dowolnej dłu- gości. Zastosowanie bitu startu, który zawsze ma ściśle zdefiniowaną wartość (logiczne zero), to prosta metoda synchronizacji odbiornika za pomocą sygnału z nadajnika. Odbiornik i nadajnik pracują z tą samą szybkością transmisji. Wewnętrzny generator synchronizacji odbiornika wykorzystuje licznik dzielnika częstotliwości, który jest usta- wiany na wartość zero w momencie odebrania bitu startu. Licznik ten generuje we- wnętrzne sygnały strobujące, dzięki którym odbiornik odbiera następne bity. W idealnej sytuacji impulsy strobujące są generowane w środku interwałów bitowych, co umożliwia odbiór danych nawet wtedy, gdy szybkości transmisji nadajnika i odbiornika nieznacznie się różnią. Jest oczywiste, że w przypadku transmisji ośmiu bitów danych, jednego bitu parzystości i jednego bitu stopu, dopuszczalna tolerancja częstotliwości zapewniająca prawidłowy odbiór danych nie może przekroczyć pięciu procent. Biorąc pod uwagę zniekształcenia fazy oraz kwantową naturę licznika synchronizacji, dopuszczalna tole- rancja częstotliwości jest jeszcze mniejsza. Im mniejszy współczynnik podziału wewnętrz- nego generatora częstotliwości (wyższa częstotliwość transmisji), tym mniej dokładne umieszczenie sygnału strobującego w stosunku do środka przedziału bitowego, a zatem większe wymagania dopasowania częstotliwości. Rysunek 2.12. Format asynchronicznej transmisji przez interfejs RS-232C Im wyższa częstotliwość transmisji, tym bardziej zniekształcone sygnały wpływają na fazę odbieranych sygnałów. Połączenie tych czynników skutkuje zwiększeniem wymagań dotyczących dopasowania częstotliwości odbiornika i nadajnika w miarę zwiększania się szybkości transmisji. Rozdział 2. ♦ Interfejs szeregowy: port COM 81 Format transmisji asynchronicznej umożliwia wykrywanie potencjalnych błędów transmisji.  Jeśli otrzymano sygnał rozpoczęcia transmisji, ale w momencie strobowania bitu startu odebrano logiczną jedynkę, bit startu można uznać za błędny. W takiej sytuacji odbiornik powraca do stanu oczekiwania. Odbiornik nie musi zgłaszać tego błędu.  Jeśli podczas przedziału czasu przydzielonego dla bitu stopu zostanie wykryte logiczne zero (poziom wysoki), następuje zarejestrowanie bitu stopu.  W przypadku wykorzystania kontroli parzystości, po wysłaniu bitów danych wysyłany jest bit parzystości. Bit ten uzupełnia liczbę logicznych jedynek w bitach danych do liczby parzystej lub nieparzystej, w zależności od wcześniejszych ustawień. Błąd jest rejestrowany w przypadku odebrania bajtu zawierającego niepoprawną wartość bitu parzystości.  Kontrola formatu umożliwia wykrycie przerw łącz: z reguły w przypadku przerwy w łączu odbiornik „widzi” logiczne zero. To logiczne zero początkowo jest interpretowane jako bit startu lub zerowe bity danych, ale później wykonywana jest kontrola bitu stopu. Dla trybu asynchronicznego przyjmuje się zbiór standardowych szybkości transmisji: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600 i 115200 bitów na sekundę (b/s). Czasami zamiast terminu b/s wykorzystuje się termin bod, ale dla transmisji danych binarnych określenie to jest niepoprawne. Body wykorzystuje się do pomiaru częstotliwości zmian stanu łącza, ale w przypadku zastosowania w kanale komunikacji niebinarnej metody kodowania (którą często wykorzystuje się w nowo- czesnych modemach), szybkość transmisji bitów (b/s) oraz częstotliwość zmiany sygnału (liczba bodów) mogą się znacznie różnić. Liczba bitów danych może wynosić 5, 6, 7 lub 8 (formaty pięcio- lub sześciobitowe wykorzystuje się bardzo rzadko). Liczba bitów stopu może wynosić 1, 1,5 lub 2 (półtora bitu oznacza jedynie czas trwania przerwy). 2.4. Sterowanie przepływem danych Do sterowania przepływem danych można wykorzystać dwa rodzaje protokołów: sprzę- towy lub programowy. Czasami sterowanie przepływem jest mylone z uzgadnianiem lub potwierdzaniem. Uzgadnianie (ang. handshaking) oznacza negocjowanie z partnerem wszystkich elementarnych kroków protokołu (dobrym przykładem jest sygnalizacja pro- tokołów transmisji portu równoległego w trybach EPP i ECP). Potwierdzanie to prze- syłanie powiadomienia o odebraniu porcji informacji (bajtu, ramki lub pakietu). Stero- wanie przepływem zakłada wysyłanie powiadomień dotyczących tego, czy jest możliwy dalszy odbiór danych. Dość często sterowanie przepływem wykorzystuje mechanizmy uzgadniania lub potwierdzania. W sprzętowym protokole sterowania przepływem RTS/CTS wykorzystuje się sygnał 65 umożliwiający wstrzymanie wysyłania danych, jeśli odbiornik nie jest gotowy do ich odbierania (rysunek 2.13). 82 Rysunek 2.13. Sprzętowe sterowanie przepływem Interfejsy sprzętowe komputerów PC Nadajnik umożliwia wysłanie następnego bajtu tylko wtedy, kiedy jest ustawiona li- nia 65. Zatrzymanie bajtu, którego transmisja rozpoczęła się za pomocą sygnału 65, jest niemożliwe (co zapewnia integralność transmisji). Protokół sprzętowy zapewnia najszybszą reakcję nadajnika na stan odbiornika. Układy scalone asynchronicznych nadajniko-odbiorników zawierają co najmniej dwa rejestry odbiorcze: rejestr przesunię- cia, umożliwiający odbiór następnego pakietu i rejestr pamięci, z którego jest odczy- tywany odebrany bajt. Dzięki temu można zaimplementować protokół sprzętowy bez utraty danych. Protokół sprzętowy sprawdza się do podłączania drukarek i ploterów, jeśli urządzenia te go obsługują. Kiedy dwa komputery są połączone bezpośrednio (bez modemów), sprzętowe sterowanie przepływem wymaga skrzyżowania linii 465 i 65. W przypadku bezpośredniego połączenia, terminal wysyłający dane musi przełączyć swoją linię 65 na stan ON (poprzez połączenie własnych linii 465 i 65). W innym przypadku nadajnik nie będzie nadawać. Nadajniko-odbiorniki 8250/16450/16550 wykorzystywane w komputerach IBM PC nie przetwarzają sygnału 65 sprzętowo, ale odzwierciedlają jego stan w rejestrze /54 (patrz punkt 2.5). Implementacja protokołu RTS/CTS jest zadaniem usługi $+15 +PV*. Nazwanie tej usługi mechanizmem sprzętowym nie jest całkowicie poprawne. Jeśli program wykorzystujący port COM komunikuje się z układem UART na pozio- mie rejestrów (a nie na poziomie BIOSu), wówczas w celu obsługi protokołu sam ob- sługuje przetwarzanie sygnału CTS. Niektóre programy komunikacyjne umożliwiają ignorowanie sygnału 65 (jeśli modem nie jest używany) i nie wymagają połączenia wejścia 65 z wyjściem własnego sygnału 465. Są jednak różne nadajniko-odbiorniki (na przykład 8251), w którym sygnał 65 jest przetwarzany przez mechanizmy sprzętowe. W ich przypadku, a także dla „uczciwych” programów, wykorzystanie sygnału 65 w złączach (a nawet w kablach) jest obowiązkowe. Programowe sterowanie przepływem XON/XOFF zakłada istnienie dwukierunkowego kanału transmisji danych. Protokół działa w następujący sposób: jeżeli urządzenie od- bierające odkryje powody, dla których nie może kontynuować odbierania danych, wysyła w szeregowym kanale zwrotnym sygnał XOFF (13h). Po odebraniu tego sygnału urzą- dzenie znajdujące się po przeciwnej stronie zawiesza transmisję. Kiedy urządzenie odbiorcze ponownie uzyskuje gotowość do odbierania danych, wysyła znak XON (11h). Urządzenie po drugiej stronie łącza po odebraniu tego sygnału wznawia transmisję. W porównaniu ze sprzętową implementacją protokołu, czas odpowiedzi nadajnika na zmianę stanu odbiornika zwiększa się co najmniej o czas trwania transmisji sygnału (XON lub XOFF) plus czas, jaki zajmuje programowi nadajnika reakcja na odebranie znaku (rysunek 2.14). Z tego powodu tylko odbiornik wyposażony w dodatkowy bu- for dla odebranych danych informujący z góry o braku możliwości odbierania danych (w czasie, kiedy posiada jeszcze miejsce w buforze) może działać bez strat danych. Rozdział 2. ♦ Interfejs szeregowy: port COM 83 Rysunek 2.14. Programowe sterowanie przepływem XON/XOFF Zaletą programowego sterowania przepływem jest brak konieczności transmisji sy- gnałów sterujących interfejsu: najprostszy kabel umożliwiający dwukierunkową wymianę składa się z zaledwie trzech żył (patrz rysunek 2.5a). Wada polega na tym, że oprócz konieczności korzystania z bufora oraz długiego czasu odpowiedzi (który obniża całko- witą wydajność kanału z powodu oczekiwania na sygnał XON), zaimplementowanie pełnodupleksowego trybu wymiany jest trudne. W tym przypadku istnieje konieczność uzyskania sygnałów sterowania przepływem ze strumienia danych odebranych oraz ich przetworzenia, co ogranicza liczbę znaków, które można przesłać. Oprócz tych dwóch powszechnie używanych standardowych protokołów, obsługiwanych przez systemy operacyjne oraz większość urządzeń peryferyjnych, istnieją protokoły użytkownika wymagające specjalnej obsługi. 2.5. Układy scalone asynchronicznych nadajniko-odbiorników (UART) W portach COM konwersja danych równoległych na szeregowe w celu realizacji transmisji danych oraz odwrotna konwersja w celu ich odbioru jest wykonywana przez dedykowane układy UART (ang. Universal Asynchronous Receiver-Transmitter — Uniwersalny asyn- chroniczny odbiorniko-nadajnik). Te same układy scalone generują i przetwarzają sygnały sterujące interfejsu. Porty COM komputerów IBM PC XT/AT są oparte na układach scalonych zgodnych z układami UART serii i8250 na poziomie rejestrów: 8250/16450/ 16550A. Seria ta jest ulepszeniem modelu oryginalnego, została opracowana w celu zwiększenia szybkości działania i zmniejszenia zużycia energii, a także obciążenia proce- sora podczas intensywnej wymiany. Zwróćmy uwagę, że:  Układy 8250 mają wadę projektową (występowanie fałszywych przerwań), co uwzględniono w systemie BIOS komputera XT.  8250A: poprawiono błędy poprzedniego modelu, ale w efekcie utracono zgodność z systemem XT BIOS. Takie układy scalone działają w niektórych modelach komputerów AT, ale nie można ich używać dla szybkości transmisji 9 600 b/s.  8250B: poprawiono błędy 8250 i 8250A, przywrócono zgodność z systemem XT BIOS poprzez odtworzenie oryginalnego błędu przerwania. Działa w komputerach AT w systemie DOS (oprócz szybkości 9 600 b/s). 84 Interfejsy sprzętowe komputerów PC Układy scalone 8250x charakteryzują się niższymi szybkościami działania jeśli chodzi o żądania ze strony magistrali systemowej. W przypadku tych układów można odwoły- wać się do ich rejestrów w kolejnych cyklach magistrali procesora. Dla zapewnienia prawidłowej pracy, pomiędzy wywołaniami procesora muszą być wstawione opóźnienia programowe. W komputerach klasy AT wprowadzono następujące modyfikacje układów scalonych UART:  16450: szybka wersja układu 8250 przeznaczona dla komputerów AT. Nie zawiera błędów układu 8250 ani pełnej zgodności z systemem XT BIOS.  16550: rozwinięta wersja układu 16450. Może wykorzystywać kanał DMA do wymiany danych. Jest także wyposażony w bufor FIFO, z którego nie można korzystać z powodu wadliwego działania.  16550A: układy charakteryzujące się szesnastobajtowymi wejściowymi i wyjściowymi buforami FIFO oraz wykorzystaniem kanałów DMA. Układy te są najczęściej używane w komputerach klasy AT dla transmisji z szybkościami przekraczającymi 9 600 b/s. Większość kontrolerów wejścia-wyjścia nowoczesnych chipsetów zapewnia zgodność z tym układem. Z punktu widzenia programowania, układy scalone UART 16550A UART to zbiór reje- strów, do których dostęp jest określony przez adres (przesunięcie rejestru adresu w sto- sunku do bazowego adresu portu) oraz wartość bitu .#$ (7 bit rejestru . 4). W prze- strzeni adresowej wejścia-wyjścia układ scalony zajmuje osiem kolejnych adresów. W tabeli 2.4 wyszczególniono rejestry układu UART 16550A wraz z metodami do- stępu. Układy 8250 różnią się od nich tym, że nie zawierają rejestru ( 4 i wszystkich możliwości obsługi buforów FIFO i kanału DMA. Tabela 2.4. Rejestry układów UART 16550A Dostęp Rejestr Przesunięcie DLAB Nazwa Funkcja Odczyt/Zapis 0h 0h 0h 1h 1h 2h 2h 3h 4h 5h 6h 7h 0 0 1 1 0 x x x x x x x THR RBR Rejestr transmisji. Rejestr bufora odbiornika. Z O DLL Mniej znaczący bajt dzielnika szybkości transmisji. O/Z DLM Bardziej znaczący bajt dzielnika szybkości transmisji. O/Z IER IIR FCR LCR Rejestr zezwolenia na przerwanie. Rejestr identyfikacji przerwania. Rejestr sterujący buforami FIFO. Rejestr sterujący łącza. MCR Rejestr sterujący modemu. LSR Rejestr stanu łącza. MSR Rejestr stanu modemu. SCR Rejestr roboczy. O/Z O Z O/Z O/Z O/Z1 O/Z1 O/Z 1 Niektóre bity są tylko do odczytu. Zapis do rejestru może doprowadzić do awarii protokołu. Rozdział 2. ♦ Interfejs szeregowy: port COM 85 6*4: rejestr transmisji (ang. Transmitter Holding Register) — tylko zapis. Dane zapi- sane do rejestru są wysyłane do wyjściowego rejestru transmisji (kiedy stanie się dostęp- ny), stamtąd są umieszczane w wyjściowym sygnale TXD. Bit 0. (najmniej znaczący) jest wysyłany (i odbierany) jako pierwszy. Jeśli pakiet jest krótszy niż osiem bitów, bity najbardziej znaczące są ignorowane. 4$4: rejestr bufora odbiornika (ang. Receiver Buffer Register) — tylko odczyt. Dane sze- regowe (RXD) odbierane w rejestrze przesunięcia odbiornika są umieszczane w rejestrze 4$4. Stamtąd mogą być odczytane przez procesor. Jeśli bajt nie zostanie przeczytany do czasu odebrania następnego bajtu, występuje błąd przepełnienia. Jeśli pakiet jest krótszy niż osiem bitów, bity najbardziej znaczące mają wartość zero. ..: rejestr mniej znaczącego bajtu dzielnika prędkości przesyłania danych. ./: rejestr bardziej znaczącego bajtu dzielnika prędkości przesyłania danych. Dzielnik jest obliczany ze wzoru D = 115200/V, gdzie V oznacza szybkość transmisji w b/s. Wejściową częstotliwość synchronizacji 1,8432 MHz dzieli się przez uzyskany współ- czynnik, co daje częstotliwość transmisji danych wykorzystywaną przez układ UART. + 4: rejestr zezwolenia na przerwanie (ang. Interrupt Enable Register). Wartości bitów równe logicznej jedynce zezwalają na przerwanie z odpowiedniego źródła danych. Funkcje bitów rejestru IER:  bity[7:4]=0: nieużywane;  bit 3. — /QFA+ : zmiana stanu modemu (dowolnej linii 65, 54, 4+ lub );  bit 2. — 4Z.A+ : przerwa łącza lub jego błąd;  bit 1. — 6: A+ : zakończenie transmisji;  bit 0. — 4: A+ : odebranie znaku (przekroczenie limitu czasu w trybie FIFO). ++4: rejestr identyfikacji przerwania i wskaźnik stanu bufora FIFO (tylko do odczytu). W celu uproszczenia analizy programowej, w układzie UART zorganizowano we- wnętrzne przerwania w system z czterema priorytetami. Kolejność priorytetów (w po- rządku rosnącym) to: stan łącza, odbiór znaku, wypróżnienie rejestru nadajnika, stan modemu. Kiedy wystąpi warunek przerwania, układ UART wskazuje na źródło o naj- wyższym priorytecie do czasu obsłużenia sytuacji przez wykonanie odpowiednich dzia- łań. Dopiero wtedy możliwa jest obsługa żądania z kolejnego źródła. Funkcje rejestru ++4 opisano poniżej.  bity [7:6] — stan trybu FIFO:  11: tryb FIFO układu 16550A;  10: tryb FIFO układu 16550;  00: tryb standardowy;  bity [5:4]: nieużywane;  bit 3.: przerwanie przekroczenia limitu czasu odbioru w trybie FIFO (w buforze są dane do odczytania); 86 Interfejsy sprzętowe komputerów PC  bity [2:1]: źródło przerwania o najwyższym priorytecie (w trybie standardowym — bez użycia buforów FIFO):  11: błąd łącza (przerwa). Wartość ustawiana poprzez odczyt rejestru stanu łącza;  10: odebrano znak. Wartość ustawiana poprzez odczyt danych;  01: wysłano znak (rejestr 6*4 jest pusty). Wartość ustawiana poprzez zapis danych;  00: zmienił się stan modemu. Wartość ustawiana poprzez odczyt rejestru stanu modemu;  Bit 0: wskaźnik zaległego żądania przerwania (1: brak zaległego przerwania, 0: zaległe przerwanie). W trybie FIFO źródło przerwania jest identyfikowane przez bity [3:1].  011: błąd łącza (przerwa). Wartość ustawiana poprzez odczyt rejestru stanu łącza;  010: odebrano znak. Wartość ustawiana poprzez odczyt rejestru danych odbiornika;  110: wskaźnik przekroczenia limitu czasu (w czasie równym czterokrotnemu okresowi potrzebnemu na wysłanie lub odebranie znaku nie został wysłany, ani odebrany znak, pomimo tego, że w buforze znajduje się co najmniej jeden). Wartość ustawiana poprzez odczyt rejestru danych odbiornika;  001: rejestr 6*4 jest pusty. Wartość ustawiana poprzez zapis danych;  000: zmiana stanu modemu ( 65, 54, 4+ lub ). Wartość ustawiana poprzez odczyt rejestru stanu modemu (/54). ( 4: rejestr sterujący buforami FIFO(ang. FIFO Control Register) — tylko odczyt. Funkcje jego bitów opisano poniżej:  bity [7:6] ITL (ang. Interrupt Trigger Level — poziom generowania przerwania): poziom zapełnienia bufora FIFO powodujący
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Interfejsy sprzętowe komputerów PC
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: