1982 Signetics MOS Microprocessor Data Manual
1982_Signetics_MOS_Microprocessor_Data_Manual 1982_Signetics_MOS_Microprocessor_Data_Manual
User Manual: manual pdf -FilePursuit
Open the PDF directly: View PDF .
Page Count: 258
Download | |
Open PDF In Browser | View PDF |
~ro!lt, chip enable (CE), byte select (BYTE), and readlwrite 1i'i1W) inputs before each data bus transfer operation. =0 ~.E=1~~~~__; (PROCESSOR SHOULD LOAD TxDB) During a read operation (R/W = 0>, the leading edge of DB EN will initiate an MPCC read cycle. The addressed register will place Its contents on the data bus. If BYTE = 1, the 8-bit byte is placed on DB15-08 or DB07-00 depending on the H/L status olthe register addressed. Unused bits In ROSRL are zero. If BYTE = 0, all 16 bits (DB15-00> contain MPCC Information. The trailing edge of OBEN will reset RxOA andlor RxSA If RDSRL or ROSRH is addressed respectively. TxBE: 1 (pROCESSOR SHOULD CLEAR TEOM AND DROPTxI!) TxA = 0 - - - - - - - - DB EN acts as the enable and strobe so that the MPCC will not begin its internal read cycle until OBEN is asserted. i Figure 7 and retransmit the message to recover This is not compatible with IBM's BISYNC, so that the user must not underrun when supporting that protocol. CRC-16, if specified by PCSARs-,o, IS generated on each character transmitted from TDSRL when TSOM = O. The processor must set TEOM = 1 after the last data character has been sent to TxSR (TxBE = 1). The MPCC will finish transmitting the last data character and the CRC-16 field before sending SYNC characters which are transmitted as long as TEOM = 1. If SYNCs are not desired after CRC-16 transmission, the processor should clear TEOM and lower TxE when the TxBE corresponding to the start of CRC-16 transmission is asserted. When TEOM = 0, the line is marked and a new message may be iniated by setting TSOM and raising TxE. If VRC IS specified, It IS generated on each data character and the data' character length must not exceed 7 bits For software LRC or CRC, TEOM should be set only If SYNC's are required at the end of the message block. During a write operation (~IW = 1), data must be stable on DB,5-08 andlor DB07-00 prior to the leading edge of DBEN. The stable data is strobed into the addressed register by DBEN. TxBE will be cleared if the addressed register was TDSRH or TDSRL. Special Case The capability to transmit 16 spaces IS provided for line turnaround in half duplex mode or for a control recovery situation. This is achieved by setting TSOM and TEOM, clearing TEOM when TxBE = 1, and proceeding as required. PROGRAMMING Prior to initiating data transmission or reception, PCSAR and PCR must be loaded with control information from the processor. The contents Of these registers (see Register Format section) will configure the MPCC forthe user's specific data communication environment. These registers should be loaded during power-on initialization and after a reset operation. They can be changed at any time that the respective transmitter or receiver is disabled. Signetics 1·23 MICROPROCESSOR DIVISION JANUARY 1982 MULTI-PROTOCOL COMMUNICATIONS CONTROLLER (MPCC) SC2652 A2 BYTE = 0 a a = 1 1 BYTE = 1 AO REGISTER 1 a x x x 1 X RDSR TDSR PCSAR PCR' Al 16-BIT DATA BUS DB15 - DBOO a 8-BIT DATA BUS a a a a = DB7_0 or DB 15-8" a a a 1 1 a 1 1 a 1 a a 1 1 1 1 RDSRl RDSRH TDSRl TDSRH PCSARl PCSARH PCRl' PCRH 1 a 1 1 NOTES ~ peR lower byte does not eXist It will be all "O"s when read .. Corresponding high and low order pms must be tied together Table 4 MPCC REGISTER ADDRESSING BIT NAME 00-07 Not Defined 08-10 RxCL BOP/BCP Receiver Character Length is loaded by the processor when RxCLE = o. The character length is valid after transmission of single byte address and control fields have been received. 10 9 Char. length (bits) 8 a a a 8 a a 1 1 a 1 a 2 a 1 1 3 1 a a 4 1 a 1 5 1 1 a 6 1 1 1 7 RxCLE BOP/BCP Receiver Character Length Enable should be zero when the processor loads RxCL. The remaining bits of PCR are not affected during loading. Always 0 when read. 11 MODE FUNCTION 12 TxCLE BOP/BCP Transmitter Character Length Enable should be zero when the processor loads TxCL. The remaining bits of PCR are not affected during loading. Always 0 when read. 13-15 TxCL BOP/BCP Transmitter Character Length is loaded by the processor when TxCLE = O. Character bit length specification format IS identical to RxCL It IS valid after transmission of single byte address and control fields Table 5 PARAMETER CONTROL REGISTER (PCR)-(R/W) 1-24 Signefics MICROPROCESSOR DIVISION JANUARY 1982 MULTI-PROTOCOL COMMUNICATIONS CONTROLLER (MPCC) SC2652 BIT NAME MODE FUNCTION 00-07 S/AR BOP SYNC/ADDRESS Register. Contains the secondary station address if the MPCC is a secondary station. The contents of this register is compared with the first received nonFLAG character to determine if the message is meant for this station. SYNC character is loaded into this register by the processor It is used for receive and transmit bit synchronization with bit length specified by RxCL and TxCL BCP 08-10 11 ECM BOP/BCP IDLE BOP BCP 12 SAM 13 SS/GA BOP BOP BCP 14 PROTO BOP BCP 15 APA BOP 10 1-8 0 0 BOP 0 BCP 0 1 8 0 0 1 0 --BCP 8 0 1 1 5-7 1 0 BCP 0 5-7 1 0 1 BCP 1 1 0 --5-8 1 1 1 BCP/BOP processor dUring Initialization or when both data paths 9 8 Suggested Mode Char. length Error Control Mode CRC-CCITT preset to 1's CRC-CCITT preset to O's Not used CRC-16 preset to O's VRC odd VRC even Not used No error control ECM should be loaded by the are idle. Determines line fill character to be used if transmitter underrun occurs (TxU asserted and TERR set) and transmission of special characters for BOP/BCP. IDLE = 0, transmit ABORT characters during underrun and when TABORT = 1 IDLE = 1, transmit FLAG characters dUring underrun and when TABORT = 1 IDLE = 0 transmit initial SYNC characters and underrun line fill characters from the S/AR IDLE = 1 transmit initial SYNC characters from TxDB and marks TxSO dUring underrun. Secondary Address Mode = 1 If the MPCC IS a secondary station ThiS facIlitates automatic recognition of the received secondary station address When transmitting, the processor must load the secondary address Into TxDB SAM = 0 inhibits the received secondary address comparison which serves to activate the receiver after the first non-FLAG character has been received Strip SYNC/Go Ahead Operation depends on mode. SS/GA =1 IS used for loop mode only and enables GA detection. When a GA is detected as a closing character, REaM and RAB/GA will be set and the processor should terminate the repeater function SS/GA =0 is the normal mode which enables ABORT detection. It causes the receiver to terminate the frame upon detection of an ABORT or FLAG SS/GA = 1, causes the receiver to striP SYNC's Immediately following the first two SYNC's detected SYNC's 10 the middle of a message will not be stripped SS/GA = 0, presents any SYNC's after the mltlal two SYNC's to the processor Determmes MPCC Protocol mode PROTO = 0 PROTO = 1 All Parties Address. If thiS bit IS set, the receiver data path IS enabled by an address field of '11111111' as well as the normal secondary station address Table 6 PARAMETER CONTROL SYNC/ADDRESS REGISTER (PCSAR)-(R/W) BIT NAME MODE FUNCTION 00-07 TxDB BOP/BCP 08 TSOM Transmit Data Buffer. Contains processor loaded characters to be serialized 10 TxSR and transmitted on TxSO. Transmitter Start of Message. Set by the processor.to mitiate message transmission prOVided TxE = 1. TSOM = 1 generates FLAGs. When TSOM = 0 transmission is from TxDB and FCS generation (if specified) begins. FCS, as specified by PCSAR._ 1o , should be CRCCCITT preset to 1'so TSOM = 1 generates SYNCs from PCSARL or transmits from TxDB for IDLE = 0 or 1 respectively When TSOM = 0 transmission IS from TxDB and CRC generation (,f specified) begins BOP BCP Table 7 TRANSMIT DATA/STATUS REGISTER (TDSR) (R/W except TDSR 15) Signetics 1-25 MICROPROCESSOR DIVISION JANUARY 1982 MULTI-PROTOCOL COMMUNICATIONS CONTROLLER (MPCC) SC2652 BIT 09 NAME TEOM MODE FUNCTION Transmit End of Message. Used to terminate a transmitted message. BOP TEOM = 1 causes the FCS and the closing FLAG to be transmitted following the transmission of the data character in TxSR. FLAGs are transmitted until TEOM = O. ABORT or GA are transmitted if TABORT or TGA are set when TEOM = 1. BCP TEOM = 1 causes CRC-16 to be transmitted (if selected) followed by SYNCs from PCSARL or TxDB IIDLE = 0 or 1). Clearing TEOM prior to the end of CRC-16 transmission (when TxBE = 1) causes TxSO to be marked following theCRC-16. TxE must be dropped before a new message can be initiated. If CRC is not selected, TEOM should not be set. 10 TABORT BOP Transmitter Abort = 1 will cause ABORT or FLAG to be sent IIDLE = 0 or 1) after the current character is transmitted. (ABORT = 11111111) 11 TGA BOP Transmit Go Ahead (GA) instead of FLAG when TEOM termination In loop mode. (GA = 01111111) 12-14 Not Defined 15 TERR Read only BOP BCP = 1. This facilitates repeater Transmitter Error = 1 indicates the TxDB has not been loaded in time (one character time -1/2 TxC period after TxBE IS asserted) to maintain continuous transmission. TxU will be asserted to Inform the processor of this condition. TERR is cleared by setting TSOM. See timing diagram. ABORT's or FLAG's are sent as fill characters IIDLE = 0 or 1) SYNC's or MARK's are sent as fill characters IIDLE = 0 or 1), For IDLE = 1 the last character before underrun is not valid. Table 7 TRANSMIT DATA/STATUS REGISTER (TDSR) (R/W except TDSR 15) (Cont'd) BIT NAME MODE FUNCTION 00-07 RxDB BOP/BCP Receiver Data Buffer. Contains assembled characters from the RxSR If VRC is specified, the parity bit is stripped. 08 RSOM BOP Receiver Start of Message = 1 when a FLAG followed by a non-FLAG has been received and the latter character matches the secondary station address if SAM = 1 . RxA will be asserted when RSOM = 1. RSOM resets itself after one character time and has no effect on RxSA. 09 REOM BOP Receiver End of Message = 1 when the cloSing FLAG is detected and the last data character is loaded into RxDB or when an ABORT/GA character is received. REOM is cleared on reading RDSRH, reset operation, or dropping of RxE. 10 RAB/GA BOP Received ABORT or GA character = 1 when the receiver senses an ABORT character If SS/GA = 0 or a GA character If SS/GA = 1 RAB/GA IS cleared on reading RDSRH, reset operation, or drOPPing of RxE. A received ABORT does not set RxDA. 11 ROR BOP/BCP Receiver Overrun = 1 indicates the processor has not read last character in the RxDB within one character time +1/2 RxC period after RxDA is asserted. Subsequent characters will be 10st.RORisclearedon readingRDSRH,resetoperation,or droppingof RxE. 12-14 ABC BOP 15 RERR BOP/BCP Assembled Bit Count. Specifies the numberof bits in the last received data character of a message and should be exam ined by the processor when REOM = 1 (RxDA and RxSA asserted), ABC = 0 indicates the message was terminated (by a FLAG or GA) on a character boundary as specified by PCRS-10. Otherwise, ABC = number of bits in the last data character. ABC is cleared when RDSRH is read, reset operation, or dropping RxE. The resiaual cnaracter is rignt justified In RDSRL. Receiver Error indicator should be examined by the processor when REOM 1 in BOP, or when the processor determines the last data character of the message in BCP with CRC or when RxSA is set in BCP with VRC. CRC-CCITT preset to 1's/0's as specified by PCSARs-10: RERR = 1 indicates FCS error (CRC ¥ FOB81 ¥ 01 RERR = a indicates FCS received correctly (CRC = FOB /=01 CRC-16 preset to a's on 8-bit data characters specified by PSCARs-10: RERR = 1 mdicates CRC-16 received correctly (CRC = 01. RERR = a indicates CRC-16 error (CRC ¥ 01 VRC specified by PCSARs-1o: RERR = 1 indicates VRC error RERR = a indicates VRC is correct Table 8 RECEIVER DATA/STATUS REGISTER (RDSR)-(Read Only) 1·26 Signetics MICROPROCESSOR DIVISION JANUARY 1982 MULTI-PROTOCOL COMMUNICATIONS CONTROLLER (MPCC) SC2652 ABSOLUTE MAXIMUM RATINGSI PARAMETER TA TSTG Vcc Operating ambient temperature2 Storage temperature Input or output voltages with respect to GND3 With respect to GND RATING UNIT o to +70 -65 to +150 ·C ·C -0.3 to +15 -0.3 to+7 V V DC ELECTRICAL CHARACTERISTICS TA; O·C to +70·C, Vcc; +5V ±5%4,5 PARAMETER LIMITS TEST CONDITIONS Min VIL VIH Input voltage Low High VOL VOH Output voltage Low High Icc Power supply current ilL IOL Leakage current Input Output CIN COUT Capacitance Input Output Typ UNIT Max V 0.8 2.0 V IOL; 1.6mA IOH; -100"A Vcc; 5.25V, TA - O·C 0.4 2.4 150 VIN ; 0 to 5.25V VOUT; 0 to 5.25V 10 10 VIN; OV, f ; lMHz VOUT; OV, I ; lMHz 20 20 mA "A pF AC ELECTRICAL CHARACTERISTICS TA; O·C to 70·C, Vcc ; 5V ± 5%4,5.6 2652-1 2652 PARAMETER Min UNIT Typ Max Min Typ Max tACS tACH tos tOH tRxS tRxH Setup and hold time Address/control setup Address/control hold Data bus setup (write) Data bus hold (write) Receiver serial data setup Receive serial data hold 50 0 50 0 150 150 50 0 50 0 150 150 tRES tOBEN Pulse width RESET DBEN 250 250 250 200 too ITxo tOBENO Delay time Data bus (read) Transmit serial data DB EN to DBEN delay tOF Data bus Iloat time (read) 150 150 ns f Clock (RxC, TxC) frequency 1.0 2.0 MHz tCLKl tCLKl tCLKO Clock high (MM - 0) Clock high (MM; 1) Clock low ns ns m' m' ns 170 250 200 325 200 200 340 490 490 165 240 240 Signetics ns 1·27 , MICROPROCESSOR DIVISION JANUARY 1982 MULTI-PROTOCOL COMMUNICATIONS CONTROLLER (MPCC) NOTES 1 Stresses above those listed under "Absolute MaXimum Ratings" may cause permanent damage to the deVice. This IS a stress ratmg only and functional operation of the deVice at these or at any other condition above those indicated In the operation sections of this specification IS not Implied 2 For operating al elevated temperatures the deVice must be derated based on +150°C maximum JunctIOn temperature and thermal resistance of 60 0 elW Junctton to ambient (lQ ceramiC package) 3 This product Includes circuitry specifically deSigned for the protectron of Its Internal deVices from the damaging effects of excessive static charge Nonetheless, It IS suggested that conventional precautions be taken to aVOid applYing any voltages larger than the rated maxima SC2652 Parameters are valid over operating temperature range unless otherwise speCified All voltage measurements are referenced to ground All time measurements are at 0 BV or 2.0V. Input voltage levels for testing are O.4V and 2.4V. 8 Output load CL .. 100pF. 7 m = TxC low and applies to writing to TDSRH only TIMING DIAGRAMS RESET READ AND WRITE DATA BUS DBEN':.._ _ _ _ tDBEN_ ~===::==~------- RESET-1='RES=f-Dor D -===+V-==-....-:::=t-V--::==:-15 ("EAD)'_===+"":~~'1'"....;.;=t-"'I':-:'-=DF:,FL;;O;;;AT.:..;';.;;NG=-_ ---V+------t-V-----(WRITE)_..,-_++ ______t-II'--,._____ DocrD15 'D" CLOCK Vi A TxSO ----~~I~----------+------------I-TXD_I I i I R'O,I I l-tcLKO I I O,SI 1 / -:-tCLK1- . . .____ I l~tRxs-l_tRXH-I ~! I 1-28 ...J , I I X~----: I Signetics MICROPROCESSOR DIVISION JANUARY 1982 MULTI-PROTOCOL COMMUNICATIONS CONTROLLER (MPCC) SC2652 TIMING DIAGRAMS ICont'dl T = TRANSMIT-START OF MESSAGE 1.S0 TxBE DBEN T>. _ _...J T,A _ _ _ _ _ _..1 NOTES 3 SYNC may be 5 to 8 bits and will contam panty bit as specIfied TxA goes high relative to TxC nSlng edge after TSOM has been set and TxE has been raised TxBE goes low relatIVe to DBEN fallIng edge on the fIrst write transfer Into TDSA. It IS reasserted 1 TxC time before the 'Irst bit of the transmitted SYNC/FLAG TxBE then goes low relatIVe to DBEN failing edge when writing mto TDSRH and/or TDSRL It IS reasserted on the rasing edge of the TxC that corresponds to the transmlsston afthe last bit of each character, except In BOP mode when the CRC IS to be sent as the next character (see Transmit Timing-End of Message) TRANSMIT-END OF BOP MESSAGE TxSO NEXT TO LAST CHAR LAST CHAR CRC -----~---~----~--~ RESET TEOM DB EN r-j-----r---- TxE 5 \I "A~6------------------------------------------------------~,·--------NOTES 4 5 6 TxBE goes low relative to the failing edge of OBEN corresponding to loading TOSAH/l It goes high one TxC before character transmiSSion beginS and also when TxA has been dropped TxE can be dropped before resetting TEOM If TxBE (correspondIng to the closing FLAG) IS high Alternatively TxE can remain high and a new message Initiated TxA goes low after TxE has been dropped and 1 1/2 TxC's after the last bit of the closing FLAG has been transmitted. Signetics 1·29 MICROPROCESSOR DIVISION JANUARY 1982 MULTI-PROTOCOL COMMUNICATIONS CONTROLLER (MPCC) SC2652 TIMING DIAGRAMS (Cont'dl TRANSMIT TIMING-END OF BCP MESSAGE T)[50 NEXT TO LAST CHAR LAST CHAR MARK T~BE~ LOAD LAST CHAR DBEN SET TEOM RESET TEOM J""--__. . .nl...._ _ _--InI...._ _ _ _ _ _ _ __ 1------------------------ T,E TxA r--------- NOTES 7 When 2652 generated CRG IS not reqUired, TeOM should only be set If SYNCs are to follow the message block In that case, TxE should be dropped In response to TxBE (which corresponds to the start of transmiSSion of the fast character' When CRG IS required, TxE must be dropped before CRC transmiSSion IS complete Otherwise, the contents 01 TxDB will be shifted out on TxSO This faCilitates transmiSSion of contiguous messages TRANSMIT UNDERRUN T,C T.U~ DBEN _ _____________~SETTSOM 11-- NOTES 8 9 1-30 TxU goes active relative to TxC failing edge If TxBE has not been serviced after n-1/2 TxC times (where n = transmit character length) TxU IS reset on the TxC failing edge follOwtng assertion of the TSOM command An underrun will occur at the next character boundary If TEOM IS reset and the transmitter remains enabled, unless the TSOM command IS asserted or a character IS loaded tnto the TxDB Signetics MICROPROCESSOR DIVISION JANUARY 1982 MULTI-PROTOCOL COMMUNICATIONS CONTROLLER (MPCC) SC2652 TIMING DIAGRAMS ~ I ~ (Cont'dl RECEIVE-START OF MESSAGE I R,A -r+----...., -r---...., 1ST CHAR READY TO BE READ 2NO CHAR READY TO BE READ OBEN SIF" R.E ~......_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ J NOTES RxA goes high relative to failing edge of Rxe when RxE IS high and a A data character following two SYNC's IS In RxDB (BCP model b Character following FLAG IS In RxDB (BOP primary station mode) c Character following FLAG IS In AxDB and character matches the secondary station address or All Parties Address (BOP secondary station model 10 RxDA goes high on Rxe failing edge when a character In RxDB IS ready to be read It comes up before RxSA and goes low on the failing edge of DB EN when RxDB IS read 11 S/F goes high relative to riSing edge of Rxe anytime a SYNC (BCPl or FLAG (BOP) IS detected 9 RECEIVE END OF MESSAGE ~-------------------------1-------------------------------_· RI(A 14 1------------, NOTES 12 At the end of a BOP message, RxSA goes high when FLAG detection (S/F = 1) forces REaM to be set Processor should read the last data character (ROSRL) and status (ROSRH) which resets RxDA and RxSA respectively For BCP end of message, RxSA may not be set and SI F = a The processor should read the last data character and status 13 RxE must be dropped for BCP with non-contiguous messages It may be left on at the end of a BOP message (see BOP Receive Operation) 14 RxA IS reset relative to the failing edge of Rxe after the closing FLAG of a BOP message (REOM = 1 and RxSA actIve,) or when AxE IS dropped Signetics 1·31 MICROPROCESSOR DIVISION JANUARY 1982 MULTI-PROTOCOL COMMUNICATIONS CONTROLLER (MPCC) SC2652 TYPICAL APPLICATIONS 2652 MPCC MICROPROCESSOR INTERFACE BbB.- r DATA BUS PO" RESET I~ T5 BUFFER T,C '"'1..::.1 "'C 080.7 8 BIT -G- MPCC uP SYNCHRONOUS 2652 ADDRESS CONTROL MODEM A2-G, AIW DBEN CE lxSO 0-me- RxSI R.. -B--G- T,E RTS, CTS, DTR, OS A, OCD MODEM CONTROL '---- DCD CTS LOGIC NOTES 1 2 3 4 5 Possible ~p mterrupt requests are RxDA, RxSA, TxBE, TxU Other 2652 status signals and possible uses are S/F hne Idle indicator, frame delimiter RxA handshake on RxE, Ime turn around control TxA handshake on TxE, hne turn around control Line Drivers/Receivers (LD/LR) convert EIA to TTL voltages and vice-versa ATS should be dropped after the CAe (Bep) or FLAG (BOP) has been transmitted ThiS forces CTS low and TxE low Corresponding hIgh and low order bits of DB must be OR tied DMA/PROCESSOR INTERFACE DATA BUS ~~ . / 8 OR 16 BITS ~} RDREQ WORD COUNT R/W CONTROL 1 DATA BUS A"" ADDRESS PTR I ~~ DATA BUS DB U .. OO RaDA I A,E TO PAofESSOA RaSA WRREQ TaBE OMA T,A .... CONTROLLER T,E PROCESSOR (P) T,U SUPPORT LOGIC S/F 1 INITIALIZES 2652 2 SETS/RESETS TSOM, TEOM 3 RESPONDS TO RISA AND A2·AO 2652 ADDRESS AND CONTROL BYTE RESET l!IW -A,OA -T,BE AIW MEMORY MM CE DBEN . ADDRESS, RIW CONTROLS ~ A,C noc RxSl T.sO ADDRESS, RM, CONTROL t J~oAL 1 System Address and Control Bus For non-DMA operation, TxBE and RxDA are sent to the processor which then loads or reads data characters as required 1·32 Signetics ADDRESS, CEo RM , MICROPROCESSOR DIVISION JANUARY 1982 MULTI-PROTOCOL COMMUNICATIONS CONTROLLER (MPCC) SC2652 TYPICAL APPLICATIONS (Cont'd) CHANNEL INTERFACE COMPUTER OR TERMINAL MPCC MPCC 2652 2652 G--G--- TxSO COMPUTER OR TERMINAL RxSI No Modem-DC Baseband Transmission 2652/2653 INTERFACE TYPICAL PROTOCOLS: BISYNC, DDCMP, SDLC, HOLC TxBE TxU RxDA RxSA INTERRUPTS U II 087 - DBO 2652 MPCC r--- hO ~R.D A2 A1 I - TxC f-+- Rxe AD R/W DBEN CPU PBOBO CE 4 CEO A1 2653 PGC Fi/w AO CE1 f t iNf (OPEN DRAIN) I 5V Signetics 1·33 MICROPROCESSOR DIVISION JANUARY 1982 POLYNOMIAL GENERATOR CHECKER (PGC) DESCRIPTION The Signetics 2653 Polynomial Generator Checker (PGC) is a polynomial generator checker I character comparator circuit that complements a receiver Itransmitter (R/T or USART I USRT I UART) in the support of character oriented data link controls. Table 1 defines many of the more commonly used PGC terms and abbreviations. Parallel data characters transferred between the CPU and R/T are monitored by the PGC which performs block check character (BCC) and parity (VRC) generation I checking, single character detection, and two character sequence detection. Since the PGC operates on parallel characters, the data transmission format may be serial (synchronous or asynchronous) or parallel. There are four modes of BCC accumulation and each mode can select one of three polynomials to compute the BCC. In the BISYNC normal and transparent modes, the PGC determines which characters are to be accumulated and which characters are to be excluded 'rom the accumulation. The block terminating characters and the initiation and termination of BISYNC transparent text can be detected and an interrupt generated. The single interrupt output represents the inclu~ sive OR of four maskable status conditions. In the automatic accumulation mode, all characters are accumulated while the single accumulate mode requires a specific accu~ mulation command for each character to be accumulated. Character accumulation control and character comparisons are facilitated by a character class array which places each of 128 characters into one of four character classes. The four classes are normal, SYN I BISYNC not included, block terminating character (BTC) I search character (SC), and secondary search character (SSC). Additional PGC applications include off-line R IT operation where the BCC is generated on data not sent to the R/T, BCC multiplexing by sharing the PGC among several R/Ts and reading I writing the partial BCC accumulation on a character by cnaracter basis, VRC generation I checking on characters appearing on a bidirectional data bus, and programmable character comparisons or searches. PGC operation is half duplex (either receive or transmit, one way or two way alternate). Full duplex (two way simultaneous) is achieved by using two PGCs. The device is directly compatible with the Signetics 2651 Programmable Communications Interface (PCI) and 2661 Enhanced Programmable 1-34 SC2653 Communications Interface (EPCI). When used in BISYNC modes with the 2661, software requirements are minimized by the 2653-2661 control character comparisons, character sequence comparisons, and automatic OLE insertion I detection. PIN CONFIGURATION Vee Other bus oriented R/Ts can be interfaced to the PGC with a minimum of external circuitry. See figure 1 for a typical system configuration. This NMOS LSI circuit is TIL compatible, operates from a single + 5V supply and is contained in a 16 pin dual in line package. TOP VIEW FEATURES • Parallel Block Check Character accumulation/checking: CRC-16, CRC-12, LRC-8 • BISYNC normal and transparent modes • Automatic or single character accumulation modes • Character detection - up to 128 characters • Two character sequence detection; examples: DLE-STX, ACK 0, ACK 1, WACK, RVI, DISC, WBT • 6, 7, or 8-bit characters • VRC generation / checking on data bus • Four maskable Interrupt conditions • Four classes of characters • Internal power-on reset • Maximum character accumulation rate of 500 kHz (4 Mbps) • Directly compatible with Signetics 2651, 2652 and 2661 • No system clock required • TTL compatible Inputs and outputs • Single 5V supply • la-pin dual In line package APPLICATIONS • Character oriented data link control: -dedicated to one USART /USRT -multiplexed among several USART/USRTs • Automated BISYNC with 2661 (minimal software Intervention) • acc and VRC generation / detection on a block of memory or peripheral data • Programmable character array comparator BLOCK DIAGRAM The PGC consists 01 six major sections. These are the operation control, character class array, OLE ROM, character register, BCC and parity generators, and BCC registers. These sections communicate with each other via an internal data bus and an internal control bus. The internal data bus interfaces to the CPU data bus via a data bus buffer. ORDERING CODE PACKAGES COMMERCIAL RANGES VCC = 5V ± 5%, TA = O"C to 70"C Ceramic DIP SC2653CSI16 Plastic DIP SC2653CSN16 MICROPROCESSOR DIVISION JANUARY 1982 POLYNOMIAL GENERATOR CHECKER (PGC) SC2653 BLOCK DIAGRAM .1 00-07 DATA BUS BUFFER .1 K DATA BUS + r-- Dl.E ~ DETECT OPERATION CONTROL '--- ~i 0 , MOOE REGISTER , COMMAND REGISTER I STATUS REGISTER w ~ 0 CHARACTER REGISTER I ace AND VRC GENERATION UNIT ~'"I I J. ~ ~ _.t BCCUPPER § BI"I CHARACTER CLASS ARRAY II i~ ~ " l'· 8 \. I II acc LOWER B" I U PIN DESIGNATION MNEMONIC VCC GND NAME AND FUNCTION PIN NO. TYPE 16 I +5V: Power supply Ground a I 11,12 I Address LInes: Used to select internal PGC registers or character class array Fi/w 13 I Read/Write: Read command when low, write command when high CEO 15 I Chip Enable: Connected to chip enable input of a receiver Itransmitter (R IT) circuit. It is used to strobe data being transferred between the CPU and the Fi IT into the PGC character register. CE1 14 I ChIp Enable: Used in conjunction with the Fi I W signal to enable the transfer of data between the PGC and the CPU or DMA controller and to initialize the PGC registers. 9,7-1 1/0 Data BU8: a-bit three-state bidirectional bus used to transfer data to or from the PGC via CEO or CE 1. All data, mode words, command words, and status information are transferred on this bus. DO is the least significant bit; 07 is the most significant bit. 10 0 Interrupt: Open drain active low interrupt output that signals the CPU that one or more maskable conditions are true: acc error, VRC error, BTC I SC detect, SSC detect. The true conditions can be determined by reading the status register which in turn deactivates INT. A power on, clear BCC, or master reset command causes INT to be inactive (high). Al-AO 07-00 iNi' Signetics 1·35 I I ~ MICROPROCESSOR DIVISION JANUARY 1982 POLYNOMIAL GENERATOR CHECKER (PGC) Table 1. GLOSSARY SC2653 Operation Control Unit TERM/ABBREVIATION DEFINITION BCC Block check character BTC Block terminating character Search character SC Second search character (preceded by OLE) SSC + X 15 + X2 + 1 divisor, dividend pre-cleared + X3 + X2 + X + 1 divisor, dividend CRC-1S X 16 CRC-12 X12 + X" pre-cleared This functional block stores configuration and operation instructions from the CPU and generates appropriate signals to control the device operation. It also contains read and write circuits to permit communications between the CPU and the PGC registers via the data bus. The mode, command, and status registers are in this logic block. Character Register VRC Vertical redundancy check (character parity) R/T Receiver/transmitter circuit. Also known as USART / USRT / UART / PCI/ MPCC BISYNC IBM binary synchronous communications (BSC), ANSI X3.28, ISO 1745 Characters to be considered for BCC generation, parity generation and checking, or character comparisons are loaded into this register by either CEO or CE 1. This register serves as an input to the BCC and VRC generator, where the accumulation and parity generation takes place. The character register also sarves as the input for character class array and OLE comparisons. MSB Most significant bit Character Class Array LSB Least significant bit This 128 x 2 array holds the character class associated with each of 128 possible 7-bit characters. The array is zero after a master reset. When the character class array is loaded (see PGC Addressing), the character on the data bus is placed in the class specified by the contents of command register bits CR2 and CR3. The PGC uses these two command bits to represent four different character classes. These are: Horizontal parity on least significant 7 bits; vertical parity on most significant bit LRC-8 Rx Receive Tx Transmit TYPICAL SYSTEM CONFIGURATION nc ~ ~ 1. Normal class (included in the accumulation) USART 2. SYN character/BISYNC not included class OR USRT 00-07 • 4 CEO . R"/W CPU .0 I-- JF lk 4. Second search character class (preceded by OLE) These encoded character classes are used by the PGC: 2653 PGC ill 3. Block terminating character / search class INT 1. To control the BCC accumulation of associated characters in BISYNC modes only. BCC accumulation in automatic or single accumulation modes is carried out independent of the character classes. 2. To detect characters and two character NOTES 1 Open drain iNf may be OR tied with 2651 PCI. 266 t EPCI. or other open dram Interrupt OUtPU1S sequences in all rnodes of accumulation and to set the control character detect bits in the status register. 2 No external CirCUitry necessary If 2651 or 2661 18 the USAAT Figure 1 It should be noted that any number of characters (up to 128 for CRC-16 or LRC-8; up to 64 for CRC-12) can be put into anyone class. I! VRC is specified along with CRC-16 then the least significant 7 bits of the character are used for character array comparison. I! VRC is not enabled, but CRC-16 is, the MSB of the character then determines whether a 1·36 Signe1ics MICROPROCESSOR DIVISION JANUARY 1982 POLYNOMIAL GENERATOR CHECKER (PGC) character comparison is to take place. If the MSB is 0, the comparison takes place; if the MSB is I, the comparison does not take place and the character is processed as though it were in the normal class. This enables the PGC to detect all communication control characters and OLE-SSC sequences. SC2653 CHARACTER CLASS ARRAY COMPARISON OPERATION 1 =--= CRC - 16 .) Only the first 64 locations of the array are accessed if CRC-12 is selected. The user should right justify each six bit character (00-05) to be written into the character class array. Bit 6 must be zero. If VRC is enabled, the generated parity becomes the most significant bit of the character to be compared. VRC is not allowed in BISYNC transparent mode. The method in which the character register contents is compared against the character class array depends on the BCC polynomial chosen. Figure 2 illustrates the comparison process. ENABLE COMPARISON ON LOWER 7 BITS (06 - DO) MSB IS IGNORED .) I CRC-12 ! OLE Read Only Memory The OLE characters are stored internally and are selected by the error polynomial as follows: ENABLE COMPARISON ON LOWER 6 BITS (D5 - DO) USB IS IGNORED CRC-12: 01 1111 LCR-8 or CRC-16: No VRC or odd VRC: 0001 0000 Even VRC 1001 0000 BIT 6 MUST BE ZERO BCC and Parity Generator This functional block performs all the necessary computation to generate and update the BCC accumulation on a character by character basis. It contains the three generator polynomials (CRC-16, CRC-12, and LRC-a) that can be selected to compute the BCC. This block also checks and generates odd or even parity for 7 ·bit (ASCII) characters. BCC Registers This block consists of two 8-bit registers (BCC upper and BCC lower) which contain the high and low order bytes of the BCC accumulation. The result of the accumulation from the BCC and parity generator is stored in these registers. A recirculating register address pointer is initialized by a power on, master reset, or clear Bee com~ mand. The pointer alternately selects BCC upper and lower on successive BCC register accesses for CRC-16 or CRC-12. For LRC8, BCC upper is always selected. BCC upper and lower are cleared by a clear BCC or master reset command. The highest term of the BCC polynomial is always represented by bit 0 of BCC upper; the lowest term is always represented by bit 7 of BCC lower (see figure 3, Orientation of BCC Polynomials.) oJ LRC-B ! ENABlE COMPARtSQN ON LOWER 7 BITS (06 - DO) MSB IS IGNORED NOTE Transparent mode always disables the sse companson Figure 2 The length of the block check character depends on the error checking polynomial that is selected. If LRC-8 is chosen, the BCC result is stored entirely in BCC upper. The BCC lower remains unchanged from previous setting. Both BCC registers are used when CRC-16 is specified. When CRC-12 is selected, the block check character is 12 bits long. The six least significant bits of the BCC are stored in the least significant bits of the BCC lower. The remaining upper six bits of the BCC are stored in least significant bits of BCC upper. The two most significant bits in each BCC register are filled with The BCC register(s) are read by the CPU after the last data character is transmitted. They can then be sent to the R IT to complete a transmitted block of data. These registers are read and loaded when one PGC is time-shared by several R ITs. Refer to Applications Information - Multiplexed PGC. PGC Addressing All internal registers and the character class array are selected by the unique address codes shown in table 2. zero. Signetics 1·37 JANUARV1982 MICROPROCESSOR DIVISION 5C2653 POLYNOMIAL GENERATOR CHECKER (PGe) ORIENTATION OF a-= Q IX) +-Hf-. WHERE R IX) =AnI" + An - ace POLYNOMIALS ,Xn - 1-- + AoXD II (X) • BINARY POLYNOMIAL (DATA STREAM) G (X) FIXED DIVISOR TO GENERATE ace ace ace Q (X) • QUOTIENT AFTER O!NERATION R (X) REMAINDER AFTER QEfERATION acc LOWER accUPPER (BBITS) (8 BITS) I 07 - - - - - - - - - - DO I I CRC-18" X18+ x15+ X2 D7 DB os - - - - - - - Holtl I +, D7 DB 00 os - - - - - - 1010ltl It I AoX0 - - - - - D7 - - - - - - - - - - DO "aXI - - - - - - - A1sX 1S AoX0 - - - - - - - - A7X7 DO )<1 AeXI - - - - AUX11 AsKS CRC-12 = X12 +X11 +X3+X2+X+ 1 D7 D7 - - - - - - - - - - DO Ix ----------- x I DB - - - - - - - - DO 1·I-LRc-1 (DON'T CARE) PARITY + (7~T LAC) LAC - 8 ., HORIZONTAL PARITY ON 7 LSB VERTICAL PARITY ON USB RECEIVED. OR TRANSMm'ED CHARACTER BITS (TO BE INCLUDED II ace ACCUMULATION) 3 4 5 8 7 8 • ~ 11 12 13 M 15 FEEDBACK DATA OPERATION OF ICC RECJlSTER FOR CRC - 1. ace ace OPERATION OF REGISTER FOR LAC ACCUMlLATION (SIMPLIFIED) ACCUMULATION (SN'LFEDI Figure 3 1·38 ace MICROPROCESSOR DIVISION JANUARY 1982 SC2653 POLYNOMIAL GENERATOR CHECKER (PGC) Table 2. ADDRESS CODES CEO CE1 A1 AO R/W 0 0 0 1 x x X Operation not guaranteed 0 0 0 If MR2 = 0 load data bus into character register If MR2 = 1 PGC not selected' 0 1 0 0 1 0 1 1 X 0 1 0 1 If MR2 = 1 load data bus into charactar register If MR2 = 0 PGC not selected' PGC not selected' 0 X PGC not selected' 0 1 1 1 X 1 1 0 0 0 0 PGC not selected' Read character register 0 0 0 1 Load data bus into character register if MR 1,0 002 ; write character class array using CR3, CR2 class code if MR 1,0 = 003 .• 1 0 0 0 1 1 1 0 0 1 0 1 Read Status register 1 0 Read mode register 1 into the character register when in receive mode (MR2 = 0 and R IW = 0) while CPU I DMA characters are loaded into the character register when in transmit mode 1 and R/W 1). The time between (MR2 consecutive chip enables is given by tCEC or tCED. FUNCTION = The open drain active low interrupt signal (lNT) goes active whenever one or more of four maskabla status conditions (SRO-SR3) are true (= 1). A status read deactivates INT. The same techniques used in interfacing the 2651 PCI to 8-bit microprocessors can be used to interface the 2653 PGC (consult Application Note M22). Note that when addressing the R IT's holding registers, the PGC pins must have A I,AO = 00 and that the address and R I W signals must be stable (set up) prior to the active low chip enable. When using the 2651 or 2661 as the R/T, the PGC's A I, AO, R/W, and CEO are directly connected to comparable 2651 or 2661 signals. Schematics of a 2653 monitoring data transfers to I from the Signetics 285112661 and 2652 are shown in figures 4 and 5. * Write command register 1 0 1 0 0 1 1 0 0 1 1 1 1 0 1 Write mode register Read sec upper I lowers Write BCC upper I lowers 1 1 X X X PGC not selected' NOTES 1 2 3. 4 Data bus 18 a-state Character wUI not be accumulated unless MR3 ... 1 Character will not be accumulated aven If MR3 1 The mode bits MRl and MAO are cleared to 00 by power-on-reset, master reset, or by loading the mode register bits MRl and MRO = An alternate interfacing techniqua is to traat the PGC as an independent peripheral device. This necessitates a write character registar instruction aftar the CPU reads or writes a character to or from the R/T. 5 Recirculating IOlemal pOinter selects BCe Upper on first access, BCe towaro" next access for all BCCs except for LRC-8; in case of LRC·B, the pointer only selects BCe upper. INTERFACE SIGNALS AND TIMING PGC data transfers ara controlled by A I, AO, and R/W which must be stable prior to the active low going chip enable pulse. CEO is used for PGC monitoring of data transfars between a CPU/DMA controller and a R/T; is used for direct CPU-to-PGC transfers. MR3 must be set prior to loading the character register in order to accumulate or compare characters via CE 1. The active low (leading) edge of chip enable initiates a PGC read/write cycle; the rising (trailing) edge ends the cycle and also serves as a write strobe. 2651 OR 2661/2653 INTERFACE D~nM~TS -en R +5V 'fiJiI)Y, RxJii5V, 'f'infI'!D§CHG ------ 087 - DBO fi!w, ~ A1, AO - ~ 2651/61 PC' R,D --- ~ r==-- CPU When loading the character, mode, or command register, the data bus is strobed into the selected register on the trailing (rising) edge of the appropriate CEo When writing into the character class array, the data on the bus (the special character) Is placed in the class specified by command register bits CR3 and CR2. Characters are transferred into the character register when CEO is active (low) depending on the state of MR2 and the R/W input. Characters from the R/T are loaded = ~ 2853 m PGC ffi t 1 lilT R +5V Figure 4 Signetics 1·39 1 JANUARY 1982 MICROPROCESSOR DIVISION SC2653 POLYNOMIAL GENERATOR CHECKER (PGC) register for BCC accumulation, VRC generation/checking, BTC/SC and OLESSC comparisons, See table 3 for a summary of BCC accumulation modes. 2652/2653 INTERFACE TYPICAL PROTOCOLS: BISYNC, DDCMP, SDLC, HDLC TxBE TxU RxDA RxSA INTERRUPTS D BCC accumulation depends on the mode selected. II 087 - DBD 2652 - - . . TxD MPCC _R,O A2 A1 AD _TxC R/W ~RxC DBEN 080.BO CE CPU 4 CEO A1 2653 PGC R/W AO CE1 i iN'f Figure 5 PGC PROGRAMMING The PGC operational mode must be initially programmed by the CPU (see figure 6). The mode register, command register and character class array should be written into, alter a power-on-reset or a master reset command. The character class array should be programmed only for the classes pertinent to the application. After a master reset, the character class array is zero which 1 (OPEN DRAIN} I +sv places all characters in the normal class (included in the BCC accumulation). OPERATION The PGC should be initially configured by the CPU (via CE I) prior to systems operation. This is done by loading the mode register, command register and character class array (see PGC PROGRAMMING). Characters may then be loaded into the character BISYNC Normal In BISYNC normal mode, all characters loaded into the character register are accumulated except those in the SYN / BISYNC not included class. During receive (MR2 = 0), a BTC / SC match will cause the BCC accumulation to stop alter the next one (LRC-8) or two (CRC-12 or CRC-16) characters have been accumulated. At that time, if the BCC accumulation does not equal zero, the BCC error bit (SRO) will be sel and INT will go active ilthe corresponding mask bit (CR4) IS enabled (= I). In transmit (MR2 = I), the BCC accumulation is automatically stopped once the BTC / SC character has been accumulated. The CPU must read the BCC upper and BCC lower (CRC-12 or CRC-16) registeres) and transmit them to the R / T. Note that the received BCCs are not subject to VRC if CRC-16 is selected. If LRC-8 is selected, the received BCC is subject to VRC. An incorrect result will set the VRC error bit (SR I). After its accumulation, the least significant 7 bits of BCC upper are checked and a non-zero result will set the BCC error bit (SRO). BCCs are not checked against the character class array nor are they compared to the OLE ROM. Second search character (SSC) detection is enabled so that a OLE-STX or two character communication control sequence can be detected. Table 3_ SUMMARY OF BCC ACCUMULATION MODES ACCUMULATION MODES BISYNC normal and BISYNC transparent START ACCUMULATION STOP ACCUMULATION CHARACTERS EXCLUDED FROM ACCUMULATION Clear BCC registers command After BTC has been detected and received BCC is accumulated SYN/BISYNC not included class in normal mode Mode register is loaded with BISYNC or automatic mode OLE-SYN / not Included class and first OLE of a OLE non SYN pair in transparent mode These characters are not excluded If preceded by an odd number of OLEs Start accumulation command After transmitted BTC has been accumulated Load BCC registers Single mode is selected Automatic Same as above Single mode selected None Single Start accumulation command After each character has been accumulated Up to user who must generate start accumulation command for each character to be included 1·40 Signetics JANUARY 1982 MICROPROCESSOR DIVISION SC2653 POLYNOMIAL GENERATOR CHECKER (PGC) are accumulated (depending on LRC-B or PGC PROGRAMMING CRC-12/16, respectively) and the PGC will automatically stop further accumulation. However, the PGC can continue the accumulation if a start accumulate command is issued or either BISYNC mode is loaded into the mode register. The start accumulate command should be given to the PGC before loading the character that follows the detected BTC I SC. This procedure enables a special search character to be detected (the BTC I SC detect bit (SR2) will be set and an interrupt generated if CR6 = 1) with the BCC accumulation continuing (see figures 7 and B). Automatic Accumulate All characters loaded into the character register are accumulated, BTCI SC and SSC detection is enabled. The BCC accumulation is not automatically terminated. (The CPU must use single accumulate mode to stop the accumulation). When in receive mode, the BCC error bit (SRO) is sell reset after accumulating each character so that the CPU must examine this bit after the last character is accumulated. SRO = 0 if the accumulated remainder in the BCC register(s) is zero; otherwise SRO = 1. Examples of use of automatic accumulate mode usage include an R/T (265112661) in transparent OLE/SYN strip mode and asynchronous I synchronous I parallel ODCMP. Single Accumulate ( All characters for which a start accumulate command (CR I, CRO = 01) is given are accumulated and compared against the character class array. If not given, the BCC accumulation is not updated and BTC I SC and SSC detection is disabled. Operation in this mode is otherwise identical to automatic accumulate. OPERATE) Figure 6 BISYNC Transparent BISYNC transparent mode should be used for data blocks beginning with OLE-STX if the OLEs are transferred between CPU and R IT (CEO) or CPU and PGC (CE I), i.e., OLEs are not stripped. VRC should be disabled in this mode. Characters excluded from the BCC accumulation are the first OLE of a OLE-non SYN sequence pair and the OLESYN sequence if not preceded by an odd number of OLEs. For example, consider the following transparent mode character string: OLE exclude OLE SYN T include both OLE OLE / exclude \ include In receive and transmit modes, the termination of BCC accumulation works exactly as in BISYNC normal, except that the BTC I SC must be immediately preceded by an odd number of OLEs to be identified as a BTC/SC. Second search character detection is not enabled in BISYNC transparent. After a BTCI SC class character is detected by the PGC when receiving in either BISYNC mode, the following one or two characters --t OLE SYN OLE ETX exclude both exclude include Signe1ics Single accumulate mode can be used to selectively accumulate characters under CPU control or to accumulate characters that were unintentionally excluded in one of the other modes. Polynomial Selection and OLE Comparison The sec polynomial may be CRC-16, CRC12 or LRC-B. The cyclic redundancy check (CRC) is generated by dividing the binary value of a character in the character register by the selected polynomial. The quotient is discarded and the remainder is used as the BCC (two 6-bit characters for CRC-12, two B-bit characters for CRC-16). CRC-,16 uses all B bits of each BCC register. CRC-12 uses the least significant 6 bitS of the BCC registers. The two most significant bits of the BCC registers are cleared to zero whenever CRC-12 is selected (see figure 3). 1·41 = --i-= JANUARY 1982 MICROPROCESSOR DIVISION SC2653 POLYNOMIAL GENERATOR CHECKER (PGC) acc ACCUMULATION EXAMPLES - BISYNC TEXT MESSAGE SHADED AREAS ACCUMULATED Ax '" RECEIVE MODE CHARACTER CLASS ARRAY SYN/BISYNC NOT INCLUDED 5YH, SOH BTC/SC ETX, ETB, ITB, ENQ NO OLE/SYN STAFPING sse STX CRC-16ORCRC-12 syo SYN SOH I "' __ STXI _ _ _ "'!!"ETX! laccJaccl I PAD + ace ERROR (Rx) IF ACCI.IUU1.ATlON *" 0 ACCUMlA.A1lON STOPPED BTC DETECT acc AFTER 2ND NO PARITY CtEeK ON aces LRC-8 SVO SYN svo ISTxi "'-~::e CPU RESETS SVO E11! l l,apcl.1 + + ace ace ERROR (Ax) IF 7 LS BITS aTC DETECT REGISTERS AFTER SOFTWARE DETECT PAD OF BCCu *" 0 VAC ERROR IF MS 1fT IS INCORRECT PARITY ACClMJLATION STOPPED AFTER 1 OF STX 11IS ace EFFECTIVELY EXCLUDES 8TX BLOCK 1 ----srx.t----ITBJ OPTIONAL BTC DETECT sse arc DETECT DETECT PDSSIBLE ace ERROR SETBlSVNC TR........NT POSSIILE ace ERROR (F so RESET ace REGISTERS) RESET REGISTERS OR "SET BISYNC NORMAL ace sse arc DETECT SET BISYNC TRANSPARENT MOOE DETECT POSSIBLE ace ERROR ~1.~-------------------------BL~1--------------------------.'~I.~-----BL~K2~ sse BTC DETECT DETECT lEY BISYNC TRANSPARENT AND RESET RESET ace REGISTERS NOTES 1. .rror on/yfor receIVe mode In transmit moda, CPU must respond to BTC detect by reading the BCC regl8ter(s) and sending them to the R IT The accumulatIOn IS stopped after the BTC 18 accumulated 2. ENQ (OLE-ENQ) In a text measage should be treated as an abort 3. Opening SYNa may be stripped by the R IT 4 The alngle accumulate mode and command can be used to accumulate a character that Inadvertently wa. excluded (For example, the OLE of a OLE-STX If the PGe was 1ft transparent mode and there was not a hne turnaround pnor to the OLE) The Single accumulation should be done uSing CET after the BCC ----+ ~ (16) TRANSMIT DATA HOLDING REGISTER rBAUD RATE GENERATOR AND CLOCK CONTROL (22) (17) DTR • (9) Tie/SYNC (15) TRANSMITTER MODEM CONTROL (24) ~ RECEIVE SHIFT REGISTER (18) DSCHG I I -(3) R,D ...£!L- Vcc ~ OND NOTE *Open drain output pin BLOCK DIAGRAM The EPCI consists of six major sections. These are the transmitter, receiver, timing, operation control, modem control and SYN I DLE control. These sections communicate with each other via an internal data bus and an internal control bus. The internal data bus interfaces to the microprocessor data bus via a data bus buffer. Operation Control This functional block stores configuration and operation commands from the CPU and generates appropriate signals to various internal sections to control the overall device operation. It contains read and write circuits to permit communications with the microprocessor via the data bus and contains mode registers 1 and 2, the command register, and the status register. Details of register addressing and protocol are presented in the EPCI programming section of this data sheet. Table 1 BAUD RATE GENERATOR CHARACTERISTICS SC2661A (BRCLK = 4.9152MHz) MR23-20 BAUD RATE ACTUAL FREQUENCY 16XCLOCK 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 50 75 110 134.5 150 200 300 600 1050 1200 1800 2000 2400 4800 9600 19200 0.8kHz 1.2 1.7598 2.152 2.4 3.2 4.8 9.6 16.8329 19.2 28.7438 31.9168 38.4 76.8 153.6 307.2 Signefics PERCENT ERROR -0.Q1 0.196 -0.19 -0.26 - - DIVISOR 6144 4096 2793 2284 2048 1536 1024 512 292 256 171 154 128 64 32 16 1-53 MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) Timing The EPCI contains a baud rate generator (BRG) which is programmable to accept external transmit or receive clocks or to divide an external clock to perform data communications. The unit can generate 16 commonly used baud rates, anyone of which can be selected for fuli duplex operation. See table 1. Receiver The receiver accepts serial data on the RxO pin, converts this serial input to parallel format, checks for bits or characters that are unique to the communication technique and sends an "assembled" character to the CPU. Transmitter The transmitter accepts parallel data from the CPU, converts it to a serial bit stream, inserts the appropriate characters or bits (based on the communication technique) and outputs a composite serial stream of data on the TxO output pin. Table 1 BAUD RATE GENERATOR CHRACTERISTICS SC2661 B (BRCLK = 4.9152MHz) MR23-20 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 SYN/DLE Control This section contains control circuitry and three 8-bit registers storing the SYN I, SYN2, and OLE characters provided by the CPU. These registers are used in the synchronous mode of operation to provide the characters required for synchronization, idle fill and data transparency. ACTUAL FREQUENCY 16XCLOCK 45.5 50 75 110 134.5 150 300 600 1200 1800 2000 2400 4800 9600 19200 38400 0.7279kHz 0.8 1.2 1.7598 2.152 2.4 4.8 9.6 19.2 28.7438 31.9168 38.4 76.8 153.6 307.2 614.4 PERCENT ERROR 0.005 DIVISOR - 6752 6144 4096 2793 2284 2048 1024 512 256 171 154 128 64 32 16 8 PERCENT ERROR DIVISOR -0.01 - - -0.19 -0.26 - - MR23-20 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 BAUD RATE ACTUAL FREQUENCY 16XCLOCK 50 75 110 134.5 150 300 600 1200 1800 2000 2400 3600 4800 7200 9600 19200 0.8kHz 1.2 1.76 2.1523 2.4 4.8 9.6 19.2 28.8 32.081 38.4 57.6 76.8 115.2 153.6 316.8 - - 0.016 - - 0.253 3.125 NOTE l6X clock 18 used In asynchronous mode In synchronous mode, clock multIplier IS 1X and BRG can be used only for TxC 1·54 (Cont'd) SC2661C (BRCLK = 5.0688MHz) Modem Control The modem control section provides interfacing for three input signals and three output signals used for "handshaking" and status indication between the CPU and a modem. BAUD RATE SC2661 Signe1ics 6336 4224 2880 2355 2112 1056 528 264 176 158 132 88 66 44 33 16 MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) Table 2 CPU-RELATED SIGNALS OPERATION PIN NO. INPUTI OUTPUT VCC 26 I +5V supply input GND RESET 4 21 I I Ground A high on this input performs a master reset on the 2661. This signal asynchro· nously terminates any device activity and clears the mode, command and status reg· isters. The device assumes the idle state and remains there until initializad with the appropriate control words. Address lines usad to select internal EPCI regIsters. Read command when low, write command when high. PIN NAME 10,12 I R/W 13 I CE 11 I Al- AO Dr Do 8,7,6,5, 2,1,28,17 1/0 TxRDY 15 0 RxRDY 14 0 TxEMTI DSCHG 18 0 SC2661 FUNCTION Chip enable command. When low, indicates that control and data lines to the EPCI are valid and that the operation specilied by the R/W, AI and AO inputs should be performed. When high, places tha DO-D7 lines in the three-state condition. 8-bit, three-state data bus used to transler commands, data and status between EPCI and the CPU. DO is the least signilicant bit; D7 the most signilicant bit. This output is the complement 01 status register bit SRO. When low, it indicates that the trensmit data holding register (THR) is ready to accept a data character Irom the CPU. It goes high when the data character is loaded. This output is valid only when the transmitter is enabled. It is an open drain output which can be used 8S an Interrupt to the CPU. This output is the complement 01 status register bit SR 1. When low, it indicates that the receive data holding register (RHR) has a character ready lor input to the CPU. It goes high when the RHR is read by the CPU. and also when the receiver is disabled. It is an open drain output which can be used as an interrupt to the CPU. This output is the complement 01 status register bit SR2. When low, it indicates that the transmitter has completed serialization 01 the last character loaded by the CPU, or that a change of state 01 the DSR or DCD inputs has occurred. This output goes high when the status register is read by the CPU, il the TxEMT condition does not exist. Otherwise, the THR must be loaded by the CPU lor this line to go high. It is an open drain output which can be used as an interrupt to the CPU. The lunctional operation 01 the 2661 is pro· grammed by a set 01 control words supplied by the CPU. These control words specify items such as synchronous or asynchronous mode, baud rste, number 01 bits per character, etc. The programming procedure is de· scribed in the EPCI programming section 01 the data sheet. Alter programming, the EPCI is ready to perlorm the desired communications lunctions. The receiver performs serial to parallel conversion 01 data received Irom a modem or equivalent device. The transmitter converts parallel data received from the CPU to a serial bit stream. These actions are accomplishad within the Iramework specilied by the control words. Receiver The 2661 is conditioned to receive data when the DCD Input Is low and the RxEN bit in tha command register is true. In the asynchronous mode, the receiver looks lor a high to low (mark to space) transition 01 the start bit on the RxD Input line. II a transition is detected, the state 01 the RxD line Is sam· pled again after a delay 01 one-hall of a bit time. If RxD is now high, the aearch lor a valid atart bit is begun again. II RxD Is still low, a valid start bit Is assumed and the receiver continues to ssmple the input line at one bit time Intervals until the proper num· ber 01 data bits, the parity bit, and one stop bit have been assembled. The data are then translerred to the receive data holding reg· ister, the RxRDY bit in the status register is set, and the RxRDY output is asserted. If the character length is less than 8 bita, the high order unused bits In the holding regiater are set to zero. The parity error, Iramlng error, and overrun error status bits are strobed Into the atatus register on the positive going edge 01 RiC correaponding to the received character boundary. II the stop bit is present, the receiver will immediately begin its search lor the next atart bit. If the stop bit is absent (Iraming error), the receiver will interpret a space aa a atart bit il it peralsta Into the next bit time Interval. II a break condition ia detected (RxD is low for the entire character as well aa the atop bit), only one character conaisting 01 all zeros (with the FE status bit SR5 set) will be transferred to the holding register. The RxD Input must return to a high condition before a search lor the next start bit begins. Pin 25 can be programmed to be a break detect output by appropriate setting 01 MR27-MR24. II so, a detected break will cauae that pin to go high. When RxD returns to mark lor one RxC time, pin 25 will go low. ReIer to the break detection timing diagram. 1·55 -------_.- MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) Table 3 DEVICE-RELATED SIGNALS INPUT/ PIN NAME PIN NO. OUTPUT FUNCTION BRCLK 20 I Clock input to the internal baud rate generator (see teble 1). Not required if external receiver and transmiller clocks are used. 'RxC/BKDET 25 I/O Receiver clock. If external receiver clock is programmed, this Input controls the rate at which the character is to be received. Its frequency is IX, 16X or 64X the baud rate, as programmed by mode register 1. Data are sampled on the rising edge of the clock. If internal receiver clock is programmed, this pin can be a lX/16X clock or a break detect output pin. 'TxC/XSYNC 9 I/O Transmiller clock. If external transmiller clock is programmed, this input controls the rate at which the character is transmitted. Its frequency is IX, 16X or 64X the baud rate, as programmed by mode register 1. The transmilled data changes on the falling edge of the clock. If internal transmiller clock is programmed, this pin can be a lX/16X clock output or an external jam synchronization input. RxD 3 I Serial data input to the receiver. "Mark" IS high, "space n is low. TxD 19 0 Serial data output from the transmiller. "Mark" is high, "space" is low. Held in mark condition when the transmiller is disabled. DSR 22 I General purpose input which can be used for data set ready or ring indicator condition. Its complement appears as status register bit SR7. Causes a low output on TxEMT/DSCHG when its state changes if CR2 or CRO = 1. DCD 16 I Data carrier detect input. Must be low In order for the receiver to operate. Its complement appears as status register bit SR6. Causes a low output on TxEMT /DSCHG when its state changes if CR2 or CRO = 1. If DCD goes high while receiving, the RxC is internally Inhibited. CTS 17 I Clear to send input. Must be low in order for the transmiller to operate. If it goes high during transmission, the character in the transmit shift register will be transmitted before termination. General purpose output which is the complement of command register bit CR 1. Normally used to indicate data terminal ready. DTR 24 0 "R'rn 23 0 General purpose output which is the complement of command register bit CR5. Normally used to indicate request to send. If the transmit shift register is not empty when CR5 is reset (1 to 0), then RTS will go high one TxC time after the last serial bit is transmilled. NOTE •J!!iiC and ~ outputa have &hort circuli protection max. CL - 100pF Outputs become open olreutted upon detection of • zero pulled hlgh or a one pulled low. 1·56 Signetics SC2661 When the EPCI is initialized into the synchronous mode, the receiver first enters the hunt mode on a 0 to 1 tranSition of RxEN(CR2). In this mode, as data are shifted into the receiver shift register a bit at a time, the contents of the register are compared to the contents of the SYN 1 register If the two are not equal, the next bit is shifted in and the comparison IS repeated. When the two regIsters match, the hunt mode IS terminated and character assembly mode begins If Single SYN operation is programmed, the SYN DETECT status bit is set. If double SYN operation is programmed, the first character assembled after SYN 1 must be SYN2 in order for the SYN DETECT bit to be set. Otherwise, the EPCI returns to the hunt mode. (Note that the sequence SYN I-SYN I-SYN2 will not achieve synchronization.) When synchronization has been achieved, the EPCI continues to assemble characters and transfer them to the holding register, setting the RxRDY status bit and asserting the RxRDY output each time a character is transferred. The PE and OE status bits are set as appropriate. Further receipt of the appropriate SYN sequence sets the SYN DETECT status bit. If the SYN stripping mode is commanded, SYN characters are not transferred to the holding register. Note that the SYN characters used to establish initial synchronization are not transferred to the holding register In any case. External jam synchronization can be achieved via pin 9 by appropriate seiling of MR27-MR24. When pin 9 is an XSYNC Input, the internal SYN I, SYN I-SYN2, and DLESYN 1 detection is disabled Each positive going signal on XSYNC will cause the receiver to establish synchronization on the rising edge of the next RxC pulse. Character assembly will start with the RxD input at thiS edge. XSYNC may be lowered on the next rising edge of RxC. This external synchronization will cause the SYN DETECT status bit to be set until the status register is read. Refer to XSYNC timing diagram. Transmitter The EPCI is conditioned to transmit data when the CTS input is low and the TxEN command register bit is set. The 2661 indicates to the CPU that it can accept a character for transmission by seiling the TxRDY status bit and asserting the TxRDY output When the CPU writes a character into the transmit data holding register, these conditions are negated. Data are transferred from the holding register to the transmit shift register when it is idle or has completed transmission of the previous character. The TxRDY conditions are then asserted again Thus, one full character time of buffering is provided . MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) In the asynchronous mode, the transmitter automatically sends a start bit followed by the programmed number of data bits, the least significant bit being sent first. It then appends an optional odd or even parity bit and the programmed number of stop bits. If, following transmission of the data bits, a new character is not available in the transmit holding register, the TxO output remains in the marking (high) condition and the TxEMT I OSCHG output and its corresponding status bit are asserted. Transmission resumes when the CPU loads a new character into the holding register. The transmitter can be forced to output a continuous low (BREAK) condition by setting the send break command bit (CR3) high. Table 4 CE 1 0 0 0 0 0 0 0 0 SC2661 2661 REGISTER ADDRESSING A1 X X X 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 FUNCTION R/W AO Three-state data bus Read receive holding register Write transmit holding register Read status register Write SYN 1I SYN2 IDLE registers Read mode registers % Write mode registers % Read command register Write command register NOTE See AC characteristIcs section for tlmmg reqUirements 2661 INITIALIZATION FLOW CHART INITIAL RESET In the synchronous mode, when the 2661 is initially conditioned to transmit, the TxO output remains high and the TxROY condition is asserted until the first character to be transmitted (usually a SYN character) is loaded by the CPU. Subsequent to this, a continuo ous stream of characters is transmitted. No extra bits (other than parity, if commanded) are generated by the EPCI unless the CPU fails to send a new character to the EPCI by the time the transmitter has completed sending the previous character. Since synchronous communication does not allow gaps between characters, the EPCI asserts TxEMT and automatically "fills" the gap by transmitting SYN 1s, SYN I-SYN2 doublets, or OLE-SYN 1 doublets, depending on the state of MR 16 and MR 17. Normal transmission of the message resumes when a new character is available in the transmit data holding register. If the SEND OLE bit in the command register is true, the OLE character IS automatically transmitted prior to transmission of the message character in the THR. NOTE Mode register 1 must be wntten before 2 can be wntten Mode register 2 need not be programmed If external clocks are used NOTE SYNI regIster must be wntten EPCI PROGRAMMING Prior to initiating data communications, the 2661 operational mode must be programmed by performing write operations to the mode and command registers. In addition, if synchronous operation is programmed, the appropriate SYN IDLE registers must be loaded. The EPCI can be reconfigured at any time during program execution. A flowchart of the intialization process appears in figure 1. The internal registers of the EPCI are accessed by applying specific signals to the CE, R/W, AI and AO inputs. The conditions necessary to address each register are shown in table 4. The SYN1, SYN2, and OLE registers are accessed by performing write operations with the conditions AI = 0, AO = 1, and Figure 1 Signe1ics 1·57 MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) R/W = 1. The first operation loads the SYN 1 register. The next loads the SYN2 register, and the third loads the OLE regis· ter. Reading or loading the mode registers is done in a similar manner. The first write (or read) operation addresses mode register 1, and a subsequent operation addresses mode register 2. If more than the required number of accesses are made, the internal sequencer recycles to point at the first reg· ister. The pOinters are reset to SYN 1 regis' ter and mode register 1 by a RESET input or by performing a read command register op· eration, but are unaffected by any other read or write operation. The 2661 register formats are summarized in tables 5, 6, 7 and 8. Mode registers 1 and 2 define the general operational character· istics of the EPCI, while the command regis· ter controls the operation within this basic framework. The EPCI indicates its status in the status register. These registers are cleared when a RESET input is applied. Mode Register 1 (MR1) Table 5 illustrates Mode Register 1. Bits MR 11 and MR 10 select the communication format and baud rate multiplier. 00 specifies synchronous mode and IX multiplier. IX, 16X, and 64X multipliers are programmable for asynchronous format. However, the mul· tiplier in asynchronous format applies only if the external clock input option is selected by MR24 or MR25. MR 13 and MR 12 select a character length of 5, 6, 7 or 8 bits. The character length does not include the parity bit, if pro· grammed, and does not include the start and stop bits in asynchronous mode. MR 14 controls parity generation. If enabled, a parity bit is added to the transmitted char· Table 5 acter and the receiver performs a parity check on incoming data. MR 15 selects odd or even parity when parity is enabled by MRI4. To effect assembly / disassembly of the next received Itransmitted character, MR 12·15 must be changed within n bit times of the active gOing state of RxROY /TxROY. Trans· parent and non·transparent mode changes (MR 16) must occur within n·l bitlimes of the character to be affected when the receiver or transmitter is active. (n = smaller of the new and old character lengths.) In asynchronous mode, MR17 and MR16 se· lect character framing of 1, 1.5, or 2 stop bits. (If IX baud rate is programmed, 1.5 stop bits defaults to 1 stop bits on transmit.) In synchronous mode, MR 17 controls the number of SYN characters used to establish synchronization and for character fill when the transmitter is idle. SYN 1 alone is used if MR 17 = 1, and SYN I·SYN2 is used when MR 17 = O. If the transparent mode is speci· fied by MR 16, OLE·SYN 1 is used for charac· ter fill and SYN detect, but the normal syn· chronization sequence is used to establish character sync. When transmitting, a OLE character in the transmit holding register will cause a second OLE character to be trans· mitted. This OLE stuffing eliminates the soft· ware OLE compare and stuff on each trans· parent mode data character. If the send OLE command (CR3) is active when a OLE is loaded into THR, only one additional OLE will be transmitted. Also, OLE stripping and OLE detect (with MR 14 = 0) are enabled. Mode Register 2 (MR2) Table 6 illustrates mode register 2. MR23, MR22, MR21 and MR20 control the frequen· cy of the internal baud rate generator (BRG). Sixteen rates are selectable for each EPCI version (-1, -2, -3). Version 1 and 2 speci· fy a 4.9152 MHz TTL input at BRCLK (pin 20); version 3 specifies a 5.0688 MHz input which is identical to the Signetics 2651. MR23·20 are don't cares if external clocks are selected (MR25·MR24 = 0). The individ· ual rates are given in table 1. MR24·MR27 select the receive and transmit clock source (either the BRG or an external input) and the function at pins 9 and 25. Re· fer to table 6. Command Register (CR) The bits in the mode register affecting char· acter assembly and disassembly (MR 12· MRI6) can be changed dynamically (during active receive/transmit operation). The character mode register affects both the transmitter and receiver; therefore in syn chronous mode, changes should be made only in half duplex mode (RxEN = 1 or TxEN = 1, but not both simultaneously = 1). In asynchronous mode, character changes should be made when RxEN and TxEN=O or when TxEN = 1 and the transmitter is mark· ing in half duplex mode (RxEN = 0). Table 7 illustrates the command register. Bits CRO (TxEN) and CR2 (RxEN) enable or disable the transmitter and receiver respec· tively. A 0 to 1 transition of CR2 forces start bit search (aaync mode) or hunt mode (sync mode) on the second RxC rising edge. Dis· abling the receiver causes RxROY to go high (inactive). If the transmitter is disabled, it will complete the transmission of the char· acter in the transmit shift register (if any) prior to terminating operation. The TxO out· put will then remain in the marking state w MODE REGISTER 1 (MR 1) MR17 MR16 Sync/Async Async: Stop Bit Length 00 = Invalid 01 = 1 stop bit 10 = 1% stop bits 11 = 2 stop bits Sync: Number of SYN char 0= Double SYN 1 = Single SYN MR14 MR15 Parity Type 0= Odd 1 = Even Parity Control 0= Disabled 1 = Enabled Sync: Transparency Control 0= Normal 1 = Transparent NOTE Baud rate factor.n asynchronous applies only If external clock IS selected Factor IS l6X If Internal clock 18 selected Mode must be selected (MRll, MR10) 10 any case 1·58 SC2661 Signetics MR13 MR12 MRll Character Length 00 01 10 11 = = = = 5 6 7 8 bits bits bits bits MR10 Mode and Baud Rate Factor 00 01 10 11 = = = = Synchronous 1X rate Asynchronous 1X rate Asynchronous 16X rate Asynchronous 64X rate MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) j' SC2661 ! I Table 6 MODE REGISTER 2 (MR2) MR27-MR24 0000 0001 0010 0011 0100 0101 0110 0111 TxC RxC Pin 9 Pin 25 E E I I E E I I E I E I E I E I TxC TxC IX IX TxC TxC RxC IX RxC IX RxC 16X RxC 16X lex lex MR23-MR20 TxC RxC Pin 9 Pin 25 Mode E E I I E E I I E I E I E I E I XSYNC' TxC XSYNC' IX XSYNC' TxC XSYNC' RxC/TxC BKOET RxC BKOET RxC/TxC BKOET RxC BKOET sync async sync async sync asyne sync async 1000 1001 1010 1011 1100 1101 1110 1111 lex Baud Rate Selection See baud rates in table 1 NOTES 1 When pin 9 i8 programmed 88 XSVNC Input. SYN 1, SVN 1 SYN2, and DLE-SYN 1 detection i8 disabled. E .. External clock I Internal clock (BRG) 1X and l6X are clock outputs 4 = Table 7 COMMAND REGISTER (CR) CR7 CR6 Operating Mode 00 - Normal operation 01 = Async: Automatic echo mode Sync: SYN and t or OLE stripping mode 10 = Local loop baok 11 = Remote loop baok CR5 CR4 Request To Send R••et Error 0- Force RTS oulput high one clock time after TxSR serialization 1 =- Force RTS ou,put low 0= Normal 1 = Reset error flags in status register (FE. OE. PEtOLE detect) CR3 CR2 Sync/Async Receive Control (RxEN) Aaync: Force break 0= Normal 1 = Force break 0= Disable 1 = Enable CRI CRO Data Terminal Ready Transmit Control ITxEN) 0= Force OTR output high 1 = Force OTR output low 0= Disable 1 = Enable Sync: Send OLE 0= Normal 1 = Send OLE Table 8 STATUS REGISTER (SR) SR7 SR6 Data Set Ready Data Carrier Detect 0= oSR input is high 1 = 'i5S'R Input IS low 0= oCD input IS high 1 = OCO ,"put IS low SR5 FE/SYN Detect Async: 0= Normal 1 = Framing Error Sync: 0= Normal 1 = SYN detected (high) while TxROY and TxEMT will go high (inactive). If the receiver is disabled. it will terminate operation immediately. Any character being assembled will be neglected. A o to 1 transition of CR2 will initiate start bit search (async) or hunt mode (sync). Bits CR 1 (OTR) and CR5 (RTS) control the OTR and RfS outputs. Data at the outputs are the logical complement of the register data. SR3 SR2 SR1 SRO PE IDLE Detect TxEMT IDSCHG RxROY TxRDY 0= Normal 1 = Change In DSR, or DCO,or transmit shift register is empty 0= Receive holding register empty 1 = Receive holdmg register has data 0= Transmit holding register busy 1 = Transmit holding register empty SR4 Overrun 0= Normal 1 = Overrun Error Async: 0= Normal 1 = Parity error Sync: 0= Normal 1 = Panty error or OLE received In asynchronous mode, selling CR3 will force and hold the TxO output low (spacing condition) at the end of the current transmitted character. Normal operation resumes when CR3 is cleared. The TxO line will go high for at least one bit time before begin· ning transmission of the next character in the transmit data Ilolding register. In syn· chronous mode, setting CR3 causes the transmission of the OLE register contents prior to sending the character in the transmit Signetics data holding register. Since this is a one time command. CR3 does not have to be reset by software. CR3 should be set when entering and exiting transparent mode and for all OLE-non-OLE character sequences. Setting CR4 causes the error flags in the status register (SR3, SR4. and SR5) to be Cleared. This is a one time command. There is no internal latch for this bit. 1·59 T MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) Table 9 SC2661 EPCI vs SC2651 PCI FEATURE SR3 0 for OLE-OLE, OLE-SYNC 1 1 for OLE-OLE, SR3 OLE-SYNC 1 3. Reset of SR3, OLE detect Second character after OLE, or receiver disable, orCR4 1 One time command Receiver disable, or CR4 Automatic OLE stuffing when OLE is loaded except if CR3 1 All SYNCI None First SYNC 1 of pair 7. Baud rate versions Three One 8. Terminate ASYNC transmission (drop RTS) Reset CR5 in response to TxROY changing from 1 to 0 5. OLE stuffing .n transparent mode 6. SYNC 1 stripping in double sync non-transparent mode Note that automatic stripping mode does not affect the setting of the OLE detect and SYN detect status bits (SR3 and SR5). Not used Control pin 9, 25 4. Send OLE-CR3 only the first OLE of a OLE-OLE pair is stripped. PCI EPCI 1. MR2 Bit 6, 7 2. OLE detect-SR3 = = =1 = Reset via CR3 on next TxROY = Pin 25' Reset CRO when TxEMT goes from 1 to O. Then reset CR5 when TxEMT goes from o to 1 FE and null character to. Stop bit searched 11. External jam sync Dna Pin g2 No 12. Data bus timing Improved over 2651 - 13. Data bus drivers Sink 2.2mA Sink 1.6mA Source 4001LA Source 100ltA 9. Break detect Two NOTES 1. Internal BRG used for Rxe. 2. Internal BRG used for TxC When CR5 (RTS) is set, the RTS pin is forced low and the transmit serial logic is enabled. A 1 to 0 transition of CR5 will cause RTS to go high (inactive) one TxC time after the last serial bit has been transmitted (if the transmit shift register was not empty). The EPCI can operate in one of four submodes within each major mode (synchronous or asynchronous). The operational sub-mode is determined by CR7 and CR6. CR7-CR6 = 00 Is the normal mode, with the transmitter and receiver operating independently in accordance with the mode and status register instructions. In asynchronous mode, CR7-CR6 = 01 places the EPCI In the automat!c echo mode. Clocked, regenerated received data are automatically directed to the TxO line while normal receiver operation continues. The receiver must be enabled (CR2 I), but the transmitter need not be enabled. CPU to receiver communications continues normally, but the CPU to transmitter link is disabled. Only the first character of a break condition is echoed. The TxO output will go high until the next valid start is detected. The following conditions are true while in automatic echo mode: = 1·60 1. Data assembled by the receiver are automatically placed in the transmit holding register and retransmitted by the transmitter on the TxO output. 2. The transmitter is clocked by the receive clock. 3. TxROY output = 1. 4. The TxEMT/OSCHG pin will reflect only the data set change condition. 5. The TxEN command (CRO) is ignored. In synchronous mode, CR7-CR6 = 01 places the EPCI in the automatic SYN IDLE stripping mode. The exact action taken depends on the setting of bits MR 17 and MR 16: 1. In the non-transparent, Single SYN mode (MR17-MRI6 = 10), characters in the data streem matching SYN 1 are not transferred to the receive data holding register (RHR). 2. In the non-transperent, double SYN mode (MR17-MRI6 = 00), characters in the data stream matching SYN I, or SYN2 if immediately preceded by SYN I, are not transferred to the RHR. 3. In transparent mode (MRI6 = I), charac· ters in the data stream matching OLE, or SYN 1 if immediately preceded by OLE, are not transferred to the RHR. However, Signetics SC2661 Two diagnostic sub-modes can also be configured. In local loop back mode (CR7CR6 = 10), the following loops are connected internally: 1. The transmitter output is connected to the receiver input. 2. OTR is connected to OCO and RTS is connected to CTS. 3. The receiver is clocked by the transmit clock. 4. The OTR, RTS and TxO outputs are held high. 5. The CTS, OCO, OSR and RxO inputs are ignored. Additional requirements to operate in the local loop back mode are that CRO (TxEN), CR 1 (OTR), and CR5 (RTS) must be set to 1. CR2 (RxEN) is ignored by the EPCI. The second diagnostic mode is the remote loop back mode (CR7-CR6 = 11). In this mode: 1. Data assembled by the receiver are automatically placed in the transmit holding register and retransmitted by the transmitter on the TxO output. 2. The transmitter is clocked by the receive clock. 3. No data are sent to the local CPU, but the error status conditions (PE, DE, FE) are set. 4. The RxROY, TxROY, 'and TxEMT 10SCHG outputs are held high. 5. CRI (TxEN) is ignored. 6. All other signals operate normally. Status Register The data contained in the status register (as shown in table 8) indicate receiver and transmitter conditions and modem I data set status. SRO is the transmitter ready (TxROY) status bit. It, and its corresponding output, are valid only when the transmitter is enabled. If equal to 0, it indicates that the transmit data holding register has been loaded by the CPU and the data has not been transferred to the transmit shift register. If set equal to 1, it indicates that the holding register is ready to accept data from the CPU. This bit is initially set when the transmitter is enabled by CRO, unless a character has previously been loaded into the holding register. It is not set when the automatic echo or remote loopback modes are programmed. When this bit is set, the TxROY output pin is low. In MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) the automatic echo and remote loop back modes, the output is held high. SR I, the receiver ready (RxRDY) status bit, indicates the condition of the receive data holding register. If set, it indicates that a character has been loaded into the holding register from the receive shift register and is ready to be read by the CPU. If equal to zero, there is no new character in the hold· ing register. This bit is cleared when the CPU reads the receive data holding register or when the receiver is disabled by CR2. When set, the RxRDY output is low. The TxEMT I DSCHG bit, SR2, when set, indio cates either a change of state of the DSR or DCD inputs (when CR2 or CRO = 1) or that the transmit shift register has completed transmission of a character and no new character has been loaded into the transmit data holding register. Note that in synchro· nous mode this bit will be set even though the appropriate "fiU" character is transmitted. TxEMT will not go active until at least one character has been transmitted. It is cleared by loading the transmit data holding register. The DSCHG condition is enabled when TxEN = 1 or RxEN = 1. It is cleared when the status register is read by the CPU. If the status register is read twice and SR2 = 1 while SR6 and SR7 remain un· changed, then a TxEMT condition exists. When SR2 is set, the TxEMT I DSCHG output is low. SR3, when set, indicates a received parity error when parity is enabled by MR 14. In synchronous transparent mode (MRI6 = I), with parity disabled, it indicates that a character matching OLE regisler was received and Ihe present character is neither SYN 1 nor OLE. This bit is cleared when the next character following the above sequence is loaded into RHR, when the receiver is dis· abled, or by a reset error command, CR4. The overrun error status bit, SR4, indicates that the previous character loaded into the receive holding register was not read by the CPU at the time a new received character was transferred into it. This bit is cleared SC2661 when the receiver is disabled or by the reset error command, CR4. In asynchronous mode, bit SRS signifies that the received character was not framed by a stop bit, Le., only the first stop bit is checked. If RHR 0 when SRS I, a break condition is present. In synchronous nontransparent mode (MRI6 = 0), it indicates receipt olthe SYN 1 character in single SYN mode or the SYN I-SYN2 pair in double SYN mode. In synchronous transparent mode (MRI6 = I), this bit is set upon detection of the initial synchronizing characters (SYN 1 or SYN I-SYN2) and, after synchronization has been achieved, when a DLE·SYN 1 pair is received. The bit is reset when the receiv· er is disabled, when the reset error com· mand is given in asynchronous mode, or when the status register is read by the CPU in the synchronous mode. = = SR6 and SR7 reflect the conditions of the DCD and DSR inputs respectively. A low in· put sets its corresponding status bit, and a high input clears it. ABSOLUTE MAXIMUM RATINGS 1 PARAMETER Operating ambient temperalure 2 Siorage temperature All voltages wilh respecllo ground 3 DC ELECTRICAL CHARACTERISTICS TA RATING UNIT o to +70 -6Slo +IS0 -O.Slo +6.0 °c °c V = O°C 10 HO°C, VCC = S.OV ± S% 4.5 •• LIMITS PARAMETER VIL VIH Input voltage Low High VOL VOH 7 Outpul voltage Low High IlL Input leakage currenl ILH 3-slale outpul leakage current Data bus high ILL Dala bus low ICC Power supply current CAPACITANCE TA TEST CONDITIONS Min Typ Max UNIT V O.B 2.0 V IOL = 2.2mA IOH = -400/LA VIN 0.4 2.4 = 010 S.S V 10 /LA /LA Vo = 4.0V Vo = 0.4SV 10 10 ISO mA = 2SoC, VCC = OV LIMITS PARAMETER CIN COUT CliO Capacitance Input Output In pull Outpul TEST CONDITIONS Min Typ Max UNIT pF fc = lMHz Unmeasured pins tied 10 ground 20 20 20 Notes on follOWing page Signe1ics 1·61 1 MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) AC ELECTRICAL CHARACTERISTICS PARAMETER TA = O·C to HO·C, vcc = 5.0V ± 5% TEST CONDITIONS 4.5.6 Min Pulse width Reset Chip enable 1000 250 tAS tAH tcs tCH tos tOH tRXS tRXH Setup and hold time Address setup Address hold AI W control setup AI W control hold Data setup for write Data hold for write Rx data setup Rx data hold 10 10 10 10 150 0 300 350 too tOF tCEO Data delay time for read Data bus floating time for read CE to CE delay UNIT ns 200 100 Cl = 150pF Cl = 150pF ns 600 MHz fRIT'o tBRH" tBRH" tBRl S tBRl S tR/TH tRITl'o Clock width Baud rate high (2661A,B) Baud rate high (2661C) Baud rate low (2661A,B) Baud rate low (2661C) TxC or RxC high TxC or RxC low tTXD TxD delay from falling edgeof~ Cl = 150pF tTCS Skew between TxD changing and falling edge of TxC output 8 CL = 150pF 1.0 4.9152 4.9202 1.0 dc 5.0688 5.0738 1.0 ns 75 70 75 70 480 480 1 Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device This IS a stress rating only and functional operation of the device at these or at any other condition above those indicated In the operation section of this specIfication is not Implied 2 For operating at elevated temperatures, the device must be derated based on + 150°C maximum ,unction temperature and thermal resistance of 60°C/W Junction to ambient (10 ceramic package) 3 This product Includes cIrcUitry speClflcally designed for the protection of Its internal devices from the damaging effects of excessive statiC charge Nonetheless, It IS suggested that conventional precautions be taken to avoid applYing any voltages larger than the rated maxima 4 Parameters are valid over operating temperature range unless otherwise specIfied. 5. All voltage measurements are referenced to ground All time measurements are at the 50% level for Inputs (except IBAH and tSAL) and at 0 BV and 2 OV for outputs Input levels sWing between 04V and 2.4V, with a transition time of 20 ns maxImum 6 TYPical values are at + 20°C, tYPical supply voltages and tYPical processing parameters 7 TxADY, 'RX'Ff5Y and"TxEMT/B'SCHG outputs are open drain 8. Parameter apphes when Internal transmItter clock IS used 9 Under test conditions of 5.0688 MHzfBRG (2661 C) and 4 9152 MHz fSRG (2661A,B), leRH and teRL measured at VIH and VIL respectively 10 In asynchronous localloopback mode, uSing 1X clock, the follOWing parameters apply' fAIT=OB3 MHz max tRITL = 700 ns min 1·62 Max ns Input clock frequency Baud rate generator (2661A,B) Baud rate generator (2661C) TxC or RxC fBRG Typ ... tRES tCE fBRG SC2661 Signetics 650 0 ns MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) SC2661 TIMING DIAGRAMS RESET CLOCK RESET-1_'"ES_r~-- BACLK, TiC, RiC -'/lBRG- - - - lJ1RIT TRANSMIT ---1 RECEIVE 1 BIT TIME (1 16 OR 64 CLOCK PERIODS) fie (INPUT) T.D TiC (OUTPUT) READ AND WRITE CE---... Do-D7 (WRITE) 00-0 7 (READ) ---+---....;.;==+,'-..;.;;:;;;;...,I'-___~-' Signelics 1·63 MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) SC2661 TIMING DIAGRAMS (Cont'd) TxRDY, TxEMT (Shown for 5-bit characters, no parity, 2 stop bits [in asynchronous mode] ) DATA 1 - D DATA 4 I I' A I 2 I 3 I • I ' I" C I A I' I 2 ~A;A ~ • I ' 1" CI A,1_ I TxEN 0 ~ ~ TxRDY Ii ~ ~ TxEMT ~ I I I 2 ! 3 ! 4 : 5," DATA 3 : I I I • C_D_A I I I S DATA 4 t ----+------+---_--\----~'_______'c ~~: ) CEFOR~ WRITE OFTHR DATA 1 t5 ) NOTES A = Start bIt B=Stopbitl C=Stopbit2 o = TxD marking conditIOn TxEMT goes low at the beglnnmg of the last data bit, or, If panty IS enabled, at the beglnnmg of the panty bit 1·64 ! Signetics MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) SC2661 TIMING DIAGRAMS (Conl'd) EXTERNAL SYNCHRONIZATION WITH XSYNC 1XRxC Ie. XSYNC 1-- -1 I II ---j t8S = XSYNC SETUP TIME = 300n. IH = XSYNC HOLD TIME = ONE Rxe I I I. I R'D v CHARACTER ASSEMBLY BREAK DETECTION TIMING Rx CHARACTER = 5 BITS, NO PARITY AxC-16or64 I LOOK FOR START BIT = LOW (IF RxO IS HIGH, LOOK FOR HIGH TO LOW TRANSITION) R,D I i FALSE START BIT CHECK MADE (RxD LOW) I MlsstNG STOP BIT DETECTED, SET FE BIT O-RHR. ACTIVATE RxRIW SET BKDET PIN RxD INPUT- RxSR UNTIL A MARK TO SPACE TRANSITION OCCURS NOTE * If the stop bit 18 present, the start bit search will commence ImmedIately Signetics 1·65 MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) SC2661 TIMING DIAGRAMS (Cont'd) RxRDY (Shown for 5·b,t characters, no parity, 2 stops bits [in asynchronous mode] ) UJ t -~~--'----~._------'-----~~ ~ ~ ~-r------- i:;~~ I RiADY = ~ IGNORED I - ----, I ~ ~------~, U READ READ READ READ READ STATUS STATUS AHA (DATA 1) AHA (DATA 2) AHA (DATA 3) AHA (DATA 3) c IU ~ ~,-------- READ I -, 0 , - A l' I _ I 2 I 3 I 4 I 5 DATA 3 U II B I C . I A, 1 I 2 I 3 I I _ DATA 4 RxEN L-o----' IL ___________________ ~--~------~, OVERRUN STATUS BIT ------------------~~~----------------------~ CE FOA READ READ RHR READ RHR (DATAt) (DATA3) NOTES A=Startbit B Stop bit 1 C=Stopblt2 o = TxD marking condition = Only one stop bit IS detected 1·66 SigneIics MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) SC2661 TYPICAL APPLICATIONS ASYNCHRONOUS INTERFACE TO CRT TERMINAL ADDRESS IUS CONTROL BUS DATA BUS r------, R,O ..., T,O 1··0----11 ElATa TTL kIv I 1 ....r----JF1n----.==---.-~ 1-----i~~r_----Co-:-~-;rr-----J-__, '-....___-1 L..._ _ _ _ _._R_CL..... K ,~'" BAlI) RATE CLOCK CRT TERMINAL L -_ _O_._C'_LLA_T_OR_ _..... ASYNCHRONOUS INTERFACE TO TELEPHONE LINES DATA BUS ASYNC MODEM BRCLK PHONE LINE INTERFACE BAUD RATE CLOCK OSCILLATOR T!lEPHONE LINE 1·67 MICROPROCESSOR DIVISION JANUARY 1982 ENHANCED PROGRAMMABLE COMMUNICATIONS INTERFACE (EPCI) TYPICAL APPLICATIONS (Cont'd) SYNCHRONOUS INTERFACE TO TERMINAL OR PERIPHERAL DEVICE \ \ ADDRESS BUS I \ CONTROL BUS \ I I \ DATA BUS JD~ R.D T.D RiC '66' SYNCHRONOUS TERMINAL OR PERIPHERAL DEVICE TiC SYNCHRONOUS INTERFACE TO TELEPHONE LINES PHONE LINE INTERFACE SYNC MODEM r TELEPHONE LINE 1·68 Signettcs 'SC2661 JANUARY 1982 MICROPROCESSOR DIVISION SC2681 SERIES DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) '4'Mi4Y' PIN CONFIGURATION DESCRIPTION FEATURES TheSIgnetlcsSC2681 Dual Universal Asynchronous ReceiverlTransmitter (DUART) Is a single chip MOS-LSI communications device that provides two Independent fullduplex asynchronous receiver/transmitter channels in a single package. It interfaces directly with microprocessors and may be used in s polled or interrupt driven system. • Dual full-duplax asynchronous racelver/ transmlter • Quadruple buffered receiver data registers • Programmable data format -5 to 8 data bits plus parity -Odd. even, no parity or force parity -1,1.5 or 2 stop bits programmable In 1/16 bit Increments • Programmable baud rate for each recelvar and transmlter selectable from: -18 fixed rates: 50 to 38.4K baud -One user defined rate derived from programmable timer/counter - External 1x or 16x clock • Parity. framing. and overrun error detec· tlon • False start bit detection • LIne break detection and generation • Programmable channel mode -Normal (full duplex) -Automatic echo -Localloopback -Remote loopback • Multl·functlon programmable 16-blt counter/timer • Multl·functlon 7·blt Input port -Can serve as clock or control Inputs -Change of state detection on four Inputs • Multl·functlon 6-blt output port -Individual bit set/raset capability -Outputs can be programmed to be status/Interrupt signals • Versatile Interrupt system -Single Interrupt output with eight maskable Interrupting conditions -Output port can be configured to provide a total of up to six separate wire· OR'able Interrupt outputs • Maximum data transfer: 1X - 1MB/sec, 16X - 125KB/sec • Automatic wake-up mode for multidrop applications • Start·end break Interrupt/status • Detects break which originates In the middle of a character • On·chlp crystal oscillator • TTL compatible • Single + 5V power supply The operating mode and data format of each channel can be programmed independently. Additionally, each receiver and transmitter can select its operating speed as one of eighteen fixed baud rates, a 16x clock derived from a programmable counter/timer, or an external 1x or 16x clock. The baud rate generator and counter/timer can operate directly from a crystal or from external clock inputs. The ability to independently program the operating speed of the receiver and transmitter make the DUART particularly attractive for dual-speed channel applications such as clustered terminal systems. Each receiver is quadruply buffered to minimize the potential of receiver overrun or to reduce interrupt overhead In Interrupt driven systems. In addition, a flow control capability Is provided to disable a remote DUART transmitter when the buffer of the receiving device Is full. Also provided on the SC2681 are a multipurpose 7-blt input port and a multipurpose 8-blt output port. These can be used as general purpose I/O ports or can be assigned specific functions (such as clock Inputs or status/Interrupt outputs) under program contro\. The SC2681 is available In three package versions to satisfy various system requirements: 4O-pln and 28-pin, both 0.6" wide DIPs, and a compact 24-pln, 0.4" wide, DIP. ,p, ,p> ,po '.2 CSN RESET X1lelK X2 RXDA RXDS OPl OP' OPS OP7 OP~ Dl DO D' D2 DS D' D7 DO GND Vee 'P2 CSN RESET XlICLK X2 RXDA OPO Dl DO DS D' D2 D7 DO GND INTRN AD Vee CSN RESET X1/CLK RXDA TXDA ORDERING CODE PACKAGES Ceramic DIP Plastic DIP 1 Vee DO Vcc=5V :t5%, TA=O·C to 70·C 24 Pin' 28 Pln 2 40 Pln 2 SC2681CSI24 SC2681CSN24 SC2681CSI28 SC2681CSN28 SC2681CSI40 SC2681CSN40 1400 mil wide DIP 2eoo mil Wide DIP 02 OS 0' DO INTRN OND TOP VIEWS Signetics 1·69 MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC2681 SERIES 'Q'¥'Weii BLOCK DIAGRAM r8 DO-D7 ( .1)I I J.;:::: BUS BUFFER CHANNEL A " I r-- TRANSMIT HOLDING REG TxDA TRANSMIT SHIFT REGISTER RON WRN OPERATION • CEN AO-A3 RESET ~ I'-- CONTROL .. 4/ • • I ADDRESS DECODE I RIW CONTROL RECEIVE HOLDING REG (3) I r-- - I RECEIVE SHIFT REG .. RxDA ~ CRA SRA INTERRUPT CONTROL j.- BE:) INTRN f-- ,,1z TIMING XlICLK X2 • .. BAUD RATE GENERATOR I I CLOCK SELECTORS I I COUNTERI TIMER iii ;:: .""' .....~ INPUT PORT CHANGE OF STATE DETECTORS (4) 7/ IPO-IPS z 0: w .... f-- t-- ! ~ ACR OUTPUT PORT I XTALOSC J I '-- FUNCTION SELECT LOGIC V- r-csRA : CSRB ACR : CTUR ~ 1·70 RxDB f-- ~ ISR I TxDB CHANNELB (AS ABOVE) Signetics 8 OPO-OP7 ~ OPR .. Vee .. ·GND MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC2681 SERIES 'i't"" PIN DESIGNATION APPLICABLE TYPE NAME AND FUNCTION X I/O Data BUB: Bidlrectlonal3-state data bus used to transfer commands, data and status between the OUART and the CPU. DO Is the least significant bit. X X I Chip Enable: Active low Input signal. When low, data transfers between the CPU and the OUART are enabled on 00-D7 as controlled by the WRN, RON and AO-A3Inputs. When high, places the DO-07 lines In the 3-state condition. X X X I Write Strobe: When low and CEN Is also low, the contents of the data bus Is loaded Into the addressed register. The transfer occurs on the rising edge of the signal. RDN X X X I Read Strobe: When low and CEN is also low, causes the contents of the addressed register to be presented on the data bus. The read cycle begins on the falling edge of RDN. MNEMONIC 40 28 24 00-07 X X CEN X WRN AO-A3 X X X I Address Inputs: Select the OUART internal registers and ports for read/write operations. RESET X X X I Re..t: A high level clears internal registers (SRA, SRB, IMR, ISR, OPR, OPCR), puts OPO-OP7 in the high state, stops the counter/timer, and puts channels A and B In the inactive state, with the TxDA and TxDB outputs In the mark (high) state. INTRN X X X 0 Interrupt Request: Active low, open drain, output which signals the CPU that one or more of the eight maskable Interrupting conditions are true. X1/CLK X X X I Crystal 1: Crystal or external clock Input. A crystal or clock of the specified limits must be supplied at all times. X2 X X I Crystal 2: Connection for other side of the crystal. Should be open if crystal is not used. RxOA X X X I Channel A Receiver Serial Data Input: The least significant bit is received first. 'Mark' Is high, 'space' is low. RxOB X X X I Channel B Receiver Serial Data Input: The least significant bit is received first. 'Mark' is high, 'space' Is low. TxOA X X X 0 Channel A Transmitter Serial Data Output: The least significant bit Is transmitted first. This output is held In the 'mark' condition when the transmitter is disabled, Idle, or when operat· ing in local loopback mode. 'Mark' Is high, 'space' Is low. TxOB X X X 0 Channel B Trensmltter Serial Data Output: The least significant bit Is transmitted first. This output is held In the 'mark' condition when the transmitter is disabled, idle, or when operat· ing in local loopback mode. 'Mark' is high, 'space' is low. OPO X X 0 Output 0: General purpose output, or channel A request to send (RTSAN, active low). Can be deactivated on receive or transmit. OP1 X X 0 Output 1: General purpose output, or channel B request to send (RTSBN, active low). Can be deactivated on receive or transmit. OP2 X X 0 Output 2: General purpose output, or channel A transmitter 1X or 16X clock output, or chan· nel A receiver 1X clock output. OP3 X 0 Output 3: General purpose output, or open drain, active low counter/timer output, or channel B transmitter 1X clock output, or channel B receiver 1X clock output. OP4 X 0 Output 4: General purpose output, or channel A open drain, active low, RxROYAlFFULLA out· put. OP5 X 0 OutputS: General purpose output, or channel B open drain, active low, RxROYB/FFULLB out· put. OutputS: General purpose output, or channel A open drain, active low, TxROYA output. OPS X 0 OP7 X 0 Output 7: General purpose output, or channel B open drain, active low, TxROYB output. IPO X I Input 0: General purpose Input, or channel A clear to send active low input (CTSAN). I Input 1: General purpose Input, or channel B clear to send active low input (CTSBN). I Input 2: General purpose Input, or counter/timer external clock input. I Input 3: General purpose Input, or channel A transmitter external clock input (TxCA). When the external clock Is used by the transmitter, the transmitted data Is clocked on the failing edge of the clock. IP1 X IP2 X 1P3 X X Signetics 1-71 JANUARY 1982 MICROPROCESSOR DIVISION DUAL ASYNCHRONOUS RECEIVERITRANSMITTER (DUART) SC2681 SERIES 'Rit)i;;' PIN DESIGNATION (Continued) MNEMONIC APPLICABLE 40 28 24 TYPE I NAME AND FUNCTION IP4 X Input 4: General purpose input, or channel A receiver external clock input (RxCA). When the external clock is used by the receiver, the received data is sampled on the rising edge of the clock. IP5 X I Input 5: General purpose input, or channel B transmitter external clock input (TxCB). When the external clock Is used by the transmitter, the transmitted data is clocked on the falling edge of the clock. IP6 X I Input 6: General purpose input or channel B receiver external clock input (RxCA). When the external clock Is used by the receiver, the received data is sampled on the rising edge of the clock. Vcc GND X X X I Power Supply: + 5V supply Input X X X I Ground BLOCK DIAGRAM Timing Circuits The 2681 DUART consists of the following eight major sections: data bus buffer, operation control, interrupt control, timing, communications channels A and B, input port and output port. Refer to the block diagram. The timing block consists of a crystal oscillator, a baud rate generator, a pro· grammable 16-blt counterltlmer, and four clock selectors. The crystal oscillator operates directly from a 3.6864MHz crys· tal connected across the Xl/ClK and X2 inputs. If an external clock of the appropri· ate frequency is available, it may be con· nected to Xl/ClK. The clock serves as the basic timing reference for the baud rate generator (BRG), the counterltim'er, and other internal circuits. A clock Signal within the limits specified in the specifica· tions section of this data sheet must always be supplied to the DUART. Data Bus Buffer The data bus buffer provides the interface between the external and internal data busses. It is controlled by the operation control block to allow read and write operations to take place between the controlling CPU and the DUART. Operation Control The operation control logic receives operation commands from the CPU and generates appropriate signals to internal sections to control device operation. It contains address decoding and read and write circuits to permit communications with the microprocessor via the data bus buffer. Interrupt Control A Single active low interrupt output (INTRN) is provided which Is activated upon the occurence of any of eight inter· nal events. Associated with the interrupt system are the Interrupt mask register (IMR) and the interrupt status register (ISR). The IMR may be programmed to select only certain conditions to cause INTRN to be asserted. The ISR can be read by the CPU to determine all currently ac· tive interrupting conditions. Outputs OP3-0P7 can be programmed to provide discrete Interrupt outputs for the transmitters, receivers, and counter/timer. 1-72 Communications Channels A and B Each communications channel of the 2681 comprises a full duplex asynchronous receiverltransmitter (UART). The operating frequency for each receiver and transmitter can be selected independently from the baud rate generator, the counter timer, or from an external input. The transmitter accepts parallel data from the CPU, converts it to a serial bit stream, inserts the appropriate start, stop, and op· tional parity bits and outputs a composite serial stream of data on the TxD output pin. The receiver accepts serial data on the RxD pin, converts this serial input to parallel format, checks for start bit, stop bit, parity bit (if any), or break condition and sends an assembled character to the CPU. The baud rate generator operates from the oscillator or external clock Input and is capable of generating 18 commonly used data communications baud rates ranging from 50 to 38.4K baud. The clock outputs from the BRG are at 16X the actual baud rate. The counterltimer can be used as a timer to produce a 16X clock for any other baud rate by counting down the crystal clock or an external clock. The four clock selectors allow the independent selection, for each receiver and transmitter, of any of these baud rates or an external timing signal. The Inputs to this unlatched 7·blt port can be read by the CPU by performing a read operation at address D16. A high input reo suits in a logic 1 while a low Input results In a logic O. The pins of this port can also serve as auxiliary inputs to certain por· tions of the DUART logic. The counterltimer (CIT) can be program· med to use one of several timing sources as its input. The output of the CIT is avail· able to the clock selectors and can also be programmed to be output at OP3. In the counter mode, the contents of the CIT can be read by the CPU and It can be stopped and started under program control. In the timer mode, the CIT acts as a program· mabie divider. Four change·of·state detectors are provided which are assoCiated with inputs IP3, IP2, IP1, and IPO. A high-to-Iow or lowto-high transition of these inputs lasting longer than 25-50"s will set the corresponding bit in the input port change register. The bits are cleared when the register is read by the CPU. Any change of state can also be programmed to generate an interrupt to the CPU. Signetics Input Port JANUARY 1982 MICROPROCESSOR DIVISION DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC2681 SERIES IQ i49 i£i, Output Port The 8·bit multi·purpose output port can be used as a general purpose output port, in which case the outputs are the comple· ments of the output port register (OPR). OPR[nj= 1 results in OP[nj= low and vice· versa. Bits of the OPR can be individually set and reset. A bit is set by performing a write operation at address E'6 with the ac· companying data specifying the bits to be set (1 = set, 0 = no change). Likewise, a bit is reset by a write at address F '6 with the accompanying data specifying the bits to be reset (1 = reset, 0 = no change). Outputs can be also individually assigned specific functions by appropriate pro· gramming of the channel A mode registers (MR1A, MR2A), the channel B mode regis· ters (MR1B, MR2B), and the output port configuration register (OPCR). OPERATION Transmitter The 2681 is conditioned to transmit data when the transmitter is enabled through the command register. The 2681 indicates to the CPU that it is ready to accept a character by setting the TxRDY bit in the status register. This condition can be pro· grammed to generate an interrupt request at OP6 or OP7 and INTRN. When a charac· ter is loaded into the transmit holding reg· ister (THR), the above conditions are negated. Data is transferred from the hold· ing register to the transmit shift register when it is idle or has completed transmis· sion of the previous character. The TxRDY conditions are then asserted again which means one full character time of buffering is provided. Characters cannot be loaded into the THR while the transmitter is dis· abled. The transmitter converts the parallel data from the CPU to a serial bit stream on the TxD output pin. It automatically sends a start bit followed by the programmed number of data bits, an optional parity bit, and the programmed number of stop bits. The least significant bit is sent first. Fol· lowing the transmission of the stop bits, if a new character is not available in the THR, the TxD output remains high and the TxEMT bit in the status register (SR) will be set to 1. Transmission resumes and the TxEMT bit is cleared when the CPU loads a new character into the THR. If the trans· mitter is disabled, it continues operating until the character currently being trans· mitted is completely sent out. The trans· mitter can be forced to send a continuous low condition by issuing a send break command. The transmitter can be reset through a software command. If it is reset, operation ceases immediately and the transmitter must be enabled through the command register before resuming operation. If CTS operation is enabled, the CTSN input must be low in order for the character to be transmitted. if it goes high in the middle of a transmission, the character in the shift register is transmitted and TxDA then reo mains in the marking state until CTSN goes low. The transmitter can also control the deactivation of the RTSN output. If programmed, the RTSN output will be reo set one bit time after the character in the transmit shift register and transmit hold· ing register (if any) are completely trans· mitted, if the transmitter has been dis· abled. Receiver The 2681 is conditioned to receive data when enabled through the command reg· ister. The receiver looks for a high to low (mark to space) transition of the start bit on the RxD input pin. If a transition is de· tected, the state of the RxD pin is sampled each 16X clock for 7·1/2 clocks (16X clock mode) or at the next rising edge of the bit time clock (1X clock mode). If RxD is sampled high, the start bit is invalid and the search for a valid start bit begins again. If RxD is still low, a valid start bit is assumed and the receiver continues to sample the input at one bit time intervals at the theoretical center of the bit, until the proper number of data bits and the parity bit (if any) have been assembled, and one stop bit has been detected. The least sigificant bit is received first. The data is then transferred to the receive holding register (RHR) and the RxRDY bit in the SR is set to a 1. This condition can be programmed to generate an interrupt at OP4 or OP5 and INTRN. If the character length is less than eight bits, the most significant unused bits in the RHR are set to zero. After the stop bit is detected, the receiver will immediately look for the next start bit. However, if a non·zero character was reo ceived without a stop bit (framing error) and RxD remains low for one half of the bit period after the stop bit was sampled, then the receiver operates as if a new start bit transition had been detected at that point (one·half bit time after the stop bit was sampled). The parity error, framing error, overrun er· ror and received break state (if any) are Signetics strobed into the SR at the received charac· ter boundary, before the RxRDY status bit is set. If a break condition is detected (RxD is low for the entire character in· cluding the stop bit), a character con· sisting of all zeros will be loaded into the RHR and the received break bit in the SR is set to 1 The RxD Input must return to a high condition for at least one·half bit time before a search for the next start bit begins. The RHR consists of a first·in·first·out (FIFO) stack with a capacity of three char· acters. Data is loaded from the receive shift register into the topmost empty posi· tion of the FIFO. The RxRDY bit in the status register is set whenever one or more characters are available to be read, and a FFULL status bit is set if all three stack positions are filled with data. Either of these bits can be selected to cause an interrupt. A read of the RHR outputs the data at the top of the FIFO. After the read cycle, the data FIFO and its associated status bits (see below) are 'popped' thus emptying a FIFO position for new data. In addition to the data word, three status bits (parity error, framing error, and reo ceived break) are also appended to each data character in the FI FO (overrun is not). Status can be provided in two ways, as programmed by the error mode control bit in the mode register. In the 'character' mode, status is provided on a character· by'character basis: the status applies only to the character at the top of the FIFO. In the 'block' mode, the status provided in the SR for these three bits is the logical OR of the status for all characters coming to the top of the FIFO since the last 'reset error' command was issued. In either mode reading the SR does not affect the FIFO. The FIFO is 'popped' only when the RHR is read. Therefore the status register should be read prior to reading the FIFO. If the FIFO is full when a new character is received, that character is held in the reo ceive shift register until a FIFO position is available. If a~ additional character is reo ceived while this state exits, the contents of the FI FO are not affected: the character previously in the shift register IS lost and the overrun error status bit (SR[4]) will be set upon receipt of the start bit of the new (overruning) character. The receiver can control the deactivation of RTS. If programmed to operate in this mode, the RTSN output will be negated when a valid start bit was received and the FIFO is full. When a FIFO position be· comes available, the RTSN output will be re·asserted automatically. This feature can be used to prevent an overrun, in the 1-73 1 MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) receiver, by connecting the RTSN output to the CTSN Input of the transmitting device. ate normally whether or not the receiver is enabled. If the receiver is disabled, the FIFO char· acters can be read. However, no additional characters can be received until the reo celver Is enabled again. If the receiver Is reset, the FIFO and all of the receiver status, and the corresponding output ports and Interrupt are reset. No additional characters can be received until the receiver is enabled again. PROGRAMMING Multidrop Mode The DUART Is equipped with a wake up mode used for multidrop applications. This mode Is selected by programming bits MR1A[4:3) or MR1B[4:3) to 'II' for channels A and B respectively. In this mode of operation, a 'master' station transmits an address character followed by data characters for the addressed 'slave' station. The slave stations, with receivers that are normally disabled, ex· amine the received data stream and 'wake· up' the CPU (by setting RxRDy) only upon receipt of an address character. The CPU compares the received address to Its sta· tion address and enables the receiver if it wishes to receive the subsequent data characters. Upon receipt of another address character, the CPU may disable the receiver to Initiate the process again. A transmitted character consists of a start bit, the programmed number of data bits, an address/data (AID) bit, and the programmed number of stop bits. The polarity of the transmitted AID bit is selected by the CPU by programming bit MR1A[2)1 MRI B[2). MR1A[2)/MRl B[2) = 0 transmits a zero in the AID bit pOSition, which Identifies the corresponding data bits as data, while MR1A[2)/MRlB[2)= 1 transmits a one in the AID bit position, which identifies the corresponding data bits as an address. The CPU should program the mode register prior to loading the corresponding data bits Into the THR. In this mode, the receiver continuously looks at the received data stream, whether It Is enabled or disabled. If disabled, it sets the RxRDY status bit and loads the character Into the RHR FIFO if the received AID bit is a one (address tag), but discards the received character If the received AID bit Is a zero (data tag). If enabled, all received characters are transfe,rred to the CPU via the RHR. In either case, the data bits are loaded into the data FIFO while the AID bit is loaded into the status FIFO pOSition normally used for parity error (SRA[5) or SRB[5)). Framing error, overrun error, and break detect oper· 1·74 The operation of the DUART is programmed by writing control words into the appropriate registers. Operational feedback Is provided via status registers which can be read by the CPU. The addressing of the registers Is described In table 1. The contents of certain control registers are Initialized to zero on RESET. Care should be exercised if the contents of a register are changed during operation, since certain changes may cause operational problems. For example, changing the number of bits per character while the transmitter Is active may cause the transmission of an incorrect character. In gen· eral, the contents of the MR, the CSR; and the OPCR should only be changed while the receiver(s) and transmltter(s) are not enabled, and certain changes to the ACR should only be made while the CIT Is stopped. Mode registers 1 and 2 of each channel are accessed via Independent auxiliary point· ers. The pointer Is set to MRlx by RESET or by Issuing a 'reset pOinter' command via the corresponding command register. Any read or write of the mode register while the pointer is at MRlx switches the pointer to MR2x. The pointer then remains at MR2x, so that subsequent accesses are always to MR2x unless the pointer is reset to MRlx as described above. Mode, command, clock select, and status registers are duplicated for each channel to provide total independent operation and control. Refer to table 2 for register bit descriptions. Table 1. A3 A2 AI AO 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 SC2681 SERIES MR1A - Channel A Mode Register 1 MRIA is accessed when the channel A MR pOinter points to MRI. The pointer is set to MRI by RESET or by a 'set pOinter' com· mand applied via CRA. After reading or writing MR1A, the pointer will pOint to MR2A. MR1AI7J - Channel A Receiver Request· to-Send Control - This bit controls the deactivation of the RTSAN output (OPO) by the receiver. This output is normally asserted by setting OPR[O) and negated by resetting OPR[O). MR1A[7) = 1 causes RTSAN to be negated upon receipt of a valid start bit If the channel A FI FO is full. However, OPR[O) is not reset and RTSAN will be asserted again when an empty FIFO position is available. This feature can be used for flow control to prevent overrun in the receiver by using the RTSAN output Signal to control the CTSN input of the transmitting device. MR1A18) - Channel A Receiver Interrupt Select - This bit selects either the channel A receiver ready status (RXRDY) or the channel A FIFO full status (FFUll) to be used for CPU interrupts. It also causes the selected bit to be output on OP4 if it is programmed as an Interrupt output via the OPCR. MR1A[5) - Channel A Error Mode Select - This bit selects the operating mode of the three FIFOed status bits (FE, PE, received break) for channel A. In the 'charac· ter' mode, status is provided on a character-by-character basis: the status applies only to the character at the top of the FIFO. In the 'block' mode, the status provided in the SR for these bits is the ac- 2681 REGISTER ADDRESSING READ (RON =0) WRITE (WRN = 0) Mode Register A (MR1A, MR2A) Status Register A (SRA) "Reserved" RX Holding Register A (RHRA) Input Port Change Reg. (IPCR) Interrupt Status Reg. (ISR) CounteriTImer Upper (CTU) CounteriTImer lower (CTl) Mode Register B (MRI B, MR2B) Status Register B (SRB) "Reserved" RX Holding Register B (RHRB) "Reserved" Input Port Start Counter Command Stop Counter Command Mode Register A (MR1A, MR2A) Clock Select Reg. A (CSRA) Command Register A (CRA) TX Holding Register A (THRA) Aux. Control Register (ACR) Interrupt Mask Reg. (IMR) CIT Upper Register (CTUR) CIT lower Register (CTlR) Mode Register B (MR1B, MR2B) Clock Select Reg. B (CSRB) Command Register B (CRB) TX Holding Register B (THRB) "Reserved" Output Port Conf. Reg. (OPCR) Set Output Port Bits Command Reset Output Port Bits Command Signetics MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC2681 SERIES '4'00'#4 Table 2. REGISTER BIT FORMATS MR1A MR1B BIT7 BIT6 BITS RX RTS CONTROL RXINT SELECT ERROR MODE O=no 1 =yes 0= RXRDY 1 = FFULL 0= char 1 = block BIT7 BIT6 CHANNEL MODE MR2A MR2B BIT7 CSRA CSRB BIT7 CRA CRB SRA SRB not usedmust be 0 If channel BIT4 CTS ENABLE Tx O=no 1 =yes 0= no 1 =yes IS BIT2 BIT1 PARITY TYPE BIT3 00=5 01 =6 10=7 11 = 8 BIT2 BIT1 BITO STOP BIT LENGTH* 0= 0.563 1 =0.625 2=0.688 3= 0.7S0 4=0.813 5=0.875 6=0.938 7= 1.000 8= 1.S63 9= 1.625 A= 1.688 B= 1.7S0 C= 1.813 D= 1.875 E= 1.938 F= 2.000 BIT2 BIT1 BITO programmed for 5 bits/char BIT4 BITS BIT3 RECEIVER CLOCK SELECT TRANSMITTER CLOCK SELECT See text See text BIT6 1 BITO BITS PER CHAR. 0= even 1 =odd 00 = with parity 01 = force parity 10= no parity 11 = special mode BITS BIT6 BIT3 PARITY MODE Tx RTS CONTROL 00= Normal 01 = Auto echo 10= Local loop 11 = Remote loop • Add 0.5 to values shown for 0-7 BIT4 BIT3 BIT2 BIT1 BITO MISCELLANEOUS COMMANDS BITS BIT4 DISABLE Tx ENABLE Tx DISABLE Rx ENABLE Rx See text O=no 1 =yes 0= no 1 =yes O=no 1 = yes O=no 1 =yes BIT7 BIT6 BITS BIT4 BIT3 BIT2 BIT1 BITO RECEIVED BREAK FRAMING ERROR PARITY ERROR OVERRUN ERROR TxEMT TxRDY FFULL RxRDY O=no 1 =yes O=no 1 =yes 0= no 1 =yes O=no 1 =yes 0= no 1 =yes 0= no 1 =yes 0= no 1 = yes 0= no 1 =yes *These status bits are appended to the corresponding data character In the receIVe FIFO A read of the status register prOVides these bits (7 5) from the top of the FIFO together with bits 40 These bits are cleared by a 'reset error status' command In character mode they are discarded when the corresponding data character IS read from the FIFO OPCR ACR IPCR BIT2 BIT3 BIT1 BITO BIT7 BIT6 BITS BIT4 OP7 OP6 OP5 OP4 OP3 OP2 0= OPR[7] 1 = TxRDYB 0=OPR[6] 1 = TxRDYA O=OPR[S] 1 = RxRDYI FFULLB 0=OPR[4] 1 = RxRDYI FFULLA 00= OPR[3] 01 = CIT OUTPUT 10= TxCB (1X) 11 = RxCB (1X) 00= OPR[2] 01 = TxCA (16X) 10 = TxCA (1X) 11 = RxCA (1X) BIT7 BIT6 BITS BIT4 BIT3 BIT2 BIT1 BITO BRG SET SELECT COUNTERITIMER MODE AND SOURCE DELTA IP31NT DELTA IP21NT DELTA IP11NT DELTA IPO INT 0= set1 1 = set2 See table 4 0=011 1 =on 0=011 1 =on 0=011 1 =on 0=011 1 =on BIT7 BIT6 BITS BIT4 BIT3 BIT2 BIT1 BITO DELTA IP3 DELTA IP2 DELTA IP1 DELTA IPO IP3 IP2 IP1 IPO O=no 1 = yes 0= no 1 =yes 0= no 1 =yes O=no 1 =yes O=low 1 = high O=low 1 = high O=low 1 = high O=low 1 = high Signetics 1·75 MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) '4'ii'.' ISR IMR SC2681 SERIES Table 2. REGISTER BIT FORMATS (continued) BIT7 BIT8 BITS BIT4 BIT3 BIT2 BIT1 BITO INPUT PORT CHANGE DELTA BREAK B RxRDYI FFULLB TxRDYB COUNTER READY DELTA BREAK A RxRDYI FFULLA TxRDYA O=no 1=yes O=no 1=yes O=no 1 = yes O=no 1 = yes O=no 1=yes O=no 1 = yes O=no 1=yes O=no 1 = yes BIT7 BIT8 BITS BIT4 BIT3 BIT2 BIT1 BITO IN. PORT CHANGE INT DELTA BREAK B INT RxRDYI FFULLB INT TxRDYB INT COUNTER READY INT DELTA BREAK A INT RxRDYI FFULLA INT TxRDYA INT 0=011 1=on O=off 1=on O=off 1 =on O=off 1=on 0=011 1=on O=off 1=on O=off 1=on 0=011 1 =on CTUR CTLR cumulation (logical OR) of the status for all characters coming to the top of the FIFO since the last 'reset error' command for channel A was issued. MR1A[4:3) - Channel A Parity Mode Select - If 'with parity' or 'force parity' is selected, a parity bit Is added to the transmitted character and the receiver per· forms a parity check on Incoming data. MR1A[4:3]= 11 selects channel A to operate In the special multidrop mode described In the Operation section. MR1A12J - Channel A Parity Type Select - This bit selects the parity type (odd or even) if the 'with parity' mode Is programmed by MR1A[4:3], and the polarity of the forced parity bit if the 'force parity' mode Is programmed. It has no effect if the 'no parity' mode Is programmed. In the special multidrop mode It selects the polarity of the AID bit. MR1A[1:0)- Channel A Bits per Character Select - This field selects the number of data bits per character to be transmitted and received. The character length does not Include the start, parity, and stop bits. 1·76 MR2A - Channel A Mode Register 2 MR2A Is accessed when the channel A MR pointer points to MR2, which occurs after any access to MR1A. Accesses to MR2A do not change the pointer. MR2A[7:8) - Channel A Mode Select Each channel of the DUART can operate In one of four modes. MR2A[7:6]= 00 is the normal mode, with the transmitter and receiver operating Independently. MR2A[7:6] = 01 places the channel in the automatic echo mode, which automatically retransmits the received data. The following conditions are true while in automatic echo mode: 1. Received data is reclocked and retransmitted on the TxDA output. 2. The receive clock Is used for the transmitter. 3. The receiver must be enabled, but the transmitter need not be enabled. 4. The channel A TxRDY and TxEMT status bits are Inactive. 5. The received parity Is checked, but Is not regenerated for transmission, i.e., transmitted parity bit Is as received. Signetics 6. Character framing is checked, but the stop bits are retransmitted as received. 7. A received break Is echoed as received until the next valid start bit Is detected. 8. CPU to receiver communication continues normally, but the CPU to transmitter link Is disabled. Two diagnostic modes can also be configured. MR2A[7:6]= 10 selects local loopback mode. In this mode: 1. The transmitter output Is Internally connected to the receiver input. 2. The transmit clock Is used for the receiver. 3. The TxDA output Is held high. 4. The RxDA input is ignored. 5. The transmitter must be enabled, but the receiver need not be enabled. 6. CPU to transmitter and receiver communications continue normally. The second diagnostic mode Is the remote loopback mode, selected by MR2A[7:6]= 11. In this mode: 1. Received data is reclocked and retransmitted on the TxDA output. 2. The receive clock is used for the transmitter. JANUARY 1982 MICROPROCESSOR DIVISION DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC2681 SERIES IQi4\tMi 3. Received data is not sent to the local CPU, and the error status conditions are i nact ive. 4. The received parity is not checked and is not regenerated for transmission, i.e., transmitted parity bit is as received. S. The receiver must be enabled. 6. Character framing is not checked, and the stop bits are retransmitted as received. 7. A received break is echoed as received until the next valid start bit is detected. The user must exercise care when switching into and out of the various modes. The selected mode will be activated immediately upon mode selection, even if this occurs in the middle of a received or transmitted character. Likewise, if a mode is deselected, the device will switch out of the mode immediately. An exception to this is switching out of autoecho or remote loopback modes: if the de-selection occurs just after the receiver has sampled the stop bit (indicated in autoecho by assertion of RxRDY), and the transmitter is enabled, the transmitter will remain in autoecho mode until the entire stop bit has been retransmitted. MR2A15] - Channel A Transmitter Request-to-Send Control - This bit controls the deactivation of the RTSAN output (0 PO) by the transmitter. This output is normally asserted by setting OPR[O] and negated by resetting OPR[O]. MR2A[S)= 1 causes OPR[O) to be reset automatically one bit time after the characters in the channel A transmit shift register and in the THR, if any, are completely transmit· ted, including the programmed number of stop bits, if the transmitter is not enabled. This feature can be used to automatically terminate the transmission of a message as follows: 1. 2. 3. 4. S. Program auto-reset mode: MR2A[S) = 1. Enable transmitter. Assert RTSAN: OPR[O)= 1. Send message. Disable transmitter after the last character is loaded into the channel A THR. 6. The last character will be transmitted and OPR[O) will be reset one bit time after the last stop bit, causing RTSAN to be negated. MR2A[4] - Channel A Clear·to·Send Con· trol - If this bit is 0, CTSAN has no effect on the transmitter. If this bit is a 1, the transmitter checks the state of CTSAN (I PO) each time it is ready to send a charac· ter. If IPO is asserted (low), the character is transmitted. If it is negated (high), the TxDA output remains in the marking state and the transmission is delayed until CTSAN goes low. Changes in CTSAN while a character is being transmitted do not affect the transmission of that charac· ter. MR2A[3:0] - Channel A Stop Bit Length Select - This field programs the length of the stop bit appended to the transmitted character. Stop bit lengths of 9/16 to 1 and 1-9/16 to 2 bits, in increments of 1/16 bit, can be programmed for character lengths of 6,7, and 8 bits. For a character length of S bits, 1-1/16 to 2 stop bits can be programmed in increments of 1/16 bit. The receiver only checks for a 'mark' condition at the center of the first stop bit position (one bit time after the last data bit, or after the parity bit if parity is enabled) in all cases. If an external 1X clock Is used for the transmitter, MR2A[3) = 0 selects one stop bit and M R2A[3) = 1 selects two stop bits to be transmitted. MR1 B - Channel B Mode Register 1 CSRA[7:4] a a a a a a a a 1 1 1 1 1 1 1 1 a a a a a 1 a 1 a a 1 1 1 a a 1 a 1 1 1 a 1 1 1 a a a a a 1 a 1 a a 1 1 1 a a 1 a 1 1 1 0 1 1 1 Baud Rate ACR[7J=O ACRI7] = 1 so 110 134.S 200 300 600 1,200 1,OSO 2,400 4,800 7,200 9,600 38.4K Timer IP4-16X IP4-1X 7S 110 134.S 1S0 300 600 1,200 2,000 2,400 4,800 1,800 9,600 19.2K Timer IP4-16X IP4-1X The receiver clock is always a 16X clock except for CSRA[7:4]= 1111. CSRAI3:0] - Channel A Transmitter Clock Select - This field selects the baud rate clock for the channel A transmitter. The field definition is as per CSRA[7:4) except as follows: CSRA[3:0] Baud Rate ACR[7] = 0 ACR[7] = 1 1 1 1 a 1 1 1 1 IP3-16X IP3-1X IP3-16X IP3-1X MR1 B Is accessed when the channel B MR pointer points to MR1. The painter is set to MR1 by RESET or by a 'set pointer' command applied via CRB. After reading or writing MR1 B, the pointer will point to MR2B. The transmitter clock is always a 16X clock except for CSRA[3:0) = 1111. The bit definitions for this register are identical to the bit definitions for MR1A, except that all control actions apply to the channel B receiver and transmitter and the corresponding inputs and outputs. CSRBI7:4] - Channel B Receiver Clock Select - This field selects the baud rate clock for the channel B receiver. The field definition is as per CSRA[7:4) except as follows: MR2B - Channel B Mode Register 2 M R2B is accessed when the channel B M R pointer paints to MR2, which occurs after any access to MR1 B. Accesses to MR2B do not change the pointer. The bit definitions for this register are identical to the bit definitions for MR2A, except that all control actions apply to the channel B receiver and transmitter and the corresponding Inputs and outputs. CSRA - Channel A Clock Select Register CSRA[7:4] - Channel A Receiver Clock Select - This field selects the baud rate clock for the channel A receiver as follows: Signetics CSRB - Channel B Clock Select Register - Access Type: Write Only CSRB[7:4] Baud Rate ACRI7] = 0 ACRI7] = 1 1 1 1 a 1 1 1 1 IP6-16X IP6-1X IP6-16X IP6-1X The receiver clock is always a 16X clock except for CSRB[7:4) = 1111. CSRBI3:0] - Channel B Transmitter Clock Select - This field selects the baud rate clock for the channel B transmitter. The field definition Is as per CSRA[7:4) except as follows: CSRB[3:0] Baud Rate ACR[7] = 0 ACR[7] = 1 1 1 1 a 1 1 1 1 IPS-16X IPS-1X IPS-16X IPS-1X The transmitter clock is always a 16X clock except for CSRB[3:0) = 1111. 1·77 1 MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC2681 SERIES 'p"nA'", CRA - Channel A Command Register CRA is a register used to supply commands to channel A. Multiple commands can be specified in a single write to CRA as long as the commands are non-conflicting, e.g., the 'enable transmitter' and 'reset transmitter' commands cannot be specified in a single command word. CRA[6:4) - Channel A Miscellaneous Commands - The encoded value of this field may be used to specify a single command as follows: CRA[6:41 o0 o0 o1 o1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 1 1-78 COMMAND No command. Reset MR pointer. Causes the channel A MR pointer to pOint to MR1. Reset receiver. Resets the channel A receiver as if a hardware reset had been applied. The receiver is disabled and the FIFO is flushed. Reset transmitter. Resets the channel A transmitter as if a hardware reset had been applied. Reset error status. Clears the channel A Received Break, Parity Error, Framing Error, and Overrun Error bits in the status register (SRA[7:4]). Used in character mode to clear OE status (although RB, PE, and FE bits will also be cleared) and in block mode to clear all error status after a block of data has been received. Reset channel A break change interrupt. Causes the channel A break detect change bit in the interrupt status register (ISR[2]) to be cleared to zero. Start break. Forces the TXDA output low (spacing). If the transmitter is empty the start of the break condition will be delayed up to two bit times. If the transmitter IS active the break begins when transmission of the character is completed. If a character is in the TH R, the start of the break will be delayed until that character, or any others loaded subsequently are transmitted. The transmitter must be enabled for this command to be accepted. Stop Break. The TXDA line will go high (marking) within two bit times. TXDA will remain high for one bit time before the next character, if any, is transmitted. CRA[3) - Disable Channel A Transmitter - This command terminates transmitter operation and resets the TxRDY and TxEMT status bits. However, if a character is being transmitted or if a character is in the THR when the transmitter is disabled, the transmission of the character(s) is completed before assuming the inactive state.. CRA[2) - Enable Channel A Transmitter - Enables operation of the channel A transmitter. The TxRDY status bit will be asserted. CRA[1) - Disable Channel A Receiver This command terminates operation of the receiver immediately - a character being received will be lost. The command has no effect on the receiver status bits or any other control registers. If the special multidrop mode is programmed, the receiver operates even if it is disabled. See Operation section. CRA[O) - Enable Channel A Receiver Enables operation of the channel A receiver. If not in the special wakeup mode, this also forces the receiver into the search for start-bit state. CRB - Channel B Command Register CRB is a register used to supply commands to channel B. Multiple commands can be specified in a single write to CRB as long as the commands are non-conflicting, e.g., the 'enable transmitter' and 'reset transmitter' commands cannot be specified in a single command word. The bit definitions for this register are identical to the bit definitions for CRA, except that all control actions apply to the channel B receiver and transmitter and the corresponding inputs and outputs. SRA ~ Channel A Status Register SRA[7) - Channel A Received Break This bit indicates that an all zero character of the programmed length has been received without a stop bit. Only a Single FIFO position is occupied when a break is received: further entries to the FIFO are inhibited until the RxDA line returns to the marking state for at least one-half a bit time (two successive edges of the internal or external 1x clock). Signetics When this bit is set, the channel A 'change in break' bit in the ISR (ISR[2]) is set. ISR[2] is also set when the end of the break condition, as defined above, is detected. The break detect circuitry can detect breaks that originate in the middle of a received character. However, if a break begins in the middle of a character, it must persist until at least the end of the next character time in order for it to be detected. SRA[6) - Channel A Framing Error - This bit, when set, indicates that a stop bit was not detected when the corresponding data character in the FIFO was received. The stop bit check is made in the middle of the first stop bit position. SRA[5) - Channel A Parity Error - This bit is set when the 'with parity' or 'force parity' mode is programmed and the corresponding character in the FIFO was received with incorrect parity. In the special multidrop mode the parity error bit stores the received AID bit. SRA[4) - Channel A Overrun Error - This bit, when set, indicates that one or more characters in the received data stream have been lost. It is set upon receipt of a new character when the FIFO is full and a character is already in the receive shift register waiting for an empty FIFO position. When this occurs, the character in the receive shift register (and its break detect, parity error and framing error status, if any) is lost. This bit is cleared by a 'reset error status' command. SRA[3) - Channel A Transmitter Empty (TxEMTA) - This bit will be set when the channel A transmitter underruns, i.e., both the transmit holding register (THR) and the transmit shift register are empty. It is set after transmission of the last stop bit of a character if no character is in the THR awaiting transmission. It is reset when the THR is loaded by the CPU or when the transmitter is disabled. SRA[2) - Channel A Transmitter Ready (TxRDYA) - This bit, when set, indicates that the THR is empty and ready to be loaded with a character. This bit is cleared when the THR is loaded by the CPU and is set when the character is transferred to the transmit shift register. TxRDY is reset when the transmitter is disabled and IS set when the transmitter is first enabled, viz., characters loaded into the THR while the transmitter is disabled will not be transmitted. MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) '4'41'" SRA[1[ - Channel A FIFO Full (FFULLA) - This bit IS set when a character is trans· ferred from the receive shift register to the receive FIFO and the transfer causes the FIFO to become full, Le., all three FIFO positions are occupied. It is reset when the CPU reads the RHR. If a character is waiting in the receive shift register be· cause the FIFO is full, FFULL will not be reset when the CPU reads the RHR. SRA[O! - Channel A Receiver Ready (RxRDYA) - This bit indicates that a char· acter has been received and is waiting in the FIFO to be read by the CPU. It is set when the character is transferred from the receive shift register to the FIFO and reset when the CPU reads the RHR, if after this read there are no more characters still in the FIFO. SRB - Channel B Status Register The bit definitions for this register are identical to the bit definitions for SRA, ex· cept that all status applies to the channel B receiver and transmitter and the carre· sponding inputs and outputs. OPCR - Output Port Configuration Register OPCR[7! - OP7 Output Select - This bit programs the OP7 output to provide one of the following: - The complement of OPR[7] - The channel B transmitter interrupt output, which is the complement of TxRDYB. When in this mode OP7 acts as an open collector output. Note that this output is not masked by the can· tents of the IMR. OPCR[6! - OP6 Output Select - This bit programs the OP6 output to provide one of the followng: - The complement of OPR[6] - The channel A transmitter interrupt output, which is the complement of TxRDYA. When in this mode OP6 acts as an open collector output. Note that this output is not masked by the can· tents of the IMR. OPCR[S! - OPS Output Select - This bit programs the OP5 output to provide one of the following: - The complement of OPR[5] - The channel B receiver interrupt out· put, which is the complement of ISR[5]. When in this mode OP5 acts as an open collector output. Note that this output is not masked by the contents of the IMR. SC2681 SERIES OPCR[4! - OP4 Output Select - This bit programs the OP4 output to provide one of the following: OPCR[1:0! - OP2 Output Select - This field programs the OP2 output to provide one of the following: - The complement of OPR[4] - The channel A receiver interrupt out· put, which is the complement of ISR[1]. When in this mode OP4 acts as an open collector output. Note that this output is not masked by the contents of the IMR. - The complement of OPR[2] - The 16X clock for the channel A trans· mitter. This is the clock selected by CSRA[3:0], and will be a 1X clock if CSRA[3:0] = 1111. - The 1X clock for the channel A trans· mitter, which is the clock that shifts the transmitted data. If data is not being transmitted, a free running 1X clock is output. - The 1X clock for the channel A receiver, which is the clock that samples the received data. If data is not being received, a free running 1X clock is out· put. OPCR[3:2! - OP3 Output Select - This field programs the OP3 output to provide one of the following: - The complement of OPR[3] - The counterltimer output, in which case OP3 acts as an open collector out· put. In the timer mode, this output is a square wave at the programmed fre· quency. In the counter mode, the out· put remains high until terminal count is reached, at which time it goes low. The output returns to the high state when the counter is stopped by a stop counter command. Note that this out· put is not masked by the contents of the IMR. - The 1X clock for the channel B trans· mitter, which is the clock that shifts the transmitted data. If data is not being transmitted, a free running 1X clock is output. - The 1X clock for the channel B receiver, which is the clock that samples the received data. If data is not being reo ceived, a free running 1X clock is out· put. ACR - Auxiliary Control Register ACR[7)- Baud Rate Generator Set Select - This bit selects one of two sets of baud rates to be generated by the BRG: Set 1: 50, 110, 134.5, 200, 300, 600, 1.05K, 1.2K, 2.4K, 4.8K, 7.2K, 9.6K, and 38.4K baud. Set 2: 75, 110, 134.5, 150, 300, 600, 1.2K, 1.8K, 2.0K, 2.4K, 4.8K, 9.6K, and 19.2K baud. The selected set of rates is available for use by the channel A and B receivers and transmitters as described in CSRA and CSRB. Baud rate generator characteristics are given in table 3. Table 3. BAUD RATE GENERATOR CHARACTERISTICS CRYSTAL OR CLOCK = 3.6864MHz NOMINAL RATE (BAUD) ACTUAL 16X CLOCK (KHz) ERROR (PERCENT) 50 75 110 134.5 150 200 300 600 1050 1200 1800 2000 2400 4800 7200 9600 19.2K 38.4K 0.8 1.2 1.759 2.153 2.4 3.2 4.8 9.6 16.756 19.2 28.8 32.056 38.4 76.8 115.2 153.6 307.2 614.4 0 0 -0.069 0.059 0 0 0 0 -0.260 0 0 0.175 0 0 0 0 0 0 NOTE Duty cycle of 16X clock IS 50% :t: 1% Signetics 1-79 1 MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC2681 SERIES 14'4i"41" ACR[6:4)-CounterITlmer Mode and Clock Source Select - This field selects the operating mode of the counterltimer and its clock source as shown in table 4. ACR[3:0) - IP3, IP2, IP1, IPO Change of State Interrupt Enable - This field selects which bits of the Input Port Change regis· ter (IPCR) cause the input change bit In the Interrupt status register (ISR[7)) to be set. If a bit is In the 'on' state, the setting of the corresponding bit In the IPCR will also result in the setting of ISR[7], which results in the generation of an Interrupt output if IMR[7] = 1. If a bit Is in the 'off' state, the setting of that bit in the IPCR has no effect on ISR[7]. )PCR - Input Port Change Register IPCR[7:4) - IP3, IP2, IP1, IPO Change of State - These bits are set when a change of state, as defined in the Input Port sec· tion of this data sheet, occurs at the respective input pins. They are cleared when the IPCR Is read by the CPU. A read of the IPCR also clears ISR[7], the input change bit in the interrupt status register. The setting of these bits can be programmed to generate an interrupt to the CPU. IPCR[3:0) -IP3,IP2,IP1,IPO Current State - These bits provide the current state of the respective inputs. The (Information Is unlatched and reflects the state of the input pins at the time the I PCR is read. ISR - Interrupt Status Register This register provides the status of all potential interrupt sources. The contents of this register are masked by the interrupt mask register (IMR). If a bit in the ISR is a '1' and the corresponding bit in the IMR is also a '1', the INTRN output will be asserted. If the corresponding bit in the IMR is a zero, the state of the bit in the ISR has no effect on the INTRN output. Note that the IMR does not mask the reading of the ISR - the true status will be provided regardless of the contents of the IMA. The contents of this register are initialized to 00'6 when the DUART is reset. ISR[7) - Input Port Change Status - This bit is a '1' when a change of state has occurred at the IPO, IP1, IP2, or IP31nputs and that event has been selected to cause an interrupt by the programming of ACR[3:0]. The bit is cleared when the CPU reads the I PCR. 1·80 Table 4. ACR [6:4) FIELD DEFINITION ACR[6:4) MODE CLOCK SOURCE 00 0 00 1 01 0 o11 1 00 1 0 1 1 1 0 111 Counter Counter Counter Counter Timer Timer Timer Timer External (IP2) TXCA - 1X clock of channel A transmitter TXCB - 1X clock of channel B transmitter Crystal or external clock (X1fCLK) divided by 16 External (I P2) External (IP2) divided by 16 Crystal or external clock (X1fCLK) Crystal or external clock (X1fCLK) divided by 16 ISR[&) - Channel B Change In Break This bit, when set, Indicates that the channel B receiver has detected the beginning or the end of a received break. It Is reset when the CPU Issues a channel B 'reset break change interrupt' command. ISR[2] - Channel A Change in Break This bit, when set, Indicates that the channel A receiver has detected the beginning or the end of a received break. It is reset when the CPU Issues a channel A 'reset break change Interrupt' command. ISR[S) - Channel B Receiver Ready or FIFO Full - The function of this bit is programmed by MR2B[5]. If programmed as receiver ready, it indicates that a character has been received In channel B and is waiting in the FIFO to be read by the CPU. It is set when the character Is transferred from the receive shift register to the FI FO and reset when the CPU reads the RHA. If after this read there are more characters still in the FIFO the bit will be set again after the FI FO is 'popped'. If programmed as FIFO full, it is set when a character is transferred from the receive holding register to the receive FIFO and the transfer causes the channel B FIFO to become full, i.e., all three FIFO positions are occupied. It is reset when the CPU reads the RHR. If a character is waiting in the receive shift register because the FIFO is full, the bit will be set again when the waiting character Is loaded into the FIFO. ISR[1) - Channel A Recelvar Ready or FIFO Full - The function of this bit is programmed by MR2A[5]. If programmed as receiver ready, it indicates that a character has been received in channel A and is waiting in the FIFO to be read by the CPU. It is set when the character is transferred from the receive shift register to the FIFO and reset when the CPU reads the RHA. If after this read there are more characters still in the FIFO the bit will be set again after the FI FO is 'popped'. If programmed as FIFO full, It is set when a character Is transferred from the receive holding register to the receive FIFO and the transfer causes the channel A FIFO to become full, I.e., all three FIFO pOSitions are occupied. It is reset when the CPU reads the RHA. If a character is waiting in the receive shift register because the FIFO Is full, the bit will be set again when the waiting character is loaded into the FIFO. ISR[4) - Channel B Transmitter Ready This bit is a duplicate of TxRDYB (SRB[2]). ISR[3) - Counter Ready - In the counter mode, this bit is set when the counter reaches terminal count and is reset when the counter is stopped by a stop counter command. In the timer mode, this bit is set once each cycle of the generated square wave (every other time that the counterltlmer reaches zero count). The bit is reset by a stop counter command. The command, however, does not stop the counterftimer. Signetics ISR[O) - Channel A Transmitter Ready This bit is a duplicate of TxRDYA (SRA[2]). IMR - Interrupt Mask Register The programming of this register selects which bits in the ISR cause an Interrupt output. If a bit in the ISR is a '1' and the corresponding bit in the IMR Is also a '1', the INTRN output will be asserted. If the corresponding bit in the IMR Is a zero, the state of the bit in the ISR has no effect on the INTRN output. Note that the IMR does not mask the programmable interrupt outputs OP3-0P7 or the reading of the ISA. MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC2681 SERIES 'A'iitA';' CTUR and CTLR - Counter/Timer Registers The CTUR and CTlR hold the eight MSB's and eight lSB's respectively of the value to be used by the counterltimer in either the counter or timer modes of operation. In the timer (programmable divider) mode, the CIT generates a square wave with a period of twice the value (in clock periods) of the CTUR and CTlA. If the value in CTUR or CTlR is changed, the current half·period will not be affected, but subse· quent half periods will be. In this mode the CIT runs continuously. Receipt of a start counter command (read with A3-AO = 1111) causes the counter to terminate the current timing cycle and to begin a new cycle using the values in CTUR and CTlR. The counter ready status bit (ISR[3]) is set once each cycle of the square wave. The bit IS reset by a stop counter command (read with A3-AO= 1110). The command, however, does not stop the CIT. The gen· erated square wave is output on OP3 if it is programmed to be the CIT output. In the counter mode, the CIT counts down the number of pulses loaded into CTUR and CTlR by the CPU. Counting begins upon receipt of a start counter command. Upon reaching terminal count (0000 16), the counter ready interrupt bit (ISR[3]) is set. The counter continues counting past the terminal count until stopped by the CPU. If OP3 is programmed to be the output of the CIT, the output remains high until terminal count is reached, at which time it goes low. The output returns to the high state and ISR[3] is cleared when the counter is stopped by a stop counter command. The CPU may change the values of CTUR and CTlR at any time, but the new count be· comes effective only on the next start counter command. If new values have not been loaded, the previous count values are preserved and used for the next count cycle. In the counter mode, the current value of the upper and lower 8 bits of the counter may be read by the CPU. It is recom· mended that the counter be stopped when reading to prevent potential problems which may occur if a carry from the lower 8·bits to the upper 8·bits occurs between the times that both halves of the counter are read. However, note that a subsequent start counter command will cause the counter to begin a new count cycle using the values in CTUR and CTlR. ABSOLUTE MAXIMUM RATINGS 1 PARAMETER RATING UNIT Operating ambient temperature2 Storage temperature All voltages with respect to ground 3 o to + 70 -65 to + 150 -0.5 to +6.0 'C 'C V NOTES 1 Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device ThiS 15 a stress rating only and functional operation of the device at these or at any other condition above those indicated In the operation section of thiS specification IS not Implied 2 For operating at elevated temperatures, the device must be derated based on + 150°C maximum Junction temperature and thermal resistance of 60"C/W Junction to ambient for ceramic package (116"CIW for plastiC package) 3 ThiS product Includes circuitry specifically designed for the protection of ItS mternal devices from damaging effects of excessive static charge Nonetheless, It IS suggested that conventional precautions be taken to aVOId applymg any voltages larger than the rated maxima DC ELECTRICAL CHARACTERISTICS TA = O'c to + 70'C, Vee= 5.0V PARAMETER V,L V,H V,H VOL V OH I'L ILL loe lee Input low voltage Input high voltage (except X1/ClK) Input high voltage (X1/ClK) Output low voltage Output high voltage (except o.c. outputs) Input leakage current Data bus 3·state leakage current Open collector output leakage current Power supply current TEST CON DITIONS ± 5%4,5.6 liMITS Min Typ Max 0.8 2.0 3.0 10L = 2.4mA 10H= - 400~A V ,N = 0 to Vcc Vo= 0 to Vee Vo=OtoV ee 0.4 2.4 -10 -10 -10 10 10 10 150 UNIT V V V V V ~A ~A ~A mA NOTES 4 Parameters are valid over specified temperature range 5 All voltage measurements are referenced to ground (GNO) Fortestlng, all Input signals sWing between 0 4V and 2 4V with a tranSition tlmeof 20ns maximum All time measurements are referenced at Input voltages of 0 BV and 20V and output voltages of 0 BV and 2 OV as appropnate 6 TYPical values are at + 25°C, tYPical supply voltages, and tYPical processing parameters Signetics 1·81 1 MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC2681 SERIES 'P't"#4 AC ELECTRICAL CHARACTERISTICS TA=O·C to + 70 ·C, Vcc =5.0V ± 5~ 4,5,6,7 TENTATIVE LIMITS PARAMETER Min Reset Timing (figure 1) t RES RESET pulse width Bus Timing (figure 2)6 t AS AO-A3 setup time to RON, WRN low AO-A3 hold time from RON, WRN high tAH CEN setup, time to RON, WRN low tcs CEN hold time from RON, WRN high tCH tRW WRN, RON pulse width Data valid after RON low too Data bus floating after RON high tOF Data setup time before WRN high tos Data hold time after WRN high tOH Time between READs and/or WRITEs tcc 10 10 0 0 225 n8 n8 n8 n8 ns ns ns n8 ns ns 150 100 0 0 400 Timing (figure 5) X1ICLK high or low time X1/CLK frequency CTCLK (IP2) high or low time CTCLK (IP2) frequency RxC high or low time RxC frequency (16X) (1X) TxC high or low time TxC frequency (16X) (1X) , 300 -75 Receiver Timing (figure 7) t RXS RxD data setup time to RXC high tRXH RxD data hold time from RXC high NOTES 300 300 300 300 200 100 2.0 200 0 220 0 0 220 0 0 Transmitter Timing (figure 6) t Txo TxD output delay from TxC low t TCS TxC output skew from TxD output data UNIT /LS 100 0 600 Interrupt Timing (figure 4) INTRN (or OP3-0P7 when used as interrupts) high from: tlR Read RHR (RXRDY/FFULL Interrupt) Write THR (TXRDY Interrupt) Reset command (delta break Interrupt) Stop CIT command (counter Interrupt) Read IPCR (input port change interrupt) Write IMR (clear of interrupt mask bit) tTX f TX Max 1.0 Port Timing (figure 3)8 t ps Port input setup time before RON low Port input hold time after RON high t pH Port output valid after WRN high t po Clock tCLK fCLK t CTC f CTC tRX f RX Typ 200 200 3.6864 ns ns ns ns ns ns 2.0 1.0 ns MHz ns MHz ns MHz MHz ns MHz MHz 350 75 ns ns 4.0 2.0 2.0 1.0 0 ns ns ns ns ns 4 Parameters are valid over specified temperature range 5 All voltage measurements are referenced to ground (GND) Fortestlng, alilOput signals sWing between 0 4Vand 2 4V wltl1a transition time of 20n8 maximum All time measure· ments are referenced at Input voltages of 0 BV and 20V and output voltages of 0 BV and 2 OV as approprtate TYPical values are at + 25 D C, tYPical supply voltages, and tYPical proceSSing parameters Test condition for outputs CL = 150pF 8 Timing IS Illustrated and referenced to the WRN and RON Inputs The deVice may also be operated with CEN as the 'strobing' input. In this case, all timing specifications apply referenced to the failing and rlsmg edges of CEN 1·82 Signetics MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC2681 SERIES 'A'WU;;' 1 RESET r --' RESET TIMING ~_ l-IRES~ , FIGURE 1 BUS TIMING M_M~ lAS CEN leH 1 - - - - tRW-------' RON 00-07 FLOAT (READ) WRN FIGURE 2 Signefics 1·83 MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) '4itlt4i,ii PORT TIMING "'~_4"~)L...-_-_-_-_~-_-_-_-_~-_~. ,~~ j{"- WRN\'----_i~jX. OPO·OP7 OLD DATA NEW DATA FIGURE 3 INTERRUPT TIMING J£\'-----i,";-_ INTRN OR OP3·0P7 FIGURE 4 X1/CLK CTCLK RxC TxC --/ --- CLOCK TIMING tcLK tCTC tA, t" ---- FIGURE 5 1·84 Signetics / teLK tCTC tA, t" --- r- SC2681 SERIES MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC2681 SERIES 'i'Ai';4 1 TRANSMIT (1 TxC O~~~6~~~Ks)--=t - } (INPUn - TxD t ITXD ~r---:{.---"\x TxC (IX OUTPUn - / FIGURE 6 RECEIVE RxC (IX INPUT) \ r \"'---_ RXD--f···~ ~~]--FIGURE 7 TRANSMITTER TIMING TRANSMITTER ENABLED TIlRDY (SR2) WRN D' 03 START BREAK CTSN1 (IPO) _ _ _- - ' RTSN 2 (OPO) A D4 STOP D5W1L.L BREAK NOT BE TRANSMITTED D. i"1-----------------------~----OPR(O)= 1 NOTES 1. TIMING SHOWN FOR MR2(4)=1 2 TIMING SHOWN FOR MR2(5) 1 = FIGURE 8 Signetics 1·85 MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC2681 SERIES 'P'4it:i' RECEIVER TIMING RxO RECEIVER ENABLED RxRDY (8RO) _ _ _ _ _ _....... +-__________-' FFULL (8R1) _ _ _ _ _ _ _ _ _ _ _ RxRDYf--------, FFUlL (OP5)2 RON + __..;;;;=..I OVERRUN (8R4) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ RESET BY COMMAND RTS1 (OPO) NOTES 1. TIMING SHOWN FOR MR1(7)=1. 2. SHOWN FOR OPCR(4) 1 AND MR1(8)=O. = FIGURE 9 WAKEUP MODE MASTER STATION BIT9 TxO !AOO_", --------1','8 BIT9 I DO !oI 11-', I I B,T9 _ IAoo"!'1 ---------1,\----'---'---'-' i ~I-I L.CI---I--- I TRANSM'TTER~' ENA,BLED I II (wSR ~ I TxRDY I " 1 - - ' ,_ _ ;)---1'~~----'I\ _ _ _ _ _ _ _ _ _--\' ,. \ i MR1(4·3)=11 ADO#1 MR1(2)=ODO ,'--_ _ _ _ _ _ _ _ _ _ _ __ )- MR1(2)=1 ADD#2 MR1(2)=1 PERIPHERAL STATION BIT 9 RXD---' !oI BIT9 BIT9 I RECEIVER !,'~ Of I I R;~~~ ________.....J~ ~I-: MR2(4.3):::11 -VADO#1 ~ ______----I~~ ~ S~S~TA STATUS DATA DO ADD#2 FIGURE 10 1·86 .-.....,B;:.:'T... 9-,;1- -----------------+,----"L-- ,--;-, ENABLED _ _ _ _ _ _ _ _ _ _ _ _...:'_ _---I RDN/WRNLJ BIT 9 IADD., H 1i ............ I -DO ....... ioI::1 '""""II-, \: ----------1, ~ IAoo*", I 1:1L.....L_..;.;I0;..l1 II'II- Signetics Section 2 Video Display Signetics MICROPROCESSOR DIVISION JANUARY 1982 DISPLAY CHARACTER AND GRAPHICS GENERATOR (DCGG) DESCRIPTION The Signetics Display Character and Graphics Generator (DCGG) is a maskprogrammable 11,648-bit line select character generator. It contains 128 10X9 characters placed in a 10X16 matrix, and has the capability of shifting certain characters, such as j, y, g, p and q, that normally extend below the baseline. Character shilling, preViously requiring additional external circuitry, is now accomplished internally by the DCGG; effectively, the 9 active lines are lowered within the matrix to compensate for the character's position. Seven bits of an 8-bit address code are used to select 1 of the 128 available characters. The eighth bit functions as a chip enable signal. Each character is defined by a pattern of logic Is and Os stored in a 10X9 matrix. When a specific 4-bit binary line address code is applied, a word of 10 parallel bits appears at the output. The lines can be sequentially selected, providing a 9-word sequence of 10 parallel bits per word for each character selected by the address inputs. As the line address inputs are sequentially addressed, the device will automatically place the 1OX9 character in 1 of 2 preprogrammed positions on the 16-line matrix with the positions defined by the 4-line address inputs. One or more of the 10 parallel outputs can be used as control signals to selectively enable functions such as halfdot shift, color selection, etc. The 2670 DCGG includes latches to store the character address and line address data. A control input to inhibit character data output for certain groups of characters is also provided. The 2670 also includes a graphics capability, wherein the 8-bit character code is translated directly into 256 possible user programmable graphic patterns. Thus, the DCGG can generate data for 384 distinct patterns, of which 128 are defined by the mask programmable ROM. See figure 1 for a typical applications display. FEATURES • • • • • • • • • • SC2670 PIN CONFIGURATION 128 10X9 matrix characters 256 graphic characters Optional thin graphics for forms Character and line address latches Internal descend logic 300nsec character select access maximum Control character output inhibit logic Static operation-no clocks required Single 5V power supply TTL compatible inputs and outputs TOP VIEW ORDERING CODE PACKAGES COMMERCIAL RANGES 5%, TA = O'C to 70'C vcc = sv ± Ceramic DIP SC2670'CS128 Plastic DIP SC2670'CSN28 NOTE Substitute letter corresponding to standard font for '*' In part number for standard parts See back of data sheet Contact sales office for custom ROM patterns BLOCK DIAGRAM => 2-2 Signetics DO-DO JANUARY 1982 MICROPROCESSOR DIVISION DISPLAY CHARACTER AND GRAPHICS GENERATOR (DCGG) SC2670 'ilA'"'''''-''' PIN DESIGNATION MNEMONIC PIN NO. TYPE NAME AND FUNCTION CAO·CA7 3·6.6·11 I Character Address: Eight bit code specifies the character or graphic pattern for whIch matrix data is to be supplied. In character mode (GM=O), CAO thru CA6 select one of the 128 ROM· defined characters and CA7 is a chip enable. The outputs are active when CA7= 1 and are trio stated when CA7=0. In graphics mode (GM= I), the outputs are active and CAO thru CA7 select one of 256 possible graphic patterns to be output. CSTROBE 7 I Character Strobe: Used to store the character address (CAO thru CA7) and graphics mode (GM) Inputs into the character latch Data is latched on the negative gOing edge of CSTROBE GM 12 I Graphics Mode: GM=O (low) selects character mode, GM=1 (hIgh) selects graphIcs mode 1,25'27 I Line Address: In character mode, selects one of the 16 lines of matrix data for the selected character to appear at the 10 outputs. LAO is the LSB and LA3 is the MSB. The input codes which cause each of the nine lines of character data to be output are specified as part of the programming data for both non·shifted and shifted fonts. Cycling through the nine specIfied counts at the LAO thru LA3 inputs cause successive lines of data to be output on DO thru 09 The 7 non· specified codes for both non·shifted and shIfted characters cause blanks (logIc zeros) to be output. In graphics mode, the line address gates the latched graphics data directly to the outputs LSTROBE 2 I Line Strobe: Used to store the line address data (LAO thru LA3) in the line address latch Data is latched on the negative going edge of LSTROBE SCD 13 I Selected Character Disable: In character mode, a hIgh level at this input causes all outputs (regardless of line address) to be blanks (zeros) for characters for whIch CA6 and CA5 are both O. A low level input selects normal operation. Inoperative in the graphIcs mode. 15·24 0 Data Outputs: Provide the data for the speCIfIed character and line. 28 I +5V power supply 14 I Ground. LAO·LA3 09·00 VCC GND 2 TYPICAL APPLICATION Part No. Quant. Price TDt.3.1 i r-Pi/?4 °JI _'J. :X9009 A~jW-2AI ?C i...~ 15.00 375.901 .-r 100 J"t,~b 3486.001 50 0.95 47.501 J 1"1. ..... L E s ! Figure 1 Slgnatics 76 .,., ,f ..l 78 80 81 2·3 MICROPROCESSOR DIVISION JANUARY 1982 DISPLAY CHARACTER AND GRAPHICS GENERATOR (DCGG) SC2670 Imti"lI,t.!lj FUNCTIONAL DESCRIPTION The OCGG consists of nine major sections. Line and character codes are strobed into the line and character latches. The character latch outputs are presented to the three sources of data; the ROM through an address decoder, the graphics logic, and the output inhibit control. The output inhibit control (together with the SCO input) suppresses the ROM data for selected character codes. The outputs from the line latch drive the line address translation ROM which maps the character ROM data onto 9 of 1S line positions. Finally, the line select multiplexers route the ROM or graphics data to the output drivers on DO through 09. Character Latch The character latch is a 9-bit edge triggered latch used to store the character address (CAO thru CA7) and graphics mode (GM) inputs. The data is stored on the falling edge of CSTROBE. Seven latched addresses (CAO thru CAS) are inputs to the ROM character address decoder. In character mode (GM=O), CA7 operates as a chip enable. The output drivers are enabled when CA7= 1 and are tri-stated when CA7=0. In graphics mode (GM= 1), the output drivers are always enabled and the CAO thru CA7 outputs of the latch are used to generate graphic symbols. Character Address Decoder This circuit decodes the 7 -bit character address from the character latch to select one of the 128 character fonts stored in the ROM section of the OCGG. graphics symbols and an example where (CA7 thru CAO) = H'S5'. The outputs from the graphics logic go to the line select multiplexers. The multiplexers route the graphic symbol data to the outputs when GM = 1. Read Only Memory The 11 ,S48-bit ROM stores the fonts for the 128 matrix-defined characters. The data for each character consists of 91 bits. Ninety bits represent the 10X9 matrix and one bit specifies whether the character data is output at the normal (unshilled) lines or at the descended (shilled) lines. The 90 data bit outputs are supplied to the line select multiplexers. The descend control bit is an input to the line address translation ROM. Thin Graphics Option As a customer specified option, 1S of the possible graphic codes (H'80' to H'8F') may be used to generate the special graphic characters illustrated in figure 3. For each of these characters, the vertical component appears on the 04 output. The horizontal component occurs on LH which is specified by the customer. The vertical components specified by CAO and CA2 are output for line addresses zero thru LH and LH thru filleen, respectively. Graphics Logic When the GM input is zero (low), the OCGG operates in the character mode. When it is one (high), it operates in the graphics mode. In graphics mode, output data is generated by the graphics logic instead of the ROM. The graphics logic maps the latched character address (CAO thru CA7) to the outputs (DO thru 09) as a function of line address (LAO thru LA3). For any particular line address value, two of the CA bits are output: CAO, CA2, CA4 or CAS is output on DO thru 04 and CA 1, CA3, CA5 or CA7 is output on 05 thru 09. The outputs are paired: When CAO is output on DO thru 04, CA 1 is output on 05 thru 09 and likewise for CA2-CA3, CA4-CA5 and CAS-CA7. Line Select Multiplexers The ten line select multiplexers select ROM data as specified by the line address translation ROM when GM=O, or graphics data when GM= 1. The inputs to each multiplexer are the nine line outputs from the ROM, an output from the graphics logic and a logic zero (ground). Output Drivers Ten output drivers with 3-state capability serve as buffers between the line select multiplexers and external logic. The 3-state control input to these drivers is supplied from the CA7 latch when GM=O. When GM= 1, the outputs are always active. A ROM within the graphics logic allows the specific line numbers for which each pair of bits is output to be specified by the customer. Figure 2 illustrates the general format for GRAPHICS SYMBOLS-GENERAL FORMAT UNEADDRE5S LF=O- ,,- CAO CA' CA' CA3 }-~, 3- 4- ,,3- } GMWP' 4- G~UP3 S- 5- 56- ,- ~ 0- CA. CAS } 6- ,6- 9- '0- CAS CA' } OROUP 4 I......-DO -04'---'I-+-----D5 - 09----"'1 '0I GROUP LINE AOOAESSES ARE SPECIFIED BY THE CUSTOMER I I I 8QSS!l!l8~ I 1 1 I I ~ 3 EXAMPLE' CA7 - CAO = HiSS' GROUP 1 SPECIFIED FOR LINES 0, 1, 2 GROUP 2 SPECIFIED FOR LINES 3, 4, 5 GROUP 3 SPECIFIED FOR LINES 6, 7, 8 GROUP 4 SPECIFIED FOR LINES 9, 10, 11 SPACE SPECIFIED FOR LINES 12, 13, 14, 15 Figure 2 2·4 Signetics MICROPROCESSOR DIVISION JANUARY 1982 DISPLAY CHARACTER AND GRAPHICS GENERATOR (DCGG) Output Inhibit Control The output inhibit control logic operates only if GM=O. It causes the output of the line select multiplexers to be logic zero if the SCD input is high and CA6 and CAS of the latched character address are 00. If the SCD input is low, normal operation occurs. (This feature is useful in ASCII coded applications to selectively disable character generation for non-displayable characters such as line feed, carriage return, etc.) SC2670 SPECIAL GRAPHIC CHARACTERS GENERAL FORMAT 10 X 18 CHARACTER BLOCK LO Line Address Latch The line address latch is a 4-bit latch used to store the line address (LAO-LA3). The data is stored on the negative edge of the LSTROBE input. Line Address Translation ROM This 32X 10 ROM translates the S-bit code consisting of the 4 outputs from the line address latch and the descend control bit from the ROM into a l-of-l0 code for the line select multiplexers. Programming information provided by the customer specifies the address which selects each line of ROM data for both shifted and non-shifted characters. Thus, there are nine line addresses which select ROM data for unshifted characters and nine addresses for shifted characters. These combinations are usually specified by the customer in either ascending or descending order. For the remaining 14 codes (7 each for un shifted and shifted characters), the translation ROM forces zeros at the outputs of the line select multiplexers. "5 THIN GRAPHIC FONTS FOR This circuitry only operates if GM=O. When GM= I, the line select multiplexers are forced to select the outputs from the graphics logic. Figure 4 shows an example of data outputs where the customer has specified line 14 as the first line for unshifted characters, line 11 as the first line for shifted characters and line address combinations in descending order. CUSTOM PATTERN PROGRAMMING INSTRUCTIONS A computer-aided technique utilizing punched computer cards is employed to specify a custom version of the 2670. This technique requires that the customer supply Signetics with a deck of standard BO-column computer cards describing the data to be stored in the ROM array, the programmable line address translation ROM, thin graphics option, and the graphics line font translation ROM. DO D4 DO CA7 - CAO '" HEX 80 - HEX SF 80 ., .2 .3 UJDJcarn .. 84 . .7 .5 .9 88 SA 5JBJ@tE .e 8D BE 8F Figure 3 Signetics 2·5 MICROPROCESSOR DIVISION JANUARY 1982 DISPLAY CHARACTER AND GRAPHICS GENERATOR (DCGG) SC2670 CUSTOMER SPECIFIED EXAMPLE Y!!i ~ (') ~~ ,. ,. !II >< " r- "'" ?'< 13 ,~ r--- 7'" I 11 10 1 L-_____________________ ( () (J X ~mER~QAm ____________________ ~ Figure 4 On receipt of a card deck, Signetics will translate the card deck to a truth table using the Signetics Computer Aided Design (CAD) facility. The truth table and font diagrams will then be sent to the customer for final approval. On receipt of final approval, Signetics will produce masks and proceed with manufacturing. Programming information can also be input on TTY 7-level tape as card images. Each card Image must be terminated with a carriage return-line feed. An EOT character must signify the end of the data set. Customer identification cards are always labeled with a C in column 1. For customer identification, four cards are required. Any number of additional customer identification cards are permitted. The following data should be included: CUSTOMER 10 CARD #2 COLUMN 1 2 3-70 71-80 DATA C blank Customer contact person name I phone number blank CUSTOMER 10 CARD #3 COLUMN 1 2 3-70 71-80 DATA C blank Customer address blank CUSTOMER 10 CARD # 1 COLUMN 1 2 3-g 10-14 15-70 71-60 2·6 DATA C blank 2670/CP blank Company name I company part number blank CUSTOMER 10 CARD #4 COLUMN 1 2 3-70 71-80 DATA C blank Customer cily, state, zip code blank Signatlcs CUSTOMER 10 CARD #5 THRU N COLUMN 1 2 3-70 71-80 DATA C blank Any information desired blank MICROPROCESSOR DIVISION JANUARY 1982 DISPLAY CHARACTER AND GRAPHICS GENERATOR (DCGG) SC2670 The following masking information cards must be included: Mask Information Card # 1: Shift and Nonshlft Character Translation Data DATA COLUMN 1-9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27-29 30-35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53-59 60' 61-64 65' 66-80 MASK INFORMATION CARD #2: Graphics Translation Data COLUMN NONSHIFT= Line address in hex which outputs the first font word for nonshifted ROM fonts 1-14 15-17 Line address in hex which outputs the second font word for nonshifted ROM fonts 18-19 20-23 24 , third , 25-29 30-45 fourth , fifth , sixth , seventh , 46-80 eighth DATA THIN GRAPHICS= YES or NOI6, where ~ = blank. Specifies whether graphics address hex 80 thru hex 8F will select the special thin graphics font. blank HOR= The line address in hex for the horizontal segments of line graphics fonts. Leave blank if columns 15 thru 17 are NO blank Graphics group number 1 or 2 or 3 or 4 or blank. Columns 30 thru 45 correspond to line address hex 0 thru hex F respectively. The group number specified in each column will cause the graphics data generated by that group to be output at the corresponding line address. A blank specifies no data for that address. blank , ninth blank SHIFT= Line address in hex which outputs the first font word for shifted ROM fonts second , third , fourth , fifth , sixth , seventh , eighth , ninth blank o or 1 blank o or 1 blank NOTES 1 Column 60 specifies the font truth table hOrizontal for- mal 0 specifies left to right prmting of DO thru 09 1 specifies 09 thru DO MASK INFORMATION CARD #3 THRU #130: ROM Font Data COLUMN 1-2 3 4 5 6-8 9 10-12 13 14-16 17 18-20 21 22-24 25 26-28 29 30-32 33 34-36 37 38-40 41-80 DATA Character address in hex (CA6 thru CAO)' blank S for shifted; N for nonshifted. blank Data for first ROM font word in hex (09 thru ~O). blank second blank 1hird blank fourth blank fifth blank sixth blank seventh blank eighth blank ninth blank NOTe • A separate card IS required for each character address hex 00 thru hex 7F 2 Column 65 speclfles the font truth table vertical printout formal 0 specIfies top to bottom printing of Ime address hex 0 thru F 1 specifies hex F thru 0 Signetics 2·7 JANUARY 1982 MICROPROCESSOR DIVISION SC2670 DISPLAY CHARACTER AND GRAPHICS GENERATOR (DCGG) Imii"lI.i.i(i Printouts SAMPLE CARD DECK INPUT Signetics will translate the card deck to the following printouts to be submitted to the customer for approval: THIN GRAPHICS=YES SlGN[TICS C 2670/CPIOOOPA NONSHIFr=l, 2 • .5 ... • A rapeat of all customer information. • A separate font drawing for each of the 128 ROM characters and 256 graphics fonts. The font drawings are positioned on a 10 X 16 matrix as specified by the cus· tomer's translation data. HOR=7 2670 TE:ST RUN t". 6.7. S.9 ::'HIFT=3. 11.5. EO. 7.8.9. A. B 00 N 022 026 02A n32 OAA oe8 088 088 070 1+0 N 078 08,+ 082 nCA 08A 072 002 08'+ 078 01 N Ole 002 DOC 1'110 OBE 086 OF'8 088 088 '+1 NOlO 028 Ottl+ nS2 082 OFE 02 N Ole 002 DOC 010 DBE 050 020 050 088 1f2 N 03E 01+1+ 08'+ 0'+11- 03e Olt'+ 0811- 01+1+ 03£. 03 N DIE 002 ODE 002 09E 050 020 050 088 '+3 N 07S 08'+ 002 002 002 002 002 081+ 078 all- N DIE 002 ODE n02 DIE OF'8 020 020 U20 '+1+ N 03£ 0'+1+ 08'+ n8'+ 08'+ 084 081f Olfl+ 03E 05 N DIE 002 ODE 002 OGE 090 O~O 000 OED 0~2 082 OB2 11-5 N OFE 002 002 n02 03E 002 002 002 OFE 06 N DOc 012 DIE n12 092 050 030 050 090 11-6 N OF[ 002 002 n02 03( 002 002 002 002 07 NODE 012 ODE 012 ODE 010 010 010 OFD 1+7 N 018 OS~ 002 002 002 OE2 082 Oe'+ 088 08 NODE 012 ODE 012 DEE 010 060 oeD 070 48 NOS.:! 082 082 n82 Of( 082 082 082 082 09 N 012 012 DIE 012 012 OF'8 020 OZG 020 '+9 N 07C 010 010 010 010 010 010 010 07C OA N 002 002 002 olE OFO 010 070 010 010 itA N OED 040 0'+0 oltO 01+0 0'+0 042 042 03C DB N 022 022 022 011+ 008 OF8 ()20 020 020 48 N 082 042 022 n12 aDA 016 0'2 0,+2 082 on DC N DIE 002 00£ 002 OF2 010 070 010 010 4C N 002 002 002 n02 002 002 002 002 00 N OlC 002 002 002 07C 090 PO 050 0'90 '+0 N 082 oe6 OAA n'92 0'92 082 082 082 082 DE N OlC 002 DOC 010 06E 09() 0'30 0'90 0&0 '+E N 082 082 086 n8A 092 OA2 oe2 082 082 OF N OlC 002 DOC 010 DEE O~O 01+0 01+0 OED 10 NODE 012 012 012 DOE 010 010 010 OFO 11 NODE 012 012 012 0'+( 060 01+0 01+0 oro 12 NODE 012 012 '112 06E 090 O~O II-F N 038 0'+'+ 082 n82 082 08o! 082 01+'+ 038 50 N 01[ 082 082 n82 07E 002 002 002 002 51 N 0313 01+'+ 082 n82 082 092 !lA2 01+'+ 088 020 OFO 52 N 07E 082 082 082 07£. 012 022 042 08.:! 13 NODE 012 012 n12 ObE 080 060 oeD 070 53 N 078 084 002 n04 038 040 080 042 03e III- NODE 012 012 n12 OI+E 060 050 OF8 040 51+ N OFE 010 010 nlO 010 010 ulO el0 CIO 15 N 012 016 OlA 012 092 050 030 050 0'30 55 N 082 082 082 n82 082 082 0132 16 N Olc 002 oDe 310 08E 050 U20 020 020 56 N 082 082 082 n!flt 044 028 0'8 010 010 17 N DIE 002 ODE 002 07[ 090 C70 neJo 070 57 !II 08;1: 082 082 n82 082 092 ,)q::,> OAII 04'+ 18 N Ole 002 002 002 Ole 090 l'PO liDO 58 N 082 082 0'+4 n28 010 028 0'+1+ 082 082 n N OlE 002 ODE 002 OlE 088 008 OAIl Ollll 59 N 082 082 01+'+ 028 010 010 010 010 010 lA N OlC 002 DOC 1110 07E 090 070 0'90 070 SA N OF( 080 01+0 020 010 008 00,+ 002 OF[ ''" IB N DIE 002 OO( n02 Ol( 0(0 010 010 OED 58 N 07C 001+ 00'+ 00,+ 001+ 00'+ 001+ DOli- 07C lC N Ol( 002 OO( 002 O(l 010 Of-O 080 070 !5C N 000 002 00,+ nOa 010 020 0,+0 080 000 10 N Ole 002 OlA 012 DEC 010 060 080 070 50 N 07e 0,.0 0"0 n"o 0'+0 0'+0 040 0'+0 07C IE N OO( O1l ODE 1I0A OFl 010 060 080 070 5E NOlO 038 051+ 010 010 010 010 010 010 IF N 012 012 012 012 DEC 010 060 080 070 SF N 000 000 008 00" OFE 00,. 008 000 000 20 N 000 000 000 000 000 000 000 000 000 60 N 018 018 010 020 000 000 000 000 000 21 N 010 010 010 010 010 000 000 010 010 61 N 000 000 000 03C 01+0 01C 011-2 0"2 OBC 22 N 028 028 028 028 000 000 000 000 000 62 N 002 002 002 03A 0'+6 0'+2 0'+2 011-6 03tt 23 N 028 028 OF( 028 02B 028 OF( 02a 028 63 N 000 000 000 03C C,+2 002 002 0,+2 03e 2 .. N 028 OFe 02A 02A 07C OAS 01\8 07E 028 6" N 01+0 O~O 0'+0 oSC 062 01+2 0'+2 062 OSC 25 N 001+ 08A 01+11- 020 010 008 Oil-II- OA2 0'+0 65 N 000 000 000 03C 0'+2 07E 002 002 03e 26 N DOC 012 012 DOC OOC 012 OAl 0,+2 OBC 66 N 030 01+8 008 008 03E 008 008 008 008 27 N 018 018 008 2·8 0 .. /16179 111122223333'+l+ljll nO~ 000 000 000 000 000 67 S 000 OSC 062 n,+2 062 OSC 01+0 011-2 03e 28 N 020 010 008 n08 008 008 ceo 010 020 68 N 002 002 002 03A 046 0'+2 042 0'+2 0'+2 29 N OOa OlD 020 020 020 020 020 010 OOa 6'iI N 000 010 000 018 010 010 010 010 038 2A N 000 010 05'!- n38 OF( 038 O!SI+ 010 000 &A S 000 060 01+0 n'!-O 011-0 01t0 01+0 01+1+ 038 28 N 000 010 010 010 OF( 010 010 010 000 68 N 002 002 002 n22 012 OOA 016 022 042 2C S 000 000 000 000 000 018 018 008 001+ 6C N 018 010 010 010 010 010 010 010 038 20 N 000 000 000 000 OFE 000 000 000 000 60 N 000 000 000 06A 0'96 2£ N 000 000 000 000 000 000 000 018 {l18 6( N 000 000 000 03A 0'+6 011-2 01+2 011-2 Olt2 0~2 0~2 0~2 0~2 0'2 2F N 000 080 01t0 n20 010 008 OOtt 002 000 6F N 000 000 000 03C 042 30 N 038 01+1t OC2 oA2 092 08A 086 04'+ 038 70 S 000 03A 01+6 Olt2 011-6 03A 002 002 002 31 N 010 018 Oh 010 010 010 010 010 07C 71 S 000 OSC 062 011-2 062 OSC 0'+0 0 .. 0 0'+0 0'+2 01+2 03e 32 N 07C 082 080 0'+0 038 00'+ 002 002 OF( 72 N 000 000 000 03A 0~6 002 002 002 002 33 N 07C 082 080 080 070 080 080 082 01C 73 N 000 000 000 o3C O~2 OOC 030 0'+2 03C 3tt N Otto 060 OSO nlf8 Oillf OFE 01f0 0'+0 0110 7'1- N gOO 008 008 {lIe 008 008 008 01+8 030 35 N OFt 002 002 n02 07E oeD 080 082 01C 7S N 000 000 000 nll-2 0'+2 0,+2 042 062 OSC 36 N 078 081f 002 002 07A 086 0132 082 07C 76 N 000 000 000 nlt'!- 011-1+ 31 N OFF:: 080 080 01+0 020 010 008 DOli- 002 77 N 000 000 000 082 082 092 092 0'92 06C 38 N 07c 082 082 0'+'1 038 0'+11- 082 082 07C 78 N 000 000 000 0'+2 02'+ 018 018 021+ 39 N 07C 082 082 OC2 OBC 080 060 0'12 03C 79 S 000 01+2 011-2 nll-2 062 05C 0"0 01+2 03C 0~4 0'+1+ 028 010 0~2 3A N 000 000 000 018 018 000 000 018 018 7A N 000 000 000 n7E 020 010 008 00,+ 07E 38 SODa 018 018 nOD 000 016 018 008 00'+ 78 N 030 008 008 008 001+ 008 008 008 030 3C N 020 010 008 00'1 002 00'1 008 010 020 7C NOlO 010 010 000 000 000 010 010 010 30 N 000 000 000 nFE 000 000 QFE 000 000 70 N 018 020 020 020 0'+0 020 020 020 016 3E N 008 010 020 0'10 080 01f0 020 010 008 7E: N 000 000 000 noc 092 060 000 000 000 3F N 07C 082 082 n80 060 010 010 000 010 7F N OU 05,+ OAA Signetics 05~ OAA 05'+ OAA 05,. OAA JANUARY 1982 MICROPROCESSOR DIVISION SC2670 DISPLAY CHARACTER AND GRAPHICS GENERATOR (DCGG) l:tQii"ii,t·'¢1 ABSOLUTE MAXIMUM RATINGS1 PARAMETER Supply vollage Operaling ambienllemperalure2 Siorage lemperalure All vollages wilh respecllo ground 3 RATING UNIT 6.0 010 +70 -6510 +150 -0.310 +6.0 V °c °c V NOTES 1 Stresses above those hsted under Absolute MaXimum Ratings may cause permanent damage to the deVice This 18 a stress rating only and functional operation of the deVice at these or any other condition above those mdlcated In the operation section of thiS specification 18 not Implied 2 For operating at elevated temperatures. the deVice muat be derated based on + 150"C maximum Junction temperature and thermal retustsnce of 60"C/W Junction to ambient (ceramic package) 3 This product Includes circuitry specifICally deSigned for the protection of Its Internal deVices from the damagmg effects of excessive static charge Nonetheless It IS suggested that conventional precautions be taken to aVOid applymg any voltages larger than the maxima DC ELECTRICAL CHARACTERISTICS TA = O°C 10 70'C, VCC = 5.0V ± 5% 1.2.3 LIMITS PARAMETER TEST CONDITIONS Min Typ Max UNIT VIL Inpul low vollage 0 0.8 V VIH Inpul high vollage 2.0 VCC V VOL Oulp"1 low vollage 0 0.45 V VOH Oulpul high vollage 2.4 VCC V IlL Inpul leakage currenl 10 p.A 10L Oulpul leakage currenl ICC Supply currenl CIN Inpul capacilance COUT Oulpul capacilance AC CHARACTERISTICS TA = 1.6mA 10 = -1001tA 10 VIN = 0 10 4.25V Vo = 0.410 4V VCC = 5.25V 50 All olher pins grounded = O°C 10 +70'C, VCC = 5V ± 5% ±10 p.A 100 mA 10 pF 15 pF 1.2.3 TENTATIVE LIMITS PARAMETER Min Max UNIT IWS Sirobe pulse widlh 100 ns lAS Address selup 50 ns IAH Address hold 25 ICA Characler seleci access 300 ns ILA Line select access 500 ns ISEL Chip selecl delay' 250 ns IDES Chip deseleci delay' 200 ns ISC Special characler blank I unblank lime 1 p's ns NOTES Parameters are valid over operatmg temperature range unless otherwise specified All voltage measurements are referenced to ground All time measurements are at 50% level for mputs and at the 0 BV or 2 OV level for outputs Input levels are 0 45V and 2.V 3 TYPical values are at +25°C. typical supply voltages and typical proceSSing parameters 4 Test conditions CL = 100pF and 1 TTL load Signetics 2·9 JANUARY 1982 MICROPROCESSOR DIVISION DISPLAY CHARACTER AND GRAPHICS GENERATOR (DCGG) 'mu", ..t.", TIMING DIAGRAMS C _ ' _ '_'LA_ CAS,CAO NOTE 1 WHEN GM= 1, SCD INPUT IS INACTIVE CSTROBE CAO-CA7,OM ___c CSTROBE ---I~ 00-00 _ _-::;OlJ11!UTB:;;,,;,;;:,;TIII-II=t:;,;:'TE=-_ _ NOTE 1 CA7 OPERATES AS OUTPUT ENABLE ONLY IN CHARACTER MODE (GM=O) 2·10 Signetics - .... -1 0lJ11!UTB...... } - - SC2670 JANUARY 1982 MICROPROCESSOR DIVISION DISPLAY CHARACTER AND GRAPHICS GENERATOR (DCGG) SC2670 l:mil"JI,t.!lj = Signetics 2·11 2 MICROPROCESSOR DIVISION JANUARY 1982 DISPLAY CHARACTER AND GRAPHICS GENERATOR (DCGG) l81ii"jj,(.I'I 2·12 Signetics SC2670 MICROPROCESSOR DIVISION JANUARY 1982 DISPLAY CHARACTER AND GRAPHICS GENERATOR (DCGG) SC2670 1#1 11 "",1.1,, = Signetics 2·13 2 MICROPROCESSOR DIVISION JANUARY 1962 DISPLAY CHARACTER AND GRAPHICS GENERATOR (DCGG) 'm""n,[.I" 2·14 Signetics SC2670 MICROPROCESSOR DIVISION JANUARY 1982 PROGRAMMABLE KEYBOARD & COMM CONTROLLER (PKCC) DESCRIPTION FEATURES The Signetics 2671 Programmable Keyboard and Communications Controller (PKCC) is an MOS LSI device which provides a versatile keyboard encoder and an independent full duplex asynchronous communications controller. It is intended for use in microprocessor based systems and provides en eight bit deta bus interface. • Keyboard Interface Contact or capacitive kayboard Up to 128 key. on .n 8 X 16 matrix Encoded or unencoded operation Four code level. per key Latched key optlon- ••p.rat. d.press .nd r.I•••• code. Programmabl. acan rata .nd debounc. tim. Progr.mm.bl. rollov.r mod•• Progr.mm.ble .uto-r.p.at for ••I.cted k.ys Ton. output-two fr.qu.ncl.s • Asynchronous communication Int.rfac. Int.rn.1 baud rat. g.ner.tor-16 rates Full dupl.x op.r.tlon D.t.ctlon of stert .nd .nd of br•• k Programm.bl. br••k g.neratlon Progr.mmable ch.r.ct.r p.r.m.t.rs Auto-acho .nd m.lnt.nsnce loopb.ck modes • PolI.d or Int.rrupt op.r.tlon • Int.rrupt priority controll.r .nd vector g.n.rator • Operat.s dlr.ctly from cryst.1 or .xt.rn.1 clocks • TTL compatlbl. • Slngl. +5 volt pow.r .upply • 40 pin dual In-line packag. The keyboard encoder handles the scsnning, debounce, and encoding of a keyboard matrix with a maximum of 128 keys. It provides four levels of key encoding corresponding to the separate SHIFT and CONTROL input combinations. Four keyboard rollover modes can be programmed includIng provisions for up to 16 latched keys. Control outputs are provided for interfacing with contact or capacitive keyboards. An eight bit keyboard status register provides status information to the CPU. The receiver section of the communications controller accepts serial data from the RxD pin and converts it to parallel data characters. Simultaneously, the transmitter section accepts parallel data from the data bus end outputs serialized data onto the TxD pin. Received data is checked for parity and framing errors, and break conditions are flagged. Character lengths can be programmed as 5, 6, 7, or 8 bits not Including parity, start or stop bits. An internal baud rate generator (BRG) with 16 divider ratios can be used to derive the receive and I or transmit clocks. The BRG can accept an external clock or operate directly from a crystal. An eight bit communications status register provides status Information to the CPU. The PKCC has an interrupt mask register to selectively enable certain keyboard and communications status bits to generate in· terrupts. Priority encoded interrupt vectoring is available. Upon receipt of an interrupt acknowledge, an interrupt vector will be output on 00-07 reflecting the source of the interrupt. The interrupt source can also be read from an interrupt status register. PIN CONFIGURATION Vee AxO .,0 XTAL2/BRClK XTAL1 Axe TXe .,•• xAO M REPEAT ~ !lRIrT liii el5IITIIl![ WIi TONE lIlfA xAET 07 DO DO 01 os D. d. IIITII Vss O' mTII APPLICATIONS • • • • • CRT t.rmlnal. Hard copy t.rmlnals Word proc.sslng syst.ma Data .ntry t.rmlnals Small busln.ss comput.rs FUNCTIONAL DESCRIPTION The PKCC consists of six major sections (see block diagram). These are the transmitter, receiver, timing, operation control, keyboard encoder, and a priority encoded int.rrupt control unit. These sections communicate with each other via an Internal data bus and an internal control bus. Th. internal data bus interfaces to the microprocessor data bus via a bidir.ctional data bus buff.r. ORDERING CODE PACKAGES SC2671 COMMERCIAL RANGES VCC= 5V ±5%, TA= O"C to 7O"C Ceramic DIP SC2671 ACSI40 Plastic DIP SC2671 ACSN40 Signetlcs Operation Control This functional block stores configuration and operation commands from the CPU and generates appropriate signals to various internal sections to control the overall device op.ration. It contains read and write circuits to permit communications with the microprocessor via the data bus and contains mode registers KMR and CMR, the command d.coder, and status registers KSR and CSR. Details of operating mod.s and status information are pr.s.nted In the Operation section of this data sheet. The regist.r addressing is sp.cified in table 1. Timing The PKCC contains a baud rate generator (BRG) which is programmable to accept .xternal transmit or receive clocks or to divide an external clock to perform data communications. The unit can g.nerat. 16 baud rates, any of which can be s.l.ct.d for full duplex operation. Th. external clock to the baud rate generator can be appli.d directly to the XTAL2 input (see figure 21) or can be generated internally by connecting a crystal across the XTAL 1, XTAL2 Input pins. The clock input is also utilized by the keyboard encoder section. Thus, a clock must b. provided even if external transmitter and receiver clocks are used. 2·15 2 ==== MICROPROCESSOR DIVISION JANUARY 1982 PROGRAMMABLE KEYBOARD Ik COMM CONTROLLER (PKCC) SC2671 'PI""II,I.", PIN DESIGNATION PIN NO. TYPE NAME AND FUNCTION 00-07 MNEMONIC 16·19, 23·26 1/0 Data Bus: 8-bitthree-atate bidirectional data bus. All data, command and atatustransfers are msde using this bua. DO is the least aignificant bit; 07 ia the moat significant bit. AO·A2 31·33 I RD 29 I Read Strobe: When low, gates the selected PKCC register onto the data bus if CE ia alao low. WJ!i 28 I Write Strobe: When low, gates the contenta of the data bus into the selected PKCC register if CE is also low. CE 30 I Chip Enable: When high, places the 00-07 output drivers in a three-state condition. If CE is low, data transfers are enabled in conjuction with the RD and WR inputs. INTR 22 0 Interrupt Reque.t: Several conditions may be programmed to requeat an interrupt to the CPU. It ia an active low open-drain output. Thia pin will be inactive aiter power on reaet or a maater reaet command. INTA 27 I Interrupt Acknowledge: Used to indicate that an interrupt request has been accepted by the CPU. When INTA goes low, the PKCC outputs an 8-bit address vector on 00-07 corresponding to the highest priority interrupt currently active. XINTR 21 I External Interrupt: An active low external interrupt input to the PKCC interrupt priority resolver. TxC 34 1/0 Transmitter Clock: The function of this pin depends on bit 7 of the baud rate control register (BRR7). If external transmitter clock is aelected (BRR7 0), it is an input for the transmiller clock. If internal transmitter clock is aelected (BRR7 1), this pin is an output which ia a multiple of the actual baud rate (1 X, 16X) as selected by BRR5. The data is transmitted on the falling edge of TxC. It is an input after power on and aiter master reset or communications reaet commands. RxC 35 1/0 Receiver Clock: The function of this pin depends on BRR6. If external receiver clock is selected (BRR6 0), it is an input for the receiver clock. If internal receiver clock is selected (BRR6 I), this pin is an output which is a multiple of the actual baud rate (IX, 16X) as selected by BRR4. The received dsta is aampled on the rising edge of RxC. It ia an input aiter power on and after master reset or communications reset commands. Address Unes: Used to select internal PKCC registers or commands. = = = = TxD 38 0 Transmitter Data: This output is the transmitted aerial data; the least significant bit is transmitted first. This pin is high after power on reset or a reset command that affecta the tranamitter. RxO 39 I Receiver Data: This input is the serial data input to the receiver. The least significant bit ia received first. 36,37 I Connections for Crystal: Provides an on-chip clock generator for the internal baud rate generator and the keyboard interface logic. If an external clock is provided, use XTAL2 as the clock input. See figures 20 and 21. XTALI XTAL2/BRCLK All timing parametera such as keyboard scan time, tone frequency, and baud rate assume a clock input at the specified BRG input frequency. If this frequency is different, the timing parameters will vary proportionately. KRO-KR2 10-8 0 Keyboard Row Scan: Decoded externally; selects one of eight rows. KCO-KC3 7-4 0 Keyboard Column Scan: Decoded externally; selects one of 16 columns. KRET 15 I Key Return: An active high level indicates that the key being scanned is closed. SHIFT 12 I SHIFT Key: Active low input from the SHIFT key. The combination of SHIFT and CONTROL inputs select one of four possible codes from the internal key encoding ROM. CONTROL 13 I CONTROL Key: Active low input from the CONTROL key. The combination of SHIFT and CONTROL inputs select one of four possible codes from the internal key encoding ROM. 2-16 Signetlcs MICROPROCESSOR DIVISION JANUARY 1982 PROGRAMMABLE KEYBOARD & COMM CONTROLLER (PKCC) SC2671 'w""n"·"t PIN DESIGNATION (Cont.) REPEAT 11 I REPEAT Key: Active low input from the REPEAT key. Causes the key depression currently active to be repeated at a rate of approximately 15 times per second. KCLK 3 0 Keyboard Clock: High frequency (approximately 400 kHz) output used to scan capacitive keyboards. KDRES 2 0 Key Detect Reset: Resets the analog detector before scanning a key. Used for capacitive keyboards. HYS 1 0 Hysteresis Output: Sent to the analog detector for capacitive keyboard applications. A low indicates the key currently being scanned has been recognized on previous scan cycles. TONE 14 0 Square Wave Output: Used for tone generation. VCC 40 I +5V power supply. VSS 20 I Ground. Receiver The receiver accepts serial data on the RxD pin, converts this serial input to parallel format, checks for break conditions, framing and parity errors, and loads an "assembled" character in the receive holding register for access by the CPU. Transmitter The transmitter accepts parallel data loaded by the CPU into the transmit holding register and converts It to a serial bit stream framed by the start bit, calculated parity bit (if specified), and stop bites). The composite serial stream of data is transmitted on the TxD output pin. Keyboard Encoder The keyboard encoder provides ancoded CE A2 AI AO RD/WR 1 0 0 0 X 0 0 0 X 0 0 0 X 0 0 1 X WR AD AD,WR 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 0 1 0 1 1 WR AD WR AD AD,WR RD,WR AD RD Wi!i scanning signals for a matrix keyboard. Key depressions are detected on the KRET input. The debounced and verified key codes (or matrix addresses) are loaded into the key holding register for access by the CPU. Figures 1 and 2 illustrate the PKCC interface to contact and capacitive keyboards, respectively. Interrupt Control The interrupt controller unit contains a soliware programmable interrupt mask register which selactively enables status conditions from the keyboard encoder and communication controller to generate interrupts. The intarrupts are priority encoded and individually generate an eight bit vector which is output on the data bus in response to a CPU interrupt acknowledge on the INTA input pin. FUNCTION Three-state data bus Reset command (see table 6) Read interrupt status register (lSR) Read/write communications mode register (CMR) Write transmit holding register (TxHR) Read receiver holding register (RxHR) Write baud rate mode register (BRR) Read communications status register (CSR) Read/write interrupt mask register (IMR) Read/write keyboard mode register (KMR) Read keyboard holding register (KHR) Read keyboard status register (KSR) Miscellaneous commands (see description) NOTE x - don't care. Table 1. 2671 REGISTER ADDRESSING Signetics OPERATION Keyboard Encoder The keyboard is continuously scanned by KCO-KC3 and KRO-KR2 which are decoded externally to handle 128 possible keys (see figures 1 and 2). KCO-KC3 select one of 16 columns and KRO-KR2 multiplex the eight row return lines into the KRET pin. Debouncing is accomplished by remembering a 1 state at the KRET pin when a key is being addressed and verifying it one scan later. Once the key is verified, a key code is loaded into the keyboard data register (KDR). " the keyboard holding register (KHR) is empty, the contents of the KDR will be transferred to the KHR immediately; if the KHR IS full (i.e., the CPU has not read the previous key code), the transfer will be held off until the KHR is read. The data transfer to the KHR causes keyboard data ready (KRDY) to be set in the keyboard status register. For capacitive keyboards, the high frequency output KCLK can be used to gate the column scan to the keyboard (see figure 2). The key detector reset (KDRES) output resets the analog detector prior to scanning each key location. The output from the analog multiplexer is sensed and then latched in the analog detector. The HYS output controls the sense level. A 0 will lower the sense level causing hysteresis, and a 1 will raise the sense level with no hysteresis. The REPEAT input enables the keyboard logic to recognize any key repeatedly, 15 times per second. Additionally, certain keys can be programmed to repeat automatically if depressed for more than one-half second. A square wave is output on the TONE pin when the CPU issues a ring tone command to the PKCC. 2·17 MICROPROCESSOR DIVISION JANUARY 1982 PROGRAMMABLE KEYBOARD & COMM CONTROLLER (PKCC) SC2671 'am",,"·i-"i BLOCK DIAGRAM .1)I 080-7 DATA K BUS BUFFER KEYBOARD ENCODER KCLK t CONTROL 1 OPERATION CONTROL. t------< Ali eMR VIR 2 } - XINTR I. KMR a;; I KEYBOARD SCANNER & KSR ENCODER/DECODER I KDRES KCO-3 CSR COMMAND DECODER KRET KRO-2 ,- r------i I I I I ~ 4X128X8 READ-ONLY MEMORY !------i INTERRUPT CONTROL • VECTOR GENERATOR [:J urn; I MODE & TIMING KEYBOARD DATA REGISTER ~ I I Vec_ GND_ TIMING T,C R,C I I I I BAUD RATE GENERATOR BAUD RATE CONTROL REGISTER - TRANSMITIER -" XTAL2 >-- f TONE GENERATOR --y XTAL1! BRCLK KEY HOL.DING REGISTER TRANSMIT HOLDING REGISTER TRANSMIT SHIFT REGISTER r RECEIVER INTE';;uP'; RECEIVE HOLDING REGISTER TIMING RECEIVE CONTROLS 2·18 Signetics SHIFT REGISTER 1 I TONE MICROPROCESSOR DIVISION JANUARY 1982 SC2671 PROGRAMMABLE KEYBOARD & COMM CONTROLLER (PKCC) 'm"..lIel·'N the code in the KDR is transferred to the KHR and the KRDY status bit is set (KSRO). CONTACT KEYBOARD INTERFACE N-Key Rollover With Latched Keys: This mode is the same as regular N-key rollover, except that the keys which are assigned to row a of the keyboard matrix (KR2-KRO = 000) produce a code both when depressed and when released. The codes are independent of the states of the inputs at SHIFT and CONTROL. If one or more of the latched keys are depressed when the keyboard is enabled (after a keyboard reset), the corresponding codes will be sent out as the keys are scanned and debounced. Note that simultaneous latched keys will not set KERR (KSR 1) and that latched keys will not be auto-repeat and will not be affected by the REPEAT input. KRET )I KR2-0 DIGITAL MULTIPLEXER 8 ROWS I PKCC r---KC3-0 1 OF 16 16 DECODE COLUMNS ~ '-CONTACT KEYBOARD MATRIX Figure 1 Two-Key Rollover: The first key code is loaded into the KDR immediately and the second code is loaded only after the first key is released. Simultaneous keys will set KERR (KSR1). If three or more keys remain closed at any given time, the KERR bit will also be set. All keys must then be released before the next KRET will be processed. CAPACITIVE KEYBOARD INTERFACE ANALOG DETECTOR KRET HV! KDRES J'f )I KR2-0 ANALOG MULTIPLEXER I BROWS PKCC ;---KeLK 1 OF 16 16 COLUMNS DECODE KC3-0 ~ ~ CAPACITIVE KEYBOARD MATRIX Two-Key Inhibit: All keys must be released between keystrokes; otherwise, KERR (KSR1) will be set. Bit KMR4 specifies the key encoding mode. Each key is assigned four S-bit codes, corresponding to the states of the SHIFT and CONTROL inputs. If the encoded mode is programmed, the row/column address of the detected key is used to load one of the four key codes into the KDR. See table 2 for key code assignments. If the non-encoded mode is programmed, the row / column address is loaded directly into the KDR with the following format: Figure 2 KDR Keyboard Mode Register Operating modes are selected by programming the keyboard mode register (KMR), whose format is illustrated in figure 3. Bit KMR7 is used for testing the device. For normal operation, this bit should always be written to a O. Bits KMR6-KMR5 select the rollover modes for keyboard processing: N-key Rollover: In this mode, the code corresponding to each key depression is loaded into the KDR as soon as that key is debounced, independent of the release of other keys. Two or more closures occurring within one scan cycle are considered to be simultaneous, which will set keyboard error in the keyboard status register (KSR1). As soon as the keyboard holding register is empty, Signetics [TLL KC3, KC2. KC 1. KCD "0" for momentary keys "1" for latched keys release "0" for latched keys depress 2·19 2 MICROPROCESSOR DIVISION JANUARY 1982 PROGRAMMABLE KEYBOARD &COMM CONTROLLER (PKCC) SC2671 'Wn"ii,l.iu ROW (KR2-KRO) COLUMN (KC3-KCO) a 1 2 3 4 S 6 7 8 9 A 8 C 0 E F 2 1 0 3 09 09 09 09 I 11 11 DCl DCl 51 71 0 17 ET8 ET8 CO DO CO DO lB lB lB lB El Fl El Fl Cl 01 Cl 01 21 31 21 31 E2 F2 E2 F2 C2 02 C2 02 22 32 22 32 E3 F3 E3 F3 C3 03 C3 03 23 33 23 33 E4 F4 E4 F4 e4 04 C4 04 24 34 24 34 $ 1 I 1 " 2 "2 # 3 # 3 4 $ 4 ES FS E5 F5 CS OS C5 05 25 35 25 35 % E6 F6 E6 F6 C6 06 C6 06 26 36 26 36 & E7 F7 E7 F7 C7 07 C7 07 27 37 27 37 E8 F8 E8 F8 C8 08 C8 08 28 38 28 38 ( E9 F9 E9 F9 C9 09 C9 09 29 39 29 39 ) EA FA EA FA CA DA CA DA 37 37 37 37 E8 F8 E8 F8 C8 DB CB 08 EC FC EC FC 5 % 5 6 & 6 7 7 8 ( 8 7 6 a = •= 2A 3A 2A 3A . IF IF 7F 5F US US DEL lA lA 5A 7A 01 01 41 61 SOH SOH A 18 18 58 78 , 3D 20 3D 20 13 13 53 73 DC3 DC3 S s 03 03 43 63 ETX ETX C c IE IE 7E 5E ENO ENO E 04 04 44 64 EDT EDT 0 d 16 16 56 76 SVN SVN V FS FS v lC lC 7C 5C DC2 DC2 R r 06 06 46 66 ACK ACK F f 02 02 42 62 STX STX 8 b 06 08 08 08 BS BS 14 14 54 74 DC4 DC4 T t 07 07 47 67 8EL 8EL G 9 DE DE 4E 6E SO SO N n 10 10 50 70 19 19 59 79 EM EM V y 08 08 48 68 8S 8S H h 00 00 40 60 eR eR M 15 15 55 75 NAK NAK U OA OA 4A 6A LF LF J 3C 2C 3C 2C 08 08 48 68 VT VT K k 05 05 45 65 12 12 52 72 09 09 49 69 q W w . "HT , HT , a ,Z CAN CAN X 30 30 30 30 + ; +; US US US US • HT • HT SUB SUB 2B 3B 2B 38 IF IF IF IF 17 57 77 HT HT 0 0 0 ·- RS RS ~ I 18 18 78 58 : \ 8S 8S 8S • 8S 00 00 60 40 NUL NUL @ 09 09 09 09 • HT • HT < < 7F 7F 7F 7F DEL DEL DEL DEL 20 20 20 20 • SP • SP 3E 2E 3E 2E > > OA OA OA OA LF LF LF LF 08 08 08 08 • VT • VT FF FF L ? / 00 00 00 00 CR CR eR CR OA OA OA OA 0 0 0 0 AD BO AD 80 A6 86 AS 86 J m 9 0 , 7 7 7 7 34 34 34 34 4 4 4 4 31 31 31 31 1 1 1 1 30 30 30 30 38 38 38 38 8 8 8 8 35 35 35 35 5 5 5 5 32 32 32 32 2 2 2 2 2E 2E 2E 2E AI 81 AI 81 A7 87 A7 87 CC DC CC DC 39 39 39 39 9 9 9 9 36 36 36 36 6 6 6 6 33 33 33 33 3 3 3 3 8F AF 9F 8F A2 82 A2 B2 A8 88 A8 88 ED FD ED FD CD DO CD DO 90 90 90 90 93 93 93 93 82 82 82 62 95 95 95 95 A3 83 A3 83 A9 89 A9 B9 EE FE EE 91 91 91 FE CE DE CE DE 91 80 80 80 80 84 84 84 84 61 81 81 81 A4 B4 A4 B4 EF FF EF FF CF OF CF OF 92 92 92 92 94 94 94 94 83 83 83 83 96 96 96 96 T Th,. row contaon. the 'atched keys when that mode 18 selected (KMRe. KMR5 I CONTROL, (Pin 13 0) = ""1: XX XX XX XX = 00) Key code. on he, TABLE 2. ------.J . .. Vyy yyy yyy YVY tV / ? , · SP SP VT VT LF LF • LF • LF · AA AA ------ BA AB 88 A8 88 · ml'f (Pon ~ ~ HT HT 8A A5 85 A5 B5 I I 1 12 · ·· = 0) Latched key code fa r release Latched key code for depres ASCII equivalentt .. I¢==I~~~~;~~~~~::I: : :t-='~ =' '_ TROSE~ j LJ ""'. . L_____~_"__" __~r---IL___________~_ooo_'_:_~~____________~ rux," 2-36 CH... Signetics JANUARY 1982 MICROPROCESSOR DIVISION PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) SC2672 ':tA"..",I_"j ORDERING CODE COMMERCIAL RANGES VCC = SV ±S%, TA = O'C to 70'C PACKAGES Ceramic DIP SC2672C4140 Plastic DIP SC2672C4N40 2 PIN DESIGNATION PIN NO. TYPE NAME AND FUNCTION AO-A2 MNEMONIC 37-39 I Address Lines: Used to select PVTC internal registers for read / write operations and for DO-D7 8-15 1/0 8-Blt Bidirectional Three-State Data Bus. Bit 0 is the lSB and bit 7 IS the MSB. All data, command, and status transfers between the CPU and the PVTC takeplace over this bus. The direction of the transfer is controlled by the RD and WR Inputs when the CE input IS low. When the CE input is high, the data bus is in the three-state condition. RD 1 I Read Strobe: Active low Input. A low on this pin while CE is low causes the contents of the register selected by AO-A2 to be placed on the data bus. The read cycle begins on the leading (falling) edge of RD. WR 3 I Write Strobe: Active low input. A low on this pin while CE is also low causes the contents of the data bus to be transferred to the register selected by AO-A2. The transfer occurs on the trailing (rising) edge of WR. CE 2 I CClK 16 I Chip Enable: Active low input. When low, data transfers between the CPU and the PVTC are enabled on DO-D7 as controlled by the WR, RD, and AO-A2 inputs. When CE is high, the PVTC is effectively isolated from the data bus and DO-D7 are placed in the three-state condition. Character Clock: Timing signal derived from the video dot clock which is used to synchronize the PVTC's timing functions. HSYNC 19 0 Horizontal Sync: Active high output which provides video horizontal sync pulses. The timing parameters are programmable. VSYNC/CSYNC 18 0 Vertical Sync/Composite Sync: A control bit selects either vertical or composite sync pulses on this active high output. When CSYNC is selected, equalization pulses are included. The timing parameters are programmable. BLANK 17 0 Blank: This active high output defines the horizontal and vertical borders of the display. Display control signals which are output on DADD3 thru DADD 13 are valid on the trailing edge of BLANK. CURSOR 7 0 Cursor Gate: This active high output becomes active for a specified number of scan lines when the address contained In the cursor registers match the address output on DADDO thru DADDI3. The first and last lines of the cursor and a blink option are programmable. 35 0 Interrupt Request: Open drain output which supplies an active low interrupt request from commands. INTR any of five maskable sources. This pin is inactive after power on reset or a master reset command. lPS 36 I Light Pen Strobe: Positive edge triggered input indicating a light pen hit. Causes the current value of the display address to be strobed into the light pen register. CTRll 4 1/0 Handshake Control 1: In independent mode, provides an active low write data buffer (WDB) output which strobes data from the interface latch Into the display memory. In transparent and shared modes, this is an active low processor bus request (PBREa) input which indicates that the CPU desires to access the display memory. This control output has no meaning in row buffer mode CTRl2 5 0 Handshake Control 2: In independent mode, provides an active low read data buffer (RDB) output which strobes data from the display memory into the interface latch. In transparent and shared modes, this is an active low bus external enable (BEXT) output which indicates that the PVTC has relinquished control of the display memory (DADDO-DADDI3 are in the three-state condition) in response to a CPU bus request. BEXT also goes low in response to a 'display off and float DADD' command. In row buffer mode, it is an active low bus request (BREO) output which halts the CPU during a line DMA. Signetics 2·37 MICROPROCESSOR DIVISION JANUARY 1982 SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) 'w""""_,,, PIN DESIGNATION MNEMONIC CTRL3 DADDO-DADD 13 (cont.) PIN NO. TYPE NAME AND FUNCTION 6 0 34-21 0 Handshake Control 3: In independent mode, provides the active low buffer chip enable (BCE) signal to the display memory. In transparent and shared modes, provides an active low bus acknowledge (BACK) output which serves as a ready signal to the CPU in response to a processor bus request. In row buffer mode, this is an active high memory bus control (MBC) output which configures the system for the DMA transfer of one row of character codes from system memory to the row display buffer. Display Address: Used by the PVTC to address up to 16K of display memory. These outputs are floated at various times depending on the buffer mode. Various control signals are multiplexed on DADD3 thru DADO 13 and are valid at the trailing edge of BLANK. These control signals are: DADD3/L1 Line Interlace: Replaces DADD4/ LAO as the least significant line address for interlaced sync and video applications. A low indicates an even row of an even field or an odd row of an odd field. DADD4-DADD7/LAO-LA3 Line Address: Provides the number of the current scan line within each character row. DADD8/LNZ Line Zero: Asserted before the first scan line in each character row. DADD9/LPL Li9ht Pen Line: Asserted before the scan line which matches the programmed light pen line position (line 3, 5, 7, or 9). DADD10/UL Underline: Asserted before the scan line which matches the programmed underline position (line 0 thru 15). DADD11/BLINK Blink frequency: Provides an output divided down from the vertical sync rate. DADD12/0DD Odd Field: Active high signal which is asserted before each scan line of the odd field when interlace is specified. DADD13/LL Last Line: Asserted before the last scan line of each character row. VCC GND 40 I Power Supply: +5 volts ± 5% power input. 20 I Ground: Signal and power ground input. FUNCTIONAL DESCRIPTION As shown on the block diagram, the PVTC contains the following major blocks: • Data bus buffer • Interface Logic • Operation Control • Timing • Display Control • Buffer Control Data Bus Buffer The data bus buffer provides the interface between the external and internal data busses. It is controlled by the operation control block to allow read and write operations to take place between the controlling CPU and the PVTC. Table 1 PVTC ADDRESSING A2 A1 AO 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 READ (RD=O) Interrupt register Status register Screen start address lower register Screen start address upper register Cursor address lower register Cursor address upper register Light pen address lower register Light pen address upper register 2·38 Command register Screen start address lower reg. Screen start address upper reg. Cursor address lower register Cursor address upper register Display pointer address lower reg. Display pOinter address upper reg NOTE 1 There are 11 Inltlahzatlon registers which are accessed sequentlaUy via a smgle address The pvre mamtams an Internal pOinter to these registers which IS Incremented after each wrtte at thIS address until the last register (lR10, the split screen register) IS accessed. The pomter then continues to pOint to the split screen register Upon power-up or a master reset command, the internal pOinter IS reset to pOint to the first register (lRO) of the Initialization register group The Internal pOinter can also be preset to any register of the group via the 'load IR address pOinter' command Interface Logic The interface logic contains address decoding and read and write circuits to permit communications with the microprocessor WRITE (WR=O) Initialization registers 1 via the data bus buffer. The functions performed by the CPU read and write oper· ations are as shown in table 1. Signetics MICROPROCESSOR DIVISION JANUARY 1982 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) SC2672 'am""'..!··,, Operation Control Buffer Control The operation control section decodes configuration and operation commands from the CPU and generates appropriate signals to other internal sections to control the overall device operation. It contains the timing and display registers which configure the display format and operating mode, the inter· rupt logic, and the status register which provides operational feedback to the CPU. The buffer control section generates three signals which control the transfer of data between the CPU and the display buffer memory. Four system configurations requiring four different 'handshaking' schemes are supported. These are described below. SYSTEM CONFIGURATIONS Display Control Figure 1 illustrates the block diagram of a typical display terminal using the Signetics 2670, 2671, 2672, and 2673 CRT terminal devices. In this system, the CPU examines inputs from the data communications line and the keyboard and places the data to be displayed in the display buffer memory. This buffer is typically a RAM which holds the data for a single or multiple screenload (page) or for a single character row. The display control section generates linear addressing for up to 16K bytes of display memory. Internal comparators limit the portion of the memory which is displayed to programmed values. Additional functions performed in this section include cursor positioning, storage of light pen 'hit' location, and address comparisons required for generation of timing signals and the split screen interrupt. The PVTC supports four common system configurations of display buffer memory, designated the independent, transparent, shared, and row buffer modes. The first three modes utilize a single or multiple page RAM and differ primarily in the means used to transfer display data between the RAM and the CPU. The row buffer mode makes use of a single row buffer (which can be a Timing The timing section contains the counters and decoding logic necessary to generate the monitor timing outputs and to control the display format. These timing parameters are selected by programming of the initialization registers. shift register or a small RAM) that is updated in real time to contain the appropriate display data. The user programs bits 0 and 1 of IRO to select the mode best suited for the system environment. The CNTRL 1-3 outputs perform different functions for each mode and are named accordingly in the deScription of each mode. Independent Mode The CPU to RAM interface configuration for thIS mode is illustrated in figure 2. Transfer of data between the CPU and display memory is accomplished via a bidirectional latched port and is controlled by the signals read data buffer (ROB), write data buffer (WDB), and buffer chip enable (BCE). This mode provides a non-contention type of operation that does not require address multiplexers. The CPU does not address the memory directly-the read or write oper· ation is performed at the address contained in the cursor address register or the pointer address register as specified by the CPU. The PVTC enacts the data transfers during blanking intervals in order to prevent visual disturbances of the displayed data. CRT TERMINAL BLOCK DIAGRAM CP\J Figure 1 Signetics 2·39 2 JANUARY 1982 MICROPROCESSOR DIVISION SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) 'm"""'!·"t The CPU manages the data transfers by supplying commands to the PVTC. The com- INDEPENDENT BUFFER MODE CONFIGURATION mands used are: REFRESH 2672 PYle 1. Read / Write at pOinter address. 2. Read/Write at cursor address (with optional increment of address) 3. Write from cursor address to pOinter address. RAM OAOD - ADR DISPLAY ADDRESS ;;a; CTRL3 CTRL1 The operational sequence for a write operation is: CTRl2 - """ 1. CPU checks RDFLG status bit to assure that any previous operation has been completed. 2. CPU loads data to be written to display memory into the Interface latch. 3. CPU writes address Into cursor or pOInter co w. DATA 1/0 TO VIDEO DISPLAY DATA BUS LOGIC ;, registers. y~ 4. CPU issues 'write at cursor with/without 74LS364 I (jE cp 74LS364 increment' or 'write at pointer' command. 5. PVTC generates control signals and out· puts specified address to perform requested operation. Data is copied from the Interface latch into the memory. 6. PVTC sets RDFLG status to indicate that the write is completed ViR RD { FROM CPU FROM CPU SYSTEM DATA BUS I Figure 2 Similarly, a read operation proceeds as follows: 1. Steps 1 and 3 as above. 2. CPU Issues 'read at cursor with /without increment' or 'read at pointer' command. 3. PVTC generates control signals and outputs specified address to perform requested operatIon. Data is copied from memory to the interface latch and PVTC sets RDFLG status to indicate that the read is completed. 4 CPU checks RDFLG status to see if operation is completed. 5. CPU reads data from interface latch. LoadIng the same data into a block of dIs· play memory is accomplished via the 'write from cursor to pOinter' command: CPU checks RDFLG status bIt to assure that any previous operation has been completed. 2. CPU loads data to be written to display memory Into the Interface latch. 2·40 3. CPU writes beginning address of memory block into cursor address regIster and ending address of block Into pOinter address register. 4. CPU Issues 'write from cursor to painter' command. 5. PVTC generates control signals and outputs block addresses to copy data from the Interface latch into the specified block of memory. 6. PVTC sets RDFLG status to indicate that the block write is completed. play window (defined as first scan line of the first character row to the last scan line of the last character row), the operation takes place during the next horizontal blanking in· terval, as Illustrated in figure 3. If the command is gIven during the vertical blanking interval, or while the display has been com· manded blanked, the operation takes place Immediately. In the latter case, the execution tIme for the command IS approxImately one mIcrosecond plus six (6) character clocks (see figure 4). Similar sequences can be implemented on an interrupt driven basis using the READY interrupt output to advise the CPU that a previously requested command has been completed. TimIng for the 'write from cursor to pointer' operation is shown In figure 5. The BLANK output is asserted automatically and remains asserted until the vertical retrace in· lerval following completion of the command. The memory is filled at a rate of one location per two character times, plus a small amount of overhead. Two timing sequences are possible for the 'read /write at cursor / pointer' commands. If the command is given during the active dis- Signetics JANUARY 1982 MICROPROCESSOR DIVISION SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) 'pmllnllel·"t READ/WRITE AT CURSOR/POINTER COMMAND TIMING (Command received during active display window) ~ ;U ~ ~ ~ 1/ LANK ~ ~?:- OA oo _;n. YLAST Y CURSOR OR ADDRESS POINTER ADDRESS Y "X ---~ I 22 \ HORIZONTAL BLANKING INTERVAL I ----------------~~ 2 '~ ~, I I'f'---' '--I I \ NOTE Wnte waveforms shown In dotted hnes X XPVTC CONTROLSIGNAlSI 1ST CHAR TO VAC AND DCG ADDRESS Y r- I_REFRESH AOORESSES_ I I I ~~-------------------------------- 22 1,--, ! \ Figure 3 READ/WRITE AT CURSOR/POINTER COMMAND TIMING (Command received while display Is blanked) BUNK OADO PYle READ COMMAND ADDRESS ~_.-------------RE-FR-E-SH-A-O-D~-S-S-ES-~--------~~.~l----------------________~--~------------------__ Figure 4 Signetics 2·41 JANUARY 1982 MICROPROCESSOR DIVISION SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) 'W""IIe1·"1 WRITE FROM CURSOR TO POINTER COMMAND TIMING BLANK BLANK IS SET UNTIL FIRST VBLNK AFTER LAST WRITE """----------------j Figure 5 Shared and Transparent Buffer Modes In these modes the display buffer RAM IS a part of the CPU memory domain and is addressed dlreclly by the CPU. Both modes use the same hardware configuration with the CPU accessing Ihe display buffer via three-state drivers (see figure 6). The processor bus request (PBREO) control signal Informs the PVTC thallhe CPU is requesting access to Ihe display buffer. In response to Ihls request, the PVTC raises bus acknowledge (BACK) unlll its bus external (BEXT) outpul has freed the display address and data busses for CPU access. BACK, which can be used as a 'hold' input 10 the CPU, is then lowered 10 indicate that the CPU can access the buffer PVTC SHARED OR TRANSPARENT BUFFER MODES 2672 pVle PBR>Q CPu { = ID'f In transparent mode, the PVTC delays the granting of the buffer to Ihe CPU until a verticalor horizonlal blanking interval, Ihereby causing minimum disturbance of the display. In shared mode, Ihe PVTC will blank Ihe display and grant Immediale access 10 the CPU. Timing for these modes is illuslrated in figures 7, 8, and 9 2·42 REFRESH t-~====~~~~~======~ DISPLAY ADDRESS ADR RAM SYSTEM DATA BUS Figure 6 Signetics JANUARY 1982 MICROPROCESSOR DIVISION SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) 'm""""·"j TRANSPARENT BUFFER MODE TIMING ~~(1) ,------ ~;-------------~~----------------. ~~----~--~------~~-- ______ I \'----~2~~~_--AI ____ J------------~?------------------ 221 w ; W BLANK I/r-------H-O.-lz-O-NT-.-L-.LA...;~INl~...IN-G-,N-TE-.-V.-L------""\'------------i2------\ ------~2~ . \----------SYSTEM ADDRESSES CADDX;>..I= NOTES 1 PBREO must be asserted prior to the rlsmg edge of BLANK begm dunng that blanking penod In order for sequence to 2 If PBREQ IS negated after the next to last CCLK of the hOrizontal blanking mterval, the next scan hne will also be blanked Figure 7 SHARED BUFFER MODE TIMING '--____I-__-+____ ~ {c;---------~~-------------- +-~~ --- ___ __ J 2~ ~ ____ r---- r--------~~------------- ~,~-------J (1) \--------~~ - ---\._-------- ~~ BLANK -------' CADD NOTE 1 If PBRea IS negated after the next to last CCLK of the honzontal blanking Interval, the next scan hne Wilt also be blanked Figure 8 Signetics 2·43 JANUARY 1982 MICROPROCESSOR DIVISION SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) 'amn..""••" ,.j SHARED AND TRANSPARENT MODE TIMING '" PBREQ ----------------~~----------------. 12 VBLANK OR DBLANK BL.ANK B----cI: DAD~ --1 SYSTEM PROCESSOR HAS lJONTINUOUS BUS CONTROL. }OAoo\'-_ _ _ _ _ _~il~~---------J ~ _REFRESH ADDRESSES- ADDRESSES a) During Vertical Blank or after 'display off' command b) After 'display off and 3-slate' command Figure 9 Row Buffer Mode ROW BUFFER MODE CONFIGURATION Figures 10 and 11 show the timing and a typical hardware implementation for the row buffer mode. During the first scan line (line 0) of each character row, the PVTC halts the CPU and DMA's the next row of character data from the system memory to the row buffer memory. The PVTC then reo leases the CPU and displays the row buffer data for the programmed number of scan lines. The bus request control (BREQ) sig· nal informs the CPU that character ad· dresses and the memory bus control (MBC) signal will start at the next falling edge of BLANK. The CPU must release the address and data busses before this time to prevent bus contention. After the row of character data is transferred to the CPU, BREQ reo turns high to grant memory control back to the CPU. 2X2111 ROW REFRESH BREQ TO CPU Figure 10 ROW BUFFER MODE TIMING J\JV~f\J\J\J\J\.I'-I1JLF :----rc~ =< I I MBC _ _ _ _ I ~"-":: ~I~ 12 Figure 11 2·44 Signetics Ir-.:,....I_ __ 1 ~r--- \...._ _ __ JANUARY 1982 MICROPROCESSOR DIVISION SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) 'tam""n,I_'" groups, the PVTC is ready to control the monitor screen. Prior to executing the PVTC commands whIch turn on the dIsplay and cursor, the user should load the dIsplay memory with the first data to be displayed. Durmg operation, the PVTC will sequentially address the display memory within the limits programmed into its registers. The memory outputs character codes to the system character and graphICS generation logic, where they are converted to the seroal video stream necessary to display the data on the CRT. The user effects changes to the display by modifying the contents of the display memory, the PVTC display control and command registers, and the initialization registers, if reqUired. Interrupts and status condItIons generated by the PVTC supply the 'handshaking' information necessary for the CPU to effect the display changes in the proper time frame. OPERATION After power is applled,the PVTC will be In an inactive state. Two consecutive 'master reset' commands are necessary to release this circuitry and ready the PVTC for oper· ation. Two register groups exist within the PVTC: the initialization registers and the display control registers. The initialization regIsters select the system configuration, monitor timing, cursor shape, display memory domain, and screen format. These are loaded first and normally require no modification except for certain special visual effects. The display control registers specify the memory address of the base character (upper lell corner of screen), the cursor positoon, and the pointer address for independent memory access mode. These usually require modIfication during operation. Alter initial loading of the two register INITIALIZATION REGISTERS There are 11 inItIalizatIon regIsters (lRO-IR 10) whIch are accessed sequentially via a single address. The PVTC maintains an internal pointer to these registers which - - - is incremented after each write at this address until the last register (lR 10, the split screen register) is accessed. The pOinter then continues to point to the split screen register. Upon power-up or a master reset command, the internal pointer is reset to pomt to the first register (lRO) of the initIalizatIon register group. The internal pointer can also be preset to any regIster of the group via the 'load IR address pOinter' command These registers are write only and are used to specify parameters such as the system configuration, dIsplay format. cursor shape, and monitor timing. RegIster formats are shown In figure 12 2 INITIALIZATION REGISTER FORMATS am ... NOT USED 0000"" 1l_ 0G01- 2LMS 0010 = 3UN1S 0001 0010 1110= 15UNES 1111"'"18L1N1S 1110= 31 LINES 1111 = UNDEFIED =SLIES =7 LIES ~I - o '" VSYNC 00 1 01 =CSYNe =INDEPEMJENT =TRANSPARENT = BIT7 ... :.,Wam ·....!!!!-·....!!!!.·AC~IV::...:,T: 00000010 [ . .- -.- -.- -.- -.- -.- -. .:C 11111110 =-255 CHARACTERS 1",1111 "" 256 CHARACTERS 10"" SHARED 11 ROW L.----'_ _ '._---'-_ _ _ _-'------'_ _ ..,..orr, ....... lA, ~~;·-~~~~I "IT ' B1T7 [ .... 000' .. SCAN LINE 1 '-_.....L_ _• _ _ • _ _ • _ _• _ _ • _ _ • WI2 BlT7 = II CQJ( 001 NOT. USED . / . 1110=30CCLJ( 1111 =32ca.K • • 110 = 2I!iCCLK 111 =2SlCCLK -- ~::..r:"'I";· BIT.. ~~:;~BIT' .. 00000 "" 4 SCAN LINES 001 00001 "'" 6 SCAN UtES IR3 110 = 28 SCAN LINES 111 = 32 SCAN LINES ----1-. am CHAIIM:mo BUNK ... ~ VSYNC 1/32 VSYNC 1 .. 000 - 4 SCM LINES = .JIIT. [ 00000oo 0000001 BIT3.8IT2_BlT1. . =1 ROW =2 ROWS BlT4 CHAR 01=SCANUM:5 10='SCANUfiE7 11 "'SCANLINE8 O=NO 1=YES -O=NO 1=YES 81T7 r!~Y:U~!~';ADD'"!'ESS~S8~1T2 -~-J.rro ---..!!!!.-- 8IT3 . . . 1110 = SCAN UNE 14 1111 '" SCAN LIE 15 If000'= 0 H'001'= 1 - H'FF£' = 4,094 NOTE MY'S ARE .. 1RII(30) H'FFF' "" 4,085 -- --- --- --- --- --- -- 11110 = 84 SCAN LINES ACTIVE CHARACTER ROWS IleA ICfEEN ~~~~~~.Jarro BITS -- IR8 1--,-: :. :.:. .:. -I : : . :. : :.:.: :. :. .: 11111=HSCANUNES -_ _ •_ _•_ _ • 1I11I.IfTS.1IIT4. IIT6 I-~-== .- -- -.- -- =8 SCAN LINES It7 • 1111=-SCANLlNE15 =SCAN UNE 3 00 CQJ( 0001 '" 4 CCLK . .-. -- 111:=SCAN LlNE14 1110.:SCAN LINE 14 1111 = SCAN LINE 15 ',11110_127CCLK .LA~7...~~~.JBrro 0000 = SCAN LINED 0001 .. SCAN LINE 1 .- -.- -. IMl ~AL.sy.:,rr':";:C81T3 ~~.J"': 0000 =2 000 = 1 CCLK Brr, lIT, ·ARS~ ~~:.. 0000 .. SCAN LINE 0 1111111 .. 128 CCLK BITO .~.JBIT. = 3 CHARACTERS 00000011 "" • CHARACTaIS BrrG (NOTE]! 0000 - 1,023 0001'" 2,047 -: .__.__. 1110= 15,3119 1111"" 18,383 1111110= 127 ROWS 1111111 128 ROWS = BIT7 L _ _L - _ · _ _ • _ _ • _ _ • _ _ • _ _ • NOTE CURSOR 1 In Interlace mode with odd total character rows per screen the last cha!Jcter row will be the programmed scan lines per character row minus one BUNK ~ IR10 0"" 1/16 1 VSYNC 1132 VSYNC = I -~ .__.__. .J"". __.__.__.__.__. BITe ...... :rr~~= . BIT, '---'---'. =·ROW 1111110 126 1111111 '" ROW 127 Figure 12 Signetics 2-45 MICROPROCESSOR DIVISION JANUARY 1982 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) SC2672 'm",,",I-,'j IR0[6:3]-Scan Lines per Character Row Both interlaced and non-interlaced scanning are supported by the PVTC. For interlaced mode, two dIfferent formats can be implemented, depending on the interconnectIon between the PVTC and the character generator (see IR1(7)). ThIs field defines the number of scan lines used to compose a character row for each technique. As scanning occurs, the scan line count is output on the LAO-LA3 and LI pins. IR1[6:0]-Equallzlng Constant ThIs fIeld indirectly defines the horizontal front porch and is used internally to generate the equalizing pulses for the RS 170 compatIble CSYNC. The value for this field is the total number of character clocks (CCLK) during a horizontal line period divided by two, minus two times the number of character clocks in the horizontal sync pulse' HACT + HFP + HSYNe + Hap EC = -2(HSYNC) The definition of the individual parameters is Illustrated in figure 14. IR0[2]-VS/CS Enable This bit selects either vertical sync pulses or composite sync pulses on the VSYNC/CSYNC output (pIn 18). The composite sync waveform conforms to EIA RS 170 standards, with the vertical interval composed of six equalizing pulses, six vertical sync pulses, and six more equalizing pulses. Note that when using the 2673 VAC, it will delay the blank pulse three CCLKs relative to the HSYNC pulse. IR2[6:3]-Horizontal Sync Pulse Width This field specifies the width of the HSYNC pulse in CCLK periods. IR0[1:0]-Buffer Mode Select IR2[2:0]-Horlzontal Back Porch Four buffer memory modes may be selectively enabled to accommodate the desired system configuration. See System Configuration. This field defines the number of CCLKs between the trailing edge of HSYNC and the trailing edge of BLANK. SpecIfies interlaced or noninterlaced timing operation. Two modes of interlaced operation are available, depending on whether LO-L3 or LI, LO-L2 are used as the line address for the character generator The resulting displays are shown in figure 13. For 'interlaced sync' operatIon, the same information is displayed in both odd and even fields, resulting in enhanced readability. The PVTC outputs successive line numbers in ascending order on the LAO-LA3 lines, one per scan line for each field. The 'onterlaced sync and video' format doubles the character density on the screen The PVTC outputs successIve line numbers in ascending order on the LI, LAO-LA2 lines, one per scan line for each field, but alternates beginning the count with even and odd line numbers. This displays the odd fIeld with even scan lines in even character rows and odd scan lines in odd character rows, and the even field with odd scan lines in even character rows and even scan lines on odd character rows. This provides balanced beam currents in the odd and even fields, thus minimizing character variations due to different loading of the CRT anode supply between fields. 2·46 ThIs field determines the number of characters to be displayed on each row of the CRT screen. The sum of thIS value, the horizontal front porch, the horizontal sync width, and the horizontal back porch is the horizontal scan period in CCLKs. IR6[7:4]. IR6[3:0]-First and Last Scan Line of Cursor These two fields specify the height and poSItion of the cursor on the character block. The 'first' line IS the topmost line when scanning from the top to the bottom of the screen. IR7[7:6]-Light Pen Line Position This field defines which of four scan lines of the character row will be used for the light pen strike-thru attribute by the 2673 VAC. The tIming signal is multiplexed onto the DADD91 LPL output during the falling edge of BLANK. IR7[5]-Cursor Blink Enable IR3[7:5]-Vertlcal Front Porch IR1[7]-lnterlace Enable IR5[7:0]-Actlve Characters Per Row Programs the number of scan line periods between the rising edges of BLANK and VSYNC during a vertical retrace interval. The width of the VSYNC pulse is fixed at three scan lines. IR3[4:0]-Vertical Back Porch This fIeld determines the number of scan line peroods between the falhng edges of the VSYNC and BLANK outputs. IR4[7]-Character Blink Rate Specifies the frequency for the character blink attribute timing. The blink rate can be specified as 1/16 or 1/32 of the vertical fIeld rate. The timing signal has a duty cycle of 75% and is multiplexed onto the DADD 111 BLINK output at the falhng edge of each BLANK. ThIS bit controls whether or not the cursor output pin will be blinked at the selected rate (lR 10(7)). The blink duty cycle for the cursor IS 50%. IR7[4]-Double Height Character Row Enable If enabled, the number of each scan line will be repeated twice in succession, causing the height of the character row to double. This bit can be changed at any time but will only become effective at the begInning of the character row following the tIme it is ehanged. This allows selected character rows to be of double height. The split screen onterrupt can be used to notify the CPU when to effectuate changes to this bit. For each double height row which replaces a normal row, one row count should be subtracted from the 'character rows per screen' field (lR4) to maintain the same total number of scan lines per field. IR4[6:0]-Character Rows Per Screen This field defines the number of character rows to be displayed This value multiplied by the scan lines per character row, plus the vertical front and back porch values, and the vertical sync pulse width (three scan lines) IS the vertical scan period in scan lines. 5ignetics IR7[3:0]-Underllne Position This field defines which scan line of the character row will be used for the underline attribute by the 2673 VAC. The timing signal is multiplexed onto the DADD10/UL output during the falling edge of BLANK. JANUARY 1982 MICROPROCESSOR DIVISION SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) INTERLACED DISPLAY MODES 2 LINE ADDRESS TO CHAR GEN LINE ADDRESS TO CHARGEN LINE ADDRESS TO CHAR GEN 8~ ...... 1 --e-e-e-e-e---- 2 --.-------------- 3 --.--------------- o SCAN / 1 - - . -. -. ---------- ROW --.~~~~~~~~ 2-0 UNES/ 3 --. 2 4 - 3-0 ••• 4-0 ROW 0-0 5 --.--------------- 5-0 5--.'~~ 8 --.--------------- 8 --. 7 -e-e-e-e-e---- 7 {--. :-.:::====== 1-00000---- 1 -0-0-0-0-0--- 17 SCAN 4 0---------------e-e-e-e-e--- 3-0 o SCAN UNO.I ROW 4 5-0 8 ~~.~===== 7-00000---- 8 6-0 o 1 - -e-e-e-e-e---- 3 -. •••••- - - - 7 -0-0-0-0-0--- 5 --. -------- 2-0======= 4-000--------- 8- 0 - - - - - - - - - - - - - 1 -e-e-e-e-e---- 2 --. ------------- 3 - - . --------------- 1 --. -. -.---------- 5 -- .--------------- 8 --.--------------- 7 -e-e-e-e-e---- - 2-0------------- 2 - . ------------- 3-0 4 -- ••• 8 -. 1 - 3 -. -e-e-e-e-e--- •••••- - - - 1-00000------- 2-.====== --.::;:::-;===== 6-0====== 3 4 7 1 -0-0-0-0-0--- 4-0 0 4 5-0 --.:~.~.~::::::::: 5 --. 6 -. 7 3-0~~~~~~~ 5-0 0 7-00000---- o 7 -0-0-0-0-0--- -e-e-e-e-e---- •••••- - - - 6-02-0~~~~~~~ 4-000 5 --. 7 NONINTERlACED IRO=1000, TOTAL LINESlROW=9 - •••••- - - - INTERLACED SYNC & VIDEO IRO 0011; TOTALUNES/ROW INTERLACED SYNC IRO = 0111; TOTALUNES/ROW = 17 = =9 Figure 13 IR9(3:0], IR8[7:0]-Display Buffer First Address IR9[7:4]-Display Buffer Last Ad· dress These two fields define the area within the buffer memory where the display data will reside When the data at the 'display buffer last address' is displayed, the PVTC will wrap-around and obtain the data to be displayed at the next screen position from the 'display buffer first address'. If 'last address' is the end of a character row and a new screen start address has been loaded into the screen start register, or if 'last address' is the last character position of the screen, the next data is obtained from the address contained in the screen start register. Note that there IS no restriction in displaying data from other areas of the addressable memory. Normally, the area between these two bounds IS used for data which can be overwritten (e.g., as a result of scrolling), while data that is not to be overwritten would be contained outside these bounds and accessed by means of the split screen interrupt feature of the PVTC. IR10[7] - Cursor Blink Rate The cursor blink rate can be specified at 1/16 or 1/32 of the vertical scan frequency. Signe1ics Blink IS effective only if blink is enabled by IR7[5]. IR10[6:0]-Split Screen Interrupt The split screen interrupt can be used to proVide special screen effects such as a row of double height characters or to change the normal addressing sequence of the display memory. The contents of this field IS compared, In real time, to the current character row number. Upon a match, the PVTC sets the split screen status bit, and Issues an interrupt request If so programmed The status change/interrupt request IS made at the beginning of scan line zero of the split screen character row. 2-47 MICROPROCESSOR DIVISION JANUARY 1982 SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) 'am""""·'fJ HORIZONTAL AND VERTICAL TIMING r-----___ HBLANK~ ----j HSYNC I-- CH~:::5~OW - - - - - - 1 L- BACK PORCH {IR21 FRONT PORCH (IR1) ______________--,n,--___ r~AR ---1I~ --t ~r------;I HSYNC (lA2) VBLANK --I I- --I I-- ROWS/SCREEN (1R4)------I I I-- SCAN LINES PER ROW (lRO) Ii----'L --I I- FRONT PORCH (lR3) BACK PORCH (IR3) --.lnL...-___ VSYNC---IlL...-_ _ _ _ _ _ _ _ _ _ _ _ _ r- ----1 VSVNC (FIXED AT 3) EQUALIZING CONSTANT LINES/ROW I 100 I IL-LI-II-----'-.I-11--,-1-'--'--' I 102 101 HBACK PORCH HSYNC WIDTH , IL...LI-'--'-.LI-,IL-L-'--I YFRONT VBACK POACH , PORCH , I I 1I I I I I I I CHAR ROWS/SCREEN CHARACTERS PER ROW , 104 , I I I I 105 I 1I I 1 Figure 14 Timing Considerations Normally, the contents of the initialization registers are not changed dUring operation. However, thiS may be necessary to imple· ment special display features such as multiple cursors, smooth scrolling, horizontal scrolling, and double height character rows. Table 2 describes timing details for these registers which should be conSidered when Implementing these features. Table 2 TIMING CONSIDERATIONS PARAMETER TIMING CONSIDERATIONS First line of cursor Last line of cursor Light pen line Underline These parameters must be established at a minimum of two character times prior to their occurenC8. Double height characters Sell reset during the character row prior to the row which IS to be I not to be double height Cursor blink Cursor blink rate Character blink rate New values become effective within one field after values are changed Split screen interrupt row Change anytime prior to line zero of desired row Character rows per screen Change onlY aUrlng verhcal Dlanklng period Vertical front porch Change prior to first line of VFP Vertical back porch Change prior to fourth line after VSYNC Screen start register 2·48 Signetics Change prior to the horizontal blanking interval of the last line of character row before row where new value is to be used JANUARY 1982 MICROPROCESSOR DIVISION PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) DISPLAY CONTROL REGISTERS There are nine registers in this group, each with an individual address. Their formats are illustrated in figure 15. The command register is used to invoke one of 16 possible PVTC commands as described in the COM· MANOS section of this data sheet. The remaining registers in the group store address values which specify the cursor and buffer pointer locations, the location of the first character to be displayed on the screen, and the location of a light pen 'hit'. With the exception of the light pen register, the user initializes these registers after powering on the system and changes their values to control the data which is displayed. Screen Start Registers The screen start registers contain the address of the first character of the first row (upper left corner of the active display). At the beginning of the first scan line of the first row, this address is transferred to the row start register (RSR) and into the memory address counter (MAC). The counter is then advanced sequentially at the character rate the number of times programmed into the active characters per row register (IRS), thus reaching the address of the last character of the row plus one. At the beginning of each subsequent scan line of the first row, thE> MAC is reloaded from the RSR and the above sequence is repeated. At the end of the last scan line of the first row, the contents of the MAC is loaded into the RSR to serve as the starting memory address for the second character row. This process is repeated for the programmed number of rows per screen. Thus, the data 10 the diS' play memory is displayed sequentially starting from the address contained in the screen start register. After the ensuing vertical retrace interval, the entire process repeats again. The sequential operation described above will be modified upon the occurence of either of two events. First, if during the incrementing of the memory address counter the 'display buffer last address' (IR9[7:4]) is reached, the MAC will be loaded from the 'display buffer first address' register (IR9[3:0], IR8[7:0]) at the next character clock. Sequential operation will then resume starting from this address. This wraparound operation allows portions of the display buffer to be used for purposes other than storage of displayable data and is completely automatic without any CPU intervention (see figure 16a). The sequential row to row addressing can also be modified under CPU control. If the contents of the screen start register (upper, lower, or both) are changed during any character row (say row 'n'), the starting address of the next character row (row 'n + 1') will be the new value of the screen start register and addressing will continue sequentially from there. ThiS allows features such as split screen operation, partial scroll, or status line display to be implemented. The split screen interrupt feature of the PVTC is useful in controlling this type of operation. Note that in order to obtain the correct screen display, the screen start register must be reloaded with the original value prior to the end of the vertical retrace. See figure 16b. During vertical blanking the address counter operation is modified by stopping the automatic load of the contents of the RSR into the counter, thereby allowing the address outputs to free-run. This allows dynamic memory refresh to occur durmg the vertical retrace mterval. The refresh addressing starts at the last address displayed on the screen and increments by one for each char· acter clock during the retrace interval. If the display buffer last address IS encountered, SC2672 refreshing continues from the display buffer first address. Cursor Address Registers The contents of these registers defines the buffer memory address of the cursor. If en· abled, the cursor output will be asserted when the memory address counter matches the value of the cursor address registers. The cursor address registers may be read or written by the CPU or incremented via the 'increment cursor address' command. In in- dependent buffer mode, these registers define a buffer memory address for PVTC controlled access in response to 'read /write at cursor with /wlthout increment' commands, or the first address to be used in executing the 'write from cursor to pointer' command. Display Pointer Address Registers These registers define a buffer memory ad· dress for PVTC controlled accesses in response to 'read/write at pomter' commands They also define the last buffer memory address to be written for the 'wnte from cursor to pOinter' command. Light Pen Address Registers If the light pen input is enabled, these registers are used to store the current character address upon receipt of a light pen strobe input. Several sources of delay between the display of a character upon the screen and the receipt of a light pen hit can be expected to eXist in a system environment. These delays include address pipelining in the char· acter generation cirCUits, delays in the Video generation circuits, and delays in the light detection circuitry Itself These delays cause the value stored in the light pen register to differ from the actual address of the character at which the light pen hit actually was detected. Software must be used to correct this condition. DISPLAY CONTROL REGISTER FORMATS ~7 .~.~a~~~~~~_~B::.'~'JBITO [ ._---_.__.__.__.__. COMMAND REGISTER (Write only) F-~~ '1-"'--0 -~~.- O--"'-0J"ITO ~..--~.--.--.--.--.--. B1T7 •....!!!!..... "1T5LO;E''':,';.~'S;'' ~':""'~' H'OOOO' H'OOO1' [ 0 =1 2!!!.. . JBITO Not., MSB', Ire In Upper Regl.ter {5:0] .- -.- -.- -.- -.- -.- -. H'3FFE' H'3FFF' SCREEN START REGISTERS CURSOR ADDRESS REGISTERS POINTER ADDRESS REGISTER UGHT PEN ADDRESS REGISTER = 16,382 = 16,383 (READ AND WRITE) (READ AND WRITE) (WRITE ONLY) (READ ONLY) Figure 15 Signetics 2·49 JANUARY 1982 MICROPROCESSOR DIVISION SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) 'RI""II,I-"i INTERRUPTISTATUS REGISTERS The interrupt and status registers provide information to the CPU to allow it to interact wIth the PVTC to effect desired changes to implement various display operations. The interrupt register provides information on five possible interrupting conditions, as shown in figure 17. These conditions may be selectiyely enabled or disabled (masked) from causing Interrupts by certain PVTC commands. An interrupt condition which is enabled (mask bit equal to one) will cause the INTR output to be asserted and will cause the corresponding bit in the interrupt register to be set upon occurrence of the interrupting condition. An interrupt condition whIch is disabled (mask bit equal to zero) has no effect on either the INTR output or the interrupt register. DISPLAY ADDRESSING OPERATION f - - - - - - - - l ... BOnOU OF SCREEN ... DISPLAY BUFFER START f--------l MONITOR DI.....Y 16. ' -_ _ _ _ _----' MEMOFlY The status register provides six bits of status information: the five possible interrupting conditions plus the NOT BUSY bit. For this register, however, the contents are not effected by the state 01 the mask bits. la) DISPLAY MEMORY WRAPAROUND f - - - - - - - - I ... DISPLAY BUFFER START Descriptions of each interrupt I status register bit follow. Unless otherwise indicated, a bit, once set, will remain set until reset by the CPU by issuing a 'reset interrupti status bits' command. The bits are also reset by a 'master reset' command and upon power-up. SR[5] - RDFLG This bit is present in the status register only. A zero indicates that the PVTC is currently executing the prevIously issued command. A one indicates that the PVTC is ready to ac- MONITOR DISPLAY cept a new command. 16. ' -_ _ _ _ _----' I/SR[4] - VBLANK MEMORY Indicates the beginning of a vertical blanking interval. Is set to a one at the beginning of the first scan line of the vertical front porch. (b) DISPLAY MEMORY SPliT SCREEN WITH WRAPAROUND Figure 16 I/SR[3] - Line Zero Is set to a one at the beginning 01 the f,rst scan line (line 0) of each active character row. INTERRUPT AND STATUS REGISTER FORMAT BIT7 I/SR[2] - Spilt Screen This bit is set when a match occurs between the current character row number and the value contained in the split screen interrupt register, IR 10[6:0). The equality condition is only checked at the beginning 01 line zero of each character row. This bit is reset when either 01 the screen start registers is loaded by the CPU. I/SR[1] - Ready Certain PVTC commands affect the display and may require the PVTC to wait for a blanking interval before enacting the command. This bit is set to one when execution 01 the command has been completed. No 2-50 BITS BIT6 I RDFLG Not used always read as 0 BIT4 BIT3 BIT2 VBLANK LINE ZERO SPLIT SCREEN 0= Busy 0= No 1 = Ready 1 = Yes 0= No 1 = Yes BIT1 BITO READY LIGHT PEN 0= No 0= Busy 0= No 1 = Yes 1 = Ready 1 = Yes I NOTE ·Status reglater only Always 0 when readlRg Interrupt register Figure 17 command should be invoked until the prior command IS completed. I/SR[O] - Light Pen A one indicates that a light pen hit has occurred and that the contents of the light pen Signetics regIster have been updated. This bit will be reset when either of the light pen registers is read. MICROPROCESSOR DIVISION JANUARY 1982 SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) 'am"") ..i.',, COMMANDS The PVTC commands are divided into two classes the instantaneous commands, which are executed Immediately after they are invoked, and the delayed commands which may need to wait for a blanking interval prior to their execution. Command formats are shown In table 3. The commands are asserted by performing a write operation to the command register with the appropriate bit pattern as the data byte. Table 3_ Instantaneous Commands This command initializes the PVTC and may be invoked at any time to return the PVTC to ItS ,"itial state. Upon power-up, two successive master reset commands must be applied to release the PVTC's internal power on CirCUitS. In transparent and shared buffer modes, the CNTRll input must be high when the command is issued. The command causes the following' This command IS used to preset the initialization register pOinter With the value 'V' defined by 03-00. Allowable values are o to 10. Enable Light Pen After invoking this command, receipt of a light pen strobe input will cause the light pen register to be loaded with the current buffer memory address and the corresponding interrupt and status flag to be set Once loaded, further loads are inhibited until either one of the light pen registers are read or a reset function IS performed. Disable Light Pen Light pen hits will not be recognized. Display Off Asserts the BLANK output The DADDO thru DADO 13 display address bus outputs may 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 d d d d 0 V d d 1 1 0 V d d N N 0 V 1 1 d d 0 V 0' 12 0' 12 0 0 0 1 0 0 0 1 0 1 1 1 0 0 1 1 1 N N N V B d d N N N d d N N N 0' 12 l Z S S d d N N N R 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 1 Master reset load IR pOinter with value V (V = 0 to 10) Disable light pen Enable light pen Display off. Float DADO bus If N = 1 Display on Next field (N = 1) or scan line (N =0) Cursor off Cursor on Reset interrupt! status Bit reset where N = 1 Disable interrupt· Disable where N = 1 Enable interrupt" Enables interupts and resets the corresponding interrupt / status bits where N=l N N N L P Delayed Commands: Master Reset Load IR Address COMMAND Instantaneous Commands: The Instantaneous commands are executed Immediately after the trailing edge of the WR pulse during which the command IS Issued. These commands do not affect the state of the RDFlG or READY Interrupt! status bits. However, a command should not be invoked if the RDFlG bit IS low 1. VSYNC and HSYNC are driven low for the duration of RESET and BLANK goes high. BLANK remains high until a 'display on' command is received. 2. The interrupt and status bits and masks are set to zero, except for the RDFlG flag which is set to a one. 3. The transparent mode, cursoroff, display off, and light pen disable states are set. 4. The initialization register pointer is set to address IRO. PVTC Command Formats D7 D6 05 04 03 02 01 DO Hex A4 A2 A9 AC AA AD 0 1 0 0 1 0 0 0 1 0 0 1 0 1 1 AB 0 1 1 BB Read at pointer address Write at pOinter address Increment cursor address Read at cursor address Write at cursor address Read at cursor address and Increment address Write at cursor address and increment address Write from cursor address to pOinter address , NOTES Any combmatlon of these three commands IS valid 2 Any combmatlon of these three commands IS valid 3 d = don't care be optionally placed in the three-state condition by setting bit 2 to a '1' when invoking the command. Display On Restores normal blanking operation either at the beginning of the next field (bit 2 = 1) or at the beginning of the next scan line (bit 2 = 0). Also returns the DADDO-DADD13 drivers to their active state Cursor Off Disables cursor operation. Cursor output is placed in the low state. Cursor On Enables normal cursor operation. Reset Interrupt/Status Bits This command resets the deSignated bits in the interrupt and status registers. The bit positions correspond to the bit positions in the registers: Bit Bit Bit Bit Bit 0 1 2 3 4 - Light pen Ready Split screen Line zero Vertical blank Signefics Disable Interrupts Sets the Interrupt mask to zeros for the designated conditions, thus disabling these conditions from asserting the INTR output. Bit position correspondence is as above. Enable Interrupts Resets the selected interrupt and status register bits and writes the associated interrupt mask bits to a one. This enables the corresponding conditions to assert the INTR output Bit position correspondence is as above Delayed Commands This group of commands IS utilized for the independent buffer mode of operation, although the' Increment cursor' command can also be used in other modes. With the exception of the 'write from cursor to pointer' and 'increment cursor' commands, all the commands of this type Will be executed immediately or will be delayed depending on when the command IS Invoked. If invoked during the active screen time, the command IS executed at the next horizontal blanking mterval. If invoked during a vertical retrace Inlerval or a 'display off' state, the command IS executed immediately. 2·51 MICROPROCESSOR DIVISION JANUARY 1982 SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) 'am""II,I_"t The 'increment cursor' and 'write from cursor to pointer' commands are executed ImmedIately after they are issued. 'Increment cursor' requires approximately three CCLK periods for completion. 'Write from cursor to pointer' asserts the BLANK output during its execution. BLANK will not be released until the beginning of the vertical blanking interval following the last write operation. A second 'write from cursor to pOinter' command should not be issued until this time. In all cases, the PVTC will assert the READY / RDFLG status to signify completion of the command. No other commands should be given until the current command is completed. Therefore, the READY Interrupt or RDFLG status flag should be used for handshaking control between the PVTC and CPU when using these commands. Read/Write at Pointer Transfers data betwaen the display buffer and the bus interface latch using the address contained In the pointer register. Read/Write Read/Write Increment at Cursor and Transfers data between the display buffer and the bus interface latch using the address contained in the cursor register and then adds one (modulo 16K) to the cursor address register.< Write from Cursor to Pointer at Cursor Transfers data between the display buffar and the bus Interface latch using the address contained in the cursor register. Increment Cursor Adds one (modulo 16K) to the cursor address regIster. Writes the data contained in the bus interface latch into the block of display memory designated by the the cursor address and pOinter address registers, inclusive. After completion of the command, the pointer address will be unchanged, but the cursor register contents will be equal to the pOinter address. ABSOLUTE MAXIMUM RATINGS1 PARAMETER Operating ambient temperature2 Storage temperature All voltages with respect to ground' RATING UNIT o to +70 ·C ·C V -65 to +150 -0.5 to +6.0 DC ELECTRICAL CHARACTERISTICS TA=O·Cto + 70·C, Vcc =5.0V ±50/0 4 •5.6 LIMITS PARAMETER TEST CONDtTIONS J VIL VIH VOL VOH IlL ILL 100 ICC Input low voltage Input high voltage Output low voltage Output high voltage (except INTR output) Input leakage current Data bus 3-state laakage current INTR open drain output leakage current Power supply current Typ Max 0.6 10L = 1 SmA 10H VIN Vo Vo = -100 uA = Oto VCC = Oto VCC = Oto VCC See next page Signetics 2.4 -10 -10 ) UNIT 0.4 V V V 10 10 10 160 V fAA fAA fAA mA 2.0 NOTES 2·52 Min MICROPROCESSOR DIVISION JANUARY 1982 SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) 'm""""·"A AC ELECTRICAL CHARACTERISTICS TA =O'C 10 + 70'C, Vee =5.0V ± 5% 4,5,6,7,8 TENTATIVE LIMITS TEST CONDITIONS PARAMETER Bus Timing (Fig. 18)9 AO-A2 setup time to WR, RD low lAS AO-A2 hold time from WR, RD high tAH CE setup time to WR, RD low tcs CE hold time from WR, RD high tCH WR, RD pulse width tRW Data valid after RD low tDD Data bus floating after RD high tDF Data setup time to WR high tDS Data hold time from WR high tDH Time between READs and/or WRITEs'o tcc Min Typ 30 0 0 0 250 200 100 150 0 600 CCLK Timing (Fig. 19) CCLK period tccp CCLK high time tCCH CCLK low time tCCL Output delay from CCLK edge tCCD 250 100 100 Other Timings (Fig. 20) READY IRDFLG low from WR high 9 tRDL tBAK tBXT tLPS tLPH tlRL tlRH BACK high from PBREO low BEXT high from PBREO high Light pen strobe setup time to CCLK low Light pen strobe hold time from CCLK low INTR low from CCLK low INTR high from WR, RD high 9 600 ns 150 150 ns ns ns 150 600 3 ThiS product Includes CirCUitry specIfically deSigned for the protection of Its Internal deVices from damaging effects of excessIve static charge Nonetheless, It IS suggested that conventional precautions be taken to avoid applYing any voltages larger than the rated maxima ns ns ns ns ns ns ns ns ns ns 150 -10 2 For operating at elevated temperatures, the deVice must be derated based on + 150°C maximum Junction temperature and thermal resistance of 55°C/W Junction to ambient (IWA ceramiC package) UNIT ns ns ns ns 120 Notes: 1 Stresses above those hsted under Absolute MaXimum Ratmgs may cause permanent damage to the deVice This IS 8 stress ratmg only and functional operation of the deVIce at these or at any other condition above those In the operation section of this specliIcation 18 not Implied 4 Parameters are valid over specified temperature range Max ns ns ns 5 All voltage measurements are referenced to ground (GND) 6 TYPical values are at +25°C, tYPical supply voltages, and typical processmg parameters 7 For testing, all Input signals sWing between 0 4V and 2 4V with a transition time of 20ns maximum All time measurements are referenced at Input voltages of 0 8V and 2 OVand output voltages of 0 8V and 2 OV as appropriate 8 Test condition for outputs CL = 150pF 9 Timing IS Illustrated and specified referenced to WR end AD Inputs DeVice may also be operated with CE as the 'strobing' Input In this case, all timing speCifications apply referenced to falhng and rising edges of CE 10 1 microsecond minimum after 'master reset' command Signetics 2·53 MICROPROCESSOR DIVISION JANUARY 1982 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) SC2672 'Wnull.I·'tA BUS TIMING A~A2 ~-------:---_ 00-D7 (READ) FLOAT FLOAT riDS 00-07 _ _ _ _ _ _ _ _ _ (WRITE) ~\A ~ VALID Figure 18 CCLK TIMING NOTES OUTPUTS (NOTE 1) -----...1 1 DADDO·DAOD13, BLANK. HSVNC, CSYNCIVSVNC, CURSOR, BEXT. BREQ, BCE, MBC. BACK 2 BCE changes state on both CC'["R edges-(see FIgures 3 and 4) OUTPUTS WIiIi,_,1ft Figure 19 2·54 Signetics JANUARY 1982 MICROPROCESSOR DIVISION PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) SC2672 'm""II.i_"t OTHER TIMINGS BLANK _---Ir 2 = VERTICAL BUNKING INTERVAL F1RSTHSYNC OFYIILANK HSYNC VOlANI< STATUS BIT BLANK DADD3- DADD13 UNEZERO AND SPUT SCREEN STAruS BITS IITII ----------l~ ______ LPS UGHT .... STATUS Bff DADDODADD13 CHARACTER ADDRESS n Figure 20 Signetics 2·55 JANUARY 1982 MICROPROCESSOR DIVISION SC2672 PROGRAMMABLE VIDEO TIMING CONTROLLER (PVTC) 'RI"..II.'-III OTHER TIMINGS (Continued) WliFORA DELAYED COMMAND READY OR RDFLG STATUS BITS WlfORlW WHICH RESETS INTERRUPT ~r \1:....-_- ~ ___---.J/ Figure 20 COMPOSITE SYNC TIMING . +- VERTICAL SYNC PULSE VERTICAL BACK PORCH ---1 FIRST DtSPlAYED SCAN OF/EVEN FIELD HORIZONTAL SYNC ~ULSES - Un L - _ _________ I~_I ' - - - - - - - - - - - - - - - - YERTICALBlANKING INTERVAL ODD FIELD LAST DISPLAYED SCAN Of EVEN FE\, r- VERTJCAL FRONT PORCH-l-iI H CSYNC~JW + VERTICAL SYNC PULSE ---t- FIRST DISPLAYED SCAN OF 000 FIELD I ---------------I--Lf-I1II I~ r--'2 .1 HPERIOD HORIZONTAL BLANKING INTERVAL NOTES 1 In non-mterlaced operation the even 'Ield 18 repeated continuously, and the odd 'Ield IS not 2·56 --I ~ H I-- *H ~ B l A N K . J U . . -_ - I -_ - _ _ _ _ _ _ _ _ _ _ _ _ VERTICAL BtANKING INTERVAl 2 In Interlaced operation the even 'Ield alternates with the odd field ~ VERTICAL BACK POACH _ Figure 21 MICROPROCESSOR DIVISION JANUARY 1982 VIDEO ATTRIBUTES CONTROLLER (VAC) SC2673 ':tQii"ii,j.'" PIN CONFIGURATION DESCRIPTION FEATURES The Signetics 2673A and 26738 Video Attrl· butes Controllers (VAC) are bipolar LSI de· vices designed for CRT terminals and display systems that employ raster scan techniques. Each contains a high speed video shift regis· ter, field and character attributes lagle, attri· bute latch, cursor format logic and half dot shift control. • 25MHz video dot rate • Three level current driven (75 ohms) video output • Three level encoded TTL video outputs • Character Ifleld attribute logiC Reverse video Character blank Character blink Underline Highlight Light pen strlke-thru or graphics control • Field attributes extend from row to row • Light or dark field • Cursor reverse video logic • Up to 10 dot. per character • CompOSite blanking for light field retrace • Optional field graphics control output • High .peed bipolar de.lgn • 40 pin dual In-line package • TTL compatible • Compatible with Signetics 2672 PVTC and 2670 DCGG The VAC provides control of visual attributes on a field or character by character. Internal logic preserves field attribute data from char· acter row to character row so that an attribute byte Is not required at the beginning of each row. The 26738 provides for reverse video, blank (non·displaY), blink, underline and high· light attributes and a graphic smode attribute to work in conjunction with the Signetics 2670 Display Character and Graphics Gener· ator (bCGG). The 2673A substitutes a light pen (strike·thru) attribute for the graphics attribute. The horizontal dot frequency is the basic timing input to the VAC. Internally, this clock is divided down to provide a character clock output for system synchronization. Up to ten bits of video dot data are parallel loaded into the video shift register on each character boundary. The video data is shifted out on three outputs at the dot frequency. On the VIDEO output, the data is presented as a three level signal representing low, medium and high intensities. The three intensities are also encoded on two TIL compatible video outputs. Light or dark screen back· ground can be selected. Vee 02 01 = = ceo ee1 ee2 OCLK CBLANK TTLVID1 TTLVID2 VIDEO HOOT ABLANK ABUNK AU' AHILT APPLICATIONS ARVID • CRT terminal. • Word proce.slng sy.tems • Small business computer. AlTPEN/AGM TOP VIEW ORDERING CODE PACKAGES Ceramic DIP Plastic DIP VCC COMMERCIAL RANGES ± 5%, VBB = 1.5V ± 10%, TA = 5V GRAPHICS ATTRIBUTE SC2673BC5140 SC2673BC5N40 = O'C to 70"C LIGHT PEN ATIRIBUTE SC2673AC5140 SC2673AC5N40 I BLOCK DIAGRAM VIDEO ATTRIBUTES CONTROLLER ceo ee1 ee2 CHAAACTER CLOCK COUNTER DCLK ~~ I 10 vtDeOSHIFT 00-09 '1 t DOT DATA REGISTER -12BITS- HOOT CURSOR ARVID ABLANK AND ..c=- ~ ~ DRIVER VIDEO ATTRIBUTE HIERARCHY LOGIC DRIVERS ALTPEN/AGM AFLG TTLVID2 BKGND ABLINK AHILT AJJ' VIDEO TTLVID1 CBI..ANK ATTRtBUTE AND CURSOR CONTROL LOGIC AND PIPELINE AUODE t . -- ACD BLINK UL LL lPL/GMD Signetics BI..ANK RESET Vee VBB GND 2-57 2 MICROPROCESSOR DIVISION JANUARY 1982 VIDEO ATTRIBUTES CONTROLLER (VAC) SC2673 l:W il "",,.,?_ PIN DESIGNATION PIN NO. TYPE DCLK 32 I Dot Clock: Dot frequency input. Video output shift rate. CCLK 36 0 Character Clock: A submultiple of DCLK. The frequency ranges from one sixth to one twellth of DCLK, as determined by the state of the CCO-CC2 inputs. 33-35 I Character Clock Control: The logic state on these three static inputs determine the internal divide factor for the CCLK output rate. Character clock rates of 6 thru 12 dots per character may be specified. DO-D9 37-39,2-8 I Dot Data Input: These are parallel inputs corresponding to the character I graphic symbol dot data for a given scan line. These inputs are strobed into the video shift register on the falling edge of each character clock. HDOT 27 I Half Dot Shift: When this input is high, the serial video output is delayed by one half dot time. This input is latched on the falling edge of each character clock. CURSOR 14 I Cursor Timing: This input provides the timing for the cursor video. When high, effectively reverses the intenSIties of the video and attributes. Cursor position, shape, and blink rate are controlled by this input. BKGND 10 I Background IntenSity: Specifies light or dark video during BLANK and character fields. Affects the intensities of all attributes. BLANK 15 I Screen Blank: When high, this input forces the video outputs to the level specified by the BKGND input (either high or low intensity). Not effective when CBLANK is high. CBLANK 31 I CompOSite Blank: Used with the TTL video outputs only. When high, this input forces the video outputs to a low intensity state for retrace blanking. When BKGND input is low, or when using video outputs, this input may be tied low. ARVID 22 I Reverse Video Attribute: The intensity of the associated character or field video is reversed. All other attributes are effectively reversed. AHILT 23 I Highlight Attribute: All dot video (including underline) of the associated character or field is highlighted with respect to the BKGND input and the reverse video attribute. ABLANK 26 I Blank Attribute: Generates a blank space in the associated character or field. The blank space intenSity is determined by the BKGND input, the reverse video attribute, and the CURSOR input. ABLiNK 25 I Blink Attribute: The associated character or field video is driven to the intensity determined by BKGND and the reverse video attribute when the BLINK input is high. AUL 24 I Underline Attribute: Specifies a line to be displayed on the character or field. The line is specified by the UL input. All other attributes apply to the underline video. ALTPEN/AGM 21 I Light Pen Attribute (2673A): SpeCifies a highlighted line to be displayed on the character or field. The line IS specified by the LPL input. I Attribute Graphics Mode (2673): This input is latched and synchronized to provide a field GMD output for the 2670 DCGG. MNEMONIC CC2-CCO NAME AND FUNCTION = 0) or field (AMODE = 1) attributes mode. AMODE 12 I Attribute Mode: Specifies character (AM ODE AFLG 13 I Attributes Flag: The VAC samples and latches the attributes inputs when this input is high. II field attributes are specified (AMODE = I), the attributes are double buffered on a row basis. Thus, each scan line of every character row will start with the attributes that were valid at the end of the previous row. ACD 11 I Attribute Control Display: In field attributes mode (AMODE = I), if ACD = 0, the first character in each new attribute field (the attribute control character) will be suppressed and only the attributes will be displayed. II ACD = I, the first character and the attributes are displayed. This input has no effect in character mode (AMODE = 0). 2·58 $ignetics MICROPROCESSOR DIVISION JANUARY 1982 SC2673 VIDEO ATTRIBUTES CONTROLLER (VAC) 'm""jj,t·'ti PIN DESIGNATION (continued) PIN NO. TYPE NAME AND FUNCTION BLINK 17 I Blink: ThiS input IS sampled on the failing edge of BLANK to provide the blink rate for the character blink attribute It should be a submultiple of the frame rate UL 16 I Underline: Indicates the scan Ilne(s) for the underline attribute. Latched on the failing edge of BLANK. LPLlGMD 19 I Light Pen Line (2673A): Indicates the scan Ilne(s) for the light pen stnke·thru attribute. Latched on the falling edge of BLANK. 0 Graphics Mode (2673): This output provides a synchronIZed, latched, field graphics mode corresponding to the AGM Input This output can be used to control the GM Input on the 2670 DCGG. MNEMONIC LL 18 I Last Line: Indicates the last scan line of each character row Used Internally to extend field attributes across row boundanes Latched on the failing edge of BLANK. ThiS Input has no effect in character mode (AM ODE = 0). VIDEO 28 0 Video: A three level serial Video output which corresponds to the composite dot pattern of characters, attributes and cursor. TTLVIDl 30 0 TTL Video 1: ThiS output corresponds to the senal, non·hlghllghted Video dot pattern TTLVID2 29 0 TTL Video 2: ThiS output corresponds to the highlighted senal Video dot pattern Should be used with TTLVID 1 to decode a composite Video of three intensities RESET 9 I Manual Reset: ThiS active high input initializes the Internal logiC and resets the attnbute latches. Normally used for testing. VCC 40 I Power Supply: +5 Volts VBB 1 I Bias Supply: +1.5 Volts GND 20 I Ground: OV reference ± 5% ± 10% FUNCTIONAL DESCRIPTION The VAC consists of four major sections (see block diagram). The high speed dot clock input is divided internally to provide a character clock for system timing. The par· allel dot data is loaded into the video shift register on each character boundary and shifted into the video logic block at the dot rate. The six attribute inputs are latched in· ternally and combined with the serial dot data to prOVide a three level video source for the monitor. A separate BLANK input defines the active screen area. When BLANK = 0, the video levels are derived internally by the combina· tions of dot data, attributes, cursor, and the state of the BKGND input. Either black or white background can be selected. Symbols (dot data) are normally gray and can be highlighted to white or black as shown in figure 1. Note that the VIDEO output is in· verted as referenced to the TTL video outputs. DUring the inactive screen area (BLANK = 1), the video level produced by the TTL out· puts is either white (BKGND = 1) or black (BKGND = 0). A separate composite blank (CBLANK) input is provided to suppress ras· ter retrace video when white background is specified. During the inactive screen area (BLANK = 1), the video level produced by the VIDEO output is either black (BKGND = 1) or white (BKGND = 0). For the latter CCLK CC2 CC1 CCO DOTS/CHARACTER DUTY CYCLE a a a a a a 0 1 6 6 7 8 9 10 11 12 3/3 3/3 4/3 4/4 5/4 5/5 6/5 6/6 1 1 1 1 1 1 a a a a 1 1 1 1 a 1 case, raster retrace Video suppression is accomphshed by raising the BKGND Input dUring hOrizontal and vertical retrace inter· vals For black background, tie BKGND high. Tie CBLANK Input low for both cases. Character Clock Counter The character clock counter divides the fre· quency on the OCLK input to generate the character clock (CCLK). The divide factor is specified by the clock control inputs (CCOCC2) as follows: Video Shift Register On each character boundary, the parallel data (00-09) is loaded into the video shift register. The data is shifted out least signifi· cant bit first (DO) by the OCLK. If 11 or 12 dots/character are specified (CC2-CCO = 110 or 111), a a (blank dot) is always shifted Signetics out before DO. For 12 dots/ character, a a is also shifted out after 09. The serial dot data is shifted into the video logic where it is combined with the cursor and attributes to encode three levels of video. Attribute and Cursor Control The VAC visual attributes capabilities in· elude: reverse video, character blank, blink, underline, highlight, and light pen strike·thru. The six attributes and the three attribute control inputs (AMOOE, AFLG, and ACO) are clocked into the VAC on the falling edge of CCLK. If AFLG is high, the attributes are latched internally and are effective for either one character time (AMOOE = 0) or until another set of attributes is latched (AMOOE = 1). The attributes set is double buffered on a row by row basis internally. Using this technique, field attributes can extend across character row boundaries thereby 2·59 MICROPROCESSOR DIVISION JANUARY 1982 VIDEO ATTRIBUTES CONTROLLER (VAC) SC2673 l;mil"jj,t.ilj ENCODED VIDEO OUTPUTS DClK VIDE01 .~ I LflJt: ~ I I TTLVID1 TTLVID2 HIGHLIGHTED WHITE ON BLACK NORMAL GRAY ON BLACK REVERSE GRAY ON WHITE REVERSE, HIGHLIGHTED BLACK ON WHITE NOTE 1 W:::Whlte G '" Gray B "" Black Figure 1 eliminating the necessity of starting each row with an attribute set. When field attribute mode is selected, (AMODE = 1), the VAG will accommodate two attribute storage configurations. In one configuration, the attribute control data is stored in the refresh RAM, taking the place of the first character code in the field to be affected. For this mode, the AGO input is tied low and blank characters will be dis· played in the screen positions occupied by the attribute data (see figure 10). In the sec· ond configuration, (AGO = 1), the character codes and attribute data are presented to the VAG in parallel. In this mode, dot data is displayed at each character position (see figure 11). The CURSOR and the attribute input signals are pipelined internally to allow for system propagations (one GGLK for refresh RAM, one CGLK for dot generator). The attribute timing signals BLINK, UL, LPL and LL are clocked into the VAG at the beginning of each scan line by the falling edge of the BLANK input. Thus, these signals must be in their ~roper state at the falling edge of BLANK preceding the scan line at which they are to be active (see figure 4). Video Logic The serial dot data and the pipelined cursor and attributes are combined to generate the 2-60 TTLVID2 TTLVIDI 0 0 1 1 0 1 0 1 INTENSITY Black (or CBLANK) Gray (on black surround) Gray (on white surround) White NOTE The TTLVID1 output can be used independently to generate a two level non-highlighted video three level current source on the VIDEO out· put. The three levels (white, gray, and black) are also encoded on the two TTL compatible outputs TTLVIDI and TTLVID2. The three levels are encoded as shown. The video is normally shifted out on the leading edge of the DCLK. When the HOOT input is asserted, the corresponding dot data is delayed by one-half DCLK. This half dot s~ifting, when used on selected lines of character video, can be used to effect eyepleasing character rounding as shown in figure 2. Attribute Hierarchy The video of each character block consists of four components as shown in figure 3. Symbol video is generated from the dot data inputs 00-09. Underline video is enabled by the AUL attribute and is generated when the UL tim- Signetics ing input is active. Underline and symbol video are always the same intensity. Strike-thru video is enabled by the ALTPEN attribute and is generated when the LPL timing input is active. This video is always highlighted and takes precedence over the symbol and underline video. This feature applies to the 2673A only. Surround video is the absence of symbol, underline and strike-tnru video or the presence of the non-display attributes (ABLANK or ABLINK • BLINK). The relative intensities of the four video components are determined by the remaining attributes (AHILT, ABLANK, ABLlNK, ARVID) and the BKGND and CURSOR inputs as illustrated in table 1. MICROPROCESSOR DIVISION JANUARY 1982 VIDEO ATTRIBUTES CONTROLLER (VAC) SC2673 Imli"jj,i.ilj "AT" SYMBOL WITH AND WITHOUT HALF DOT SHIFTING I I I I I I o o o 1/ I I I I 0000 0000 000 000 000 0 00 0 0 ~0'1--- SURROUND VIDEO o 0 0 o 000 o 000 000000 o VIDEO COMPONENTS OF CHARACTER BLOCK 000 0000 H "'" LINeS SHIFTED Figure 3 Figure 2 ATTRIBUTES AND CONTROL INPUTS d = don't care BKGND5 0 0 0 0 0 0 1 1 1 1 1 1 RELATIVE VIDEO INTENSITIES W = White, B = Black, G = Gray REVERSE' NONDISPLAY' 0 0 0 0 0 1 d 0 ,. 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 AHILT STRIKE THRU VIDE03 SYMBOL OR UNDERLINE VIDE03,' SURROUND VIDE03 W W B B G W B G B W G B W G W B B B B W W W W W W B B B 1 1 B d 0 W B 1 B d 0 W W W B 1 d NOTES 1 Reverse::: ARVID. CURSOR ARVID. CURSOR 2 Non-display:: ABLANK + ABLINK • BLINK 3 See figure 3 Symbol and underline video are always the same mtenslty + Reverse sense for VIDEO output Table 1. ATTRIBUTES HIERARCHY ABSOLUTE MAXIMUM RATINGS1 PARAMETER Operating ambient temperature' Storage temperature All voltages with respect to ground RATING UNIT o to +70 ·C ·C -65 to +150 -0.5 to +6.0 V NOTES 1 StresS8S above those listed under Absolute Maximum Ratings may cause permanent damage to the device nus is 8tre88 rating only and functional operation of the device at these or at any other condition above those indicated In the operation section of this specification is not Implied. 2 For operatmg at elevated temperaturea, the device muat be derated baaed on +l50°C maximum Junctton temperature and thermal realstance of 60 0 C/W junction to ambient (ceramic package) Signetics 2·61 MICROPROCESSOR DIVISION JANUARY 1982 VIDEO ATTRIBUTES CONTROLLER (VAC) SC2673 'M""n,[.I. DC ELECTRICAL CHARACTERISTICS TA" 0'0 to +70'0, VoO" 5V ±5%, Vaa = +1.5V ± 10%3.4·6 LIMITS PARAMETER VIL VIH Input low voltage Input high voltage VOL Output low voltage (except VIDEO) Output high voltage (except VIDEO) VOH VB VG Vw VIDEO black level VIDEO gray level VIDEO white level IlL Input low current TEST CONDITIONS Min Typ Max 0.8 V V 0.4 V 2.0 IOL = 1.6mA IOH = -100,.A 2.4 RL .. 750 to GNO RL .. 750 to GNO RL = 750 to GNO \ UNIT V 0 0.225 0.50 V V V -4001 VIN" 0.4V /LA -800 10 IIH Input high current 100 IBB V00 supply current VBB aupply current AC ELECTRICAL CHARACTERISTICS VIN" 2.4V 20/40 10 /LA VIN = OV, VOO = max VBB" max 50 100 mA mA TA" 0'0 to +70'0, VOC" 5V ±5%, vBB = +1.5V ± 10%3.4·6 TENTATIVE LIMITS TEST CONDITIONS PARAMETER· Dot clock8 fO tOH tOL Min Typ Max 25 frequency high low Setup tlmea to CCIJ(7 BLANK tBS BLINK, UL, LPL, LL (ref to BLANK) tso Attributea tSA Dot deta 00·09 tso OURSOR tSK AFLG tFS HOOT tSH Hold limes from CC[j(7 BLINK, UL, LPL, LL (ref to BLANK) tHO Attributes tHA Dot data 00·09 tHO CURSOR tHK AFLG tFH HOOT tHH UNIT 15 15 MHz na na 35 20 35 70 35 50 35 na na na na na ns ns 20 35 0 35 50 35 ns ns ns na na n8 Setup timea to 00LK8 BKGNO tSG OBLANK tSB 15 15 na na Hold limes from 00LK8 BKGNO tHG OBLANK tHB 15 15 na na Oelaytlmes9 GMO from OOLK tOGM OOLK from OOLK too VIDEO, TTLVI01, and TTLVI02 tov from OCLK 0L" 150pF NOTES 3 Parameters are valid over operating temperature range unleas otherwise specified. 4. All voltage measurements are referenced to ground (VSs). All Input signals sWing between 0 4V and 2 4V All time measurements are referenced at mput voltages of O.8V, 2.0V and at output voltages of 0 BV, 2.0V 8S appropriate. 5 TYPical values are at + 2S-C, typical supply voltages and typical processing parameters 2·62 6. See figure 7. Half dot shift feature 18MHz max 7. See figures 4, 5, 6, and 9 8. see figure 8 9 See figures 6 and 7. 10 For DCLK mput ~Ics \IIW'I ..... 60 60 ns na 75 na MICROPROCESSOR DIVISION JANUARY 1982 VIDEO ATTRIBUTES CONTROLLER (VAC) SC2673 IPmli"ii.t.'fj VAC PIPELINE nMING ..------=~T'---~-_+__-+__ - ... 1--1 - -- J ~~------------------------ BUNIC,lL LPi.,LL ATTRIBUTES' .. DOTDATAi ".. BKGND4 ,.. 2nd - - - - - ....,~UST=--~,..,.-'~LAST=--r-BK-..... -- ....;""""=_....._c.;;.... ::;:;,.....,j"-_ _ _ _ _ _....._.;;""",;;.;;......L.....;""""=_...... _ _ _ _ _ _ ..... NOTES 1. Attnbut•• include: ABLiNK. ABLANK, ARVID. AUL. AHILT, and ALTPEN. 2. One ~ delay lor dot data (obtained from delay through oh....ct... generator). 3 S•• figure 7 for detail timing of VIDEO, mVID1. TTLVID2. 4. Non-active scan time. VIDEO reverts to polarity Hlected by the BKGND Input. Flgur.4 CURSOR PIPELINE TIMING Flgur.5 Signatlcs 2·63 MICROPROCESSOR DIVISION JANUARY 1982 SC2673 VIDEO ATTRIBUTES CONTROLLER (VAC) '$",,11,[.,,1 CHARACTER (AMODE = 0), ~~ jS-.-A;__ IA-=~.l--.....JI 1), AND GMD ATTRIBUTE TIMING I r~~ 'AI\ 'FLO = FIELD (AMODE ~ -J -= "____. . __ 1 I ?Si"ijI 1---.. I VIlEO ---,----,-- Gml _ _ _ _ _ _ _ _ _ _ _~rl------------------------' ......1_ _ __ I (AlKIDE ==1 L-_ _.;...._ _ _ _ _ _ _ __ ) . NOTE 1 GMD output In 2873 version only See figure 7 for detail timing Figure 6 VIDEO AND GMD PIPELINE TIMING DCLK ~ ~~-~------------------VIDEO TTLVID1,2 ~ I CHARACTER N - 1 CHARACTER N I -Jr''''''' (A":~~ 1) NOTE 1 GMD output In 2673 version only 2·64 . - - - - - - - - - - ( ___________ _ Figure 7 Signatics JANUARY 1982 MICROPROCESSOR DIVISION SC2673 VIDEO ATTRIBUTES CONTROLLER (VAC) Imil .. lI.i·!,i BKGND AND CBLANK TIMING DURING INACTIVE SCAN TIME (BLANK = 1) 2 = --- DCLK "OND ---.:::l r~I:r:HG _ _ _ _ _~21_2_ _ \J'- __---Jf VOl. ~ VIDED ----WHl-"'-- \ BLACK df.-I-~2~ ,r-----W-H'--TE--=D,._ I Figure 8 HALF DOT SHIFT TIMING DCLK :::11:..._ _ _ _ _ _ _ tSH 1----1---1 -= =:: 1 ....._ __ tHH HOOT~ FIRST PIXEL CHARN+1 Figure 9 Signetics 2·65 MICROPROCESSOR DIVISION JANUARY 1982 SC2673 VIDEO ATTRIBUTES CONTROLLER (VAC) Imfi .. jj,t.lkl SYSTEM BLOCK DIAGRAM OF THE 2673 IN FIELD ATTRIBUTE MODE USING THE NARROW RAM (8 WIDE) CONFIGURATION o CRT CONTROLLER 61~ rpAGEN-i ! I ~ I RAM 8 7 I 2KX8 c~o I 2673 0.0 0.0 Og Og 7 I~ I RAM BYTE FORMAT 7 °I VIDEO GMO GMO J 10 1 LL '0 --f---,) cA6 f-t- PAGE 1 0 DCLK UL 2670 I REFRESH eeLK~T BLANK BLINK AGM ARVID Vee AHILT AUL ABLINK ABLANK AFLG AMODE U'Kn .....--.&--CAUSES ATTRIBUTE BYTE AeolI CHARACTER BYTE CHAR CODE TO BE DISPLAYED AS A BLANK CHARACTER + jltlll~IEltIL':::BVTE ~~ ~ NOT USED ~ ABLINK ARVID AHllT ABLANK AUL ,-- ; I Figure 10 SYSTEM BLOCK DIAGRAM OF THE 2673 IN FIELD OR CHARACTER ATTRIBUTE MODE USING THE WIDE RAM CONFIGURATION ~,~~-=-~ l~ ( ' - ' -_ _ _ _ _- - - ' ceo< BYTE .- PAGEN-l RE:=~SH TO CRT CONTROLLER DCLK BLANK BUNK UL : LL 2670 2673 I 00 2KXB PAGE 1 VIDEO 09 j GMO~-----~ GMO Vee lkn ACO 'PAGEN--l ATTRIBUTE RAt.II 2KX8 FIELD ATTRIBUTES ,~ I I I .... foIODE I I ~ ~ACTER I ATTRIBUTES PAGE 1 7 ...J u 0 . ,1_IL......JIL......JIL......J!-ll-l-ll-JI ~~~~BUTE NOTUS::L~~U t ABLINK ~ ASLANt< 2·66 t L~R:':· L AUL NOTE 1 For operation AHILT Figure 11 Signetics In character attnbute mode, tie AFLG high MICROPROCESSOR DIVISION JANUARY 1982 VIDEO ATTRIBUTES CONTROLLER (VAC) SC2673 VIDEO OUTPUT STAGES OF THE 2673 PARTOFH73 Vee Vee 76n 76n m. m. OlIVER DRIVER 760 Figure 12 2·67 JANUARY 1982 MICROPROCESSOR DIVISION VIDEOTEXT TIMING CHAIN (VTC) SAA5020/SAA5025 PRODUCT BRIEF, contact your Signetlcs sales offices for complete Information. DESCRIPTION FEATURES The Signetics SAA5020/SAA5025 Videotext Timing Chains (VTIC) are MOS N-channel Integrated circuits which perform the timing functions necessary for \ the display of viewdata and teletext Information on an Interlaced or non-interlaced CRT monitor. The SAA5020/SAA5025 are compatible with the British videotext standards, currently implemented in systems such as Prestel, Ceefax, and Oracle. The SAA5020 Is Intended for use with PAL (625 line) television standards, while the SAA5025 is intended for use with systems employing the NTSC (525 line) television standard. • Compatible with British videotext stenderds • 625 line (PAl) and 525 line (NTSC) versions • 40 characters per row, 20 or 24 rows per screen • Sync Inputs allow synchronlzallon with other video sources • Composite sync output • Display addressing outputs • Double height character capability • Character rounding output to SAA5050 • Single 5·volt power supply The basic Input to the VTIC Is a 6MHz clock signal. This is subdivided internally to produce various synchronized timing outputs Including the character and dot rate clocks for the character generator, a composite sync output for the monitor, and row address outputs and a column address clock for the display memory. TYPE LINES ROWS LINES/ROW 625 525 525 525 24 20 24 24 10 10 10 8 The VTIC operates from a single 5-volt power supply and Is packaged in a 24-pin dual-In-line package. 2·68 RACK A4 A3 A2 Al AO 'fIB I!CS HIE m FS CRS DEW Vee LOSE TOP VIEW Several versions of the VTIC are available to meet the requirements of various applications. Basic characteristics of the variants are: SAA5020 SAA5025A SAA5025B SAA5025C PIN CONFIGURATION Signetics MICROPROCESSOR DIVISION JANUARY 1982 VIDEOTEXT TIMING CHAIN (VTC) SAA5020/SAA5025 PIN DESIGNATION MNEMONIC PIN TYPE F6 2 I 6MHz Input. Master clock signal used to derive the basic timing for the display. FUNCTION TR6 3 0 6MHz output. Buffered 6MHz dot rate clock output to the SAA5050 character generator. Fl 4 0 1MHz output. Character clock rate output signal, synchronous with TR6, to the character generator and other external circuits. AHS 5 0 Alter hours sync. Active low composite sync output to the display. FLR 6 I Fast line reset. Input used to reset the internal line rate counter. GIR 7 0 General line reset. Line frequency active low signal used for reset and clock functions in the charac· ter generator and other external circuits. PL 8 0 Phase lock. Line frequency active low output to the teletext video processor used to phase lock the 6MHz display clock to the incoming television video signal. CBii 9 0 Color burst blanking. Active low output to the teletext video processor. FS 10 I Field sync. Input signal used to reset the field rate counter to maintain correct field sync with incom· ing video. CRS 11 0 Character rounding select. Output used by the character generator for character rounding. LOSE 13 0 Load output shllt register enable. Output signal to the SAA5050 character generator used to reset in· ternal control flip·flops prior to the start of each line and to define the character display period. DEW 14 0 Data entry window. Output required by the teletext acquisition circuit and character generator which defines the period during which data may be extracted from the incoming TV signal and written into page memory. TLC 15 I Transmitted large character. Input from the character generator used to enable the correct display of large characters under attribute control. HIE 16 I High impedance enable. A high input switches the AO-A4 and RACK outputs to their high Impedance state. BCS 17 I Big character select. When low causes all characters to be displayed at double height. Used in con· junction with TIB input. TIB 18 I Top or bottom select. When BCS is low this input controls the row address outputs to cause the top half to be displayed when low and the bottom half to be displayed when high. AO-A4 19-23 0 Display memory row address. Provides a binary count sequence during the display period which is in· cremented every 10 (8 for SAA5025C) lines in normal character mode and every 20 (16 for SAA5025C) lines in large character mode. If any row contains attributed large characters the address is Incre· mented by two after 20 (16) lines. RACK 24 0 Column address clock. lMHz clock used to clock the RAM column address counter. It occurs only during the active display period of each scan line. Vee 12 I + 5 volts power input. Vss 1 I Signal and power ground. Signetics 2·69 MICROPROCESSOR DIVISION JANUARY 1982 SAA5020/SAA5025 VIDEOTEXT TIMING CHAIN (VTC) SAA5020 BLOCK DIAGRAM TR6 F1 FLR FS Voo Vss F6 DEW LOSE CRS CBB PI GiJI TIB AHS SAA5025 BLOCK DIAGRAM TR6 F1 FLR FS Voo Vss F6 DEW LOSE CRS CBB TIB PI GLR AHS ·SAA5025A ··SAA5025C 2·70 Signetics JANUARY 1982 MICROPROCESSOR DIVISION SAASOSO SERIES VIDEOTEXT CHARACTER GENERATOR (VCG) PRODUCT BRIEF, contact your Signetics sales offices for complete information. PIN CONFIGURATION DESCRIPTION The Signetlcs SAA5050 Series Videotext Character Generators (VCG) are MOS N·channel integrated circuits which per· form the attribute decoding and character generation functions necessary for the display of viewdata and teletext informa· tlon on a color or black and white CRT monitor. They are compatible with the British vledotext standards, currently 1m· plemented in systems such as Prestel, Ceefax, and Oracle. The VCG incorporates a character gener· ator read only memory (ROM), decoding for the 32 videotext control and attribute characters, video shift registers, and decoding for some of the remote control functions generated by compatible reo mote control circuits. The circuit gener· ates 96 alphanumeric and 64 graphic characters. The basic input to the VCG Is character data from the display page memory. Each character code defines a dot matrix pat· tern. Each character block Is six dots wide and ten TV lines high, with dot rate of 6MHz and character period of one micro· second. Alphanumeric characters are gen· erated on a 5 x 9 matrix, allowing space for lower case descenders, with one dot be· tween characters and one TV line between character rows. The alphanumeric char· acters are rounded, I.e. a half dot Is In· serted before or after a whole dot during the interlace frame of the TV picture In the presence of a diagonal In the character matrix. Each of the 64 graphic characters is decoded to form a 2 x 3 block arrangement which occupies the complete 6x 10 matrix. Graphic characters may be either contiguous or separated. The SAA5050 series devices are func· tlonally Identical except for the character font stored In the character generator ROM. The part types currently available are: DE T PO lOSE TYPE CHARACTER SET SAA5050 SAA5051 SAA5052 SAA5055 English German Swedish American The VCG operates from a single Sovolt power supply and Is packaged in a 28·pin dual·in·line package. FEATURES = BLANK F1 D7 TAe DUM vee GOi NC DEW TlC TOP VIEW • Compatible with British videotext st.nd.rds • 40 ch.racters par row, 10 or 20 SClin line, par row • 98 alphanumeric characters with rounding • 84 graphic ch.r.ctera, contiguous or separ.ted • Double height and blinking character Cllpability • Decoding of control and attribute ch.ract.... • Decoding of remote control commands • RGB and monochrome output, • Overlay and In..rted box Cllpability • Single S·volt power supply The character video signals comprise a monochrome signal and RGB signals for a color monitor. The monochrome data slg· nal can be used to Inlay characters Into TV video. A blanking output is provided to blank out the TV picture signal for In· serted box applications. Sig1e11cs 2·71 JANUARY 1982 MICROPROCESSOR DIVISION VIDEOTEXT CHARACTER GENERATOR (VCG) SAA5050 SERIES PIN DESIGNATION MNEMONIC PIN TYPE FUNCTION 2 110 Superimpose. As an open drain output, it is low when the superimpose mode is selected to allow contrast reduction of the TV picture if required. As an input, if held low, the internal 'TV mode' flip· flop is held in the 'text' state. This is for VDU applications when remote control is not used. DATA 3 I Remote control data. This input accepts a 7·bit serial data stream from the remote control decoder. D1-D7 4-10 I Character code. 7·bit parallel code from the page memory which specifies alphanumeric, graphic, or control characters. DUM 11 I Remote control clock. Clock used to sample the input at the DATA pin. The positive edge of every second clock pulse is at the nominal center of the data bit. GLA 12 I General line reset. Active low input from the SAA5020lSAA5025 VTIC used for internal synchroniza· tion of remote control data signals. DEW 13 I Data entry window. Input from the SAA5020lSAA5025 VTIC used to reset the AOM row address counter prior to the display period. Also used to derive the character blink period. CAS 14 I Character rounding select. Input from the SAA5020lSAA5025 VTIC used to effect rounding of charac· ters. BCS 15 I Big character select. When low causes all characters to be displayed at double height. TLC 16 0 Transmitted large character. Output to the VTIC used to enable the correct display of large charac· ters under attribute control. TA6 19 I Dot rate clock. 6MHz clock from the VTIC. F1 20 I Character rate clock. 1MHz clock from the VTIC used to latch the incoming character data and to syn· chronize internal circuits. Y 21 0 Monochrome output. Open drain serial video output which is in the high state whenever an alpha· numeric or graphic character is required on the display. 22-24 0 Blue, green, and red outputs. Open drain serial video outputs to the monitor drive circuits. They are high whenever the corresponding color gun is to be active. The video is a composite of background and foreground (character) information. BLANK 25 0 Blanking. Open drain output which provides TV picture blanking. It is active for a duration of a box when the PO and DE inputs are on. It is also activated permanently when no TV picture is required (PO low). LOSE 26 I Load output shift register enable. Input signal from the VTIC used to reset internal control flip·flops prior to the start of each line and to define the character display period. PO 27 I Picture on. Input used to control the character video and blanking outputs. When high, only text in boxes is displayed unless in superimpose mode. The input is high for TV picture video on, low for pic· ture off. Display enable. Input used to control the videotext display. High for display on, low for display off. SUP B,G,A DE 28 I Vcc 18 I + 5 volts power Input. Vss 1 I Signal and power ground. 2·72 Signetics MICROPROCESSOR DIVISION JANUARY 1982 VIDEOTEXT CHARACTER GENERATOR (VCG) SAA5050 SERIES SAA5050 BLOCK DIAGRAM Voo Vss NC 18 01 ~:".L-r--. 02 03 04 CRS 05 06 07 BCS ~£~~;Md==:!:=~F1 TR6 LOSE DEW B G BLAN~gjtE~~~~~~~~~~~=:i==:i=~~~~~~~~~~~LJ DE PO Signetics 2·73 MICROPROCESSOR DIVISION JANUARY 1982 VIDEOTEXT CHARACTER GENERATOR (VCG) SAA5050 SERIES SAA5050 CHARACTER SET ~. b4:b3:b2:b1!,~OL b6 BITS II b5 0 I I I IROW 0 0 0 II 0 0 1 NUL' OLE' o 0 1 1 0 2 : 2. : 3. o 0 0 o 0 o 1 1 ALPHA" RED GRAPHICS RED [!]I~ 8~ o 0 1 0 2 ALPHA" GREEN GRAPHICS GREEN tJl[j 0~ o 0 1 1 3 ALPHA" YELLOW GRAPHICS YELLOW 0:~ 0~ o 1 o 0 4 ALPHA" BLUE GRAPHICS BLUE 01~ 0iJ GRAPHICS MAGENTA 81~ 01J 0:0 I I o 1 o 1 5 ALPHA" MAGENTA o 1 1 0 6 ALPHA" CYAN GRAPHICS CYAN G:~ o 1 1 1 7 ALPHAn .. GRAPHICS WHITE DI~ 1 0 o 0 8 FLASH CONCEAL DISPLAY 1 0 o 1 9 STEADY'" CONTIGUOUS" GRAPHICS WHITE 1 0 1 0 10 END BOX" SEPARATED GRAPHICS 1 0 1 1 11 START FOX ESC· 1 1 o 12 NORMAL*" HEIGHT BLACK" BACKGROUND DOUBLE NEW BACKGROUND 1 o 0 1 13 HEIGHT 1 1 1 0 14 SO' HOLD GRAPHICS 1 1 15 S1' RELEASE" GRAPHICS 1 1 0 1 0 4 0 5 1 1 1 1 0 6 : 6. 1 1 7 : 7. 0 B:Q G~ 0 G 01~ GCJ I 0 0 GI~ ~~ @] 0 G:~ 0= 0~ ~ 0 0~ ~ ~ 01~ ~1iJ I G GI~ G~ 0 G 0:~ Gil ~ @] I 011 01[3 0~ 8 0:~ 0~ 0 GI~ D~ 0 I ElI~ DI~ 0 D:~ B:~ ~ El 01~ I B-= 0 GICi 0~ 0 0:~ G:~ GI~ 0 [!]I[) I I EJ 01~ EJICI EJ 0:~ G:. 1 BI~ Glii I I 8 I13 El B I DI~ GI~ 0 [IJ Gilt Bli 0:~ G:I! @] G BI~ Control characters shown In columns a and 1 are normally displayed as spaces. The SAA5050 character set IS shown as an example *These control cnaracters are reserved for compatlblilty with O1her codes • *These control characters are presumed before each row beings Character rectangle Black represents display color White represents background 2·74 1 1 o 1 o 3 1 Signetics 0:" I:. JANUARY 1982 MICROPROCESSOR DIVISION VIEWDATA INPUT/OUTPUT PERIPHERAL (VIOP) SAA5070 PRODUCT BRIEF, contact your Signetics sales offices for complete information. DESCRIPTION FEATURES The Signetics SAA5070 Viewdata Input! Output Peripheral (VIOP) is a complex microprocessor peripheral integrated cir· cuit intended for use in wired communications systems, notably viewdata systems such as Prestel in the UK and Antiope in France. It is implemented in N-channel MOS technology and packaged in a 40-pin dual-in-line package. • Multiplexed addressldata bus compatible with scao and SCa4 Series microcomputers The VIOP provides several peripheral functions required in viewdata terminals. It contains an autodialing circuit, a 1200 baud demodulator and asynchronous receiver, and a 75 baud modulator and asynchronous transmitter. The 75 baud modulator and asynchronous transmitter can be programmed to operate at 1200 baud for use on private telecommunications systems. PIN CONFIGURATION DON • Modem - 1200 baud demodulator - 75/1200 baud modulator • Line asynchronous receiver and transmitter Autodlaling circuit • Tape recorder 1300 baud modem (modified KC standard) • Tape recorder asynchronous receiver and transmitter • Remote control receiver and transmitter • 1_5 and 60 second timers Two general purpose 1/0 ports The input to the VIOP's demodulator is a filtered and squared FSK signal from the phone line. This signal is internally processed to produce a pseudo-analog output signal which, after external filtering and squaring, serves as the input to the line receiver. The modulator generates a pseudo-analog output from a serial shift register which is loaded with patterns from an internal ROM. Each sine wave cycle is comprised of a 92-bit pattern which provides a suitable FSK signal output with minimal external filtering. The sine wave frequency is determined by the selected baud rate and the value of the transmitted data. CARDET FSKIN DOCDI iiii 07 06 TOP VIEW The device also includes a tape interface circuit suitable for the recording and retrieval of character codes of pages of text from an audio cassette recorder. This is performed at 1300 baud using a modified 'Kansas City' standard. Other on-chip facilities include 1.5 and 60 second timers and two general purpose quasi-bidirectional input/output ports. One port could, for example, be used as an interface to a nonvolatile RAM that stores telephone numbers for autodialing and user passwords, while the second port could be used for display control functions. The SAA5070 has been partitioned for flexibility of use. For example, an external modem can be used in conjunction with the internal receiver and transmitter, or the internal modem can be used independently of the internal receiver and transmitter. Signetics 2·75 2 MICROPROCESSOR DIVISION JANUARY 1982 VIEWDATA INPUT/OUTPUT PERIPHERAL (VIOP) SAA5070 PIN DESIGNATION MNEMONIC FUNCTIONS PIN TYPE 1 I IMP 2 0 Dialing pulse output TFSKIN 3 I FSK input from tape player TFSKOUT 4 0 FSK output to tape recorder FSKOUT 5 0 Line modulator output TXDATA 6 1/0 Line transmitter output or modulator input RXDATA 7 I Line data input F1 8 I 1MHz clock input Vss Signal and power ground DUMB 9 1/0 Remote control receiver B clock input or transmitter B clock output DATAB 10 1/0 Remote control receiver B data input or transmitter B data output DLENB 11 1/0 Remote control receiver B bus enable input or transmitter B bus enable output DATAA 12 I DUMA/DLENA 13 I IBCLCK 14 I/O 62.5kHz clock input or output PA4-PAO 15-19 1/0 General purpose 1/0 port A 20 I 24-21 1/0 Vcc PB3-PBO ALE DO-D7 25 I 26-33 1/0 Remote control receiver A data input Remote control receiver A clock or bus enable input + 5·volt power input General purpose 1/0 port B Address latch enable input from microprocessor 8·bit bidirectional addressldata bus RD 34 I Read strobe WR 35 I Write strobe CS 36 I Chip select DOCDI 37 1/0 FSKIN 38 I Filtered and squared line FSK "input CARDET 39 I Unfiltered line FSK input DON 40 0 Dialing in progress output 2·76 Line demodulator output or external carrier detect input Signetics MICROPROCESSOR DIVISION JANUARY 1982 SAA5070 VIEWDATA INPUT/OUTPUT PERIPHERAL (VIOP) BLOCK DIAGRAM OF TYPICAL VIEWDATA RECEIVER 2 r------...,TIMINGr------, R SAA5020 VTIC SAA50S0 VCG B G ROW ADDRESS BUS MICROPROCESSOR 8049 TER~II~!TING UNIT (SAFETY AND ISOLATION COMPONENTS DIALING RELAYS FILTERING) RECEIVE FSK ,....._ _ _--l"-..., RETURN FSK SAA5070 VIIOP t TELEPHONE LINE FROM COMMAND KEYPAD Signefics 2·77 ~ SIMPLIFIED BLOCK DIAGRAM < iii =e C 00 IBUSA RXDATA DOCDI DATA A DliM AlOLEN A IBCLCK r r 7 f37 38 FSKIN CARDET 14 DATA B DLiM B OLEN B rr 11 20 LINE DEMODULATOR AND CARRIER DETECT 38 IBUSB 1-.... IBUSA RECEIVER LINE RECEIVER , IBUSB RECEIVERI TRANSMITIER 0 el "U ;v 0 0 )I' ~ !ll0 Z "'V 0 c:: -I VDD ;;: ;v CJ <: en Z 0c:: -I "'V FSKOUT LINE MODULATOR r- ~ TXDATA !..- ... l1 fc 5 11 I REGISTERS STATUS .11 MODE REGISTER II J COMMAND REGISTER 36 35 R I~ 34 ~ lV IV TFSKIN 3 TAPE DEMODULATOR AND CARRIER DETECT r- TAPE RECEIVER 4 TAPE MODULATOR ~ TAPE TRANSMITIER jjjj ~~ 22 "'V :::z: m ;IU » -< ~ 0 07-00 I.:!! tv p.. r-v' V- TFSKOUT cs Viii 33 MICROPROCESSOR INTERFACE c:: -I m r [1 --"-" Vss "'V Vi LINE TRANSMITIER ~ ~ " V- II V<- IV-- PORTA I 1918 171615 SR1; TO SRO V- PORTB Jl 2423 2221 I DIALING CIRCUIT 2 40 IMP DON -- PAO PA2 PAl PA4 PA3 PBO PB2 PBl PB3 <: ~ ADDRESS LATCH AND REGISTER ADDRESS DECODER q TIMING 25 I· 8 ALE , FI en ~ UI 0 ..... 0 ~ '" CO '" Section 3 Single Chip Microcomputers Signetics JANUARY 1982 MICROPROCESSOR DIVISION SINGLE CHIP 8-BIT MICROCOMPUTERS SC80SERIES PRODUCT BRIEF, contact your Signetics sales offices for complete Information. PIN CONFIGURATION DESCRIPTION FEATURES The Signetics SCBO Series microcomputers are self-contained, 8-bit processors which contain the system timing, control logic, RAM data memory, ROM program memory (8048149/50 only), and 1/0 lines necessary to implement dedicated control functions. All seeo Series devices are pin and program compatible, differing only in the size of the on-board program ROM and data RAM, as follows: • 8-bit CPU, ROM, RAM, 1/0 in a 4O·pln package • 24 quasi bidirectional 1/0 lines • Two test inputs • Internal counterltlmer • Single·level vectored Interrupts: exter· nal, counterltlmer • Over 90 Instructions, 70% single byte • 1.36J'S or 2.5J'S instruction cycle, all In· structlons one or two cycles • Expandable memory and 1/0 • Low voltage standby • TTL compatible inputs and outputs • Single + 5V power supply TYPE RAM SIZE ROM SIZE 8048 8049 B050 B035 8039 B040 64x8 128x8 258xB 64x8 128xB 258 x 8 1KxB 2KxB 4KxB - Program memory can be expanded externally up to a maximum total of 4K bytes without paging_ Data memory can also be expanded externally. 110 capabilities can be expanded using standard devices or the 8243 1/0 expander. The SCBO Series processors are designed to be efficient control processors as well as arithmetic processors. They provide an instruction set which allows the user to directly set and reset individual lines withIn Its 1/0 ports as well as test individual bits within the accumulator. A large variety of branch and table look-up instructions make these processors very efficient In Implementing standard logic functions. Also, special attention has been given to code efficiency. Over 70% of the instructions are a single byte long and all others are only 2 bytes long. An on-chip 8-blt counter is provided which can count, under program control, either Internal clock pulses (with a divide by 32 prescaler) or external events. The counter can be programmed to cause an Interrupt on terminal count. vee T1 P27 P26 P25 P24 P17 P18 P15 \iii P14 ALE P13 FUNCTIONAL DESCRIPTION DBO P12 The following is a general functional description of the seeo Series microcomputers. Refer to the block diagram. DB1 P11 PROGRAM MEMORY Resident program memory consists of up to 4K bytes of ROM. The program memory is divided Into pages of 258 bytes each. As shown In the memory map, figure 1, program memory Is also divided Into two 2048-byte banks, MBO and MB1. 4096 bytes can be addressed directly. If more memory Is required, an 1/0 port can be used to address locations over 4095. DB2 P10 DB3 V•• DB4 PROG DB5 P23 DB8 P22 DB7 P21 vss P20 TOP VIEW There are three locations in program memo ory of special importance. These locations contain the first instruction to be ex· ecuted upon the occurrence of one of three events. LOCATION EVENT 0 Activation then deactivation of the ~ line. Activation of the jjij'f line when the external Interrupt is enabled. An overflow of the tlmerl counter if the TIC interrupt is enabled. 3 7 ) 3·2 Signe1ics MICROPROCESSOR DIVISION JANUARY 1982 SC80SERIES SINGLE CHIP 8-BIT MICROCOMPUTERS PIN DESIGNATION MNEMONIC PIN NO. TYPE NAME AND FUNCTION DBO-DB7 12-19 I/O Bus. Bidirectional 110 port can be read from or written into using the RD orWR strobes. This port can also be statically latched. Contains the 8 lower address bits during an access of external memory and receives the addressed instruction under control of PSEN. PSEN, ALE, RD, and ijijf! determine whether the access is an in· struction fetch or a RAM read/write. Pl0-P17 27-34 I/O Port 1. 8·bit quasi·bidirectionalliO port.' P20-P27 21-24, 35-38 I/O Port 2. 8·bit quasi·bidirectionall/O port.' P20-P23 contain the 4 higher order address bits during an access of external program memory and also serve as a 4·bit I/O expander bus for the 8243. 25 I/O Output strobe (active low) for the 8243 I/O expander. TO 1 110 Input pin sensed using the JTO and JNTO instructions. Clock output pin when designated as such by the ENTO ClK instruction. T1 39 I Input pin sensed using the JTl and J NTl instructions. Can be designated as the timer/counter input by the STRT CNT instruction. INT 6 I Interrupt Input pin. When low causes interrupt if interrupt is enabled. Can also be used as an input which is testable with the JNI instruction. Interrupt is disabled during and aiter a RESET. RESET 4 I Reset Input pin is that used to initialize the microcomputer. Active low. Internal pullup -75kIl 2 . During program verification the address is latched by a "0" to "1" transition on RESET and the data at the addressed location is output on BUS. ALE 11 0 Address latch enable. Occurs each clock cycle and is useful for clocking and sampling. During external program or data memory access, ALE is used to strobe the address information multiplexed on the DBO-DB7 outputs. RD 8 0 Read strobe. Active low strobe used to gate data onto BUS lines when reading from an external source. WR 10 0 Write strobe. Active low strobe used to write data from BUS lines to an external destination. EA 7 I External access Input. When high forces instruction fetches from external memory. Internal pullup -10MIl. PSEN 9 0 Program store enable. Active low strobe that occurs only during a fetch from external program memory. SS 5 I Single step. Active low input which is used with ALE to cause the microcomputer to execute a single instruction. Internal pullup -300kll. XTAll 2 I One side of crystal (or l) input for internal oscillator. Can also be used as an input for an external timing source2 . PROG XTAl2 3 I Other side of crystal. Vss 20 I Circuit ground. Vcc 40 I Power Input, + 5VDC. • Voo 26 I RAM power input; low power standby pin. NOTES 1 Each pm on these ports can be aSSigned, under program control, to be an Input or an output A pin Is designated as an Input by writing a logic "1" to the pm RESET sets all PinS to the Input mode Each pin has an Internal pullup of approximately 50kn 2 Non-standard TTL VIH Signetics 3·3 3 MICROPROCESSOR DIVISION JANUARY 1982 SC80SERIES SINGLE CHIP 8·BIT MICROCOMPUTERS BLOCK DIAGRAM P20 OBO P27 DB7 RESIDENT ROM (8048149/50 ONLy) PORT 1 BUS .-________~------~------~--------~----~~----------~~--v1B~:~R LATCH REGISTER 2 REGISTER 3 REGISTER 4 B DD ----. RAM SUPPLY POWER SUPPLY REGISTER 5 VS£. + 5V MAIN SUPPLY REGISTER 6 V~GND REGISTER 7 8 LEVEL STACK (VARIABLE LENGTH) OPTIONAL SECOND REGISTER BANK DATA STORE RESIDENT RAM ARRAY TIMING OUTPUT INTERRUPT INITIALIZE EXPANDER STROBE CPU OSCILLATOR PROGRAM SINGLE READIWRITE STEP STROBES MEMORY XTAL MEMORY SEPARATE ENABLE ADDRESS LATCH ENABLE 3·4 Signefics PlO JANUARY 1982 MICROPROCESSOR DIVISION SC80 SERIES SINGLE CHIP 8·BIT MICROCOMPUTERS DATA MEMORY Resident data memory, as shown in figure 2, consists of up to 256 bytes of RAM. All locations are indirectly addressable by either of two RAM pOinter registers at locations 0 and 1. The first eight locations of RAM (0-7) are designated as working registers and are directly addressable by several instructions. By selecting register bank 1, RAM locations 24-31 become the working registers, replacing those in register bank 0 (0-7). RAM locations 8-23 are designated as the stack. Two locations (bytes) are used per CALL, allowing nesting of up to eight sub· routines. If additional RAM is required, up to 256 bytes may be added and addressed direct· Iy using the MOVX instructions. If more RAM is required an I/O port can be used to select one (256-byte) bank of external memory at a time. PROGRAM COUNTER AND STACK The Program Counter (PC) is a 12-bit counter/register that points to the location from which the next instruction is to be fetched. The 8048 and 8049 will automatically address exernal memory when the boundary of their internal memory is exceeded. All processors access external memory if EA is high. An interrupt or CALL to a subroutine causes the contents of the program counter to be stored in one of the 8 register pairs of the program counter stack. The pair to be used is determined by a 3-bit stack pointer which is part of the Program Status Word (PSW). Data RAM locations 8 through 23 are available as stack registers and are used to store the program counter and 4 bits of PSW. The stack pOinter, when initialized to 000, pOints to RAM locations 8 and 9. The first subroutine jump or inter- rupt results in the program counter contents being transferred to locations 8 and 9 of the RAM array. The stack pointer is then incremented by one to point to locations 10 and 11 in anticipation of another CALL. Nesting of subroutines within subroutines can continue up to eight times without overflowing the stack. If overflow does occur the deepest address stored (location 8 and 9) will be overwritten and lost since the stack pOinter overflows from 111 to 000. It also underflows from 000 to 111. The end of a subroutine, which is signalled by a return instruction (RET or RETR), causes the stack pointer to be decremented and the contents of the resulting register pair to be transferred to the program counter. DATA MEMORY MAP PROGRAM MEMORY MAP 255 8040/8050 USER RAM ~'D 128 127 64 63 -BI~'." -, - 2047 .mB ~ 32 31 SEL MBO 24 23 1023 ;: Y z 0 lOCATION7-TIMER I-------- 4 3 2 1 '-'- - 8 7 6 5 ~O - - INTERRUPT VECTORS PROGRAM HERE 8 7 0 ADDRESS 32x 8 BANK 1 WORKING ~ DIRECTLY REGISTERS ADDRESSABLE 8x8 WHEN BANK 1 ---'R1"------'RO,---- BANKO WORKING REGISTERS 8x8 LOCATION 3-EXTERNAl INTERRUPT VECTORS PROGRAM HERE RESET VECTORS 716151413121'10 ----- PROGRAM HERE 64x 8 803518048 USER RAM IS SELECTED -.-J ADDRESSED INDIRECTLY THROUGH R1 OR RO (RO' OR R1 ') 8 LEVEL STACK OR USER RAM 16)( 8 ~ i. 128 x8 803918049 USER RAM ----------~---- ~ DIRECTLY ADDRESSABLE WHEN BANK 0 ISSELErED IN ADDITION, RD OR R1 (RO' OR R1 ') MAY BE USED TO ADDRESS 256 WORDS OF EXTERNAL RAM Figure 2 Figure 1 Signetics 3·5 3 MICROPROCESSOR DIVISION JANUARY 1982 SC84 SERIES SINGLE CHIP 8-BIT MICROCOMPUTERS PRODUCT BRIEF, contact your Signetics sales offices for complete information. DESCRIPTION FEATURES The Signetics SC84 Series microcomputers are self-contained 8-bit processors which contain the system timing, control logic, RAM data memory, ROM program memory, and serial and parallel 1/0 lines necessary to implement dedicated control functions. All SC84 Series devices are pin and program compatible, differing only in the size of the on-board program ROM and data RAM, as follows: • 8·bit CPU, ROM, RAM, I/O In a 28·pln package • 20 quasi bidirectional I/O lines • Two test Inputs, one with zero voltage crossover detection TYPE RAM SIZE ROM SIZE 8400 8405 8410 8420 8440 128x8 32x8 64x8 64x8 128x8 512x8 1Kx8 1Kx8 4Kx8 - PIN CONFIGURATION • Serial I/O hardware • Internal counter/timer • Single· level vectored interrupts: external, counterltimer, serial I/O • Over 90 instructions, 70% single byte • 6.77"s Instruction cycle, all instructions one or two cycles • High current drive on four outputs • TTL compatible Inputs and outputs • Single + 5V power supply The 8400 is a ROM-less piggyback version which can be used with standard EPROMs for emulating any of the other devices of the family. The SC84 Series processors are designed to be efficient control processors as well as arithmetic processors. They provide an instruction set which allows the user to directly set and reset individual lines within its I/O ports as well as test individual bits within the accumulator. A large variety of branch and table look-up instructions make these processors very efficient in implementing standard logic functions. Also, special attention has been given to code efficiency. Over 70% of the instructions are a single byte long and all others are only 2 bytes long. The instruction set is based on that of the SCBO Series. A special feature of the SC84 Series is the serial I/O interface. This eliminates the heavy processing load imposed upon a normal microcomputer performing serial data transfer, and facilitates the design of multi-microcomputer systems using serial communications. An on-Chip 8-bit counter is provided which can count, under program control, either internal clock pulses (with an optional divide by 32 prescaler) or external events. The counter can be programmed to cause an interrupt on terminal count. 3·6 vee P21 P20 P17 P16 P15 P14 P13 P12 P06 P11 P10 P07 INT/TO RESET T1 XTAl2 vss XTAl1 TOP VIEW PIN DESIGNATION MNEMONIC PIN FUNCTION POO-P07 P10-P17 P20-P23 4-11 18-25 26,27,1,2 8-bit quasi bidirectional I/O port (Port 0) 8-bit quasi bidirectional I/O port (Port 1) 4-bit quasi bidirectional 1/0 port (Port 2); P23 is the serial data input/output in serial I/O mode Bidirectional clock for serial I/O External interrupt input (active iow); testable using the JTO, JNTO instructions. Input pin testable using the JT1, JNT1 instructions. Can be designated the event counter input, using the STRT CNT instruction. Also allows zero crossover sensing of slowly moving AC inputs. Input. Used to initialize the processor (active high). Connection to timing component (usually a crystal) which determines the frequency of the internal oscillator. Aiso the input for an external clock source. Connection to other side of timing component. Ground + 5V power supply SCLK INTITO 3 12 T1 13 RESET XTAL1 17 15 XTAL2 16 14 28 Vss Vee Signetics JANUARY 1982 MICROPROCESSOR DIVISION SINGLE CHIP 8-BIT MICROCOMPUTERS SC84 SERIES BLOCK DIAGRAM SERIAL OATA/P23 (PIN 2) P07-POQ P17-P10 SCLK (PIN 3) RESIDENT ROM 8405 8410· 8420 8440 O,5K 1 K 2 K 4 K = BYTES BYTES BYTES BYTES CLOCK REGISTER 2 REGISTER 3 INSTRUCTION REGISTER AND REGISTER 4 REGISTER 5 DECODER o POWER { REGISTER 7 E 8 LEVEL STACK (VARIABLE LENGTH) o o - TEST 0 Vee SUPPLY REGISTER 6 E C OPTIONAL SECOND REGISTER BANK Vss ---+- GND CONDITIONAL BRANCH LOGIC DATA STORE ACC CONTROL AND TIMING iNTlTO RESET t t INTERRUPT INITIALIZE ACe BIT TEST XTAL1 RESIDENT RAM ARRAY t 8400· 128 BYTES 8405: 32 8410 64 8420· 64 8440 128 OSCILLATOR XTAL Signetics BYTES BYTES BYTES BYTES 3·7 3 JANUARY 1982 MICROPROCESSOR DIVISION SINGLE CHIP 8-BIT MICROCOMPUTERS SC84 SERIES Serial 1/0 The 8400 serial I/O interface has been designed to eliminate the heavy processing load imposed upon a normal microcomputer performing serial data transfer. Whereas a normal microcomputer must regularly monitor the serial dat bus for the presence of data, the 8400 serial I/O interface detects, receives and converts the serial data stream into parallel format without interrupting the execution of the current program. An interrupt is sent to the microcomputer only when a complete byte Is received. Then, the microcomputer reads the data byte In one instruction. Likewise, for transmission, the serial I/O interface performs parallel-to-serial conversion and subsequent serial output of the data and the microcomputer is only interrupted in the execution of its programmed tasks when a complete byte has been transmitted. The design of the 8400 serial I/O system allows any number of 8400 devices to be 3·8 Interconnected by the two-line serial bus. The ability of any two devices to communicate, without interrupting the operation of any other devices on the bus, is an out· standing attribute of the system. This is achieved by allocating a specific l·bit address to each device and providing a system whereby a device reacts only to messages prefixed with its own address or the 'general call' address. Address recognition is performed by the interface hardware so that operation of the microcom· puter need only be interrupted when a valid address has been received. This saves significant processing time and memory space compared with a conven· tional microcomputer employing a software serial interface. When the address· ing facility is not required, for instance in a system with only two microcomputers, direct data transfer without addressing can be performed. In multimaster systems, an automatically Signetics invoked arbitration procedure prevents two or more devices from continuing simultaneous transmission. Serial 1/0 Interface Figure 1 shows the serial I/O interface. The clock line of the serial bus has exclusive use of pin 3 (SCLK), while the data line shares pin 2 (serial data) with the I/O line P23 of Port 2. When the serial I/O is enabled, P23 is disabled as a parallel port line. The microcomputer and interface com· municate via the Internal microcomputer bus and the serial interrupt request line. Data and information controlling the operation of the interface are stored in four registers: - Data shift register SO Serial I/O interface status word SI Serial clock control word S2 Address register. 1/0 LOGIC DIAGRAM en Z 8400 SERIES SERIAL 110 LOGIC G> rm 0 =v INTREQ II1I I ~ DATA CONTROL .6nnDr:\C:~ ~ nATA , . ·1 I":nUD.6D.6TnD , . ~ ." ., R m ~ 0 ::z: .,0 INTERRUPT LOGIC SERIAL DATA (PIN 2) s:: () C» • W <: en (5 Z =i LENSI DISS1 3: 0;U , 0 0 0 3: ~WRSOI . SHIFT REGISTER - RDSO "V 1 AL I I I I LRB I IAAS~ADOI I PIN .... c: I m ;U en oen INTERNAL MICROCOMPUTER BUS BIT 0 SCLK (PIN 3) ESO WRSI AL RDSI PIN CLOCK SYNC LOGIC AND CONTROL en 0 INTERNAL CLOCK ~ C» ~ en m !! m en Figure 1 CD 1111wll~ '- »z »c ~ :0 00 I\) I I I I i I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I i I I I I I I I I I I I I I I I Section 4 SC68000 16-Bit Family Signetics MICROPROCESSOR DIVISION JANUARY 1982 16-811 MICROPROCESSOR SC68000 PRODUCT BRIEF, contact your Signetics sales offices for complete information. DESCRIPTION FEATURES Advances in semiconductor technology have provided the capability to place on a single chip a microprocessor at least an order of magnitude higher in performance and circuit complexity than has been previously available. The SCS8000 is the first of a family of such VLSI microprocessors from Signetics. It combines state-of-theart technology and advanced circuit design techniques with computer sciences to achieve an architecturally advanced lS-bit microproceSSing unit. The SCS8000 offers seventeen 32-bit registers in addition to the 32-bit program counter and a lS-bit status register (see the programming model in figure 1). The first eight registers (00-07) are used as data registers for byte (B-bit), word (1S-bit), and long word (32-bit) data operations. The second set of seven registers (AO-AS) and the system stack pointer can be used as software stack pointers and base address registers. In addition, these registers can be used for word and long word address operations. All 17 registers can be used as index registers. • • • • • • PIN CONFIGURATION 32-bit data and address registers 16-megabyte direct addressing range 56 powerful instruction types Operations on five main data types Memory mapped 1/0 14 addressing modes 05 06 07 D8 09 Dl0 D11 012 D13 = Dl. BGACK GND BG D1S BR A23 Vee A22 ClK A21 GND Vee HALT A20 RESET A19 VMA A18 PROGRAMMING MODEL 31 16 15 A17 VPA A16 DO BERR A1S Dl IPl2 Al' D2 IPLl A13 8 7 D3 IPlO A12 FC2 A11 DS FCl Al0 06 FCO A9 07 Al A8 A2 A7 A3 A6 D. 31 lIl- ff- I- EIGHT DATA REGISTERS 16 15 I AO - I I - I - I I I I I I Al A2 A3 A. SEVEN ADDRESS REGISTERS AS - A6 USER STACK POINTER ~--------------------l TWO STACK POINTERS PROGRAM COUNTER 15 I 8 7 SYSTEM BYTE: 0 USER BYTE I STATUS REGISTER Figure 1 4·2 AS A' Signetics TOP VIEW MICROPROCESSOR DIVISION JANUARY 1982 16·BIT MICROPROCESSOR A 23-bit address bus provides a memory addressing range of greater than 16 megabytes. This large range of addressing capability, coupled with a memory management unit, allows large, modular programs to be developed and operated without resorting to cumbersome and time consuming software bookkeeping and paging techniques. Table 1. Bits BCD digits (4 bits) Bytes (8 bits) Word (16 bits) Long words (32 bits) In addition, operations on other data types, such as memory addresses, status word data, etc., are provided for in the instruction set. The 14 addressing modes (see table 1) include six basic types: • • • • • • Register direct Register indirect Absolute Immediate Program counter relative Implied Included in the register indirect addressing modes is the capability to do postIncrementing, predecrementing, offsetting, and indexing. Program counter relative mode can also be modified via indexing and offsetting. DATA ADDRESSING MODES MODE Five basic data types are supported: • • • • • SC68000 GENERATION Register Direct Addressing Data Register Direct Address Register Direct EA=Dn EA=An Absolute Data Addressing Absolute Short Absolute Long EA = (Next Word) EA = (Next Two Words) Program Counter Relative Addressing Relative with Offset Relative with Index and Offset EA=(PC)+d '6 EA = (PC) + (Xn) + d s Register Indirect Addressing Register Indirect Postincrement Register Indirect Predecrement Register Indirect Register Indirect with Offset Indexed Register Indirect with Offset EA=(An) EA = (An), An_An + N An .... An-N, EA=(An) EA=(An)+d ,6 EA = (An) + (Xn) + d s Immediate Data Addressing Immediate Quick Immediate DATA = Next Word(s) Inherent Data Implied Addressing Implied Register EA = SR, USP, SP, PC NOTES EA = Effective Address An = Address Register Dn = Data Register Xn = Address or Data Register used as Index Register SR = Status Register PC = Program Counter ( )= Contents of dB = B·btt Offset (displacement) d16 = 16·blt Offset (displacement) N = 1 for Byte, 2 for Words and 4 for Long Words ~-= Replaces Signetics 4·3 MICROPROCESSOR DIVISION JANUARY 1982 16-811 MICROPROCESSOR The SC68000 instruction set is shown in table 2. Some additional instructions are variations, or subsets, of these and appear in table 3. Special emphasis has been given to the instruction set's support of structured high·level languages to facilitate ease of programming. Each instruction, with a few exceptions, operates on bytes, words, and long words, and most instructions can use any of the 14 addressing modes. Combining instruction types, data types, and addressing modes, over 1000 useful instructions are provided. These instructions include signed and unsigned multiply and divide, 'quick' arith· metic operations, BCD arithmetic and expanded operations (through traps). SC68000 Table 2. MNEMONIC I DESCRIPTION ABCD ADD AND ASL ASR Add Decimal with Extend Add Logical AND Arithmetic Shift Left Arithmetic Shift Right Bcc BCHG BCLR BRA BSET BSR BTST Branch Conditionally Bit Test and Change Bit Test and Clear Branch Always Bit Test and Set Branch to Subroutine Bit Test CHK CLR CMP Check Register against Bounds Clear Operand Compare DBcc DIVS DIVU Test Condition, Decrement and Branch Signed Divide Unsigned Divide EOR EXG EXT Exclusive OR Exchange Registers Sign Extend JMP JSR Jump Jump to Subroutine LEA LINK LSL LSR Load Effective Address Link Stack Logical Shift Left Logical Shift Right MOVE MOVEM MOVEP MULS MULU Move Move Multiple Registers Move Peripheral Data Signed Multiply Unsigned Multiply NBCD NEG NOP NOT Negate Decimal with Extend Negate No Operation One's Complement OR Logical OR PEA Push Effective Address RESET ROL ROR ROXL ROXR RTE RTR RTS 4·4 INSTRUCTION SET " Reset External Devices Rotate Left without Extend ' Rotate Right without Extend Rotate Left with Extend Rotate Right with Extend Return from Exception Retu rn and Restore Return from Subroutine SBCD Scc STOP SUB SWAP Subtract Decimal with Extend Set Conditional Stop Subtract Swap Data Register Halves TAS TRAP TRAPV TST Test and Set Operand Trap Trap on Overflow Test UNLK Unlink Signetics JANUARY 1982 MICROPROCESSOR DIVISION SC68000 16·811 MICROPROCESSOR Table 3. INSTRUCTION TYPE VARIATIONS OF INSTRUCTION TYPES DESCRIPTION VARIATION ADD ADDA ADDQ ADDI ADDX Add Add Add Add Add AND AND ANDI Logical AND AND Immediate CMP CMP CMPA CMPM CMPI Compare Compare Address Compare Memory Compare Immediate EOR EOR EORI Exclusive OR Exclusive OR Immediate MOVE MOVE MOVEA MOVEQ MOVE from SR MOVE to SR MOVE to CCR MOVE USP Move Move Move Move Move Move Move NEG NEG NEGX Negate Negate with Extend OR OR ORI Logical OR OR Immediate SUB SUB SUBA SUBI SUBQ SUBX Subtract Subtract Subtract Subtract Subtract ADD Signetics Address Quick Immediate with Extend Address Quick from Status Register to Status Register to Condition Codes User Stack Pointer Address Immediate Quick with Extend 4·5 JANUARY 1982 MICROPROCESSOR DIVISION SC68120 INTELLIGENT PERIPHERAL CONTROLLER PRODUCT BRIEF, contact your Signetlcs sales offices for complete information. PIN CONFIGURATION DESCRIPTION FEATURES The SC68120 Intelligent Peripheral Con· troller (IPC) is a general·purpose, user· programmable peripheral controller. It contains a system interface, an 8·bit CPU, a serial communications interface, 21 parallel 110 lines, a 16·bit timer, 2048 bytes of ROM, and eight operating modes. In ad· dition, the SC68120 features 128 bytes of dual·ported RAM and six semaphore registers that are accessible to both the internal CPU and an external processor or device through the system interface. The SC68120 provides all the control signals necessary to interface with the asyn· chronous bus of the SC68000. • Bus compatible with the 16·blt SC6BOOO and with B·blt microprocessors • Bus compatible with B·bit peripherals • TTL compatible 110 • B·blt CPU • 2K bytes ROM • 12B bytes dual·ported RAM • Six shared semaphore registers • 16·blt timer • 21 parallel 110 and two handshake lines • Serial communications Interface • Interrupt capability • Operates In slngle·chlp mode or ex· pandable to 64K·byte addressing range • DMA capability • B)( B·blt multiply PROGRAMMING MODEL K----~ -__ ~U~ -- -..!---- 3 15 1'5 8·BITACCUMULATORSAAND B D O O R la-BIT DOUBLE ACCUMULATOR D I o INDEX REGISTER (X) '1IT! I 1'5 SP 1'5 PC o 7 0 o STACK POINTER (SP) I PROGRAM COUNTER (PC) H 1 N Z V C CONDITION CODE REGISTER (CCR) CARRY/BORROW FROM MSB OVERFLOW ZERO NEGATIVE INTERRUPT HALF CARRY (FROM BIT 3) 4·6 Signetics RESEi' P24 P23 P22 P21 P20 SC2 SCI P30 S.AS P31 S.A4 P32 Vee P33 S.A3 P34 S.A2 P35 S.Al P36 S.AO P37 S.DO P40 S.Dl P41 S.D2 P42 S.D3 P43 5.04 P44 S.DS P4S 5.06 P46 P47 S.D7 TOP VIEW JANUARY 1982 MICROPROCESSOR DIVISION SC68120 INTELLIGENT PERIPHERAL CONTROLLER BLOCK DIAGRAM CS 8._ DTACK S.DO 5.Dl S.D2 S.D3 5.D4 5.D5 S.De 5.D7 .,::> Ii: 2 .. lI! w E 4 5.AO SAl 5.A2 S.A3 S.M 5.AS S.AI S.A7 DATA ADDRESS SINGLE CHIP EXPANDED NON·MULTIPLEXED EXPANDED MULTIPLEXED I gggggggg gggggggg9~ I !;UUSUU I !;!8iHISESa .. In :c~:a:l~:O!C:il}; ~~5~~~~:I i ii:UUiU .. ~UU~Uii!C iUnU!!U SUMMARY OF OPERATING MODES Common to all modes: System bus Interface Reserved register area Six semaphore registers I/O port 2 16·bit programmable timer Serial communications interface 128 bytes of dual·ported RAM Single chip mode - Mode 7 2048 bytes of ROM (Internal) Port 3 is a parallel I/O port with two control lines Port 4 is a parallel I/O port SC1 Is input strobe 3 (IS3) SC2 Is output strobe 3 (OS3) Expanded non·multiplexed mode Mode 5 2048 bytes of ROM (internal) 256 bytes of external memory space Port 3 is an a·bit data bus Port 4 Is an address bus SC1 is Input/output select (lOS) SC2 Is read/write (R/W) Expanded multiplexed modes - Modes 1, 2,3,6 Four memory space options (64K ad· dress space); (1) MOOS compatible (2) No ROM (3) External vector space (4) ROM with partial address bus External memory space accessed through: Port 3 as a multiplexed address/data bus Port 4 as an address bus (high) SC1 Is address strobe (AS) Input SC2 is read/write (RIW) Test modes - Modes 0, 4 Expanded multiplexed test mode - may be used to test RAM and ROM Single chip and non·multlplexed test mode - may be used to test ports 3 and 4 as I/O ports Sigletics -----.-~ -- -- 4·7 -.--. .. - . - - - - ---. MICROPROCESSOR DIVISION JANUARY 1982 SC68230 PARALLEL INTERFACE/TIMER PRODUCT BRIEF, contact your Signetics sales offices for complete Information. DESCRIPTION FEATURES The SC68230 ParaliellnterfacelTlmer (PIIT) is a general·purpose, programmable parallel interface device which meets most system parallel 1/0 and timing needs. The parallel interfaces of the PI/T may be used to connect a wide variety of peripheral devices to the SC68000 bus. The PI/T can be programmed to generate interrupt requests to the SC68000, or DMA requests to the SC68450 Direct Memory Access Controller, on demand of the peripheral. No external logic Is needed to connect the PI/T to the DMAC or to the SC68000. The PI/T also provides complete port and timer status information. 24 programmable I/O lines o Port modes include: Bit mode Unidirectional B·blt mode Unidirectional 16·blt mode Bidirectional B-blt mode Bidirectional 16·bit mode o Selectable handshaking modes o 24·blt programmable timer o Several timer modes o Contains interrupt prioritization logic o Unique interrupt vectors for each source o Supports Interrupt and DMA service requests o Contains port and timer status registers o SC680DO bus compatible The SC68230 contains two multi-mode, double-buffered 1/0 ports (Port A and Port B), a third &bit 1/0 port, and a 24-blt programmable timer. The PI/T also contains flexible prioritization logic for generating unique interrupt vectors. Autovectored interrupts are also supported. Port C pins provide either another port pin or special functions consisting of Interrupt, timer, or direct memory access control lines. 4·8 FUNCTIONAL DIAGRAM o PAD-PA7 PBO-P87 PORT c/DMAREQ PORT c/INTR PORTC/IACK PORTC/TIMER PORT C/TIMER PORTC/TIMER PORTC PORTC CA1 CA2 C81 C82 Signetics MICROPROCESSOR DIVISION JANUARY 1982 SC68450 DMA CONTROLLER PRODUCT BRIEF, contact your Signetics sales offices for complete information. DESCRIPTION FEATURES The SC68450 Direct Memory Access Con· troller (DMAC) offers the system designer unparalleled performance where both speed and flexibility In data transfer are required. Sophisticated chaining tech· niques, memory-to-memory block transfers, and variable bus bandwidth utilization result in optimum data transfers. Internal 32-bit address registers provide upward software compatibility with future SC68000 family processors • Compatible with both SC68000 family and B-blt peripherals • Four fully-Independent channels • Single or dual address transfers • Byte, word, or long word transfers • Memory-to-memory block transfers • Supports both chained and unchained operations • Transfer rates up to 4 megabytes per second • Supports vectored Interrupts • Supports array or linked array chaining • 16-blt data bus • Programmable priorities FUNCTIONAL DIAGRAM A8-A23/ 00-D15 A1-A7 REOD ACKO PCLD RiW Cli All UDS LDS DTACK lIEQi £K1 PCL1 Iml2 ~ PCL2 lffil3 ACK3 PCL3 OWN iiU HIBYTE IiiiEIiI DliIII Signetics ClK FCD Vee FC1 GND FC2 4-9 4 JANUARY 1982 MICROPROCESSOR DIVISION SC68450 DMA CONTROLLER INTERNAL ORGANIZATION CHANNEL STATUS REGISTER CHANNEL STATUS RECJISTER CHANNEL ERROR REGISTER CHANNEL ERROR REGISTER DEVICE CONTROL REGISTER DEVICE CONTROL REGISTER OPERATION CONTROL REGISTER OPERATION CONTROL REGISTER SEQUENCE CONTROL REGISTER SEQUENCE CONTROL REGISTER CHANNEL CONTROL REGISTER CHANNEL CONTROL REGISTER NORMAL NORMAL INTERRUPT VECTOR CHANNEL 0 INTERRUPT VECTOR PRIORITY REGISTER ERROR INTERRUPT VECTOR CHANNEL PRIORITY REGISTER MEMORY FUNCTION CODES MEMORY FUNCTION CODES DEVICE DEVICE FUNCTION CODES ERROR INTERRUPT VECTOR CHANNEL FUNCTION CODES BASE FUNCTION CODES BASE FUNCTION CODES 15 MEMORY TRANSFER COUNTER I I BASE TRANSFER COUNTER MEMORY ADDRESS REGISTER MEMORY TRANSFER COUNTER BASE TRANSFER COUNTER " " I I 31 MEMORY ADDRESS REGISTER DEVICE ADDRESS REQISTER DEVICE ADDRESS REGIST!R BASE ADDRESS REGISTER SASE ADDRESS REGISTER CHANNEL STATUS REGISTER CHANNEL STATUS REGISTER CHANNEL ERROR REGISTER CHANNEL ERROR REGISTER DEVICE CONTROL REGISTER DeVICE CONTROL REGISTER OPERATION CONTROL REGISTER OPERATION CONTROL REGISTER SEQUENCE SEQUENCE CONTROL REGISTER CONTROL REGISTER CHANNEL CHANNEL CONTROL REGISTER CONTROL REGISTER NORMAL INTERRUPT VECTOR NORMAL INTERRUPT VECTOR CHANNEL 2 ERROR INTERRUPT VECTOR CHANNEL3 ERROR INTERRUPT VECTOR CHANNEL PRIORITY REGISTER CHANNEL PRIORITY REGISTER MEMORY FUNCTION CODES MEMORY FUNCTION CODES DEVICE FUNCTION CODES DEVICE FUNCTION CODES BASE FUNCTION CODES MeMORY TRANSFER COUNTER BASE TRANSFER COUNTER 4-10 CHANNEL 1 BASE " I I 16 FUNCTION CODES MEMORY TRANSFER COUNTER 31 BASE TRANSFER COUNT!R I I MEMORY ADDRESS REGISTER MEMORY ADDRESS REGISTER DEVICE ADDRESS REGISTER DEY1CE ADDREIS REGISTER BASE ADDRESS REGISTER BASE ADDRESS REGISTER Signetics 31 MICROPROCESSOR DIVISION JANUARY 1982 MEMORY MANAGEMENT UNIT SC68451 PRODUCT BRIEF, contact your Signetics sales offices for complete Information. DESCRIPTION FEATURES The SC68451 Memory Management Unit (MMU) provides address translation and protection of the 16·megabyte addressing space of the SC68000. The MMU can be accessed by any potential bus master, such as Instruction set processors, or DMA controllers. Each bus master (or pro· cessor) In the SC68000 family provides a function code and an address during each bus cycle. The function code specifies an address space while the address specifies a location within that address space. The function codes are provided by the SC68000 to distinguish between program and data spaces as well as supervisor and user spaces. This separation of address spaces provides the basis of protection in an operating system. By simplifying the programming model of the address space, the MMU also Increases the reliability of a complex multiprocess system. • Separates address spaces of system and user resources • Provides write protection • Increases system reliability • Provides efficient memory allocation • Allows interprocess communication through shared resource. • Simplifies programming model of ad· dress space • Minimizes operating system overhead with quick context switches • 32 segments with variable segment sizes • Multiple MMU system capability • Supports both paging and segmentation • DMA compatible • Provides virtual memory support • SC88000 bus compatible FUNCTIONAL DIAGRAM I MEMORY MANAGEMENT UNIT CONTROL I MULTIPLEXER CONTROL SC88451 GLOBAL } HANDSHAKE LINES BERR IiESE'f FCO MAPPING LOGICAL SEGMENTS TO PHYSICAL MEMORY CLK FC1 Vee -FC2 GND -FC3 READ ONLY READ ONLY A READI WRITE SHARED DATA UNDEFINED READ ONLY A B READ ONLY READI WRITE B UNDEFINED B READI WRITE PHYSICAL MEMORY LOGICAL ADDRESS SPACE Signetics 4·11 4 JANUARV1982 MICROPROCESSOR DIVISION DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUARij SC68681 PRODUCT BRIEF, contact your Signetics sales offices for complete information. DESCRIPTION FEATURES The Signetics SC68681 Dual Universal Asynchronous Receiver/Transmitter (DUARl) Is a single chip MOS-LSI com· munications device that provides two in· dependent, full·duplex, asynchronous receiver/transmitter channels in a 40'pin package. It interfaces directly with the SC68000 16·bit CPU and other micropro' cessors and may be used In a polled or interrupt driven system. • SC68000 compatible bus interface • Dual, full·duplex, asynchronous receiver/transmitter • Quadruple buffered receiver data registers • Programmable data format - 5 to 8 data bits plus parity - Odd, even, no parity or forca parity - 1, 1.5 or 2 stop bits programmable In l/1a·blt Increments • Progremmable baud rate for each receiver and transmitter selectable from - 18 fixed rates: 50 to 38.4K baud - One user-deflned rate derived from programmeble timer/counter - ExternallX or laX clock • Parity, framing, and overrun error detec· tlon • False start bit detection • Line brake detection and generation • Programmable channel mode - Normal (full duplex) - Automatic echo - Localloopback - Remote loopback • Multl·function programmable la·blt counter/timer • Multi·functlon II-blt Input port - Can serve as clock or control inputs - Change of state detection on four in· puts • Multl·f,unctlon II-blt output port - Individual bit setlreset capability - Outputs can ba programmed to be status/lnterrupt Blgnals • Versatile Interrupt systam .... Single Interrupt output with alght maskabla Interrupting conditions - Interrupt vector output on interrupt acknowladge - Output port can be configured to provide a total of up to six saparata wlr&OR'able Interrupt outputs • Maximum data transfer: lX - 1MB/sec, laX - 125KB/sec • Automatic wake·up mode for multidrop applications • Start·end break Interruptlstatus • Detacts break which originates In the middle of a character • On·chlp crystal oscillator • TTL compatlbla • Single + 5V power supply The operating mode and data format of each channel can be programmed independently. Additionally, each receiver and transmitter can select Its operating speed as one of 18 fixed baud rates, a 16x clock derived from a programmable counter/ timer, or an external 1 x or 16 x clock. The baud rate generator and counter/timer can operate directly from a crystal or from ex· ternal clock Inputs. The ability to Inde· pendently program the operating speed of the receiver and transmitter make the DUART particularly attractive for dual· speed channel applications such as clus· tered terminal systems. Each receiver is quadruply buffered to minimize the potential of receiver overrun or to reduce interrupt overhead In inter· rupt driven systems. In addition, a hand· shaking capability Is provided to disable a remote DUART transmitter when the buf· fer of the receiving device Is full. Also provided on the SC68681 are a multi· purpose 6-blt input port and a multipur· pose B-bit output port. These can be used as general·purpose I/O ports or_can be assigned specific functions (such as clock Inputs or status/Interrupt outputs) under program control. The SC68681 is similar to the Signetics SC2681, differing primarily in that the SC68681 bus interface Is compatible with the SC68000 16·bit microprocessor. Refer to the SC2681 data sheet for operational details. 4-12 PIN CONFIGURATION Signetics vee IP4 IP5 1P2 IACKN CSN RESETN Xl/ClK X2 DTACKN RXDS RXDA TXDB TXDA OPI OPO OP3 OP2 OP5 OP4 OP7 OPS Dl DO D3 D2 D5 D4 D7 De INTRN OND TOP VIEW JANUARY 1982 MICROPROCESSOR DIVISION DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC68681 BLOCK DIAGRAM rDO-D7 < 8/ ~ k BUS BUFFER CHANNEL A 14- I I r- I TRANSMIT HOLDING REG TxDA TRANSMIT SHIFT REGISTER OPERATION CONTROL R/WN DTACKN • CEN AO-A3 4/ I ADDRESS DECODE I RIW CONTROL RESETN I-- - 4 RECEIVE HOLDING REG I r- (3) I AxDA RECEIVE SHIFT REG >-- ~ CRA SRA INTERRUPT CONTROL IACKN I- r""'j'M'jj"" INTRN --- ~ ~ • TIMING I BAUD RATE GENERATOR I CLOCK SELECTORS I X1/ClK X2 I COUNTER! TIMER XTAlOSC >-- I I I I . ~ - ;: TxOB CHANNELB lAS ABOVE) !!!ID :! ...c~ RxDB INPUT PORT CHANGE OF STATE DETECTORS (4) 6/ IPO-IPS z --- - II: i - ~ ACR OUTPUT PORT FUNCTION SELECT lOGIC L...- "'"'CsRA ~ ~ CTUR ~ signetics 8 OPO-OP7 ~ OPR • Vee • GND 4·13 MICROPROCESSOR DIVISION JANUARY 1982 DUAL ASYNCHRONOUS RECEIVER/TRANSMITTER (DUART) SC68681 BLOCK DIAGRAM The SC68681 DUART consists of the following eight major sections: data bus buffer, operation control, Interrupt control, timing, communications channels A and B, Input port and output port. Refer to the block diagram. Data Bus Buffer The data bus buffer provides the interface between the external and Internal data busses. It is controlled by the operation control block to allow read and write operations to take place between the controlling CPU and the DUART. Operation Control The operation control logiC receives operation commands from the CPU and generates appropriate signals to internal sections to control device operation. It contains address decoding and read and write circuits to permit communications with the microprocessor via the data bus buffer. Interrupt Control A single active-low interrupt output (INTRN) is provided which Is activated upon the occurrence of any of eight Internal events. Upon receiving an interrupt acknowledge from the CPU, the SC68681 responds by placing a programmable 8-bit Interrupt vector on the data bus. Associated with the Interrupt system are the interrupt mask register (lMR) and the interrupt status register (ISR). The IMR may be programmed to select only certain conditions to cause INTRN to be asserted. The ISR can be read by tbe CPU to determine all currently active Interrupting conditions. Outputs OP3-0P7 can be programmed to provide discrete interrupt outputs for the transmitters, receivers, and counter/timer. Timing Circuits The timing block consists of a crystal OSCillator, a baud rate generator, a programmable 16-blt counter/timer, and four 4·14 clock selectors. The crystal oscillator operates directly from a 3.6864MHz crystal connected across the Xl/ClK and X2 inputs. If an external clock of the appropriate frequency Is available, It may be connected to Xl/ClK. The clock serves as the basic timing reference for the baud rate generator (BRG), the timer/counter, and other Internal circuits. A clock signal must always be supplied to the OUART. pin. The receiver accepts serial data on the RxD pin, converts this serial input to parallel format, checks for start bit, stop bit, parity bit (If any), or break condition and sends an assembled character to the CPU. The baud rate generator operates from the oscillator or external clock Input and Is capable of generating 18 commonly used data communications baud rates ranging from 50 to 38.4K baud. The clock outputs from the BRG are at 16X, the actual baud rate. The counter/timer can be used as a timer to produce a 16X clock for any other baud rate by counting down the crystal clock or an external clock. The four clock selectors allow the Independent selection, for each receiver and transmitter, of any of these baud rates or an external timing signal. The inputs to this unlatched port can be read by the CPU by performing a read operation at address 0 16 , A high input results In a logic 1 while a low input results In a logic O. The pins of this port can also serve as auxiliary inputs to certain portions of the OUART logic. The counter/timer (CIT) can be programmed to use one of several timing sources as Its input. The output of the CIT is available to the clock selectors and can also be programmed to be output at OP3. In the cou nter mode, the contents of the CIT can be read by the CPU and it can be stopped and started under program control. In the timer mode, the CIT acts as a programmable divider. Communications Channels A and B Each communications channel of the SC68681 comprises a full-duplex, asynchronous receiver/transmitter (UART). The operating frequency for each receiver and transmitter can be selected Independently from the baud rate generator, the counter timer, or from an external Input. Input Port Four change-of-state ,detectors are provided which are associated with inputs IP3, IP2, IP1, and IPO. A high-ta-Iow or lowto-high transition of these inputs lasting longer than 25-50l's Will set the corresponding bit In the input port change register. The bits are cleared when the register Is read by the CPU. Any change of state can also be programmed to generate an interrupt to the CPU. Output Port The 8-blt multi-purpose output port can be used as a general-purpose output port, In which case the outputs are the complements of the output port register (OPR). OPR[n] = 1 results In OPn = low and viceversa. Bits of the OPR can be individually set and reset. A bit Is set by performing a write operation at address E16 with the accompanying data specifying the bits to be set (1 = set, 0 = no change). Likewise, a bit is reset by a write at address F16 with the accompanying data specifying the bits to be reset (1 reset, 0 no change). = = Outputs can also be individually assigned The transmitter accepts parallel data from specific functions by appropriate prothe CPU, converts it to a serial bit stream, gramming of the channel A mode registers Inserts the appropriate start, stop, and op- ' (MR1A, MR2A), the channel B mode registional parity bits and outputs a compOSite ters (MRl B, MR2B), and the output port serial stream of data on the TxO output configuration register (OPCR). 5ignetics Section 5 Video Game Signetics JANUARY 1982 MICROPROCESSOR DIVISION UNIVERSAL SYNC GENERATORS (USG) SC2621 (PAl), SC2622(NTSC) PRODUCT BRIEF, contact your Signetics sales offices for complete information. DESCRIPTION The Signeties.2621 Universal Sync Generator (USG) provides the timing and control signals necessary for generating and displaying TV video information in the PAL format. The Signetics 2622 Universal Sync Generator (USG) provides the timing and control signals necessary for generating and displaying TV video information in the NTSC format. The USG accepts a single 3.55MHz input clock and generates various timing outputs including vertical, horizont,el and composite blanking, composite sync and color burst flag. Several auxiliary clock outputs are also provided. The USG accepts a single 3.5795MHz input clock and generates various timing outputs including vertical, horizontal, and compOSite blanking, composite sync and coior burst flag. Several auxiliary clock outputs are also provided. The USG is primarily intended for use in microprocessor-controlled video games. A typical game configuration consists of a 2622 USG, a 2650A microprocessor, a 2636 Programmable Video Interface, a 2616 16K ROM, and video summer circuitry. The 2622 is constructed using Signetics silicon gate N-channel depletion load technology and operates from a single + 5 volt power supply. The USG is primarily intended for use in microprocessor-controlled video games. A typical game configuration consists of a 2621 USG, a 2650A microprocessor, a 2636 Programmable Video Interface, a 2616 16K ROM, and digital video summer circuitry. The 2621 is constructed using Signetics silicon gate N·channel depletion load techno· logy and oparates from a single +5 volt power supply. PIN CONFIGURATION TOP VIEW BLOCK DIAGRAM 1----,--- VRST CBLANK RESET VSR --------+--=======4----1 CLOCK r--""";:':"'---l-:±=-++-1 - - - -..... HRST L ________=-.J=~ 0' -C8' PCK Q-CK' &CK4 5·2 Signetics JANUARY 1982 MICROPROCESSOR DIVISION SC2636 PROGRAMMABLE VIDEO INTERFACE (PVI) PRODUCT BRIEF, contact your Signetics sales offices for complete information. DESCRIPTION PIN CONFIGURATION FEATURES The Signetics 2636 Programmable Video Interface (PVI) is intended for use In microprocessor-controlled game systems, and provides all of the common game circuits on a single chip. Circuits are provided for player inputs, background, moving objects, scoring, and audio signals. A typical system configuration consists of five LSI circuits: a PVI, a 2616 16K ROM, an NE549 Digital Video Summer (DVS) a Universal Sync Generator (USG), and a 2650A microprocessor. Additional PVls as well as random logic can easily be interfaced to enhance game compleXity. Since the system is microprocessor based, the actual game itself need not be "hardwired" into the system. Game definition is completely contained in the ROM. To change games, one simply replaces one ROM with another. Each ROM can contain several games, depending on game complexity and similarity between games. The 2636 PVI is constructed uSing Signetics' silicon gate N-Channel depletion load technology and operates from a Single +5 volt power supply. • Four general-purpose, RAM-resident object modules • Object duplication permitting generation of up to 80 object Images on the screen • 280ns object resoluUon • Object size and pOSition under program control • Programmable score Programmable sound • Programmable background • Eight programmable colors with multiple brightness levels • 37-byte scratch pad memory • Chip Enable outputs for system ROMs and PROMs • 1/0 facilities for switch scanning and potentiometer Inputs • WIre-OR expansion capability to multiple PVls • Forty-pin dual-in-line package APPLICATIONS • • • • • Consumer programmable video games Arcade games Simulators Special purpose graphic displays Home computer center GND INTREQ R/W VAST HR8T Cl C2 Ci QBJ/SCR A, INTACK Ae Do vee D, A. D:! A,O D. A11 D. CE, DS OI'ACK Do OPREQ D7 ffi 5 --==-- SOUND POT> POT' TOP VIEW PVI BLOCK DIAGRAM -'---~ CE' POT' POT. Signetics SOUNC 5-3 MICROPROCESSOR DIVISION JANUARY 1982 UNIVERSAL VIDEO INTERFACE (UVI) SC2637 PRODUCT BRIEF, contact your Signetics sales offices for complete information. DESCRIPTION The Signetics 2637 Universal Video Interface (UVI), using a new design approach, enables a microprocessor based system to be interfaced more efficiently with a color or black and white television receiver or monitor. For the first time, the 2637 UVI combines an object oriented approach with character generation (alphanumencs or other displayable forms) plus RAM-mapped color graphics. The UVl's primary use is in microprocessor controlled home computers or game systems, however, it may also be used in other applications where the display of alphanumeric and graphics data is desired. In particular, the UVI has been designed to require a minimum of support components thereby allowing a system configuration that is optimized for the user's needs. The UVI reads data and operational commands from a memory and produces video signals that result in the generation of alphanumeric or graphics color TV displays. Many of the common display circuits have been incorporated in a single chip, including: • Analog to digital converters which accept potentiometer inputs • Alphanumeric and special character generators • Moving object circuits • Audio signal generators With the 2637, a typical system configuration consists of a UVI, a 2616/2632 ROM, a 2622 (NTSC) or 2621 (PAL) Universal Sync Generator (USG), a 2650 senes microprocessor, four 2112 RAMs, and video summing circuitry. Additional UVls, Programmable Video Interfaces (PVls), as well as random logic can be interfaced to enhance game or system complexity. UVI FUNCTIONAL DESCRIPTION The 2637 UVI is a bus oriented device with address and data busses contrOlling the flow of data between the user's system and the UVI (see block diagram). Both the address and data busses are bidirectional. The basic clock frequency and the horizontal and vertical resel signals to the UVI drive vertical and horizontal counters. The two counters provide the UVI with a Cartesian coordinate representation of the television screen, i.e., each counter pair describes a unique point on the screen. Typically these clock and reset signals are provided by a universal sync generator circuit. 5-4 PIN CONFIGURATION FEATURES • Four general purpose, RAM-resident objects • 280nsec object resolution • Object size and pOSition under program control • Programmable multi-level sound and noise generators • 16 characters per display row • 13 or 26 character rows per screen • 40 alphanumeric characters • 16 background characters • 8 program definable characters • 64 graphics characters • 8 programmable color codes • Chip enable outputs for I I 0 logic • 1/0 facilities for switch scanning and potentiometer (RCI inputs • Operates with both U_S_ and European standards • Single +5 volt power supply • Forty-pin package D2 ., DO A. A1 •• A3 •• AS POT1 Cli A7 CI ~ a C! CI! SOUND APPLICATIONS • • • • • • . . POT2 Video games Home computers Communications terminals Educational systemB Process control displays Medical electronics R/W R/W aPJilR YRST cs HAST PC_ TOP VIEW AID Block Internal Status Block The AID Block converts the analog potentiometer position information into binary data which can be read by the system's CPU. Only two of the four potentiometers are active at any given time. The internal status block accumulates status information which can be read by the CPU; for example, collisions Address Block The address block provides chip enable outputs for external RAMs and 1/ 0 buffers. Color Mux System The color multiplexer generates the color codes for characters, objects, and screen. Sound Block ROM Character Generator The sound block is a multi-level square wave generator sending out pulses at a user programmable audio frequency. Random noise is also generated and can be mixed with the audio frequency for simulating crowd noise, explosions, etc. The 64 bytes of RAM stores eight programmable character I object fonts Signe1ics The ROM character generator stores the character lonts. RAM MICROPROCESSOR DIVISION JANUARY 1982 SC2637 UNIVERSAL VIDEO INTERFACE (UVI) BLOCK DIAGRAM 8-8IT DATA BUS DO - D7 -- HCIIIZOHTAi. COUNtER, VERTl- CAL COUNTER, ~----------------~l~ DIM. ADDRESS BUS _NG RIW[E] _COUIfmI _ RIW PROCE88OR iIII!II LOGIC STAlUSOf' COW8ION lII'm! CBJECT MODULE 1 RCE ~ DI!CODER Cl!1 CO .-------,L..-..-IO Cl ....... OPRED l:! L-~-~~ t!fi(OBJECT vtDEO) .....,.---._---,.._-..1 ADDRESS MJS AO - AS + 5 VOLTS o QND 0 Signetics 5·5 JANUARY 1982 MICROPROCESSOR DIVISION MICROPROCESSOR SC2650A PRODUCT BRIEF, contact your Signetics sales offices for complete Information. DESCRIPTION FEATURES The Signetics 2650A series are B-blt general purpose microprocessors constructed using Signetics n-channel silicon gate MOS tectlnology. The 2650 series executes a fixed Instruction set, with each Instruction being one to three bytes In length. • Stetlc 8 bit parallel NMOS microprocessor • Single power supply of +6 volts • TTL level single phase clock • Tll compatible Input. and outputa • Vsrlabl. length Instructions of I, 2 or 3 bytes • ,,32K byte addressing rang. • Coding efficiency with multiple addressing modes • Synchronous or a.ynchronous memory and 1/0 Int.rfac. • Interface. directly with Indu.try standard memorl•• • Single bit aerial 110 path • Seven 8 bit addr....ble g.nersl purpose r.glst.rs • Vectored Int.rrupt • Subroutln. return address stack The 2650 InstNctlon set consists of many powerful InstNctlons which are all ...IIy understood and are typical of larger cornputers. There are one-, two-, and three-byte Instructions as a result of the multiplicity of addressing modes. Addressing range of these processors Is 32K bytes of memory snd 268 1/ 0 devices. A single level hardware vectored Interrupt capability is provided. PIN CONFIGURATION TOP VIEW MICROPROCESSOR BLOCK DIAGRAM 8UBROUTINE .ETURN ADDR." STACK ADDRESS8US I/O CONTROL LINES ..... WRITE, INTIRRUPT _ITOP DECODING AND CDNTROL LOGIC TIMING LOGIC Figure 1 5-6 SigneIics CLOCK MICROPROCESSOR DIVISION JANUARY 1982 MICROPROCESSOR SC2650A PIN DESIGNATION MNEMONIC NUMBER NAME TYPE FUNCTION ADRO-ADR12 14-2 Address lines 0 ADRl3-E/NE 19 Address 13Extended I Non extended 0 ADR14-D/~ 18 Address 14Data I Control 0 AmmiI 15 Address enable I DBUSo-DBUS7 33-28 Data bus 1/0 ~ 25 Data bus enable I Low order memory address lines for Instruction or operand fetch. ADRO Is the least significant bit and ADR 12 is the most significant bit. ADRO through ADR7 are also used as the 110 device address for extended 110 Instructions. Low order memory page sddress line during memory reference instructions. For 1/0 inatructions this line discriminates between extended and non-extended 110 inatructions. High order memory page address line during memory reference instructions. It also serves as the 1/0 device address for non-extended 110 Instructions. Active low Input allowing 3-state control of the address bus ADROADR12. These lines provide communicetion between the CPU, Memory, and 110 devices for Instruction and data transfers. this active low input allows tri-state control of the data bus. OPREQ 24 Operation request 0 Indicates to external devices that all address, data and control information is valid. ~ 38 Operation acknowledge I M/iO WRP 20 23 22 Memory I input-output Read/Wrlte Write pulse 0 0 0 SENSE 1 Sense I FLAG 40 Flag 0 IIiiTRm 17 Interrupt request I INTACK 34 Interrupt acknowledge 0 ~ 37 Pause I RUN/WAiT 35 Run/Wait 0 RESET 18 Reset I CLOCK 38 Clock I VCC GND 39 21 +5V supply Ground I I Active low input indicating completion of an external operation. This allows asynchronous functioning of external devices. Indicates whether the current operation references memory or 1/0. Indicates a read or a write operation. This is a timing signal from the 2850 that provides a positive-going pulse during each requested write operation (memory or 1/0) and a high level during read operations. The senss bit in the PSU reflects the logic state of the sense Input to the processor at pin # 1. The flag bit In the PSU Is tied to a latch that drives the flag output at pin #40. This active low input line indicates to the processor that an external device Is requesting service. The processor will recognize this signal at the end of the current instruction If the interrupt inhibit status bit Is zero. this line indicates that the 2850 is ready to receive the interrupt vector (relative address byte) from the interrupting device. This active low input is used to suspend processor operation at the end of the currant Instruction. This output is a processor status indicator. During normal operation this line is high. If the processor Is halted either by executing a halt instruction or by a low input on the pauae line, the run I walt line will go low. Resets the Instruction address register to zero. Clesrs interrupt inhibit. A positive going pulse train that determines the instruction execution time. +5Vpower Ground R/W Signetics 5·7 = 5 MICROPROCESSOR DIVISION JANUARY 1982 MICROPROCESSOR FUNCTIONAL DESCRIPTION The 2650 series processors are general purpose, single chip, fixed instruction set, parallel 8-bit binary processors. A general purpose processor can perform any data manipulations through execution of a stored sequence of machine instructions. The processor has been designed to closely resemble conventional binary computers, but executes variable length instructions of one to three bytes in length. The 2650 series contains a total of seven general purpose registers, each eight bits long. They may be used as source or destination for arithmetic operations, as index registers, and for I/O transfers. The processor can address up to 32,768 bytes of memory in four pages of 8,192 bytes each. The processor instructions are one, two, or three bytes long, depending on the instruction. Variable length instructions tend to conserve memory space since a one-or-two byte instruction may often be used rather than a three byte instruction. The first byte of each instruction always specifies the operation to be performed and the addressing mode to be used. Most instructions use six of the first eight bits for this purpose, with the remaining two bits forming the register field. Some instructions use the full eIght bIts as an operation code. The data bus and address signals are tristate to provide convenience in system design. Memory and I/O interface signals are asynchronous so that direct memory access (DMA) and multiprocessor operations are easy to implement. The block diagram for the 2650 series (figure 1) shows the major internal components and the data paths that interconnect them. In order for the processor to execute an instruction, it performs the following general steps: 1. The instruction address register provides an address for memory. 2. The first byte of an instruction is fetched from memory and stored in the instruction register. 3. The instruction register (IR) is decoded to determine the type of instruction and the addressing mode. 4. If an operand from memory is required, the operand address ;s resolved and loaded into the operand address register. 5. The operand is fetched from memory and the operation is executed. 6. The first byte of the next instruction is fetched. The instruction register holds the first byte of each instruction and directs the subsequent operations required to execute each 5·8 SC2650A instruction. The IR contents are decoded and used in conjunction with the timing information to control the activation and sequencing of all the other elements on the Chip. The holding register is used in some multiple-byte instructions to contain further instruction information and partial absolute addresses. The arithmetic logic unit (ALU) is used to perform all of the data manIpulatIon operations, including load, store, add, subtract, AND, inclusive OR, exclusive OR, compare, rotate, increment and decrement. It contains and controls the carry bit, the overflow bit, the interdigit carry and the condition code register. The register stack contains six registers that are organized into two banks of three registers each. The register select bit picks one of the two banks to be accessed by instructions. In order to accommodate the register-to register instructions, register zero (RO) is outside the array. Thus, register zero is always available along with one set of three registers. The address adder is used to increment the instruction address and to calculate relative and indexed addresses. The instruction address register holds the address of the next instruction byte to be accessed. The operand address register stores operand addresses and sometimes contains intermediate results during effective address calculations. The return address stack (RAS) is a last in, first out (LIFO) storage which receives the return address whenever a branch-to-subroutine instruction is executed. When a return instruction is executed, the RAS provides the last return address for the processor's IAR. The stack contains eight levels of storage so that subroutines may be nested up to eight levels deep. The stack pOinter is a three bit wraparound counter that indicates the next available level in the stack. It always points to the current address. PROGRAM STATUS WORD The program status word (PSW) is a major feature of the 2650 which greatly increases its flexibility and processing power. The PSW is a special purpose register within the processor that contains status and control bits. It is divided into two bytes called the program status upper (PSU) and program status lower (PSL). The PSW bits may be tested, loaded, stored, preset, or cleared using the instructions which affect the PSW. The bits are utilized as shown in table 1. Table 1 PROGRAM STATUS WORD PSUO,l,2 SP PSU3,4 PSU5 II PSU6 F PSU7 S PSLO C PSLI COM PSL2 PSL3 OVF WC PSL4 PSL5 PSL6,7 RS IDC CC Pointer for the return address stack. Not used. These bits are always zero. Used to inhibit recognition of additional Interrupts. Flag is a latch directly driving the flag output. Sense equals the state of the sense input. Carry stores any carry from the high-order bit of ALU. Compare determines if a logical or arithmetic comparison is to be made. Overflow is set if a two's complement overflow occurs. With carry determines if the carry is used in arithmetic and rotate instructions. Register select identifies which bank of 3 GP registers is being used. Inter digit carry stores the bit-3 to bit-4 carry in arithmetic operations. Condition code is allected by compare, test and arithmetic instructions. PSU I ~ I : I ~ I~ I~ Is~21 S~l IS~O I S F II SP2 SP 1 SPO Sense Flag Interrupt inhibit Stack pointer two Stack pointer one Stack pOinter zero Signetics CC 1 CCO IDC RS WC OVF COM C Condition code one Condition code zero Interdigit carry Register bank select With/without carry Overflow Logical arithmetic compare Carry / borrow MICROPROCESSOR DIVISION JANUARY 1982 MICROPROCESSOR INPUT/OUTPUTINTERFACE The 2650 series microprocessor has a set of versatile I/O instructions and can perlorm I/O operations in a variety of ways. One-and two byte 1/ 0 instructions are provided, as well as a special single-bit I/O facility. The 1/ 0 modes provided by the 2650 are designated as data, control, and extended 1/ O. Data or controlI/O instructions, also called non-extended 1/ 0 Instructions, are one byte long. Any general purpose register can be used as the source or destination. A special control line indicates if either a data or control instruction is being executed. Extended 1/ 0 is a two-byte read or write instruction. Execution of an extended 1/ 0 instruction will cause an 6-bit address, taken from the second byte of the instruction, to be placed on the low order eight address lines. The data, which can originate or terminate with any general purpose register, is placed on the data bus. This type of 1/ 0 can be used to simultaneously select a device and send data to it. Memory reference instructions that address data outside of physical memory may also SC2650A be used for 1/ 0 operations. When an instruction is executed, the address may be decoded by the 1/ 0 device rather than memory. MEMORY INTERFACE The memory interlace consists of the address bus, the 6-bit data bus and several signals that operate in an interlocked or handshaking mode. The write pulse signal is designed to be used as a memory strobe signal for any memory type. It has been particularly optimized to be used as the chip enable or read/write signal. INTERRUPT HANDLING CAPABILITY The 2650 series has a single level hardware vectored interrupt capability. When an interrupt occurs, the processor finishes the current instruction and sets the interrupt inhibit bit in the PSW. The processor then executes a branch to subroutine relative to location zero (ZBSRl Instruction and sends out interrupt acknowledge and operation request signals. On receipt of the INTACK signal, the interrupting device inputs an 6-bit address, Signetics the interrupt vector, on the data bus. The relative and relative indirect addressing modes combined with this 8-bit address allow interrupt service routines to begin at any addressable memory location. INSTRUCTION SET The 2650 instruction set consists of many powerful instructions which are all easily understood and are typical of larger com· puters. There are one-, two-, and three-byte instructions as a result of the multiplicity of addressing modes. Automatic incrementing or decrementing of an index register is available in the arithmetic indexed instructions. All of the branch instructions except indexed branching can be conditional. Register-to-register instructions are one byte; register-to-storage instructions are two or three bytes long. The two-byte register-to-memory instructions are either immediate or relative addressing types. 5-9 5 Section 6 Application Notes Signetics MICROPROCESSOR DIVISION JANUARY 1982 INTERFACE TECHNIQUES FOR THE 2651 PCI INTRODUCTION App Note M22 READ WRITE TlMfNG DIAGRAM The Signetlcs2651 Programmable Communications Interface (PCI) is a universal synchronouslasynchronous data communications controller chip designed for microcomputer systems. The 2651 accepts programmed instructions from a microprocessor and supports many senal data communication disciplines, synchronous and asynchronous, in the full or half-duplex mode. I------Ico - - - - - . J Although designed pnmarily to Interface to a 2650 microprocessor, the 2651 can be easily integrated Into systems emploYing other CPUs. This application note descnbes methods to interface the PCI to 8080A, SC/MP, Z80, 8085, and 6800-based microcomputer systems 0 0-0 7 (WRITE' INTERFACE SIGNALS Do-Dr The PCI interface signals can be grouped Into two types' the CPU-related signals, which interface the 2651 to the microprocessor system, and the device-related signals, which are used to Interface to the communications device or system. The functions of the CPU-related signals of interest in this application note are detailed in Table 1 Timing signals for the CPU-PC I Interface are Illustrated in Figure 1, with (READ) _________ J I'-1- BUS FLOATING IOS-- DATA VAllO BUS FLOATING Figure 1 relevant specificatIOns summanzed in Table 2 PIN NAME PIN NO. INPUTIOUTPUT FUNCTION A1-Ao 'R/W CE 10,12 13 11 I I I 07-00 8,7,6,5, 2,1,28,27 1/0 Address lines used to select internal PCI registers Read command when low, wnte command when high. Chip enable command When low, Indicates that control and data linesto the PCI are valid and that the operation specified by the R/W, A1 and Ao inputs should be performed. When high, places the 00-07 lines in the tri-state condition. 8-bit, three-state data bus used to transfer commands, data and status between PCI and the CPU. Do is the least significant bit, 07 the most significant bit Table 1 CPU-RELATED INTERFACE SIGNALS LIMITS PARAMETER tCE Chip enable pulse Width tAS tAH tcs tCH tDS tDH Setup and hold time Address setup Address hold R/W control setup R/W control hold Data setup for write Data hold for write tDD tDF Data delay time for read Data bus floating time for read TEST CONDITIONS1 Min 300 ns ns 20 20 20 20 225 0 I CL - 100pF CL = 100pF Table 2 AC ELECTRICAL CHARACTERISTICS FOR CPU INTERFACE SIGNALS NOTES 1 TA=OQCto + 70°C, VCC=5V ±5% 2 ParametriC values listed are from 2651 data sheet Consult latest data sheet for possible changes to specifications 6·2 UNIT Max Signetics 250 150 ns ns JANUARY 19S2 MICROPROCESSOR DIVISION AppNoteM22 INTERFACE TECHNIQUES FOR THE 2651 PCI 2650 INTERFACE 2650-2651 INTERFACE The 2651 IS designed to interface directly to the 2650 microprocessor bus The PCI may be addressed via the 2650 extended I/O Instructions or It may be memory mapped, In which case it IS addressed using the 2650 memory reference instructions. As shown In Figure 2, the 2651 chip enable (CE) Input IS generated by "NAN Ding" OPREQ with the appropriate control signals (depending on the addressing mode used) and the higher order address lines required to select the PCI. ." ADRO ADR1 IIIW ii/w .... DBUSODBUS7 " V r;NOTE1 / :;.::- M/iO 8080A INTERFACE With regard to interfacing to the 2651, the major difference between a 2650 CPU and an 80S0A system consisting of an SOSOA CPU, S224 Clock Generator, and 822S/38 System Controller (Figure 3) is the absence of a combined read/write signal sUitable for the 2651 RIW input. Instead, the 8080A system provides separate lOR and lOW (or MEMR and MEMW) outputs which specify both the direction of data flow and the data transfer timing The simplest way to accomplish the interface IS to utilize an address line from the S080A for the R/W Input and to 'OR' the lOR and lOW (or MEMR and MEMW) signals for ultimate use as the 2651 chip enable signal, as illustrated in Figure 4 The only impact on system design IS that the software must specify a different address to read the PCI mode or command registers than to write the same registers The selection of these addresses must result In a '0' at the R/W input for read operations and a '1' for write operations The resulting register addressing and function are summarized In Table3 An analYSIS of the timing characteristics for the recommended configuration shows that adequate margins eXist to satisfy both the 2651 and the SOSOA specifications at the minimum 8OS0A clock period of 480ns The timing waveforms and calculations for the read and write cycles are shown In Figures 5 and 6. g-:NOTE3 2851 NOTE 2 ,"// E/NE DBD-' y / OPREQ """P- CE 74LS NAND GATE j:1 ~ HIGH ORDER ADDRESS LINES FOR CHIP SELECT, AS REQUIRED NOTES 3 Inverter reqUired only If 2651 addreSSing IS by extended 110 instructions (Wnte, Read) ThiS Input required only If 2651 addreSSing IS by extended 1/0 instructIOns and nonextended addreSSing IS also used In the system These Inputs not reqUired If aU I/O addreSSing IS memory mapped Figure 2 OPERATION A2 (R/W) A1 AO REGISTER READ 0 0 0 0 0 0 1 1 0 1 0 1 Receive Holding Register Status Register Mode Registers 1/2 Command Register WRITE 1 1 1 1 0 0 1 1 0 1 0 1 Transmit Holding Register SYN1/SYN2/DLE Registers Mode Registers 1/2 Command Register Table 3 PCI REGISTER ADDRESSING FOR 8080A INTERFACE Signetics 6·3 JANUARY 1982 MICROPROCESSOR DIVISION INTERFACE TECHNIQUES FOR THE 2651 PCI AppNoteM22 8080A SYSTEM 2 2S GNO---_ A. 20 +5V_ A, 11 -5V---_ A, 28 +12V---_ A, A, 8080A .. CPU A, A. 26 A, 27 A, 29 A, 3. A, 31 A, A, SYSTEM OMA REO - A, 13 HOLD A, 32 A, 33 A, 34 ADDRESS BUS A, 35 A, 1 A" A" A" 37 14 Au Au INT SYSTEM tNT REO A" •• 38 A" 16 INTE INT ENABLE A" 39 A" A" 36 A" A" 18 WR 17 OBIN t,;m~r TANK OSC 2 of T3 to AQ, Al, Fi/w changmg Delay from 4>2 of T3 to CE changmg Delay from $2 of T1 to B080A data bus valid Time from $2 of T1 to BOaOA data required 200n8 MaX} tAS, les for 2651 310n5 Mm are satisfied 4BOns 200n8 690n5 810ns Mm } Max Max} Max tAH, tCH for 2651 are satisfIed tOS1, 1052 for BOBOA are satisfIed Figure 5 Signetics 6·5 MICROPROCESSOR DIVISION JANUARY 1982 App Note M22 INTERFACE TECHNIQUES FOR THE 2651 PCI 8080A-2651 WRITE TIMING ,... I T1 ) .,J\ I' 12 n .. --' \ TO n I ~ ---~II--- n - - ______~r-\~____ I \ \ - 1-;5.'N ~=x- 4i1iiii - :::x-H- _t--- ii'iiii OMIN \ f0- _MIN X DATA j- I C !-'52.,N_ FRO._ I-! - t-- I- DATA' ROM • • HMIN ~ VALID .1!!!1!.. .. MAX ..- VALID ~ 2SSID AUINSPEe ~ 100,¥_MIN MIN NOTES All times In nanoseconds. 4. Data available Time pnor to WR Ao. A" RIw val,d Time after WR 683ns Min} tAS. tcs for 2651 508 Min are UllSfl8d CE valid 3 Time after iNA Ao. A,. Delay from WR to CE Rtw valid to 2651 pnor to ee, therefore tos for 2651 18 satisfied 5. Time after WR data...!,v81lable at 2651 Delay from WR to CE 125n8 Min} toH for 2651 7508 Max IS satisfied 12008 Min} Wi. tCH for 2651 75nl Min are satisfied Figure 8 zaG INTERFACE Z80-2851 INTERFACE ..... .. . i I ~ 0" A, IIiW < De.. 2SS' ....... - .... _ORRmI IWIiI OR in "'GHOR". ADDAE88 LiNea FOR CHIP IILlCT. I AlRI!QUIRI!D 4 . yI 74 OR 74LS SIRlES NOTE' MRm. RFSH used for memory mapped 1/0 10RO, hIi usad lor standard 110 Figure 7 6-6 ill The zeo CPU provides separate RD and WR signals to indicate read and write operations respectively. In addition, an MREO signal (for memory operations) or an 10RO signal (for 1/0 operations) are also provided. Although the RD signal could logically be used as the RIW input for the ~, with either MREO or 10RO used as the CE Input, as appropriate, the Z80 timing specifications are such that the control hold time specification (tCH) for the265f could"llOiDe guaranteed . - To overcome this problem, a technique utilizing an address line for the RIW Input is recommended, as previously discussed for the 8080A interface. Interfaces for memory mapped and 1/0 map!!!,d operations are shown in Figure 7. The M1 signal inhibits 2651 operation durIng interrupt acknowledge cycles, Similarly, RFSH inhibits operation of the 2651 during memory refresh cycles. A detailed timing analysis shows that all pertinent 2651 and Z80 timing specifications are satisfied with the techniques illustrated, JANUARY 1982 MICROPROCESSOR DIVISION AppNoteM22 INTERFACE TECHNIQUES FOR THE 2651 PCI SC/MP II INTERFACE SC/MP 11-2651 INTERFACE The bus interface signals for the SC/MP II are similar to those previously described for the 8080A and Z80, except that only memory reference operations are available. Again, a technique using an address line for the 2651 R/W input is recommended, as shown in Figure 8. All timing requirements for the 2651 and SC/MP II are easily satisfied. 6800 INTERFACE . A, RIW A, < D8 0 ? The 6800 microprocessor provides a R/W signal which, when inverted, is suitable for use by the 2651. The remainder of the interface logic required consists of gating of the appropriate bus signals to generate the CE signal for the 2651, as shown in Figure 9. The only timing parameter which is not easily satisfied is the write data hold time for the 2651 (t OH )' which is specified at Ons minimum. The 6800 specifications guarantee only a minimum of 10ns data hold time with respect to the DBE processor input, which is normally the >2 clock. To guarantee worst-case operation, the DBE signal should be skewed with respect to >2 to guarantee the minimum data hold time at the 2651. Consult the M6800 System Design Data Manual for detailed information. . A, DO" 265' PC. RDS WDS H. GH ORDER ADD AESS LINES FOR CHIP SELECT, REQUIRED I A. ~ co I 74 OR 74LS NAND GATES Figure 8 6 ,--------------------------------------------, 6800-2651 INTERFACE 8085 INTERFACE The bus signals of an 8085 microcomputer system are similar to those ofthe 8080A system shown in Figure 3. The major d.fferences are the multiplexing of the eight least significant bits of address on the data bus and the use of an 101M control line to distingUIsh between memory and 1/0 referenees. Since a single RIW control line is not available, the same addressing technique forthe 2651 registers as described for the 8080A interface .s recommended. Thus, the interface will be similar to the one shown in Figure 4 ~ m DBof ~ I The 8085 timing specifications are such that all 2651 requirements are easily satisfied. Similarly, the 2651 timing satisfies the 8085 requirements. A, ..... R/W RIW Y -" < •• YMA H. OH ORDER ADD AESS LINES FOR CHIP SELECT, REQUIRED . I : A. If I/O addressing .s used, AO-A2 in Figure 4 can be replaced by the non-multiplexed higher order address lines A8-A 10, since the 8085 provides the 1/0 address on both AOA7 and A8-A15 during an INPUT and OUTPUT instruction. In addition, the inverted 101M signal must be used as an input to the final NAND gate. If memory addressing is used for the 2651, AO-A2 must be obtained by demultiplexing from the addressldata bus through an externallatch clocked by the ALE timing signal. If 10 addressing is also used in the system, the MIlO signal must be used in the final NAND gate. .. .. A, p,- DBa·, ..., PC' i:I 74 OR 7iQ.S SEAlES Figure 9 REFERENCES 1. Signetics 2651 PCI Specificalton 2. Signetics MP8080A Microprocessor Specification 3. Signetics SC/MP II 2653 CEO Use of PCI Transparent Mode Features • Send OLE (CR3) Command To ensure that there IS no transmitter underrun between a OLE and the control character or OLE character to follow, the PGC .,., f I iN'f R +5v Figure 1 Signetics 6·9 6 MICROPROCESSOR DIVISION JANUARY 1982 APPLICATIONS TECHNIQUES FOR THE 2651 PCI INTRODUCTION The Signetics 2651 Programmable CommunicatIOns Interface (PCI) IS a universal synchronous! asynchronous data communications controller chip designed for use with microcomputers and minicomputers The 2651 accepts programmed instructions from a CPU and supports many senal data commUnications disciplines, both synchronous and asynchronous, In full or half-duplex, including IBM's Binary Synchronous Communications Protocol (BISYNC) The reader IS referred to the 2651 Data Sheet for general specifications and to applicatIOns memo M22 for Interface techniques with such microprocessors as 8080A, SC/MP, Z80, 8085, and 6800 Techniques for uSing the 2651 PCI to support BISYNC are detailed in application memo M24. The purpose of this applications memo IS to assist the designer by demonstrating vanous interface and operational procedures which have been successful With the 2651 While we have tried to cover several possibilities m each procedure, the techniques shown should not be construed to be constraining and the designer IS encouraged to develop whatever Interface techniques best fit his application. PROCEDURES FOR TERMINATING TRANSMISSION FULL DUPLEX (RTS always true) Load last character into THR in response to TxRDY going active low 2. Disable TxEN (0- CRO) in response to the next TxRDY. This will cause TxRDY and TxEMT to remain in the high state after the last character (in TxSR) is serialized. HALF DUPLEX (RTS true when transmitting; false otherwise) Synchronous-use a closing PAD 1 Load an all 1's PAD character Into THR In response to TxRDY At this time the preVIOUS (last) data character is in TxSR being serialized 2. Disable TxEN as above In this case, the last data character has been transmitted when TxRDY goes active. 3. Drop RTS (0 - CR5). One or more bits of PCI INTERRUPT REQUESTS iR1 AND IR2 WHEN TxEMT/DSCHG MUST BE SEPARATED FROM TxRDY +5V fiRI5Y iifj RxRDV +sv 2651 ENBL }~ LOGIC iR2 TxEMT DSCHG App Note M26 the PAD character will be transmitted on TxD before the RTS pin (23) goes high Asynchronous-wait for TxEMT 1 Load last character Into THR in response to TxRDY 2 Mask out the TxRDY interrupt condition by externally disabling It This can be done through a gate, interrupt controller ChiP, or CPU mask flip-flop. Note that TxRDY and TxEMT cannot be tied together (see Figure 1) 3 Drop RTS In response to the next TxEMT. TxEMT gOing active Indicates that the last character has been transmitted The TxD state will be marked hold one bit time after TxEMT goes active DISTINGUISHING BETWEEN TxEMT AND DSCHG CONDITIONS The DSCHG condilion goes active on a state change of either the DCD or DSR Pln(s) provided either RxEN or TxEN = 1 but not In local loopback mode The DCD and DSR status bits (SR6, SR?) reflect the pin status at the time the status register IS read, i e., they are not latched. A Status Read will clear the DSCHG condilion. The TxEMT condition goes active dunng transmitter underrun. The condition is Immediately reset when a character IS loaded into THR It IS reset after the linefill is sent once the transmitter IS disabled (TxEN = 0) Smce both of these conditions share a pin (18) and a status register bit (SR2), it IS necessary to determine which or both conditions are present when the pin I status bit IS active (Figure 2) Figure 1 , - - - - - . . . . FLOWCHART TO DISTINGUISH BETWEEN TxEMT & DSCHG Figure 2 6-10 Signetics JANUARY 1982 MICROPROCESSOR DIVISION APPLICATIONS TECHNIQUES FOR THE 2651 PCI GENERATING CORRECT INITIALIZATION STATE OFTxD App Note M26 LOGIC TO GUARANTEE TxD = 1 ON POWER UP OR RESET GATeD 19r------i~~----------_f--, After a power-on or RESET all Mode register bits will be zero Specifically, MR25 will select external TxC The TxD pin requires at least one high to low transition on TxC for TxD to go high. Without a TxC Input, a break (all zeros) may be transmitted This presents a problem In asynchronous mode when using the Internal BRG (MR25 = 1) To circumvent the problem, the user may take one of the following actions: a) Generate one high to low transition on TxC dunng a power on or RESET b) Input a system clock or the BRCLK into 2651 Vee RESET TxC through a 1K resistor. c) Inclusive OR RTS and TxD to produce the Tx serial data to the modem d) Use external logic (Figure 3) to insure TxD comes up in the" 1" state. ACTIVE LOW Figure 3 USING THE PCI BEYOND THE SPECIFIED SERIAL DATA RATE ----------- 1Mbps DC BASEBAND LINK If local loopback is not required, the PCI will operate correctly if the RxC high and low times are equal to or greater than 500 ns. A 1 Mbps DC baseband link between two PCI's is therefore quite acceptable. The only requirement is a synchronizing flip flop at the transmitter to compensate for the uncertainty in t TXD• the TxD delay from the falling edge of TxC. That time can be anywhere from 150 ns to 650 ns (Fig. 4). 6 j 2651 Figure 4 ANALYSIS OF PULL UP RESISTOR VALUES FOR 2651 PCI WIRE-OR OF OPEN DRAIN OUTPUTS This diSCUSSion IS Intended to assist the 1. Rx mm Wish to mamtaln acceptable "0" V output AxmlO = Vee max - VOL max -""'--------'=---'OL max user in determlnmg pull up resistor values for open drain output TxRDY, RxRDY, TxEMT IDSCHG shown In Figure 1 (Rx, Ry) (5 25 - + IlL ,uP 45) volts (16+ 01)mA 48 kl! 161 only one output sonklng (low) = 3kf! 2 Rx max Wish to mamtam acceptable" 1" V output Rxmax Vee max - VOH min = -""'--------'''-'-3 x 'OH - IlL J1P (475 - 24)V (3x 01 - 01)mA =1175kll all outputs sourcing (high) Signe1ics 6·11 MICROPROCESSOR DIVISION JANUARY 1982 USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER INTRODUCTION per second. The PGC Is a device that monitors parallel data transferred between a CPU or memory and a serial receiverltransmitter (RIT, UART, USRT, etc.) or other bus oriented device. Operation is two-way alternate (half-duplex) in that the PGC Is selected to receive characters either from the R/T or from the CPU. Full duplex operation Is achieved by using two PGCs. A unique feature of the 2653 is its 'character class array', a 12Sx2 RAM which is used to classify received characters Into one of four types - normal, sync/not included, block terminating character, and secondary search character. The received characters may be block checked and/or compared to the special characters pre loaded into the character class array. In addition to the block check character (BCC) generation, the PGC is capable of single character detection, two character sequence detection and parity generation and checking. All operating modes are software programmable and can be changed for each application. Figure I illustrates the block diagram of the PGC, while figure 2 describes the formats of the registers used to program its operation. 1 When transferring data via a data communications link using any protocol, the only way to ensure a correct transfer Is to perform error checking on the messages being exchanged. Error checking can be accomplished through vertical, longitudinal and cyclic redundancy checks, special character recognition and transparent operating modes. " the error checking is perjOrmed correctly, the result is an accurate transfer of data from station to station. The checking technique can be performed by software only, but this may result in a reduction of the maximum channel speed, may reduce the number of channels which can be handled by the CPU, or may limit the supplementary tasks which can be performed by the CPU. The most efficient way to accomplish error checking is to use a combination of hardware and software. The Signetics 2653 Polynomial Generator and Checker (PGC) is designed to provide the above error checking capability while operating with asynchronous, synchronous or parallel receivers or transmitters at a speed of up to 500K characters AppNote400 The block check character (BCC), which the 2653 computes from monitoring the 8bit data bus, takes the form of a cyclic redundancy check (CRC) on specified characters. The CRC Is a reliable method of detecting errors In received serial data streams and Is employed In almost all synchronous data communications protocols. The PGC can compute the BCC In four {!lodes: BISYNC normal, BISYNC transparent, automatic accumulate, and single accumulate. In each of these modes, one of three error polynomials (CRC-16, CRC-12, and LRC-S) can be selected. In either of the BISYNC modes, the 'Intelligence' provided by the character comparison capability within the chip enables it to know which characters to include and which to exclude from the BCC accumulation. Additionally, block terminating characters can be detected as well as the Initiation and termination of BISYNC transparent mode. As a result, It can handle character oriented processing for IBM BISYNC, ANSI 3.2S, ISO 1745, DEC DDCMP, and other disciplines. 1See the 2653 data sheet for full operational description. BLOCK DIAGRAM 00-07 ~ < DATA BUS 'I DATA BUS I. >I BUFFER + r- OLE R AO 1 E1 w . r- OPERATION CONTROL ~ -I MODE REGISTER COMMAND REGISTER n ~ STATUS REGISTER I! EO ~ CHARACTER REGISTER ~ I8 ARRAY ~ 8 ~ act ANDVRC GENERATION UNIT ~'.1 i§ i ace UPPeR § -8 II Figure I 6·12 Signettcs t, 18 {.Jo Bn CHARACTER CLASS I I U II B ace LOWER B8 I JANUARY 1982 MICROPROCESSOR DIVISION App Note 400 USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER PGC REGISTER BIT FORMATS ACCUMULATION MODES ~ 00 SINGLE 01 AUTOMATIC 10 BISYNC NORMAL 11 BISYNC TRANSPARENT ' - - - - - - - RECEIVE/TRANSMIT ODD/EVEN PARITY - - - - - - - - - ' o RECEIVE 0000 1 eVEN 1 TRANSMIT VRCENABLE _ _ _ _ _ _ _ _ _ _ _ _ _-1 ('" 1) ' - - - - - - - - - ENABLE ACCUMULATION WITH ffi (= 1) MODE REGISTER 6 = ---- SECOND SEARCH CHARACTER DETECT INTERRUPT ENABLE = 1 BTC/SC DETECT _ _ _ _ _ _J INTERRUPT ENABLE'" 1 VRC ERROR INTERRUPT ENABLE = 1 Bee ERROR INTERRUPT ENABLE = 1 COMMAND REGISTER BCe ERROR CR' (= 1) L _____ CR6------I VRC ERROR (= 1) L-_ _ _ _ _ _ _ _ BTC/SC DETECT CRS - - - - - - - - - ' (oo 1) CR4------------' L ___________ sse DETECT (= 1) STATUS REGISTER Figure 2 Signetics 6·13 JANUARY 1982 MICROPROCESSOR DIVISION AppNote400 USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER A companion chip, the Signetics 2661 Enhanced Programmable Communications Interface (EPCi), directly combines with the 2653 to effect a synchronous/ asynchronous character oriented communications link. If a complete multi-protocol interface is desired, it can be obtained using the PGC in conjunction with the Signetics 2652 Multi-Protocol Communications Controller (MPCC). BISYNC TEXT MESSAGE FORMAT Text SYN SYN SOH Header STX ETX BCC LRC-B, CRC-12, or CRC-16, depending on character code (ASCII, transcode, EBCDIC) Figure 3 PROTOCOLS Protocols provide the necessary ground rules to assure the orderly and accurate transfer of data between digital equipments. Data communications protocols are becoming increasingly important as the terminal population increases, distributed processing becomes widespread, and new communications technologies, such as packet switching and satellite links, become commonplace. The protocols associated with the data communications have been classified into several major levels, or layers, that define various functions and operations. Each level is designed to be functionally independent of the others, but each depends on the correct operation of the previous level to operate. The protocols embodied in these levels range from those that define the physical and electrical links, e.g. RS232C and CCITT V.35, to those which are responsible for functions such as message buffering, code conversion, recognizing and reporting faulty conditions in terminals or lines, communication with the host mainframe, and management of the communication network. These protocols are implemented by software packages such as IBM's Systems Network Architecture (SNA), CCITT's X.25, and DEC's DECnet. In the remainder of this application note, we shall concern ourselves with data link control protocols (DLC's), which are the sets of rules necessary for effective communications between terminals and computers over conventional communications cnannels. DLe's are concernea wltn nandling the communications link itself and moving information across it efficiently and accurately. The basic functions of a DLC are to: I. Establish and terminate a connection between two stations. 2. Assure message integrity through error detection, requests for retransmission, and positive or negative acknowledgments. 6-14 3. Identify sender and receiver through polling or selection. 4. Handle special control functions such as requests for status, station reset, reset acknowledge, start, start acknowledge, and disconnect. Data link controls can be classified into character oriented protocols (COPs) and bit oriented protocols (BOPs). COPs can be further subdivided into byte control protocols (BCPs) and character count protocols (CCPs). BYTE CONTROL PROTOCOLS In BCPs, a defined set of commUnication control characters effects the orderly operation of the data link. IBM BISYNC, ANSI 3.2B and ISO 1745 are all byte controlled. Control characters and two character sequences configure and manage the data link between sender and receiver. Control messages or acknowledgements consist of one or two characters while data messages usually contain less than 1,000 characters. For text messages, shown in figure 3, an optional header may precede each text (information) block. The entire message block is error checked based on the information code set used (ASCII, EBCDIC, SBT) and the operational status of a transparent text mode. The transparent text mode is a Table 1 means of identifying pure data characters from the characters of the information code set. For example, packed BCD, floating point numbers or memory image data would be sent in the transparent mode such that the receiver would not interpret that data as code set characters. Transparent mode is initiated by the sequence DLE-STX and terminated by a OLE followed by a block terminating character (ETX, ETB, ITB, or ENO). Byte controlled protocols utilize a stop and wait automatic repeat request (ARO) which limits operation to two way alternate (half duplex). Each transmitted message block must be acknowledged before the next message may be sent. A negative acknowledgement is achieved by sending a NAK, a positive acknowledgement is sent as an ACKO or ACKI for even and odd blocks respectively. The acknowledgement is sent after one or more Block Check Characters (BCCs) have been received and checked (one character for LRC-B, two characters for CRC-12 or CRC-16). Table I presents error checking requirements for byte controlled protocols. For control and acknowledgement messages the receiving processor must detect various single and two character sequences. These are defined in tables 2 and 3. ERROR CHECKING REQUIREMENTS FOR BISYNCI ANSI 3.28 Information Code No Transparency Transparency Operating Transparency Not Operating EBCDIC ASCII SBT CRC-16 VRC-LRC CRC-12 CRC-16 CRC-16 CRC-12 CRC-16 VRC-CRC-16 CRC-12 Signetics JANUARY 1982 MICROPROCESSOR DIVISION USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER Table 2 COMMUNICATION CONTROL CHARACTERS FOR BISYNC Mnemonic Name SOH STX ETX ETB EOT Start of heading Start of text End of text End of transmittal block End of transmission NAK Negative acknowledgement ENQ Enquiry ITB Intermediate block DLE ACK SYN Data link escape Acknowledgement Synchronization character Table 3 AppNote400 Function Start of message which is used as heading. Start of any message. Information code characters follow. Signals the end of a text. BCC(s) follow. Signals the end of a transmittal block. BCC(s) follow. If used by the master, it signals the end of a transmission. As a slave response, it indicates an abnormal termination of the transmission (abort). In multipoint systems, it is' used by the control station to activate address decoding functions within the tributary stations. Signals back to the master station that the last data block was not accepted. It may also represent a negative response to an initialize sequence, I.e. not ready. Request to send back status, or abort a block of transmitted data. Also used by the master station to end a polling sequence. Blocks of the received message are released to the program via intermediate interrupts for faster processing. BCC(s) follow the ITB. Used as leader in control sequences (see table 3). Used as OLE trailers in control sequences (see table 3). SYN-SYN establishes character synchronization. Inserted automatically into the data stream by the transmitter. Does not enter main storage of the receiver. BISYNC CONTROL CHARACTER SEQUENCES Mnemonic Function OLE-RVI Indicates to the transmitting statton that the receiving station wants to transmit data. Implies acknowledgement of last received block. Indicates to the transmitter that the last message was received free of errors, but the receiver cannot continue. Enters transparent text mode. Allows all 256 characters to be used as data. ~isconnect sequence on a switched network. End-of-text signal in transparent mode. BCCs follow. End-of-transmitlal-block Signal in transparent mode. BCCs follow. Intermediate-block-checking signal in transparent text mode. BCCs follow. Used as positive reply to even/odd blocks respectively. Aborts block of transparent data. BCCs do not follow. Establishes character synchronization. Automatically inserted into the data stream during underrun in normal text mode. Used to maintain synchronization, and to recognize line interruptions. Does not enter main storage of receiver. Automatically inserted into the data stream during underrun in transparent text mode. Used to maintain synchronization, and to recognize line interruptions. Does not enter main storage of receiver. Signals to the transmitting station that the last block was received correctly, but the receiver cannot continue immediately because other operations have to be performed first. Temporary text delay. Abort sequence used by the master station to announce an abnormal termination of the transmission. OLE-SAK OLE-STX OLE-EOT OLE-ETX OLE-ETB OLE-ITB OLE-O/l OLE-ENQ SYN-SYN OLE-SYN OLE-WBT STX-ENQ Signetics 6015 6 JANUARY 1982 MICROPROCESSOR DIVISION USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER Character Count Protocols Bit Oriented Protocols Digital Equipment Corporation's DDCMP and its associated versions used by Bell Labs are character count protocols. A character count specifies the number of data characters in the information field of a message: positional significance is used to identify control information in the header of the block which is verified by a separate cyclic redundancy check. There are three control charac;ters in DDCMP (SOH, ENQ, DLE) - each identifies the start of a different type of message. Figure 4 depicts the DDCMP text message format. 2653 FUNCTIONS AND APPLICATIONS BOPs make use of only two or three specific control characters for operation of the data link. These characters are used to delimit the beginning (FLAG) and end (FLAG, ABORT, GA) of a message frame. Upon receipt of the opening FLAG, POSItional signficance is used to delineate the bIt sequence that follows into prescnbed fields, as shown in figure 5. These fields area address, control, information, and frame check sequence. The address, control, and frame check field are fixed length; the information field is variable and may be zero. Examples of BOPs are IBM's Synchronous Data Link Control (SDLC), ANSI's Advanced Data Communication Control Procedures (ADCCP), ISO's HighLevel Data Link Control (HDLC), Burroughs' Data Link Control (BDLC), and various other protocols developed by computer mainframe manufacturers. All of the above mentioned protocols are sImIlar and can be treated as subsets of ADCCP. BOPs also utilize a "go back N" type of error control. A "go bac;k N blocks" type of error control is used in this protocol. Up to 255 blocks may remain outstanding before an acknowledgement is required. This is achieved by separate 8-bit send and receive block counts. When an acknowledgement is sent the received block count indicates the number of message blocks correctly received. This is compared with the send block count. The difference, if any, is the number of blocks that must be retransmitted. AppNote400 BCC Accumulation The primary function of the PGC is the accumulation of the BCC for character oriented protocol (BCP and CCP) messages. As described previously, there are four modes of BCC accumulation and each mode can select one of three generating polynomials to compute the BCC(s). The polynomials are X'6 + X'5 +x 2 +1 (CRC-16), X'2 +x 3 +X 2 +X+1 (CRC-12), and x 8 + I (LRC-8). The four accumulation modes are BISYNC normal, BISYNC transparent, automatic accumulate and single accumulate. In BISYNC normal mode, all characters loaded Into the PGC's character register are accumulated except those in the SYNI Not Included class. During receive operations, a detected block terminating character (BTC) will cause the BCC accumulation to stop after the next one (LRC-8) or two (CRC-12 or CRC-16) DDCMP MESSAGE FORMAT SYN SYN SOH Count (14 bits) Flags (2 bits) Response Sequence (8 bits) (8 bits) Address (8 bits) CRC-16 (16 bits) Information (any number of 8 bit characters) CRC-16 (16 bits) Figure 4 BIT ORIENTED PROTOCOL (BOP) MESSAGE FORMAT I Header Flag (8 bits) Address I Control I I I Information (any number of bits) Zero irertlon/deletion, CRC accumulation Figure 5 6·16 Signetics FCS (16 bits, CRC-CCITT, Inverted remainder) Flag (8 bits) JANUARY 1982 MICROPROCESSOR DIVISION USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER characters have been accumulated. At that time, If the BCC accumulation does not equal zero there has been a block check error. The BCC error bit will be set and an interrupt generated If the corresponding mask bit was enabled. In transmit mode, the BCC accumulation is automatically stopped once the BTC character has been accumulated. The CPU must read the BCC upper and BCC lower (for CRC-12 or CRC-16 only) register(s) and transmit them to the R/T or parallel peripheral. Since the accumulation has been stopped, the transfer of the first BCC to the R/T will not effect BCC lower. This assures that the second BCC will be correct when it is reed by the CPU. Note that BCCs are not checked against the character class array nor are they compared to the OLE ROM. This prevents false character detections when transmitting or receiving BCCs. Second search character (SSC) detection is enabled in BISYNC normal allowing a two character communication control sequence such as OLE-STX to be detected. In BISYNC transparent mode characters excluded from the BCC accumulation are the first OLE of a OLE-OLE pair, the OLE of a OLE-BTC pair, or OLE-SYN sequences (the SYN is also excluded). In receive and transmit modes, the termination of BCC accumuiatlon works exactly as in BISYNC normai, except that the BTC must be immediately preceded by an odd number of OLEs to be properly identified. Second search character detection is not enabled in BISYNC transparent since OLE-SSC sequences are only valid in BISYNC normal mode. In Automatic accumulate mode all characters loaded into the character register are accumulated; BTC and SSC detection Is enabled and the BCC accumUlation is not automatically terminated. The CPU must use single accumulate mode to stop the accumulation. When in receive mode, the BCC error bit Is sel/reset after accumulating each character so that the CPU must examine this bit after the last character Is accumulated. Examples of use of the automatic accumulate mode are a system where the RfT (265112661) operates with OLE/SYN stripping or in support of character count protocols such as OOCMP. In Single accumulate mode all characters are accumulated, but only after an accumulate command Is given by the CPU. If not given, the BCC accumulation is stopped. Operation in this mode is otherwise identical to automatic accumulate. Single accumulate mode can be used to selectively accumulate characters under CPU control or to accumulate characters that were unintentionally excluded In one of the other modes. Figures 6 and 7 illustrate the operation of the 2653 on various types of text and control messages. Some Other Applications The PGC can be employed in a variety of applications other than a dedicated BCC generator for a single channel. For example, it can be multiplexed among several data channels, used as a programmable character comparator or It can be used to check parity on a system address or data bus. A brief description of each of these applications is given below. a. MULTIPLEXED POC One PGC may be time-shared among a few RlT's if the CPU saves and restores the mode register and partial BCC result in the BCC registers. These registers are accessed via CE1. There must be separate save area for each RIT (serial channel) and a channel pointer Indicating the last RfT that transferred or received a data character (see figure 8). The loading of the BCC registers will clear SRO-SR3 and all previously detected special characters, i.e., OLE, BTC/SC, BCC (BISYNC modes). The BCC accumulation will start again when the next character IS loaded into the character register In all accumulation modes except Single. That mode requires a start accumUlation command. b. CHARACTER COMPARATOR The PGC can be used as a programmable data bus character comparator which monitors data bus character transfers (CPU to peripheral, CPU to CPU, CPU to memory, memory to Rerlpheral via OMA). The user selectively loads the character class array with BTC/SC and SSC characters to be compared. Status bits will be set and an interrupt can be generated upon SC and OLE-SSC detection. A match on one to 128 different characters or OLESSC sequences can be programmed. SIgnetics AppNote400 Figure g depicts an arrangement where the OMA controller or slave CPU handles data bus transfers, the PGC interrogates the data bus, and the host CPU responds to PGC interrupts. c. BUS PARITY CHECKER The PGC can be used to check the panty of transactions on a system's data bus. The processor first writes control information into the PGC via the CEl pin. All other bus operations are then checked for parity with external address decoding used to generate an active low CEO. Bus parity checking is useful in data transfers between CPU and peripherals or memory and CPU. Some computers check panty on both halves of a 16-bit word during all system bus transfers. MULTI-PROTOCOL SYNCHRONOUS CHIP SET The Signetics 2652 Multi-Protocol Communications Controller (2652), originally targeted for bit oriented protocols and OOCMP, can send and receive EBCDIC, ASCII, and SBT data. However, the 2652 doesn't support many of the functions of byte controlled protocols. In particular, the 2652 has no way of knowing which characters to include or exclude in the BCC accumulation. ThiS makes the on board CRC-16 generator/checker useless for BISYNC. Furthermore, there are no provisions In the 2652 for transparent mode OLE handling, special character detection or two character sequence detection. But the PGC encompases all of these missing functionsl Thus, the 2652 2653 combination can totally support character controlled protocols as well as bit oriented and character count disciplines. The PGC can be used for single character compares in SOLC/HOLC or OOCMP applications to reduce software overhead. As shown in figure 10, only a single Inverter is required to interface the 2652 and 2653 such that 2652 data bus transfers are monitored. A BISYNC!ASYNC CHIP SET Although the 2653 complements any RIT in the support of character controlled protocols it is optimized for use with the Signetics 2661 Enhanced Programmable Communications Interface (EPCI). That device is a USART with on chip baud rate generator that has special features for BISYNC. There are two loadable SYN 6·17 6 ~~~~~ MICROPROCESSOR DIVISION JANUARY 1982 USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER AppNote400 EXAMPLES - BISYNC TEXT MESSAGE BCC ACCUMULATION SHADED AREAS ACCUMULATED Rx "" RECEIVE MODE NO DLE/$YN STRIPPING CHARACTER CLASS ARRAY SYN/BISYNC NOT INCLUDED 5VN, SOH BTc/se ETX, ETB, ITB, ENC sse STX CRe - 16 DR CRe - 12 SYN $YN SOH 1-.. . . . . - STXII+tT---ETXI iscclaccl I PAD + BTC acc ERROR (Rx) IF DETECT ACCUMULATION "* 0 ACCUMULATION STOPPED AFTER 2ND NO PARITY CHECK ON BCC5 ace LRC - 8 SYN SYN I ,I SVN STX SVN ace ETO) OTe CPU RESETS REGISTERS AFTER SOFTWARE DETECT DETECT I BCe~ ace PAD ERROR (Rx) IF 7 LS BITS OF BCC u 0 VRC ERROR IF MS BIT IS INCORRECT PARITY '* OF STX THIS ACCUMULATION STOPPED AFTER EFFECTIVELY EXCLUDES STX 1 BCe BLOCK 1 _ _ _ _ STXI--"--ITSJ OTe DETECT OPTIONAL sse DETECT Brc OETECT POSSIBLE ace ERROR SET BISYNC TRANSPARENT POSSIBLE BCC ERROR (IF SO RESET BCC REGISTERS) RESET acc REGISTERS OR SET BISYNC NORMAL sse BTC DETECT DETECT SET BISYNC TRANSPARENT MODE I-I_o--------------BLOCK 1 sse SET BISYNC TRANSPARENT AND RESET BeC REGISTERS POSSIBLE acc ERROR RESET NOTES 1 BGe error only for receive mode In transmit mode, GPU must respond to BTG detect by reading the BGG reglster(s) and sending them to the R IT The accumulation IS stopped after the BTG IS accumulated 2 ENO (OLE-ENO) In a text message should be treated as an abort 3 Opemng SYNs may be stripped by the RfT 4 The Single accumulate mode and command can be used to accumulate a character that madvertently was excluded (For example, the OLE of a OLE-STX If the PGG was In transparent mode and there was not a hne turnaround prior to the OLE) The Single accumulation should be done uSing GE 1 after the BGC(s) have been accumulated Figure 6 6·18 .\_ BTC DETECT DETECT Signetics POSSIBLE acc ERROR sec REGISTERS (IF BCC ERROR) AND SET BISYNC NORMAL BLOCK 2 -----..t OTe DETECT POSSIBLE ace ERROR JANUARY 1982 MICROPROCESSOR DIVISION USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER AppNote400 EXAMPLES - BISYNC CONTROL MESSAGES BTC/SC EDT, NAK sse ACKO, ACK1, WACK, RVI SINGLE ACCUMUlATION MODE STOPS sec ACCUMULATION 8YH I I I 8TN PAD EaT 8VH 5TH ENO CONTROL STATION POLL OR SELECTION OF A TRIBUTARY STATION 8TC/SC DETECT BTC/SC DETeCT ex a- - REPRESENTS A UNIQUE POLLING OR SELECTION ADDRESS 8YN TRIBUTARY STATION PREPAR£D TO RECEIVE OR POSITIVE ACKNOWLEDGMENT OF EVEN NUMBERED TEXT BLOCK 8TN sse DETECT 5YN 8TH I I I NAK TRIBUTARY STATION NOT READY TO RECEIVE OR NEGATIVE ACKNOWLEDGMENT PAD OF TeXT BLOCK ~ STC/se DETECT 5YH 5YN TRIBUTARY STATION TEMPORARILY NOT READY TO RECEIVE WACK 6 sse DETECT SYN 8YN REVERSE INTERRUPT FROM REceiVING STATION TO REQUEST TERMINATION OF THE CURRENT TRANSMISSION BECAUSE THE RECEIVER WANTS TO TRANSMIT RVI sse DETECT NOTES 1 BCC accumulation should be Ignored for control messages thiS can be effected by 81ngle accumulate mode Without smgle accumulate commands 2 Characters programmed as S8Cs should be the binary eqUivalent of the second character of the OLE-SSe sequence Figure 7 registers and a loadable OLE Register in the EPCI. Figure 11 IS a schematic showIng the 2653 and 2661 Interfaced to an 8bit CPU. A transparent operating mode causes the EPCI to automatically change the detected synchronization sequence and underrun linefill from SYN-SYN to DLE-SYN. This is necessary to prevent an unrecoverable problem at the receiver. If a USART sent or received the normal mode SYN-SYN sequence it would be interpreted as transparent data rather than actual synchronization Information. Another transparent mode function is detecting and stripping received DLE's. Normally a software job, this task is completely and properly handled by the 2661. The DLE Detect status bit is even automatically reset at the proper time. A Send OLE command in the 2661 's transmitter can be used to prevent a possible underrun between the DLE and a subsequent control character. Such an underrun would cause an Incorrect control sequence to be transmitted. For example, consider an underrun between a DLESTX, the sequence used to enter transparent mode. The transmitted sequence becomes DLE-SYN-SYN-STX. But a DLE-SYN IS illegal unless transparent mode has been entered. Furthermore, the STX would set normal text mode not transparent mode. FLOW CHARTS FOR BISYNC OPERATION Figures 12 through 15 Illustrate functional flow charts for the operation of the 2653 2661 pair in BISYNC. The intent of these flow charts is to illustrate the procedures Signetics required when receiving and transmitting BISYNC text messages in both normal and transparent modes of operation It IS not implied that the actual software program to handle these tasks necessarily follow the flow charts step by step. In an actual application, an interrupt driven structure would be more appropriate. Assumptions are half-duplex operation (normal for the BISYNC protocol) and use of the EBCDIC code. The receive flow, figure 12, starts With inttlallzatlon of the PGC and EPCI for the normal mode Modem handshaking IS then performed. Upon detection of carner, indicated by assertion of the 2661 's DCD status bit, the receiver IS enabled, the PGC IS setup for receive, and miscellaneous flags are reset. Data is then read from the 2661 receive holding register and acted upon according to the BISYNC protocol The 6-19 MICROPROCESSOR DIVISION JANUARY 1982 USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER PGC SERVICES MULTIPLE RECEIVERSITRANSMITTERS I ADDRESS I DATA : R/W CEO READ/WRITE MEMORY ,D ADDReSS, DATA, R/W, m ~TAD eEO CI'U u;- eEl I ONE PGC IS TIMe-SHARED BY THREE RiTa THE CPU ReADS AND RESTORES THE PARTIAL REMAINDeR FOR EACH SERIAL CHANNEL PGC I iiiT I- ace Figure 8 PGC DATA BUS MONITORING WITH DMA TRANSFERS lIlT APPLICATIONS IrICWDE CHARACTER ARRAY COIIPAFUIONS, YRC AND/OR ICC CHECKS ON THE DATA BUS. NOTE ·CPU Inltlahzes DMA controller for each block transfer of data, Figure 9 6·20 Signetics AppNote400 JANUARY 1982 MICROPROCESSOR DIVISION USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER AppNote400 2652/2653 INTERFACE TYPICAL PROTOCOLS: BISYNC, OOCMP, SOLC, HOLC INTERRUPTS U Tl(BE, TxU, RxDA, AxSA II 087 - DBO t---- 2852 MPCC TxD I - RxD A2 A1 I - TxC f - Axe AO R/w DOEN 4 CPU DB{}DBO ~ 2653 A1 PGC fi/w AO m f I R t I iiiT 6 (OPEN DRA.., +SV Figure 10 2651 OR 2661/2653 INTERFACE ll~~S R +5V TiRIri',IGlm'i',TiEJiIT~ - --- 087 - DBO r--'" A/w, Al, AO 2651/61 PCI TKO RxD ----- I > r-t-- ~ CPU ~ 2653 ~ PGC CEi f I iNf (OPEN DRAIN) R +SV Figure 11 Signe1ics 6·21 MICROPROCESSOR DIVISION JANUARY 1982 USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER PGC status flags are utilized to determine If and when the transmission switches to transparent mode, and to determine the receipt of a block terminating character (BTC). The two characters following the BTC are the Block Check Character. After these are received, the PGC status register is examined to determine if a BCC error has occured. The data stored In the buffer will be stripped of all sync characters. OLEs are not stripped. Although the 2661 Includes a OLE stripping capability, this feature is not employed because the OLEs must be 'seen' by the PGC In order for it to accumulate the BCC correctly. The CPU 8·22 must remove the extranecus OLEs which may be imbedded In a transparent block of text. The transmit flow chart, figure 13, operates on a block of data placed in a buffer area by the contrOlling CPU. This data must include the SYNs to be sent at the Initiation of transmission and the OLEs that form part of a two character control sequence. OLEs in a transparent block of text need not be doubled up -the EPCI will automallcally add a OLE if one is loaded Into its THR while operating In transparent mode. A character counter assists the software to determine when a OLE Is really part of a BTC (in transparent mode). AppNote400 After Initialization of the PGC and EPCI and establishment of the modem connection, the data is pulled from the buffer and transmitted. If a OLE is detected in the data stream, and that character is part of a two character control sequence, the 'send OLE' feature of the PCI is used to avoid underrun between the two characters. Since the OLE Is not transferred to the EPCI via the data bus, this requires that an extra OLE be accumulated In the PGC. This is done by use of the PGC's capability to accumulate characters loaded via CEI. When a BTC is detected by the PGC, the two BCC characters are read from the BCC registers and transferred to the EPCI for transmission. JANUARY 1962 MICROPROCESSOR DIVISION USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER AppNote400 BISYNC RECEIVE FLOW CHART WRtTEPCI .R> DATA - 4C WRITEPGC MR SWITCH POCAND ""TO TRANSPARENT MODe,SET TRANSPARENT MOOEFLAG DATA-Ol INCREMENT POINTER AND STORE CHARACTER IN BUFFER BISYNC NORMAL RECEIVE CRO 18 Figure 12 6·23 ------ - ----- MICROPROCESSOR DIVISION JANUARY 1982 USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER AppNote400 BISYNC RECEIVE FLOW CHART CONTINUED BISYNC RECEIVE FLOW CHART NOTES eo, '" FFLAG = WRITEPCI M" WRIT€PGC C, DATA ~ 02 INITIALIZE FLAGS FOR NEXT BLOCK. RESET BCC. SWITCH TO BISYNC NORMAL MODE character has been TFLAG = operating = BCe or PAD error 81 FLAG = Received block terminating character (BTC) Awaiting BCe 82FlAG = RESET DATA~OC non~sync EFLAG TEST TFLAG,B,FlAG the first received In transparent mode Received first second BCe BCe character Awaiting 2 sse detect IS disabled by PGC while In transparent mode 3 Pomter IS decremented to overwrite prevIOusly stored 'OLE' which was part of a 'DLE~SYN' Ime flll 4 Test for closing PAD of at least four ones at end of message 5 If first non·sync character IS a 'OLE', the message will start with 'OLE-STX' (transparent mode) FFLAG IS not set In this case since both these characters are excluded from the accumulation 6 First non·sync character of a new message, or first two If message starts In transparent mode, are excluded from the BCC accumulation WRITEPGC "' TEST RXRDY (NOTE 4) R€ADPCI '"' LOGICAL 'OR CHARACTER WITH'FO' NEGATEOTR OISABLERX Figure 12 continued 6·24 Signetics MICROPROCESSOR DIVISION JANUARY 1982 USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER AppNote400 BISYNC TRANSMIT FLOW CHART '" CHARACTER FAOM8UFFER '" INCREMENT POINTER AND DECREMENT COUNTER 'SENDDlE' = --0 NORMALLY 00" 0' '" WRITETQ 'GC RESET CHARACTER REGISTER '" USINGCFi DATA-l0 (NOTE 3) ACCUMULATE 'OLE iNTOTHEBCC RESET 'CC (NOTE 3) ,co (NOTEZI ENABLETX ASSERTRTS (NOTE 11 WRITEPCI "" DATA~4C SISYNCNORMAL ACCUM WITHCEl TRANSMIT WRITEPGC "' CRC'6 SWITCHPGC AND PCI TO TRANSPARENT MODE,SET TRANSPARENT MODE FLAG INITIALIZE BUFFER POINTER AND CHARACTER COUNTER RESET FFLAG,TFLAG Figure 13 Signetics 6·25 MICROPROCESSOR DIVISION JANUARY 1982 USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER AppNote400 BISYNC TRANSMIT FLOW CHART CONTINUED RESET TRANSPARENT ~~~T~;:' :ci-~GS. ANOpetTO NORMAL MODE RESETBCC ACCUMULATION READPGC '" REGISTER TRANSMIT '" UPPER (NOTESI TEST TXRDY BISYNC TRANSMIT FLOW CHART NOTES 1 2 '" REGISTER WRITETOPCI '"" TRANSMIT '" 3 4 5 6 Transmitter Will not operate until Clear to Send leTS) Input IS asserted A DLE al thiS pOint In the transmit sequence can only be followed by an STX, which Will place the system In transparent mode The 'Send OLE' capability of the pel IS used In order to prevent underrun between the DLE and STX characters, and possible miSinterpretation of the sequence by the receiving stabon First non-sync character of a new message, or first two If message starts In transparent mode, are excluded from the BCC accumulation DFLAG IS used to mdlcate that a DLE must precede the next transmItted character In transparent mode, the 2661 Will automatically send an extra DLE when a DLE IS loaded Into the THR Underrun of PCI IS not permitted at pOints shown OtherWise, received data may be misinterpreted Figure 13 continued 6·26 Signetics JANUARY 1982 MICROPROCESSOR DIVISION AppNote400 USING THE 2653 POLYNOMIAL GENERATOR AND CHECKER 2653 INITIALIZATION 2661 INITIALIZATION RESET REGISTER MASTER RESET PUT INTO START -UP MODE POINTER SYNC FORMAT, BITS, NO PARITY, DOUBLE SYNC, NON-TRANSPARENT MODE SET UP FOR SYNfNI CLASS EXTERNAL CLOCKS SYN/NI CLASS a 6 SYN EBCDIC'SYN' SET UP FOR BTc/se CLASS WRITE TO CHARACTER REG DATA = 03 EBCDIC 'SYN' DATA = IF DATA = 26 DATA = 20 BTC/se CLASS ETX ITB ETB ENO EBCDIC 'OLE' SET UP FOR sse CLASS sse CLASS STX Figure 14 Figure 15 Signetics 6·27 MICROPROCESSOR DIVISION JANUARY 1982 USING THE 2670/71/72/73 CRT TERMINAL CHIP SET INTRODUCTION Microprocessors and LSI have had a dramatic impact on the implementation and capabilities of alphanumeric CRT terminals. The first generation of CRT terminals were little more than 'glass teletypes'. Current designs, implemented with microprocessors, are characterized by an abundance of sophisticated features that were previously not economically feasible: a universal hardware design that can adapt to different user requirements Simply by changing software or firmware; programmability to provide end users with the flexibility to execute specialized routines; and local intelligence and storage which off-loads the host CPU by permitting data manipulation and verification at the terminal site. Just as the impact of microcomputers has been felt in the functional capabilities of terminals, advances in semiconductor technology have revolutionized the hardware implementation. Designs that previously consisted of 100 to 200 ICs can now be realized with a few dozen MSI and LSI devices. The majority of the LSI manufacturers' effort with respect to CRT terminals has been concentrated in the 'CRT controller' area. These circuits provide the character timing, display addressing, and sync generation functions required by all terminals. However, these controllers need to be supported by many other external circuits to implement a complete terminal. The purpose of this application note is to provide information on the use of four new Signetics CRT terminal products which, when combined with standard CPUs, memories, and TTL, allow the implementation of a wide spectrum of CRT terminal capabilities in as few as 15 total packages. These devices are: • 2670 Display Character and Graphics Generator (DCGG) • 2671 Programmable Keyboard and Communications Controller (PKCC) • 2672 Programmable Video Timing Controller (PVTC) • 2673 Video and Attributes Controller (VAC) MAJOR ELEMENTS OF A CRT TERMINAL Figure I shows the major elements of a typical low-end microcomputer-based CRT TERMINAL BLOCK DIAGRAM CPU Figure 1 6-28 Signetics AppNote401 CRT terminal. In this system, the CPU examines Inputs from the data communications line and the keyboard and places the data to be displayed in a display buffer memory, which is typically a RAM which holds the data for a single or multiple screenload (page) or for a single character row. High-end ('smart' and 'intelligent') terminals start with the same base, but append additional CirCUItS to provide more features and capabilities. The following sections describe the functions of each of the major blocks. Character Timing and Sync Generation The major function of this block is to generate the horizontal and vertical timing signals required to produce the TV raster on the CRT monitor. Other functions include the generation of display memory addresses in synchronism with the monitor scan and in accordance with a defined screen format (characters per row, scan lines per row and rows per screen), generation of a cursor signal at the appropriate scan position, and generation of video blanking signals during retrace intervals. JANUARY 1982 MICROPROCESSOR DIVISION AppNote401 USING THE 2670/71/72/73 CRT TERMINAL CHIP SET 1/0 Interface In its simplest form, this block provides an interface to a keyboard to identify the key depressed and a serial communications link, normally operating in an asynchronous format, between the terminal and the host computer. Although these functions could be performed programmatically by the terminal CPU system, removing these functions to intelligent controllers unburden the system CPU and allow it to be used more effectively to provide additional features with a relatively small cost impact. Character and Graphics Generation These circuits convert the data stored in the display memory to the line by line dot patterns required to display the data on the CRT monitor. Video Timing and Visual Attributes This section contains the high speed (dot rate) circuits necessary to convert the parallel data from the character and graphics generation circuits to the serial video stream required by the CRT. Also included are circuits to sum visual display attributes such as blinking, highllow intenSity, reverse video, and underlining into the video stream. SIGNETICS' CRT CHIP SET As mentioned previously, the Signetics CRT 'set' consists of four circuits. The functions of these circuits correspond closely to the four major CRT terminal blocks described above. The circuits have been partitioned so as to allow each to be used independent of the others, allow several alternative methods of implementing the display memory interface so that the hardware can be tailored to the system requirements, provide a full complement of programmable capabilities, and minimize the number of support circuits required. The following sections give a brief description of each of the circuits. The reader is referred to the individual data sheets for full operational details. 2672 Programmable Video Timing Controller (PVTC) The 2672 PVTC, figure 2, is a programmable device designed for use in CRT terminals and display systems that employ raster scan techniques. The PVTC generates the vertical and horizontal timing signals necessary for the display of interlaced or non-interlaced data on a CRT monitor. Also, the 2672 provides consecutive addressing to a user specified display buffer memory domain and controls the CPU-display buffer interface for various buffer configuration modes. A variety of operating modes, display formats, and timing profiles can be implemented by programming the control registers in the PVTC. The CPU initializes the 2672 control and timing registers for the desired timing profiles and memory configuration. The PVTC provides the handshake control for CPU access to the display buffer. One of four memory access modes may be programmed: independent mode, trans- 2672 PROGRAMMABLE VIDEO TIMING CONTROLLER '" I' ' ' ' ' '"' ' I ...,,' """'''''' ,,., READ/ DISPlAV REGISTERS "'''''' ~==:>I ADDRESS DECODER ...."'" DISf'LAY ~ - HANDSHAKE COQ>C L..-_ _- ' I ~= I¢:: L...-_--' 11 ·~i71 ".,m, Figure 2 Signe1ics 6·29 6 MICROPROCESSOR DIVISION JANUARY 1982 USING THE 2670/71/72/73 CRT TERMINAL CHIP SET parent mode, shared mode, and row mode. These modes are described in the System Configurations section of this application note. I n all modes, the PVTC provides addresses for the display buffer which outputs the character codes to the 2670 Display Character and Graphics Generator (DCGG) and visual attribute codes to the 2673 Video Attributes Controller (VAC). The DCGG and PVTC supply the dot data and sync timing to the VAC which generates the serialized video. Programmable features of the PVTC include screen format (characters/row, rows/screen, scan lines/row), horizontal and vertical timing parameters, cursor type (block or underline) and blink rate, character blink rate, interlaced or noninterlaced operation, and single or double height characters. The PVTC is capable of producing interrupts based upon several internal conditions. By using these interrupts (or by polling the equivalent status register) display features such as non-consecutive buffer addressing for split screen operation, multiple cursors, horizontal and vertical scrolling, and smooth vertical scroll can be implemented. 2671 Programmable Keyboard and Communications Controller (PKCC) The 2671, figure 3, is an MaS LSI device which provides a versatile keyboard interface and also functions as an asynchronous communications controller. It is intended for use in microprocessor based systems and provides an eight bit data bus interface. The keyboard controller handles the scanning, debounce, and encoding of mechanicalor capacitive keyboards with a maximum of 128 keys utilizing any of four programmable rollover modes. A mask programmable ROM provides four levels of key encoding, corresponding to the separate shift and control input combinations. An eight bit keyboard status register transmits status infoiiiiaticii to the CPU. Programmable features include rollover mode, scan rate and debounce time, coded or uncoded operation, and automaltc repeat operation. The communications section of the PKCC is a universal asynchronous receiver and 6·30 transmitter (UART). The receiver accepts serial input data and converts it to parallel data characters. Simultaneously, the transmitter accepts parallel data from the CPU data bus and outputs it in serialized form. Received data is Checked for parity and framing errors, and break conditions are flagged. Character lengths can be programmed as 5, 6, 7, or 8 bits not including parity, start or stop bits. An internal baud rate generator (BRG) operating from an external clock or directly from a crystal can be used to derive one of sixteen receive and/or transmit clocks. An eight bit communications status register provides status information to the CPU. The PKCC has an interrupt mask register to selectively enable keyboard and communications status bits to generate interrupts. Priority encoded interrupt vectoring is available. Upon receipt of an interrupt acknowledge, a mask programmable interrupt vector will be output on the data bus reflecting the source of the interrupt. The mask enabled interrupt sources can also be read directly. 2670 Display Character and Graphics Generator (DCGG) The DCGG, figure 4, is a mask-programmable 11,648-bit line select character generator. It contains 1281 Ox9 characters placed in a 10x16 matrix, and has the capability of shifting certain characters, such as j, y, g, p and q, that normally extend below the baseline; effectively, the 9 active lines are lowered within the matrix to compensate for the character's position. Seven bits of an 8-bit address code are used to select 1 of the 128 available characters. The eighth bit functions as a chip enable signal. Each character is defined by a pattern of logiC 1s and Os stored in a 1Ox9 matrix. When a specific 4bit binary line address code is applied, a word of 10 parallel bits appears to the output. The lines can be sequentially selected, providing a 9-word sequence of 10 parallel bits per word for each character selected by the address inputs. As the line address inputs are sequentially addressed, the device will automatically place the 10x9 character in 1 of 2 preprogrammed positions on the 16-line matrix with the pOSitions defined by the 4line address inputs. One or more of the 10 parallel outputs can be used as control signals to selectively enable functions such as half-dot shift, color selection, etc. Signetics AppNote401 The 2670 DCGG includes latches to store the character address and line address data. A control input to inhibit character data output for certain groups of characters is also provided. The 2670 also includes a graphics capability, wherein the 8-bit character code is translated directly into 256 possible user programmable graphic patterns. Thus, the DCGG can generate data for 384 distinct patterns, of which 128 are defined by the mask programmable ROM. 2673 Video and Attributes Controller (VAC) The 2673, figure 5, is a bipolar LSI device designed for CRT terminals and display systems that employ raster scan techniques. It contains a high speed video shift register, field and character attributes logiC, attribute latch, cursor format logic and half dot shift control, and can be programmed for a light or dark screen background. The VAC visual attribute capabilities are reverse video, character blank, blink, underline, highlight, and light pen strikethru or, optionally, graphics. Each attribute has a separate control input which is latched internally when the AFLAG input is asserted. If the AMODE input is low, the attributes are valid for one character time. If AMODE is high, the attributes remain valid until the field is terminated by strobing in a new attributes set. The attributes are double buffered on a row by row basis internally so that field attributes can extend across character row boundaries thereby eliminating the necessity of starting each row with an attribute set The horizontal dot frequency is the basic timing input element to the VAC; internally, this clock is divided down to provide a character clock output for system synchronization. Ten bits of dot data are parallel loaded into the video shift register on each character boundary. The video data is shifted out on three outputs at the dot frequency. On the video output, the video is presented as a three level signal representing low, medium and high iniensities, and the three intensities are also encoded on the two TTL compatible Video outputs. JANUARY 1982 MICROPROCESSOR DIVISION AppNote401 USING THE 2670/71/72/73 CRT TERMINAL CHIP SET 2671 PROGRAMMABLE KEYBOARD AND COMMUNICATIONS CONTROLLER .1 DATA )I 080-7 { REPEAT K BUS BUFFER KEYBOARD ENCODER I KCL.K f CONTAOL OPERATION CONTROL Ii1l CMR WII "MR ~ liV! -- I . 1 KCO-3 CSR KEYBOARD SCANNER & ENCODER/DECODER "SR AO- 2 I XiNTJi COMMAND DECODER I r------i I I I I • VECTOR GENERATOR DATA ! I I TIMING I BAUD RATe CONTROL RfGISTER 6 REGISTER GND~ BAUD RATE GENERATOR ~ KEYBOARD VCC~ R,C MEMORY c:J I l!HiI'f 4X128X8 READ-ONLY l------i INTERRUPT CONTROL IIITA T,C KAET KRO-2 - I-- iNi'li KDRES MODE & TIMING KEY HOLDING REGISTER TONE GENERATOR I TONE I I f-- TRANSMITIER TRANSMIT HOLDING REGISTER XTAL11 BRCLK XTAI.2 f ~ TRANSMIT SHIFT REGISTER 1 RECEIVER INTERRuPTS RECEIVE HOLDING REGISTER TIMING RECEIVE CONTROLS SHIFT REGISTER Figure 3 Signetics 6·31 JANUARY 1982 MICROPROCESSOR DIVISION AppNote401 USING THE 2670/71/72/73 CRT TERMINAL CHIP SET 2870 DISPLAY CHARACTER AND GRAPHICS GENERATOR _Vee - 8CD OIl CAD-CA7 .... DO-DO .... -..... ...- -----' Figure 4 2873 VIDEO AND ATTRIBUTES CONTROLLER CCO CCl CC2 I DCLK L r-- 10 .1 , DO-DI CHARA'''. . CLOCK COUNTER 'I V:= -12111TS- I I DOT • DATA VIDEO AND ,-- HOOT ATTIIIIIITE HIERARCHY CURSOR LOGIC ARVID A8LANK AUL An.UTEAND CURSOR COH11IOL ......- . :I I FigureS 6·32 DRIVERS t=: BKGND CBUNK t LOGIC..., AFLO AMaDE LL :::::I VIDEO TTLVID1 TTLVID2 -y ALTPEN/AGM LPl/GMD -- .~ ..... . . .IIK AHILT AOD BLINK UL ~ Signetics ... BLAH• iI!IH Vee VB!! GNO MICROPROCESSOR DIVISION JANUARY 1982 AppNote401 USING THE 2670/71/72/73 CRT TERMINAL CHIP SET SYSTEM CONFIGURATIONS vals in order to prevent visual disturbances of the displayed data. The PVTC supports four common system configurations of display buffer memory interface, designated the independent, transparent, shared, and row buffer modes. The first three modes utilize a single or multiple page RAM and differ primarily in the means used to transfer display data between the RAM and the CPU. The row buffer mode makes use of a single row buffer (which can be a shift register or a small RAM) that is updated in real time to contain the appropriate display data. The CPU manages the data transfers by supplying commands to the PVTC. The commands used are: 1. Read/Write at pointer address. 2. Read/Write at cursor address (with optional increment of address). 3. Write from cursor address to pOinter address. The operational sequence for a write to memory operation is: 1. The CPU loads data to be written into the display memory into the interface latch. 2. The CPU writes the destination address into the PVTC's cursor or pOinter registers. 3. The CPU checks the PVTC 'RDFLG' status bit to assure that any previous operation has been completed. 4. The CPU issues a 'write at cursor with/ Independent Mode The CPU to RAM interface configuration for this mode is illustrated In figure 6. Transfer of data between the CPU and display memory is accomplished via a bidirectional latched port and is controlled by the PVTC Signals read data buffer (R'D'B), write data buffer (WDB), and buffer chip enable (BCE). This mode provides a non-contention type of operation that does not require address multiplexers. The CPU does not address the memory directly - the read or write operation is performed at the address contained in the cursor address register or the pOinter address register as specified by the CPU. The PVTC enacts the data transfers during blanking inter- without increment' or a 'write at pointer' command to the PVTC. 5. The PVTC negates 'RDFLG', outputs the specified address, and generates control signals to perform requested operation. Data is copied from the interface latch into the memory. 6. The PVTC sets its 'RDFLG' status to indicate that the write operation is completed. Similarly, a read operation proceeds as follows: 1. Steps 2 and 3 as above. 2. The CPU issues a 'read at cursor with/ without increment' or 'read at pOinter' command. 3. The PVTC negates 'RDFLG', outputs the specified address. and generates control signals to perform the read operation. Data is copied from the memory to the interface latch and the PVTC sets its 'RDFLG' status to indicate that the operation is completed. 4. The CPU checks the 'RDFLG' status to see if the read is completed. 5. The CPU reads the data from the interface latch. Loading the same data into a block of display memory is accomplished via the 'write from cursor to pOinter' command: 1. The CPU loads the data to be written into the display memory into the interface latch. 2. The CPU writes the beginning address of the memory block into the PVTC's cursor address register and the ending address of the block into the pointer address register. 3. The CPU checks the 'RDFLG' status bit to assure that any previous operation has been completed. 4. The CPU issues a 'write from cursor to pOinter' command to the PVTC. INDEPENDENT BUFFER MODE CONFIGURATION REFRESH 2672 pyre RAM DAOO DtSPLAY ADDRESS IICI! CTRL3 19! WIllI CTRL1 CTAL' ADR I-- \Wi ~ lUll TO VIDEO LOGIC DtSPLAY DATA BUS 1" y; 116 I FROM CPU 74lS3B4 I C~74LS3641 VIII FROM CPU SYSTEM DATA BUS / I Figure 6 Signetics 6·33 6 MICROPROCESSOR DIVISION JANUARY 1982 USING THE 2670/71/72/73 CRT TERMINAL CHIP SET 5. The PVTC negates 'RDFLG' and outputs block addresses and control signals to copy the data from the interface latch into the specified block of memory. 6. The PVTC sets its 'RDFLG' status to indicate that the block write is completed. Similar sequences can be implemented on an interrupt driven basis using the READY interrupt output from the PVTC to inform the CPU that a previously requested command has been completed. Two timing sequences are possible for the 'read/write at cursor/pointer' commands. If the command is given during the active display window (defined as first scan line of the first character row to the last scan line of the last character rowl. the operation takes place during the next horizontal blanking interval. If the command is given during the vertical blanking interval, or while the display has been commanded blanked, the operation takes place immediately. For the 'write from cursor to pointer' operation, the PVTC's BLANK output is asserted automatically and remains asserted until the vertical retrace interval following completion of the command. The memory is filled at a rate of one location per two character times, plus a small amount of overhead. AppNote401 lowered to indicate that the CPU can access the buffer. In transparent mode, the PVTC delays the granting of the buffer to the CPU until a vertical or horizontal blanking interval, thereby causing minimum disturbance of the display. In shared mode, the PVTC will blank the display and grant immediate access to the CPU. Shared and Transparent Buffer Modes Row Buffer Mode In these modes the display buffer RAM is a part of the CPU memory domain and is addressed directly by the CPU. Both modes use the same hardware configuration with the CPU accessing the display buffer via three-state drivers (see figure 7). The processor bus request (PBREQ) control signal informs the PVTC that the CPU is requesting access to the display buffer. In response to this request, the PVTC raises bus acknowledge (BACK) until its bus external (BEXT) output has freed the display address and data busses for CPU access. BACK, which can be used as a 'hold' input to the CPU, is then Figure 8 shows the hardware implementation for the row buffer mode. During the first scan line (line 0) of each character row, the PVTC halts the CPU and DMA's the next row of character data from the system memory to the row buffer memory. The PVTC then releases the CPU and displays the row buffer data for the programmed number of scan lines. The bus request (BREQ) control signal informs the CPU that character addresses and the memory bus control (MBC) signal will start at the next falling edge of BLANK. The CPU must release the address and data busses before this time to prevent bus PVTe SHARED OR TRANSPARENT BUFFER MODES Figure 7 6-34 Signe1ics MICROPROCESSOR DIVISION JANUARY 1982 USING THE 2670/71/72/73 CRT TERMINAL CHIP SET AppNote401 ROW BUFFER MODE CONFIGURATION 2X2111 jjjjEll TO CPU Figure 8 contention. After the row of character data is transferred to the CPU, BREQ returns high to grant memory control back to the CPU. A MINIMUM CHIP COUNT TERMINAL IMPLEMENTATION Figure 9 is the schematic of a minimum chip count CRT terminal using the four CRT set devices. Only 15 IC packages are required for the complete Implementation, including all keyboard encoding and RS232 level conversion for the serial interface. Despite this low chip count the terminal Is capable of providing an impressive array of features including: Display Format· • 24 or 25 character rows • 80 characters per row Character Format. • 7x9 dot matnx character In a 9x12 character block • 96 ASCII alphanumeric characters • 32 special symbols • Block graphics • Line drawing character set Cursor' • Underline or block cursor • Optional blinking Keyboard: • 128 keys maximum • Non-encoded • Cursor control keys • Numeric keypad Serial Interface' • Full or half duplex • RS-232 compatible • 16 baud rates with Internal baud rate generator • Character or block transmiSSion Operating Modes: • Normal • TransParent (displays graphic and control characters) • Page or scroll With optional smooth scroll Visual Attributes. • Blink • Reverse Video • Highlight • Underline • Non-display The system utilizes the independent buffer mode to minimize hardware requirements. The dual port interface to the 2Kx8 display buffer is via a Signetics 8X31 bidirectional latch ThiS may be replaced by a unidirectionallatch such as the 74LS37 4 if reading of the RAM's contents by the CPU is not required. The operating program for the terminal is contained in the internal ROM of the 8049 microcomputer, which also provides the Signetics RAM required by the system program. Since the majority of the terminal's features are tailored by firmware, the ROM size can be increased, either Internally or externally, to support additional functions. 1 BASIC TERMINAL SOFTWARE The software for a microcomputer based terminal is closely tied to the system hardware configuration and its charactenstlcs. If an Interrupt driven mode of operation IS desired, the system hardware/software design must be capable of prioritizing the interrupts so that the system will correctly service interrupts from different sources. In a typical system, there are three interrupt sources' the keyboard, the communications Interface, and the Video timIng controller. The latter must usually be assigned the highest priority since failure to service an interrupt from the video timing controller on a timely basis may result in visual perturbations on the display The keyboard and datacomm interrupts can, in most cases, absorb some time delay before they are serviced since they include one or more levels of data buffers. lA pre-programmed 8049 microcomputer containing the operating firmware for this terminal will be available from Signetlcs. 6·35 ~ c: ~ en Z G) \ CPU DATA BUS CPU ADDRESS BUS J o Ir---------------------- 49152MHZ 7 "--1"",-,,,-------,2'1 36 Pl~TAL2 : : 31 AO XTAL1 1J:!!.!.L,--,2!!jB Pl1 I"'':illIli.:--'29!!j P12 1"'=<",,-----,30"1 P13 1-"'""",,-----,,""1 ' Pl4 A2 : AS I-"''''''.!......----'~~2 P15 XTA~C",1'-7---"I 32 At KG1 6 33 A2 30 CE KC2 5 KC3 -4 I r- 0 c Z -t -t m ::a Z 3> r- i 00 -t -t m ;g n i: O Kr' 0;g n::I: 'ii G~D II r-" I: +5V _ - 38 i c 15 GND P26 P27WR 10 37 Z _ 21 XINTR ~~~~ + _.:r.'~F i: ~~ WR 26 vao INT ,. 29 RD 28- _ CAPS T1 +5V PUP3 T6 27 INTA -.~ BKGND +5V N 21 20 W lK I"'=-----'36"1P25 lKn C1 22 74159 1"'''--__-'1' TO ..-....... Kb A7 1-E!=!QEL.1:'~4 P23 'I"'''''''-----'''IP24 Cil K~ KG1 Kb + 5V "-+""'-"''-~2<.!jl P20 t''" --" " I M 1-"''''''''-----'''1 Pt6 "-+""",,,,-----,34"1 PH 1-!'!!..!.!!_-,2: - 'tJ 'tJ Z ~ '"..... C ~ ~ :0 0> '" c: !:!! z (j) VSYNC ---<> HSYNe DtSPlA Y ADDRESS BUS -..... FROM~C-· VAC TO 8049 ~CCLK _I~--=('lIN FROM ..... ~ HU 351tNTR ~ '1- 8049 ~RD FROM .... WH 31- 8049 r - - - - - o W R Ao A1 A2 "1\ s- ~ .g' ~ DAlt/BUNK 23 DA10/UL 19 DA9/LPL 25 22 A9 23 AS 1 A7 VAC DAS/lA2 28 2 A6 2673 OA5/lA t 29 3 A5 117 OM/LAO 30 4 A4 16 15 DA3/L1 31 5 A3 DA2 32 6 A2 ~~~ 00' OAt 33 7 At DAO 34 8 AD BCE 6 04 05 06 07 ;r: ~~~ 1/08 Z ic: ;r: FROM 20 SWITCH +5V 12 14 IWOe WDB 5 15 9 t i l " til O! <1-1 .l! <:1 _IIllll:UDO. • • E4 II ceo '" UD71 0 0 » r- -I -I 0 m ;r: :II z Z =: en ....m ""U RESET RDB We CBLANK AS OL- HZOR 1685MHZ 11M AD CPU DATA BUS rur, m ,g c: > r- 13 14 ........ 3: Z 21 WE OE !.-".!.! ..... 0 ,g 0 :z: "ii 14 18 CS ot 03 27 LA1 DA7ILA3 27 CPU ADDRESS BUS 02 DAfj AtO DA8/lNZ 26 (; o ! 24 W 1 LAO 39 CD :a OAS '!!! ;; :i' OM DA12100D IT S1ON~ J504 ~,~7~~TT '-----+150 !l ~01MF » '0 '0 I IZ 0 CD ~ ....0 en W ..... IIII~IIII :0 00 '" MICROPROCESSOR DIVISION JANUARY 1982 AppNote401 USING THE 2670/71/72/73 CRT TERMINAL CHIP SET Often, a multi-level interrupt structure will be required sc that a high priority Interrupt requiring Immediate service can be serviced even while the system Is in the process of servicing a lower priority Interrupt. BASIC TERMINAL SOFTWARE FLOWCHART A simplified flowchart for the software for an interrupt driven terminal Is shown In figure 10. After application of power, the microprocessor first performs a system initialization routine which consists of five parts: 1. Clear the microcomputer's scratchpad RAM. 2. Initialize the 2672 PVTC for the desired screen format, monitor timIng parameters, cursor parameters, and display start address. 3. Clear the CRT display by loading a non display-code (usually an ASCII 'space', 20 hex) Into the buffer memory. 4. Initialize the 2671 PKCC for the desired keyboard and serial Interface modes. 5. Read any mode switches (e.g., full or half duplex, baud rate, cursor type, etc.) and set system parameters as required. The processor can now enable its interrupts and walt In a loop until an interrupt is received. When this happens, the processor first determines the source of the Interrupt and then performs the required system operation. An interrupt from the CRT timing controller usually Indicates that some Information Is required for proper screen refresh operation. For example, the PVTC may issue a 'split screen' Interrupt to indicate that a new address must be loaded Into Its screen start registers In order for the next character row to be displayed from other than the next sequential address in memory. The CPU must service this Interrupt within a finite time In order for the display to operate correctly. An Interrupt from the keyboard interface may be either a displayable character or a control function. Displayable characters are usually transmitted to the host computer and also placed Into the buffer memory for display on the terminal. Certain control characters, such as cursor control keys or keyboard error codes, may cause only local actions, whiie others will also require transmission to the host. An interrupt from the data communications Interface may also be a displayable character or a system control character. In &·38 Figure 10 A DESIGN EXAMPLE could have been included by selecting another of the numerous microprocessor devices on the market with greater program memory capacity. Major features of the terminal are summarized in table I.' A fully operational emulation of an IBM 3101 terminal was designed and constructed using the Signetlcs CRT chip set. The terminal Incorporates the majority of the 3101 's functions. Selected functions were not incorporated due to program memory limitations. For example, the tabbing functions were developed and tested but were left out In deference to the block transmission functions. More features 'A data package for the design, Including details of operation, schematic, and program listing, is available upon request by writing to: Signetics Corporation Microprocessor Applications Dept. Mail Station 12-76 P.O. Box 409 Sunnyvale, CA 94088 either case the microprocessor must determine the type of character and perform the necessary system operation. c: s:0 en e3 Z ." -t m (i) '"00 CI) :z: m 1S 00 -- ~. ~ PROGRAM AD-All ~ MEMORY 2716(2) I 1° 7 r- Z A5 -t -t 3: 0 TTLV2 0 ;a ,.c:... -I P07 00-05 (0) AGM " PVTC 2872 ~~~ PARALLEL DOT DATA 2610 2147 BCE ~ CURSOR DISPLAY MEMORY '" .... ~z ........ .N... .... N Z 0 :z: =ii en m -t I: 87 KEY I I I~ PKCC 2671 WR_ L........J -(~ y I MATRIX 175 MHZ ~ '".~ RxD 49152c::::J MHZ RxD Y II L.......J SHIFT CONTROl I I:s!> V Z o _ Z 5; CD §; .... '"~~ ~ . ~ m 0 0- IIII ::i! MICROPROCESSOR DIVISION JANUARY 1982 USING THE 2670/71/72/73 CRT TERMINAL CHIP SET Table 1 - TERMINAL FEATURES Display Screen Format Erase functions: erase EOl, erase 2000 character screen capacity (25 EOS, clear screen rows x 80 columns) Operator information area (25th Visual Attributes Highlighted field line) Blinking field Block-shaped cursor with optional Non-displayed field blinking Underlined field Displayable Graphic Set Modes of Operation 95 ASCII characters for nonTransmission modes: character or block (page or line) transparent mode 128 characters for transparent Normal or transparent mode 7x9 character matrix In 9x12 field Line Protocol Asynchronous 7-bit ASCII with programmable Keyboard 63-key main keyboard parity 12-key control key cluster One or two stop bits 12-key numeric keypad Full or half duplex Keyboard locklunlock under softOnline or local ware control Programmable line turnaround Keyboard clicker character for block mode (EOT I Typamatic operation ETX/CR/XOFF) EIA RS232 interface Communication line speed: 50 to Edit Functions 9,600 baud Cursor controls: up, down, left, right, Screen Refresh Rate home - 60Hz Cursor address read and write Terminal Hardware The block diagram of the 8035 based terminal is illustrated in figure 11. It is an expanded version of the logic shown in figure 9, the major difference being a larger display RAM, to provide up to two pages of screen data, and the addition of several input ports to handle the large number of option and set-up switches. The terminal's software is contained in 4K of program storage external to the 8035 The 2672 PVTC is programmed to operate in the independent buffer mode with the CPU isolated from the display RAM by two 74lS364 eight-bit latches, which provide the path for data transfers between the CPU and RAM. The PVTC, responding to commands from the CPU, completely controls the data transfer To avoid display interference, the PVTC is instructed to complete the access during a blanking interval. For massive display updates (clear screen, load form, etc.) the PVTC is instructed to blank the display and service the data transfer immediately and continuously. Additional memory contention cirCUitry is not necessary since the PVTC provides all of the timing and addreSSing (via cursor and pointer) necessary to complete the transfer. An Interrupt from the 6·40 PVTC informs the CPU when an operation is completed. The PVTC addresses the display buffer memory, which contains both character and attribute data. An attribute byte is identified by the software by setting bit 7 of the byte to a logic 1. The RAM data outputs are applied to the 2670 DCGG, which provides the character dot data information, and to the 2673 VAC. The VAC is hardwired to operate in the field attributes mode for this application. An attribute character occupies a screen pOSition but is not displayed unless the ACD input to the VAC is asserted. Bit 7 of the character byte identifies a character as an attribute character if it is a 1. When bit 7 on the RAM data bus is ai, the attribute byte is latched into the VAC to begin a new attributes field. Since the attributes are double buffered in the VAC, only one byte (at any character position) is required to specify a field. The bipolar VAC circuit serializes the dot data from the DCGG Into a 17.5 MHz data stream for the monitor. Two TTL-level video outputs provide three levels of video: blaCK, white, and gray. The PKCC provides the asynchronous data communications link at one of sixteen 5ignetics AppNote401 selectable baud rates. The PKCC addresses two 74lS145s which act as a 4-to-16 decoder to drive a 16x8 matrix keyboard. Key depressions are detected on the KRET input from a 74lS151 8-to-l multiplexer. Each key depression is debounced, encoded according to the states of the SHIFT and CONTROL inputs, and presented to the CPU. Repeat and 'typomatic' (auto-repeat) functions are processed automatically by the PKCC. Timing Calculations One of the tasks required in the design phase of the terminal is the selection of a suitable monitor and calculation of the PVTC register values to provide suitable drive signals for the selected monitor. The selection process begins with calculation of the required horizontal scan frequency. Each character will be contained in a 9 dot by 12 line field. Since there are 25 display rows, the total number of active scan lines will be 12 x 25, or 300. To this we must add some number of scan lines for the vertical retrace, which IS typically 5 to 10 percent of the active scan lines. For a screen refresh rate of 60 Hz, this yields H frequency ~ (60)(300)( 1.1) ~ 18,900 Hz. A Motorola monitor was selected for the application. The major timing specifications for the mon itor are: Horizontal frequency: 18.72 KHz ± 500 Hz HOrizontal retrace: 8 us max Horizontal sync width: 4 us min Vertical frequency: 50/60 Hz Vertical retrace: 750 us max Vertical sync width: 50 us min Monitor timing definitions are shown in figure 12. The worksheet illustrated in table 2 can be used to compute the required timing and associated PVTC register values. Some rough guesses are required initially and several iterations through the worksheet will usually be required to arrive at final values. For example, the character clock period must be known to select the horizontal front porch (HFP), sync width (HSYNC), and back porch (HBP) values. An estimate of the character period can be made initially as follows: Horizontal period ~ 1118,900 ~ 52.9 us Horizontal active = total - blank = 52.9 - 10 ~ 42.9 us Character period ~ 42.9/80 ~ 0.53 us approximately JANUARY 1982 MICROPROCESSOR DIVISION AppNote401 USING THE 2670/71/72/73 CRT TERMINAL CHIP SET HORIZONTAL AND VERTICAL TIMING 1------CH~:;5~W---------I ~----~ HOlAN" HSYNC ~----~ L- --1 '-I I-- FRONT PORCH (IR1) --I I- - I I_______________--'Il...____ r-- VBlANK BACK PORCH (lR2) HSYNC (1A2) CHAR ROWS/SCREEN ( I A 4 ) - - - I ~LlNESPERROW(IRO) --.Jr--------il --I r-- I rl ------~L --l r---Inl...-___ BACK PORCH (IR3) FRONT PORCH (IR3) VSYNC---I"ll..-_ _ _ _ _ _ _ _ _ _ _ _ r- ----1 VSYNC (FIXED AT 3) eOUALIZING . I I I I I CONSTANT LINES/ROW lAO HSYNC WIDTH HBACK PORCH 0 IA' I I IIIIII IA3 VFRONT PORCH VBACK PORCH o o LI-.LI.....L--,-IL-.LI-,-..L-l 6 CHARACTERS PER ROW o CHAR ROWS/SCREEN o IR4 I I IA1 IIIIII IA5 III Figure 12 In calculating horizontal timing, an approximate ratio for the HFP, HSYNC, and HBP of 1:2:2 respectively is recommended. Table 2 contains the final values selected for the application. Memory Allocation The 4K bytes of available buffer memory were allocated as follows (all addresses are in hex): 0000 to 004F: display data for row 25, status line 0050 to 0075: not used 0076 to 007F: CPU scratch pad 0080 to 07FF: display data for rows 1 to 24 0800 to OFFF: not used, available for second page of display data The PVTC's 'display buffer first address' and 'display buffer last address' registers are loaded with the values 0080 and 07FF respectively so as to cause this portion of the RAM to act as a circular buffer. Initially the display data is organized in the RAM as follows: 0080 to OOCF: row 1 data 0000 to 011 F: row 2 data 07BO to 07FF: row 24 data When a scroll operation is reqUired, the CPU changes the value in the PVTC's 'screen start' register from 0080 to 0000. This effectively shifts the displayed data up one row. Upon reaching the speCified last buffer address (which is now the last character in row 23), the PVTC automatically changes the addressing sequence to resume starting at 0080 for the 24th row. The display data IS now organized: - 0000 to 011 F' row 1 data - 01 20 to 016F: row 2 data tialized so as to cause an interrupt to be issued at the beginning of row 24 The CPU responds to this interrupt by changing the value in the screen start register to 0000. The PVTC then uses this value as the starting address of the next (25th) row. causing the status line to be displayed In that position. The CPU must re-Ioad the screen start register before the end of the vertical blanking interval with the correct value for the first character to be displayed on the screen. Terminal Software - 07BO to 07FF: row 23 data 0080 to OOCF: row 24 data The CPU can clear the previous data in 0080 to OOCF so that a blank row appears in the 24th position. The status line (row 25) data is kept in a separate section of RAM to eliminate the necessity of moving the data whenever the scrolling operation described above occurs. Thus, the PVTC must be instructed to change its addressing sequence at the beginning of the 25th row. This is accomplished by use of the split screen row interrupt capability. IR10, the 'split screen interrupt row' register, is in i- Signetics Because the 8035 microcomputer used in the terminal provides only a single interrupt level, a totally interrupt driven software design could not be used. The interrupt was assigned to the PVTC to service the split screen interrupt described above and the operations reqUired to implement the smooth scroll feature The keyboard and datacomm functions are serviced by polling the PKCC status register. Both the keyboard interface and UART receiver are double buffered in the PKCC, preventing overrun even if they are not serviced immediately. The program generally follows the typical program flow described previously. At system reset the 8035 Interrupts are dis- 6-41 MICROPROCESSOR DIVISION JANUARY 1982 USING THE 2670/71/72/73 CRT TERMINAL CHIP SET Table 2 - CRT TIMING WORKSHEET 1. HORIZONTAL CHARACTER BLOCK (no of dots) 2. VERTICAL CHARACTER BLOCK (no. of scan lines) 12 3. VERTICAL REFRESH RATE. Hz ...... . 60 9 (lRO) 4. CHARACTERS PER ROW . 80 (lR5) 5. CHARACTER ROWS PER SCREEN ..... . 25 (lR4) 6 TOTAL ACTIVE VIDEO SCAN LINES (step 2 x step 5) 7. VERTICAL FRONT PORCH (no of scan lines) 8. VERTICAL BACK PORCH (no. of scan lines) .. 9. VERTICAL RETRACE INTERVAL (step 8 300 + 3) 4 (lR3) 12 (lR3) 15 10 TOTAL SCAN LINES PER FRAME (add steps 6, 7, and 9) .. 319 11 HORIZONTAL LINE RATE, KHz (step 3 x step 10) 12. HORIZONTAL FRONT PORCH (character time units) 5 13. HORIZONTAL SYNC WIDTH (character time units) .. 8 (lR2) 14. HORIZONTAL BACK PORCH (character time Units) 9 (lR2) 15. HORIZONTAL RETRACE INTERVAL (step 13 16. TOTAL CHARACTER TIME UNITS IN ONE HORIZONTAL 19.14 + step 14) SCAN LINE (add steps 4, 12, 13, and 14) ... 17. 17 102 EQUALIZING CONSTANT ([step 16 I 2J - [2 x step 13]) (lR1) 35 18. CHARACTER CLOCK RATE, MHz (step 16 x step 11) ..... . 1.95228 19. CHARACTER PERIOD, us (1 I step 18) 0512 20 SCAN LINE PERIOD, us (step 19 x step 16) .. 53.27 21. DOT CLOCK RATE, MHz (step 18 x step 1) . 1757052 PARAMETER A. HORIZONTAL RATE, KHz SPEC ACTUAL 18.72 ± 0.5 1914 B. HORIZONTAL RETRACE TIME, us 8 8.7 C. HORIZONTAL SYNC WIDTH 4 4.1 50 - 60 60 750 784 50 157 D VERTICAL RATE, Hz E VERTICAL RETRACE TIME, us F VERTICAL SYNC WIDTH, us abled, data memory and display memory are cleared to zeroes, and both the PVTC and PKCC are master reset through software commands The system option switches are then read and stored and the PVTC and PKCC internal registers are initilized for the selected operation Finally, the initial data for the status line is loaded, the PVTC, UART, and keyboard are enabled, and the CPU Interrupt is enabled. 6·42 The program then enters a loop where the PKCC is checked for keyboard or UART entries. If an entry has occurred, the character is fetched and stored in a software controlled FIFO (first-in-first-out) memory which IS eight bytes deep for both receiviiig or transmitting characters (the need for the FIFO is described below). If either FIFO has an entry, the program proceeds to a character recognition routine Signetics AppNote401 which checks for the type of character (displayable or control) and the appropriate handling subroutine (ESC sequence, control sequence, cursor control, character display, etc.) is called. If the FIFO's are empty, the polling routine checks the option switches for any changes since reset entry and if so reconfigures the system as necessary. The need from the FIFOs results from the method used to effect the clear row function required when a scroll IS performed Although the PVTC includes a 'clear from cursor to pOinter' command that can be used to clear a block of memory rapidly, the display is temporarily blanked during this operation. This would cause undesirable flashes on the display. Instead, the program does the function by a repetitive loop using the 'write at cursor and increment' command. Since the write occurs only once per scan line during the active display window, a worst case total of approximately 80 scan line times IS reqUired to execute the routine. This would limit the maximum received character rate to approximately one per 80 scan lines or about 240 characters per second (2400 baud). To overcome this limitation, the PKCC is also polled each time through the clear line subroutine loop, and any entries from the receiver or keyboard are stored in the appropriate FIFO. Since the FIFO IS eight deep, this allows eight characters to be received in the same time, increaSing the maximum baud rate to 19,200. (Other program limitations actually reduce the maximum baud rate to 9600 baud) However, thiS does not increase the rate at which characters which cause a scroll function to occur, such as a line feed, can be received. Each character of this type must be followed by 'fill' characters in order for data rates higher than 2400 baud to be used An interrupt from the PVTC will occur when the display scan reaches the row count programmed in its split screen address register, row address 24 (for the 24th row). In response to the interrupt, the CPU loads the screen start registers with the address of the status line (0000) and enables the PVTC's line zero Interrupt. This causes another interrupt at the beginning of display of the status line. At this time the CPU reloads the screen start register With the proper address to begin the next display frame and disables the line zero interrupt. If scrolling is reqUIred the screen start register value is incremented by 80 (popping off the top row) and the effective bottom row cleared to nulls. If soft scrolling is JANUARY 1982 MICROPROCESSOR DIVISION USING THE 2670/71/72/73 CRT TERMINAL CHIP SET selected, additional functions are performed during the Interrupt routines. To begin the operation, the line zero interrupt routine adds ten lines to the vertical back porch. This causes the next active screen display to begin ten scan lines later than normal and gives the effect of the display moving up two scan lines (12 lines per character row - 10) instead of jumping up 12 lines. If nothing else were changed, however, the bottom of the display would move down ten lines. Thus, during the row 24 interrupt the number of scan lines per character row is changed to two (12-10), causing only the first two scan lines of that row to be shown. The next line zero interrupt (at row 25) restores the lines per row count back to 12 to keep the whole status AppNote401 line showing, and now changes the vertical back porch to 8. The display moves up two more scan lines and at the next row 24 interrupt four scan lines are shown The process continues in this manner, providing the effect of the entire display, except for the status line, smoothly scrolling up over a selected interval of six frames, or one tenth of a second = Signetics 6·43 6 MICROPROCESSOR DIVISION JANUARY 1982 2661 OPERATING MODE SWITCHING PROCEDURES INTRODUCTION This application note describes procedures for switching the operating mode of the Signetics' 2661 Enhanced Programmable Communications Interface (EPCil from echoplex or remote loopback mode to normal operation and vice-versa. ECHOPLEX (AUTOMATIC ECHO) MODETONORMAL OPERATION The echoplex operation is initiated by setting command register bits CR7:CR6 = 01, and CR2 (receiver enable bit) = 1. Echoplex operation is terminated by resetting CR2 to zero. To ensure the proper transmission of the last received character, no change of operating mode should be made until the end of that character. However, If mode switching is necessary in certain applications, the following procedure is recommended to ensure no garbling on the last transmitted character. Two potential problems may arise: the calculated parity Instead of the received parity may be transmitted, and data rate may be shortened or lengthened. The procedure provides the necessary handshaking to avoid these potential problems by making use of the TXEMTI DSCHG pin or of the status register bit 2, SR2, to indicate the end of the parity bit or the first stop bit, depending on whether one or two stop bits are selected (MR17:MR16 = 01 or 11). The procedure causes TXEMT/OSCHG to be driven to Its active state only at the completion of the last cheracter, as shown in figure 1. The recommended sequence of operation is as follows: 1. Wait for RXRDY (either RXRDY interrupt or status read). This Is necessary for the assembly of the last character to be completed and to ensure the transfer of this character to the transmitter. 2. Enable the transmitter by setting CRO to one. 3. Disable the receiver by setting CR2 to zero. 4. Walt for TXEMT (either TXEMTI OSCHG interrupt or status read). At this pOint, the parity bit or the first stop bit (if two stop bits are selected) has been sent out. 5. Change mode from echoplex to normal. 6. Load new character Into the transmit holding register, THR. Further communication between the 2661 chip and the CPU will resume as normal - that is, TXRDY Is driven active to indicate that the THR is available for new data and TXEMTIDSCHG OPERATION FOR ECHOPLEX MODE SWITCHING • ~L~~~':"-1L?~2~2~2~2~2~2~2~/2~2~2~2~/2~2~2~4ac2P~"~~~tl~~~w~t----------------I I I I I I -1 -----+.,---------- ;";;:EM:::';;'DS:::C:;::'O:---------------------------ii - ORlvENACnvEH:::'' :.:''c.:ON=:':.::s,:.::oP'--__ !-, BIT IS SELECTED- _ I I I I I I ~~A~:~~c~~~E._,,_mo_s_'o_p_~I~_ _ ,: Figure 1 SWITCHING FROM NORMAL TO ECHOPLEX OR REMOTE LOOPBACK vz?//'lZ2V'L/~ I I ·--_. Ie I\'U~-"'"'0' ~~:i~,,",, ~! CHANGE TO ECHOPLEX OR REMOTE Figure 2 6·44 .'0"" I ---.I AppNote402 TXEMT is driven active upon underrun condition. Note that the TXEMT pin Is not driven active In echoplex mode. It Is optionally driven active when the above steps are followed, particularly the transmitter being enabled as Indicated in step 2. Because the transmitter relies on CRO = 1 and CR2 = 0 to drive TXEMT active, It is necessary to set CRO to zero In echoplex mode If it is desired not to drive TXEMT active. CRO, transmitter enable, Is Ignored for data transmission in echoplex mode. It Is, however, used to determine whether TXEMT should be driven active. If frequent mode switching is anticipated and it is desired to drive TXEMT active, step 2 of the above procedure could be skipped, provided that the echoplex operation Is Initiated by enabling both the receiver and the transmitter - that is, CR2:CRO = 11. The TXEMT timing shown above is only applicable when switching modes. Note that in normal operation, TXEMT is driven active at the beginning of the last data bit or parity bit upon underrun condition. REMOTE LOOP BACK MODE TO NORMAL OPERATION The procedure is similar to the procedure for echoplex to normal, with the following exceptions: 1. No handshaking with RXRDY is required. 2. During step 3 of the previous procedure, CR2 goes to zero, and CR7:CR6 should be simultaneously changed from 11 to 01 (remote to echoplex). This Is necessary because the logic Implemented to drive TXEMT active relies on echoplex information. However, this requirement does not need additional service from the controller because remote-to-echoplex switching Is done at the same time as disabling the receiver. NORMAL OPERATION TO ECHOPLEX OR REMOTE To avoid garbling the last transmitted data, a mode switch from normal operation to echoplex or remote operation should be performed as follows: 1. Walt for TXEMT (either TXEMTI DSCHG Interrupt or status read) to be asserted. 2. Disable the transmitter by, setting CRO to zero. 3. Walt for TXEMT to be negated. 4. Change the mode from normal operation to echoplex or remote. The timing Is illustrated In figure 2. SigneHcs Section 7 Appendices Signetics JANUARY 1982 MICROPROCESSOR DIVISION PACKAGE OUTLINES INTRODUCTION The following Information applies to all packages unless otherwise specified on Individual package outline drawings. General 1. Dimensions shown are metric units (millimeters), except those In par· entheses which are English units (Inches). 2. Lead spacing shall be measured with· in this zone. a. Shoulder and lead tip dimensions are to center·line of leads. 3. Tolerances non·cumulatlve. 4. Thermal resistance values are deter· mined by utilizing the linear temper· ature dependence of the forward volt· age drop across the substrate diode in a digital device to monitor the Junc-, tlon temperature rise during known power application across Vee and ground. The values are based upon 120 mils square die for plastic pack· ages and a go mils square die In the smallest available cavity for hermetic packages. All units were solder mounted to P.C. boards, with standard stand·off, for measurement. 7·2 Plastic Only 5. Lead material: Alloy 42 (Nickel/Iron Alloy) Olin 194 (Copper Alloy) or equivalents, solder dipped. 6. Body material: Plastic (Epoxy) 7. Round hole In top corner denotes lead No.1. 8. Body dimensions do not Include molding flash. Hermetic Only 9. Lead material a. ASTM alloy F·15 (KOVAR) or equiv· alent-gold plated, tin plated, or solder dipped. b. ASTM alloy F·30 (Alloy 42) or equiv· alent-tin plated, gold plated, or solder dipped. c. ASTM alloy F·15 (KOVAR) or equlv· alent-gold plated. 10. Body Material a. Eyelet, ASTM alloy F·15 or equlv· alent-gold or tin plated, glass body. b. Ceramic with glass seal at leads. c. BeO ceramic with glass seal at leads. d. Ceramic with ASTM alloy F·30 or equivalent. SIgletics 11. Lid Material a. Nickel or tin plated nickel, weld seal. b. Ceramic, glass seal. c. ASTM alloy F·15 or equivalent, gold plated, alloy seal. d. BeO ceramic with glass seal. 12. Signetics symbol, angle cut, or lead tab denotes Lead No.1. 13. Recommended minimum offset bafore lead bend. 14. Maximum glass climb 0.010 inches. 15. Maximum glass climb or lid skew is 0.010 inches. 16. Typical four piaces. 17. Dimension also applies to seating plane. MICROPROCESSOR DIVISION JANUARY 1982 PACKAGE OUTLINES N PACKAGE - PLASTIC (16·PIN) 7 I PACKAGE - HERMETIC (16·PIN) I ~[~~]~fj =-=-=--I ,• OZOl 165(.065) o S1 ( 1 2070 calS) 19.93 (785) 12.95(.510) 12.45 (.490) _I ~ 0.63 f.025J 8.13(.3201 7.37(2901 ,3, 005"I.N~.~~~~~~~ryOJ;!~~l~~~~~~~~~i::i _-+__ 031 (012) ~ 0.20(008) , .8.741.3441 7.11 (.280) .1 2.79 (110) 2.29 (.090) NON· CUMULATIVE Signetics 7·3 MI~ROPROCESSOR DIVISION JANUARY 1982 PACKAGE OUTLINES N PACKAGE - PLASTIC SLIM LINE (24-PIN) LEAD NO 1 r-- 0381.015) D.25To1Oi 053 (021) 0381015) 2.791110) 2291.090) NON· CUMULATIVE I PACKAGE - HERMETIC SLIM LINE (24·PIN) CONTACT YOUR SIGNETICS SALES OFFICE 7·4 Signefics JANUARY 1982 MICROPROCESSOR DIVISION PACKAGE OUTLINES N PACKAGE - PLASTIC (28·PIN) LEAONQ 1 01 o 1410(555) hn~TTrM~TrrnTTrn~TTrn~::L·~O' IV V V V V "'36.86/1.465/ VVVV :.:: I~~~ r--~----'~" I--~~~ .94 .,00,1,...'4.99(.0.0'""'\1.1:.(060' ~ mT.'14si 1.32 (.052) 1.l2T044i ~ 0.38 (0151 ~ 2.79(.110) fi9T.'09ijj' '-~0.3!::.~(.:::O'~0'~ 0.25 (010) :!:!! I-- 17 65 ( 6951--..1 (~1~1 I 15.2iT.6OOi I (.12ijj 165 (.0651 NON· CUMULATIVE 7 I PACKAGE - HERMETIC (2S·PIN) ! ,.,.................................---. LEAD NO 1 D NON· CUMULATIVE Signetics 7·5 MICROPROCESSOR DIVISION JANUARY 1982 PACKAGE OUTLINES N PACKAGE - PLASTIC (40·PIN) LEAD NO.1 17.651.6951 15.241.6001 0.51.0201 NON· 0.4 (.016) CUMULATIVE I PACKAGE - HERMETIC (40·PIN) [~~~~~~[::::]~~~~~~1~ ~::~.~~~:~ ~15.741.620I-l ~ ",.,." ~~,~~ ''''=, •• ,=, t:~t~1 T I~!====If=;::J ~ J ~ ~ l 3.05t201 -L ~ ;~ ~ g~~: 1- I I- ~.... 038 (015) 7·6 ~ 1295(.510)--' 12.95(.510 0.76(,030) i - 16.36 1.6441 --J I- :.~: ~ g:~: 14731.5801--' 4.451.1751 NON CUMULATIVE Signetics 3'i'iT.i'2si 0.20 (.OOSI JANUARY 1982 MICROPROCESSOR DIVISION SALES OFFICES Melville Phone (516) 752-0130 SIGNETICS HEADQUARTERS In~ewood hone (213) 670-1101 Irvine NEVADA ~~~~e TI~~~)o~o5~-9986 CANADA SIGNETICS CANADA, LTD, Etoblcoke, OntarIo Phone (416) 626-6675 StGNETICS CANADA, LTD.!lTEE, POlnte-Cla"e, &uebeC Phone (514) 6 7-3385 COLORADO Aurora Phone (303) 7515011 CONNECTtCUT Danbury Phone (203) 744-6066 NEWMEXtCO AlbpUo~:~~~~erprlses Phone (505) 298-1918 REPRESENTATIVES DELAWARE Call Micro-Camp, Baltimore Phone (301) 247-0400 FLORID Lighthouse pOint~ hone (~05)7828225 GEORGIA-----.,.. Atlanta :JO~(, Phone (404) 953-{1067 ~ ILLINOIS 813)7'''<\t. ) ALABAMA Huntsville ElectronIC Sales, Inc Phone (205) 533-1735 CALIFORNIA Los Gatos ~'~~r;e T(1~~)\On-9986 San Diego ~~~~eE(m)efin/8021 CONNECTICUT Danbury Kanan ASSOCiates Phone (203)265-2404 FLORIDA MARYLAND Glen Burnie Phone (301)787-0220 MASSACHUSETTS Woburn Phone (617)938-1000 Elk Grove Village Mlcro-Tex, Inc Phone (312)640-9633 MICHIGAN Farmington Hills Phone (313)476-1610 FO[:~f~~e s, Inc NEW YORK Liverpool Phone (315)451-5470 MISSOURI SI. LoUIS B C Electromc Sales Phone (314) 731-1255 UTAH Bountilul Phone (801) 298-2624 Phone (7l~ 833-8980 (213) 588-3 81 San Diego Phone (714) 560-0242 NEW JERSEY Cherry Hill Phone (609) 665-5071 Piscataway Phone (201)981-0126 MINNESOTA Edina Mel Foster Techmcal Sales Phone (612) 941-9790 TEXAS Austin Phone (512) 458-2591 Dallas Phone (214) 661-1296 cu~~r~~~o (408) 725-8100 MINNESOTA Edina Phone (612)835-7455 MICHIGAN Bloomlield Hills Enco Marketing Phone (313) 642-0203 TENNESSEE Greeneville Phone (615) 639-0251 CALIFORNIA Canoga Park Phone, (213) 340-1431 KANSAS Overland Park Phone (913) e41-8181 MASSACHUSETTS Reading Kanan Associates Phone' (617) 944-8484 OHIO Worthington Phone (614) 888-7143 ARIZONA Phoenix Phone (602) 2654444 INDIANA Kokomo Phone (317) 453-6462 wa~~~nn~erfgftll~974074 NORTH CAROLINA Raleigh Phone (919) 851-2013 811 East Arques Avenue PO Box 409 Sunnyvale, Cahlorma 94086 Phone (408) 739-7700 sC~~~~~U[Jl2) 843-7805 MARYLAND Baltimore MlCro-Comp, Inc Phone (301) 247-0400 INDIANA Phone &19)482-1596 Indianapolis Insul-Re~s, Inc Phone (317)842-5203 IOWA Cedar Rapids Comstrand Inc Phone (319)377-1575 KANSAS Shawnee Mission B C Electromc Sales Phone (913) 888-6680 NEW YORK Ithaca Bob Dean, Inc Phone (607) 272-2187 OHIO Cleveland Norm Case ASSOCiates Phone (216) 333-4120 Da~~r~ Case ASSOCiates Phone (800)362-6631 OKLAHOMA Tulsa Cunmngham Co Phone (918)492-0390 OREGON Hillsboro Western Techmcal Sales Phone (503) 640-4621 TEXAS Ausltn Cunningham Co Phone (512)459-8947 Dallas Cunmngham Co Phone (214)233-4303 Houston Cunningham Co Phone (713)461-4197 VIRGINIA LY~~~~~mp, Inc Phone (804)237-6221 WASHINGTON Bellevue Western TechnICal Sales Phone (206)641-3900 Spokane Western Techmcal Sales Phone' (509)9227600 WASHINGTON, D,C, ~~lbn~'I%tof4M:ri~more Signetics WISCONSIN Waukesha Mlcro-Tex, Inc Phone (414) 542-5352 DISTRIBUTORS ALABAMA Huntsville Hall-Mark Electromcs Phone (205) 837-8700 HamlltonlAvnet Electromcs Phone (205) 837-7210 Pioneer Electromcs Phone (205) 837-9300 ARIZONA Phoenix Ham"ton/Avnet ElectroniCS Phone (602) 894-9600 ~~b~~'M~~I~~~~~~'¥' CALIFORNIA Costa Mesa Avnet Electromcs Phone (714) 754-611l Hamilton Electro Sales Phone (714) 6414100 Culver City HamlltonlAvnet Electromcs Phone (213) 558-2121 HamlltonlAvnet Electromcs Ph~ri~ta[!13) 558-2901 EI Segundo Wyle DlSt"bulion Group Phone (213)322-8100 Irvine Schweber Electromcs Phone (714)556-3880 Wyle DlSt"bulion Group Phone (714)979-2125 San Diego Anthem Electromcs Phone (714)279-5200 HamlltonlAvnet Electromcs Phone (714) 571-7510 Wyle DlSt"butlon Group Phone (714)565-9171 San Jose Anthem Electromcs Inc Phone (408) 946-8000 Santa Clara Schweber Electromcs Phone (408)496-0200 7 ~Kben~'il~~I~~~%~W' Sunnyvale A"ow Electromcs Phone (408)745-6600 HamlllonlAvnet Electromcs Phone (408)743-3366 CANADA Calr,~ill~I~/~J~et Electromcs Phone (403)230-3586 Downsvlew, Ontario Cesco Electromcs Phone (416)661-0220 Mississauga, Ontario HamlltonlAvnet ElectroniCs Phone (416)677-7432 Zentromcs Phone (416)451-9600 7·7 JANUARY 1982 MICROPROCESSOR DIVISION SALES OFFICES Montreal, Quebec Cesco Electronics Phone (514) 735-5511 Zentromcs Phone (514) 735-5361 Ottawa, Ontario Ceseo Electronics Phone (613) 719-5118 HamlltonlAvnet Elecrromes Phone (613) 116-1700 Zentromcs Phone (613) 138-6411 Quebec City Ceseo Eleetromcs Phone (418) 514-4641 Ville 51. Laurent, Quebec HamlltonlAvnet Electromes Phone (514) 331-6443 COLORADO Denver Arrow Electromes Phone (303) 758-1100 Wyle DlStnbution Group Phone (303) 457-9953 Englewood HamlltonlAvnet Eleetromcs Phone (303) 740-1000 CONNECTICUT Danbury HamlltonlAvnet Eleetromes Phone (203) 797-2800 Schweber Eleetromes Phone (203) 792-3500 Wallingtord Arrow ElectroniCS Phone (203) 265-7741 FLORIDA FI. Lauderdale Arrow ElectroniCS Phone (305) 176-7790 HamlltonlAvnet Electromcs Phone (305) 971-2900 Hollywood Schweber Electromes Phone (305) 927-0511 Palm Bay Arrow Electromes Phone (305) 725-1480 51. Petersburg HamlltonlAvnet Electromes Phone (813) 576-3930 GEORGIA Atlanta Sehweber Eleetromcs Phone (404) 449-9170 Norcross Arrow Eleetromcs Phone (404) 449-8252 HamlltonlAvne! Eleeiromes Phone (404) 447-7500 ILLINOIS Chicago Bellindust"es Phone (312) 982-9210 7·8 Elk Grove Schweber Electronics Phone (311) 364-3750 Schaumburg Arrow Electromcs Phone (311) 893-9410 Bensenville HamlltonlAvnet Electromcs Phone (311) 8607700 INDIANA Indianapolis Pioneer Electronics Phone (317) 849-7300 Arrow Eleerromcs Phone (317) 143-9353 HamlltonlAvnet Electronics Phone (317) 844-9333 KANSAS Overland Park HamlltonlAvnet Electronics Phone (913) 888-8900 MARYLAND Baltimore Arrow Electronics Phone (301) 147-5100 Columbia HamlitonlAvnet Eleetromcs Phone (301) 995-3500 GaitherSbUW Pioneer ashlnYion Electronics Phone (301) 94 -0710 Sehweber Eleetromes Phone' (301) 840-5900 MASSACHUSETIS Bedford Sehweber Eleetromes Phone (617) 275-5100 Burlington ~'~~n': ~3[Y) 272-9400 Woburn Arrow Eleetromes Phone (617) 9338130 HamlltonlAvnet Eleetromes Phone (617) 173-7500 MICHIGAN Ann Arbor Arrow Eleerromes Phone (313) 971-8220 Grand RapIds HamlltonlAvnet Eleetromes Phone (616) 243-8805 Livonia HamlltonlAvnet Eleetromes Phone' (313) 522-4700 Pioneer Electromes Phone (313) 525-1800 Sehweber Electromes Phone (313) 525-8100 MINNESOTA Eden Prairie Sehweber Eleetromes Phone (612) 941-5280 Minneapohs Arrow Electromes Phone (612) 830-1800 HamlltonlAvnet Eleetromes Phone (612) 932-0600 MISSOURI Earth City Hamllton/Avnet Electromes Phone (314) 344-1200 51. Louis Arrow Electromes Phone (314) 567-6888 NEW HAMPSHIRE Manchester Arrow Electronics Phone' (603) 668-6968 NEW JERSEY Cherry Hill HamlltonlAvnet Eleerromes Phone (609) 414-0100 Fairfield HamlltonlAvnet Electronics Phone (101) 575-3390 Schweber E~clromes Phone (101) 117-7880 Moorestown Arrow Eleetromcs Phone' (609) 135-1900 Saddlebrook Arrow Eleetromcs Phone (101) 797-5800 NEW MEXICO Albuquerque HamlltonlAvnet Electronics Phone (505) 765-1500 NEW YORK BuHalo Summit DlStnbutors Phone' (716) 887-2800 East Syracuse Arrow Electromes Phone (315) 652-1000 HamlltonlAvnet Electromcs Phone' (315) 437-2642 Farmingdale, L.I. Arrow Electronics Phone' (516) 694-6800 Liverpool Arrow Eleetromes Phone (315) 651-1000 Melville HamlltonlAvnet Electronics Phone (516) 454-6012 Rochester Arrow Electromes Phone (716) 175-0300 HamlitonlAvnet Electromcs Phone (716) 475-9130 Sehweber Eleetromcs Phone (716) 424-2222 Westbury, LI. Sehweber Electromcs Phone' (516) 334-7474 NORTH CAROLINA Greensboro Pioneer Electromcs Phone (919) 273-4441 Raleigh ~~~~~o(~~~r~~§lio~~mes Winston-Saillm Arrow Elee~omcs Phone (91 ) 725-8711 OHIO Beeetrwood Sehweber Eleetromes Phone (216) 464-1970 Cleveland HamlltonlAvnet Eleetromes Phone' (216) 831-3500 Pioneer Eleetromes Phone (216) 587-3600 Centerville Arrow Electronics Phone. (513) 435-5563 Signetics D"ri~o~ilton/Avnet Electromcs Phone- (513) 433-0610 Pioneer Standard Elecrromcs Phone' (513) 136-9900 Solon Arrow Electromcs Phone: (116) 148-3990 OKLAHOMA Tulsa ~uahty Components hone: (918) 664-8811 OREGON Lake Oswego HamiltonlAvnet Electromes Phone (503) 635-8831 PENNSLYVANfA Horsham Sehweber Eleetromes Phone (115) 441-0600 Pittsburgh Arrow Electromes Phone, (412) 856-7000 ~ho~n':.r;~lmb7~~~300 TEXAS Austin HamlltonlAvnet Electromcs Phone (512) 837-8911 ~uahty Components hone' (512) 835-0220 Dallas Hall-Mark Electromcs Phone' (214) 341-1147 HamlltonlAvnet Electromcs Phone' (214) 659-4111 ~uaity Components :, ilione, (214) 387-4949 '- 'Sehweber,!:leetromcs , J'fi'one"(2r4) 661-5010 Houst.. ~a~'lton/Avnet Eleetromes Ph ne: (713) 780-1771 ~uahty Components hone. (713) 771-7100 Schweber Electromes Phone. (713) 784-3600 . , UTAH Salt Lake Ci% Hamlltonl vnet Electromes Phone (801) 972-4300 WASHINGTON Bellevue Arrow Eleetromcs Phone (206) 643-4800 HamlltonlAvnet Eleetromes Phone (206) 453-5844 Wyle DIStribution Group Phone' (206) 453-8300 WISCONSIN Oak Creek Arrow Electromcs Phone (414) 764·6600 New Berlin Hamiiton/Avne! Eleetromes Phone, (414) 784-4510 Iii nOliC bf U.S. Philips Corporation Signetics Corporation en East Arques Avenue Po. Box 40.9 94086 Telephone 408/ 739-770.0. Sunnyvo~ California 800000 Copyrig ht 1981 Signe ti cs Co rporat ion Pr inted in U.S.A 15M0182
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2013:08:20 17:59:36-08:00 Modify Date : 2013:08:20 23:34:25-07:00 Metadata Date : 2013:08:20 23:34:25-07:00 Producer : Adobe Acrobat 9.55 Paper Capture Plug-in Format : application/pdf Document ID : uuid:5457d877-747f-6f44-a2a9-06b4856d6289 Instance ID : uuid:a68bfa95-3a93-3c4d-9989-0b6735ce0973 Page Layout : SinglePage Page Mode : UseNone Page Count : 258EXIF Metadata provided by EXIF.tools