Zilog SCC
SCC , förkortning för Serial Communication Controller , är en familj av integrerade kretsar för serieportdrivrutiner tillverkade av Zilog . De primära medlemmarna i familjen är Z8030/Z8530 och Z85233.
Utvecklad från de tidigare Zilog SIO- enheterna (Z8443), lade SCC till ett antal seriell-till-parallella lägen som möjliggjorde intern implementering av en mängd olika datalänkslagerprotokoll som Bisync , HDLC och SDLC .
SCC kan ställas in som en konventionell RS-232- port för att driva äldre system, eller alternativt som en RS-422- port för mycket högre prestanda, upp till 10 Mbit/s. Implementeringsdetaljer begränsade generellt prestanda till 5 Mbit/s eller mindre.
En av de mest kända användarna av SCC var Apple Macintosh- datorlinjen, som använde Z8530 för att implementera två seriella portar på baksidan av de tidiga designerna, märkta "modem" och "skrivare".
Beskrivning
Traditionell seriell kommunikation implementeras normalt med en enhet som kallas UART , som översätter data från datorbussens interna parallella format till seriell och tillbaka. Detta gör att datorn kan skicka data seriellt genom att helt enkelt placera data i minnet i sitt eget interna format, säg 16-bitars little-endian , och UART kommer att konvertera detta till seriell form och skicka det. I allmänhet fanns det olika UART för varje datorarkitektur, med målet att vara så låg kostnad som möjligt. Ett bra exempel är Zilog Z-80 SIO från 1977, designad för att fungera med den mycket använda Zilog Z80 för att tillhandahålla två seriella portar med relativt höga hastigheter upp till 800 kbit/s.
SCC är i huvudsak en uppdaterad version av SIO, med mer intern logik för att tillåta den att direkt implementera ett antal vanliga datalänkslagerprotokoll . Till att börja med inkluderade SCC en hårdvaruimplementering av den cykliska redundanskontrollen (CRC), som gjorde det möjligt för den att kontrollera, flagga och avvisa felaktig data utan stöd från värddatorn. Protokoll på högre nivå inkluderade BiSync , HDLC och SDLC . HDLC är mer känt i sin implementering i det modemorienterade LAPM -protokollet , en del av V.42 . Genom att flytta implementeringen av dessa protokoll till hårdvara gjorde SCC det enkelt att implementera lokala nätverkssystem, som IBM:s SNA , utan att värdprocessorn behövde hantera dessa detaljer.
När den används i traditionellt seriellt läge kan SCC ställas in att använda 5, 6, 7 eller 8 bitar/tecken, 1, 1 + 1 ⁄ 2 eller 2 stoppbitar, udda, jämn eller ingen paritet, och automatiskt detekteras eller genereras brytsignaler. I synkrona lägen kunde data valfritt skickas med NRZ , NRZI eller FM-kodning, såväl som Manchester-avkodning, även om Manchester-kodning måste hanteras i extern logik.
SCC:s överföringshastighet kan tidsstyras från tre källor. För grundläggande RS-232-kommunikation inkluderade SCC en intern 300 Hz klocka som kunde multipliceras med 1, 16, 32 till 64, vilket ger datahastigheter mellan 300 och 19 200 bit/s. Alternativt kan den använda klockan på bussen som tillhandahålls av värdplattformen och sedan dividera den klockan med 4, 8, 16 eller 32 (de senare två endast i den ursprungliga NMOS-implementeringen ) . När den användes på en maskin som körs på den vanliga 8 MHz-klockan tillät detta hastigheter så höga som 2 Mbit/s. Slutligen inkluderade SCC också ingångar för tillhandahållande av en extern klocka. Detta fungerade på samma sätt som värdklockan, men kunde användas för att tillhandahålla vilken referensklocksignal som helst, oberoende av värdplattformen. I detta läge kunde klockan delas som i det interna fallet, eller multipliceras med 2 för ännu högre hastigheter, upp till 32,3 Mbit/s i vissa versioner. Att använda den externa klockan gjorde det enkelt att implementera LAN-adaptrar, som normalt körde med hastigheter som var oberoende av värddatorn.
Tidiga implementeringar som används tar emot buffertar som bara var 3 byte djupa och en sändbuffert med en enda byte. Detta innebar att den verkliga prestandan begränsades av värdplattformens förmåga att kontinuerligt tömma buffertarna i sitt eget minne. Med nätverksliknande kommunikation kan SCC själv få fjärrsändaren att stoppa överföringen när buffertarna var fulla och därigenom förhindra dataförlust medan värden var upptagen. Med konventionell asynkron seriell var detta inte möjligt; på Macintosh Plus begränsade detta RS-232-prestandan till cirka 9600 bit/s eller mindre, och så lite som 4800 bit/s på tidigare modeller.
De flesta SCC-modeller var tillgängliga i antingen dual in-line package (DIP) eller chip carrier (PLCC) versioner.
Versioner
- Z8030
Originalmodell implementerad i NMOS med ett multiplexerat "Z-Bus"-gränssnitt som matchade Zilog Z8000 /Z16C00/ 8086 -processorerna
- Z8530
Funktionellt identisk med Z8030, men med en icke-multiplexerad "Universal-Bus" designad för att tillåta användning med vilken CPU eller värdplattform som helst, inklusive Z-80
- Z8031 och Z8531
Versioner av Z8030 och Z8530 med det synkrona stödet borttaget, vilket ger en design som bättre matchar den ursprungliga SIO
- Z80C30 och Z85C30
CMOS- implementationer av Z8030 och Z8530. Plugg kompatibel med de tidiga versionerna, lägger till 2x hastigheten när den används med den externa klockan, och ett antal buggfixar och förbättringar i länklagerprotokollen.
- Z80230 och Z85230
Uppdaterade CMOS- implementationer av Z80C30 och Z85C30, även känd som ESCC
- Z85233
Uppdaterad version av Z85230 (endast), även känd som EMSCC
externa länkar
- Z80C30 produktkort
- Z85C30 produktkort
- Z80C30/Z85C30 seriella kommunikationsstyrenheter Produktspecifikation
- Z80C30/Z85C30/Z80230/Z85230/Z85233 SCC/ESCC användarmanual
- FreeBSD scc(4) drivrutin