Sciaga4, PJWSTK, 0sem, SKJ


(Wykład 4)URZĄDZENIA SZEREGOWE

Porty szeregowe oferują najwygodniejszy chyba sposób komunikacji systemu UNIX/WINDOWS/DOS z urządzeniami wejścia - wyjścia Nie są one bardzo szybkie, ale za to są elastyczne można je znaleźć we wszystkich komputerach Mogą być one używane do komunikacji c całą gamą urządzeń, włączając w to drukarki, terminale i inne komputery Urządzenie może być podłączone do systemu bezpośrednio (kablem) lub za pośrednictwem linii telefonicznej z modemami na obu końcach do modulowania i demodulowania sygnału.

STANDARDY DLA SYGNAŁÓW I ŁĄCZY

Większość portów szeregowych jest zgodna z jednym z wariantów standardu znanego jako RS - 232 Standard ten określa charakterystyki elektryczne sygnałów znaczenie każdego przewodu wraz z rozmieszczeniem końcówek w tradycyjnym łączu 25 - stykowym, tzw. DB - 25 Dla wielu zastosowań pełny protokół RS - 232 okazuje się zbyt obszerny Definiuje on sygnały zupełnie zbędne w prostej komunikacji Łącze DB-25 również jest nieprzyjemnie duże szczególnie w takich zastosowaniach jak krosownica ( tablica połączeń) czy laptop Dlatego stosuje się wiele innych odmian łączy szeregowych Łącze DB - 25 występuje w odmianie męskiej (DB25P) oraz żeńskiej (DB25s) Sprzęt komputerowy wyposaż się w łącza żeńskie, a kable są wyposażone w męskie wtyczki

0x01 graphic

Rysunek przedstawia męski wtyk DB - 25 ; widać, że wykorzystano tylko 7 końcówek - często tak właśnie jest

Odmiana łącza szeregowego DIN-8 jest powszechnie używana w komputerachMacintosh, niektórych komputerach i stacjach roboczych - łącze korzysta z 7 końcówek.

0x01 graphic

Nazwy sygnałów protokołu RS - 232 oraz przypisane im końcówki łącza DB - 25

0x01 graphic

istnieją dwa rodzaje konfiguracji połączeń t transmisji szeregowej, w zależności od rodzaju urządzenia; urządzenie może być dołączone jako urządzenie końcowe transmisji danych (DTE - Data Terminal Equipment) - zazwyczaj komputery, terminale, drukarkiurządzenie komunikacyjne transmisji danych danych (DCE - Data Communications Equipment), np modemy

0x01 graphic

WARIANTY ŁĄCZY SZEREGOWYCH

wariant din - 8 (patrz wyżej), wariant db - 9; bardzo powszechne w komputerach PC 9 - stykowe łącze

0x01 graphic

wygląda jak młodszy brat DB - 25umożliwia przesyłanie 9 najpowszechniej używanych sygnałów transmisji szeregowej

wariant RJ - 45 - 8 stykowe stykowe łącze telefoniczne

0x01 graphic

# istnieją kable przejściowe od DB - 25 do DIN 8, od DB 9 do DB 25, istnieją standardy łączenia DB - 25 z końcówkami RJ - 45 (najlepszy to tzw. standard Yosta)

WEJŚCIE - WYJŚCIE SZEREGOWE

interfejs równoległy służy do przesyłania kilku bitów jednocześnie, przy użyciu oddzielnej linii danych dla każdego bitu

0x01 graphic

interfejs szeregowy służy do przesyłania bitów danych po jednym w danej chwili przez pojedyńczą linię danyc

0x01 graphic

ponieważ komputery i urządzenia zewnętrzne przetwarzają dane równolegle, więc szeregowy interfejs wejścia - wyjścia musi umożliwiać konwersję danych równoległych na szeregowe przy wysyłaniu i z szeregowych na równoległe przy odbieraniupo równoległym załadowaniu wysyłającego rejestru przesuwającego, bity są przesuwane jeden za drugim na linię danych przez zegar nadajnika; po stronie odbiornika bity są próbkowane i przesuwane w rejestrze po każdym cyklu zegara odbierającego.

0x01 graphic

ASYNCHRONICZNA TRANSMISJA SZEREGOWA

przy asynchronicznej transmisji szeregowej dane są przesyłane jako serie znaków, z których każdy umieszczony jest w ramce (frame) ramka znaku zaczyna się bitem startu i kończy się jednym lub kilkoma bitami stopu, każdy znak zajmuje od pięciu do ośmiu bitów ramka zawiera także opcjonalny bit parzystości (parity bit) - do wykrywania błędów

ponieważ zegar odbiornika pracuje niezależnie od nadajnika, to możliwy jest dryft - sygnał nie będzie próbkowany (↑) na środku.

0x01 graphic

INTERFEJS SZEREGOWY RS - 232C

0x01 graphic

Adres = adres portu (max. 4)

A2A1A0 = adresy rejestrów

szyna I/O = mówi o kierunku transmisji (umożliwia rozróżnienie buforu odbiornika/nadajnika )

Przyporządkowanie portom szeregowym dresów w przestrzeni WE/WY IBM PC

COM1 03F8 - 03FF

COM2 02F8 -02FF

COM3 03E8 - 03EF

COM4 02E8 - 02EF

Zestawienie rejestrów obsługujących łącza RS232C i ich adresy

0x01 graphic

0x01 graphic

przykłady przesyłania do rejestrów portu

outportb (port +3, 128) /* lcr7 = 1 */

outportb (port+1, 0x01) /*st bajt dzielnika*/

outportb (port, x) /*???*/

przykłady wysłania z rejestrów portu

y= inportb (port +5)

x= inportb (port)

REJESTR PARAMETRÓW TRANSMISJI

0x01 graphic

REJESTR STANU TRANSMISJI

0x01 graphic

oznaczają następujące linie kodu:

if (inportb (port +5 ) & 1 ){

x=inportb (port)

}

lub

if (inportb (port +5 ) & 32 ){

x=getche();

}

poszczególne kroki w programie realizującym transmisję:

zadeklarować zmienne oraz ustalić adresy portów

ustalić szybkość transmisji, ten młodszy i starszy bajt dzielnika*

ustalić parametry transmisji: rejestr LCR

realizować transmisję (programowo) korzystając w szczególności z rejestru LSR

*patrz, tablica Ustawienia Szybkości Transmisji

(USTAWIENIA SZYBKOŚCI TRANSMISJI)

0x01 graphic

TOPOGRAFIA WPROWADZEŃ SYGNAŁÓW DLA RS - 232C

0x01 graphic

REJESTR AKTYWACJI PRZERWAŃ

0x01 graphic

REJESTR IDENTYFIKACJI PRZERWAŃ

0x01 graphic

REJESTR STEROWANIA MODEMU (MCR)

0x01 graphic

REJESTR STANU MODEMU (MSR)

0x01 graphic

INTERFEJSY SZEREGOWE

Wymagania stawiane obwodom transmisyjnym

0x01 graphic



Wyszukiwarka