Zilog SCC - Zilog SCC

SCC , skrót od kontrolera komunikacji szeregowej , to rodzina portu szeregowego sterowników układów scalonych wykonanych przez Zilog . Głównymi członkami rodziny są 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że być skonfigurowany jako konwencjonalny port RS-232 do sterowania starszymi systemami lub alternatywnie jako port RS-422 dla znacznie wyższej wydajności, do 10 Mbit/s. Szczegóły implementacji generalnie 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 komputerowej na szeregowy iz powrotem. Pozwala to komputerowi na wysyłanie danych szeregowo, po prostu umieszczając dane w pamięci we własnym formacie wewnętrznym, powiedzmy 16-bitowym little-endian , a UART przekonwertuje je na postać szeregową i wyśle. Ogólnie rzecz biorąc, istniały różne UART dla każdej architektury komputerowej, w celu uzyskania jak najniższego kosztu. Dobrym przykładem jest Zilog Z-80 SIO z 1977, zaprojektowany do współpracy z szeroko stosowanym Zilog Z-80, aby zapewnić dwa porty szeregowe o stosunkowo wysokich prędkościach do 800 kbit/s.

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

W przypadku korzystania z tradycyjnego trybu szeregowego, SCC można ustawić na użycie 5, 6, 7 lub 8 bitów/znak, 1, 1/5 lub 2 bity stopu, nieparzystość, parzystość lub brak parzystości oraz automatycznie wykrywane lub generowane sygnały przerwania. W trybach synchronicznych dane mogły być opcjonalnie wysyłane z kodowaniem 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że być synchronizowana z trzech źródeł. W przypadku 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 może użyć zegara na magistrali dostarczonego przez platformę hosta, a następnie podzielić ten zegar przez 4, 8, 16 lub 32 (późniejsze dwa tylko w oryginalnej implementacji NMOS ). W przypadku użycia na maszynie pracującej ze zwykłym zegarem 8 MHz, pozwalało to na uzyskanie szybkości do 2 Mbit/s. Wreszcie SCC zawierał również wejścia do zapewnienia zewnętrznego zegara. Działało to podobnie do zegara hosta, ale mogło służyć do dostarczania dowolnego referencyjnego sygnału zegarowego, niezależnego od platformy hosta. W tym trybie zegar mógł być dzielony jak w obudowie wewnętrznej lub pomnożony przez 2 dla jeszcze większych prędkości, do 32,3 Mbit/s w niektórych wersjach. Korzystanie z zegara zewnętrznego ułatwiło wdrożenie adapterów LAN, które normalnie działały z szybkością niezależną od komputera hosta.

Wczesne implementacje wykorzystywały bufory odbioru, które miały tylko 3 bajty głębokości i bufor wysyłania z jednym bajtem. Oznaczało to, że wydajność w świecie rzeczywistym była ograniczona przez zdolność platformy hosta do ciągłego opróżniania buforów do własnej pamięci. W przypadku komunikacji sieciowej sam SCC może spowodować, że zdalny nadawca zatrzyma transmisję, gdy bufory będą pełne, a tym samym zapobiegnie utracie danych, gdy host był zajęty. Z konwencjonalnym asynchronicznym serialem nie było to możliwe; na Macintoshu Plus to ograniczało wydajność RS-232 do około 9600 bitów/s lub mniej, i do 4800 bitów/s we wcześniejszych modelach.

Większość modeli SCC była dostępna w wersji dual-in-line (DIP) lub chip carrier (PLCC).

Wersje

Z8030

Oryginalny model realizowany w NMOS z multipleksowanego interfejsu „Z-Bus”, który pasował do Zilog Z8000 / Z16C00 / 8086 procesorów

Z8530

Funkcjonalnie identyczny z Z8030, ale wykorzystujący niezmultipleksowaną „Universal-Bus” zaprojektowaną do użytku z dowolnym procesorem lub platformą hosta, w tym Z-80

Z8031 i Z8531

Wersje Z8030 i Z8530 z usuniętym wsparciem synchronicznym, tworząc projekt bardziej zbliżony do oryginalnego SIO

Z80C30 i Z85C30

Implementacje CMOS w modelach Z8030 i Z8530. Wtyczka zgodna z wczesnymi wersjami, dodająca prędkość 2x przy używaniu z zegarem zewnętrznym oraz szereg poprawek i ulepszeń w protokołach warstwy łącza.

Z80230 i Z85230

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

Z85233

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

Bibliografia

Linki zewnętrzne