Zilog SCC

Kontroler komunikacji szeregowej Zilog Z8030

SCC , skrót od Serial Communication Controller , to rodzina układów scalonych sterownika portu szeregowego firmy Zilog . Głównymi członkami rodziny są modele Z8030/Z8530 i Z85233.

Opracowany na podstawie wcześniejszych urządzeń Zilog SIO (Z8443), SCC dodał szereg trybów szeregowo-równoległych, które umożliwiły wewnętrzną implementację różnych protokołów warstwy łącza danych, takich jak Bisync , HDLC i SDLC .

SCC można skonfigurować jako konwencjonalny port RS-232 do obsługi starszych systemów lub alternatywnie jako port RS-422 w celu uzyskania znacznie wyższej wydajności, do 10 Mbit/s. Szczegóły implementacji ogólnie ograniczały wydajność do 5 Mbit/s lub mniej.

Jednym z najbardziej znanych użytkowników SCC była linia komputerów Apple Macintosh , która wykorzystywała Z8530 do implementacji dwóch portów szeregowych z tyłu wczesnych projektów, oznaczonych jako „modem” i „drukarka”.

Opis

Tradycyjna komunikacja szeregowa jest zwykle realizowana przy użyciu urządzenia znanego jako UART , które tłumaczy dane z wewnętrznego formatu równoległego magistrali komputera na szeregowy iz powrotem. Pozwala to komputerowi na wysyłanie danych szeregowo, po prostu umieszczając dane w pamięci w swoim własnym wewnętrznym formacie, powiedzmy 16-bitowym little-endian , a UART przekonwertuje to na postać szeregową i wyśle. Ogólnie rzecz biorąc, dla każdej architektury komputera istniały różne układy UART, których celem było jak najniższe koszty. Dobrym przykładem jest Zilog Z-80 SIO z 1977 roku, przeznaczony do współpracy z szeroko stosowanym Zilogiem Z80 zapewnienie dwóch portów szeregowych o stosunkowo dużych prędkościach do 800 kbit/s.

SCC jest zasadniczo zaktualizowaną wersją SIO, z większą logiką wewnętrzną, która pozwala na bezpośrednie wdrożenie wielu popularnych protokołów warstwy łącza danych . Na początek SCC zawierało sprzętową implementację cyklicznej kontroli redundancji (CRC), która umożliwiała sprawdzanie, oznaczanie i odrzucanie niewłaściwych danych bez wsparcia komputera hosta. Protokoły wyższego poziomu obejmowały BiSync , HDLC i SDLC . HDLC jest lepiej znany ze swojej implementacji w zorientowanym na modem protokole LAPM , będącym częścią V.42 . Przenosząc implementację tych protokołów na sprzęt, SCC ułatwiło implementację sieci lokalnych , takich jak IBM SNA , bez potrzeby obsługi tych szczegółów przez procesor hosta.

1 + 1/2 lub 2 bity trybie szeregowym, SCC można ustawić tak, aby używał 5, 6, 7 lub 8 bitów/znak, 1, stopu, nieparzyste, parzyste lub bez parzystości i automatycznie wykrywane lub generowane sygnały przerwania. W trybach synchronicznych dane można było opcjonalnie przesyłać z NRZ , NRZI lub FM, a także dekodowaniem Manchester, chociaż kodowanie Manchester musiało być obsługiwane w logice zewnętrznej.

Szybkość transmisji SCC można określić w czasie z trzech źródeł. Do podstawowej komunikacji w stylu RS-232 SCC zawierał wewnętrzny zegar 300 Hz, który można było pomnożyć przez 1, 16, 32 do 64, zapewniając szybkość transmisji danych od 300 do 19 200 bitów / s. Alternatywnie mógłby użyć zegara na magistrali dostarczonego przez platformę hosta, a następnie podzielić ten zegar przez 4, 8, 16 lub 32 (ostatnie dwa tylko w oryginalnym NMOS realizacja). W przypadku użycia na maszynie pracującej ze wspólnym zegarem 8 MHz pozwalało to na uzyskanie szybkości do 2 Mbit / s. Wreszcie SCC zawierało również wejścia do dostarczania zewnętrznego zegara. Działało to podobnie do zegara hosta, ale mogło być używane do dostarczania dowolnego sygnału zegara odniesienia, niezależnie od platformy hosta. W tym trybie zegar można było podzielić jak w obudowie wewnętrznej lub pomnożyć przez 2 dla jeszcze wyższych prędkości, dochodzących w niektórych wersjach do 32,3 Mbit/s. Korzystanie z zewnętrznego zegara ułatwiło wdrożenie adapterów LAN, które zwykle działały z szybkościami niezależnymi od komputera hosta.

Wczesne implementacje wykorzystywały bufory odbioru o głębokości zaledwie 3 bajtów i bufor wysyłania z jednym bajtem. Oznaczało to, że rzeczywista wydajność była ograniczona przez zdolność platformy hosta do ciągłego opróżniania buforów do własnej pamięci. W przypadku komunikacji podobnej do sieci sam SCC może spowodować, że zdalny nadawca zatrzyma transmisję, gdy bufory będą pełne, a tym samym zapobiegnie utracie danych, gdy host będzie zajęty. W przypadku konwencjonalnego portu szeregowego asynchronicznego nie było to możliwe; na Macintosh Plus ta ograniczona wydajność RS-232 do około 9600 bitów / s lub mniej i zaledwie 4800 bitów / s we wcześniejszych modelach.

Większość modeli SCC była dostępna w wersjach z podwójnym pakietem liniowym (DIP) lub z nośnikiem chipów (PLCC).

Wersje

Z8030

Oryginalny model zaimplementowany w NMOS z multipleksowanym interfejsem „Z-Bus”, który pasował do procesorów Zilog Z8000 /Z16C00/ 8086

Z8530

Funkcjonalnie identyczny z Z8030, ale wykorzystujący niemultipleksowaną magistralę „Universal-Bus”, zaprojektowaną tak, aby umożliwić korzystanie z dowolnego procesora lub platformy hosta, w tym Z-80

Z8031 i Z8531

Wersje Z8030 i Z8530 z usuniętą obsługą synchroniczną, tworząc projekt bardziej zbliżony do oryginalnego SIO

Z80C30 i Z85C30

CMOS Z8030 i Z8530. Wtyczka kompatybilna z wczesnymi wersjami, dodająca 2x prędkość, gdy jest używana z zegarem zewnętrznym oraz szereg poprawek błędów i ulepszeń w protokołach warstwy łącza.

Z80230 i Z85230

Zaktualizowane implementacje CMOS Z80C30 i Z85C30, znane również jako ESCC

Z85233

Zaktualizowana wersja Z85230 (tylko), znana również jako EMSCC

Linki zewnętrzne