1991_Zilog_Datacom_ICs 1991 Zilog Datacom ICs
User Manual: 1991_Zilog_Datacom_ICs
Open the PDF directly: View PDF .
Page Count: 758
Download | ![]() |
Open PDF In Browser | View PDF |
Table of Contents Product Specifications Product Number Page Product Migration Chart ................................................................................................................................................................................................:.1 Z16C30 CMOS USCTMUniversal Serial Controller ................................................................ Z16C3010VSCNEC/GEE ................................................. 3 Z16C311USCTMIntegrated Universal Serial Controller ........................................................... Z16C312OVSC ..............................................................77 Z16C33 CMOS MUSCTMMono-Universal Serial Controller .................................................. Z16C3310VSC ..............................................................85 Z16C35 CMOS ISCCTMlntegrated Serial Communications Controller ................................... Z16C351OVSC/16VSC ................................................167 Z16C50 DDPLLTMDual Digital Phase Locked Loop Microcontroller ...................................... Z16C5010PSC/20PSC ................................................ 225 Z5380 CMOS SCSI Small Computer System Interface ........................................................... Z53801OPSCNSC ....................................................... 231 Z85230 CMOS ESCCTMEnhanced Serial Communication Controller .................................... Z8523010PSCNSC, 20PSCNSC ............................... 267 Z8OC30/Z85C30 CMOS Z-BUS· SCCTMSerial Communication Controller .......................... Z80C3008PSCNSC, 10PSCNSC ............................... 305 Z85C3008PSC/PECNSCNEC/CEE Z85C3010PSC/PECNSCNEC/CEE Z85C3016PSCNSC Z8030/Z8530 Z-BUS· SCCTMSerial Communication Controller ........................................... Z803006PSC/DSfJ\ISC ............................................... 345 Z803008PSC/DSfJ\lSC Z0853004PSC Z0853006PSC/DEC/DSfJ\ISC Z0853008PSC/DSE/DEA/VSC Z80181 CMOS SACTMSmart Access Controller ...;................................................................. Z801811OFEC/12FEC .................................................. 370 Z84013/015 Z84C13/C15IPCTMlnteUigent Peripheral Controller .......................................... Z8401306VEC/10VEC ................................................. 441 Z84C1306VEC/10VEC Z8401506FEC/10FEC Z84C1506/1OFEC Z8440/Z84C40 SIO (See Ordering Information for available speeds, 'XX' replacements) ...... Z08440XXPSC/DSE .................................................... 505 Z08441XXPSC/DSE Z08442XXPSC/DSE Z08444XXVSC Z844C4OXXPEC/DEE Z84C41XXPEC/DEE Z84C42XXPEC/DEE Z84C43XXFEC Z84C44XXVEC Z85C80 SCSCITMSerial Communication and Small Computer Interface ................................ Z85C8010VSC ............................................................529 Application Notes . Design aSerial Board to Handle Multiple Protocols ....................................................................................................................................................591 Using the Z16C30 USC Universal Serial Controller with MIL-STD-1553B ..................................................................................................................603 Datacommunications IUSC/MUSC Time Slot Assigner .................................................................................._...........................................................617 ISCC Inleaace to the ~ and 8086· .............................................................................................................................................................................................................................621 The Z180 SCC Interfaced with the SCC at 10 MHz ......................................................................................................................................................631 Using SCC with in SDLC Protocol .................................................................................................................................................................665 SCC In Binary Synchronous C.omm~nications ...............................,............................................................................................................................677 On-Chip OSCillator DeSign ..........................................................................................................................................................................................687 Interfacing the Z8500 Peripherals to the 68000 ...........................................................................................................................................................697 Interfacing Z80tPUs to the Z8500 Peripheral Family ...:.............................................................................................................................................709 zaooo- Additional Information Datacom Product Support ..............................................................................:,...........................................................................................................733 Military Qualified Datacom Products ...........................................................................................................................................................................739 Quality and Reliability .............:................................................;...................................................................................................................................741 Literature Guide ...........................................................................................................................................................................................................743 Package Information ....................................................................................................................................................................................................747 Ordering Information ...................................................................................................................................................................................................751 DATACOM PRODUCTS Z84C15 SAC Z181 Zl80+8CC MUSC Z1ISC33 Mt.. c~_.. MlB......... lIAlor 180N IOSC Z11SC31 _,..IIe.. . . . . Q ...... WIllI 0100 aad lIA I,r liON ISCC Z18C36 2C11aa8CC +4_ SCSI 2C11n8CC +8C81 ESCC USC Z8S230 Z11SC3O 2C11nSCC + OH, RFOs 2 ~ZiIill PRODucrSPECIRCAnON Z16C30 CMOS USC UNIVERSAL SERIAL CONTROLLER FEATURES _ Transparent Bisync mode with EBCDIC or ASCII character code; automatic CRG handling; programmable idle line condition; optional preamble transmission; autOmatic recognition of OLE, SYN, SOH. ITX, ETX, ETB, EOT, ENQ and ITB. 12.5 MByte/sec (16-bit) data bus bandwidth _ Extemal character sync mode for receive _ Multi-protocol operation under program control with Independent mode selection for receiver and transmitter. _ HDLC/SDLC mode with eight bit address compare, extended address field option; 16- or 32-bit CRC, programmable idle line condition; optional preamble transmission and loop mode. _ Async mode with one to eight bits/character, 1/16 to 2 stop bits/character in 1/16 bit increments; programmable clock factor; break detect and generation; odd, even, mark, space or no parity and framing error detection Supports one Address/Data bit and MIL STD 1553B prptocols. _ DMA interface with separate request and acknowledge for each receiver and transmitter. _ Channel load command for DMA controlled initialization. _ Flexible bus interface for direct connection to most microprocessors; user programmable for 8 or 16 bits w.ide Directly supports 680XO family or 8X86 family bus interfaces. _ Low power CMOS _ 68-pin PLCC package _ Two independent, 0 to 10 Mbit/sec, full duplex channels, each with two baud rate generators and one digital phase-locked loop for clock recovery. _ 32-byte data FIFO's for each receiver and transmitter _ _ Byte oriented synchron6us mode with one to eight bits/character; programmable idle line condition; optional receive sync stripping; optional preamble transmission, 16- or 32-bit CRC and transmit-tO:receive slaving (for X.21) _ Bisync mode with 2- to 16-bit programmable sync character; programmable idle line condition; optional receive sync stripping; optional preamble transmission; 16- or 32-bit CRC. GENERAL DESCRIPTION The USC Universal. Serial Controller is a dual-channel multi-protocol data communications peripheral designed for use with any conventional multiplexed or non-multiplexed bus. The USC functions as a serial-to-parallel, parallel-toserial converter/controller and may be software configured to satisfy a wide variety of serial communications applications. The device contains a variety of new, sophisticated intemal functions including two baud rate generators per channel, a digital phase-locked loop per channel, character counters for both receive and transmit in each chan riel and 32-byte data FIFO's for each receiver and transmitter. 3 GENERAL DESCRIPTION (Continued) The USC handles asynchronous formats, synchronous byte-oriented formats such as BISYNC and synchronous bit-oriented formats such as HDLC. This device supports virtually any serial data transfer application. The device can generate and check CRC in any synchronous mode and can be programmed to check data integrity in various modes. The USC also has facilities for modem controls in both channels. In applications where these controls are not needed, the modem controls may be used for general-purpose I/O. The same is true for most of the other pins in each channel. Interrupts are supported with a daisy-chain hierarchy, with the two channels having completely separate interrupt structures. High-speed data transfers via DMA are supported by a RequesVAcknowledge signal pair for each receiver and trarismitter. The device supports' automatic status transfer via DMA and also allows device initialization urider DMA control. To aid the designer in efficiently programming the USC, support tools are available. The Technical Manual describes in detail all features presented in this Product Specification and gives programming sequence hints. The Programmer's Assistant is a MS-DOS disk-l:ilased programming initialization tool to be used in conjunction with the TechniGal Manual. There are also available assorted application notes and development boards to assist the designer in the hardware/software development. Note: All Signals with a preceding front slash, "/", are active Low, e.g.: BIIW (WORD is active Low); IBIW (BYTE is active Low, only); INIIS (NORMAL and SYSTEM are both active LOW). To Other Channel Receive DMA Control Receive 0 ala I Receive FIFO (32 byte)rimaryfunction of these signals is to perform fly-by DMA transfers from the receive FIFOs: They may also be used as bit inputs or outputs. ' TxOA, TxDB. Transmit Data (outputs, active High, 3-state). These signals carry the serial transmit data for each ctiannel. IRxREQA,/RxREQB. Receive Request(inputs or outputs, active low). The primary function of these signals is to request DMA transfers trom the receive FIFOs. They may also be used as simple inputs or outputs. RxOA, RxOB. Receive Data (inputs, active High). l'hese signals carry the serial receive data for each channel. fTxCA, fTxCB. Transmit Clock (inputs or outputs, active low). These signals are used as clock inputs for any of the functional blocks within the device. Theymay also be used as outputs for various transmitter signals or internal clock signals. IRxCA, IRxCB. Receive Clock (inputs or outputs, active low). These Signals are used as clock inputs for any of the fuhctional blocks within the device. They may also be used as outputs for various receiver signals or internal, clock signals. ICTSA, ICTSB. Clear To Send (inputs or outputs, active low). These signals are used as enables for the respective transmitters. They may also be programmed to generate interrupts on either transition or used as simple inputs or outputs. I IOCOA, IOCOB. Data Carrier Detect (inputs or outputs, active low). These signals are used as enables for the respective receivers. They may also be programmed to generate interrupts on either transitfon or used as simple inputs or outputs. , ARCtUTECTURE The USC internal structure includes two completely indep~ndent full-duplex serial channels, eacb with two baud rate generators, a digital phase-locked loop for clock recovery, transmit and receive character counters and a full-duplex DMA interface. The two serial channels share a common bus interface. The bus interlace is designed to provide easy interface to most microprocessors, whether 8 they employ a multiplexed or non-multiplexed, 8-bit or 16-bit bus structure. Each channel is controlled by a set of thirty 16-bil registers, nearly all of which are readable and writable. There is one additional 16-bit register in the bus interface used to configure the nature of the bus interface. The BCR functions are shown in Figure 4. Address: None ID"H~"+rIOO'OO'",'OO'i'~''''~ ~== - Reserved 3-State Al' Pins Separate Address lor 8-Bit Bus * Must be" programmed as O. Figure 4. Bus Configuration Register DATA PATH Both the transmitter and the receiver in the channel are actually microcoded serial processors. As the data shifts through the transmit or receive shift register, the miCrocode watches for specific bit patterns, counts bits, and at the appropriate time transfers data to or from the FIFOs. The microcode also checks status and generates status interrupts as appropriate. FUNCTIONAL DESCRIPTION The functional capabilities of the USC are described from two different points of view: as a data communications device, it transmits and receives data in a wide variety of data communications protocols; as a microprocessor peripheral, the USC offers such features as read/write registers, a flexible bus interface, DMA interface support and vectored interrupts. Data Communications Capabilities The' USC provides two independent full-duplex channels programmable for use in any common data communication protocol. The receiver and transmitter modes are completely independent, as are the two channels. Each receiver and transmitter is supported.by a 32-byte deep FIFO and a 16-bit message length counter. All modes allow optional even, odd, mark or space· parity. Synchro- ' nous modes allow the choice of two 16-bit or one 32-bit CRC polynomial. Selection of from one to eight bits-percharacter is available in both receiver and transmitter, independently. Error and status conditions ale carried with the data in the receive and transmit FtFOs to greatly reduce the CPU overhead required to send or receive a message. SpeCific, appropriately timed interrupts are available to signal such conditions as overrun, parity error, framing error, end-of-frame, idle line received, sync acquired, transmit underrun, eRe sent, clOSing sync/flag sent, abort sent, idle line sent and preamble sent. In addition, several useful internal signals such as receive FIFO load, received sync, transmit FIFO read and transmission complete may be sent to pins for use by external circuitry. Asynchronous Mode. The receiver and transmitter can handle data at a rate of 1/16, 1/32, or 1/64 the ciock rate. The receiver rejects start bits less than one-half a bit time and will not erroneously assemble characters following a framing error. The tranSmitter is capable of sending one, two, or anywhere in the range of 1/16th to two stop bits per character in 1/16 bit increments. External Sync Mode. The receiver is synchronized to the receive data stream by an externally-supplied signal on a pin for custom protocol applications. ,Isochronous Mode. Both transmitter and receiver may operate on start-stop (async) data using a 1x cioc~. The transmitter can send one or two stop bits. Asynchronous With Code Violations. This is similar to Isochronous mode except that the start bit is replaced by a three bit-time code violation pattern as in MIL-8TD 1553B. The transmitter can send zero, one or two stop bits. 9 FUNCTIONAL DESCRIPTION (Continued) Monosync Mode. In this mode, a single character is used for synchronization. The sync character can be either eight bits long with an arbitrary data character length, or programmed to match !he data character length. The r~ceiver is capable of automatically stripping sync characters from the received data stream. The transmitter may be programmed to automatically send CRC on either an underrun or at the end of a programmed message length. Bisync Mode. This mode is identical to monosync mode except that character synchronization requires two successive characters for synchronization. The two characters need not be identical. Slaved Monosync Mode. This mOd.e is available only in the transmitter and allows the transmitter (o/J€rating as though it were in monosync mode) to send data that is bytesynchronous to the data being received by the receiver. HOLC Loop Mode. This mode is also available only in the transmitter and allows the USC to be used in' an HDLC loop configuration. In this mode, the receiver is programmed to operate in HDLC mode so that the transmitter echos received messages. Upon receipt of a particular bit pattern (actually a sequence of seven consecutive ones) the transmitter breaks the loop and inserts its own frame(s). Data Encoding HOLC Mode. In this mode, the receiver recognizes flags, performs optional address matching, accommodates extended address fields, 8- or 16-bit control fields and logical control fields, performs zero deletion and CRC checking. The receiver is capable of receiving shared-zero flags, recognizes the abort sequence and can receive arbitrary length messages. The transmitter automatically sends opening and closing flags, performs zero insertion and can be programmed to send an abort, an extended abort, a flag or CRC and a flag on transmit underrun. The transmitter can also automatically send the closing flag with optional CRC at the end of a programmed message length. Shared-zero flags are selE1cted in the transmitter and a separate character length may be programmed for the last character in the frame. Bisync Transparent Mode. In this mode, the synchronization pattem is DLE-SYN, progr-ammable selected from either ASCII or EBCDIC encoding. The receiver recognizes control character sequences and automatically handles CRC calculation without CPU intervention. The transmitter can be programmed to send either SYN, DLE-SYN, CRCSYN, or CRC-DLE-SYN upon underrun and can automatically send the closing DLE-SYN with optional CRC at the end of a programmed message length. The USC may be programmed to encode and decode the· serial data in any of eight different ways as shown in Figure 5. The transmitter encoding method is selected i~dependently of the receiver decoding method. . NRZ. In NRZ, a. 1 is represented by a High level for the duration of the bit cell and a 0 is represented by a Low level for the duration of the bit cell. NRZB. Data is inverted from NRZ. NRZI-Mark. In NRZI-Mark, a 1 is represented by a transition at the beginning of the bit cell That is, the level present in the preceding bit cell is reversed. A 0 is represented by the absence of a transition at the beginning of the bit cell. NRZI-Space. In NRZI-Space, a 1 is represented by the absence of a transition at the beginning of the bit cell. That is, the level present in the preceding bit cell is maintained. A 0 is represented by a transition at the beginning of the bit cell. . Biphase-Mark. In Biphase-Mark, a 1 is represented by a transition at the beginning of the bit cell and anofher transition at the center of the bit cell. A 0 is represented by a transition at the beginning of the bit cell only. NBIP Mode. This mode is identical to async except that the receiver checks for the status of an additional addressl data bit between the parity bit and the stop bit. The value of this bit is FIFO'ed along with the data. This bit is automatically inserted in the transmitter with the value that is FIFO'ed with the transmit data. Biphase·Space. In Biphase-Space, a 1 is represented by a transition at the beginning of the bit cell only. A 0 is . represented by transition at the beginning of the bit cell and another transition at the center of the bit cell. 802.3 Mode. This mode implements the data format of IEEE 802.3 with 16-bit address compare In this mode, lOCO and ICTS are used to implement the carrier sense and collision detect interactions with the receiver and transmitter. Biphase-Level. In Biphase-Level, a 1 is represented by a High during the first half of the bit cell and a Low during the second half of the bit cell. A 0 is represented by a Low during the first half of the bit cell and a High during the second half of the bit cell. 10 a Data NRZ I I I I I I, NRZl-M NRZI-S ~ I 'I 0 ~ I ~ I '/ I I 0 I \. 1 '/ I NRZB 0 I ~ 1 'I I I I I i\ '/ BI-PHASE-M BIPHASE-S BIPHASE-L DIFFERENTIAL BIPHASE-L I I Figure 5. Data Encoding Differential Biphase-Level. In Differential Biphase-Level, a 1 is represented by a transition atthe center olthe bit cell, with the opposite polarity from the transition at the center of the preceding bit cell. A 0 is represented by a transition at the center of the bit cell with the same polarity as the transition at the center of the preceding bit cell. In both cases there may be transitions at the beginning of the bit cell to set up the level required to make the correct center transition. Character Counters Each channel in the USC contains a 16-bit character counter for both receiver and transmitter. The receive character counter may be preset either under software control or automatically at the beginning of a receive message. The counter decrements with each receive character and at the end of the receive message the current value in the counter is automatically loaded into a four-deep FIFO. This allows DMA transfer of data to proceed without CPU intervention at the end of a received message, as the values in the FIFO ailow the 8PU to determine message boundaries in memory. Similarly, the transmit character counter is loaded either under software control or automatically' at the beginning of a transmit m,essage. The counter is decremented with each write to the transmit FIFO. When the counter has decremented to zero, and that byte is sent, the transmitter automatically terminates the message in the appropriate fashion (usually CRC and the closing flag or sync character) without requiring CPU intervention. Baud Rate Generators Each channel in the USC contaIns two baud rate generators Each generator consists of a 16-bit time constant register and a 16-bit down counter. In operation, the counter decrements with each baud rate generator clock, with the time constant automatically reloaded when the count reaches zero. The output of the baud rate generator \ toggles when the counter reaches a count of one-half ofthe time constant and again when the counter reaches zero. A new time constant may be written at any time but the new value will not take effect until the next load of the counter. . The outputs of both baud rate generators are sent to the clock multiplexer for use internally or externally. ·The baud rate generator output frequency is related to the baud rate generator input clock frequency by the following formula' Output frequenoy = Input frequency/(time constant + 1) This allows an o!Jtp~tfrequency in the range of 1 to 1/65536 of the input frequency, inclusive. \ 11 .'" ""'''''I'I!"r~~----~-~-~--~ ___ Digital Phase-Locked Loop Each channel in the USC contains a Digital Phase-Locked Loop (DPLL) to recover clock information from a data stream with NRZI or Biphase encoding. The DPLL is driven by a clock that is nominally 8, 16 or 32 times the receive data rate. The DPLL uses this clock, along the data stream, to construct a clock for the data. This clock may then be routed to the receiver, transmitter, or both, or to a pin for use externally. In all modes, the DPLL counts the input clock to create nominal bit times. As the clock is counted, the DPLL watches the incoming data stream fortransitions. Whenever a transition is detected, the DPLL makesa count adjustment (during the next counting cycle), to produce an output clock which tracks the incoming bit cells. The DPLL provides properly phased transmit and receive clocks to the clock multiplexer. Counters Each channel contains two 5-bit counters, which we programmed to divide an input clock by 4, 8, 16 or 32. The inputs of these two counters are sent to the clock multiplexer. The counters are used as prescalers for the baud rate generators, or to provide a stable transmit clock from a common source when the DPLL is providing the receive clock. . Clock Multiplexer The clock multiplexer in each channel selects the clock source for the various blocks in the channel and selects an internal clock signal to potentially be sent to either the /RxC or /TxC pin. Test Modes The USC is programmed for localloopback or auto echo operation. In localloopback, the output of the transmitter is internally routed to the input of the receiver. This allows testing of the USC data paths without any external logic. Auto echo connects the RxD pin directly to the TxD pin. This is useful for testing serial links external to the USC. 1/0 INTERFACE CAPABILITIES The USC offers the choice of polling, interrupt (vectored or non-vectored) and block transfer modes to transfer data, status and control information to and from the CPU. six groups also have interrupt enable bits which are set for the particular source. In addition, there is a Master Interrupt Enable (MIE) bit in each channel which globally enables or disables interrupts within the channel. Polling All interrupts are disabled. The registers in the USC are automatically updated to reflect current status. The CPU polls the Daisy Chain Control Register (DCCR) to determine status changes and then reads the appropriate status r(lgister to find and respond to the change in status. USC status bits' are grouped according to function to simplify this software action. Interrupt When a USC responds to an interrupt acknowledge from the CPU, an interrupt vector may be placed on the data bus. This vector is held in the Interrupt Vector Register (IVR). To speed interrupt response time, the USC modifies three bits in this vector to indicate which type of interrupt is being requested. Each of the six sources of interrupts in each channel of the USC (Receive Status, Receive Data, Transmit Status, Transmit Data, I/O Status and Device Status) has three bits associated with the interrupt source: Interrupt Pending (IP), Interrupt-Under-Service (IUS) and Interrupt Enable (IE). If the IE bit for a given source is set. that source. can request interrupts. Note that individual sources within the 12 The other two bits are related to the interrupt priority chain. A channel in the USC may request an interrupt only when no higher priority interrupt source is requesting one, e g., when lEI is High for the channel. In this case the channel activates the /INT signal. The CPU then responds with an interrupt acknowledge cycle, and the interrupting channel places a vector on the data bus. In the USC, the IP bit signals that an interrupt request is being serviced. If an IUS is set, all interrupt sources of lower priority within the channel and external to the channel are prevented from requesting interrupts. The internal interrupt sources are inhibited by the state of the internal daiSy chain, while lower priority devices are inhibited by the lEO output of the channel being pulled Low and prQpagated to subsequent peripherals. An IUS bit is set during an interrupt acknowledge cycle if there are no higher priority devices requesting interrupts. There are six sources of interrupt in each channel' Receive Status, Receive Data, Transmit Status, Transmit Data, I/O Status and Device Status. prioritized in that order within the channel There are six sources'of Receive Status interrupt, each individually enabled: exited hunt, idle line, break/ abort, code violation/end-of-transmission/end-of-frame, parity error and overrun error. The Receive Data interrupt is generated whenever the receive FIFO fills with data beyond the level programmed in the Receive Interrupt Control Register (RICR). There are six sources of Transmit Status interrupt, each individually enabled: preamble sent, idle line sent. abort sent, end-of-frame/end-of-transmission sent. CRC sent and underrun error. The Transmit Data interrupt is generated whenever the transmit FIFO empties below the level programmed in the Transmit Interrupt Control Register (TICR). The I/O Status interrupt serves to report transitions on any of six pins. Interrupts are generated on either or both edges with separate selection and enables for each pin. The pins programmed to generate I/O Status interrupts are /RxC, /TxC, /RxREQ, /TxREQ, /DCD and /CTS. These interrupts are independent of the programmed function of ttie pins. The Device Status interrupt has four separately enabled sources: receive character count FIFO overflow, DPLl sync acquired, BRG1 zero count and BRGO zero count. Block Transfer Mode The USC accommodates block transfers via DMA through the /RxREQ, /TxREQ, /RxACK and /TxACK pins. The /RxREQ signal is activated when the fill level of the receive FIFO exceeds the value programmed in the RICR. The DMA may respond with either a normal bus transaction or by activating the /RxACK pin to read the data directly (flyby transfer). The /TxREQ signal is activated when the empty level of the transmit FIFO falls below the value programmed in the TICR. The DMA may respond either with a normal bus transaction or by activating the /TxACK pin to write the data directly (fly-by transfer). The /RxACK and /TxACK pin functions for this mode are controlled by the Hardware Configuration Register (HCR). Then using the /RxACK and /TxACK pins to transfer data, no chip select is necessary; these are dedicated strobes for the appropriate FIFO. PROGRAMMING The Programmers Assistant (MS DOS based) and Technical Manual are available to provide details about programmming the USC. Also included are explanations and features of all registers in the USC The registers in each USC channel are programmed by the system to configure the channels. Before this can occur, however, the system must program the bus interface by writing to the Bus Configuration Register (BCR). The BCR has no specific address and is only accessible immediately after a hardware reset of the device. The first write to the USC, after a hardware reset. programs the BCR. From that time on the normal channel registers may be accessed. No speCific address need be presented to the USC for the BCR write; the USC knows that the first write after a hardware reset is destined for the BCA. In the multiplexed bus case, all registers are directly addressable via the address latched by /ASatthe beginning of a bus transaction. The address is decoded from either AD6-ADOor AD7-AD1. Thisis controlled by the Shift RighV Shift Left bit in the BCR. The address maps for these two cases are shown in Table 1. The DI/C pin is still used to directly access the receive and transmit data registers (RDR and TDR) in the multiplexed bus; if D//C is High the address latched by lAS is ignored and an access of RDR or TDR is performed. In the non-multiplexed bus case, the registers in each channel are accessed indirectly using the address pointer in the Channel Command/Address Register (CCAR) in each channel. The address of the desired register is first written. to the CCAR and then the selected register is accessed; the pOinter in the CCAR is automatically cleared after this access. The RDR and TDR are accessed directly using the D//C pin, without disturbing the contents of tile pointer in the CCAR. Table 1. Multiplexed Bus Address Assignments Shift Left Shift Right Byte/IWord Access Address 4 Address 3 AD? AD6 ADS AD6 ADS AD4 Address 2 Address 1 Address 0 Upper/flower Byte Select AD4 AD3 AD2 AD1 AD3 AD2 AD1 ADO Address Signal There are two important things to note about the USC. First. the Channel Reset bit in the CCAR places the channel in the reset state. To exit this reset state either a word of all zeros must be written to the CCAR (16-bit bus) or a byte of all zeros must be written to the lower byte of the CCAR (8-bit bus). The second thing to note is that after reset. the transmit and receive clocks are not connected. The first thing that should be done· in any initialization sequence is a write to the Clock Mode Control Register (CMCR) to select a clock source for the receiver and transmitter. The register addressing is shown in Table 2. and the bit assignments for the registers are shown in Figure 6. 13 Reset Any Transaction Up To and Including BCR Write t NoiAS ~. At Least One lAS ~ NonMultiplexed Bus BCR Write Transaclion Multiplexed Bus I BCR[2)=O BCR[15)=1 BCR[2)=O BCR[15)=O ~ .l 8-Bit With Separate Address 8- Bit Without Separate Address I BCR[2)=1 BCR[2)=O BCR[15)=1 ~ ~ 16-Bit 8-Bit With Separate Address BCR[2)=O BCR[15)=O ! 8-Blt Without Separate Address BCR[2)=1 ~ 16-Bit Note: , The presence of one transaction wfth an lAS active, between reset up to and including the BeR wrfte, chooses a multiplexed type of bus. Figure 6. BeR Reset Sequence and Bit Assignments Table 2. Register Address List Address A4-A0 Address A4-A0 00000 00001 00010 00011 CCAR CMR CCSR CCR Channel Channel Channel Channel 00110 00111 01000 01001 TMDR TMCR CMCR HCR 01010 01011 01100 01101 01110 01111 1xo06 10001 14 Command/Address Register Mode Register Command/Status Register Control Register 10010 10011 10100 10101 RCSR RICR RSR RCLR Receive Receive Receive Receive Command/Status Register Interrupt Control Register Sync Register Count Limit Register Test Mode Data Register Test Mode Control Register Clock Mode Control Register Hardware Configuration Register 10110 10111 1XOOO 11001 RCCR TCOR TDR TMR Recieve Character Count Register Time Constant 0 Register Transmit Data Register (Write Only) Transmit Mode Register IVR IOCR ICR DCCR Interrupt Vector Register I/O Control Register Interrupt Control Register Daisy-Chain Control Register 11010 11011 11100 11101 TCSR TICR TSR TCLR Transmit Command/Status Register Transmit Interrupt Control Register Transmit Sync Register Transmit Count Limit Register MISR SICR RDR RMR Misc Interrupt Status Register Status InterruptControl Register Receive Data Register (Read Only) Receive Mode Register 11110 11111 TCCR TC1R Transmit Character Count Register Time Constant 1 Register XXXXX BCR Bus Configuration Register CONTROL REGISTERS Address: 00000 ~ Upperl/Lower Byte Select (WO) Address 0 (WO) Address 1 (WO) Address 2 (WO) Address 3 (WO) Address 4 (WO) Byte/lWord Access (WO) DMA Continue (WO) 0 0 0 1 1 0 1 1 Normal Operation } Auto Echo Extemal Local Loopback Internal local Loopback Mode Control Channel Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Null Command Reserved Reset Highest IUS Reserved Trigger Channel Load DMA Trigger Rx DMA Trigger Tx DMA Trigger Ax & Tx DMA Reserved Rx FtFO Purge Tx FIFO Purge Rx & Tx FIFO Purge Reserved Reload Rx Character Count Reload Tx Character Count Reload Rx & Tx Character Count Reserved LoadTCO LoadTCl Load TCO & TCl Select Serial Data LSB First * Select Serial Data MSB First Select Straight Memory Data * ' Select Swapped Memory Data Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Channel Command (WO) * Selected Upon Reset Figure 7. Channel Command/Address Register 15 Address: 00001 IIII 0 0 0 0 0 0' 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 Asynchronous 1 Extsmal Synchronous 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Isochronous Asynchronous with CV Monosync Blsync HOLC 'Iiransparent BIsync NB IP· 802,3 Reserved Reserved Reserved Reserved Reserved Reserved Receiver Mode Ax Submode 0 Ax Submode 1· Ax Submode 2 RxSlbmode3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Asynchronous Reserved Isochronous Asynchronous with cv Monosync'. BIsync HOLC Transparent BIsync NBIP 802,3 Reserved Reserved Slaved Monosync Reserved HOLC Loop Reserved "'" Transmitter Mode TxSlbmodeO . TxSubmode 1 TxSubmode2 . Tx Submode 3 Fi~ure 8. Channel Mode Register ., 16 Address: 00001 IIII 0 0 0 1 1 0 1 0 1 0 0 0 16X Data Rate } 32X Data Rate 64X Data Rate Reserved Asy nchronous} Receiver Mode Rx Clock Rate Reserved Reserved 0 0 0 1 1 o o o 1 1 t o 1 0 1 0 1 0 0 0 16X Data Rate } 32X Data Rate 64X Data Rate Reserved One Stop Bn Two Stop Bits } One Stop Bit, Shaved Two Stop Bits, Shaved ASYnchronouS} Transmitter Mode ' Tx Clock Rate TxStop Bits Figure 9. Channel Mode Register, Asynchronous Mode Address: 00001 External Sync } Receiver Mode Reserved 000 R ed } eserv Transmitter Mode L.._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 'Reserved Figure 10. Channel Mode Register, External Sync Mode 17 Address: 00001 -- I II I I 0 0 0 1 lsoch ronous 0 0 0 1 IsochronouS} Receiver Mode Reserved } 1roosmhler Mode Reserved Tx Two Slop Bits Reserved Figure 11: Channel Mode Register, Isochronous Mode Address: 00001 I I I I 0 0 1 1 Asynchronous wilh CV } Ax Extended Word Reserved 0 0 1 1 Asynchronous wilh CV } ~::milter CV Polarity Tx Extended Word o o 1 1 o 1 o 1 OneStopBtt } Two Stop Bits No Slop Bh Reserved Tx Slop Bits Figure 12. Channel Mode Register, Asynchronous Mode . with Code Violation (MIL STD 1553) 18 Receiver Mode Address: 00001 -r-- ~ onosync} Receiver Mode Ax Short Sync Character Ax Sync Strip Reserved 0 1 0 0 M onosync } Transmitter Mode Tx Short Sync Character Tx Preamble Enable Reserved Tx CRC on Underrun Figure 13. Channel Mode Register, Monosync Mode Address: 00001 -- II II 0 1 0 1 Bisync} Receiver Mode Ax Short Sync Character Ax Sync Strip Reserved 0 1 0 1 Bi sync } Transmitter Mode Tx Short Sync Character Tx Preamble Enable o o o 1 1 o 1 1 ~~~/SYNI CRC/SYNI CRClSYNO/SYNI } Tx Unde"."n Condition Figure 14. Channel Mode Register, Bisync Mode 19 Address: 00001 IIII 1 . 1 0 0 HOLC} Receiver Mode 0 0 0 Disabled 1 1 1 0 One Byt&. No Control One Byte. Plus Control } Extended, f'II!s Control 1 RxAddress Search Mode Rx IS-BH Control Rx logical Control Enable 1 0 1 HOLC } 0 Transmitter Mode Shared Zero Flags Tx Preamble Enable ~1 0~ Flag ~~ed Abort } Condition ~ 1 1 CRC/FIag Figure 15. Channel Mode Register, HDL~ Mode Address: 00001 III I 0 1 1 1 11ransparent BisynC} Mode Receiver EBCDIC Reserved 0 1 1 Transparent Bisync } ;:;!"'ltter 1 EBCDIC Tx Preamble Enable ~ ~ g~~SYN } Tx • 1 0 CRC/sYN lkIderrlll 1 1 CRCIDLEISYN Condition Figure 16. Channel Mode Register, Transparent Bisync Mode 20 Address: 0000,1 IIII 1 0 0 1 1 0 1 0 1 0 0 0 16X Data Rale } 32X Data Rate ji4X Data Rate Reserved Receiver Mode NBI P } Ax Clock Rate Rx Parity on Data Reserved 1 0 0 1 1 0 1 0 1 0 0 0 NBIP } Transmitter Mode 16X Data Rate} 32X Data Rate Tx Clock Rate 64X Data Rate Reserved Tx Parity on Data Tx Address Bit Figure 17. Channel Mode Register, NBIP Mode Address: 00001 I I I .I 1 0 0 1 802. 3} Receiver Mode Ax Address Search Reserved 1 0 0 1 802 3 } . Transmiller Mode Reserved Tx CRC on Underrun Figure 18. Channel Mode Register, 802.3 Mode 21 Address: 00001 I 1 1 0 SlaVed Monosync } 0 r III 1 1 0 0 Re TransmHter Mode Tx Shot! Sync Character Tx Active on Received Sync Reserved Tx CRC on Undlll1U1 Figure 19. Channel Mode Register, Slaved Monosync Mode Address: 00001 " " I 1 1 1 0 HOLC Loop } IIII 1 1 1 0 Reserved} ReosIver Mode Reserved TransmHter Mode Shared·Zero Flags Tx Active on PoD g1 0~ ~~ Abort} Condition Tx Uncle,..., 1 1 Rag CRClAag , Figure 20. Channel Mode Register, HDLC Loop Mode 22 Address: 00010 ~ 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 " b } 4 Bits 0 1 1 1 0 SBlts SBits 7 Bits 1 fTxACK (RO) Saits 1 Bit 2 Bits 1 1 IRxACK(RO) HOLC Tx Last Character Length Reserved Loop Sending (RO) On Loop (RO) 0 0 1 1 0 1 0 1 Both Edges Rising Edge Only } Falling Edge Only Adjust/Sync Inhibit OP~ Adjust! Sync Edge Ctock Missed Latched/Unlatch Clocks Missed LatchedlUnlatch OP~ in Sync/Cluick Sync RCC FIFO Clear (WO) RCC FIFO Valid (RO) RCC FIFO OVerflow (RO) Figure 21. Channel Command/Status Register 23 Address: 00011 I 0 0 1 1 0 1 0 1 I Reserved Wait for Rx OMA Trigger i No Status Block } One Word Status Block Two Word Status Block Reserved Ax Status Block Transfer Tx Shaved Bit Length (Async Onfy) 0 0 1 1 0 1 0 All Zeros All Ones } Altemating 1 and 0 Altemating 0 and 1 1 TxPream~e "'I Pattern > (All Sync) 0 0 1 1 0 1 0 1 BBits 16 Bits } Bits 64 Bits 32 TxPream~e Length Reserved , o o 1 o 1 o 1 1 Wait for Tx OMA Trigger No Status Block } One Word Status Block Two Word Status Block Reserved Tx Status Block Transfer Figure 22. Channel Control Register Address: 00100 10151D14101310121D111D101 091 081 D71 osl osl 041 031 021 D1 IDOl I Reserved Figure 23. Primary Reserved Register Address: 00101 Reserved Figure 24. Secondary Reserved Register 24 Address: 00110 ~ Test Data <0> Test Data <1> Test Data <2> Test Data <3> Test Data <4> Test Data <5> Test Data <6> Test Data <7> Test Data <8> Test Data <9> Test Data <10> Test Data <11> Test Data <12> Test Data <13> Test Data <14> Test Data <15> Figure 25. Test Mode Data Register 25 00111 1015101+1310121011101°1091 OSI 071 061 OSI 041 031 021 011 DO I Addr~ss: f 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 11 1 1 1 1 I I' I, 0 ,0 0 ·0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 Q 0 0 0 1 1 1 0 1 1 0 0 0 1 1 0 1 1 Null Address Hgh Byte of Shifters CRCByteO CRCByte 1 Ax FIFO (Write) Clock Multiplexer Outputs CTRO and CTR1 Co~ers Clock Muldplexer Inputs DPLLState Low Byte of Shifters CRC Byte 2 CRC Byte 3 Tx FIFO (Read) ReS8Mld VO and Device status Latches 1 1 1 0 0 1 1 0 1 Internal 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 Reserved Reserved Reserved Reserved Reserved Reserved Rx Cooot Holding Register Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 ~aisy Chain Reserved Figure 26. Test Mode Control Register 26 Test Register Address Addiess: 01000 , 0 0 1 1 0 0 1 1 o o o 1 1 o 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 0 0 0 .0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 IAxC Pin Disabled } fTxC Pin DPLL OUtput BRGOOUtput BRG10Utput CTRO OUtput CTR10Utput Disabled IAxC Pin fTxC Pin DPLL OUtput BRGO OUtput } BRG10Utput CTRO Output CTR1 OUtput BRGO OUtput } BRG1 OUtput IAxC Pin fTxC Pin CTRO OUtput CTR10Utput IAxC Pin fTxC Pin CTRO OUtput } CTR10Utput IAxC Pin fTxC Pin Disabled Disabled } IAxC Pin fTxC Pin Disabled } Disabled IAxC Pin fTxC Pin 0 0 1 0 III RSourceecelve Clock TransmH Clock So...:e DPLLClock Source } BRGOCIock Source BRG1 Clock Source :CIOCk CTR1 Clock Source Figure 27. Clock Mode Control Register 27 Address: 01001 ~ 0 0 1 1 0 1 0 1 BRGO Enable BRGO Single CyclelCantinuous 3-State Output RxAcknowiedge Input } Output 0 Output 1 IRxACK Pin Control BRGl Enable BRGl Single Cycle/Continuous 0 0 1 1 0 0 1 1 0 0 0 1 0 1 1 1 0 1 0 1 3-State Output } Tx Acknowledge Input Output 0 Output 1 ~ml~ 0 1 0 NRZlNRZI Biphase-MarWSpace 1 Biphase-~evel 32x Clock Mode 16x Clock Mode } 8x Clock Mode } ffxAC K PinCantral DPLL Mode DPLLClock Rate Reserv~ Accept Code Violations, CTRl Rate Match DPLLICTRO o o o 1 1 1 o 1 32x Clock Mode 16x Clock Mode 8x Clock Mode 4x Clock Mode } CTROCI~ Rate Figure 28. Hardware Configuration Register 28 Address: 01010 ~ IV <0> IV <2> IV <3> IV <4> IV <6> IV <7> 0 0 0 0 1 1 '1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 - } Device Status VOStaIus Transmh Data Transmh SlalUs Receive Data Receive Status IV (RO) ModIfied Vector (RO) NoIUsed IV <4> (RO) IV <5> (RO) IV <6> (RO) IV <7.> (RO) Figure 29. Interrupt Vector Register '29 Address: 01 011 III 0 0 0 0 1 1 1 1 0 0 0 0 , 1 1 1 1 0 0 1 1 0 .0 1 1 0 0 1 1 0 0 1 1 o o 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 1 3-State Output } Rx Request Output Output 0 Output 1 1 0 1 0 1 0 1 0 1 ~tput} TxD Pin Control IRxREO Pln Control ITxREO Pin Control IDCD Pin Control ICTS Pin Control Figure 30. I/O Control Register 30 Input Pin Output } Rx Clock Rx Byte Clock Output SYNC Output BRGO Output BRG10utput CTRO Output DPLL Rx Output Input PIn' Tx Clock Tx Byte Clock Tx Complete Output BRGOOutputput BRG10utput CTR10utput DPLL Tx Out Tx Data Output } 3-State Output , Output 0 Output 1 3-State Output } Tx Request Output Output 0 Output 1 IDCD Input } IDCDI/SYNC Input Output 0 Output 1 ICTSlnput } ICTS Input Output 0 Output 1 ' 0 1 0 1 0 0 0 0 1 1 0 0 1 ITxC Pin Control . IRxC Pin Control Add'ess: 01100 ~ · Device Slatus IE VOStatus IE Transmh.Data IE TransmR Status IE ReceIve !,)ata IE Receive Status IE 0 0 1 1 0 1 0 1 NuDCommand NuUCommand Reset IE SeliE } IE Command (WO) Reserved 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 All VO Slatus and />boNe M Transmit Data and />boNe } Transmlt Status and />boNe ReceIve Data and />boNe ReceIve Status Only None VIS Level VIS NV DLC MIE Figure 31. InterrupJ Control Register 31 ---_. -.-~~-~ Address: 01101 Device Sbdus tP ItO Status IP Transmit Data IP Transmit Status IP ~yeDatalP Receive Status IP oo 1 1 0 1 0 Null Command } ResetlP and IuS Reset P SeIIP 1 IP Command (WO) Device Status IUS ItO Status IUS Transmit Data IUS Transmit Status IUS Receive Data IUS Receive Status IUS o o 1 1 0 1 0 1 Null Command } Null Command Reset IUS Set IUS IUS Command (WO) . , Figure 32. Daisy-Chain Control Register 32 01110 ' 1015101410131012101110101091091071081 os! 041 031021 01 100 1 Address: ~ BRGO ZC LatchedlUniatch BRG1 ZC LalchedlUniatch oPLL SYNC Latched/Unlatch RCC Ovet11ow LatchedAJnlatch ICTS(RO) ICTS LatchedAJnlatch IDCo(RO) lOCO LatchedlUniatch rrxREQ(RO) rrxREQ LatchedlUniatch IRxAEQ(RO) IRxREQ Latched/Unlatch ITxC (RO) ITxC Latched/Unlatch !AxC (AO) !AxC LatchedlUnlatch Figure 33. Miscellaneous Interrupt Status Register 33 Address: 01111 , BRGOZC IE BRGl ZC IE DPLLSYNC IE RCC Overflow IE o o 1 1 o o 0 0 1 1 0 0 1 1 o o () 1 1 o o o 1 o 1 1 o o o 1 1 1 o 1 1 1 o 1 0 1 0 1 1 Disabled } Rising edge Only Failing Edge Only Both Edges Disabled } Rising Edge Only Falling Edge Only Both Edges Disabled } Rising Edge Only Falling Edge Only Both Edges Disabled } Rising Edge Only Falling Edge Only Both Edges Disabled } Rising Edge Only Falling Edge Only Both Edges Disabled } Rising Edge Only Falling Edge Only Both Edges 0 1 0 1 1 IDCD Interrupts ITxREO Interrupts IRxREO Interrupts ITxC Interrupts IRxC Interrupts Figure 34. Status Interrupt Control Register 34 ICTS Interrupts Address: 1xOOO ~ RxDAT <0> (RO) RxDAT <1> (RO) RxDAT <2> (RO) RxDAT <3> (RO) RxDAT <4> (RO) RxDAT <5> (RO) RxDAT <6> (RO) RxDAT <7> (RO) RxDAT <8> (RO) RxDAT <9> (RO) RxDAT <10> (RO) RxDAT <11> (RO) RxDAT <12> (RO) RxDAT <13> (RO) RxDAT <14> (RO) RxDAT <15> (RO) Figure 35. Receive Data Register 35 Address: 10001 I I 0 0 1 t 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 01sable Immediately } Disable After Reception E nable Without Auto-Enables Enabla With Auto-Enables ' ,. } 8 Bits 1 Bit 2 Bits 4 Bits Ax Character Length 5 Bits 6 Bits 7 Bits Ax Parity Enable 0 0 0 1 1 1 0 1 Even} Odd Ax Parity Space Sense Mark Reserved Ax eRC Enable Ax CRC Preset V....e 0 0 1 1 o o o () o 1 o 1 o o 1 1 1 o o 1 o 1 1 1 o 1 1 1 0 1 0 1 CRC-CCITT } CRC-16 CRC-32 Reserved NAZ NRZB NAZI-Mark NAZI-Space Blphase-Mark Blphase-Space Blphase-Level OIH_ Biphase-Level AxCRC Polynomial ' Ax Data } Decoding Figure 36. Receive Mode Register 36 Rx Enable Address: 10010 ~ Rx Character Available (RO) Ax Overrun Parity Error CRClFraming Error (AO) Ax CVlEOTIEOF Ax Break/Abort Ax Iele ElCited Hunt Short FramelCV Polarity (RO) Residue Code 0 (RO) Residue Code 1 (RO) Residue Code 2 (RO) I I I I 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 Null Command Reserved Preset CRC Ent&r Hunt Mode ResOlVed Select FIFO Status Select FIFO Intenupt Level Select FIFO Request Level Reserved Reserved Reserved Reserved Reserved ResOlVed ResOlVed ......, Receive Comm and (WO) First Byte in Error (RO) Second Byte in Error (RO) Figure 37. Receive Command Status Register 37 Address: 10011 ,. ~ TCOR Read CoUnVTC RxOvenunlE Parity Error IE Status on Words Rx qV/EOT/EOF IE Rx BreakiAbort IE Rx Ide IE Ellited Hunt IE 1 Rx F;IFO Control and Status (FiIVlntenuptIDMA Level) Figure 38. Receive Interrupt Control Register Address: 10100 ~ RSYN RSYN<1> RSYN<2> RSYN<3> RSYN<4> RSYNo> RSYN<6> RSYN<7> RSYN<8> RSYN RSYN<10> RSYN<11> RSYN<12> RSYN<13> RSYN<14>, RSYN<1S> Figure 39. Receive Sync Register 38 Address: 10101 ~ . RCLcO:> RCL<1> RCL<3> RCLdi> RCL<8> RCL<9> RCL<11> RCL<12> RCL<13> RCL<14> RCL Figure 40. Receive Count limit Register - I 39 Address: 10110 RCC (RO) RCC<1> (RO) RCC <2> (RO) RCC <3> (RO) RCC <4> (RO) RCC <5> (RO) RCC <6> (RO) RCC <7> (RO) RCC <8> (RO) , RCC <9> (RO) RCC <10> (RO) RCC <11> (RO) RCC <12> (RO) RCC <13> (RO) RCC <14> (RO) RCC <15> (RO) Figure 41. Receive Character Count Register 40 Address: 10111 , .~ TCO TCO<2> TCO<3> TCO<4> TCO<5> TCO<6> TCO<7> TCO<8> TCO<9> TCO TCO<12> TC0<13> TCO <14> TCO <15> Figure 42. Time Constant 0 Register 41 Address: 1.000 ~ TxOAT <0> (WO) TxOAT <1> (WO) TxOAT <2> (WO) TxOAT <3> (WO) TxOAT <4> (WO) TxOAT <5> (WO) TxOAT <6> (WO) TxOAT <7> (WO) TxOAT <8> (WO) TxOAT <9:> (WO) TxOAT <10> (WO) TxOAT <11> (WO) TxOAT <12> (WO) TxOAT <13> (WO) TxOAT <14> (WO) TxOAT <15> (WO) Figure 43. Transmit Data Register 42 Address: 11001 II 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0, 0 1 1 0, 1 0 1 0 1 0 1 0 1 0 1 8 Bits iE!1I 2 Bits 3 Bits 4 Bits 5 Bits 6 Bits 7 Bits Disable Immeciately } Disable Alter Transmission Enable WIthout Auto-Enables Tx Enable Enable WIth Auto-Enables } Tx Character l.angth Tx Parhy Enable 0 1 0 1 0 0 1 1 ~} Space Mark Tx Parity Sense Tx CRC on EOF/EOM Tx CRC Enable Tx CRe Preset Value 0 0 1 1 0 0 0 1) 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 CRC-CCITT } CRC-i6 , CRC-32 TxCRC Polynomial ReseMKI NRZ NRZB NRZI-Mark NRZ~Space } Tx Data Biphase-Mark Blphase-Space Biphase-Level Din. Blphase-Level Enccding Figure 44. Transmit Mode Register 43 Address: 11010 ~ Tx Bufler Empty (RO) Tx Undenun AU Sent (RO) Tx CRC Sent Tx EOFIEOT Sent Tx Abort Sent Tx Idle Sent Tx Preamble Sent 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 ~} Alternating 1 and 0 All Zeros AU Ones Reserved , Alternating Mark and Space' Space Mark Tx Idle Une Condition Reserved 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 Null Command Reserved Preset CRC Reserved Reserved Select FIFO Status Select Interrupt Level Select Request Level Send Frame/Message Send Abort Reserved Reserved Reset OLE Inhibit Set OLE Inhibit Reset EOF/EOM SetEOFIEOM Transmit Command (WO) Figure 45. Transmit Command/Status Register 44 Address: 11011 TC1 R Read CountITC TxOv....... IE Walt lor Send Commend Tx CRC Sent IE Tx EOFt!:OT Sent IE Tx Abort Sent IE Tx l TSYN<1> TSYN<2> TSYN<3> TSYN<4> TSYN<6> TSYN<7> TSYN<8> TSYN TSYN<10> TSYN<11> TSYN<13> TSYN<14> TSYN<1S> Figure 47. Trans~1t Sync Register 45 ~--- '.'" .-" "' " " .. , Address: 11101 Irn~~rn~rn~rnllrn~ooloolrol~I~1~lool~lrnlool ~ TCl TCl<1> TCl<2> TCL<3> TCl<4> TCL TCl<6> TCl<7> TCl<8> TCl <9> TCl<10> TCl <11> TCl <12> TCl <13> . TCl<14> Figure 48. Transmit Count Limit Register 46 Address: 11110 ~ TCC <0> (RO) TCC<1> (RO) TCC <2> (RO) TCC <3> (RO) TCC <4> (RO) TCC <5> (RO) TCC <6> (RO) TCC <7> (RO) TCC <8> (RO) TCC <9> (RO) TCC <10> (RO) TCC <11> (RO) TCC <12> (RO) TCC <13> (RO) TCC <14> (RO) TCC <15> (RO) Figure 49. Transmit Character Count Register . 47 Address: 11111 ~ TC1 <1> TC1 <2> TC1 <3> TC1 <4> TC1 <6> TC1 <7> TC1 <8> TC1 <9> TC1 <10> TC1 <11> TC1 <12> TC1 <13> TC1 <14> TC1 <15> Figure 50. Tline Constant 1 Register 48 Address: None .. ~ RCCRxOVellUl Parity Error CRC Error Rx CVIEOTIEOF o o o , Short FramaiCV Polarity Residue Code 0 Residue Code 1 Residue Code 2 o o First Byte In Error Second Byte in Error .. Refer to FIgure 22 (Channel Control Register) Bits r;. 7 for Access Method Figure 51. Receive Status Block Register 49 Address: None • I I I L,~. 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0' 4 Bits 1 1 0 1 SBits 1 BH 2 Bits 1 1 1 5 Bits 6 Bits 7 Bits Reserved } HOLC Tx Last character Length Reserved Tx Submode 0 Tx Submode 1 Tx Submode 2 Tx Submode 3 • Refer to Figure 22 (Channel Control Register) B"sI5-14 for Access Method Figure 52. Transmit Status Block Register Address: None 1015101410131012101110101091081071061051041031 D21 01 I DO 1 I~ Shift Right Addresses Ooubl<>-Puise INTACK 16-BitBus o• Reserved 3-State All Pins Separate Address for 8-Bit Bus • Must be programmed as,zero. Figure 53. Bus Configuration Register USC TIMING The USC interface timing is similar to that found on a static RAM, except that it is much more flexible. Up to eight separate timing strobe signals may be present on the interface .. IDS, IRD', IWR, IPITACK, IRxACKA. IRxACKB, /TxACKA and ITxACKB, Only one of these timing strobes may be active at any time Should the, external logic 50 i;lctivate more than one of these strobes at the same time the USC will enter a pre-reset state that is only exited by a hardware reset. Do not allow overlap of timing strobes. Tile timing diagrams, beginning on the next page, illustrate the different bus transactions possible, wittl the necessary setup, hold and delay times. ABSOLUTE MAXIMUM RATINGS Voltages on all pins with respect to Vss .................................. -0.3 V to +7.0 V Voltages on all iflputs with respect to Vss ........................... -0.3V to Vcc +0.3V Operating Ambient Temperature ............................ See Ordering Information Storage Temperature ............................. -65°C to + 150°C Stresses greater than those listed under Absolute Maximum Ratings may cause permanent damage to the device This is a stress rating only; operation of the device at any condition above those indicated in the operational sections of these specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. STANDARD TEST CONDITIONS +5V The DC Characteristics and Capacitance section below "apply for the following standard test conditions, unless otherwise noted. All voltages are referenced to GND. Positive current flows into the referenced pin. Standard conditions are as follows: 2K +4.5 V < Vee < +5.5 V . GND =OV TA as specified in Ordering Information Figure 54. Standard Test load CAPACITANCE Symbol Parameter Input Capacitance Output Capacitance Bidirectional Capacitance Min Max Unit 10 15 pi pf pi 20 Condition Unmeasured Pins Returned to Ground Note: f= 1MHz, over specified temperature range. Unmeasured pins returned to ground MISCELLANEOUS Transistor Count - 174,000 51 DC CHARACTERISTICS Z16C30 $ymbol' Parameter Min V... VIl. VOH 1 VoH 2 Input High Voltage Input Low Voltage Output High Voltage Output High Voltage yO\. Output Low Voltage Input Leakage Output Leakage Vcc Supply Current III 10\. Icci Typ 22 -0.3 2.4 Vcc-0.8 7 Max Unit Vcc+0 .3 0.8 V V V V 0.4 ±1O.00 ±10.00 50 V Condition IOH= -1.6mA IOH= -250 jJA rnA 10\.= +2.0 rnA 0.4 < VIN < +2.4V 0.4 < VOIJf < +2.4V Vcc=5V V...= 4.8V VIL= 0.2V Max jJA jJA Note: Vcc= 5V ± 10% unless otherwise specified, over specified temperature range. AC CHARACTERISTICS Z16C30 No Symbol Parameter· Min 1 2 3 4 Tcyc TwASI TwASh TwDSI Bus Cycle Time lAS Low Width lAS High Width IDS Low Width 160 40 5 6 7 8 TwDSh TdAS(DS) TdDS(AS) TdDS(DRa) IDS High Width lAS Rise to IDS Fall Delay Time IDS Rise to lAS Fall Delay Time IDS Fall to Data Active Delay 9 10 11 12 TdDS(DRv) TdDS(DRn) TdDS(DRz) TsCS(AS) IDS Fall to Data Valid Delay IDS Rise to Data Not Valid Delay IDS Rise to Data Float Delay ICS to lAS Rise Setup Time 13 14 15 16 ThCS(AS) TsADD(AS) ThADD(AS) TsSIA(AS) 17 18 Units 70 ns ns ns ns 60 5 5 0 ns ns ns ns 90 , 15 ns ns ns ns ICS to lAS Rise Hold Time Direct Address to lAS Rise Setup Time Direct Address to lAS Rise Hold Time ISITACK to lAS Rise Setup Time 0 15 5 15 ns ns ns ns 20 ThSIA(AS) TsAD(AS) ThAD(AS) TsRW(DS) ISIT ACK to lAS Rise Hold Time Address to lAS Rise Setup Time Address to lAS Rise Hold Time R//W to IDS Fall Setup Time 5 15 5 0 ns ns ns ns 21 22 23 24 ThRW(DS) TsDSf(RRQ) TdDSr(RRQ) TsDW(DS) R//W to IDS Fall Hold Time IDS Fall to IRxREQ Inactive Delay IDS Rise to /RxREQ Active Delay Write Data to IDS Rise Setup Time 25 25 26 27 28 ThDW(DS) TdDSf(TRO) TdDSr(TRQ) TwRDI Write Data to IDS Rise Hold Time IDS Fall to /TxREQ Inactive Delay IDS Rise 10 /TxREQ ACtive Delay IRD LowWidlh 0 19 52 85 0 20 60 0 30 65 0 70 ns ns ns ns ns ns ns ns Note [ 1] [1] [4] [5] AC CHARACTERISTICS Z16C30 No Symbol Parameter Min 29 30 31 32 TwRDh TdAS(RD) TdRD(AS) TdRD(DRa) IRD High Width lAS Rise to IRD Fall Delay Time IRD Rise to lAS Fall Delay Time IRD Fall to Data Active Delay 60 33 34 35 36 TdRD(DRv) TdRD(DRn) TdRD(DRz) TdRDf(RRO) IRD Fall to Data Valid Delay IRD Rise to Data Not Valid Delay IRD Rise to Data Float Delay IRD Fall to IRxREO Inactive Delay 37 38 39 40 TdRDr(RRO) TwWRI TwWRh TdAS(WR) IRD Rise to IRxREO Active Delay /WR Low Width IWR High Width lAS Rise to /WR Fall Delay Time 0 70 60 5 ns ns ns ns 41 42 43 44 TdWR(AS) TsDW(WR) ThDW(WR) TdWRf(TRO) /WR Rise to lAS Fall Delay Time Write Data to /WR Rise Setup Time Write Data to /WR Rise Hold Time /WR Fall to /TxREO Inactive Delay 5 30 0 ns ns ns ns [5] 45 46 47 48 TdWRr(TRO) TsCS(DS) ThCS(DS) TsADD(DS) /WR Rise to /TxREO Active Delay ICS to IDS Fall Setup Time ICS to IDS Fall Hold Time Direct Address to IDS Fall Setup Time 0 0 25 5 ns ns ns ns [2] [2] [1,2] 49 50 51 52 ThADD(QS) TsSIA(DS) ThSIA(DS) TsCS(RD) Direct Address to IDS Fall Hold Time ISIT ACK to IDS Fall Setup Time lSI TACK to IDS Fall Hold Time ICS to IRD Fall Setup Time 25 5 25 0 ns ns ns ns [1,2] [2] [2] [2] 53 54 55 56 ThCS(RD) TsADD(RD) ThADD(RD) TsSIA(RD) ICS to IRD Fall Hold Time Direct Address to IRD Fall Setup Time Direct Address to IRD Fall Hold Time lSI TACK to IRD Fall Setup Time 25 5 25 5 ns ns ns ns [2] [1,2] [1,2] [2] 57 58 59 60 ThSIA(RD) TsCS(WR) ThCS(WR) TsADD(WR) ISITACK to IRD Fall Hold Time ICS to /WR Fall Setup Time ICS to /WR Fall Hold Time Direct Address to IWR Fall Setup Time 25 0 25 5 ns ns ns ns [2] [2] [2] [1,2] 61 62 63 64 ThADD(WR) TsSIA(WR) ThSIA(WR) TwRAKI Direct Address to /WR Fall Hold Time ISITACK to /WR Fall Hold Time IRxACK Low Width 25 5 25 70 ns ns ns ns [1,2] [2] [2] 65 66 67 68 TwRAKh TdRAK(DRa) TdRAK(DRv) TdRAK(DRn) fRxACK IRxACK IRxACK IRxACK 60 ns ns ns ns 69 70 71 72 TdRAK(DRz) TdRAKf(RRO) TdRAKr(RRO) TwTAKI IRxACK Rise to Data Float Delay IRxACK Fall to IRxREO Inactive Delay IRxACK Rise to IRxREO Active Delay ITxACK Low Width ISIT ACK to /WR Fall Setup Time High Width Fall to Data Active Delay Fall to Daia Valid Delay Rise to Data Not Valid Delay Max Note ns ns ns ns 5 5 0 85 0 20 60 65 0 85 0 20 60 0 70 Units ns ns ns ns ns ns ns ns [4] [4] 53 AC CHARACTERISTICS Z16C30 No Symbol Parameter Min 73 74 75 76 TwTAKh TsDW(TAK) : ThDW(TAK) TdTAKf(TRQ) ITxACK High Width Write Data to ITxACK Rise Setup Time 60 30 0 77 78 79 80 TdTAKr(TRQ) TdDSf(RDY) TdRDY(DRv) TdDSr(RDY) ITxACK Rise to /TxREQ Active Delay IDS Fall (INTACK) to IRDY Fall Delay IRDY Fall to Data Valid Delay IDS Rise to IRDY Rise Delay 81 82 83 84 TsIEI(DSI) ThIEI(DSI) TdIEI(IEO) TdAS(IEO) lEI to IDS Fall (INTACK) Setup Time lEI to IDS Rise (INTACK) Hold Time lEI to lEO Delay lAS Rise (Intack) to lEO Delay 85 86 87 88 TdDSI(INT) TdDSI(Wf) TdDSI(Wr) TdW(DRv) 89 90 91 92 Write Data t6 /TxACK Rise Hold Time ITxACK Fall to /TxREQ Inactive Delay Max Units Note 65 ns ns ns ns, [5] 0 40 40 ns ns ns ns 60 60 ns ns ns ns IDS Fall (INTACK) to liNT Inactive Delay IDS Fall (INTACK) to /WAIT Fall Delay IDS Fall (INTACK) to IWAIT Rise Delay IWAIT Rise to Data Valid Delay 200 40 200 40 ns ns ns ns TdRDf(RDY) TdRDr(RDY) TsIEI(RDI) ThIEI(RDI) IRD Fall (INTACK) to IRDY Fall Delay IRD Rise to IRDY Rise Delay lEI to IRD Fall (INTACK) Setup Time lEI to fRD Rise (INTACK) Hold Time 200 40 ns ns ns ns 93 94 95 96 TdRDI(INT) TdRDI(Wf) TdRDI(Wr) TwPIAI fRD Fall (INTACK) to liNT Inactive Delay IRD Fall (INTACK) to /WAIT Fall Delay IRD Fall (INTACK) to /WAIT Rise Delay IPITACK Low Width 200 40 200 70 ns ns ns ns 97 98 99 100 TwPIAh TdAS(PIA) TdPIA(AS) TdPIA(DRa) IPITACK lAS Rise IPITACK {PITACK 60 5 5 0 ns ns ns ns 101 102 103 104 TdPIA(DRn) TdPIA(DRz) TsIEI(PIA) ThIEI(PIA) IPIT ACK Rise to Data Not Valid Delay 105 106 107 108 TdPIA(IEO) TdPIA(INT) TdPIAf(RDY) TdPIAr(RDY) {PITACK {PIT ACK {PITACK IPITACK 109 110 111 112 TdPIA(Wf) TdPIA(Wr) TdSIA(INT) TwSTBh IPIT ACK Fall IPITACK Fall {SITACK Fall IStrobe High 113 114 115 116 TwRESI TwRESh Tdres(STB) TdDSf(RDY) {RESET Low Width IRESET High Width {RESET Rise to {STB Fall IDS Fall to {RDY Fall Delay 54 High Width to IPITACK Fall Delay Time Rise to lAS Fall Delay Time Fall to Data Active Delay {PITACK Rise to Data Float Delay lEI to {PITACK Fall Setup Time lEI to IPITACK Rise Hold Time 200 60 0 60 0 0 20 60 0 Fall to lEO Delay Fall to liNT Inactive Delay Fall to {RDY Fall Delay Rise to IRDY Rise Delay to /WAIT Fall Delay to /WAIT Rise Delay to lEO Inactive Delay Width ns ns ns ns 60 200 200 40 ns ns ns ns 40 200 200 ns ns ns ns 60 170 60 60 50 ns ns ns ns [2] [3] [3] AC CHARACTERISTICS Z16C30 No Symbol Parameter Max Units 117 118 119 120 TdWRf(RDY) TdWRr(RDY) TdRDf(RDY) TdRAKf(RDY) /WR Fall to /RDY Fall Delay /WR Rise to /RDY Rise Delay /RD Fall to /RDY Fall Delay /RxACK Fall to /RDY Fall Delay Min 50 40 50 50 ns ns ns ns 121 122 123 TdRAKr(RDY) TdTAKf(RDY) TdTAKr(RDY) /RxACK Rise to /RDY Rise Delay /TxACK Fall to /RDY Fall Delay /TxACK Rise to /RDY Rise Delay 40 50 40 ns ns ns Note Notes: [1] Direct address is any of A/IB. DIIC or AD15-AD8 used as an address bus. [2] The parameter applies only when fAS is not present. [3] Strobe (/STB) is any of /OS, fRO, /WR, tpITACK, /RXACK or /TxACK. [4] Parameter applies only if read empties the receive FIFO. [5] Parameter applies only if write fills the transmit FIFO. TIMING DIAGRAMS , IRESET I 113 J i\. ~ i\. ISTB 115 Figure 55. Reset Timing ISTB Note: fSTB is any of /OS, fRO. /WR, tpITACK, /RXACK, or /TxACK. Figure 56. Bus Cycle Timing 55 /RxACK AD15-ADO --------11+----~ IRxREQ IWAITIIRDY (Walt) IWAIT/tRDY (Ready) Figure 57. DMA Read Cycle " ITxACK J 13 72 :( ) AD15-ADO -® 74 J\ I ITxREQ foo~ ~ IWAITIIRDY (Wait) IWAITIIRDY (Ready) J J \ \ I 22 Figure 58. DMA Write Cycle 56 123 '-- ): /CS , lK ®-~ 13 )t AllB,OllC l( ®-~ -® jr- ISITACK ®-~ --, \ lAS \ -® '-0~ .~ \ 7 3 1 I RlIW \ @-~ ~--® ~~ IDS 11 4 l ) A015-ADO 3 ~~ ®- ... --8 ... '"--@- 11 9 ) IRxREQ \. ~~ 22 IWAITIIROY (Wait) '- ') . 1 11 5 J ( IWAlTIIROY (Ready) J ) 18 111 ~ r Figure 59. Multiplexed IDS Read Cycle 57 /CS IK >- ®-~ K ) AlIB.OIIC -® ®-~ j ISITACK -® ~ .' ®-~ lAS --,~ liJ 1-0RlIW 17 , ~ r--cv@H- c IDS 7 1 / , I 21 ~ l~ 5 4 )~ ~-- A015-AOO K ) -@ i1A ~ I ITxAEQ ~+-@-- .@y IWAITIIROY (Wait) J IWAtTI/ROY (Ready) J 16 I r I . FiIJure 60. Multiplexed IDS Write Cycle 58 f-®r- K ~ )~ ®-I- ICS lK o@) K )r AlIB.DIIC @-r- 15 ) ISITACK i\ ®-:..lAS --,~ 17 J\ 'I :J ~ ~ 31 1 J, lAD ./ 2B ) AD1S-ADO @-- ~-@ ~~ ... --@33 j IAxREQ \ -® IWAITIIRDY (Wait) IWAITt/RDY (Ready) '- ) :31 J ,] 29 roof----@-- J J I 119 19 ~ Figure 61. Multiplexed fRO Read Cycle 59 ICS K >- @-f- 13 ) .. AlIB,DIIC J( @-f- 15 ~ I ISITACK ®--flAS -'r\ 17 II ~ \ ~ f--%- 41 1 oj \ IWR 39 38 ) AD1S-ADO 18 [( >- -) ISITACK RlIW \ 51 \ ®-- 2t ~ IDS ~ J 4 6 1 )r A015-ADO r- --®::~ 8 9 l\ I IRxREQ ro~ --®IWAlTIIROY (Walt) IWAlTIIROY (Ready) J J ) ~ I I 79 ~ Figure 63. Non-Multiplexed IDS Read Cycle / 61 .K .K ) ICS ®-f/ AIIB,DIIC ) ®-f- 49 l\ I ISITACK ®-f.-. 51 '\ RlIW 47 / ®-t- 21 ~ l ~ IDS 5 4 1 ) AD15-ADO l( ~ ---®--- I ITxREQ ~ IWAITI/RDY (Wait) IWAITI/RDY (Ready) J J \ ~~ .~ Figure 64. Non-Multiplexed IDS Write Cycle 62 J ---®- , K )1 ICS @-- 53 )1 NIB.DIIC K @-- J ISITACK ®-IRD 55 , , ~ 57 ~ l 28 29 1 )1 AD1S-ADO .~ 32 , 33 J IRxREQ \ .-®- --®-/wAITIIRDY (Wait)· /wAIT/tRDY (Ready) J J ) ~ I 711 -®- Figure 65. Non-Multiplexed IRD Read Cycle 63 K )l ICS @-- 59 lK )1 AlIB, DIIC @-- 61 I ISITACK \ @-- 63 ~ IWR ~ / 39 38 ~ ) AD15-ADO ) --@-- -®---- J ITxREQ ~ IWAITIIRDY (Wait) J IWAITIIRDY (Ready) J \ .. --®-- h9----I Figure 66. Non-Multiplexed IWR Write Cycle 64 J ---@-- /'AS ISITACK IDS ADl5-ADO IWAITIIRDY (Wait) IWAITIIRDY (Ready) lEI lEO liNT Figure 67. Multiplexed IDS Interrupt Acknowledged Cycle 65 lAS ISITACK IRD AD15-ADO IWAITIIRDY . (Wait) IWAITIIRDY (Ready) lEI 1---(92)---./ lEO liNT Figure 68. Multiplexed IRD Interrupt Acknowledge Cycle 66 lAS IPITACK ~--------~~r---------~ ADl5-ADO IWAITIIRDY (Wait) IWAITIIRDY (Ready) lEI lEO liNT Figure 69. Multiplexed Pulsed Interrupt Acknowledge Cycle 67 ISITACK .. IDS ADl5-ADO IWAITI/ROY (Wait) IWAITI/ROY (Ready) lEI lEO liNT Figure 70. Non-Multiplexed IDS Interrupt Acknowledge Cycle 68 ISITACK IRD AD15-ADO IWAITIIRDY (Wait) IWAITIIRDY (Ready) lEI lEO liNT Figure 71. Non-Multiplexed Pulsed Interrupt Acknowledge Cycle 69 IPITACK .....--------{1 , l - - - - - I H - - - - - - . - J ~D15-ADO 1-+---{II00~--t IWAITIIRDY (Ready) lEI lEO liNT IWAITIIRDY (Wait) Figure 72. Non-Multiplexed lAD Interrupt Acknowledge CYcle 70 lAS IPITACK (2-Pulse) AD15-ADO IWAITIIRDY (Ready) IWAITIIRDY (Wait) lEI lEO liNT Figure 73. Multiplexed Double-Pulse Intack Cycle 71 IPITACK (2-PUIse) i - - - - ( ! " ' } - -. . . A01~ADO ----------~~--------------~------_+~----_a IWArTl/ROY (Ready) IWArTl/ROY (Wait) lEI lEO liNT Figure 74. Non-Multiplexed Double-Pulse Intack Cycle 72 {RxC, fTxC Receive RxD {DCDas {SYNC External fTxC,{RxC Transmit TxD {RxC fTxC {CTS, {DCD {DCDas {SYNC Input >e. \ \ en ~ \ \ r r C1LJ C1LJ Figure 75. Z16C30 General Timing 73 AC CHARACTERISTICS Z16C30 General Timing No Symbol Parameter , 1 2 3 4 TsRxD(RxCr) ThRxD,(RxCr) TsRxd(RxCf) ThRxD(RxCf) RxD RxD RxD RxD 5 6 7 TsSy(RxC) ThSy(RxC) TdTxCf(TxD) TdTxCr(TxD) lOCO as ISYNC to IRxC Rise Setup Time lOCO as ISYNC to IRxC Rise Hold Time (x1 Mode) 8 9 10 11 12 TwRxCh TwRxCI TcRxC TwTxCh 13 14 15 16 TwTxCI TcTxC TwExT TWSY' 74 to IRxC Rise Setup Time (x1 Mode) to IRxC Rise Hold Time (x1 Mode) to IRxC Fall Setup Time (x1 Mode) to IRxC Fall Hold Time (x1 Mode) Min Units . Note 0 40 0 40 ns ns ns ns [1] [1] [1,3] [1,3] 0 40 ns ns ns ns [1] [1] [2] [2,3] /TxC Fall to TxD Delay 50 50 ITxC Rise to TxD Delay IRxC High Width IRxC Low Width IRxC Cycle Time Max /TxC High Width 40 40 100 40 ns ns ns ns ITxC Low Wicjth /TxC Cycle Time lOCO or ICTS Pulse Width lOCO as ISYNC Input Pulse Width 40 100 70 70 ns ns ns ns IRxC,rrxC Receive IRxREO Request IRxCas Receiver Output liNT IRxC,rrxC Transmit rrxREO rrxCas Transmitter Output liNT ICTS, lOCO, rrxREO, IRxREO __________~K~-------------------- liNT I Figure 76. Z16C30 System Timing 75 AC CHARACTERISTICS Z16C30 System Timing No Symbol Parameter 1 2 3 TdRxC(REO) TdRxC(RxC) TdRxC(INT) 4 5 6 TdTxC(REO) TdTxC(TxC) TdTxC(INT) TdEXT(INT) 7 Max Units Note IRxC Rise to /RxREO Valid Delay /TxC Rise to IRxC as Receiver Output Valid Delay IRxC Rise to liNT Valid Delay 100 100 100 ns ns ns [2] 121 [2] /TxC Fall to ITxREO Valid Delay 100 100 100 ns ns ns [?] 100 ns IRxC Fall to /TxC as transmitter Output Valid Delay /TxC Fall to liNT Valid Delay ICTS, lOCO, /TxREO, IRxREO transition to liNT Valid Delay Noles: [ll/RxC is /RxC or rrxC, whichever is supplying the receive clock. [21 rrxC is rrxC or /RxC, whichever is supplying the transmit clock. [3) Parameter applies only to FM encoding/decoding. 76 Min [2] ~ZiIill ADVANCE INFORMATION PRELIMINARY PRODUCT SPECIFICATION Z16C31 IUSC INTEGRATED UNIVERSAL SERIAL CONTROLLER FEATURES • • • • • • • • • • • Full-duplex multiprotocol serial controller • Two full-capability DMA channels Flexible adaptation to various system buses Serial data rates to 10M bits/second Serial modes include Asynchronous, Bisync, SDLC, HDLC, Ethernet, 1553B, and 9-Bit. Two baud rate generators Digital phase-locked loop for clock recovery Receive and Transmit Time Slot Assigners for ISDN applications. Eight general-purpose I/O lines plus Carrier Detect and Clear to Send. Transmit and receive frame-length counters, independent of the DMA facility. Async features include false-start filtering, stop bit length programmable by 1/16 bit steps, parity generation/checking, break generation/detection. • • • • • • • • • HDLC/SDLC features include 8-bit address checking, extended address support, 16/32 bit CRC, programmable idle state, auto preamble option, loop mode. Sync features include 2- to 16-bit sync, sync-strip option, 16/32 bit CRC, programmable idle state, auto preamble option, X.21 transmitter/receiver slaving. Automatic control character recognition in Transparent ' Bisync mode. 32-byte transmit and receive FIFOs between serial controller and DMA channels. DMA modes include single block, buffered, arraychained, and link-chained. Programmable throttling of DMA bus occupancy 16/32 bit addressing, 8- or 16-bit data Flexible interrupt and bus-arbitration modes, interrupt and bus-acknowledge daisy-chains. High speed, low power CMOS technology 68-pin PLCC 77 GENERAL DESCRIPTION . The IUSC (Integrated Universal Serial Controller) is a single-channel multiprotocol data communications device with on-chip OMA designed for use with any conventionill multiplexed or non-multiplexed bus The IUSC functions as a serial-to-parallel, parallel-to-serial converter/controller and is software configured to satisfy a wide variety of serial communications applications under OMA cOl)trol. The device contains a variety of sophisticated internal functions including two baud rate generators, a digital phase-locked loop, character counters for both receive and transmit, 32-byte FIFOs for both the receiver and transmitter and a two-channel, 32-bit OMA controller. The IUSC handles a wide variety of formats including asynchronous, synchronous byte-oriented (e.g. BISYNC), and synchronous bit-oriented formats such as SOLC and HOLC. The IUSC can generate and check CRC in any synctlronous mode and is programmed to check data integrity in various modes The IUSC also has facilities for modem controls. In applications where these controls are not needed, the modem controls may be used for generalpurpose I/O Interrupts are supported by a daisy-chain hierarchy within the serial channel and between the serial.channel a,nd the. OMA. There are no interrupts associated with the a-bit port. The on-Chip OMA channels allow higll-speed data transfers for both the receiver and the transmitter, The device supports automatic status transfer via OMA and allows device initialization under OMA control. Each OMA channel provides for 32-bit addresses and a 16-bit transfer length, The OMA channels may operate in any of four modes: normal, buffered, array-chained, or linked arraychained. The OMA bus mastership time may be limited, under program control, as to the absolute number of clock cycles, or the number of bus transactions, or both. This prevents the IUSC from hogging the bus. Note: All Signals with a preceding front slash, .1", are active Low e.g.; BIIW (WORD is active Low); IBIW (BYTE is active Low, only); INIIS (NORMAL and SYSTEM are both active Low). Host Processor Serial Clock Logic DPLL Counters BRGO, BRG1 Figure 1.IUSC Block Diagram 78 Receiver VDD AD15:0 CLK IRESET IUAS ICS lAS DIIC IDS SliD IRD !WR !Wait//RDY RI!W BI!W IINTACK lEI . Z16C31 IUSC liNT lEO IBUSREQ IABORT IBIN IBOUT IAxC IRxREQ /TxC TxREQ TxD "RxD ICTS lOCO Port 7:0 VSS Figure 2. Logic Symbol 79 IABORT liNT lEI lEO IBIN IBUSREQ eLK IBOUT GND GND vee' ADO AD1 AD2 AD3 AD4 vee ADS Z16C31 IUSC AD9 AD10 AD11 AD12 AD13 AD14 AD15 GND (Top View) ADS AD6 AD7 GND vee vee IRxREQ ~44 PORT7 Note: Power connections follow Conventional desaiptions below Connection Circuit Device Power Ground Vee Voo Vss GND Figure 3. Packaging PIN DESCRIPTIONS IRESET. Reset (input, active Low). A low on this line will place the IUSC in a known, inactive condition. /RESET should be driven low as soon as possible during power-up, and as needed thereafter when restarting the overall system or the communications subsystem. CLK. System Clock (input). This Signal is the timing reference for the DMA and bus interface logic. (The serial controller section is driven solely by the selected sources 01 receive and transmit clocking.) AD15-ADO. Address/Data Bus(3-state input/outputs). Alter Reset. these lines carry data between the controlling microprocessor and the IUSC, and may also carry multiplexed addresses of registers within the IUSC. Such operation, between the host processor and,the IUSC, is often 80 called slave mode, Once the MPU software has set up the IUSC and placed it into operation, these lines also carry multiplexed addresses and data between the IUSC and system memory; such operation is called master mode. These lines are used in a variety of ways based on the value initially written to the Sus Configuration Register (SCR), as described in the text. ICS. Chip Select (input, active Low). In slave mode, a low on this line indicates that the controlling microprocessor's current bus cycle is targeted lor a register in the IUSC, ICS is ignored in master mode, and also when a low on IINTACK indicates that the current bus operation is an interrupt acknowledge cycle. On a multiplexed bus, ICS is latched by rising edges on lAS. lSI/~. SerialiDMA (input, High indicates serial). Slave cycles with /CS low and /INTACK and this pin both high, access registers in the serial controller section. Slave cycles with liNT ACK high and /CS and this pin both low, access. registers in the OMA controller section. The IUSC can be programmed so that when it is acting as a bus master,' it .drives this line low to indicate an array access cycle and high to indicate a normal cycle for the transmitter or receiver. Ol/C. Data/Contro/(input, High indicates Data). A slave read cycle with /CS low and all three of /INTACK, S//D, and this pin high, fetches data from the serial controller's Receive Data Register (FIFO). A slave write cycle with the same conditions writes data Into the Transmit Data Register (FIFO). Slave cycles with both /INTACK and S//D high and both /CS and this pin low, access a serial controller register; on a multiplexed bus the particular register is selected by the low-order AD lines at the riSing edge of /AS; on a non-multiplexed bus the particular register is selected by the LSB's of the serial controller's Channel Command/ Address Register. For slave cycles on a multiplexed bus, with /INTACK high and both /CS and SliD low, the state of this line at the rising edge of /AS selects between the registers of the receive DMA channel (low) and the transmit DMA channel (high). On a non-multiplexed bus with /INT ACK high and /CS and SliD both low, the channel selection is taken from the DMA controller's address pointer register. and the state of this line does not affect the cycle. The IUSC can be programmed so that when it is acting as a bus master, it drives this line low to indicate a DMA cycle for the receiver and high to indicate a cycle for the transmitter. lAS. Address Strobe (input/output. active Low, 3-state). After a reset. the IUSC's bus interface logic monitors this signal to see if the host bus multiplexes address and data on A015-ADO. If the logic sees activity on /AS before (or as part of) the initial write to the Bus ConfigUration Register (BCR), then in subsequent slave cycles, the IUSC captures register selection from the low-order AD lines, S//D, and CliO on rising edges of /AS. When the IUSC takes control of the bus and operates as a master, it always uses the bus in a multiplexed fashion, and drives /AS low to indicate the presence of the least significant 16 bits of an address on the AD15-AOO lines. External latches are used to de-multiplex the address and data, if this is necessary to match the characteristics of the host processor or host bus. For a non-multiplexed bus, this pin should be pulled up to +5V using a resistor of about 4.7K ohms. If a processor uses a non-multiplexed bus, yet has an output called Address Strobe (e.g., 680xO devices), this pin should not be tied tp the processor's output. IUAS. Upper Address Strobe (3-state output, active Low). When the IUSC takes control of the bus and operates as a master, it drives IUAS low to indicate the presence of the more significant 16 bits of an address on AD15-ADO. External slaves or de-multiplexing latches should capture th~ MS address at each rising edge on this line. RlIW. Read I Write control (3-state input/output, Low signifies Write). This line is used in conjunction with the IDS line for host processors/buses having this kind of signalling, to indicate read and write cycles on the bus. When the IUSC has taken control of the bus and is operating in master mode, this pin is an output that remains valid throughout the low time of /DS. Otherwise, it is an input that is sampled at the leading/falling edge of /OS. OS. Data Strobe (3-state input/output, active Low). This line is used in conjunction with the R//W line for host processors/buses having this kind of signalling, to indicate read and write cycles on the bus. It is an output when the IUSC has taken control of the bus and is operating in master mode, otherwise it is an input that is qualified by /CS low or /INT ACK low. The R//W line remains valid throughout the low time of this line. For slave write cycles and master read cycles, the IUSC captures data at the rising (trailing) edge on this line. For slave read cycles, data is valid on the AD lines after the specified access lime and remains valid until after the master releases this line to high. For master write cycies, the IUSC places valid data on the AD lines before it drives this signal to low, and keeps the data valid until after it drives,thisJine back to high. IRO. Read Strobe (3-state input/output. active Low). This line is used in conjunction with the /WR line for host processors/buses having this kind of signalling, to indicate read and write cycles on the bus. It is an output when the IUSC has taken control of the bus and is operating in master mode, otherwise, it is an input that is qualified by /CS low or /INTACK low. For master read cycles, the IUSC captures data at the rising (trailing) edge of this line. For slave read cycles, data is valid on the AD lines after the specified access time and remains valid until after the master releases this line to high. IWR. Write Strobe (3-state input/output, active lOW). This line is used in conjunction with the /RD line for host processors/buses having this kind of signaling, to indicate read and write cycles on the bus. It is an output when the IUSC has taken control of the bus and is operating in master mode, otherwise, it is an input that is qualified by /CS low or /INTACK low. for slave write cycles, the IUSC captures data at the rising (trailing) edge of this line. For 81 PIN DESCRIPTIONS (Continued) master write cycles, the IUSC places valid data 9n the AD lines before it drives this signal to low, and keeps the data valid until after it drives this line back to high. B/fW. Byte/Word select (3-state output, High indicates 8bit transfer). When the IUSC takes control of the bus and operates as a master, a high on this line indicates that a byte is to be transferred, a low indicates that 16 bits are to be transferred. For slave cycles on a non-multiplexed bus, the byte/word distinction is taken from bit 60f the Command/ Address register of the serial controller or DMA controller as applicable. For slave cycles on a multiplexed bus, the byte distinction is taken from an AD line at the rising edge of /AS. fWArrIlRDY. Wait, Ready, or acknowledge handshaking (3-state input/output, active Low). This line is an input when the IUSC has taken control of the bus and is operating in master mode, otherwise, it is activated as an output when the IUSC detects a cycle with /CS or /INTACK low. In both directions, the way the line is used depends on the state of the SliD input that the IUSC captured during the initial BCR write. If SliD was high when the BCR was written, this line operates as a Wail/Ready line for Zilog and most Intel processors: the IUSC will not complete a master cycle while this line is low, and it may assert this line low until it is ready to complete a slave cycle. If SliD was low when the BCR was written, this line operates as an Acknowledge line for Motorola and some Intel processors; the IUSC will not complete a master cycle until this line is low, and it asserts this line low when itis ready to complete a slave cycle. !INT. Interrupt Request (output, aotive Low). This line is driven low by either the serial controller and/or the DMA controller sections, when one or more interrupt condition(s) is(are) enabled, pending, and not being serviced by the host processor. The IUSC can be programmed to drive this pin either totem-pole or open-drain. IINTACK. Interrupt Acknowledge(input, active Low). A low on this line indicates that the host processor is performing an interrupt acknowledge cycle. In some systems, a low on this line may further indicate that external logic has selected this IUSC as the device to be acknowledged, or a potential device to be acknowledged. The initial write to the BCR includes selection of whether this line carries a levelsensitive "status" protocol, or a single-pulse or doublepulse protocol. Depending on this programming and the state of the /INT and lEI lines, the IUSC will respond in a variety of ways. 82 lEI. Interrupt Enable In (input. active High). This Signal can be uSed with lEO to form an interrupt-acknowledge daisychain with other devices that may request interrupts. If lEI is high outside of an interrupt acknowledge cycle, and one or more IUSC interrupt condition(s) is(are) enabled, pending, and not being serviced by the host processor, then the IUSC will request an interrupt by driving /INT low. If lEI is high during an interrupt acknowledge cycle, and one or more IUSC interrupt condition(s) is(are) enabled, pending, and not being serviced by the host processor, then the IUSC will keep the lEO line low and responds to the cycle. lEo'. Interrupt Enable Out (output, active High). This signal can be used with lEI to form an interrupt-acknowledge daisy-chain with other devices tt1at may request interrupts. lEO is low whenever lEI is low, and/or whenever an IUSC interrupt is under service. In addition, during an interrupt acknowledge cycle, lEO is forced low if the IUSC is (has been) requesting an interrupt. IBUSREQ. Bus Request( output, active Low). This Signal is used by the DMA controller section to request control of tl18 host bus. It is selected as an -open-drain or totem-pole output in the initial write to the BCR. If this line is used as open-drain, the Iuse samples the pin as an input and only drives it low after it has sampled it 11igh. IBIN. Bus acknowledge In (input, active Low). When the IUSC receives a falling edge on this input, it samples whether it has been driving (or has just begun to drive) /BUSREQ. If so, it keeps /BOUT high and takes control of the host bus. If not. it passes the bus grant by driving /BOUT to low. This signal can be used with /BOUT to form a bus-grant daisy chain for arbitration of bus control. Alternatively, it can be connected to a direct. positive grant from an extemal arbiter, and the /BOUT signal is ignored. IBOUT. Bus acknowledge Out (output, active Low). As noted above, this signal can be used with /BIN to form a bus-grant daisy-chain for arbitration of bus control. IABORT. Abortmaslercycle(input, active Low). The IUSC monitors this input in master mode. A low on this line indicates that the DMA channel terminates its activity and enter a disabled state at the end of the current cycle. Note that· 1) /ABORT is only effective during a DMA cycle, so that the IUSC knows which cl1annel should be "aborted", and 2) external logic sets /WAIT//RDY to the right state for the cycle to complete, before /ABORT becomes effective. RxD. Received Data(input, pOSitive logic). The serial input data to the serial controller section. TxD. Transmit Data (output, positive logic). The serial output data from the serial controller section. RxC. Receive Clock (input or output). As an input. this signal is used as a clock signal for any of the functional blocks within the serial controller section. Or, the IUSC can be programmed so that this pin is an output carrying any of several receiver or internal clock signals. TxC. Transmit Clock (input or output). As an input. this signal is used as a clock signal for any of the functional bJocks within the serial controller section. Or, the IUSC can be programmed so that this pin is an output carrying any of several transmitter or internal clock Signals. which is normally handled by the transmit DMA channel. More typically, it is used as a general-purpose input or output. lOCO. Data Carrier Detect (input or output. active Low). The IUSC can be programmed so that this signal enables/ disables the receiver. The IUSC can also be programmed to request interrupts in response to transitions on this line. The pin is also used as a simple input or output. ICTS. Clear to Send(input or output, active Low) The IUSC can be programmed so that this signal enables/disables the transmitter. The IUSC can also be programmed to request interrupts in response to transitions on this line. The pin is also used as a simple input or output. . IRxREQ. Receive Request (input or output). In device testing, or in applications not using the serial controller and DMA controller sections together in the usual way, this pin carries the low-active request from the receiver FIFO, which is normally handled by the receive DMA channel. More typically, it is used as a general-purpose input or output. PORTO-7. Input/output Port (inputs and/or outputs). The IUSC can be programmed so that these lines are inputs and/or outputs in any mixture. These lines are used for additional status and/or control signals for a modem, or for any other purpose. Transitions on input lines are captured by internal latches. ITxREQ. Transmit Request (input or output). In device testing, or in applications not using the serial controller and DMA controller sections together in the usual way, this pin can carry the low-active request from the transmit FIFO, Vee, Vss. Power and Ground. Trw inclusion of seven pins for each power rail ensures good signal integrity, prevents transients on outputs, and improves noise margins on inputs. FUNCTIONAL DESCRIPTION The basic structure of the IUSC is shown in Figure 1. The Bus Interface module stands between the external bus pins and an on-chip 16-bit data bus that interconnects the other functional modules. It includes several flexible bus interfacing options that are controlled by the contents of the Bus Configuration Register (BCR). The BCR is automatically the destination of the first word written by the host processor after a Reset; thereafter, it is no longer accessible to the host software. The Transmit DMA channel has the task of fetching data to be transmitted from output buffers in memory on the host processor's bus, and delivering this data to the IUSC's Transmit First-In, First-Out (FIFO) memory. The host software can set up the Transmit DMA channel to operate in any of four major modes. In single-block mode, the channel transfers one block Of consecutive bytes with a programmable location and length from host memory to the Transmit FIFO. It then notifies the host processor and stops. The processor has to reprogram the channel before it can transfer another block, but in many applications this is satisfactory because the Transmit FIFO is 32 bytes deep. In ping-pong mode, there are two sets of buffer address and length registers' the processor can be pro- grarnming one set while the DMA channel IS using the other set. When the channel finishes transferring one block, it notifies the host processor and automatically switches to transferring the block described by the other register set In array-chained mode, the host processor programs the Transmit DMA channel with the address of a table containing' the addresses and lengths of the actual memory buffers. When the channel finishes transferring the data from one memory buffer to the Transmit FIFO, it automatically fetches the next buffer address and length from the table and begins to transfer the data in that buffer. Finally, in link-chained mode the host programs IIle channel with the address of the start of a linked list of buffer addresses and lengths, wherein each entry also includes the address of the next entry. Channel operation is similar to arraychained mode but includes the extra steps of fetching the link addresses. At any point in time, the Transmit FIFO can be emptyor can contain from 1to 32 characters to be transmitted. Characters written into the FIFO automatically migrate to its other end, where they become available to the Transmitter. 83 FUNCTIONAL DESCRIPTION (Continued) While the host processor can itself write characters into the Transmit FIFO, the best use of the IUSC is to use the Transmit DMA channel to do so. The host can program the IUSC so thatthe Transmit DMA channel swings into operation at varying degrees of FIFO emptiness. Selecting this point involves balancing the probability and consequences of under running the transmitter against the overhead for the DMA channel to repeatedly acquire the host bus. The serial Transmitter takes characters from the Transmit FIFO and converts them to serial data on the TxD pin. While this function is conceptually simple, the IUSC( supports a good number of complex serial protocols, which increases the complexity of the Transmitter dramatically. For example, depending on the serial mode selected, the Transmitter may do any of the following in addition to parallelserial conversion: start. stop, and/or parity bit generation, CRC calculation and transmission, automatic generation of opening and closing flags, encoding the serial data into any of several fo~mats th?t guarantee transitions and carry clocking with the data, and/or hardware flow control based on the CTS input pin. rinally, for ISDN and other time-multiplexed applications, the Transmitter section includes Time Slot Assigner logic that can be programmed to activate the Transmitter only periodically and for certain bits within a multiple-sourced, cyclically time-multiplexed data stream. In general, the functions of the Receiver section are the inverse to those of the Transmitter. The receiver monitors the serial data on the TxD pin, recognizes its organization according to the programmed serial mode, and converts the data to parallel characters which it puts into the Receive FIFO. Once again, there is much more going on than just serial-parallel conversion - depending on the serial mode the Receiver may have to: start bit detection and synchronization, parity and stop bit checking, CRC calculation and checking, detection of flag, abort and idle sequences, control character and transparency recognition, decoding of the serial data and clock extraction from any of several serial-encoding schemes, and/or disabling/ squelching based on the DCD input pin Based on such checking,the Receiver generates several status bits associated with each character, and writes them into the Receive FIFO along with the character. The Receiver section also includes an optional Time Slot Assigner which is used to activate the rest of the Receiver 84 for certain bits within a multiple-destination, cyclically time-multiplexed data stream such as an ISDN link. The Receive FIFO can hold up to 32 characters and their associated status bits. As entries are written in by the receiver, they automatically migrate to the output side where they become available to either the host processor or the Receive DMA channel. As for the Transmit FIFO, there is detection logic for various degrees of fullness; it controls when the Receive DMA channel is set into operation and/or when the host processor is interrupted. In addition to the main Receive FIFO there is a 4-entry Frame Status FIFO that is used to 110Id status related to entire frames rather than to individual characters. While the host processor can access data directly from the Receive FIFO, the IUSC is used to best advantage when the Receive OMA section is programmed to transfer the received data into buller areas in memory on the host processor's bus. As descriQed for the transmit side, the Receive DMA channel can be programmed to operate in single-buflermode, ping-pong mode, array-chained mode, or link-chained mode. . Tile Serial Clocking Logic section makes up the clocking signals for both the Transmitter and Receiver It can be programmed to do this based on two internal Baud Rate Generators or on external clocks. It includes a Digital Phase-Locked Loop that can recover clocking from an encoded serial stream on RxD. The Interrupt Control section gathers the various request lines from the Transmitter, Receiver, and the DMA channels, and handles the details of requesting host interrupts and responding to host interrupt-acknowledge cycles or to software equivalents. Interrupt operation is affected by both the initial write to the Bus Configuration Register (BCR) and by several registers in the Receiver, Transmitter, and DMA Channels. In addition to the Clear to Send (CTS) and Carrier Detect (DCD) inputs, which are handled by the Transmiller and Receiver, respectively, the I/O port section provides eight pins that can be used for additional modem control lines or any other purpose. Each pin can be individually controlled as an input or output, and some of them have optional dedicated functions. ~ZiIm PRODUCT SPECIFICATION Z16C33 CMOS MUSC MONO-UNIVERSALSERIALCONTROLLER FEATURES • 0 to 10 MbiVsec, full-duplex channel, with two baud rate generators and a digital phase-locked loop for clock recovery. _ 32-byte data FIFO's for receiver and transmitter • 12.5 MByte/sec (16 bit) data bus bandwidth _ Multi-protocol operation under program control with independent mode selection for receiver and transmitter. • Async mode with one to eight bits/character, 1/16 to 2 stop bits/character in 1/16 bit increments; programmable clock factor; break detect and generation; odd, even, mark, space or no parity and framing error detection. Supports one Address/Data bit and MIL 1553B protocols. sm • _ • Byte oriented synchronous mode with one to eight bits/character; programmable idle line condition;. optional receive sync stripping; optional preamble transmission; 16- or 32-bitCRC and transmit-ta-receive slaving (for X.21). Bisync mode with 2- to 16-bit programmable sync character; programmable idle line condition; optional receive sync stripping; optional preamble transmission; 16- or-32 bit CRC. _ T-ransparent Bisync mode with EBCDIC or ASCII character code; automatic CRC handling; programmable idle line condition; optional preamble transmission; automatic recognition of OLE, SYN, SOH, ITX, ETX, ETB, EOT, ENQ and ITB. _ HDLC/SDLC mode with eight bit address compare; extended address field option; 16- or 32-bit CRC; programmable idle line condition; optional preamble transmission and loop mode. • DMA interface with separate request and acknowledge for the receiver and transmitter _ Channel load command for DMA controlled initialization • Flexible bus interface for direct connection to most microprocessors; user programmable for 8 or 16 bits wide. Directly supports 680XO family or 8X86 family bus interfaces. _ ISDN time slot assigner _ 8-bit general purpose port with transition detection _ Low power CMOS • 68-pin PLCC package External character sync mode for receive GENERAL DESCRIPTION The MUSe (Mono - Universal Serial Controller) is a singlechannel multi-protocol data communications peripheral designed for use with any conventional multiplexed or nonmultiplexed bus. The MUSC functions as aserial-ta-parallel, parallel-to-serial converter/controller and is software configured to satisfy a wide variety of serial communications applications. The device contains a variety of new, saphisticated internal functions including two baud rate generators, a digital phase-locked loop, character counters for both receive and transmit, and 32-byte data FIFO's for both the receiver and transmitter. The MUSC handles asynchronous formats, synchronous byte-oriented formats (e.g. BISYNC), and synchronous bit-oriented formats like HOLC. This device supports virtually any serial data transfer application. GENERAL DESCRIPTION (Colltinued) The device can generate and check eRe in any synchronous mode and is programmed to check data integrity in various modes. The MUSe also has facil.ities for modem controls. In applications where these controls are not needed, the modem controls are used for general-purpose 1/0. The same is true for most of the other pins. . . Interrupts are supported by a daisy-chain hierarchy with the serial channel. There are no interrupts associated with the 8-bil Port. High-speed data transfers via DMA are supported by a Request/Acknowledge signal pair for both receiver and transmitter. The device supports automatic status transfer via DMA and allows device initialization under DMA control. Support tools are available to aid the deSiQner Ih .efficiEmHy programming tbe MUSe. TheTech.nlc\i1 tvjanual qesct:ibes in detail all features presented In this Product Specification and gives programming sequence hints. The Programmer's Assistant Is an MS-DOS, disk-based programming initialization tool, used in conjunction with the Technical Manual. Also, there are assorted application notes and development boards to assist the designer in hardware/software development. Note: All Signals with a preceding front slash, "r, are active Low, e.g.: 81IW (WORD is active Low); IBIW (BYTE is active Low, only); INIIS (NORMAL and SYSTEM are both active Low). Receive Data Receivel Transmit Clocks cpu Transmit Data Figure 1. MUSe Block Diagram' _... ... Address! Data Bus ... ... ... ... . . . . . .... -~ _ ... _ Bus { Timing Interrupt { ... ... TxD AD1 RxD AD2 ITxC IRxC AD3 AD4 ICTS AD5 lOCO AD6 IRxREQ AD? IRxACK AD8 ITxREQ AD9 ITxACK AD10 liNT AD11 lEI AD12 lEO AD13 PORTO AD14 PORT 1 AD15 PORT 2 lAS PORT 3 IDS PORT 4 IRD PORT 5 IWR PORT 6 ICS PS PORT? -'"' DIIC . .. . RlIW _... Ground ADO ... . ... ..... ... ... .. ... . . ... .. .. } Serial Data } Channel Clocks } Channel } Channel DMA Interface } Channel Interrupt Interface VO 1/0 Port .... ... ... ... IPITACK ISITACK ... - VSS IRESET VDD VSS VDD VSS VDD VSS VDD VSS VDD ... VSS VDD VDD ... IWAITIIRDY VSS ... Device Reset Power ' Figure 2. Pin Functions Note: Power connections follow conventional descriptions below: Connection Circuit ,--,-""",,,"~, -~------ Power Vee Ground GND Device V"" Vss (j) 60 IRxACK liNT lEI lEO GND VCC ADO ADl AD2 AD3 AD4 AD5 AD6 AD7 GND VCC IRxREQ Muse (Top View) ~ 44 NC NC NC NC GND VCC ADS AD9 AD10 AD11 AD12 AD13 AD14 AD15 GND VCC PORT 7 Note: Power connections follow Conventional descriptions below Connection Circun Device Power Ground Vee Voo Vss GND Figure 3. Pin Assignments PIN DESCRIPTION ~ The device contains 13 pins for channel I/O, 16 pins for address and data, 12 pins for CPU handshake, 8 pins for the I/O Port, and 14 pins for power and grQund, The 8-bit bus with separate address is selected by setting BCR bit 2 to zero and, during the BCR write, forcing AD15 to a 1 and forcing AD14-AD8 to zero, Three separate bus interface types are available for the device: The Bus Configuration Register (BCR), the external connection of the Protocol Select (PS) pin, and external connections to the AD bus control selection of the bus type, The multiplexed bus is selected for the MUSC if there is an Address Strobe prior to, or during, the transaction which writes the, BCR A 16-bit bus is selected by setting BCR bit 2 to a 1, The 8-bit bus is selected by setting BCR bit 2 to zero and tying AD15 - AD8 to VSS, If no Address Strobe is present prior to or during the transaction which writes the BCR', a non-multiplexed bus is selected (See Figure 6), PIN ASSIGNMENTS IRESET. Reset(input, active Low). This signal resets the device to a known state. The first write to the MUSC after a reset accesses the BCR to select additional bus options for the device. lAS. Address Strobe (input, active Low). This signal is used in the multiplexed bus modes to latch the address on the AD lines. The lAS signal is not used in the nonmulliplexed bus modes and is tied to VDD in these cases. IDS. Data Strobe (input, active Low). This signal strobes data out 01 the device during a read and strobes an interrupt vector out of the device during an interrupt acknowledge cycle. IDS also strobes data into the device depending on the state of R//W. IRO. Read Strobe (input, active Low). This signal strobes data out of the device during a read and ~trobes an interrupt vector out of the device during an interrupt acknowledge cycle. IWA. Write Strobe (input, active Low). This signal strobes IPfTACK. Pulsed InterruptAcknowledge(input, active Low) This is a strobe signal indicating that an interrupt acknowledge cycle is in progress. The device is capable of returning an interrupt vector that is encoded with the type of interrupt pending during this acknowledge cycle. /PlTACK is programmed to accept either single pulse or double pulse acknowledges. This programming is performed in the BCR. The double pulse acknowledge is compatible with 8X86 family microprocessors. IWAITI/ROY. Wait/Data Ready (output, active Low). This signal serves to indicate wHen the data is available during a read cycle, when the device is ready to receive data during a write cycle, and when a valid vector is available during an interrupt acknowledge cycle. It is programmed to function either as a Wait signal or a Ready signal using the state of the PS pin during the BCR write. When PS is High during the BCR write, this Signal functions as a wait output and supports the .READY function of 8X86 family microprocessors. When PS is Low during the BCR write, it functions as a ready output and supports the DTACK function of 680XO family microprocessors. data into the device during a write. RlIW. Read/Write (input). This signal determines the direction of data transfer for a read or write cycle in conjunction with IDS ICS. Chip Select(input, active Low). This signal selects the device for access and is asserted for read and write cycles, but is ignored during interrupt acknowledge and fly-by DMA transfers. In the case of a multiplexed bus interface, ICS is latched by the rising edge of lAS. PS. Protocol Select (input, active High). This input is sampled and stored during the BCR (Bus Configuration Register) write It selects the sense of the /WAll/tRDY , signal appropriate for different bus interfaces. With PS High, /WAITI/RDY functions as a /WAIT signal and with PS Low, IWAlTl/RDY functions as a IREADY signal This selection applies to all bus transactions. Ol/C. Data/Control Select (input) This signal, when Hig/), provides for direct access to the RDR and TDR. In the case of a multiplexed bus interface, DI/C High overrides the address provided to the device. ISfTACK. Status Interrupt Acknowledge (input, active Low). This signal is a status signal indicating that an interrupt acknowfedge cycle is in progress. The device is capable of returning an interrupt vector that is encoded with the type of interrupt pending during this acknowledge cycle. A015-AOO. Address/Data Bus(bidirectional, active High, 3-state). The AD signals carry addresses to, and data to and from, the device. When the 16 bit non-multiplexed bus is selected, AD15-0 carries data to and from the device. Addresses are provided using a pointer within the device that is loaded with the desired register address. When the 8-bit non-multiplexed bus, without separate address, is selected only AD7-0 is used to transfer data. The pointer is used for addressing, and AD15-8 is unused. When the 8-bit non-multiplexed bus with separate address is selected AD7-0 is used to transfer data, while AD15-8 is used as an address bus. When the 16 bit multiplexed bus is selected, addresses are latc/led from AD7 -0 and data transfers are sixteen bits wide. When the 8-bit multiplexed bus without :;;eparate address is selected only AD7 -0 is used to transfer addresses and data, and AD15-8 is unused When the 8-bit multiplexed bus with separate address is selected only AD7-0 is used to transfer data, while AD15-8 is used as an address bus. The non-multiplexed, 16-bit bus interface mode directly supports 680XO family microprocessors and the multiplexed, 16-bit bus interface mode directly supports the 8X86 family microprocessors. The multiplexed, 8-bit bus interface mode without separate address supports the 8088 family microprocessors. PIN ASSIGNMENTS (Continued) liNT. Interrupt Re,quest( output, active Low). Indicates that the channel has an interrupt condition pending and is requesting service. This output is NOT open-drain. lEI. Interrupt Enable In (input, active High). The lEI signal is used with the accompanying lEO signal to form an interrupt daisy chain. An active lEI indicates that no device having higher priority is requesting or servicing an interrupt. lEO. Interrupt Enable Out (output, active High). The lEO signal is used with the accompanying lEI signal to form an interrupt daisy chain. lEO is Low if lEI is Low, an interrupt is under service in the channel, or an interrupt is pending during an interrupt acknowledge cycle. fTxACK. Transmit-Acknowledge (input or output, active Low). The primarY function ·of this signal is to perform fly-by DMA transfers to the transmit FIFO. It also is used as bit input or output. IRxACK. Receive Acknowledge (input or output, active Low). The primary function of this signal is to perform fly-by DMA transfers from the receive FIFO. It also is used as bit input or output. blocks within the device. It also is used as an output for various transmitter Signals or internal clock signals. IRxC. Receive Clock (Input or output, active Low). ThiS signal is used as a clock input for any of the functional blocks within the device. It also is used as an output for various receiver signals or internal clock signals. fTxREQ. Transmit Request (input or output, active Low). The primary function of this signal is to request DMA transfers to the transmit FIFO. It also is used as a Simple input or output. IRxREQ. Receive Request (input or output, active Low). The primary function of tllis signal is to request DMA transfers from the receive FIFO. It also is used as a simple input or output. ICTS. Clear To Send (input or output, active Low) /CTS is used as an enable for the· transmitter It also is programmed to generate interrupt on either transition or used as a simple input or output. lOCO. Data Carrier Detect (input or output, active Low). This signal is used as an enable for the receiver. It also is TxD. Transmit Data (output, active High, 3-state). TxD carries the serial transmit data for the channel. programmed to generate an interrupt on either transition or used as a simple input or output. RxD. Receive Data (input, active High). RxD carries the serial receive data for the channel. PORT? - PORTO. Port Signals (inputs or outputs. active High). These pins are general purpose I/O pins. They are used as additional MODEM control lines or for other I/O functions. When used as inputs, ttle ports capture transitions on these pins. fTxC. Transmit Clock (input or output, activ~ Low). This signal may be used as a clock input for anyof the functional ARCHITECTURE The MUSC internal structure includes a full-duplex serial channel with' two baud rate generators, a digital phaselocked loop for clock recovery, transmit and receive character counters and a full-duplex DMA interface. The bus interface is designed to provide easy interface to most microprocessors, whether they employ a multiplexed, non-multiplexed, 8-bit or 16-bit bus structure Thechannel is controlled by a set olthlrty-two 16-blt registers, almost all of which are readable and writable. There is one additional 16-bit register in the bus interface used to configure the nature.of the bus interface. The BCR functions are shown in .Figure 4. Address: None Shift Right Addresses Double Pulse INTACK 16-BitBus 0* Reserved 3-State All Pins Separate Address for 8-Bit Bus * Must be programmed as O. Figure 4. Bus Configuration Register DATA PATH Both the transmitter and the receiver in the channel are actually microcoded serial processors. As the data shifts through the transmit or receive shift register, the microcode watches for specific bit patterns, counts bits, and at the appropriate time transfers data to or from the FIFOs. The microcode checks status and generates status interrupts as appropriate. FUNCTIONAL DESCRIPTION The functional capabilities of the MUSC are described from two different pOints of view: as a data communications device, it transmits and receives data in a wide variety of data communications protocols; as a microprocessor peripheral, the MUSC offers such features as read/write registers, a flexible bus interface, DMA interface support, vectored interrupts, and an eight-bit I/O port. signal such conditions as' overrun, parity error, framing error, end-of-frame, idle line received, sync acquired, transmit underrun, CRC sent, closing sync(flag sent, abort sent, idle line sent and preamble sent In addition, several useful intemal signals like receive FIFO load, received sync, transmit FIFO read and transmission complete are sent to pins for use by external circuitry. Data Communications Capabilities Asynchronous Mode. The receiver and transmitter handle data at a rate of 1/16, 1/32, or 1/64 the clock rate. The receiver rejects start bits less than one-half a bit time and will not erroneously assemble characters following a framing error. The transmitter is capable of sending one, two, or anywhere in the range of 1/16ttl to two stop bits per character in 1/16 bit increments. The MUSC provides a full-duplex channel programmable for use in any common data communication protocol. The receiver and transmitter modes are completely independent. The receiver and transmitter are each supported by a 32-byte deep FIFO and a 16-bit message length counter. All modes allow optionai even, odd, mark or space parity. Synchronous modes allow the choice of two 16-bit or one 32-bit CRC polynomial. Selection of from one to eight bits per character is available in both receiver and transmitter independently. Error and status conditions are carried with the data in the receive and transmit FIFOs to greatly reduce ttle CPU overhead required to send or receive a message. Specific, appropriately timed interrupts are available to External Sync Mode. The receiver is synchronized to the receive data stream by an externally-supplied signal on a pin for custom protocol applications. Isochronous Mode. Both transmitter and receiver may operate on start-stop (async) data using a 1x clock. The transmitter sends one or two stop bits. 91 FUNCTIONAL DESCRIPTION (Continued) Asynchronous With Code Violations. This is similar to Isochronous mode except that the start bit is replaced by a three bit-time code violation patterri as in MIL-STO 1553B. The transmitter sends zero, one or two stop bits. Monosync Mode. In this mode, a single character is used for synchronization. The sync character can be either eight bits long with an arbitrary data character length or programmed to match the data character length. The receiver is capable of automatically stripping sync,characters from the received data stream. The transmitter is programmed to automatically send CRC on either an underrun or at the end of a programmed message length. Bisync Mode. This mode is identical to monosync mode except that character synchronization requires two successive characters for syncllronization. The two characters need not be identical. lOCO and ICTS are used to implement the carrier sense and collision detect interactions with the receiver and transmitter. Slaved Monosync Mode. This mode is available only in the transmitter and allows the transmitter (operating just as though it were in monosync mode) to send data that is byte-synchronous to the data being received by the receiver. HOLC Loop Mode. This mode is available only in the transmitter and allows the MUSC to be used in an HOLC loop configuration. In this mode, the receiver is programmed to operate in HOLC mode to allow the transmitter to echo received messages. Upon receipt of a particular bit pattern (actually a sequence of seven consecutive ones) the transmitter breaks the loop and inserts its own frame(s). Data Encoding HOLC Mode. In this mode, the receiver recognizes flags, performs optional address matching, accommodates extended address fields, 8- or 16-bit control fields and logical control fields, performs zero deletion and CRC checking. The receiver is capable of receiving shared-zero flags, recognizes the abort sequence and can receive arbitrary length messages. The transmitter automatically sends opening and closing flags, performs zero insertion and is programmed to send an abort, an extended abort, a flag or CRC and a flag on transmit underrun. The transmitter automatically sends the closing flag with optional CRC at the end of a programmed message length. Shared-zero flags are selected in the transmitter and a separate character length is programmed for the last character in the frame. Bisync Transparent Mode. In this mode, the synchronization pattern is OLE-SYN, programmable selected from either ASCII or EBCDIC encoding. The receiver recognizes control character sequences and automatically handles CRC calculations without CPU intervention. The transmitter is programmed to send either SYN, OLE-SYN, CRCSYN, or CRC-OLE-SYN upon underrun and automatically sends the closing OLE-SYN with optional CRC at the end of a programmed message length. NBIP Mode. This mode is identical to async except that the receiver checks for the status of an additional addressl data bit between the parity bit and the stop bit. The value of this bit is FIFO'ed along with the data. In the transmitter, this bit is automatically inserted with the value that is FIFO'ed from the transmit data. 802.3 Mode. This mode implements the data format of IEEE 802.3 with 16-bit address compare. In this mode, The MUSC is programmed to encode and decode the serial data in any of eight different ways (Figure 5). The transmitter encoding method is selected independently of the receiver decoding method. NRZ. In NRZ, a 1 is represented by a High level for the duration of the bit cell and a 0 is represented by a Low level for the duration of the bit cell. NRZB. NRZB is inverted from NRZ. NRZI-Mark. In NRZI-Mark, a 1 is represented by a transition althe beginning of a bit cell, i.e., the level presentin tile preceding bit cell is reversed. A 0 is represented by the absence of a transition at the beginning of the bit cell. NAZI-Space. In NRZI-Space, a1 is represented by the absence of a transition at the beginning of a bit ceil; i.e., the level present in the preceding bit cell is maintained. A 0 is represented by a transition at the beginning of the bit cell. Biphase-Mark. In'Biphase-Mark, a 1 is represented by a transition at the beginning of. the bit ceil and another transition at the center of the bit cell. A 0 is represented by a transition at the beginning of the bit cell only. Biphase-Space. In Biphase-Space, a 1 is represented by transition at the beginning of the bit ceil only. A 0 is. represented by a transition at the beginning of the bit cell and another transition at the center of the bit cell. a Data NRZ NRZB , , 1 1 1 0 t ( 1 ~ ( 1 ~ 1 ~ NRZI-S , 0 1 1 'I ( 1 NRZI-M 0 V 1 I' BI-PHASE-M i BIPHASE-S 1 BIPHASE-l 1 DIFFERENTIAL BIPHASE-L 1 Figure 5. Data Encoding Biphase-Level. In Biphase-Level, a 1 is represented by a High during the first half of the bit cell and a Low during the second half of the bit cell. A 0 is represented by a Low during the first half of the bit cell and a High during the second half of the bit cell. Differential Biphase-Level. In Differential Biphase-Level, a 1 is represented by a transition at the center of the bit cell, with the opposite polarity from the transition at the center of the preceding bit cell. A 0 is represented by a transition at the center of the bit cell with the same polarity as the transition at the center of the preceding bit cell. In both cases, there are transitions at the beginning of the bit cell to set up the level required to make the correct center transition. Character Counters The MUSC contains a 16-bit character counter for both the receiver and transmitter. The receive character counter may be preset either under software control or automatically at the beginning of a receive message. The counter decrements with each receive character and at the end of the receive message the current value in the counter is automatically loaded into a four-deep FIFO. This allows DMA. transfer of data to proceed without CPU intervention at the end of a received message, as the values in the FIFO allow the CPU to determine message boundaries in memory. Similarly, the transmit character counter is loaded either under software control or automatically at the beginning of a transmit message. The counter is decremented with each write to ttie transmit FIFO. When the counter has decremented to zero, and that byte is sent, the transmitter automatically terminates the message in the appropriate fasllion (usually CRC and the closing flag or sync character) without requiring CPU intervention. Baud Rate Generators The MUSC contains two baud rate generators. Eacll generator consists of a 16-bittime constant register and a 16-bit down counter. In operation, the counter decrements with each baud rate generator clock, and the time constant is automatically reloaded when the count reaches zero. The output of the baud rate generator toggles when the counter reaches a count of one-half of the time constant and again when the counter reaches zero. A new time constant is written at any time but the new value does not take effect until the next load of the counter. The outputs of both baud rate generators are sent to the clock multiplexer for use internally or externally. The baud rate generator output frequency is related to the baud rate generator input clock frequency by the following formula: Output frequency = Input frequency/(time constant + 1). Note: This allows an output frequency in the range of 1 to 1/65536 of the input frequency, inclusive. Digital Phase-Locked Loop The MUSC contains a digital phase-locked loop (DPLL) to recover clock information from data stream with NRZI or Biphase encoding. The DPLL is driven by a clock that is nominally 8, 16 or 32 times the receive data rate. The DPLL uses this clock, along with the data stream, to construct a clock for the data. This clock is routed to the receiver, transmitter, or both, or to a pin for use extemally. In all modes, the DPLL counts the input clock 10 create nominal bit limes. As the cl()ck is counted, the DPLL watches the incClming data stream for transitions. Whenever a transition is detected, the DPLL makes p count adjustment (during the next counting cycle), to produce an output clock which tracks the incoming bit cells. The DPLL provides properly phased transmit and receive clocks to the clock multiplexer. a Counters The MUSC contains two 5-bit counters" which may be programmed to divide an input clock by 4,8, 16 or 32. The inputs of tllese two counters are sent to the clock multiplexer. the counters are used as prescalers for the baud rate generators. They also provide a stable transmit clock from a common source when the DPLL is providing the receive clock. . Clock Multiplexer The clock multiplexer selects the clock source for the various blocks in the channel, as well as selecting an internal clock signal to potentially be sent to either the /RxC or /TxC pin. . Test Modes The MUSC is programmed for local loop back or auto echo operation In Ibcalloopback, the output of the transmitter is internally routed to the input of the receiver. Ttlis allows testing of the MUSC data paths without any external logic. Auto echo connects the RxD pin directly to the TxD pin. ThiS is useful for testing serial links external to the MUSC. 1/0 INTERFACE CAPABILITIES The MUSC offers the choice of polling, interrupt (vectored or non-vectored) and block transfer modes to transfer data, status and control information to ard from the CPU. interrupt enable bits which are separately enabled. There is a Master Interrupt Enable (MIE) bit which globally enables or disables interrupts within the serial channel. Polling The other two bits are related to the interrupt priority chain. The MUSC requests an interrupt only when no higher priority interrupt source is requesting one, e.g., when lEI is Higll for the channel. In this casE) the channel activates the /INT signal. The CPU then responds with an interrupt acknowledge cycle; and the device places a vector on tile data bus. All interrupts are disabled. The registers in the MUSC are automatically updated to reflect current status. The CPU polls the Daisy Ctlain Control Register (DCCR) to determine status changes and then reads the appropriate status register to find and respond to the change in status. MUSC status bits are grouped according to function to simplify this software action. When a MUSC responds to an interrupt acknowledge from the CPU, an interrupt vector may be placed on the data bus. This vector is held in the Interrupt Vector Register (IVR) To speed interrupt response time, tile MUSCmodifies three bits in this vector to indicate which type of interrupt is being requested. In the MUSC, the IP bit signals that an interrupt request is being serviced. If an IUS is set, all interrupt sources of lower priority within the channel and external to the channel are prevented from requesting interrupts'. The internal interrupt sources are inhibited by the state of the internal daisy chain, while lower priority devices are inhibited by the lEO output of the channel being pulled Low and propagated to subsequent peripherals. An IUS bit is set during an interrupt acknowledge cycle if there are no higher priority devices requesting interrupts. Each of the six sources of interrupts in the MUSC (Receive, Status, Receive Data, Transmit Status, Transmit Data, I/O Status and Device Status) has tllree bits associated with the interrupt source: Interrupt Pending (IP), Interrupt-UnderService (IUS) and Interrupt Enable (IE). If the IE bit for a given source is set, then that source requests interrupts. Note thatindivldual sources within the six groups also [lave There are six sources of interrupt in the following priority. Receive Status, Receive Data, Transmit Status, Transmit Data, I/O Status and Device Status. There are six sources of Receive Status interrupt. Each one is individually enabled' receiver exited hunt, received idle line, received break/ abort, received code violation/end-of-transmission/endof-frame, parity error and overrun error The Receive Data Interrupt selects one or more lime slots within a frame, however, all selected time slots must be contiguous. The first selected time slot is programmable from slot 0 (the first slot) to slot 127 of the frame. The total number of concatenated slots is programmable from 1 to 15 (total slots). interrupt is generated whenever the receive FIFO fi,lIs with data beyond the level programmed in the Receive Interrupt Control Register (RICR). There are six sources of Transmit Status interrupt. Each one is individually enabled: preamble sent, idle line sent, abort sent, end-of-frame/ end-of-transmission sent, CRC sent and underrun error. The Transmit Data interrupt is generated whenever the transmit FIFO empties below the level programmed in the Transmit Interrupt Control Register (TICR). The I/O Status interrupt serves to report transitions on any of six pins. Interrupts are generated on either or both edges with individual selection and enables for each pin. The pins that are programmed to generate I/O Status interrupts are /AxC, rrxc, IRxREQ, rrxREQ, /DCD and /CTS. These interrupts are independent of the programmed function of the pins. The Device Status interrupt has four individually enabled sources: receive character count FIFO overflow, DPLL sync acquired, BRG1 zero count and BRGO zero count. Block Transfer Mode The MUSC accommodates block transfers via DMA through the /RxREQ, rrxREQ, /AxACK and rrxACK pins. The /RxREQ signal is activated when the fill level of the receive FIFO exceeds the value programmed in the RICA. The DMA responds with either a normal bus transaction or by activating the /AxACK pin to read the data directly (fly-by transfer). The rrxREQ signal is activated when the empty level of the transmit FIFO falls below the value programmed in the TICA. The DMA responds either with a normal bus transaction or by activating the rr xACK pin to write the data directly (fly-by transfer). The /RxACK and rrxACK pin functions for this mode are controlled by the Hardware Configuration Register (HCR) When using the /RxACK and rrxACK pins to transfer data, no chip select is necess'ary; these are dedicated strobes for the appropriate FIFO. Time Slot Assigner The MUSC is equipped with two time slot assigners to support ISDN communications. There is one assigner for the receiver and one assigner for the transmitter and the assigners function independently. The time slot assigner _ ..--."' . ~.-.--~-. The time of the slot is offset an Integral number of clocks. This offset is a delay and is programmable from (no offset) to 7 clocks in increments of one clock (one bit cell). This offset is used to compensate tor delays in frame sync detection logic. o I/O Port - The Port pins are general purpose I/O pins. They are used as additional MODEM control lines or other I/O functions. Each port bit is' individually programmable for the threestate mode, output a logic 0, or output a logic 1 This programming is done in the Port Control Register. When programmed to be three-stated, the ports are used as inputs. Whether used as inputs or outputs, the port pins can be read at any time. The port pins capture edge transition's input to the port. This p(ogramming for the capture is done using the Port Latched/Unlatch command bits in the Port Status Register. Each port bit is individually controlled. The Latched/Unlatch bit is used as a status signal to indicate that a transition has occurred on the port pin and as a command to open the latches that capture this transition Both rising edge and failing edge transitions are detected. When a transition is detected, the latch closes holding the post tran~ition state of the input. The Latched/Unlatch bit is held at 0 if no transitions occur on the port pin; this bit is set to a 1 when rising edge or falling edge transition is detected, or immediately after the latch is opened if one or more transitions occurred while the latch was closed. Writing a 0 to the Latched/Unlatch bit has no effect on the latch. Writing a 1 to this bit resets the status bit and opens the latch. To use the port as an input without edge detection, a 1 would be written to the Latched/ Unlatch bit to open the latch and then the Port Status Register would be read to obtain the current pin input status. a PROGRAMMING The Programmer's Assistant (MS DOS based) and Technical Manual are available to provide details about programming the MUSC. Also included are explanations and features of all registers in the MUSC. The registers in the MUSC must be programmed by the system to configure the channel. Before this can occur, the system must program the bus interface by writing to the Bus Configuration Register (BCR). The BCR has no specific a'ddress and is only accessible immediately after a hardware reset of the device. The first write to the MUSC, after a hardware reset, programs the BCR. From that time on the normal channel registers may be accessed. No specific address need be presented to the MUSC for the BCR write; the MUSC knows that the first Write after a hardware reset is destined for the BCA. In the multiplexed bus case, all registers are directly addressable via the address latched by /AS at the beginning of a bus transaction. The address may be decoded from either AD6 cADO or AD?-AD1. This is cont~olled by the Shift Right/Shift Left bit in the BCR. The address maps for these two cases is shown in Table 1. The D//C pin is still used to directly access the receive and send data registers (RDR and TOR) in the multiplexed bus; if DIIC is High, the address latctled by /AS is ignored and an access of RDR or TOR is performed Table 1. Multiplexed Bus Address Assignments Address Signal Shift Left Shift Right BytellWord Access Address 4 Address 3 AD? AD6 AD5 AD6 AD5 AD4 Address 2 Address 1 Address UpperllLower Byte Select AD4 AD3 AD2 AD1 AD3 AD2 AD1 . ADO a In the non-multiplexed bus case, the channel registers are accessed indirectly using the address painter in the Channel Command/Address Register (CCAR). The address of the desired register is first written to the CCAR and then the selected register is accessed; the pointer in the CCAR is automatically cleared after this access. Tile RDR and TOR are still accessed directly using the DIIC pin, without disturbing the contents of the painter in the CCAR. There are two important things to note about the MUSC First, the Channel Reset bit in the CCAR places the channel in the reset state. To exit this reset state either a word at all zeros is written to the CCAR (16-bit bus) or a byte of all zeros is written to the lower byte of the CCAR (8-bit bus) The second thing to note is that after reset, the transmit and receive clocks are not connected. The first thing that should be done in any initialization sequence is a write to the Clock Mode Control Register (CMCR) to select a clock source for the receiver and transmitter. The register addreSSing is shown in Table 2 and the bit assignm!3nts for the registers are shown in Figure 6. Reset Any Transaction Up To and Including BCRWrite No lAS ~ t At least One lAS ~ NonMuRiplexed Bus BCR Write Transaction MURiplexed Bus I BCR[2]=O BCR[15]=1 ~ 8-Bit With Separate Address I BCR[2]=O BCR[15]=O BCR[2]=1 1 8-Bit Without Separate Address BCR[2]=O BCR[15]=1 ~ ~ 16-Bit 8-BitWith Separate Address BCR[2]=O BCR[15]=O 1 BCR[2]=1 ~ 8-BitWithout Separate Address 16-Bit Note: The presence of one transaction with an / AS active, between reset up to and including the BGR write, chooses a rrultiplexad type of bus. Figure 6. BeR Reset Sequence and Bit Assignments Table 2. Register Address List Address M-A0 Address M-A0 00000 00001 00010 00011 CCAR CMR CCSR CCR Channel Channel Channel Channel 00100 00101 00110 00111 PSR PCR TMDR TMCR 01000 01001 01010 01011 01100 01101 01110 01111 1XOOO Command/Address Register Mode Register Command/Status Register Control Register 10001 10010 10011 10100 RMR RCSR RICR RSR Receive Receive Receive Receive Mode Register Command/Status Register Interrupt Control Register Sync Register Port Status Register Port Control Register Test Mode Data Register Test Mode Control Register 10101 10110 10111 1XOOO RCLR RCCR TCOR TDR Receive Count Limit Register Receive Character Count Register Time Constant 0 Register Transmit Data Register (Write Only) CMCR HCR IVR IOCR Clock Mode Control Register Hardware Conf!guration Register Interrupt Vector Register I/O Control Register 11001 11010 11011 11100 TMR TCSR TICR TSR Transmit Transmit Transmit Transmit ICR DCCR MISR SICR RDR Interrupt Control Register Daisy-Chain Control Register Misc Interrupt Status Register Status Interrupt Control Register Receive Data Register (Read Only) 11101 11110 11111 TCLR TCCR TC1R Transmit Count limit Register Transmit Character Count Register Time Constant 1 Register XXXXX BCR Bus Configuration Register Mode Register Command/Status Register Interrupt Control Register Sync Register Address: 00000 ~ Upper//lower Byte Select (WO) Address 0 (WO) Address 1 (WO) Address 2 (WO) Address 3 (Wof Address 4 (WO) Byte/lWoreI Access (WO) DMA Continue (WO) 0 0 1 1 0 1 0 1 Normal Operation } Auto Echo External Local Loopback Internal Local Loopback Mode Control Channel Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 ,1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 6 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Null Command RaS9fVed Reset Highest IUS Reserved Trigger Channel Load DMA Trigger Rx DMA Trigger Tx DMA Trigger Rx & Tx DMA Reserved Rx FIFO Purge Tx FIFO P..-ge Rx & Tx FIFO Purge ReS9fVed Reload Rx Character Count Reload Tx Character Count Reload Rx & Tx Character Count Reserved Load TCO LoadTCl Load TCO & TCl Select Serial Data LSB First * Select Serial Data MSB First Select Straight Memory Oata * Select Swapped Memory Data Reserved Reserved Reserved Raserved RaS9fVed Raserved Rasorved ReS9fVed Channel Command (WO) * Selected Upon Reset Figure 7. Channel Command/Address Register Address: 00001 I I I I 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 i 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Asy nchronous Extemal Synchronous Isochronous ASynchronous with CV Monosync Bisync HO LC Transparent Bisync NBIP 802.3 Reserved Reserved Reserved Reserved Reserved Reserved Rx Submode 0 RxSubmode 1 Rx Submode 2 Rx Submode 3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ....., Asynchronous Reserved Isochronous Asynchronous with cv . Monosync Bisync HOLC Transparent Bisync NBIP 802.3 Reserved Transmitter Mode Reserved Slaved Monosync Reserved HOLC Loop Reserved Tx Submode 0 Tx Submode 1 Tx Submode 2 Tx Submode 3 Figure 8. Channel Mode Register Receiver Mode Address: 00001 IIII 0 0 0 1 1 I 0 1 0 1 0 0 0 Asy 16X Data Rate} 32X Data Rate Rx Clock 64X Data Rate Rate Reserved Reserved Reserved 0 0 0 1 1 o 0 1 0 1 1 o 1 0 1 0 1 0 0 0 16X Data Rate } 32X Data Rate 64X Data Rate Reserved One Stop BH } Two Stop Bits One Slop Bft. Shaved Two Slop Bits. Shaved Asynchronous } Transmlner Mode Tx Clock Rate T~ Stop , Bits Figure 9. Channel Mode Register, Asynchronous Mode Addrass: 00001 1015101410131012101110101091 os 1071061051041 D311YZ 101 1DOl Io I I I 0 0 Extemal Sync } Reserved 000 Reserved Figure 10. Channel Mode Register, External Sync Mode· 100 :iver Address: 00001 -r-- I I I I I 0 0 1 0 lsoch ronous 0 0 1 0 IsochronouS} Receiver Mode Reserved } TransmiHer Mode Reserved Tx Two Slop Bits Reserved Figure 11. Channel Mode Register, Isochronous Mode Address: 00001 I II I 0 0 1 1 Asy nchronous wilh CV } ~:,~iver Ax Extended Word Reserved 0 0 1 1 Asynchronous with CV } ~:!",iller CV Polarity Tx Extended Word o o 1 1 0 1 0 1 One Slop Bit } Two Slop Bit No Slop Bit Reserved Tx Slop Bils Figure 12. Channel Mode Register, Asynchronous Mode with Code Violation (MIL STO 1553) 101 Address: 00001 I I II I -r-- 0 1 0 0 Monosync} Receiver Mode Rx Short Sync Character RxSync Strip Reserved 0 1 0 0 Mo nosync } Transmitter Mode Tx Short Sync Character Tx Preamble Enable Reserved Ix CRC on Underrun Figure 13. Channel Mode Register, Monosync Mode Address: 00001 1015101410131012,10111010109108107 061D5 1 041 031 021 01 100J -- I I I I 0 1 0 1 Bisy nc } Receiver Mode Rx Short Sync Character Rx SyncSlrip Reserved 0 1 0 1 B' } ,sync TransrriHer Mode Tx Short Sync Character Tx Preamble Enable o o 1 1 0 1 0 1 SYNl } SYNO/SYNl CRC/SYNl CRC/SYNO/SYNl Tx Underrun ' ,. Cond,Uon Figure 14. Channel Mode Register, Bisync Mode 102 Address: 00001 Irn~rn~rn~rn~rnllrnolooloolwl~loolwlooloolrnlool II II 0 0 0 0 1 0 1 1 1 1 1 0 HDLC} Receiver Mode Disabled One Byte, No Control One Byte, Plus Conlrol } Extended, Plus Control RxAddress Search Mode Rx 16·Bit Control Rx logical Cootrol Enable 0 1 1 0 HDLC } Transmitter Mode Shared Zero Flags Tx Preamble Enable o 0 1 1 0 1 o Abort } Extended Abort Flag CRClAag 1 Tx Underrun Cond'. I.on Figure 15. Channel MOde Register, HOLC Mode Address: 00001 IIII 0 1 1 1 Transparent BiSynC} Receiver Mode EBCDIC Reserved 0 1 1 1 Transparent Bisync } =:mitter EBCDIC Tx Preamble Enable o o o 1 o 1 1 1 SYN OLEISYN } CRC/SYN CRC/OLEISYN Tx Underrun CondHion Figure 16. Channel Mode Register, Transparent Bisync Mode 103 Address: 00001 I III 1 0 0 1 1 0 1 0 1 0 0 NBIP } 0 Receiver Mode 16X Data Rate} Rx Clock 32X Data Rate 64X Data Rate Rat9 Reserved Ax Parity on Data Reserved 1 0 0 1 1 0 1 0 1 0 0 0 NBIP } Transmitter Mode 16X Data Rate} 32X Data Rate Tx Clock 64X Data Rate Rate Reserved , Tx Parity on Data Tx Address Bit Figure 17. Channel Mode Register, NBIP Mode Address: 00001 1~~lrn~rn~rnllrn~ooloolmlmlool~lool~lrnlool ~ 3} . Receiver Mode Rx Address Search Reserved , 1 0 0 1 8023 } . Transnitter Mode Reserved Tx CRC on Underrun Figure 18. Channel Mode Register, 802.3 Mode 104 Address: 00001 I 1 1 0 0 II II 1 1 0 0 R Reserved Staved Monosync } =nitter Tx Short Sync Character Tx AcIIve on Received Sync Reserved Tx CRC on Undenun Figure 19. Channel MOde Register, Slaved Monosync Mode Address: 00001 I 1 1 i 0 II I I 1 1 1 0 Reserved} Receiver Mode Res...ved HOLCLoop} Transnitter Mode Shared-Zero Flags Tx Active on Poll OOAbort } o 1 Extended Abort 1 0 Rag 1 1 CRCiFlag , Tx Underrun Condition Figure 20. Channel MOde Register, HOLC Loop Mode 105 Address: 00010 ~ , 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 ,~ 8 Bits 1 en 2 Bits 4 Bits 5 Bits 6 Bits 7 Bits IRxACK(ROj fTxACK (ROj } HDLCTx Last Character Length Reserved Loop Sending (ROj On Loop (RO) 0 0 0 1 1 O. 1 1 Both Edges Rising Edge Only } Falling Edge Only Adjust/Sync Inhibn DPLL Adjust/Sync Edge Clock Missed Latched/Unlatch Clocks Missed LatchedlUniatch DPLL in SYl1c/Quick Sync RCC FIFO Clear (WO) RCC FIFO Valid (RO) RCC FIFO Overflow (RO) Figure 21. Channel Command/Status Register 106 Address: 00011 I I 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Reserved Walt lor Ax DMA Trigger No Status Block } One Word Status Block TWO Word StaIu8 Block Reserved Ax S tatus alock Transfer .., All Zeros An Ones } Alternating 1 and 0 Alternaling 0 and 1 Tx Preamble Patlem I 0 0 1 1 0 1 0 1 n~ } 16 Bits 32 Bits 64Bns Tx Shaved an Length (Async Only) (AU Sync) . Tx Preamble Length "" Reserved Wall lor Tx DMA Trigger o o 0 1 1 1 0 1 No Status Block } One Word Status Block Two Word Status Block Reselved Tx Status Block Transfer Figure 22. Channel Control Register 107 Address: 00100 IPort Bit 0 (RO) Port Bit 0 Latched/Unlatch IPort Bit 1 (RO) Port Bit 1 Latched/Unlatch IPort Bit 2 (RO) Port Bit 2 Latched/Unlatch IPort Bit 3 (RO) Port Bit 3 Latched/Unlatch IPort Bit 4 (RO) Port Bit 4 Latched/Unlatch IPort Bit 5 (RO) Port Bit 5 Latched/Unlatch IPort Bit 6 (RO) Port Bit 6 Latched/Unlatch IPort Bit 7 (RO) Port Bit 7 Latched/Unlatch Figure 23. Port Status Register 108 Address: 00101 II 0 0 1 1 0 0 1 1 0 0 1 1 , 0 0 1 1 0 0 1 1 o 0 1 1 1 0 1 o 0 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 0 1 Output 0 Outpull 3-Slate OUtput } Frame Sync Input OUtput 0 Output 1 3-Slate Output } Tx Complete OUtput Output 0 Output 1 OUtput 0 OUtput 1 ~} 3-Slate Reserv OUtput 0 Output 1 3-Slate Output } Rx TSA Gate Output Output 0 Output 1 3-Slate OUtput } Tx TSA Gate Output 3-Slate Output } Reserved OUtput 0 Output 1 3-Slate Output } Reserved Otdput 0 Output 1 3-Slate Output } Rx Sync Output 1 0 1 0 1 0 1 0 1 0 1 0 1 Port Bit 0 Pin Control Port Bit 1 PIn Control Port Bit 2 Pin Control Port BIt 3 Pin Control Port Bit 4 Pin Control Port Bit 5 Pin Control Port BIt 6 Pin Control Port Bit 7 Pin Control Figure 24. pon Control Register 109 Address: 00110 1~51~41~31~21~II~olooJoolmloolool~lool~I~lool ~ Test Data <0> Test Data <1> Test Data <2> Test Data <3> Test Data <4> Test Data <5> Test Data <6> , Test Data <7> Test Data <8> Test Data <9> Test Data <10> Test Data <11> Test Data <12> Test Data <13> Test Data <14> Test Data <15> Figure 25. Test Mode Data Register 110 Address: 00111 1015101410131012101110101091081071061051041031021 011 DOl I I I oI I 000 000 000 000 o 1 1 1 1 1 0 0 100 100 1 0 0 1 0 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 1 -1 Null Address 1 High Byte 01 Shifters CFjC Byte 0 CRCBytel Rx FIFO (Write) Clock r.tJltiplexer OUtputs CTRO and CTRI Counters Clock Multiplexer Inputs DPLLState Low Byte 01 Shifters CRC Byte 2 CRC Byte 3 Tx FIFO (Read) Reserved VO and Device Status Latches Internal Daisy Chain Reserved Reserved Reserved Reserved Reserved Reserved Rx Count Holding Register' Reserved Resented Reserved Reserved Reserved Reserved Reserved Reserved Reserved 1 0 1 1 0 1 0 o 0 1 o o 0 1 o o 0 1 1 o 0 1 1 o 1 0 o 010 o o 1 0 1 010 1 o 1 1 o o 1 1 o o o 0 1 1 o o 1 1 o o 1 1 o o 1 1 o o 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 -1 0 1 0 1 0 1 Test Register Address Reserved Figure 26. Test Mode Control Register • 111 Address: 01000 III 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 i 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 o o o 1 Disa~ed Disa~ed 1 o IRXC Pin 1 1 0 1 0 1 Dlsa~ed } 0 1 ITxC Pin CTROOulpUt CTR10ulpUt } 0 1 1 0 1 0 1 0 1 0 1 } 0 1 0 1 0 1 0 1 Disabled IRxC Pin ITxC Pin DPLl Output BRGOOulpUt BRG10u1pUt CTAG Output CTR10utput BRGO Output } BRG1 Output /AXC Pin ITxC Pin CTROOuIpUt CTR10ulpUt IRxC Pin IAxC Pin Disa~ed IRxC Pin ITxC Pin DPLLOutput BRGOOulpUt } BRG10u1pUt CTAG Output CTR10utput Transmit Clock } DPLL Clock Source BRGOClock Source BRG1 Clock Source ITxC Pin Dlsa~ed } IRxC Pin ITxC Pin 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 0 0 1 1 . CTAG Clock Source CTRl Clock Source ITxC Pin Figure 27. Clock Mode Control Register 112 Source Receive Clock Source Address: 01001 BRGO Enable BRGO Single CyclwConllnuous o o o 1 1 o 1 1 3-Stata OUtput } ' Rx Acknowledge InpuI OUtput 0 OUtput 1 IRxACK Pin Control BRG1 Enable BRG1 Single Cycle/Continuous o o 1 1 o o 1 1 o o 1 1 0 0 1 0 1 ~~%I Biphase-Mark/Space 1 Biphase-Level ITxACK Pin Control OUtput 0 OUtput 1 0 1 0 32>< Clock Mode } 16x Clock Mode 8x Clock Mode Reserved 1 0 1 3-Stata Oulpul } Tx AcknowIedgelnpul } DPLL Mode DPLL Clock Rate AIlcepI Code Violations CTR1 Rate MatCh DPWCTRO o o o 1 1 1 o 1 32x Clock Mode } 16x Clock Mode 8x Clock Mode 4x Clock Mode CTRO Clock Rate Figure 28. Hardware Configuration Register 113 'I Address: 01010 ~ IV IV <2> IV <3> IV <5> IV <1> 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 - Device Slalus } I/O Status Transmft Data Transmil Status Receive Data Receive Status Not Used IV (RO) Modified vector (RO) IV <4> (RO) IV <5> (RO) IV (RO) IV <1> (RO) Figure 29. Interrupt Vector Register 114 Address: 01011 1015101410131012101110101091081071081 OSI 041 031 021011 001 I II 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 o 0 1 1 1 0 1 o o o 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 o o 0 1 3·S1ate Output } Tx Request Output 1 0 0utpu1 0 1 1 0uIpu11 0 1 0 1 0 1 0 1 ~~ -~ } Rx Clock Output Ax Byte Clock Output SYNC Output BRGO OU1pUt BRG10utpu1 CTRO Output DPlL Ax 0uIpu1 } Tx Clock 0utpu1 Tx Byte Clock 0utpuI Tx Complete OU1pUt BRGO Output BRG10U1pUt CTR10utpu1 DPLL Tx Output Tx Data OU1pUt } 3·State outpui 0utpu1 0 0uIpu11 } 3·Slale Output Rx Request Outpu1 Outpu1 0 0uIpu11 0 0 1 1 0 0 1 1 IRxC Pin Control . !TxC Pin Conlrol TxD Pin Conlrol IRxREQ PIn Control ITxREQ Pin Control ~1 0~ ~~/~~NC Input} lOCO Output 0 Pin Control 1 o o o 1 1 o 1 1 1 0utpu11 ICTS Input ICTS Inpu1 } Output 0 0utpu11 ICTS Pin Control Figure 30. I/O Control Register 115 Address: 01100 ~ Device Status IE 110 Status IE Transmit Data IE Transmit Status IE Receive Data IE Receive Status IE 0 0 1 1 0 1 0 1 Nun Command Null Command Reset IE set IE } IE Command (WO) Reserved 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 All liO Status and Above Transmit Data and Above Transmit Status and Above Receive Data and Above Receive Status Only None " " :J. VIS Level VIS NV DLC MIE Figure 31. Interrupt Control Register 116 Address: 01101 ~ Device sIaIUS IP va Status IP Trarismh Dala IP Transmh status If' Receive Data IP Receive SIaIUS If' 0 0 1 1 0 1 0 1 tUCommam } ResetlP em IUS f\es8tlP SelIP IPCommem ~O)' Device Sta\US IUS va Stalus IUS Tl'8n8mh Dala IUS Tl'8n8mft $latus IUS Receive Data IUS Receive Sta\US IUS o o 1 1 0 1 0 1 Null Commem } Null Commem ResetlUS Set IUS , IUS eo",mand , ~O) Figure 32. Dal~y-Chain Control Register 117 Address: 01110 ID1SI014101SI0!210lllD10J 09 J001071061051041 J02·1 Ql 1 J.. OS DO ~ • BflGO ZC LalchediUniatch BRG1.ZC LalchedlUnlalch DPLL SYNC LaIched'Unialch RCC Overflow LalchedlUnialch ICTS (RO) lers Lalched/Unlalch . IDCD(RO) IDCD Lalched/Unlalch ITxREQ(RO) ITxREQ LatChedlUnialch IRxREQ(RO) IRxREQ LalchedlUnlalch ' ITxC(RO) ITxC Lalched/Unlalch IRxC(RO) IRxC Latched/Unlalch Figure 33. Miscellaneous Interrupt Status Register 118 Address: 01111 BRGOZCIE BRGl ZCIE DPLLSYNCIE Rce Overflow IE o o 1 1 o o o 1 o 1 1 o o 1 1 o o 1 1 o o 1 1 o 1 o 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 1 Disabled } Rising Edge Only Failing Edge Only Both Edges Disabled } Rising Edge Only Falling Edge Only Both Edges Disabled } Rising Edge Only Falling Edge Only Both Edges . Disabled } Rising Edge Only , Falling Edge Only Both Edges Disabled } Rising Edge Only Falling Edge Only Both Edges Disabled } Rising Edge Only Falling Edge Only Both Edges 0 o o ICTS Interrupts IDCD Interrupts ITxREO Interrupts IRxREO Inlerrupts ITxC Interrupts IRxC Interrupts Figure 34. Status Interrupt Control Register 119 Address: 1xOOO ~ RxDAT <0> (RO) RxDAT <1>,(RO) RxDAT <2> (RO) RxDAT <3> (RO) RxDAT <4> (RO) RxDAT <5> (RO) RxDAT <6> (RO) RxDAT <7> (RO) RxDAT <8> (RO) RxDAT <9> (RO) RxDAT <10> (RO) 'FixDAT <11> (RO) RxDAT <12> (RO) RxDAT <13> (RO) , RxDAT <14> (RO) RxDAT <15> (RO) Figure 35. Receive Data Register I· 120 Address: 10001 II 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 8 BIts 1811 2 BIts 3 BIts 4 BIts 5 Bits 6Bita 7Bits , 01sabia Immediately } Disable After Reception Enable Wilhoul Auto-Enables Enable With Auto-Enables Ax Enabla } Rx Character Length Rx Parity Enable 0 0 0 1 1 0 1 1 ~n} Space Mark Rx Parity Sensa Reserved Rx CRC Enabla Ax CRC Preset Value 0 0 1 1 '0 0 0 0 1 1 O· 1 1 1 1 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 CRC-CCllT } CRC-16 CRC-32 Reserved NRZ NRZB NRZI-Mark NRZI'Space Biphasa-Mark Biphasa-Space Biphasa-Lavel oiH. Biphasa-Lavel AxCRC Polynomial } Rx ~ata Decoding Figure 36. Receive Mode Register 121 Address: 10010 Im5Im~m3Im~mllm~ooloolwlooIMI~looloolml~1 ~ \ Rx Charecter Available (RO) RxOVerrun Parity Error CRC/Franing Error (RO) Rx CVIEOT/EOF Rx Break/Abort Rx Idle Exited Hunt \ Short Frame/CV Polarity (RQ) Residue Code 0 (RO) Residue Code 1 (AO) Residue Code 2 (AO) I, 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0, 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 Null Command "'\ Reserved PresetCRC Enter Hunt Mode Select TImeslot Assignmenl Select FIFO Status Select FIFO Interrupt Level Select FIFO Aequest Level Reserved Reserved Reserved Reserved Reserved Reserved Reserved .,) Receive Comrnand (WO) First Byte in Error (RO) Second Byte in Error (RO) Figure 37. Receive Command Status Register 122 Address: 10011 101510141013101201110101091 osi 071 061 osl 041031 021 011 001 ~ . TCOR Read CountITC Rx Overrun IE Parity Errer IE Status on Words R. CVIEOT/EOF IE Rx BreakiAborlIE Rx Idle IE Exiled Hunt IE Rx FIFO Control and Status (F1IVk)Ierrupt/DMA Level) Figure 38a. Receive Interrupt Control Register , Address: 10011 I0151~I01~012I011I010109loslml06ID61041001~I01I001 ~ TCOR Read CountITC Rx Overrun IE Parily Error IE Status on Words Rx CV/EOTIEOF IE Rx,BreaklAborlIE / Rx Idle IE Exiled Hunt IE o limeslot (0-127) Figure 38b. Receive Interrupt Control Register 123 Address: 10011 1015J01410131012101110101 091 osl 071 061051 D4 031021011001 ~ TCOR Read CountlTC Rx Overrun IE Parity Error IE Status on Words Rx CV/EOT/EOF IE Rx Break/Abort IE Rx Idle IE Exited Hunl IE 1 (WO) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 o o o o 1 1 1 1 o o o 1 1 1 o 1 1 o 1 o o o 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 No Offset 7 Clocks Offset 6 'Clocks Offset 5 Clocks Offset 4 Clocks Offset } 3 Clocks Offset 2 Clocks Offset 1 Clock Offset No Slot (Oisabled) ""'\ 1 Slot 2 Slots 3 Slots 4 Slots 5 Slots 6 Slots 7 Slots SSlots 9 Slots 10 Slots 11 Slots 12 Slots 13 Slots 14 Slots 15 Slots Concatenated Slots (WO) Slot Offset rNO) Figure 3Bc. Receive Interrupt Control Register 124 Address: 10100 ~ RSYN RSYN <1> RSYN <2> RSYN<3> RSYN<4> RSYN<5> RSYN<6> RSYN <7> RSYN<8> RSYN<9> RSYN <10> RSYN <11> RSYN <12> RSYN <13> RSYN <14> RSYN <15> Figure 39. Receive Sync Register 125 Address: 1,0101 ~ RCL<1> RCL<2> RCL<3> RCL<4> RCL<5> RCL <6> RCL<8> RCL<9> RCL<10> RCL<11> RCL <12> RCL <13> RCL <14> RCL<15> Figure 40. Receive Count Limit Register 126 Address: 10110 ~~~m~m2Im1Im~ooloolmloolool~loolmlmlooJ ~ RCC (RO) RCC<1> (RO) RCC<2> (RO) RCC<3> (RO) RCC<4> (RO) RCC<5> (RO) RCC<6> (RO) RCC<7> (RO) .. RCC <8> (RO) RCC<9> (RO) RCC <10> (RO) RCC <11> (RO) RCC <12> (RO) RCC <13> (RO) RCC <14> (RO) RCC <15> (RO) Figure 41. Receive Character Count Register 127 Address: 10111 .' I I ~ TCO TCO <1> TCO<2> TCO<3> TCO<6> TCO<7> TCO<8> TCO<9> TCO<10> TCO TCO<13> TCO<14> TCO<15> Flqure 42. Time Constant 0 Register 128 Address: 1xOOO ! ~ TxDAT <0> (WO) TxDAT <1> (WO) TxDAT <2> (WO) TxDAT <3> (WO) TxDAT <4> (WO) TxDAT <5> (WO) TxDAT <6> (WO) TxDAT <7> (WO) TxDAT <8> (WO) TxDAT <9> (WO) TxDAT <10> (WO) TxDAT <11> (WO) TxDAT <12> (WO) TxDAT <13> (WO) . TxDAT <14> (WO) TxDAT <15> (WO) Figure 43. Transmit Data Register 129 Address: 11001 I I 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 8 Bits' 1 BH 2 Bits 3 Bits 4 Bits 5 Bits 6 Bits 7BHs Dis able Immediately } Disable After Transmission Enable Without Auto-Enables Enable With Auto-Enables }r x Character ength Tx Parity Enable 0 0 1 1 0 1 0 1 Even ~ce } Tx Parity Sense Mark Tx CRC on EOF/EOM Tx CRC Enable . 0 0 1 1 o o o o o 1 o 1 o o 1 1 1 1 1 1 o 1 o o 1 o 1 1 0 1 0 1 CRC-CCITT } CRC-16 CRC-32 Reserved NAZ NRZB NAZI-Mark NAZI-Space Biphase-Mark Biphase-Space Biphase-Level Dill. Biphase-Level TxCRC Polynomial } Tx Data Encoding Figure 44. Transmit Mode Register 130 Tx CRC Preset Value Tx Enable Address: 11010 ~ Tx Buner Empty (RO) Tx Underrun AI Sent (RO) TxCRCSent Tx EOF/EOT Sent Tx Abort Sent Tx leIe Sent 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 ~--. Alternating 1 and 0 All Zeros All Ones Reserved Alternating Marl< and Space Space Marl< } Tx Preamble Sent Tx klle U ne Condition Reserved 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 Nul Command Reserved PresetCRC Reserved Select TImestot Assignment Select FIFO Status Select Interrupt level Select Request Level Send FramelMessage Send Abort Reserved Reserved Reset OLE Inhibit Set OLE Inhibit Reset EOF/EOM Set EOFIEOM TransmH Command (WO) Figure 45. Transmit Command/Status Register 131 Address: 11Q11 TC1R Read CountITC Tx Overrun IE WaH lor Send Command Tx CRC Sen1IE Tx EOFIEOT Senl IE TX Abort Sen1IE Tx Idle SenIlE Tx Preamble Sen1IE Tx FIFO Conlrol and Status (FilVlnlerruptlOMA Level) Flgure'46a. Transmit Interrupt Control Register Address: 11011 ~+~m~m~m1Im~oojooj~I~lool~loolmlmlool ~ TC1R Read CountITC Tx Underrun IE Wall lor Send Command Tx CRC Sen1IE Tx EOFIEOT SenIlE Tx Abort SenIlE Tx Ille Sen1IE Tx Preamble SenIlE o Tomeslol(Q-127) Figure 46b. Transmit Interrupt Control Register \ Address: 11011 ~ TCI R Read CountfTC Tx Undeirun IE Wail for Send Command Tx CRC SenIlE Tx EOFJEOT SenIlE Tx Abort Sent IE Tx Idle SenIlE Tx Preamble Senl IE 1 (WO) 0 0 0 0 0 () 0 0 1 1 1 1 1 1 1 1 o o o o 1 o o o 1 1 1 1 1 1 o 1 1 1 o o o 1 1 o 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 NoOHset 7 Clocks Offset 6 Clocks Offset 5 Clocks Offset 4 Clocks Offset } 3 Clocks Offset 2 Clocks Offset 1 Clock Offsel No Slol (Disabled) 1 Slol 2SIols 3SIols 4 Slots 5SIols 6SIols 7 Slols 8SIols 9 Slols 10SIols 11 Slols 12 SlolS 13 Slols 14 SlolS 15 Slots Concalenaled Slols (WO) SlolOffsel (WO) Figure 46c. Transmit Interrupt Control Register 133 Address: 11100 ~~~lm3Im~mllmol~I~I~lool~I~I~I~lmlool' ~ TSYN TSYN<1> TSYN<2> TSYN<3> TSYN<4> TSYN<6> TSYN<8> I TSYN-;9> TSYN<10> TSYN <11> TSYN,<12> TSYN,,13> TSYN<14> TSYN<15> Figure 47. Transmit Sync Register 134 Address: 11101 TCl TCl<1> TCl <2> TCl<3> TCl <4> TCl <5> Tel <6> TCl <7> TCl <8> TCl <9> TCl<10> TCl <11> TCl <12> TCl <13> TCl <14> TCl <15> Figure 48. Transmit Count Limit Register 135 Address: 11110 TCC <0> (RO) TCC<1> (RO) TCC <2> (RO) TCC <3> (RO) TCC<4> (RO) TCC <5> (RO) TCC <6> (RO) TCC <7> (RO) TCC<8> (RO) TCC <9> (RO) TCC <10> (RO) TCe <11> (RO) TCC <12> (RO) TCC <13> (RO) TCC <14> (RO) TCC <15> (RO) Figure 49. Transmit Character Count Register 136 • Address: 11111 1~~m3Im~m11~~oolool~loolool~loolmlmlool ~ Te1 <0> Te1 <1> Te1 <2> Te1 <3> Tel <4> Tel <5> Tel <7> Tel <8> Tel <9> Tel <10> Tel <11> Tel <12> Tel <13> Tel <14> Tel <15> , Figure 50. Time Constant 1 Register 137 " ...... ~~~~ .~--".-."."" .. .... ..-.""". " -~ . "'~I .I.~ "." '", ..m~'~"""""'- ~- , - ___ " Add!:ess; None * Rx OVerrun Parity Error CRCError Rx CVlEOT/EOF o o o Short Frame/CV Polarity Residue Code 0 Residue Code 1 Residue Code 2 o o First Byte in Error Second Byte in Error * Refer to Figure 22 (Chamel Control Register) Btts 6-7 for Access Method Figure 51. Receive Status Block Register 138 Address: None * III~ ,~ 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 8Bi'a 1 Bi. 2 Bils Reserved } HDLCTx L$SI 4 Bils 5 Bits 6 Bits 7 Bils Character Length Reserved Tx Submode 0 Tx Submode 1 Tx Submode 2 TxSubmode3 * Reier 10 Figure 22 (Chamei Control Regis.er) Bi1s15-14lor Access Method Figure 52. Transmit Status Block Register 139 __ ~,,' _ _, "' ............... "'T-~-,_~ ___ ~. _ _ ._ .......... - - - . . - .... ~ - ..J" Address: None 10151014101310121011 0101 091 081 071 061 051 041 031 021 ~11 00 1 Shift Righi Addresses Oouble-Pulse INTACK IS-Bit Bus 0* Reserved 3-State AU Pins Separate Address for 8-Bit Bus * Must be programmed as zero. Figure 53. Bus Configuration Register MUSCTIMING The MUSC interface timing is similar to that found on a static RAM, except that it is much more flexible Up to eight separate timing strobe signals are present on the interface: IDS, IRD, IWR, IPITACK, IRxACKA, IRxACKB, /TxACKA and /TxACKB. Only one of these timing strobes may be active at any time. Should the external logic activate more than one of these strobes at ttle same time the MUSC will enter a pre-reset state. 1his state is only exited by a hardware reset. Do not allow overlap of timing strobes. The timing diagrams, beginning on the next page, illustrate the different bus transactions possible, with the necessary setup, hold and delay times. ABSOLUTE MAXIMUM RATINGS Voltages on all pins ' with respect to Vss .................................. -0.3 V to +7.0 V Voltages on all inputs with respect to Vss ............................ -O.3V to Vcc +0.3V Operating Ambient Temperature ............................ See Ordering Information Storage Temperature ............................. -65°C to + 150°C 140 Stresses greater than those listed Under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only; operation of the device at any condition above those indicated in the operational sections of these specifications is not implied. Exposure to absoiute maximum rating conditions for extended periods may affect device reliability. STANDARD TEST CONDITIONS +5V The DC Characteristics and Capacitance section below apply for the following standard test conditions, unless otherwise noted: All voltages are referenced to GND Positive current'flows into the referenced pin. Standard conditions are as follows: 2K From 0UIput Under Test +4.5 V < Vee < +5.5 V GND=OV TA as specified in Ordering Information o----1............t - - - D -..... 50pF I Figure 54. Standard Test Load CAPACITANCE Symbol Parameter Min Input Capacitance Output Capacitance Bidirectional Capacitance Max Unit 10 15 pF pF pF 20 Condition Unmeasured Pins Returned to Ground Nole: f= 1 MHz, over specified temperature range. Unmeasured pins returned to ground. MISCELLANEOUS Transistor Count -100,000 DC CHARACTERISTICS Z16C33 Symbol Parameter VH V.. VOH 1 VOH2 Input High Voltage Input Low Voltage Output High Voltage Output High Voltage VOl III. 101. Icc 1 Output Low Voltage Input Leakage Output Leakage Vcc Supply Current Min Typ 2.2 -0.3 2.4 Vee-0.8 Max Unit Vee +0.3 0.8 V V 7 0.4 +10.00 +10.00 50 !1A !1A Condition V V IOH= -1.6mA IOH= -250 !1A V 101.= +2.0mA 0.4 < VIN < +2.4V 0.4 < Vour < +2.4V mA V~=5V VIH=4.8V V'L = 0.2V Nole: Vor: 5V ± 10% unless otherwise specified, over specified temperature range. = _ 141 AC CHARACTERISTICS Z16C33 1 No Symbol Parameter I 1 2 3 Min Max Units 4 Tcyc TwASI TwASh TwDSI Bus Cycle Time lAS Low Width lAS High Width IDS Low Width 160 40 90 70 ns ns ns ns 5 6 7 8 TwDSh TdAS(DS) TdDS(AS) TdDS(DRa) IDS High Width lAS Rise to IDS Fall Delay Time IDS Rise to lA's Fall Delay Time IDS Fall to Data Active Delay 60 5 5 0 ns ns ns ns 9 10 11 12 TdDS(DRv) TdDS(DRn) TdDS(DRz) TsCS(AS) IDS IDS IDS ICS 13 14 15 16 ThCS(AS) TsADD(AS) ThADD(AS) TsSIA(AS) ICS to lAS RiSe Hold Time . 17 18 19 20 21 22 23 24 85 15 ns ns ns ns Direct Address to lAS Rise Setup Time Direct Address to lAS Rise Hold Time lSI TACK to lAS Rise Setup Time 0 15 5 15 ns ns ns ns ThSIA(AS) TsAD(AS) ThAD(AS) TsRW(DS) ISITACK to lAS Rise Hold Time Address to lAS Rise Setup Time Address to lAS Rise Hold Time R//W to IDS Fall Setup Time 5 15 5 0 Th~IW(DS) TsDSf(Rf1Q) TdDSr(RRQ) lsDW(DS) R//W to IDS Fall Hold Time IDS Fall to IRxREG) Inactive Delay IDS Rise to IRxREQ Active Delay Write Data to IDS Rise Setup Time 25 26 27 28 ThDW(DS) ldDSf(TRQ) TdDSr(TRQ) TwRDI Write Data to DS Rise Hold Time IDS Fall to ITxREQ Inactive Delay IDS Rise to /TxREQ Active Delay IRD Low Width 0 70 ns ns ns ns 29 30 31 32 TwRDh TdAS(RD) TdRD(AS) rdRD(DRa) IRD High Width lAS Rise to IRD Fall Delay Time IRD Rise to lAS Fall Delay Time IRD Fall to Data Active Delay 60 5 5 0 ns ns ns ns 33 34 35 36 TdRD(DRv) TdRD(DRn) TdRD(DRz) TdRDf(RRQ) IRD IRD IRD IRD 37 38 39 40 TdRDr(RRQ) TwWRI TwWRh TdAS(WR) IRD Rise to IRxllEQ Active Delay IWR Low Width IWR Higll Width lAS Rise to IWH Fall Delay Time 0 70 60 5 ns ns ns ns 41 42 43 44 TdWR(AS) TsDW(WR) ThDW(Wn) TdWnt(TRQ) /WR Hise to lAS Fall Delay Time Write Data to /WR Hise Setup Time Write Data to IWR Rise Hold Time IWR Fall to {TxREQ Inactive Delay 5 30 0 ns ns ns ns 142 Fall to Data Valid Delay Rise to Data Not Valid Delay Rise to Data Float Delay to lAS Rise Setup Time Fall to Data Valid Delay Rise to Data Not Valid Delay Rise to Data Float Delay Fall to IRxREQ Inactive Delay 0 20 Note [1 J [1 J ------ns ns ns ns 60 0 30 0 65 85 0 20 60 65 ns ns ns ns ns ns ns ns [4J [5J [4J [5J AC CHARACTERISTICS Z16C33 No Symbol Parameter Min 45 46 47 48 TdWRr(TRQ) TsCS(DS) ThCS(DS) TsADD(DS) /WR Rise to ITxREQ Active Delay ICS to IDS Fall Setup Time ICS to IDS Fall Hold lime Direct Address to IDS Fall Setup Time 49 50 51 52 ThADD(DS) TsSIA(DS) ThSIA(DS) TsCS(RD) 53 54 55 56 57 58 59 Units Note 0 0 25 5 ns ns ns ns [2] [2] [1,2] Direct Address to IDS Fall Hold Time· ISIT ACK to IDS Fall Setup time ISITACK to IDS Fall Hold Time ICS to IRD Fall Setup Time 25 5 25 0 ns ns ns ns [1,2] 12J [2] [2] ThCS(RD) TsADD(RD) ThADD(RD) TsSIA(RD) ICS to IRD Fall Hold Time Direct Address to IRD Fall Setup Time Direct Address to IRD Fall Hold Time ISITACK to/RD Fall Setup Time 25 5 25 5· ns ns ns ns [2] [1,2) [1,2) [2] ISIT ACK to IRD Fall Hold Time ICS to /WR Fall Setup Time ICS to /WR Fall Hold Time 60 ThSIA(RD) TsCS(WR) ThCS(WR) TsADD(WR) Direct Address to /Wil Fall Setup Time 25 0 25 5 ns ns ns ns [2] [2] [2) [1,2) 61 62 63 64 ThADD(WR) TsSIA(WR) ThSIA(WR) TwRAKI Direct Address to /WFl Fall Hold Time ISITACK to/WR Fall Setup Time. ISIT ACK tb /WR Fall ~ laid Time IRxACK Low Width 25 5 25 70 ns· ns ns ns [1,2] [2) [2] 65 66 67 68 TwRAKh TdRAK(DRa) TdRAK(DRv) TdRAK(DRn) IRxACK IRxACK IRxACK IRxACK 60 ns ns ns ns 69 70 71 72 TdRAK(DRz) TdRAKf(RRQ) TdRAKr(RRQ) TwTAKI JRxACK Rise to Data Float Delay IRxACK Fall t9/RxREQ Inactive Delay IRxACK Rise to IRxREQ Active Delay /TxACK Low Width 73 74 75 76 TwTAKh TsDW(TAK) ThDW(TAK) TdTAKf(TRQ) ITxACK High Width Write Data to /TxACK Rise Setup Time Write Data to /TxACK Rise Hold Time /TxACK Fall to /TxREQ Inactive Delay 30 0 77 /TxACK Rise to /TxREQ Active Delay 0 80 TdTAKr(TRQ) TdDSf(RDY) TdRDY(DRv) TdDSr(RDY) IDS Fall (Intack) to IRDY Fall Delay IRDY Fall to.oata Valid Delay IDS Rise to IRDY Rise Delay 81 82 83 84 TsIEI(DSI) ThIEI(DSI) TdIEI(IEO) TdAS(IEO) lEI to IDS Fall (Intack) Setup Time lEI to IDS Rise (Intack) Hold Time lEI to lEO Delay lAS Rise (Intack) to lEa Delay / 85 86 87 88 TdDSI(INT) IdDSI(Wf) TdDSI(Wr) TdW(DRv) IDS Fall to liNT Inactive Delay IDS Fall (Intack) to /WAIT Fall Delay IDS Fall (Intack) to/WAIT Rise Delay 200 40 /WAIT Rise to Data Valid Delay 40 78 79 High Width Fall to Data Active Delay Fall to Data Valid Delay Rise to Data Not Valid Delay Max 0 85 0 20 60 0 70 60 65 200 40 40 60 0 60 60 200 ns ns ns ns ns ns ns ns [4] [5) ns ns ns ns ns ns ns ns ns ns ' ns ns / 143 AC CHARACTERISTICS Z16C33 No Symbol Parameter 89 91 92 TdRDf(RDY) TdRDr(RDY) TsIEI(RDI) ThIEI(RDI) IRD Fall (Intack) to IRDY Fall Delay IRD Rise to IRDY Rise Delay lEI to IRD Fall (In tack) Setup Time lEI to IRD Rise (Intack) Hold Time 93 94 95 96 TdRDI(INT) TdRDI(Wf) 'rdRDI(Wr) TwPIAI IRD Fall (Intack) to liNT Inactive Delay IRD Fall (Intack) to /WAIT Fall Delay IRD Fall (Intack) to /WAIT Rise Delay 97 98 99 100 TwPIAh TdAS(PIA) TdPIA(AS) TdPIA(DRa) IPI1ACK Fall to Data Active Delay 101 102 103 104 TdPIA(DRn) TdPIA(DRz) TsIEI(PIA) ThIEI(PIA) IPITACK Rise to Data Not Valid Delay IPIT ACK Rise to Data Float Delay lEI to IPITACK Fall Setup Time lEI to IPITACK Rise Hold Time 105 106 107 108 TdPIA(IEO) TdPIA(INT) TdPIAf(RDY) TdPIAr(RDY) IPITACK Fall to lEO Delay IPITACK Fall to liNT Inactive Delay IPITACK Fall to IRDY Fall Delay IPITACK Rise to IRDY Rise Delay 60 200 200 40 ns ns ns ns 109 110 111 112 TdPIA(Wf) TdPIA(Wr) TdSIA(INT) TwSTBh IPITACK Fall to /WAIT Fall Delay IPITACK Fall to /WAIT Rise Delay lSI TACK Fall to lEO Inactive Delay /Strobe High Width 40 200 200 ns ns ns ns 113 114 115 116 TwRESI TwRESh TdRES(STB) TdDSf(RDY) IRE SET Low Width IRESET High Width IRESET Rise to ISTB Fall IDS Fall to IRDY Fall Delay 117 118 119 120 TdWRf(RDY) TdWRr(RDY) TdRDf(RDY) TdRAKf(RDY) 121 122 123 TdRAKr(RDY) TdTAKf(RDY) TdTAKr(RDY) 90 Max Units 200 40 ns ns ns ns 200 40 200 60 0 IPITACK Low Width 70 ns ns ns ns IPITACK High Width 60 5 5 0 ns ns ns ns lAS Rise to IPITACK rail Delay Time IPITACK Rise to lAS Fall Delay Time 0' 20 60 0 60 170 60 60 Note ns ns ns ns 50 ns ns ns ns IWR Fall to IRDY Fall Delay IWR Rise to IRDY Rise Delay IRD Fall to IRpy Faill)elay IRxACK Fall to IRDY Fall Delay 50 40 50 50 ns ns ns ns IRxACK riise to IRDY Rise Delay ITxACK Fall to IRDY Fall Delay ITxACK Rise to IRDY Rise Delay 40 50 40 ns ns ns Noles: [1] Direct address is any of PS, DIIC or ADI5-AD8 used as an address bus. [2] The parameter applies only when lAS is not present. [3] Strobe (lST9) is any of IDS, IRD, /WR, tpITACK, /RxACK or /TxACK. [4] Parameter applies only if read empties the receive FIFO. [5] Parameter applies only if write fills the transmit FIFO. 144 Min [2] [3] [3] IRESET 1 ~ t·1 ~ ~ ~ ISTB 115 Figure 55. Reset Timing ISTB tl-----(-CDH--t~ ( ~~-----------------------~CD~----~.J Figure 56. Bus Cycle Timing Note: ISlB is any of the following: IDS, /RD, /WR, /pITACK,/RxACK, or /TxACK. IRxACK ~--------~~~--------~ ~------~~r-----~ ADO-AD15 IRxREQ IWAITIIRDY (Wait) IWAITIIRDY (Ready) Figure 57. DMA Read Cycle 145 " ITxAqK t -5 72 K ) AOO-A015 -@ 74 ITxREQ J ~. /wAIT/fROY (Walt) J /wAIT/fROY J (Ready) J 22 Figure 58. DMA Write Cycle 146 rof-®- r\ 23 ~ K ) ICS @--f- 13 K ) PS,DIIC @-I- -® ~ ) ISITACK @-flAS ~~ HD= -@ ~-@3 1 ) RlIW ~ 7 \. @-- --@ ~ IDS J ~ foo~ @-f- -f-@ foo-@- 11 9 ~ J IRxREQ .. -®-- 22 IWAITIIRDY (Walt) ~ IWAITIIRDY (Ready) ~ '\ ) ) ADO·AD15 5 ) 116 79 --®-- Figure 59. Multiplexed IDS Read Cycle 147 K ) ICS ~~ K ) PS,DIIC @-~ 1S l\ j fSlTACK @-~ --, ~ lAS , 13 -@ - \ IJ ~ f---®- 7 1 / \: RlIW ®+- I 21 ./ ~r.: IDS ~ ~ )1 ADO-AD15 @-- K S )1 19 24 26 IWAIT/IADY (Walt) J IWAITIIRDY (Ready) J --@- ) 16 Figure 60. Multiplexed IDS Write Cycle 148 -®- l\ j fTxREQ [( --®- K )1 ICS @-- 13 K )1 PS,DIIC @-- 15 j ISITACK \ ®-flAS ~~ -@) ~. ~ I-&-- f-®IRD 31 1 l \ 28 ) ADQ-AD15 @-r- 31[ 29 )1 :-~4 ~ ~~ 33 j IRxREQ ~ ~-®- -® IWAITflRDY (Wait) IWAITflRDY (Ready) '- .J J j 119 79 ---®- Figure 61. Multiplexed IRD Read Cycle 149 J( )l ICS @-I- 13 \)l PS,DIIC J @--I- 15 J\ I ISITACK @--IlAS ~I\ 17 ~ \ I=®== HorIWR ): ADO-AD15 18 41 1 ' " lK " 38 >- -@ -@ IWAITIIRDY (Wait) IWAITIIRDY (Ready) --.I --.I 43 +-@J 117 Figure 62. Multiplexed IWR Write Cycle 150 lK 42 I ITxREQ ~ 39 f-@- ~ K )1 ICS @-- 47 K ) PS.D/IC ®-- 49 ~ I ISITACK @-- -® f\. I RlIW @-- 21 i ~ IDS 5 4 '- 1 ) f- ADO-AD15 foo~ 8 . r-=®- ~ ~ I IRxREQ r-f-@- -@-IWAIT~/RDY (Walt) IWAITIIRDY (Ready) J J I --@ 78 f--®- Figure 63. Non-Mu!tlplexed IDS Read Cycle 151 K ) ICS @-'-- 47 K ) PS,DIIC @-,- 49 J ISITACK ~ -® @-RlIW , / '\ ~ 21 / IDS '" \... 5 4 0 lK ) ADO-AD15 -®-- --®- ) ITxREQ f---®IWAITIIRDY (Wait) J IWAITIIRDY (Ready) J .. ~ J~ h!H Figure 64. Non-Multiplexed IDS Write Cycle 152 1\ -®- K )1 lOS @--- K )1 PS.O/IC 53 ®-- I ISITAOK 55 ~ ®-- 57 l IRO oj \. 28 29 1 )1 l ADO-A015 ~~ 32 33 IRxREQ ~ J IWAITIIROY --./ (Ready) f--.@ I . J~ I IWAITIIROY (Wait) ' ~-®- I 79 f-®- Figure 65. Non-Multiplexed IRD Read Cycle 153 K ) /CS .®-- 59 K ) PS,DIIC ®-~ 61 \ J ISITACK ®-- 63 "Il: ~ l /wR 38 ~ 0 ) ADO-AD15 ) -@-- J f-®- ITxREQ /wAITIIRDY (Wail) /wAIT//RDY (Ready) J J ~ J\ foo~ ! ~ I ~ Figure 66. Non-Multiplexed twA Write Cycle 154 lAS ISITACK IDS ADO-AD 15 /wAITIIADY (Wait) /WAIT/lADY (Ready) 11:1 lEO liNT Figure 67. Multiplexed IDS Interrupt Acknowledge Cycle 155 - - - -_ _ _ _ _ _ •• '.~' __M_"_ .. +~H ..."....,.~~" - _ _ •• " lAS ISITACK IRO AOO-A015 IWAITI/ROY (Wail) IWAITI/ROY (Ready) lEI lEO liNT Figure 68. Muitilllexed IRD Interrupt Acknowledge Cycle 156 ,-------- lAS IPITACK ADO-AD15 IWAITIIRDY (Walt) IWAITIIRDY (Ready) lEI lEO liNT Figure 69. Multiplexed Pulsed Interrupt Acknowledge Cycle 157 ISITACK IDS ADO-AD1S IWAITIIRDY (Wail) IWAITIIRDY (Ready) lEI lEO liNT Figure 70. Non-Multiplexed IDS Interrupt Acknowledge Cycle 158 ISITACK lAD ADO-AD15 IWAITIlROV (Walt) IWAITIIRDV (Ready) lEI lEO liNT Figure 71. Non-Multiplexed IRD Pulsed Interrupt Acknowledge Cycle 159 IPITACK ~--------400~------~~ ADO-AD15 ......-----6tool----- Cf---- \_-CQ \ ___r --\_-h1kA"'--~\----r ---------------~ ------------------~~------------------Figure 75. Z16C33 General Timing 163 AC CHARACTERISTICS Z16C33 General Timing No Symbol' Parameter 1 2 3 4 TsRxO(RxCr) ThRxO(RxCr) TsRxd(RxCf) ThRxO(RxCf) RxO RxO RxO RxO 5 6 7 TsSy(RxC) ThSy(RxC) TdTxCf(TxO) TdTxCr(TxO) lOCO as ISYNC to IRxC Rise Setup Time lOCO as ISYNC to IRxC Rise Hold Time (x1 Mode) /TxC Fall to TxO Delay ITxC Rise to TxO Delay 10 11 12 TwRxCh TwRxCI TcRxC TwTxCh IRxC High Width IRxC Low Width IRxC Cycle Time ITxC High Width 40 40 100 40 ns ns ns ns 13 14 15 16 TwTxCI TcTxC TwExT TWSY /TxC Low Width /TxC Cycle Time lOCO or ICTS Pulse Widlh lOCO as ISYNC Input Pulse Width 40 100 70 70 ns ns ns ns 8 9 164 to IRxC to IRxC to IRxC to /RxC Min Rise Setup Time (x1 Mode) Rise Hold Time (xl Mode) Fall Setup Time (x1 Mode) Fall Hold Time (x1 Mode) Max Units Note 0 40 0 40 ns ns ns ns [1,3] [1,3) 0 ns ns ns ns [ 1] [1] [2] [2,3] 40 50 50 [1 ) [1 ) IRxC,lTxC Receive IRxREO Request IRxC as Receiver Output liNT IRxC,lTxC Transmit ITxREO ITxCas Transmitter Output liNT ICTS, lOCO, ITxREO, IRxREO __________~lK~---------------------- liNT Figure 76. Z16C33 System Timing 165 AC CHARACTERISTICS Z16C33 System Timing No Symbol " Parameter 1 2 TdRxC(REO) TdRxC(RxC) TdRxC(INT) TdTxC(REQ) IRxC Rise to JRxREQ Valid Delay ITxC Rise to IRxC as Receiver Output Valid Delay /AxC Rise to liNT Valid Delay TdTxC(TxC) TdTxC(INT) TdEXT(INT) IRxC Fall to /TxC as transmitter Output Valid Delay /TxC Fall to liNT Valid Delay ICTS, lOCO, /TxREQ, IRxREQ transition to liNT Valid Delay 3 4 5 6 7 /TxC Fall to /TxREQ Valid Delay NOles: \ [I] /AxC is/AxC or {TxC, whichever is supplying the receive clock. [2] {TxC Is (TxC or /AxC, whichever is supplying the transmit clock. [3] Parameter applies only to FM encoding/decoding 166 " Min , Max Units 100 ns nl? ns ns [2J [21 [2J , l2J 100 ns ns [2) 100 ns' 100 100 100 100 Note ~ZiI.m PRELIMINARY PRODUCT SPECIFICATION Z16C35 CMOS ISCCTM INTEGRATED SERIAL COMMUNICATIONS CONTROLLER FEATURES • • • • • • • • • Sup'ports all Zilog CMOS SCC features: Low power CMOS technology Two general-purpose SCC channels, four OMA channel; and a Universal Bus Interface Unit. Software compatible to the Zilog CMOS SCC Four OMA channels; two transmit and two receive channels to and from the SCC. Four gigabyte address range per OMA channel • Programmable OMA channel priorities 32-bit addresses multiplexed to 16-pin address/data lines • 8-bit data supporting high/low byte swapping 10 and 16 MHz timing 68-pin PLCC Multi-protocol operation under program control; programmable for NRZ, NRZI, or FM data encoding. Asynchronous mode with five to eight' bits and one, one and one-half, or two stop bits per character; programmable clock factor; break detection and generation; parity, overrun, and framing error detection. • Synchronous mode with internal or external character synchronization on one or two synchronous characters and CRC generation and checking with CRC-16 or CRC-CCITT preset to either 1's or O's. Independent OMA register set A Universal Bus Interface Unit providing a simple interface to most CPUs with a multiplexed or nonmultiplexed bus; compatible with 680xO and 8x86 CPUs. Two independent, 0 to 4.0 Mbit/second, full-duplex channels, each with a separate crystal oscillator, baud rate generator, and digital phase-locked loop circuit for clock recovery. •• Flyby OMA transfer mode • • • • • SOLC/HOLC mode with comprehensive frame-level control, automatic zero insertion and deletion, I-field residue handling, abort generation and detection, CRC generation and checking, and SOLC Loop mode . operation. • Local Loopback and Auto Echo modes • Supports T1 digital trunk • Enhanced SOLC 10x19 Status FIFO for OMA support • Full CMOS SCC register set GENERAL OESCRIPTION The Z16C35 ISCC is a CMOS superlntegrated device with a flexible Bus Interface Unit (BIU) connecting a built-in Oirect Memory Access (OMA) cell to. the CMOS Serial Communications Control (SCC) cell. The ISCC is a dual-channel, multi-protocol data communications peripheral which easily interfaces to CPU's with either multiplexed or non-multiplexed address and data buses. The advanced CMOS process offers lower power consumption, higher performance, and superior noise immunity. The programming flexibility of the internal registers allow the ISCC to be configur\'ld for a wide variety of serial communications applications. The many on-chip features such as, streamlined bus interface, four channel 167 GENERAL DESCRIPTION (Continued) DMA, baud rate generators, digital phase-locked loops, and crystal oscillators dramatically reduce the need for external logic. Additional features, including 10x19 bit status FIFO, are added to support high speed SDLC transfers using on-chip DMA controllers (Figure 1). . The DMA cell consists of four DMA chaRnels; one far transmit and one for receive to,and fr'Offl each SCC channel, respectively. The cycle time for each DMA transfer is 400 ns for the 10 MHz version, There is no idle cycle between DMA transfers. . The ISCC can ad(:lress up to four gigabytes per DMA channel by using the IUAS and /AS signalS to strobe out 32-bit multiplexed addresses. The DMA cell adopts a simple fly-by mode DMA transfer, allowing easy programming of the DMA cell and yet providing a powerful and efficient DMA access. The cell does not support memory-ta-memory transfer. a The ISCC handles asynchronous formats, syn~hronous byte-oriented protocols such as' IBM Bisync, and synchronous bit-oriented protocols such as HDLC and IBM SDLC. This versatile device supports vi.rtually any serial data transfer application (terminals, printers, diskette, tape drives, etc.). The device can generate and check CRC codes in any: synchronous mode and can be programmed to check data integrityin various modes. The ISCC also has faCilities for modem controls in both channels. In applications where these controls are not needed, the modem controls can be used for general-purpose I/O. The standard Zilog interrupt daisy chain is supported for interrupt hierachy control. Internally, the SCC cell has higher interrupt priority than the DMA cell. Priorities between the four DMA channels are programmable to custom-fit user applications. Arbitration at Bus' priority control signals between the ISCC DMkand other system DMA's should be handled outside the ISCC. The BI U has a universal interface to most system/CPU bus structures and timing. ThG first write to the ISCC after a hardware reset will confirm the bus interface type being implemented. Note: All Signals with a preceding front slash, "/", are active Low, e.g.: BIIW (WORD is active Low); IBIW (BYTE is active Low, only); INIIS (NORMAL and SYSTEM are both active Low). ---------------------------I I I I lEI I I I I liNT Control Signals AOl5-AOO I I I I I I A <. I I I I I I I I I I I lEO r-,. I Control Signals ... " I ... lEO ) lEI liNT ~ I I I Request t t AOl5-A08 .. I I I I 4 ChannelOMA I I IBUSACK ... ... I I I p- l..- lEO I I I __________________________ J Figure 1. Block Diagram ChannelB I I I 168 Channel A SCC . AD7-ADO 8' I U lEI . liNT IBUSREQ lEO lINT /SYNCA mTxCA GND Vee ADO ADI AD2 ADS AD4 IBUSREO PClK /SYNCS IRTxCB GND Vee ADa ISCC Z16C35 (Top View) AD5 ADa AD7 GND Vee nc AD9 AD10 ADll AD12 AD13 AD14 AD15 GND Vee nc Figure 2. Pin Assignments PIN DESCRIPTION The following section describes the Z16e35 pin functions. Figures 2 details the respective pin functIons and pIn assignments. All references to OMA are internal. IOTRA,/OTRB. Data Termmal R~ady(outputs, active Low). These outputs follow the state programmed into the OTR bit. ICTSA,/CTSB. Clear To Send(inputs, active Low). If th~se pins are programmed as AutoEnables, a Low on the inputs enables the respective transmitters. If not programmed as· Auto Enables, they may be used as general-purpose inputs. Both inputs are Schmitt-trigger buffered to accommodate slow rise-time inputs. The sec cell detects pulses on these inputs and can interrupt the CPU on both logic level transitions. lEI. Interrupt Enable In (input. .active High). lEI is used with' lEO to form an interrupt daisy chain when there is more than one interrupt driven device. A high lEI indicates that no other higher prioriiy device has an interrupt under service or is requesting an interrupt. The sec cell has a higher interrupt priority than the OMA cell. IOCOA, IDCOB. Data Carrier Detect (inputs, active Low). These pins function as receiver enables if they are programmed for Auto Enables; otherwise they are used as general-purpose input pins. Both pins are Schmitt-trigger buffered to accommodate slow rise time ,signals. The sec cell detects pulses on these pins and can interruptthe CPU on both logic level transitions. lEO. Interrupt Enable Out(output, active High) lEO is High only if lEI is High and the CPU is not servicing the Isec (SeC or OMA) interrupt, or the Isee is not requesting an interrupt (Interrupt Acknowledge cycle only). lEO is connected to the next lower priority device's lEI input and thus inhibits interrupts from lower priority devices. liNT. Interrupt(outpul, active Low). This signal is activated when the sec or OMA requests an interrupt. Note that/INT is pulled high and is not an open-drain output. ,," • 1\ ' .~\ M,,' , · PIN !lESCRIPTION (Continued) IINTACK. Interrupt Acknowledge (input, active Low) This is a strobe which indicates that an interrupt acknowledge cycle is in progress. During this cycle, the SCC and DMA , interrupt daisy chain is resolved. The device is capable of returning an interrupt vector lt1at may be encoded with the type of interrupt pending during thts acknowledge cycle when RDor DS become high. INTACK may be programmed to accept a status acknowledge, a single pulse acknowledge, or a double pulse acknowledge. This is programmed in the Bus Configuration Register (BCR). The double pulse acknowledge is compatible with 8x86 family microprocessors. PCLK. Clock (input). This· is the master SCC and DMA clock used to synchronize internal signals. PCLK is a TTL level signal. PCLK is not required to have any phase relationship with the master system clock. RxOA, RxOB. Receive Data (inputs, active High). These input signals receive serial data at standard TTL levels. IRTxCA, IRTxCB: R.eceive/Transmlt Clocks (inputs, active Low). These pins can be programmed to several modes of operation. In each channel. RTxC may supply the receive clock. the transmit clock. the clock for the baud rate generator, or the clock lor the Digital Phase-Locked Loop. These pins can also be programmed for use 'with the respective SYNC pins as a crystal oscillator. The receive clock may be 1, 16, 32. or 64 times the data. rate in asynchronous modes. IRTSA,/RTSB. Request To Send (outputs, active low) When the Request To Send (RTS) bit in Write Register 5 is set. the RTS signal goes Low. When the RTS bit is reset in the Asynchronous mode and Auto Enable is on, the signal goes High after the transmitter is empty. In Synchronous mode or in Asynchronous mode with Auto Enable oil, the RTS pin strictly follows the state of the RTS bit Both pins can be used as general-purpose outputs. In the Internal Synchronization mode (Monosync and Bisync) with the crystal oscillator not selected, these pins act as outputs and are active only during the part of the receive crock cycle in which synchronous condition is not latched These outputs are active each time a synchronization pattern is recognized (regardless of character boundaries). In SDLC mode, the pins act as outputs and are valid on receipt of a flag. TxOA, TxOB. Transmit Data (outputs, active high). These output signals transmit serial data at standard TT L levels. ITRxCA,ffRxCB. Transmit/Receive Clocks (inputs or outputs, active Low). These pins can be programmed in several different modes of operation. TRxC may supply the receive clock or the transmil clock in the input mode or supply the output of the Digital Phase,Locked Loop. the crystal oscillator. the baud rate generator. or the transmit. clock in the output mode. ICE. Chip Enable (input. active Low) This signal selects the ISCC for a peripheral read or write operation. This signal is not used when the ISCC is bus master. A015-AOO. Da1a bus (bidirectional, 3-state). These lines carry data and commands to and from the ISCC. IRO. Read (bidirectional, active Low). When the ISCC is a peripheral (Le. bus slave), this signal indicates a. read operation and when the ISCC is selected. enables the ISCC's bus drivers. As an input, IRD indicates that the CPU wants to read from the ISCC read registers. Dunng the Interrupt Acknowledge cycle, IRD gates the interrupt vector onto the bus if the ISCC is the highest priority device requesting an interrupt When the ISCC is the bus master, . this signal is used to read data. As an oUtput. after the Isec has taken control of the system buses. IRD indicates a pMA-controlled read from a memory or 1/0 port address. twA. Write (bidirectional. active Low) When the Isec is ISYNCA, /sYNCB. Synchronization (inputs or .outputs. active Low). These pins can act either as inputs. outputs. or part of the crystal osqillator circuit. In the Asynchronous Receive mode (crystal oscillator option· not selected). these pins are inputs similar to CTS and DCD. In this mode. transitions on these lines affect the state of the Synchronous! Hunt status bits in Read Register 0 but have no other function. In External Synchronization mode with the crystal oscillator not selected. these lines also act as inputs. In this mode. SYNC must be driven Low to receive clock cycles aftm the last bit in the synchronous character is received Character assembly begins on the rising edge of the receive clock Immediately preceding the activation of SYNC. 170 selected, this signal indicates a write operation As an input. this indicates that the epu wants to write control or command bytes to the Isec write registers. As an output, after the ISCC has taken control of the system buses /WR indicates a DMA-contrplled write to a memory or I/O port address. IDS. Data Strobe (bidirectional. active Low). A Low on thiS signal indicates that the AD15-ADO bus is used for data transfer. When the ISCC is riot in control of the system bus and the external system is transferring information to or from the ISCC. IDS is a timing input used by the Isec to move data to or from the AD 15-ADO bus Data is written into the ISCC by the extemal system on the low to High IDS tranSition. Data is read from the ISCC by the external system while IDS is Low There are no timing requirements between IDS as an input and ISCC clock, this allows use of the ISCC with a system bus wtlich does not have a bussed clock. During a DMA operation when the ISCC is in control of the system, OS is an output generated by the ISCC and used by the system to move data to or from the AD15-ADO bus When the ISCC has bus control, it' writes to the external systern by placing data on the AD15-ADO bus before the High-to-Low OS transition and holds the data stable until after the Low-to-High OS transition; while reading from the external system, the Low-to-High transition of OS inputs data from the AD15-ADO bus into the ISCC. RlfW. Read/Write(bidirectional) Read polarity is High and write polarity is Low. When the ISCC is bus master, R//W indicates the data direction of the current bus transaction, and is stable from when AS IS High until the bus transaction ends When the ISCC is not In cO(ltrol of the system bus and the external system is transferring information to or from the ISCC, R//W is a status input used by the ISCC to determine if data is entering or leaving on the AD15-ADO bus during IDS time. In such a case, Read (High) indicates that the system is requesting data from the ISCC and Write (Low) indicates that the system is presenting data to the ISCC. The only timing reqUirements for R//W ~s an input are defined relative to DS When the ISCC is in control of the system bus, R//W is an output generated by the ISCC, with Read indicating that data is being requested from the addressed location or device, and Write indicating that data is being presented to the addressed location or deVice. IUAS, Upper Address Strobe (Output, active Low) This signal is used if the address is more than 16-bit The upper address, A31-A16, can be latched externally by the rising edge of this signal. IUAS is active first before AS becomes active. This signal and AS are used by the Dty1A cell lAS. Lower Address Strobe (Bidirectional, active Low) When the ISCC is bus master, this signal wh~n an output, is used as a lower address strobe for AD 15-ADO It is used In conjunction with UAS since the address IS 32-blts ThiS signal and IUAS are used by the DMA cell when it is bus master. When ISCC is not bus master, this signal is used in the multiplexed bus modes to latch the address on the AD lines. The lAS signal is not used in the non-multiplexed bus modes and should be tied to Vcc in these cases. IWAITI/RDY. Wait/Ready(bidirectional, active Low) It may be programmed to function either as a Wait signal or Ready Signal during the BCR write When the BCR is written to Channel A (A 1/A//B High during the BCR write), this Signal functions as a WAIT and thus supports the READY function of 8X86 microprocessors family Wilen the BCR writes to Channel R iA 1/N/B Low), ttllS signal functions as a READY and supports the 0 rACK function of the 680XO microprocessor family, ThiS signal is an output when the ISCC in not bus master In this case, the Wait/RDY signal Indicates wilen tile data. is available during a read cycle, when the device is ready to receive data dUring a write cycle; and when a valid vector is available dUring an interrupt acknowledge cycle. When the ISCC is the bus master (the DMA cell has taken control of the bus), the IWait//RDY Signal functions as a WAIT or READY Input. Slow memories and peripheral ' devices can assertWAI T to extend IDS during bus transfers Similarly, memories and peripherals use READY to indicate that its output is valid or that it is ready to latcil input data. IBUSACK. Bus Acknowledge (input, active Low) Signals the bus has been released to the DMA If the IBUSACK is inactive before the DMA transfer is completed, the current DMA transfer is aborted. IBUSREQ. Bus Request(output, active Low) This Signal is used by the DMA to obtain the bus from the CPU AO/SCCI/DMA. OMA Channel/SCC Select/OMA Select (bidirectional) When this pin is used as input, a high selects the SCC cell and a low selects the DMA cell When this pin is used as output, the signal on this pin IS used in conjunction with A 11MB pin output to identify which DMA channel is active This information can be used by the user to determine whether to Issue a DMA abort command AO/SCC/IDMA and A1/AI/B output encoding is shown below A1/A/IB AO/SCCIIDMA DMAchannel 1 1 o 1 RxA TxA RxB TxB o o 1 o A 1IA/IB. OMA Channel/Channel AlChannel B (bidirectional) This Signal, when used as input, selects the SCC channel in which the read and write operation occurs Note that AO/SCC//DMA pin must be held high to select this feature. When thiS pin is used as an output, It is used in conjunction with the AO/SCC//DMA pin output to identify which DMA channel is active During a DMA peripheral access, the A 1/N/B pin IS ignored. IRESET. (input, active Low) ThiS Signal resets the deVice to a known state 1 he first write to the ISCC after a reset accesses the BCR to select additional bus options for the device. 171 -~---'-"--"-----~-.'~ . FUNCTIONAL DESCRIPTION The functional capabilities of the Isee are described in three blocks: the sec cell, the DMA cell, and Ule Bus Interface Unit (BIU). Each of the blocks are described independently in the following sections with the Isee architecture shown in Figure 3. Please refer to the Isee Technical Manual for a detailed description of the functions outlined 11ere. DMA } Serial Data } Channel Clocks '--__-r-- ISYNC /Wait - } Modem, DMA, or Other Controls AOO-AD15 Control Modem, DMA, } or Other Controls } 111 '--_ _...r-- Serial Data } Channel Clocks ISync /Wail +5VGND PCU< Figure 3. Block Diagra!JI of ISCC Architecture SCC Cell Data Communications Capabilities. The Isee provides two independent full-duplex programmable channels for use in any common asyncllro'l0US or synchronous data communications protocol. fhe Isee is built from Zilog's industry standard sec core and is comp8llble with designs using Zilog's sec to receive and transmit data (Figure 4). Asynchronous Modes. Send and Receive can be accomplished independently on each channel with five to eight bits per character, plus optional even or odd parity. The transmitters can supply one, one-and-a-half, or two stop bits per character and can provide a break output at any time. The receiver break-detection logic interrupts the CPU both at the start and at the end of a received break. Reception is protected from spikes by a transient spikerejection mechanism that checks the Signal one-Ilalf a bit time after a Low level is detected on the receive data input (RxDA or RxDB in Figure 2). If the Low does not persist (e.g., a transient), the character assembly process does not start. Framing errors and overrun errors are detected and buffered together with the partial charilcter on Wllich they occur. 172 Vectored interrupts allow fast servicing or error conditions using dedicated routines. Furttlermore, a built-in checking process avoids the interpretation of a framing error as a new start bit: a framing error results in the addition of onehalf a bit time to the point at which the search for tile next start bit begins. The Isee does not require symmetric transmit and receive clock signals - a feature allowing use or tile wide variety of crock sources. The transmitter and receiver can handle data at a rate supplied to the receive and transmit clock inputs. In Asynchronous modes, the SYNC pin may be programmed as an input used for functions such as monitoring a ring indicator. Synchronous Modes. The Isee supports both byte-oriented and bit-oriented synchronous communication. Synchronous byte-oriented protocols can be handled in several modes, allowing character synchronization with a 6-bit or 8-bit synchronous character (Monosync), and 12bit synchronization pattern (Bisync), or with an external synchronous signal Leading sync characters can be removed without interrupting the CPU. ToOlhar Channel TxD BR Generator Input TranSlmt Clock RxD DPLL ~~~f@ (O.cUlato~ =P SYNC Figure 4. ~ Isee Data Path _veClock Transmit Clock OPlLClock BR Generator Clock FUNCTIONAL DESCRIPTION (Continued) Five or 7-bit synchronous characters are detected with 8- or 16-bit patterns in the ISCC by overlapping the larger pattern across multiple incoming synchronous characters as shown in Figure 5. . SBKs ISYNC I I SYNcl "-....--... SYNC I DATA DATA DATA DATA 8 .---..".) Y 16 Figure 5. Detecting 5- or 7-Bit Synchronous Characters CRC checking for Synchronous byte oriented modes i;; delayed by one character time so that the CPU may disable CRC checking on specific characters. This permits the implementation of protocols such as IBM Bisync Both CRC-16 (X16 + X15 + X2 + 1) and CCITT (X16 + X12 + X5 + 1) error checking polynomials are supported. FHher polynomial may be selected in all Synchronous modes. Users may preset the CRC generator and checker to all 1's or all O's. The ISCC also provides a feature that automatically transmits CRC data when no other data is available for transmission. This allows for high speed transmissions under OMA control, with no need for CPU intervention at the end of a message. When there is no data or CRC to send in Synchronous modes, the transmitter inserts 6-, 8-, or 16-bit synchronous characters, regardless of the programmed character length. The ISCC supports Synchronous bit~oriented protocols, such as SOLC and HOLC, by performing automatic flag sending, zero insertion, and CRC generation. A special command is used to abort a frame in transmission At the end of a message, the ISCC automatically transmits the CRC and trailing flag when the transmitter underruns The transmitter may also be programmed to send an idle line consisting of continuous flag characters or a steady marking condition. The receiver automatically acquires synchronization on the leading flag of a frame in SOLC or HOLC and provides a synchronization signal on the SYNC pin (an interrupt can also be programmed). The receiver can be programmed to search for frames addressed by a sll1gle byte (or four bits within a byte) of a user-selected address or to a' gLobal broadcast address. In this mode, frames not matching either the user-selected or broadcast address are ignored. The number ot address bytes can be extended under software control. For receiving data, an interrupt on the first received character, or an interrupt on every character, or on special condition only (end-of-frame) can be selected The receiver automatically deletes all O's inserted by the transmitter during character assembly. CRC is also calculated and is automatically ctlecked to validate frame transmission. At the end of transmission, the status of a received frame is available in the status registers. In SOLC mode, the ISCC must be programmed to use the SOLe eRe polynomial, but the generator and checker. may be preset to all l's or all O's. The CRC is inverted before transmission and the receiver checks against the bit pattern 0001110100001111. NRZ, NRZI orFM coding maybe used in any 1xmode. The parity options available in Asynchronous modes are available in Synchronous modes: SOlC Loop Mode. The Isee supports SOLC Loop mode If a transmit underrun occurs in the middle of a message, an external/status interrupt warns the CPU of this status change so that an abort may be issued. The ISCC may also be programmed to send an abort itself in case of an underrun, relieving the CPU of this task. One to eight bits per character can be sent, allowing reception of a message with no prior information about the character structure in the information field of a frame. 174 in addition to normal SOLe. In an SOLG Loop, there is a primary controller station that manages tile message traffic flow on the loop and any number of secondary stations In SOLC Loop mode, tile Isce performs the functions of a secondary station wtlile an Isec operating in regular SOLe mode acts as a controller (Figure 6). and 5 status/error bits are stored. The byte count and status bits are accessed through Read Registers 6 and 7. Read Registers are only accessible when the SDLC FIFO is enabled. The 10x19 status FIFO is separate from the 3 byte receive data FIFO. Notes on the SOLC FIFO. When using the SDLC FIFO enhancment in channel B, it is necessary to enable the enhancment in channel A. There is no special requirement to enable the enhancement in channel A only, or to use it in both channels. DeSigns using only one channel should, therefore, use channel A. Figure 6. An SOLC Loop When an SDLC frame is received with an abort condition, the byte counter in the FIFO enhancment is not reset. Therefore, after the abort is received, a dummy frame consisting of a flag should be sent by the transmitter. This resets the byte counter for the next frame. The aborted frame has a byte count which includes the byte count of the next dummy frame. A secondary station in an SDLC Loop is always listening to Baud Rate Generator. Each channel in the ISCC contains the messages being sent around the loop and, in fact. passes .lhese messages to the rest of the loop a programmable baud rate generator. Each generator consists of two.S-bit time constant registers that form a 16by retransmitting them with a one-bit-time delay. The bittime constant. a 16-bit down counter, and a flip-flop on secondary st.ation places its own message on the loop only at specific times. The controller signals that secondary., the output producing a square wave. On startup, the llipstations can transmit messages by sending' a special flop on the output-is set in a High state, the value in the time character, called an EOP (End Of Poll), around the loop. • constant register is loaded into the counter, and the counter starts counting down The output of the baud rate The EOP character is the bit pattern 11111110. Because of zero insertion during messages, this bit pattern is unique generator toggles upon reaching 0, the value in the time and easily recognized. constant register is loaded into the counter, and the process is repeated. The time constant may be changed at any time, but the new value does not take effect until the When a secondary station has a message to transmit and recognizes an EOP on the line, it changes the last binary next load of the counter. 1 of the EOP to a 0 before transmission. This has the effect The output of the baud rate generator may be used as of turning the EOP into a flag sequence. The secondary station now places its message on the loop and terminates either the transmit clock, the receive clock, or both. It can also drive the Digital Phase-Locked Loop (see next the message with an EOP. Any secondary stations further down i the loop with messages to transmit appends their section). messages to the message of the first secondary station by II the' receive clock or transmit clock is not programmed to the same process. Any secondary stations without mescome from the TRxC pin, the output of the baud rate sages to send merely echo the incoming message and are generator may be echoed out via the TRxC pin. prohibited from placing messages on the loop (except upon recognizing an EOP.) The following formula rei ales the time constant to the baud rate where PCLK or RTxC is the baud rate generator input SDLC Loop mode is a programmable option in the ISCC. frequency in Hertz. The clock mode is 1, 16, 32, or 64, as NRZ, NRZI, and FM coding may all be used in SDLC selected in Write Register 4, bits D6 and D7. Synchronous Loop mode operation modes should select 1and Asynchronous should SOLe FIFO. The ISCC's ability to receive high speed select 1'6, 32 or 64. back-ta-back SDLC frames is'maximized by a 1O-bit deep PCLK or RTxC Frequency by 19-bit wide status FIFO. When enabled (through WR 15, bit D2), it pfovides the DMA the ability to continue to Time Constant = -2 2(Baud Rate)(Clock Mode) transfer data into memory so that the CPU can examine the message later. For each SDLC frame, a 14-bit byte count. 175 FUNCTIONAL DESCRIPTION (Continued) Digital Phase-Locked Loop. The ISCC contains a Dig,ital Phase-Locked Loop (DPLL) to recover clock information from a data stream with NRZI or FM encoding. The DPLL is driven by a clock that is nominally 32 (NRZI) or 16 (FM) times the data rate: The DPLL uses this clock, along with the data stream, to construct a clock for the data. This clock is then used as the ISCC receive clock, the transmit cloc~, or both. For NRZI encoding, the DPLL counts the 32x clock to create nominal bit times. As the 32x clock is counted, the DPLL is searching the incoming data stream for edges (either 1 to 0, orO to 1). Whenever an edge is detected, the DPLL makes a count adjustment (during the next counting cycle), producing a terminal count closer to the center'of the bit cell. For FM encoding, the DPLL still counts from 0 to 31, but with a cycle corresponding to two bit times. When the I)PLL is locked, the clock edges in tile data stream should occur between counts 15 and 16 and between counts 31 and O. The DPLt: looks for edges only during a time centered on the 15 to 16 counting transition. generator. The DPLL output may be programmed to be echoed out of the ISCC via the TRxC pin (if this pin is not being used as an input). Data Encoding. The ISCC may be programmed to encode and decode the serial data in four different ways (Figure 7). In NRZ encoding, a 1 is represented by a High level and a is represented by a Low level. In NRZI encoding, a 1 is represented by no change in level and a 0 is represented by a change in level In FMl (more properly, bi-phase mark), a transition occurs at the beginning of every bit cell. A 1 is represented by an additional transition at tile center of the bit cell and a 0 is represented by no additional transition at the center of the bit cell. In FMO (bi-phase space), a transition occurs at the beginning of every bit cell. A 0 is represented by an additional transition at the center of the bit cell, and a 1 is represented by no additional transition at the center of tile bit cell. In addition to these four methods, the ISCC can be used to decode Manchester (bi-phase level) data by using tile DPLL in the FM mode and programming the receiver for NRZ data. Manchester encoding always produces a transition at the center of (,he bit cell. If the transition is 0 to 1, the bit is a O. If the transition is 1 to 0, the bit is a 1. o The 32x clock for the DPLL can be programmed to come from either the RTxC input or the output of the baud rate o Data NRZ \ \ 0 0 / / \ \ 1< NRZI FMl FMO Figure 7. Data Encoding Methods Auto Echo and Local Loopback. The ISCC is cap'able of automatically echoing everything it receives. This feature is useful mainly in AsynChronous modes, but works in Synchronous and SDLC modes as well. In Auto F.cho mode, Txl) is RxD. Auto Echo mode can be used with NnZI or FM encoding with no additional delay because the data ,stream is not decoded before retransmission. In Auto Echo 176 mode, the ICTS input is ignored as a transmitter enable (although transitions on this input can still cause interrupts if programmed to do so). In this mode, the transmitter is actually bypassed and the programmer is responsible for disabling transmitter interrupts and /WAIT//REQUEST on transmit. The ISCC is also capable of local loop back. In this mode TxD is RxD is just like Auto Echo mode. However, in local Loopback mode the internal transmit data is tied to the internal receive data and RxD is ignored (except to be echoed out via TxD). The ICTS and lOCO inputs are also ignored as transmit and receive enables. However, transitions on these inputs can still cause interrupts. Local Loopback works inAsynchronous, Synchronous and SDLC modes with NRZ, NRZI or FM coding of the data stream. receive channels has a DMA channel dedicaled to it to move data to-and-from memory. The DMA channels are dedicated to the transmit and receive FIFO's, and therefore, can not be used for device initialization. Each DMA has a 32-bit address and a 16-bit byte counter. The DMA address may be incremented or decremented providing flexibility in doing block transfers. See the 1/0 Interface Capabilities Section for more details on the DMA features. DMA Core. The ISCC contains four independent lIy-by mode DMA channels. Each of the ISCC's transmit and BUS INTERFACE UNIT (BIU) DESCRIPTION The ISCC contains a flexible bus interface that is compatible with a variety of microprocessors and microcontrollers. The device is designed to work with 8- or 16-bit bus systems and may be used with addressldata multiplexed busses or non-multiplexed busses. The multiplexed bus is selected for the ISCC if there is an Address Strobe prior to or during the transaction which writes the BCR. If no Add ress Strobe is present prior to or during the transaction which writes the BCR, a non-multiplexed bus is selected. When the ISCC is initialized for non-multiplexed operation, register addressing for the ISCC cell IS (with the exception of WRO and RRO), accomplished as follows. Programming the write registers requires two write operations and reading the read registers requires both a write and a read operation. The first write is to WRO which contains four bits that point to the selected register (note point high command). The second write is the actual control word for the selected register. If the second operation is a read, the selected register is accessed. When in the non-multiplexed mode, all of the registers in the SCC cell of the ISCC, including the data registers, are accessed in this fashion. lhe painter register is automatically cleared after the second read or write operation so that WRO (or RRO) is addressed again. Note that when the DMA is not used to address the data, the data registers must be accessed by pointing to Register 8. This is in contrast to the Z8530 which allows direct addressing of the data registers through the C/D pin. When the ISCC is initialized for non-multiplexed operation, register addressing for the DMA cell (with the exception of CSAR) is accomplished as follows and is completely independent of tile SCC cell register addressing. Programming the write registers requires two write operations and reading the read registers requires both a write and a read operation. The first write is to the Command Status Address Register (CSAR) which contains five bits that point tothe selected register (CSAR bits 4 - 0). The second write is the actual control word for the selected register. If the second operation is a read, the selected register is accessed. When in the non-multiplexed mode, all of the registers in the DMA cell of the ISCC may be accessed in this fashion. The pointer bits are automatically cleared after the second read or write operation so that CSAR is addressed again. When the ISCC is initialized for multiplexed bus operation, all registers in the SCC cell .are directly addressable with the register address occupying AD5 through AD1, or AD4 through ADO (Shift Left I Shift Right modes). Two additional pins, AO/SCC/IDMA and A llA/IB control the channel A/B register selection and the SCC channel IDMA selection Referto the AO/SCC/IDMA and A l/A/1B pin descriptions for the encoding of these signals. The Shift Left I Shift Right modes for the address decoding for the internal registers (multiplexed bus) are separately programmable for the SCC cell and for the DMA cell. For the SCC cell the programming and operation is identical to that in the SCC; programming is accomplished through Write Register 0 (WRO), bits 1 and 0 (Figure 9-1). The programmlllg of the Shift Left/SMt Right modes for the DMAcell is accomplished in the BCR, bitO. In this case, the shift function is similar to that for the SCC cell; with Shift left, the internal register addresses are decoded from bits AD5 through ADI and with Shift RighI. the internal register addresses are decoded from bils AD4 through ADO. When the multiplexed bus mode is selected, Write Register o(WRO) takes on the form of WRO in the Z8030 (Figure 9). All data transfers to and from the ISCC are done in bytes even though the data can, at speCial times, occupy the lower or upper byte of lhe 16-bit bus. When accessed as a peripheral device(ie., when tile ISCC is not a bus master performing DMA transfers), all bus transactions are on the fower 8 bits of the bus with the following exception' FUNCTIONAL DESCRIPTION (Continued) When the Isee registers are read, the byte data is present on both the lower 8 bits of the bus and the upper 8 bits of the bus. Data is accepted only on the lower 8 bits olthe bus except in certain DMA transfers. During DMA transfers, data may be transferred to or from the Isee on the upper 8 bits of thebus for odd or even byte transfers. During DMA transfers to memory from the ISee, byte data only is transferred and the data appears on both the lower 8 bits and is replicated on the upper 8 bits of the bus. During DMA transfers to the Isee from memory, byte data only is transferred and normally data is accepted only on the lower 8 bits of the bus. However, the byte swapping feature may be used to elect on which byte of the bus the data is accepted. The byte swapping feature is enabled by programming the Byte Swap Enable bit to a 1 in the BeR. The .odd/even byte transfer selection is made by programming the Byte Swap Select bit in the BeR. If Byte Swap Select is a 1, then even address bytes (transfers where the DMA address has AO equal 0) are transferred on the lower 8 bits olthe bus and odd address bytes (transfers where the DMA address has AO equal 1) are transferred on the upper 8 bits of the bus. If Byte Swap Select is a 0, then even address bytes (transfers wllere the DMA address has AO equal 0) are transferred on the upper 8 bits of the bus and odd address bytes(transfers where the DMA address has AO equal 1) are transferred on the lower 8 bits of the bus. 1/0 INTERFACE CAPAS,lITIES The Isee offers the choice of Polling, Interrupt (vectored or non-vectored), and DMA Transfer modes to transfer data, status, and control information to and from the CPU. Polling. In this mode all interrupts and the DMA's are disabled. Three status registers in the sec are automatically updated whenever any function is performed. For example, end-of-frame in SDLe mode sets a bit in one of these status registers. With polling, the CPU must periodically read a status register until the register contents indicate the need for some CPU action to be taken Only one register in the sec needs to be read; depending on the contents of the register, the CPU either reads data, writes data, or satisfies an error condition. Two biis in the register indicate the need for data transfer. An alternative is to poll the Interrupt Pending register to determine the source of an interrupt. The status for both sec channels resides in one register. Interrupts. When the Isee responds to an Interrupt Acknowledge signat (INTAeK) from the CPU, an interrupt vector is placed on the data bus. Both the sec and the DMA contain vector registers. Depending on the source of interrupt, one of these vectors is returned. either unmodified or modified by the interrupt status to indicate the exact cause of the interrupt. Each onhe six sources in interrupts in the sec (Transmit, Receive, and External/Status interrupts in both channels) and each DMA channel has three bits associated with the interrupt source: Interrupt Pending (IP), Interrupt Under Service (IUS), and Interrupt Enable (IE). If the IE bit is set for any given source of interrupt, then that source can request interrupts. The only exception to this rule is when 178 the associate Master Interrupt Enable (MIE) bit is reset, then no interrupts are requested. Both the sec and the DMA have an associated MIE bit. The IE bits in the sce are write only, but tile IE bits in the DMA are read write. The Isce provides for nesting of interrupt sources with an interrupt daisy chain using the lEI, lEO, and INTACK pins. As a microprocessor peripheral, the Isce may request an interrupt only when no higher priority device is requesting one, e.g., when lEI is High. If the device in question requests an interrupt, it enables the /INT signal. The CPU then responds with /INT ACK, and the interrupting device places the vector on the data bus. In the ISeC, the IP bit signals a need for interrupt servicing. When an IP bit is 1 and the lEI input is High, the /INT signal is activated, requesting an interrupt. In the sec, if the IE bit is not set, tllen the IP for that source can never be set. The IP bits in the DMA are set independent of the IE bit. The IUS bits signal that an interrupt request is being serviced. If an IUS is set, all interrupt sources of lower priority in the ISCC and external to the ISCC are prevented from requesting interrupts. The internal interrupt sources are inhibited by the state of the internal daisy chain, while lower priority devices are inhibited by the lEO output of the Isee being pulled Low and prop(lgated to subsequent peripherals. Internally, the SCC is higher priority than the DMA. An IUS bit is set during an Interrupt Acknowledge cycle if there are no higher priority devices requesting interrupts. Within the SCC portion of the Isee there are three types of interrupts' Transmit, Receive, and External/Status. Each , interrupttype is enabled under program control with Channel A having higher priority than Channel B, and wi.th Receive, Transmit, and External/Status interrupts prioritized in that order within each channel. When the Transmit interrupt is enabled, the CPU is interrupted when the transmit buffer becomes empty. This implies that the transmitter had a data character written into it to make it empty. When enabled, the receiver interrupts the CPU in one of three ways: 1. Interrupt on First Receive Character or Special Receive Condition 2. Interrupt on All Receive Characters or Special Receive Condition 3. Interrupt on Special Condition Only Interrupt on First Character or. Special Condition, and Interrupt on Special Condition Only, are typically used when doing block transfers with the OMA. A Special Receive Condition is one of the following: receiver overrun, framing error in Asynchronous mode, end-of-frame in SOLC mode and, optionally, a parity error. The Special Receive Condition interrupt is different from an Ordinary Receive Character Available interrupt only by the status placed in the vector. during the Interrupt Acknowledge cycle. In Interrupt on First Receive Character, an interrupt occurs from Special Receive Conditions any time aiter the First Receive Character interrupt. The main function of the External/Status interrupt is to rnonitor the signal transitions of the /CTS, lOCO, and /SYNC pins; however, an External/Status interrupt is also caused by a Transmit Underrun condition, or a zero count in the baud rate generator, or by the detection of a Break (Asynchronous mode), Abort (SOLC mode) or EOr (SOLC Loop mode) sequence in the data stream. The interrupt caused by the Abort or EOP has a special feature allowing the ISCC to interrupt when the Abort or EOP sequence is detected or terminated. This feature facilitates the proper termination of the current rnessage, correct initialization of the next message, and the accurate timing of the Abort condition in external logic. Each OMA in the ISCC has t'NO sources of interrupt, which share an IP bit and an IUS bit, but have independent enables: Terminal Count and Abort. The Abort interrupt is generated when an active OMA channel is forced to terminate its transfers because /BUSACK is de-asserted during a transfer. The Terminal Count interrupt is generated when the OMA transfer count reaches zerO. The OMA channels themselves are prioritized in a fixed order: Receive A, Transmit A, Receive B, and Transmit B. DMA Transfer. In this mode, the on-Chip OMA channels transfer data directly to the transmit buffers or directly from the receive buffers. No other transfers are possible (for initialization, for example). The request signals from the receivers and transmitters are hard-wired to the request inputs of the OMA channels internally. Each OMA channel provides a 32-bit address which is either incremented or decremented with a 16-bit transfer length. Whenever a OMA channel receives a request from its associated receiver or tranSrnitter and the OMA channel is enabled, the ISCC activates the /BUS REO signal. Upon receipt of an active /BUSACK, the OMA channel transfers data between memory and the SCC. This transfer continues until the receiver or tranSmitter stoP!? requesting a transfer, until the terrninal count is reached, or /BUSACK is deactivated. The four OMA channels operate independently when tile Request Per Channel option is selected; otherwise, all requests pending at the time of bus acquisition will be serviced before the bus is released. Each OMA channel is independently enabled and disabled. Bus Interface. The Isce contains a flexible bus interface that provides the resources necessary to interfClce the ISCC to virtually any type of bus. The Isee directly supports either an 8-bit or a 16-bit bus, although all transfers to and from the device are limited to 8-bits at a time. The control signals provided allow connection to either a rnultlplexed address/data type bus or to a separate address and data type bus. While the Isee is bus master, the upper address, lower address, and data are multiplexed on A015-0 Interrupt Acknowledge is signaled through the /INT ACK signal, which may be programmed as either a status input, a pulsed input, or a double-pulsed input The Isee also contains a /WAITI/ROY input for synchronizing CPU or OMA and memory accesses This pin may be programmed to act as either a /WAIT signal or a /REAOY signal The appropriate signal is provided by the Isce when it is not bus master, and is sampled by the Isec when it is bus master. The ISCC requests the bus via a /BUSREO signal and assumes bus mastership upon receipt of a /BUSAeK signal. 179 CONTROL REGISTERS The ISCC contains separate register sets for the SCC core and the OMA core. Access to each set is controlled by the AO/SCC//OMA pin. When this pin is an input, a High selects the SCC core and a Low selects the OMA core. The first write to the ISCC after reset is always to the Bus Configuration Register (BCR). see Figure 8. If an /AS is present before the BCR is written to. a multiplexed bus is selected. If no /AS is present before the BCR write. a non-multiplexed bus is selected. The BCR cannot be changed without resetting the ISCC. Iwloolool~looloolrnlool Ack~:::~;:Add~ ror D~ I Iln::o 0 Status Acknowledge o 1 Pulsed Acknowledge 1 0 Reserved 1 1 Double-Pulsed Acknowledge DMA eell. The OMA cell contains 17 registers (countil1g the BCR). All of the registers are write/read except the BCR. CCAR and ICSR. The ISCC also has two status registers. the OMA status register (OSR) and the Interrupt Status Register (ISR). which are addressed by reading the CCAR and ICSR. The OMA also reserves two addresses for future 'use and should not be addressed or should be written with all 'zeros to prevent unexpected operation and maintain compatibility with future products. Each OMA channel has a 32-bit wide address register providing an addressing range of 4 gigabytes. Each channel also has a 16-bit count register for up to 64K byte data packet sizes (Reference Figures 11-26 and Table 3). Table 1. see Write Registers Bit Description WRO Register Pointers. various initialization commands Transmit and Receive interrupt enables. WAIT/DMA commands WR1 Reserved Byte SWap Select Byte SWap Enable Figure 8. Bus Configuration Register (BeR) see pell. The SCC core contains 13 write registers (14 counting the transmit buffer) and ten read registers (11 counting the receive buffer) in each channel. Twoofthe write registers are shared (WR2 and Wn9) and are' accessed by both channels. WR2 contains the interrupt vector for both channels. while WR9 contains the interrupt control bits. Table 1 is a list of the SCC write registers and Table 2 is a list of the SCC read registers. Figures 9and 10 ~f1ow the write and read register formats. Read Registers 6 and 7 are only accessible when the SOLC FWO is enabled. When the SOLC FIFO is not enabled. Read Registers 6 and 7 are images of Read Registers 2 and 3. , respectively. 180 WR2 WR3 WR4 WR5 Interrupt Vector Receive pa~ameters and control modes Transmit and Receive mooes and parameters Transmit parameters and control modes WR6 WR7 WR8 WR9 Sync Character or SOLC address Sync Character or SOLC flag Transmit buffer' Master Interrupt control and reset commands WR10 WR11 WR12 WR13 Miscellaneous transmit and receive control bits Clock mode controls for receive and transmit Lower byte of baud rate generator Upper byte of baud rate generator WR14 WR15 Miscellaneous con(rol bits External status interrupt enable control Write Register 0 (non-multiplexed bus mode) Wrfte Register 1 Imlool~I~lool~lmlool I I I 0 0 0 0 0 1 1 0 0 1 1 1 1 o o 1 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1 0 1 Register 0 Register 1 Register 2 Register 3 Reglsler4 Register 5 Register 6 0 1 0 1 0 1 0 1 ~~::::;~ Reglsterg Register 10 Register 11 Register 12 Register 13 Register 14 Register 15 ~ } 0 0 1 1 0 1 0 1 Parlty Is Special Condition Rx Int Olseble Rx Int On First Character or Special Condition Int On All Rx Characlem or Special Condition Rx Int On Special C ondltlon Only WAITIDMA·Request On Receivelrrransmit • Null Code Point High Reset EXVStalus Interrupts Send Abort (SOLC) Ext Int Eneble Tx Int Eneble IWAIT/DMA Request FUnction WAIT/OMA Reque,1 Eneble Write Register 2 Enable Int on Next Rx Character Reset Tx Int Pending Error Reset Reset Highest IUS NuliCode Reset Rx CRC Checker Reset Tx CRC Generator Reset Tx UnderrunlEOM latch Interrupt Vector V5 • With Point High Command V6 V7 Wrne Register 0 (multiplexed bus mode) Imlool~I~lool~lmlool Write Register 3 I I o o 0 1 o 1 Null Code Null Code Select Shift Left Mode } • Select Shift Right Mode Rx Eneble Sync Character load Inhibit Address Search Mode (SOLC) o RxCRC Eneble 0 0 0 0 o o 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 Null Code 1 Null Code 0 Reset Ext/Stalus Interrupts 1 Send Abort 0 Enable Int on Next Rx ,Character 1 Reset Tx Int Pending 0 Error Reset 1 Reset Highest IUS Enter Hunt Mode Auto Enables o o 1 1 0 1 0 1 Rx Rx Rx Rx 5 7 6 8 Bits/Character Bits/Character Bits/Character Bns/Character NuliCode Resetilx CRC Checker Reset T x CRC Generalor Reset T x UnderrunlEOM latch • B Channel Only Figure 9_ Write Register Bit Functions 181 Wr~e Register 4 TxCRC Enable Parity Enable RTS Parity EVEN/IOOO o o 1 1 !SOLC/CRC·16 0 1 0 1 Sync Modes Enable 1 Slop BII/Character 1 112 Stop Bits/Character 2 Slop BItsICharacter TxEnable Send Break o Q o 1 1 0 1 0 1 o 8-Blt Sync Character 16-81t Sync Character SOLC Mode (01111110 Flag) External Sync Mode 1 1 0 1 0 1 Tx S Bots(Or Less)lChaoacter Tx 7 Bits/Character Tx 6 Bits/Chaoacter Tx 8 Bits/Character OTR o o 1 1 0 1 0 1 Xl Clock Mode X16 Clock Mode X32 Clock Mode X64 Clock Mode WrRe Register S SyncS SyncO SyncS Sync2 AORS AORS Sync7 Sync1 Sync7 Sync3 AOR7 AOR7 SyncS SyncS SyncS Sync1 AORS AOR5 Sync4 Sync4 Sync4 SyncO AOR4 AOR4 Sync3 Sync3 Sync3 1 AOR3 Sync2 Sync2 Sync2 1 AOR2 Sync1 Sync1 Sync1 1 AORl x x· SyncO SyncO SyncO 1 AORO x Monosync, 8 BitS Monosync, S Bits Bisync, 16 Bits Bisync, 12 Bits SOLC SOLC (Address Range) WrRe RegISter 7 Sync7 SyncS ,SynclS Syncll o Sync6 Sync4 Sync14 Syncl0 SyncS Sync3 Sync13 Sync9 1 1 Sync4 Sync2 Sync12 SyncS 1 Sync3 Syncl Syncll Sync7 1 Sync2 Syncl syncO x Syncl0 Sync9 Sync6 SyncS 1 1 SyncO x SyncS Sync4 0 Monosync, 8 Bots Monosync, 6 Bots Bisync, 16 Bit!! Bisync, 12 Bots SOLC Figure 9, Write Register Bit Functions (Continued) 182 Write Register 12 Wrne Register 9 107 106 105 104 103 102 101 IDO I ~ VIS TCO NV TCl OLC TC2 MIE TC3 Status HighllSlatus Low TC4 o TC5 Lower Byte of Time Constant TC6 o o 0 1 1 0 1 1 No Reset Channel Reset B Channel Reset A Force Hardware Reset TC7 Wrne Register 13 Write Register 10 Tca TC9 6 BiVI8 Bn Sync TC10 Loop Mode AborVlFlag On Underrun MarkllFlag Idle TCll Upper Byte of TC12 lime Constant TC13 Go Active On Poll TC14 o o 0 NRZ 1 NRZl 1 1 0 1 TC15 FM1 (Transttion = 1) FMO (Tran.ttion = 0) Write Register 14 CRC Preset lifO Wrtte Register 11 SR Generator Enable SA Generator Source I I 10TRIRequest Function 0 0 0 !fRxC Out = Xtsl Oulput Auto Echo 1 1 1 0 Local Loopback 1 !fAx C Out =Transmit Clock !fAx C Out = BR Generator Oulput !fRxC Out = OPLL Oulput !fAxC 0 0 0 Transmit Clock = fA TxC Pin 1 1 0 1 1 Transmit Clock = !fRxCPin T ransmtt Clock = BR Generator Output T ransmn Clock = 0 PLLOulput 0 0 0 1 1 0 Receive Clock 1 Receive Clock = OPLL Output 1 on 0 0 0 0 1 1 1 1 0 0 0 1 Null Command Enter Search Mode 1 1 0 0 Reset Missing Clock 1 0 1 0 1 Disable OPLL Set Source = SR Gener~tor Set Source =IRTxC SetFM Mode SetNRZIMode 0 1 1 Receive Clock = IRTxC Pin Receive Clock = ffRxC Pin = SA Generator OUlput IRTxC XtaillNo Xtal Figure 9. Write Register Bit Functions (Continued) 183 Write Register 15 ,1' 1 • 07 061 OSI 041 031 021 011 00 I .~ ~eroCountlE ~ L.:::= SOLe AFO Enable DCOIE SynelHunt IE crSIE Tx UnderrunlEOM IE Break/Abort IE Figure 9. Write Register Bit Functions (Continued) Table 2. see Read Reglst~rs Bit Description RRO Transmit and Receive buffer status and external status Special Receive Condition status Modified interrupt vector (Channel B only), Unmodified interrupt vector (Channel A only) Interrupt pending bits (Channel A only) RR1 RR2 RR3 RR6 RR10 SDLC FIFO byte counter lower byte (only when enabled) , SOLC FIFO byte count and status (only when enabled) Receive buffer Miscellaneous status bits RR12 FjR13 RR15 Lower byte of baud rate generator time constant Upper byte of baud rate generator time constant External Status interrupt information RR7 RR8 184 Read Register 0 Read Register 3 Ax Character Available Chan'nel B ExtlStatus IP } Zero Count Channel B Tx IP Tx Buller Empty Channel B Rx IP OCO Channel A ExtiStatus IP • Channel A Tx IP SynclHunt Channel A Rx IP CTS o o Tx UndemmlEOM Break/Abort • Always 0 In B Channel Read Register 1 Read Register 6 * All Sent Residue Code 2 BCO Residue Code 1 BCl Residue Code 0 BC2 Parity Error Bea Rx Overrun Error BC4 CRClFraming Error BC5 End 01 Frame (SOLC) BC6 BC7 Read Register 2 • Can only be accessed il the SOlC FIFO enhancement is enabled ('!VRIS bn 02 setto 1) SOLC FIFO Status and Byte Count (LSB) Read Register 7 • Interrupt V4 vector • BC8 V5 BC9 V6 BC10 V7 BCll BC12 • Mocfofied In B Channel BC13 FDA: FIFO Available Status 1 = Status Reads from FIFO FOS: FIFO Overflow Status 1 = FIFO Overflowed 0= Nonnal • Can only be accessed il the SOlC FIFO enhancement is enabled (WR15 bit D2 set to 1) SOLC FIFO Status and Byte Count (MSB) Figure 10. Read Register Bit Functions 185 Read Register 10 Read Register 13 1071061051041031 021 01 100 I Tce TC9 TC10 TCll loop Senclng TC12 o TC13 Two Clocks Missing TC14 One Clock Missing TC15 Read Register 12 Upper Byte of Time Constant Read Register 15 I ~~~." TCO TCl ~OCDIE TC2 TC3 lower Byte TC4 01 TIme Constant SyncIHunt IE l;C5 CTSIE TC6 Tx UnderrunlEOM IE Te7 Break!Abort IE Figure 10. Read Register Bit Functions (Continued) Table 3. DMA Cell Register Description Address Name Description xxxxx 00000 00000 00001 BCR CCAR DSR ICR Bus Configuration Register Channel Command/Addr'!ss Register (WRITE) . DMA Status Register (READ) Interrupt Control Register 00010 00011 00011 00100 IVR ICSR ISR DER Interrupt Vector Register Interrupt Command Register (WRITE) Interrupt Status Register (READ) DMA Enable/Disable Register 00101 00110 00111 01000-01001 DCR RDCRA DMA Control Register Reserved Address Reserved Address Receive DMA Count Register Channel A (Low-high byte) 01010-01011 01100-01101 01110-01111 10000-10011 TDCRA RDCRB TDCRB RDARA' Transmit DMA Count Register Channel A Receive DMA Count Register Channel B Transmit DMA Count Register Channel B Receive DMA Address Register Channel A 10100-10111 11000-11011 11100-11111 TDARA RDARB TDARB Transmit DMA Address Register Channel A Receive DMA Address Register Channel B Transmit DMA Address Register Channel B 186 Address: 00010 Address: 00000 (WrIte) lool~I~I~lool~I~lool ~ L.::::: ::} ~IVO Address 0 Address 1 Address 2 Addres83 IV4 Address 4 1V5 DMA Commands o o o o 1 1 1 1 * IV3 IV6 0 0 Null Command 0 1 Reserved 1 0 Reset Highest IUS 1 1 DMA Reset 0 0 Enable Tx B DMA 0 1 Enable Rx B DMA 1 0 Enable Tx A DMA lIEnable Rx A DMA 1V7 * Potentially modified by Interrupt condition Figure 14. Interrupt Vector Register Figure 11. Channel Command/Address Register Address: 00011 (Write) Address: 00000 (Read) SelectTxBDMA Select Rx B DMA Tx B DMA AbOrt Select Tx A DMA Rx B DMA Abort Select Ax A DMA Tx A DMA Abort ReserVed Rx A DMA Abort Tx B DMA Tenninal Count Ax B DMA Temmal Count Tx A DMA Tenninal Count Ax A DMA Tannlnal Count Figure 12. DMA Status Register DMA Interrupt Commands 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 NuI.Command ResetlP Reset IUS ResetlP and IUS Reserved SetlP Set IUS Set IP and IUS Figure 15. Interrupt Command/Register Address: 00001 Address: 00011 (Reed) ~ ~ TxBDMAlntenuptEnabie Ax B DMA Interrupt Enable , Tx A DMA Inte"';pt Enable TxBDMAIP AxBDMAIP Ax A DMA I"tenupt Enable VIS NV DLe MlE TxADMAIP RxADMAIP TxBDMAIUS Rx BDMA IUS Tx A DMA IUS RxADMAIUS Figure 13. Interrupt Control Register Figure 16. Interrupt Status Register 187 Address: 001<11 Address: 001,00 1071061051041031021011 DO I ~ Tx B OMA Abort Enable Ax B OMA Abort Enable Tx A OMA Abort Enable Ax A OMA Abort Enable Tx B OMA Enable Rx B OMA Enable o o Tx A OMA Enable 1 1 0 1 0 1 Tx B OMA Address Inc/IDee Ax B OMA Address Inc/IDee I Tx A OMA Address Inc/IDee Ax A OMA Address Inc/IDee OMA Priority Rx AlTx NAx Brrx B Rx BfTx BlRx AlTx A Rx NAx BfTx AlTx B Rx BlAx AlTx BfTx A Rx A OMA Enable Reserved Bus Request per Channel Figure 17. DMA Enable Register Figure 18. 'DMA Control Register Ad<*'ess: 01000 (Low Byte) 01001 (High Byte) Address: 01000 (Low Byte) 01001 (High Byte) Ax ACntO Rx ACn18 Ax ACntl Rx ACnt9 Ax ACnt2 RxACnt'10 Ax ACnt3 Rx ACntll Ax ACnt4 RxACnt12 Ax ACntS Rx ACnt13 Ax ACnt6 Rx ACnt14 Ax ACnt7 RxACntlS B)MSB A)LSB Figure 19. Receive DMA Count Register Channel A Ad<*'ess: 01010 (Low Byte) 01011 (High Byte) Address: 01010 (Low Byte) 01011 (High Byte) 1071061051041031021011 Dol I TxACntO TXACnt8 Tx ACnt1 TxACni9 Tx ACnt2 TxACntl0 Tx ACn\3 TxACntl1 Tx ACnI4 Tx A Cnt12 Tx ACntS Tx ACnt13 Tx ACnt6 TxACnt14 TxACntlS Tx ACnt7 A)LSB B)MSB Figure 20. Transmit DMA Couht Register Channel A 188 Address: 01100 (Low Byte) 01101 (High Byte) Address: 01100 (Low Byte) 01101 (High Byte) RxBCntO RxBCnt8 RxBCntl RxB Cnt9 RxB Cnt2 RxB Cntl0 RxB Cnt3 RxB Cntl1 RxB Cnt4 RxB Cnt12 RxB CntS RxB Cnt13 RxB Cnt6 Rx B Cnt14 RxBCnt7 Rx B Cnt15 A) LSB B)MSB Figure 21. Receive DMA Count Register Channel B Add"ess: 01110 (Low Byte) 01111 (High Byte) Add-ess: 01110 (Low Byte) 01111 (High Byte) Tx B CntO Tx BCntS Tx BCnI1 Tx BCnt9 Tx BCnt2 Tx B Cntl0 Tx BCnt3 Tx B Cntl1 Tx BCnt4 Tx B Cnt12 Tx BCnt5 Tx B Cnt13 Tx B Cnt6 Tx B Cnt14 Tx BCnt7 A) LSB Tx BCnt15 B)MSB Figure 22. Transmit DMA Count Register Channel B 189 Address: 10010 (Bits 16-23) Address: 10000 (Bits 0-7) " ~ AxAAddrO Ax A Addr16 RXAAddrt Ax A Addr17 AxAAddr2 Ax A Addr18 Ax A Addr19 AxAAddr3 AxAAddr20 Ax A Addr4 Ax AAddr21 Ax A AddrS AxAAddr22 Ax A Addril AxAAddr23 AxAAddr7 Address: 10011 (Bits 24-31) Address: 10001 (Bits8-15) Ax AAddrii Ax AAddr9 Ax AAddr10 Rx AAdd~l Ax AAddr12 , ~ Ax A Addr25 Ax A Addr26 Ax AAddr27 Ax A Addr28 Ax A Addr13 Ax A Addr29 RxAAddr14 Ax A Addr30 Rx AAddr15 Ax A Addr31 Figure 23. Receive DMA Address Register Channel A 190 Ax A Addr24 Address: 10100 jBils 0-7} Address: 101 01 1 07 1 osl (B~s Address: 10110(Bns1S-23) Tx AAddr{) Tx A Addr16 Tx A Addr1 Tx A Addr17 Tx A Addr2 Tx A Addr18 Tx A Actdr.3 TxAAddr19 Tx AAddr4 Tx A Addr20 Tx A AddrS Tx A Addr21 Tx A Addr6 Tx A Addr22 Tx AAddr7 Tx A Addr23 8-15) Address: 10111 (B~ 24-31) 051 041 031 021 011 001 Tx AAddrtl Tx A Addr24 TxAAddr9 Tx A Addr25 Tx A Addr10 Tx A Addr26 TxAAddr11 Tx A Addr27 Tx A Addr12 TxAAddr28 TxAAddr13 Tx AAddr29 Tx A Addr14 TxAAddr30 Tx A Addr15 Tx A Addr31 Figure 24. Transmit DMA Address Register Channel A 191 Adltess: 11000 (BIts 0-7) Address: 11010 (BltoI6-23) RlrBAddrO Ax BAddr16 AxBAddr1 RxBAdelr17 AxBAddr2 Ax BAddr18 Ax BAdct3 Rx BAdelr19 AxBAddr4 Rx BAddr20 Ax BAddr5 Ax BAddr21 Rx BAddr6 Rx BAddr22 Rx BAddr7 AX BAddr23 Adltess: 11001 (Bits 8-15) Address: 11011 (BIts 24-31) Ax BAddr6 Rx BAddr24 Rx BAddr6 Ax BAddr25 Ax BAdelrl0 Rx BAddr26 Ax BAddrll Rx BAddr27 Rx BAddr12 Ax B Addr28 Rx BAdelr13 Rx B Addr29 Rx BAddr14 Rx BAdct30 Rx B Addr15 AxBAddr31 Figure 25_ ReCeive DMA Address Register Channel B II 192 Address: 11100 (BI1s 0-7) Address: 11110 (BI1s 16-23) TxBAddrO Tx BAddr16 Tx BAddr1 Tx BAddr17 TxBAddr2 Tx BAddr18 Tx BAddr3 Tx BAddr19 Tx BAddr4 Tx B Addr20 TxBAddrS Tx BAddr21 TxBAddr6 Tx B Addr22 Tx BAddr7 Tx BAddr23 Address: 11101 (Bilo 8-15) Address: 11111 (BI1s 24-31) Tx B AddIS Tx B Addr9 Tx BAddr10 Tx BAddr11 Tx BAddr12 Tx BAddr13 Tx B Addr24 TxB Addr25 TxB Addr26 Tx B Addr27 TxB Addr28 Tx B Addr29 Tx BAddr14 TxB Addr30 TxBAddr15 Tx B Addr31 Figure 26. Transmit DMA Address Register Channel B 193 ABSOLUTE MAXIMUM RATINGS Voltages on all pins, with respect to GND ................................ -0.3 V to +7.0 V Operating Ambient Temperature ........................... See Ordering Information Storage Temperature ............................... -85°C to 150°C Stresses greater than those listed under Absolute Maximum Ratings may cause permanent damage to tile device. This is a stress rating only; operation of the device at any condition above those indicated in the operational sections of these specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. STANDARD TEST CONDITIONS The DC Characteristics and Capacitance section below apply for the following standard test conditions, unless otherwise noted. All voltages are referenced to GND. Positive current flows into the referenced pin. Standard conditions are as follows: • +4.75 V!> Vee!> 5.25 V • GND =OV • TA as specified in Ordering Information 2.0Kn From Output Under Test 250 ftA ':" ':" Figure 27. Standard Test Load CAPACITANCE Symbol Parameter Input Capacitance Output Capacitance Bidirectional Capacitance Nole: f = 1 MHz over specified temperature range. Unmeasured pins returned to ground. MISCELLANEOUS Transistor Count 52,047 194 Min Max Unit 10 15 20 pF pF pF Condition Unmeasured Pins Returned to Ground DC CHARACTERISTICS Z16C35 Symbol Parameter Min VIH Vil VOH1 V0H2 . Input High Voltage Input Low Voltage' Output High Voltage Output High Voltage VOL III Output Low Voltage Input Leakage Output Leakage Vcc Supply Current 10l Iccl Typ 2.2 -0.3 2.4 Vcc -0.8 7 Max Unit Vcc +0.3 0.8 V V V V 0.4 ±10.00 t.tA ±10.00 t.tA 50 Condition = -1.6mA = -250 t.tA 10l = +2.OmA IOH IOH V mA 0.4 < V". < +2.4 V 0.4 < VOUT < +2.4 V Vcc = 5 V. VIH = 4.8 V. Va. =0.2 V Nole: Vco = 5 V ± 5% unless otherwise specified. over specnied temperature range. AC CHARACTERISTICS Note: See the corresponding figures following this table (Figures 28-49). No Symbol Parameter 1 2 3 4 Tcyc TwASI TwASh TwDSI Bus Cycle Time lAS Low Width lAS High Width IDS Low Width 5 6 7 8 TwDSh TdAS(DS) TdDS(AS) TdDS(DRa) IDS High Width lAS Rise to IDS Fall Delay Time IDS Rise to lAS Fall Delay Time IDS Fall to Data Active Delay 9 10 11 12 TdDS(DRv) TdDS(DRn) TdDS(DRz) TsCS(AS) IDS Fall to Data Valid Delay IDS Rise to Data Not Valid Delay IDS Rise to Data Float Delay ICS to lAS Rise Setup Time 13 14 15 16 ThCS(AS) TsADD(AS) ThADD(AS) TsSIA(AS) ICS to lAS Rise Hold Time 17 18 19 10 MHz· Min Max 16 MHzt Min Max 4TcPC 40 4TcPC 90 70 55 50 60 30 5 5 5 0 20 5 0 75 85 0 0 20 15 15 12 Direct Address to lAS Rise Setup Time Direct Address to lAS Rise Hold Time Status IINTACK to lAS Rise Setup Time 0 15 5 15 0 12 5 10 20 ThSIA(AS) TsAD(AS) ThAD(AS) TsRW(DS) Status liNTACK to lAS Rise Hold Time Address to lAS Rise Setup Time Address to lAS Rise Hold Time R//W to IDS Fall Setup Time 5 15 5 0 5 10 5 0 21 22 23 24 ThRW(DS) TdDSf(RDY) TdDSr(RDY) TsDW(DS) R//W to IDS Fall Hold Time IDS Fall to IREADY Fall Delay IDS Rise to /READY Rise Delay 25 Write Data to IDS Fall Setup Time 0 25 26' 28 ThDW(DS) TdRDY(DRv) TwRDI TwRDh Write Data to IDS Fall Hold Time IREADY Fall to Data'Valid Delay IRD low Width IRD High Width 25 29 Notes [1i [1] 15 40 50 40 20 0 15 40 40 70 50 60 30 195 AC CHARACTERISTICS (Continued) No Symbol Pa~ameter 30 31 32 33 TdAS(RD) TdRD(AS) TdRD(DRa) TdRD(DRv) lAS Rise to IRD Fall Delay Time IRD Rise to lAS Fall Delay Time 34 35 36 37 TdRb(DRn) TdRD(DRz) TdRDf(RDY) TdRDr(RDY) 38 39 40 41 TwWRI TwWRh TdAS(WR) TdWR(AS) IWR Low Width IWR High Width lAS Rise to /WR Fall Delay Time 42 43 44 45 TsDW(WR) ThDW(WR) TdWRf(RDY) TdWRr(RDY) 46 47 48 49 fRO Fall to Data Active Delay 10 MHz' Min Max 5 5 0 0 75 0 15 40 20 20 50 40 IRD Rise to Data Float Delay IRD Fall to IREADY Fall Delay IRD Rise to IREADY Rise Delay Notes 5 5 0 85 IRD Fall to Data Valid Delay /RD Rise to Data Not Valid Delay 16 MHzt Min Max 70 60 5 5 50 30 5 5 Write Data to IWR Fall Setup Time Write Data to /WR Fall Hold Time IWR Fall to IREADY Fall Delay /WR Rise to /READY Fall Delay 0 25 0 15 TsCS(DS) ThCS(DS) TsADD(DS) ThADD(DS) ICS to IDS Fall Setup Time ICS to IDS Fall Hold Time Direct Address to IDS Fall Setup Time Direct Address to IDS Fall Hold Time 0 25 0 25 0 15 0 15 [2] [2] [1,2] [1,2] 50 51 52 53 TsSIA(DS) ThSIA(DS) TsCS(RD) ThCS(RD) Status IINTACK to IDS Fall Setup Time Status IINTACK to IDS Fat! Hold Time ICS to IRD Fall Setup Time ICS to IRD Fall Hold Time 0 25 0 25 0 15 0 15 [2] [2] [2] [2] 54 55 56 57 TsADD(RD) ThADD(RD) TsSIA(RD) ThSIA(RD) Direct Address to IRD Fall Setup Time Direct Address to IRD Fall Hold Time Status II NT ACK to IRD Fall Setup Time Status IINTACK to IRD Fall Hold Time 0 25 0 25 0 15 0 15 [1,2] [1,2] [2] 58 59 60 61 TsCS(WR) ThCS(WR) 'TsADD(WR) ThADD(WR) ICS to IWR Fall Setup Time ICS to IWR Fall Hold Time Direct Address to IWR Fall Setup Time Direct Address to IWR Fall Hold Time 0 25 0 25 0 15 0 15 [2] 62 63 78 81 TsSIA(WR) ThSIA(WR) TdDSI(RDY) TsIEI(DSI) Status IINTACK to IWR Fall Setup Time Status IINTACK to IWR Fall Hold Time IDS Fall (INTACK) to IREADY Fall Delay lEI to IDS Fall (INl ACK) Setup Time 0 25 0 15 82 83 84 85 ThIEI(DSI) TdIEI(IEQ) TdAS(IEO) TdDSI(INT) lEI to IDS Rise (INTACK) Hold Time lEI to lEO Delay lAS Rise or Status INTACK to lEO Delay IDS Fall (INTACK) to liNT Inactive Delay 86 87 88 89 TdDSI(Wf) TdDSI(Wr) TdW(DRy) TdRDI(RDY) IDS Fall (IN1ACK) to IWAIT Fall Delay IDS Fall (INTACK) to /WAIT Rise Delay ,196 /WR Rise to AS Fall Delay Time /WAIT Rise to Data Valid Delay IRD Fall (INTACK) to IREADY Fall Delay 40 20 50 40 [2] [2] [1,2] [1,2] 250 300 [2] [2] [4] 40 60 0 0 60 60 200 40 40 170 40 300 40 300 35 175 35 175 /[4] [4] AC CHARACTERISTICS (Continued) 10 MHz· Min Max 16 MHzt Min Max 60 50 0 No Symbol Parameter 91 92 93 94 TsIEI(RDI) ThIEI(RDI) TdRDI(INT) TdRDI(Wf) lEI to /RD Fall (INTACK) Setup Time lEI to /RD Rise (INTACK) Hold Time IRD Fall (INTACK) to liNT Inactive Delay IRD Fall (INTACK) to /WAIT Fall Delay 95 IRD Fall (lNTACK) to /WAIT Rise Delay Pulsed IINTACK Low Width Pulsed IINTACK High Width lAS Rise to Pulsed IINTACK Fall Delay Time 70 98 TdRDI(Wr) TwPIA1 TwPIAh TdAS(PIA) 5 55 45 5 99 100 101 102 TdPIA(AS) TdPIA(DRa) TdPEA(DRn) TdPIA(DRz) Pulsed IINTACK Rise to lAS Fall Delay Time Pulsed IINTACK Fall to Data Active Delay Pulsed IINTACK Rise to Dala Not Valid Delay Pulsed liNTACK Rise to Data Float Delay 5 0 0 5 0 0 103 104 105 106 TsIEI(PIA) ThIEI(PIA) TdPIA(IEO) TdPIA(INT) lEI to Pulsed IINTACK Fall Setup Time lEI to Pulsed IINTACK Rise Hold Time Pulsed liNTACK Fall to lEO Delay Pulsed IINTACK Fall to/INT Inactive Delay 107 108 109 110 TdPIAf(RDY) TdPIAr(RDY) TdPIA(Wf) TdPIA(Wr) Pulsed liNTACK Fall to IREADY Fall Delay Pulsed IINTACK Rise to /READY Rise Delay Pulsed IINTACK Fall lo/WAIT Fall Delay Pulsed IINTACK Fall to IWAIT Rise Delay 96 .97 0 200 40 170 35 175 300 60 50 0 0 '111' 113 114 115 TdSIA(INT) TwRESI TwRESh TdRES(STB) Status IINTACK Fall to IINl Inactive Delay IRESET Low Width IRESET High.width IRESET Rise to IStrobe Fall 116 117 118 119 TdPC(BUSa) TdPC(BRO) TsBAK(PC) ThBAK(PC) PCLK Rise to Bus Active Delay PCLK Rise to /BUSREO Delay IBUSACK to PCLK Rise Setup rime IBUSACK to PCLK Rise Hold Time 120 121 122 123 TwPCI TwPCh TcPC npc PCLK Low Width PCLK High Width PCLK Cycle Time PCLK Fall Time 124 125 126 127 TrPC TdPCr(UAS) TwUASI TdPCf(UAS) PCLK Rise Time PCLK Rise to IUAS Delay IUAS Low Width PCLK Fall to /UAS Delay 128 129 130 131 TdPCr(AS) TwASI TdPCf(AS) TdAS(DSr) PCLK Rise to lAS Delay lAS Low Width PCLK Fall to lAS Delay lAS Rise to IDS Fall (READ) Delay 132 133 134 135 TdDS(PCr) TwDSlr TdPCf(DS) TsDR(DS) PCLK Rise to IDS Delay IDS Lo",! Width (READ) 135 PCLK Fall to IDS Delay Read Data to IDS Rise Setup Time 30 [4] 15 20 ,50 Notes 60 200 50 170 300 40 40 300 200 35 35 175 200 140 40 40 60 60 40 40 10 10 20 35 35 100 26 26 61 10 5 10 30 5 25 25 30 25 30 30 25 25 30 30 25 25 25 30 90 30 25 25 [2J [3] 35 35 30 30 [4] \ 200 170 [4] [5] [5] [5,6] [5] [5J [5,6] [5] [5.7] [5] [5,8] [5] [5J 197 AC CHARACTERISTICS (Continued) 10 MHz· Min Max No Symbol Parameter 136 137 138 139 ThDR(DS) TdPC(RW) TdAS(RD) TdPCr(RD) Read Data to IDS Rise Hold Time PCLK Rise to RI/W Delay lAS Rise to IRD Fall Delay PCLK Rise to fRD Delay 140 141 142 143 TwRDI TdPCI(RD) TsDR(RD) ThDR(RD) IRD Low Width PCLK Fall to IRD Delay Read Data to IRD Rise Setup Time Re~d Data to IRD Rise Hold Time 144 145 146 147 TdPC(ADD) TdPC(AD) ThAD(PC) TdPC(ADz) PCLK Rise to Direct Address Delay PCLK Rise to Address Delay Address to PCLK Rise Hold Time PCLK Rise to Address Float Delay 148 149 150 151 TdPC(ADa) TsAD(UAS) ThAD(UAS) TsAD(AS) PCLK Rise to Address Active Delay Address to IUAS Rise Setup Time Address to IUAS Rise Hold Time Address to lAS Rise Setup Time 152 153 154 155 ThAD(AS) TsW(PC) ThW(PC) TsRDY(pc) Address to lAS Rise Hold rime /WAIT to PCLK Fall Setup lime /WAIT to PCLK Fall Hold Time IREADY to PCLK Fall Setup Time 10 30 10 156 157 158 159 ThRDY(PC) ThDW(PC) TdAS(DSw) TsDW(DS) IREADY to PCLK Fall Hold Time Write Data to PCLK Rise Hold Time lAS Rise to IDS Fall (WRITE) Delay Write Data to IDS Fall Setup Time 160 161 162 163 TwDSlw ThDW(DS) TdAS(Wf1) TsDW(WR) IDS Low Width (WRITE) Write Data to IDS Rise Hold Time lAS Rise to IWR Fall Delay 85 Write Data to /WR Fall Setup Time 30 164 165 166 167 TwWRI ThDW(WR) TdPC(WR) TdPC(BUSz) /WR Low Width Write Data to IWR Rise Hold Time PCLK Fall to /WR Delay PCLK Rise to Bus Float Delay 90 Noles: [1] Direct address is A l{AltB or AO{SCC{{DMA. [2] The parameter applies only when {AS is not present. [3] {Strobe is any of {DS, {RD, twR or Pulsed {INTACK. [4] Clock-cycle dependent, 2TcPC + TwPCI + llPC + 55 [5] Parameter applies only while ISCC is bus master. [6] Clock-cycle dependent, TwPCh + TfPC - 15. [7] Clock-cycle dependent, TwPCl + TrPC - 15. [8] Clock-cycle dependent, TcPC + TwPCh + TrPC - 10. [9] Clock-cycle dependent, TcPC - 15. [10] Clock-cycle dependent, TcPC - 10. • Units in nanoseconds 16 MHz Timing is Preliminary t 198 0 16 MHzt Min Max 0 25 30 30 25 25 30 135 90 25 30 25 0 30 0 25 40 30 40 0 0 45 50 40 Notes [5] [5] [5,7] [5] [5,8J [5] [5] [5] [1,5] [5] [5] [5] 20 20 20 10 10 10 [5] [5J [5J [51 20 10 10 20 10 [5] [5] [5J [5J 30 0 85 30 20 0 45 25 '[5] [5] [5,9] [5,6J 90 30 70 25 55 25 [5,10] [5,7] [5,9] [5,6] 55 25 [5,10] [5,7) [5] [5J 30 30 50 35 25 40 ICS Al/NIB AO/SCCl/DMA IINTACK (Status) lAS RlIW IDS ADO-AD15 ",*---'(' 8 } - - . - f IWAITIIRDY (Wait) IWAITIIRDY (Ready) Figure 28. Multiplexed IDS Read Cycle 199 ICs Al/NIB AOISCClIDMA IINTACK (Status), ----' lAS RI/W IDS AOO-AD15 /wArrI/ROY (Wait) /wArT/IRDY (Ready) Figure 29. Multiplexed IDS Write Cycle 200 ICS A1IA//B AO/SCCIIOMA IINTACK (Status) lAS IRO ~--------~~I}---------~ ~----~ AOO-A015 ~------~~r-------~ IWAITIIROY (Wait) IWAITIIROY (Ready) Figure 30. Multiplexed IRD Read Cycle 201 ICS Al/NIB AOISCClIDMA IINTACK (Status) lAS twR ~--------~~,}---------~ ADO-AD15 twAITIIRDY (Wait) twAITIIRDY (Ready) Figure 31. Multiplexed IWR Write Cycle 202 ). ICS ( ®-~ ~-® ). Al/A1/B AO/SCClIDMA ( ®-~ ~-® IINTACK (StatUS) J \ . ®-~ ~-® RlIW / \ , ~~ ~-® IDS 5 4 ~ 1 ). AOO-AD15 ®- .. r------ - f-~ -@- 95 >- --@liNT -@-- J (Wait) ~ / I K \ ~ / f-@Figure 40. Non-multiplexed IRD Status INTACK Cycle 211 IINTACK (Pulsed) t-------{! ~-----t ADO-AD15 IWAITIIRDY (Ready) IWAITIIRDY (Wail) lEI lEO liNT Figure 41. Non-multiplexed Pulsed INTACK Cycle 212 t----{!97r~---'~ C/) ~ ~j ~~ "e 10 is 1= 0 0 c( >-- ~f !::'!. ~ >-oil ~~ !:: !!l ~ I- z '" ~ 213 ~ I I® ~) ,0 I~ 'i"'" ~ $ (i) ....... ~~ ~ - f+ r--@ ~ IDS 131 133 @- '-- 1 RlIW / I--@ ~ '-./ 1 140 @>-- 139 ) Al.AO I-~ ~ ~ i-'- =) -~ = 151 '-./ ,,-- ~ I--@ ~ r-. ~~ r-~ *- I' lWa~I!RDY r\ J (Watt) -f..@ 153 ~ /Wait/IRDY (Ready) ISS ,'BUSACK -@ ~ IRD AD1S-0 -- .) @- I- I I ~. K - ~ Figure 46. Z16C35 Memory Read 217 Tl PCLK IUAS I - T2 ~w '"\ . ,,' , \..-...J ~ ' "~ ~~L-I \ Lp' '-' " ~ ~~ T4 T3 ~ . @ lAS '--f-' , " i@- ~~r--" + 159 IDS 161 -I r'- i RI/W ~ 163 ~ IWR ~ ~-@ - ~ 15 ~~ ~~ K= - ) --@ ~~ ~ @- ~ !WaitlIROY (Ready) I r\ ~f-@l 153 ~ !WaitlIROY (Wait) 155 ) I / ~ K @>- I- ~ ~ Figure 47. Z16C35 Memory Write 218 '@-~ 152 ./ IBUSACK -I f-@ f- ~~H ) Al.AO AD15-O 165 T2 T3 TW TW T4 PCLK /wail/IRDY (Ready) /wail/IRDY (Wait) Figure 48. Wait and Ready Timing 219 POLK /UAS lAS IDS RlIW IRD IWR Al,AO AD15-O Figure 49. BUS Release 220 AC CHARACTERISTICS General Timing PClK IRTxC, fTAxC (Receive) -------'1 AxD /SYNC (Exlerna9 ----' TRxC, RTxC (Transmit) TxD (~~ IRTxC -~J--;_----')(~ ~----~ ~_'0~_-_- -_-_~~.~~~---------------------------- _______' _________ ___ \~-~ fTRxC - - - - , \ ' - -_ _ ICTS,IDCD __ ______________ \__.--.JI ---JI ~..----""'"'\_ _ .I ~ , --'~~ ~------------------------- /SYNC (Input) , '----- " ~ Figure 50. Z16C35 General Timing 221 AC CHARACTERISTICS General Timing No Symbol Parameter to IRxC to /AxC to IRxC to IRxC 10 MHz' Min Max 16MHzt Min Max 0 150 60 150 60 -200 5TcPC 0 -100 5TcPc' 0 1 2 3 4 TsRXD(RXCr) . ThRXD(RXCr) TsRXD(RXCf) ThRXD(RXCf) 5 6 7 8 TsSY(RXC) ThSY(RXC) TsTXC(PC) TdTXCf(TXD) {SYNC to {RxC Rise Setup Time ISYNC to RxC Rise Hold Time /TxC to PCLK Setup Time /TxC Fall to TxD Delay (x1 mode) 9 10 11 12 TdTxCr(TXD) TdTXD(TRX) TwRTXh TwRTxl /TxC Rise t9 TxD Delay (x1 mode) TxD to /TRXC Delay (Send Clock Echo) IRTxC High Width {RTxC Low Width 150 150 13 14 15 16 TcRTX TcRTXX TwTRXh TwTRXI {RTxC Cycle Time (RxD, TxD) Crystal Oscillator Period /TRxC High Width /TRxC Low Width 400 100 150 150 {TRxC Cycle lime (RxD, TxD) IDCD or ICTS Pulse Width ISYNC Pulse Width 200 17 TcTRX 18 TwEXT 19 . TwSY RxD RxD RxD RxD Rise Setup Time (x1 mode) Rise Hold Time (x1 mode) Fall Setup Time (x1 mode) Fall Hold Time (x1 mode) 400 200 [1] [1] [1,51 [1,5] 0 o . 0 150 85 150 200 85 80 80 244 100 80 80 244 .70 70 [1] [1] [2,4] [21 [2,5] [6] [6] 80 1000 Notes 1000 [6,7] [3] [6] [6] [6,7] Notes: [1) /RxC is /RTxC or (fRxC, whichever is supplying the receive clock. . [2) (fxC is /TRxC or /RTxC, whichever is supplying the transmit clock. [3) Both /RTxC and /SYNC have 30 pf capacitors to grownd connected to them. . [4J Parameter applies only if the data rate is one-fourth the PCLK rate. In all other cases, no phase relationship between /AxC and PCLK or{fxC and PCLK is required. . [5] Parameter applies only to FM encoding/decoding. [6] Parameter applies only for transmitter and receiver; DPLL and baud rate generator requirements are identical to case PCLK requirements. [7) The maximum receive or transmit data rate is qna-fourth PCLK. • Units in nanoseconds. t 16MHz TIming is preliminary r 222 AC CHARACTERISTICS System Timing IRTxC, ITRxC (Receive) ISYNC (Output) liNT IRTxC,lTRxC (Transmit) liNT ICTS,IDCD ISYNC (Input) K K ~ \ liNT 5 Figure 51. Z16C35 System Timing 223 AC CHARACTERISTICS System Timing No Symbol Parameter 1 TdRXC(SY) TdRXC(INT) TdTXC(INT) TdSY(INT) TdEXT(INT) IRxC Rise to ISYNC RxC Rise to liNT Valid Delay nxc Fall to liNT Valid Delay 2 3 4 5 ISYNC Transition to liNT Valid Delay IDCD or ICTS Transition to/INT Valid Delay Notes: [1] IAxC is /RTXC or {TRxC, whichever is supplying the receive clock. [2] {TxC is {TRxC or IRTxC, whichever is supplying the transmit clock. t 16MHz Timing is preliminary tt Units equal to TcPc. 224 10MHz Min Max 16 MHzt Min Max 4 7 4 7 10 6 2 16 10 6 6 10 6 2 16 2 2 10 6 6 Notestt III [IJ PRELIMINARY PRODUCT SPECiFICATION ~ZiIill Z16C50 DDPLL DUAL DIGITAL PHASE LOCKED Loop MICROCONTROLLER FEATURES _ Two independent Digital Phase Locked Loops in one package. - Synchronous status output - Accept Code Violation input _ 10 MHz and 20 MHz Clock operation _ Implemented in 1.61! CMOS technology - Selectable clock rate, clock sampling edge, and data decoding. - 28-pin DIP package GENERAL DESCRIPTION The 16C50 DDPLL is a fully static CMOS device that packs two independent Digital Phase Locked Loops, with separate controls for selecting the decoding mode, clock rate, and synchronization edge, in one integrated package (Figure 1). The only common input between the two phase locked loops is IRESET ( I denotes active low signal). EDGE MODE The DDPLL is used in many communication applications requiring detection and extraction of clock from data. 1\ can be used together with Serial Communication Controllers to allow operation at higher data rates. The data rate is programmable at 1/8, 1/16, or 1/32 clock rate. The DDPLLis offered in two speed grades: 1OM Hz and 20MHz maximum clock speed, which translates to a maximum data rate of 1.25 Mbps and 2.5 Mbps, respectively. RATE VDD 2 2 2 IRESET NlC MODE1B MODE1A MODEOB MODEOA MISSEDB MISSEOA RATE1B ClKOUT ClK RATE1A RATEOB RATEOA VOO VSS MISSED DATA EOGEOB EOOEOA ACVB ACVA OATM ClKOUTA ACV IRESET EOGE1B EOGE1A ClKA DATAB CLKOUTB ClKB N/C Note: Power connections follow conventional descriptions below: Connection Circuft Device Power Vee V"" Ground GND Vss Figure 1. DDPLL Block and Pin Diagrams 225 PIN DESCRIPTION' The following is a list of DDPLL pins and their descriplions. "A" and "B" at the end of pin names designate the signal connecting to the A- or B-channel of the DDPLL. ACVA, ACVB. Accept Code Violation (input, active HIGH). The ACV signal is used to control the response of the DDPLL to code violations present in the received data stream. CLKA, CLKB Clock. Input (input, active HIGH). The Clock runs at 8-, 16-, or 32-times the received data rate and is used by the DDPLL to generate the CLKOUT signal. CLKOUTA, CLKOUTB. Clock Output( output, active HIGH). CLKOUT is the recovered clock for the receive data stream. The receiver should use this clock to sample and decode the received data. DATAA, DATAB. Receive Data (input, active HIGH). The DATA signal is the received data stream that the DDPLL is attempting to synchronize with. The DDPLL will provide the CLKOUTsignal for use by a receiver attempting to decode this data stream. select which edge is used by the DDPLL to acllieve alld maintain synchronization. MISSEDA, MISSEDB. Clock Missed(output, active HIGH). MISSED signal is activated when the DDPLL detects miSSing edge(s) in the data stream. MODEOA, MODEOB, MODE1A, MODE1B. DDPLL Mode Controls (input, active HIGH). MODEO and MODE1 are used to control the mode of operation of the DDPLL with respect to the encoded format of the incoming data. RATEOA, RATEOB, RATE 1A, RATE1B. Clock Rate Selects (input, active HIGH). RATE inputs are used to select the data rate divisor to generate the DDPLL clock. {RESET. Reset (input, active LOW). This input resets the DDPLL to a known state and must be active for at least two cycles of the slowest CLK signal. This is the only common input to the two Digital Phase Locked Loops. VDD. +5V supply. VSS. OV (GND) supply. EDGEOA, EDGEOB, EDGE1A, EDGE1B. Adjust/Synchronize Edge Controls (input, active HIGH). These Signals FUNCTIONAL DESCRIPTION , Prior to device operation, the control inputs of the DDPLL must be set to known states corresponding to the desired mode of operation. Data decoding format is programmed via MODEO and MODEl inputs. Table 1 demonstrates the truth table for these inputs. NRZ, NRZI, FMl (biphasemark), FMO(biphase space) and Manchester (biphase level) formats are supported. MODE1-MODEOof LOW-LOW disables the DDPLL, setting the CLKOUT output Law. In NRZ format, a "1" is represented by a HI<;;H level and a "0" is represented by a LOW level. In NRZI format, a "1" is represented by no change in level and a "0" is represented by a chanqe in level. A MODE1-MODEO of LOW-HIGH selects the NHZ or NRZI decoding modes Table 1. Mode Selection Truth Table MODEl MODEO Selected Mode 0 0 a 1 1 0 Disable/Sync NRZ/NRZI Biphase-Mark/Space Biphase-Level 226 1 1 In both of these mopes, transitions on the input may only occur on bit cell boundaries and the DDPLL provides CLKOUT to match these bit cell boundaries In FM1 (biphase mark) and FMO (biphase space) formats, a transition occurs at the beginning of every bit cell. In addition to this, in FM1, a "1" is represented by an additional transition at the center of the bit cell and a "0" is represented by the absence of such transition. In contrast, in FMO, a "0" is represented by an additional transition at the center of the bit cell and a "1" is represented by the absence of such transition. MODE1-MODEO of HIGHLOW selects the biphase-mark (FM1) or biphase-space (FMO) modes. . In Manchester (biphase level) mode, a transition occurs at the center of every bit cell. If the bit is "1", the transition is HIGH to LOW, and if the bit is "0", the transition is LOW to HIGH. Additionally, a LOW to HIGH transition occurs at the boundary of a "1" bit. A HIGH-HIGH selects the Manch- Data ester (biphase level) mode. Figure 2 demonstrates an example of a seriat data stream with its corresponding encoded waveforms in NRZ, NRZt, FM 1, FMO, and Manchester modes. 0 NRZ \ NRZI \ 0 0 / \ / \ FM1 FMO Manchester Figure 2. Data Decoding Formats Clock rate is programmed through RATE1-RI\TEO inputs. Clock rate can be set for 8-, 16-, or 32-times the data rate With maximum clock operation of 20MHz in 8X mode, data rates of 2.5Mbps is achieved. Table 2 illustrates clock rate divisor's truth table. Note that RATE1RATED of HIGH-HIGH is illegal. All DDPLL inputs (with the exception of /RESET) are sampled by the rising edge of CLK and all outputs change state in response to the rising edge of the CLK signal The two DPLLs are completely independent except for the /RESET input. Table 2. Data Rate Divisor Truth Table RATE 1 RATEO Data Rate Divisor 0 0 0 1 1 0 32X Clock Mode 16X Clock Mode 8X Clock Mode Not Allowed 1 1 EDGE1 and EDGEO select the edge(s) in the receive data stream used by the DDPLL to achieve and maintain synchronization Table 3 shows how the rising edge, the falling edge, or both edges of the receive data stream can be used for synchronization. A HIGH on both EDGE inputs inhibits the DDPLL from using either edge for synchronization. As far as the DOPLL is concerned, edges that are not used to achieve or maintain synchronization are not present. They are reported as missing edges when they occur where an edge is expected Table 3. Clock Edge Selection Truth Table EDGE1 EDGEO Selected Edge 0 0 0 1 1 0 Both Edges Rising Edge Falling Edge Adjust/Sync Intlibit 1 1 The response of the DDPLL to code violations present in the received data stream can be controlled using tile ACV input. This signal is ignored in the NRZ/NRZI mode, where code violations are not possible In all other modes, however, a HIGH on tile ACValiows the DDPLL to recognize an Isolated code violation without losing synchronization. Code violations are then used by the receiver for synchronization. • 227 When the DDI?LL detects missing edge(s) in the data stream, it activates the MISSED output. If the DDPLL is configured to accept code violations, two consecutive code violations will activate the MISSED output. If the DDPLL is configured not to accept code violations, this output is activated on any missing clock. MISSED will never be activated in the NRZ/NRZI modes of operation, as code violations are not possible in these modss. The DDPLL re-enters the sync-up phase when the MISSED output is activated. ' The CLKOUT is the recovered Clock for the receive data stream, The receiver uses this clock to sample and decode the received data. The only common Input between the two phase locked loops in the DDPLL is the /RESET input. This Signal must remain active for at least two cycles of the slowest CLK signal and resets the device to a known state: MISSED=LOW and CLKOUT = LOW, Synchronization attempt begins once the /RESET signal is deactivated. ABSOLUTE MAXIMUM RATINGS \ Voltages on all pins with respect to GND .",,,,,, •. ,,,,,,,,,,,,,,,,,.,,.,,-0.3V to +7.0V Operating Ambient Temperature """""",,,,,,,,,,,,,,,.See Ordering Information Storage Temperature """"""""""",,,,,,,-65°C to +1500C Stresses greater than those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rgting only; operation of the device at any condition above those indicated in the operational sections of these specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. STANDARD TEST CONDITIONS The DC Characteristics and CapaCitance section below apply for the following standard test conditions, unless otherwise noted (Figure 3). All voltages are referenced to GND. Positive current flows into the referenced pin, Standard conditions are as follows: 1.73K +4.5 V < Vee < +5.5 V GND =0\1 TA as specified in Ordering Information 50pF = -= Figure 3. Standard Test Load DC CHARACTERISTICS , Symbol Parameter Min Max Units V1H VIL VOl. IlL lee CIN C OUT Input High Voltage Input Low Voltage Output High Voltage Input Leakage Current Supply Current Input CapaCitance Output Capacitance 2,0 -0.3 2,4 Voo+0.3 08 V V V ±10 40 10 15 tJ.A Notes: I, VDD=5V ±IO% unless otherwise specified, over specified temperature range. 2. Capacitance values specified at f= '!MHz. 228 mA pf pf . Conditions 10H = -1.6mA 0.4V S VIN S 2.4V VOO =5,VIH=4.8V, VIL=0.2V Unmeasured pins returned to GND . Unmeasured pins returned to GND IRESET ClK Control ----------------~ Inputs _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _- 1 ClKOUT Missed Figure 4. DDPLL Timing Diagram Figure 2 illustrates the DDPlUimings. "Control Inputs" in Figure 4 refer to MODE1-MODEO, RATE1-RATEO, EDGE1EDGEO, and ACV inputs. AC CHARACTERISTICS Timing Symbol Parameter Z16C5010 Min Max Z16C5020 Min Max Units T1 T2 T3 T4 TwRESI TsRES(ClK) TwClKh TwClKI {RESET lOW Width {RESET to ClK Setup Time ClK HIGH Time elK low Time 2TcC 15 40 40 2TcC 15 20 20 ns ns ns T5 T6 T7 T8 T9 TcC TsIN(ClK) ThIN(ClK) TdClK(OUT) TdClK(MIS) ClK Cycle Time Input Valid to ClK Setup Time Input Valid to ClK Hold Time ClK to ClKOUT Delay Time ClK to MISSED Delay Time 100 15 10 50 15 10 30 30 30 30 ns ns ns ns ns Notes 1,2,3 1,2,3 229 230 ~ZiIm PRODUCT SPECIFICATION Z5380 SCSI SMALL COMPUTER SYSTEM INTERFACE FEATURES _ Compatible 5380 pinout - Arbitration support _ Low power CMOS • DMA or programmed I/O data transfers _ Asynchronous interface, supports 1.5 MB/s - Supports Normal or Block Mode DMA _ Direct SCSI Bus interface with on-board 48 mA drivers - Memory or I/O Mapped CPU interface _ Supports Target and Initiator roles GENERAL DESCRIPTION The Z5380 SCSI (Small Computer System Interface) controller is a 40-pin DIP or 44-pin PLCC CMOS device (Figure 1). It is designed to implement the SCSI protocol as defined by the ANSI X3.131-1986 standard, and is fully compatible with the industry standard 5380. It is capable' of operating both as a Target and as an Initiator. Special high-current open-drain outputs enable it to directly interface to, and drive, the SCSI bus. The Z5380 has the necessary interface hook-ups so the system CPU can communicate with it like with any other peripheral device. The CPU can read from, or write to, the SCSI registers which are addressed as standard or memorymapped I/Os. The Z5380 increases the system performance by minimizing the CPU interventionin DMA operations which the SCSI controls. The CPU is interrupted by the SCSI when it detects a bus condition that requires attention. It also supports arbitration and reselection. The Z5380 has the proper hand-shake signals to support normal and block mode DMA operations with most DMA controllers available (Figure 2). Note: All Signals with a preceding front slash, "/", are active Low, e.g.: BIIW (WORD is active Low); IBIW (BYTE is active Low, only); INIIS (NORMAL and SYSTEM are both active Low). 231 IOB7-/OBO, IOBP Interface Control Logic CPUBUSI~ ____ ~ ____ ~ Data Output Register Data Input Register ____ ~ ______ ~'- ________________ ~ __- . Imerlace ~----'-r---~~----~------~~------------------~--~ DMA 07-00 Interrupt Logic Logic Control ~egisters Figure 1. Block Diagram 07-00 IOB7-DBO, IDBP A2.-AO lACK IATN nOR. IIOW IBSY ICS IMSG IRESET 10ACK , 1E0P Z5380 1110 ClIO /REO ORO IRST .REAOY ISEL Note: Power connections !oRow conventional descriptions below: IRQ VDD GNO Figure 2. Logic Symbol 232 Connection Circuit Power Va; Ground GND Device Voo Vas , 00 01 IOB7 02 IOB6 03 IOB5 04 1083 10B4 05 1082 • 39 D6 38 07 10B3 06 IOB1 37 A2 IOB2 07 lOBO 36 A1 !DB1 A2 10BP 35 VOO lOBO A1 GNO 10BP VOO GNO AO ISEL /lOW IBSY IRESET lACK IEOP IATN 10ACK IRST 1110 CliO Z5380 (Top View) 34 NlC GNO 33 AO IIOW ISEL 32 IBSY 31 IRESET lACK 30 IEOP 29 10ACK IATN 22 23 24 25 26 27 28 REAOY IIOR IRO IMSG ORO IREO ICS Note: Power connections follow Conventional descriptions below Connection Circuit Device Power Ground Vee GND Voo VSS Figure 3. Pin Diagrams PIN DESCRIPTION Microprocessor Bus Figure 3 shows the pins and their respective functions for both the DIP and PLCC. A2-AO. Address Lines(lnput). Address lines are used with ICS, IIOR, or IIOW to address all internal registers. 07-00. Data Lines(Bidirectional, three-state, Active High). Bidirectional microprocessor data bus lines DO is the Least Significant Bit of the bus. Data bus lines carry data and commands to and from the SCSI. IEOP. End of Process (Input, Active Low). IEOP is used to ICS. Chip Select (Input, Active Low). This signal, in conjunction with /lOR or II OW, enables the internal register selected by A2-AO, to be read from or written to. terminate a DMA transfer. If asserted during a OMA cycle, the current byte will be transferred, but no additional bytes will be requested. IDACK. DMA Acknowledge (Input, Active Low). 10ACK resets ORO and selects the data registerfor input or output data transfers. 10ACK is used by OMA controller instead of ICS /lOR. I/O Read (Input, Active Low). IIOR is used in con- ORO. DMA Request(Output, Active High) ORO indicates that the data register is ready to be read or written DRO is asserted only if OMA mode is set in the Command Register. DRO is cleared by 10ACK. IIOW. I/O Write (Input, Active Low). II OW is used in conjunction with ICS and A2-AO to write an internal register. It also selects the Output Data Register when used with 10ACK. junction with ICS and A2-AO to read an internal register. It also selects the Input Data Register when used with 10ACK. 233 PIN DESCRIPTION (Continued) IRO. Interrupt Request (Output. Active High). IRQ alerts a microprocessor of an error condition or an event completion READY. Ready (Output, Active High). Ready is used to control the speed of Block Mode DMA transfers. This signal goes active to indicate the chip is ready to sendl receive data and remains Low !lfter a transfer until the last byte is sent or until the DMA Mode bit is reset. IRESET. Reset (I nput,' Active Low) IRESET clears all registers. It has no effect upon the SCSI IRST signal. IOB7-/OBO, 10BP. Data Bus Bits, Data Bus Parity Bit (Bidirectional" Open-drain). These eight data bits (IOB7-/DBO), plus a parity bit (lDBP) form Ihe data bus. IDB7 is the most significant bit (MSB) and has the highest priority during the Arbitration phase. Data parity is odd. Parity is always generated and optionally checked. Parity is not valid during Arbitration. 1110. Input/Output (Bidirectional, Open-draJn). 1/0 is a signal driven by a Target which controls the direction of data movement on the SCSI bus. True indicates input to Ihe Initiator. This Signal is also used to distinguish between Selection and Reselection phases. SCSI Bus The following signals are all bidirectional, active Low, open-drain, with 48 mA sink capability. All pins interface directly with the SCSI bus. lACK. Acknowledge (Bidirectional, Open-drain, Active Low). Driven by an Initiator, lACK indicates an acknowledgement for a IREQ/IACK data-transfer handshake. In the Target role, lACK is received as a response to the IREQ signal. IATN. Attention (Bidirectional, Open-drain, Active Low): Driven by an Initiator, received by the Target, IATN indicates an Attention condition. IBSY. Busy (Bidirectional, Open-drain, Active Low) This signal indicates that the SCSI bus is being used and can be driven by both the Initiator and the Target device IMSG. Message (Bidirectional, Open-drain, Active Low). ThiS Signal is driven by the Target during the Message phase. This signal is received by the Initiator. IREO. Request (Bidirectional, Open-drain, Active Low). Driven by the Target and received by the Initiator, this signal indicates a request for a IREQI/ACK data-transfer handshake. . IRST. SCSI Bus Reset (Bidirectional, Open-drain, Active Low). This signal indicates a S.CSI bus Reset c6nditlon. ISEL. Select (Bidirectional, Open-drain, Active Low). This signal is used by an Initiator to select a Target, or by a Target to reselect an Initiator. Power Signals: GND. Ground (OV) CliO. Control/Data (Bidirectional, Open-drain). Driven by the Target and received by the Initiator, CliO indicates whether Control or Data information is on the Data Bus . True indicates Control. VDD. VDD Supply (+5V) FUNCTIONAL DESCRIPTION The Z5380 Small Computer System Interface (SCSI) has a set of eight registers that are controlled by the CPU. By, reading and writing the appropriate registers, the CPU may initiate any SCSI Bus activity or may sample and assert any signal on the SCSI Bus. This allows the user to 234 implement all or any olthe SCSI protocol in software. These registers are fead (written) by activating ICS with an address· on A2-AO and then issuing an liaR (lIOW) pulse This section describes the operation of the internal registers (Table 1), Table 1. Register Summary A2 0 0 Address A1 AO R/W Register Name 0 0 0 0 \ 0 0 1 0 1 0 R W R/W R/W Current SCSI Data Output Data Initiator Command Mode 1 0 0 0 1 0 0 1 R/W R W R Target Command Current SCSI Bus Status Select Enable Bus and Status 0 1 0 0 1 1 W R W R W 0 1 1 1 1 1 1 1 Address: 0 (Read Only) Imloolool~loolool~lool Start DMA Send Input Data Start DMA Target Receive Reset Parity/Interrupt Start DMA Initiator Receive ~ The data registers are used to transfer SCSI commands, data, status, and message bytes between the microprocessor Data Bus and the SCSI Bus The Z5380 does not interpret any information that passes through the data registers. The data registers consist of the transparent Current SCSI Data Register, the Output Data Register, and . the Input Data Register. Current SCSI Data Register. Address 0 (Read Only). The Current SCSI Data Register (Figure 4) is a read-only register whicll allows the microprocessor to read, the active SCSI Data Bus. This is accomplished by activating /CS with an address on A2-AOof 000 and issuing an /IOR pulse. II parity checking is enabled, the SCSI Bus parity is checked at the beginning of the read cycle This register is used during a programmed I/O data read or during Arbitration to check for higher priority arbitrating devices. Parity is not guaranteed valid during Arbitration. Output Data Register. Address 0 (Write Only) The Output Data Register (Figure 5) is a write-only register that is used to send data to the SCSI Bus. This is accomplished by either using a normal CPU write, or under DMA control, by using /IOW and /DACK. This register also asserts the proper 10 bits on the'SCSI Bus during the Arbitration and Selection phases. IDB2 IDB3 IDB4 IDB5 IDB6 IDB7 Figure 4. Current SCSI Data Register Address: 0 Data Registers lOBO IDBl (Write Only) Imloolool~loolool~lool ~ lOBO IDBl IDB2 IDB3 IDB4 IDB5 IDB6 IDB7 Figure 5. Output Data Register Initiator Command Register. Address 1 (Read/Write). The Initiator Command Register (Figures 6 and 7) are read and write registers which assert certain SCSI Bus signals, monitors those signals, and monitors the progress of bus • arbitration. Many of these bits are significant only when being used as an Initiator; however, most can be used during Target role operation 235 FUNCTIONAL DESCRIPTION (Continued) Address: 1 (Read Only) 1071061051041031021011001 ~ Assert Oata Bus Assert/ATN Assert/SEL Assert/BSY Assert/ACK Lost Arbitration Bit 1. AssertIATN. IATN may be asserted on the SCSI Bus by setting this bit to a one (1) if the Target Mode bit (Mode Register, bit 6) is False. IATN is normally asserted by the initiator to request a Message Out bus phase. Note that since Assert/SEL and Assert/ATN are in the same register, a select with IATN may be implemented with one CPU write. IATN may be deasserted by resetting this bit to zero. A read of this register simply reflects the status of Ihis bit. I Bit 2. Assert ISEL. Writing a one (1) into ttlis bit position asserts ISEL onto the SCSI Bus. ISEL is normally asserted after Arbitration has been successfully completed. ISEL may be disabled by resetting bit 2 to a zero. A read 01 this register reflects the status of this bit. Arbitration in Progress Assert/RST Figure 6. Initiator Command Register Address: 1 (Wrfte Only) , 1071061051041031021011001 ~ L -_ _ _ _ _ _ _ _ L -_ _ _ _ _ _ _ _ _ Assert Data Bus Assert/ATN Assert/SEL AssertlBSY Assert/ACK ·0· Test Mode Assert/RST Bit 3. Assert /BSY. Writing a one (1) into this bit position asserts IBSY onto the SCSI Bus. Conversely, a zero resets the IBSY SignaL Asserting IBSY indicates a successful selection or reselection. Resetting this bit creates a BusDisconnect condition. Reading this register reflects bit status. Bit4. Assert/ACK Bit 4 is used by the bus initiator to assert lACK on the SCSI Bus. In order to assert lACK, the Target Mode bit (Mode Register, bit 6) must be False. Writing a zero to this bit deasserts lACK. Reading this register reflects bit status. ait 5. "0" (Write Bit). Bit 5 should be written with a zero for proper operation. Bit 5. LA (Lost Arbitration - Read Bit). Bit 5, when active, indicates that the SCSI detected a Bus-Free condition, ' arbitrated for use of the bus by asserting IBSY and its 10 on the Data Bus, and lost Arbitration due to ISEL being asserted by another bus device. This bit is active only when the Arbitrate bit (Mode Register, bit 0) is active. Figure 7. Initiator Command Register The following describes the operation of all bits in the Initiator Command Register: Bit O. Assert Data Bus. This bit, when set. allows the contents of the Output Data Register to be enabled as chip outputs on the signals IDB7 -DBO. Parity is also generated and asserted on IDBP. When connected as an Initiator, the outputs are only enabled if the Target Mode bit (Mode Register, bit 6) is 0, the received signal 11/0 is False, and the phase signals (CliO, 1110, and IMSG) match the contents of the Assert CI/D, Assert 1110, and Assert/MSG in the Target Command Register. ThiS bit should also be set during DMA send operations. 236 Bit 6. Test Mode (Write Bit). Bit 6 is written during a test environment to disable all output drivers, effectively removing the Z5380 from the circuit. Resetting this bit returns the part to normal operation. . Bit 6. AlP (Arbitration in Process - Read Bit). Bit 6 is used to determine if Arbitration is in progress. For this bit to be active, the Arbitrate bit (Mode Register, bit 0) must Ilave been set previously. It indicates that a Bus-Free condition has been detected and thai the chip has asserted IBSY and put the contents of the Output Data Register onto the SCSI Bus. AlP will remain active until the Arbitrate bit is reset. Bit 7. Assert IRST. Whenever a one is written to bit 7 of the Initiator Command Register, the IRST signal is asserted on the SCSI Bus. The IRST signal will remain asserted until til is bit is reset or until an external/RESE T occurs. After ttlis bit is set (1), IRQ goes active and all internal logic and control registers are reset (except for the interrupt latch and the Assert /RST bit). Writing a zero to bit 7 of the Initiator Command Register deasserts the IRST signal. The status of this bit is monitored by reading the Initiator Command Register. . Mode Register. Address 2(Read/Write). The Mode Register controls the operation of the chip. This register determines whether the Z5380 operates as an Initiator or a Target, whether DMA transfers are being used, whether parity is checked, and whether interrupts are generated on various extemal conditions. This register is read to check the value of these internal control bits (Figure 8). Addre~: 2 (ReadlWrite) I0710SID5ID4ID31021011001 ~ Register. The control bit Assert Data Bus (Initiator Command Register, bit 0) must be True (1) for all DMA send operations. In the DMA mode, /REQ and lACK are automatically controlled. The DMA Mode bit is not reset upon the receipt of an lEap signal. Any DMA transfer is stopped by writing a zero into this bit location; hOljVever, care must be taken not to cause ICS and IDACK to be active simultaneously. Bit 2. Monitor Busy. The Monitor Busy bit, when True (1 ), causes an interrupt to be generated for an unexpected loss of IBSY. When the interrupt is generated due to loss of IBSY, the lower six bits of the Initiator Command Register are reset (0) and all signals are removed from the SCSI Bus. Bit 3. Enable IEOP Interrupt. The enable lEap interrupt bit, when set (1), causes an interrupt to occur when the lEap (End Of Process) signal is received from the DMA controller logic. Arbitrate OMAMode Monitor IBSY Enable IEOP Interrupt Enable Parity Intenupt Enable Parity Checking Bit 4. Enable Parity Interrupt. The Enable Parity Interrupt bit, when set (1), will cause an interrupt (IRQ) to occur if a parity error is detected. A parity interrupt will only be generated if the Enable Parity Checking bit (bit 5) is also enabled (1). Target Mode Bit 5. Enable Parity Checking The Enable Parity Checking bit determines whether parity errors are ignored or saved in the parity error latch. If this bit is reset (0), parity is ignored. Conversely, if this bit is set (1), parity errors are saved. Block Mode OMA Figure 8. Mode Register The following describ~s the operation of all bits in the Initiator Command Register: Bit O. Arbitrate. The Arbitrate bit is set (1) to start the Arbitration process. Prior to setting this bit, the Output Data Register should contain the proper SCSI device ID value. Only one data bit should be active for SCSI Bus Arbitration. The Z5380 waits for a Bus-Free conpition before entering the Arbitration phase. The results of the Arbitration phase is determined by reading the status bits LA and AlP (Initiator Command Register, bits 5 and 6, respectively) Bit 1. DMA Mode. The DMA Mode bit is normally used to enable a DMA transfer and must be set (1) prior to writing Start DMA Send Register, Start DMA Target Register, and Start DMA Initiator Receiver Register. These three registers are used to start DMA transfers. The Target Mode bit (Mode Register, bit 6) must be consistent with w~ites to Start DMA Target Receive and Start DMA Initiator Receive Registers; i.e., set (1) for a write to Start DMA Target .Receive Register and set (0) for Start DMA Initiator Receive BitS. Target Mode. The Target Mode bit allows tile Z5380 to operate as a SCSI Bus Initiator or Target. With this bit reset (0), the Z5380 operates as 'a SCSI Bus Initiator. Setting Target Mode bit to 1 programs the Z5380 to ope ate as a SCSI Bus Target device. If the signals IATN and lACK are to be asserted on the SCSI Bus, the Target Mode bit must be reset (0). If the signals CIID, lila, IMSG. and IREQ are to be asserted on the SCSI Bus. the Target Mode bit must be set (1). Bit 7. Block Mode DMA. The Block Mode DMA bit controls the characteristics of the DMA DRQ-/DACK handshake. When this bit is reset (0) and the DMA Mode bit is active (1), the DMA handshake uses the normal interlocked handshake, and the rising edge of IDACK indicates the end of each byte being transferred. In Block Mode operation. when the Block Mode DMA bit is set (1 ) and DMA Mode bit is active (1). the end of liaR or IIOW signifies the end of each byte transferred and IDACK is allowed to remain active throughout the DMA operation. Ready can then be used to request the next transfer. 237 __ ,. ____... _ _ _ _ _ ......-................. , .• ' .... .0."""'." ..... ' _r,,-,.~-- ,-.- FUNCTIONAL DESCRIPTION (Continued) Target Command Register. Address 3(Read/Write). When connected as a target device, the Target Command Register (Figure 9) allows the CPU to control the SCSI Bus Information Transfer phase and/or to assert /REO by writing this register. The Target Mode bit (Mode Register, bit 6) must be True (1) for bus assertion. to occur. The SCSI Bus phases are described in Table 2. device can use this register to determine ttle current bus phase and to poll /REO for pending data transfers. This register may also be used to determine why a particular interrupt occurred. Figure 10 describes ttie Current SCSI Bus Status Register. Address: 4 (Read Only) Iwlool~I~lool~I~lool Address: 3 (ReadlWrHe) Iwl~I~I~lool~I~loot ~ Assert VIO Assert CliO Assert/MSG IMSG AssertlREO IREO .X" IBSY IRST Figure 9. Target Command Register Figure 10. Current SCSI Bus Status Register Table 2. SCSI Information Transfer Phases Bus Phase Data Out Unspecified Command Message Out Assert 1110 Assert CliO Assert /MSG 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 Data In Unspecified Status Message In Select Enable Register. Address 4 (Write Only) The Select Enable Register (Figure 11) is a write-only register wtlich is used as a mask to monitor a signal 10 during a selection attempt. The simultaneous occurrence of the correct 10 bit, /BSY False, and /SEL True causes an interrupt. This interrupt can be disabled by resetting all bits in this register. If the Enable Parity Checking bit (Mode Register, bit 5) is active (1), parity is cllecked during selection. Address: 4 (Write Only) 1071061051041031021011001 lOBO When connected as an Initiator with DMA Mode bit True, if the phase lines (1110, CliO, and /MSG) do not match the phase bits in the Target Command Register, a phase mismatch interrupt is generated when /REO goes aclive. To send data as an Initiator, the Assert 1/10, Assert CliO, and Assert IMSG bits must match the corresponding bits in the Current SCSI Bus Status Register. The Assert /REO bit (bit 3) has no meaning when operating as an Initiator. Bits 4,5,6, and 7 are not used. Current SCSI BuS Status Register. Address4(ReadOnly). The Current SCSI Bus Register is a read-only register which is used to monitor seven SCSI Bus control signals, plus the Data Bus parity bit. For example, an Initiator 238 IDBl IOB2 10Ba 10B4 1.-_ _ _ _ _ _ _ _ _ IOB5 IOB6 IOB7 Figure 11. ~elect Enable Register Bus and Status Register. Address 5 (Read Only). The Bus and Status Register (Figure 12) is a read-only register which can be used to monitor the remaining SCSI control signals not found in the Current SCSI Bus Status Registers (/ATN and lACK), as well as six other status bits. The following describes each bit of the Bus and Status Register individually. Address: S (Read Only) 10710610sI041D31D21011001 lACK IATN BusyEnor Phase Match L - _ _ _ _ _ _ Interrupt Request Active L-_ _ _ _ _ _ _ Parity Enor L..-________ DMA Request ' - - - - - - - - - - - End of OMA Figure 12. Bus and Status Register Bit o. lACK. Bit 0 reflects the condition of the SCSI Bus control signal lACK. This signal is nO'rmally monitored by the Target device. Bit 1. /ATN. Bit 1 reflects the condition of the SCSI Bus control signal/ATN. This signal is normally monitored by the Target device. Bit 2. Busy Error. The Busy Error bit is active if an unexpected loss of the /BSY signal has occurred. This latch is set whenever the Monitor Busy bit (Mode Register, bit 2) is True and /BSY is False An unexpected loss of IBSY disables any SCSI outputs and resets the DMA Mode bit (Mode Register, bit 1). Bit 5. Parity Error. Bit 5 is set if a parity error occurs during a data receive or a device selection. The Parity Error bit can only be set (1) if the Enable Parity Check bit (Mode Register, bit 5) is active (1). This bit may be cleared by reading the Reset Parityllnterrupt Register. Bit 6. OMA Request. The DMA Request bit allows the CPU , to sample the output pin DRO. DRO can be cleared by asserting IDACK or by resetting the DMA Mode bit (bit 1) in the Mode Register. The DRO signal does not reset when. a phase-mismatch interrupt occurs. Bit 7. End of OMA Transfer. The End olOMA Transfer bitis set if lEap, IDACK, and either liaR or II OW are simultaneously active for at least 100ns. Since the lEap signal can occur during the last byte sent to the Output Data Register, the IREO and lACK signals should be monitored to ensure that the last byte has been transferred .. This bit is reset when the DMA Mode bit is reset (0) in the Mqde Register. Input Data Register. Address 6 (Read Only). The input Data Register (Figure 13) is a read-only register that is used to read latched data from the SCSI Bus. Data is latched either during a DMA Target receive operation when lACK goes active or during a DMA Initiator receive when /REO goes active The DMA Mode bit (bit 1) must be set before data can be latched in the Input Oata Register. This register is read under DMA control uSing liaR and IDACK. Parity is optionally checked when the· Input Data Register is loaded. Address: 6 I (Read Only) 1071061051041031021011001 ~ L..-______ L..-________ L..-__________ lOBO IDB1 IDB2 1DB3 1DB4 L -_ _ _ _ _ _ _ IDBS Bit 3. Phase Match. The SCSI signals IMSG, CIID, and lila, represent the current information Transfer phase. The Phase Match bit indicates whether the current SCSI Bus phase matches the lower 3 bits of the Target Command Register. Phase Match is continuously updated and is only significant when operating as a Bus Initiator. A phase matc~ is required for data transfers to occur on the SCSI Bus. IDBS 1DB7 Figure 13. Input Data Register Bit 4./nterrupt Request ACTIVE. Bit 4 is set if an enabled interrupt condition occurs. It reflects the current stateo! the IRO output and can be cleared by reading the Resel Parityl Interrupt Register 239 FUNCTIONAL DESCRIPTION (Continued) DMA Registers Three write-only registers are used to initiate all DMA activity They are: Start DMA Send, Start DMA Target Receive, and Start DMA Initiator Receive. Performing a write operation into one of these registers starts tho desired type of DMA transfer. Data presented to the Z53BO on signals D7 -DO during the register write is meaningless and has no effect on the operation. Prior to writing these registers, the Block Mode DMA bit (bit 7), the DMA Mode bit (bit 1), and the Target Mode bit (bit 6) in the Mode Register must be appropriately set. The individual registers are briefly described as follows: Start DMA Send. Address 5 (Write Only). This register is written to initiate a DMA send, from the DMA to the SCSI Bus, for either Initiator or Target role operations. The DMA Mode bit (Mode Register, bit 1) is set prior to writing this register. Start DMA Target Receive. Address 6 (Write Only) This register is written to initiate a DMA receive - from the SCSI Bus to the DMA, for Target operation only. The DMA. Mode bit (bit 1) and the Target Mode bit (bit 6) in the Mode Register must both be set (1) prior to writing this register. Start DMA Initiator Receive. Address 7 (Write Only). This register is written to initiate a DMA receive - from the SCSI Bus to the DMA, for Initiator operation only. The DMA Mode bit (bit 6) must be False (0) in the Mode Register prior to writing this register. Reset Parityllnterrupt. Address 7 (Read Only). Reading this register resets the Parity Error bit (bit 5), the Interrupt Request bit (bit 4), and the Busy Error bit (bit2) in the Bus and Status Register. On-Chip SCSI Hardware Support The Z5380 is easy to use because of its simple architecture. The chip allows direct control and monitoring of the SCSI Bus by providing a latch for each signal. However, portions of the protocol define timings which are much too quick for traditional microprocessors to control. Therefore, hardware support has been provided for DMA transfers, bus arbitration, phase change monitoring, bus disconnection, bus reset. parity generation, parity checking, and device selection/reselection. Arbitration is accomplished using a bus-free filter to continuously monitor /BSY If /BSY remains inactive for at least 1.2us, the SCSI Bus is considered free and Arbitration may begin Arbitration will begin if the bus is free, /SEL is inactive, and the Arbitrate bit (Mode Register, bit 0) is 240 active. Once arbitration has begun (/BSY asserted), an arbitration delay of 2.2us must elapse before the Data Bus can be examined to determine if Arbitration is enabled This delay is implemented in tile controlling software driver. The Z5380 is a clockwise device. Delays such as bus-free delay, bus-set delay, and bus-settle delay are implemented using gate delays. These delays may differ be. tween devices because of inherent prOcess variations, but are well within the proposed ANSI X3.131 - 1986 specification. Interrupts The Z5380 provides an interrupt output (IRQ) to indicate a task completion or an abnormal bus occurrence. Tile use of interrupts is optional and may be disabled by resetting the appropriate bits in the Mode Register or the Select Enable Register. When an interrupt occurs, the Bus and Status Register and the Current SCSI Bus Status Register (Figures 12 and 10) must be read to determine whictl condition created the interrupt IRQ can be reset simply by reading the Reset Parity/Interrupt Register or by an external chip reset /RESET active for 2oons. Assuming the Z5380 has been properly initialized, an interrupt is generated if the chip is selected or reselecled; if an /EOP signal occurs during a DMA transfer; if a SCSI Bus reset occurs; if a parity error occurs during a data transfer; if a bus phase mismatch occurs; or if a SCSI Bus disconnection occurs. Selection/Reselection Interrupt The Z5380 generates a select interrupt if /SEL is active (0), its device ID is True and /BSY is False for at least. a bussettle delay If 1//0 is active, this is considered a reselect interrupt. The correct ID bit is determined by a match in the Select Enable Register. Only a single bit match is required to generate an interrupt. This interrupt may be disabled by writing zeros into all bits of the $elect Enable Register. If parity is supported, parity should be good during tile selection phase. Theretore, if the Enable.f>arity bit (Mode Register, bit 5) is active, the Parity Error bit is checked to ensure that a proper selection has occurred. 1he Enable Parity Interrupt bit need not be set for this interrupt to be generated. . The proposed SCSI specification also requires that no more than two device ID's be active during the selection process. To ensure this, the Current SCSI Data Register is read. The proper values for the Bus and Status Register and the Current SCSI Bus Status Register are displayed in Figures 14 and 15, respectively. interrupt is disabled by resetting the Enable EOP Interrupt bit. The proper values for the Bus and Status Register and the Current SCSI Bus Status Register for this interrupt are shown in Figures 16 and 17. DO 07 lACK IATN lACK Busy Error IATN Phase Maroh Busy Error Interrupt Request Active Phase Match Parity Error Interrupt Request Active DMARequest Parity Error EndofDMA DMA Request End of DMA Figure 16. Bus and Status Register Figure 14. Bus and Status Register D7 DO 1011111 XlXlXlOlXl D7 DO I~; lolololxlxlxlolxl ~CIID IMSG L.-_ _ _ _ _ _ IMSG L.-_ _ _ _ _ _ _ IREQ IREQ IBSY IRST L.-_ _ _ _ _ _ _ _ _ _ IBSY IRST Figure 17. Current SCSI Bus Status Register Figure 15. Current SCSI Bus Status Register End Of Process (EOP) Interrupt An End Of Process signal (EOP) which occurs during a DMA transfer (DMA Mode True) will set the End of DMA Status bit (bit 7) and will optionally generate an interrupt if Enable EOP Interrupt bit (Mode Register, bit 3) is True. The IEOP pulse will not be recognized (End 01 DMA bit set) unless IEOP, IDACK, and either IIOR or flOW are concurrently active for at least 100 ns. DMA transfers can still occur if fEOP was not asserted at the correct time. This The End of DMA bit is used to determine when a block transfer is complete. Receive operations are complete when there is no data left in the chip and no additional handshakes occurring. The only exception to this is receiving data as an Initiator and the Target opts to send additional data for the same phase. In this IREO goes active and the new data is present in the Input Data Register. Since a phase-mismatch interrupt will not occur, IREO and lACK need to be sampled to determine that the Target is attempting to send more data. 241 FUNCTIONAL DESCRIPTION (Continued) For send operations, the End of DMA bit is set when the DMA finishes its transfers, but the SCSI transfer may still be in progress. If connected as a Target, IREO and lACK should be sampled until both are False. If connected as an Initiator, a phase change interrupt is used to signal the completion of the previous phase. It is possible for the Target to request additional data for the same phase. In this case, a phase change will not occur and both IREO and lACK are sampled to determine when the last byte was transferred. D7 DO Ixlxlxlxlxlxlxlxl I~= ~C/ID IMSG IREQ SCSI Bus Reset Interrupt The Z5380 generates an interrupt when the IRST signal transitions' to True. The device releases all bus signals within a bus-clear delayofthis transition. Ttlis interrupt also occurs after setting the Assert/RST bit (Initiator Command Register, bit 7). This interrupt cannot be disabled. (Note: IRST is not latched in bit 7 of the Current SCSI Bus Status Register and is not active when this port is read. For this case, the Bus Reset interrupt is determined by default.) The proper values for the Bus and Status Register and the -Current SCSI Bus Status Register are displayed in Figures 18 and 19, respectively. lACK IATN IBSY IRST Figure 19. Current SCSI Bus Status Register Parity Error Interrupt An Interrupt is generated for a received parity error if tile Enable Parity Check (bit 5) and the Enable Parity Interrupt (bit 4) bits are set (1) in the Mode Register. Parity is checked during a read of the Current SCSI Data Register and during a DMA receive operation. A parity error can be detected without generating an interrupt by disabling the Enable Parity Interrupt bit and checking tile Parity Error flag (Bus and Status Register, bit 5). The proper values for the Bus and Status Register and ttle Current SCSI Bus Status Register are displayed in Figures 20 and 21 , respectively. Busy Error Phase Match Interrupt Request Active Parity Error lACK DMA Request IATN EndofDMA Busy ElTor Phase Match Figure 18. Bus and Status Register Interrupt Request Active Parity Error DMA Request EndofDMA Figure 20. Bus and Status Register 242 lACK IATN Busy Error Phase Match IMSG Interrupt Request Active IREO Parity Error IBSY DMA Request IRST EndofDMA Figure 21. Current SCSI Bus Status Register Bus Phase Mismatch Interrupt lhe SCSI phase lines are comprised of the signals 1//0, CliO, and /MSG. These signals are compared with the corresponding bits in the Target Command Register: Assert 1//0 (bit 0), Assert C//O (bit 1), and Assert /MSG (bit 2). The comparison occurs continually and is reflected in the Phase Match bit (bit 3) of the Bus and Status Register. II the OMA Mode bit (Mode Register, !;lit 1) is active and 8 phase mismatch occurs when {REQ transitions from False to True, an interrupt (IRQ) is generated. Figure 22. Bus and Status Register IMSG IREO A phase mismatch prevents the recognition of /REQ and removes the chip from the bus during an Initiator send operation (/OB7·/0BO and /OBP will not be driven even through the Assert Data Bus bit (Initiator Command Register, bitO) is active). This may be disabled by resetting the OMA Mode bit (Note: It is possible lor this interrupt tooccur when connected as a Target il another device is driving the phase lines to a different state) The proper values for the Bus and Status Register and the Current SCSI Bus Status Register are displayed in Figures 22 and 23, respectively. IBSY IRST Figure 23. Current SCSI Bus Status Register Loss of BSY Interrupt If the Monitor Busy bit (bit 2) in the Mode Register IS active, an interrupt is generated il the BSY signal goes False for at least a bus-settle delay This interrupt is disabled by resetting the Monitor Busy bit. Register values are displayed in Figures 24 and 25. 243 FUNCTIONAL DESCRIPTION (Continued) 07 reading the Currert SCSI Bu~ Status Register; however, this signal is not latched and may not be present when this port is read). DO 101010111 l 110101 X ~ lACK IATN Busy Error Phase Match ' - - - - - - - - Intenupl Request Active Parity Error ~--------- OMAR~e. SCSI Bus Reset (/RST) Issued If the CPU sets the Assert IRST bit (bit 7) 'in the Iniliator Command Register, the IRST Signal goes active on the SCSI Bus and an internal reset is performed. Again, all internal logic and registers are cleared except for the IRO interrupt latch and the AssertlRST bit (bil 7) in the Initiator Command Register. The IRST signal will continue to be active until the Assert lAST bit is reset or until a hardware reset occurs. EndofDMA Figure 24. Bus and Status Register 07 DO lolololxlxlxlolol I~:: ~~/O !MOO IREO IBSY IRST Figure 25. Current SCSI Bus Status Register Reset Conditions Three possible reset situations exist with the Z5380, as follows: Hardware Chip Reset When the signal lAST is active for at least 200 ns, the Z5380 device is re-initialized and all internal logic and control registers are cleared. This is a chip reset only and does not create a SCSI Bus-Reset condition. SCSI Bus Reset (/RST) Received When a SCSIIRST signal is received, an IRQ interrupt is generated and a chip reset is performed. All internal logic and registers are cleared, exceptforthe IRO interrupt latch and the Assert IRST bit (bit 7) in the Initiator Command Register. (Note: The IRST Signal may be sampled by 244 Data Transfers Data is transferred between SCSI Bus devices in one of four modes (Reference Figures 26-41): 1. 2. 3. 4. Programmed 110 Normal DMA Block Mode DMA Pseudo DMA The following sections describe these modes in detail (Note:. For all data transfer operations, /DACK and ICS should never be active simultaneously). Programmed I/O Transfers Programmed 1/0 is the most primitive form of data transfer The IREO and lACK handshake signals are individually monitored and asserted by reading arid writing the appropriate register bits. This type of transfer is nor,mally used when transferring small blocks of data such as command blocks or message ,and status bytes. An Initiator send operation would begin by selting the CliO, 1/10, and IMSG bits in the Target Command Registerto the correct state so that a phase match exists. In addition to the phase match condition, it is necessary for the Assert Data Bus bit (Initiator Command Register, bit 0) to be True and the received 1/0 signal to be False for the Z5380 to send data For each transfer, the data is loaded into the Output Data Register. The CPU then waits forthe IREO bit (Current SCSI Bus Status'Register, bit 5) to become active. Once IREO goes active, the Phase Match bit (Bus and Status Register, bit 3) is checked and the Assert lACK bit (Initiator Command Register, bit 4) is set. The IRtO bit is sampled until it becomes False and the CPU resets the Assert lACK bit to complete the transfer. Normal DMA Mode DMA transfers are normally used for large block translers. The SCSI chip outputs a DMA request (ORO) whenever it is ready for a byte transfer. External DMA logic uses thjs DRO signal to generate IDACK and an IIOR or an IIOW pulse to the Z5380. DRO goes inactive when IDACK is asserted and IDACK goes inactive some time after the minimum read or write pulse width. This process is repeated for every byte. For thismode,/DACK should not be allowed to cycle unless a transfer is taking place. Block Mode DMA Some popular DMA Controllers, such as the 9517A, provide a Block Mode DMA transfer. This type of transfer allows the DMA controller to transfer blocks of data without relinquishing the use of the Data Bus to the CPU after eaeh byte is transferred; thus, faster transfer rates are achieved by eliminating the repetitive access and release of the CPU Bus. If the Block Mode DMA bit (Mode Register, bit 7) is active, the Z5380 begins the transfer by asserting DRO. The DMA controller then asserts IDACK for the remainder of the block transfer. DRO goes inactive for the duration of the transfer. The Ready output is used to control the transfer rate. Non-Block Mode DMA transfers end when . IDACK goes False, whereas Block Mode DMA transfers end when IIOR or IIOW becomes inactive. Since this is the case, DMA transfers may be started sooner in a Block Mode transfer. To obtain optimum performance in Block Mode operation, the DMA logic optionally uses the normal DMA mode interlocking handshake. Ready is still available to throttle the DMA transfer, but DRO is 30 to 40 ns faster than Ready and is used to start the cycle sooner. The methods described under "Halting a DMA Operation" apply for all DMA operations. Pseudo DMA Mode To avoid the tedium of monitoring and asserting the request/acknowledgement handshake signals for programmed 1/0 transfers, the system can be designed to implement a pseudo DMA mode. This mode is implemented by programming the Z5380 to operate in the DMA made, but using the CPU to emulate the DMA handshake. DRO may be detected by polling the DMA Request bit (bit 6) in the Bus and Status Register, by sampling the signal through an external port, or by using it to generate a CPU interrupt. Once DRO is detected, the CPU can perform a read or write data transfer. This CPU readlwrite is externally decoded to generate the appropriate IDACK and IIOR or IIOW signals. Halting a DMA Operation The IEOP signal is not the only way to halt a DMA transfer. A bus phase mismatch or a reset of the DMA Mode bit (Mode Register, bit 1) can also terminate a DMA cycle for the current bus phase. Using the IEOP Signal If IEOP is used, it should be asserted for at least lOOns while IDACK and IIOR or IIOW are. simultaneously active. Note, however, that if liaR or IIOW is not active, an interrupt is generated. but the DMA activity continues. The IEOP signal does not reset the DMA Mode bit. Since the /EOP signal can occur during the last byte sent to the Output Data Register, the IREO and lACK signals are monitored to ensure that the last byte has transferred. Bus Phase Mismatch Interrupt A bus phase mismatch interrupt is used to halt the transfer if operating as an Initiator. Using this method frees the host from maintaining a data length counter and frees the DMA logic from providing the lEap signal. If performing an Initiator send operation, the Z5380 requires IDACK to cycle before lACK goes inactive. Since phase clianges cannot occur if lACK is active, either IDACK must be cycled after the last byte is sent or the DMA Mode bit must be reset in order to receive the phase mismatch interrupt. Resetting the DMA Mode Bit A·DMA operation may be halted at any time simply by resetting the DMA Mode bit. It is recommended that the DMA Mode bit be reset after receiving an IEOP or bus phase-mismatch interrupt. The DMA Mode bit must then be set before writing any of the start DMA registers for subsequent bus phases. If resetting the DMA Mode bit is used instead of IEOP for Target role operation, then care must be taken to reset this bit at the proper time. If receiving data as a Target device, the DMA Mode bit must be reset once the last DRO is received and before IDACK is asserted to prevent an additionallREO from occurring. Resetting this bit causes DRO to go inactive However, the last byte received remains in the Input Data Register and may be obtained either by performing a normal CPU read or by cycling IDACK and IIOR In most cases, IEOP is easier to use when operating as a Target device. Often, external decoding logic is necessary to generate the Z5380 ICS signal. This same logic may be used to generate IDACK at no extra cost and provide an increased performance in programmed 1/0 transfers. 245 READ REGISTERS Address: 3 1 071061051 0~10 nIY ) 'I'D~~"~ ~ 1 (RrO ~ AssertC//O Assert/MSG Assert/REO 10B4 ·0· IOB5 IOB6 Figure 29. Target Comm . and Register IOB7 Figure 26. Current SCSI 0 ata Register osl Address: 4 1 1 1 07 05 (Read Only) ~I~: CliO IMSG IREO -_ ... AssertlBSY IBSY : Assert lACK IRST Lost Arbitration Arbitration in Progress Figure 30. Current SCSI Bus Status Register Assert/RST Figure 27. Initiator Comm and Register Address' 2 1 106" 07 05 1 I (Read Only) • 04. 031,021011001 ~Arbttrate ~ ~ OMAMode Monitor IBSY Enable IEOP Interrupt Enable Parity , Interrupt Interrupt Request Active Partty Error OMA Request End of OMA Enable Parity Check'1119 Target Mode Block Mode OMA Figure 28. Mode Register 246 . Figure 31. Bus and Status Reglster Address: 6 (Read Only) Address: 7 107106105104103[021011001 ~~ 1--_____ IDB4 1-------- IDB5 1--_______ 1----------- (Read Only) 1071061051041031021011001 1 . "l(" X=Don'tCare Figure 33. Reset Parityllnterrupt 10~ ~7 Figure 32. Input Data Register WRITE REGISTERS Address: 0 Address: 2 (Write Only) '~1051051041031021~1001 ~~ 1--______ ' - - - - - - IDB4 IDB5 1--_________ ' - - - - - - - - - ' /DB6 ~ 1--______ ~ Asse\10ataBus AssertIATN . Assert ISEL , Monitor IBSY Enable IEOP Interrupt 1..-_ _ _ _ _ _ _ TaJg9tMode ' - - - - - - - - - - Block Mode OMA Figure 36. Mode Register (Write Only) 1071061051041031021011001 1071061051D4103102101fCK1 lS OMAMode ' - - - - - - Enable Parity Interrupt Enable Parity Checking Address: 3 (Wille Only) IL Arbitrate 1087 Figure 34. Output Dala Register Address: 1 (Write Only) 1071051051041031021011001 AssertlBSY Assert lACK ~ Assert VIO AssertClID AssertlMSG AssertlREO "J(" "0" ' - - - - - - - - - Test Mode Figure 37. Target Command Register AssertIRST Figure 35. Initiator Command Register 247 WRITE REGISTERS (Continued) Address: 4 (Write Only) Address: 6 ~ L--_ _ _ _ _. (Write Only) Irolool~I04ID3I~I~IOOI 1071061051041031021011001 1'------ "X" lOBO 10Bl IOB2 , Figure 40. Start DMA Target Receive IOB3 1084 ' - - - - - - - - - IOB5 IOB6 L-._ _ _ _ _ _ _ _ IOB7 Address: 7 (Write Only) Irolool~I04I03I~I~lool "X" Figure 38. Select Enable Register Figure 41. Start DMA Initiator Receive Address: 5 (Wrfte Only) 1071061051041031021011 Dol 1 "X" Figure 39. Start .DMA Send ABSOLUTE MAXIMUM RATINGS Voltages on all pins with respeCt to GND ............................... -O.3V 10 +7.0V Operaling Ambient Temperature ............. ........ t Storage Temperature ............................. -65°C to + 150°C Note: t See Ordering Information 248 Stresses greater than those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only; operation of the device at any condition above those indicated in the operatiollal sections of ttlese specifications is not implied Exposure to absolute maximum rating conditions for extended periods may affect device reliability. . STANDARD TEST CONDITIONS The DC Characteristics section below apply for the following standard test conditions, unless otherwise noted. All voltages are referenced to GND. Positive current flows into the referenced pin. Standard conditions are as follows (Figures 42 and 43): • • • +4.5V < Vcc < +5.5V GND =OV TA as specified in Orderin,Q Information 2K From Output Under Test Figure 42. Switching Test Circuit Figure 43. Standard Test Load DC CHARACTERISTICS Z5380 Symbol Parameter Voo VIH VIL ' Supply Voltage High-Level Input Voltage Low-Level Input Voltage I'Hl High-Level Input Current SCSI Bus Pins High-Level )nput Current All Other Pins Vfti = 5 25V VB- =OV VIH = 5.25V V"- =OV Low-Level Input Current SCSI Bus Pins Low-Level Input Current All Other Pins Vfti = 5.25V VIL =OV VIH = 5.2SV VB- =OV VOH High-Level.Output Voltage VOL 1 Low-Level Output Voltage SCSI Bus Pins IOH = -3mA Voo = 4.75V IOL "" 48mA Voo = 4.75V VOL 2 Low-Level Output Voltage All Other Pins Supply Current Operating Free-Air 1.1H2 IlL 1 IIL2 100 TA Conditions IOL = 7mA Voo= 4.75V 15 mA Min Max Units 4.75 2,0 -0.3 5.25 5.25 0.8 V V V 50 JIA 10 JIA -50 JIA -10 JIA 2.4 V 0.5 V 0.5 V 0 70 C 249 AC CHARACTERISTICS CPU Write Cycle Timing Diagra'm A2-AO ICS /lOW D7-DO Figure 44.' CPU Write Cycle AC CHARACTERISTICS CPU Write Cycle Timing Table No Description Min 1 2 3 Address Setup to Write Enable[1] Address Hold from End Write Enable[1] Write Enable Wldth[1] 20 20 70 ns ns ns 4 5 6 Chip Select Hold from End of flOW D~ta Setup to end of Write Enable[1] Data Hold Time form End of flOW 0 50 ns ns ns Note: (1) Write Enable is the occurrence of /tOW and /CS 250 30' Max Units AC CHARACTERISTICS CPU Read Cycle Timing Diagram A2-AO ICS /lOR 07-00 Figure 45. CPU Read Cycle AC CHARACTERISTICS CPU Read Cycle- Timing Table No Description Min 1 2 Address Setup to Read Enable[1 J Address Hold from End Read Enable[1J 20 20 ns ns 3 4 5 Chip Select Hold from End of IIOR Data Access Time from Read Enable[ tJ Data Hold Time from End of Read Enablep.j 0 130 20 ns ns ns Max Units Nole: [1 J Read Enable is !he occurrence of /lOR and /CS. 251 AC CHARACTERISTICS DMA Write (Non-Block Mode) Target Send Cycle Timing Diagram ORO 10ACK /lOW 07-00 IEOP IREO lACK IOB7-/OBO, 10BP __________________-11 Figure 46. DMA Write (Non-Block Mode) Target Send Cycle 252 AC CHARACTERISTICS DMA Write (Non-Block Mode) Target Send Cycle Table No Description Min 1 2 3 4 DRO Low from IDACK Low IDACK High to DRO High Write Enable Width[ 1] IDACK Hold from IIOW High 130 30 5 6 7 8 Data Setup to End of Write Enable[1] Data Hold Time from End of IIOW Width of lEOP Pulse[2] lACK Low to IREO High 9 IREO from End of /DACK (lACK High) lACK Low to DRO High (Target) lACK High to IREO Low (lDACK High) Data Hold from Write Enable Data Setup to IREO Low (Target) 10 11 12 13 Max ns ns ns ns 100 o 50 40 100 25 125 30 150 110 150 15 20 15 60 Units ns ns ns ns ns ns ns ns ns Noles: (1) Write Enable is the occurrence of flOW and fDACK. (2) 1E00, /lOW, and /DACK must be concurrenUy Low for alleast T7 for proper recognition of the 1E0P putse. 253 AC CHARACTERISTICS DMA Write (Non-Block Mode) Initiator Send Cycle Timing Diagram ORO 10ACK /lOW D7eOO IEOP IREO lACK IOB7-/DBO, 10BP ----------------~ Figure 47. DMA Write (Non-Block Mode) Initiator Send Cycle 254 AC CHARACTERISTICS DMA Write (Non-Block Mode) Initiator Send Cycle Table ,Max No Description Min 1 DRO Low from /DACK Low IDACK High to DRO High Write Enable Width[1} IDACK Hold from End of IIOW 130 30 100 '0 ns ns ns ns 50 40 ns ns ns ns 2 3 4 5 6 7 8 9 10 11 12 Data Setup to End of Write Enable[1] Data Hold Time from End of II OW Width of IEOP Pulse[2] IREO Low to lACK Low IREO High to DRO High '/DACK High to lACK High !IOW High to Valid SCSI Data Data Hold from Write Enable[1] 100. 20 20 25 100 15 160 110 150 Units ns ns ns ns Notes: [11 Write Enable is the occurrence of /lOW and IDACK, [21 /EOP,/IOW, and IDACK must be concurrently Low for at least T7 for proper recognition of the IEOP pulse, 255 AC CHARACTERISTICS DMA Read (Non-Block Mode) Target Receive Cycle Timing Diagram ORO 10ACK liaR 07-00 lEap IREO lACK IOB7-/OBO, 10BP Figure 48. DMA Read (Non-Block Mode) Target Receive Cycle 256 --- ---------- AC CHARACTERISTICS DMA Read (Non-Block Mode) Target Receive Cycle Table • No Description Min 1 2 3 ORO Low from /DACK Low IDACK' High to ORO High IDACK Hold Time from End of IIOR Data Access Time from Read Enable(1) 130 4 5 6 7 8 9 10 11 12 Max ns ns ns ns 30 o 115 Data Hold Time from End of IIOR Width of IEOP Pulse[2] lACK Low to ORO High IDACK High to /REO Lo~ (lACK High) 20 100 30 110 150 lACK Low to IREO High lACK High to /REO Low (lDACK High) Data Setup Time to lACK Data Hold Time from lACK 25 20 125 150 15 20 50 Units ns ns ns ns ns ns ns ns Noles: [1) Read Enable is'the occurrence of /lOR and /DACK (2) lEap, /lOR, and /DACK must be concurrently Low for alleasl T6 for proper recognition of the lEap pulse. 257 AC CHARACTERISTICS DMA Read (Non-Block Mode) Initiator Receive Cycle Timing Diagram . ORO 10ACK /lOR 07-00 IEOP /REO lACK IOB7-/OBO, IDBP Figure 49. DMA Read (Non-Block Mode) Initiator Receive Cycle 258 AC CHARACTERISTICS DMA Read (Non-Block Mode) Initiator Receive Cycle Table Max Units No Description Min 1 2 ORO Low from IDACK Low IDACK High to ORO High IDACK Hold Time from End of liaR Data Access lime from Read Enable[1] 130 30 0 115 ns ns ns ns 20 ns ns ns ns 3 4 5 6 7 Data Hold Time from End of liaR Width of lEap Pulse[2) IREO Low to ORO High IDACK High to lACK High (lRE9 High) 8 9 100 IREO Low to lACK Low IREO High to lACK High (/DACK High) Data Setup Time to IREO Data Hold Time from IREO 10 11 12 20 25 160 20 160 140 15 20 50 ns ns ns ns Noles: [1] Read Enable is the occurrence of IIOR and /DACK. [2] IEOP, /lOR, and /DACK must be concurrently Low for at least T6 for proper recognition of the /EOP pulse. 259 ---,,--,-~ ........ " AC CHARACTERISTICS DMA Write (Block Mode) Target Send Cycle Timing Diagram ORO 10ACK IIOW 07-00 lEap IREO lACK ·~---\111}----'~"---\12~--t REAOY 14"-----\.133)----~ IOB7-/OBO, /oBP Figure 50. DMA Write (Block Mode) Target Send Cycle 260 AC CHARACTERISTICS DMA Write (Block Mode) Target Send Cycle Table No Description Min 1 2 4 ORO Low from IDACK Low Write Enable Width[1] Write Recovery Time Data Setup to End of Write Enable[ 1] 130 100 120 50 ns ns ns ns 5 6 7 8 Data Hold Time from Ef1d of IIOW Width of IEOP Pulse[2] lACK Low to IREO High IREO from End of IIOW (lACK High) 40 100 25 40 ns ns ns ns 9 IREO from End of lACK (lIOW High) lACK Low to READY High READY High to IIOW High IIOW High to READY Low 20 20 70 170 140 20 140 Data Hold from lACK Low Data Setup to IREO Low 40 60 3 10 11 12 13 14 Max 125 180 Units ns ns ns ns ns ns Noles: [1) Write Enable is the occurrence of /IOW and /DACK. [2) /EOP, /IOW, and /DACK must be concurrently Low for at least T6 for proper recognition of the /EOP pulse. 261 AC CHARACTERISTICS DMA Read (Block Mode) Target Receive Cycle Timing Diagram ORO IOACK /lOR 07-00 /EOP IREO lACK READY IOB7-1080, IOBP Figure 51. DMA Read (Block Mode) Target Receive Cycle 262 AC CHARACTERISTICS DMA Read (Block Mode) Target Receive Cycle Table No Description Min 1 2 3 4 DRO Low from /DACK Low liaR Recovery Time Data Access Time from Read Enable[1] Data Hold Time from End of liaR 130 120 110 5 100 30 25 8 Width of lEap Pulse[2] liaR High to /REO Low lACK Low to IREO High lACK High to IREO Low (lIaR High) 9 lACK Low to READY High 10 11 12 13 READY High to Valid Data liaR High to READY Low Data Setup Time to lACK Data Hold Time from lACK 20 50 20 6 7 Max ns ns ns ns 20 20 20 50 Units 190 125 170 140 140 ns ns ns ns ns . ns ns ns ns Noles: [1] Read Enable is the occurrence of IIOR and /OACK. [2] IEOP, IIOR, and /OACK must be concurrently Low for alleast T5 for proper recognition of the IEOP pulse. 263 AC CHARACTERISTICS Arbitration IRST J ISEL IBSY IOB7-0BO, IDBP ARBITRATE / ------' \_--- Figure 52. Arbitration No Description Min Max Units 1 Bus Clear from /SEL Low Arbitrate Start from /BSY High 600 1200 2200 ns ns Max Units 2 AC CHARACTERISTICS Reset !RESET Figure 53. Reset _ No Description Min 1 Minimum Width of /RESET 200 264 ns Z5380 NOTES 1. Edge-triggered IRST Interrupt - If the SCSI Bus is not terminated, the IRST interrupt is continually generated. 6. Phase Mismatch Interrupt - A phase mismatch interrupt is not guaranteed after a reseleclion for the following reasons: 2. True End of DMA Interrupt - The Z5380 generates an interrupt when it receives the last byte from the DMA, not when the last byte is transferred to the SCSI Bus. DMA Mode bit must be set in order to receive a phase' mismatch interrupt. 3. Return to Ready after IEOP Interrupt - When operating in Block Mode DMA, the Z5380 does not return the Ready signal to a Ready condition. This locks up the bus and prevents the CPU from executing. DMA Mode bit can not be set unless /BSY is active. 4. SCSI handshake after IEOP occurs - If an EOP occurs when receiving data, a subsequent request will cause lACK to be asserted even though no ORO is issued 5. Reselection Interrupt - During reselection. if the Target Command Register does not reflect the current bus phase (most likely Data Out), the reselectioo interrupt may get reset. /BSY can not be asserted until after the reselection has occurred. Once/BSY is asserted, the Target may assertlREO in less than 5OOns. The phase mismatch interrupt is generated on the active edge of /REO. If the DMA Mode bit is not set before the /REO goes active, the phase mismatch interrupt will not occur. 265 266 ~Zirm PRELIMINARY PRODUCT SPECIFICATION Z85230 Esccm ENHANCED SERIAL COMMUNICATION CONTROLLER FEATURES • Deeper Data FIFOs - 4-byte transmit FIFO - 8-byte receive FIFO • Low Power CMOS • New programmable features added with Write Register 7' Programmable FIFO interrupt levels provide flexible interrupt response • Write registers: WR3, WR4, WR5, and WR10 are now readable Pin and Function compatible to CMOS and NMOS Z85C30 SCC • Read Register 0 latched during access Many improvements to support SDLC/HDLC transfers: - Deactivation of /RTS pin after closing flag - Automatic transmission of the opening flag - Automatic reset of Tx Underrun/EOM latch - Complete CRC reception - TxD pin automatically forced high with NRZI encoding when using mark idle. - Receive FIFO automatically unlocked for special receive interrupts when using the SDLC status FIFO. - Back-to-back frame transmission simplified • Software Interrupt Acknowledge Mode • DPLL counter output available as jitter -free clock source • /DTR/JREO pin deactivation time reduced • Two independent full-duplex channels, each with a crystal oscillator, baud rate generator, and Digital Phase Locked Loop. • Multi-protocol operation under program control • Easier interface to popular CPUs • • Fast speeds: - 10.0 MHz for data rates up 10 2.5 Mbit/sec. - 16 384 MHz for data rates up to 4.096 Mbit/sec. - 20.0 MHz for data ra1esup to 50 Mbit/sec. Asynchronous mode with five to eight bits, and one, one and one-half, or two stop bits per character; programmable clock factor; break detection and generation; parity, overrun, and framing error detection. • Synchronous mode with internal or external character synChronization on one or two synchronous characters and CRC generation and checking with programmable CRC preset values. • Multiplexed Z-Bus version, Z80230, planned in 021991 • • • • Faster interrupt response • Improved SDLC frame status FIFO GENERAL DESCRIPTION The Zilog Enhanced Serial Communications Controller, Z85230 ESCC, is a pin and software compatible CMOS member ofthe SCC family introduced by Zilog in 1981. The ESCC is a dual-channel, full-duplex data communications controller capable of supporting a wide range of popular protocols. The ESCC is built from Zilog's industry ~tandard SCC core and is compatible with designs using Zilog's SCC to receive and transmit data. It has many improvements that significantly reduce CPU overhead. The addition of a 4-byte transmit FIFO and an 8-byle receive FIFO significantly reduces the overhead required to provide data to, and get . data from, the transmitters and receivers. 267 GENERAL DESCRIPTION (Continued) . The ESCC also has many features that improve packet handling in SOLC mode. The ESCC will automatically: transmit a flag before the data, reset the Tx Underrun/EOM l(itch, force the TxO pin high at the appropriate time when using NRZI encoding, deassert the IRTS pin after the closing flag, and better handle ABORTed frames when using the 10x19 status FIFO. The combination of these features along with the deeper data FIFOs significantly simplifies SOLC driver software. external logic to many microprocessor families while maintaining compatibility wittl existing designs. 1/0 handling of the "[SCC is improved over the SCC with faster response of the liNT and IOTR//REQ pins. Tile many enhancements added to tile ESCC permits a system design that increases overall system performance with better data handling and less interface logic. a Note: All Signals with preceding front slash, "I", are active Lo)IV, e.g.: BIIW (WORD is active Low); IBIW (BYTE is active Low, only); INIIS (NORMAL and SYSTEM are both active Low). Hie CPU hardware interface lIas been simplified by relieving the databus setup time requirement and supporting the software generation of the interrupt acknowledge signal (INTACK). These changes allow an interface with less Tmnsmlt logic Transmit FIFO Channel A 4 Byte Transmit MUX ~ Data Encoding & CRC Generation Exploded View Receive and Transmit Clock Multipexer Digital Phaee-Locked Loop r-- ~ ~ Cryetal Oecillator Baud Rate Generator - TxDA -- fTRxCA IRTxCA Ampl~ier ICTSA ModemiControl Logic ~ i-- I - IDCDA ~ IRTSA IDTRAlIREQA ISYNCA Receive Logic Re<:. Status Roc. Data FIFO 8 Byte FlF08Byte ~ ~ SDLC Frome Status FIFO 10 x19 ReceiveMUX ~I - RxDA CRC Checker, Data Decode & Sync Character Detection ~ Channel A Databus Control i i i +5V liNT Interrupt { IINTACK lEI Control lEO Channel B -'---~ GND PCLK Figure 1. ESCC Block Diagram 268 I- 03 02 05 D4 07 06 0 0'" '"0 ....0 ~~ :J~ en en ~ Z w !H~ ~~ Q ~ e~ 10TRI/REQB Figure 3. Z85230 PLCC Pin Assignments ICTSA RTSB /oCOA ICTSB PCLK 10COB Figure 2. Z85230 DIP Pin Assignments TxOA 07 06 05 OataBus 04 03 Channel Clocks Controls 01 for Modem. OMAand Other 00 IRO IWR } Data } AlIB Control Serial Oata }'~~ 02 Bus Timing and Reset } } Senal ICE Channel Clocks OIiC nNT },- lEI lEO Controls for Modem, OMAand Note: Power connections follow Conventional descriptions below Connection Circuit Device Power Vce VOO Ground GND Vss Other\ +5V GNO PCLK Figure 4. Z85230 Pin Functions 269 PIN DESCRIPTIONS The following section describes the Z85230 pin functions. Figures 2 and 3 detail the pin assignments for the 40-pin DIP and 44-pin PLCC packages. The Z85230 ESCC is socket compatible with the Zilog Z8530 and Z85C30 as the pin electrical characteristics and pin assignments are the same. Any unused input pins should be pulled up to the +5V supply. ICTSA,/CTSB. Clear To Send (inputs, active Low).These pins function as transmitter enables if they are programmed for Auto Enables (WR3, 05= 1). A Low on the inputs enables the respective transmitters. If not programmed as Auto Enables, they may be used as general-purpose inputs. Both inputs are Schmitt trigger buffered. to accommodate slow rise-time inputs. The ESCC detects pulses on these inputs and can interrupt the CPU on both logic level transitions. IDCDA, IDCDB. Data Carrier Detect (inputs, active Low). These pins function as receiver enables if they are programmed for Auto Enables (WR3, 05= 1): otherwise they are used as general-purpose input pins. Both pins are Schmitt-trigger buffered to accommodate slow rise time Signals. The detects pulses on these pins and can interrupt the CPU on both logic level transitions. rscc IRTSA, IRTSB. Request To Send (outputs, active Low). The /RTS pins can be used as general purpose outputs or with the Auto Enables feature. When used with Auto Enables ON (WR3, 05= 1) in asynchronous mode, the /RTS pin goes high after the transmitter is empty. When Auto Enable is OFF, the /RTS pins can be used as general purpose outputs and, they strictly follow the inverse state of the. RTS bit (WR5 bit 01). In SOLC mode, the /RTS pins can be programmed to be deasserted when the closing flag of the message clears the TxO pin if WR1' 02 is set. ISYNCA, ISYNCB. Synchronization (inputs or outputs, active Low). These pins can act either .as inputs, outputs, or part of the crystal oscillator circuit. In the Asynchronous Receive mode (crystal oscillator option not selected), these pins are inputs similar to CTS and OCO.ln this mode, transitions on these lines affect the state of the Synchronous/ Hunt status bits in Read Register 0 but have no other function. In External Sync;hronization mode with the crystal oscillator not selected, these lines also act as inputs. In this mode, ISYNC must be driven Low for two receive clock cycles after the last bit in the synchronous character is received. Character assembly begins on the rising edge of the receive clock immediately preceding the activation of /SYNC. 270 In the Inlilrnal Synchronization mode (Iv!onosync and Bisync) with the crystal oscillator not selected, these pins act as outputs and are active only during the part of the receive clock cycle in which synchronous condition is latched. These outputs are active each time a synchronization pattern is recognized (regardless of character boundaries). In SOLC mode, the pins act as outputs and are valid on receipt of a flag. The /SYNC pins switch from input to output wh1:ln monosync, bisync, or SOLC is programmed in WR4 and sync modes are enabled. IOTA//REOA, IOTA//REOB. Data Terminal Ready/Request (outputs, active Low). These pins are programmed (WR14, 02) to serve either as general purpose outputs or as OMA Request lines. When programmed for the OTR fun,ction (WR14, 02=0), these outputs follow the state programmed into the DTR bit of Write Register 5 (WR5, 07). When programmed for Request mode (WR14, 02= 1), these pins serve as OMA Requests for the transmitter. When used as OMA request lines, the timing for the deactivation Request can be programmed in the added register Write Register l' (WR7') bit 04. If this bit is set, the /OTR//Request pin will be deactivated with the same timing as the /WI/REO pin. If WR1' 04 is reset, the deactivation timing of /OTRI/Req pin will be the same as in the Z85C30. WIIREOA,/WIIREOB. WaiVRequest(outputs, open-drain when programmed for Wail function, driven High or Low when programmed for Ready function). These dual-pur. pose outputs may be programmed as Request lines for a OMA controller or as Wait lines which synchronize the CPU to the ESCC data rate. The reset state is Wait. RxDA, RxDB. Receive Data (inputs, active High). These input signals receive serial data at standard TTL levels. IRTxCA,/RTxCB. Receive/Transmit Clocks (inputs, active Low). These pins can be programmed to several modes of operation. In each channel, RTxC may supply the receive clock, the transmit clock, the clock for the baud rate generator, or the clock for the Digital Phase-Locked Loop. These pins can also be programmed for use with the respective SYNC pins as a crystal oscillator. The receive clock may be 1, 16, 32, or 64 times the data rate in asynchronous modes. TxDA, TxDB. Transmit Data (outputs, active High). These output signals transmit serial data at standard TTL levels. !TRxCA, !TRxCB. Transmit/Receive Clocks (inputs or outputs, active Low). These pins can be programmed in several different modes of operation. TRxC may supply the receive. clock or the transmit clock in the input mode or supply the output of the Digital Phase-Locked Loop, the crystal oscillator, the baud rate generator, or the transmit clock in the output mode. PCLK. Clock (input). This is the master ESCC clock used to synchronize internal signals. PCLK is a TTL levei signal. PCLK is not required to have any phase relationship with the master system clock. lEI. Interrupt Enable In (input, active High). lEI is used with lEO to form an interrupt daisy chain when there is more than one interrupt driven device. A high lEI indicates that no other higher priority device has an interrupt under service or is requesting an interrupt. lEO. Interrupt Enable Out,output, activEl High). tEO is High only if lEI is High and the CPU is not servicing the ESCC interrupt or the ESCC is noV€(ll:JE!sting aaint(drrupt (Interrupt Acknowl.edge cyc~ only). 11"'0 is conf'l€oted to the next lower priority device's lEi input ana thus inhibits interrupts from lower priority devlces. liNT. Interrupt (output, open drain, active Low). This signal is activated when the ESCC requests an interrupt. Note that II.NT is an open-drain output. IINTACK. Interrupt Acknowledge (input, active Low). This is a strobe which indicates that an interrupt acknowledge cycle is in progress. During this cycle, the ESCC interrupt daisy chain is resolved. The device iscapable of returning an interrupt vector that may be encoded with the type qf interrupt pending. During the acknowledge cycle, if lEI is high the ESCC places the interrupt vector on the databus when IRD goes active. liNT ACK is latched by the rising edge of PCLK. 07-00. Data bus (bidirectional, tri-state). These lines carry data and commands to and from the ESCC. ICE. Chip Enable (input, active Low). This signal selects the ESCC for a read or write operation. IRO. Read (input, active Low). This signal indicates a read operation and when the ESCC is selected, enables the ESCC's bus drivers. During the Interrupt Acknowledge cycle, IRD gates the interrupt vector onto the bus if the ESCC is the highest priority device requesting an interrupt. twA. Write(input, active Low). When the ESCC is selected, this Signal indicates a write operation. This indicates that the CPU wants to write command bytes or data to the ESCC write registers. The coincidence of IRD and /WR is interpreted as a reset. NIB. Channel NChannel B (input). This Signal selects the channel in which the read or write operation occurs. A High selects channel A and Low selects channel B. OIlC. Data/Control Select (input). This signal defines the type of information transferred to or from the ESCC. A High means data is being transferred and a Low indicates a command. . 271 FUNCTIONAL DESCRIPTION - Architecture. The architecture of the ESCC is described from two pOints of view: as a datacommunicalions device which transmits and receives data in a wide variety of protocols: and as a microprocessor peripheral in which the ESCC offers valuable features such as vectored interrupts and DMA support. The ESCC's peripheral and datacommunication are described in the following sections. A block diagram is shown in Figure 1. The details of the communications betwe.en the receive and transmit logic to the system bus is shown in Figures 5 and 6. The features and data path for each of the ESCC's A and B channels is identical. See the ESCC Technical Manual for full details on using the ESCC. Internal Data Bus ... ...> ~~ WRS , WR7 SYNC r ~ <. ," I I Zero Insert 7 WRG Register SYNC 20-BitTX ~ ~ 7 I TXFIFO 4 Byte , Register ASYNC SYNC SOLC , Transmit MUX & 2~Bit Delay CRe-SOLC CRC-Gen ------ Transmit Clock " From Receiver Figure 5. ESCC Transmit Data Path 272 Internal TXO 1 FinalTX MUX Shift Register To OtherChannel i NRZI Encode f---- TXO CPUVO Internal Data Bus BRG Input BRG Output 14-Bit Counter Hunt Mode (BiSYNC) DPLL IN RXD L-____________________~ToTnmsmt~on L - - - -....1...-.::.:.;:=:...-..:.J CRC Resuk Figure 6. ESCC Receive Data Path 273 1/0 INTERFACE CAPABILITIES System communication to and from the ESCC is done through the ESCC's register set. There are seventeen write registers and fifteen read registers. Many of the new features on the ESCC are enabled through a new register in the ESCC: Write Register 7 Prime (WRT). This new register can be accessed if bit 00 of WR 15 is set. Table 1 lists all of the ESCC's registers and a brief desc~iption of their functions. Throughout this document, the write and read registers are refer~nced with the following notation: "WR" for Write Register and "RR" for Read Register. For example: WR4A RR3 Write Register 4 for channel A Read Register 3 for either/both channels \ Table 1. ESCC Write and Read Registers Write Register Functions WRO WR1 WR2 Command Register: Register POinters, CRC initialization, and'resets for various modes. Interrupt conditions, Wait/OMA request control. Interrupt Vector (accessed through either channel). WR3 WR4 WR5 WR6 Receive and miscellaneous control parameters. Transmit and Receive parameters and mpdes. ' Transmit parameters and controls. . Sync character or SOLC address field. WR7 WRT WR8 WR9 Sync character or SOLC flag. SOLC enhancements ,enable (accessed if WR-15 00 is 1). Transmit FIFO (4 bytes deep). Reset commands and Master INT enable (accessed through either channel). WR10 WR11 WR12 Miscellaneous transmit and receive controls. Clock mode control. Lower byte of BRG time constant. WR13 WR14 WR15 Upper byte of f3RG time constant. Miscellaneous controls and OPLL commaods. ' External interrupt conlro!. ' Read Register RRO RR1 RR2A RR2B Transmit, Receive and extetnal status: Special Receive Condition status bits. Unmodified. interrupt vector. ' MOdified interrupt vector. . RR3A RR4 RR5 RR6 Interrupt Pending bits. WR4 status (if WRT 06=1). W,R5 status (if WRT 06= 1). SOLC Frame LSB Byte Count (if WR15 02=1}. RR7 RR8 RR9 RR10 RR11 RR12 RR13 RR14 274 SOLC Frame 10x19 FIFO Status and'MSB Byte Count (if WR15 02=1). Receive Data FIFO (8 Deep). WR3 status (if 'f'IRT 06= 1). , Miscellaneous status bits. WR10 status (if WRT 06=.). Lower Byte of BRG time constant. Upper byte of BRG time constant. WRT status (If WRT 06= 1). There are three choices to move data into and out of the ESCC: Polling. interrupt (vectored and non-vectored). and Block Transfer. The Block Transfer mode can be implemented under CPU or OMA control. Polling. When polling. all interrupts are disabled. Three status registers in the ESCC are automatically updated whenever any function is performed. For example. end-offrame in SOLC mode sets a bit in one of these status registers. The purpose of polling is forttie CPU to periodically read a status registet until the register contents indicate the need for data to be transferred. Only one register needs to be read; depending on its contents. the CPU either writes data. reads data. or continues. Two bits in the register indicate the need for data transfer. An alternative is a poll of the Interrupt Pending register to determine the source of an interrupt. The status for both channels resides in one register. Interrupts. The ESCC's interrupt structure supports vectored and nested interrupts. The fill levels where the transmit and receive FIFOs interrupt the CPU are programmable. This allows the ESCC's requests for data transfers to be tuned to the system interrupt response time. Another enhancement to the ESCC is that the /INT pin will respond faster to interrupting conditions than will the SCC. Nested interrupts are supported with the interrupt acknowledge feature (lINTACK pin) of the ESCC. This allows the CPU to recognize the occurrence of an interrupt, and Peripheral +5V re-enable higher priority interrupts. Because an INTACK cycle will release the /INT pin from the active state. a higher priority ESCC interrupt or another higher priority device can interrupt the CPU. When an ESCC responds to an Interrupt Acknowledge signal (I NT ACK) from the CPU. an interrupt vector may be placed on the data bus. This vector is written inWR2 and may be read in RR2. To speed interrupt response time. the ESCC can modify three bits in this vectorto indicate status. If the vector is read in Channel A. status is never included; if it is read in Channel B. status' is always included. Each of the six sources of interrupts in the ESCC (Transmit, Receive. and External/Status interrupts in both channels) has three bits associated with the interrupt source: Interrupt Pending (IP). Interrupt Under Service (IUS). and Interrupt Enable (IE). Operation of the IE bit is straightforward. If the IE bitis settor a given interrupt source. then that source can request interrupts. The exception is when the MIE (Master Interrupt Enable) bit in WR9 is reset and no interrupts can be requested. The IE bits are write only. The other two bits are related to the interrupt priority chain (Figure 7). As a microprocessor peripheral. the ESCC may request an interrupt only when no higher priority device is . requesting one. e.g .. when lEI is High. If the device in question requests an interrupt. it pulls down liNT. The CPU then responds with liNTACK. and the interrupting device places the vector on the data bus. Peripheral Peripheral -,lEI ~ 07-00 liNT IINTACK lEO lEI 07-00 liNT IINTACK lEO .. IINTACK ,.... liNT IINTACK +5V -,- ~ <-. liNT D7-00 • • A. D7-DO lEI ~ Figure 7. ESCC Interrupt Priority Schedule . 275 1/0 INTERFACE CAPABILITIES (Continued) The ESCC can also execute an interrupt acknowledge cycle through software. In s.ome CPU environments it is difficult to create the /INTACK signal with the necessary timing to acknowledge interrupts and allow the nesting of interrupts. In these cases, the /INTACK signal can be created with a software command to the ESCC. See the New Feature section for more details on this enhancement. In the ESCC, the Interrupt Pending (IP) bit signals a need for interrupt seNicing. When an IP bit is 1 and the lEI input is High, the /INT output is pulled Low, requesting an interrupt. In the ESCC, if the IE bit isn't set by enabling interrupts, then the IP for that source is never set. The IP bits are readable in RR3A. The IUS bits signal that an interrupt request is being serviced. If an IUS is set, all interrupt sources of lower priority in the ESCC and external to the ESCC are prevented from requesting interrupts. The internal interrupt sources are inhibited by the state of the internal daisy chain, while lower priority devices are inhibited by the lEO output of the ESCC being pulled Low and propagated to subsequent perip~erals. An IUS bit is set during an Interrupt Acknowledge cycle if there are no higher priority devices requesting interrupts. There are three types of interrupts: Transmit, Receive, and External/Status. Each interrupt type is enabled under program control with Channel A having higher priority than Channel B, and with Receiver, Transmit, and External/ Status interrupts prioritized in that order within each channel. When the Transmit interrupt is enabled (WR1 01=1), the occurrence of the interrupt depends on the state of WRT 05. If this bit is reset. the CPU is interrupted when the top byte of the transmit FIFO becomes empty. If WRt 05 is set. the CPU is interrupted when the transmit FIFO is completely empty. (This implies that the transmitter must have had a data character written into it so that it can become empty.) When enabled, the receiver can interrupt the CPU in one of three ways: • Interrupt on First Receive Character or Special Receive Condition. • Interrupt on All Receive Characters or Special Receive Conditions. • Interrupt on Special Receive Conditions Only. 276 If WRT bit 03 is set. the Receive character interrupt occurs when there are four bytes available in the receive FIFO. This ismost useful in synchronous applications as the data is in consecutive bytes. Interrupt on First Character or Special Condition and Interrupt 00 Special Condition Only are typically used with the Block Transfer mode. A special Receive Condition is one of the following: receiver overrun, framing error in Asynchronous mode, end-of-frame in SOLC mode and, optionally, a parity error. The Special Receive Condition interrupt is different from an ordinary receive character available interrupt only by the status placed in the vector during the Interrupt Acknowledge cycle. In Interrupt on First Receive Character, an interrupt occurs from Special Receive Conditions any time after the first receive character interrupt. The main function of the Extemal/Status interrupt is to monitor the signal transitions of the /CTS, IDCO, and /SYNC pins, however, an External/Status interrupt is also caused by a Transmit Underrun condition; a zero count in the baud rate generator; by the detection of a Break (Asynchronous mode), Abort (SOLe mode) or EOP (SOLC Loop mode) sequence in the data stream. The interrupt caused by the Abort or EOP has a special feature allowing the ESCC to interrupt when the Abort or EOP sequence is detected or terminated. This feature facilitates the proper termination of the current message, correct initialization of the next message, and the accurate liming of the Abort condition by external logic in SOLC mode. In SOLC Loop .mode, this feature allows secondary stations to recognize ,the primary station wishes to regain control of the loop during a poll sequence. CPUlDMA Block Transfer. The ESCC provides a Block Transfer mode to accommodate CPU block transfer functions and OMA controllers. The Block Transfer mode used the /WAIT//REQUEST output in conjunction with the Wait/Request bits in WR1. The /WAITI/REQUEST output can be defined under software control as a WAIT line in the CPU Block TranSfer mode or as a REQUEST line in the OMA Block Transfer mode. To a OMA controller, the ESCC REQUEST output indicates that the ESCC is ready to transfer data to or from memory. To the CPU, the WAIT line indicates that the ESCC is not ready to transfer data, thereby requesting that the CPU extend the I/O cycle. The /OTAI/REQUEST line allows fullduplex operation under OMA control. The ESCC can be programmed to deassert the /OTRI/REQUEST pin with the same timing as the /WAITI/REQUEST pin if WRT 04 is set. ESCC DATA COMMUNICATIONS CAPABILITIES The ESCC provides two independe[lt full-duplex programmable channels for use in any common asynchronous or synchronous data communication protocols (Figure 8). Parity !r- Start ! II Marking Line Each of the datacommunication channels has identical features and capabilities. Stop II II Data Data I II Data II Marking Line Asynchronous SYNC ~~ Data Data CRCl CRC2 !~ Data CRCl CRC2 !~ Data CRCl CRC2 CRCl CRC2 Monosync SYNC SYNC Data , Signall Bisync .,...;.---r----Cj Data External Sync Flag Address Control !~ Infonnation Flag SDLC/HDLC/X.25 Figure 8. Some ESCC Protocols The ESCC has significant improvements to its data communications capacity over that of the standard SCC. The addition of the deeper data FIFOs allows for data to be moved in strings instead of on a byte-by-byte basis. The ability to handle data in strings allows for significant improvements in data handling and, consequently, more efficient use of bus bandwidth. The programmability of the INT/DMA level of the FIFOs allows the system designer to determine fill levels as the FIFO's request the system to move data. The deeper data FIFOs are accessible regardless of the protocol used. They do not need to be enabled For more details on these improvements, see the ' New Feature section of this specification. Asynchronous Modes. Send and Receive IS accomplished independently on each channel with five to eight bits per character, plus optional even or odd parity. The transmitters can supply one, one-and-a-half, or two stop bits per character and can provide a break output at any time. The receiver break-detection logic interrupts the CPU both at the start and at the end of a received break. Reception is protected from spikes by a transient spike-rejection mechanism that checks the signal one-half a bit time after a Low level is detected on the receive data input (RxDA or RxDB pins). If the Low does not persist (e.g., a transient), the character assembly process does not start. Fram ing errors and overrun errors are detected and buffered together with the partial character on which they occur. Vectored interrupts allow fast servicing or error conditions using dedicated routines. Furthermore, a built-in checking process avoids the interpretation of a framing error as a new start bit: a framing error results in the addition of onehalf a bit time to the point at which the search for the next start bit begins. 277 ESCC DATA COMM.UNICATIONS CAPABILITIES (Continued) The ESCC does not require symmetric transmit and receive clock signals - a feature allowing use of the wide variety of clock sources. The transmitter and receiver handle data at a rate supplied to the receive and transmit clock inputs. In Asynchronous modes, the SYNC pin may be programmed as an input used for functions such as monitoring a ring indicator. Synchronous Modes. The ESCC supports both byte-oriented and bit-oriented synchronous <;.ommunication. Synchronous byte-oriented protocols are ha'ndled in several modes. They allow character synchronization with a 6-bit or 8-bitsync character (Monosync), and a 12-bit or 16-bit synchronization pattem (Bisync), or with an extemal sync signal. Leading sync characters are removed without interrupting the CPU. Five or 7-bit synchronous characters are detected with 8or 16-bit pattems in the ESCC by overlapping the larger pattem across multiple incoming synchronous characters as shown in Figure 9. 5 Bits I I I I SYNC II SYNC I I SYNC Data Data Data Data I 8 I 16 Figure 9. Detecting 5- or 7-Bit Synchronous Characters CRC checking for Synchronous byte oriented modes is delayed by one character time so that the CPU may d,isable CRC checking on specific characters. This permits the implementation of protocols such as IBM Bisync. Both CRC-16 (X16 + X15 + X2 +1) and CCITT (X16 + X12 + X5 + 1) error checking polynomials are supported.. Either polynomial may be selected In all Synchronous modes. Users may preset the CRC generator and checker to all1's or all O's. The ESCC also provides a feature that automatically transmits CRC data when no other data is available for transmission. This allows for high speed transmissions under OMA control, with no need for CPU intervention at the end of a message. When there is no data or CRC to send in Synchronous modes, the transmitter inserts 6-,8-, or 16-bit sync characters, regardless of the programmed character length. SOLe Mode. The ESCC supports Synchronous bit-oriented protocols, such as SOLC and HOLC, by performing automatic flag sending, zero insertion, and CRC generation. A special command is used to abort a frame in transmission. At the end of a message, the ESCC automatically transmits the CRC and trailing flag when the transmitter underruns. The transmitter may also be programmed to send an idle line conSisting of continuous flag characters or a steady marking condition. 278 If a transmit underrun occurs in the middle of a message, an extemal/status interrupt wams the CPU of this status change so that an abort can be issued. The ESCC may also be programmed to send an abort itself in case of an underrun, relieving the CPU of this task. One to eight bits per character can be sent, allowing reception of a message with no prior information about the character structure in the information field of a frame. The receiver automatically acquires synchronization on the leading flag of a frame in SOLe or HOLC and provides a synchronization signal on the /SYNC pin (an interrupt can also be programmed). The receiver can be programmed to search for frames addressed by a single byte (or four bits within a byte) of a user-selected addressor to a global broadcast address. In this mode, frames not matching either the user-selected or broad cast address are ignored. ThEj number of address bytes are extended undersoftware control. For receiving data, an interrupt on the first received character, or an interrupt on every character, or on special condition only (end-of-frame) can be selected. The receiver automatically deletes all O's inserted by the transmitter during character assembly. CRC is also calculated and is automatically checked to validate frame transmission. At the end of transmission, the status of a received frame is available in the status registers. In SOLC mode, the ESCC must be programmed to use the SOLC CRC polynomial, but the generator and checker may be preset to all 1's or all O's. The CRC is inverted before transmission and the receiver checks againstthe bit pattern 000111 0100001111. NRZ, NRZI or FM coding may be used in any 1x mode. The parity options available in Asynchronous modes are available in Synchronous modes. SOLC Loop Mode. The ESCC supports SOLC Loop mode in addition to normal SOLC. In an SOLC Loop, there is a primary controller station that manages the message traffic flow on the loop and any number of secondary stations. In SOLC Loop mode, the ESCC performs the functions of a secondary station while an ESCC operating in regular SOLC mode acts as a controller (Figure 10). SOLC loop mode can be selected by setting WR10 bit 01. messages to the message of the first secondary station by the same process. Any secondary stations without messages to send merely echo the incoming message and are prohibited from placing messages on the loop (except upon recognizing an EOP). In SOLC Loop mode, NRZ, NRZI, and FM coding may all be used. SOLC FIFO. The ESCC's ability to receive high speed back-to-back SOLC frames is maximized by a 10- deep by 19-bit wide status FIFO. When enabled (through WR 15, bit 02), it provides the OMA the ability to continue to transfer data into memory so that the CPU can examine the message later. For each SOLC frame, a 14-bit byte count and 5 status/error bits are stored. The byte count and status bits are accessed through Read Registers 6 and 7. Read Registers 6 and 7 are only accessible when the SOLC FIFO is enabled The 10x19 status FIFO is separate from the 8-byte receive data FIFO. Baud Rate Generator. Each channel in the ESCC contains a programmable baud rate generator. Each generator consists of two 8-bit time constant reDisters that form a 16-bit time consta.nt, a 16-bit down counter, and a flip-flop on the output producing a square wave. On startup, the flip-flop on the output -is set in a High state, the value in the time constant register is loaded into the counter, and the counter starts counting down The output of the baud rate generator toggles upon reaching 0, the value in the time constant register is loaded into the counter, and the process is repeated. The time constant may be changed at any time, but the new value does not take effect until the next load of the counter. Figure 10. An SOLC Loop A secondary station in an SOLC Loop is always listening to the messages being sent around the loop and, in fact, passes these messages to the rest of the loop by retransmitting them with a one-bit-time delay. The secondary station places its own message on the loop only at specific times. The controller signals that secondary stations can transmit messages by sending a special character, called an EOP (End Of Poll), around the loop. The EOP character is the bit pattern 11111110. Because of zero insertion during messages, this bit pattern is unique and easily recognized. When a secondary station has a message to transmit and recognizes an EOP on the line, it changes the last binary 1 of the EOP to a 0 before transmission. This has the effect of turning the EOP into a flag sequence. The secondary station now places its message on the loop and terminates the message with an EOP. Any secondary stations further down the loop with messages to transmit appends their The output of the baud rate generator may be used as either the transmit clock, the receive clock, or both It can also drive the Digital Phase-Locked Loop (see next section) If the receive clock or transmit clock is not programmed to come from the TRxC pin, the output of the baud rate generator may be echoed out via the TRxC pin. The following formula relates the time constant to the baud rate where PCLK or RTxC is the baud rate generator input frequency in Hertz. The clock mode is 1, 16, 32, or 64, as selected in Write Register 4, bits 06 and 07. Synchronous operation modes should select 1 and Asynchronous should select 16, 32 or 64. Time Constant = PLCK or RTxC Frequency 2(Baud Rate) (Clock Mode) -2 Digital Phase-Locked Loop. The ESCC contains a Digital Phase-Locked Loop (OPLL) to recover clock information from a data stream with NRZI or FM encoding The OPLL 279 ESCC DATA COMMUNICATIONS CAPABILITIES (Continued) is driven by a clock that is nominally 32 (NRZI) or 16 (FM) times the data rate. The DPLL uses this clock, along with the data stream, to construct a clock for the data. This clock is then used as the ESCC receive clock, the transmit clock, or both. When the DPLL is selected as the transmit clock source, it will provide a jitter free clock output that is the DPLL input frequency divided by the appropriate divisor for the selected encoding technique. For NRZI encoding, the DPLL counts the 32x clock to create nominal bit times. As the 32x clock is counted, the DPLL is searching the incoming data stream for edges (either 1 toO, orO to 1). Whenever an edge is detected, the DPLL makes a count adjustment (during the next counting cycle), producing a terminal count closer to the center of the bit cell. For FM encoding, the DPLL still counts from 0 to 31, but with a cycle corresponding to two bit times. When the DPLL is locked, the clock edges in the data stream should occur between counts 15 and 16 and between counts 31 and O. The DPLL looks for edges only during a time centered on the 15 to 16 counting transition. Manchester (bi-phase level) data by using the DPLL in the FM mode and programming the receiver for NRZ data. Manchester encoding always produces a transition at the center of the bit cell. If the transition is 0 to 1, the bit is a O. If the transition is 1 to 0, the bit is a 1. Auto Echo and Local Loopback. The ESCC is capable of automatically echoing everything it receives. This feature is useful mainly in Asynchronous modes, but works in Synchronous and SOLC modes as well. Auto Echo mode (TxO is RxO) is used with NRZI or FM encoding with no additional delay because the data stream is not decoded before retransmission. In Auto Echo mode, the /CTS input is ignored as a transmitter enable (although transitions on this input can still cause interrupts if programmed to do so). In this mode, the transmitter is actually bypassed and the programmer is responsible for disabling transmitter interrupts and /WAIT//REQUEST on transmit. o Data NRZ The 32x clock for the DPLL can be programmed to come from either the RTxC input or the output of the baud rate generator. The DPLL output may be programmed to be echoed out of the ESCC via the TRxC pin (if this pin is not being used as an input). Data Encoding. The ESCC may be programmed to encode and decode the serial data in four different ways (Figure 11). In NRZ encoding, a 1 is represented by a High level and a 0 is represented by a Low level. In NRZI encoding, a 1 is represented by no change in level and a 0 is' represented by a change in level. In FMl (more properly, bi-phase mark), a transition occurs at the beginning of every bit cell. A 1 is represented by an additional transition at the center of the bit cell and a 0 is represented by no additional transition at the center of the bit cell. In FMO (biphase space), a transition occurs at the beginning of every bit cell. A 0 is represented by an additional transition at the center of the bit cell, and a 1 is represented by no additional transition at the center of the bit cell. In addition to these four methods, the ESCC can be used to decode 280 o '\-_-11 NRZI FMl FMO Figure 11. Data Encoding Methods The ESCC is also capable of localloopback. In this mode, TxO or RxO is just like Auto Echo mode. However, in Local Loopback mode the intemal transmit data is tied to the internal receive data and RxO is ignored (except to be echoed out via TxO). The ICTS and lOCO inputs are also ignored as transmit and receive enables. However, transitions on these inputs can still cause interrupts. Local Loopback works in Asynchronous, Synchronous and SOLe modes with NRZ, NRZI or FM coding of the data stream. NEW FEATURE DESCRIPTION The following is a detailed description of the enhancements to the Z85230. ESCC from the standard SCC. 4-Byte Deep Transmit FIFO The ESCC has a 4-byte transmit buffer with programmable interrupt and OMA request levels. It is not necessary' to enable the FIFO as it is always available. The user can choose to have the Transmit Buffer Empty (TBE) interrupt and OMA Request on Transmit be generated either when the top byte of transmit FIFO is emptyor only when the FIFO is completely empty. A hardware or channel reset will reset the transmit shift register. flush the transmit FIFO. and set WRT 05=1. If the transmitter generates the Interrupt or OMA request for data when the top byte of the FIFO is empty (WRT 05=0). the system can allow for a long response time to the data request without underflowing. The interrupt service routine can write one byte and then test RRO 02 if more data may be written. The OMA Request in this mode will go inactive after each data write and then go active again until the FIFO is filled. The Transmit Buffer Empty status bit (TBE). RRO bit 02. is set when the top byte of the FIFO is empty. Note that this in NOT the reset state. For applications where the frequency of interrupts is important. the transmit interrupt service routine can be optimized by programming the ESCC to generate the TBE interrupt only when the FIFO is completely e.mpty (WRT 05=1) and then writing four bytes to fill the FIFO. When WRT 05=1. only one OMArequest is generated (filling the bottom of the FIFO). However. this may be preferred for some applications where the possible reassertion of the OMA request is not desired. The Transmit Buffer Empty status bit (TBE). RRO bit 02. is set when the top byte of the FIFO is empty. (Note that WRT 05=1 after a hardware or channel reset). By resetting WRT 03=0. applications which have a long latency to interrupts can generate the request to read data from the FIFO when one byte is available. and then test the Receive Character Available bit to determine if more data is available. By setting WR7 03=1. the ESCC can be programmed to interrupt when the receive FIFO is half full (4 bytes available) and. therefore. allowing the frequency of receive interrupt to be reduced. If WRT 03 is set. the receive character available interrupt is generated when there are 4 bytes available. Therefore. if the interrupt service routine reads 4 bytes during each routine. the frequency of interrupts is reduced. IfWRT 03= 1 and "Receive Interrupt on All Characters and Special Conditions" is enabled. the receive character available interrupt is generated when four characters are available. However. when a character is detected to have a special condition. a special condition interrupt is generated when the character is loaded into the top four bytes of the FIFO. Therefore. the special condition interrupt service routine should read RR 1 before reading the data to determine which byte has the special condition. Write Register 7' (7 prime) A new register, WRT, has been added to the ESCC to facilitate the programming of six new features. The format of this register is shown in Figure 12. WR 7'Prime AutoTx Flag Auto EOM Reset Auto RTS Deactivation Rx FIFO Int level 8-Byte Receive FIFO The ESCC has an 8-byte receive FIFO with programmable interrupt levels. The receive character available interrupt is generated as selected by WRT bit 03. The Receive Character Available bit, RRO ~O. is set when at least one byte is available in, the top of the FIFO (independent of WRT 03). It is not necessary to enable the 8-byte FIFO as it is always available. A hardware or channel reset resets the receive shift register and flushes th~ receive FIFO. A OMA Request on Receive. if enabled. is generated whenever one byte is available in the receive FIFO independent of WRT 03. If more than one byte is available in the FIFO. the /Wait//Request pin goes inactive and then goes active again until the FIFO is emptied. DTR/REQ Timing Mode Tx AFO Int level Extended Read Enable Not Used, Always 0 Figure 12, Write Register 7' (7 prime) WRT is written to by first setting bit DO of Write Register 15 (WR 15 DO) to one. and then addressing WR7 as normal. All writes to register 7 are to WRT while WR 15 DO is set. WR t 5 bit DO must be reset to 0 to address the sync character register WR7. If bitD60f WRT is set, then WRT can be read by doing a read cycle to RR t 4. The WRT features remain enabled until specifically disabled or by a hardware or software reset. Note that bit 05 is set after a reset All other bits are reset to zerO following reset. 281 NEW FEATURE DESCRIPTION (Continued) For applications which may use either the Zilog Z85C30 or Z85230, these two device types can be identified in software with the following test. Write a 01 hex to Write Register 15. Then read Read Register 15 and if DO is re,set it is a Z85C30 and, if DO is set it is a Z85230. Note that if the device is Z85C30, a write to WR 15 resetting DO should be done before proceeding. Also, if the device is Z85230, the result in all writes to address seven will be'to WRT until WR15 DO is reset. transmit FIFO is completely empty. If this bit is reset. the transmit buffer empty interrupt is generated when the top byte of the transmit FIFO is empty. This bit is set following a hardware or channel reset. In OMA Request on Transmit mode, when using either the /W//REO or /OTRI/REO pins, the request is asserted when' the Tx FIFO is completely empty if WRT 05 is set. The request is asserted when the top byte of the FIFO is empty if 05 is reset. Bit 7. Not used. This bit must always be written zero (0). Bit 6. Extended Read Enable. Setting this bit enables the ability t'o read WR3, WR4, WR5, WRT and WR10. These registers are read by reading RR9 (WR3), RR4, RR5, RR14 (WRT), and RR11 (WR10), respectively. Bit 4. /OTRI/REO timing. If this bit is set and the /DTRI/REO pin is used forRequestmode(WR1402=1), the deactivation of the /OTRI/REO pin will be identical to the /WI/REO pin as shown in Figure 13. If this bit is reset. the deactivation time is 4TcPc. Bit 5. Transmit FIFO Interrupt Level. If this bit is set. the transmit buffer empty interrupt is generated when the twR 07-00 \'--_____1 ~~_______T_m_n_s_m_it_D_a_m________.J;>(~ ________________ WR704=1 IDTRIIREO twAITIIREO -----c./_ ~~~~:o___________ ," ___I Figure 13. PMA Request on Transmit Deactivation Timing Bit3. Receive FIFO Interrupt Level. This bit sets the interrupt level of the receive FIFO. If this bit is set, the receive data available bit is asserted when the receive FIFO is half full (4 bytes available). If the RFF bit is reset. the receive data available interrupt is generated when a byte reaches the top of the FIFO. See the description of the 8 byte receive FIFO for more details. that the ESCC should be programmed for "Flag on Underrun" (WR1 0 02=0) for the /RTS pin to deassert atthe end of the frame. This feature works independently of the programmed transmitter idle state. In synchronous modes other than SOLC, the /RTS pin will immediately follow the state programmed into'WR5 01. When WRT 02 is reset. the /RTS follOWS the state of WR5 01. Bit 2. Automatic /RTS Pin Oeassertion. This bit controls the timing of the deassertion of the /RTS pin in SOLC mode . .If this bit is set and WR5 01 is reset during the transmission of a SOLC frame, the de assertion of the /RTS pin is delayed until the last bit of the closing flag clears the TxO pin. The /RTS pin is pulled high after the rising edge of the transmit clock cycle from the last bit of the closing flag. This implies Bit 1. Automatic EOM Reset. If this bit is set. the ESCC automatically resets the Tx Underrun/EOM latch and presets the transmit CRC generator to its programmed preset state ,(per values set in WR5 02 and WR10 07). Therefore, it is not necessary to issue the Reset Tx Underrun/EOM latch command when this feature is enabled. 282 Bit O. Automatic Tx SOLC Flag. If this bit is set, the ESCC will automatically transmit an SOLC flag before transmitting data. This removes the requirement to reset the mark idle bit (WR10 03) before writing data to the transmitter. Modified Oatabus Timing The ESCC's latching of the databus has been modified to simplify the CPU Interface. The Z85C3O AC Timing parameter #29, Write Data to /WR falling minimum, has been changed for the Z85230 to: /WR falling to Write Data Valid maximum. See the AC Timing Characteristic section for the specified time at each clock speed. The dafabus must be valid no later than 20ns after the falling edge of /WR regardless of the system (PCLK) clock rate. The databus hold time, spec #30, remains at Ons. Historically, the SCC has latched the databus on the falling edge of /WA. However, as many CPUs do not guarantee that the databus is valid when the /WR pin goes low, Zilog has modified the data bus timing to allow a maximum delay from the /WR signal going active low to the latching of the databus. Complete CRC Reception in SOLC Mode In SOLC mode, the entire CRC is clocked into the receive FIFO. The ESCC completes clocking in the CRC to allow it to be retransmitted, unaltered, or manipulated in software. In the SCC when the closing flag is recognized, the contents of the receive shift register are immediately transferred to the receive FIFO resulting in the last two bits of the CRC being lost. In the ESCC, it is not necessary to } program this feature. When the clOSing flag is detected, the last two bits of the CRC are clocked into the receive FIFO. In all othersynchronoOs modes, the ESCC does not clock in the last two CRC bits (same as SCC). TxO Forced High in SOLC with NRZI Encoding When Marking Idle When the ESCC is programmed for SOLC mode with NRZI data encoding and mark idle (WR10 06=0,05=1,03=1), Data TXBE Data the TxO pin is automatically forced high when the transmitter goes to the mark idle state. There are several different ways for the transmitter to go into the idle state. In each of the following cases the TxO pin is forced high when the· mark Idle condition is reached: data, CRC, flag and idle; data, flag and idle; data, abort (on underrun) and idle; data, abort (command) and idle; idle flag and command to idle mark. The force high feature is disabled when ttie mark idle bit is reset. This feature is used in combination with the automatic SOLC opening flag transmission feature, WRT 00=1, to assure that data packets are properly formatted. Therefore, when these features are used together, it is not necessary for the CPU to issue any commands when using the force idle mode in combination with NRZI data encoding. IfWRT DO is reset. like in the SCC, it is necessary to reset the mark idle bit (WR10 03) to enable flag transmission before an SOLC packet is transmitted. Faster Interrupt Response The interrupt response time oltue ESCC has been improved so that the liNT pin (regardless of the interrupt source) is asserted low up to two clock cycles earlier than in the SCC Improved TFcjI1smit Interrupt Handling in Synchronous Modes The ESCC latches the Transmit Buffer Empty (TBE) interrupt due to the CRC being loaded to the transmit shift register even if the TBE interrupt, due at the last data byte, has not yet been reset. Therefore, the end of a synchronous frame is guaranteed to generate two TBE interrupts even if a reset transmit buffer interrupt command for the data created interrupt is issued after (time "A" in Figure 14) the CRC interrupt had occurred. In this case, two reset TBE commands are required. The TxlP is latched if the EOM latch has been reset before the end of the frame. CRCl CRC2 Rag --~;-\~----------~ Time "A" TXIP Bit ___-..II TXIPl TXIP2 Figure 14. TxlP latching 283 NEW FEATURE DESCRIPTION (Continued) , ' DPLL Counter Tx Clock Source When DPLL output is selected as the transmit clock source. the DPLL counter output is the DPLL source clock divided by the appropriate divisor for the programmed data encoding format. Therefore. in FM mode (FMO or FM1). the DPLL counter output is the input frequency divided by 16. DPLLCLK Input \. In NRZI mode. the DPLL counter frequency is the input divided by 32. This feature provides a jitter-free output and replaces the DPLL transmit clock output being available as the transmit clock source. This has no effect on the use of the DPLL as the receive clock source. :: DPLL : DPLL Output to Receiver '--:"-:....-III1...!D~P~L~L~C~o~un~t~er~_J------t~ DPLL Output to Transmitter Input Divided by 16 (FMO or FM1) Input Divided by 32 for NRZI Figure 15. DPLL Outputs Read Register 0 Status Latched During Read Cycle The contents of Read Register zero. RRO. are latched during a read to this register. The ESCC prevents the contents of RRO to change while the Read cycle is active. The SCC allows the status of RRO to change while reading the register and. therefore. it is necessary to read RRO twice to detect changes that otherwise may be missed. The contents of RRO are updated after the rising edge of/RD. Software Interrupt Acknowledge The Z85230 interrupt acknowledge cycle can be initiated through software. If Write Register 9 (WR9) bit D5 is set. reading register 2(RR2) results in an interrupt acknowledge cycle to be executed internally. Like a hardware INTACK cycle. a software acknowledge causes the INT pin to return high. the lEO pin to go low and set the IUS latch for the highest priority interrupt pending. Similar to when the hardware INT ACK Signal can be used. a software acknowledge cycle requires that a Reset Highest IUS command be issued in the interrUpt service routine. Whenever an interrupt acknowledge cycle is used. hardware or software. a reset highestiUS command is required. If RR2 is read from channel A. the unmodified vector is returned. If RR2 is read from channel B. then the vector is modifieq to indicate the source of the interrupt. The Vector Includes Status (VIS) and No Vector (NV) bits in WR9 are ignored when bit D5 is set to 1. When the INTACK and lEI pins are not being used. they should be pulled up to Vcc through a resistor (10k ohm typical). 284 Fast SDLC Transmit Data Interrupt Response To more easily facilitate the transmission of back-lo-back SDLC frames with a single shared flag between frames. the ESCC allows data for a second frame to be written to the transmit FIFO after the Tx Underrun/EOM interrupt has occurred. This allo'{l's application software more time to write the data to the transmitter while allowing the current frame to be properly concluded with CRC and flag. The SCC historically has required that data not be written to the transmitter until a transmit buffer empty interrupt was generated after the CRC has completed transmission If data is written to the transmit FIFO after the Transmit Underrun/EOM interrupt and before the transmit buffer empty interrupt. the Automatic EOM Reset feature should 6e enabled (WRY' Dl=l), Consequently. the commands "Reset Tx/Underrun EOM" latch and "Reset Tx CRC Generator" should not be used. SDLC FIFO Frame Status FIFO Enhancement When used with a DMA controller. the Z85230 SDLC Frame Status FIFO enhancement maximizes the ESCC's ability to receive high speed. back-to-back SDLC messages. It minimizes frame overruns due to CPU latencies in responding to interrupts. Additional logic was added to the industry standard SCC consisting of a 10-deep by 19-bit status FIFO. 14-bit receive byte counter. and control logic as shown in Figure 16. The 10 x 19 bits status FIFO is separate from the 8-byte receive data FIFO. When the enhancement is enabled. the status in read register 1 (RR1) and byte count for the SDLC frame are stored in the 10 x 19 bit status FIFO. This allows the DMA controller to transfer the next frame into memory while the CPU verifies that the message was properly received. Summarizing the operation; data is received, assembled, and loaded into the eight byte FI FO before being transferred to memory by the OMA controller. When a flag is received althe end of an SOLC frame, the frame byte countfrom the 14-bit counter and five status bits are loaded into the status FIFO for verification by the CPU. The CRC checker is automatically reset in preparation for the next frame which can begin immediately. Since the byte count and status are saved for each frame, the message integrity is verified at a later time. Status information for up to 10 frames is stored before a status FIFO overrun can occur. If a frame is terminated with an ABORT, the byte count is loaded to the status FIFO and the counter reset for the next frame. FIFO Detail. For a better understanding of details of the FIFO operation, refer to the block diagram in Figure 16. Enable/Disable. This FIFO is implemented so that it is enabled when WR15, bit 02, is set and the ESCC is in the SOLC/HOLC mode. Otherwise, the status register contents bypass the FIFO and go directly to the bus interface (the FIFO pOinter logic is reset either when disabled or via a channel or power-on reset). When the FIFO mode is disabled, the ESCC is completely downward compatible with the NMOS Z8530. The FIFO mode is disabled on power-up (WR15 02 is set to 0 on reset). The effects of backward compatibility on the register set are that RR4 is an image of RRO, RR5 is, an image of RR 1, RR6 is an image of RR2 and RR7 is an image of RR3. For the details of the added registers, refer to Figure 18. The status of the FIFO Enable signal is obtained by reading RR15, bit 02. If the FIFO is enabled, the bit will be set to 1; otherwise, it will be reset Read Operation. When WR15 bit 02 is sel ane the FIFO is not empty, the next read to status register RRl or the additional registers R'R7 and RR6, are from the FIFO. Reading status register RR 1 causes one location of the FIFO to be emptied, so status is read after reading the byte count. otherwise the count is incorrect. Before the FIFO underflows, it is disabled. In this case, the multiplexer is switched to allow status to read directly from the status register and reads from RR7 and RR6 contain bits that are undefined. Bit 06 of RR7 (FIFO Oata Available) is used to determine if status data is coming from the FIFO or directly . from the status register, since it is set to 1 whenever the FIFO is not empty. The sequence for proper operation of the byte count and FIFO logic is to read the registers in the following order: RR7, RR6, and RR1 (reading RR6 is optional). Additipnal logic prevents the FIFO from being emptied by multiple reads from RR1. The read from RR7 latches the FIFO empty/full status bit (06) and steers the status multiplexer to read from the ESCC megacell instead of the status FIFO (since the status FIFO is empty). The read from RR1 allows an entry to be read from the FIFO (if the FIFO was empty, logic was added to prevent a FIFO underflow condition). Write Operation. When the end of an SOLC frame (EOF) has been received and the FIFO is enabled, the contents of the status and byte-count registers are loaded into the FIFO. The EOF signal is used to increment the FIFO. If the FIFO overflows, the RR7 bit 07 (FIFO Overflow) is set to indicate the overflow. This bit and the FIFO control logic is reset by disabling and re-enabling the FIFO control bit (WR 15 bit 02). For details of FIFO controltimirTg during an SOLC frame, refer to Figure 17. SOLe Status FIFO Anti-Lock Feature. When the Frame Status FIFO is enabled and the ESCC is programmed for "Special Receive Condition Only" (WRl 04,;,03= 1), the data FIFO is not locked when a character with End of Frame status is read. When a character with the EOF status is at the top of the FIFO, an interrupt with a· vector for receive data is generated. The command "Reset Highest IUS" must be issued at the end of the interrupt service routine regardless if an interrupt acknowledge cycle had been executed (hardware or software). This allows a OMA to complete transfer of the received frame to memory and then interrupt the CPU that a frame has been completed without locking the FIFO. Since in the "Receive Interrupt on Special Condition Only" mode the interrupt vector for receive data is not used, it is used to indicate that the last byte of a frame has been read out the receive FIFO. This eliminates having to read the frame status (CRC and other status is stored in the status FIFO with the frame byte count). When a character with a special receive condition other than EOF is received (receiver overrun, or parity), a special receive condition interrupt is generated after the character is read from the FIFO and the receive FIFO is locked until the "Error Reset" command is issued. Since not all status bits are stored in the FIFO, the All Sent, Parity, and EOF bits bypass the FIFO. The status bits sent through the FIFO are Residue Bits (3), Overrun, and CRC Error. .285 NEW FEATURE DESCRIPTION (Continued) q, Frame Status FIFO Circuitry RR1 . .. . . - - - ' Reset on Flag Detect SCC Status Reg Residue Bits(3) Overrun, CRC Error Byte Counter I ...-------1 5 Bits , 14 Bits .. FIFO Array 10 Deep by 19 Bits Wide Increment on Byte DET, Enable Count in SDlC End of Frame Signal - - - , Status Read Comp Tail Pointer 4-Bit Counter Head Pointer 4-Bit Counter 4-Bit Comparator 5 Bits :r 1 Over EOF=1 , Equal 6 Bits '" 8 Bits ~"'---.. ,,-J-~L ' " 6-Bit MUX " . . . . . f - - - - - - - t - - - - + - - f EN 1 - - - - t - - - - ; - - . .. 2 Bits ~ 6 Bits Bi!7 Bi:6 RR1 Bits 5-0 RR6 j i j Interfage toSCC IRR7 D5-DO + RR6 D7 - DO Byte Counter Contains 14 bits for a 16 KByte maximum count. RR7D6 FIF,O Data available status bit Status Bit set to 1 When reading from FIFO. RR7D7 FIFO Overflow Status Bit MSB pf RR(7) is set on Status FIFO overflow In SDlC Mode the following definitions apply. " All Sent bypasses MUX and equals contents of SCC Status Register. - Parity Bits bypasses MUX and does the same. - EOF is set to 1 whenever reading from the FIFO. Figure 16. SOlC Frame Status FIFO 286 FIFO Enable A 1 WR(15) Bit 2 Set Enables Status FIFO Internal Byte Strobe Increments Counter Don't Load Counter On 1st Rag Reset Byte Counter Here Internal Byte Strobe Increments Counter Reset Byte Counter Load Counter Into FIFO and Increment PTR Reset Byte Counter Load Counte, Into FIFO And Increment PTR Figure 17. SDLC Byte Counting Detail PROGRAMMING The ESCC contains write registers in each channel that are programmed by the system separately to configure the functional uniqueness of the channels. In the ESCC. the data registers are directly addressed by selecting a High on the Ol/C pin. With all other registers (with the exception of WRO and RRO), programming the write registers requires two write operations and reading the read registers requires both a write and a read operation. The first write is to WRO and contains three bits that point to the selected register. The second write is the actual control word for the selected register, and if the second operation is read, the selected read register is accessed. All of the ESCC registers, including the data registers, may be accessed in this fashion. The pointer bits are automatically cleared after the read or write operation so that WRO (o~ RRO) is addressed again. Initialization. The system program first issues a series of commands to initialize the basic mode of operation. This is followed by other commands to qualify conditions within the selected mode. For example, in the Asynchronous mode, character length, clock rate, number of stop bits, and even or odd parity should be set first. Then the interrupt mode is set. and finally, the receiver and transmitter are enabled. Write Registers. The ESCC contains 16 write registers (17 counting the transmit buffer) in each channel. These write registers are programmed separately to configure the functional "personality" of the channels. There are two registers (WR2 and WR9) shared by the two channels that are accessed through either of them. WR2 contains the interrupt vector for both channels, while WR9 contains the interrupt control bits and reset commands. A new register, WR7', was added to the ESCC and may, be written to if WR15 00 is set. Figure 18 shows the format of each write register. Read Registers. The ESCC contains ten read registers (eleven, counting the receive buffer (RR8) in each channel). Four of these may be read to obtain status information (RRO, RR1, RR1O, and RR15). Two registers (RR12 and RR13) are read to learn the baud rate gEme'rator time constant. RR2 contains either the unmodified interrupt vector (Channel A) or the vector modified by status information (Channel 8). RR3 contains the Interrupt Pending (IP) bits (Channel A only). RR6 and RR7 contain the information in the SOLC Frame Status FIFO, butis only read when WR15 02 is set. If WRT 06 is set. Write Registers WR3, WR4, WR5, WRT, and WR10 can be read as RR9, RR4, RR5, and RR14, respectively. 287 , CQNTROL REGISTERS Write Register 0 (norHnullplexec! bUs mode) 1071061051041031021011 DO Write Register 2 I' I I I 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 1 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 . 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 Register 0 1 Register 1 Register 2 Register 3 0 1 0 Register 4 1 RegisterS 0 1 0 1 0 1 0 1 0 1 V4 RegisterS =::=;~ Register 9 Register 10 Register 11 Register 12 Register 13 Register 14 Register 15 } Interrupt Vecklr VS V6 * V7 Write Register 3 Null Code Point High Reset ExtISta1us Interrupts , Send Abort (SOlC) Enable Int on Next Ax Character Reset Tx Int Pending EnorReeet Reset Highest IUS Ax Enable Sync Character lDad Inhibit Address SeaJCh Mode (SOLC) Ax CRC Enable o o 0 1 0 1 1 1 * Enter Hunt Mode NUIlCode Reset Ax ORC Checker Reset Tx CRC Generator Reeet Tx UndelTunlEOM l.aIch Auto Enables o o Wlh Point High Command 1 1 0 1 0 1 Ax S BltslCharacter Rx 7 BltslCharacter Rx 6 BItBICharacter Rx 8 BitBlCharacter ' Write Register 1 WrRe Register 4 ~ 0 0 1 1 0 1 0 1 Ext Int Enable Tx Int Enebie Parity Enable Parity Is Special Condition Parity EVEWIOOO Ax Int Disable Rx Int On First Character or Special Condition Int On AM ,Rx Characters or Special Condition Ax Int On Special CondItion Only o o 1 1 0 1 0 1 Sync Modes Enable 1 Slop Bft/Character 1 112 Slop Bits/Character 2 Slop 8itBICharacter WAITIDMA ~uest On IWAITIDMA Request Function o o 1 0 1 0 WAITIDMA Request Enable 1 1 Receive/fTransmR 8-Bit Sync Character 16-Blt Sync Character SOLC Mode (01111110 Flag) External Sync MOde o o 0 XI Clock Mode 1 X16 Clock Mode 1 1 0 1 X32 Clock Mode X64 Clock Mode Figure 18. Write Register Bit Functions 288 Write Register 5 Tx CRC Enable RTS ISDlC/CRC-16 Tx Enable SendBrsak o o 0 Tx 5 BIIs(Or L968)/Charac:ter 1 Tx 7 BIIBICherac:ter 0 \Tx 6 Bils/Character 1 'Tx 8 BIIBICharacter 1 1 DTR Write Register 6 Sync7 Sync1 Sync7 Sync3 ADR7 ADR7 Sync6 SyncO SyncS Sync2 ADR6 ADR6 Sync5 SyncS Sync5 Sync1 ADR5 ADRS Sync4 Sync4 Sync4 SyncO ADR4 ADR4 Sync3 Sync3 Sync3 1 ADR3 x Sync2 Sync2 Sync2 1 ADR2 x Syncl Sync1 Sync1 1 ADR1 SyncO SyncO SyncO 1 ADRO x Monosync, 8 Bits Monosync, 6 Bits Bisync, 16 Bits Bisync, 12 Bits SDlC SDLC (Address Range) Write Register 7 Sync7 SyncS Sync15 Sync11 Sync6 Sync4 Sync14 Sync10 o 1 SyncS Sync3 Sync13 Sync9 1 Sync4 Sync2 Sync12 Sync6 1 Sync3 Sync2 Sync1 Sync1 x SyncO Sync11 Sync10 Sync9 Sync7 Sync6 SyncS 1 1 1 SyncO x SyncS Sync4 o Monosync, 8 Bits Monosync, 6 Bits Bisync, 16 Bits Bisync, 12 Bits SDLC Figure 18_ Write Register Bit Functions (Continued) 289 CONTROL REGISTERS (Continued) Write, Register 10 , WR7'Prime I ~ L,. L.= 6-8iW8·B~ Sync AutoTxFIag Auto EOM Reeet Loop Mode AuloRTSD_n AborlilFlag On Unclerrun MarkilFlag Idle Ax FIFO Int Level Go ActIve On Poll DTRlREQ Tlmlng Mode Tx FIFO Int Level Extended Read Enable Not Used, Always 0 o o 1 1 0 NRZ 1 NAZI 0 FMl (Transition = 1) 1 FMO (Transition = 0) CAC Preset 1110 Wille Reglsl8r 9 Write Register 11 I I 0 0 1 1 0 NoReseI o 1 1 0 Channel_ B Channel Reoet A fTAx C Oul. Xlal OUtpul fTRx C Out • Trensmft Clock fTRx C OUt = BR Generator Output fTAx C Oul. DPLL Outpul fTRxCo/l Sottwa...INTACK Enable o 0 1 0 1 0 0 1 1 l I F o.... Hardw.... Resel 0 0 1 1 0 1 0 1 0 TrensmkClock= iRTxC Pin 1 Transm~ Clock. fTRxCPIn 0 Transmft Clock. BR Generator Output 1 Trensmft Clock = DPLLOutpuI Aecelve Clock ./RTxC Pin Aecelve Clock = ITAxC Pin Aecelve Clock • BR Generalor OUtput Aecelve Clock • DPLL OUtput IRTxC XtaIIlNo Xtal Figure 18. Write Register Bit Functions (Continued) 290 Wrtte Register 12 Write Register 14 TCO BR Generator Enable TCl BR Generator TC2 IDTRlRequest Function TC3 TC4 Sour"" Auto Echo Lower Byte of Time Constant LocaII.oopback TC5 a a a a a 1 a 1 a a 1 1 1 a 0 1 a 1 1 a 1 TC6 TC7 Write Register 13 1 1 1 NuRCommand Enter Search Mode Reset Missing Clock Disable DPLL Set Source = BR Generator Set Source =IRTxC SetFMMode Set NAZI Mode Write Register 15 TC8 TC9 TCla WR7' SOlC Feature Enable TCll Upper Byte of TC12 lime Constant TC13 TC14 TC15 Zero .Count IE SOLC FIFO En,abIe DCOIE Sync/Hunt IE CTSIE Tx Underrun/EOM IE B",al "r,,,.,,,, ''', , .. I "' .. ,,....,IiI1l' ,-,'. ;," '~""""""''''','' ",' Z85230 TIMING The ESCC generates internal control signals from the /WR and IRO that are related to PCLK. Since PCLK has no phase relationship with /WR and IRO, thecircuitry generating the internal control signals provides time forrnetastable conditions to disappear. This gives rise to a recovery time related to PCLK. The recovery time applieS only between bus transactions involving the ESCC. The recovery time required for proper operation is specified from the falling edge of /WR or IRO in the first transaction involving the ESCC to the falling edge of /WR o~ IRO in the second NIB.O//c nNTACK Read Cycle Timing. Figure 20 illustrates Read cycle timing. Addresses on Al/B and O//C and the status on IINTACK must remain stable throughout the cycle. If ICE falls after IRO falls, or if it rises before IRO rises, the effective IRO is shortened. ________')(~_____________~ ___ es_s_vM_'_d_______________~ J \~-- ICE 07-00 transaction involving the ESCC. This time must be at least 4 PCLKs regardless of which register or channel is being accessed. 1 \ ----------------------«"'____..IX . Data Valid \~ fRO »).---------- ___--'I Figure 20. Read Cycle Timing Write Cycle Timing. Figure 21 illustrates Write cycle timiflg. Addresses on Al/B and O//C and the status on IINTACK must remain stable throughout the cycle. If ICE falls after /WR falls, or if it rises before /WR rises, the effective /WR is shortened. Because many popular CPUs do not guaran- NIB,OIlC IINTACK ICE 07-00 IWR tee that the databus is valid when IWR is driven low, the i::Jatabus timing requirements of the ESCC have been modified so that the databus does not have to be valid when the /WR pin goes low. See AC Characteristic #29 for details. V-X- - - - -~ress ----"----Valid ----' J \~- 1 \ Add __r_e_sS_V_al_id____ \ 1 _ _ _ _-..1 Figure 21. Write Cycle Timing 294 ..I:>).------- ------------------------~<:"'____ Interrupt Acknowledge Cycle Timing. Figure 22 illustrates Interrupt Acknowledge cycle timing. Between the time /INTACK goes Low and the falling edge of /RD, the internal and external lEI/lEO daisy chains settle. If there is an interrupt pending in the ESCC and lEI is High when /RP falls, the Acknowledge cycle is intended for the ESCC. In this case, the ESCC may be programmed to respond to /RD Low by placing its interrupt vector on D7-DO. It then IINTAct< IRD D7'[)O sets the appropriate Interrupt-Under-Service latch internally. If the external daisy chain is not used, then AC parameter #38 is required to settle the interrupt priority daisy chain internal to the ESCC. If the external daiSy chain is used, the user should follow the equation in AC Characteristics, Note 5, for calculating the required daisy-chain settle time. ~/F------------1/ u ' _____1 ---------J./J.,.. ------t(...___IX Vector »)0----- Figure 22. Interrupt Acknowledge Cycle Timing OTHER ZILOG DATA C9MMUNICATIONS PRODUCTS SIO Family Z84C4DSI0 Z84C131PC Z84C151PC Dual channel multiprotocol USART. Z8D CPU with integrated SIO, CTC and WDT. Z8D CPU with integrated SIO, CTC, WDT and PIO. SCCFamily Z08530SCC Z08030SCC Z85C3DSCC Z80C3DSCC Z16C351SCC Z80181 SAC NMOS SCC Low cost with speeds up to 8 MHz. NMOS SCC for multiplexed busses. CMOS SCC at speeds up to 16 MHz. NMOS compatible. CMOS SCC for multiplexed busses. SCC with 4 channel DMA and advanced CPU interface. Z180 CPU with integrated single channel SCC. USC family Z16C30 USC Dual channel high performance multi-protocol data communications up to 10 Megabits/second Z16C33 MUSC Single channel USC w/ISDN Time Slot Assigner. Z16C31 IUSC . MUSC with high perfon:nance dual channel DMA (available Q1/91). Z16C50 DDPLL Dual channel DPLL cell from the USC. 295 I, ABSOLUTE MAXIMUM RATINGS Vee Supply Voltage range .......................... -O.3V to +7.0V Voltages on all pins with respect to GND .............................. -3V to Vee +O.3V Operating Ambient Temperature ..................'.......... See Ordering Information Storage Temperature ............................. -65°C to +150°C Stresses greater than those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only; operation of the device at any condition above those indicated in the operational sections of these specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. STANDARD TEST CONDITIONS The DC Characteristics and capacitance sections below apply for the following standard test conditions, unless otherwise noted. All voltages are referenced to GND. Positive current flows into the referenced pin. Standard conditions are as follows: • • • +4.50 V ~ Vee ~ + 5.50 V GND = OV TA as specified in Ordering Information +5V +5V 2.1 K 2.2K From Output Under Test 0 - - - -....- ..........- - 0 - - 4 From Output 100p! II 50 pI I Figure 24. Open-Drain Test Load FI.gure 23. Standard Test Load CAPACITANCE Symbol, Parameter Input Capacitance Output Capacitance Bidirectional Capacitance Note: ! = 1 MHz, over speci/ied temperature range. Unmeasured pins returned to Ground. MISCELLANEOUS Gate Count - 6800 296 Min Max Unit 10 15 pF pF pF 20 Test Condition Unmeasured Pins Returned to Ground DC CHARACTERISTICS Z85230 Symbol Parameter Input High Voltage Input Low Voltage Output High Voltage Oytput High Voltage Output Low Voltage Input Leakage Output Leakage Vcc Supply Current Iccase Crystal OSC Ourrent Min Typ 2.2 -0.3 2.4 Vcc-0.8 Max Unit Vcc+0.3 0.8 V V V V V 0.4 5 7 9 6 ±10.0 ±10.0 12 (10 MHz) 1'5 (16MHz) 20 (20 MHz) J.IA J.IA mA mA mA mA Condition 10H 10H 10l = -1.6mA = -250J.IA + 2.0mA 0.4 V1N+2.4V 0.4 Vout +2.4V Vcc=5V V1H =4.8 V,l=0.2V Crystal Oscillators off I Current for each osc. in addition to ICCl Notes: [1] Voc = 5V ± 10% unless otherwise specified, over specified terrperature range. [2] Typical Icc was measured with oscillator off. [3] No Icc(ose) max is specified due to dependency on the external circuit. 297 AC CHARACTERISTICS Z85230 Read and Write Timing Diagram ~ c~ - PCLK 2 fCE - ~ ~ 3 ~ ( .~ flNTACK --- ---®- ,,!.. AlIB.OI/C 0:J . r- fo---.o. -0 t---(9) r'L " ~ ~ ~ f--® ~ -®- ~ Read @-J' ~ '22' .~ *'k )! Active k®-l Valid ®25 "ii' ~l@ ~ ~ J-I !WR ~ 07-00 Write ~ ~ -®- f---!WfIREO Wait \ "'" = ~ !WI/REO Request fOTRtfREO Request J +-@~ -- I ~ liNT fait .1 Figure 25. Z85230 Read and Write Timing Diagram Figure 26. Reset Timing Diagram 298 f-I.@ -'LJ ,. fRO 07-00 ....... ~ PCLK IINTACK IRO D7~ --------------~~--------_++__G lEI lEO liNT Figure 27. Interrupt Acknowledge Timing Diagram ICE IRDorlWR JI / \ " '@ / r \ \ J ~ Figure 28. Cycle Timing Diagram AC CHARACTERISTICS Z85230 Read and Write Timing Table No Symbol Parameter 1 2 TwPCI TwPCh TfPC TrPC TcPC PCLK Low Width PCLK High Width PCLK Fall Time PCLK Rise Time PCLK Cycle Time TsA(WR) ThA(WR) TsA(RO) ThA(RO) TsIA(PC) Address to /WR Fall Setup Time Address to /WR Rise Hold Time Address to IRO Fa" Setup Time Address to IRO Rise Hold Time liNTACK to PCLK Rise Setup Time 3 4 5 6 7 8 9 10 10 MHz 16 MHz 20 MHz Min Max Min Max Min Max 1000 26 1000 26 10 10 2000 61 1000 22 1000 22 5 5 2000 50 50 0 35 30 0 0 50 35 30 0 0 15 0 15 40 40 100 20 Notes 1000 1000 5 5 2000 299 AC CHARACTERISTICS Z85230 Read and Write Timing Table No Symbol, Parameter 11 12 13 14 15 16 TsIAi(WR) ThIA(WR) TsIAi(RD) ThIA(RD) ThIA(PC) TsCEI(WR) liNTACK to /WR Fall Setup Time IINTACK to /WR Rise Hold Time IINTACK to IRD Fall Setup Time IINTACK tolRD Rise Hold Time liNTACK to PCLK Rise Hold Time ICE Low to /WR Fall Setup Time 17 18 19 20 21 22 ThCE(WR) TsCEh(WR) TsCEI(RD) ThCE(RD) TsCEh(RD) TwRDI ICE to (:NR Rise Hold Time ICE High to /WR Fall Setup Time ICE Low to IRD Fall Setup Time ICE to IRD Rise Hold Time ICE High to IRD Fall Setup Time 23 24 25 26 27 28 TdRD(DRA) TdRDr(DR) T.dRDI(DR) TdRD(DRz) TdA(DR) TwWRI IRDlow Wi,dth IRD Fall to Read Data Active Delay IRD Rise to Data Not Valid Delay IRD Fall to Read Data Valid Delay IRD Rise to Read Data Float Delay Addr to Read Data Valid Delay /WR Low Width /WR Fall tb Write Data Valid Delay Write Data to /WR Rise Hold Time 'twR Fall to Wait Valid Delay IRD Fall to Wait Valid Delay /WR Fall to /WI/REO Not Valid Delay IRD' F~II to /WI/REO Not Valid Delay 29 30 31 32 33 34 JdWR(DW) ThDW(WR) TdWR(W) TdRD(W) TdWRf(REO) TdRDf(REO) 35a 35b 36 37 38 39 TdWRr(REO) /WR Fall to /DTRI/REO Not Valid TdWRr(REO) /WR Fall to /DTR//REO Not Valid TdRDr(REO) IRD Rise to IDTRI/REO Not Valid Delay TdPC(INT) PCLK Fall to liNT Valid Delay TdIAi(RD) IINTACK to IRD Fall (Ack) Delay TwRDA IRD (Acknowledge) Width 40 41 42 43 44 TdRDA(DR) TsIEI(RDA) ThIEI(RDA) TdIEI(IEO) TdPC(IEO) , IRD Fall(Ack) to Read Data Valid Delay 45 TdRDA(INT) TdRD(WRO) TdWRO(RD) TwRES Trc IRD Fall to liNT Inactive Delay IRD. Rise to /WR Fall Delay for No Reset twR Rise to IRD Fail Delay for No Reset twR and IRD low for Reset 46 47 48 49 lEI to IRD Fall (Ack) Setup Time lEI to IRD Rise (Ack) Hold Time lEI to lEO Delay Time PCLK Rise to lEO Delay Valid Access Recovery Time 10MHz 16 MHz 20 MHz Min Max Max Min Max Min 70 '0 70 0 15 0 130 0 130 0 30 a a 50 a 0 50 125 a a 65 0 [1 J 65 [1 J 0 30 0 0 30 70 25 65 [1 J [1] [1 J [lJ a a a 15 a a 25 a a 0 0 • 70 20 100 120 35 180 125 65 20 90 65 75 20, a a 100 100 ' 120 120 20 20 0 50 50 50 70 70 50 NA 320 125 45 65 120 95 70 50 60 45 200 320 15 15 100 4TcPc 10 10 75 4TcPc 4TcPc 65 NA [6J [5] 40 70 45 80 175 [6J a 0 90 65 1~ 50 75 a (4] [4] 65 4TcPc 70 NA 175 4TcPc 100 90 Notes 180 10 10 65 4TcPc [4] [3J Notes: [1) Parameter does not apply to Interrupt Acknowledge tral)sactions. [3) Parameter applies only between transactions involving the ESCC. [4) Open-drain output, measured with open-drain test load. [5) Parameter is system dependent. For any ESCC in the daisy chain, TdIAi(RD) must be greater than the sum of TdPC(IEO) for the highest priority device in the daisy chain. TsIEI(RDA) for the ESCC and TdIEI(IEO) f9r each device separating them In the daisy chain. [6) Parameter applies to enhanced Request mode only (WA7' 04=1) 300 AC CHARACTERISTICS Z85230 General Timing Diagram PCLK IWIIREQ Request IW/IREQ W~ __________________~------------------------I IRTxC. ITRxC ReceIve ___________"1 RxD /SYNC External 1TRxC.IRTxC Transmit ~ TxD ~~_X-_----'lX~- ~----- @_'3~_-_-_--~~l<-------------------------- CE _----' ___________ __ IRTXC~ __ /TRxC ' ___....II ~'---'b4d-----'~----Jr --c=bd lCTS,tDCD --~ /sYNC Input {----- Figure 29. Z85230 General Timing Diagram 301 - _ _ ......"~"~""_J' • 'r,........"..· _ _ ·_"_·J·'·, .. ,~ _ _ _ _ _ "_,~~..... ,......"',"",Ir", ..... "".J"""-.-~I~;-r-l_',,' ,'~'·"'·I"""""" AC CHARACTERISTICS Z85230 General Timing Table (Preliminary) 10 MHz Min Max 16 MHz Min Max 20 MHz Min Max 200 80 180 NA 70 170 NA No Symbol Parameter 1 2 3 4 TdPC(REQ) TdPC(W) TsRXC(PC) TsRXD(RXCr) /PCLK toW/REQ Valid /PCLK to Wait Inactive /RxC to /PCLK Setup Time RxD to /RxC Setup Time NA 0 5 6 7 8 ThRXD(RxCr) TsRXD(RXCf) ThRXD(RXCf) TsSY(RXC) RxD to /RXC Hold Time RxD to /RXC Setup Time RXD to /RXC Hold Time /SYNC to /RxC Setup Time 125 0 125 -150 50 0 50 -100 ·90 9 10 11 12 ThSY(RXC) TsTXC(PC) TdTXCf(TXD) TdTxCr(TXD) /SYNC to/RXC Hold Time /TxC to IPCLK Setup Time /TxC to TxD Delay /TxC to TxD Delay 5TcPc NA 5TcPc NA 5TcPc NA 13 14 15 ·16a TdTXD(TRX) TwRTXh TwRTXI TcRTX TxD to TRxC Delay RTxC High Width TRxC Low Width RTxC Cycle Time 120 120 400 16b 17 18 19 TxRX(DPLL) TcRTXX TwTRXh TwTRXI DPLL Cycle Time Min Crystal Osc. Period TRxC High Width TRxC Low Width 50 100 120 120 20 21 22 TcTRX TwEXT TwSY TRxC Cycle Time DCD or CTS Pulse Width SYNC Pulse Width 400 120 ' 120 300 NA NA 0 150 150 45 0 70 70 31 61 80 80 70 70 244 70 70 [6] [6] [6,7] 200 1000 [1] [2.4] [2] [2,5] 70 80 80 80 244 [1.4] [1] [1] 11,5] [1,5] [1] 45 80 80 140 .1000 NA 0 Notes 31 61 70 70 200 1000 [7,8] [3] [6] [6] [6,7] 60 60 Noles: [1) RxC is /RTxc or (TAxC, whichever is supplying the receive clock. (2) TxC is {TRxC or /RTxC, whichever is supplying the transmit clock. [3] Both /RTxC and /SYNC have 30 pF capacitors to ground connected to them. [4] Synchronization of AxC to PClK is eliminated in divide by four operation. [5] Parameter applies only to FM encoding/decoding. [6] Parameter applies only for transmitter and receiver; DPLl and baud rate generator timing requirements are identical to case PCLK requirements. [l} The maximum receive or transmit data rate Is 1/4 PClK. [8] Applies to DPLl clock source only. Maximum data rate of 1/4 PCLK still applies. DPLl clock should have a 50% duly cycle. 302 AC CHARACTERISTICS Z85230 System Timing Diagram (Preliminary) IRTxC, ITRxC Receive !W/REO Request !W/REO Wait -----------------------+-----------' t-----<..2:>-----1~ ISYNC Output IlNT IRTxC, ITRxC Transmit !WI/REO Request !WI/REO Wan ________________________~-------------J ....--46i)---~ IDTRl/REO Request liNT ICTS, lOCO ISYNC Input 3K K. ~- .- \ liNT If'" Figure 30_ Z85230 System Timing 303 AC CHARACTERISTICS Z85230 System Timing Table (Preliminary) No Symbol Parameter 1 2 3 4 TdRXC(REQ) TdRXC(W) TdRXC(SY) TdRXC(INT) TdTXC(REQ) . IRXC to /WI/REO Valid IRxC to /Wait Inactive IRxC to ISYNC Valid IRxC to liNT Valid /TxC to /w/IREQ Valid TdTXC(W) TdTXC(DRO) TdTXC(INT) TdSY(INT) TdEXT(INT) /TxC to /Wait Inactive /TxC to /DTR/lREQ Valid /TxC to liNT Valid ISYNC to liNT Valid lOCO or ICTS to liNT Valid 5 6 7 8 9 10 10 MHz Min Max 4 10 12 12 7 16 5 5 8 8 4 6 2 2 ~"':."!~: (1) Open drain-output, measured with open-draln test load. (2) /RxC is /RTxC or /TRXC, whichever is supplying the receive clock. (3) /TxC is /TRXC or /RTxC, whichever is supplying the transmit clock. 16 MHz Min Max 20 MHz Min Max 4 10 12 14 7 16 4 10 12 14 7 16 8 5 8 5 8 11 7 10 5 11 7 10 6 6 5 11 4 6 2 2 7 10 6 6 6 6 8 8 4 6 2 2 8 8 Notes [2] . [1,2] [2] [1,2] [3] [1,3] [3] [1,3] [1] [1] ~Zirm PRODUCT SPECIFICATION Z80C30/Z85C30 CMOS Z-BUS@ SCC"IM SERIAL COMMUNICATION CONTROLLER FEATURES • Low power CMOS • Pin compatible to NMOS versions • Two independent, 0 to 4.1 Mbit/second, full-duplex channels, each with a separate crystal oscillator, baud rate generator, and Digital Phase-Locked Loop (DPLL) for clock recovery. • Multi-protocol operation under program control; programmable for NRZ, NRZI, or FM data encoding. • Asynchronous mode with five to eight bits and one, one and one-half, or two stop bits per character, programmable clock factor, break detection and generation; parity, overrun, and framing error detection. • Synchronous mode with internal or external character synchronization on one or two synchronous characters and CRC generation and checking with CRC-16 or CRC-CCITT preset to either 1s or Os. • SDLC/HDLC mode with comprehensive frame-level control, automatic zero insertion and deletion, I-field residue handling, abort generation and detection, CRC generation and checking, and SDLC Loop. • Software Interrupt Acknowledge feature • Local Loopback and Auto Echo modes • Supports T1 digital trunk • Enhanced DMA support 10 x 19-bit status FIFO 14-bit byte counter • Fast speeds: 10.0 MHz for data rates up to 2.5 Mbyte/sec. 16.384 MHz for data rates up to 4.096 Mbyte/sec. GENERAL DESCRIPTION The Zilog Serial Communications Controller, Z80C30/ Z85C30 SCC, is a pin and software compatible CMOS member of the SCC family introduced by Zilog in 1981. It is a dual channel. multi-protocol data communications peripheral that easily interfaces to CPU's with either mUltiplexed or non-multiplexed address/data buses. The advanced CMOS process offers lower power consumption, higher performance, and superior noise immunity, The programming flexibility of the internal registers allows the SCC to be configured to satisfy a wide variety of serial communications applications. The many on-chip features such as baud rate generators, digital phase locked loops, and crystal oscillators dramatically reduce the need for external logic. Additional features including a 10 x 19-bit status FIFO and 14-bit byte counter were added to support high speed SDLC transfers using DMA controllers. The SCC handles asyn'chronous formats, synchronous byte-oriented protocols such as IBM Bisync, and synchro- nous bit-oriented protocols such as HDLC and IBM SDLC. This versatile device supports virtually any serial data transfer application (casette, diskette, tape drives, etc.) The device can generate and check CRC codes in any synchronous mode and can be programmed to check data integrity in various modes. The SCC also has faCilities for modem controls in both channels. In applications where these controls are not needed, the modem controls can be used for general-purpose I/O. The daisy-chain interrupt hierarchy is also supported as is standard for Zilog peripheral components. Note: All Signals with a preceding front slash, "/", are active Low, e.g.: BIIW (WORD is active Low); IBIW (BYTE is active Low, only); INIIS (NORMAL and SYSTEM are both active Low). 305 Transmit Logic , TransmitMUX 'Transmit FIFO , BUffer' Data Encoding & CRC Generation TxOA • Channel A Exploded View Receive and Transmit Clock Multipexer fTRxCA IRTxCA Digital Phase-Locked Crystal Oscillator AmplHler Baud Rate Generator Loop ICTSA IDCDA ModenVContrmLog~ ISYNCA IRTSA IDTRAl/REQA Receive Log~ Rae. Status Reo. Data FIFO 3 Byte RF03Byte ~ ~ SOLC Frame Status AFO 10x 19 RecelveMUX RxDA CRC Checker. Data Decode & Sync Character Detection ~ Channel A Databus CPU & OMA VL--...I Bus Interface IV--..., Control Interrupt Control {/lN~lEI lEO ChannelS ~-~ _ _--' Figure 1. 306 L.===~ r- SCC BioCk Diagram 01 DO AD1 ADO 03 02 A03 A02 05 04 A05 A04 07 06 A07 ADS lINT IRO lINT lOS lEO IWR lEO lAS lEI Al/B lEI IINTACK ICE +5V OIlC +5V IWIIREQA GND IWIIREQA ISYNCA IWIIREQB IRTxCA RxOA ITRxCA ISYNCA IWIIREQB ISYNCB IRTxCB RxOA IRTxCB ITRxCA RxOB TxOA ITRxCB 10TRlIREQA TxOB IRTSA CS1 GNO ISYNCB ITRxCB 10TRl/REQA ICSO IRTxCA RxOB TxOA RlIW IINTACK 10TRl/REQB TxOB IRTSA 10TRl/REQB IRTSB ICTSA RTSB ICTSA 10COA ICTSB 10COA ICTSB PCLK 10COB PCLK IOCOB Figure 2. Z85C30 DIP Pin Assignments Figure 3. Z80C30 DIP Pin Assignments lEO AlIB lEI ICE IINTACK OIIC +51/ IWIIREOA NC GNO Z85C30 ISYNCA IRTxCA IWIIREOB ISYNCB RxDA IRTxCB IfRxCA RxDB TxOA IfRxCB NC TxOB ~C§ ~ ~« w ~ e t;S IE -e "'m ..... Q 00 Q. e RlIW ICSO CS1 lEO lEI nNTACK +5V fWllREQA ISYNCA IRTxCA NC GND fWllREOB /sYNCB Z80C30 RxDA IRTxCB IfRxCA TxDA RxDB IfRxCB TxDB NC ffl ffl B 0z b~w ~ - -e Figure 4. Z85C30 PLCC Pin Assignments Figure 5. Z80C30 PLCC Pin Assignments Note Power connections follow conventional descriptions below: Connection Circuit Power V", Ground GND DeVice V"" V§ 307 Data Bus Bus Timing and Reset Control 07 TxOA D6 RxOA 05 !TRxCA D4 IRTxCA D3 ISYNCA 02 IWIIREQA 01 10TRl/REQA DO IRTSA ICTSA IRO IWR Z85C30 IDCDA Al/B TxOB ICE RxDB Dl/C !TRxCB liNT IRTxCB ISYNCB IINTACK IWIIREQB lEI 10TRl/REQB lEO IRTSB ICTSB } } Serial Data Channel Clocks , v- CH-A Controls for Modem, OMA and Other } } Serial Data ,Channel Clocks }~- CH-B Controls for Modem, OMA and Other 10COB Figure 6_Z85C30 Pin Functions Address/Data Bus Bus TiRing and Reset Control AD7 TxDA AD6 RxDA ADS !TRxCA AD4 IRTxCA AD3 ISYNCA A02 IWIIREOA A01 IOTRl/REQA ADO IRTSA lAS ICTSA IDS IOCOA Z80C30 RlIW TxDB CS1 RxOB CSO !TRxCB liNT IRTxCB IINTACK lEI lEO ISYNCB IWIIREOB IOTRl/REQB IRTSB ICTSB IOCOB Figure 7. Z80C30 Pin Functions 308 } } Serial Data Channel Clocks v- CH-A Controls for Modem, OMAand Other } } Serial Data Channel Clocks }~~ Controls , for Modem, OMA and Other 'CH-B PIN DESCRIPTION The following section describes the pin functions common to the Z85C30 and the Z80C30. Figures 2 and 3 detail the respective pin functions and pin assignments. RxDA, RxDB. Receive Data (inputs, active High). These signals receive serial data at standard TTL levels. ICTSA,ICTSB. Clear To Send(inputs, active Low). l!these pins are programmed for Auto Enables, a Low on the inputs enables the respective transmitters. If not programmed as Auto Enables, they may be used as generalpurpose inputs. Both inputs are Schmitt-trigger buffered to accommodate slow rise-time inputs. The SCC defects pulses on these inputs and can interrupt the CPU on both logic level transitions. IRTxCA,/RTxCB. Receive!Transmlt Clocks(inputs, active Low). These pins can be programmed in several different modes of operation. In each channel, /RTxC may supply the receive clock, the transmit clock, the clock for the baud rate generator, or the clock for the Digital Pilase-Locked Loop. These pins can also be programmed for use with the respective /SYNC pins as a crystal oscillator. The receive clock may be 1, 16, 32, or 64 times the data rate in Asynchronous modes. IDCDA, IDCDB. Data Carrier Detect (inputs, active Low). These pins function as receiver enables if they are programmed for Auto Enables; otherwise, they are used as general-purpose input pins. Both pins are Schmitt-trigger buffered to accommodate slow rise-time signals. The SCC detects pulses on these pins and can interrupt the CPU on both logic level transitions. IRTSA, IRTSB. Request To Send (outputs, active Low). When the Request To Send (RTS) bit in Write Register 5 (Figure 11) is set, the /RTS signal goes Low. When the RTS bit is reset in the Asynchronous mode and Auto Enable is on, the signal goes High after the transmitter is empty. In Synchronous mode it strictly follows the state of the RTS bit. Both pins can be used as general-purpose outputs. IDTRl/REQA,/DTRl/REQB. Data Terminal Ready/Request (outputs, active Low). These outputs follow the state programmed into tile DTR bit. They can also be used as general-purpose outputs or as Request lines for a DMA controller. ISYNCA, ISYNCB. Synchronization (inputs or outputs, active Low). These pins can act either as inputs, outputs, or part of the crystal oscillator circuit. In the Asynchronous Receive mode (crystal oscillator option not selected), these pins are inputs similar to /CTS and /DCD In this mode, transitions on these lines affect the state of the Synchronous/Hunt status bits in Read Register 0 (Figure 10) but have no other function. \ lEI. Interrupt Enable In (input, active High). lEI is used with lEO to form an interrupt daisy-chain when there is more than one interrupt driven device. A high lEI indicates that no other higher priority device has an interrupt under service or is requesting an interrupt. lEO. Interrupt Enable Out (output, active High). lEO is High only if lEI is High and the CPU is not servicing the SCC interrupt or the SCC is not requesting an interrupt (Interrupt Acknowledge cycle only). lEO is connected to the next lower priority device's lEI input and thus inhibits interrupts from lower priority devices. liNT. Interrupt Request (output, open-drain, active Low). This signal is activated when the SCC requests an interrupt. IINTACK. Interrupt Acknowledge (input, active Low) This . Signal indicates an active Interrupt Acknowledge cycle. During ttlis cycle, the SCC interrupt daisy chain settles. When /RD or /DS becomes active, the SCC places an interrupt vector on the data bus (if lEI is High). /INT ACK is latched by the rising edge of PCLK. In External Synchronization mode with the crystal OSCillator not selected, these lines also act as inputs. In this mode, /SYNC must be driven Low for two receive clock cycles after the last bit in the synchronous character is received. Character assembly begins on the rising edge of the receive clock immediately preceding the activation of /SYNC. . In the Internal Synchronization mode (Monosync and Bisync) with the crystal oscillator not setected, these pins act as outputs and are active only during the part of the receive clock cycle in which synchronous characters are recognized. This synchronous condition is not latched, so these outputs are active each time a synchronization pattern is recognized (regardless of character boundaries) . In SDLC mode, these pins act as outputs and are valid on receipt of a flag. TxDA, TxDB. Transmit Data (outputs, active High). These output signals transmit serial data at standard TTL levels. PCLK. Clock (input). This is the master SCC clock used to synchronize internal signals. PCLK is a TTL level signal. PCLK is not required to have any phase relationship with the master system clock. 309 PIN DESCRlfJTION (Continued) fTRxCA, /TRxCB. Transmit/Recei'lte Clocks (inputs or outputs, active low). These pins-can be programmed in several different modes of operation. TRxe may supply the receive clock Qr the transmit clock in the input mode or supply the output of the Digital Phase-Locked loop, the crystal oscillator, the baud rate generator, or the transmit clock in the output mode. twliREOA,twIlREOB. Walt!Request(outputs, open-drain when programmed for a Wait function, driven High or Low when programmed for a Request function). These dualpurpose outputs may be programmed as Request linos for a DMA controller or as Wait lines to synchronize the epu to the see data rate. The reset state is Wait. cycle, this signal.gates the interrupt vector onto the bus ii the see is the highest priority device. requesting an interrupt. twA. Write (input, active Low). When the see is selected, . this signal indicates a write operation. The coincidence of IRD and twR is interpreted as a reset. Z80cao AD7-ADO. Address/Data Bus (bidirectional, active High, 3-state) These multiplexed lines carry register addresses to the see as well as data or control information. lAS. Address Strobe (input, active Low). Addresses on AD7-ADO are latched by the rising edge of this signal. Z85C30 NIB. Channel AlChannel B (input) This signal selects the channel in which the read or write operation occurs. 'ICE. Chip Enable (input, active Low). This signal selects the see for a read or write operation. 1050. Chip Select 0 (Input, active Low). This signal is latched concurrently with the. addresses on AD7-ADO and must be active for the intended bus transaction to occur. 07-00. Data Bus (bidirectional, 3-state) These lines carry data and command to and from the see. 1051. Chip Select 1 (input, active High). This second select signal must also be active before the intended bus transaction can occur. eS1 must remain active throughout the transaction. OIlC. Data/Control Select (input). This signal defines the type of information transferred to or from the see. A High means qata is transferred; a low indicates a command. IDS. Data strobe (input, active Low) This signal provides tlming.forthe transfer of data into and out of the see. If lAS and IDS coincide, tl:lis is interpreted as a reset. ' IRO. Read(input, active Low). This signal indicates a read operation and when the see is selected, enables the See's bus drivers. During the Interrupt Acknowledge Rltw. Read/Write(input). 'fhis signal specilies whether the operation to be performed is a read or a write. , FUNCTIONAL DESCRIPTION· The architecture of the see is·described from two points of view: as a datacommunications device which transmits and receives data in a wide variety of protocols; as a microprocessor peripheral in which the see offers valu- . able features such as vectored interrupts and DMA support. 310 The see's peripheral and datacommunication are described in the following sections. A block diagram is shown in Figure 1. The details of the communications between the receive and transmit logic to the system bus is shown in Figures 8 and 9. The features and data path for each of the see's A and B channels is identical. See the see Technical Manual for full details on using the see. Internal Data Bus To other Channel TXFIFO 1 Byte TXD Transmit 1----...::::='-"1 MUX & 2-Bit I--i~-I'" r---~L-__D~el~aY~-l ~~----~ '---------+ Transmit Clock From Receiver Figure 8. see Transmit Data Path CPUVO I~~-I In!ernal Data Bus BRG BRG Output Input Hunt Mode (BISYNC) ,- - - - - - - ---I DPLJ. IN RXD '-_ _ _ _ _ _ _ _---<~ To Transmit Section Figure 9. See Receive Data Path 311 FUNCTIONAL DESCRIPTION (Continued) 1/0 Interface Capabilities There are three choices to move data into and out of the . SCC: Polling"interrupt (vectored and non-vectored), and Block Transfer. 'The Block Transfer mode can be impleSystem communication to and from the SCC is done mented under CPU or OMA control. through the SCC's register set. There are sixteen write registers and eight read registers. Table 1 lists all, of the SCC's registers and a brief description of their lunctions. Polling Throughout this document, the write and read registers are When polling, all interrupts are.disabled. Three status registers in the SCC are automatically updated whenever referenced with the following notation' "WR" for Write . any function is performed For example, End-Ol-Frame in Register and "RR" for Read Register. For example: SOLe mode sets a bit in one of these s,tatus registers. The purpose of polling is lor the CPU to periodically read a WR4A Write Register 4 for channel A status register until the register contents indicare the need RR3 Read Register 3 loreitherlboth channels for data to be transferred. Only one register needs to be read; depending on its contents, the CPU either writes Table 1. see Read and Write Registers data, reads data, or continues. Two bits in the register Read Register Functions indicate the need for data transler. An alternative is a poll of the Interrupt Pending register to determine the source of RRO TransmiVReceive buffer status and External status an interrupt. The status for both channels resides in one RRl Special Receive Condition status register. , RR2 Modified interrupt vector (Channel B only) Unmodified interrupt vector (Channel Aonly) Interrupts The SCC's interrupt structure supports vectored and nested Interrupllilndlng bits (Channel Aonly) RR3 interrupts. Nested interrupts are supported with the interRRB Receive Buffer rupt acknowledge feature (lINTACK pin) of the SCC. This RRlO Miscellaneous status allows the CPU to recognize the'occurrence of an interrupt, RR12 lower byte 01 baud f\lte generator time constant and re-enable higher priority interrupts. Because an INTACK RR13 Upper byte 01 baud rate generator lime constant cycle will release the liNT pin from the active state, a higher RR15, External/Status interrupt information priority SCC interrupt or anotherlligher priority device can interrupt the CPU. When an SCC responds to an Interrupt Acknowledge signal (INTACK) from the CPU, an interrupt vector can be placed on the data bus. This vector is written .Write Register Functions in WR2 and may be read in·RR2. To speed interrupt response time, the SCC can modify three bits in this vector WRO CRC initialize, initialization commands for the various modes, to indicate status. If the vector is re?d in Channel A, status Register'Pointers. is never included; if it is read in Channel B, status is always WRl TransmiVReceive interrupt and data transfer mode definition included. . WR2 Interrupt vector (accessed through either channel) , Receive parameters and control ' WR3 Each of the six sources of interrupts in the SCC (Transmit, WR4 TransmiVReceive miscellaneous parameters and modes Receive, and Extemal/St~tus interrupts in both channels) has three bits associated with the interrupt source: InterWR5 Transmit parameters and controls rupt Pending (IP), Interrupt Under Service (IUS), and WR6 Sync characters or SOlC address field Interrupt Enable (IE). Operation of the IE bit is straightforWR7 Sync character or SOle flag ward. lithe IE bitis settor a given interrupt source, then that source can request interrupts. The 'exception is when the WRB Transmit buffer MIE (Master Interrupt Enable) bit in WR9 is reset and no WR9 Master interrupt control and reset (accessed through interrupts can be requested. The IE bits are write only. either channel) WRl0 WR11 WR12 Miscellaneous transmitter/receiver control bits Clock mode control lower byte of baud rate generator time ~onstant WR13 WR14 WR15 Upper byte of baud rate generator time constant Miscellaneous control bits External/Status interrupt control 312 The other two bits are related to the interrupt priority chain (Figure 10). As a microprocessor peripheral. the SCC may request an interrupt only when no higher priority device is requesting one, e.g., when lEI is High. If the device in question requests an interrupt, it pulls down II NT. The CPU then responds with liNTACK, and the interrupting device places the vector on the data bus. Peripheral Peripheral Peripheral nNT nNTACK +5V 07-00 liNT C:===--'=~=~====~=~=::::====:J +------+---1---------+---1---------4---1---1 IINTACK Figure 10. see Interrupt Priority Schedule The SCC can also execute an interrupt acknowledge cycle through software. In some CPU environments it is difficult to create the /INTACK signal with the necessary timing to acknowledge interrupts and allow the nesting of interrupts. In these cases, the /INT ACK signal can be created with a software command to the SCC. In the SCC, the Interrupt Pending (IP) bit signals a need for interrupt servicing. When an IP bit is 1 and the lEI input is High, ttle /INT output is pulled Low, requesting an interrupt In the SCC, if the IE bit isn't set by enabling interrupts, then the IP for that source is never set. The IP bits are readable in RR3A. The IUS bits signal that an interrupt request is being serviced. If an IUS is set, all interrupt sources of lower priority in the SCC and external to the SCC are prevented from requesting interrupts The internal interrupt sources are inhibited by the state of the internal daisy chain, while lower priority devices are inhibited by the lEO output of the SCC being pulled Low and propagated to subsequent peripherals. An IUS bit is set during an Interrupt Acknowledge cycle if there are no higher priority devices requesting interrupts. There are three types of interrupts: Transmit, Receive, and External/Status. Each interrupt type is enabled under program control with Channel A having higher priority than Channel B, and with Receiver, Transmit, and External/ Status interrupts prioritized in that order within each channel. Interrupt on First Character or Special Condition and Interrupt on Special Condition Only are typically used with the Block Transfer mode. A special Receive Condition is one of the following: receiver overrun, framing error in Asynchronous mode, end-of-frame in SOLC mode and, optionally, a parity error. The Special Receive Condition interrupt is different from an ordinary receive character available interrupt only by the status placed in the vector during the Interrupt Acknowledge cycle. In Interrupt on First Receive Character, an interrupt occurs from Special Receive Conditions any time after the first receive character interrupt. The main function of the External/Status interrupt is to monitor the signal tranSitIons of tile /CTS, /OCO, and /SYNC pins,. however, an External/Status interrupt is also caused by a Transmit Underrun condition; a zero count in the baud rate generator; by the detection of a Break (Asynchronous mode), Abort (SOLC mode) or EOP (SOLC Loop mode) sequence in the data stream. The interrupt caused by the Abort or EOP has a special feature allowing the SCC to interrupt when the Abort or EOP sequence is detected or terminated. This feature facilitates the proper termination of the current message, correct initialization of the next message, and the accurate timing of the Abort condition in external logic in SDLC mode. In SOLC Loop mode, this feature allows secondary stations to recognize the primary station wishes to regain control of the loop during a poll sequence. Software Interrupt Acknowledge When enabled, the receiver can interruplthe CPU in one of three ways: 1. Interrupt on First Receive Character or SpeCial Receive Condition. 2. Interrupt on All Receive Characters or Special Receive Conditions. The SCC interrupt acknowledge cycle can be initiated through software. If Write Register 9 (WR9) bit 05 is set, Read Register 2 (RR2) results in an interrupt acknowledge cycle to be executed internally. Like a hardware INT ACK cycle, a software acknowledge causes the INT pin to return high, ttle lEO pin to go low and set the IUS latch for the highest priority interrupt pending. 3. Interrupt on Special Receive Conditions Only. 313 FUNCTIONAL DESCRIPTION (Continued) Request bits in WR 1. The /WAIT//REQU~ST output can be defined under software control as a WAIT line In the CPU Block Transfer mode or as a REQUEST line in the OMA Block Transfer mode. Similar to when the hardware INTACK signal can be used, a software acknowledge cycle requires that a Reset f Jighest IUS command be issued in the interruptservice,routine, Whenever an interrupt acknowledge cycle is used, hardware or software, a reset highest IUS command is required. If RR2 is read from channel A, the unmodified vector is retumed. If RR2 is read from channel B, then the vector is modified to indicate the source of the interrupt. The Vector Includ~s Status (VIS) and No Vector (NV) bits in WR9 are ignored when bit 05 is set to 1. To a OMA controller, the SCC REQUEST output indicates that the SCC is ready to transfer data to or from memory. To the CPU, the WAIT line indicates tllat the ESCC is not ready to transfer data, thereby requesting that the CPU extend the I/O cycle. The /DTR//REQUEST line allows fullduplex operation under OMA control. When the INTACK and lEI pins are not being used, they should be pulled up to Vee through a resistor (10 kohm typical). sec Data Communications Capabilities see The provides two independent full-duplex programmable channels for use In any common asynchronous or ; synchronous data communication protocols (Figure 11). Each of the datacommunication channels has Identical features and capabilities. CPUlOMA Block Transfer. The SCC provides a Block Transfer mode to accommodate CPU block transfer lunctions and OMA Controllers The Block Transfer mode used the /WAIT/IREQUEST output in conjunction with the Wait! Parity !r Slart + II Marking Una Data Slop II II i Data II II Data II Marking Una Asynchronous SYNC Data :~ Data CRCl CRC2 ~~ Data CRCl CRC2 :~ Data CRCl CRC2 CRCl CRC2 Monosync SYNC SYNC Data Signall Bisync Data External Sync Rag I· Address Inlonnation :~ Inlonnalion SOLC/HDLC/X.25 Figure 11. Some SCC Protocols 314 Flag Asynchronous Modes Send and Receive is accomplished independently on each channel with five to eight bits per character, plus optional even or odd parity. The transmitters can supply one, one-and-a-half, or two stop bits per character and can provide a break output at any time. The receiver breakdetection logic interrupts the CPU both at the start and at the end of a received break. Reception is protected from spikes by a transient spike-rejection mechanism that checks the signal one-half a bit time after a Low level is detected on the receive data input (RxDA or RxDB pins). If the Low does not persist (e.g., a transient), the character assembly process does not start. The SCC does not require symmetric transmit and receive clock signals - a feature allowing use of the wide variety of clock sources. The transmitter and receiver handle data at a rate supplied to the receive and transmit clock inputs. In Asynchronous modes, the SYNC pin may be programmed as an input used for functions such as monitoring a ring indicator. Synchronous Modes The SCC supports both byte-oriented and bit-oriented synchronous communication. Synchronous byte-oriented protocols are handled in several modes. They allow character synchronization with a 6-bit or 8-bit sync character (Monosync), and a 12-bit or 16-bit synchronization pattern (Bisync), or with an external sync signal. Leading sync characters are removed without interrupting the CPU. Framing errors and overrun errors are detected and buffered together with the partial character on which they occur. Vectored interrupts allow fast servicing or error conditions using dedicated routines. Furthermore, a builtin checking process avoids the interpretation of a framing error as a new start bit: a framing error results in the addition of one-half a bit time to the point at which the search for the next start bit begins. Five or 7-bit synchronous characters are detected with 8- or 16-bit patterns in the SCC by overlapping the larger pattern across multiple incoming synchronous characters as shown in Figure 12. 7Bils I I II I SYNC I. I SYNC SYNC Oala Data Data Data I 8 I 16 Figure 12. Detecting 5- or 7-Bit Synchronous Characters CRC checking for Synchronous byte oriented modes is delayed by one character time so that the CPU may disable CRC checking on specific characters. ThiS permits the implementation of protocols such as IBM Bisync. Both CRC-16 (X16 + X15 + X2 + 1) and CCITT (X16 + X12 + X5 + 1) error checking polynomials are supported. Fither polynomial may be selected in all Synchronous modes. Users may preset the CRC generator and checker to all 1's· or all O's. The SCC also prov)des a feature that automatically transmits CRC data when no other data is available for transmission. This allows for high speed transmissions under DMA control, witt), no need for CPU intervention at the end of a message. When there is no data or enc to send in Synchronous modes, the transmitter inserts 6-,8-, or 16-bit'sync characters, regardless of the programmed character length. SOLe Mode The SCC supports Synchronous bit-oriented protocols, such as SDLC and HDLC, by performing automatic flag sending, zero insertion, and CRC generation. A special command is used to abort a frame in transmission. At the end of a message, the SCC automatically transmits the CRC and trailing flag when the transmitter underruns. The transmitter may also be programmed to send an idle line consisting of continuous flag characters or a steady marking condition. If a transmit underrun occurs in the middle of a message, an external/status interrupt warns the CPU of this status change so that an abort can be issued. The SCC may also be programmed to send an abort itself in case of an underrun, relieving the CPU of this task. One to eight bits per character can be sent, allowing reception of a message with no prior information about the character structure in the information field of a frame. 315 '~'h," FUNCTIONAL DESCRIPTION (Continued) The receiver automatically acquires synchronization on the leading flag of a frame in SOLC or HOLC and provides a synchronization signal on the /SYNC pin (an interrupt can also be programmed). The receiver can be programmed to search for frames addressed by a single byte (or four bits within a byte) of a user-selected address or to a global broadcast adClress. In this mode, frames not matching either the user-selected or broadcast address are ignored. The number of address bytes are extended under software coritrol. For receiving data, an interrupt on the first received character, or an interrupt on every character, or on special condition only (end-of-frame) can be selected. The receiver automatically deletes all O's Inserted by the transmitter during character assembly. CRC is also calculated and is automatically checked to validate frame transmission. At the end of transmission, the status of a received frame is available in the status registers. In SOLC mode, the SCC must be progra(l1med to use the SOLC CRC polynomial, but the generator and checker may be preset to all 1's or aILO's. The CRC is inverted before transmission and the receiver checks againstthe bit pattern 000111 01 00001111. NRZ, NRZI or FM coding may be used in any 1x mode. The parity options available in Asynchronous modes are available in Synchronous modes. SOLe Loop Mode. The SCC supports SOLC Loop mode in addition to normal SOLC. In an SOLC Loop, there is a primary controller station that manages the message traffic flow on the loop and any number of secondary stations. In SOLC Loop mode, the SCC performs the functions of a secondary station while an SCC operating in regular SOLC mode acts as a controller (Figure 13). SOLC loop mode can be selected by setting WR10 bit 01. A secondary station in an SOLC Loop is always listening to the messages being sent around the loop and, in fact, passes these messages to the rest of the loop by retransmitting them with a one-bit-time delay. The secondary station places its own message on the loop only at specific times. The controller signals that secondary stations can transmit messages by sending a special character, called an EOP (End Of Poll), around the loop The EOP character is the bit pattern 11111110. Because of zero insertion durillg messages, this bit pattern IS unique and easily recognized. When a secondary station has a message to transmit and recognizes an EOP on the line, it changes the last binary 1 of the EOP to a 0 before transmiSsion. This has the effect of turning the EOP into a flag sequence. The secondary station now places its message on the loop and terminates the message with an EOP. Any secondary stations further down the loop with messages to transmit appends their messages to the message of the first secondary station by the same process. Any secondary stations without messages to send merely echo the incoming message and are prqhibited from placing messages on tile loop (except upon recognizing an EOP). In SOLC Loop mode, NRZ, NRZI, and FM coding may all be used. The SCC's ability to receive high speed back-ta-back SOLC frames is maximized by a 10- deep by 19-bil wide status FIFO. When enabled (through WR 15, bit 02), it provides the OMA the ability to continue to transfer data into memory so that the CPU can examine the message later. For each SOLC frame, a 14-bit byte count and 5 status/error bits are stored. The byte count and status bits are accessed through Read Registers 6 and 7. Read Registers 6 and 7 are only acceSSible when the SOLC FIFO is enabled. The 10x19 status FIFO is separate from the 3-byte receive data FIFO. Baud Rate Generator Each channel in the SCC contains a programmable baud rate generator. Each generator consists of two 8-bit time constant registers that form a 16-bit time constant, a 16-bit down counter, and a flip-flop on the output producing a square wave. On startup, the flip-flop on the output is set in a High state, the value iri the time consrant register is loaded into the counter, and the counter starts counting down. The output of the baud rate generator toggies upon reaching 0, the value in the time constant register is loaded into the counter, and the process is repeated. The time constant may be changed at any time, but tile new value does not take effect until the next load of the counter. J Figure 316 13. An SOLe Loop The output of the baud rate generator may be used as either the transmit clock, the receive clock, or both. It can also drive the Digital Phase-Locked Loop (see next section). If the receive clock or transmit clock is not programmed to come from the TRxC pin, the output of the baud rate generator may be echoed out via the TRxC pin. The following formula relates the time constant to the baud rate where PCLK or RTxC is the baud rate generator input frequency in Hertz. The clock mode is 1, 16, 32, or 64, as selected in Write Register 4, bits D6 andD7. Synchronous operation modes should select 1 and Asynchronous should select 16, 32 or 64. Time Constant PCLK or RTxC Frequen~y -2 2(Baud Rate)(Clock Rate) Digital Phase-Locked Loop The SCC contains a Digital Phase-Locked Loop (DPl L) to recover clock information from a data stream with NRZI or FM encoding. The DPLL is driven by a clock that is nominally 32 (NRZI) or 16 (FM) times the data rate The DPLL uses this clock, along with the data stream, to construct a clock for the data. This clock is then used as the SCC receive clock, the transmit clock, or both. When the DPLL is selected as the transmit clock source, it will provide a jitter free clock output that is the DPLL input frequency divided by the appropriate divisor for the selected encoding technique. For NRZI encoding, the DPLL counts the 32x clock to create nominal bit times. As the 32x clock is counted, the DPLL is searching the incoming data stream for edges (either 1 toO, orO to 1). Whenever an edge is detected, the DPLL makes a count adjustment (during the next counting Data cycle), producing a terminal count closer to the cenler of the bit cell. For FM encoding, the DPLL still counts from 0 to 31, but with a cycle corresponding to two bit times. When the DPLL is locked, the clock edges in the data stream should occur between counts 15 and 16 and between counts 31 and 0 The DPLL looks for edges only during a time centered on the 15 to 16 counting transition. The 32x clock for the DPLL can be programmed to come from e.ither the RTxC input or the output of the baud rate generator. The DPLL output may be programmed to be echoed out of the SCC via the TRxC pin (if IIlis pin is not being used as an input). Data Encoding The SCC may be programmed to encode and decode the serial data in four different ways (Figure 14). In NRZ encoding, a 1 is represented by a High level and a 0 is represented by a Low level. In NRZI encoding, a 1 is represented by no change in level and a 0 is represented by a change in level. In FM1 (more properly, bi-phase mark), a transition occurs at the beginning of every bit cell A 1 is represented by an additional transition at the center of the bit cell and a 0 is represented by no additional transition at the center of the bit cell. In FMO (bi-phase space), a transition occurs at the beginning of every bit cell. A 0 is represented by an additional transition at the center of the bit cell, and a 1 is represented by no additional transition at the center of the bit cell. In addition to these four methods, the SCC can be used to decode Manchester (bi-ptJase level) data by uSing the DPLL in the FM mode and programming the receiver for NRZ data. Manchester encoding always produces a transition at the center of the bit cell: If the transition is 0 to 1, the bit is a O. If the transition is 1 to 0, the bit is a 1. 0 NAZ \ NAZI \ 0 0 / / \ \ FM1 FMO Manchester Figure 14. Data Encoding Methods 317 FUNCTIONAL DESCRIPTION (Continued) Auto Echo and Local Loopback The SCC is capable of automatically echoing everything it receives. This feature is useful mainly in Asynchronous modes, but· works in Synchronous and SOLC modes as well. Auto Echo mode (T xO is RxO) is used with NRZI or FM encoding with' no additional delay because the data stream is not decoded before retransmission. In Auto Echo mode, the ICTS input is ignored as a transmitter enable (although transitions on this input can still'cause interrupts if programmed to do so). In this mode, the transmitter is actually bypassed and the programmer is responsible for disabling transmitter interrupts and /WAIT/JREQUEST on transmit. checker is automatically reset in preparation for the next frame which can begin immediately. Since the byte count and status are saved for each frame, the message integrity is venfied at a later time. Status inlormation for up to 10 frames is stored before a status FlrO overrun can occur. If a frame is terminated with an ABORT, the byte count is loaded to the status FIFO and the counter reset for the next frame. FIFO Detall For a better understanding of details of the FIFO operation, refer to the block diagram in Figure 15. The SCC is also capable of localloopback. In this mode; Enable/Disable TxO or RxO is just like Auto Echo mode. However, in Local This FIFO is implemented so that ifis enabled when WR15, Loopback mode the internal transmit data is lied to' the , bit 02, is set and the SCC is in the SOLC/HOLC mode. internal receive data and RxO is ignored (except to be Otherwise, the status register contents bypass the FIFO and go directly to the bus interface (the FIFO pointer logic echoed out via TxO). The ICTS and lOCO inputs are also ignored as transmit and receive enables. However, transiis reset either when disabled or via a channel or power-on reset). When the FIFO mode is disabled, the SCC is tions on these inputs can still cause interrupts. Local Loopback works in Asynchronous, Synchronous and SOLC completely downward compatible with the NMOS Z8530. modes with NRZ, NRZI or FM coding of the data stream. rhe FIFO mode is disabled on power-up (WR15 02 is set to 0 on reset). The effects of backward compatibility on the SOLe FIFO Frame Status FIFO Enhancement register set are that RR4 is an image of RRO, RR5 is an The SCC's ability to receive high speed back-ta-back image of RR 1, RR6is an image of RR2 and RR7 is an image of RR3. For the details of the added registers, refer to SOLC frames is maximized by a 10- deep by 19-bit wide status FIFO. When enabled (through WR 15, bit Figure 18. The status of the FIFO Enable signal is obtained by reading RR15, bit 02. lithe FIFO is enabled, the bit will 02), it provides the OMA the ability to continue to transfer be set to 1; otherwise, it will be reset. data into memory so that the CPU can examine the message later. For each SOLC frame, a 14-bit byte count and 5 statuslerror bits are stored. The byte count and status Read Operation bits are accessed through Read Registers 6 and 7; I{ead When WR 15 bitD2 is set and the FIFO is not empty, the next read to status register RR 1 or the additional registers RR7 Registers 6 and 7 are only accessible when the SOLC FIFO is enabled. The 10x19 status FIFO is separate from the and RR6, are from the FIFO. Reading status register RR1 3-byte receive data FIFO. causes one location of the FIFO to be emptied, so status is read after reading the byte count, otherwise the count is When the enhancement is enabled, the status in read incorrect. Before the FIFO underflows, it is disabled. In this register 1 (RR 1) and byte count for the SOLC frame are case, the multiplexer is switched to allow status to read stored in the 10 x 19 bit status FIFO. This allows' the DMA directly from the status register and reads from RR7 and controller to transfer the next frame into memory while the RR6 contain bits that are undefined. Bit 06 of RR7 (FIFO Oata Available) is used to determine if status data is CPU verifies that the message was properlyreceived. coming from the FIFO or directly from the status register, since it is set to 1 whenever the FIFO is not empty. Summarizing the operation; data is received, assembled, and loaded into the eight byte FIFO before being transferred to memory by the OMA controller. When a IIag is Since not all status bits are stored in the FIFO, the All Sent, received at the end of an SOLC frame, the frame byte count Parity, and EOF bits bypass the FIFO. The status bits sent through the FIFO are Residue Bits (3), Overrun, and from the 14-bit counter and five status bits are loaded into CRC'Error. the status FIFO for verification by the CPU. The CRC 318 Frame Status FIFO Circuitry RRl ~ Reset on Flag Detect SCC Status Reg Residue Bits(3) Overrun; CRC Error Byte Counter ~ Increment on Byte Detection ~ Enable Count in SOLC I 5 Bits . 10- End 01 Frame Signal Status Read Comp 14 Bits FIFO Array 10 Deep by 19 Bits Wide 4- Tail Pointer 4-Bit Counter +-- Head Pointer 4-Bit Counter I r--- 4-Bit Comparator 5 Bits ~ . Jnteriace toSCC • 2 Bits Over i S-Bit MUX i EOF = 1 10- SBits 10- SBIIs ...---. /£ .. SBits RRl Equal 'EN L-.. , Bil7 Bi:S 7 Bi,+5-0 S t ~ , t I RR7 OS-DO + RRS 07 - DO Byte Counter Contains 14 bits lor a lS KByte maximum count. Rffi11. WR(15) Bit 2 Set Enables Status FIFO RR7DS FIFO Data available status bit Status Bit set to 1 When reading from FIFO. RR7D7 FIFO Overflow Status Bit MSB pi RR(7) is set on Status FIFO overflow ... In SOLC Mode the follOWing definitions apply. - All Sent bypasses MUX and equals contents of sec Status Register. - Parity Bits bypasses MUX and does the same. - EOF is set to 1 whenever reading from the FIFO. Figure 15. SOLe Frame Status FIFO 319 FUNCTIONAL DESCRIPTION (Continued) 1 he sequence for proper operation of the byte count and FIFO logic is to read the registers in the following order: RR?, RR6, and RR1 (reading RR6 is optional). Addilional logic prevents the FIFO from being emptied by multiple reads from RR 1. The read from RR? latches the FIFO empty/full status bit (06) and steers the status multiplexer to read from the see megacell instead of the status FIFO (since thestatlJs FIFO is empty). The read from RR1 allows an entry to be read from the FIFO (if the FIFO was empty, logic was added,to prevent a FIFO underflow condition). Internal Byte Strobe Increments Counter Intemal Byte Strobe Increments Counter Oon't Load Counter On 1st Flag Reset Byte Counter Here Write Operation . When the end of an SOLe frame (EOF) has been received and the FIFO is enabled, the contents of ttle status and byte-count registers are loaded into the FIFO. Tile EOF signal is used to increment the FIFO. If the FIFO overflows, the RR? bit 07 (FIFO Overflow) is set to indicate the overflow. This bit and the FIFO control logic is reset by disabling and re-enabling the FIFO control bit (WR15 bit 02). For details of FIFO control timing during an SOLe frame, refer to Figure 16. Reset Byte Counter Load Counter Into FIFO and Increment PTR Reset Byte Counter Reset Byte Counter Load Counter Into FIFO And Increment PTR Figure 16. SDLC Byte Counting Detail PROGRAMMING The see contains write registers in each channel that are programmed by the system separately to configure ttle functional personality of the channels. Z85C30 In the see, the data registers are directly addressed by selecting a High on the D//e pin. With all other registers (except WRO and RRO), programming the write registers requires two write operations and reading the read registers requires both a write and a read operation. The first write is to WRO and contains three bits that point to the selected register. The second write is the actual control word for the selected register, and if the second operation is read, the selected read register is accessed. AU of the see registers, including the data registers, may be accessed in this fashion. The painter bits are automatically cleared aftar the read or write operation so that WRO (or RRO) is addressed again. Z80C30 All see registers are directly addressable. How the see decodes the address placed on the address/data bus at the beginning of a Read or Write cycle is controlled by a command issued in WROB. In the Shift flight mode the 320 cllannel select AlB is taken from ADO and tile state of AD5 is ignored. In the Shift Left mode the cllannel select AlB is taken from AD5 and the state of ADO is ignored AD? and AD6 are always ignored as address bits and the register address itself occupies AD4-AD1. Z85C30/Z80C30 Setup Initialization. The system program first issues a series of commands to initialize the basic mode of operation. This is followed by other commands to qualify conditions within the selected mode. For example, in the Asynchronous mode, character length, clock rate, number of stop bits, and even or odd parity should be set first. Then the interrupt mode is set. and finally, the receiver and transmitter are enabled. Write Registers. The see contains 15 write registers (16 counting the transmit. buffer) in each channel. Tilese write registers are programmed separately to configure the functional "personality" of the channels. There are two registers (WR2 and WR9) shared by the two channels that are accessed through either of them. WR2 contains the interrupt vector for both channels, while WR9 contains the interrupt control bits and reset commands. Figure 1? shows the format of each write register. Write Register 0 (non-muftlplexed bus mode) Write Register 3 1~loolool~lool~lmlool I I I 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 o o 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 AX Enable Register 0 Register 1 Register 2 Register 3 Register 4 Register 5 Register 6 =~:::;~ Register 9 Register 10 Register 11 Register 12 Register 13 Register 14 Register 15 Sync Character Load Inhlb~ Add_ search Mode (SOLC) RxCACEnable Enter Hunt Modo } Auto Enables • o o 0 1 1 0 1 1 Rx Rx AX AX 5 Bits/Character 7 BalCharactor 6 Bits/Character 8 BltslCharacter Write Register 4 0 0 0 Null Code 0 0 1 PolnlHlgh 0 1 0 Resel ExI/SIaIus Internlp'" 0 1 1 send Abort (SOLC) 1 0 0 'Enable Int on Next Rx Character 1 0 1 Resel Tx Inl Pendlng 1 1 0 Error Reset 1 1 1 Reset Highest IUS NuliCode Reset Rx CRC Checker Reset Tx CRe Generator Reset Tx UndernlnlEOM Latch Parity Enable Parity EVEN/IODD o o 0 1 1 0 1 112 Slop BltslCharacter 1 2 Slop BitslCharacter 1 Sync Modes Enable 1 Slop Bit/Character • With Point High Command o 0 1 1 0 1 1 o ~ 0 0 1 1 0 1 0 1 Ext Int Enable Tx Int Enable o o 1 1 8-8it ~ync Character 16-B~ Sync Character SOLC Modo (01111110 Flag) Extomal Sync Modo ~ ~16C~~ o 1 X32 Clock Modo X64CIoc:kModo ParIty Is SpecIal Cond~lon AX Int Disable Rx Int On First Ch aracter or Special Condition Int On All Rx Characters or Special Condition AX Int On Special Condltlon Only Write Regisler5 WAITIDMA Request On Tx CAC Enable Recelvelrrransm~ RTS IWArTlDMA Request FUnction ISDLCICRC-16 WAITIDMA Request Enable Tx Enable sendB",ak Write Register 2 o o 1 1 0 Tx 5 BiIs(Or less)ICharacter 1 0 1 Tx 7 BitslCharacter Tx 6 BitslCharacler Tx 8 BitslCharacbor DTR Internlpt Vector V4 V5 V6 V7 Figure 17. Write Register Bit Functions 321 --~~--------------- .............. '_. PROGRAMMING (Continued) Write Register 6 Sync7 Sync1 Sync7 Sync3 ADR7 ADR7 Sync6 SyncO Sync6 Sync2 ADR6 ADR6 SyncS SyncS SyncS Sync1 ADRS ADRS Sync4 Sync4 Sync4 SyncO ADR4 ADR4 Sync3 Sync3 Sync3 1 ADR3 Sync2 Sync2 Sync2 1 ADR2 Sync1 Sync1 Sync1 1 ADR1 SyncO SynoO SyncO 1 ADRO Monosync, 8 Bits Monosync, 6 Bits Bisync, 16 Bits Bisync, 12 Bits SDlC SDlC (Address Range) Write Register 7 Syno7 SyncS SyncS SyncS Sync4 Sync3 Sync1S Sync14 Sync13 Sync11 Sync10 Sync9 Sync4 Sync2 Sync12 SyncS 1 1 o 1 Syn03 Sync2 Sync1 Sync1 SyncO x Sync11 Sync10 Sync9 Sync7 SyncS SyncS SyncO x SyncS Sync4 1 0 1 1 Monosync, 8 Bits Monosync, 6 Bits Bisync, 16 Bits Bis~ync, 12 Bits SDlC Write Register 9 Software INTACK Enable o 0 o 1 0 1 1 1 No Reset Channel Reset B Channel Reset A Foroe Hardware Reset Figure 17. Write Register Bit Functions (Conlinlled) 322 Wr~e Register 10 o o 1 1 Write Register 13 6-Bitl/8-Btt Sync TC8 Loop Mode TC9 AbortllFlag On Under",n TC10 MarkllFlag Idle TC11 Go Active On Poll TC12 Upper Byte of Time Constant TC13 0 1 0 1 NAZ' NAZI FMl (Transttion = 1) FMO (Transttion = 0) TC14 TC15 CRC Preset 1110 Write Register 14 Write Register 11 SR Generator Enable I I 0 0 1 1 0 1 0 1 SR Generator Source rrRxCO/1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 IOTR/Request Function fTRx C Out = Xtal Output fTRxC Out = Transmit Clock fTRx C Out = BR Genemtor Output fTRx C Out =DPLL Output Transmit Clock =IR TxC Pin Transmit Clock =rrRxC Pin Transmit Clock == BR Generator Output Transmit Clock =D PLLOutput Receive Clock = IRTxC Pin Receive Clock =rrRxC Pin Receive Clock = BR Genemtor Output Receive Clock =DPLL Output Auto Echo Local Loopback 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 1 1 1 0 1 0 1 Null cOmmand Enter Search Mode Reset Missing Cloek Disable DPLL Set Source ... SR Generator Set Source ... IRTxC SetFM Mode Set NAZI Mode Wrne Raglster 15 IRTxC XtailiNo Xtal ~ ~ ~ Write Register 12 TCO :erocountlE SDLC FIFO Enable DCDIE TCI SynclHunt IE TC2 CTSIE TC3 lower Byte of Tx UnderrunlEOM IE TC4 Time Constant Break/Abort IE TC5 TC6 TC7 Figure 17. Write Register Bit Functions (Continued) 323 PROGRAMMING (Contin'ued) Read Registers. The SCC contains ten read registers (eleven, counting the receive buffer (RR8) in each chanmil). Four of these may be read to obtain status information (RRO, RR1, RR1O, and RR15). Two registers (RR12 and RR 13) are read to learn the baud rate generator time constant. RR2 contains either the unmodified interrupt Read Register 0 vector (Channel A) or the vector modified by status.information (Channel B). RR3 contains the Interrupt Pending (IP) bits (Channel A only). RR6 and RR7 contain the information in the SOLC Frame Status FIFO, butis only read' when WR 15 02 is set (Figure 18). Read Register 3 Rx Character Available Channel B ExtlStatus IP } Zero Count Channel B Tx IP Tx Buffer Empty Channel B Rx IP OCO Channel A Ext/Status IP Sync/Hunt Channel A Tx IP CTS Channel A Rx IP Tx UnderrunlEOM 0, Break/Abort o • Always 0 In B Channel Read Register 1 , Read Register 10 All Sent Residue Code 2 Residue Code 1 Residue Code 0 Parity Error Rx Overrun Error CRClFramlng Error o End of Frame (SOLC) Two Cloc;ks Missing One Clock Missing Read Register 2 Read Register 12 Interrupt V4 Vector * LowerByIe of lime Constant V5 V6 TC5 V7 TC6 TC7 • Modified In B Channel Figure 18. Read Register Bit Functions 324 • Read Register 13 Read Register 15 ~ , II ~~-. TC8 TC9 ~=" TC10 TC11 Upper Byte of TIme Constant TC12 SyncIHunt tE TC13 CTSIE TC14 Tx UnderrunlEOM IE TC15 Break/Abort IE Figure 18. Read Register Bit Functions (Continued) Z85C30 Timing The SCC generates internal control signals from the IWR and IRO that are related to PCLK. Since PCLK has no phase relationship with /WR and IRO. the circuitry generating the internal control signals provides time for metastable conditions to disappear. This gives rise to a recovery time related to PCLK. The recovery time applies only between bus transactions involving the SCC 1 he recovery time required for proper operation is specified from the falling edge ol/WR or IRO in the first transaction involving the SCC to the falling edge of /WR or IRO in the second Al/B,DIIC IINTACK ICE IRD 07-00 __________ transaction involving tile SCC This time must be at least 4 PCLKs regardless of Wllich register or channel is being accessed. Read Cycle Timing , Figure 19 illustrates Read cycle timing. Addresses on Al/B and OIlC and the status on IINTACK must remain stable throughout the cycle. If ICE falls after IRD falls. or if it rises before IRD rises. the effective/RD is shortened. J~~_________________A_d_d_re_s_S_v_a_lid____________________J~~______ J \_I \ \ 1 _ _ _ _ _ _--J x ---------------------------c(,,_________ Data Valid »0--------------- Figure 19. Read Cycle Timing 325 PROGRAMMING (Continued) Write Cycle Timing Figure 20 illustrates Write cycle timing. Adpresses on AlIB and DIIC and the status on IINTACK (nust remain stable throughout the cycle. If ICE falls after IWA falls, or if it rises X AlIB,OIlC IINTACK ICE before NJA rises, the effective NJR is shortened. Data must be valid before the falling edge of NJR. \ X Address Valid J \ \ / / \ IWR ( 07-00 ) Data Valid Figure 20. Write Cycle Timing Interrupt Acknowledge Cycle Timing Figure 21 illustrates Interrupt Acknowledge cycle timing. Between the time./INTACK goes Low and the falling ~dge of IRD, the internal and externallEl/lEO daisy chains settle. If there is Iln inter~upt pending in the SCC and lEI is High when IRD falls, the Acknowledge cycle is intended for the SCC. In this case, the SCC may be programmed to respond to IRD Low by placing its interrupt vector IINTACK ~1 Jf IRO 07-00 on 07-00. It then sets the appropriate Interrupt-UnderService latch internally. If the external daisy cilain is not used, then AC parameter #38 is required to settle the interrupt priority daisy chain internal to the SCC If the external daisy chain is used, the user should follow the equation in AC Characteristics, Note 5, for calculating the required daisy-chain settle time. If / / \ ( X Vector Figure 21. Interrupt Acknowledge Cycle Timing 326 ) Z80C30 Timing The SCC generates internal control signals from lAS and IDS that are related to PCLK. Since PCLK has no phase relationship with lAS and IDS, the circuitry generating these internal control signals must provide time for metastable conditions to disappear This gives rise to a recovery time related to PCLK. The recovery time applies only between bus transactions involving the SCC. The recovery time required for proper operation is specified from the falling edge of IDS in the first transaction involVing the SCC to the falling edge of IDS in the second transaction involvi~g the SCC. Read Cycle Timing Figure 22 illustrates Read cycle timing. The address on A07-AOO and the state of ICSO and IINTACK are latched by ttle rising edge of lAS. R//W must be High to indicate a Read cycle CS1 must also be High for the Read cycle to occur The data bus drivers in the SCC are then enabled while IDS is Low. lAS\, I ICSO IINTACK AD7-ADO RlIW CS1 IDS \ 7 X I \ Address) ('-_____-.lX Data Valid )- 7 7 \--_ _ _--1 Figure 22. Read Cycle Timing 327 PROGRAMMING (Continued) Write Cycle Timing Figure 23 illustrates Write cycle timing. The address on A07-ADO and the state of ICSO and IINTACK are latched by the rising edge of lAS. R//W must be Low to indicate a ICSO IINTACK AD7-ADO RlIW CS1 IDS . Write cycle. CS1 must be High for the Write cycle to occur. IDS Low strobes the data into the SCC. \ / I .\"'____________________ ___x >CX. . ._______________>C Data Address r \ __----'I ~ \_---------'I Figure 23. Write Cycle Timing Interrupt Acknowledge Cycle Timing Figure 24 illustrates Interrupt Acknowledge cycle timing. The address 'On A07-AOO and the state of ICSO and IINTACK are latched by the rising edge of lAS. However, if IINTACK is Low, the address and ICSOare ignored.,The state of the R//W and CS 1 are also ignored for the duration of the Interrupt Acknowledge cycle. Between the rising edge of lAS and the falling edge of IDS, the internal and 328 externallEl/lEO daisy chains settle. If there is an interrupt pending in the SCC, and lEI is High when, IDS fails, the Acknowledge cycle was intended forthe SCC. In this case, the SCC is programmed to respond to RO Low by placing its interrupt vector on 07-DO and then internally set the appropriate Interrupt-Under-Service latch. J lAS ICSO X IINTACK ~, AD7-ADO X (Ignored) (Ignored) X ~; / :; ) 11 C)( Vector >- { IDS Figure 24. Interrupt Acknowledge Cycle Timing OTHER ZILOG DATA COMMUNICATIONS PRODUCTS SIO Family Z84C40 SIO Z84C131PC Z84C151PC Dual channel multiprotocol USART. Z80 CPU with integrated SIO, CTC and WDT. Z80 CPU with integrated SIO, CTC, WDT and PIO. SCC Family Z08530 SCC Z85130 ESCC Z16C351SCC Z80181 SAC NMOS SCC Low cost with speeds up to 8 MHz. Enhanced SCC with 4-byte Tx and 8-byte Rx FIFOs and many other new features. SCC with 4 channel DMA and advanced CPU interface. Z180 CPU with integrated single channel SCC USC Family Z16C30 USC Z16C33 MUSC Z16C311USC Z16C50 DDPLL Dual channel high performance multi-protocol data communications up to 10 Megabits/second. Single channel USC w/ ISDN Time Slot Assigner. MUSC with high performance dual Cllannel DMA (available Q1/91). Dual channel DPLL cell from the USC 329 ABSOLUT~ MAXIMUM RATINGS Vee Supply Voltage range.~ ........................ -0.3V to +7.0V Voltages on aU pins with respect to GND ................................ -3V to Vee +0.3V Operating Ambient Temperature ............................ See Ordering Information Storage Temperature ............................. -65°C to + 1500C Stresses greater than those listed 'under Absolute Maximum Ratings may cause permanent damage to the device. 'This Is a stress rating only; operation of the device at any condition :above those indicated in the operational sections of these specifications is not implied, Exposure to absolute maximum rating conditions for extended periods may affect device reliability. SrANDARD TEST CONDITIONS The DC Characteristics and capacitance sections below apply for the following standard test conditions, unless otherwise noted. All voltages are referenced to GND. Positive current flows into the referenced pin. • • • +4,50 V S; Vee S; + 5.50 V GND=OV Til as specified in Ordering Information +5V +5V 2.1 KO FromOutpul Under Test From output Figure 25. Standard Test Load 330 2.2K Figure 26. Open-Drain Test Load CAPACITANCE Symbol Parameter CIN COUT ClIO Input Capacitance Output Capacitance Bidirectional Capacitance Min Max Unit 10 pF pF pF 15 20 Test Condition Unmeasured Pins Returned to Ground Notes: f = 1 MHz, over specified temperature range. Unmeasured pins returned to Ground. MISCELLANEOUS Gate Count 6800 DC CHARACTERISTICS Z80C30/Z85C30 Symbol Parameter Min VIH VIL VOHl Input High Voltage' Input Low Voltage Output High Voltage -0.3 2.4 VOH2 V~L IlL Output High Voltage Output Low Voltage Input Leakage 101.. Iccl Output Leakage Vcc Supply Current [2] Iccosc Crystal OSC Current [3] Typ 2,2 Max Unit Vcc + 0.3 0.8 V V V Vee- 0 .8 0.4 ±10.0 7 9 ±10.0 12(10 MHz) 15(16 MHz) 4 V V IlA IlA rnA rnA rnA Condition IOH=-1.6rnA IOH = -250 IlA 101.. = +2.0 rnA 04 VIN + 2.4V 0.4 VOUT + 2.4V Vcc= 5VVIH = 4.8 VIL = 0 Crystal Oscillator off Current for each OSC in addition to Iccl Notes: [1] Vee = 5V±10% unless otherwise specffied, over specified temperature range. [2] Typical Icc was measured with oscillator off. [3] No Icc (OSC) max is specified due to dependency on external circuit and fTeqency of oscillation. 331 AC CHARACTERISTICS Z85C30 Read/Write Tming DIagrams - POLK AlIB,OI/C IINTACK ICE => ~ , ------®2! ~ ~ , ~ ..- ~ 3 K -f-® ~ r----®-- ~ ~ " -& ~ ~ . ~ .... )l Active - ®I- Valid ®- b .!p 1 :!-@ HP- =' J. /WR J 1'" ~ 07-DO Write , X ~ ~ ,-® f-IWIIREQ Wait 3 \ ~ ~ IWIIREQ Request, 10TRIIREQ Request I =-@- f--- I '-J 3 liNT ~ "'" J Figure 27. Z85C30 ReadIWrlte Timing Diagram 332 ~ ~U' 4---@- & ~ X ~ -'U 16 IRO 07-00 Read .... ~ PCLK IINTACK IRO 07-00 ---------+-----+-H lEI lEO, liNT Figure 28. Z85C30 Interrupt Acknowledge Timing Diagram ICE IRD or /WR JJ / \ C/ @ \ / JJ Figure 29. Z85C30 Cycle Timing Diagram /wR IRD Figure 30. Z85C30 Reset Timing Diagram 333 AC CHARACTERISTICS Z85C30 Read/Write Timing Table 8.5 MHz 10MHz Min Max 16 MHz Min Max No Symbol Parameter Min Max 1 2 3 4 TwPCI TwPCh 45 45 1000 1000 10 10 40 40 1000 1000 10 10 26 26, TrPC PCLK PCLK PCLK PCLK 1000 1000 5 5 5 6 7 8 TcPC TsA(WR) ThA(WR) TsA(RD) PCLK Cycle Time Address to /WR Fall Setup Time Address to IWR Rise Hold Time Address to IRD Fall Setup Time 118 66 0 66 2000 100 50 0 50 2000 61 35 0 35 2000 9 10 11 12 ThA(RD) TsIA(PC) TsIAi(WR) ThIA(WR) Address to IRD Rise Hold Time liNT ACK to IPCLK Rise Setup 1 ime liNT ACK to IWR Fall Setup Time liNTACK to IWR Rise Hold Time 0 20 140 0 0 20 130 0 0 15 75 0 13 14 15 16 TsIAi(RD) ThIA(RD) ThIA(PC) TsCEI(WR) IINTACK to IRD Fall Setup Time IINTACK to IRD Rise Hold Time liNTACK to IPCLK Rise Hold Time .ICE Low to IWR Fall Setup Time 140 0 38 0 130 0 30 0 75 0 15 0 17 18 19 20 1hCE(WR) TsCEh(WR) TsCEI(RD) ThCE(RD) ICE to /WR Rise Hold Time ICE High to /WR Fall Setup Time ICE Low to IRD Fall Setup Time ICE to IRD Rise Hold Time 0 58 0 0 0 50 0 0 0 30 0 0 21 22 23 24 TsCEh(RD) TwRDI TdRD(DRA) TdRDr(DR) ICE High to IRD Fall Setup Time IRD Low Width IRD Fall to Read Data Active Delay IRD Rise to Read Data Not Valid Delay 58 145 0 0 50 125 0 0 30 70 0 0 25 26 27 28 TdRDI(DR) TdRD(DRz) TdA(DR) TwWRI IRD Fall to Read Data Valid Delay IRD Rise to Read Data Float Delay Address to Read Data Valid Delay /WR Low Width 145 125 70 29 30 31 32 TsDW(WR) ThDW(WR) TdWR(W) TdRD(W) Write Data to IWR Fall Setup Time IWrite Data to IWR Rise Hold Time 10 0 10 0 10 0 33 34 35 36 TdWRf(REQ) IWR Fall to /WI/REO Not Valid Delay TdRDf(REQ) IRD Fall to /WI/REO Not Valid Delay TdWRr(REO) IWR Fall to IDTR/IREO Not Valid TdRDr(REO) IRD Rise to IDTR/IREO Not Valid 37 38 39 40 TdPC(INT) TdIAi(RD) TwRDA TdRDA(DR) npc Low Width High Width Fall Time Rise Time Notes [ 1] [ 1] [1] [ 1] .- 334 /WR Fall to Wait Valid Delay IRD Low to Wait Valid Delay IPCLK Fall to liNT Valid Delay liNT ACK to IRD Fall (Ack) Delay IRD (Acknowledge) Width IRD Fall (Ack) to Read Data Valid '120 35 180 135 38 210 [1] [ 1] 65 20 100 168 168 160 160 80 80 168 168 4TcPc NA 160 160 4TcPc NA 80 80 4TcPc NA 450 500 145 145 135 175 75 70 125 125 120 [4] [4J [5] 70 AC CHARACTERISTICS Z85C30 Read/Write Timing Table (Continued) No . 41 42 43 44 45 46 47 48 49 Symbol Parameter TsIEI(RDA) ThIEI(RDA) TdIEI(IEO) TdPC(IEO) lEI to /RD Fall (Ack) Setup Time lEI to IRD Rise (Ack) Hold Time lEI to lEO Delay Time IPCLK Rise to lEO Delay TdRDA(INT) TdRD(WRQ) TdWRQ(RD) TwRES Tre IRD Fall to liNT Inactive Delay IRD Rise to /WR Fall for No Reset /WR Rise to IRD Fall for No Reset /WR.& IRD Low for Reset Valid Access Recovery Time 8.5 MHz Min Max 10MHz Min Max 16 MHz Min Max 95 0 95 0 50 0 95 195 90 175 50 80 320 480 15 15 145 4TcPc 15 15 100 4TcPe Notes 200 10 10 75 4TcPc [4] [3] NOTES: [1] Parameter does not apply to Interrupt Acknowledge transactions. [3) Parameter applies only between transactions involving the sec. [4] Open-drain output, measured with open-drain test load. [5] Parameter is system dependent. For any sec in the daisy chain, TdIAi(RD) must be greater than the sumofTdPC(IEO) for the highest priorily device in the daisy chain, TsIEI(RDA) for the sec, and TdIEIf(IEO) for each device separating them in the daisy chain. 335 AC CHARACTERISTICS Z80C30 Read and Write Timing Diagrams lAS /CSO CSl ~--------------~14~----------------~ nNTACK RlIW Read _ _ _-++-_..1 RlIW ------~-H~------, Write ------~------~~--------------+-~---------+-- IDS AD7-AOO Write AD7-ADO Read ~--r-------~~~--r---------~ IWIIREO Walt IWIIREO R~_t ________~~------------~-------' IDTRlIREO R~Mt ________ ~~------------~--------~-----------------' I1NT PCLK' Figure 31. Z80C30 Read/Write Timing Diagram 336 lAS IINTACK IDS AD7-ADO ------------------------~~--------------~--~ lEI lEO liNT ~r_-_--_-_~~6:~~~~~~ ________________________________________ __ Figure 32. Z80C30 Interrupt Acknowledge Timing Diagram lAS IDS Figure 33. Z80C30 Reset Timing Diagram 337 AC CHARACTERISTICS . Z80C30 Read/Write Timing Table -8 MHz 10 MHz Max Min No Symbol Parameter Min 1 2 3 4 TwAS TdDS(AS) TsCSO(AS) ThCSO(AS) lAS Low Width IDS Rise to lAS Fall Delay ICSO to lAS Rise Setup Time ICsa to lAS Rise Hold Time 35 15 0 30 30 10 0 20 5 6 7 8 TsCS1(DS) ThCS1(OS) TsIA(AS) ThIA(AS) CS 1 to IDS Fall Setup Time CS 1 to IDS Rise Hold Time IINTACK to lAS Rise Setup Time liNTACK to lAS Rise Hold Time 65 30 10 150 50 20 10 125 9 10 11 12 TsRWR(DS) ThRW(DS) TsRWW(DS) TdAS(DS) R//W (Read) to IDS Fall Setup Time R//W to IDS Rise Hold Time R//W (Write) to IDS Fall Setup -rime lAS Rise to IDS Fall Delay 65 0 0 30 50 0 0 20 13 14 15 16 TwDSI TrC TsA(AS) ThA(AS) IDS Low Width 150 4TcPC 10 25 125 4TcPC 10 20 17 18 19 20 TsDW(DS) ThDW(DS) TdDS(DA) . TdDSr(DR) Write Data to IDS Fall Setup Time Write\Data to IDS Rise Hold Time IDS Fall to Data Activ(:l Delay IDS Rise to Read Data Not Valid Delay 15 0 0 0 10 0 0 0 21 22 23 24 TdDSf(DR) TdAS(DR) TdDS(DRz) TdA(D~) IDS Fall to Read Data Valid Delay lAS Rise to Read Data Valid Delay IDS Rise to Read Data Float Delay Address Required Valid to Read Data Valid Delay 25 26 27 28 TdDS(W) TdDSf(REQ) TdDSr(REQ) TdAS(INT) IDS Fall to Wait Valid Delay IDS Fall to /WI/REO Not Valid Delay "IDS Fall to 101 RI/REO Not Valid Delay lAS Rise to liNT Valid Delay 29 30 31 32 TdAS(DSA) TwDSA TdDSA(DR) TsIEI(DSA) lAS Rise to IDS Fall (Acknowledge) Delay IDS (Acknowledge) Low Width IDS Fall (Acknowledge) to Read Data Valid Delay lEI to IDS Fall (Acknowledge) Setup Time 33 34 35 36 ThIEI(DSA) TdIEI(IEO) TdAS(IEO) TdDSA(INT) lEI to IDS Rise (Acknowledge) Hold Time lEI to lEO Delay lAS Rise to lEO Delay IDS Fall (Acknowledge) tollNl Inactive Delay 37 38 39 40 TdDS(ASO) TdASO(DS) TwRES TwPCI IDS Rise to lAS Fall Delay for No Reset lAS Rise to IDS Fall Delay for No Reset lAS and IDS Coincident Low for Reset 338 Valid Access Recovery Time Address to lAS Rise Setup Time Address to lAS Rise Hold Time PCLK Low Width Max [1 J [1) [2) [1) [1) 120 190 35 210 170 170 4TcPC 500 160 160 4TcPC 500 225 125 140 [3) [4) .. [4) [5J 120 80 80 0 0 90 200 450 15 20 150 50 [1 J [1) [ 1) 140 250 40 260 250 150 Notes' 1000 90 175 450 15 15 100 40 [6J (4) [7) 1000 AC CHARACTERISTICS , Z80C30 Read/Write Timing Table (Continued) No Symbol Parameter 41 42 43 44 TwPCh TcPC TrPC TfPC PCLK PCLK PCLK PCLK High Width Cycle Time Rise Time Fall Time 8 MHz Min Max 50 125 1000 2000 10 10 10MHz Min Max 40 100 Notes· 1000 2000 10 10 NOTES: [1] Parameter does not apply to interrupt Acknowledge transactions, I [2] Parameter applies only between transactions involving the sec, [3] Float delay is defined as the time required for a ±Q,5V change in the output with a maximum DC load and a minimum Ae load, [4] Open-drain output, measured with open-drain test load, [5] Parameter is system dependent. For any z-sce in the daisy chain, TdAS(DSA) must be greater than the sum of TdAS(IEO) for the highest priority device in the daisy chain, TsIEI(DSA) for the z-sec, and TdIEIf(IEO) for each device separating them in the daisy chain, [6] Parameter applies only to a Z-SCC pulling INT Low at the beginning of the Interrupt Acknowledge transaction, [7] Internal circuitry allows for the reset provided by the ZB to be recognized as a reset by the z-sce, All timing references assume 2,QV for a logic ·1· and Q BV for a logic .0", • Units in nanoseconds(ns), 339 AC CHARACTERISTICS Z85C30/Z80C30 General Timing Diagram POLK IW/IREQ Request IW/IREQ Walt ~~~C. RTxC Receive RxO /SYNC Extemal ~~~C. RTxC Transmit TxO ~!'I------ _X_ _ _X_"_ ~~~c ------'------~-------------@~~~~~~~1~~~---------------------------------------------outp~t ____________________~ iRTxC ~~rrRxC ~~rrRxC. /OCO /SYNC Input --~ ------~~------------Figure 34. Z85C30/Z80C30 General Timing Diagram 340 AC CHARACTERISTICS Z85C30/Z80C30 General Timing Table' 8.5 MHz Min Max 10MHz Min Max 16 MHz Min Max 250 350 NA 2pO 300 NA 110 180 NA No Symbol Parameter 1 2 3 4 TdPC(REO) TsPC(W) TsRXC(PC) • TsRXD(RXCr) /PCLK Low to W/REQ Valid /PCLK Low to Wait Inactive /RxC High to /PCLK High Setup Time RxD to /AxC High Setup Time 5 6 7 8 ThRXD(RxCr) TsRXD(RXCf) ThRXD(RXCf) TsSY(RXC) RxD to /AxC High Hold Time RxD to /AxC Low Setup Time RxD to /RxC Low Hold Time SYNC to /AxC High Setup Time 9 10 11 12 ThSY(RXC) TsTXC(PC) TdTXCf(TXD) TdTxCr(TXD) SYNC to /RxC High Hold Time /TxC Low to /PCLK High Setup Time /TxC Low to TxD Delay /TxC High to TxD Delay 13 14 15 16a TdTXD(TRX) TwRTXh TwRTXI TcRTX TxD to TRxC Delay RTxC High Width TRxC Low Width RTxC Cycle Time 130 130 472 16b 17 18 19 TxRX(DPLL) TcRTXX TwTRXh TwTRXI DPLL Cycle Time Min Crystal Osc. Period TRxC High Width TRxC Low Width 59 118 130 130 TRxC Cycle Time DCD or CTS Pulse Width SYNC Pulse Width 472 200 200 20. TcTRX 21 TwEXT TwSY 22 NA 0 NA 0 NA 0 125 0 125 -150 0 60 -100 5TcPc NA 5TcPc NA 5TcPc NA 190 190 150 150 120 120 400 100 120 120 400 120 120 1000 [1) [2,4) [2) [2,5) 80 [6) 16] [6,7) 80 80 244 qO 1000 85 85 140 200 [1,4] [1) [1) [1,5) [1,5) [1) 60 150 0 150 -200 Notes· 31 100 80 80 244 70 70 1000 [7,8] [3] [6] (6) [6,7) Noles: [11' RxC is /RTxC or /TRxC, whichever is supplying the receive clock. [2) [3) [4) [5) [6) (7) [8) TxC is {TRxC or /RTxC, whichever is supplying the transmit clock. Both /RTxC and /SYNC have 30 pf capacitors' to ground connected to them. Synchronization of AxC to PCLK is eliminated in divide by four operation. Parameter applies only to FM encoding/decoding. Parameter applies only for transmitter and receiver; DPLL and baud rate generator timing requirements are identical to case PCLK requirements. The rnaxirrum receive or transmit data rate is 1/4 PCLK. Applies to DPlL clock source only. Maximum data rate of 1/4 PCLK still applies. DPLL clock should have a 50% duty cycle . • Units in nanoseconds (ns). 341 AC CHARACTERISTICS Z85C30/Z80C30 System Timing Diagram IRTxC, ITRxC Receive /wIIREO Request /wIIREO Wait /SYNC Output liNT ITRxC, IRTxC Transmit /WI/REO Request /wIIREO Wait ~----~6)------~ IDTRl/REO Request . liNT ICTS,/DCD ISYNC Input K K ~- .- \ liNT tfi' Figure 35. Z85C30/Z80C30 System Timing Diagram 342 AC CHARACTERISTICS, Z85C30/Z80C30 System Timing Table 8.5 MHz Min Max 10 MHz Min Max No Symbol Parameter 1 2 3 4a TdRXC(REQ), TdRXC(W) TdRdXC(SY) TsRXC(INT), Z85C30 IRxC High 10 W/REO Valid IRxC High to Wait Inactive IRxC High 10 SYNC Valid IRxC High to INT Valid 8 8 4 10 12 14 7 16 8 8 4 10 12 14 7 16 4b TdRXC(INT), Z80C30 IRxC High 10 INT Valid 5 6 TdTXC(REQ) TdTXC(W) /TxC Low to W/REO Valid /TxC Low 10 Wait Inactive 8 2 5 5 12 3 8 11 8 2 5 5 12 3 8 11 7 TdTXC(DRO) Td rXC(lNT), Z85C30 TdTXC(INT), Z80C30 /Txc Low to DTR/REO Valid ITxC Low 10 liNT Valid ITxC Low 10 liNT Valid 4 6 4 2 7 10 6 3 4 6 4 2 2 2 2 2 6 3 6 3 2 2 2 2 8a 8b 9a 9b lOa 10b ' TdSY(INT) TdSY(INT) TdEXT(INT), Z85C30 TdEXT(lNT), Z80C30 SYNC 10 INT Valid SYNC 10 INT Valid lOCO or ICTSlo liNT Valid 16MHz Min Max Notes' 12 14 7 16 [2) [1,2) (2) [1,2) 5 5 8 11 [1,2) (4) l3) [1,3) 7 10 6 3 4 6 7 10 6 3 6 3 2 6 2 6 8 8 4 10 [3) [1,3) [1,3) (4) [1] [1.4] [1] [1,4] Notes: [1] Open drailKJUtput, measured with open-drain test load. [2] JRxC is /RTxC or {TRxC, whichever is supplying the receive clock. , [3] {TxC is {TRxC or IRTxC, whichever is supplYing the transmit clock. [4] Units equal to lAS . • Units equal to TcPc. 343 344 PRODUCT SPECIFICATION Z8030/Z8530 Z-BUS SCC SERIAL COMMUNICATION CONTROLLER Features • Two independent, a to 2M bit/second, fullduplex channels, each with a separate crystal oscillator, baud rate generator, and Digital Phase-Locked Loop for clock recovery. • Multi-protocol operation under program control; programmable for NRZ, NRZI, or FM data encoding. • Asynchronous mode with five to eight bits and one, one and one-half, or two stop bits per character; programmable clock factor; break detection and generation; parity, overrun, and framing error detection. synchronous characters and CRC generation and checking with CRC-16 or CRC-CCITT preset to either Is or as. • SDLCIHDLC mode with comprehensive frame-level control, automatic zero insertion and deletion, I-field residue handling, abort -generation and detection, CRC generation and checking, and SDLC Loop mode operation. • Local Loopback and Auto Echo modes. • Supports Tl digital trunk. • Synchronous mode with internal or external character synchronization on one or two General Description The SCC Serial Communications Controller is a dual-channel, multi-protocol data communications peripheral designed for use with conventional non-multiplexed buses and the Zilog Z-BUS.- The SCC functions as a serial-to-parallel, parallel-to-serial converter/controller. The SCC can be software-configured to satisfy a wide variety of serial communications applications. The DATA.U. CH·A device contains a variety of new, sophisticated internal functions including on-chip baud rate generators, Digital PhaseLocked Loops, and crystal oscillators that dramaticaily reduce the need for external logic. ADOU'" DATA.U. BUS ( TIMING ANDR••ET 1 '·RIAL DATA CONTROL I CHANNIL CLOCKS CHANN.L CONTROLS FOR MODEM, DMA,OR OTHIR CH·B INTERRUPT I I I SERIAL DATA I CHANNIL CLOCKS CHANN.L CONTROLS Cf PORMOD. ., DMA,OR OTHBR +5V GND PCLK Flgme la. PID FuDdioDs. _ Flgme lb. PID FuuctIoDs. zaoao 345 __________, .,. . _Q _ _"'_m,__ .. M~'~ ~~~ ... .. ·'""I"~_ ·""~"~' .. ,' ," The see handles asynchronous formats, Gen~tral Description Synchronous byte-oriented protocols such as (Continued) IBM Bisync, and Synchronous bit-oriented protocols such as HDLe and IBM SDLe. This versatile device supports virtually any serial data transfer application (cassette, diskette, tape drives, etc.). ' The device can generate and check eRe codes in any Synchronous mode and can be programmed to check data inteqrity in various modes. The see also has facilitiesfor modem controls i~ both ~hannel~. In'appli-" , cations where these controls are ncrt"needed, the modeIJ;l controls can beused fOf general-purpose 1/0., The daisy-chain interrupt hierarchy is also supported-as is standard for Zilog peripheral components. .... . D, 0; AD, ADs Do AD Wi\ Ali AD, 'II RIW iNiiCK CE iiifACi CSii +5V W/REQA GND 0, iiiT 'EO 'II iiif D/C RTiCi SYNci iffiCi RxOA 4 3 Q' Q'> 2 39 Aifi lEI 8 36, 37 CE ole 3~ NC 11 SVNCA 12 zauo (Top View) 35 GND 34 WliiEQB 33 iYNCii RxDA 14 32 ~ fRiCA 15 :i1 RxDB llcDA 16 30 'I'IIil:I! NC 17 29 llcDB lffiiCA 13 em PCLK DCDS ~ ~~o·~o·~'~·~~·~~ ~ 'EO 7 WfIm}A DCiiA FIgure 2b. DIP P1D AsslgnmeDts. Z8030 ~ ?' <:>" 4i> ~ +5V 10 DTiiiiiEcii Rlsa em 1 44 43 42 41 40 INTACK 9 TxDB RTsA DTiiiiiEcii RTS~ FIgure 2a. DIP PlD AulgDD1ents. Z8530 5 TRxCB DTRlREQA ffii DCoi 4:' e:::: \'--I \ \~ ___--,I Do-D? ------------------~(C:::::J'X DATAVAUD ) Figure 12. Read ~le TImlDg Write Cycle Timing. Figure 13 illustrates Write cycle timing. Addresses on AlB and ole and the status On INTACK must remain stable _ throughout the cycle. If CE falls after WR falls ~'~ or if it rises before WR rises, the effective ~ is shortened. Data must be valid before the falling edgeofWR. >e:::: ________J)(~_____________A_DD_.__ US V_~_D_____________ \~-- \ I 1 \ _ _ _ _ _..J Do-D7---------------«::::~DA:U~V:AU~D~::::J)~------Figure 19. Wrtte Cycle TImIDg Interrupt Acknowledge Cyc:le Timing_ Figure 14 illustrates Interrupt Acknowledge cycle timing. Between the time INTACK goes Low and the falling edge of RD, the internal and external IEIIIEO daisy chains settle. If there is an interrupt pending in the SCC and lEI is High ~~~ when 1m falls, the Acknowledge cycle is intended for the SCC. In this case, the SCC may be pr~rammed to respond to RD Low by placing its interrupt vector on 00-07 and it then sets the appropriate Interrupt-UnderService ' latch internally. ______~/.~'____________________..Jlr----- ...JI I~_ _ _ _ Do-D7 - - - - - I h . }--~(===_-=:;)(C::VE~CT'"'::»--Figure 14. IDtemapt Acbowleclge Cycle TlmlDg 359 Z8030 TimiDg' The see generates internal' control sigrials from"AS and DS that are related to PCLK. Since' PCLK has no phase relationship with AS and DS, the circuitry generating these internal control signals must provide time for metastable conditions to disqppear. This gives rise to a recovery time related to PCLK. The recovery time applies only between bus transactions involVing the SCC. 'the recovery time required for proper operation is speCified from the falling edge of DS in the first transaction Cio=-' I \~----------~--------- --'XC~AD~D.~.:SS~»-:'---(:::::X II/W _ _ _ _ _ _ _ cs, Read Cycle Timing. Figure 15 illustrates Read cycle timi~ The a~n ADo-AD7 and the state of CSo and INTACK are latched by"the rising edge of AS. RIW must be High to indicate a Read cycle. CSj must also be High for the Read cycle to occur. The data bus drivers in the SCC are then enabled while DS is Low. I .NTACK _ _ _ _ _ ADo-AD7 _ _ involving the see to the fC\lhng edge'of DS in the second transaction involving the SCC. DATA VALID )-- ..J! c / C -----' iii ,__________--:--____r-- Figure 15. Read Cycle Timing Write Cycle Timing. Figure 16 illustrates Write cycle timing. The address on ADo-AD7 and the state of CSo and INTACK are latched by the ~ising edge of AS. RIW must be Low to CiO=-' I --.-J \ INTACl~ ADo-AD7 =::x: ADDRESS indicate a Write cycle. CSt must be High for the Write cycle to occur. OS Low strobes the data into the SCC. x::x"'"'--________________x:: __ DATA II/W _ _ _ _ _ _ _ _~,~_ _~_ _~_ _ _ _ _ _ _ _~r= ! cs, _ _ _ _ _.... iii ,_________________r-- FIgure 16. Write Cycle TimiDg 360 C Interrupt Acknowledge Cycle Timing. FIgure 17 illustrates Interrupt Acknowledge cycle tim~. The address on ADo-AD7 and the state of CSo and INTACK are latched by the rising edge of AS. However, if INTACK is Low, the address and CSo are ignored. The state of the R/W and CSI are also ignored for the duration of the Interrupt Acknowledge cycle. Between the rising edge of AS and the falling edge of Ci~ =::x: (IGNORED) DS, the internal and external IEIIIEO daisy chains settle. If there is an inte!!!Y't pending in the SCC and lEI is High when DS falls, the Acknowledge cycle was intended for the SCC. In this case, the SCC may be programmed to respond to,RD Low by placing its interrupt vector on Do-D7 and it then internally sets the appropriate Interrupt-Under-Service latch. v---: ~~--------------------- r---'-1--'- - - - - '-----.,; ADO-AD, =::X::!(IG~N:O:AE~Dl=»--"""'()'l'---C:X VECTOR >- iii F"agure 17. iDterrupt AcIuIowiedge Cycle Timing Absolute Maximum Ratings Standard Test Conditions Voltages on all pins with respect to GND ................... - 0.3V to +7.0V Operating Ambient Temperature ........ See Ordering Information Storage Temperature ........ -65°C to + 150°C The DC characteristics and capaCItance section beloW apply for the follOWing standard test conditions, unless otherwise noted. All voltages are referenced to GND. Positive current flows into the referenced pin. Standard conditions are as follows: Stresses greater than those hsted under Absolute Maximum Ratings may cause permanent damage to the device. Th,s Is a stress rating only; operation of the deVIce at any condition above those indicated In the operational sections of these specdlcahons IS not llDphed. Exposure to absolute maxImum rating conditions for extended per~ods llllIY affect device reliability. • +4.75 V :S Vee :S +5.25 V • GND = OV • TA as specified in Ordering Information All ac parameters assume a load capacitance of 50 pF max. +5V 21< +5V FROM OUTPUT UNDER TEST ~ 22K I'OP' Standard Test Load OpeD-Drain Test Load 361 DC Symbol Characteristic:s VIH VIL VOH VOL IlL IoL Ice vee = 5 V Capacitance Symbol' J Parameter ' MID Max Unit', Input'High Voltage Input Low Voltage' Output High Voltage ~tput Low Voltage Input Leakage Output Leakage Vee Supply Current 2.0 -0.3 2.4 Vee +0.3 0.8 V V V V ± 5% unless otherwl~ 0.4 :1:10.0 ±1O.0 250 Parameter Min ,.A ,.A rnA Max Unit CIN Input CapaCitance Output CapaCitance 10 15 pF COUT CliO Bidirectional Capacitance 20 pF = 1 MHz, over specUled tempeI:ature range. Unmeasured pms returned. to ground. 362 IoH = IoL'= 0.4 s 0.4 S Gate Count - 250 ,.A + 2.0 rnA VIN S +2.4V Your S +2.4V specified, over specified temperature range. f Miscellaneous Condition 6000 pF Test Condition Unmeasured Pins Returned to Ground Z8530 AC CHARACTERISTICS Number Symbol 1 2 3 4 5 4MHz Min Max Parameter 105 105 TwPCI PCLK Low Width TwPCh PCLK High Width TfPC PCLK Fall Time TrPC PCLK Rise Time TcPC PCLK Cycle Time 6 7 8 9 10 TsA(WR) Address to WR ~ ThA(WR) Address to WR t Hold Time TsA(RD) Address to l1i5 ~ Setup Time ThA(RD) TsIA(PC) Address to m5 t Hold Time i"f\i'TACK to PCLt< t Setup Time 11 12 13 14 15 TsIAI(WR) ~ to WR ~ Setup Time ThIA(WR) INTACK to WR 250 Setup Time t Hold Time TsIAi(RD) ~ to RD ~ Setup Time ThIA(RD) ~ to RD ThIA(PC) INTACK to PCLK t Hold Time 16 TsCEI(WR) 17 ThCE(WR) 18 19 20 TsCEh(WR) TsCEI(RD) C'E Low to WR ~ Setup Time CE to WR t Hold Time CE High to WR ~ Setup Time CE Low to RD ~ Setup Time ThCE(RD) CE to RD t Hold Time 21 22 23 24 25 26 TsCEh(RD) CE High to m5 ~ Setup Time TwRDI RD Low Width TdRD(DRA), RD ~ TdRDr(DR) RD t to Read Data Not Valid Delay TdRDf(DR) RD ~ TdRD(DRz) m5 t to Read Data Float Delay t 2000 2000 20 20 4000 Hold Time to Read Data Active Delay 6 MHz Min Max 70 70 1000 1000 10 10 2000 165 8MHz Min Max 50 50 125 80 0 80 0 10 80 0 80 0 10 70 0 70 0 10 200 0 200 0 100 160 0 160 0 100 145 0 145 0 85 0 0 100 0 0 0 0 70 0 0 0 0 60 0 0 100 240 0 0 70 200 0 0 60 150 0 0 250 70 to Read Data Valid Delay 180 45 Notes t 1000 1000 10 10 2000 140 40 2 NOTES 1, Parameter does not apply tb Interrupt Acknowledge transactions 2 Float delay IS defined as the time reqUired for a ± 0 5V change at the output w~h a maximum de load and minimum ac load tUnM In nanoseconds (ns), Reset Timing WR Z8530 C- -~ u~ Cycle Timing Ci\ f/ I Z8530 iii) .. Wli ~d \ I ---{ @) \ r J ' I \ L 363 '~~~-~-----'''''''''-'''''''''''-' .... ".'''"'-...;."...,...,. .... ~ Z8530 AC CHARACTERISTICS (Continued) Number Symbol 4MHz Min Max Parameter 27 TdA(DR) Address Required Valid to Read Data Valid Delay 28 TwWRI WR Low Width ~ 6MHz Min Max 300 8MHz Min Max 280 Notes 220 240 200 150 10 10 10 0 0 29 TsDW(WR) Write Data to WR 30 ThDW(WR) Write Data to, WR t Hold Time 31 TdWR(W) WR ~ to Wait Valid Delay 240 200 170 4 ~ Wait Valid Delay 240 200 170 4 240 200 170 Setup Time 0 32 TdRD(W) RD 33 TdWRf(REQ) WR ~ to W/REQ Not Valid Delay 34 TdRDf(REQ) RD ~ to W/REQ Not Valid Delay 35 TdWRr(REQ) WR 36 TdRDr(REQ) RD t to DTR/REQ Not Valid Delay 37 TdPC(IND PCLK ~ to INT Valid Delay 38 TdIAi(RD) INTACK to RD 39 TwRDA RD (Acknowledge) Width 40 TdRDA(DR) RD ~ (ACknowledge) to Read Data Valid Delay 41 TsIEI(RDA) lEI to RD ~ (Acknowledge) Setup Time 42 ThIEI(RDA) lEI to RD t (Acknowledge) Hold Time 43 TdIEI(IEO) lEI to lEO Delay Time 120 100 95 44 TdPC(IEO) PCLK t to lEO Delay 250 250 200 45 TdRDA(INT) RD 46 TdRD(WRQ) RD t to WR 47 TdWRQ(RD) WR t to RD ~ Delay for No Reset 30 30 20 48 TwRES WR and RD Coincident Low for Reset 250 200 150 49 Trc Valid Access Recovery Time 4TcPC 4TcPC 4TcPC ~ ~ DTR/REQ Not Valid Delay ~ (Acknowledge) Delay Delay for No Reset 200 170 4TcPC 4TcPC 4TcPC 4TcPC 4TcPC 500 500 500 250 200 150 250 200 150 250 180 120 100 0 0 to INT Inactive Delay ~ 240 4TcPC 15 5 140 95 0 500 500 30 4 450 4 15 3 NOTES: 3. Parameter applies only between transactions involving the SCC. 4 Open-drain output, measured with open-drain test load. 5. Parameter IS system dependent. For any SCC in the daisy chain, TdIAi(RD) must be greater than the sum of TdPC(IEO) for the highest priority device In the daisy chain, TsIEI(RDA) for the SCC, and TdIElf(IEO) for each device separating them In the daisy chain. tUnits in nanoseconds (ns). 364 t PCLK ""'--' Z8530 C\-~ -!,. , ::) ~ ~r::-::~ J( 'i' ~ -!,. - ~ I-- r ReAD ~ @- " -----.Jl ®-I- \.~-------------- W_Q WAIT ~ -------------------------- 1-_ _ _ _-+___.1"~I WIlUEQ _ _ _ _ _ REQUEST ,1!- DTRlREQ REQUEST . ,NT II -----r-----"1:::=====:::;:;;:21;:::=====:~~1 \. ~----~D~----~--------------------------PCLK 366 Z8030 AC CHARACTERISTICS Number Symbol 4MHz Min Max Parameter 6MHz Min Max 8M,Hz Min Max 1 TwAS AS Low Width 70 50 35 2 TdDS(AS) 50 25 15 3 TsCSO(AS) 0 0 0 4 ThCSO(AS) t to AS ~ Delay CSo to AS t Setup Time CSo to AS t Hold Time 60 40 30 5 TsCS1(DS) CS1 to OS ~ 100 80 65 6 ThCS1(DS) CS1 to OS t Hold Time 55 40 30 7 TsIA(AS) INTACK to AS 10 10 10 8 ThIA(AS) t INTACK to AS t 250 200 150 100 80 65 55 40 35 OS Setup Time Setup Time Hold Time 9 TsRWR(DS) RfW (Read) to OS ~ Setup Time 10 ThRW(DS) RfW to OS 11 'TsRWW(DS) t Hold Time RfW (Write) to OS ~ Setup Time AS t to OS ~ Delay 0, 60 0 0 40 30 12 TdAS(DS) 13 TwDSI OS Low Width 240 200 150 14 TrC Valid Access Recovery Time 4TcPC 4TcPC 4TcPC 15 TsA(AS) Address to AS t Setup Time 30 10 10 16 ThA(AS) Address to AS t Hold Time 50 30 25 17 TsDW(DS) Write Data to OS ~ Setup Time 30 20 15 18 ThDW(DS) Write Data to OS t Hold Time 30 20 20 0 0 0 0 0 t 2 19 TdDS(DA) OS ~ to Data Active Delay 20 TdDSr(DR) OS t 21 TdDSf(DR) OS ~ to Read Data Valid Delay 250 180 140 22 TdAS(DR) AS t to Read Data Valid Delay 520 300 250 \0 Read Data Not Valid Delay Notes 0 NOTES' 1, Parameter does not apply to Interrupt Acknowledge transactions, 2, Parameter applies only beiween transactions involving the see tUnrts In nanoseconds (ns), 367 za030 AC CHARACTERISTICS (Continued) Number Symbol Parameter 4MHz Min MII X 6MHz Min Max 8MHz Min Mal' 70 45 40 260 Notes 23 TdDS(DRz) DS t to Read Data Float Delay 24 TdA(DR) Address Required Valid to Read Data Valid Delay 570 310 25 TdDS(W) DS ~ to Wait Valid Delay 240 200 170 26 TdDSf(REO) DS ~ to ViiiREO Not Valid Delay 240 200 170 27 TdDSr(REO) DS ~ to i5i'R/REO Not Valid Delay 4TcPC 4TcPC 4TcPC 28 TdAS(INT) AS t to iNf Valid Delay 29 TdAS(DSA) AS t to DS 30 TwDSA DS (Acknowledge) Low Width 31 TdDSA(DR) DS ~ (Acknowledge) to Read Data Valid Delay 32 TsIEI(DSA) lEI to DS 33 ThIEI(DSA) lEI to OS t (Acknowledge) Hold Time 34 TdIEI(IEO) lEI to lEO Delay 120 100 90 35 TdAS(IEO) AS i to lEO Delay 250 250 200 6 36 TdDSA(INT) DS ~ (Acknowledge) to INT Inactive Delay 450 4 37 TdDS(ASO) DS t to AS ~ Delay for No Reset 30 15 15 38 TdASO(DS) AS t to DS ~ Delay for No Reset 30 30 20 39 TwRES AS and DS Coincident Low for Reset 250 40 TwPCI PCLK Low Width 105 2000 41 TwPCh PCLK High Width 105 2000 70 1000 50 42 TcPC PCLK Cycle Time 250 4000 165 2000 125 43 TrPC PCLK Rise Time 20 10 10 44 TfPC PCLK Fall Time 20 10 10 ~ ~ 500 (Acknowledge) Delay (Acknowledge) Setup Time 500 500 250 250 250 390 200 150 250 120 180 100 0 4 5 140 0 500 200 70 4 80 0 500 3 7 150 1000 50 NOTES: 3. Float delay is defined as the time required for a ± O.SV change in the output with a maximum dc load and a minimum ac load. 4. Open-drain output, measured with open-drain test load. 5. Parameter,is system dependent. For any l-See in the daisy chain, TdAS(DSA) must be greater than the sum of TdAS(IEO) for the highest priority device In the daisy chain, TsIEI(DSA) for the l-See, and TdIElf(IEO) for each device separating them in the daisy chain. 6. Parameter applies only to a l-See pulling INT Low at the beginning of the Interrupt Acknowledge transaction. 7. Internal circuitry allows for the reset provided by the lS to be recognized as a reset by the l-See. All timing references assume 2.0V for a logic "1" and O.SV for a logic "0". tUnits in nanoseconds (ns). 368 ( t Interrupt Ac:knowledge Timing ~ -----"" Z8030 iii " A~-AD·------------------t-------------~~~~~~~tit:------@ .B. __ ~~ ______ ~~ __ J~-+ ________ ~~ ______ 'BO 369 PRELIMINARY PRODUCT SPECIFICATION Z80181 Z181 SAC SMART ACCESS CONTROLLER FEATURES • ZOO1OOCoinpatibie MPU Core with 1channelofZ85C30 SCC, Z80 GTC, two 8-bit general purpose parallel ports, and two chip select signals. • High speed operation (10/12.5 MHz) • Low power consumption in two operating modes: (TBO) mA Typ. (Run mode) (TBO) mA Typ. (STOP mode) • Wide operational voltage range (5V ±10%) • nUCMOS compatible • Clock Generator • One channel of Z85C30 Serial Communication Controller (SCC) • Z100 Compatible MPU core, which has: Enhanced ZOO CPU core Memory Management Unit (MMU) enables access to 1MB of memory Two Asynchronous channels Two OMA channels Two 16-bit Timers Clocked serial I/O Port • Z84C30CTC • Two 8-bit general purpose parallel ports • Memory configurable RAM and ROM chip select pins • 100-pin QFP Package GENERAL DESCRIPTION The Z80181 SAC Smart Access Controller (hereinafter, referred to as Z 181 SAC) is a CMOS 8-bit microprocessor. It is integrated with the Z100 compatible MPU (Z181 MPU), one channel of Z85C30 Serial Communication Controller (SCC), Z80 CTC, two 8-bit general purpose parallel ports, and two chip select signals, all into a single 100-pin QFP (Quad Flat Pack) package. This high-end superintegrated intelligent peripheral controller is targeted for a broad range of intelligent communication control applications, i.e., terminals, printers, modems, and slave communica- 370 tion processors for 8-, 16- and 32- bit MPU based systems. Also included are enhancemenVcost reductions of existing' hardware using ZOO/ZJOO with Z8530/Z85C30 applications. Figure 1 shows the block diagram of the ZOO181. or, Note: All Signals with a preceding front slash, are active Low e.g.; 8IIW (WORD is active Low); IBIW (BYTE is active Low, 0r1y); INIIS (NORMAL and SYSTEM are both active Low). 07-00 Z80180 Compatible Core Control A19-AO SCC (1 Channel) l A19-A12 /RAMeS Modem/Control Signals CTC Glue Logic L-..- Rx Data ~ '8 1 /ROMes Tx Data Address Decode Logic PIA1 ~ '8 Bit Programmable Bi-directional 110 or 110 Pins of eTe ~ PIA2 J '8 Bit Programmable Bi-directiooal 110 , ZS0181 = Z180 + SCC + CTC + PIA Figure 1. Z80181 Block Diagram .371 .. -~~".~.~, ".~~.-.~, ."-.~"~-,,~, "-_.... PIN DEFINITIONS The pin assignment is shown on Figure 2. Following is the description on each pin. nNTl nNT2 ST AO A1 A2 A3 A15 A4 A5 A6 A7 AS A9 Al0 All A12 GND A13 A14 A16 DO Dl D2 D3 100 90 95 85 80 0 5 75 10 70 TxAO Z80181 100-PIN QFP 15 ICTSO fRTSO 65 20 60 25 55 D5 D6 D7 Al8fTOUT A19 GND lEI fROMeS lEO GND IOCD ICTS fRTS IDTRlfREO TxD fTRxC RxD IWlfREO 30 35 40 45 Figure 2. Z80161 Pin-out Assignment 372 TxAl CKAOflDREOO RxAO IDCDO D4 fRAMCS fTENDl IDRE01 CKS Rxs/ICTS1 TxS CKAlffTENDO RxAl TEST 50 CPU SIGNALS ,I Pin Name Pin Number Input/Output, 3-State Function A19 - AO 4-17,19-21, 64,65,91 I/O, Active 1 Address Bus. A 19 - AO form a 20-bit address bus which specifies I/O and memory addresses to be accessed During the refresh period, addresses for refreshing are output. The address bus enters a high-impedance state during Reset and external bus acknowledge cycles. The bus is an input when the external bus master is accessing the on-chip peripherals. Address line A 18 is multiplexed with the output of PRT Channel 1 (TOUT, selected as address output on Reset). 00-07 22-29 I/O, .i\ctive 1 8-bit bidirectional data bus. When the on-chip CPU is accessing on-chip peripherals, tllese lines are outputs and 110Id the data to/from the on-chip peripllerals. /RO 89 I/O, Active 0 Read signal. CPU read signal for accepting data from memory or I/O devices. When an external master is accessing the on-chip peripherals, it is an input signal. /WR 88 I/O, Active 0 Write Signal. This signal is active when data to be stored in a specified memory or peripheral device is on tile MPU data bus. V)Jhen an external master is accessing the onchip peripherals, it is an input signal. /MREQ 85 I/O, 3-State, Active 0 Memory request signal. When an effective address for memory access is on the address bus, /MREQ is active. This signal is analogous to the /ME signal of the Z64 180. /IORQ 84 I/O, 3-State, Active 0 I/O request signal. When addresses for I/O are on tile lower 8 bits (A7-AO) of the address bus In the I/O operallon, "0" is output In addition, the /IORQ signal is output willI the /M1 signal during the interrupt acknowledge cycle to inform peripheral devices that the interrupt response vector is on the data bus. This signal is analogous to the /IOE signal of the Z64180. /M1 87 Out, 3-State, Active 0 Machine cycle "1". /MREQ and /M1 are active together during lhe operation code fetch cycle /M1 is output for every opcode fetch when a two byte opcode is executed In the maskable interrupt acknowledge cycle, HIlS Signal is output together with /IORQ It is also used with /HALT and ST signal to decode the status of the CPU Machine cycle. This signal is analogous to the /LiR signal of the Z64180. /RFSH 83 Out, 3-state, Active 0 The Refresh signal. When the dynamic memory refresh address is on the low order 8-bits of the address bus (A7 - AO), /RFSH is active along with the /MREQ signal This signal is analogous to the /REF signal of the Z64180 373 CPU SIGNALS (Continued) Pin Name Pin Number Input/Output. 3-State Function IINTO 100 Wired-OR 1/0. Active 0 Maskable Interrupt Request O. Interrupt is generated by peripheral devices. This signa( is accepted if the interrupt enable Flip-Flop (IFF) is set to "1 ". Internally, the SCC and CTC's interrupt signals .are connected to this line, and require an external pull-up resistor. IINT1, IINT2 1,2, In, Active 0 Maskable Interrupt Request 1 and 2. This signal is generated by external peripheral devices. The CPU 11Onors these requests at the end of current Instruction cycle as long as the INMI, IBUSREO and liN TO signals are inactive. The CPU will acknowledge these interrupt requests with an interrupt acknowledge cycle. Unlike the acknowledgement for IINTO, during this cycle, neither IM1 or !lORO will become active. INMI 99 In, Active 0 Non-maskable interrupt request signal. This interrupt request has a higher priority than the maskable interrupt request and does not rely upon the state of the interrupt enable Flip-Flop (IFF). IHALT 81 Out, 3-State, Active 0 Halt Signal. This signal is asserted after the CPU has executed either the HALT or SLP instruction, and is waiting for either non-maskable interrupt maskable interrupt before operation can resume. It is also used with the IM1 and ST signals to decode the status 01 the CPU machine cycle. IBUSREQ 97 In, Active 0 BUS request signal. This signal is used by extemal devices (such as a OMA controller) to request access to the system bus. This request has higher priority than INMI and is always recognized at the end of the cl1rrent macl11ne cycle This signal will stop the CPU from executing further instructions and place the address bus, data bus, IMREO, /IORO, fRO and /WR signals into the high impedance state. /BUSREO is normally wired-OR and a pull-up resistor IS externally connected. /BUSACK 96 Out, Active 0 Bus Acknowledge signal. In response to IBUSREO signal, /BUSACK informs a peripheral device that the address bus, data bus, /MREO, /IORO, /RO and jWR signals have been placed in the high impedance state. /WAIT 95 Wired-OR I/O, Active 0 Wait signal. /WAIT informs the CPU that the specified memory or peripheral is not ready for a data transfer. As long as/WAIT signal is active, the MPU is continuously kept in the wait state. Intemally, the /WAIT signal from lile SCC interface fogic is connected to ttllS hne, and requres an external pull-up resistor. 374 PERIPHERAL SIGNALS Pin Name Pin Number Input/Output, 3-State Function RXAO,RXA1 70. 74 In. Active 1 ASCI Receive data 0 and 1. These signals are the receive data to the ASCI channels. TXAO,TXA1 69. 72 Out, Active 1 ASCI Transmit data 0 and 1. These signals are the receive data to the ASCI channels. Transmit data changes are with respect to the falling edge of the transmit clock /RTSO 66 Out, Active 0 Requestto send O. This is a programmable modem control signal for ASCI channel O. /DCDO 68 In. Active 0 Data Carrier Detect O. This is a programmable modem control signal for ASCI channel O. /CTSO 67 In, Active 0 Clear To Send O. Th!s is a programmable modem control signal for ASCI channel O. /CTS1/RXS 77 In. Active 0 Clear To Send O/Clocked Serial Receive Data. lhis is a programmable modem control signal for ASCI channel O. Also. this Signal becomes receive data for the CSIO channel under program control. On power-on Reset, this pin is set as RxS. CKAO//DREOO 71 I/O, Active 1 Asynchronous ClockO/DMACO request. This pin is the transmit and receive clock for the Asynchronous channel O. Also, under program control, this pin is used to request a DMA transfer from DMA channel O. DMAO monitors tilis input to determine when an external device is ready for a read or write operation. On power-on Reset. this pin is initialized as CKAO. CKA 1//TENDO 75 I/O, Active 1 Asynchronous Clock1/DMACO Transfer end. This pill is the transmit and receive clock for the Asynchronous "hannel 1. Also, under program control, this pin becomes /TENDO and is asserted during the last write cycle of the DMAO operation and is used to indicate the end of the block transfer. On power-on Reset, tllis pin initializes as CKA1. /TEND 1 80 Out. Active 0 DMAC1 Transfer end. This pin is asserted during the last write cycle of the DMA 1 operation and is used to indicate the end of the block transfer. CKS 78 I/O. Active 1 CSIO clock This line is the clock for the CSIO channel. TXS 76 Out. Active 1 CSIIO Tx Data. This line carries the transmit data from the CSIO channel. /DREQ1 79 In. Active 0 DMAC1 request. This pin is used to request a DMA transfer from DMA channel 1. DMA 1 monitors this input to determine when an external device is ready for a read or write operation .. 375 sec SIGNALS Pin Name' Pin Number Input/Output, 3-State Function /W//REQ 51 Active 0 Wait/Request. Open-drain when programmed for a Wait fUljlction, driven" 1" or "0" when programming for a Request function. Used as /WAIT or /REQUEST depending upon SCC programming. When programmed as /WAIT, this signal is asserted to alert the CPU that addressed memory or I/O devices are not ready and that the CPU should wait. When programmed as /REQUEST, this signal is asserted when a peripheral device associated with a DMA port is ready to read/write data. After reset, this pin becomes "/WAIT". /SYNC 50 I/O, Active 0 Synchronization. This pin can act either as input, output, or part of the crystal oscillator circuit. In asynchronous receive mode (crystal oscillator option not selected), this pin is an input similar to /CTS and /DCD. In this mode, transitions on this line affect the state of the Sync/Hunt status bit in Read Register 0 but has no other function. In external sync mode with crystal oscillator option not selected, this line also acts as an input. In this mode, /SYNC must be driven "0" two receive clock cycles after the last bit in the synchronous character is received. Character assembly begins on the rising edge of the receive clock immediately preceding the activation of /SYNC. In internal sync mode '(Monosync and Bisync) with the crystal oscillator option not selected, this line acts as output and is active only during the part ofthe receive clock cycle in which a synchronous cllaracter is recognized (regardless of character boundaries). In SDLC mode, this pin acts as an output and is valid on receipt of a flag RxD 52 In, Active 1 Receive Data. This input signal receives serial data at standard TTL levels. /RTxC 49 In, Active 0 Receiverrransmit clock. This pin can be programmed 'in several different modes of operation. /RTxC may supply the receive clock, the transmit clock, the clock for the Baud Rate Generator, or the clock for the Digital Phase-Locked Loop. This pin can also be programmed for use with the /SYNC pin as a crystal OSCillator The receive clocks can be 1, 16,32, or 64 times the data transfer rate in Asynchronous mode. 376 see SIGNALS (Continued) Pin Name Pin Number Input/Output, 3-State Function /TRxC 53 1/0, Active 0 Transmit/Receive Clock. This pin can be programmed in several different mO.des of operation ./TRxC can supply the receive clock or the transmit clock in the input mode. Also, it can supply the output of the Digital Phase-Locked Loop, the crystal oscillator, the Baud Rate Generator, or the transmit clock in the output mode. TxD 54 Ou\, Active 1 Transmit Data. This Output signal transmits serial data at standard TTL level. IDTRI/REQ 55 Ou\, Active 0 Data Terminal ReadylRequest. This output follows the state programmed into the DTR bit. It can also be used as general purpose output or as Request line for a DMA controller IRTS 56 Out, Active 0 Request To Send. When the RTS bit in Write Register 5 is set, the IRTS signal goes kJw. When the RTS bit is reset in Asynchronous mode and auto enable is on, the signal goes high after the transmitter is empty. In synchronous mode or in Asynchronous mode, with Auto Enable off, the IRTS pin follows the state of the RTS bit. This pin can be used as a general purpose output. ICTS 57 In, Active 0 Clear To Send. If this pin is programmed as auto enable, a "0" on the input enables the transmitter. If not programmed as Auto Enable, it may be used as a general purpose input. This input is Schmitt-trigger buffered to accommodate inputs with slow rise times. The SCC detects pulses on this input and can interruptthe CPU on both logic level transitions. lOCO 58 In, Active 0 Data Carrier Detect. This pin functions as receiver enable if it is programmed for auto enable. Otherwise, it may be used as a general purpose input. This input is Schmitttrigger buffered to accommodate slow rise-time inputs The SCC detects pulses on this input and can interrupt the CPU on both logic level transitions. 377 PIA/CTC SIGNALS Pin Name Pin NlJmber Input/Output, 3-State Function PIA 17-PIA 14 35-38 I/O Port 1 Data 7-Port 1 Data 4 or CTC zcrr03 - zcrroo. These lines can be configured as inputs or outputs on a bit -by-bit basis. Also, under program control, these bits become Z80 CTC's ZC/T03 - ZC/TOO, and in either timer or counter mode, pulses are output when the down counter has reached zero. On reset, these signals function as PIA17-14 and are inputs. PIA13-PIA10 31-34 I/O Port 1 Data3-Port1 DataOorCTCCLKlTRG3-0. These lines can be configured as inputs or outputs on a bit by bit basis Also, under program control, these bits become Z80 CTC's CLK/TRG3-CLK/TRGO, and correspond to four Counter/Timer Channels. In the counter mode, each active edge causes the downcounter to decrement by one. In timer mode, an active edge starts the timer It is program selectable whether the active edge is rising or falling. On reset, these signals are set to PIA 13-1 0 as inputs. PIA27-20 41-48 I/O Port 2 Data. These lines are configured as inputs or outputs on a bit-by-bit basis. On reset, they are inputs. SYSTEM CONTROL SIGNALS Pin Name Pin Number Input/Output. 3-State Function ST 3 Out, Active 1 Status. This signal is used with the IM1 and IHAL T output 10 decode the status of the CPU machine cycle. Note that the /M 1 output is affected by the status of the M 1E bit in the OMCR register. The following table shows the status while M1E=I. ST IHALT IM1 0 0 0 0 0 1 378 X 0 0 1 0 1 Operation CPU Operation (1st Op-code fetch) CPU Operation (2nd and 3rd Op-code fetch) CPU Operation (MC other than Op-C'ode letch) DMA operation HALT mode SLEEP mode (Inct. System STOP mode) SYSTEM CONTROL SIGNALS (Continued) Pin Name Pin Number 1 Input/Output, 308tate Function In, Active 1 Interrupt enable input signal. lEI is used with the lEO talorm a priority daisy chain when there is more than one interruptdriven peripheral. lEI 62 lEO 60 Out, Active 1 The interrupt enable output signal. In the daisy-chain interrupt control, lEO controls the interrupt of external peripherals. lEO is active when lEI is "1" and the CPU-iS not servicing an interrupt from the on-chip peripherals. /ROMCS 61 Out, Active 0 ROM Chip select. Used to access ROM. Refer to "Functional Description" on chip select signals for further explanation. /RAMCS 30 Out, Active 0 RAM Chip Select. Used to access RAM. Refer to "Functional Description" on chip select signals for further explanation. /RESET 98 In, Active 0 Reset signal./RESET signal is used lor initializing the MPU and other devices in the system. It must be kept in the active state for a period of at least 3 system clock cycles. EXTAL 94 In, Active 1 Crystal oscillator connecting terminal. A parallel resonant crystal is recommended. If an external clock source is used as the input to the Z180 Clock Oscillator unit, supply the clock into this terminal. XTAL 93 Out Crystal oscillator connecting terminal. PHI 90 Out, Active 1 System Clock. Single-phase clock output from Z181 MPU E 86 Out, Active 1 Enable Clock. Synchronous Machine cycle clock output during a bus transaction. TEST 73 Out Test pin. Used in the open state. Vee 39,82 Power Supply. +5 Volts Vss 18,40,59, 63, 92 Power Supply. 0 Volts / , 379 FUNCTIONAL DESCRIPTION Functionally, the on-chip Z181 MPU, SCC, and CTC are the same as the discrete devices (Figure 1). Therefore, for a detailed description of each individual unit, refer to the Product Specification!Technical Manual of each discrete product. The following subsections describe each individual functional unit of the SAC. Z181 MPU This unit provides all the capabilities and pins of the Zilog Z180 MPU. Figure 3 shows the Z181 MPU block diagram. This allows 100% software compatibility with existing Z180 (and Z80) software. Note that the on-chip I/O address 0 A1SfTOUT TxS RxSIICTS CKS should not be relocated to the I/O address (from OCOh to OFFh) to avoid address conflicts. The following is an overview of the major function'll units of the Z 181. Timing Generator CPU 16-Bit Programmable Reload Timers (2) IDREQ1 fTEND Clocked Serial 110 Port TxAO CKAO IDREQO RxAO IRTSO ICTSO '" J !Xl IDCDO ~ 'tl ::l TxA1 MMU CKA1 fTENDO RxA1 A19-AO D7-DO Figure 3. Z181 MPU Block Diagram 380 .- ~----- ---~~----- t FUNCTIONAL DESCRIPTION (Continued) Z181 CPU The Z181 CPU has 100% software compatibility with the ZOO CPU. In addition. the Z181 CPU has the following features: Faster execution speed. The Z181 CPU is "fine tuned" making execution speed. on average. 10% to 20% faster than the ZOO CPU. Enhanced DRAM Refresh Circuit. Z181 CPU's DRAM refresh circuit does periodic refresh and generates an 8bit refresh address. It can be disabled or the refresh period adjusted. via software control. Enhanced Insiruction Set. The l181 CPU has seven additional instructions to those of the ZOO CPU which include the MLT (Multiply) instruction. ' HALT and Low Power Modes of Operation. The Z181 CPU has HALT and low power modes of operation. which are ideal for the applications requiring low power consumption like battery operated portable terminals. System Stop Mode. When the Z181 SAC is in SYSTEM STOP mode. it is only the Z181 MPU which is in STOP mode. The on-chip CTC and SCC continue their normal operation. Instruction Set. The instruction set of the Z181 CPU is identical to the Z180. For more details about each transactIon. please refer to the Data Sheet[fechnical Manual for the Z1OO/Z80 CPU. Z181 CPU Basic Operation Z181 CPU's basic operation consists of the following events. These are identical to the Z100 MPU. For more details about each operation. please refer to the Data 'Sheet/Technical manual for the Z1OO. • Operation code fetch cycle. • Memory Read/Write operation. • InpuVOutput operation. • Bus requesVacknowledge operation. • Maskable interrupt request operation. • Trap and Non-Maskable interrupt request operation. • HALT and low power modes of operation. • Reset Operation. Memory Management Unit (MMU) The Memory Management Unit (MMU) allows the user to "map" the memory used by the CPU (64K bytes of logical addressing space) into 1M bytes of physical addressing spa,ce. The organization of the MMU allows object code compatibility with the Z80 CPU while offering access to an extended memory space. This is accomplished by using an effective "common area-banked area" scheme. DMA Controller The Z181 MPU has two DMA controllers. Each DMA ~ontroller provides high-speed data transfers beiween memory and I/O devices. Transfer operations supported .are memory to memory. memory to/from I/O. and I/O to I/O. Tral)sfer modes supported are request. burst. and cycle steal. The DMA can access the full 1M bytes addressing range with a block length up to 64K bytes and can cross over 64K boundaries. Asynchronous Serial Communication Interface (ASCI) This unit provides two individual full-duplex UARTs. Each channel includes a programmable baud rate generator and modem control signals The ASCI channels also support a multirJrocessor communication format. Programmable Reload Timer (PR f) The Z181 MPU has two separate Programmable Reload Timers. each containing a 16-bit counter (timer) and count reload register. The time base for the counters is system clock divided by 20. PRT channel 1 provides an optional output to allow for waveform generation. Clocked Serial 110 (CSI/O) The CSI/O channel provides a half-duplex serial transmitter and receiver. This channel can be used for simple highspeed data connection to another CPU or MPU. Programmable Wait State Generator To ease interfacing with slow memory and I/O devices. the Z181 MPU unit has a programmable wait state generator. Byprogramming the DMA/WAI r Control Register(DCNTL). up to three wait states are automatically inserted in memory and I/O cycles. This unit also inserts wait states during on-chip DMA transactions Z85C30 Serial Communication Controller Logic Unit This logic'unit provides the user with a multi-protocol serial I/O channel that is completely compatible with the two . - channel Z85C30 see with the following exceptions 381 • Their' basic functions as serial-to-parallel and parallel-toserial converters can be programmed by the CPU for a broad range of serial communication'! applications. This Baud Rate Generator logic unit is capable of supporting all common asynchronous and synchronous protocols (Monosync, Bisync, and SDLC/HDLC, byte or bit oriented - Figure 4). 1/1.-------. 1'.--------. } Serial Data } Channel Clocks {SYNC Internal Control 10 X 19 Channel Registers '--_ _ _..r--- /Wait Modem, DMA, } or Other Controls Interrupt { Control Lines Interrupt Control Logic Figure 4. see Block Diagram On the discrete version of the SCC (dual channel version), there are two registers shared between channels A and B, and two registers whose functions are different by channel. These are: WR2, WR9(shared registers), and RR2 and RR3 (different functionality). Following are the differences in functionality: • RR2 - Returns Unmodified Vector or modified vector depends on the status of "VIS" (Vector Include Status) bit in WR9. • RR3 - Returns IP status (Ch.A side). • WR9 - Ch.B Software Reset command has no effect. The PCLK for the SCC is connected to PHI (System clock), the /INT signal is connected to /INTO signal internally (requires external pull-up resistor) and SCC is reset when /RESET input becomes active Interrupt from the SCC is handled via Mode 2 interrupt. During the interrupt acknowledge cycle, the on-chip SCC interface circuit inserts. two wait states automatically 382 Z84C30 CounterlTimer Logic Unit This logic unit provides the user with four individual 8-bit Counter/Timer Channels that are compatible with the Z84C30 CTC (Figure 5). The Counter/Timers are programmed by the CPU for a broad range of counting and timing applications. Typical applications include 'event counting, interrupt and interval counting, and serial baud rate clock generation. Each of the Counter/Timer Channels, designated Channels 0-3, have an 8-bit prescaler (when used in timer mode) and its own 8-bit counter to provide a wide range of count resolution. Eac.h of the channels have their own Clock/Trigger input to quantify the counting process and an output to indicate zero crossing/timeout conditions These Signals are multiplexed with the Parallel Interface Adapter 1 (PIA 1). With only one interrupt vector programmed into the logic unit, each channel can generate a unique interrupt vector in response to the interrupt acknowledge cycle. FUNCTIONAL DESCRIPTION (Continued) Internal Control Logic Data Control CPU BUS Interrupt Logic 110 liNT lEI lEO ZCITO } CLKlTRG Mutiplexed with PIA1 {RESET } Figure 5. CTC Block Diagram Parallel Interface Adapter (PIA) The SAC has two 8-bit Parallel Interface Adapter (PIA) Ports. The ports are referred to as PIA 1 and PIA2. Each port has two associated control registers; a Data Register and a register to determine each bit's direction (input or output). PIA 1 is multiplexed with the CTC I/O pins. When the CTCI/O feature is selected, the CTC I/O functions override the PIA 1 feature Mode Selection is made through the System Configuration Register (Address. EDh, Bit DO). PIA 1 has Schmitt-trigger inputs to have a better noise margin. These ports are inputs after reset. C1 XTAL • Crystal Inputs EXTAL • I I I~ c=:::J C2 I~ Clock Generator The SAC uses the Z181 MPU's on-chip clock generator to supply system clock. The required clock is easily generated by connecting a crystal to the external terminals (XTAL, EXTAL). The clock output runs at half the crystal frequency. The system clock inputs of the SCC and the CTC are internally connected to the PHI output of the Z181 MPU. Figure 6. Circuit Configuration For Crystal 383 Recommended characteristics of the crystal and the values for the capacitor are as follows (the values will change with crystal fr9(!uency). Type-of crystal: Fundamental, parallel type crystal These two signals f,)~e geoerate.d by decoding address lil/es A 19-A 12. Note that glitches may be observed on the /RAMCS and fROMCS signals because the address decoding logiC decodes only A 19-A 12, without any control signals. (AT cut is recommended). Frequency tolerance: Application dependent. CL, Load capacitance: Approximately 22 pf (acceptable range is 20-30 pf) Rs, equivalent-series resistance: s; 30 Ohms Drive level:10mW (for s; 10 MHz crystal) 5mW (for ~ 10 MHz crystal) Bit 05 of the System Configuration Register allows the option of disabling the /ROMCS signal This feature is used in systems which, for example, have a shadow RAM. However, prior to disabling the /ROMCS signal, the ROMBFl and RAMLBR registers must be re-initialized from their . default values. For more detailS, please refer to "Programming section" CIN = COIJT = 15 - 22pF. ROM I;:mulator Mode Chip Select Signals The SAC has two chip select (fRAMCS, fROMCS) pins. /ROMCS is the chip select signal for ROM and fRAMCS is the chip select Signal for RAM. The boundary value for each chip select signal is 8 bits wide allowing all memory accesses with addresses less than or equal to this boundary value. This causes assertion of the corresponding /CS pin. These features are controlled via the RAM upper boundary address register (I/O address EAh), RAM lower boundary address register (I/O address EBh) and ROM upper boundary address register (I/O address ECh). To ease development, the SAC has a mode to support "FlOM emulator" development systems. In this mode, a read data from on-chip registers (except Z181 MPU onchip registers) are available (data bus direction set to output) to make data visible from the outside, so that a ROM EmulatorlLogic Analyzer can monitor internal.transactions. Otherwise, a read from an internal transaction is not available to the outside (data bus direction set to Hi-Z status). Mode selection is made through the 01 bit in the System Configuration Register (110 Addres~: EOh). PROGRAMMING The following subsections explain and define the parameters for I/O Address assignments, I/O Control Register Addresses and all pertinent Timing parameters. 1/0 Address Assignment The SAC has 78 internal 8-bit registers to control on-chip peripherals and features. Sixty-four registers out of 78 registers are occupied by the Z181 MPU control registers; 384 two for SCC control registers, four for PIA control registers, four for the Counter/Timer, three for RAM/ROM configuration (memory address boundaries) and one for SAC's system control. The SAC's I/O addresses are listed in Table 1. Thes~ registers are assigned in the SAC's I/O addressing space and the I/O addresses are fully decoded from A7-AO and have no image PROGRAMMING (Continued) Table 1. 1/0 Control Register Address Address Register OOh t03Fh EOh E1h Z181 MPU Control Registers (Relocatable to 040h-07Fh, or 080h-OBFh) PIA 1 Data Direction Register (P1 DDR) PIA 1 Data Port (P1 DP) E2h E3h E4h E5h PIA2 Data Direction Register (P2DDR) PIA2 Data Register (P2DP) CTC Channel 0 Control Register (CTCO) CTC Channel 1 Control Register (CTC1) E6h E7h E8h E9h CTC Chllnnel 2 Control Register (CTC2) CTC Channel 3 Control Register (CTC3) SCC Control Register (SCCCR) SCC Data Register (SCCDR) EAh RAM Upper Boundary Address Register (RAMUBR) RAM Lower Boundary Address Register (RAMLBR) Z181 MPU Control Registers The If0 address for these registers can be relocated in 64 byte boundaries by programming of the I/O Control Register (Address xx 111111 b). Do not relocate tllese registers to address from OCOh since this will cause an overlap of the Z180 registers and tile 16 registers of the Z181 (address OEOh to OEFh). Also, the OMCR register (Address: xx111101b) has to be pmgrammed as OxOxxxxxb (x: don't care) as a part of the initialization procedure. The M 1E bit (Bit 07) of this register must be programmed as 0 or the interrupt daisy chain is corrupted. The flOC bit (Bit 05) of this register is programmed as 0 so that the timing of tt16 fRO and flORQ signals are compatible with Z80 peripherals. For detailed information, referto the Z180 Technical Manual. EBh ECh EDh EEh EFh ROM Address Boundary Register (ROMBR) System Configuration Register (SCR) Reserved Reserved 385 ASCI CHANNELS CONTROL REGISTERS CNTLAO Bit AddrOOh MPBRI MOD2 MOD1 MODO EFR MPE RE TE 0 0 0 1 x 0 0 0 RIW RIW RIW RIW RlW RIW RIW R/W Upon RESET RIW - - IRTSO - - -r- -r- -r- I 0 0 0 0 1 1 1 1 I 0 0 1 1 0 0 1 1 I MODE Selection 0 Start + 7-Bit Data + 1 Stop 1 Start + 7-Bit Data + 2 Stop 0 Start + 7-Bit Data + Parity + 1 Stop 1 Start + 7-Bit Data + Parity + 2 Stop 0 Start + a-Bit Data + 1 Stop 1 Start + a-Bit Data + 2 Stop 0 Start + a-Bit Data + Parity + 1 Stop 1 Start + a-Bit Data + Parity + 2 Stop Read - Multiprocessor Bit Receive Write - Error Flag Reset Request To Send Transmit Enable Receive Enable Multiprocessor Enable Figure 7. ~SCI Control Register A (Ch. 0) Addr 01h CNTLA1 Bit Upon RESET RIW CKA1D MPBRI MOD2 MOD1 MODO MPE RE TE 0 0 0 1 x 0 0 0 RIW RIW RIW RIW RIW RIW RIW RIW - -r-- -r-- - r-- - r-- - EFR I I I 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 MOD E Selection Start + 7-Bit Data Start + 7-Bit Data Start + 7 -Bit Data start + 7 -Bit Data Start + a-Bit Data Start + B-Bit Data start + B-Bit Data Start + B-Bit Data + 1 Stop + 2 Stop + Parity + 1 Stop + Parity + 2 Stop + 1 Stop + 2 Stop + Parity + 1 Stop , + Parity + 2 Stop Read - MuHiprocessor Bit Receive Write - Error Flag Reset CKA 1 Disable Transmit Enable Receive Enable Multiprocessor Enable Figure 8. ASCI Control Register A (CI1. 1) 386 ASCI CHANNELS CONTROL REGISTERS (Continued) CNTLBO Addr 02h Bit MPBT Upon Reset Invalid 0 t 0 0 RIW RIW RIW RIW RIW RIW MP leTS! PS PEO DR ----TTT SS2 SSl ' 1 RIW SSO 1 1 RIW RIW I Clock Source and Speed Select Divide Ratio Parity Even or Odd Clear To Send/Prescale Multiprocessor Multiprocessor Bit Transmit t ICTS· Depending on the condition of ICTS pin. PS • Cleared to O. General Divide Ratio ps=o PS = 1 (Divide Ratio"; 10) (Divide Ratio = 30) SS,2, 1,0 DR = 0 (x16) DR = 1 (x64) DR = 0 (x16) 000 001 010 011 100 101 110 0+ 160 0+ 320 0+ 640 0+ 1280 0+2560 0+5120 0+10240 0+640 0+ 1280 0+ 2580 0+5120 0+10240 0+20480 0.+ 40960 0+ 480 0+ 960 0+1920 0+ 3840 0+ 7680 0+ 15360 0+ 30720 111 External Clock (Frequency < 0 + 40) .DR = 1 (x64) 0+1920 0+ 3840 0+7680 0+15360 0+ 30720 0+61440 0+ 122880 Figure 9. ASCI Control Register B (Ch. 0) 387 CNTLBl Bit Upon Reset RJW Addr03h - MPBT . MP leTSI PEO DR SS2 SSl Invalid 0 0 0 0 1 1 1 RJW RJW RIW RIW RIW RIW RIW RIW PS ----TTT SSO I Clock Source and Speed Select Divide Ratio Parity Even or Odd Read· S1atus of ICTS pin Write· Select PS Multiprocessor Multiprocessor Bit Transmit General Divide Ratio P8=0 (Divide Ratio = 10) 88,2,1,0 DR = 0 (x16) DR = 1 (x64) DR = 0 (x16) DR = 1 (x64) 000 001 010 011 100 101 110 0+ 160 0+ 320 0+ 640 0+ 1280 0+ 2560 0+ 5120 0+10240 0+ 640 0+ 1280 0+ 2580 0+5120 0+ 10240 0+ 20480 0+ 40960 0+ 0+ 0+ 0+ 0+ 0+ 0+ 0+ 1920 0+ 3840 0+7680 0+ 15360 0+ 30720 0+ 61440 0+122880 111 External Clock (Frequency < 0 + 40) P8 = 1 (Divide Ratio = 30) Figure 10. ASCI Control Register 8 (CI1. 1) 388 480 960 1920 3840 7680 15360 30720 ASCI CHANNELS CONTROL REGISTERS (Continued) STATO Bit Addr04h RDRF CVRN PE FE RIE IDCoo TORE t' . tt Upon Reset 0 !l 0 0 0 RIW R R R R RIW R -~-----~---- I R TIE 0 RIW I Transmit Interrupt Enable Transmit Data Register Empty Data Carrier Detect Receive Interrup~ Enable Framing Error Parity Error Over Run Error Receive DIlIa Register Full t tt IDCoo - Depending on the condition of (DCCO Pin. ICTSo Pin L H TORE 1 0 Figure 11. ASCI Status Register STAT1 Bit Addr05h RDRF CVRN PE FE RIE CTS1E TORE Upon Reset 0 0 0 0 0 0 RIW R R R R RIW RIW -----~-----~ TIE 1 0 R RIW I I Transmit l',lterrupt Enable Transmit Data Register Empty . (CTS1 Enable Receive Interrupt Enable F'lImlng Error Parity Error • Over Run Error Receive Data Register Full Figure 12. ASCI Status Register(Ch 1) 389 TORO TSRO Addr OSh Write Only Read Only I 71 s 151 41312111 01 Addr 08h Ixlxlxlxlxlxlxlxl 1 1 Transmit Data Figure 13. ASCI Transmit Data Register (Ch, 0) Received Data Figure 15. ASCI Receive Data Register (Ch, 0) TOR1 TSR1 Write Only Addr 07h Read Only 171s15141312111 0 1 Addr 09h Ixlxlxlxlxlxlxlxl 1 Transmit I Dat~ Figure 14. ASCI Transmit Data Register (Ch, 1) Received Data Figure 16. ASCI Receive Data Register (Ch 1) CSI/O REGISTERS Bit Upon Reset RIW CNTR EF AddrOAh EIE RE TE - SS2 0 0 0 0 1 1 1' 1 R RfW RIW RIW RfW RfW RfW -~--TT SSl SSO I Speed Select Transmit Enable Receive Enable End Interrupt Enable End Flag 882,1,0 Baud Rate 882,1,0 Baud Rate 000 001 010 011 0+ 0+ 0+ 0+ 100 101 110 111 0+ 320 0+ 640 0+1280 20 40 80 100 • Figure 17. GSI/O Control Register 390 External Clock (Frequency < 0 + 20) CSI/O REGISTERS (Continued) TRDR ReadIWrlte Addr OBh 17161514131211101 1 Read - Received Data Write - Transmit Data Figure 18. CSI/O Transmit/Receive Data Register TIMER REGISTERS Timer Data Registers TMDROl Read/Write TMDROH ReadlWrlte Addr OCh 17161514131211101 When Read. read Data Register L before reading Data Register H. Figure 19. Timer 0 Data Register L Figure 21. Timer 0 Data Register H TMDR1H ReadlWrite TMDR1L ReadlWrlte Addr ODh 115 114113112111110191 8 1 Addr 15h 11511411311211111019181 Addr 14h 17161514131211101 When Read. read Data Register L before reading Data Register H. Figure 22. Timer 1 Data Register H Figure 20. Timer 1 Data Register L TIMER RELOAD REGISTERS RLDROL ReadIWrlte RLDR1L ' ReadIWrlte Addr OEh 17161514131211101 Addr 16h 17161514131211101 Figure 24. Timer 1 Reload Register L Figure 23. Timer 0 Reload Register L 391 ~~~ _____ ~~_"""""""·',"""f,~_-,-~_·-r_--r-"'----·· ___ W_ - •••• 'm' •• - _ _ _ _ ........ , .............. ' .. _~~ __ " ..._ _""" _...... __ M~:;;:4A~""_,.......,.~_~_ RLDROH ReadIWrite RLDR1H ReadIWrite Addr OFh 115114113112111110191sl Addr 17h 11511411311211111019181 Figure 26. Timer 1 Reload Register H Figure 25. Timer 0 Reload Register H TIMER CONTROL REGISTER TCR Addrl0h TIF1 TIFO TIEl TIEO TOCl Upon Reset 0 0 0 0 0 0 0 0 RIW R R RIW RIW RIW RIW RIW RIW Bit I TOCO TDE1 I TDEO I . Timer Down Count Enable 1,0 Timer Output Control 1,0 Timer Interrupt Enable 1,0 Timer Interrupt Flag 1,0 TOC1,O 00 01 10 11 A1SffOUT Inhibited Toggle 0 1 Figure 27. Timer Control Register FREE RUNNING COUNTER FRC Read Only Addr lSh 17161514131211101 Figure 28. Free Running Counter 392 DMA REGISTERS SAROL ReadIWrite SA7 DAROL Read/Wrlte DA7 Addr20h SAO I I I I SAROH ReadIWrite SA15 Addr24h DAB II II SAROB ReadIWrite DAROB Read/Wrlte Addr22h SA19 SA16 I -I -I -I -I I DA19 II A19. A18. x x x x A17. A16 0 0 1 1 0 1 0 1 Addr 25h DA16 II '-1-1-1-1 Bits 0-2 (3) are used for DAROB Bits 0-2 (3) are used for SAROB x x x x II DAROH ReadIWrite DA15 Addr 21h SAS I I Addr 23h DAO DMA Transfer Request IDREaO (external) RDRO (ASCIO) TORO (ASCI1) Not Used Figure 29. DMA 0 Source Address Registers A19. A18. x x x x x x x x A17. A16 0 0 1 1 0 1 0 1 DMA Transfer Request IDREOO (external) RDRO (ASCIO) TDRO (ASCI1) Not Used Figure 30. DMA 0 Destination Address Registers 393 BCROt. ReadIWriie BC7 I Addt 2Sh BCO I· 1 1 "I 1 1 1 I BCROH ReadIWrite BC1S I 1 I I Addt27h BCS I I I I Figure 31. DMA 0 Byte Counter Registers MAR1l ReadlWrlte MA7 I I I Addr2Sh MAO I I I I I . MAR1H ReadIWrlte MA1S I 1 1 Addt·29h . MAS I I MAR1B ReadlWrite MA19 1 I Addt 2Ah MA1S I - I -I - I -I II I I Figure 32. DMA 1 Memory Address Registers 394 IAR1L ReadlWrite IAT I 1 I IAR1H ReadlWrite IA1S I 1 I I Addr2Bh IAQ 1 1 1 I Addr2Ch lAS I 1 I I Figure 33. DMA 1 110 ACldress Registers BCR1L ReadIWtite BC7 I I I I BCR1H ReadIWtite BC1S I I I I Addt2Eh BCO I I I I Addt2Fh· BCS I I I I Figure 34. DMA 1 Byte Count Registers DMA REGISTERS (Continued) DSTAT Bit Upon Reset RIW Addr30h DE1 DEO 0 0 1 1 RIW RIW W W OlEO - 0' 0 1 RIW RIW /DWE1 /DWEO DIE1 DIME 0 R DMA Master Enable DMA Inllerrupt Enable 1, 0 DMA Enable Bit Write Enable 1, 0 DMA Eneble Ch 1, 0 Figure 35. DMA Status Register DMODE Addr31h Bit - - DM1 DMO SM1 SMO MMOD - Upon Reset 1 1 0 0 0 0 '0 1 RIW RIW RIW RIW RIW RIW T I. DM1,O, Destination 00 01 10 11 M M M I/O MemOry MODE Select Ch 0 Source Mode 1, 0 , Ch 0 Destination Mode 1, 0 Address SM1,O Source Address DARO+1 DARO-1 DARO Fixed DARO Fixed 00 01 10 11 M M M I/O SARO+1 SARO-1 SAROFixed SARO Fixed MMOD Mode 0 1 Cycle Steal Mode Burst Mode Figure 36. DMA Mode Registers 395 DCNTL Btt Up<>n Reset RftN Addr32h MWl1 MWIO IWl1 IWIO DMS1 DMSO DIM1 1 1 1 1 0 0 0 0 RftN RftN RN'{ RftN RNY RftN RftN RNY I I DIMO I DMA Ch 1 1/0 Memory Mode Select IDREQi Select, i = 1, 0 1/0 Wait Insertion Memory Wait Insertion MW11,0 No. of Watt States IWI1, 0 No. of Wan States 00 01 10 11 0 1 2 3 00 01 10 11 0 2 3 DMSi sense 1 0 Edge Sense Level Sense DM1,O Transfer Mode 00 ·01 10 11 M -1/0 M -1/0 I/O-M IIO-M 4 Address Increment/Decrement MAR1+1 MAR1-1 IAR1 Fixed IAR1 Fixed IAR1 Fixed IAR1 Fixed MAR1+1 MAR1-1 Figure 37. DMAIWAIT Control Register 396 MMU REGISTERS CBR Bit Upon Resel ANI Addr 38h CB7 CB6 CBS CB4 CB3 CB2 CBl 0 0 0 0 0 0 0 0 RIW RIW ANI ANI ANI ANI ANI ANI CBO MMU Conmon Base Register Figure 38. MMU Common Base Register BBR Bit Upon Reset RIW Addr39h BB7 BB6 BB5 BB4 BB3 BB2 BBl 0 0 0 0 0 0 0 BBO 0 RIW RIW RIW RIW RIW RIW RIW RIW MMU Bank Base Register Figure 39. MMU Bank Base Register CBAR Bit UponResel RIW Addr3Ah CA3 CA2 CAl 1 1 1 1 0 0 0 0 RIW RIW RIW RIW RIW RIW RIW RIW CAO BA3 BA2 BAl BAO MMU Bank Area Register MMU Common Area Register Figure 40. MMU Common/Bank Area Register 397 SYSTEM CONTROL REGISTERS IL --:: I~ I! I~ I Addr33h 0 I I I I I 0 0 0 0 Interrupt Vector Low Figure 41. Interrupt Vector Low Register ITC Bit Upon Reset RIW Addr34h TRAP UFO . . .. ITE2 ITE1 0 0 1 1 1 0 0 1 RIW R RIW RIW RIW \TEO liNT Enable 2, 1, 0 Undefined Fetch Object TRAP Figure 42. INT/TRAP Control Registe~ RCR Bit Upon Reset RIW REFE REFW 1 1 RIW RIW . 1 1 Addr36h . - CYC1 1 1 0 0 RIW RIW CYCO Cycle Select Refresh Wait State Refresh Enable CYC1,O Interval of Refresh Cycle 00 01 10 11 10 states 20 states 40 states 80 states Figure 43. Refresh Control Register 398 SYSTEM CONTROL REGISTERS (Continued) . OMCR Addr3Eh I/O Compatibility 1M1 Temporary Enable 1M1 Enable Note: This register has to be programmed as OxOxxxxxb{x:don't care) as a part of Initialization, Figure 44, Operation Mode Control Register ICR 8ft Upon Reset RIW IOA7 Addr3Fh 10M 10STP 0 0 0 RIW RIW RIW - - - - 1 1 1 1 T 1 I/O Stop I/O Address Combination of 11 Is reserved Figure 45, 1/0 Control Register 399 eTC CONTROL REGISTERS Channel Control Word This word sets the operating modes and parameters as described below. Bit DO must be a "1" to indicate that this is a Control Word (Figure 46). For more detailed information, refer to the CTC Technical Manual: . Addr: E4h (Ch 0) E5h (Ch 1) E6h(Ch2) E7h (Ch3) -r- ~-r--r-- Control or Vector Vector 1 Control Word o Reset o Continued Operation 1 Software Reset Time Constant No Time Constant Follows 1 Time Constant Follows o Time Trigger· Automatic Trigger When Time Constant is Loaded 1 CLKlTRG Pulse Starts Timer o CLKlTRG Edge Selection Selects Failing Edge 1 Selects Rising Edge o Prescaler Value· 1 Value of 256 Value of 16 o Mode o Selects Timer Mode 1 Selects Counter Mode Interrupt 1 Enables Interrupt Disables Interrupt o • Timer Mode Only Figure 46. CTC Channel Control Word This register has the following fields: Bit 04. Clock/rrigger Edge Selector. This bit selects the active edge of the CLK[TRG input pulses. Bit 07. Interrupt Enable. This bit enables the interrupt logic so that an internallNT is generated at zero count Interrupts are programmed in either mode and may be enabled or disabled at any time. Bit 03. Timer Trigger. This bit selects the Irigger mode for timer operation. Either automatic or external trigger may be selected. Bit 06. Mode Bit. This bit selects either Timer Mode or Counter Mode. Bit 02. Time Constant. This bit indicates that the next word programmed is time constant data for the downcounter. Bit 05. Prescaler Factor. This 'bit selects the prescaler factor for use in the timer mode. Either divide-by-16 or divide-by-?56 is available. Bit 01. Software Reset. Wnting a "1" to thiS bit indicates a software reset operation, which stops counting activities until another time constant word is written. 400 eTC CONTROL REGISTERS (Continued) Time Constant Word Before a channel can start counting, it must receive a time constant word. The time constant value may be anywhere between 1 and 256, with "0" being accepted as a count of 256 (Figure 47). Interrupt Vector Word If one or more of the CTC channels have interrupt enabled, then the Interrupt Vector Word is programmed. Only the five most significant bits of this word are programmed, and bit DO must be "0". Bits 02-Dl are automatically modified by the CTC channels after responding with an interrupt vector (Figure 48). Addr: E4h -r-r-r--~ TCO TCl o TC2 Channel Identifier (Automatically Inserted TC4 ! Interrupt Veclor Word 1 Control Word TC3 byCTC) TC5 TC6 o o 0 1 1 0 1 1 TC7 Channel 0 Channell Channel2 Channel3 Supplied By User Figure 47. CTC Time Constant Word Figure 48. CTC In~errupt Vector Word sec REGISTERS For more detailed information, please refer to the Z8030/ Z8530 SCC Technical Manual. Note: The Address for the Control/Status Register is E8h. The Address for the Data Register is E9h. Read Registers The SCC contains eight read registers. To read the contents of a register (rather than RRO). the program must first initialize a pOinter to WRO In exactly the same manner as a write operation The next I/O read cycle will place the contents of the selected read registers onto the data bus (Figure 49). Table 2. SCC Read Registers Bit Description Bit Description RRO Transmit and Receive buffer status and external status. Special Receive Condition status. Interrupt vector (modified if VIS Bit in WR9 is set). Interrupt pending bits. SOLC FIFO byte counter lower byte (only when enabled). RR7 SOLe FIFO byte count and status (only when enabled). Receive buffer. Miscellanous status bits. Lower byte of baud rate. Upper byte of baud rate generator time constant. External Status interrupt information. RRl RR2 RR3 RR6 RR8 RR10 RR12 RR13 RR15 401 Read Register 0 Read Register 2 Ax Character Available Zero --------~ Count VO Vl Tx Buffer Empty V2 DCD V3 , InterJUpt SynclHunt V4 Vector * CTS V5 . Tx UnderlUnlEOM Break/Abort V6 V7 * Modfiod HVIS bit In Write regi_ 910 ..t. a) b) Read Register 1 Read Register 3 Iml~I~I~loolool~lool -,... -,... -'r-,.. All Sent Residue Code 2 Residue Code ---~ 1 Residue Code 0 Ext/Status IP , TxlP Parity Error Ax OverlUn Error RxIP CRClFraming Error o End of Frame (SDLC) o c) d) Figure 49. 402 o o o see Read Register Bit Functions see REGISTERS (Continued) Read Register 6 - * Read Register 10 ---'~ BOO BCI BC2 BC3 . * Loop Sending BC4 B05 0-, B06 Two Clocks Missing BC7 One Clock MISsing Can only be accessed if the SOLC FIFO enhancement is enabled (WR15 bit 02 set to I) g) e) SDLC FIFO Status and Byte Count (LSB) Read Register 12 Read Register 7 * 1~loolool~looloolrnlool rBe8 Be9 Bel 0 Bell L...._ _ _ _ _ _ _ _ , - ,- ~ TOO TCI TC2 TC3 Lower Byte TC4 of Time Constent Bel2 TCS Bel3 TC6 FDA: FIFO Available Stetus I Stetus Reads from F1FO TC7 FOS: FIFO Overflow Status I FIFO Overflowed Normal o * . h) Can only be accessed if the SDLC FIFO enhancement is enabled (WR15 bit 02 set to I) f) SDLC FIFO Status and Byte Count (MSB) Figure 49. SCC Read Register Bit Functions (Continued) 403 Read Register 13 Read Register 15 IWI~I~I~IOOIOOI~IOOI Iwloolool~loolool~lool r-' . - ~ r-r--~T"L -r Tca ~ l'CS 00 ZeroCountlE TC10 TC11 TC12 DCDIE Upper Byte of TIme Constant Sync/Hunt IE TC13 CTI1'E TC14 Tx UndemmlEOM IE TC15 Break/Abort IE j) Figure 49. k) see Read Register Bit Write Registers The SCC contains fifteen write registers that are programmed to configure the operating modes of the channel. With the exception of WRO, programming the write registers is a two step operation, The first operation is a Table 2. Functions (Continued) pointer written to WRO that points to the selected register. The second operation is the actual control word that is written into the register to configure the SCC channel (Figure 50). see Write Registers Bit Description Bit WRO WR1 WR2 Register Pointers, various initialization commands Transmit and Receive interrupt enables, WAIT/OMA commands Interrupt Vector WR8 Transmit buffer WR9 Master Interrupt control and reset commands WR10 Miscellaneous transmit and receive control bits WR11 Clock mode controls for receive and transmit WR3 WR4 WR5 WR6 WR7 Receive parameters and control modes Transmit and Receive modes and parameters Transmit parameters and control modes Sync Character or SDLC adcjress Sync Character or SOLC Ilag WR12 WR13 WR14 WR15 404 Description Lower byte of baud rate generator Upper byte of baud rate generator Miscellaneous control bits External status interrupt enable control see REGISTERS (Continued) Wrfte Register 0 (non-muftiplexed bus mode) Write Register 1 Imlool;lwlool~I~lool TTT o 0 o 0 1 1 1 1 1 0 0 1 o .' 1 1 0 i~!:}* o o o 1 1 1 1 1 0 0 1 1 o o o 1 1 * 0 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 RegisterO Register 1 Register2 Register3 Register4 Register 5 Register6 o o o 0 1 1 o 1 1 o o 1 o 1 Ext Int Enable Tx Int Enable Parity is Special Condition o o 0 1 o c Rx Int Disable Rx Int On First Character or Special Condition Int On All Rx Characters or Special Condition Ax Int On Special Condition Only WAIT/oMA Request On ReceivellTransmft Register 12 Register 13 Register 14 Register 15 IWAITIDMA Request Function WAIT/oMA Request Enable 0 Null Code 1 Point High 0 Reset Ext/Status Interrupts 1 Send Abort (SOle) 0 . Enable Int on Next Rx Character t Reset Tx Int Pending 0 Error Reset 1 Reset Highest IUS NuilCode Reset Rx CRC Checker Reset Tx CRC Generator Reset Tx UnderrunlEQM Latch Wfth Point High Command b) Write Register 2 Imlool~l;lool~I~lool Tl!i=~ ~V3 V4 a) Interrupt Vector V5 V6 V7 c) Figure 50. Write Register Bit Functions 405 Wri~ Register 3 ill=L 1071061051041031021011 I, DO - - -I"" -I"" - ~. , AxEnable Sync C~aracIer Lo~ Inhibit , Address Seerot. Mode (SOLC) Ax CRC Enable Enter Hunt Mode Auto E"ables o o 1 1 0 1 0 1 Ax 5 BitslCharatter Ax 7 ails/Character Ax 6 Bils/Chara¢ler Ax 8 ails/Characler d) Write Register 4 Write Register 5 ' Perity Enable Tx CRC Enable Perity EVEN//ooO o o 1 1 o o 1 1 0 1 0 1 0 1 0 1 RTS ISOLClCRC-16 Sync Modes Enable 1 Stop IlIVCharacler 1 112 Stop BlltllCharacler 2 Stop BlltllCharacler 8-81t Sync Character 16-Bit Sync Character SOLe Mode (01111110 Flag) External Sync Mode TxEnable Send Break o o 1 1 0 1 0 1 Tx 5 Bits(Or Less)/Cheracter Tx 7 Bils/Character Tx 6 Bils/Character Tx 8 Bils/Character OTR o o 1 1 0 1 0 1 XI Clock Mode X16 Clock Mode X32 Clock Mode X64 Clock Mode f) e) Figure SO. Write Register Bit Functions (Continued) 406 see REGISTERS (Continued) Sync7 Syncl Sync7 Sync3 AOR7 AOR7 Sync6 SyncO Sync6 Sync2 AOR6 AOR6 Sync5 Sync5 Sync5 Syncl ADR5 AOFl5 Sync4 Sync4 Sync4 SyncO ADR4 AOR4 Sync3 Sync3 Sync3 1 AOR3 Sync2 Sync2 Sync2 1 ADR2 Sync 1 Sync 1 Syncl 1 AORI SyncO SyncO SyncO 1 AORO x x x x Monosync. 8 B~s Monosync. 6 B~ Bisync. 16 B~ Bisync. 12 B~ SOLe SOLe (Address Range) g) Wrfte Register 7 Sync7 SyncS Sync15 Syncll o Sync6 Sync4 Sync14 Syncl0 1 SyncS Sync3 Sync13 Sync9 1 Sync4 Sync2 Sync12 Sync8 1 Sync3 Sync1 Syncll Sync7 1 Sync2 Sync1 SyncO x Sync10 Sync9 Sync6 Sync5 1 1 SyncO x Sync8 Sync4 0 Monosync. 8 B~s Monosync. 6 Bfts Bisync. 16 Bits Bisync. 12 B~ SOLe h) Figure 50. Write Register Bit Functions (Continued) 407 I Write Register 11 1071061051041031 021 O~I.0~, '"'I-l T T "T" ........ "T"' "T" ~ ~ ~ o o \ ITRxC Out ' ITRxC Out ' ITRxC Out ' ITRxC Out ' Xtal Output TransrTit ClockOutput BR Generator OPLL Output ITRxCOIi I I I Pin o o TransrTit Clock ,/RTxC Pin o 1 Trans~t CI::: : ITRxC BR Generator Output 1 o Trans~t CI , OPLL Output 1 Transmt Clock 1 o o o 1 1 o NoReset Reserved Channel Reset A 1 1 Force ,Hardware Re~ o o o o 1 1 1 o . Clock ,/RTxC Pin ReceIve Clock ,ITRxC Pin Receive ock . BR Generator Output R&ee!ve ~ • OPLL Output 1 R9C9Ive , IRTxC XtaI//No Xtal I) k) 6 BitlIS Bit Sync Loop Mode TCO AbortllFlag On Undenun TCI TC2 Markl/FIag Idle Go Active On Poll I o o 1 1 TC3 I o NRZ 1 ~ TC4 NRZI FMl ffransition = 1) FMO (Transition = 0) TCS TC6 TC7 CRC Preset 11/0 j) I) , B't Figure 50, Write Register I Functions (Continued) 408 0' Lower Byte lime Constant see REGISTERS (Continued) Write Register 13 Write Register 14 Iwl~I~I~looloolmlool - r- r~TLTC8 BR Generator Enable ~\TC9 BR Generator Source IOTRiRequest Function TCIO TCII TCI2 Auto Echo Upper Byte of lime Constant Local Loopback TCI3 0 0 0 0 1 1 1 I TCI4 TCI5 m) 0 0 I I 0 0 0 I 0 I 0 I 0 I NuJlCommand Enter Search Mode Reset Missing Clock Disable OPLL Set Source =BR Generator Set Source =IRTxC Set FM Mode Set NRZI Mode n) Write Register 15 Iwl~I~I~looloolmlool -r-r r r-~TL ~ 0 Zero Count IE SOLC FIFO Enable OCOIE SynclHuntlE CTSIE Tx Undenun/EOM IE BreakiAborllE 0) Figure 50. Write Register Bit Functions (Continued) 409 PIA CONTROL REGISTERS PIA 1 Data Direction Register (P1 DDR, I/O Address I:Oh), PIA 1 Data Port (P1DP, I/O address E1 h), PIA2 Data Direction flegister (P2DDR', I/O 'Address E2h) and PIA2 Data Register(P2DP,I/0 Address E3h) These four registers are EOH shown In Figures 51-54. Note that if the CTC/PIA bit in the System Configuration Register is set to one, the CTC I/O functions override the PIA 1 function, and programming of P1DDR is ignored. E2H 1 -Input 0- Output 1 - Input 0- Output 1 -Input O· Output 0- Output 1 -Input 1 -Input 0- Output 1 -Input 0- Output 1 -Input 0- Output 1 -Input 0- Output 1 -Input 1 -Input 0- Output o -.Output 1 -Input o -Output 0.- Output 1 -Input 0- Output 0- Output 1 -Input 1 -Input 1 -Input 1.-lnput 0- Output 0- Output Figure 51, PIA 1 Data Direction Register Figure 53, PIA 2 Data Direction Register E1H E3H I 71615 1413 12 11 10I 1 17161514131211101 PIA 1 110 Data I PIA 2 1/0 Data Figure 52, PIA 1 Data Register Figure 54, PIA 2 Data Register The Data Port is the register to/from the 8-bit parallel port. At power on Reset. they are initialized to 1. a" 1", the bit becomes an input, otllerwise it is an output On reset, these registers are Initialized to 1, result'ing in all lines being inputs The Data Direction Register has eight control bits Individual bits specify each bit's direction. When the bit is set to 410 REGISTERS FOR SYSTEM CONFIGURATION There are four registers to determine system configuration with the Z181. These registers are: RAM upper boundary address register (RAMUBR, I/O address EAh), RAM lower boundary address register (RAMLBR, I/O address EBh), ROM address boundary register (ROMBR, I/O address ECh) and System Configuration Register (SCR, I/O address EOh). ROM Address Boundary Register (ROMBR, I/O Address ECh) This register specifies the address range for the /ROMCS signal. When accessed memory addresses are less than or equal to the value programmed in this register, the /ROMCS signal is asserted (Figure 55). The A 18 signal from the CPU is obtained before it is multiplexed with "TOUT". This signal can be forced to "1" (inactive state) by setting Bit 05 of the System Confiquration Register, to allow the usertooverlay the RAM area over the ROM area. At power-up reset. this register contains all 1s so that /ROMCS is asserted for all addresses RAM Lower Boundary Address Register (RAMLBR, I/O Address EBh) and RAM Upper Boundary Address Register (RAMUBR, I/O Address EAh) These two registers specify the address range for the /RAMCS Signal. When accessed memory addresses are less than or equal to the value programmed in the RAMUBR and greater than or equal to the value programmed in the EAH RAMLBR, /RAMCS is asserted. (Figure 13) The A 18 signal from the CPU is taken befpre it is multiplexed with "TOUT". In the case that these register are programmed to overlap, /ROMCS takes priority over /RAMCS (fROMCS is asserted and /RAMCS is inactive). Chip Select Signals are going active for the address range: fROMes: (ROMBR);O: A 19-A 12;0: 0 /RAMCS: (RAMUBR) ;0: A 19-A 12 > (RAMLBR) These registers are set to "FFh" at power-on Reset. and the boundary addresses of ROM and RAM are tile following: ROM lower boundary address (fixed) = oooOOh ROM upper boundary address (ROMBR register) OFFFFFh = RAM lower boundary address (RAMLBR register) OFFFFFh = RAM upper boundary address (RAMUBR register) = OFFFFFh Since /ROMCS takes priority over fRAMCS, the latter will never be asserted until the value in the ROMBR and RAMLBR registers are re-initialized to lower values. EBH ,.. A12 A13 A14 A15 A16 ~ A12 A13 A14 A15 A16 A17 A17 A18 A18 A19 A19 Figure 55. RAM Upper Boundary Register Figure 56. RAM Lower Boundary Register 411 ECH A12 A13 A14 A15 A16 A17 Ala A19 Figure 57. ROM Boundary Register EDH , L PIAlfCTIO 1 PIAl Functions as CTC's VO Pins o PIAl Functions as If0 Port Reserved - Program as 0 ROM Emulator Mode (REME) 1 Data Bus in ROM Emulator Mode o Data Bus in Normal Mode Reserved - Program as 0 Reserved - Program as 0 Disable fROMCS 1 fROMCS is Disabled o fROMCS is Enabled Daisy Chain Configuration 1 lEI Pin-CTC-SCC-IEO Pin lEI Pin-SCC-CTC-IEO Pin o . Reserved - Program as 0 Figure 58. System Configuration Register 412 REGISTERS FOR SYSTEM CONFIGURATION (Continued) System Configuration Register (I/O address EDh) This register is to determine the functionality of PIA 1 and the Interrupt Daisy-Chain Configuration (Figure 13). This register has the following control bits: Bit 05. Disable /ROMCS. When this 'bit is set to "1", /ROMCS is forced to a "1" regardless of the status of the address decode logic. This bit's default (after Reset) is 0 and /ROMCS function is enabled. Bit 07. Reserved and should be programmed as "0" . Bit 04-03. Reserved and should be programmed as "00". Bit 06. Daisy-Chain Configuration. arrangement'of the interrupt priority daisy chain. Bit 02. ROM Emulator Mode Enable. When this bit is set to a 1, theZ181 isin "ROM emulator mode". In this mode, bus direction for certain transaction periods are set to the opposite direction to export internal bus transactions outside the Z80181. This allows the use of ROM emulators/ logic analyzers for .applications development. This bit's default (after Reset) is O. . Determines the When this bit is set to "1", priority is as follows: fEI pin - CTC - SCC - lEO pin When this bit is "0", priority is as follows: Bit D1. Reserved and shall be programmed as "0". lEI pin - SCC - CTC - lEO pin This bit's default (after Reset) is O. Bit 00. CTC/PIA 1. When this bit is set to "1", PIA 1 functions as the CTC's I/O pins. This bit's default (after Reset) is O. 413 ... - - -•• - - .............. ,.........,',""~" ....""""."...." .... ,,. ",·.'·~··I"''iT',...-r;'I:'"-;-"··''-·!'"''-,'"'' DATA BUS DIRECTION Table 3 shows the state of the SAC's data bus for the condition thatlhe SAC is bus master. Table 3. Data Bus Direction (Z181 Is Bus Master) 1/0 And Memory Transactions I/O Write To On-Chip Peripherals (SCC/CTC/ PIA1/PIA2) I/O Read From On-Chip Peripherals (SCC/CTC/ PIA1/PIA2) I/O Write To Off-Chip Peripheral I/O Read From Off-Chip Peripheral Write To Memory Read From Memory Refresh Z80181 Idle Mode Z80181 Data Bus (REME Bit =0) Out Z Out In Out In Z Z Z80181 Data Bus (REME Bit = 1) Out Out Out In Out In Z Z Interrupt Acknowledge Transaction Intack For On-chip Peripheral (SCC/CTC) Intack For Qff-chip Peripheral Z80181 Data Bus (REME Bit = 0) Z In Z80181 Data Bus (REME Bit = 1) Out In 414 DATA BUS DIRECTION (Continued) Table 4 shows the state of the SAC's ·data bus for the condition that the Z80181 is NOT bus master. Table 4. Data Bus Direction for External Bus Master (Z0181 Is Not Bus Master) 1/0 And Memory Transactions 110 110 •110 110 Read From On-Chip Peripherals (SCCICTC/ PIA1/PIA2) Write To On-Chip Peripherals (SCC/CTC/ PIA1/PIA2) Read From Off-Chip Peripheral To Off-Chip Peripheral Z80181 Data Bus (REME Bit = 0) In Out Z Z80181 Data Bus (REME Bit ~ 1) In Out Z Write From Memory Read Refresh Ext• BusMaster Is Idle Z Z In Z Z Z Z In Z Z Memory , Interrupt Acknowledge Transaction IntackFor On-chip Peripheral (SCC/CTC) Intack For Off-chip 'Peripheral Z80181 Data Bus (REME Bit = 0) Out In Z80181 Data Bus (REME Bit = 1) Out In The word "OUT" means thatthe Z181 data bus direction is in output mode, "IN" means input mode, and "HI-Z" means high impedance. . ''REME'' stands for "ROM Emulator Mode" and is the status of 02 bit in the System Configuration Register 415 ABSOLUTE MAXIMUM RATINGS Voltage on Vcc with respect to Vss ........... -0.3V to +7.0V Voltages on all inputs with respect to Vss .............................. -0.3V to Vcc+0.3V Operating Ambient Temperature ............................ See Ordering Information Storage Temperature ..... I ...................... -65°C to + 150°C Stresses greater than those listed under AbSolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only; operation of the device at any condition above those indicated in the operational sections of these specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. STANDARD TEST CONDITIONS The DC Characteristics and capacitance sections below apply for the following standard test conditions, unless otherwise noted. All voltages are referenced to GND (OV). Positive current flows into the referenced pin. +5V 2.1 K Available operating t~mperature range is: E = -40°C to 100°C Voltage Supply Range: +4.50V ~ Vcc ~ + 5.50V All AC parameters assume a load capacitance of 100 pI. Add 10 ns delay for each 50 pf increase in load up to a maximum of 150 pf for the data bus and 100 pf for address and control lines. AC timing measurements are referenced to 1.5 volts (except for clock, which is referenced to thE1 10% and 90% points). Maximum capacitive load for ClK is 125 pI. ' The Ordering Information section lists temperature ranges and product numbers. Refer to the Literature List for additional documentation. 416 From Oulput Under Test U-----+---'t---J.J---"/ 100 pI I Figure 59. Standard Test Circuit DC CHARACTERISTICS Z80181 Symbol Parameter V'Hl Input "H" Voltage /RESET, EXTAL, /NMI Input "H" Voltage Except /RESET, EXTAL, /NMI Input "L" Voltage /RESET, EXTAL, /NMI Input "L" Voltage Exc'ept /RESET, EXTAL, /NMI V'H2 V'L1 VK.2 VOH VOl. I'L In. Iee ' Cp Output "H" Voltage All outputs. Output "L" Voltage All outputs. Min Typ Max Unit Vee -0.6 Vee +0.3 V 2.0 Vee +0.3 V -0.3 0.6 V -0.3 0.8 V 2.4 Vee -1.2 V Input Leakage Current All Inputs ExceptXTAL,EXTAL Tri-State Leakage Current Power Dissipation' (Normal Operation) Power Dissipation' (SYSTEM SlOP mode) Pin Capacitance • V,HMin=Vee·l.0V, vee = 5.00v V~Max=O.8V(alioutputterminalsareat Condition IOH = -200 (.lA IOH = -20 (.lA 101. = 2.2 rnA 0.45 V 10 (.lA V'N = 0.5 - Vee -0 5 10 (.lA V'N = 0.5 - Vee -05 100 mA 1= 12.5 MHz 1= 10 MHz 1= 12.5 MHz f=10MHz 25 80 6.3 50 40 12 pI V'N = OV, f = 1 MHz TA = 25°C noload.) 417 AC CHARACTERISTICS Z180 MI?U Timing Figures 60-68 show the timing for the Z181 MPU and the referenced parameters appear in Table A. T2 T1 Tw T3 T1 '" Address fROMCS fRAMCS !WAIT IMREO fRO fM1 ST ++-____________-++_____+ ____ flORO _ _ _ _ twR Data In fRESET Figure 60a. Op-code Fetch Cycle 418 AC CHARACTERISTICS (Continued) Z180 MPU Timing T1 T2 Twa T3 T1 o Address fROMCS fRAMCS /WAIT flORO IRD /wR Data IN Data OUT 1"--_ _ _ _ _ _ _ _ _ _..11 , [1) "H" ST [1) Output buffer is off at this point. [2) Memory Read/Write cycle timing is the same as this figure, except there is no automatic wait status (Twa), and fMREO is active instead of fIORO. Figure 60b. I/O Read/Write, Memory Read/Write Timing 419 o IINTI INMI IINTSCC(4] IMI(I] IIOROtl] IDataIN(I] IMREO(2] IRFSH(2] IBUSREO IBUSACK Address Data/MREQ, IRD,twR, IIORO -----------11--,,1 IHALT Notes: [I] During IINTO acknowledge cycle [2] During refresh cycle (3] Output buffer is off at this point (4] Refer 10 Table C, parameter 7 Figure 61, CPU Timing (lINTO Acknowledge Cycle, REjfresh Cycle, BUS RELEASE Mode HALT Mode, SLEEP Mode, SYSTEM STOP Mode) 420 AC CHARACTERISTICS (Continued) Z180 MPU Timing VO Read Cyde T1 T2 Tw 110 Write Cyde T1 1"3 T2 Tw 1"3 fZ) Address IIORO IRD IWR I Figure 62. CPU Timing (flOC = 0) (I/O Read Cycle, I/O Write Cycle) 421 o IDREQi (At level sense) IDREQi (At edge sence) fTENDi ST DMA Control Signals [1) tORas and tORaH are specified for the rising edge of clock followed by T3. [2) tORas and tORaH are specified for the rising edge of clock. [3) OMA cycle starts. [4) CPU cycle starts. Figure 63. DMA Control Signals 422 AC CHARACTERISTICS (Continued) Z180 MPU Timing Tl T2 Tw Tw T3 o E (Memory ReadlWrite) E (110 Read) E (110 Read) D7-DO ==> a) E Clock Timing (Memory Read/Write Cycle, I/O Read/Write Cycle) o BUS RELEASE Mode E { SLEEP Mode SYSTEM STOP Mode b) E ClOCk Timing (BUS RELEASE Mode, SLEEP Mode, SYSTEM STOP Mode) Figure 64. E Clock Timing 423 T2 Tw T3 T1 T2 o ... , E (Example: I/O ReadOp-code Fetch) E (VOWrlte) Figure 65. E Clock Timing (Minimum timing example of PWEL and PWEH) o A181T0UT Figure 66. Timer Output Timing 424 AC Ct,tARACTERISTICS (Continued) Zi80 MPU Timing SLP Instruction Fetch T3 Next Op-code Fetch Tl T2 TS TS Tl T2 IINTi INMI A18-AO IMREQ,/Ml IRO IHALT Figure 67. SLP Execution Cycle 425 CSIIOClock Transmit Data (Internal Clock) Transmit Data (External Clock) Receive Data (Internal Clock) Receive Data (External Clock) Figure 68. CSI/O ReceivelTransmit Timing Table A. Z180 CPU & 180 Peripherals Timing No Symbol Parameter Z8018110 Max Min Z8018112 Min Max 1 2 3 4 5 6 tcyc tCHW tCLW tcl tcr tAD Clock Cycle Time Clock Pulse Width (High) Clock Pu.lse Width (Low) Clock Fall Time Clock Rise Time Address Valid Irom Clock Rise 100 40 40 80 30 30 7 8 10 tM1Dl Address Valid to fMREO, flORO Fall Clock Fall to fMREO Fall Delay Clock Fall to fRO Fall (fIOC=l) Clock Rise to IRD Fall (fIOC=O) Clock Rise to IMl Fall Delay 10 9 tAS tMEDl tRDDl 426 2000 10 10 70 10 10 40 ns ns ns ns ns ns 45 45 50 50 ns ns ns ns ns 2000 10 50 50 55 60 Unit Note AC CHARACTERISTICS (Continued) Z180 MPU Timing Table A. Z180 CPU & 180 Peripherals Timing (Continued) No Symbol Parameter 11 tAH 12 13 14 15 tMED2 tRDD2 tM1D2 tDRS Address Hold Time (/MREO./IORO./RD. /WR) Clock Fall to /MREO Rise Delay Clock Fall to IRD Rise Delay Clock Rise to IM1 Rise Delay Data Read Setup Time 16 17 18 19 21 tDRH tSTDl tSTD2 tWS tWH tWDZ Data Read Hold Time Clock Fall to ST Fall Clock Fall to ST Rise /WAIT Setup Time to Clock Fall /WAIT Hold time from Clock Fall Clock Rise to Data Float Delay 22 23 24 25 tWRDl tWDO IWRD2 IWRP Clock Rise to /WR Fall Delay /WR fall to Dala Oul Delay Clock Fall 10 /WR Rise /WR Pulse Widlh (Memory Wrile Cycles) /WR Pulse Widlh (1/0 Write Cycles) 20 25a 26 27 tWDH 1I0Dl 28 1I0D2 Write Data Hold Time from /WR Rise Clock Fall 10 IIORO Fall Delay. (lIOC=l) Clock Rise to IIORO Fall Delay (lIOC=O) Clock Fali/lOOR Rise Delay 29 30 31 32 33 34 1I0D3 liNTS tlNTH INMIW tBRS IBRH IMl Fall 10 IIORO Fall Delay liNT Setup Time to Clock Fall liNT Hold Time from Clock Fall INMI Pulse Width /BUSREO Setup Time to Clock Fall /BUSREO Hold Time from Clock Fall 35 36 37 38 39 40 IBAD1 lBAD2 IBZD tMEWH IMEWL tRFD1 Clock Rise 10 /BUSACK Fall Delay Clock Fall to IBUSACK Rise Delay Clock Rise 10 Bus Floating Delay rime IMREO Pulse Width (High) IMREO Pulse Widlh (LOW) Clock Rise to IRFSH Fall Delay 41 42 43 44 45 46 tRFD2 tHAD1 IHAD2 tDROS tDROH tTED1 Clock Rise to IRFSH Rise Delay Clock Rise to IHALT Fall Delay Clock Rise 10 IHALT Rise Delay IDJ;lEOi Setup Time to Clock Rise IDREOi Hold Time from Clock Rise Clock Fall 10 /TENDi Fall Delay Z8018110 Min Max 10 ZJK)18112 Min Max 10 50 60 20 25 0 0 50 60 60 50 20 20 30 30 60 60 50 10 50 30 10 45. ns ns ns ns ns ns ns ns ns ns 110 85 .os ns ns ns 210 165 ns 10 200 30 30 50 10 45 ns ns 55 50 ns 50 50 ns 80 160 20 20 60 30 30 20 20 60 80 70 80 ns ns' ns ns ns ns 50 50 60 60 60 60 60 40 60 .40 30 50 50 30 20 20 30 30 50 Note ns 45 45 50 50 Unit 50 ns ns ns ns ns ns ns ns ns ns 'ns ns 427 ----~~.~.~ ..,.. AC CHARACTERISTICS (Continued) Z 180 MPU Timing Table A. Z180 CPU &180 PeripheralS Timing (Conti'nued) No Symbol Parameter 47 48 49 50 51 52 tTED2 tED1 tED2 PWEH PWEL tEr Clock Fall to /TENDi Rise Delay Clock Rise to E Rise Delay Clock Edge to E Fall Delay E Pulse Width (High) E Pulse Width (Low) Enable Rise Time 53 54 55 tEt tTOD tSTDI 56 tSTDE Enable Fall Time Clock Fall to Timer Output Delay CSIIO lx Data Delay Time (Internal Clock Operation) CSI/O Tx Data Delay Time (External Clock Operation) 57 tSRSI 58 tSRHI 59 tSRSE Z8018110 Min Max Z8018112 Min Max 50 60 60 20 10 ns ns ns ns ns ns 20 150 150 10 120 120 ns ns ns 55 110 50 40 40 Unit 45 90 7 .5tcyc+ 120 ns 7.5tcyc+150 CSI/O Rx Data Setup Time (Internal Clock Operation) CSI/O Rx Data Hold Time . (Internal Clock Operation) CSIIO Rx Data Setup Time (External Clock Operation) tcyc tcyc lcyc --- 60 ·tSRHE 61 62 63 64 65 tRES tREH tOSC tEXr tEXt 66 67 68 tRr tRI !lr 69 tlf 70 TdCS(A) 428 CSI/O Rx Data Hold 1ime (External Clock.Operation) /RESET Setup Time to Clock Fall /RESET Hold Time tram Clock Fall Oscillator Stabilization Time External Clock Rise Time (EXT AL) External Clock Fall Time (EXT AL) /RESET Rise Time /RESET Fall Time Input Rise Time (Except EXTAL, /RESET) Input Fall Time (Except EXTAL, /RESEf) Address Valid to /ROMCS, Valid Delay /f~AMCS tcyc 20 25 25 20 20 20 ns ns ms ns ns 50 50 100 50 50 80 ns ns ns 100 80 ns 20 20 ns 80 50 60 45 Nole AC CHARACTERISTICS (Continued) CTC Timing Figure 69 shows the timing for the on-chip Cl C, Parameters referred to in this figure appear in Table B, Clock CLKlTRG Counter _ __ CLKlTRG Timer ----f#' zcrro liNT Figure 69. eTe Timing Table B. eTe Timing Parameters No Symbol Parameter Z8018110 Min 1 2 TdCr(INTI) TsCTRr(Cr)c 3 TsCTR(Ct) 4 Clock Rise to /INT Fall Delay ClK/TRG Rise to Clock Rise Setup Time for Immediate Count ClK/IAG Rise to Clock Rise Setup Time for Enablmg of Prescalor On Following Clock Rise 6 7 TdCTRr(INTI) CLK/lRG Rise to /INT Fall Delay TsCTR(C) Satisfied TsCTR(C) Not Satislied TcCTR CLK/TRG Cycle Time TwCTRh CLK/TRG Width (low) TwCTRI ClK{TRG Width (High) 8 9 10 11 TrCTR TlCTR TdCr(ZCr) TdCf(ZCf) 5 ClK(I RG Rise Time CLK{TRG Fall Time Clock Rise to ZCfro Rise Delay Clock Fall to ZC/TO Fall Delay Max Z8018112 Min (TcC+100) Unit Note ns [B1] Max (TcC+80) 90 60 ns [B2] 90 60 ns [B1] ns ns ns ns ns [B2] [82] [B3] (1)+(3) TcC+(1)+(3) (2TcC) DC 90 DC 90 DC 30 30 80 80 (1)+(3) TcC+( 1)+(3) (2TcC) DC DC 90 DC 90 30 30 80 80 ns IlS ns ns Notes lor Table B: [81 J TImer Mode [821 Counter Mode [831 Counter Mode Only; When using a cycle time less than 3TcC, parameter #2 must be met. 429 AC CHARACTERISTICS (Continued) SCC Timing Figure 70 shows the AC characteristics for the on-chip SCC. Parameters referred to in this figure appear in Table C. !WR /r- IRO 1 \ !WI/REO Wait 2 !WI/REO J Request 3 ".- 4 / IOTRl/REO Request 5 liNT 6 J Figure 70. SCC AC Parameters Table C. SCC Timing Parameters (85C30 AC Characteristics) No Symbol Parameter 1 2 3 4 TdWR(W) TdWR(W) TdWRf(REO) TdRDf(REO) /WR Fall to Wait Valid Delay /RD Fall to Wait Valid Delay /WR Fall to /W//REO Not Valid Delay /RD Fall to /W//REO Not Valid Delay 5 6 TdWRr(REO) TdPC(INT) TdRDA(INT) /WR Rise to /DTR//REO Not Valid Delay Clock to /INT Valid Delay /M1 Fall to /INT Inactive Delay 7 Note for Table C: [C 1) Open-drain output, 430 mea~ured with Open-drain test load. 28018110 Min Max 28018112 Min. Max Unit Note [C1] [C1] 180 + TcC 180 180 + TcC 180 125 + TcC 125 125 +TcC 125 ns ns ns ns 5TcC 500 TBS 5TcC 500 TBS ns ns ns [C1] [C1] AC CHARACTERISTICS (Continued) SCC General Timing Figure 71 shows the general timing for the on-chip SCC. Parameters referred to in this figure appear in Table D. PCLK !WI/REO Request !WflREO Walt IRTxC, ITRxC Receive RxO /SYNC External -~. i?:i~1 -.£:::3-- ITRxC, IRTxC Transmit TxO 1----{11}---~ ITRxC Output IRTXC\ ~ ~------. ~~ \__---.Jr {;d£3 \_----.lr ITRxC \ . ' - - - - - - -.... ICTS,IDCO /SYNC Input ------------- ---~ Figure 71. see General Timing 431 AC CHARACTERisTICS (Continued) SCC General Timing Table D. No Symbol see General Timing Parameters Parameter Z8018110 Min 1 2 3 4 TdPC(REO) TdPC(W)· 5 6 7 Max Z8018112 Min Unit Note Max ThRXO(RXCr) Clock Fall to /WI/REO Valid Clock Fall to Wait Inactive RxO to IRxC Rise Setup Time RxO to IRxC Rise Hold Time 0 125 0 100 ns ns ns ns 8 TsRXD(RXCI) ThRXO(RXCf) TsSY(RXC) ThSY(RXC) RxO to IRxC Fall Setup Time RxO to IRxC Fall Hold Time ISYNC to IRxC Setup Time ISYNC to IRxC Hold Time 0 125 -150 5TcC 0 100 -125 5TcC ns ns ns ns [01.4] [01,4] [01] [01] 9 10 11 12 TdTXCf(TXO) TdTXCr(TXO) TdTXO(TRX) TwRTXh ITxC Fall to TxO Oelay /TxC Rise to TxO Oelay TxO·to/TRxC Oelay IRTxC High Width ns ns [02] [02.4] 13 14 15 16 TwRTXI TcRTX TcRTXX TwTRXh IRTxC Low Width IRTxC Cycle Time (RxO, TxO) 17 18 19 20 21 TwTRXI TcTRX TwEXT TwSY TxRx(OPLL) TsRXO(R~Cr) , Xtal OSC Period /TRxC High Width ITRxC Low Width ITRxC Cycle Time lOCO or ICTS Pulse Width ISYNC Pulse Width OPLL Cycle Time 200 300 120 220 150 150 140 130 i30 120 120 100 120 400 100 120 100 320 80 100 120 400 120 100 50 1000 100 320 100 70 40 Notes to Table 0: [01] /RXC is /RTxC or /TRxC, whichever is supplyinR the receiver clock. [02] /TXC is {lRxC or /RTxC, whichever is supplying the transmitter clock. [03] Both /RTxC and /SYNC pin has 30pf Capacitors (to ground). [04] Parameter applies only to FM encoding/decoding. [OS] Parameter applies only to transmitter and receiver; baud rate generator timing requirements are different. [06] The maximum receive or transmit data rate is 1/4 TcC. [07] Applies tei OPLL clock source only. Maximum data rate of 1/4 TcC still applies. 432 [01] IlS IlS [05J ns [05] [05,6] [03] [05] IlS 1000 [01] ns ns ns ns ns [05] [05,7] IlS IlS [06,7J AC CHARACTERISTICS (Continued) SCC System Timing Figure 72 shows the system timing for the on-chip SCC. Parameters referred to in this figure appear in Table E. IRTxC,lTRxC Receive /WI/REO Request /WI/REO Wait ISYNC Output liNT IRTxC,lTRxC Transmit /WI/REO Request /WI/REO Wait IDTRI/REO Request liNT ICTS, lOCO K K ISYNC Input ~ liNT 10 Figure 72. \ see System Timing 433 AC CHARACTERISTICS (Continued) SCC System Timing Table E. No 1 2 3 4 5 6 7 8 9 10 Symbol see System Timing Parameters Parameter IRxC IRxC IRxC IRxC TdRxC(REQ) TdRxC(W) TdRxC(SY) TdRxC(INT) TdTxC(REQ) to /WI/REO Valid to Waft inactive to ISYNC Valid to liNT Valid /TxC to /w//REQ Valid TdTxC(W) TdRxC(DRQ) TdTxC(INT) TdSY(INT) TdEXT(INT) /TxC to Wait inactive /TxC to /DTRI/REQ Valid /TxC to liNT Valid ISYNC to liNT Valid IDCD or ICTS to liNT Valid Notes for Table E: [El) Open-drain output, measured with Open-drain test load. [E2) /RXe Is /RTxC or {TRxC, whichever Is supplying the receiver clock. [E3) [TXC is {l'Fixe or IRTxC, whichever is supplying the transmitter clock. 434 Z8018110 Z8018112 Unit Note 12 14 7 16 5 8 ( TeC TeC TeC ;reC TeC [E2] [El,2] [E2] [El,2] [E3] 5 11 7 10 6 6 TeC TeC TeC TeC TeC [El,3} [E3] [El,3] [El) [El) Min Max Min Max 8 8 8 8 4 10 12 14 7 16 4 10 5 8 5 11 7 10 6 6 4 6 2 2 4 6 2 2 AC CHARACTERISTICS (Continued) PIA General Purpose I/O Port Timing Figure 73 shows the timing for the PIA ports. Parameters referred to in this figure appear in Table F. /lORO,IRD PIA Input PIA Output Figure 73. PIA Timing Table F. PIA General Purpose 1/0 Timing Parameters No Symbol Parameter Z8018110 Min 1 2 TsPIA(C) TdCr(PIA) PIA Data Setup time to Clock Rise Clock Rise to PIA Data Valid Delay Max 10 Z8018112 Min 10 50 Unit Note Max 50 ns ns 435 Interrupt Daisy-Chain Timing Figure 74 show~ the interrupt daisy-chain timing Parameters referred to in ttlis figure appear in Table G. eLK 1M1 nORa Dma __ ~ +-__ ____________ ~ lEI lEO liNT (see) iWPJT Figure 74. Interrupt Daisy-Chain Timing Table G. Interrupt Daisy-Chain Timing Parameters No Symbol Parameter Z8018110 Min Max Z8018112 Min Max 1 2 TsM1(Cr) TsM1(10)INTA /M1 Fall to Clock Rise Setup Time /M1 Fall to /IORO Fall Setup Time (During INTACK Cycle) 20 20 2TcC 2TcC 0 0 3 4 5 Th TdM1r(DOz) TdCr(DO) Hold Time /M1 Rise to Data Out Float Delay Clock Rise to Data Out Delay 0 0 6 TsIEI(TW4) TdIElf(IEOf) TdIElr(IEOr) lEI to TW4 Rise Setup Time lEI Fall to lEO Fall Delay lEO Rise to lEO Rise Delay 95 TdM1f(IEOf) TdCWA(f)INIA TdCWA(r)INTA /M1 Fall to lEO Fall Delay Clock Rise to /WAI r Fall Delay Clock Rise to /WAI r Rise Delay 7 8 9 10 11 436 100 120 80 20 140 20 120 140 30 30 120 25 25 AC CHARACTERISTICS (Continued) Read Write External BUS Master Timing eLK Address flORa lAD Data ----1---0{ Data Data IN Figure 75. ReadIWrite External BUS .Master Timing Table H. External Bus Master Interface Timing (Read/Write Cycles) No Symbol Parameter Z8018110 Min Max Z8018112 Min 1 2 3 TsA(Cr) TsIO(Cr) Th Address to ClK Rise Setup Time flORO Fall to ClK Rise Setup Time Hold Time 20 20 4 5 6 TsRD(Cr) TdRD(DO) TdRlr(DOz) fRO Fall to ClK Ri~e Setup rime fRO Fall to Data Out Delay' fRO, flORO Rise to Read Data Float 20 0 0 7 TsWR(Cr) TsDi(WRf) ThWlr(Di) /WR Fall to ClK Rise Setup Time Data in to /WR Fall Setup Time flORO, /WR Rise to Data 1[1 Hold Time 20 0 0 20 0 0 TsA(IOROf) TsA(RDf) TsA(WRf) Address to flORO Fall Setup Time Address to tRDf'all Setup Time Address to /WR Fall Setup Time 50 50 50 40 40 40 8 9 10 11 12 . Max 20 20 0 0 ·20 120 100 437 see External BUS Master Timing Valid sec Addr*IORO IROar IWR OTR/REO Request -------------------------------------------------' Figure 76. see External BUS Maste'r Timing Table I. External Bus Master Interface Timing (SCC Related Timing) No Symbol 1 2 TrC TdRDr(REQ) Parameter Valid Access Recovery Time , /RD Rise to /DTR//REQ Not Valid Delay (1) Applies only between transactions involving the 438 sec. Z8018110 Z8018112 Min Min 4TcC 4TcC Max 4TcC 4TcC Unit Note nS nS [1] Max AC CHARACTERISTICS (Continued) Note for Interrupt Acknowledge Cycle and Daisy Chain When using the interrupt daisy chained device( s) for other than the Z181, these are the following restrictions/notes (without, external logic ). The device(s) has to be connected to the higher prtority location (Figure 77). The device(s) lEI-lEO delay has to be less than two clock cycles. The Z 181 on-chip interface logic inserts another three wait states into the interrupt acknowledge cycle to meet the onchip SCC and the Z80 CTC timing requirements. (Total of 5 wait states; includes the automatic inserted two wait states). Tomeetthe timing requirements, the Z181 'son-chip circuit generates interface signals for the SCC and CTC. Figure 78 has the timing during the interrupt acknowledge cycle, including the internally generated signals. Case 1 - SCC: The SCC /INTACK signal goes active on the T1 clock fall time. The settle time is from /INTACK active until the SCC /RD signal goes active on the fourth rising wait state clock. sec Case 2 - CTC: 1he settle time for the on-chip /IORO is between the fall of /M1 until the internal CTC /IORO goes active on the rise of the fourth wait state (the same time as SCC IRD goes active). Case 3 - OFF-chip Z80 Peripheral: The settle time for the off-chip l80 peripheral is from the fall of /M1 until CTC /IORO goes active. Since the Z181 's external/IORO signal goes active on the clock fall of the first automatically inserted wait state (TWA)' the external daisy-chain device has to be connected to the upper chain location. Also, it must settle within two clock cycles. If any peripheral is connected externally with a lower daisy chain priority than Z181 peripherals, /IOAO has to be delayed by external logic as shown in Figure 79 1 he following are three separate cases for the daisy-chain . settle times: Vee -r- IEl Peripheral Oevice(s) lEO lEI CTC lEO lEI SCC lEO Z80181 Figure 77. Peripheral Device as Part of the Daisy Chain 439 ~---------"- -_.. ""'" " TW I' Tw , TW I' ClK , (seUle lime lor OII-chip zao Peripherals I fM1 f ~ S"Ule Time lor I On-chip CTC I L L J I /lORa ! I SCC flNTACK / Setllelime lorSCC I L / /WAIT I /WAIT Signalgeneraled by interlace circuit J J SCC fRO CTC flORa Figure 78. Interrupt Acknowledge Cycle Timing Vee -r- IEl CTC lEO lEI SCC lEI lEO -flORO Z80181 External Logie to Extend flORO Signal Figure 79. Peripheral Device as Pan of the Daisy Chain 440 Peripheral Deviee(s) lEO - ~ZiIm PRELIMINARY PRODUCT SPECIFICATION Z84Q13/015 Z84C13/Z84C15 IPC INTELLIGENT PERIPHERAL CONTROLLER FEATURES • Z84COO Z80 CPU with Z84C30 CTC, Z84C4X SIO, CGC, Watch Dog Timer(WOT). In addition, Z84C15 and Z84015 have Z84C20 Pia. • High speed operation (6/10 MHz). • Low power consumption in four operation modes' (TBO) mA Typ. (Run mode) (TBO) mA Typ. (ldle1 mode) (TBO) mA Typ. (ldle2 mode) (TBO) J1A Typ (Stop mode) • Wide operational voltage range (5V ±10%). • TTL/CMOS compatible. • Z84013 features' Z84COO Z80 CPU On-chip two channel SIO (Z80 SIO). On-chip four channel Counter Timer Controller (Z80 CTC). Built-in Clock Generator Controller (CGG). Built-in Watch Dog Timer (WOT). Noise filter to CLKnRG inputs of the CTC. 84-pin PLCC package. • Z84015 features' All Z84013 features, plus on-chip two 8-bit ports (Z80 Pia) and 100-pin QFP package. • Z84C13/Z84C15 enhancements to Z84013/Z84015: Power-on reset. Addition of two chip select pins. 32-bit CRC for Channel A of SIO. Wait state generator Simplified EV mode selection. Schmitt-trigger inputs to transmit and receive clocks of the SIO. Crystal divide-by-one-mode. GENERAL DESCRIPTION The Intelligent Peripheral Controller(IPC) is a series of highly superintegrated devices with four versions. The Z84C13 and the Z84C15 are upward compatible versions of the Z84013 and the Z84015. The Z84015 is a CMOS 8bit microprocessor integrated with the CTC, SIO, CGC, WDT and the Pia into a Single 1~O-pin Quad Flat Pack(QFP) package. The Z84013 is the Z84015 without Pia, and is housed in a 84-pin PLCC package. The Z84C13 is the Z84013 with enhancements and the Z84C 15 is the Z84015 with enhancements. These high-end superintegrated intelligent peripheral controllers are targeted for a broad range of applications ranging from error correcting modems to enhancement/cost reductions of existing hardware using Z80-based discrete peripllerals. Figures 1 and 2 show the difference between the Z84013/015 and the Z84C13/Z84C15. Hereinafter, use the word IPC on the description covering all versions (Z84C13/Z84C15 and Z84013/Z84015). Use Z84C13/C15 on the description that applies only to the Z84C13 and Z84C15, and use Z84013/015 on the descrip. tion that applies only to the Z84013 and Z84015. 441 Z84015 Z84013 CPU sib CGC WDT eTC CPU SIO CTC PIO CGC WDT Figure 1. Z84013/015 Version Z84C13 CPU SIO CTC CGC WDT Enhancement Z84C15 CPU SIO CTC PIO CGC WDT Enhancement Figure 2. Z84C13/C15 Version A4 A3 A2 CLKfTRG 1 CLKfTRG 2 CLKfTRG 3 AI A0 ZCfTO 3 ZCfTO 2 ZCfTO 1 1Ml IBUSREO NI/lJT NlR AORO Z84013 Z84C13 84-PIN PLCC (Top View) vss IMREO NC ANT IRFSH ZCfTO 0 CLKII'I CLKOUT NC XTAL2 XTAL1 VSS NlOTOUT lEI NC IRESET IBUSACK lEO EV NC IRD INMI A7RF Nl/IROYB !HALT Nl/IROYA Note: Power connections follow Conventional descriptions below • ICTforihe Z84013 Figure 3. Z84013/Z84C13 Pin-out Assignments 442 Connection Circuit Device Power Ground Vce Voo Vss GND ~ ~8o~SC!i:g:g:.:;§ AS M A3 A2 A1 1. 100 90 95 85 80 CLKlTRG3 ZCfT03 ZCIT02 5 M IRFSH 75 70 lEI lEO A7RF 65 CLKIN CLKOlJT 81 XTAL2 XTAL1 10 /BUSACK IWR IRO /IORO 15 Z84015 Z84C15 100-PIN QFP vss VSS IMREO /HALT HAl BROY nNT AROY IASTB PA7 PAG PAS PM ZCfT01 ZCITOO IWOTOlJT 1M1 IRESET /BUSREO IWAIT CLKfTRG1 CLKlTRG2 20 60 /BSTB PB7 PBS PBS PB4 -25 ==:J PB3 55- PA3 PA2 PA1 PB2 PB1 POO PM IW/IROYA IW/IROYB ISYNCB Note: Power connections foHow conventional desc",tions below: • ICTfor the Z84015 Connection Circuit Figure 4. Z84015/Z84C15 Pin-out Assignments Device Power Vex; Voo Ground GND V.. PIN DEFINITIONS The pin assignment for each device is shown in Figures 3 and 4. Following is the description on each pin. For the description and the pin number, if stated as "x13" or "x15", lilat applies to both Z84C13/Z84013 or Z84C15/Z84015. Otherwise, C13 for Z84C13, C15 for Z84C15, 013 for Z84013 and 015 for Z84015. 443 CPU SIGNALS Pin Name Pin Number InputtOutput, 3-5tate Function AO-A15 1-16(x13), 1-6, 91-100(x15)' I/O 16-bit address bus. Specifies I/O and memory addresses to be accessed. During the refresh period, addresses' for refreshing are output. The bus is an input when lhe external master is accessing the on-chip peripherals. 00-07 76-83(x13), 82-89(x15) I/O 8-bit bidirectional data bus. When the on-chip CPU is accessing on-chip peripherals, these lines are set to output and hold the data to/from on-chip peripherals. /RD 3O(x13), 14(x15) I/O Read signal. CPU read signal for accepting data from memory or I/O devices. When an external master is accessing the on-chip peripherals, it is an input signal. /WR 2O(x13),13(x15) I/O Write Signal. This signal is output when data, to be stored in a specified memory or peripheral LSI, is on the MPU data bus. When an external master is accessing the, on-chip peripherals, it is an input signal. /MREQ 23(x13), 17(x15) I/O,3-State 'Memory request signal. When an effective address lor memory access is on the address bus, "0" is output. Wheo an external master IS accessing the on-chip peripherals, it is an tristate signal. . /IORO 21(x13), 15(x15) I/O I/O request signal. When addresses for I/O are on the lower 8 bits (A7-AO) of the address bus in the I/O operation, ·0" is output. In addition, the /IORO signal is output with the /M1 signal at the time of interrupt acknowledge cycle to inform peripheral' LSI 01 the state of the interrupt response vector is when put on the data bus. When an external master is accessing the onchip peripherals, it is an input signal. /M1 17(x13),8(x15) I/O Machine cycle "1". /MREO and "0" are output together In the operation code fetch cycle. /M1 is output for every opcode fetch when a two byte opcode is executed. In the maskable interrupt acknowledge cycle, this signal is output together with /IORO. It is 3-stated in EV mode. 444 CPU SIGNALS (Continued) Pin Name Pin Number Input/Output. 3-State Function IRFSH 26(x13). 7(x15) Out. 3-State The refresh signal. When the dynamic memory refresh address is on the low order byte of the address bus. IRFSH is active along with IMREO signal. This pin is 3-stated in EV mode. liNT 25(x13). 19(x15) Open drain Maskable interrupt request signal. Interrupt is generated by peripheral LSI This signal IS accepted if the interrupt enable Flip-Flop (IFF) is set to "1". The liNT signal of on-chip peripherals is internally wired - OR without pull-up resistors and requires external pull-up. Also. interrupts from on-Chip peripherals go out from this pin. INMI 56(x13).63(x15) In Non-maskable interrupt request signal This interrupt request has a higher priority than the maskable interrupt request and does not rely upon the state of the interrupt enable Flip-Flop (IFF). IHALT 31(x13).81(x15) Out. 3-State Halt signal. Indicates that the CPU has executed a HALf instruction. Thi~ signal is 3-stated in EV mode. IBUSREO 18(x13). 1O(x 15) In BUS request signal. IBU$REO requests placement of the address bus. data bus. IMREO. IIORO. IRD and /WR signals into the high impedance state./BUSREO is normally wiredOR and a pull-up resistor is externally connected. IBUSACK 29(x13). 12(x15) Out (013/015). OuV3-State Bus Acknowledge signal. In response to IBUSREO signal. IBUSACK informs a peripheral LSI that the address bus. data bus./MREO. IIORO. IRD and /WR signals have been placed in' the high impedance state , (C13/C15) Note: For the Z1!4013/015 the /BUSACK signal will not be 3-stated during EV mode. For the Z84C 13{C 15 the /BUSACK will be 3-stated during EV mode. /WAIT 19(x13). 11(x15) .In(0131015). I/O(C13/C15) Wait signal. /WAIT informs the CPU that specified memory or peripheral is not ready for data transfer. As long as /WAIT signal is active. MPU is continuously kept in the wait stale. I No,e: For the Z84C13/C15. the /WAIT pin becomes an output to bring out on-chip wait state generator during the EV mode. 445 CPU SIGNALS (Continued) Pin Name Pin Number Input/Output, 3-State Function A7RF 55(x13),70(x15) Out 1-bit auxiliary address bus. Output is the same as bit-7 (A7) of the address bus. However, during a refresh cycle, ttlis pin outputs ttle address which is the most significant bit of the 8-bit refresh address signal linked to the low order 7 bits of the address bus. CTCSIGNALS 3~tate Pin Name Pin Number Input/Output, Function ClK/TRGO ClK/TRG3 72-75(x13), 78-81(x15) In External clock/trigger input. Tl1ese four ClK/ TRG pins correspond to four Counter/Timer Channels. In the counter mode, each active edge will cause the downcounter to decrement by one. In timer mode, an active edge will start the timer. It IS program selectable wheti1er tile active edge is rising or falling. ZC/TOOZC/T03 68-71(x13), 74-77(x15) Out Zero count/timer out signal. In eittler timer or counter mode, pulses are output when the down-counter has reached zero. SIOSIGNALS Pin Name Pin Number Input/Output, 3-State Function /W//RDYA, /W//RDYB 32,54(x13),30,52(x15) Out Wait/Ready signal A and Wait/Ready signal B. Used as /WAIT or /READY depending upon SIO programming. Wilen programmed as /WAIT they go active at "0", alerting the CPU that addressed memory or I/O devices are not ready by requesting the CPU to wait. When programmed as /READY, they are active at "0" which determines when a peripheral device associated with a DMA port is for read/write data. /SYNCA, /SYNCB 33,53(x13), 31 ,51(x15) I/O Synchronous signals. In asynchronous receive mode, they act as /CTS and /CDC In external sync mode, these signals act as inputs. In internal sync mode, they act as outputs. RxDA, RxDB 34,52(x13), 32,50(x15)' In Serial receive data signal. 446 SIO SIGNALS (Continued) Pin Name Pin Number Input/Output, 3-State Function /RxCA, /RxCB 35,51(x13), 33,49(x15) In Receive clock signal. In the asynchronous mode, the receive clocks can be 1, 16, 32, or 64 times th.e data transfer rate. • /TxCA, (fxCB 36,50(x13), 34,48(xI5) In Transmitter clock signal. In the asynchronous mode, the transmitter clocks can be 1, 16, 32, or 64 times the data transfer rate. TxDA, TxDB 37,49(x13), 35,47(x15) Out Serial transmit data signal. /DTRA, /DTRB 38,48(x13), 36,46(xI5) Out Data terminal ready signal. When ready, these signals go active to enable the terminal transmitter. When not ready they go Inactive to disable the transfer from the terminal. /RTSA, /RTSB 39,47(x13), 37,45(xI5) Out Request to send signal. "0" when transmitting serial data. They are active when enabling their receivers to transmit data. /CTSA, /CTSB 40,46(x13), 38,44(xI5) In Clear to send signal. When "0", after transmitting these signals the modem is ready to receive serial data. When ready, these signals go active to enable terminal transmitter. When not ready, these signals go inactive to disable transfer from the terminal. /DCDA, /DCDB 41,45(x13), 39,43(x15) In Data ,carrier detect signal. When "0", serial data can be received. These signals are active to enable receivers to transmit. SYSTEM CONTROL SIGNALS Pin Name Pin Number Input/Output, 3-State Function lEI 6O(x13),72(x15) In Interrupt enable input signal. lEI is used with the lEO to form a priority daisy chain when there is more Ulan one interrupt-driven peripheral. lEO 59(x13),71(x15) Out The interrupt enable output signal. In the daiSY chain interrupt control, lEO controls the interrupt of external penpherals. lEO is active when lEI is "1" and the CPU is not servicing an interrupt from the on-chip peripherals. Out Chip Select O. Used to access external memory or I/O devices. This pin has been assigned to "ICT" pin on Z84013/015. This signal is decoded only from A 15-A 12 without control signals Refer to "Functional Description" on-chip select signals for further explanation. /CSO 42(C13),40(CI5) (C13/C15 only) , 447 SYSTEM CONTROL SIGNALS (Continued) Pin Name Input/Output. 3-State Function /CS1 40(x13).42(x15) (C13/C15 onl~) Out Chip Select 1. Used to access external memory or I/O devices. This pin has been assigned to "ICT" pin on Z84013/015. This signal is decoded only from A 15-A 12 without control signals. Refer to "Functional Description" on-chip select signals for further explanation. /WDTOUT 61(x13),73(x15) Out(013/015), Open Drain(C13/C15) Watch Dog Timer Output signal. Output pulse width depends on the extemally conflected pin. /RESET 28(x13),9(x15) Input(013/015), I/O (Open Drain) {C13/C15) Reset signal. /RESET signal is used for initializing MPU and other devices in the system.' Also used to return from the steady state in the STOP or IDLE modes. Pin Number Nole: For the Z84013/Z84015 the /RESET must be kept in active state for a period of at least three system clock cycles. Nole: For the Z84C131Z84C15, during the power-up sequence, the/RESET becomes an Open drain output and the Z84C131C15 will drive this pin to "0' for 25 to 75 msec after the power supply passes through approx. 2,2V and then reverts to input. If it receives the IRESET signal after poweron sequence, it will drive /RESET pin for 16-processor clock cycles depending on the status of Reset Output Disable bit in Misc Control Register If this Reset output is disabled, it must be kept in active state for a period of alleast three system clock cycles Note, that IT using Z84C 13/C15 in a Z840 13( , 015 socket, modification may be required on the reset circuit since this pin is "pure input pin" on the Z840131015 Also, the /RESET pin doesn't have internal pull-up resistors and therefore requires external pull-ups For more details on the device, please refer to "Functional Description." XTAl1 63(xI3),65(x15) In Crystal oscillator connecting terminal. A parallel resonant crystal is recommended If external clock source is used as an input to the CGC unit, supply clock goes into this terminal. If external clock is supply to ClKIN pin (without CGC unit), this terminal must be connected to "0" or "1". XTAl2 63(x13),66(x15) Out Crystal oscillator ,connecting terminal. ClKIN 67(x13),69(x15) In Single-phase System Clock Input. ClKOUT 66(x13),68(x15) Out Single-phase clock output from on-chip Clock Generator/Controller. EV 58(x13),67(x15) In Evaluator signal, When "1" is applied to this pin, IPC is put in Evaluation mode Nole: For the Z84013/015, together with /BUSREO, the EV signal puts the IPC into the evaluation mode When this signal becomes active, the status of /M1, /HALT and /RFSH change to input. When using Z84013/015 as an evaluator chip, the CPU is electrically disconnected, after one machine cycle is executed with the EV signal "1" and the /BUSREO signal "0". It follows the instructions from the other CPU (of ICE), Upon receiving /BUSREO; A 15AO, /MREO, /lORa, /RD and /WR are changed to input and 07-00 changes its direction, /BUSACK is NOT 3-stated so it should be disconnected by an externally connected circuit. For details, please refer to "Functional DeSCription" on EV mode. 448 SYSTEM CONTROL SIGNALS (Continued) Note: For the ZB4C13/C15, to access on-chip resources from the CPU (e.g., ICE CPU), the CPU is electrically disconnected; A 15-AO, IMREQ,/IORQ, /RO and twR are changed to input; 07-DO changes its direction; 1M 1, /HALT and /RFSH are put into the high impedance state when the EV pin is set to "1". Also, /BUSACK IS 3-stated. For details, please refer to "Functional Description" on EV mode. Pin Name Pin Number Input/Output, 3-State Function ICT 42,44(013), 40,42(015): Not with C13/C15 Out Test pins. Used in the open state. NC 24,27,57,65(x13), Not with x15 VCC 43,84(x13),41,90(x15} Power Supply +5 Volts VSS 22, 62(x13), 16,64(x15) Power Supply o Volts Not connected. PIO SIGNALS (for the Z84x15 only) Pin Name Pin Number Input/Output, 3-State Function /ASTB 21(x15) In Port A strobe pulse from a peripheral device. The signal is used as tile h,andshake between Port A and external circuits. The meaning of this signal depends on the mode of operation selected for Port A (see "Pia Basic Timing"). /BSTB 61(x15) In Port B strobe pulse from a periplleral device. This signal is used as the Ilandsllake between Port B and external circuits. Tile meaning of this signal is the same as /ASTB, except when Port A is in mode 2 (see "Pia Basic Timing"). ARDY 20(x15) Out Register A ready signal Used as ttle handshake between PortA and extemal circuits. The mej3ning of this signal depends on the mode of operation selected for Port A (see "Pia Basic Timing"). BRDY 62(x15) Out Register B ready signal Used as the handsllake between Port B and external circuits. The meaning of this signal is the same as ARDY except when Port A is in mode 2 (see "Pia Basic Timing") PA7-PAO 22-29(x.15) I/O, 3-State Port A data signals. Used for data transfer between Port A and external circuits. PB7-PBO 53-60(x15) I/O, 3-State Port Bdata signals. Used for transfer between Port B and external circuits. 449 The following pins have different functions between 0131015 and C13101.5 Pin Name Pin # X13 Pin # X15 /RESET /WAIT EV /WDTOUT 28 19 58 61 9 15 67 73 ICT TxCA, TxCB, RxCA and RxCB /BUSACK 40,42 35,36,50,51 42, 40 33,34,48,49 (Test pin) on Z84013/015; /csa and /CS1 on Z84C13/15, On Z84C13/15; these signals have Schmitt-triggered Inputs. 29 12 In EV mode, 3-stated on Z84C13/15; remains active on Z84013/015. Punction Functionality is different. Functionality is different. Functionality is different. , Push-pull output on Z84013/015, Open drain on Z84 C13/C15 FUNCTIONAL DESCRIPTION Figure 5(a) shows the functional block diagram of the Z84013/015 and Figure 5(b) shows the functional block diagram ofthe Z84C13/C15. As described earlier, the only difference between the Z84x13 and the Z84x15 is the PIO not being available on the Z84x13. Functionally, the on-chip SIO, PIO (not available on Z84x 13), CTC, and the ZOO CPU are the,same as the discrete devices. Therefore, for detailed description of each individual unit, refer to the Product SpecificationlTechnical Manual of each discrete product. The following subsectiqns describe each individual functional unit of the IPC. Z84COO/01 Logic Unit The CPU provides all the capabilities and pins of the Zilog Z80 CPU. This allows 100% software compatibility with existing ZOO software . .In addition,. ii has the pin called "A7RF" to extend DRAM refreSh address to B-bits. Refer to 'Z84C01 Z80 CPU with CGC" Product Specification. Z84C20 ParailellnputlOutput Logic Unit (Z84x15 Only) This logic unit provides both TTL- and CMOS- compatible interfaces between peripheral devices and a CPU through the use of two B-bit parallel ports (Figure 6). The CPU configures the logic to interface to a wide range.of peripheral devices with no external logic. Typical devices tha,t are compatible with this interface are keyboards, printers, and EPROM/PAL programmers, The parallel ports (designated PortA and.Port B) are byte wide and completeiy compatible with the Z84C20 PIO. 450 These two ports have several modes of operation; input. oulput. bi-directional, or bit control mode. Each port has two handshake signals (RDY and /STB) which are used to control dala transfers. The RDY (ready) indicates that the port is ready for data transfer while /STB (strobe) IS an input to the port that indicates when data transfer has occurred. Each of Ihe ports can be programmed to interrupt the CPU upon the occurrence of speCified status conditions, and generate unique interrupt vectors when the CPU responds (for more information on the operation of this portion of the logic, please refer to the Z84C20 PIO Product Specification and Technical Manual). Z84C30 Countermmer Logic Unit This logic unit provides the user with four individual 8-bit Counter/Timer Channels that are compatible with the Z84C30 CTC (Figure 7). The Counter/Timers can be programmed by the CPU for a broad range of counting and tim'ing applications. Typical applications include event counting, interrupt and interval counting, and serial baud rate clock generation. Each of the Counter/Timer Channels, deSignated Channels 0-3, have an 8-bit prescaler (when used in timer mode) and its own 8-bit counter to provide a wide range of count resolution. Each of the channels have their own Clock/Trigger input to quantify the counting process and an output to indicate zero crossing/timeout conditions. With only one interrupt vector programmed into the logic unit, each channel can generate a unique interrupt vector in response to the interrupt acknowledge cycle. ,. XTALI XTAll ~ t MSI f- kl 1M! /HAlT IM1 INMI I nm Controller CLK I - IMREO I-- IWAIT CPU ~ i ~ V IBUSREO IBUSACK l l t CGC INMI IRESET IRESET EV !HALT CLKOUT CLKIN CLK !HALT MSZ INMI- IM1 IRESET .:: 11m nm 00.07 nm ~ eLK ·zcrro 3 .... " - "ds IRO nORa IWR IRFSH V CLKlTRGO' CLKlTRG3 _ -- -,::= 00.07 no~g CTC A " lI- IRESET "- lEI lEO IMI ICE f---< ~ CSz r-- 0 CS 1 f- [rl ,0 II A f-... r- .""; AROY PA PB O' PB 7 rv" BROY .... IBSTB - -- -. "~ f-- lEI lEO ,~~ [ I-- a:. - IASTB - • I- C--w= I-- ~ffi I-- -v8 CLK 11m w 00 .07 PIC (284015 ONLY) IRO !lORa IMI 0 A h- q ~ F CLK ICE f- a: W CIID ~ 0 0 A " v =:>ffi!- ~ 0 lI- , IMI lEI lEO ICE TXOB ~- IRXCB f-1--- - IL.. •~I Do, 07 1M! IRESET :~~ IWR IRFSH CLK #F4 .- ~- rrXCB PIIA I---- f-f-f-- IWIROYA /sYNCA RXOA IRXCA rrXCA TXOA .. SIO CliO #Fl 0 I- 11m #FO -- ~ IRESET gi0 w W ~ " 0 BlA I---- 11 CLK 00.07 1R0nORQ IRFSH IWR IRO !lORa ICTSA IDCOA IRTSA IDTRA WATCHDOG TIMER AND REGISTERS IM1·IRESET ~ MSl.MSZ RXOB /SYNCS 1W1I10YB IDTRB IRTSB ICTSS IDCOB f----- IWOTOUT f-- A7RF f-- IEI IEO f----- 1- 7< 7 Figure 5(a). Block Diagram for 84013/0151PC 451 / Power On RESET XTALI XlAl2 J t ~ -~ MS2 I Controller " IRESET /HALT IMI /llN1 - lINT I' lINT , - . IMREO 1-- Cll( ~'--k V IBUSREO IBUSACK l l i I CGCl1It.ll IRESET EV IIW.TCll(OUT Cll(IN Cll( /HALT ~IMI MSI jNM)- IMI IRESET WAIT STATE GEN,ERATOR lINT DO' 07 lINT "- ClJ( ZCIfOO,ZCIfO 3 ... I-- ~- t5 IRD /IORO NIR IRFSH .A DO' 07 ClJ(IfR~ -CU (03-00 of CSBR) (Where CSBR is the contents of Chip Register.) Sele~t Boundary There is also a separate /CS enable bit./CSO IS enabled on power-up with a boundary value of "F" causing /csa \0 go active for ,all memory accesses. /CS1 is disabled on power-up, and boundary address is undefined. These features are controlled vi-a the I/O control registers located at I/O address EEh and EFh. Note that a glitch may be observed on these pins because address decode logic is decoding only A 15-A 12, without any control signals. For more detail, please refer to the "Programming section." Other functional features (Z84C13/C15 Only) For more system design flexibili ty, the Z84C 13/C 15 llas the following unique features. These features are controlled by MCR (Misc. Control Register) which is indirectly accessed via the System Control Register Pointer (SCRP, I/O address EEh), and System Control Data Port (SCDP, I/O address EFh). For more details, please refer to the "Programming" section. • Clock Divide-by-one option • Reset Output Disable • 32-bit CRC Generation/Checking Clock Divide-by-One Option. This feature is programmed through Bit D4 of MCR. Upon Power-On reset. the Clock from on-chip CGC is passed through a divide-by-two circuit. By setting this bit to one, the divide-by-two circuit is bypassed so the clock on the ClKOUT pin is equal to X'tal input. If the clock is applied to the ClKIN pin from extemal clock source, the status of this bit is ignored. Upon Power-on Reset. itis .cleared to O. For details, please refer to "Programming" section. Reset Output Disable. This feature is programmed tJy Bit D3 of MCR. If this bit is cleared to "0", The /RESU·pin becomes "Open-drain output" and is driven to "0" for 16clock cycles from the falling edge of /RESET input. This feature is for the cases where /RESET is used to get out from the "HALT" state If this bit is set to one, the on-chip reset circuit will not drive /RESET pin. 32-bit CRC Generation/Checking. This feature IS programmed by Bit D2 of MCR By setting this bit to one, Channel A of SIO is set to use the 32-bit CRC generator/ checker instead of the original 16-bit CRC generator/ checker in synchronous communication modes. The polynomial to be used in this mode is the one for the protocols such as V.42, and is (X32 + X26 + X23+ X22 + X16 + X12 +X11 + X10+ X8+ X7 + X5+ X4+ X2+ X+ 1). Upon Poweron Reset, this bit is cleared to O. Evaluation Mode The IPC has a bUilt evaluation (or development) mode feature which allows the users to utilize standard Z80 development systems conveniently. This mode virtually replaces the on-chip Z80 CPU Wiltl the external CPU. In this mode, the on-chip CPU is electrically disconnected from internal bus and all 3-state signals (A 15-0, D7 -0, /MREO, /IORO, /RD, M'R, /HALl, /M1 and /RFSH; forC13/ C15, /BUSREO as well) are tri-stated, or changed to input. This allows the development system CPU to take over and use the internal I/O registers of the IPC exactly as ifltle CPU was on-Chip. . Z84013/015 Only. When this signal IS actlve,tlle /M1, /HAl T and /RFSH pins are put in the high-impedance state. In using the Z84013/015 as an evaluator chip, the CPU is electrically disconnected (put in high-impedance state) after one machine cycle is executed with the EV signal being "1" and the /BUSREO signal being "0". Then, on-chip resources can be accessed from the outSide. /BUSACK is disconnected by an externally connected circuit. Z84C13/C15 Only. If the EV pin is tied to Vcc on Power-up, the Z84C13/C15 enters into an evaluation mode. In this mode, the internal CPU is immediately disconnected from the internal bus and all 3-state signals mentioned above are tri-stated, or changed to input. Note that the /WAIT pin became the OUTPUT pin in EV mode, and the Wait State Generator generates wait states Dnly as programmed. If the target application board has a separate wait state generator, modification of the target may be required. /BUSACK is 3-stated in this mode. The Z84C13/C15 behaves similarly to the situation where in regular operation, the /BUSREO signal is asserted by an external master causing all 3-state signals to be tri-stated by the Z84C13/C15 during T1 of the following machine cycle. The /BUSREO approach was not used for the evaluation mode to avoid significant external circuitry to work around the time period before the external CPU uses the bus for Z84C13/C15 accesses. PROGRAMMING I/O address assignm~nt I The IPC 's on-chip peripherals' I/O addresses are listed in Table 1. They are fully decoded from A7-AO and have no image.The registers with Z84C13/C15 located at I/O Address EEh and EFh are the registers to control enhanced features to Z84013/015, and not assigned on . Z84C013/015. 457 Table 1. I/O'Control Register Address Address Device Channel Register 10h 11h 12h 13h CTC CTC CTC CTC ell 0 Ch 1 Ch2 Ch 3 Control Conlrol Control Control 18h 19h 1Ah 1Bh SIO SIO SIO SIO\ Ch.A Ch.A Ch. B Ch B Data Regisler Conlrol Register Data Register Control Register 1Ch 1Dh 1Eh 1Fh PIO PIO PIO PIO Port A PortA Port B Port B Data Register (Not with Z84x13) Command Register (Not with Z84x13) Data Register (Not with Z84x13) Command Register (Not with Z84x13) FOh F1h F4h Watch-Dog Timer Watch-Dog Timer Interrupt Priority Register Register Register Register Register Master Register (WDTMR) Control Register (WDfCR) System Control Register Pointer (SCRP) (Not with Z84013/015) System Control Data Port (SCDP) (Not with Z84013/015) EEh EFh 'Through SCRP and SCDP Control Register 00 - Wait State Control register (WCR) Control Register 01 - Memory Wait state Boundary Register (MWBR) Control Register02 - Chip Select Boundary Register (CSBR) Control Register03- Misc, Control Register (MCR) PIO REGISTERS For more detailed information, please refer to the PIO Technical Manual. These registers are not in theZ84x13. Interrupt Vector Word The PIO logic unit is designed to work with the ZOO CPU in interrupt Mode 2, The interrupt word must be programmed if interrupts are used. Bit DO must be a zero (Figure 11). Iwlwlwl~I~lwl~lwl I L identifies Interrupt Vector User Supplied Interrupt Vector Figure 11. PIO Interrupt Vector Word 458 Mode Control Word Selects the port operating mode, This word is required and is written at any time (Figure 12), this logic function, Bit 06 sets the logic function, bit 05 sets the logic level, and bit 04 specifies a mask control word to follow (Figure 14), 07 ~MSK DO Identnles MODE Control Word Don't Care Mode Select a a MODE a a1 MODEl 10 MODE 2 1 1 MODE3 Figure 12. PIO Mode Control Word I/O Register Control Word When Mode 3 is selected, the Mode Control Word is followed by the I/O Register Control Word This word configures the I/O register, which defines which port lines are inputs or outputs, A "1" indicates input while a "0" indicates output. This word is required when in Mode 3 (Figure 13), ' 1/10 aSets Bn to OUlput II---I1 - Identifies Inle ts to be cleared. [2] The port interrupt is not enabled until the interrupt function enabkt is followed by an actIVe IM1. Figure 14. Interrupt Control Word Mask Control Word This word sets the mask control register, thus allowing any unused bits to be masked off, If any bits are to be masked, then bit 04 of the interrupt Control Word is set. When bit 04 of the interrupt Control Word is set, then the next word programmed is the Mask Control Word, To mask an Input bit, the corresponding Mask Control Word bit is a "1" (Figure 15), 1 Sets Btl to Input Figure 13. I/O Register Control Word MBO-MB7 Mask Bits, A Bft is Monftomd for an IntelTUpt II is Defined as an Input and the Mask 8ft Is Set to n Interrupt Control Word In Mode 3 operation, handShake signals are not used Interrupts are generated as a logic function of the input signal levels, The Interrupt Control Word sets the logic conditions and the logic levels required, for generating an interrupt. Two logic conditions or functions are available: ANO (if all input bits change to the active level, an interrupt is triggered), OR (if anyone of the input bits change to the active logic level, an interrupt is triggered), The user can program which input bits are to be considered as part of o. Figure 15. Mask Control Word Interrupt Disable Word This word can be used. to enable or disable a port's interrupts without changing tile rest of the port's interrupt conditions (Figure 16). 459 Bit 06. Mode Bit. This bit selects either Timer Mode or . Counter Mode. ldentmes Interrupt Disable Word Don't COr" 07 = 0 Interrupt Disable 07 • 1 Interrupt Enable Figure 16. Interrupt Disable Wor~ Bit 05. Prescalor Factor. This bit selects the prescalor factor for .use in the timer' mode Either divide-by-16 or divide-by-256 is available. Bit 04, Clock!Trigger Edge Selector. This bit selects the active edge of the CLKlTRG input pulses. Bit 03. Timer Tngger. This bit selects the trigger mode for timer operation. Either automatic or external trigger maybe selected. CTC CONTROL REGISTERS For more detailed information, refer to the CTC Technical Manual. Channel Control Word This word' sets the operating modes .ahd parameters as described below. Bit DO is a "1" to indicate that this is a Control Word (Figure 17). Bit 02. Time Constant. This bit Indicates that the next word programmed is time constant data for the downcounter. Bit 01, Software Reset. Writing 1 to this bit indicates a software reset operation, which stops counting activities until another time constant word is written. Time Constant Word Before a channel starts counting, it must receive a time constant word The time constant value is anywhere betwe('ln 1 and 256, with "0" being accepted as a count of 256 (Figure 18). . Control or Vector 0 .. Vedor 1 _ Control Word Reset o=Continued Operation 1 = Software Reset Time Constant -0 • No TIme COnstant Follows 1 = TIme Constant Follows TIme Trigger' TCO TCl TC2 o= Automatic Trigger When TC3 Time COnstant Is loaded 1 = ClKITRG Pulse Starts Timer TC4 ClKlTRG Edge Selection Sete<;ts Failing Edge 1 Selects Rising Edge o TCS TC6 TC7 Prescaler Value· 1 =Value of 256 0= Value of 16 Mode Figure 18. CTC Time Constant Word o Selects TImer Mode 1 Seleets Counter Mode tnterrupt 1 Enables Interrupt o Disables IntelTupt • TImer Mode Only Figure 17. CTC Channel Control Word Bit 07. Interrupt Enable. This bit enables the interrupt logiC so that an internal INT can be generated at zero count. Interrupts are programmed in either mode and may be enabled, or disabled at any time. 460 Interrupt Vector Word If one or more of the CTC channels have interrupt enabled, then the Interrupt Vector Word must be programmed Only the five most significant bits of this word are programmed, and bit DO must be "0". Bits 02-01 are automatically modified by the CTC channels when it responds with an interrupt vector (Figure 19). Read Register 1 t , L 0= Interrupt Vector Word 1 = Control Word Channel Identifier AlISant ,. field Bft In 1 FI!>Id 8ft (Automatically Inserted in PreY~ Second Previous, by CTC) o 0 ~ Channel 0 o 1 =Channel 1 1 0 = Channel 2 1 1 = Channel 3 Supplied By User Figure 19. CTC Interrupt Vector Word I¥e Byte 3 4 5 6 1 ,0 (I 0 0 1 0 1 0 1 1 ,0 0 0 (J 1 0 0 (I 1 0 7 1 1 8 1 1 1 0 1 (I 0 0 2 8 8 Parity'Error Ax Overrun Error SIOREGISTERS CRClFoaming Error End of F_,(SDLC) For more detailed informatidn. refer to the SIO Technical Manual. Read Registers. The SIO channel B contains three read registers while channel A contains only two that are read to obtain status information, To read the contents of a register (rather than RRO). the program must first write a pointer to WRO in exactly the same manner as a write operation, The next I/O read cycle will place the contents 01 the selected read registers onto the data bus (Figure 20a. b. c), • Residue data for eight Ax bitslcha_erprogoammed t Used with special receive condftion mode Figure 2Ob, 810 Read Register 1 Read RegIster 2 (Channel B Only) , ' ~ Read Register 0 Rx Character Availab6e } ~:~~::~n~OM • Used Wdh "ExtemaVStatus Interrupt' Modes Figure 20a. SIO Read Register 0 V2t ,V3t V4 Interrupt 'Vector V6 ,V7 Tx Buffer Empty Break/Abort Vlt V5 INT Pending (Ch. A Only) OeD vo t Variable W"Slatus Affects Vector" is programmed • Figure 20c. 510 Read Register 2 Write Registers. The SIO Channel B contains eight write registers while Channel A contains only seven that are programmed to configure the operating mode characteristics of each channel. With the exception of WRO. programming the write registers is a two step operation, The firstoperalion is a pointer written to WROwhich points to the selected register. The second operation is the actual control word that is written into the register to configure the SIO channel (Figure 21) 461 WrRe, Register 1 Iwl~I~I~looloolrnlool I~ Register 0 Register 1 Register 2 Register 3 Register 4 Register 5 Register 6 ,~ EXTINT Enable TxlNTEnabie Status Affects V Ax (Ch. B only) ector Ax :~ Disable INT On On First Charilcte All Rx Che r } IVector) NT On All Rx Cherecters raeters (Parity (Parity Alleets Vector) Does Not Affect ~lster7 NuUCOde • :'nd Abort (SDt.C) esetEXTISTA C,t>annel Reset TUS Interrupts _ _ _ _ _ _ _ _ _~ E_INTonN Reset TxlNT P~ Ax Cherecter Error Raset ~ o o 1 1 1 == FlIT M/aitJReady Function ng Return from , tNT (Ch.AOniy) o M/altlReadyon • Or on special cond~"", M/aitJReady Enable NunCode Ax CRC Check TxCRCG er enenllor AaseIT. Underru nlEOMLatch Write Register 3 Iwl~I~lwlooloolrnlool I ~::=-~... Address Search Mode (SDLC) Rx CRC Enable Enter Hunt Phese Interrupt Auto Enables Vector o o o o1 1 1 1 Ax 5 BItsIC Ax 7 BUsICheracter Ax 6 BilslCheracter Ax 8 BlisiCheracter heracter Figure 21. 510 W rite . Registers 462 Write Register 4 Write Register S 1~lool~I~lool~lrnlool I ~ Parity Enable o 1 0 1 0 1 1 o o o 1 1 o 0 1 1 1 0 1 o 0 1 0 1 , Sync Modes Enable 1 Slop BitICharacter 1 1/2 Stop BltslCharacter 2 Slop BltslCharacter TxCRCEnable /sOlC/CRC 16 Tx Enable Send Break 8 Bft Sync Charact';" 16 Bft Sync Character SOlCMode(OIIIII10Rag) External Sync Mode o 0 1 1 1 0 o 1 Tx S BMs (Or less)ICh...acter Tx 7 BftsiCharacter Tx 6 BnsICh...acter Tx 8 Bits/Character OTR XI Clock Mode X16 Clock Mode X32 Clock Mode X64 Clock Mode Write Register 7 Write Register 6 * L ~RTS Pa1ty Eveni/Odcl SyncB.O Sync Bit 8 SyncB.l Sync Bit 9 SyncBk2 Sync Bit 10 SyncBft3 Sync Bit 11 Sync Bft 4 Sync Bit 12 Sync Bft S Sync Bit 13 SyncB.6 Sync Bit 14 Sync Bft 7 SyncBll15 • Also SOlC Address Reid * For SOLC II must be programmed 10 "01111110· for neg racognnlon Figure 21. SIO Write Registers (Continued) WATCH DOG CONTROL REGISTERS There are two registers to control Watch Dog Timer operations. These are Watch Dog Timer Master Register (WDTMR; I/O Address FOh) and the WOT Command Register (WOTCR; I/O Address F1 h).Watch Dog Timer Logic has a "double key" structure to prevent the WOT disabling error, which may lead to the WOT operation to stop due to program runaway. Programming the WOT follows this procedure. Also, these registers program the power-down mode of operation The "Second key" is needed when turning off the Watch Dog Timer. EnablingtheWDT. TheWOT is enabled by setting the WOT Enable Bit (07:WOTE) to "1" and the WOT Periodic field (05,06:WDTP) to the desired time period. These command bits are in the Watch Dog Timer Master Register (WDTMR; I/O Address FOh). Disabling the WDT. The WOT is disabled by clearing WDT Enable bit (WOTE) In the MR to "0" followed by writing "B1h" to the WDT Command Register (WDTCR; I/O Address F1h). wm 463 Clearing the WOT. The WaT can be cleared by writing "4Eh" into the WDTCR. Watch Dog Timer Master Register (WOTMR;l/O address FOh). This register controls the activities of the Watch Dog Timer a~d selects power-down mode of operation (Figure 22): W01MR (ReadlWrite) 11 11 1 \ 11 11 1 0 11 11 1(VaJue on Power·on Reset) 1~ HALT Mode (HAL1M) 1 0 - STOP Mode 1 1- RUN Mode ~O~~~".1~ ~s~~,r~:fJ) o 1 - Period Is (ToC x 2 18 ) 1 O· Period Is (ToC x 220) 1 1 - Period Is (ToC x 222) Watch Dog Timer Enable (WOTE) 1 - Enable 0 1• Disable Figure 22. Watch Dog Timer Master Register Bit 07. Watch Dog Timer Enable (WDTE). This bit controls the activities of Watch Dog Timer. The WDT can be enabled by setting this bit to "1 ". To disable WDT, write "0" to this bit followed by writing "B 1h" in the WDT Command Register. Watch Dog Timer Logic has a "double key" structure to prevent the WDT disabling error, which may lead to the WDT operation to stop, due to progmm runaway. Upon Power-on reset, this bit IS setto" 1" and the WDT is enabled. Bit 06-05. WDr Periodic field (WDTP). This two bit field determines the desired time period. Upon Power-on reset, this field sets to "11". 4p4 is is is is (T cC (TcC (TcC (TcC * 2 16 ) * 2 18 ) * 220 ) * 222) 00 - IDLE 1 Mode 01 - IDLE 2 Mode 10 - STOP Mode 11 - RUN Mode Should be "011" o o· IOLE1 Mode o 1 - 1DlE2 Mode 00 - Period 01 - Period 10 - Period 11 - Period Bit 04-03. HAL T mode (HAL TM). This two bit field specifies one of four power-down modes. To change this field, write "DBh" to the WDT command register, followed by a write to this register. For detailed descriptions of this field, please refer to the section "Mode of operations." Upon Power-on Reset. this field is set to 11, which speCifies "RUN mode." Bit 02-00. Reserved. Tl1ese three bits are reserved and should always be programmed as "011". A read to these bit returns "011". Watch Dog Timer Command Register (WOTCR; I/O address Flh). In conjunction with the WDTMR, this register works as a "Second key" for the Watch Dog Timer. This register is write only (Figure 23). Write Blh after clearing WDTE to "0" - Disable WDT. Write 4Eh - Clear WDT. Write DBh followed by a write to HALTM - Change Power-down mode. WOTCR (Write Only) o o 1 1 0 0 o 1 000 1 (Bl h) - Disable WOT (Aher Clearing WOTE) 1 0 (4Eh) - Clear WOT 0 1 (OBh) - Change HALT Mode (Followed by setting HAL1M) Figure 23. Walch Dog Timer Command Register , -----,----~-~~~ INTERRUPT PRIORITY REGISTER (INTPR; I/O address F4h) This register (write only) is provided to determine the interrupt priority for the CTC, SIO and the PIO (Figure 24). IPR(WrileOnIy) 07 00 Ix Ix Ix Ix Ix I I I I I I I o 0 0 01 02 0 o 0 o 1 o 1 1 0 1 0 1 1 1 1 0 0 00 1 0 1 0 1 0 1 (Value on Powe'-on ReseQ ZB4X15 High-Low CTC-SIO-PIO SIO-CTC-PIO CTC.pIO-SIO PIO-SIO-CTC PIO-CTC-SIO SIO-PIO-CTC R...erved Reeerved ZB4X13 High-Low CTC-SIO SIO-CTC Reserved R.....rved R.....rved R.....rved Reeerved Reeerved Inl8rlupt PrIoIIly Unused accessed" to the System Control Register Pointer (SCRP, I/O address EEh), and then accesses the target register through the System Control Data Port (SCDP, 1/0 address EFh), The pointer which writes into SCRP is kept until modified. System Control Register Pointer (SCRP, I/O address EEh) This register stores the pointer to access System Control Registers (WCR, MWBR, CSBR and MCR). This register is Read/Write and it holds the pointer value until modified, Upon Power-on Reset, all bits are cleared to zero. The pOinter value, other than OOh to 03h is reserved and is not written. Upon Power-on Reset, this register is set to "OOh" . (Figure 25). SCAP(_rlle) 07 , 0 Figure 24. Interrupt Priority Register o o o o 00 10 10 1 0 1 0 1 0 1 0 1 0 I (ValueonPower-onReset) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 (OOh) Point ID WCR (Olh)PoIntIDMWBR (02h)PolntIDCSBR (03h) PoIntlD MeR Bit 07-03. Unused Figure 25. System Control Register Pointer Bit 02-00. This field specifies the order of the interrupt daisy chain, Upon Power-on Reset, this field is set to "000". 000 001 010 OIl 100 101 lID 111 Z84C15 High- Low Z84C13 High- Low CTC-SIO-PIO SIO-CTC-PIO CTC-PIO-SIO PIO-SIO-CTC PIO-CTC-SIO, SIO-PIO-CTC Reserved Reserved CTC-SIO SIO-CTC Reserved Reserved Reserved Reserved Reserved Reserved REGISTERS FOR SYSTEM CONFIGURATION (The following registers are not available on Z84013/015,) There are four indirectly accessible registers to determine System configuration with tre Z84CJ3/C15. These indirectly accessible registers are: Wait State Control Register (WCR, Control Register OOh), Memory Wait Boundary Register(MWBR, Control RegisterOlh), Chip Select Boundary Register (CSBR, Control Register 02h) and Misc. Control Register (MCR, Control Register 03h). To access these registers, Z84C 13/C 15 writes "register number to be System Control Data POrt (SCOP, 110 address EFh) This register is to access WCR, MWBR, CSBR and MCR (Figure 26). SCOP (AeadlWrlte) 07 DO 1 ·1 ReadlW,Ke the Reglste, Pointed by SCPR Figure 26. System Control Data Port Wait State Control Register (WCR, Control Register OOh) This register can be accessed through SCDP with the pointer value OOh in SCRP (Figure 27). To maintain compatibilitywith the Z8401 3/01 5, the Z84C13/CI5 inserts the maximum number of wait states (set all bits of this register to one) for fifteen IMI cycles after Power-on Reset. It automatically clears the contents of this register (move to no-wait state insertion) on the trailing edge of the 16th 1M 1 signai unless software has programmed a value. If automatic wait state insertion is needed, the wait state is programmed within this time period. A read to WCR during this period will return FFh, unless programmed, 465 WCR (ReadlWrite) 07 For fifteen /M 1 cycles from Power..on Reset, bits 7-6 are set to "11" . They clear. to "00" on the trailing edge of tile 16th /M1 signal unless programmed. DO 11 1 I1I1 ill I0 0 I0 I0 01 0 11 11 I 16 -1M1 Cycles After Power·on Reset Unless Programmed -- I0 I0 I L IIOWd o 0 No Wan Stale o 1 Two Wd Stales 1 0 Four Wait States 1 1 Six Wait States Memory Wan o 0 No Wait Stale o 1 One Wan Stale 1 0 Two Wan StaleS 1 1 Three Waij Stales Op-code Fetch Extension 0: No Additional Wait On Op de Fetch Cycle 1: Add 1 More Wait to Op-Code Fetch Cycle Interrupt Vector Wait /0: No Wait 1: One Waij Stale Interrupt Daisy Chain Wait Interrupt Acknowledge Cycle o 0 OWanStale o 1 2 Wait Stales 1 '0 4 Waij Stales 1 1 6 Waij Stales REl1 Cycle 0 WaitStale 0 Wait Stale 2 Wait Stales 4 Wait Stales Bit 5. Interrupt Vector Wait. While this bit is set to one, the wait state generator inserts one wait state after the /IORO signal goes active during the Interrupt acknowledge cycle. This gives more time for the vector read cycle. While this bit is cleared to zero, no wait state is inserted (standard timing). ror fifteen /M1 cycles from Power-on Reset, this bit is set to "1", then cleared to "0" on the trailing edge of the 16th /M1 signal, unless programmed. Bit 4. Opcode retch Extension. If this bit is set to "1", one additional wait state is inserted during the Op-code fetch cycle in addition to the number of wait states programmed in the Memory Waitfield. For fifteen 1M 1 cycles from Poweron Reset, this bit is set to "1", then cleared to "0" on tile trailing edge of the 16th /M1 signal, unless programmed. Bit 3-2. Memory Wait States. This 2-bit field specifies the number of wait states to be inserted during memory Read/ Write transactions. 00 01 10 11 - No Wait states 1 Wait states 2 Wait states 3 Wait states Figure 27. Wait State Control Register This register has ttle following fields: Bit 7-6. Interrupt Oaisy Chain Wait, This 2-bit field speCifies the number of wait states to be inserted during an Interrupt Daisy Chain settle period of the'lnterrupt Acknowledge cycle, which is/IORO falls after the settling period from 1M 1 going active "0". Also, this field controls the number of wail states inserted during the RETI (Return From Interrupt) cycle. ·If specified to insert 4 or 6 wait states during Interrupt Acknowledge cycle, the Wait state generator also inserts wait states during RETI fetch sequence. This sequence is formed with two op-code fetch cycles (Op-code is EOh followed by 40h). It inserts 1 wait state if op-code followed by EOh is NOT 40h, and inserts 2 or 4 wait states, respectively, if the following op-code is 40h. 466 Interrupt Acknowledge RETI cycle 00 - No Wait states 01 - 2 Wait states 10 - 4 Wait states 11 - 6 Wait states No Wait states No Wait states 2 Wait states 4 Wait states For fifteen /M1 cycles from Power-on Reset, these bits are set to "11", tilen cleared to "00" on the trailing edge of the16th /M1 signal, unless programmed. Bit 1-0. I/O Wait states. This 2-bit field specifies the number of wait states to be inserted during I/O transactions. 00 - No Wait states 01 - 2 Wait states 10 - 4 Wait states 11 - 6 Wait states For fifteen /M1 cycles from Power-on Reset, these bits are set to "11", then cleared to "00" on the trailing edge of the 16th /M 1 signal, unless programmed. For the accesses to the on-chip I/O registers, no Wait states are inserted regardless of the programming of this !.ield. Memory Wait Boundary Register (MWBR, Control Register 01 h) This register specifies the address range to insert memory wait states. When accessed memory addresse$ are within this range, the Memory Wait State generator inserts Memory Wait States speCified In the Memory Wait field of WCR (Figure 28). MWBR (ReadlWri\e) 07 DO 1 I I I I I 0 0 0 0 (Value on Power..,n Reset) Memory Wait low Boundary Specifies Lower Boundary Address (A15-A12) for Memory Wait Insertion Memory Watt High Boundary SpecWies High Boundary Address (AI5-A12) for Memory Watt Insertion 03-00. ICSO Boundary Address. Tl1ese bits specify tile boundary address range for /GSO. /GSO is asserted if tile address lines A 15-12 l1ave an address value less tl1an or equal to tile programmed boundary value. Tile /GSO enable bit in the MGR must be set to 1. Upon Power-up reset, these bits come up as all 1's so tl1at /Gsa is asserted for all addresses. Cl1ip Select signals a,re active for tile address range: /CSO: (03-00 of CSBR) ~ A 15-A 12 ~ 0 /CS1: (07-04 of CSBR) ~ A 15-A12 > (03-00 of CSBR) Figure. 28. Memory Wait Boundary Register Bit 07-04. Memory Wait High Boundary. Tl1is field specifies A 15-A 12 of tile upper address boundary for Memory Wait. Bit 03-00. Memory WaitLow Boundary. Tl1is field specifies A 15-12 of tile lower address boundary for Memory Wait. Tl1is register is set to "xxxx1111b'" on Power-on Reset, whicl1 speCifies the address range of /Gsa for "000011 to FFFFI1'" (all Memory location) and /CS1 "undefined." Mise Control Register (MCR, Control Register 03h) This register specifies miscellaneous options on this device (Figure 30), MCR (ReadlWrite) Memory Wait states are inserted for tile address range: (07-04 of MWBR) ~ A 15-A 12 ~ (q3-DD of MWBR) This register is set to "FOil'" on Power-on Reset, wl1icl1 specifies tile address range lor Memory Wait as "000011 to FFFFh'". Chip Select Boundary Register (CSBR, Control Register 02h) Tl1is register speCifies tile address range lor eacl1 cl1ip select signal. Wilen accessed memory addresses are witllin this range, chip select signals are active (Figure 29). 07 00 1 0 1 0 10 1 0 I 0 I 0 I0 II I (Value on Power-on Reset) ICSO Enable 0= Disable 1 =Enable ICS1 Enable 0= O.sable 1 = Enable 32-B~ CRC Enable 0= Disable 1 = Enable Reset Output Disable o =Reset Output is Enabled 1 == Reset Output is Disabled Clock Divide-by-one Option CSBR (ReadlWrite) 07 o = Oivide-by-two DO Ix Ix Ix Ix I I 1 1 1 I I 1 1 = Oivide-by-one (Value on Power..,n Reset) ICSO Boundary' (A 15-A12 S) Should Program as ·000· Figure 30. Mise Control Register ICS I Boundary (AI5-A12';; and >/CSO Boundary) Bit 07-05. Reserved. These tl1ree bits are reserved and are always programmed as "000'", Figure 29. Chip Select Boundary Register 07-04_ ICSt Boundary Address. Tl1ese bits specify tile boundary address range for /GS1. Tile bit values are ignored on power-up as tile /GS1 enable bit is off, Tile /GS1 is asserted if tile address lines A15-1211ave an address value gfeater tl1an the programmed value for /GSO, and less til an or equal to tile programmed value in these bits. Bit 04. Clock Divide-by-one option. "O'"-oisable, "l'"-enable. On-chip CGG unit has divide-by-two circuit. By setting this bit to one, this circuit is bypassed and ClKOUT is equal to X'tal oscillator frequency (or external clock input on the XT Al 1 pin), This bit has no effect when the on-chip CGC unit is not in use and the external system clock is fed from ClKIN pin. Upon Power-on Reset; this bit is cleared to 0 and the clock is divided by two, 467 Bit 03. Reset Output'Disable, "0·-Reset'output is enabled, "1" -Reset output is disabled. This bit controls the /RESET signal and is driven out when reset input Js used to take the Z84C13/C15 out of the "Halt" state, The reset pulse is driven out for 1&cloCk cycles from the falling edge of /RESET input, unless this bit is set Upon Power-on reset, this bit is cleared to 0, Bit 02. 32-Bit GRG enable, "0" -NorlJlal mode (16-bit CRG) "1 "-32-bit CRC generation/Checking is \lnabled on SIO Channel A. This bit determines if the 32-bit CRC feature is enabled on Channel A of the SIO. If this bit is 0, the SIO is in 'a normal mode of operation, If this bit is set to 1, a normal CRC generator/checker is replaced with a 32-bit CRC generator/checker- Upon Power-on Reset, this bit is clear to "0", Bit 01. IGS1 Enable, ·O"-Disable, ''1''-Enable, This bit enables /CS 1 output While this bit is "0", /CS 1 is forced to "1", While this bit is "1", /CS1 carries the address range specified in the CSBR upOn Power-on Reset, this bit is cleared to "0". Bit 00. IGSO Enable. ·O"-Disable, "t'-Enable. This bit enables /CSO output. While this bit is "0", /CS1 pin is forced to" 1". While this bit is "1", the /CSO carries address range specified in the CSBR Upon Power-on Reset. this bit is set to "1", Operation modes There are four kinds of operation modes available for the IPC in connection with clock generation; RUN Mode, IDLE1/2 Modes and STOP Mode. The Operation mode is effective when the HALT instruction is executed, Restart of the MPU from the stopped state under IDLE1/2 Mode or STOP mode is affected by inputting either /RESET or interrupt (/NMI or"/INT). The mode selection of these power-down modes is made by progra~ming the HALTM field (Bit D4-3) of WDTMR. Setting Halt Mode Duplicate control is provided to prevent the stopping of the WDT operation caused by the halt mode setting an error due to program runaway. As described in the programming section, changing the Halt Mode field of WDTMR is in two steps. First, write "DBh" to WDTCR followed by a write to the WDTMR with the value in HALTM. Table 2 has descriptions of each mode, and Table 3 has device status in the Halt state. Table 2. Power-down Modes (When using on-chip CGC unit; CLKOUT and CLKIN are tied together) Operation Mode WDTMR Bit 04 ,BIt 03 RUN Mode The IPC continues the operation and continuously supplies a clock to the outside, IDLE1 Mode o IDLE2Mode o STOP Mode 468 Description at HALT State o The internal oscillator's operation is continued, Clock output (CLKOUT) as well as internal clock to the CPU. PIO. SIO, CTC and the Watch Dog Timer is stopped at "0" level of T4 state in the halt instruction operation code fetCh cycle. The internal oscillator and the CTC's operation continues and supplies clock to the outside on the CLKOUT pin continuously, But the internal clock to the CPU. PIO. SIO and the Watch Dog Timer is stopped at "0" level of T4 state in the halt instruction operation code fetch cycle. 0, All operations of the internal oscillator. clock (CLK) output. internal clock to the CPU. PIO. CTC. SIO and the Watch Dog Timer are stopped at "0" level of T4 ~tate in the halt instruction operation code fetch cycle. Table 3. Device status In Han state (When using on-chip CGC unit; CLKOUT and CLKIN are tied together) Mode CGC CPU CTC PIO SIO WDT CLKOUT IDLE1 IDLE2 STOP RUN 0 0 X X X X X X 0 0 0 0 0 X X X X X X X X X 0 0 0 0 All of the operating modes listed here are valid with crystal input (Crystal connected between XTAL 1/2 or extemal clock input on XTAL 1). For the external clock on the CLKIN pin, only the IDLE2 and RUN modes are applicable. X X O' Operating X: Stop TIMING Basic Timing The basic timing is explained here with emphasis placed on the halt function relative to the clock generator The following items are identical to those for the Z84COO. Ilefer to the data sheet for the Z84COO. • Operation code fetch cycle • Memory Read/Write operation • Input/Output operation • Bus request/acknowledge operation • Maskable interrupt request operation • Non-Maskable interrupt request operation • Reset Operation RUN Mode (HALTM = 11). Shown in Figure 31 is the basic timing when the halt instruction is executed in RUN Mode M1 cycle " CLKOUT T4 Operation When HALT Instruction is Executed. When the CPU fetches a halt ir;Jstruction in the operation code fetch cycle, /HALT goes active (Low) in synch with the failing edge of 14 state before the peripheral LSI and CPU stops the operation. After this, the system clock generation differs depending upon the operation mode (RUN Mode. IDLE 1/2 Mode or STOP Mode). If the internal system clQck is running, the CPU continues to execute NOP instruction even in the halt state. M1 Cycle M1 Cycle T2 T3 T4 T2 T3 IHALT 1M1 HALT OP.Codel Fetch Cycle... ... NOP execution NOP execution Figure 31. Timing of RUN Mode (at Halt Instruction Command Execution) 469 .,lJ."." '''''':.~'.~' .~-"-l'I""""1""I."I~-","",- _ _ _ '''I-~¥---- In RUN Mode, output from the CGC unit (CLKOUT) is not stopped and the internal system clock (0) continues even after ttie halt instruction Is executed. Therefore, until the halt state is released by the interrupt signal (lNMI or liNn or IRESETsignal, MPU continu'es to execute HALT il1structions (intemally executing NOP instructions). IDLE1 Mode (HALTM=OO). Stlown in Figure 32 is the basic timing when the halt instruction is executed in IDLE 1 Mode. T4 CLKOUT JI II 0 (Internal System Clock) IHALT IM1 ~L---------t:t---MPU Operation STOP "1" HALT Instruction Operation Code Fetch Cycle ... 1 ------Figure 32. IDLEl Mode Timing (At Halt Instruction Execution) In IDLE1 Mode, the internal oscillator continues to operate, but clock output (CLKOUT) is stopped at T4 Low state of HALT instruction execution. Then all components in the MPU stop their operation. This mode is not supported when the CGC unit is inactive and the external clock is fed from CLKIN pin; CLKOUT should be connected to CLKIN. IDLE2 Mode (HALTM=01). Shown in Figure 33 is ttle basic timing when the halt instruction is executed in IDLE2 Mode. T4 CLKOUT 0 (Internal System Clock) IHALT IM1 ~ CPU Operation STOP "1" HALT Instruction Operation Code Fetch Cycle ... 1 -------Figure 33. IDLE2 Mode Timing (At Halt Instruction Execution) 470 : tn IDlE2 Mode, tile internal oscillator and clock output (ClKOUT) continue to operate. The internal system clock, fed from ClKIN to tile components otller til an CTC is stopped at tile T4 low state of HALT instruction execution. T1 T2 T3 STOP Mode (HALTM= 10). Sllown in Figure 34 is the basIc timing wilen tile Ilalt instruction is executed in STOP Mode T4 ClK Output STOP ClKOUT " (Internal System Clock) ~ .._ _ _ _ M_p_U_Op_er_at_io_n_S_T_O_P_ _ __ IHALT 1M1 I~ HALT Instruction Operation Code Fetch Cycle Figure 34. STOP Mode Timing (At Halt Instruction Execution) In STOP Mode, tile on-cllip CGC unit is stopped at T4 low state of HALT instruction execution. Tllerefore, clock output (CLKOUT), operation of Watch Dog Timer, CPU, PIO, CTC, SIO are stopped. Release from Halt State. The halt state of tile CPU is released when "0" is input to the IRESET signal and the MPU is reset or an interrupt request is accepted An interrupt request signal is sampled at the leading edge of tile last clock cycle (T 4 state) of NOP instruction. In case of tile maskable interrupt. interrupt will be accepted tlY an active liNT signal (,,0" level). Also, tile interrupt enable flip- flop is set to "1". Tile accepted interrupt process is started from tile next cycle. Further, wilen tile internal system clock is stopped (IDLE11 2 Mode, STOP Mode), it is necessary first to restart the internal system clock. Tile internal system clock is restarted wilen IRE SET or interrupt signal (lNMI or liNT) is asserted. RUN Mode (HAlTM=11). The Ilalt release operation is enabled by interrupt request in RUN Mode (Figure 35). . 471 HALT Instruction Execution ·I~ CLKOUT o (Internal System Clock) IHALT NOP Instruction Execution :I~ M1 I~ Interrupt Process T4 T1 T2 T1 T2 T3 T4 T1 T2 T4 T1 T2 T1 T2 T3 T4 T1 T2 ~. II IM1 IM1 II U I _____ .L __ I I ~ cpu Internal Latch for NMI I IM1 II Interrupt Sample Timing Figure 35. Halt Release Operation Timing By Interrupt Request Signal in RUN Mode In RUN Mode the internal system clock is not stopped. If the interrupt signal is recognized on the rising clock edge of T4 of the continued NOP instruction, CPU will execute the interrupt process from the next cycle. The halt release resets CPU in RUN Mode (Figure 36). After reset, CPU will execute an instruction starting from address OOOOH. However, in order to reset the CPU it is nec- 472 essary to keep /RESET signal at "0" for at least 3 syslem clock cycles. (For Z84C13/C15: 3 clock cycles if f'leset output is disabled.) In addition, if jRESET signal becomes "1", after the dummy cycle for at least two T slates, CPU executes an instruction from address OOOOH. Execute Instruction Address 0000 H HALT Instruction Execution -I CLKOUT o II (Internal - . System. ~ Clock) II_II II n. Y.f-l ~ ~ y. ~ IHALT IM1 IRESET I$ I$ -~--In$------.---'-iG~ Figure 36. Halt Release Operation Timing By Reset in RUN Mode IDLE1 Mode (HALTM=OO),IDLE2 Mode (HALTM=01). The, halt release operation by interrupt signal in IDLE1 Mode is shown in Figure 37 (a) and in IDLE2 Mode in Figure 37 (b). 473 NOP Instruction Exerution T2 T4 T3 T1 CLKOUT " (Internal System Clock) IHALT 1M1 INMI __________ ~ ___ t«-- MPU Internal latch for NMI liNT Interrupt S8fll>Iing TIRing (a) IDLE1 Mode I~ NOP Command Exerution ~I CLKOUT " (Internal System Clock) IHALT ~~~----------~ IMl INMI J I I I _ -5J- - - - - - - - - - - - - -,- - _...r-- MPU Internal I liNT I I Interrupt Sa"",ling TiRing Figure 37. Halt Release Operation Timing By Interrupt Request Signal in IDLE1/2 Mode 474 Latch for NMI When receiving /NMI or liNT signals, the stopped internal system clock starts to feed. In IDLE1 Mode, the IPC starts clock output on CLKOUT at the same time. The operation stop of CPU in IDLE2 mode is taking place at "0" level during T4 state in the halt instruction op-code fetch cycle. Therefore, after being restarted by the interrupt signal, CPU executes one Nap instruction and samples an interrupt signal at the rise of T4 state during the execution of this Nap instruction, and executes the interrupt process from next cycle. If no interrupt signal is accepted dl,Jring the execution of the first Nap instruction after the internal system clock is restarted, CPU is not released from the hall state. It is placed in IDLE1/2 Mode again at "0" level during T4 state of the Nap instruction, stopping the internal system clock. If liNT signal is not at "0" level at the rise of T4 state, no interrupt request is accepted. The hall release operation resets the IPC in IDLE1 Mode (Figure 38a) and in IDLE2 Mode (Figure 38b). Execution lns1ruction Irom Address OOOOH CLKOUT IZJ (Internal Syslem Clock) /HALT 1M! !RESET (a) IDLE1 Mode Execution Instruction from Address OOOOH CLKOUT IZJ (Intema! System Clock) !HALT L....-_---Ir- 1M! IRESET (b) IDLE2 Mode Figure 38. Halt Release Operation Timing By Reset in IDLE1/2 Mode 475 When /RESET signal at "0" level is input into the IPC, the internal ,system clock is restarted and the IPC will exocute an instruction stored in address OOOOH. Halt release in STOP Mode (HALTM=1 0) by interrupt. The halt release operation by interrupt signal in STOP Mode IS shown in Figure 39. At time of /RESET signal input, it is necessary to take the same care as that in resetting the IPC in RUN Mode. I r T4 CLKOUT 0 (Internal System Clock) IHALT Tl ~ NOP Command Execution T2 T3 ~I T4 T1 ~ ~ IM1 INMI f J _ -Jf- - - - - - - - - - - - - - I _.1 - I I _..r--- MPU Intemal Latch for NMI I I :I liNT Interrupt Sampling Timing Figure 39. Halt Release Operation Timing By Interrupt Request Signal in STOP Mode When the IPC receives an interrupt signal, the internal oscillator is restarted. To obtain stabilized oscillation, CLKOUT (and the internal system clock) are started after . a start-up time of (214+2.5) TcC (TcC' Clock Cycle) by the internal counter. CPU executes one NOP instruction after the internal system clock is restarted. At the same time, it samples an interrupt signal at the rise of T4 state during the execution of this NOP instruction If the interrupt signal is accepted, CPU executes the interrupt process operation from the next cycle. 476 .During interrupt signal input, it is necessary to take tile same care as the interrupt signal input in IDLE1/2 Mode. Halt release in STOP Mode (HALTM=10) by IRESET. When /RESET at "0" level is input into the IPC, the internal oscillator is restarted. However, the internal clock counter for warm-up does not operate. Therefore, tile operation is not carried out properly due to unstable clock oscillation. It is necessary to hold /RESET at "0" level for sufficient lime. The halt release operation by the IPC resetting in STOP Mode is shown in Figure 40. a Z84C13/C15 Only. The fRESET pulse is stretched to minimum of 16 cycles and driven out ofthe Z84C 13fC15 on the fRESET pin if Reset output is enabled (bit D3 of MCR is cleared to "0"). Setting bit 03 disables the driving out of fRESET. The values in the control registers (WOTMR, SCRP, WCR, MWBR, CSBR and MCR) are initialized to U18 default value on fRESET. Executive Instruction from Address OOOOH T1 CLKOUT T2 T3 ~ 0 (Internal System Clock) ~ IJ IHALT 1M1 IRESET Figure 40. Halt Release Operation Timing By Reset in STOP Mode Start-up Time at Time of Restart (STOP Mode). When the MPU is released from the halt state by accepting an interrupt request, it executes an interrupt service routine Therefore, when an interrupt request is accepted, it starts generating clock on the CLKOUT pin, after a start-up time, by the internal counter [(214+2 5) TcC (TcC'Clock Cycle»). This obtains a stabilized oscillalton for operation. Further, in case of restart by the fRESET srgnal, the internal counter does not operate. Evaluation operation. Each of the CPU signals (A 15-0, 07-0, fMREO, flORO, fRO, /WR, fHALT, fM1, /RFSH) can be 3-stated by activating the EV pin. The Z84C13/C15 enhances the counter part by eliminating the requirement of /BUSREO to go active Instruction set. The instruction setofthe IPC is the same for the Z84COO. For details, refer to the data slleet of tile Z84COO Technical Manual. ACTIMING The following section describes the timing of the IPC The numbers appearing in the figures refer to the parameters on Table A-F. ·CPUTiming Parameters referenced in Figure 41 tllrough Figure 48 appear in Table A. The IPC's CPU executes instructions by proceeding through . the following specific sequence of operations. Memory read or write I/O device read or write Interrupt acknowledge The basic clock period is referred to as a Time or Cycle and three or more Tcycles make upa machine cycle (e.g, MI, M2 or M3). Machine cycles are extended either by the CPU automatically inserting one or more Wait states or by tile insertion of one or more Wait states by the user. 477 Instruction Op-code Fetch. The CPU places the contents of the Program Counter (PC) on ~he address bus at the start of the cycle (Figure 41). Approximately one-half clock cycle later, iMREQ goes active. When active, fRD indicates that the memory data can be enabled onto the CPU data bus. ·The CPU samples the /WAIT input with the falling edge of clock state T2. During clock states 1"3 and T4 of an M1 cycle,· dynamic RAM refresh can occur while the CPU starts decoding and executing the instruction. IClock A1S-AO IMREQ IRD fWAIT IM1 ~ External Memory Access, Data in IRFSH 3= ((« ~I-----I _____--Ir· Figure 41. Instruction Op-code Fetch (See Table A) 478 Memory Read or Write Cydes. Figure 42 shows the timing of memory read or write cycles other than an Op-code fetch (/M1) cycle. The /MREQ and fRO signals function like the Op-code fetch cycle. In a memory write cycle, fMREQ also becomes active when the Address Bus is stable. The NJR line·is active when the Data Bus is stable, so that it can be used directly as an RNJ pulse to most semiconductor memories. Clod< A1S-AO IMREQ' /WAIT ...._+-(13 lAO Read Operation 07-00 Oataln ---------+----------~~ ~~------~:311}_------~ w-~-------/wR Write Operation 07-00 OataOut ______ ~~~~;~~-oa-tao-m--- Figure 42. Memory Read or Write Cycle (See Table A) 479 Input or Output Cydes.. Figure 43 shows the timir1Q for an I/O read or I/O write operati'on During I/O operations, the CPU automatically inserts a single Wait state (TWA)' This extra Wait state allows sufficient time for an I/O port to decode the address from the port address lines. When the CPU is accessing the on-chip I/O registers (PIO, CTC: SIO and system control registers), the data from/to these registers also appears on the data bus, or data bus is output during I/O cycle. Clock A7-AO . /lORa /WArT lAD External VORead Operation 07-00 Data In /wR VOWrite Operation 07-00 Data In Read . 07-00 Operation Internal { . Data Out OUtput Valid Floating Note: TWA =One waR cycle automatically inserted by CPU Figure 43. Input or Output Cycle (See Table A) 480 Interrupt Request/Acknowledge Cycle. The CPU samples· the interrupt signal with the rising edge of the last clock cycle at the end of any instruction (Figure 44). When an interrupt is accepted, a special /M1 cycle is generated. During this /M1 cycle, /IORO becomes active (instead of /MREO) to indicate that the interrupting device can place an 8-bit vector on the data bus. The CPU automatically adds two Wait states to this cycle. Clock nNT A15-AO PC 1M1 nORO ~--------~~.r---------~ ~--~~'}------+~--~~ /WAIT 07-DO --_®:c )----------t(~«< NOTE: 1) T U 2) TWA = Last state of any instruction cycle = Wait cycle automatically inserted by CPU Figure 44. Interrupt Request/Acknowledge Cycle . (See Table A) 481 Non-Maskable Interrupt Request CYcle./NMI is sampled at the same time as the maskable interrupt input/I NT , but has higher priority and cannot be disabled under software control. The subsequent timing is similar to that of a normal memory read operation except that data put on the bus by the memory is ignored, The CPU instead executes a restart (RST) operation and jumps to the /NMI service routine located at the address 0066H (Figure 45), - - .... uCycIe - - - t - - - - - - ' - - - - - - - - U 1 - - - - - - - - - - - - - - t Clock n 'l1 INMI A15·AO - --- * ----------------------------------------- - - - -' -- - - - -------- -' - - ---------PC 1M1 IMREQ IRO * Although INMI is an asynch~s input, 10 guarantee its being recognized on the loIlowing machine cycle, INMl's laMing edge must occur no later than the rising edge 01 the dock cycle preceding the last state 01 any Instruction cycle (T u ), Figure 45. Non-Maskable Interrupt Request Operation (See Table A) 482 Bus Request/Acknowledge Cycle. The CPU samples IBUSREO with the rising edge of the last clock period of any machine cycle (Figure 46) If IBUSREO is active, the CPU sets its address, data, and IMREO to Inputs, and IIORO, IRD and twR lines set to an input for on-chip peripheral access from an external bus master with the rising edge of the next clock pulse. At that time, any external device can take control of these lines, usually to transfer data b~tween memory and 1/0 devices. Clock IBUSREQ IBUSACK A15-AO D7-DO IMREQ IRD,IWR IIORQ,1M1 /HALT, IRFSI:I Notes: 1) TLM = last state of any M cycle 2) TX = An arbitrary clock cycle used by requesting device Figure 46. BUS Request/Acknowledge Cycle (See Table A) 483 Halt acknowledge cycle. Figure 47 shows the timing for Halt acknowledge cycle. - - - - - - Ml------_.~I.~-----------------Ml--------------------~.~I••-------- Ml-------~ ~ ~ ~ ~ Clock IHALT Halt instruction Received INMI , ~ ~ ----------~~~--------~• Although INMI is an asynchronous input, to guarantee its being recognized on the following machine cycle, INMl's falling edge must occur no later than the rising edge of the clock preceding the last state of any instruction cycle (TLI ). Figure 47. Han Acknowledge (See Table A) Reset Cycle. /RE~ET must be active for at least three clock cycles for the CPU to properly accept it. As long as /RESET remains active, the address and data buses float, and the control outputs are inactive. Once LRESET goes inactive, two internal T cycles are consumed before the CPU resumes normal processing operation. /RESET clears the PC register, so the first op-code fetch location is OOOOH (Figure 48). 484 Z84C13/C15 Only. If Reset output is disabled, /RESET must be active for at least three clock cycles for the CPU to properly accept it. Otherwise, /RESET must be active for at least two clock cycles and the on-chip reset circuit extends /RESET Signal to at least a minimum of 16-clock cycles. ~~-----M1------- Clock /RESET * External /RESET Input * /RESET 0u1pUl (Open drain) ~--------~Y~--------~ Al5-AO Floating 07-00 ~1 ~1' ________________ L~!------~--------~~_________ IMREQ :1~-----------t-Z~~Z~Z~Z~7~------------------~\-~~~~==== I1-iALT * 84013115 Only Reset Output Is Enabled Figure 48_ Reset Cycle (See Table A) . 485 " ..".~'" .•.,,-...-.............. ---'''-''-~ "'''''''''~I''''' ..".,." ...." .... ' •. ,," ,' ..-,-",r;-~,'I'" CGC TIMING Figure .49 to Figure 52 StlowS the liming related CGC and Power-On Reset circuit. Parameters referenced in Figure 49thru Figure 52 appear in Table B. 2.2V±O.4V Voo IAESET ~------~59~------~ Figure 49. Reset on Power-up (Applies only for Z84C13/C15) (See Table B) Clock liNT INMI Figure 50. Clock Restart Timing by liNT, INMI (STOP Mode) (See Table'B) 486 Clock (IDLE1 Mode) Clock (IDLE2 Mode) INMI (a) Clock Restart Timing by liNT, INMI (IDLE1/2 Mode) CLKOUT !RESET (b) Clock Restan Timinq by IRES~T (IDLE1/2 Mode) figure 51. Clock Restart Timing (IDLE1/2 Mode) (See Table 8) 487 IXTAL1 (For External Clock Input) (a) XTAL 1 Timing for External Clock Input (b) CLKOUT Timing Figure 52. Clock Timing (See Table B) On-chip peripheral access from External Bus master. The timing for the on-chip I/O device access from the T 1 T2 TWA external bus master is shown in Figure 53 This timing also applies to the liming during EV mOdf' of operation. T 3 Clock Address llORO IRO } ~ead Cycle 07-00 lRO Valid Data 'W 07-00 1)------- Ir---t---II---t---------~________ }~ft ,,- Ir---t---II-----~I)__---------------}~, tWR. llORO 07-00 SIO IWR/(ROY (WAIT Mode) SIO IWR/IROY (Ready Mode) ~ (a) On-chip peripheral 1/0 a<;cess from External Bus master . (See Tables C and F) Figure 53. On-Chip Peripheral Timing from External Bus master 488 SIO Clock IM1 IIORO 07-00 lEI lEO , (b) Interrupt Acknowledge Cycle Timing for On-chip peripheral from External Bus master (See Table C) T1 T2 Ta T4 Clock 1M1 IRD 07-00 lEI lEO (c) Op-code fetch Cycle Timing for On-chip peripheral from External Bus master (See Table C) Figure 53_ On-chip Peripheral Timing from External Bus master (Continued) 489 PIOtiming , (Not applicable on Z84x13) Figure 54 shows the timing for . on-chip PIO. Clock 1I0RO, IRO ROY 1818 ~o __________________________ ~----------------------_+~ ~2 ______________________________~ liNT Figure 54. PIO Timing (See Table D) 490 t CTCTiming Figure 55 shows the timing for on-chip CTC. Clock CLKlTRG Counter CLKlTRG Timer zcrro liNT Figure 55. Countermmer Timing (See Table E) 491 SIOTiming Figure 56 shows the timing for on-ctlip SIO. ICTS, lOCO, ISYNC __-.-II ITxC ITxD IWTIIRDY lINT· IRxC RxD IWTIIRDY liNT ISYNC (External Sync Mode) ISYNC (Output Mode) Figure 56. SIO Timing (See Table F) 492 Watch-Dog Timer Timing Figure 57 shows the timing for Watch-dog Timer. elKIN IWDTOUT Figure 57. Watch-dog Timer Timing (See Table H) PRECAUTIONS (1) To release the HALT state by IRESET signal in STOP Mode, hold the IRESET signal at "0" until the output from the internal oscillator stabilizes. Z84013/015 Only. To reset MPU, it is necessary to hold IRE SET Signal input at "0" level for at least three clocks. Z84C13/C15 Only. If Reset output is disabled, IRE SET must be active for at least three clock cycles for the CPU to properly accept it. Otherwise, the on-chip reset circuit extends IRESET signal to at least a minimum of 16-clock cycles. (2) Releasing the MPU from the HALT state by the interrupt signal in IDLE1/2 Mode and STOP Mode, depends upon the HALT state and the internal system clock. They will stop unless an interrupt signal is accepted duCing the execution of NOP instruction, even when the internal system clock is restarted by the interrupt signal input. In particular, care must be taken when liNT is used. Other precautions are identical to those for the Z84COO. Refer to the data sheet for the Z84COO. ELECTRICAL CHARACTERISTICS Absolute Maximum Ratings Voltage on Vcc with respect to Vss ........... -0.3V to + 7.0V Voltages on all inputs with respect to Vss .............................. -0.3V to Vcc+0.3V Operating Arnbient Temperature ............................ See Ordering Information Storage Temperature .......................... -65°C to + 150 °C Stresses greater than those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only; operation of the device at any condition above those indicated in the operational sections of these speCifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. 493 STANDARD TEST CONDITIONS The DC Characteristics and capacitance sections below apply for the following standard test conditions, unless otherwise noted. AU voltages are referenced to GND (OV). Positive current flows into the referenced pin. +5V 2.1 K Available operating temperature range is: E = -40°C to 100°C Voltage Supply Range: +4.50V ~Vcc ~ + 5.50V From Output Under Test o----1~~t---n----4 All AC parameters assume a load capacitance of 100 pf. Add 10 ns delay for each 50 pf increase in load up to a maximum of 150 pffor the data bus and 100 pf for address and control lines. AC timing measurements are referenced to 1.5 volts (except for clock, which is referenced to the 10% and 90% points). Maximum capacitive load for ClK is 125 pf. The Ordering Information section lists temperature ranges and product numbers. Package drawings are in the Package Information section. Refer to the Literature List for additional documentation. CAPACITANCE Guaranteed by design and characterization Symbol 494 Parameter Min Max' Clock Capacitance Input Capacitance Output Capacitance 35 5 15 pF pF pF Unit l00pF II Figure 58. Standard Test Load DC CHARACTERISTICS Vcc =5.0V ± 10%, unless otherwise specified Symbol Parameter Min Va.e V<:JriC V,HC Vee-0.6 V'Le Clock Output High Voltage Clock Output Low Voltage Clock Input High Voltage Clock Input Low Voltage V,H V,L Va. VOH1 Input High Voltage Input Low Voltage Output Low Voltage Output High Voltage . 2.2 -0.3 2.4 V V V V Vr:1rl2 Icc1 Output High Vottage Power Supply Current XTALIN =10MHz XTALIN = 6MHz Vee-0.8 [5] V Max 0.4 Vee-0.6 0.4 Vee 0.8 0.4 [5] Power Supply Current (IDLE2 Mode) XTALIN =10MHz XTALiN = 6MHz Input Leakage Current 1004 lu SYNC pin Leakage Current 3-state Output Leakage Current in Float Darlington Drive Current (Port Band CTC ZC{fO) IL(sy) ILO IOHO mA mA 50 IJA 6 4 mA mA mA mA -10 TBD [1] TBD [1] 10 [4) -40 -10 10 10 [2] IJA IJA -1.5 . Condition V V V V 50 30 Power Supply Current (STOP Mode) Power Supply Current (IDLE1 Mode) XTALIN =10MHz XTAUN = 6MHz 1002 Icca Unit -2.0mA +2.OmA ILO=2.0mA IOH=-1.6mA IOH =-25OIJA Vee=5V v...,=Vee-0.2V V,L=02V Vee=5V Vee=5V VIH=Vee-O 2V Vu..=0.2V Vee=5V VIH=Vee-0.2V Vu..=0.2V V,N=O 4V 10 Vee IJA Va.Jf=OAV to Vee VQU1=O 4V to Vee VOH=1.5V REXT = 390 Ohms mA Notes: (1) Measurements made with outputs floating. (2) A 15-AO, 07-DO, IMREO, /IORO, /RO and twA (3) Icc. Standby Current is guaranteed when the /HALT pin is low in STOP mode. (4) All Pins except XTALI, where ILI =±25tJA. (5) A 15-AO, 07-DO, IMREO, /lORO, /RO, /WR, /HALT, IM1 and /BUSACK. . . . -.-_ -- ••• - - - _ . _ . . _ ___ __ _ ..... _ _ _ • _ _ _ _ _ _ ~ " ••••" ~ . 'Ow " ... " ~ - ~ ___ _ - . 495 _ _ _ _ _ _ _ _ '" . . . AC CHARACTERISTICS Table A. CPU Timing (See Figure 41 to 48) Z84x1306 Z84x1506 Z84x1310 Z84x1510 No Symbol Parameter Min Max Min Max Unit Note 1 2 3 4 5 TcC TwCh TwCI TIC TrC Clock Clock Clock Clock Clock 162'* 65 65 DC DC DC 20 100** 40 40 DC DC DC 10 10 nS nS nS nS nS [Al] [Al] 6 7 8 9 10 TdCr(A) TdA(MREOI) TdCI(MREQf) TdCr(MREOr) TwMREOh Address valid from Clock Rise Address valid to /MREO Fall Clock Fall to /MREO Fall delay Clock Rise to /MREO Rise delay /MREO pulse width (High) 65 nS nS nS nS nS 11 12 13 14 15 TwMREOI TdCI(MEROr) TdCI(RDf) TdCr(RDr) TsD(Cr) /MREO pulse width (low) Clock Fall to /MREO Rise delay Clock Fall to /RD Fall delay Clock Rise to fRO Rise delay Data setup time to clock Rise 16 17 18 19 20 ThD(RDr) TsWAIT(Cf) ThWAIT(Cf) TdCr(M1f) TdCr(Mlr) Data hold time after /RD Rise /WAIT setup time to Clock Fall /WAIT hold time alter Clock Fall Clo~k Rise to /Ml Fall delay Clock Rise to /Ml Rise delay 21 22 23 24 25 TdCr(RFSHf) TdCr(RFSfjr) TdCI(RDr) TdCr(RDI) TsD(CI) Clock Rise to /RFSH Fall delay Clock Rise to /RFSH Rise delay Clock Fall to /RD Rise delay Clock Rise to /RD Fall delay Data setup to Clock Fall during M2, M3, M4 or M5 cycles Cycle time pulse width (high) pulse width (low) Fall time Rise time 26 27 28 29 30 TdA(IOROI) TdCr(IOROI) TdCf(IOROr) TdD(WRf)Mw TdCI(WRI) Address stable prior to /IORO Fall Clock Rise to /IORO Fall delay Clock Fall to /IORO Rise delay Data stable prior to /WR Fall Clock Fall to /WR Fall delay 31 32 33 34 35 TwWR TdCf(WRr) TdD(WRf)IO TdCr(WRI) TdWRr(D) /WR pulse width Clock Fall to /WR Rise delay Data stable prior to /WR Fall Clock Rise to /WR Fall delay Data stable from /WR Fall 36 37 38 39 40 TdCf(HALT) Clock Fall to /HAL T "0" or "1" TwNMI /MNI pulse width TsBUSREO(Cr) /BUSREQ setup time to Clock Rise ThBUSREO(Cr) /BUSREO hold time after Clock Rise TdCr(BUSACKf) Clock Rise to /BASACK Fall delay 496 20 90 0** 35** 70 70 55 55 30** 65** 132** 75** 70 80 70 55 65 55 30 25 0 60 10 0 20 80 80 65 65 nS nS nS nS nS 110 100 70 70 80 80 55 55 nS nS nS nS 10' 40 25 107** 50** 22** 70 55 75** 70 -55** 55 -10** 60 50 10** 30** [A2] [/\2] nS 50 55 40** 132** [Al] [Al] nS 65 70 260 60 50 10 nS nS nS nS· nS [/\ 1] 90 60 30 10 90 its nS nS nS nS nS nS nS nS nS nS nS nS 75 nS Table A. CPU Timing (Continued) No Symbol 41 42 43 44 TdCf(BUSACKr) Clock Fall to /BASACK Rise delay TdCr(Dz) Clock Rise to Data Float delay TdCr(CTz) Clock Rise to Control Outputs Float Delay (lMREO, /IORO, /RD and /WR) TdCr(Az) Clock Rise to Address Float delay 45 TdCTr(A) 46 47 48 TsRESET(Cr) ThRESET(Cr) TsINTf(Cr) Address Hold time from /MREO, !lORO, /RD or /WR /RESET to Clock Rise setup time /RESET to Clock Rise Hold time /INT Fall to Clock Rise Setup Time 49 50 51 52 53 ThINTr(Cr) TdM1f(IOROf) TdCf(IOROf) TdCf(IOROr) TdCf(D) /INT Rise to Clock Rise Hold 1 ime /M1 Fall to /IORO Fall delay Clock Fall to /IORO Fall delay Clock Rise to /IORO Rise delay Clock Fall to Data Valid delay 54 55 56 TRDf(D) TMI(D) TwRESET /RD Fall to Output Data Valid /IORO Fall to output data valid /RESET Pulse Width 013/015, or C13/C15 with RESET output disabled 57 TwRESEToe 58 TwRESETdo 59 TwRESETpor . Parameter /RESET Pulse Width C13/C15 Only, RESET output Enabled /RESET drive duration C13/C15 Only; RESET output Enabled /RESET drive duration on Power-on sequence C13/C15 only Z84x1306 Z84x1506 Min Max Z84x1310 Z84x15-10 Min Max Unit 90 80 75 65 nS nS 70 80 65 75 nS nS 35** 20** nS 60 10 70 40 10 50 nS nS nS 10 359** 10 220" 70 70 130 55 55 110 nS nS nS nS nS TBD TBD 60 70 nS nS Note 3TcC 3TcC nS [A3) 2TcC 2TcC nS [A3) 16TcC 16TcC nS [A3) mS [A3) 25 75 25 75 Notes: ... For clock period other than the minimum shown, calculate parameters using the formula on Table H. [A 1) These parameters apply to the external Clock input on ClKIN pin For the cases where external Clock is fed from XTAll, please refer to Table B. [A2) For loading >= 5OpF, decrease width by IOnS for each additional 50pF. [A3) Apply to Z84CI3/C 15 only 497 Table H. Footnote to Table A. No Symbol Parameter Z84x1306 Z84x1506 1 TwCh + TwCl + TrC + TIC TwCh + TIC TwCh + TIC TeC -50 -50 -20 -30 -20 11 TeC TdA(MREOf) TwMREQh TwMREQI 26 29 31 33 TdA(IORQf) TdD(WRf) TwWR TdD(WRf) TeC TeC TeC TwCI + TrC 35 TdWRr(O) -TdCTr(A) TdM1f(IORQf) TwCl + TrC TwCI + TrC 2TeC + TwCh + TIC 7 10 45 50 498 -55 -140 Z84x1310 Z84x1510 -25 -30 -50 -60 -25 -140 -60 -55 -50 -50 -30 I -40 -30 Table B. CGC Timing (See Figure 49 to 52) Z84x1306 Z84x1506 No 2 (Typ )214+ 2.5T cC (Typ)214+2.5TcC nS Clock Restart Time by /NMI (Typ)214+2.5TcC (Typ)214+2.5TcC nS Clock Restart Time by /INT (IDLE Mode) Clock Restart Time by /NMI (IDLE Mode) 2.5TcT 2.5TcT nS 2.5TcT 2.5TcT nS ncc ncc nS Min TRST(INT)S (STOP Mode) TRST(MNI)S (STOP Mode) Clock Restart Time by /INT 4 TRST(MNI)I 5 TRST(RESET)I 6 7 TfCLKOUT TrCLKOUT 8 TcXl 10 Unit Parameter TRST(INT)I 9 Z84x1510 Min Max Symbol 3 TwlXl TwhXl 11 TrXl 12 TfXl Z84x1310 Clock Restart Time by /RESET (IDLE Mode) CLKOUT Rise Time CLKOUT Fall time 15 15 XTAL 1 Cycle Time (for External Clock input on XTAL 1) Divide-by-two mode Divide-by-one mode XT AL 1 Low pulse width (lor External Clock input onXTAL1) Divide-by-two mode Divide-by-one mode (CI3/15 only) XT AL 1 f-!igh Pulse Width (for External Clock input on XTALt) Divide-by-two mode Divide-by-one mode (CI3/15 only) XT AL 1 Rise Time (for External Clock input on XTAL1) XTAL 1 Fall lime (for External Clock input on XTAL1) Max / 10 10 Note nS nS 81 162 50 100 nS nS [82] 35 65 20 40 hS nS [B2J 35 65 20 40 nS nS 25 25 nS [Bl] 25 25 nS [Bl] Notes: [81] If parameters 8 and 9 are not met, adjust parameter 11 and 12 to satisfy parameter 8 and 9. [82] Does not apply to Z84013/015. 499 Table C. Timing for onjchlp peripheral access from external bus master and daisy chain timing (See Figure 53) No Symbol Parameter 1 2 3 4 5 TsA(RIf) TsRI(Cr) Th TdCr(DO) TdRlr(DOz) Address Setup Time to IRD, IIORO Fall IRD, IIORO Rise to Clock Rise Setup Hold time for Specified Setup , Clock Rise to Data out delay , IRD, IIORO Rise to Data Out float Delay 6 7 8 ThRDr(D) TsD(Cr) TdIOf(DOI) 9 ThIOr(D)' IM1, /RD, IIORO Rise to Data Hold Data In to Clock Rise Setup Time ltORO Fall to Data Out Delay (INTACK cycle) IIORO Rise to Data Hold 10 11 ThIOr(A) ThWlf(Cr) 12 ThWRr(Cr) 13 14 TsM1f(Cr) TsMlr(Cf) 15 TdM1f(IEOf) 16 17 , 18 TsIEI(IOf) TdIElf(IEOf) TdIElr(IEOr) 19 TsIEI(Cr) 20 21 TdCf(IEOr) TdCf(IEOf) IIORO Rise to Address Hold IIORO, IWR setup time to Clock Rise New parameter Clock Rise to IJORO, /WR Rise hold lime New parameter IM1 Fall to Clock Rise Setup Time IM1 Rise to Clock Rise Setup Time (/Ml cycle) ~ IM1 Fall to lEO Fall delay (Interrupt Immediately Preceding IMl Fall) Z84x1310 Z84x1510 Min Max 50 40 50 15 60 15 100 75 15 40 30 15 . 25 30 95 Unit Note nS nS . nS nS nS nS nS nS [Cl] 15 15 nS 15 20 15 20 nS nS [C2] 0 0 nS [C2] 40 -15 40 -15 nS nS 140 160 lEI to Clock Fall Setup (For 4D Decode) Clock Fall to lEO Rise Delay Clock Fall to lEO Rise Delay , 290 [CI) For 110 write to Pia, CTC and SIO. [C2] For 110 Write to system control registers. [C3] For daisy chain timing, please refer to the note on page 63. 80 60 95 lEI to IIORO Fall Setup Time (INTACK cycle') lEI Fall to lEO Fall delay lEI Rise to lEO Rise Delay (After ED decode) Noles: 500 Z84x1306 Z84x1506 Min Max .. 120 80 nS 100 n.8 [C3] 70 nS nS [C3] [C3] 150 nS [C3] 75 nS nS 40 50 90 Table D. PIO Timing (Z84x15 only) (See Figure 54) No Z84x1506 Min Max Symbol Parameter TsIOr(Cr) IIORO Rise to Clock Fall Setup Time (To Activate RDY on Next Clock Cycle) Clock Fall to RDY Rise delay Clock Fall to RDY Fall delay IS16 Pulse Width 100 2 3 4 TdCf(RDYr) TdCf(RDYf) TwSTB 5 TsSTBr(Cr) 6 7 8 TdIOr(PD) TsPD(STBr) ThPD(STBr) IST8 Rise to Clock Fall Setup Time (To Activate RDY on Next Clock Cycle) IIORO Rise to Port Data Stable Delay (Mode 0) Port Data to ISTB Rise Setup Time (Mode 1) Port Data to ISTB Rise Hold Time (Mode 1) 9 10 11 12 TdSTBf(PD) TdSTBr(PDz) TdPD(INTf) TdSTBr(INTf) ISTB Fall to Port Data stable (Mode 2) ISTB Rise to Port Data Float Delay (Mode 2) Port Data Match to liNT Fall Delay (Mode 3) ISTB Rise to liNT Fall Delay Z84x1510 Min Max Unit Note nS nS nS nS [D2] [D2] [Dl] 100 115 115 100 100 100 80 100 100 140 140 15 120 75 15 150 140 250 290 120 120 200 220 nS nS nS nS [D2] [D2] nS nS nS nS [D2] Unit Note Noles: [Dl] For Mode 2: TwSTB > TsPD(STB). [D2] Increase these values by 2nS for lOpF increase in loading up to l00pF Max. Table E. CTC Timing (Figure 55) No Symbol Parameter 1 2 TdCr(INTf) TsCTRr(Cr)c Clock Rise to liNT Fall delay CLK/TRG Rise to Clock Ril>e Setup time for Immediate Count 3 4 TsCTR(Ct) TdCTRr(lNTf) Z84x1306 Z84x1506 Min Max (TcC+l00) CLK/TRG Rise to Clock Rise Setup time for enabling of Prescalor on following Clock Rise CLK/TRG Rise to liNT Fall Delay TsCTR(C) satisfied TsCTR(C) not satisfied 5 6 7 TcCTR TwCTRh TwCTRI CLK/TRG cycle time CLK/TRG Width (Low) CLK/TRG Width (High) 8 9 10 11 TrCTR TfCTR TdCr(ZCr) TdCf(ZCf) CLK/TRG Rise Time CLK/TRG Fall Time Clock Rise to ZC/TO Rise Delay Clock Fall to ZC/TO Fall Delay Z84x1310 Z84x1510 Min Max 90 90 nS [E2] 90 90 nS [El] nS nS [E2] [E2] nS nS nS [E3] (36)+(38) (1)+(36)+(38) i [El] (TcC+80) (2TcC) DC DC 90 DC 90 30 30 80 80 (36)+(38) (1 )+(36)+(38) (2TcC) DC 90 DC DC 90 30 30 80 80 nS nS nS nS Noles: [El] TImer Mode. [E2f Counter Mode. [E3] Counter Mode Qnly; when using a cycle time less than 3TcC, parameter #2 must be met. 501 --~"""'i""" '·-~"'''''''''''''''''--~'-'"!l.....-.-rn'!r."::;rll';W, ....~~ .. ,:",.~1''''"'''~~''~'''''''~''''''''''_ _~_'''f'I'''_''''~'''''~IM_1iII' _"_f4. . . . . . . .... "'l'".,~,I""' "'::·n,,,'~I' Table F. 510 Timing (See Figures 53(a) and 56} No Symbol Parameter Z84x1306 Z84x1506 Min Max 1 2 3 4 5 TwPtl ' TwPI TcTxC TwTxCI TwTxCh Pulse Width (High) Pulse Width (Low) /TxC Cycle Time /TxC Width (High) /TxC Width (Low) 150 150 250 85 85 6 7 8 9 TrTxC TfTxC 1 dTxCf(TxD} TdTxCf(W/RRf} /TxG Rise Time /TxC Fall Jime /TxC Fall to TxD Delay /TxC Fall 10jIN//RDY Fall Delay (Ready Mode) 10 11 12 13 14 TdTxCf(INTf} TcRxC TwRxCh TwRxCI Trr1XC /TxC Fall to /INr'Fall Delay /RxC Cycle 1 ime /RxC Widlh (High) IRxC Width (Low) /RxC Rise Time 15 16 TfRxC TsRxD(RxCr} 17 TIlRxCr(RxD} /RxC Fall Time RxD to /RxC Rise Setup lime (Xi mode) /RxC Rise to RxD Hold Time (Xl Mode) 18 . TdRxCr(W/RRf} 19 20 T.dRxCr(INTf} TdRxCr(SYNCf} 21 TsSYNCf(RxCr) 22 TdIOf(W/Rf} 23 TdCr(W/Rf) 24 TdCf(W/Rz) 5 250 85 85 Note 120 120 200 80 80 nS nS nS nS nS [Fl] 5 5 200 80 80 /SYNC Fall to /RxC Rise Setup (External Sync Modes) /IORQ Fall or valid address to /W//RDY Delay (Wait Mode) 60 60 120 9 nS nS nS TcC 9 TcC nS nS nS nS 60 0 0 nS nS 80 60 nS 60 60 10 13 10 13 TcC 10 13 7 10 4 13 7 TcC TcC 4 -100 Clock Rise to /WI/RDY Delay (Ready Mode) Clock Fall to /W//RDY Float Delay (Wait Mode) l . Notes: [Fl] In All Modes, the System Clock rate must be at least five times the maximum data rate. [F2] Para':"9ters 22 to 24 are on Figure 53(a). 502 9 Units 60 /RxC Rise to /WI/RDY Fall Delay (Ready Mode) /RxC Rise to /INT Fall Delay /RxC Rise to /SYNC Fall Delay (Output Modes) l 5 . 60 60 160 9 Z84x1310 Z84x1510 Min Max -100 [F1] nS [F2] 130 110 nS [F2] 85 85 nS [F2] 90 80 nS [F2] Table G. Watch Dog Timer Timing (See Figure 57) No Symbol Parameter 1 2 3 TdC(WDTI) TwPI TcWDT Clock Rise to /WDTOUT Fall Delay Clock Rise to /WDTOUT Rise Delay /WDTOUT Cycle Time WDTP=OO WDTP = 01 WDTP = 10 WDTP = 11 Min Max Min 160 165 (lyp)2'6TcC (Typ)2'8TcC (Typ)220TcC (Typ)222TcC (Typ)2'6TcC (T yp )2'8 rcC (Typ)220TcC (Typ)222TcC Max nS 160 165 nS nS nS nS nS nS Noles: • In All Modes. the System Clock rate must be at least five times the maximum data rate. RESET must be active a minimum of one complete clock cycle. [1] Units equal to System Clock Periods. [2] Units in nanoseconds (nS). Additional information for note [e3] Parameter #15.16.17 and 18 of Table C. These parameters are daisy chain timing and calculated values, and vary depending on the inside daisy chain configuration, which is specified in the Interrupt Priority Register. Inside the IPC, the daiSY chain can be figured as follows: lEO Figure 59. Internal Daisy Chain Configuration 10MHz 6MHz No Parameter 15 16 TdM1(IEO) TsIEI(IO) (PIO at #3) (CTC at #3) (SIO at #3) TdIEI(IEOf) TdIEI(IEOr) 17 18 To calculate IPC daisy chain timing, it can be treated as if there are Z80 PIO, CTC and SIO with Input buffer and look ahead circuit on the chain Following are the calculation formulas: Parameter #15, /M1 falling to lEO delay TsM1 (lEO) = Max[ TdM1 (10)#1 "TdM1 (10)#2, TdM1 (10)#3] + (look-ahead gate Delay) Parameter #16, lEI to /IORO falling setup time TsIEI(IO) = TdIEI(IEO)#1 + TdIEI(IEO)#2 + TsIEI(10)#3 + (Input Buffer delay) Min Max Min Max 100nS 160nS 140nS 160nS 160nS 230nS 280nS 290nS 120nS 290nS 70nS 150nS Parameter #18, lEI rising to lEO rising delay (Alter ED decode) TdIEI(IEOr) = TdIEI(IEOr)pIO+ TdIEI(IEOr)CTC + TdIEI(IEOr)SIO + (Input Buffer delay) + (look-ahead gate Delay) * Where TdIEI(IEO) is worse number between TdIEI(IEOr) and TdIEI(IEOf) Numbers to calculate these parameters lor the above formulas are on the next page. Parameter #17, lEI falling to lEO falling delay TdIEI(IEOf) = Max[TdIEI(IEOI)PIO, TdIEI(IEOI)CTC, TdIEI(IEOf)SIO] + (Input Buffer delay) + (look-ahead gate Delay) 503 6MHz Min Input Buffer delay Look ahead gate delay 10nS 10nS 6MHz PIO part Min TdMl(IEO) TsIEI(IO) TdIEI(IEOf) . TdIEI(IEOr) 10MHz Max 10nS 10nS Max PIO part Max 60nS SOnS SOnS SOnS If using an interrupt from only a portion of the IPC, these numbers are smaller than the values shown above. For more details about the "Z80 Daisy Chain Structure," please 504 10MHz Min CTCpart Min 90nS 90nS lOOnS 130nS Min TdMl(IEO) TsIEI(IO) Tr.JiEI(IEOf) TdIEI(IEOr) Max SIO part Max Min 150nS 70nS 50nS SOnS 130nS lOOnS 90nS 90nS CTC part Min Max SIO part Max 60nS 70nS SOnS SOnS Min Max 90nS SOnS 30nS .30nS refer to the Application Note "Z80 Family Interrupt Structure" included in the Z80 Data book. ~ZiIill PRODUCT SPECIFICATION Z8440/1/2/4, Z84C40/1/2J3/4 1SERIAL INPUT/OUTPUT CONTROLLER FEATURES • Two independent full·duplex channels, with separate control and status lines for modems or other devices. • Data rate in the x1 clock mode of 0 to 1.6M bits! second with a 8.0 MHz clock. • NMOS version for high cost performance solutions, CMOS version for' the designs requires low power , consumption. • NMOSZ0844x04-4 MHzZ0844x06- 6.17 MHz (Where x is the designator for the boncfmg option; 0,1,2 or 4) • CMOS Z84C4x04 - DC 4 MHz Z84C4x06 - DC to 6.7 MHz Z84C4xOa - DC to a MHz (Where x is the designator for the bonding option; 0, 1, 2 or 3, 4) • 6 MHz version supports 6.144 MHz CPU clock operation. • Asynchronous protocols: everything necessary for complete messages in 5, 6, 7, or 8 bits/character. Includes variable stop bits and several clock-rate multipliers; break generation and detection; parity; overrun and framing error detection. • Synchronous protocols: everything necessary for complete bit- or byte-oriented messages in 5, 6, 7, or 8 bits/character, including IBM Bisync, SOLC, HOLC, CCITT-X,25 and others. Automatic CRC generation/ checking, sync character and zero insertion/deletion, abort generation/detection, and flag insertion, • Receiver data registers quadruply buffered, transmitter registers doubly buffered. • Highly sophisticated and flexible daisy·chain interrupt vectoring for interrupts without ex~ernallogic. GENERAL DESCRIPTION The zao SIO (here in after referred to as the zao SIO or, SIO). Seriallnput/Output Controller is a dual-channel data communication interface with extraordinary versatility and capability. Its basic functions as a serial-to-parallel, para!lel-to-serial converter/controller can be programmed by a CPU for a broad range of serial communication applications. The device supports all common asynchronous and synchronous protocols, byte· or bit·oriented, and performs all of the functions traditionally done by UARTs, USARTs, and synchronous communication controllers combined, plus additional ,functions traditionally performed by the CPU. Moreover, it does this on two fully-independent channels, with an exceptionally sophisticated Interrupt structure that allows very fast transfers. Full interfacing is provided for CPU or OMA control. In addition to data communication, the circuit can handle virtually all types of serial 1/9 With fast, or slow, penpheral devices. While designed primarily as a member of the Z80 family, its versatility makes It well suited to many other CPUs. The Z80 SIO uses a single +5V power supply and the standard zao family single-phase clock: The SIOIO, SIOI1, and SIO/2 are packaged in a 4G-pin DIP, the S10/4 is packaged in a 44-pin PCC and the SI0I3 is packaged in a 44-pin QFP. Note that SIO/3 is only available in CMOS and in QFP package. PIN DESCRIPTION Figures 1 through 6 illustrate the three 40'pin configurations (bonding options) available in the Z80C SID (hereafter referred to as SID or Z80 SID). The constraints of a 40-pin package make it impossible to bring out the Receive Clock (RxC), Transmit Clock (TxC), Data Terminal Ready (OTR) and Sync (SYNC) signals for both channels. There· fore, either, Channel B lacks a signal or two signals are bonded together: • Z80 S10/2 lacks SYNCB • Z80 S10/1 lacks OTRB • Z80 SIO/O has all four signals, but TxCB and RxCB are bonded togefher The 44-pin package, the zao SIO/4 for PLCC package, and zao S10/3 for QFP, has all options (Figure 7a and 7b). The first bonding option above (SI0/2) is the preferred version for most applicatibRs. The pin descriptions are as follows: B/A. Channel A or B Select (input, High selects Channel B). This input defines which channel is accessed dunng a data 505 CPU DATA BUS CONTROL FROM CPU ----- --'-- RxDA 0, RxCA 0, TxDA 03 TxCA 0, SYNCA 05 W,Ri'5YA 0, RTSA 0, CTSA zao CE 51012 - -- CHANNEL A ... ~}~ iffi!A _ DCDA lORa RxDS RO RxeB 0, 05 0, 0, 0, lEI CONTROL CIO B/A -- IORO CE lEO BIA M1 CIO W/AOVA $VNCA Ail GNO W/ADYB RxDA RxDS RxCA Rxes TxCB TxCA TxCB W/ROYS TxOA Tx08 DTRA DTRB Tx08 RlSB INTERRUPT CONTROL Do 03 +5V M1 _ 0, INT RESET .....{ CHAIN 00 .. CHANNEL B ~}.~ INT CTSB lEI _ DTRB lEO DCDS CONTROL RT$A Am! CTSA CTse DeoA ClK OCOB RESET l l t +5V GNO ClK Figure 2. 40-pin Dual-In-Line Package (DIP), Pin Assignments Figure 1. Pin Functions CPU DATA BUS CONTROL FROM CPU ~'''l CHAIN INTERRUPT CONTROL -------- 00 RxDA 0, RxCA 0, TxOA 03 TxCA 0, SYNCA 05 W/RDYA 0, 0, RTSA zao CE RESET 51011 - -- } eTSA DTAA DCDA CHANNEL A 0, 05 0, 0, 0, lEI ' lORD CE lEO alA Mi c/o '+5V Ail Mi RxDS W/RDVA lORD RxeB SYNCA RO TxOB RxDA TxCB RxCA AxOS SYNCB TxCA Rxes TxDA TxCB CIO WIROYB B/A Alsa iNT erss ' _ lEI :-- , OCOB CHANNELB }~... CONTROL lEO l t GNO GNO WlROYB SYNCa DTRA TxDB RTSA RfID'j CTSA crsa OCOA DCOS ClK +5V RESET t ClK Figure 3. Pin Functions Note: Power connections follow conventi9nal descriptions below: Connection Circuit 506 Do 03 iNf MODEM CONTROL ' 0, Device Power V"" Voo Ground GND Vss Figure 4. 40-pin Dual-In-Line Package (DIP), Pin Assignments _D, D~~~ BUS D, D, _D, Do D, D, _D, _D, D. D, • D, D6 _D, iNf 10RO ;:e . lEI _CE _ RESET _81l1 INTE:::~ 1 - CONTROL liD GND SYNCA AD ------. C/O DAISY CID WI/llIVlI _iORa CPU B/A iil +5V - - - . . M1 CONTROL FROM lEO iNT lEI lEO WIRDY8 RxDA SYNC8 RxCA TxCA RxlXCB AxOB TxDA TxOS DTRA DTR8 IIfSl\ RfSB CTSl\ CTS8 DCDA DCDa RESET CLK '--""'I'"'""--r-r--.... +5V Figure 5. Pin Functions , Figure 6. 40-pln Dual-In-Llne Package (DIP). Pin Assignments a ~ 6allja"aaoDW,§DfO~l~ • lEI leO BlA clI5 iii AD 36 +5V W'1iiiYA GND RxDA iii +5V ZS4C43 C-MOS ZSO NC 51014 ~ (TOp View) RiCA TxCA lEI lEO W/RDVA zao SYNCA 23 -33 6 5 4 3 2 1 4443424140 510/3 (Top View)- RxDA RiCA 31 TxCA TxDB TxDA NC NG TxDA 0 18192021222324 25262728 I~ ~~i ~lal~lllm~ Figure 7a. 44-pin Chip Carrier, Pin Assignments Figure7b. 44-pin Quad Flat Pack Pin Assignments transfer between the CPU and the SIO. Address bit Ao from the CPU is often used for the selection function. C/O. Control or Data Select (input, High selects Control). This input defineslhe type of information transfer performed between the CPU and the SIO. A High at this input during a CPU write to the SIO causes the information on the data bus to be interpreted as a command for the channel selected by BfA. A Low at cii5 means that the information on the data bus is data. Address bit A, is often used for this function. ~~~~~--~-' _____ "'-"~"''''''''''''''-.''"~''''"":- CEo Chip Enable (Input, active Low). A Low level aUhis input enables the SIO to accept command or data input from the CPU during a write cycle, or to transmit data to the CPU during a read cycle. ClK. SyStem Clock (input). The SIO uses the standard zac System Clock to synchronize internal signals. This is single-phase clock. 507 -, ---.-.---"--~-----~--~----~~ ...--,:",,- ..' CTSA, CTSB. Clear To Send (inputs, active Low). When programmed as Auto Enables, a Low on these inputs enables the respective transmitter. If not programmed as Auto Enables, these inputs may be programmed as general-purpose inputs. Both inputs are Schmitt-trigger buffered to 'accommodate slow-risetime signals. The SIO detects pulses on these inputs and interrupts the CPU on both logic level transitions. The Schmitt-trigger buffering does notguarantee a specified noise-level margin. 00.07. System Data Bus (bidirectional, 3-state). The system data bus transfers data and commands between the CPU SIO. Do is the least significant bit. and the zao DCDA, DCDB. Data Carrier Detect (inputs, active Low). These pins function as receiver enables if the SIO is programmed for Auto Enables; otherwise they may be used as general-purpose input pins. Both pins are Schmitt-trigger buffered to accommodate slow-risetime signals. The SIO detects pulses on these pins and interrupts the CPU on both logic level transitions. Schmitt-trigger buffering does not guarantee a specific noise-level margin. DTRA, DTRB. Data Terminal Ready (outputs, active Low). These outputs follow the state programmed into the SIO. They can also be programmed as general-purpose outputs. zao In the zao 810/1 bonding option, OTRB is omitted. lEI. Interrupt Enable In (input, active High). This signal is used with lEO to form a priority daisy chain when there is more than one interrupt-driven device. A High on thiS line indicates that no other device of higher priority is being serviced by a CPU interrupt service routine. lEO. Interrupt Enable Out (output, active High). lEO is High only if lEI is High and the CPU is not servicing an interrupt from this SIO. Thus, this signal blocks lower priority devices from interrupting while a higher priority device is being serviced by its CPU interrupt service routine. INT. Interrupt Request (output, open drain, active Low). When the SIO is requesting an interrupt, it pulls INT Low. . IORQ. Input/Output Request (inpu~rom~PU, active Low). 10ROis used in conjunction with BIA, CIO, CE, and RD to transfer commands and data between the CPU and the SIO. When CE, RD, and 10RO are all active, the channel selected by BIA transfers data to the CPU (a read operation). When CE and 10RO are active, but RO is inactive, the channel selected by BIA is written to by the CPU ~ith either data or control information as specified by C/O. As mentioned previously, if 10RO and M1 are active simultaneously, the CPU is acknowledging an interrupt and the SIO automatically places its interrupt vector on the CPU data bus if it is the highest priOrity device requesting an interrupt. zao M1. Machine Cycle One(input from CPU, active Low). When M 1 is active and RD is also active, the CPU is fetching an instruction from memory; when M 1 is active 50a zao while 10RO (s active, the SIO accepts M 1 and 10RO as an interrupt acknowledge if the SIO is the highest priority device that has interrupted the zao cpu. RxCA, RxCB. Receiver Clocks (inputs). Receive data is sampled on th.e rising edge of RxC. The Redeive Clocks may be 1, 16,32, or 64 times the data rate in asynchronous CTC modes. These clocks may be driven by the Counter Timer Circuit for programmable baud rate generation. Both inputs are Schmitt-trigger buffered; no noise level margin is specified. zao zao In the SIOIO bonding option, RxCB is bonded together with TxCB. RD. Read Cycle Status (input from CPU, active Low). If RO is active, a memory or 110 read operation is in progress. RD is used with BIA, CE, and 10RO to transfer data from the SIO to the CPU. RxDA, RxDB. Receive Data (inputs, active High). Serial data at TTL levels. RESET. Reset (input, active Low). A Low RESET disables both receivers and transmitters, forces TxOA and TxOB marking, forces the modem controls High, and disables all interrupts. The control registers must be rewritten after the SIO is reset and before data is transmitted or received. RTSA, RTSB. Request To Send (outputs, active Low). When the RTS bit in Write Register 5 (Figure 14) is set, the RTS output goes Low. When the RTS bit is reset in the Asynchronous mode, the output goes High after the transmitter is empty. In Synchronous modes, the RTS pin strictly follows the state of the RTS bit. Both pins can be used as general-purpose outputs. SYNCA, SYNCB. Synchronization (bidirectional, active· Low). These pins can act either as inputs or outputs. In the asynchronous receive mode, they are inputs similar to CTS and OCO. In this mode, the transitions on these Hnes affect the state of the SynclHunt status bits in Read Register 0 (Figure 13), but have no other function. In the External Sync mode, these lines also act as inputs. When external synchronization is achieved, SYNC must be driven Low on the second rising edge of RxC after that rising edge of RxC on which the last bit of the sync character was received. In other words, after the sync pattern is detected, the external logic must wait for two full Receive Clock cycles to activate the SYNC inRut. Once SYNC is forced Low, it should be kept Low until the CPU informs the external synchronization detect logic that synchronization has been lost or a new message is about to start. Character assembly begins on the rising edge of RxC that immediately precedes the falling edge of SYNC in the External Sync mode. In the internal synchronization mode (Monosync and Bisync), these pins act as outputs that are active during the part of the receive clock (RxC) cycle in which sync characters are recognized. The sync condition is not latched, so these outputs are active each time a sync pattern is recognized, regardless of character boundaries. In the Z80 SI0/2 bonding option, SYNCB is omitted. lXCA, lXCB. 7i'ansmitter C/ooks (inputs). In asynchronous modes, the Transmitter Clocks may be 1, 16,32, or 64 times the data rate, however, the clock multiplier must be the same for the transmitter and the receiver. The Transmit Clock inputs are Schmitt-trigger buffered for relaxed 'rise- and fall-time requirements; no noise level margin is specified. Transmitter Clocks may be driven by the Z80 CTC Counter Timer Circuit for programmable baud rate generation. In the Z80 SIOIO bonding option, TxCB is ,bonded together with RxCB. TxOA, TxOB. 7i'ansmit Data (outputs, active High). Serial data at TTL levels. TxD changes from the falling edge of TxC. W/ROYA, iN/ROYB. WaitiReady(outputs, open drain when programmed for Wait function; driven High and Low when programmed for Ready function). These dual-purpose .outputs may be programmed as Ready lines for a DMA controller or as Wait lines that synchronize the CPU to the SIO data rate. The'reset state is open drain. 509 FUNCTIONAL DESCRIPTION The functional capabilities of the l80 SIO can be described from two different points of view: as a data communications device, it transmits and receives serial data ih a wide variety of data-communication protocols; as a l80 family peripheral,it interacts with the l80 CPU and other peripheral circuits, sharing the data, .address and control buses, as well as being a part of the l80 interrupt structure. As a peripheral to other microprocessors, the SIO offers valuable features such as non-vectored interrupts, polling, and simple handshake capability. Figure 8 is a block diagram. DATA Figure 9 illustrates the conventional devices that the SIO replaces. - CONTROL The first part of the following discussion covers SIO data-communication capabilities; the second part describes interactions between the CPU and the SIO. SERIAL I DATA ICHANNEL CLOCKS INTERRUPT { CONTROL LINES SYNC WAIT/READY Figure 8_ Block Diagram UART CHANNEL A SYNCHRONOUS COMMUNICATIONS CONTROLLER MICROPROCESSOR { INTERrACE ...0----1 UART CHANNEL B SYNCHRONOUS COMMUNICATION CONTROLLER B MICROPROCESSOR INTERFACE -- zaG SIO - CHANNEL A CHANNEL B Figure 9_ Conventional Devices Replaced by the Z80 SIO 510 DATA COMMUNICATION CAPABILITIES The SIO does not require symmetric transmit and receive clock signals, a feature that allows It to be used with a Z80 CTC or many other clock sources. The transmitter and receiver can handle data at a rate of 1, 1/16, 1/32, or 1/64 of . the clock rate supplied to the receive and transmit clock Inputs. The SIO provides two independent full-duplex channels that can be programmed for use in any common asynchronous, or synchronous data-communication protocol. Figure 10a illustrates some of these protocols. The following is a short descnption of them. A more detailed explanation of these modes can be found In the zao SIO Technical Manual (03-3033-01 ). In asynchronous modes, the SYNC pin may be programmed as an inputthat can be used for functions such as monitoring a nng indicator. Asynchronous Modes. Transmission and reception can be done independently on each channel with five to eight bits per character, plus optional even or odd panty. The transmitters can supply one, one-and-a-half, or two stop bits per character and can provide a break output at any time. The receiver break-detection logiC interrupts the CPU both at the start and end of a received break. Reception is protected from spikes by a transient spike-rejection mechanism that checks the signal one-half a bit time after a Low level is detected on the receive data Input (RxDA or RxDB in Figure 5). If the Low does not persist, as in the case of a tranSient, the character assembly process IS not started. Synchronous Modes. The SIO supports both byteoriented and bit-orien~ed synchronous communication. Synchronous byte-oriented protocols can be handled in several modes that allow character synchronization with an 8-bit sync character (Monosync), any 16-bit sync pattern (BI!;ync), or with an external sync signal. Leading sync characters can be removed without interrupting the CPU. Flve-, six-, or seven-bit sync characters are detected with 8or 16-bit patterns in the SIO by overlapping the larger pattern across multiple incoming sync characters, as shown in Figure 10b. Framing errors and overrun errors are detected and buffered together with the partial character on which they occurred. Vectored interrupts allow fast serVicing of error conditions uSing dedicated routines. Furthermore, a built-in checking process avoids Interpreting a framing error as a new start bit: a framing error results in the addition of one-half a bit time to the point at which the search for the next start bit IS begun. CRC checking for synchronous byte-oriented modes is delayed by one character time so the CPU may disable CRC checking on speCific characters. This permits implementation of protocols such as IBM Bisync. Figure 10a. Some ZSO SIO Protocols PARITY ~rp STr ""MA"'"RK""'IN""G""U""'NE=----.II.--OA-T-A"T\I.rI':"I:II=-='oA-='T-A:ul"TI"TI-'11 Ol\TA III , MARKING LINE ASYNCHRONOUS :: DATA SYNC I DATA CRe, CRC, DATA CRe, CRC, DATA CRe, CRC2 CRC, CRC2 MONOSYNC SYNC SYNC :': DATA SIGNAL I :: + DATA BISYNC EXTERNAL SYNC FLAG I ADDRESS I INFO~M;TlON . FLAG SDLC/HDLC/X.2S Figure 10b. Six-Bit Sync Character Recognition 5 BITS ~ SYN~ SY.NC DATA DATA DATA DATA ' - - -.....v""-----' 16 Figure 1 O. Data Communication 511 Both CRC-16 (X 16 + X15 + X2 + 1) and CCITT(X16 + X12 + X5 + 1) error checking polynomials are supported. In all non-SOLC modes, the CRC generator is initialized to Os; in SOLC modes, it is initialized to 1s. The SIO can be used for interfacing to peripherals such as hard-sectored floppy disks, but it cannot generate or check CRC for IBM-compatible soft-sectored disks. The SIO also provides a feature that automatically transmits CRC data when no other data is available for transmission. This allows very high-speed transmissions under OMA controllwith no need for CPU intervention at the end of a message. When there is no data or CRC to send in synchronous modes, the transmitter Inserts 8- or 16-blt sync characters regardless of the programmed character length. " TheSIO supports synchronous bit-oriented protocols such as SOLC and HDLC by performing automatic flag sending, zero insertion, and CRC generation. A special command can be used to abort a frame'in transmission. At the end o'a message the SIO automatically transmits the CRC and trailing flag when the transmit buffer becomes empty. If a transmit underrun occurs In the middle of a message, an external/status interrupt warns the CPU of this status change so that an abort may be issued. One to eight bits per character can be sent, which allows reception of a message with no prior information about the character structure in the information field of a frame. The receiver automatically synchronizes on the leading flag of a frame in SOLC or HDLC, and provides a synchronization signal on the SYNC pin; an Interrupt can also be p~ogrammed. The receiver can be programmed to search for frames addressed by a single byte to only a specified user-selected address or to a global broadcast address. In this mode, frames that do not match either the user-selected or broadcast address are Ignored. The number of address bytes can be extended under software control. For transmitting data, an interrupt on the first received character or on every character can be selected. The receiver automatically deletes all zeroes Inserted by the transmitter during character assembly. It also calculates and automatically checks the CRC to validate frame transmission. At the end of transmission, the status of a received frame is available in the status registers. The SIO can be conveniently used under DMA control to provide high-speed reception or transmission. In reception, for example, the SIO can interrupt the CPU when the first character of a message IS received. The CPU then enables the DMA to transfer the message to memory. The SIO then issues an end-of-frame interrupt and the CPU can check the status of the received message. Thus, the CPU is freed for other service while the message is being received. 1/0 INTERFACE CAPABILITIES The SIO offers the ch,oice of polling, vectored or non-vectored interrupts and block-transfer modes to transfer data, status, and control information to, and from, the CPU. The block-transfer mode can also be implemented under DMA control. Polling. Two status registers are updated at appropriate times for each function being performed (for example, CRC error-status valid at the end of a message). When the CPU is operated in a polling fashion, one of the SIO's two status registers is used to indicate whether the SIO has some data or needs some data. Depending on the contents of this register, the CPU will either write data, read data, or just go on. Two bits in the register indicate that a data transfer is needed. In addition, error and other conditions are indicated. The second status register (special receive conditions) does not have to be read in a polling sequence, until a character has been received. Alrinterrupt modes are disabled when operating the device in a polled environment. Interrupts. The SIO has an elaborate interrupt scheme to pro\ilide fast interrupt' service in real-time applications. A control register and a status register in Chanpel B contain the interrupt vector. When progra.mmed to do so, the SIO can modify three bits of the Interrupt vector in the status register so that it points directly to one of eight interrupt service routines in memory, thereby servicing conditions in both channels and eliminating most of the needs for a status-analysis routine. Transmit Interrupts, receive interrupts, and external/status interrupts are the main sources of interrupts. Each interrupt 512 source is enabled under program control,with Channel A having a higher priority than Channel B, and with receive, transmit, and external/status interrupts prioritized in that order within each channel. When the transmit Interrupt is enabled, the CPU is interrupted by the transmit buffer becoming empty. (This implies that the transmitter must have had a data character written Into It so It can become empty.) The receiver can interrupt the CPU in one of two ways: • Interrupt on first recei'{ed character • Interrupt on all received characters Interrupt-on-first-received-character is typically used with the block-transfer mode. Interrupt-on-all-receivedcharacters has the option of modifying the interrupt vector in the event of a parity error. Both of these interrupt modes will also interrupt under special receive conditions on a character or message basis (end-of-frame interrupt in SDLC, for example). This means that the special-receive condition can cause an interrupt only if the interrupt-on-first-received-character or Interrupt-on-allreceived-characters mode is selected. In interrupt-on-firstreceived-character, an Interrupt can' occur from special-receive conditions (except parity error) after the first-received-character Interrupt (example' receive-overrun interrupt). The main function of the external/status Interrupt is to monitor the signal transitions of the Clear To Send (CTS), Data Carrier Detect (DCD), and Synchronization (SYNC) pins (Figures 1 through 7). In additlol\, an external/status SYSTEM BUSES interrupt is also caused by a CRC-sending condition, or by the detection of a break sequence (asynchronous mode) or abort sequence (SDLC mode) in the data: stream. The interrupt caused by the break/abort sequence allows the SIO to interrupt when the break/abort sequence is detected or terminated. This featur1l faCilitates the proper termination of the current message, correct initialization of the next message, and the accurate timing of the break/abort condition in external logic. ~ ~ V DMA CPU -INT iNT- In a Z80 CPU environment (Figure 11), SIO interrupt vectoring is "automatic": the SIO passes its internallymodifiable 8-blt Interrupt vector to the CPU, which adds an additional 8 bits from its interrupt-vector (I) register to form the memory address of the interrupt-routine table. This table contains the address of the beginning ofthe interrupt routine Itself. The process entails an indirect transfer of CPU control to the Interrupt routine, so that the next instruction executed after an Interrupt acknowledge by the CPU IS the first instruction of the interrupt routine itself. - + ROY lEI +sv T lEI ZC/TO, CTC iNr ZC/T02 iEO CPUlOMA Block Transfer. The SIO's block-transfer mode - lEI accommodates both CPU block transfers and DMA controllers (Z80 DMA or other designs). The block-transfer mode uses the Wait/Ready output signal, which is selected with three bits in an internal control register. The Wait/Ready output signal can be programmed as a WAIT line In the CPU block-transfer mode or as a READY line in the DMA block-transfer mode. RxCA iNT TxCA lEO RxCB TxCB WiiiiiYA W/RDYB lEO I ~ iNT ~ lEI .. ROY DMA SIO To a DMA controller, the SIO READY output indicates that the SIO is ready to transfer data to, or from, memory. To the CPU, the WAIT output indicates that the SIO is not ready to transfer data, thereby requesting the CPU to extend the I/O cycle. A ~ ~ y Figure 11. Typical zao Environment INTERNAL STRUCTURE The internal structure of the deVice Includes a Z80 CPU interface, internal control and Interrupt logic, and two full-duplex channels. Each channel contains ItS own set of control and status (write and read) registers, and control and status logic that provi,des the Interface to modems or other external deVices The registers for each channel are designate€! as follows: WRO-WR7 - Write Registers 0 through 7 RRO-RR2 - Read Registers 0 through 2 Table 1. Register Functions Read Register Functions RRO Transmit/Receive buffer status, Interrupt status and external status RR1 Special Receive Condition status RR2 Modified Interrupt vector (Channel B only) Write Register Functions The register group Includes five 8-blt control registers, two sync-character registers and two status registers. The Interrupt vector is written into an additional 8-bit register (Write Register 2) in Channel B that may be read through another 8-bit register (Read Register 2) in Channel B. The bit assignment and functional grouping of each register is configured to Simplify and organize the programming process. Table 1 lists the functions assigned to each read or write register. The logiC for both channels' prOVides formats, synchronization, and validation for data transferred to and from the channel Interface. The modem control inputs, Clear To Send (CTS) and Data Carrier Detect (DC D), are WRO Register pOinters, CRC Initialize, and initialization commands for the various modes. WR1 Transmit/Receive interrupt and data transfer mode definition. WR2 Interrupt vector (Channel B only) WR3 Receive parameters and control WR4 Transmit/Receive miSQellaneous parameters and modes WR5 Transmit parameters and controls WR6 Sync character or SOLC address field WR7 Sync character or SOLC flag 513 monitored by the external control and status logic under program control. All external control-and-status-Iogic signals are general-purpose in natUfe and can be used for functions other than modem control. Data Path. The transmit and receive data path illustrated for Channel A In Figure 12 is identical for both channels. The receiver has three 8-bit buffer registers in a FIFO arrangement, In addition to the 8-bit receive shift register. This scheme creates additional time for the CPU to service an interrupt at the beginning of a block of high-speed data. Incoming data IS routed through one of several paths (data or CRC) depending on the selected mode and-in asynchronous modes-the character length. The transmitter hasan 8-bit transmit data buffer register that is loaded from the internal data bus, and a 20-bit transmit shift register that can be loaded from the sync-character buffers or from the transmit data register. Depending on the operational mode, outgol~g data is routed through one of four main paths before it is transmitted from the Transmit Data output (TxD). I CPU 1/0 ~ft· TxDA Figure 12.Transmit and Receive Data Path (Channel A) 514 PROGRAMMING The system program first issues a series of commands that initialize the basic mode of operation and then issues other commands that qualify conditions within the selected mode. For example, the asynchronous mode, character length, clock rate, number of stop bits, even or odd parity might be set first; then the interrupt mode; and finally, receiver or transmitter enable. 80th channels contain registers that must be programmed via the system program prior to operation. The channelselect input (8/A) and the control/data (C/O) are the command-structure addressing controls, and are normally controlled by the CPU address bus. Figures 15 and 16 Illustrate the timing relationships for programming the write registers and transferring data and status Read Registers_ The SIO contains three read registers for Channel 8 and two read registers for Channel A (RRO-RR2 In Figure 13) that can be read to obtain the status information; RR2 contains the internally-modifiable interrupt vector and is only in the Channel 8 register set. The status Information includes error conditions, interrupt vector, and standard communications-interface signals. WRO is a special case in that all of the basic commands can be written to it w'lth a single byte. Reset (internal or external) Initializes the pointer bits 00-02 to point to WRO. This implies that a channel reset must not be combined with the pOinting to any register. READ REGISTER 0 III ~II IL..::= L-RxCHARACTERAVAILABLE INT PENDING (CH. A ONLy) } SYNC/HUNT * CTS Tx UNDERRUN/EOM BREAK/ABORT *Used With "External/Status Interrupt" Modes READ REGISTER 1t I~I~I~I~I~I~I~I~I L-ALLSENT I FIELD BITS I FIELD BITS IN BYTE 0 0 0 0 0 0 1 2 BYTE 3 4 5 6 7 8 8 8 IN PREVIOUS SECOND PREVIOUS o To read the contents of a selected read register other than RRO, the system program must first write the pointer byte to WRO in exactly the same way as a write register operation. Then, by executing a read Instruction, the contents of the addressed read register can be read by the CPU. The status bits of RRO and RR1 are carefully grouped to simplify status monitoring. For example, when the interrupt vector indicates that a Special Receive Condilion interrupt has occurred, all the appropriate error bits can be read from a single register (RR1). ~~~UFFER EMPTY 1 1 o o 1 1 o -==== 0 0 0 1 1 1 1 0 } * ' - - PARITY ERROR L - Rx OVERRUN ERROR CRC/FRAMING ERROR END OF FRAME (SDLC) *Aesldue data for eight Ax bits/character programmed tUsed with speCial receive conditIon mode READ REGISTER 2 (Channel B only) Write Registers_ The SIO contains eight write registers for Channel 8 and seven write registers for Channel A (WRO-WR7 In Figure 14) that are programmed separately to configure the functional personality of the channels; WR2 contains the Interrupt vector for both channels and is only In the Channel 8 register set With the exception of WRO, programming the write registers requires two bytes. The first byte IS to WRO and contains three bits (0 0-02) that point to the selected register, the second byte is the actual control word that is written into the register to configure the SIO. I~I~I~I~I~I~I~I~I III ~I ~~~t} ~~l V4 V5 . INTERRUPT VECTOR va V7 tVarfable If "Status Affects Vector" is programmed Figure 13. Read Register Bit Functions 515 WRITE REGISTER 4 WRITE REGISTER 0 I~I~I~I~I~I~I~I~I I I I REGISTER REGISTER REGISTER REGISTER REGISTER REGISTER REGISTER REGISTER 0 1 2 3 4 SYNC MODES ENABLE 1 STOP BIT/CHARACTER 1 Y2 STOP BITS/CHARACTER 2 STOP BITS/CHARACTER 5 6 7 8 BIT SYNC CHARACTER 16 BIT SYNC CHARACTER SDLC MODE (01111110 fLAG) EXTERNAL SYNC MODE NULL CODE SEND ABORT (SDLC) RESET EXT/STATUS INTERRUPTS CHANNEL RESET X1 CLOCK MODE X16 CLOCK MODE X32 CLOCK MODE X64 CLOCK MODE ENABLE INT ON NEXT Rx CHARACTER RESET TxlNT PENDING ERROR RESET RETURN FROM INT (CH·A ONLY) NULL CODE RESET Ax cae CHECKER RESET Tx CRe GENERATOR RESET Tx UNDERRUNfEOM LATCH WRITE REGISTER 5 WRITE REGISTER 1 I~I~I~I~I~I~I~I~I III < I I L____ EXT INT ENABLE Tx INT ENABLE ~:r~~~~~~CTS VECTOR Rx INT DISABLE } Rx INT ON FIRST CHARACTER INT ON ALL Rx CHARACTERS (PARITY AFFECTS VECTOR) INT ON ALL Rx CHARACTERS (PARITY DOES NOT AFFECT VECTOR) Tx Tx Tx Tx * 5 BITS (OR LESS)/CHARACTER 7 BITS/CHARACTER 6 BITS/CHARACTER 8 BITS/CHARACTER DTR WAIT/READY ON R/T WAIT/READY FUNCTION '-----WAIT/READY ENABLE "'Oron speCial condition WRITE REGISTER 6 WRITE REGISTER 2 (Channel B only) I~I~I~I~I~I~I~I~I IIIII1 ~~} ~~ V4 V5 V6 V7 III III INTERRUPT VECTOR . l:=!i:m:) SYNC BIT 3 SYNC BIT 4 ... .~M5 SYNC BIT 6 SYNC BIT 1 * Also SOLe address held WRITE REGISTER 7 WRITE REGISTER 3 [III CHARACTER LOAD INHIBIT I~:YNC L-., .."" AODRESS SEARCH MODE (SDLC) Ax CRe ENABLE . Rx Rx Rx Rx 5 7 6 8 BITS/CHARACTER BITS/CHARACTER BITS/CHARACTER BITS/CHARACTER ENTER HUNT PHASE AUTO ENABLES IIIII1 SYNC SYNC SYNC SYNC SYNC BIT BIT BIT BIT BIT 11 12 13 14 15 ... *For SOle It must be programmed to '01111110" for flag recognition Figure 14. Write Register Bit Functions 516 L:::::!mmt) TIMING The SIO must have the same clock as the CPU (same phase and frequency relationship, not necessarily the same driver). . Read Cycle. The timing signals generated by a Z80 CPU Input instruction to read a data or status byte from the SIO are illustrated in Figure 15. Write Cycle. Figure 16 illustrates the timing and data signals generated by a Z80 CPU output instruction to write a data or control byte into the SIO. ;' Interrupt-Acknowledge Cycle. After receiving an interrupt-request signal from an SIO (I NT pulled Low), the Z80 CPU sends an interrupt-acknowledge sequence, M1 Low and 10RO Low, a few cycles later (Figure 17). The SIO contains an internal daisy-chained interrupt structure for prioritizing nested Interrupts for the various functions of its two channels, and this structure can be used within an external user-defined daisy chain that prioritizes several peripheral circuits. The lEI of the highest-priority device is terminated High. A device that has an interrupt pending or under service forces its lEO Low. For devices with no interrupt pending or under service,IEO=IEI. To insure stable conditions in the daisy chain, all interrupt status signals are prevented from changing while M1 is Low. When 10RO is Low, the highest priority interrupt requestor T, T, T, Tw (the one with lEI High) places its interrupt vector on the data bus and sets its internal interrupt-under-service latch. Return From Interrupt Cycle. Figure 18 illustrates the return from interrupt cycle. Normally, the Z80 CPU issues a Return From Interrupt (RET I) instruction at the end of an interrupt service routine. RETI is a 2-byte opcode (EO-40) that resets the interrupt-under-service latch in the SIO to terminate the interrupt that has just been processed. This is accomplished by manipulating the daisy chain in th~ following way. The normal daisy-chain operation can be used to detect a pending interrupt; however, it cannot distinguish between an interrupt under service and a pending unacknowledged interrupt of a higher priority. Whenever EO is decoded, the daisy chain is modified by forcing High the lEO of any . interrupt that has not yet been acknowledged. Thus the daisy chain identifies the device presently under service as the only one with an lEI High and an lEO Low. If the next opcode byte is 40, the interrupt-under-service latch is reset. The ripple time of the interrupt daisy chain (both the High-to-Low and the Low-to-High transitions) limits the number of devices that can be placed in the daisy chain. Ripple time can be improved with carry-look-ahead, or by extending the interrupt-acknowledge cycle. For further information about techniques for increasing the number of daisy-chained devices, refer to the Z8400 Z80 CPU Product Specification (00-2001-04). T, CLOCK T, T, TW T, T, TW CLOCK .j.JI iii1 ~'__ _ _ _ _ _ CE, C/i), ali IORO IORO iii) iii) \ ~ DATA DATA Figure 15. Read Cycle T, T, Tw \====: ------- __ ~~--~I~ lEI _ _ _ _ _ _ _ _ _ iii1 II ----------------------1-1--------1 : -------------------<8>-----Figure 17. Interrupt Acknowledge Cycle T, T, CLOCK CLOCK CE, C/i), Bli _ _ _.1'\,+-_ _ _ _ _1-_ _..;;;1 iii) ---------------t-----------IEI------ Ml-------------------~----------- >8:)(....._______ DATA _________________ Figure 16. Write Cycle J ------,/ lEO _ _ _ _ _ _.....J--I ' r--- Figure 16. Return from Interrupt Cycle 517 ABSOLUTE MAXIMUM RATINGS Voltages in Vee with respect to Vss .-0.3Vto +0.7V - Voltages on all inputs with respect ' ... - 0.3V to Vee + 0.3V toVss Storage Temperature. . - 65°C to + 150°C Stresses greater than those listed under Absolute Maximum Ratings may cause permanent damage to the device ThiS IS a stress rating only, operation of the device at any condition above these Indicated In the operational sections of these specifications IS not Implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability STANDARD TEST CONDITIONS +5V The characteristics below apply for the follOWing test conditions, unless otherWise noted. All voltages are referenced to GND (OV). Positive current flows Into the referenced pin Available operating temperature range IS . • S = OOC to +700C, Vee Range NMOS: +4.75V < Vee <'+5.25V CMOS: +4.50V < Vee < +5.50V • E = -400C to 1000C, =4.50V < Vee < +5.50V 518 2.1K DC CHARACTERISTICS l84C40 CMOS l80 SIO, l84C40/41/42/43/44 DC CHARACTERISTICS Vee =5.0V ± 10%, unless otherwise specified Symbol V'Le V,HC V,L V,H VQ Parameter Clock Input Low Voltage Clock Input High Voltage 'Input High Voltage Input Low Voltage Output Low Voltage Min Max -0.3 Vee-0.6 2.2 -0.3 +0.45 Vee +0.3 Vee O.B 0.4 VQHI V0H2 III ILO IL(SY) Output High Voltage Output High Voltage Input Leakage Current 3-state Output Leakage Current in Float SYNC Pin Leakage Current 2.4 Vee-O.B -10 -10 -40 leel Power Supply Current - 4MHz -6MHz -BMHz - 10MHz 10 [1) 10 [1) 12 [1) 15 [1) 1CC2 Standby Supply Current 10 Typ Unit Condition V V V V V ILo =2.0rnA V V 'JLA JLA JLA 10 10 10 7 7 B TBO IQH=-1.6rnA IQH=-250JLA V,N =0.4V to Vee Vour =O.4V to Vee rnA rnA rnA rnA Vee=5V CLK=4,6,B,10MHz V'H=Vee- 0 .2V V,L=0.2V JLA Vee=5V CLK=(O) V,H=Vee-0.2V V,L=O.2V Note: [1] Measurements made with outputs floating. CAPACITANCE Symbol Parameter C CIN COUT Clock Capacitance Input Capacitance Output Capacitance Min Max 7 5 10 Unit pI pf pf Over specified temperature range; f = 1 MHz. Unmeasured pinS returned to ground. 519 AC CHARACTERISTICS * Z84C40/41/42/43/44 AC CHARACTERISTICS No Symbol • Parameter 1 2 3 4 5 TcC TwCh TIC TrC TwCI Clock Clock Clock Clock Clock 6 T$AD ICE,BIIA,CIID to Clock 7 8 TsCS(C) TdC(DO) Rise Setup Time IIORO, IRD to Clock Rise Clock Rise to Data Out Delay 9 TsDI(C) 10 TdRD(DOz) Cycle Time Pulse Width (High) Fall Time Rise Time Pulse Width (Low) Data In to Clock Rise Setup Time (Write or IM1 Cycle) IRD Rise to Data Out Float Delay 11 TdIO(DOI) IIORO Fall to Data Out 12 TsM1(C) Delay (lINTACK Cycle) IM1 to Clock Rise Setup Time 13 TsIEI(IO) lEI to IIORO Fall Setup Time (lINTACK Cycle) M1 Fall to lEO Fall Delay (Interrupt Before 1M 1) Z84C4X04 Min Max Z84C4X06 Min Max Z84C4X08 Min Max Z84C4X10 Min Max 250 105 162 65 125 55 100 42 105 DC DC 30 30 DC 145 65 DC DC 20 20 DC 40 60 115 35 .100 150 20 30 42 DC DC 10 10 DC 35 40 60 220 50 55 DC DC 10 10 DC 85 20 110 90 75 65 160 120 90 80 90 . 140 75 55 40 120 80 60 190 160 130 100 100 70 60 50 100 200 70 150 60 120 50 100 18 TdIO(W/RWf) IIORO or ICE Fall to /WI/ROY Delay (Wait Mode) 120 19 TdC(W/RR) Clock Rise to IWI/RDY Delay (Ready Mode) 210 175 130 110 20 TdC(W/RWz) Clock Fall to /WI/ROY Float Delay (Wait Mode) When Setup is Specified 21 Th Any Unspecified Hold 130 14 TdM1(IEO) 15 TdIEI(IEOr) 16 TdIEI(IEOf) 17 TdC(INT) lEI Rise to lEO Rise Delay (After ED Decode) IM1 Fall to lEO Fall Delay Clock Rise to liNT Fall Delay Note: • Units in nanoseconds (nS). 520 0 100 90 110 0 85 80 90 0 0 Note AC CHARACT~RISTICS TIMING (Z84C4X CMOS Z80 SIO) eLK Ci, CID,ali --------------------~ lEI lEO 521 AC CHARACTERISTICS TIMING (Z84C4X CMOSZ80 SIO; Continued) 0~--~~~_____________ TxO RxO W/ROY, I.-----~@~-----.I 522 AC CHARACTERISTICS (Z84C4X CMOS Z80 SIO; Continued) Z84C40/41/42/43/44 AC CHARACTERISTICS Parameter Z84C4X04 Min Max Z84C4X06 Min Max Z84C4X08 Min Max Z84C4X10 Min Max Note No Symbol 1 2 3 5 TwPh TwPI TcTxC TwTxCI TwTxCh Pulse Width (High) Pulse Width (Low) ITxC Cycle Time /TxC Width (Low) ITxC Width (High) 200 200 400 180 180 200 200 330 100 100 150 150 250 85 85 150 150 200 80 80 [2) [2) [2) [2) [2]' 6 7 TdTxC(TxD) TdTxC(W/RRf) 5 9 5 9 5 9 5 9 8 TdTxC(INT) TcRxC /TxC Fall to TxD Delay /TxC Fall to /W//RDY Fall Delay (Ready Mode) /TxC Fall to liNT Fall Delay IRxC Cycle Time 5 400 9 5 330 9 5 250 9 5 200 9 10 TwRxCI 11 TwRxCh 12 TsRxD(RxC) IRxC Width (Low) IRxC Width (High) RxD to IRxC Setup Time 180 180 0 100 100 0 85 85 0 80 80 0 [2) [2] [2) 13 ThRxD(RxC) IRxC Rise to RxD Hold 140 100 80 60 [2] 4 9 300 160 220 120 [2] [1) [1] [2] (X1 Mode) Time (X1 Mode) 14 TdRxC(W/RRf) 15 TdRxC(INT) 16 TdRxC(SYNC) 17 TsSYNC(RxC) IRxC Rise to /W//RDY Fall Delay (Ready Mode) IRxC Rise to liNT Fall Delay IRxC Rise to ISYNC Fall Delay (Output Modes) {SYNC Fall to IRxC Rise Setup (External Sync Modes) 10 13 10 13 10 13 10 13 [1) 10 4 13 7 10 4 13 7 10 4 13 7 10 4 13 7 [1] [1] -100 -100 -100 -100 [2] • In All Modes, the System Clock rate must be at least five times the maximum data rate. /RESET must be active a minimum of one complete clock cycle. Notes: [1] Units equal to System Clock ~eriods. [2] Units in nanoseconds (nS). 523 DC CHARACTERISTICS (Z844X I NMOS Z80 SIO) Symbol VILe VIHe VIL VIH VOL VOH1 VOH2 III ILO IL(SY) ICC1 Parameter Max Min' - Clock Input Low Voltage Clock Input High Voltage Input Low Voltage Input HlgK Voltage Output Low Voltage Output High Voltage Output High Voltage , Input Leakage Current 3-State Output LeakaQ\e Current In Float SYNC Pin Leakage Current Power Supply Current -0.3 Vee- 0.6 -0.3 +2.0 Unit Test Condition V V +0.45 Vee+ 0.3 +0.8 V V Vee ' +0.4 . V V V +2.4 IOL = 2.0 rnA ±10 ±10 ",A IOH = - 250 ,..A VIN = 0 4 to Vee VOUT = 0.4 to Vee +101-40 , 100 ,..A O ty DCD SynclHunl VO Vl V2 V3 ln1arrupt V4 Vealor * V5 CTS Tx UndarNnlEOM V6 _Abort V1 * Modified In B Channal Read Register 1 Read Register 3 AlISen1 Channel B ExtlStatus IP } Channel B Tx IP Residue Coda 2 Residue Coda 1 Channel B Rx IP Residue Code 0 * Channel A ExtlStatus IP Parity Error Channal A Tx IP Rx Overrun Error Channel A Rx IP CRClFraming Error o o End 01 Frame (SOLC) * Always 0 In B Channal Figure 9. Read Register BH Functions 547 PROGRAMMING (Continued) Read Register 10 Read Register 13 '~~': L.= TCl0 TCll Loop Sending TC12 o 1"C13 Two Clocks Msslng TC14 On" Clock Mssing TC15 Upper Byte of nme Constant Read Register 15 I~~_. Lower Byte TC4 "'llrne Constant L::= DC(}.IE Sync/Hunt IE CTSIE TC5 TCB Tx UnderrunlEOM IE TC7 BresklAbort IE Figure 9. Read Register Bit Functions (Continued) Write Registers. The SCC contains 13 write registers (14 counting WR8. the transmit buffer) in each channel. These write registers are programmed separately fo configure the functional "personality" of the channels. In addition. there are two registers (WR2 and WR9) shared by 548 the two channels that may be accessed through either of them. WR2 contains the interrupt vector for both channels. while WR~ contains the interrupt control bits. Figure 10 shows the format of each write register. Write Register 0 (non-rnuftlplexed bus mode) Write Register 2 Iml~I~I~lool~I~lool I I I 0 0 0 0 1 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 1 1 1 1 0, 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ~~ Register 0 Register 1 Register 2 Register 3 Register 4 Register 5 RegisterS ==::;~ Register 9 Register 10 Register 11 Register 12 Register 13 Register 14 Register 15 V4 } Interrupt Vector V5 V6 V7 * Write Register 3 0 0 0 0 1 1 1 1 o o 1 1 * 0 1 0 1 0 0 1 1 0 0 1 1 0 ~1 0 1 0 1 0 1 Null Code Point High Reset ExtIStaIus Interrupts Send Abort (5 OLC) Enable Int on Next Rx Character ResetTx Int Pending Error Reset Reset Highest IUS Rx Enable Sync Character Load Inhlbtt Addre.. Search Mode (SOLC) Rx CRC Enable NuilCode Reset Rx CRC Checker Reset Tx CRC Generator Reset Tx Underrun/EOM Latch Enter Hunt Mode Auto Enable. o o 1 1 Wfth Point High Command 0 1 0 1 Rx 5 Bits/Character Rx 7 Bits/Character Rx 6 Bits/Character Rx 8 Bits/Character Write Register 1 ~ 0 0 1 1 0 1 0 1 Write Register 4 Ext Int Enable Tx Int Enable Parity is Special Partty Enable Cond~ion Parity EVEN/1000 Rx Int Disable Rx Int On First Character or Special Cond~n Int On All Rx Characters or Special Condition Ax Int On Special Cond~ion Only o o 1 1 WAITIDMA Request On ReceivellTransmit 0 1 0 1 Sync Modes Enable 1 Stop BIVCharacter 1 112 Slop Bits/Character 2 Stop Bits/Character o 0 8-8ft Sync Character OilS-8ft Sync Character 1 0 SOLC Mode (01111110 Flag) 1 1 External Sync Mode fWAITIDMA Requast Function WAITIDMA Request Enable o o 1 1 0 1 0 1 XI Clock Mode X16 Clock Mode X32 Clock Mode X64 Clock Mode Figure 10. Write Register Bit Functions 549 PROGRAMMING (Continued) Tx CRC, Enable RTS ISOLCICRC-16 ' Tx Enable Send Break o o 1 1 0 Tx 5 Bits(Or lAss)/Character 1 Tx 7 BitslCharacter 0 Tx 6 BitslCharacter 1 Tx 8 BitslCharacter OTA Writ~ Sync7 Syncl Sync7 Sync3 ADA7 ADA7 Register 6 Sync6 . Syn~5 SyncO Sync5 Sync6 Sync5 Sync2 Syncl ADA6 ADA5 ADR6 AOA5 Synt4 Synt4 Synt4 SyncO AOR4 ADR4 Sync3 Sync3 Sync3 1 ADA3 Sync2 Sync2 Sync2 1 ADR2 Syncl Syncl Syncl 1 ADRl SyncO SyncO SyncO 1 ADAO Monosync. 8 Bits Monosync. 6 Bits Bisync. 16 Bits Bisync. 12 Bits SDLC SDLC (Adchss Rsnge) SyncO Monosync, 8 Bits Monosync. 6 Bits Bisync. 16 Bits Bisync. 12 Bits SOLC Write Register 7 Sync7 SyncS Syoo15 Syncll o SyncS' Synt4 Sync14 Syncl0 SyncS Sync3 Sync13 Sync9 Synt4 Sync2 Syne12 SyncS Sync3 Syncl Synoll Sync7 1 1 1 1 Sync2 Syool SyncO x Syncl0 Sync9 Sync6 SyncS 1 1 x SyncS Sync4 0 Figure 10. Write Register Bit Functions (Continued) 550 Write Register 9 Wrfte Register 12 Imlool~I~loolmlrnlool ll§~_~ TCO TCl TC2 TC3 TC4 Softw..... INTACK Enable o o 0 1 1 1 0 1 TC5 TC6 No Reset Channel Raset B Channel Reset A Fo_ Hardware Raset TC7 Write Register 13 Write Register 10 6 Bili/8 B~ Sync ~ ; Loop Mode ; AbortilAeg On Underrun Ma!WlFlag Idle Go Active On Poll o o 1 1 0 1 0 1 Lower Byte of Time Constant NRZ NAZI FMl (Transklon FMO (Transilion TGS TC9 TC10 TCll Upper Byte of TC12 Time Constant TC13 ! TC14 = 1) =0) TC15 CRC P",set 1110 Write Register 11 Write Register 14 I I 0 0 0 1 1 0 1 1 BR Generator Enable flR xC Out = Xlal OUlput flRx C Out =Transm~ Clock flRx C Out = BR Generator OUlput flRxC Out = DPLL OulpUt 8R Generator Source lDTRIRequest Function Auto Echo fTRxCOn 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 Transmit Clock =IRTxCPln Transmit Clock =fT RxCPln Clock = B R Generator OUlpUt TransmR Clock = 0 PLLOUlput Transm~ Receive Clock =IRTxC Pin Receive Clock = fTRxC Pin Receive Clock = BR Generato rOulpul Receive Clock = DPLL OUlput Local Loopback 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 Null Command Enter Search Mode Raset Missing Clock Disable DPLL Set Source - BR Generator Set Source .IRTxC SetFMMode Set NAZI Mode IRTxC XlalllNo Xlal Figure 10. WrHe Register Bit Functions (Continued) 551 PROGRA",MING (Continued) , Write Register ,IS ~ ~ L.::= :eroCounllE SOLC FIFO Enable DCOIE SynclHunllE ClSlE Tx UnderrunlEOM IE BreekiAborllE Figure 10. Write Register Bit Functions (Continued) TIMING The SCC generates internal control signals from twR and transaction involving the SCC to the falling edge of twR or IRb that are related to PCLK, Since PCLK has no phase relationship with IWR and IRD, the circuitry generating IRD in the second transaction involving the SCC. This time these internal control signals must provide time for metastable conditions to disappear- This gives rise to a recovery time related to PCLK. The recovery time applies only between bus transactions involving the SCC. The recovery ·time applies only between bus transactions involving the sec. The recovery time required for proper operation is specified from the falling edge of twR or IRD in the first 552 must be at least 4 PCLK regardless of which register or channel is being accessed. Read Cycle Timing. Figure 11 illustrates Read cycle timing. Addresses on NIB and DIIC and the status on IINTACK must remain stable throughout the cycle. If ISCCCS falls after IRD falls or if it rises before IRD rises, the effective IRD is shortened. AIIB,OIlC IINTACK ________ -J~~_________________A_dd_r_es_s_V_a_li_d___________________I~~ J ISCCCS \_/ \ IRO 07-00 ______ \. / " ' _ . _ _ _ _._J Jx --------------------------c(~______ »)0---------- Oata Valid Figure 11. Read Cycle Timing Write Cycle Timing. Figure 12 illustrates Write cycle timing. Addresses on Al/B and DIIC and the status on IINTACK must remain stable throughout the cycle. If ISCCCS falls AIIB,OIlC IINTACK ISCCCS mR 07-00 _______ after IWR falls or if it rises before IWR rises, the effective twR is shortened. Data must be valid before the falling edge of twR. J~~______________Ad_d_re_s_s_V_a_lid_________________J~~_____ J \_I \ \. / -----~ ------------------~<:~·__________ ._J:»------------- o_a_la_V_a_li_d__________ Figure 12. Write Cycle Timing 553 TIMING (Continued) Interrupt Acknowledge Cycle Timing. Figure 13 illustrates Interrupt Acknowledge cycle timing. IINTA"CK IRD 07-00 '-----uI I I \ If ( X Vector ) Figure 13. Interrupt Acknowledge Cycle Timing FIFO The following text explains the functional operations of the FIFO. FIFO Enhancements. When used with a OMA controller, the Z85C30 FIFO enhancement maximizes the SCC's ability to receive high speed back-to-back SOLC messages while minimizing frame overruns due to CPU latencies in responding to interrupts. Additional logic was added to the industry standard NMOS SCC consisting of a 10 deep by 19 bit status FIFO, 14-bit receive byte counter, and control logic as shown in Figure 14. The 10 x 19 bit status FIFO is separate from the existing three byte receive data FIFO. When the enhancement is enabled, the status in read register 1 (RR 1) and byte count for the SOLC frame will be stored in the 10 x 19 bit status FIFO. This allows the OMA controller to transfer the next frame into memory while the CPU verifjes the message was properly received Summarizing the operation, data is reCeived, assembled, loaded into the three byte rec.eive FIFO before being transferred to memory by the OMA controller. When a flag is received at the end of an SOLC frame, the frame byte count from the 14-bit counter and five status bits are loaded into the status FIFO for verification by the CPU. 554 The CRC checker is automatically reset in preparation for the next frame which can begin immediately. Since the byte count and status are saved for each frame, the message integrity can be verified at a later time. Status information for up to 10 frames can be stored before a status FIFO overrun could occur. FIFO Detail. For a better understanding of details of the FIFO operation, refer to the block diagram contained in Figure 14. EnablelDisable. This FIFO is implemented so that it is enabled when WR 15 bit 2 is set and the SCC is in the SOLCI HOLC mode, otherwise the status register contents bypass the FIFO and go directly to the bus interface (the. FIFO pointer logic is reset either when disabled or via a channel or power-on reset). When the FIFO mode is disabled, the SCC is conipletely downward-compatible with the NMOS 8530. The FIFO mode is disabled on power-up (WR15 bit 2 is settoOon reset). The effects of backward compatibility on the register set are 'that RR4 is an image of RRO, RR5 is an image of RR1, RR6 is an image of RR2 and RR7 is an image of RR3 For the details of the added registers, refer to Figure 16. The status of the FIFO Enable signal can be obtained by reading RR15 bit 2. If the FIFO is enabled, the bit will be set to 1; otherwise, it will be reset. Frame Status FIFO Circuitry RR1 SCC Status Reg Residue Bits(3) Overrun, CRC Error Byte Counter 4-- Reset on Flag Detect 4-4-- Increment on Byte DET '----"'T""'-----' I .--------1 5 Bits • 14 Bits Enable Count in SDLC End of Frame Signal - - - - , Status Read Comp AFOArray 10 Deep by 19 Bits Wide Tail Pointer 4-Bit Counter Head Pointer 4-Bit Counter f""'" 4-Bit Comparator , 5 Bits t+ Over EOF=1 • SBits. Equal 8 Bits " " 6-Bit MUX //L ......- - - - - + - - - + - I 1 L E _ N J - - - - - I - - - - t - - - , - .- Interface toSCC • 2 Bits " 6 Bits RR1 A t -' . IRR7 Ds.oO + RR6 07 - DO Byte Counter Contains 14 bits for a 16 KByte maximum count WR(1!) Bit 2 SeiEnaDies Status FIFO RR7D6 FIFO Data available status bit Status Bit set to 1 When reading from FIFO. RR7D7 FIFO Overflow Status Bit MSB pf RR(7) is set on Status FIFO overflow In SDLC Mode the following definitions apply - All Sent bypasses MUX and equals contents of SCC Status Register. - Parity Bits bypasses MUX and does the same. - EOF is set to 1 whenever reading from the FIFO.. Figure 14. SCC Status Register Modifications 555 FIFO (Continued) Read Operation. When WR15 bit2is set and the FIFO is not empty, the next read to any of status register RR1 or the additional registers RR7 and RR6 will actually be from the FIFO. Reading status register RR1 causes one location of . the FIFO to be emptied, so status should be read after reading the byte count. otherwise the count will be incorrect. Before the FIFO underflows, it is disabled. In this case, the multiplexer is switched to allow status to read directly from the status register, and reads from RR7 and RR6 will contilin bits that are undefined. Bit 6 of RR7 (FIFO Oata Available) can be used to determine if status data is coming from the FIFO or directly from the status register, since it is set to 1 whenever the FIFO is not empty. Since not all status bits must be stored in the FIFO, the All Sent. Parity, and EOF bits will bypass the FIFO. The status bits sentthrough the FIFO will be Residue Bits (3), Overrun, and CRC Error. The sequence for prop~r operation of the byte count and FIFO logic is to read the registers in the following order: RR7, RR6, and RR1 (reading RR6 is optional). Additional logic prevents the FIFO from being emptied by multiple reads from RR1. The read from RR7 latches the FIFO empty/full status bit (bit 6) and steers the status multiplexer to read from the SCC megacell instead of the status FIFO (since the status FIFO is empty). The read from RR1 allows an entry to be read from the FIFO (if the FIFO was empty, logic is added to prevent a FIFO underflow condition). Write Operation. When the end of an SOLC frame (EOF) has been received and the FIFO is enabled, the contents of the status and byte-count registers are loaded into the FIFO. The EOF signal is used to increment the FIFO. If the FIFO overflows. the MSB of RR7 (FIFO Overflow) is set 10 indicate the overflow. This bit and the FIFO contrpllogic is reset by disabling and re-enabling Ihe FIFO control bit (WR15 bit 2). For details of FIFO control timing during an SOLC frame, refer to Figure 15 . •••• Internal Byte Strobe Increments Counter Internal Byte Strobe Increments Counter Don' Load Counter On 1stAag Reset Byte Counter Here Reset Byte Counter Load Counter IntoAFOand Increment PTR Reset Byte Counter Reset Byte Counter Load Counter Into FIFO And Increment PTR Figure 15. SOLe Byte Counting Detail , Byte Counter Detail. The 14-bit byte counter allows for packets up to 16K bytes to be received. For a better understanding of its operation refer to Figures 14 and 15. Enable. The byte counter is enabled in the SOLC/ HOLCmode. Reset. The byte counter is reset whenever an AOLC flag character is received. The reset is timed so that the contents of the byte counter are successfully written into the FIFO. 556 Increment. The byte counter is incremented by writes to the data FIFO. The counter represents the numberof bytes received by the SCC, rather than the number of bytes transferred from-the SCC. (These counts may differ by up to the number of bytes in the receive data FIFO contained in the SCC). RR7 7 I 0 FDA, TT FOY I BC 13 I, BC 12 BC 11 BC 10 BC 9 FIFO Data Available Status 1 Status Reads WII Come From FIFO o Status Reeds wnl Come From sec FIFO OveIflow Status 1 FIFO OverfIowad During Operation o Normal RR6 7 Be 7 0 ] BC Be 6 5 BC 4 BC 3 BC 1 Be 2 WR15 7 * Read From FIFO LSB Byte Count Be 0 o * * * * FEN * T * Read From FIFO MSB Byte Count BC 8 No change From NMOS sec Status FIFO Enable Control BIT 1 Status and Byte Count Will Be Held in the Status FIFO Until Read o Status Will Not Be Held (sec Emulation Mode) DFN Figure 16. see Additional Registers' SOFTWARE INTERRUPT ACKNOWLEDGE The SCC can do im interrupt acknowledge cycle through software. In some CPU environments it is difficult to cre,ate the liNTACK signal with the necessary timing to acknowledge interrupts and allow the nesting of interrupts. In these cases, it would be desirable to create this Signal in software. If bit 5 of Write Register 9 (WR9) is set, reading register 2 (RR2) will result in an interrupt acknowledge cycle to be executed internally. Like a hardware INTACK cycle, a software acknowledge will cause the liNT pin to return high. Similarly to when the IINTACK signalis used, when a software acknowledge cycle is sued, a Reset Highest IUS command must be issued in the interrupt-service routine. If the RR2 is read from channel B, the modified vector will be returned, If the RR2 is read from channel A, then the vector will be returned unmodified. The Vector Includes Status (VIS) and no vector (NV) bits (WR9) and are ignored when bit 5 is set to 1. When the IINTACK is not being used, itshould be pulled up to VDD through a resistor (10K ohm typical). 557 SCSI FUNCTIONAL DESCRIPTION General. The Small Computer System interface (SCSI) device has a set of eight registers that are controlled by the CPU. By reading and writing the appropriate registers. the CPU may initiate any SCSI Bus activity or may sample and assert any signal on the SCSI Bus. This allows the user to implement all or any of the SCSI protocol in software. These registers are read (written) by activating /SCSICS with an address on A2-AO and then issuing a/RD (/WR) pulse. This section describes the operation of the internal registers (Table 2). Address: 0 (Read Only) 107106105104103102101100 1 lOBO 10Bl IOB2 IOB3 10B4 IOB5 Table 2. Register Summary IOB6 Address A2 A1 AO R!W Register Name 0 0 0 0 0 0 0 0 R W R/W Current SCSI Data Output Data Initiator Command 0 0 1 1 0 1 0 0 R/W R/W R Mode Target Command Current SCSI Bus Status 0 0 0 O' 1 1 W R W Select Enable Bus and Status Start DMA Send 0 0 R W R W Input Data Start DMA Target Receive Reset Parity/Interrupt Start DMA Initiator Receive 1 1 1 1 Data Registers. The data registers are used to transfer SCSI commands. data. status. and message by1es between the microprocessor Data Bus and the SCSI Bus. The SCSI does not interpret any information that passes through the data registers. The data registers consist of the transparent Current SCSI Data Register. the Output Data Register. and the Input Data Register. IOB7 Figure 17. Current SCSI Data Register Output Data Register. Address O(Write Only). The Output Data Register (Figure 18) is a write-only register that is used to send data to the SCSI Bus. This is accomplished by either using a normal CPU write. or under DMA control. by using /WR and /DACK. This register also asserts the proper ID bits on the SCSI Bus during the Arbitration and Selection phases. Address: 0 (Write Only) 1071061051041031021011001 ~ lOBO lOBI IOB2 IOB3 '-------- 1DB4 ' - - - - - - - - - IOB5 . IOB6 Current SCSI Data Register. Address O(Read Only). The Current SCSI Data Register (Figure 17) is a read-Only register which allows the microprocessor to read the active SCSI Data Bus. This is accomplished by activating /SCSICS with an address on A2-AO and issuing a /RD pulse. If parity checking is enabled. the SCSI Bus parity is checked at the beginning of the read cycle. T;his register is used during a programmed I/O data read or during Arbitration to check for higher priority arbitrating devices. Parity is not guaranteed valid during Arbitration. 558 ' - - - - - - - - , - - - - . . . . . ; . . lOB7 Figure 18. Output Data Register Input Data Register. Address 6 (Read Only). The input Data Register (Figure 19) is a read-only register that is used to read latched data from the SCSI Bus. Data is latched either during a DMA Target receive operation when lACK goes active or during a OMA Initiator receive when IREQ goes active. The OMA Mode bit (Mode Register bit 1) must be set before data can be latched in the Input Oata Register. This register is read under OMA control using IRO and 10ACK. Parity is optionally checked when the Input Oata Register is loaded. Address: 1 (Write Only) ID'I"I"I"I~ Assert Data Bus Assert/ATN AssertlSEL Address: 6 (Read Only) Assert/BSY 1071061051041031021011 Dol ~ Assert lACK "0" IDBO Test Mode 10Bl Assert/RST IDB2 10B3 10B4 Figure 21. Initiator Command Register (Register Write) IOB5 IOB6 IOB7 Figure 19. Input Data Register Initiator Command Register. Address 1 (rea\jfwrite). The Initiator Command Register (Figures 20 and 21) are read and write registers which assert certain SCSI Bus sig!lals, monitors those signals, and monitors the progress 01 bus arbitration. Many of these bits are significant only when being used as an Initiator; however, most can be used during Target role operation. Address: 1 (Read Only) Bit O. Assert Data Bus. The ASSERT OAT A BUS bit, when set, allows the contents of the Output Oata Register to be enabled as chip outputs on the signals IOB7-/OBO. Parity is also generated and asserted on 10BP. 'When connected as an Initiator, the outputs are only enabled if the TARGETMOOE bit (Mode Register, bit 6) is FALSE, the received signal 11/0 is FALSE, and the phase signals CliO, 1//0, and IMSG match the contents of the ASSERT CliO, ASSERT 1//0 and ASSERT IMSG in the Target Command Register. This bit should also be set during OMA send operations. 1071061051041031021011001 ~ The following describes the operation of all bits in the Initiator Command Register. Assert Data Bus Assert/ATN AssertlSEL Assert/BSY Assert lACK Lost A1bitration Arbitration in Progress Assert IRST . .Flgure 20. Initiator Command Register (Register Read) Bit 1. ASSERT/A TN/A TN. Bit 1 may be asserted on the SCSI Bus by setting this bit to a one (1) if the TRAGETMOOE bit (Mode Register, bit 6) is FALSE IA TN is normally asserted by the initiator to request a Message Out bus phase. Note that since ASSERTISEL and ASSERTIA TN are in the same register, a select with IATN may be implemented with one CPU write IATN may be deasserted by resetting this bit to zero. A read on this register simply reflects the status of this bit. Bit 2. ASSERT/SEL. Writing a one (1) into this bit position asserts ISEL onto the SCSI Bus. ISEL is normally asserted after Arbitration has been successfully completed ISEL may be disabled by resetting bit 2 to a zero. A read of this register reflects the status of this bit. 559 SCSI FUNCTI9NAL DESCRIPTION (Continued) Bit 3. ASSERT/BSY. Writing a one (1) into this bit position asserts /BSY onto the SCSI Bus. Conversly, a zero resets the IBSY signal. Asserting IBSY indicates a successful selection or reselection. Resetting this bit creates a BusDisconnect condition. Reading this register reflects bit status. Bit 4. A SSERT/ACK. Bit 4 is used by the bus initiator to assert lACK on the SCSI Bus. In order to assert lACK, the TARGETMODE bit (Mode Register, bit 6) must be FALSE. Writing a zero to this bit deasserts lACK. Reading this register reflects bit status. Bit 5. "0" (Write Bit). Bit 5 should be written with a zero for proper operation. Bit 5. LA (Lost Arbitration - Read Bit). Bit 5, when active, indicates thaI the SCSI detected a Bus-Free condition, arbitrated for use of the bus by asserting /BSY and its 10 on the Data Bus, and lost Arbitration due to /SEL being asserted by another bus device. This bit is active only when the ARBITRATE bit (Mode Register, bit 0) is active. / Bit 6. TEST MODE (Write Bit). Bit 6 is written during a test environment to disable all output drivers, effectively removing the Z53C80 from the circuit. Resetting this bit returns the part to normal operation. Bit 6. AlP (Arbitration in Process - Read Bit). Bit 6 is used to determine if Arbitration is in progress. For this bit to be active, the ARBITRATE bit (Mode Register, bit 0) must have been set previously. It indicates that a Bus-Free condition has been detected and thatthe chip has asserted IBSY and put the contents of the Output Data Register onto the SCSI Bus. AlP will remain active until the ARBITRATE bit is reset. Bit 7. ASSERT/RST. Whenever a one is written to bit 7 of the Initiator Command Register, the IRST signal is asserted on the SCSI Bus. The IRSTsignal will remain asserted until this .bit is reset or until an external/RESET occurs. After this bit is set (1), IRQ goes active and all internal logic and control registers are reset (exc~pt for the interrupt latch and the ASSERT/RST bit). Writing a zero to bit 7 of the Initiator Command Register deasserts the /RST signal. The status of this bit is monitored by reading the Initiator Command Register. Mode Register. Address 2 (Read/Write). The Mode RegiS,ter controls the operation of the chip. This register determines whether the SCSI operates as an Initiator or a Target, whether DMA transfers are being used, whether 560 parity is checked, and whether interrupts are generated on various extetnal conditions. This! register is read to check the value of these internal control bits (Figure 22). Address: 2 (ReadlWrRe) Iml~I~I~lool~I~lool ~ ArbHrate DMAMode Monitor IBSY Enable IEOP Interrupt Enable Parity Interrupt Enable Parity Checking Target Mode ·0· Figure 22. Mode Register Bit O. ARBITRATE. The ARBITRA TE bit is set (1) to start the Arbitration process. Prior to setting this bit. the Output Data Register should contain the proper SCSI device 10 value. Only one data bit should be active for SCSI Bus Arbitration. The SCSI waits for a Bus-Free condition before entering the Arbitration phase. The results of the Arbitration phase is determined by reading the status bits LA and AlP (Initiator Command Register, bits 5 and 6, respectively). Bit 1. DMA MODE. The DMA MODE bit is normally used to enable a DMA transfer and must be set (1) prior to writing Start DMA Send Register, .Start DMA Target Receive Register, and Start DMA Initiator Receiver Register. These three registers are used to start DMA transfers. The TARGETMODE bit (Mode Register, bit 6) must be consistent with writes to Start DMA Target Receive and Start DMA Initiator Receive Registers [i.e., set (1) for a write to start DMA Target Receive Register and set (0) for a write to Start DMf\ Initiator Receive Register]. The control bit ASSERT DATA BUS (Initiator Command Register, bit 0) must be TRUE (1) for all DMA send operations. In the DMA mode, /REQ and lACK are automatically controlled. The DMA MODE bit is not reset upon the receipt of an IEOP signal. Any DMA transfer is stopped by writing a zero into this bit location; however, care must be taken not to cause ISCSICS and /DACK to be active simultaneously. Bit 2. MONITOR BUSY. The MONITOR BUSY bit, when TRUE (1), causes an interrupt to be generated for an unexpected loss of /BSY. When the interrupt is generated due to loss of IBSY, the lower six bits of the Initiator Command Register are reset (0) and all signals are removed from the SCSI Bus. • Bit 3. ENABLE/EOP interrupt. The enable lEap interrupt, when set (1), causes an interrupt to occur when the lEap (End of Process) signal is received from the DMA controller logic. Bit 4. ENABLE PARITY INTERRUPT. Tthe ENABLE PARITY INTERRUPT bit. when set (1), will cause an interrupt (IRO) to occur if a parity error is detected. A parity interrupt will only be generated.if the ENABLE PARITY CHECKING bit (bit 5) is also enabled (1). Bit 5. ENABLE PARITY CHECKING. The ENABLE PARITY CHECKI NG bit determines whether parity errors are ignored or saved in the parity error latch. If this bit is reset (0), parity is ignored. Conversely, if this bit is set (1), parity errors are saved. Bit 6. TARGETMOOE. The TARGETMODE bit allows the SCSI to operate as either a SCSI Bus Initiator, bit reset (0), or as a SCSI Bus Target device, bit set (1). If the signals IATN and lACK are to be asserted on the SCSI Bus, the TARGETMODE bit must be reset (0). If the signals CIID, 1//0, IMSG, and IREO are to be asserted on the SCSI BuS, the TARGETMODE bit must be set (1). Bit 7. "a". Bit 7 should be written with a zero for proper operation. Target Command Register. Address 3 (ReadtWrite ). When connected as a target device, the Target Command Register (Figure 23) allows the CPU to control the SCSI Bus Information Transfer phase and/or to assert/REO by writing this register. The TARGETMODE bit (Mode Register, bit 6) must be TRUE (1) for bus assertion to occur. The SCSI Bus phases are described in Table 3. Table 3. SCSI Information Transfer Phase Bus Phase ASSERT" 1110 ASSERT CIID ASSERT IMS Data Out Unspecified Command 0 0 0 0 0 0 1 0 Message Out Data In Unspecified 0 1 1 1 0 0 1 0 1 .Status Message In 0 1 When conneCted as an Initiator withDMA MODE TRUE, if the phase lines 11/0, CIID, and /MSG do not match the phase bits in the Target Command Register, a phase I mismatch interrupt is generated when /REO goes active. To send data as an Initiator, the ASSERT II/a, ASSERT CIID, and ASSERT IMSG bits must match the corresponding bits in the Current SCSI Blois Status Register. The ASSERT IREO bit (bit 3) has no meaning when operating as an Initiator. Bits 4, 5, and 6 are not used. Bit 7. LAST BYTE SENT (Read Only). The END OF DMA TRANSFER bit (Bus and Status Register, bit 7) only indicates when the last byte was received from the DMA controller. The LAST BYTE SENT bit can be used to flag that the last byte of the DMA send operation has been transferred on the SCSI Data Bus. Address: 3 (ReadIWrile) Iwl~I~I~loolool~lool Assert VIO Assert ClIO . AssertlMSG AssertlREO oJ(" Last Byte Sent Figure 23. Target Command Register Current SCSI Bus Status Register. i'lddress4(Read Only). The Current SCSI Bus Register is a read-only register which is used to monitor seven SCSI Bus control signals, plus the Data Bus parity bit. For example, an Initiator device can use this register to determine the current bus phase and to poll IREO for pending data transfers. This register may also be used to determine why a particular interrupt occurred. Figure 24 describes the Current SCSI Bus Status Register. Select Enable Register. Address 4 (Write Only). The Select Enable Register (Figure 25 ) is a write-only register which is used as a mask to monitor a signal ID during a selection attempt. The simultaneous occurrence of the correctlD bit, IBSY FALSE, and ISEL TRUE will cause an interrupt. This interrupt can be disabled by resetting all bits in this register. If the ENABLE PARITY CHECKING /:lit (Mode Register, bit 5) is active (1), parity is checked during selection. 561 SCSI FUNCTIONAl. QESCRIPTION (Continued) Address: 4 (Read Only) 1071061051041031021011001 AsIdress: 5 (Read Only) Iml06ID5I04I03I~I~lool ~ ' - - - - - - - !MSG ' - - - - - - - - - - - ~y Figure 24. Current SCSI B",s Status Regl_r Address: 4 (Write Only) 1~1D51D5I04I03I02I~lool ~~ ./ ' - - - - - - - 1DB4 ~------- ID~ '-----~---- ID~ ' - - - - - - - - - - - IDB7 Figure 25. ~elect Enable Register Bus and Status Register. Address 5 (Read OnJy). The Bus and Status Register (Figure 26) is a read-only register which can be used to monitor the remaining SCSI control signals not found in the Current SCSI Bus Status Registers (tATN and lACK), as well as six other status bits. The' following describes each bit of the Bus Status Register individually. Bit O. lACK. Bit 0 reflects the condition of the SCSI Bus control signal/ACK. This signal is normally monitored by . the Target device. Bit 1. IA·TN. Bit 1 reflects the condition of the SCSI Bus control sigoal/ATN. This signal is normally monitored py the Target device. ! ,562 IATN Busy Error ( Phase Match Interrupt Request Ame Parity Error ~-----~,~EQ ' - - - - - - - - - - - ' - - IRST lACK DMARequest , EndofDMA Figure 26. Bus and Status,Reglster Bit 2. BUSY ERROR. The BUSY ERROR bit is active if an unexpected loss of the /BSY signal has occurred. This latch is set whenever the MONITOR BUSY bit (Mode Regi'ster, bit2) is TRUE and /BSYis FALSE. An unexpected loss of IBSY disaIJles any SCSI outputs and, resets the DMA MODE bit (Mode Register, bit 1). Bit 3. PHASE MATCH. The SCSI signals/MSG, CliO, and 11/0, represent the current information Transfer phase. The PHASE MATCH bit indicates whether the current SCSI Bus phiise matches the lower 3 bits of the Target Command Register. PHASE MATCH is continuously updated and is only significant when operating as a Bus Initiator. A phase match is required for data transfers to ,occur on the SC$I Bus. Bit 4. INTERRUPT REQl)EST ACTIVE. J;3it 4 is set if an enabled interrupt condition occurs. It reflects the current state of t~e IRO output and can be cleared by reading the Reset Parity/lnterrupt Register. Bit 5. PARITY ERROR. Bit S is set if a parity error occurs during a data receive or device selection. The PARITY ERROR bit can only be set (1) if the ENABLE PARITY CHECK bit (Mode Register, bitS)is active (1). This bitmay be cleared by reading the Reset Parlty/lnterrupt Register. a Bit 6. DMA REQUEST. The DMA REQUEST bit allows the CPU to sample the output pin ORO. DRQ can be cleared by asserting IDACK or by resetting the DMA MODE bit (bit '1 ) in the Mode Register. The ORO signal does not reset when a phase-mismatch interrupt occurs. Bit 7. END OF DMA TRANSFER. The END OF DMA TRANSFER bit is set if /EOP, IDACK, and either /RD or /WR are simultaneously active for at least 1oons, Since the IEOP signal can occur during the last byte sent to the Output Data Register, the IREQ and lACK signals should be monitored to ensure that the last byte has been transferred, This bit is reset when the DMA MODE bit is reset (0) ill the Mode Register. DMA Registers. Three write-qnly registers are used to initiate all DMA activity, They are: Start DMA Send, Start DMA Target Receive, and Start DMA Initiator Receive, Performing a write operation into one of these registers starts the desired type of OM transfer. Data presented to the SCSI on signals 07-00 during the register write is meaningless and has no effect on the operation. Prior to writing these registers, the DMA MODE bit (bit 1), and the TARGETMODE bit (bit 6) in the Mode Register must be appropriately set. The individual registers are briefly described as follows: Start DMA Send. Address 5 (Write Only), This register is written to initiate a DMA send, from the DMA to the SCSI Bus, for either Initiator or Target role operations, The DMA MODE bit (Mode Register, bit 1) is set prior to writing this register. Start DMA Target Receive. Address 6 (Write Only). This registeris written to initiate a DMA receive - from the SCSI Bus to the DMA, for Target operation only, The DMA MODE bit (bit 1) and the TARGETMODE bit (bit 6) in the Mode Register must both be set (1) prior to writing this register. Start DMA Initiator Receive. Address 7 (Write Only). This register is writt~n to initiate a DMA receive - from the SCSI Bus to the DMA, for Initiator operation only, The DMA MODE bit (bit 6) must be FALSE (0) in the Mode Register prior to writing this register. Reset Parity/Interrupt. Address 7 (Read Only), Reading this register resets the PARITY ERROR bit (bit 5), the INTERRUPT REQUEST bit (bit 4), and the BUSY ERROR bit (bit 2) in the Bus and Status Register, On-Chip SCSI Hardware Support. The SCSI is easy to use because of its simple architecture, The Chip allows direct control and monitoring of the SCSI Bus by providing a latch for each signal. However, portions of the protocol define timings which are much too quick for traditional microprocessors to control. Therefore, hardware support has been provided for DMA transfers, bus arbitration, phase change monitoring, bus disconnection, bus reset, parity generation, parity checking, and device selectionl res election . Arbitration is accomplished, using a Bus-Free filter to continuously monitor /BSY, If /BSY remains inactive for at least 4oons, the SCSI is considered free and Arbitration may begin, Arbitration will begin if the bus is free, /SEL is inactive, and the ARBITRATE bit (Mode Register, bit 0) is active, Once arbitration has begun (/BSY asserted), an arbitration delay of 2,21JS must elapse before the Data Bus can be e~amined to determine if Arbitration is enabled, This delay is implemented in the controlling software driver. The Z53C80 is a clockwise device. Delays such as busfree delay, bus-set delay, and bus-settle delay are implemented using gate delays. These delays may differ between devices because of inherent process variations, but are well within the proposed ANSI X3,131 - 1986. specification. INTERRUPTS. The Z53C80 provides an interrupt output (IRQ) to indicate a task completion or an abnormal bus occurrence. The use of interrupts is optional and may be disabled by resetting the appropriate bits in the Mode Register or the Select Enable Register. When an interrupt occurs, the Bus and Status Register and the Current SCSI Bus Status Register (Figures 26 and 24) must be read to determine which Condition created the interrupt. IRQ can be reset simply by reading the Reset Parity/Interrupt Register or by an external chip reset IRESET active for 1oons, Assuming the Z53C80 has been properly initialized, an interrupt will be generated if the chip is selected or reselected, ilan /EOP signal occurs, if a parity error occurs during a data transfer, if a bus phase mismatch occurs, or if a SCSI Bus disconnection occurs. Selection Reselection. The Z53C80 generates a select interrupt if SEL is active (0), its device 10 is TRUE and 18S" is FALSE for at least a bus-settle delay, If 11/0 is active, this is considered a reselect interrupt The correct 10 bit is determined by a match in the Select Enable Register. Only a single bit match is required to generate an interrupt. This interrupt may be disabled by writing zeros into all bits of the Select Enable Register. If parity is supported, parity should be good during the selection phase, Therefore, if the ENABLE PARITY bit (Mode Register, bit 5) is active, the PARITY ERROR bit is checked to ensure that a proper selection has occurred, The ENABLE PARITY INTERRUPT bit need not be set for this interrupt to be generated. 563 SCSI FUNCTIONAL DESCRIPTION (Continued) The proposed SCSI specification also requires that no more than two device ID's be active during the selection process. To ensure this, the Current SCSI Data Register is read. 07 DO The proper values for the Bus and Status Register and the Current SCSI Bus Status Register are displayed in Figures 27 and. 28, respectively. 07 10lol0111xl0lxl01 I~:. . DO lolololxlxlxlolxl I~; ~~ro LSPhauMakm ~---------- ~G Intanupl Request ActIve ~------------ f~O Perity Error ~--------------L -_________________ DMA Request ~SY ffiST, Erld of OMA Figure 27. Bus and Status Register End of Process (EOP) Interrupt. An End Of Process signal (EOP) which occurs-during a DMA transfer (DMA MODE TRUE) will set the END OF DMA Status bit (Bus and Status Register bit 7) and will optionally generate an interrupt if ENABLE EOP INTERRUPT bit (Mode Register, bit 3) is TRUE. The lEap pulse will not be recognized (END OF DMA bit set) unless lEap, IDACK, and either IRD or /WR , are concurrently active for at least 50 ns. DMA transfers 07 DO can still occur if lEap was not asserted at the correct time, Thi.s interr\Jpt is disabled by resetting the ENABLE EOP INTERRUPT bit The proper values for the Bus and Status Register and the Current SCSI Bus Status Register for this interrupt are shown in Figures 29 and 30. 07 Ill ololll olololxl Ill=~:: ~ ~ BusyEnor PhaseMakm ~--------- I~nupt Request Active ~-:--------- Perity Error ~------------- DMA'Request ~---------------- End of OMA Figure 29. Bus and Status Register 564 Figure 28. Current SCSI Bus Status Register DO "l olllll xlxlxlolxl I~; ~~ro ~---------- !MSO ~--------- fREO ~--------------- ~y ~-------------- fRST Figure 30. Current SCSI Bus Status Register The END OF DMA bit is used to determine when a block transfer is complete. Receive operations are complete when there is no data left in the .chip and no additional handshakes occurring. The only exception to this is receiving data as an Initiator and the Target opts to send additional data for the same phase. In this IREO goes active and the new data is present in the Input Data Register. Since a phase-mismatch interrupt will not occur, IREO and lACK need to be sampled to determine that the Target is attempting to send more data. For send operations, the END OF DMA bit is set when the DMA finishes its transfers, but the SCSI transfer may still be in progress. If connected as a Target, IREO and lACK should be sampled until both are FALSE. If connected as an Initiator, a phase change interrupt is used to signal the completion of the previous phase. It is possible for the Target to request additional data for the same phase. 07 In this case, a phase change will not occur and both IREO and lACK are sampled to determine when the last byte was transferred. SCSI Bus Reset. The SCSI generates an interrupt when the IRST signal transitions to TRUE. The device releases all bus signals within a b~s-clear delay of this transition. This interrupt also occurs after setting the ASSERT IRST bit (Initiator Command Register, bit 7). This interrupt cannot be disabled. (Note: IRST is not latched in bit 7 of the Current SCSI Bus Status Register and is not active when this port is read. For this case, the Bus Reset interrupt is determined by default.) The proper values for the Bus and Status Register and the Current SCSI Bus Status Register are displayed in Figures 31 and 32, respectively. 07 DO DO Ixlxlxlxlxlxlxlxl lACK IATN Busy Error Phase Match Interrupt Request Active Parity Error I~= ~~/O IMOO IREO OMA Request IBSY End of OMA IRST Figure 31. Bus and Status Register . Figure 32. Current SCSI Bus Status Register Parity Error. An interrupt is generated for a received parity error it the ENABLE PARITY CHECK (bit 5) and the ENABLE PARITY INTERRUPT (bit 4) bits are set (1) in the Mode Register. Parity is checked during a read of the Current SCSI Data Register and during a DMA receive operation. A parity error can be detected without generating an interrupt by disabling the ENABLE PARITY INTER- RUPT bit and checking the PARITY ERROR flag (Bus and Status Register, bit 5)The proper values for the Bus and Status Register and the Current SCSI Bus Status Register are displayed in Figures 33 and 34, respectively. 565 SCSI FUNCTIONAL DESCRIPTION (Continued) lACK IATN Busy Error Phase Match Interrupt RequeSt Active IMSO ParityEm>r IREO OMA Request /BSY ........- - - - - - - - - EndofOMA IRST Figure 33. Bus and Status Register Figure 34. Current SCSI Sus Status Register Bus Phase Mismatch. The SCSI phase lines have the signals 1110, CIID, and/MSG. These signals are compared . with the corresponding bits in the Target Command Register: ASSERT 1//0 (bit 0), ASSERT CIID (bit 1), and ASSERT IMSG (bit 2). The comparison occurs continually and is reflected in the PHASE MATCH bit (bit 3) of the Bus and Status Register. If the DMA MODE bit (Mode Register, bit 1) is active and a phase mismatch occurs when IREO tranSitions from FALSE to TRUE, an interrupt (IRO) is generated. operation (lDB7-/DBO and IDBP will not be driven even through the ASSERT DATA BUS bit (Initiator Command Register, bitO) is active). This may be disabled by resetting the DMA MODE bit (Note: It is possible for this interrupt to occur when connected as a Target if another device is driving the phase lines to a different state). The proper values for the Bus and Status Register and the Current SCSI Bus Status Register are displayed in Figures 35 and 36, respectively A phase mismatch prevents the recognition of /REO and removes the chip from the bus during an Initiator send , 07 ' DO lololol11ololxlol ~:~ ,Phase Match Interrupt Request Active IMSO Parity Error IREO OMA Request IBSY EndofOMA IRST Figure 35. Bus and Status Register 566 Figure 36. Current SCSI Bus Status Register Loss of BSY. If the MONITOR BUSY bit (bit 2) in the Mode Register is active. an interrupt is generated if the BSY signal goes FALSE for at least a bus-settle delay. This interrupt is disabled by resetting the MONITOR BUSY bit. Register values are displayed in Figures 37 and 38. DO 07 lACK IATN lolololxlxlxlolol I L/OBP ~/SEL ~ Busy Error VlO Phase Match CliO Interrupt Request Active IMSO Parity Error ' - - - - - - - - - IREO OMA Request IBSY End of OMA IRST Figure 37. Bus and Status Register Reset Conditions. Three possible reset situations exist with the Z85C80, as follows: Hardware Chip Reset. When the signal RST is active for at least 100 ns, the Z53C80 device is re-initialized and all internal logic and control registers are cleared. This is a chip reset only and does not create a SCSI Bus-Reset condition. . SCSI Bus Reset (/RST) Received. When a SCSI /RST signal is received, an IRO interrupt is generated and a chip reset is perforrned. All internal logic and registers are cleared, except for the IRO Interrupt latch and the ASSERT /RST bit (bit 7) in the Initiator Cornrnand Register. (Note: The /RST signal rnay be sarnpled by reading the Current SCSI Bus Status Register, however, this signal is not latched and rnay not be present when this port is read). SCSI Bus Reset (/RST) Issued. If the CPU sets the ASSERT/RST bit (bit 7) in the Initiator Command Register, the /RST signal goes active on the SCSI Bus and an internal reset is performed. Again, all internal logic and registers are cleared except for the IRO interrupt latch and the ASSERT/RST bit (bit 7) in the Initiator Command Register. The /RST signal will continue to be active until the ASSERT/ RST bit is reset or until a hardware reset occurs. Data Transfers. Data is transferred between SCSI Bus devices in one of four modes. 1) Programmed I/O, 2) Normal DMA, 3) Block Mode DMA, or 4) Pseudo DMA. The following sections describe these modes in detail (Note: for all data transfer operations /DACK and /SCSICS should never be active sirnultaneously). Figure 3~. Current SCSI Bus Status Register Programmed 1/0 Transfers. Prograrnmed I/O is the most primitive form of data transfer The /REO and /ACK handshake signals are individually monitored and asserted by reading and writing the appropriate register bits. This type of transfer is normally used when transferring srnall blocks of data such as command blocks or message and status bytes. An Initiator send operation would begin by setting the CIID, 1//0, and /MSG bits in the Target Command Register to the correct state so that a phase match exists. In addition to the phase match condition, it is necessary for the ASSERT DATA BUS bit (Initiator Cornmand Register, bit 0) to be TRUE and the received I/O signal to be FALSE for the Z53C80 to send data. For each transfer, the data is loaded into the Output Data Register. The CPU then waits for the /REO bit (Current SCSI Bus Status Register, bit 5) to become active. Once/REO goes active, the PHASE MATCH bit (Initiator Command Register, bit 4) is set. The /REO bit is sampled until it becomes FALSE and the CPU resets the ASSERT /ACK bit to complete the transfer. Normal DMA Mode. DMA transfers are normally used for large block transfers. The SCSI chip outputs a DMA request (DRO) whenever it is ready for a byte transfer. External DMA logic uses this ORO signal to generate /DACK and a /RD or a /WR pulse to the Z53C80. DRO goes inactive when IDACK is asserted and /DACK goes inactive some time after the minimum read or write pulse width. This process is repeated for every byte. For this mode, /DACK should not be allowed to cycle unless a transfer is taking place. 567 SCSI FUNCTIONAL DESCRIPTION (Continued) Pseudo DMA Mode. To avoid the tedium of monitoring and asserting the requesVacknowledgement handshake signals for programmed I/O transfers. the system may be designed to implement a pseudo DMA mode. This mode is implemented by programming the Z53C80 to operate in the DMA mode. but using the CPU to emulate the DMA handshake. DRQ may be detected by pOlling the DMA REQUEST bit (bit 6) in the Bus and Status Register. by sampling the signal through an external port. or by using it to generate a CPU interrupt. Once DRQ is detected. the CPU can perform a read or write data transfer. This CPU readlwrite is externally decoded to generate the appropriate IDACK and /RD or twR signals. Often. external decoding logic is necessary to generate the ISCSICS signal. This same logic may be used to generate IDACK at no extra cost and provide an increased performance in programmed 1/0 transfers., Halting a DMA Operation, The EOP signal is not the only way to halt a DMA transfer. A bus phase mismatch or a reset of the DMA MODE bit (Mode Register, bit 1) can also terminate a DMA cycle for the current bus phase. Using the IEOP Signal. If lEap is used, it should be asserted for at least 50 ns while IDACK and IRD or twR are simultaneously active. Note, however, that if /RD or twR is not active, an interrupt is generated, but the DMA activity continues. :rhe lEap signal does not reset the DMA MODE bit. Since the lEap signal can occur during the last byte sent to the Output Data Register, the IREQ and lACK signals are monitored to ensure that the last byte has transferred. 568 Bus Phase Mismatch Interrupt. A bus phase mismatch interrupt is used to halt the transfer if operating as an Initiator. Using this method frees the host from maintaining a data length counter and frees the DMA logic from providing the lEap signal. If performing an Initiator send operation, the Z53C80 requires IDACK to cycle before lACK goes inactive. Since phase changes cannot occur if lACK is active, either IDACK must be cycled after the last byte is sent or the DMA MODE bit must be reset in order to receive the phase mismatch interrupt. Resetting the DMA MODE Bit. A DMA operation may be halted at any time simply by resetting the DMA MODE bit. It is recommended that the DMA MODE bit be reset aiter receiving an lEap or bus phase-mismatch interrupt. The DMA MODE bit must then be set before writing any of the start DMA registers for subsequent bus phases. If resetting the DMA MODE bit is used instead of lEap for Target role operation, then care must be taken to reset this bit at the proper time. If receiving data as a Target device, the DMA MODE bit must be reset once the last DRQ is received and before IDACK is asserted to prevent an additional /REQ from occurring. Resetting this bit causes DRQ to go inactive. However, the last byte received remains in the Input Data Register and may be obtained either by performing a normal CPU ",ead or by cycling IDACK and IRD. In most cases, lEap is easier to use when operating as a Target device. . READ REGISTERS 1071061051041 031 ~:i:1 ~~i I~/OBO Address: 0 ~ 1071061 051 041D31~~:11:1 Address: 3 I~ ~:::: ~/0.e1 IDB2 Assert/MSG 10B3 Assert/REO 1DB4 ·0· IOB5 Last Byte Sent IOB6 IOB7 Figure 42. Target Command .Reglster Flgure39. Current SCSI Data Reglster Address: 1 I071 osl.05 1.04 1.Da 1.02. (Re1ad 011001 Only) ~ ~ ~ AssertOataBus Assert/ATN AssertlSEL IMSG Assert/BSY IREO Assert lACK IBSY Lost ArbRration IRST Arbitration in Progress Assert/RST Figure 40. Inltiator Comm and Register 107 106 105 104 1031~:i:~ r:i ~Arbitrate Address: 2 ~ ~ OMAMode Figure43. Current SCSI Bus Status Register 10710sI051041D31~:i~~r::i Address: 5 ~:,~ Phase Match Monijor/BSY Interrupt Request Active Enable IEOP Interrupt Parity Error Enable Parity Interrupt OMARequest Ena,ble Parity Checking End of OMA TargetMod~ ·0· Figure 44. Bus and Status Register Figure41. Mode Register 569 READ REGISTERS (Continued) Address: 6 (Read Only) Address: 7 (Read Only) Imloolool~loo(~I~lool 1,071061051041031021011001 I~:: ~ ~/OB2 1 ·X· ~=Oon1Care 1DB3 10B4 Figure 46. Reset Parity/Interrupt IOB5 10B6 IOB7 Figure 45. Input Data Register WRITE REGISTERS Address: 0 Write Only) Address: l' 1071061051041031021011001 ~ L -_ _ _- ' -_ _ IDBO IDBl IOB2 IDB3 1DB4 ' - - - - - - - - - IOB5 IDB6 L -_ _ _ _ _ _ _......._ IDB7 Figure 47. Output Data Register 570 (Wrile Only) Imloolool~lool~I~lool .~ Assert Data Bus Assert/ATN AssertlSEL Assert/BSY Assert lACK ·0· Tesl Mode Assert/RST Figure 48. Initiator Command Register, \ \ WRITE REGISTERS (Continued) Add(ess: 2 (Write Only) (Write Only) Address: 5 loolool~I~IOOlool~IOOI 1071061051041031001011001 ~:::. ~ L-=: ! 1 . "X" Figure 52. Stan DMA Send Monitor /BS'f Enable 1E0P In\enupt ......- - - - - Enable Parity Interrupt Enable Parity ClJeddng L..-______ L..-_ _ _ _ _ _ _ T~ModIt 1,--------- Address: 6 "0" 1071061~1~lool~101Iool Figure 49. Mode Register Address: 3 (Write Only) . (Write Only) & . . . 1_ _ _ _ 'X' Figure 53. Stan DMA Target Receive 1071~1051~looI00101Iool ~=:: L-=: ~ Assert/MSG ! L..-_ _ _ _ _ _ AssertlREQ Address: 7 "X" . L -_ _ _ _ _ _ _ _ (Wri\e Only) I071oslo51~lool00lo1lool L . . I_ ' _ _ _ "X" Last'By\eSeni Figure 54. Stan DMA Initiator Receive Figure SO. Target Command Register (Write Only) Address: 4 107Iosl05I~looI02101Iool ~ ! IDBO IDB1 1DB2 IDB3 IDB4 /085 IDB6 /DB7 Figure 51. Select Enable Register Note: X = Don't care 571 ABSOLUTE MAXIMUM RATiNGS Voltages on all pins with respect to GND ........................................ -O.3V to +7.0V Operating Ambient Temperature ........................... See·Ordering Information Storage Temperature ............................. -65°C to + 150°C Stresses greater than those. listed under Absolute Maximum Ratings may cause permanent damage to this device. This is a stress rating only; operation of the device at any condition above those indicated in the operational sections of these specifications is not implied. Exposure to absolute maximUm rating conditions for extended periods may affect device reliability. STANDARD TEST CONDITIONS The DC characteristics and capacitance section below apply for the following standard test conditions, 'unless otherwise noted. All voltages are referenced to GND. Positive current flows into the referenced pin. Standard conditions are as follows: • +4.5V!'> Vee!'> +5.5V • GND = OV • TA as specified in Ordering Information 2.2K From Output 50 pf +5V 2.1 Kn I Figure 56. Open-Drain Test Load From Output Under Test lOOp! II Figure 55. Standard Test Load 572 2.4 _ _ _ 0.4 2.0 2.0 X>P:~~~<:: )( 0.8 0.8 Figure 57. Switching Test Waveform ~~~--- ----~--- DC CHARACTERISTICS Symbol Parameter Voo V1H V1L IIH 1 Supply Voltage High-Level Input Voltage Low-Level Input Voltage High-Level Input Current SCSI Bus Pins V1H = 5.5V V1L = OV High-Level Input Current All Other Pins Low-Level Input Current SCSI Bus Pins Low-Level Input Current All Other Pins V1H = 5.5V V1L = OV V1H = 5.5V Vu. =OV V1H = 5.5V V1L = OV High-Level Output Voltage High-Level Output Voltage Low-Level Output Voltage SCSI Bus Pins Low-Level Output Voltage All Other Pins IOH = -3mA IOH = -250 pA 11H2 III1 I'L2 VOH 1 VoH2 VOL 1 VOL2 100 CIN COUT Cuo TA Supply Current Input Capacitance Output Capacitance Bidirectional Capacitance Operating Free-Air Temperature Condition Min Max Units 4:5 2.0 -0.3 5.5 5.5 0.8 V V V 50 pA 10 pA -50 pA -10 pA 2.4 Voo-0.8 V IOL = 48mA 0.5 V IOL = 7 mA 0.5 V 40 10 15 20 70 mA pI pI pI °C 0 573 AC CHARACTERISTICS General Timing PCLK IWIIREO Request IWIIREO Wait ICTSlrrRxC, RTxC Receive RxO ISYNC External ICTSlrrRxC, RTxC Transmit ,,' ?:'r----X---X-~ @------t ICTSlrrRxC Output IRTxC ICTS/ITRxC ICTSlrrRxC, IDCO ISYNC Input --C=bd --~ {----- Figure 58. General Timing 574 AC CHARACTERISTICS (Continued) Z85C80 General Timing Notes t No Symbol Parameter 1 2 3 TdPC(REQ) TdPC(W) TsRXC(PC) PCLK FALL to NJI/REO Valid Delay PCLK FALL to Wait Inactive Delay IRxC Rise to PCLK Rise Setup Time N/A 4 5 6 TsRXD(RXCr) ThRXD(RXCr) TsRXD(RXCf) RxD to IRxC Rise Setup Time RxD to IRxC Rise Hold Time RxD to/RxC FALL Setup Time 0 125 0 [ 1) [1) [1,5) 7 8 9 ThRXD(RXCf), TsSY(RXC) ThSY(RXC) RxD to IRxC FALL Hold Time ISYNC to IRxC Rise Setup Time ISYNC to /RxC Rise Hold Time 125 -150 5TcPc [1,5) [ 1) [1) 10 11 12 TsTXC(PC) TdTXC(TXD) TdTxCr(TXD) ITxC FALL to TxD Delay ITxC Rise to TxD Delay 13 14 15 TdTXD(TRX) TwRTXh TwRTXI IRTxC High Width IRT xC Low Width 120 120 [6) [6) 16a 16b 17 TcRTX TxRX(DPLL) TcRTXX IRTxC Cycle Time DPLL Cycle Time Crystal Oscillator Period 400 50 100 [6,7) [7,8) [3) 18 19 20 TwTRXh TwTRXI TcTRX ITRxC High Width /TRxC Low Width ITRxC Cycle Time 120 120 400 21 22 TwEXT TwSY IDCD or ICTS Pulse Width ISYNC Pulse Width 120 120 /TxC FALL to PCLK Rise Setup Time Min Max 200 300 N/A N/A 150 150 TxD to /TRxC Delay [1.4) [2.4) [2) [2,5) 140 1000 [6) [6) [6,7) Noles: [1] /RxC is /RTxC or TRxC, whichever is supplying the receive clock. [2] /TxC is {l'RxC or RTxC, whichever is supplying the transmU clock. [3] Both /RTxC and /SYNC have 300 pi capacitors to ground connected to them. [4] Synchronization ol/RxC to PCLK is eliminated in divide by four operation. [5] Parameter applies only to FM encoding/decoding. [6] Parameter applies only for transmitter and receiver; DPLL and baud rate timing requirements are identical to case PCLK requirements [7] The maximum receive or transmit data is 1/4 PCLK [8] Applies to DPLL clock source only Maximum data rate of 1/4 PCLK stili apphes. DPLL clock should have a 50% duty cycle. t Units in nanoseconds (ns) 575 AC CHARACTERISUCS Z85C80 System'Timing ICTSlITRxC Receive IWIIREO , Request IWIIREO Wait /sYNC Output liNT IRTxC Transmit IWI/REO Request 1---<.5i)-----4~ IWIIREO Walt IDTRl/REO Request liNT 14---(8)----t ICTSlITRxC, lOCO /SYNC Input K K ~ liNT 10 Figure 59. System Timing 576 " AC CHARACTERISTICS (Continued) Z85C80 System Timing Min Max Notes t IRxC Rise to /VV//REQ Valid IRxC Rise to Wait Inactive /RxC Rise to ISYNC Valid 8 8 12 14 4 7 [2] [1,2] [2] TdRXC(INT) TdTXC{REQ) TdTXC{W) IRxC Rise to liNT Valid Delay 10 16 /TxC Fall to /VV//REQ /TxC Fall to Wait Inactive 5 5 8 11 TdTXC(DRQ) TdTXC{INT) TdSY{INT) TdEXT{INT) /TxC Fall to IDTR//REQ Valid /TxC Fall to liNT Valid ISYNC to liNT Valid IDCD or ICTS//TRxC to liNT Valid 4 6 2 2 10 6 6 No Symbol Parameter 1 2 3 TdRXC(REQ) TdRXCW) TdRXC(SY) 4 5 6 7 8 9 10 7 [1,2] [3] [1,3] [3] [1,3] [1] [1] Noles: [1] Open-drain output measured with open-drain test load. [2] /RxC is /RTxC or /CTS//TRxC, whichever is supplying the receive clock. [3] /TxC is /CTS//TRxC or RTxC, whichever is supplYing the transmit clock. t Units equal to TcPC 577 AC CHARACTERISTICS Z85C80 Additional Timing 'H:1rr-----w .--- - PCLK 2 ~ AlIB,OI/C ~ ISCCCS IRO ~ ~ " -®----- ~ - ~ ) Active lk Valid @- H ~f-® b '27> -@- "'" ) J IWR b 07-00 Write @-I/WI/REO Watt +-----@ /WI/REO 10TRl/REO Request -I-@ ~ f----- \ .J3'lI '= J Request =4-@- f----- ) "'" ""''= liNT 37 Figure 60. ReadIWrite Timing 578 ~ l( ®-Ll' '""- ~ @I- i"-" ~ '2'" ~ ~ ~ ~K-J --..@ -66l----o ~ .... K -~ 07-00 Read ~ ~-. -- ' ~, 8-BIt ' I Static RAM' 4 KbltsX8 Ethernet DrIVers ~ 16-Blt 16-Blt CPUZSOO2 Microcontroller ~ ~ Direct Memory Access Direct Memory Access 16-Bit Bus ~ ~ Direct Memory Access ~ Direct Memory Access 2...... Communications Controller (USC Z16C30) - 8- or 16-Blt Dual-Port RAM (System FIFO) ~ ~ ~ 8- or 16-Blt I 8-BIt I Dip Switches General 1/0 (Test, LED, LCD) Receive Driver Channel A Conn~or Transmit Driver r- Receive Driver I-Connector I Transmit Driver I-Channel B Main Bus Connector Figure 1. Dual-Channel Communications 'Board for an tBM 80386 PC consists of four main sections: The communications controller (a Z16C30 Universal Serial Controller), an interface to the PC's bus, buffer memory, and two communications channels. In this application, Channel A drives an Ethernet Interface and Channel BI drives a laser printer through an RS-232 pon. 592 To Other C~annel Receive DMA Control Receive Data I I I !!l .. m Receive' FIFO (32 byte) I I 10 a 'iii r- ...£ :;; ~ a Interrupt Control ~ '5 m CPU ~ I ~ r-- H ~ L.....- Channel Conttol I ~ Transmit FIFO ,(32 byte) Receiver I ~ J VOAnd Device Status L t-- ~ Clock MUX 1...1. DPLL 2. Counters 3. BRGO 4. BRG1 . Receivel Transmit Clocks Transmitter I . ~ - Transmit DMAControl TransmitData Figure 2. At The Heart of the dual-channel communications board is the Z16C30 Universal Serial Controller chip, which supports 10 different protocols and eight encoding formats. In the upper portion ofthe diagram, serial data from the receiver is placed In a 32-byte FIFO buffer prior to being placed onto the 16-bit internal bus under DMA control. Similarly, data to be transmitted from the bus is placed in the FIFO transmit buffer and then sent in serial form by the transmitter. The software is arranged to have the CPU execute from the ROM (minimum of 8K bytes) by first checking the two different protocol settings in the DIP switches which have been set for these particular protocols (Ethernet and RS232). The protocol initialization procedures are then executed from ROM. The Dual Port RAM (or System FIFO) buffers the syscom transactions with the IBM 386 PC host system via the Main Bus connector. The size (byte depth) qesign of the Dual Port RAM (hereinafter referred to as DPR) depends on the difference in speeds between the host and syscom. The greater the speed difference, the larger the byte buffering needed. In this case, 32 each of transmit and receive buffering are enough to handle the 80386's 12 MHz speed. One of the main features of a global system network arrangement is the varying amount of host/slave (source! target) dissimilar nodes (IBM PCs or their clones, MACs, Work Stations, printers, modems, terminals, etc) communicating with each other. Based on design complexity (state of the art speed, distance between nodes, data crunching needs, etc.), the systems' communication board(s) can carry 4,8, 16, or even 32 channels ... AND with differing protocols and formats all working simultaneously. As the number of channels increases, the speed and bandwidth of the serial controller plays an increasingly important role in helping the syscom's CPU by reducing bus impact which translates to keeping data throughput from being derated. 593 TWO CHANNEL COMMUNICATIONS OPERATION The following example'demonstrates and illustrates a two channel design for data throughput events. This hypothetical example uses an IBM 386 PC as the host system which is communicating over a network to a slave Work Station via syscom 'and an IEEE 802.3 Ethernet protocol (via channel A) using a synchronous serial port. At the same time, the host is multitasking by se(lding data through the syscom (via channel B) to an RS232 asynchronous port to a laser printer (Figure 3). The syscom board is the interfacing link for control and data movement between the host and slaves. Before starting the dynamic interchange of data, all initialization procedures of the syscom are accomplished. These. include Power-On reset, reading the setting of the DIP switches for the 802.3 Bhernet protocol, and writing to the USC's Clock Mode Control Register to select a clock source for the receiver and transmitter. While the host performs its normal application functions, the syscom remains in an open mode waiting for either the network device or the host to request its services. In this example, the IBM 386 PC becomes the host by requesting data from the Work Station. At the same time it's sending data to the laser printer. The first part of the scenario begins with the Work Station (slave) responding to the host's request. The second part explains how the host sends data to the laser printer while simultaneously receiving data from the Work Station (throughout this article reference Figure 1 and the timing diagrams in Figure 3 ~nd 4). 594 Part"1. Channel A After initialization procedures, which included the host having control and requesting data from the Work Station, the scenario begins with channel A receiving serial data from the network. When the network has a message from the Work Station, the network alerts the syscom CPU that it has data for the target host. The syscom CPU alerts the host. that a message is coming frolT) the network and then acknowledges the request from the network (Figure 4). The network begins to send the IEEE 802.3 raw data (ones and zeros) from the target system. Ethernet ReceivefTransmit Driver Interface The 802.3 mode implements the data format with a 16-bit address compare. In this mode, DCD (Data Carrier Detect) and CTS (Clear To Send) implement the carrier sense and collision detect interactions with the receiver and transmitter. Figure 3 shows this hardware interface and related timing. Bit combination 1001 selects Ethernet 802.3 mode via the channel mode register where each message is preceded by a preamble (protocol) and a start bit of one and is terminated with CRC (Cyclic Redundancy CheCk), withoui any trailing delimiter. To meetthe 802.3 standard, biphaseliwel (BIPHASE-L) data encoding must be programmed in the Transmit Mode Register(TMR). An idle line condition of mark or space, selected in the TCSR, will allow external logic to terminate the transmit signal due to the absence of mid-bittransition. In this mode, the CTS input is then used to signal a collision detect to the CPU and disable the transmitter. a --~--- ----- IlPBKlWDTD Communications Controller (USC Z16C30) X1 N.C. +5 Mode 1 S.8K Ethernet Driver (SEEQ) 8023 - DI-A Rx+ X2 DI-B AxReceive and Transmit Clock (/RxC) AxC Receive Data (RxD) 'AxD Clear to Send (/CTS) 20.2 ±1% Tx+ CSN Data Carrier DO-A 243 ±1% DO-B Tx- To Connectors and Cable COll Detect (lOCO) Transmit Complete (lTxC) TxC TransmH Data (TxD) TxD CI-A COll+ COll- TxEN Mode 2 20.2 ±1% +5 (a) Transmit Clock (USC) Transmission: Transmit Clock (SEEQ) sample Transmit Enable _ _ _ _ _ _ _ _ _ _ _ _ _ _...... Note: /Transmit clock Pin of USC Is Programmed to be used as a SIgnal to Flag the End olTransmlL (b) Figure 3. The Ethernet Interface consists of an ethernet driver, which connects to the communications controller through clock and data lines (a). All that's required to change to another communications protocol Is replacing the receive and transmit drivers, connectors,. and cable. Transfer of Ethernet data to the driver is controlled by the communications controller (b). Serial data on the TxO pin is sent on the falling edge of the TxC. 595 ICS \ X. .____ A lIB, OIlC .1 ISITACK lAS / ~"'_ _ _ -J Read I/Write IRO or IDS -'X,,_. . .__ Address _ _ _ _ ...I Figure 4. The USCIEthernet Interface handles reading and writing of data through the two serial channels. Here, after the controller acknowledges a network request, raw IEEE 802.3 data is read from an Ethernet serial link. Biphase Encoding The USC can be programmed to encode and decode the serial data in any of the following seven ways; NRZ, NRZIM, NRZI-S. BIPHASE-M. BIPHASE-S. BIPHASE-L. and DIFFERENTIAL BIPHASE-L. The transmitter encoding (TMR) method is selected independently of the receiver , encoding method (RMR). The DPLL (Data Phase-Locked Loop) is used to decode the receiving di:l!a DPLL. Each channel in the USC contains a Digital PhaseLocked Loop to recover clock information from a data stream with NRZI or Biphase encoding. The DPLL is driven by a clock that is nominally 8. 16. or 32 times the receive data rate. The DPLL uses this clock. along the data stream, to construct a clock for the data. This clock is then routed to the receiver. transmitter. or both. or to a pin for external use. In all modes. the DPLL counts the input clock to create nominal bit times. 596 As the clock is counted. the DPLL monitors the incoming data stream for transitions. Whenever a transition is detected. the DPLL makes a counter adjustment (during the next counting cycle). to produce an output clock which tracks the incoming bit cells. The DPLL provides properly phased transmit and receive clocks to the clock multiplexer. Now. the data is examined by the USC for the Ethernet protocol preamble of binary bit stream 0101 ... 01011. Any other combination is not recognized. Once recognized. the preamble is stripped off and the USC looks for a 16-bit address which is matched against a preprogrammed address in the USC. When matched. the USC proceeds to accept the rest of the data (If no match. data is not recognized). The first word of the address is stripped off and the following data is stored in the USC's 32 byte receive FIFO buffers. As the data shifts through the Receive Shift Register, the USC code watches for specific bit patterns, counts bits, and at the appropriate time, transfers data to the receive FIFO. Also, the microcode checks status and generates status interrupts when appropriate. USC Receiver The receiver performs all of the functions necessary to convert serial data back to parallel for the processor. Serial data on the RxD is sampled on the rising edge of the /RxC (receive clQck) pin for all formats and encoding modes, except for Biphase encoding modes where both )RxC edges are used for data sampling. The serial data is received with the LSB (Least Significant Bit) first. The data, however, can be stored in LSB or MSB first format in the output FIFO's (LSB after reset). It is controlled by the CCAR D15-11. In addition, the serial receiver can read the serial data as words and put the byte first received in bits 15-8 of the word and the byte which followed to occupy bits 7-0 of the same word (default setting after reset). This order can be swapped, and both arrangements are controlled by the CCAR D15-11. Error and status conditions are carried with the. data in the receive (and transmit) FIFOs to greatly reduce the syscom CPU overhead required to receive (or send) a message. Specific, appropriately timed interrupts are available to signal such conditions as overrun, parity error, framing error, end-of-frame, idle-line-received, sync acquired, transmit underrun, and others. Such internal signals as receive FIFO load, received sync, transmit FIFO read and transmission complete, can be sent to pins for use by external circuitry. Interrupts The Master Interrupt Enable (MIE) bit in the ICR D15 globally enables or disables interrupts within a channel. When the USC responds to an interrupt acknowledge from the CPU, an interrupt vector is placed on the data bus, The vector is held in the Interrupt Vector Register (IVR). To speed interrupt response time, the USC can modify three bits in this vector to indicate which type of interrupt is being requested (IVR). These three bits are maskable by the vector and includes the Status Level Control Field (ICR). Each of the six sources of interrupts in each USC channel (Receive Status, Receive Data, Transmit Status, Transmit Data, I/O Status and Device Status) has three bits associated with the interrupt source: Interrupt Pending (IP). Interrupt Under Service (IUS) and Interrupt Enable (IE). If the IE bit for a given source is set. then that source can request interrupts. Note that individua.1 sources within the six groups also have interrupt enable bits which must be set (ICR D7-0). Even though the IE bits can be reset. it will not affect the IP bit being set by the interrupt condition. The other two bits are related to the interrupt priority chain. A channel in the USC may request an interrupt only when no higher priority interrupt source is requesting one, e.g., when lEI is High for the channel. In this case, the channel activates the /INT signal. The CPU then responds with an interrupt acknowledge cycle and the interrupting channel. places a vector on the data bus. DMAControl At the trigger point of the USC Receive FIFO buffers (preprogrammed anywhere from 1 to 32 bytes), a DMA request is generated. The DMA controller then requests, through a standard requesVacknowledge protocol, the syscom CPU for the 16-bit bus. Once recognized, the DMA controller begins sending data to the StatiC RAM or the DPR (system FIFO) in "Flyby Transfer" mode (all 32 bytes sent in one burst). Interrupt Acknowledge Handshake USC interrupts occur asynchronously, and to allow time for the internal prioritization. of interrupts during an interrupt acknowledge, the USC responds to the interrupt acknowledge with the /IVACK signal when this prioritization is complete. Two differentlypes of response on /IVACK are available, selected by bit one in the BCR. When this bit is reset toO, the /IVACK signal operates as a/READY signal. When it is set to 1, the /IVACK acts as a /WAIT signal. The DMA activates the RxACK signal for the Flyby mode. If the SRAM is full, data can go directly to the DPR. If Flyby mode is not required, normal flow-through transfers can be used. Syscom CPU/Host Handshake After the syscom CPU acknowledges (and releases) the DMA request for the 16-bit bus, the CPU then requests the host to receive data. When the host receives the request. it sends interrupt acknowledgement back to the CPU and enables its own bus and memory for data reception. During this time, the syscom SRAM has been loading the DPR, which when enabled, transfers data to the host memory. This chain of events continues uninterrupted (except for Non-Maskable Interrupts) until the Work Station has completed its message to the host. When the host receives the postamble data decoded by the USC, to produce the terminate transmission signal, the host acknowledges the termination and frees the syscom CPU. Practically, this puts channel A on the syscom board back to an idle mode for any new receive/transmit messages. 597 USC Bus Interface The USC is unique in that the bus interface for the device provides the resources necessary to interface the USC to virtually any type of bus. The USC directly supports either a 16-bit bus or an 8-bit bus, but may be easily connected to a 32-bit bus as well. The control signals provided allow connection to either multiplexed address/data type bus or to a separate (non-multiplexed) address and data type bus. Interrupt acknowledge is signaled either throutjh a status line br via a dedicated interrupt acknowledge strobe signal. In addition, fly-by DMA transfers are supported"for both receive and transmit. Multiplexed Transactions. During a read transaction the /DS (or IRD) Signal, along with R//W selecting a read,' strobes the data out of the USC. The register address is latched by the riSing edge of the lAS signal, along with an active ICS (Chip Select) and an inactive /SITACK (Status Interrupt Acknowledge) signal. It is important to note that the USC does not have a clock input The USC "looks" like a memory rather than a traditional peripheral device. All bus timing information is carried in the control signals for the bus and interrupt. DMA requests are generated asynchronously. There are three different Signals available to strobe (read) multiplexed interrupt acknowledge ,vector transactions from the USC. Signals /DS or /RD read the vector' from the USC and set the 'IUS (Interrupt under Service) bit in the interrupt section. The third Signal, IPITACK (dedicated interrupt acknowledge strobe), performs this same function. The kind of interrupt acknowledge function needed determines which one of the three strobes'are used. a Multiplexed Case, The multiplexed address/data bus carry 16-bit addresses and data to and from the USC (16-bit case). The addresses on AD7-0 are latched into the USC on the rising edge of the /AS signal along with chip select and the Interrupt Acknowledge, status on th~ /SITACK signal. Because the register address is latched on every bus transaction, all of th~ registers in the USC are directly accessible. This bus interface provides the hig,hest bus bandwidth capability for the USC. Ttw 8-bit multiplexed bus is the same as the 16-bit bus except that AD7-0 carry addresses to the USC and 8-bit data to and frolT) the USC (AD 15-8 is not used). Fly-by data ' transfers are 8-bits in this case. Non-Multiplexed Case. AD15-0 carry 16-bit data to and from the USC. Orily the receive and transmit data registers and the Channel Command/Address Register (CCAR) are directly accessible, with all other registers being accessed by first writing a register address to the CCAR and then accessing the desired register. This bus interface provides the same high bUll bandwidth as the multiplexed 16-bit bus when accessing either the transmit or receive data registers. These registers are still accessed directly in this case using the D/C signal, or via fly-by DMA transfers using ITXACK or IRXACK. The non-multiplexed 8-bit case enables AD7-0 to carry 8-bit data to and from the USC with AD15-8 unused. The rest of the explanation is the same as in the 16-bit case except that fly-by DMA transfers are 8-bits. USC Bus Transactions The following multiplexed and non-multiplexed bus' transactions are described in a general· sense without referring to 8- or 16-bit address/data size. 598 During a write transaction the IDS (or /WR), along with the R//W selecting a write, strobes the data into the USC. The register address is latched by the rising edge of the lAS signal, along with an active ICS and an inactive ISITACK signal. , Non-Multiplexed Transactions. During a non-multiplexed read transaction, the IDS (or IRD) signal, along with R//W selecting a read, strobes the data out of the USC. The leading edge of the strobe Signal latches both an active ICS and an inactive ISITACK signal. During a non-multiplexed write transaction, the IDS (or IWR) signal, along with R//Wselecting a write, strobes the data into the USC. The leading edge of the strobe signal latches both an active ICS and an inactive lSI TACK signal. In both the multiplexed and non-multiplexed cases of DMA fly-by transactions of reads and writes, the ICS and ISITACK signals are inactive. Prior to this transmission example, when the host had requested the message from the Work Station, the exact reverse chain of events took place. The host had established the handshake with the syscom CPU, which in turn requested the DMA controllers. the DMA controllers then requested the USC, which enabled its Transmit FIFO buffers and the data was received and encoded by the USC into the 802.3 protocol and sent out (transmit) to the Work Station via the Ethernet. USC Transmitter. The transmitter performs all of the necessary functions to convert parallel data from the processor into the appropriate serial bit stream (Figure 3b)" Serial data on the TxD pin is sent on the falling edge of the IT xC (transmit clock) pin for all formats and encoding modes except for Biphase encoding mode where both ITxC edges are used for data transmission. The serial data is transmitted with the LSB first. The data, however, can be stored in LSB or MSB first format in the input FIFO's (LSB after reset). It is controlled by the CCAR 015-11. Also, the transmitter can be programmed to shift bits 15-8 of a word first (after reset), followed by byte 7-0 of the same word, or vice versa. This function is controlled by the CCAR 015-11. Now, let's look at what channel B was doing during channel A's flowthrough or Flyby. PART II. Channel B status interrupts have four individually enabled sources; receive character count FIFO overflow, DPLL (Digitally Phased Locked Loop) sync acquired, plus BRG! and BRG2 zero count. Transmission Preparation Two other areas of data manipulation by the USC, needed to prepare for network transmission, are parallel 'to serial conversion and encoding the data for asynchronous transmission. The multitasking host required laser printing while it was When the data is ready, the USC sends it to the channel B communicating with the Work Station. Whenever the host . transmit driver which is set for RS232 asynchronous mode. is ready to send the message to be printed, it interrupts the The RS232 has the proper voltage levels and transmits the serial data onto the network. The laser printer queue's the syscom CPU. The syscom CPU acknowledges the interdata in its buffers. If the printer buffers are full, an error rupt and enables the DPR receive buffer latches. The host message is sent back to the USC. The USC can either 'loads the DPR via the main bus connector. When the DPR periodically continue to send the data or wait for a buffer's is full (or when the host sends a finished message signal) and the USC is ready, the CPU enables the DPR data out empty Signal from the printer. latches and the message is put onto the IS-bit bus in either The USC's Programming Particulars byte or word format. The registers in each USC channel must be programmed Now, the DMA controller accepts the data and enables the by the syscom CPU to configure the channels. Before this happens, syscom program's the bus interface by writing to USC transmit FIFO buffers to store up to 32 bytes. The FIFO the Bus Configuration Register (BCR) shown in Figure 5. byte level is programmed into the Transmit Interrupt Control Each channel is controlled by a set of thirty IS-bit registers Register (TICR) which generates a DMA request whenever which are almost all readable and writable. The BCR is the the level drops below this predetermined mark. The USC then performs the necessary functions of preparing the IS-bit register in the bus interface which configures the data to be transmitted out channel B to the network. The type of bus interface. It has no specific address and is only accessible immediately after a hardware reset of the preparations include transmit status interrupts, 1/0 status device. interrupts (which are independent of the programmed functions), and the device status interrupts. The device Address: None Shift Right Addresses Double Pulse INTACK 16-Blt Bus 0* Reserved 3-State All Pins Separate Address for 8-Bit Bus * Must be programmed as O. Figure 5. Bus Configuration Register (BeR) 599 Register Access Non-Multiplexed Bus USC registers (Table 1) are accessed explicitly, directly, or indirectly, depending on the bus type and the specific control signals used. In all cases, the BINI signal selects between a byte access (BINI high) and a word access (BINI low). When an 8-bit bus is selected, the BINI signal is always forced to a 1, selecting a byte access. The UI/L signal chooses between the upper byte (UI/L high) and the lower byte (UI/L low) in the case of a byte access. UI/L is always low for a word access. In the non-multiplexed bus case, the registers in each channel are accessed indirectly using the address pOinter in the Channel Command/Address Register (CCAR) of each channel. The address of the desired register is first written to the CCAR and then. the selected register is accessed; the pointer in the CCAR is automatically cleared after this access. The RDR and TDR are still accessed directly using the D/C pin, without disturbing the contents of the pointer in the CCAR. Only three registers in the USC have explicit addressing; Polling 1 hese are the BCR, for the first write after a hardware reset; the RDR, either via a read with the DIIC signal high, or by Polling is a software method of avoiding interrupts and is the simplest mode to implement. In this mode, the software must poll the USC to determine when data is to be written or read to or from the USC. All interrupts have to be disabled (lCR D15). The registers in the USC are automatically updated to reflect current status. The CPU polls the Daisy-Chain Control Register (DCCR) to determine status changes and then reads the appropriate status register to find and respond to the change in status. USC status bits are grouped according to function to simplify this software action. ,a fly-by DMA read; and the TDR, either by a write with the DI/C signal high, or by a fly-by DMA write: In the non-multiplexed bus case, only the CCAR is accessed directly, while in the multiplexed bus case all USC registers are accessed directly. Further, when a separate address bus is, used, all registers are directly addressed. The first write to the USC, after a hardware reset, programs the BCR. After that, the normal channel registers are accessed. MuHiplexed Bus J In the multiplexed bus case, all registers are directly addressable, via the address latched by the Address Strobe (AS) at the beginning of a bus transaction. The address is decoded from either AD6-ADO (Shift Right) or AD7-AD1 (Shift Left). This is controlled by the Shift RighV Shift Left bit in the BCR. The D/C pin is still used to directly access the receive and transmit data registers (RDR and TOR) in the multiplexed bus; if D/C is High, the address latched by AS is ignored and an access of RDR orTDR is performed. Multiplexing data and address onto the same lines makes more efficient use of pins and facilitates expanSion of the number of data and address bits. Multiplexing also allows straight-forward addressing of a peripheral's internal registers, which greatly Simplifies I/O programming. 600 Two Important Points There are two important points to note about the USC. First, the Channel Reset bit in the CCAR places the channel in the reset state. To exit this reset state, either a word or all zeros is written to the CCAR (16-bit bus) or a byte of all zeros is written to the lower byte of the CCAR (8-bit). Secondly, after reset, the transmit and receive clocks are not connected. Therefore, upon initialization, a write to the Clock Mode Control Register (CMCR) establishes a clock source for the receiver and transmitter. Register addresses are shown in Table 1 and the bit assignments for the registers are shown in Figure 6. Reset Any Transaction Up To and Including BCRWrite No lAS ! At least One lAS NonMultiplexed Bus BCR Write Transaction Multiplexed Bus I BCR[2)-O BCR(15)=1 + 8-BitWlth Separate Address . BCR[2)-O BCR(15)=O I BCR[2]-1 BCR[2)-O BCR(15)-1 J 8-BIt Without Separate Address 16-Bit + 8-BItWlth Separate Address BCR[2)-O BCR(15)-O S-Brt Without Separate Address BCR[2)-1 + 16-BIt Note: The presence of one transaction wkh an lAS active, between reset up to and Including the BCR write, chooses a multiplexed type of bus. Figure 6. BeR Reset Sequence and Bft Assignments Table 1. Register Address List Address Address A4-A0 A4-A0 10010 10011 10100 10101 RCSR RICR RSR RClR Receive Receive Receive Receive Test Mode Data Register Test Mode Control Register Clock Mode Control Register Hardware Configuration Register 10110 10111 1XOOO 11001 RCCR TCOR TDR TMR Recieve Character Count Register Time Constant 0 Register Transmit Data Register (Write Only) Transmit Mode Register IVR IOCR ICR DCCR Interrupt Vector Register I/O Control Register Interrupt Control Register Daisy-Chain Control Register 11010 11011 11100 11101 TCSR TICR TSR .TClR Transmit Command/Status Register Transmit Interrupt Control Register Transmit Sync Register Transmit Count Limit Register MISR SICR RDR RMR Mise Interrupt Status Register Status Interrupt Control Register Receive Data Register (Read Only) Receive Mode Register 11110 11111 TCCR TC1R Transmit Character Count Register Time Constant 1 Register XXXXX BCR Bus Configuration Register 00000 00001 00010 00011 CCAR CMR CCSR CCR Channel Channel Channel Channel 00110 00111 01000 01001 TMDR TMCR CMCR HCR 01010 01011 01100 01101 01110 01111 1XOOO 10001 Command/Address Register Mode Register Command/Status Register Control Register Command/Status Register Interrupt Control Register Sync Register Count Limit Register 601' 602 ~ZiIm ApPLICATION NOTE USING THE Z16C30 UNIVERSAL SERIAL CONTROLLER WITH MIL-STD-1553B INTRODUCTION Zilog's Z16C30 Universal Serial Controller (USC) is a dualchannel multi-protocol data communications peripheral that supports virtually any serial data transfer application. However. because the USC is so flexible. it may be confusing to a user interested in a particular application of the device. This Application Note will describe the use of the USC in a MIL-STO-15538 environment. MIL-STD-15538 MIL-STD-15538 defines a serial data bus that was originally intended for use in aircraft. However. several attributes of 1553B make it suitable for not only other military systems. but industrial and process-control environments as well. Chief among these attributes is employment of a command! response protocol This guarantees a response within a certain amount of time. Other attractive attributes include high noise immunity and provision for redundant buses Messages on the bus must be acknowledged within a fixed amount of time which is an attractive feature of 1553B. A typical sequence could be: First. the Be sends a command word. which contains the destination address and a byte count of the .data words to follow; then it sends the data words. The RT responds with a status word showing proper receipt of the data. within a fixed amount of time. Devices attached to a 1553B, bus can operate as either a Bus Controller (BC). a Remote Terminal (RT)or Bus Monitor (BM). Both the BC and RT are capable of receiving a'nd transmitting on the bus. while the BM is a receive-only device Allowed transfers on the bus are BC-to-RT. RT-toRT. RT -to-Be and broadcast. All transfers on the bus occur at the request of the current bus controller. even though the Be may not be the source or destination of the data (as in an RT-to-RT transfer). The 1553B. uses a unique word format (Figure 1). Each word on the bus is 20 bits long. The first three bits are synchronization bits. which also identify the word as either command. status. or data. The next 16 bits carry the actual information. followed by a parity bit in bit position 20. Because 1553B uses Manchester encoding. shown in Figure 2. the sync patterns are unique and easily identifiable by a receiver Both the receiver and the transmitter in the use explicitly support this' word format and data encoding. The standard allows either a single bus controller or multiple bus controllers. although only one may be active at anyone time. Control transfer from one bus controller to another is done either by polling. where the current bus controller polls other potential bus controllers before transferring mastership. or in a round-robin fashion. Roundrobin means bus mastership passes from BC to BC in a predetermined fashion after a fixed amount of time. Note: All Signals with a preceding front slash, "/", are active Low, e.g.: BIIW (WORD is active Low); (BIW (BYTE is active Low, only); INIIS (NORMAL and SYSTEM are both active Low). 603 P P P Parity Terminll' Status Bus A Shutdown Data C~nt Bus B Shutdown Word 16 Dedicated Function Received 15 Broadcasrt Function Received 14 Addressing Error 13 Response Error SubAddressf Mode 12 Data Quantity 11 Data Data Quality 10 Instrumentation 9 TIR Instrumentation Terminal Address Terminal Address 8 7 6 5 Sync Command Word Data Word Status Word Figure 1. Message Fonnats Clock o Data Biphase-L Figure 2. 604 Ma~hester II (Biphase-Level) Data Encoding o .... -- .. ~~~~~----, -~--- ------------- - USC Initialization for 1553B Operation Before the USC can be initialized. it is properly connected to the remainder of the system and the bus interface programmed appropriately. While this Application Note does not cover the' hardware interfacing aspects of the USC. it is easily interfaced to either multiplexed or nonmultiplexed 8-bit, 16-bit or 32-bit systems. This, document assumes a multiplexed 16-bit interface. After hardware reset. the USC watches the bus interface to determine whether it is multiplexed or non-multiplexed. A multiplexed bus interface is selected when an Address Strobe (lAS) is detected. After a hardware reset. the first write to the USC accesses the Bus Configuration Register (BCR) to select the bus width. addressing method. and Wait or Ready function. This is the only time that the BCR may be accessed. and once the BOR is programmed the remainder of the USC may be configured. Both hardware reset and software reset clear all of the registers in the USC. One byproduct of this is that the clocks are disconnected from both, the receiver and transmitter. so the first thing that should be programmed is the clock sources in the Clock Mode Control Register (CMCR). The CMCR should be programmed (Figure 3). with the RxC pin feeding CTR1 and the DPLL. which in turn feed the transmitter and the receiver. respectively. All unused functional blocks (CTRO. BRGO and BRG1) are either disabled or programmed with static clock sources to minimize power dissipation. o 15 I • L..._ _ _ _ _ _ _ Receive Clock Source DPLL Output Transmit Clock Source CTR10utput DPLL Clock Source RxCPin SRGO Clock Source CTROOutput BRG1 CloCk Source CTROOutput CTRO Clock Source Disabled CTR1 Clock Source RxCPin Figure 3. Clock MOde Control Register 605 Once the clocks are connected the remainder of the hardware interface should be programmed. this includes the DMA interface, with the /RxREQ, /TxREQ,/RxACK and /TxACK signals, and the /RxC and /TxC pirls. The lower byte of the Hardware Configuration Register (HCR) con- 15 trois the/RxACK and /TxACK signals, while the I/O Control Register (IOCR) controls /RxREQ, /TxREQ, /RxC, /TxC and TxD signals. Both ofthese registers contain bits that are not used in this application; these are programmed with zeros as shown in Figures 4 and 5. o BRGO Enable BRGO Single Cycle/ Continuous RxACK Pin Control Rx Acknowledge Input BRG1 Enable BRG1 Single Cycle/ Continuous TxACK Pin Control Tx Acknowledge Input DPLL Mode Biphase-Level DPLL Clock Rate /8x Clock Mode . Accept Code Violations CTR1 Rate Match DPLUCTRO CTRO Clock Rate 8x Clock Mode Figure 4. Hardware Configuration 'Register 606 o 15 RxC· Pin Control' Input Pin L -_ _ _ _ _ _ _ TxC· Pin Control Tx· Complete Output TxO Pin Control Tx Oata Output RxREO· Pin Control Tic Request Output TxREO· Pin Control Tx Request Output OCO· Pin Control DCO·lnput CTS· Pin Control CTS·lnput Figure 5. 110 Conlrol Register Figure 5 also showsthat the upper byte ofthe HCR controls. the DPLL. In this example the DPLL and CTR1 will both operate in 8X mode, requiring an 8.000MHz clock to be supplied to the jRxC pin. This gives the required 1.000 MHz 1553B data rate. The DPLL is configured to operate in Biphase-Level mode, with the Accept Code Violations option enabled because of the code violations inherent in the 1553B sync patterns. Design considerations for the DPLL are discussed in a later section. Once the clocks are configured, the receiver and transmitter may be programmed, but not enabled. First, the Receive Mode Register (RMR) and Transmit Mode Register (TMR) should be written as shown in Figures 6 and 7, respectively. These registers control data encoding, parity, and character length. Note that a character length of 8 bits is selected; this will be extended to 16 bits by a control bit in the Channel Mode Register (CMR) - Figure 8. Tile CMR is where the receiver and transmitter modes are actually selected. Note that the 15538 sync polarity for transmit' is controlled by bit 12 of the CMR (the CV Polarity bit). The state of this bit is FIFO'ed with the data by the transmitter and may be automatically loaded with the data as part of the transmit status block. This is explained later when the transmitter operation is covered in more detail. 007 15 0 11 11 10 I 0 101 -r-- 0 10 I 0 10 10 11 10 10 10 1~ 10 1 -- ~ I Rx Enable Disable Immediately Rx CI1ar length 8 Bits Rx Parity Enable Rx Parity Sense Even Reserved Rx CRC Enable Rx CRC Preset Value Rx CRC Polynomial CRC-CCITI Rx Data Decoding Biphase-Level Figure 6. Receive Mode Register o 15 -- -- ~ I Tx Enable Disable Immediately Tx Char length 8 Bits Tx Parity Enable I Tx Parity Sense Even Tx CRC On EOF/EOM . Tx CRC Enable Tx CRC Preset Value Tx CRC Polynomial CRC-CCITI Tx Data Encoding Biphase-Level Figure 7. Transmit Mode Register 608 o 15 111011101010111110101011101011111 ' IL-________ L.- - - - Receiver Mode Async with CV Rx Extended Word L-_________ L-___________ L-____________. Unused Unused Unused L-_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Transmitter Mode Async with CV L-_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ CV Polarity Tx Extended Word ' - - - - - - - - - - - - - - - - - - - - - - - - - Tx Stop Bits No Stop Bits Figure 8. Channel Mode Register 15 0 101010101010101010101010111111101 ~ TCOR Read Count rrc Rx Overrun IE Parity Error IE Status on Words Rx CV IEOT IEOF IE Rx Break IAbort IE Rx Idle IE ,Existed Hunt IE Rx FIFO Control and Status (Fill /Interrupt IDMA Level) Figure 9. Receive Interrupt Control Register 609 At this pOintthe interrupt and DMA details are programmed. Data transfer via DMA is assumed in this document, but some interrupts are still enabled for error conditions. In the receiver, Parity Error and Overrun Error status interrupts are enabled to collect receive errors on a word-by-word basis. In the transmitter, no status interrupts are enabled and the Wait For Send Command option is not enabled: This means that the DMA controls the data flow, as the USC is always requesting data to fill the transmit FIFO. 15 Alternatively, with Wait For Send Command enableq, the CPU controls the data flow since the USC only requests data after this command is issued and until a word marked as EOF is written tothe FIFO. The Transmit Interrupt Control Register selects thes~ options (Figure 10). The transmitter automatically idles with continuous ones, but because of the Biphase-Level data encoding it is preferred to have the transmitter idle with a marking line. This is controlled by bits in the Transmit Command/Status Register (Figure 11): o 101010101010101010101010101010101 ~ TC1 fl Re,ad Count rrc Tx Underrun IE Wait for Sent Command Tx CRC Sent IE Tx EOF IEOT Sent IE Tx Abort Sent IE Tx Idle Sent IE Tx Preamble Sent IE Tx FIFO Control and Status (Fillllnterrupt IDMA Level) Figure 10. Transmit Interrupt Control Register 15 0 101010101011111110101010101010101 ~ TX Buffer Empty (RO) Tx Underrun All Sent (RO) TxCRC Sent Tx EOF IEeT Sent Tx Abort Sent Tx Idle Sent Tx Preamble Sent Tx Idle Line Condition Mark Reserved Transmit Command (WO) Null Command Figure 11. Transmit Command/Stlltus Register 610 The only remaining task is to write the Interrupt Vector Register with the interrupt vector and enable the interrupts, the receiver and the transmitter. Interrupts are enabled in the Interrupt Control Register (ICR) shown in Figure 12. Note that both the individual Interrupt Enable (IE) and the Master Interrupt Enable (MIE) bits must be set. In this example the Vector Includes Status (VIS) option will not be enabled because only receive status interrupts are enabled. The receiver is enabled by setting bit1 in the RMR and the transmitter is enabled by setting bit 1 in the TMR. The lOCO and ICTS pins may be used as enables for the receiver and transmitter respectively, by setting bit 0 in the RMR orTMR. 15 0 111010101010101011111110101010101 -.-- ~ Device Status IE VOStatus IE Transmit Data IE Transmit t>tatus IE Receive Data IE Receive Status IE IE Command (WO) SeliE Reserved VIS Level All VIS NV DLC MIE Figure 12. Interrupt Control Register 611 The USC provides for both byte and bit shuffling within the receiver and transmitter to allow easy interface to any processor bus. The four options are shown in Table 1, These options are changed by commands in the CCAR as shown in Figure 13. Note that the default (reset) case is straight and LSB firsi. Table 1. CPU Bus to Transmit and Receive Bit Ordering Last Sent/Received (15538 bit 19) First Sent/Received (15538 bit 4) lSB First Straight ADS MSB First Straight AD15 AD14 AD13 AD12 ADll AD10 AD9 lSB First Swapped ADO ADl AD2 AD3 AD4 AD5 MSB First Swapped AD7 AD6 AD5 AD4 AD3 AD2 AD9 AD10 AD11 AD12 AD13 AD14 AD15 ADO 15 ADl AD2 AD3 AD4 AD5 AD6 AlP AD2 ADl ADO ADS AD7 AD6 AD5 AD4 AD3 AD6 AD7 ADS AD9 ADl0 AD11 AD12 AD13 AD14 AD15 ADl ADO AD15 AD14 AD13 AD12 AD11 AD10 AD9 ADS 0 1110111xlxlololololololololololol -- ~ Upper!Lower Byte Select (WO) Address 0 (WO) Address 1 (WO) Address 2 (WO) Address 3 (WO) Address 4 (WO) ByteiWord Access (WO) - DMA Continue (WO) Mode Control Nllrmal opration Channel Reset • Select Upon Reset Channel Command (WO) Select Serial Data LSB First" Select Serial Data MSB First Select Straight Memory Data" Select Swapped Memory Data Figure 13. Channel Command/Addres,S Register 612 Transmitter: Detailed Operation The polarity of the transmitted sync signal is controlled by bit 12 in the CMR. The state of this bit is FIFO'ed along with the data so the full depth of the transmit FIFO is available for buffering. Note that this bit need not be written with every word transmitted; the 'current value is FIFO'ed with the data written to the FIFO. The sync polarity may be written by the CPU, either with or without the DMA transfer of data, or the USC may be configured so that the DMA transfers this information to the USC with the data. With this method, the DMA can either transfer a word at a time or a block with the same sync polarity at a time. The method takes advantage of the send character counter and the transmit status block features of the USC. The send character counter keeps track otbytes written to the transmit FIFO by counting down from a programmed value. This works even when a 16-bit bus is employed. The byte written to the FIFO with a count of zero is marked in the FIFO as the "End-Of-Frame". While this has no meaning in a 1553B protocol, it does tell the logic in the USC to fetch another send status block before asking for any more data. In fact, the DMA request is deactivated until this "last byte" is extracted from the FIFO by the transmitter. This is important because it directly influences bus activity and the availability of the transmit FIFO. If the sync polarity bit is written (in the traQsmit status block) with every word, the transmit FIFO is effectively not available. Thus, the preferred method of operation is to use one transmit status block for sequential words of the same type (command or data) To do this, a two word transmit status block must be selected in the CCR with the send data organized in memory. The first word of the transmit status block contains the sync polarity, and as a byproduct of the design, controls the number of stop bits to be sent. The second word is the byte count of the words to be sent. Further, the transmitter normally idles, sending continuous ones which are encoded. This application has programmed an idle line condition of marking ones. In addition, the rrxc pin is programmed to provide the Transmit Complete signal output. Transmit Complete will be active (High) for those bit times where the transmitter is sending the idle line condition. This allows external logic to create a doubleended signal for transformer drive from the single-ended transmit data output. Receiver: Detailed Operation The polarity of the received sync pattern is reported in bit 8 of the Receive Command/Status register (RCSR). A zero in this bit indicates a data sync, while a one in this bit indicates a command/status sync. The state of this bit is FIFO'ed along with the receive data so the full depth of the receive FIFO is available for buffering. The sync polarity is read by the CPU, either with or without DMA transfer of data, or the USC is'configured so the DMA transfers this information to memory with the data. With this,method, the DMA transfers a word (plus status) at a time. Note that this is necessary to meet the response time restrictions of 1553B. Only a single-word receive status block should be used because the second word is meaningless in this word-oriented protocol. The second byte of each received word is marked as EndOf-Frame in the receive FIFO. As in the transmitter case, this designatipn has no meaning in the 1553B protocol but tells the logiC in the USC to transfer a receive status block to memory. The received data will be organized in memory. Note that because each word is marked in the FIFO as End-Of-Frame, the status for the received word may be read from the·RCSR after the data is read from the FIFO. Thus, when transferring data under CPU control, the data may be read first followed by a read of the RCSR to determine command/status/data as well as parity error information. .. Transmit Data Memory Organization Receive Data Memory Organization 1. Transmit Status Block First Word (Sync Polarity). 2. Transmit Status Block Second Word (Number of bytes to be sent) 3. First Word for Transmission. 4. Second Word for Transmission ••• Note: it is probably best to send status word replies (when acting as an RT) under CPU control because they are so short. 1. 2. 3. 4. First Word Received First Receive Status Block (Sync Polarity). Second Word Received. Second Receive Status Block (Sync Polarity). •• • Timing reqlJirements for the receiver are shown in Figure 14, for both start-up and end of a word. 613 Start-up Command IStatus Data 7 rx::xx:x \ / ~ DC)()()( Clock 2 Bit Times 3 5 4 Termination Data )()(J()()("'"-_________________ Clock Bit Times 19 20 x FIFO Write Figure 14. Receiver Clocking Requirements DPLL: Detailed Operation The Digital Phase Locked Loop (DPLL) in the USC is used to generate a clock for the receiver. As mentioned before, the DPLL must be programmed in Biphase-Level mode, accepting code violations. In this mode, the DPLL generates a clock which is properly phased to sample the receive data. Also, it persists in time long enough to transfer received data to memory (Figure 17). The one case that is not handled well by the DPLL is startup after an idle line. The DPLL assumes that the first edge that it sees when it is in search mode (waiting to sync up) is a valid clock edge. In Biphase-Level the val id clock edge 614 is at the center of the bit cell, but notice that the first edge in the sync pattern is a code violation at the bit-cell boundary. Thus, if the DPLL uses this first edge to sync up, the DPLL output is 90 degr.ees out of phase. The solution is to create, externally, a fake mid-bit change which precedes the sync pattern into the Receiver/DPLL combination. The required waveforms are shown in Figure 15. The desired waveform is created with a simple state machine running off the 8X clock and using the differential receive Signals from the 1553B transceiver. Command /Status ---11 v- _ _ _ _ _ \----~ DPll Clock Out _ __ Data v+ _ _ _ _ _ ---11 v- Data J \~_----JI Clock Figure 15. DPLL Idle Line Stan·up Requirements CONCLUSION The USC provides a cost-effective, single-chip solution for 1553B communication by providing Manchester encoding and decoding, sync pattern recognition and generation, and parity generation and checking. The DMA transfer of both data and status is supported, along with block data transfers and 32-byte FIFOs. The flexible bus interface and both bit and byte shuffling allow connectiOn to any type of system bus. Connection to a Z16COO' is shown In Figure 16. 615 AD15-0 AD15-0 IRESET IRESET lAS IDS IDS RlIW USC IRESET lAS RlIW IRD VDD IWR VDD IPITACK VDD ISITACK lElA VDD Interrupt Ack. Decode Z8000 CPU ST4-0, IEOA IEIB IEOB N.C. IINTA NI IINTB AlIB DIIC VDD IWAITIIRDY IWAIT Chip Select Decode ICS } DMA * CMOS Z8000 family CPU Figure 16. USC to Z8000 CPU Connection (Example) 616 ApPLICATION NOTE ~ZiIm DATACOMMUNICATIONS IUSC/MUSC TIME SLOT ASSIGNER Use the IUSC/MUSC for ISDN and Fractional T1 in High Speed, Time-Multiplexed Datacommunications INTRODUCTION In applications such as ISDN and Fractional T1, a high speed link is time-multiplexed among a set of independent voice and data streams. The IUSC can send and/or receive such a data slream with the aid of its Transmit and Receive Time Slot Assigner logic (TTSA and, RTSA). To use the IUSC in such an application, external logic must determine the start point of (or at least a consistent point in) each cycle during the overall data stream. Then, the external logic signals the IUSC when this point occurs, using a pulse on the PORT6/FSYNC pin that is low for one period of RxCLK and/or TxCLK. This pulse is used by both the Receive and Transmit Time Slot Assigners. Note that if both the Receiver and Transmitter are operating simulta- neously in such an application, the IUSC assumes that they are both operating in (different parts of) the same overall data stream. This means that RxCLK and TxCLK is selected from the same source. Figure 1 shows how the Time Slot Assigners determine when to start receiving and/or transmitting in each cycle. After sens(ng the /FSYNC pulse, the RTSA waits for a number of RxCLK cycles (bit times) that are determined by the values programmed into the RTSASlot and RTSAOff fields in the Receive Interrupt Control Register (RICR). The number of RxCLK cycles (bits) waited is eight times the value in RTSASlot, plus the value, in RTSAOff. n RxCLK or r-\. r-\. TxCLKJ ~ ~ r-----~Sr----------------~SSr--------------- IFSYNC (PORTS) 1st Bit Received or Xmitted xTSAOIf>O xTSASlot=O 1+~(,-xT..SA,-O_II)...:...;;.B;..;itS_~1( 1st Bit Received xTSAOIf= 0 xTSASlol>0 1+_ _ _ _ _ B...;.*(x_T_SA_S_Io-'t):..B_its _ _ _ _ _-IIA !~~~~eived xTSAOIf> 0 xTSASlol>0 1+_(:..XT_SA_OII)-"-B_its_-e_J-------B-*(:..XT-S-A-S-lot..;.)_Bi_ts_ _ _ _ _-I!K. 1st Bit Received RxDor orXmitted TxD orXmitted Figure 1. Stan of Received or Transmitted Data in a TSA Application 617 After blocking RxCLKs to the Receiver for this number of bits (or right after the FSYNC pulse if both fields contain zero), the RTSA allows RxCLK to reach the Receiver forthe number of consecutive bytes/octets/slots programmed into the RTSACntfieid in RICA. That is, it allows 8(RTSACnt) RxCLKs to reach the Receiver (Figure 2). (If the RTSACnt field is zero, the whole RTSA feature is disabled). Now, the RTSA again blocks RxCLKs to the Receiver until after the next pulse on /FSYNC. Note: All Signals with a preceding front slash, "/", are active Low, e.g.: BIIW (WORD is active Low); IBIW (BYTE is active Low, only); INIIS (NORMAL and SYSTEM are both .' active Low). RxCLKor TxClK IFSYNC (Port 6) ~J n Sf 8* (xTSACnt) Bits .. RxOor TxD XmltGate (Port 4) or Received Gate (Port 3) 1sl BR Received or Xmltted $~ \ / t ! n last Bit Received or Xmltted X r J Figure 2. Length of Received or Transmitted Data in a TSA Application The net result of this clock gating is that the IUSC can receive up to 15 consecutive bytes/octets out of each cycle on the serial link, starting at any point within the (first) 128 octets of each cycle. It also allows for possible delays in sensing and signalling the frame sync. In ISDN circles it is common parlance to refer to the 128 octets in each frame as "siots" whi'ch are numbered from through 127. Given this definition of slot number, if the frame sync detection logic allows /FSYNC to be sampled low in the bit time before RxD is sampled for the first bit of the first slot, then RTSAOff is programmed with zero; RTSASlot is programmed with the slot number of the first octetthatis received. Otherwise, call the FSync delay, one, if /FSYNC is sampled low in the same bit time that the first bit of the first slot is available on RxD; two, if /FSYNC is low in the bit time after the first bit appears on RxD; and so on up through the maximum value of seven, i.e., if /FSYNC is low six bit times after the first bit of the first slot appears on RxD. In cases where the first slot cannot be received, program the RTSAOff field with eight minus the FSync delay; program RTSASlot with the slot number of the first octet that is received, minus one. o Figure 1 applies equally to the transmit side. The TTSA blocks TxCLKs to the Transmitter for a number of TxCLK cycles that are determined from the TTSASlot and TTSAOff fields in the Transmit Interrupt Control Register (TICR). 618 After blocking TxCLKs for 8(TTSASlot) + (TTSAOff) bits, the TTSA allows TxCLK to reach the Transmitter for the number of consecutive bytes/octets/slots programmed into the TTSACnt field in the Transmit Interrupt Control Register (TICR). That is, it allows 8(TTSACnt) TxCLKs to reach the Transmitter (Figure 2 - on the receive side, if tile TTSACnt field contains zero, the whole TTSA feature is disabled). The TTSA again blocks TxCLKs to the Transmitter until after the next pulse on /FSYNC. Thus, symmetrically with the receive side, the IUSC transmits up to 15 consecutive bytes/octets/slots in each cycle on the serial link. This occurs while starting at any point within the (first) 128 octets of each cycle, plus allowing for possible delays in sensing and signalling the frame sync. Since the IUSC maintains output drive on TxD throughout each cycle 'on the serial link, an external driver with an enable/disable input is needed to transmit in this kind of time-multiplexed environment. The IUSC provides the required Transmit Gate signal on the PORT 4 pin. This signal goes low while the TTSA is enabling the Transmitter in each frame. There is also a similar facility whereby the RTSA's low-active Receive Gate signal can be output on the PORT 3 pin, but the application of this signal is less obvious. As already noted in the 'section on the PORT pins, these options are enabled by programming the P4 MODE and/ or P3 MODE fields of the Port Control Register (PCR9-8 and/or PCR7 -6, respectively) as 01. PROGRAMMING THE TIME SLOT ASSIGNERS There is an intentional vagueness in the preceding description of the Time Slot Assigner control fields as being "in" the Receive and Transmit Interrupt Control Registers (RICR and TICR). These two registers are somewhat more complex than other IUSC registers- this section describes how to access the TSA fields. The other options are discussed in subsequent chapters; for our purposes it is sufficient to note that TSA data is read and written as x1CR15-8, if the 0100 command has been written to xSCR15-12 more recently than 0101, 0110, or 0111. The IUSC resets to read the Current FIFO level in both the RICR and TICR. The less-significant byte (bits 7-0) of both the RICR and TlCR contains fixed data, but any of five different intemal registers can be selected as the more-significant byte of each register (Figure 3). At the first level of data structure, the contents of RICR 15-8 are selected by means of four Of the commands that are written to the RCMD field of the Receive Command/Status Register (RCSR15-12); the contents of TICR 15-8 are selected by four of the commands written to the TCMD field of the Transmit Command/Status Register (TCSR 15-12). The encoding pf both sets of commands is the same: Figure 3 also shows how a second level of data structuring determines the meaning of TSA data. For write operations, the destination of the data is determined by the LSBit of the MSByte of data written: xCMD Contents of x1CR15-8 0100 0101 0110 0111 xTSA data Current xFIFO Level xFIFO Level for Interrupt xFIFO Level for DMA Request ' xlCR8value Destination of x1CR15-9 o x1CR15-9 -> xTSASlot xICR15-13-> xTSAOff x1CR12-9 -> xTSACnt 1 1 Reading TSA data from RICR or TICR always yields the xTSASlot value, with the LSBit of the MSByte equal to zero. (where "x" stands for either "R" or "T"). 619 RICRor TICR ...... ~~ ~/ ~~I--------~I~------~ ----------- , If the last value in the range 01 00-0111 written to the command field of RCSR or TCSR was: -- Then the following data can be accessed in the ~S byte of RICR or TICR: 0100 Read or write TSA data I I 0101 / 0110 I I I 0111 Read the # of empty entries in the TxFIFO or • the # of received bytes in the RxFIFO Read the # of empty TxFIFO or • the # of received characters in the RxFIFO to request an interrupt Read the # of empty TxFIFO or • the # of received characters in the RxFIFO to request a DMA Transfer I I I I If the lSB of the TSA data written is: 0 1 \ \ \ \ \ \ \ \ \ \ \ \ Then the r~t of the TSA data written is as follows: RTSASlot OR TTSAlot RTSAOffor TTSAOff RTSACntor TTSACnt 0 I- 1 Reading TSA data always yields this byte - Figure 3. Structure of RICR and TICR SUMMARY To set up xTSA, first write the 0100 command to the xCMD field of the xSCR; write the xTSASlot value to the MSByte of xlCR with the LSBit of the byte equal to 0; write the xTSAOff 620 and xTSACnt values to the MSByte of xlCR with the LSBit of the byte equal to 1. . ~ZiIill ApPLICATION NOTE ISCC INTERFACE TO. , THE 68000 AND 8086 INTRODucnON The ISCC uses its flexible bus to interface with a variety of microprocessors and microcontrollers; included are the 68000 and B086. The Z16C35 ISCC is a Superintegration form of the 85C30/BOC30 Serial Communications Controller (SCC). Super integration includes four DMA channels, one for each receiver and transmitter and a flexible Bus Interface Unit (BIU). The BIU supports a wide variety of buses including the bus types of the 680xO and the B086 families of microprocessors. This Application Note presents the details of BIU operation for both slave peripheral and DMA modes, Included are application examples of interconnecting an ISCC to a 68000 and a 8086 (These examples are currently under test). ISCC BUS INTERFACE UNIT (BIU) The following subsections describe and illustrate the functions and parameters of the ISCC Bus Interface Unit Overview The ISCC contains a flexible bus interface that is directly compatible with a variety of microprocessors and microcontrollers. The bus interface unit adds to the chip by allowing ease of connection to several standard bus configurations; among others are the 68000 and the B086 family microprocessors. This compatibility is achieved by initializing the ISCC after a reset to the desired bus configuration. The device also configures to work with a variefy of other 8- or 16-bit bus systems and'is used with address/data multiplexed or non-multiplexed buses, In addition, the wait/ready handshake, the interrupt acknowledge, and the bus high byte/low byte selection are all programmable. Separate read/write, data strobe, write, reiid, and address strobe signals are available for direct system interface with a minimum of external logic. Modes Description registers with their own unique hardware addresses. By contrast, in the non-multiplexed mode, all registers access through an internal pointer which first loads with the register address, Loading of the pointer is done as a data write, In either case, there are some external addressing \ signals. Chip Enable (CE) allows external selection through the decode of upper order address bits like accessirig separate chips. A separate input (not part of the AD15-O bus and DMA connection) selects between the internal sections of the chip, This input is AO/SCC/DMA and provides direct transfers to the appropriate chip subsystem; either multiplexed or non-multiplexed bus mode. sec A second separate input (not part of the AD15-0 bus connection) provides for a selection between the internal SCC; both channels A and B (Table A-l). This input is A1/NB and provides direct transfers to the appropriate SCC channel when AO/SCC/DMA selects the SCC; either multiplexed or non-multiplexed bus mode, Note that these two Signals, A 1/NB and AO/SCC/DMA, are inputs when the ISCC is a slave peripheral; they become outputs when the ISCC is a bus master during DMA operations, There are basically two bus modes of operation: multiplexed and non-multiplexed. In the multiplexed bus mode, the ISCC internal registers are directly accessible as separate 621 Table A-1. Accessing the ISCC Registers AO/SCC/DMA A1/NB 1 1 o o 1 x ACCESS SCC Channel A SCC Channel B DMA The following discussions assume knowledge of the SCC Serial Communications Controller opertions and refer to internal register designations. For a detailed explanation, refer to the SCC Technical Manual. Non-multiplexed Bus Operation When the ISCC initializes for non-multiplexed operation, Write Register 0 (WRO) takes on the form of WRO in the Z8530, Write Register Bit Functions (Figure A-1). Register addressing for the SCC section is (except for WRO and RRO) accomplished as follows. Programming the write registers requires two write operations. Reading the read registers requires both a write and a read operation. The first write is to WRO which contains three bits that point to the selected register (note the point high command). The second write is the actual control word forthe selected register. If the second operation is a read, the selected register is accesSed. When ih the non-multiplexed mode, all registers in the SCC section of the ISeC, including the data registers, access this way. The pOinter register automatically clears after the second read or write operation so WRO (or RRO) addresses again, There is no direct access to the data registers, They are addressed through the pointer (this is in contrast to the Z8530 which allows direct addressing of the data registers through the C/D pin). 622 When the ISCC starts for non-multiplexed operation, register addressing for the DMA section is (except for CSAR) accomplished as follows. It is completely independent of the SCC section register addressing. Programming the write registers requires two write operations and reading the read registers requires both a write and a read operation. The first write is to the Command Status Address Register (CSAR) which contains five bits that point to the selected register (CSAR bits 4 - 0). The second write is the actual control word for the selected register. lithe second operation is a read, the selected register is accessed. The pOinter bits automatically clear after the second read or write operation so CSAR addresses again. When in the non-multiplexed mode, all registers in the DMA section of the ISCC are accessed, Multiplexed Bus Operation When the ISCC initializes for multiplexed bus operation, all . registers in the SCC section are directly addressable with the register address occupying AD5 through AD1 or AD4 through ADO (Shift Left/Shift Right modes). The Shift Left/Shift Right modes for the address decoding of the internal registers (multiplexed bus) are separately programmable for the SCC and DMA sections For the SCC section, the programming and operation is the same as the SCC; programming occurs through Write Register (WRO), bits 1 and 0 , and Write Register Bit Functions (Figure A-2). The programming of the Shift Left/Shift Right modes for the OMA section occurs in the BCR, bit O. In this case, the shift function is similar to the SCC section; with Left Shift, the internal register addresses decode from bits AD5 through AD1. In Right Shift, the internal register addresses decode from bits AD4 through ADO, o During multiplexed bus mode selection, Write Register 0 (WRO) becomes WRO in the Z8030, Write Register Bit Functions (Figure A-2). WrI1e Register 0 (non-multiplexed bus mode) Write Register 0 (multiplexed bus mode)' 1071061051041031021011001 1071061051041031021011001 TTT '0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 O. 1 . 1 0 1. 0 1 1 1 1 o o * 0 1 o 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 TT Register 0 Register 1 0 0 1 1 Register 2 Register 3 Register 4' Register 5 Register 6 0 0 0 0 1 1 1 1 RegisterS Register 9 10 12 13 14 15 Null Code Point High ResetExtIStatus Interrupts Send Abo rt(SOLC) Enable Int on Nex1 Rx Character ResetTx Int Pending Error Reset Reset Highest IUS Null Code Reset Rx CRC Checker Reset Tx CRC Generator Reset Tx UnderrunlEOM Latch Null Code Null Code Saleet Shift Left Mode } * Select Shift Right Mode o Register 7 Register Register 11 Register Register Register Register 0 1 0 1 o o 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Null Code Null Code Reset ExVStatus Interrupts Send Abort Enable Int on Next Rx Character Reset Tx Int Pen ding t:rror Reset Reset Highest IUs Null Code Reset Rx CRC Checker Reset Tx CRC Generator Reset Tx Underrun/EOM Latch * B Channel Only Figure A-2. Write Register 0 Bit Functions (Multiplexed Bus Mode) With Point High Command Figure A-1. ""rite Register 0 Bit Functions (Non-Multiplexed Bus Mode) BUS DATA TRANSFERS All data transfers to and from the Isee are done in bytes regardless of whether data occupies the lower or upper byte of the 16 bit bus. Bus transfers as a slave peripheral are done differently from bus transfers when the Isee is the bus master during DMA transactions. The Isee is fundamentally an 8-bit peripheral butsupports 16-bitbuses in the DMA mode. Slave peripheral and DMA transactions appear In the next sections. Data Bus Transfers as a Slave Peripheral When accessed as a peripheral device (when the Isee is not a bus master performing DMA transfers), only 8 bits transfer. During Isee register read, the byte data present on the lower 8 bits of the bus is replicated on the upper 8 bits of the bus. Data is accepted by the Isee only on the lower 8 bits of the bus. ISCC DMA Bus Transfers During DMA transfers, when the Isee is bus master, only byte data transfers occur. However, data transfers to or from the Isee on the upper 8 bits of the bus or on the lower 8 bits of the bus. Moreover, odd or even byte transfers activate on the lower or upper 8 bits of the bus. This is programmable and explained next. During DMA transfers.to memory from the ISee, only byte data transfers occur. Data appears on the lower 8 bits and replicates on the upper 8 bits of the bus. Thus, the data is written to an odd or even byte of the system memory by address decoding and strobe generation. During DMA transfers to the Isee from memory, byte data only transfers. Normally, data appears only on the lower 8 623 bits of the bus. However. the byte swapping feature determines which byte of the bus data is accepted. The byte swapping feature activates by prbgramming the Byte Swap Enable bit to a 1 in the BCR. The odd/even byte transfer selection occurs by programming the Byte Swap Select bit in the BCR. If Byte Swap Select is a 1. then even address bytes (transfers where the DMA address has AO = 0) are accepted on the lower 8 bits of the bus. Odd address bytes (transfers where the DMA address has AO = 1) are accepted on the upper 8 bits of the bus. If Byte Swap Select is a O. then even address bytes (transfers where the DMA address has AO = 0) are accepted on the upper 8 bits of the bus. Odd address bytes (transfers where the DMA address has AO =1) are accepted on the lower 8 bits of the bus. Bus Interface Handshaking The ISCC supports data transfers by either a data strobe (OS) combined with a read/write (RIW) status line. or !separate read (RD) and write (WR) strobes. These transactions activate via chip enable (CE). ISCC programming. generates interrupts upon the occurrence of certain internal events. The ISCC internally prioritizes its own interrupts. therefore. the ISCC presents one interrupt to the processor even though lower priority internal interrupts may be pending. Interrupts are individually enabled or disabled. Refer to the sections on the SCC core. Interrupt Acknowledge (INTACK) is an input to the ISCC showing that an interrupt acknowledge cycle is progressing. INTACK is programmed to accept status acknowledge. a single pulse acknowledge. or a double pulse acknowledge. This programming activates in the BCR. The double pulse acknowledge is compatible with 8X86 family microprocessors and the status acknowledge is compatible with 68000 family microprocessors. a During an interrupt acknowledge cycle. the SCC and DMA interrupt priority daisy chain internally resolves. Thus. the highest priority internal interrupt is presented to the CPU. The ISCC can return an iflterrupt vector that encodes with the type of interrupt pending enabled during this. acknowledge cycle. The ISCC may request an interrupt but not return an interrupt vector [note that the no vector bit(s) in the SCC section (WR9 bit 1) and in the DMA section (ICR bit 5) individually control whether or nOt an interrupt vector returns by these cores]. The interrupt vector can program to include a status field showing the internallSCC source of the interrupt. During the interrupt acknowledge cycle. the ISCC returns the interrupt vector when INTACK. RD or DSgo active and lEI is high (if the ISCC is not programmed for the no vector option). During the programmed pulsed acknowledge type (whether Single or double). INTACK is the strobe for the interrupt vector. Thus when INTACK goes active. the ISCC drives the bus and presents the interrupt vector to the CPU. When . the status acknowledge type programs. the ISCC dnves the bus with the interrupt vector when RD or OS are active. WAITRDY programs to function either as a WAIT signal or a READY signal using the BCR write. When programmed as a wait signal. it supports the READY function of 8X86 family microprocessors. When programmed as a ready signal. it supports the DTACK function of 680xO family microprocessors. The WAIT/ROY Signal functions as an output when the ISCC is not a bus master. In this case. this signal serves to indicate when the data is available during a read cycle: when the device is ready to receive data during a write cycle. and when a valid vector is available during an interrupt acknowledge cycle. When the ISCC is the bus master (DMA section has taken control of the bus). the WAIT/RDY signal functions as a WAIT or RDYinpul. Slow memories and peripheral devices use WAIT to extend the data strobe (IDS) during bus transfers. Similarly. memories and peripheral devices use ROY to indicate valid output or that it is ready to latch input data. CONFIGURING THE BUS The bus configuration programming is done in two separate steps (actually it is one operat.ion). to enable the write to the Bus Configuration Register (BCR) . The first operation that accesses the ISCC after a device reset must be a write to the BCR since this is the only time that the BCR is accessible. Before and during the write. various external signals are sampled to program bus configuration parameters. During this write. the A0/SCCIIDMA pin must be Low. 624 Address strobe programs multiplexed/non-multiplexed selection. In a non-multiplexed bus environment. address strobe (as an input) is not used but tied high through a suitable pull-up resistor. Thus. no address strobe is present before the BCR write. Then. when write to the BCR takes place. the non-multiplexed mode is programmed because there is no address strobe before this first write to the device, Note that address strobe becomes an output during DMA operations so it is not tied directly to Vcc. During the write operation to the BCR. the A 1/A/B input is sampled to select the function of the WAIT/ROY pin (Table A-2). When the BCR Write is to the SCC Channel A (A 1/AIIB High during the BCR write). the WAIT/ROY signal functions as a wait. When the BCR Write is to Channel B .(A 1/AIIB Low during the BCR write). the WAIT/ROY signal functions as a ready. Table A-2. Signals Sampled During the BCR Write A1/NIB 1 o WAIT/ROY Function WAIT (8086 ROY compatible) READY (68000 DTACK compatible) . This programming affects the function of the WAIT/ROY signal both as an input. when the ISCC is bus master during DMA operations. and as an output when the ISCC is a bus slave. The Status Acknowledge remains active throughout the interrupt cycle and is directly compatible with the 680xO family interrupt handshaking. The Status Acknowledge signal latches with the rising edge of AS for multiplexed bus operation. It latches by the falling edge of the strobe (RD or OS) for non-multiplexed bus operation. The Pulsed Acknowledges are timed to be active during a specified period in the interrupt cycle. The Double Pulsed Acknowledge is directly compatible with the 8x86 family interrupt handshaking. Refer to the timing diagrams in the ISCC Product Specification for details on the Acknowledge signal operation. Reserve bits 3. 4. and 5 of the BCR program as zeros. Bits 6 and 7 of the BCR control the byte swap feature (Table A4). Byte swap is applicable only in DMA transfers when the ISCC is the bus master and only affects ISCC data acceptance (transfers from memory to the ISCC). Table A-4. Byte Swap Control With this programming. the ISCC is immediately configured to function successfully on this first and subsequent bus transactions. The remaining bus configuration options are programmed by the value written to the BCA. Bit 0 of the BCR controls the Shift Left/Shift Right address decoding modes for the DMA section. In this case. the shift function is similar to the SCC section. During Left Shift. the internal register addresses decode from bits AD5 through AD1. During Right Shift. the internal register addresses are decode from bits AD4 through ADO. This function is only applicable in the rnultiplexed bus mode. Enable (BCR bit 7) DMA Data Read by the ISCC o lower 8 bits of bus only upper or lower 8 bits of bus 1 Swap Select" AO DMA Data read by the ISCC o o 0 1 1 0 1 upper 8 bits of bus lower 8 bits of bus lower 8 bits of bus upper 8 bits of bus 1 Bits 1 and 2 of the BCR control the interrupt acknowledge type as shown in the Table A-3. • SCR bit6 Table A-3. BCR Control of Interrupt Acknowledge BeR bit 2 o o o 1 BCR bit 1 Interrupt Acknowledge o 1 1 1 Status Acknowledge Pulsed Acknowledge (single) Reserved (action not defined) Double Pulsed Acknowledge 625 APPLICATIONS EXAMPLES The following application examples explain and illustrate ttie methods of interfacing the ISCC to a Motorola 68000 and an l'1tel8086. external bus arbitration circuit. This circuit performs bus arbitration for multiple bus master requests and generates bus grant acknowledge (BGACK) which controls certain bus drive signal sources. 68000 Interface to the Isce Figure A-3 shows a connection of the ISCC to a 68000 microprocessor. The 68000 data bus connects directly, or through bus transceivers, to the ISCC address/data bus. R/W and RESET also directly connect In this example, the ISCC is on the lower half of the bus; OS of the ISCC connects to LOS of the 68000. The processor address lines decode to produce a chip enable for the ISCC. In addition, processor addresses A 1 and A2 connect to AO/SCC/OMA and A 1/A/B, respectively, through a tri-state driver. The driver is normally ON (enabled) but tums OFF by BGACK to grant the bus to ISCC for OMA transfers. This is done since the AO/SCC/OMA and A1/A/B pins become outputs during OMA transfers and should not drive the system address bus. RO and WR tie high through independent pull-ups. They are not 'used in this application but become active outputs during OMA transfers and are not tied directly to Vcc. Although not shown in Table A-5, the AO/SCC/OMA and A1/A/B pins may be decoded during OMA transfers to identify the active OMA channel. When the ISCC becomes the bus master, a 32-bit address generation by the OMA section is output on the ISCC address/data bus. The lower 16 bits of tllis address store in an external latch by AS (Address Strobe). Also, the upper 16 bits of this address store in an external latch by UAS (Upper Address Strobe). With BGACK low (active) and with the processor address lines tri-stated, the latch outputs drive the system address bus. AS is pulled high by an external resistor. This pull-up insures an inactive AS (at a logic high level) when the ISCC is not driving this signal. Therefore, on power up or after a RESET, AS is inactive and programs the non-multiplexed bus mode on BCR write. In this application, the outputs of the address latches are connected to the address bus so that A 1 through A23 of the ISCC drives the system address bus (the ISCC provides a total of 32 address lines). AD from the address latch is diverted to logic which generates UOS and LOS bus signals from the ISCC data strobe (OS). UOS is generated when AO is low and LOS is generated when AD is high. The lower and upper data strobes are applied to the system bus through tri-state drivers which are enabled only when BGACK is active. Bus direction is now controlled by the ISCC R/W signal which is now an output. Table A-5. DMA AlB Channel Decode A1/NB AO/SCC/DMA 1 1 0 1 0 1 a a DMAChannel Receiver Channel A Transmitter Channel A Receiver Channel B Transmitter Channel B External logic can use this information to abort a OMA in progress. For initialization, the BCR write (the first write to the ISCC after RESET) is done with A2 = 0 (A 1/A/B ISCC input at logic low). This selects the ready option of the WAIT/ROY signal to conform to the 68000 bus style. The AS signal programming of the non-multiplexed bus has already. been discussed. The BCR is written with COh to enable byte swapping. It also selects the sense of byte swapping with respect to AO appropriate to this bus style and selects the STATUS type of interrupt acknowledge. 8086 Interface with the Isee For normal slave device bus interaction, a OTACK is generated. WAIT/ROY is programed 'for ready operation and INTACK programs for the status type. WAIT/ROY generates a OTACK for normal data transfers and interrupt responses. Additional logic may be required when other interrupt sources are present. Ouring OMA transfers, the ISCC becomes bus master. Becoming bus master is done through the BUSREQ output and BUSACK input signals of the ISCC. They connect to an 626 Figure A-4 shows the connection of the ISCC to an 8086 microprocessor and companion clock state generator. In this application, the ISCC connects for multiplexed address access to the internallSCC registers. A015 through ADO of the 8086 connect directly, or through a bus transceiver, to the corresponding AD15 through ADO address/data ISCC bus pins. RD and WR are directly compatible and tie together to form the read and write bus signals. v~ 0 IRESET IUDS IUDS ILDS >- ~ JI IDS r-< V~ -"M- V~ ~AA - _L IBGACK IDTACK IRESET ~ ·VVY IWR WAITIRDY 015-0 AD15-ADO IBGACK ! 6 IOE A23-16 A23-1 Q 0 f-Latch 68000 . IRD --- AO IOE Latch A15-1 .-- Q- A. 0 , 'v~ { ~ ~ I I V~ N A61-"'1 r- Chip Select Decode ICS 16C35 IUAS V A19-A16 HOLD */RDIIGTor HLDA Q latch IDE D D Q System Address Bus Upper Order Bits latch IDE Vcc ~ R/W Vcc -JVVv- IDS IBUSREQ BUS Arbitration and Timing Synchronization IINTR IBUSACK ~ IINTA RDY RDYTiming Synchronizer * maximum mode Figure A-4. Isee Interface to an Intel 8086 Microprocessor 628 liNT IINTACK WAIT/RDY When the Isee becomes a bus master during DMA operations, RD and WR of the 8086 are tri-stated which allows the corresponding Isee signals to control the bus transactions. The sense of RESET reverses, so .the Isee RESET signal inverts from the reset applied to the 8086 from the clock state generator. RD/WR and DS of the Isee are inactive in this application and tie high. They tie high through independent pull-ups since these signals become active when the Isee is bus master during DMA transactions. Assuming other devices in the system, the Isee chip enable input (eE) activates from a decode of the address. In this example, the Isec internally decodes addresses A 1 through A5 and uses A6 and A7, externally. Thus, the address decode circuitry decodes address lines AO and A8 and above. The decode of AO for chip enable places the Isee as an 8-bit peripheral on the lower byte ofthe bus. AO and the upper level address lines (including A6 and A7) demultiplex from the 8086 address/data bus through a latch strobed by ALE. The demultiplexed addresses A6 and A7 connect to AO/See/DMA and A1/NB, respectively, of the Isee to control seleCtion of the DMA and see channels A and B. This connects through the tri-state drivers. They enable when the 8086 is the bus master and disable when the Isee is bus master. This prevents the Isee from improperly driving the system address bus since AO/See/DMA and A1/NB become active outputs when the Isee is the bus master. The address map for the Isee appears in Table A-6 for this application. Table A-5. AO A1-A5 1 0 0 0 x A6 A7 x 0 1 x x 1 0 1 Isec Address Map Registers Addressed lsee not enabled DMA Registers per A 1 - A5 see eore ehannel A Registers see eore ehannel B Registers Since AO specifies the lower byte of the bus and includes the chip enable decode, the, internal lsee register addresses decode without AO. Thus, Table 6 implies that the Left Shift address decode selection is made for both the see and DMA sections of the Isee. The left shift selection is the default selection after reset. Left/Righi Shift selection programming is discussed later. The ALE signal of the 8086 applies to AS of the Isee through an inverting tri-state buffer. The buffer disables when the Isee be~omes a bus master during DMA transactions. This prevents conflicts since ALE remains active even when the 8086 is in the HOLD mode during DMA transfers. Now, the Isee AS is an active output. .The address strobe for the demultiplexing latch of addresses AO through A 15 connects on the Isee side of the ALE tristate buffer. This allows the latch to serve two functions; to hold either the 8086 or the lsee address when it is bus master. After reset. ALE is active and the tri-state buffer enabled. This supplies address strobes to the Isee. The presence of one of these address strobes, before writing to the BeR, programs the Isee to the multiplexed bus mode of operation. The Isec chip enable (eE) can be inactive and still recognize an address strobe (AS) before the BeR write (Figure ~ shows open latches when the input strobe is low). When the Isee is bus master during DMA transactions, BHE generates from AO. This is done from the output of the lower order address latch through an inverting tri-state driver. This driver enables only when the Isee is the bus master. Whole word transfers are not done by the Isee DMA, thus,: BHE generated for the Isee is always the inverse of AD. The upper bus system address lines demultiplex from the 8086 and the Isee in separate latches. Like the 68000 example, high order address lines from the Isee latch via UAS (upper address strobe). The separate latches drive the same upper order address lines. A 16 from the Isee connects to the corresponding A 16 address bus line as derived from the 8086. The output of the two latches alternately enable depending upon bus mastership. The diagram shows INT fron the Isee connected to the 8086 INTR input via an inverter since these signals are of opposite sense. In actual practice, the Isee interrupt request is first processed by an interrupt priority circuit. INTA (Interrupt Acknowledge) of the 8086connects directly to the INTAeK input of the Isee. eonforming to the 8086 style of interrupt acknowledge, the Isee is programed to the Double Pulse Interrupt Acknowledge type. When this selection occurs, the Isee responds to two interrupt acknowledge pulses. The first pulse is recognized but no action follows. The second pulse causes the Isee to go active on the data bus and return the interrupt vector to the epu. This action also takes place with the Single Pulse Interrupt Acknowledge type selection, except that the bus .goes active with the first and only interrupt acknowledge pulse. To start, the BeR write (first write to the Isee after RESET) is done with A7 = 1 (A 1/AIB Isee input at logic high) This selects the wait option of the WAIT/RDY signal to conform to the 8086 bus style. The AS signal programming of the multiplexed bus was covered earlier. The BeR is written 629 " .",.- , ..................."""""-•• 1""""' .. "..........""""'.-........ ~ ""'w,, '~:""""r ......... ,,'"'_"._ ...,. ,";'i,1" • ,'" "tI ''i'.n,,'~ \I with 86h to enable byte swapping; select the sense of the byte swapping with respect to AO (appropriate to this bus style), and select the Double Pulse type of interrupt acknowledge. When the ISCC begins DMA transfers, it communicates requests for the bus through BUSREO and BUSACK. The 8086 rfolc~ives and grants bus requests through HOLD and HLDA'inthe minimum mode and through RO/GT in the maximum mode. Depending upon the system requirements, there could be more than one potential bus master. Therefore, there is a requirement for a bus arbitration circuit. 630 The minimum mode connection is relatively straigh\Wrward. The maximum mode configuration requires,'~a translation of the ISCC BUSREO and BUSACK sign~s into/from the 8086 RO/GT timed pulse style of handshake. Refer to the information on the 8086 for detailed application information. .The ISCC WAIT/RDY output is compatible with the 8086 clock generator. ROY input except that one edge of the signal must· be synchronous with the 8086 clock. The synchronization occurs through external circuitry. Refer to the information on' the 8086 for detailed application information. ~-----.-- ... - .. - ApPLICATION NOTE ,THE Z180 INTERFACED WITH THE sec AT 10 MHz INTRODUCTION Build a simple system to prove and test the Z100 MPU interfacing the sec at 10 MHz. This Application Note describes the design of a system using a ZOO 100 MPU (Microprocessor Unit) and a Z85C30 SCC (Serial Communications Controller), both running at 10 MHz. Hereinafter, all references are to the Z180 and SCC. The system board is a vehicle for demonstration and evaluation of the 10 MHz interface and includes the following parts: • Z801OO10VSC Z100 MPU 10 MHz, PLCC package • Z85C3010VSC C-MOS Z8530 SCC Serial Communication Controller, 10 MHz, PLCC package • 27C256 EP-ROM • 55257 Static RAM The Z100 is a ZOO compatible High Integration device with various peripherals on board. Using this device as an alternative to the ZOO CPU, reduces the number of parts and board space. However, processing speed and reliability increase. The serial communication devices on the Z100 are: two asynchronous channels and one clocked serial channel. This means handling synchronous serial communications protocols requires an off-chip ':multi-protocol serial communication controller." The SCC is the ideal device to meet the requirements. Zilog's SCC is the multi-protocol (@ 10 MHz) universal serial communication controller which covers most serial communication applications including Monosync, Bisync and SDLC at 2.5M bits/sec speeds. Further, the wide acceptance of this device by the market ensures it is an "industrial standard" serial communication controller. Also, the Z180 has special numbers for system clock frequencies of 6.144 - and 9.216 MHz which generate exact baud rates for on-chip asynchronous serial communication channels. This is due to the sec's on-chip, 16-bit wide baud rate generator for asynchronous ASCI communications. The following 10 MHz interface explanation defines how the interrupt structure works. Also included is a discussion of the hardware and software considerations involved in running the system's communication board. This Application Note assumes the reader has a strong working knowledge of the Z100 and sec; this is not a tutorial for each device. Note: All Signals with a preceding front slash, "I", are active Low, e.g.: BIIW (WORD is active Low); IBIW (BYTE is active Low, only); INIIS (NORMAL and SYSTEM are both active Low). 631 INTERFACES The following subsections explain the interfaces between the: • Z180 and Memory • Z180and I/O • Z180and SCC • Using EPLD for glue wherever'possible • Expandability The design method for EPLD is using TTLs (74HCT) and then translating them into EPLD logic. This design uses TTLs and EPLDs. With these goals in mind, the discussion begins with the Z180-to-memory interface. . Basic goals of this system design are: Z180 to Memory Interface • System clock up to 10 MHz • UsingtheZ8018010VSC(Z18010MHzPLCCpackage) to take advantage of 1M byte addressing space and compactness (DIP versions' addressing range is half; 512K bytes) The memory access cycle timing of the Z180 is similar to the Z80 CPU memory access cycle timing. The three classifications are: • Using Z85C3010VSC (CMOS SCC 10MHz PLCC package) • Minimum parts count • Worst case design • Op-code fetch cycle (Figure 1) \ .. Memory read cycle (Figure 2) • Memory write cycle (Figure 3) Table 1 shows the Z180's basic timing elements for the opcode's fetch/memory read/write cycle. Tl T2 Tw T3 T1 o Address IMREQ IRD Dam ----r-------------------~ IMI Figure 1. Z180 Op-code Fetch Cycle Timing (One Wait State) 632 .~~~- .. -------. Table 1. Z8018010 Timing Parameters for Op-code Fetch Cycle (Worst Case: Z180 10 MHz) No Symbol Parameter Min 100 40 40 1 2 3 4 tcyc tCHW tCLW tcf Clock Cycle Period Clock Cycle High Width Clock Cycle Low Width Clock Fall Time 6 11 tAD tMED1 tRDD1 tAH Clock High to Address Valid Clock Low to IMREO Low Clock Low to IRD Low Address Hold Time 12 15 16 22 tMED2 tDRS tDRH tWRD1 Clock Low to 1M REO High Data to Clock Setup Data Read Hold Time Clock High to /WR Low 8 9 23 24 25 26 27 tWDD IWDS tWRD2 IWRP IWDH Max Units 10 ns ns ns ns 70 50 50 10 50 25 0 50 , Clock Low 10 Wrile Data Delay Write Dala Selup 10 /WR Low Clock Low lo/WR High /WR Pulse Widlh /WR High 10 Dala Hold Time 60 15 50 110 10 ns ns ns ns ns ns ns ns ns ns ns ns ns Nole: Parameter numbers In this table are In the Z180 technical manual. T1 T2 Tw T3 T1 III Address IMREQ IRD Data ----------------------------~ Figure 2. Z180 Memory Read Cycle Timing (One Walt State) 633 EP-ROM Interface During an Op-coEle fetch cycle, data sampling of the bus is on the rising'PHI clock edgeofT3 and on the falling edge of T3 during a memory read cycle. Op-code fetch cycle data sample timing is half a clock cycle earlier. Table 2 shows how a memory read cycles' timing requirements are easier than an op-code fetch cycle by half a PHI cycle time. II the timing requirements for an Op-code fetch cycle meet specifications, the design satisfies the timing requirements . ' for a memory read cycle. Table 2 has some equations for an op-code fetch, memory read/Write cycle. Table 2. Parameter Equations (10 MHz) Op-code Fetch/Memory Read/Write Cycle Value Units 2( 1+w)tcyc-tAD-tDRS 2( 1+w)tcyc+ tCHW+tcf-tAD-tDRS (1+w)tcyc+tCLW-tMED1-tDRS 105+ 1OOw min 155+100wmin 55+100wmin ns ns ns (2+w)tcyc-tMED 1-tDRS (1 +w)tcyc+tCLW-tRRD1-tDRS (2+w)tcyc-tRRD1-tDRS tWRP+w*tcyc 105+100wmin 55+100wmin 105+ 100w min 110+ 100w min ns ns ns ns Parameters Z180 Equation Address Valid to Data Valid (Op-code Fetch) Address Valid to Data Valid (Memory Read IMREQ Active to Data Valid (Op-code Fetch) IMREQ Active to Data Valid (Memory Read) fRO Active to Data Valid (Op-code Fetch) IRD Active to Data Valid (Memory Read) Memory Write Cycle /WR Pulse Width Nole: • w is the number of wait states. The propagation delay for the decoded add ress and gates in the previous calculation is zero. Hence, on the real design, subtracting another 20-30 ns to pay for propagation delays, is possible. The 27C256 provides the EP-ROM for this board. Typical timing parameters for the 27C256 are in Table 3. ' Table 3. Ep·ROM (27C256) key Timing Parameters (Values May Vary 'Depending On, Mfg.) Parameter Addr Access Time fE to Data Valid fOE to Data Valid Access Time 170ns 200ns 250ns Max Max Max 170 170 75 200 200 75 250 250 100 Nole: Table 3 shows "Access lime" as applying IE to data valid. "fOE active to data valid" is shortet than "address access time". Hence, the interface logic for the EP-ROM is: Realize a 170ns or faster EPROM access time by adding one watt state (using the on-chip wail stale generator of the Zl80). A 200ns requirement uses two wait'states for memory access. SRAM Interface Table 4 has timing parameters for 256K bit SRAM for this design. 634 Table 4. 256K SRAM Key Timing parameters (Values May Vary Depending On Mfg.) Parameter 85nS Min Access Time 100nS 150nS Min Min Read Cycle: IE to Data Valid IG to Data Valid 85 45 100 40 150 Write Cycle: Write Cycle Time Addr Valid to End of Write Chip Select to End of Write Data Select to End of Write Write PulSe Width Addr Setup Time 85 75 75 46 60 0 100 80 150 100 100 60 80 40 60 60 90 0 ,,0 SRAM Read Cycle. An SRAM read cycle shares the same considerations as an EPROM interface. Like EPROM, SRAMs' "aqcess time" applies IG to data valid, and "IE active to data valid" is shorter than "access time." This design allows the use of a 150ns access time SRAM by adding one wait state (using the on-chip wait state generator of the Z180). The circuit is common to the EPROM memory read cycle. No wait states are necessary if there is a 85ns; or faster, access time by using SRAMs. Since the Z180 has on-chip MMU with 85ns or faster SRAM just copy the contents of EPROM (application program starts at logical address OOOOh) into SRAM after poweron. Set up the MMU to SRAM area to override the EPROM area and stop inserting wait states. With this scheme, you can get the highest performance with moderate cost. T1 SRAM Write Cyde. During a Z 180 memory write cycle, the Z180 write data is stable before the falling edge of {WR (Z180 parameter #24; 15ns min at 10 MHz). It is stable throughoutthe write cycle (Zt80 parameter #27; 10nS min at 10 MHz). Further, the address is fixed before the falling edge of {WR. As long as the {WR pulse width meets the SRAM's spec, there is no problem (reference Table 2). Tw T3 T1 o Address IMREQ IWR Dam --------+-----~ Figure 3. Z180 Memory Write Cycle Timing (One Wait State) Memory Interface Logic The memory devices (EPROM and SRAM) for this design are 256K bit (32K byte). There are two possible memory interface designs: Connect Address Decode output to IE input. Put the signal generated by IRD and IMREO ANDed together to iOE of EPROM and SRAM. Put the signal generated by {WR and IMREO ANDed together to the IWE pin of SRAM (Figure 4a). Connect the signal Address ANDed together with inactive IIORO to the IE input. Connect IRD to 10E of EPROM and SRAM, and /WR to {WE pin of SRAM (Figure 4b). Using the second method, there could be a narrow glitch on the signal to the IE-pin during 1/0 cycles and the Interrupt acknowledge cycle. During 1/0 cycles, IIORO and IRD or {WR go active at almost the same time. Since the delay times of these signals are similar there is no "overlapping time" between ICE generated by the address (II ORO inactive), and {WR or IRD active. During the Interrupt Acknowledge cycle,lWR and IRD signals are inactive. To keep the design simple and flexible, use the second method (Figure 4b). To expand memory, decode the address A15 NANDed with IUSRRAMIIUSRROM and IIORO to produce ICSRAM or ICSROM. These are chip select inputs to chips 55257 or 27C256, respectively. This either disables or enables on-board ROM or RAM depending upon selection control. The circuit on Figure 4b gives the physical memory address as shown on Figure 5. If there are no Z80 peripherals and 1M 1 is enabled (M 1E bit in Z180 OMCR register set to 1), active wait states occur only during op-code fetch cycles (Figure 6). If the M1 E bit is cleared to 0, IM1E is active only during the Interrupt 635 . Acknowledge cycle and Return from Interrupt cycle. This case depends on the propagation delay of the address deco - - - - - + l H ICSRAM To 55257 ICE Pin A~ >-~----r+~-' IUSRROM >--+-=---~~-, ICSROM To 27C256ICE Pin . Figure 4B. Memory Interface Logic 636 FFFFFH S-RAMlmage F8000H --------- 1M1 D EP-ROM Image FOOOOH CL a D '74 --------- a '74 CK CK PR PR Image can be killed trhrough /uSRRAMand /uSRROM --------S-RAM Image 28000H CL --------- ~---I. 1M1 /WAIT IEP-ROM Image 20000H 18000H --------S-RAMlmage --------- Figure 6. Wait State Generator Logic (Extends Op-code Fetch Cycle Only; Not Working in Z Mode of Operation) EP-ROM Image 10000H 256KSRAM 08000H EP-ROM 27C256 OOOOOH Figure 5. Physical Memory Address Map Z180 TO I/O INTERFACE The Z180 I/O read/write cycle is similar to the Z80 CPU if you clear the /IOC bit in the OMCR register to 0 (Figures T1 T2 7 and 8). Table 5 shows the Z180 key parameters for an I/O cycle. T3 T1 o Address /lORO IRD Dam --------------------------------~ Figure 7. Z180 1/0 Read Cycle Timing (/IOC = 0) 637 T~ T2 Tw T3 T1 Address 1I0RO IWR Dam --------~--_G Figure S. ZlS0 1/0 Write Cycle Timing Table 5. ZSOl80l0 Timing Parameters for 1/0 Cycle (Worst Case) No Symbol Parameter Min 1 2· 3 4 tcyc tCHW tCLW tcl Clock Cycle Period Clock Cycle High Width Clock Cycle Low Width Clock Fall Time 100 40 40 6 9 11 13 tAD tRDD1 tAH tRDD2 Clock High to,AddreSs Valid Clock High to /RD Low 10C=0 Address Hold Time Clock Low to /RD High 15 16 21 22 tDRS tDRH tWDZ tWRD1 Data to Cloc-k Setup Data Read Hold Time Clock High to Data Float Delay Clock High to twR Low 23 24 25 26a tWDD tWOS tWRD2 tWRP Clock Low to Write Data Delay Write Data Setup to twR Low Clock Low to twR High twR Pulse Width (I/O Write) 27 28 29 tWDH tlOD1 IIOD2 twR High to Data Hold Time Clock High to /IORO Low 10C=0 Clock Low to/IORO High Nole: Parameter numbers in this mble are the numbers in the Zl80 technical manual. 638 Max Units 10 ns ns ns ns 70 55 50 ns ns ns ns 60 50 ns ns ns ns 10 25 0 60 15 50 210 10 55 50 ns ns ns ns ns ns ns If you are familiar with the Z80 CPU design, the same interfacing logic applies to the Z180and 1/0 interface (see Figure 9a). This circuit generates IIORD (Read) or lORD (Write) for peripherals from inputs IIORO, !RD, and /WA. The address decodes the Chip Select signal. Note, if you peripherals, the decoder logic decodes only have from addresses (does not have IIORO). The Z180 signals IIORO, IRD, and /WR are active at about the same time (Param #9, 22, 28). However, most of the Z80 peripherals require ICE to IRD or /WR setup time. zao Since the Z180 occupies 64 bytes 011/0 addressing space for system control and on-chip peripherals, there are no overlapping 1/0 addresses for off-chip peripherals. In this design, leave the area as default or assign on-chip registers at 1/0 address Ooooh to 003Fh. Figure 9 shows a simple address decoder (the required interface signals, other than address decode outputs, are discussed later). HCT138 A6 G1 1Y9 50 - A17 IG2A 1Y6 58 - A2 IG2B 1Y5 54- 1Y4 50 - A5 C 1Y3 40- A4 B 1Y2 48- A3 A 1Y1 44- IYO 40 - cg IIORO IRD twR : Chip Select Signals for Peripherals IIORD To Each Peripherals' IRD IIOWR To Each F'eripherals' twR Figure9A. 1/0 Interface Logic (Example) 4.7KO IUSRRAM A7 >:===~=:rl > AS >------~HCT10 lessee (To sec Interface Logic) Figure 9B. 1/0 Address Decoder for this Board When expanding this board to enable other peripherals, the decoded address A6/A7 is NANDed with USRIO to produce the Chip Enable (CSSCC) output signal (HC10). The SCC registers are assigned from address xxCOh to xxC3h; with image, they occupy xxCOh to xxFFh. To add wait states during 1/0 transactions, use the Z180 on-chip wait state generator instead of external hardware logic. If there is a Z80 PIO on board in a Z-mode of operation (that is, clear 1M 1E in OMCR register to zero) and after enabling a Z80 PIO interrupt. zero is written to MHE in the OMCR register. Without a zero, there is no interrupt from the Z80 PIO. The Z80 PIO requires /M1 to activate an interrupt circuit after enabling interrupt by software. 639 Z180 TO SCC INTERFACE The following subsections discuss the various parameters between the Z180/SCC interface: CPU hardware, I/O opinterrupt daisyeration (read/write), SCC interrupts, chain operation, SCC interrupt daisy-chain 'operation, I/O cycles. Interrupt Control IINTACK. Interrupt Acknowledge (input, active low). This signal shows an Interrupt Acknowledge cycle which combines with /RO to gate the interrupt vector onto the data bus. CPU Hardware Interfacing liNT. Interrupt request (output, open-drain, active low). The hardware interface has three basic groups of signals: Oata bus, system control, and interrupt control. For more detailed signal information, refer to Zilog's Technical Manuals, and Product Specifications for each device. lEI. Interrupt Enable In (input, active high). zao lEO. Interrupt Enable Out (Output, active high). These lines control the interrupt daisy chain for the peripheral interrupt response. Data Bus Signals 07-00. Data bus (Bidirectional, 3-state). This bus transfers data between the Z180 and SCC. see I/O Operation The SCC generates internal control Signals from /RO or /WR. Sihce PCLK has no required phase relationship to /RO or /WR, the circuitry generating these signals provides time for meta stable conditions to disappear. System Control Signals AlIB, CIID. Registerselectsignals(lnput). These lines select the registers. ICE. Chip enable (Input, active low). ICE selects the proper peripheral for programming. ICE is gated with /IORQ or /MREQ to prevent false chip selects during other machine cycles. The SCC starts the different operating modes by programming the internal registers. Accessing these internal registers occurs during I/O Read and Write cycles, described below. IRO+. Read (input, active low). /RO activates the chip-read circuitry and gates data from the chip onto the data bus. Read Cycle Timing Figure 10 illustrates the SCC Read cycle timing. All register addresses and /INTACK are stable throughout the cycle. The timing specification of SCC requires that the ICE signal (and address) be stable when /RO is active. IWR+. Write (Input, active low). /WR strobes data from the data bus into the peripheral. Chip reset occurs when fRO and /WR are active simultaneously. X Address IINTACK ICE IRO 07-00 J \ I \ I \ ( X Figure 10. SCC Read Cycle Timing 640 x= Address Valid OalaValid ) Write Cycle Timing Figure 11 illustrates the SCC Write cycle timing, All register addresses and liNT ACK are stable throughout the cycle. The timing specification of the SCC requires that the ICE X Address IINTACK signal (and address)be'stable when IRO is active. Data is available to the SCC before the falling edge of /WR and remains active until /WR goes inactive .. >C Address Valid J ICE \ \ L / \ twR < 07-00 OataValid ) Figure 11. SCC Write Cycle Timing SCC Interrupt Operation Understanding SCC interrupt operations requires a basic knowledge of the Interrupt Pending (IP) and Interrupt Under Service (IUS) bits in relation to the daisy chain. The Zl80 and SCC design allow no additional interrupt requests during an Interrupt Acknowledge cycle, This permits the interrupt daisy chain to settle, ensuring proper response of the interrupt device, The IP bit sets in the SCC for CPU intervention requirements (that is, buffer empty, character available, error detection, or status changes). The interrupt acknowledge cycle does not reset the IP bit. The IP bit clears by a software command to the SCC, or when the action that generated the interrupt ends, for example, reading a receive character for receive interrupt. Others are, writing data to the transmitter data register, issuing Reset TX interrupt pending command tor Tx buffer empty interrupt, etc.), After servicing the interrupt, other interrupts can occur, . The IUS bit means the CPU is servicing an interrupt The IUS bit sets during an Interrupt Acknowledge cycle if the IP bit sets and the lEI line is High. If the IEllfne is low, the IUS bit is not set This keeps the device from placing its vector onto the data bus. The IUS bit clears in the Z80 peripherals by decoding the RETI instruction, A software command also clears the IUS bit in the Z80 peripherals. Only software commands clear the IUS bit in the SCC, Z80 Interrupt Daisy-Chain Operation In the Z80 peripherals, both IP and IUS bits control the lEO line and the lower portion of the daisy chain. When a peripheral's IP bit sets, the lEO line goes low This is true regardless of the state of the lEI line, Additionally, if the peripheral's IUS bit clears and its lEI line is High, the liNT line goes low, The Z80 peripherals sample for both IM1 and IIORO active (and IRO inactive) to identify an Interrupt Acknowledge cycle, When IM1 goes active and IRO is inactive, the peripheral detects an Interrupt Acknowledge cycle and allows its interrupt daisy chain to settle. When the IIORO line goes active with IM1 active, the highest priority interrupting peripheral places its interrupt vector onto the data bus. The IUS bit also sets to show that the peripheral is now under service, As long as the IUS bit sets, the lEO line remains low, This inhibits any lower priority devices from requesting an interrupt. 641 When the Z180 CPU executes the RETI instruction, the peripherals check the data bus and the highest priority device under service resets its IUS bit. interrupt status. Table u shows the truth .table for the sce interrupt daisy chain control signals during certain cycles. Table 7 shows the interrupt state diagram for the see. SCC Interrupt Daisy-Chain Operation Table 6. In the SCC, the IUS bit normally controls the state ofthe lEO line. The IP bit affects the daisy chain only during an Interrupt Acknowledge cycle. Since the IP bit is normally not part of the SCC .interrupt daisy chain, there is no need to decode the RETI instruction To allow for control over the daisy chain, the SCC has a Disable Lower Chain (OLC) software command that pulls lEO low. This selectively deactivates parts of the daisy chain regardless of the Table 7. sec Daisy Chain Signal Truth Table During Idle State lEI IP IUS 0 1 1 1 X X X 0 X 0 1 0 During INTACK Cycle lEO lEI IP IUS lEO 0 1 0 1 0 1 1 X 1 X X X 1 0 0 0 sec Interrupt Status Diagram Interrupt Condition Wait For CPU IINTACK Cycle Return To Main Program The sec uses /INTACK (Interrupt Acknowledge) for recognition of an interrupt acknowledge cycle. This pin, used .with /RO; allows the SCC to gate its interrupt vector onto the data bus. An active/RO signal during an interrupt acknowledge cycle performs two functions. First, it allows the highest priority device requesting an interrupt to place its vector on the data bus. Secondly, it sets the IUS bit in the highest priority device to show the device is now under service. INPUT/OUTPUT CYCLES Although the sec is a universal design. certain timing parameters differ from the Z180 timing. The following subsections discuss the I/O interface for the Z180 MPU and SCC. 642 Z180 MPU to SCC Interface Table 8 shows key parameters of the 10 MHz sec for I/O read/write cycles. Table 8. 10 MHz SCC Timing Parameters for 1/0 ReadlWrlte Cycle (Worst Case) No Symbol. 6 7 8 9 TsA(WR) ThA(WR) TsA(RO) ThA(RO) 16 17 19 20 TsCEI(WR) ThCE(WR) TsCEI(RO) ThCE(RO) fCE fCE fCE fCE 22 25 27 28 29 30 TwROI TdROf(OR) TdA(OR) TwWRI TsOW(WR) TdWR(W) fRO Low Width fRO Low to Read Data Valid Address to Read Data Valid /WR Low Width Write Data to fWR Low Setup Write Data to fWR High Hold Parameter . Address Address Address Address to fWR Low Setup to fWR High Hold to fRO Low Setup to fRO High Hold Low to fWR Low Setup to /WR High Hold Low to fRO Low Setup to fRO High Hold Min Max Units 50 0 50 0 ns ns ns ns 0 0 0 0 ns ns ns ns 125 120 180 125 10 0 ns ns ns ns ns ns SCC I/O Read/Write Cycle Assume that the Z100 MPU's flOC bit in the OMCR (Operation Mode Control Register) clears to 0 (this condition is a ZOO compatible timing mode for flORO and fRO). The following are several design points to consider (also see Table 3). . I/O Read Cycle Parameters 8 and 9 mean that Address is stable 50ns before the falling edge of fRO and until fRO goes inactive. Parameters 19 and 20 mean that fCE is stable at the falling edge of fRO and until fRO goes inactive. Parameter 22 means the fRO pulse width is wider than 125ns. 1/0 Write Cycle Parameters 6 and 7 mean that Address is stable 50ns before the falling edge of /WR and is stable until /WR goes inactive. Parameters 16 and 17 mean that fCE is stable at the falli1l9 edge of /WR and is stable until /W goes inactive. Parameter 28 means /WR pulse width is wider than 125ns. Parameters 28 and 29 mean that Write data is on the data bus 10ns before the falling edge of /WR It is stable until the riSing edge of /WA. Tables 9 and 10 show the worst case SCC parameters calculating Z180 parameters at 10 MHz. Parameters 25 and 27 mean that Read data is available on the data bus 120ns later than the falling edge of fRO and 180ns from a stable Address. 643 Table 9. Parameter Equations Worst Case (Without Delay Signals· No Walt State) see . Parameters Z180 Equation Value' Units TsA(RD) TdA(DR) TdRDf(DR) tcyc-tAD+ tROD 1 3tcyc+tCHW+tcf-tAD-tDRS 2tcyc+tCHW+tcf-tRDD1-tDRS 30 min 245 min 160 min ns ns ns TwRDI 'TsA(WR) TsDW(WR) TwWRI 2tcyc+tCHW+tcf-tDRS+tRDD2 tcyc-tAD+ tWRD 1 tWOS tWAP 185 min 30 min 15 min 210 min ns ns ns ns Value Units 241 min ns 184 min ns Table 10. Parameter Equations Z180 see Parameters Equation tORS Address 3tcyc+tCHW-tAD-TdA(DR) RD 2tcyc+tCHW-tRDD1-TdRD(DR) I/O Read Cycle These tables show that a delay of the falling edge of IRD satisfies the SCC TsA(RD) timing requirement of 50ns min. The Z180 calculated value is 30ns min for the worst case. Also, Z180 timing specification tAH (Address Hold time) is 10ns min. The SCC timing parameters ThA(RD) (Address to IRD High Hold} and ThCE(RD) {ICE to /AD High HOld} are minimum at Ons. The rising edge of /AD is early to guarantee these parameters when considering address decoders and gate propagation delays. I/O Write Cycle Delay the falling edge of twR to satisfy the SCC TsA(/WR) timing requirement of 50ns min. The Z180 calculates 30ns 644 min worst case. Further, the Z 180 timing specifications tAH (A,ddress Hold time) and tWDH (twR high to data hold time) arE! bOth 10ns min. The SCC· timing parameters ThA(WR) {Address to twR High Hold}', ThCE(WR) {ICE to twR High Hold} and TdWR(W) {Write data to twR High hold} are a minimum of 0 ns. The riSing edge of twR is early to guarantee these parameter requirements, This Circuit 'depicts logic for the 1/0 interface and the Interrupt Acknowledge Interface for 10 MHz clock of operation. Fjgure 12 is the I/O readlwrite timing chart (discussions of timing considerations on the Interrupt Acknowledge cycle and the circuit using EPLD occur later). To 85C30 ICE ICSSCC !WR HCT74 HCT164 0 0 CK A 00 B 01 /cLR 02 HCT27 03 HCT04 CK 04 HCT27 To 85C30 !WR To 85C30 fRO 05 HOT04 06 07 IRO HCT04 'RESET HCT164 1M REO A 1M1 00 B 01 CLR 02 03 CK 04 To 85C30 IINTACK To Z180 !WAIT 05 06 97 4.7K Intemal !WAIT Input Figure 12. SCC I/O ReadlWrite Cycle Timing If you are running your system slower than 8 MHz. remove the HCT7 4, O-Flip/Flop in front of HCT164. Connect the inverted CSSCC to the HCT164 B input. This is a required Flip/Flop because the Z180 timing specification on 11001 (Clock High to /IORO Low, 10C=O) is maximum at 55ns. This is longer than half the PHI clock cycle. Sample it using the rising edge of clock, otherw(se, HCT164 does not generate the same signals. The RESET signal feeds the SCC /RO and twR through HCT27 and HCT02 to supply the hardware reset signal. To reduce the gate count, drop these gates and make the SCC reset by its software command. The SCC software reset - OCOh to Write Register 9, "Hardware Reset command" has the same effect as hardware reset by "Hardware. " Interrupt Acknowledge Cycle Timing The primary timing differences between the Z180 and SCC occur In the Interrupt Acknowledge cycle. The SCC timing parameters that are significant during Interrupt Acknowledge cycles are in Table 11. The Z180 timing parameters are in Table 12. The reference numbers in Tables 11 and 12 refer to Figure 14. 645 Table 11. 10MHz SCC Timing Parameters for Interrupt Acknowledge Cycle No Symbol Parameter Min 13 14 15 38 TsIAi(RD) ThIA(RD) ThIA(PC) TwRDA IINTACK Low to IRD Low Setup liNTACK High to IRD High Hold IINTACK to PCLK High Hold liNTACK Low to IRD Low Delay (Acknowledge) 130 0 30 125 39 40 TwRDA TdRDA(DR) IRD (Acknowledge) Width IRD Low (Acknowledge) to 125 41 TsIEI(RDA) Read Data Valid Delay lEI to IRD Low (Acknowledge) Setup Time 42 ThIEI(RDA) 43 TdIEI(IEO) Interrup~ No Symbol Parameter 10 14 15 tM1D1 tM1D2 tORS Clock High to IM1 Low, Clock High to IM1 High Data to Clock Setup 16 28 29 30 tDRH 11001 11002 11003 Data Read Hold Time Clock LOW to IIORO Low Clock LOW to IIORO High 1fv11 Low to IIORO Low Delay Units ns ns ns ns 120 lEI to IRD High (Acknowledge) Hold Time lEI to lEO Delay Table 12. Z180 Timing Parameters Max ns ns 95 ns 0 ns 175 ns Acknowledge Cycles (Worst Case Z180) Min Max Units 60 60 ns ns ns 25 0 50 50 200 ns ns ns ns Note: Parameter numbers in this table are the numbers in the Z180 technical manual. During an Interrupt Acknowledge cycle, the SCC requires both IINTACK and IRD to be active at certain times. Since the Z180 does not issue either IINTACK or IRD, external logic generates these Signals. The Z180 is in a Wait condition until the vector is valid. I,f there are other peripherals added to the interrupt priority daisy chain, more Wait states may be necessary to give it time to settle. Allow enough time between IINTACK active and IRD active for the entire daisy chain to settle 646 There is no need of decoding the RETI instruction used by the Z80 peripherals since the SCC daisy chain does not use IP, except during Interrupt Acknowledge. The SCC and other Z8500 peripherals have commands that reset the individual IUS flag. External Interface for Interrupt Acknowledge Cycle: The bottom half of Figure 13 is the interface logic for the Interrupt Acknowledge cycle. I Tl ~ T2 Twl I ..ffi lOOns rc- Address ~+---------+--------------+----~-----~---- 10 ns min ~70nsmax ,_ !--® " nOAO I ISCCSEl _ + - -_ _ _+--""'_-+-..,nsmj 50nsmax ~=!>-t Ii ~ JI-~~-----I--I-fl--f.- _ 20nsmax _ 20 ns max HC74 10 10nsmax HCT164/ClA -n HCTl64 ClK H IOns max- ~""---I-+------+----H.\ .....--~ll0nsmax ~II.-- I ~~ _ HCTl64 00 ~ ~10nsmax f.- I A -------f-----+---_--+'- I.-- 20nsmax _ ~20nsmax - ~ 20 ns max I 20nsmax'" lAD (or. twA) _ \JI-+-------+---+') ~ ~ 55nsmax AD> 01 >SCCSEl f--- c-- 15 ns max -------------Ir-.-t--h. f--Data (AD) I ~~ .... HCT164 01 ISCCAOI\(AO> 101> SCCSEl) + AESET] f4--10nsmax ...... " ~ 15nsmax ~ 30n5(>On5) ~200 ns typo (> 125 ns) -------------1----0(. 120nsmax 55 ns max - 1I f4- -- 15 ns max - 15nsmax _>~ns scc X Valid Data }>-----------l1~~:,:,:::~,,",;:::~~~~.1 ~f- >25ns " ISCCWA ~------------------~ Oata(AO) _ _ _ _ _ _ _ _ _ _ _-() ~ SCC ~ 15nsmin = 210ns Figure 13. Z180 to see Interface Logic (Example) -- ~Onsmin 4-@>On5 647 The primary chip in this logic is the Shift register (HCT164), which generates/INTACK, /SCCRD and /WAH. During I/O and normal memory access cycles, the Shift Register (HCT164) remains clegred because the /M1 signal is inactive during the op-code fetch cycle. Since the Shift Register output is Low, control of /SCCRD and /WAIT is by other system logic and gated through the NOR gate (HCT27). During 'I/O and normal memory access cycles, /SCCRD and /SCCWR are generated frbm the system /RD and /WR signals, respectively. The generation is by the logic at the top of Figure .14. . . 1M1 /lORa IINTACK /WAIT ISCCRD sec VECTOR SCC -----------------------------------------G 120 ns max J4----Q9):---J4---<..!§>-- Figure 14. SCC Interrupt Acknowledge Cycle Timing 648 Norma"y, an Interrupt Acknowledge cycle appears from the Z180 during IM1 and IIORO active (which is detected on the third rising edge of PHI after T1 ). To get an early sign of an Interrupt Acknowledge cycle, the Shift register decodes an active IM1. This is during the presence of an inactive IMREO on the rising edge of T2. During an Interrupt Acknowledge cycle, the IINTACK signal is generated on the rising edge ofT2. Since it is the presence of lINTACK and an active SCCRD that gates the interrupt vector onto the data bus, the logic also generates ISCCRD at the proper time. The timing parameter of concern here is TdIAi(RD) [IINTACK to/RD (Acknowledge) Low delay]. This time delay allows the interrupt daisy chain to settle so the device requesting the interrupt places its interrupt vector onto the data bus. The Shift Register allows enough time delay from the generation of IINTACK before it generates /SCCRD. During this delay, it places the Z180 into a Wait state until the valid interrupt vector is placed onto the data bus. If the time between these two Signals is not enough for daisy chain settling, more time is added by taking /SCCRD and /WAIT from a later position on the Shift Register. If there is a requirement for more wait states, the time is calculated by PHI cycles. USING EPLD Figure 15a and Figure 15b show the logic using either EPLD or the circuit ofthis system. The EPLD is ALTERA 61 0 which is a 24-Pin EPLD. The method to convert random gate logic to EPLD is to disassemble MSls' logic into SSI , level, and then simplify the logic. 649 ~ WR@3~ lIP RES@2~IM lIP IORQ@21 ~ IIP SCC@ll ~ IIP ~. CLK@l'~ ~ • D Q ~0UTr-J~0R2~SCCW@19 1m ~ ~ IN OUT _ ~ D 0 SCCR@20 , ,D lIP CLK@13~ RD@4~ IIP _Q123:-1 XWAIT@5 --lIP I ~1 c::: .~- :~ , ~_ OUf D0R2 R __ _ 1 IILOG 12/3/88 Sl80-BeC BUSLOGIC DPF El'tD. 1'610 iii Ml@14 OUT PIM IIP f?=Ul rRJl iRJl ~;S ~ .. CLIt iCC Cili mu! iiiH' Figure 15a. EPLD Circuit Implementation lACK!l8 WAIT@17 Ul DO 01 D2 D3 D' D5 D6 D7 4x7 vee . . DeDO eTSO RTSO NMI K2 ~......ll-, 1 I 49 48 47 46 45 RXAl 53 51 5. RXS TXS CI .«hl» db oo1101ooB ?&?r db 000001ooB+(?&?rAND 7) SHL 3 db db 011oo100B ?r else ifdef else endif end if endm .list end 657 Table 15 lists a program example fortne Z180/SCC DMA transfer test. Table 15. Test Program - Z180/SCC DMA Transfer Test program for 180 DMAlSCC Test 180's DMA function with SCC .* 180 dma - dmaO for scc rx data .* dma1 for scc tx data ;* async, X1 mode, 1 stop, speed = pclk/4 ;* self loop-back .* Connect W/REO to DREOO of 180 .* DTR/REO to DRE01 of 180 B reg'ister returns status info: Bit DO set: Tx DMA end 01 set: Rx DMA end 02 set: Data doesn't match .z800 ;Read in Z180 register names and ;macro fI?r Z180 new instructions *include 180macro.lib ;SCC Registers scc_ad: scc_ac: scc_bd: scc_bc: equ equ equ equ OC3h OC2h OC1h OCOh ;addr of scc ;addr of scc ;addr of scc ;addr of scc scc_a: equ DOh , ;if test ch. a, set this to Offh ;for ch.b, set this to OOh equ 1DOOh ;transfer length org 09000h ;top of user ram area Id Id Id Id autO sp,tx_buff a,(high z180vect) and Offh i,a a,OOh (iI),a ;initsp ;init i reg if scc_cont: scc_data: ch ch ch ch a - data a - control b - data b - control scc_a equ equ else scc_cont: scc_data: equ equ end if length: sccdma: 658 ;init il im call call call Id 2 filLmem initscc initdma b,O ;Set interrupt mode 2 ;initialize tx/rx buffer area ;initialize scc Id out a,OOh (scc_data),a ;Ioad 1st data to be sent Id outO a,ll00ll00b (dstat),a ;enable dmac and int from DMAO Id out Id out a,05h (scc_cont),a a,01101000b (scc_cont),a ;selectWR5 ei ;init status ;start tll ;wait here for completion bit ir 1,b z,loop ;rx dma end? ;not, then loop again bc bC,length de,tx_buff hi ,rx_buff ;save bc reg ;compare Ix data with rx data good: push Id Id Id a,(de) cpi ir ip inc ir pop set ir pop nz,bad_data v,good de chkloop bc 2,b enddma bc enddma: ir $ ;tx/rx completed ;you can put breakpoint here filLmem: d Id Id Id Idi ip dec inc ir hl,temp bC,length de,tx_buff (hl),OOh ; prepare data to be sent ; set length Id Id Id Idi ret bC,length de ,rx_buff (hl),OOh loop: chkloop: bad_data: filUoop: filLOO: fill_OOI: Id ;restore bc ;set error flag ;restore bc nv,filLOO hi (hi) filUoop ; 'clear rx buffer area to zero nv 659 initscc: initO: dec jr hi filLOOI Id· Id cp ret out inc Id out inc jr hl,scctab a,(hl) Offh z (scc_cont),a hi a,(hl) (scc_cont),a hi initO ; initializa scc Id Id Id otimr Id outO Id outO hl,addrtab c,sarOI b,dstat - sa,rOI ;initialize DMA a,OOOOii00b (dmode),a a,0100i000b (dcntl),a ;dmacO - i/o to mem++ ;intialize zi80's scc initdma: ; 1 mem wait, no i/o wait, ;EDGE trigger, mem ++ to i/o ;should be EDGE for Tx DMA ;NOT level ;- because of DTR/REQ timing ret txend: Id outO set ei ret a,00010100b (dstat),a O,b ;isr for dma1 int-complete tx ;disable dma1 ;set status rxend: Id outO set ei " ret a,00100000b (dstat),a 1,b ;isr for dmaO int ;disable dmaO ;set status ;initialization data table for scc ;table format - register number, then value for the register ;and ends with Offh - since scc doesn't have ;register Offh ... scctab: db 09h ;selectWR9 db 10000000b ;reset ch a db 01000000b ;Reset Ch B db db 04h 00000100b ;selectWR4 ;async,x 1,1 stop, parity off if scc_a else endif 660 db db 01h 01100000b ;select WR1 ;REOon Rx' db db 02h OOh ;selectWR2 ;OOh as vector base db db 03h 11000000b ;selectWR3 ;Rx 8biVchar db db 05h 01100000b ;selectWR5 ;tx 8biVchar db db 06h OOh ;selectWR6 db db 07h OOh ;selecl WR7 db db 09h 000OOOO1b ;selectWR9 ;stat low, vis db db Oah OOOOOOOOb ;select WR10 ;set as default db db Obh 01010110b 0 1010 110 ;select WR11 db db Och OOh ;selectWR12 ;BRTC Low db db Odh OOh ;select WR12 ;BR TC high db db Oeh 00010110b 000 1 0 1 1 0 ;select WR14 Oeh 00010111b 000 1 0 1 1 1 ;select WR14 03h 11000001b ;selectWR3 ;rx enable db db db db Noxtal TxC,RxC from BRG TRxC = BRG output nothing about DPLL Local loopback No local echo DTR/REO is req BRG source = PCLK Not enabling BRG yet nothing about DPLL Local loopback No local echo DTR/REO is REO BRG source = PCLK Enable BRG 661 db db 01h 11100000b ;select WR1 ;enable DMA db db Ofh OOOOOOOOb ;select WR15 ;don't use any of exVstat int db db 10h 10h ;reset ext/stat twice db db 01h 11100000b ,select WR1 ;no int db db 09h oo001001b ;selsct WR9 ;enableint db Offh ;end of table db db db scc_data OOh OOh ;dmacO source dw db rx_buff OOh ,dmacO dist dw length ,byte count dw db tx_buff+ 1 OOh ;mar db db scc data OOh ;iar db OOh ;dummyl dw length-l ;byte count org .block .block .block .block dw dw block .block block sccdma + 200h 2 2 2 2 rxend txend 2 2 2 ;180 int1 vect 00000 ; 180 int2 vect 00010 ; 180 prtO vect 00100 ;180 prt1 vect 00110 ;180 dmacO vect 01000 ;180 dmacl vect 01010 180 csi/o vect 01100 180 asciO vec! 01110 180 asci1 vect 10000 org .block .block block sccdma + 1000h length length 1 ;source/dist addr table for Z180's dma addrtab: ;interrupt vector table z180vect: tx_buff: rx_buff: temp: end 662 First, this program (Table 15) initializes the SCC by: Async, X1 mode, 8-bit 1 stop, Non-parity. Tx and Rx clock from BRG, and BRG set to PCLK/4.Self Loopback Then, it initializes 4K bytes of memory with a repeating pattern beginning with OOh and increases by one to FFh (uses this as Tx buffer area). Also, it begins another 4K bytes of memory as a Rx buffer with all zeros. After starting, DMA initialization follows: DMACO: For Rx data transfer: I/O to Mem, Source addressfixed,Destination address-increasing. Edge sense mode: Interrupt on end of transfer. DMAC1: For Tx data transfer: Mem to I/O, Source addressincreasing, Destination address- fixed. Edge sense mode: Interrupt on end of transfer. Now, start sending with DMA. On completion of the transfer, the 2180 DMAC1 generates an interrupt. Then, wait for the interrupt from DMACO which shows an end of receive. Now, compare received data with sent data. If the transfer was successful (source data matched with destination), OOh is left in the accumulator. If not successful, OFFh is left in the accumulator. This program example speCifies a way to initialize the SCC and the Z180 DMA. CONCLUSION This Application Note describes only one example of implementation, but gives you an idea of how to design the system using the Z180 and SCC. For further design assistance, a completed board together with the Debug/Monitor program and the listed sample program are available. If interested, please contact your local Zilog sales office. 663 ___ ~,~ _____ ,"""~""'L",,,,." .......... ~r~~'~."~,~~"''"'i'T'---'''''''''I'''~, •• -,.,........,-.--,...,,, 664 ApPLICATION NoTE • ~ZiIill USING' SCC WITH Z8000 IN SQLC PROTOCOL This application note describes the usa of the Z8030 Serial Communications Controller (Z-SCC) with the ZBOOO™ CPU to i""lement a communicationa controller in a Synchronous Data Link In thia Control (SOLC) mode of operation. appliclltion, the ZB002 CPU acts as a controller for the Z-SCC. This application note also applies to the non-multiplexed ZB~30. signal, the Z-SCC introduces extrs wait cycles in order to synchronize the data transfer between a controller or DMA and the Z-SCC. The exa""le given here uses the block mode of data transrer in, its tranamit and receive routinea. SOle PROTOCOl • Dne channel of the Z-SCC communicstes with the remote ststion in Half Duplex mode st 9600 bits/second.' To test this applicstion, two ZBOOO Dsvelopment Modules sre used. Both are loaded with the same software routinea for initialization and for transmitting and receiving meaaages. The main program of one module requests the transmit routine to send a message of the length indicated by the 'COUNT' parameter. The other ayatem receives the _incoming data stream, storing the message in ita resident memory. DATA TRANSfER IDlES The Z-SCC system interface supports the following data transfar modes: • • Polled tbIe. The CPU periodically polls the Z-SCC stlltus registers ~o determine if a received character is available, if a character is needed for transmission, and if any errors heve been detected. Interrupt tbIe. The Z-SCC interrupts ths CPU when certain previouely defined conditions are met. Data communicationa today require a communications protocol that can transfer data quickly and reliably. (he such protocol, Synchronous Data Link Control (SOLC), ia the link control uaed by tha IQM Systems Network Architectura (SNA) communications psckage. SOLC ia a subset of the International Standards Organization (ISO) link control called High-Level Data Link Control (HOLC) , which is used for international data communicstions. SOLC is a bit-oriented protocol (80P). It differs from byte-control protocols (BCPs), such as Bisync, in that it uaes only a few bit patterns for control functions instead of aeveral special character sequences. The sttributes of the SOLC protocol are poaition dependent rather than character dependent, so the data link control is determined by the poaition of the byte aa well as by the bit pattern. A character in SOLC ia aent as an octet, a group of eight bits. Sevsral octets combine to form a meesage frsme, in which each Octet be longs to a particular field. Each message containa: opening flag, addreas, control, information, frame Check Sequence (fCS), end closing flag (figure 1). • ,Block/llM !tide. Using the Wsit/Request (W!REQ~ / 665 I - - - - - - Z E R O INSERTION/DELETION ------10--11 I _ - - - - C R C ACCUMULATION - - - ' - -. . . ZERO OR MORE 8·BIT CHARACTERS FLAG (BEGINNING OF MESSAGE FRAME) ADDRESS Figure 1. CONTROL INFORMATION FCS FLAG (END OF MESSAGE FRAME) Fields of the SOLC Tr.-iBBion Fr_ Both flag fields contain a unique binsry pattern, 01111110, which indicates the beginning or the end of,the message frame. This pattern simplifies the hardwara intarface in receiving devices so that multiple devices connected to a common link do not conflict with one another. The receiving'devices respond only after a valid flag character has been detected. Once communication is established with a ,particular device, the other devices ignore the measage until the' next flag character is detected. The address field contains one or lmore octets, which are used to se lect a particular station on the data'link. An address of eight 1s is a global address code that selects all the devices on the data link. When a primary' station sends a frame, the address field is used to select are of several secondary atations; When a secondary station s~n~~ a me~sage to the primary station, the address fiald contains the secondary station address, i.e." the source of the message. The control field follows the address field and contains information about the type of frame being sent. The control field consists of one octet that is always present. any sctusl The information field contains transferred dsta. This field msy be empty or it may contain an unlimited number of octets. However, becsuse of the limitations of the error-checking algorithm used in the frame-check sequence, however, the msximum recommended block size is approximately 4096 octets. . The frsme check sequence field follows the information or control field. 'The res is a 16-bit Cyclic Redundancy Check (CRC) of the bits in the address, control, and information fields. The FCS is based on the CRC-CCI TT code, which uses the polynomial (x 16 + x 12 + x 5 + 1). The lBmO Z-SCC contains the circuitry necessary to generate and check the rcs field. Zero insertion and deletion is a feature of SOLC that' allows any dat'a pattern to be sent. Zero insertion occurs when five consecutive 1s in the data pattern are transmitted. After the fifth 1, a o ia i'nserted before the' next bit 'is sent. The . , extra 0 'does not affect the data in any way and is deleted by the receiver, thua restoring the original data pattern. Zero insertion and deletion insures that the data stream will not contain a flag character or abort sequence. Six 1s preceded and followed by Os indicate' a flag sequence character. Seven to fourteen 1s signify an abort; 15 or more 1s indicate an idle (inactive) line. lklder these three conditions, zero insertion and deletion are inhibited. Figure, 2 illustrates the various line conditions. A. ZERO INSERTION FLAG ADDRESS CONTROL FLAG I '/ 01111110 I DATA ACTUAL STREAM ZERO INSERTION ADDRESS CONTROL =' 10101011 = 01111111 B. ABORT CONDITION --- •••xlllllll0llllll0 ........ ABORT FLAG C. IDLE CONDITION xxxx111111111111111 ........ Figure' 2. 666 Bit Pattems for Various Line Conditions • The SOLC protoco 1 differs from other synchronous protocols with respect to frame timing. In Bisync mode, for exa~ Ie, a host computer might temporarily interrupt transmission by sending sync characters instead of data. This suspended condition continues as long as the receiver does not time out. With SOLC, however, it is invalid to send flags in the middle of a frame to idle the line. Such action causes an error condition and disrupta orderly operation. Thus, the transmitting device must send a co~lete frame without interruption. If a message cannot be transmitted co~letely, the primary station sends an abort sequence and restarts the message transmission at a later time. SYSTEM INTERFACE The lS002 Development M:!dule consists of a la002 CPU, 16k words of dynamic RAM, 2k words of EPROM monitor, a lSQA SID providing dual serial ports, a lS01 CTC peripheral device providing four counter/timer channels, two laOA PIO devices providing 32 programmable I/O lines, and wire wrap area for prototyping. The block diagram is depicted in figure 3. Each of the peripherals in the development module is connected in a prioritized daisy chain configuration. The Z-SCC is included in this configuration by tying its lEI line to the iEO line of another device, thus making it one step lower in interrupt priority co~ared to the other device. FlS·232C SERIAL CHANNELS (2) RESET SWITCH NMI SWITCH Z8000 CPU CONTROL INPUTS EXT~~~~~ ~:::::::::::::::::~/I INIOUT \I Figure ,. Block Diagr_ of If!OOO OM 667 Two zeooo Development Modules containing Z-SCCs are connected as shown in Figure 4 snd Figure S. The Transmit Dsta pin of one is connected to the Receive Date pin of the other and vice versa. The Ze002 is used as a host CPU fo~ loading the modules' memories with software routines. _.ifuF _ _ -_ -_'f'Iiic _ R~ _ _ .!!'I!.. • LOCAL Figure.. AlDG T'~ - - iifx'e ffii" 8 zaooll z·acc zaooll Z·8CC . REMOTE' Block Di9. of Tw Z8000 CPUa The le002 CPU csn addre~s either of the two bytes contained in 16-bi t words. "the CPU. uses an even address (16 bita) to access the most significant byte of a word and an odd addreas for the least significant byte of a word. When the Ze002 CPU uses the lower half of the ActdressiData bus (ADO-AD7 the least significant byte) for byte read and write transactions during 1/0 oilerationa, these transactions are performed between the CPU and 1/0 ports located at odd 1/0 addresses. Since the I-SeC is ettached to the CPU on the lower half of the A/D bus, its registers must appear to the CPU at odd 1/0 addresses. To achieve this, the Z-SCC can be programmed to select its internal registers using lines AD1-ADS. This is done either automaticslly with the force Hardware Reset commsnd in WR9 or by sending a Select Shift Left Mode commsnd tb WROB in channel B of the Z":SCC. for, this application, the Z-SCC registers are located at I/O port address 'fExx'. The Chip Select signal (CSO) is derived by decoding I/O address 'fE' hex from linea ADe-AD1S of the controller. To select the read/write registers sutomatically, the Z-SCC decodes linea AD1-ADS in Shift Left mode. The register map'for the Z-SCC is depicted in Table 1. , lable 1. Adckess. (hex) fE01 fE03 fEDS fE07 FE09 FEDB FEOD FEDF fE11 fEB FE1S fE17 FE19 fE1B FpD ft1f FE21 FEi3 fE25 FE27 fE29 FE2B fE2D ft2F FEJ1 FE.n fE3S FEJ7 FE:39 FE3B fOD FEJF Register Map Write Register Read Register WRI)8 WR1B WR2 WIUB WR48 WRSB WR6B WR7B B DATA RRDe RR1B RR2B RR3B WR108 WR11B WR12B WR13B WR148 WR1SB ",ROA WR1A WR2 WR3A WR4A WR5A WR6A WR7A A DATA WR9 WR10A WR11A WR12A WR13A WR14A WR1SA RR108 WR9 B DATA RR12B RR13B RR1SB RROA RR1A RR2A RR3A A DATA RR10A RR12A RR13A RR15A INITlAlIZATilW The I-SCC can be initialized for use in different modes by setting various bits in its write registers. First, a hardwsre reset must be La 24' .--I A D 1 S § B 8 •• lAD,. 38 IA013 10 IAD12 11 28 18 .. 18 81'D" II +6V :I: II :I: : r ::j"" ~ 1'3~ -t:: .. .,; .--- IAD1'~ ••• 38 IAO'0 IAD9 10 28 11 lAD, 18 3 • AD" 3A1-!. :1: II .--- i I IAD7~' •• IAD6 38 i lADs 10 28 lAD. 11 18 .. ~ $ ~y ~ 1 -i ~ 17 ST, 5T2 ST, ST, "20 21 13 15 1A03 j IA02 lAD, IADo Ii 48 -----"::'"1 .5V r I ;~~ i r 4A 12 C 14 • - ~ I; :r:-: I ,.. II-!.!..:~+I - NIS LS Ig IRIW ,-I- - IHIS Z8002 ~ l' ~'3 AD3 38 3A 33 AD2 28 18 2A 1A : AD, ADo BUSACK 24 .... ... -'" - ... ~ 1'3~ "D"~ 4.7 KU lAD,. III ~'T 1A013 ..""~ IAD'0 "0, Y1. "0, mfl: 13~ REftf' mfl 14 4MHz 30 ~ CLOCK 8l <.0 Figure 5. Z8OO2 With sec 7 -1I I YIACK IADo IA~ IA~ -t:: --t ~ "" 40 1 39 -INTACK ADo AD, A1>2 IAD3 2 AD3 lAD. 38 AD. lADs 3 ADs lADs 37 IADr -4 ADr Vi 5 iNi 4MHz 20 +5V 7 6 lEO iAS 35 iDS 36 AS Os IRIW 34 RiW +5V 32 CSt 33 CSO A 1A012 NV. RESET ~ zaoao Y7 _ 24. 34 tV i:. ~ Y-L. r--- 1 ~'8::~::::::::==:J:±:::t:: 1~.~+------r=r=r==~--.----------=--.. ~ La ~ 18 ~I~: ~ 3A M ~~ AD'0 ~ j +------+---.. iAS iDS os ADa PCLK lEI • T,D' 13 RxDA ~ 14 lR.CA 10 12 MiCA WAIT performed by setting bits 7 and 6 of WR9 to one; the rest of the bits are disabled by writing a 10g1c zero. SOLC protocol is eatabliahed by selecting a SOLC mode, sync mode enable, and a x1 clock in WR4. A data rate of 9600 baud, NR1 encoding, and a character length of eight bits are among the other options that are selected in this example (Table 2). Note that WR9 is accessed twice, first to perform a hardwsre reset and again at the ~nd of the initialization sequence to enable interrupts. The programming bequence depicted in Table 2 establishes the necesssry parameters for the receiver and tranamitter so that they are ready to perform communication tasks when enabled. Enable (VIE) bita aet. The Program Status Area Pointe'r (PSAP) is loaded with the address %4400 using the Load Control instruction (LOCTL). If the .1BOOO Development Ibdule is intended to be usild, the PSAP need not. be loaded by the progr':lmmer because the development module' a monitor loads, it automatically after the NMI button is pressed. Since VIS and Status Low are selected in WR9, the vectora listed in Table 3 will be returned during the Interrupt Acknowledge cycle. Of the four interrupt's listed, only two, Ch A Receive Character Available ~nd Ch A Special Receive Condition, are used ini the example given here. Table 3. (hex) PS Addreaa* (hex) 2B 2A 2C 2E 446E 4472 4476 447A Vect~ Table 2. Progr-mg Sequance for Initialization Value Register (hex) WR9 WR4 CO 20 WR11l WR6 WR7 WR2 WR11 BO AB 7E 20 16 WR12 CE WR1J WR14 0 03 WR1S WRS 00 60 WR3 C1 WR1 08 WR9 09 Effect Hardware reset x1 'clock, SOlC mode, sync mode enable NR1, CRC pre,set to one Any station address e.g. "AB" SOLC flag (01111110) = "7E" Interrupt vector "20" Tx clock from BRG output, TRxC pin = BRG out Lower byte of time constant = "CE" for 9600 baud ~per byte = 0 BRG source bit = 1 for PCLK as input, BRG enable External Interrupt Disabla Tra~smit B bits/character SOlC CRC Rx' B bits/character, Rx enable (Automatic Hunt mode) Rdnt on 1st char & sp. cond., ext into disable HIE, ,VIS, statua, Low The 18002 CPU must be operated in System mode to execute privileged ,I/O instructions. So the flag and Control Wor'd (fCW) should be loaded with system normal (S/N) , and the Vectored Interrupt 670 Interrupt Vectors Interrupt Ch Ch Ch Ch A Transmit Buffer Empty A External Status Change A Receive Char. Available A Special Receive Condition *Assuming that PSAP has been aet to 4400 he«, "PS Adc!ress" refers to the location in the Program Status Area where the service routine address is stored'for that particular interrupt. TRANSMIT OPERATION To tranamit a block of data, the main program calls .1 up the transmit data routine. With this routine, each messsge block to be transmitted is stored in memory, beginning with location 'TBUf'. The number of characters contained in each block is determined by the value aSSigned to the 'COUNT' parameter in the main module. To prepare for transmission, the routine enables the transmitter and selects the Wait On Transmit function; it 'then enables the wait functi0l,l. The Wait On Transmit function indicates to the CPU whether or nat the 1-SCC ·is ready to accept data from the CPU. If the CPU attempta to send data to the Z-SCC when the transmit buffer is full, the Z-SCC ~sserts its Wait line and keeps it Low u~til the buffer is empty~ In response, the CPU extends itS' I/O cycles until the Wait line goes inactive, indicating that the Z-SCC is ready to, receive data. The CRC generator is reset and the Transmit CRC bit is enabled before the first character is sent, thus inc luding all the characters sent to the I-SCC in the CRC calculation. The I-SCC's transmit underrun/EOM latch must be reset sometime after the first character is transmitted by writing a Reset Tx Underrun/EOM command to WRO. When this latch is reset, the Z-SCC automatically appends the CRC characters to the end of the message in the case I, of an underrun condition. finally', a three-character delay is introduced at the end of the transmission" which allows the Z-SCC sufficient time to transmit the last data byte and two CRC characters before disabling the transmitter. RECEIVE OPERATIII' 33t0 0076 LDA RO,REC LD Rl(n76) ,RO 0016 0018 001A 001C OOlE 0020 0022 0024 0026 7600 OOPA' 3310 007A 5FOO 0034' 5FOO 008C' E8FP LOA RO,SPCOND 0028 0029 002A 002B 002C 0020 002E 002F 0030 0031 0032 0033 AB 0034 48 45 4C 4C 4F 20 54 48 45 52 45 LD Rl(n7A) ,RO CALL INIT CALL TRANSMIT I INTERRUPTS I IEXT. STATUS SERVICE ADDR. AT '4476 INI IPSAI ISP.COND.SERVICE ADDR AT '447A IN PSAI JR TBUP, BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL "AB END MAIN 'H' 'E' I STATION ADDRESS I 'L' 'L' '0' 'T' 'H' 'E' 'R' 'E' 673 I ******.****.* •••• * INITIALIZATION ROUTINE FOR Z-SCC GLOBlIL ENTRY 0034 0034 0036 0038 003A 003C 003E 0040 0042 0044 0046 0048 004A 004C 004E 2100 OOOF 7602 OOU' 2101 FB21 0029 A920 3A22 0018 8D04 EEF8 9E08 12 oon CO 0050 08 0051 20 0052 14 0053 80 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 lILOOP, RO,H5 INO.OF PORTS TO WRITE TOI LDA R2,SCCTAB IADDRESS OF DIITA FOR PORTSI LD Rl,'WROA lIDDB INC ooTIB RL1,@R2 R2 @R1,@R2,RO IPOINT TO WROA,WRlA ETC TRRO LOOPI RO NZ,lILOOP lEND OF LOOP?I INO,KEEP LOOPINGI 2*9 'CO 2*4 UO 2*10 \80 BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL 16 16 18 CE 1A 00 1C 03 lB 00 OA 60 06 C5 02 08 00611 12 006B 09 006C LD TEST JR RET SCCTAB. BVlIL BVlIL BVlIL BVlIL BVlIL BVlIL OC AB OE 71!: 04 20 END *.****************.**** I INIT PROCEDURE 2*6 'AB 2*7 UE 2*2 '20 2*11 U6 2*12 tCE 2*13 o 2*14 '03 2*15 \00 2*5 \60 2*3 \C5 2*1 '08 BVlIL BVlIL INIT 2*9 'Og 1 ****************** RECEIVE ROUTINE IWR9-HlIRDWARB RBSETI IWR4-X1 CLK,SDLC,SYNC MODEl IWRlO-CRC PRESET ONE,NRZ,FLAG ON IDLE,I IFLIIG ON UNDERRUNI IWR6- ~Y lIDDRESS FOR SDLC STATION I IWR7-SDLC FLIIG CHARI IWR2-INT VECTOR '201 IWRl1-Tx CLOCK , TRxC OUT-BRG OUTI IWRl2- LOWER TC-CEI IWRl3- UPPER TC-OI IWRl4-BRG ON,BRG SRC-PCLII IWRl5-EXT INT. DISABLE I IWRS-Tx 8 Bl!S/CHAR, SDLC CRCI IWRl-lIDDR SRCH,REC ENABLE I IWRl-ax INT ON 1ST' SP COND,I IEXT INT DISABLEI IWR9- MIE, VIS, STATUS LOlli ************************************ I RECEIVE II BLOCK OF MESSAGE GLOBlIL ENTRY 006C 006C DOn 0070 0072 0074 0071i 0078 00711 007C 007E 0080 0082 0084 0086 0088 00811 008C 674 C828 31186 FE23 6008 00118 3A86 FE23 2101 FEll 2102 OOOE 2103 5400 31118 0230 9£08 RECEIVE PROCEDURE LDB OUTB RLO,n28 WROll+2, RLO 111111'1' ON RECV. I LDB RLO,'A8 OUTB WROII+2,RLO LD Rl, 'RROA+16 LD R2,'COUNT+2 ICOUNT+2 CHARACTERS TO RElIDl LD Rl,'RBUP IRECEIVE BUFPER IN MEMORY I INDRB @R3,@R1,R2 IREAD THE ENTIRE MESSAGE I RET END RECEIVE IENABLE WIlIT rNC. SP. CONDo INTI 1**************** I I GLOBAL ENTRY 008C 008C 008E 0090 0092 0094 0096 0098 009A 009C 009E OOAO 00A2 00A4 00A6 00A8 OOM OOAC OOAE OOBO 00B2 00B4 00B6 00B8 OOBA OOBC OOBE OOCO 00C2 00C4 00C6 00C8 OOCA OOCC OOCE 0000 0002 0004 0006 2102 0028' C8U JA86 PE2B C800 JA86 1'E2J C888 JA86 PE2J C880 JA86 PE21 2101 FEJ1 2100 0001 C869 JA86 PE2B JA22 0010 C8CO JA86 PE2l 2100 OOOB JA22 0010 2100 OJ9E F08l C800 JA86 FE2B 9E08 DEL. 0006 9JPJ 0008 9JF2 OODA 9JF1 00DC~9JFO OODE 00£0 00E2 00E4 00E6 00E8 OOEA OOEC OOE£ 001'0 00F2 001'4 001'6 001'8 OOFA JA94 FE21 A690 E602 51'00 006C' C8J8 3AS6 PE2l 97FO 97F1 971'2 971'3 7BOO SEND A BLOCK OF EIGHT DATA CHARACTERS THE BLOCK STARTS AT LOCATION TBUF I I TRANSMIT PROCEDURE LD R2,ITBUP IPTR TO START OF BUFFER I LOB OUTH RLO,U68 WROA+lO, RLO I ENABLE TRANSMITTER I LOB OUTH RLO,nOO WROA+2,RLO IWAIT ON TRANSMIT I LOB OUTB RLO, n88 WROA+2,RLO IWAIT ENABLEI LOB OUTH RLO,n80 WROA,RLO IRESET TxCRC GENERATOR I LD Rl,IWROA+16 IWR8A SELECTED I LD RO,1l LOB OUTH RLQ,n69 WROA+lO,RLO ISDLC CRCI IWRSA-TxCRC ENABLE I OTIRB @R1,@R2,RO ISEND ADDRESS I LOB OUTB RLo,nCO WROA,RLO I RESET TxUND/EOM LATeBI LD RO,ICOUNT-1 OTIRB @R1,@R2,RO I SEND MESSAGE I LD RO,U26 ICREATE DELAY BEFORE DISABLING I DJNZ LOB OUTB RO ,DEL RLO,IO WROA+l 0, RLO ITRANSMITTER SO THAT CRC CAN BEl ISENTI IDISABLE TRANSMITTERI RET END TRANSMIT J************* 0006 TRANSMIT ROUTINE ************************ .. *********** t RECEIVE INT. SERVICE ROUTINE ************************* J GLOBAL REC PROCEDURE ENTRY PUSH @R15,R3 PUSH @R15,R2 PUSH @R1S,R1 PUSH @R1S,RO RL1,RROA INB RESET. IREAD STATUS REG RROAI BITH JR CALL RL1,10 Z,RESET RECEIVE ITEST IF Rx CHAR SETI IYES CALL RECEIVE ROUTINE I LOB OUTH RLO,I\38 WROA,RLO IRRSET HIGHEST IUSI POP POP POP POP IRET RO,@R15 Rl,@R15 R2,@R15 R3 ,@R15 END REC 675 I············ OOPA OOPC OOPE 0100 93PO 3A84 P823 A687 0102 0104 0106 0108 010A 010C 010E E603 C820 3A86 F821 C830 3A86 FE21 C808 3A86 F£23 C838 3A86 FE21 97FO 7BOO 0110 0112 0114 0116 0118 011A 011C 011E 0120 SPECIAL CONDITION INTERRUPT SERVICE ROUTINE PUSH INB @R15,RO RLO,RROA+2 IREAD ERRORS I BITB RLO,'7 ' I END OF PRAME ? I IPROCESS OVERRUN,FRAMING ERRORS IF ANYI JR Z,RESE LDB RLO,H20 OUTB WROA,RLO I YES,ENABLE INT ON NEXT REC CHARI RESEI LDB OUTB RLO,H30 WROA,RLO IERROR RESETI LDB OUTB RLO,n08 WROA+2,RLO IWAIT DISABLE,RxINT ON 1ST OR SP COND.I LDB OUTB RLO,n38 WROA,RLO IRESET HIGHEST IUSI POP IRET RO,@R15 END SPCOND END SDLC 676 ············.··1 GLOBAL SPCOND PROCEDURE ENTRY OOPA ~ZiIro ApPLICATION NOTE SCC IN BINARY SYNCHRONOUS COMMUNICATIONS October 1982 Block/DMA Made. USlng the Walt/Request (W/REQ) slgnal, the Z-SCC 1ntroduces extra walt cycles to synchronize data transfer between a CPU or DMA controller and the Z-SCC. Zllog's Z8030 Z-SCC Serial Communlcatlons Controller lS one of a family of components that are Z-8US· compatible with the Z8000· CPU. Comblned with a Z8000 CPU (or other eXlsting 8- or 16-blt CPUs with nonmultiplexed buses when using the Z8530 SCC), the Z-SCC forms an integrated data communlcatlons controller that lS more cost effective and more compact than systems lncorporat lng UARTs, baud rate generators, and phase-locked loops as separate entities. • The approach examined here 1mplements a commUnlcations controller in a Binary Synchronous mode of operation, wlth a Z8002 CPU actlng as controller for the Z-SCC. Three varlatlons of character-oriented synchronous commulllcations are supported by the Z-SCC: Monosync, Blsync, and External Sync (Figure 1). In Monosync mode, a slngle sync character lS transmltted, wh~ch lS then compared to an ldentical sync character in the recelver. When the receiver recognlzes thlS sync character, synchronlzatlon is complete; the recelver then transfers subsequent characters lnto the recelver FIFO ln the Z-SCC. One channel of the Z-SCC lS used to communicate wlth the remote statton 1n Half Duplex mode at 9600 bits/second. To test thlS application, two Z8000 Development Modules are used. Both are loaded with the same software routines for 1111t1allzation and for transmlttlng and recelvlng messages. The main program of one module requests the transmlt routine to send a message of the length indicated in the 'COUNT' parameter. The other system receives the lncomlng data stream, storlng the message ln its resident memory. The example glven here uses the block mode of data transfer in lts transmlt and recelve routlnes. SYNCHRONOUS ID)[S I ~ DATA : ~ DATA SYNC CRC1 CRC21 DATA CRC1 CRC21 DATA CRC1 CRC21 a. MONOSYNC MODE I SYNC SYNC DATA b. BISYNC MODE EXTERNAL SYNC SIGNAL t DATA TRANSFER ID)[S The Z-SCC system lnterface supports the followlng data transfer modes: • • Polled Mode. The CPU penodlcally polls the Z-SCC status reg1sters to determlne the avallabllity of a received character, lf a character is needed for transmisslOn, and }f any errors have been detected. Interrupt Mode. The Z-SCC lnterrupts the CPU when certaln previously defined condltlOns are met. c. EXTERNAL SYNC MODE Figure 1. Synchronous Mbdes of c.-mication Blsync mode uses a 16-blt or 12-blt sync character in the same way to obtaln synchrolllzatton. E.xternal Sync mode uses an external signal to mark the beglnlllng of the data held; l.e.,. an external lnput pln (SYNC) indicates the start of the lnformatlOn held.' sn \ In all ,synchronous modes, two Cyclic Redundsncy Check (CRC) bytes csn be concetensted to, the messsge to 'detect dsts transmIssion errors. The CRC by tes ' lnserted in the transmltted message are ,compared to the CRC bytes computed to the rece 1 vet. Any dIfferences found are held in the receive error FIfO. SYSTEM INTERFAa: The Za002 Development Module consIsts of e Za002 CPU, 16K words of dynamlc RAM, 2K words of EPROM Two zaooo Development Modules contaIning I-SCes are connected as shown In' figure 3 and F:lgure 4. rhe Transmit Data pIn of qne is col'lnected to the ReceIve Oats pIn of the other and vlce versa. The Za002 is used as a host CPU for loadlng the modules' memories with software routInes. The ZaODO CPU can address either of the two bytes cont81ned in 16-blt words. The CPU uses an even address (16 bits) to access the IIIlst-slgnlf1cant byte of a word and an odd address for the leastsignlflcant byte of a word. "'2m SERIAL CHANNELS (2) RESET NON MASKABLE INTERRUPT ZIOOO CPU CONTROl. INPUTS EXT~~~~ (;:::::::::::::::~~ INfOUT '\I figure 2. Block Diagr_ of Z8000 lit monitor, a ZaOA SID prov1ding dual serlal ports, a ZaOA CTC perIpheral devlce prOVIding four counter/ tImer channels, two ZaOA PIO devices providl~g 32 programmable I/O hnes, aDd wire wrap srea for prototyping. The block 'd18gram is deplct'ed in figure 2. Each of the perIpherals in the development module is connected in a prIoritized deisy-chain confIguration. The Z-SCC IS Included 1n thIS conflgurallon ,by tY1ng its lEI line to the lEO llne 011 another device, thua makIng it one step lowt;r in Interrupt pnonty compared t~ the other deVIce. 678 Z8001 Z·ICC ...!''!!!.G _!!D__ _ ~x.!L __RT-!.C _~--~ _R!!! __ .!!''L --.-...II Z·ICC REMOTE LOCAL figure 3. Z8001 Block Diagr_ of TIIO Z8000 Davel~ Modules La 243 1"015 48 4A ADu IAD,. 38 3A AD,. 28 2A "Dn 1"0'3 10 I"D12 11 +5V "D'2 m .--- IAD11~' .B 38 1"0'0 IAOtt 10 11 IADa 28 18 .. 4A~ 2A 1A ~ OAD ~ • 1 3 31 " AD'0 Ao, ST, ST, ST, ST, ADa: ~ .--- . lADs 10 28-. ~ ..... IADn IAD'2 I.D"~ r igure 4. -J>o l8002 with sec Jk -t: .. AD7 5ii1f . .Hz 20 +5V 7 lEI • 35 AS 38 os .-'l ~ lAO, ~ IADz ""- lAO, CLOCK RxDA 37 V14 30 TxDA 13 lAD, IAD'0 4MHz.- 15 AD1 IADa ~IT ~ R!m NMJ ADo 1 ADs .AD,4 13 14 40 lAO, 3 IAo,,§ NMJ : iiESEf lADe lADs r 1V INTACK lAD. 4.7KU III ViiCK 243 +5V I ~ Eli zaoao ~ _ t---t:r=E=±::=iAS a iAS iDS IRIW +5V PCLK lEO 34 ANi 32 CSI "- When the ZB002 CPU uses the lower half of the Address/Data bus (ADO-AD7 the least slgmflcant byte) for byte read and wnte transachons dUrlng' I/O operations, these transachons. are performed between the CPU and I/O ports located at odd I/O addresses. Slnce the Z-SCC lS attached to the CPU on the lower half, of the A/D bus, lts reglsters must appear to the CPU at odd I/O addresses. To achleve thls, the Z-SCC can be programmed' to select ltS internal reglsters uSlng llnes A01-A05' ThlS is done elther automahcally wlth ,the Force Hardware Reset command In WR9 or by Sendlng a Select Shl ft Left Mode command to WROB In channel B of the Z-SCC. For thlS appllcatlon, the Z-SCC reglsters are located at I/O port address 'FExx'. The ChlP Select Slgnal (CSO) is denved by decodlng I/O address 'FE' hex from hnes ADB-AD15 of the controller. The Read/Wnte reglsters are automahcally Be leded by the Z-SCC when lnternally decodlng hnes AD1-AD5 In Shlft Left mode. To select the Read/Wnte reglsters automat1cally, the Z-SCC decodes llnes AD 1-AD 5 In Shl ft Left mode. The reglstet map for the Z-SCC lS deplcted In Table 1. INITIALIZATIIJoI The Z-SCC can be'lnltlallzed for use ,In different modes by settlng vanous blts in'lts Wnte registers. Fust, a hardware reset must be performed by setting bltS 7 and 6 of WR9 to one; the rest of the blts are dlsabled by wrltlng a IOglC zero. Bisync mode lS estabhshed by se lechng a 16-bl t sync character, Sync Mode Enable, and a X1 clock In WR4. A data rate of 9600 baud, NRZ encodlng, and a data character length of elght bits are among the other optlons that are selected In thlS example (Table 2). Note that WR9 is accessed twice, flrst to perform a hardware reset and agaln at the end of the lnltlalizatlon sequence to enable the lnterrupts. The programmlOg aequence" depicted In Table 2 estabhshes the necessary parameters for the recelver and the transmltter' so that, when enabled, th~y are ready, to perform commumcahon tasks. To avold lnternal race and false lnterrupt condltlons, lt lS lmportant'to lnlt1allze the reglsters 1n the sequence deplcted In thlS apphcatlOn note. 680 Table 1. Address (hex) FE01 FE03 FE05 FE07 FE09 FEOB f.EOD FEOF FE11 FEU FE15 FE 17 FE19 FE1B FE1D FE1F FE21 FE23 FE25 FE27 FE29 FE2B FE2D FE2F FE31 FE33 FE35 FE37 FE39 , FE3B FOD FEY Register Map Write Regiater WROB WR1B WR2 WR3B WR4B WR5B WR6B WR7B B DATA WR9 WR10B WR11B WR12B WRUB WR14B WR15B WROA WR1A WR2 WR3A WR4A WR5A WR6A WR7A ADATA WR9 WR10A WR11A WR12A WRUA WR14A WR15A Read Regiater RROB RR1B RR2B RR3B B DATA RR10B RR12B RRUB RR15B RROA RR,1A RR2A RR3A A DATA RR10A RR12A RR13A RR15A The ZB002 CPU mu!3t be operated In System mode In order to execute prlVlleged I/O lnstruchons, so the Flag Control Word (FCW) should be loaded wlth System/Normal (SiN), and the Vectored Interj.'upt Enable (VIE) bltS set. The Program Stalus Area POlnter '(PSAP) lS loaded wlth address %4400 uSlng the Load Control lnstructlon (LDCTL). If the ZBOOO Development Module lS lntended to be used, the PSAP n~ed not be loaded by the programmer as the development modules monltor loads lt automatlcally after the NMI button is pressed. Table Z. Progr-mg Sequence for Initialization Value Register Effect (hex) WR9 WR4 CO 10 WR10 WR6 WR7 WR2 WR11 0 AB CD 20 16 WR12 CE WR13 WR14 0 03 WR15 WR5 WR3 00 64 C1 WR1 DB WR9 09 Hardware reset x1 clock, 16-bl.t sync, sync rode enable NRZ, CRC preset to zero Any sync character "AB" Any sync character "CD" Interrupt vector "20" Tx clock from BRG output, TRxC pl.n = BRG out Lower byte of time constant = "CE" for 9600 baud Upper byte = 0 BRG source bl.t = 1 for PCLK as l.nput, BRG enable External l.nterrupt disable Tx 8 bits/character, CRC-16 Rx 8 bl.ts/ch"racter, Rx enable (Automatic Hunt rode) RxInt on 1st char' &: sp. cond., ext., l.nt. dl.sable) HIE, VIS, Status Low Since VIS and Status Low are selected l.n WR9, the vectors listed l.n Table 3 will be returned durl.ng the Interrupt Acknowledge cycle. Of the four lnterrupts ll.sted, only two, Ch A Recelve Character Available and Ch A Speclal Recel.ve COndl.tlon, are used in the example gl.ven here. Table 3. (hex) PS Address* (hex) 28 2A 2C 2E 446E 4472 4476 447A Vector Interrupt Vectors Interrupt Ch Ch Ch Ch A Transm1t Buffer Empty A External Status Change A Receive Char. Ava1lable A Special Recelve Cond1t1on To transm1 t a block of data, the m81.n program calls up the transm1t data routine. Wlth this rouhne, each message block to be transmitted 1S stored ln memory, beginOlng with ldcahon 'TBUF'. The number of characters conta1ned 1n each block lS determlned by the value asaigned to the 'COUNT' parameter in the maln-module. To prepare for transm1ssion, the rouhne enables the tranamitter and ,selects the Walt On Transmit funct10n; it then enables the walt functl.on. The Walt On Transml.t function 1ndlcates to the CPU whether or not the Z-SCC 1S ready to accept data from the CPU. If' the 'CPU attempts to send data to the Z-SCC when the transmit buffer is full, the Z-SCC asserts its Walt Ilne and keeps it Low untll the buffer lS empty. In response, the CPU extends 1ts I/O cycles unhl the WBlt hne goes inactive, indicahng that the z-sec lS ready to receive data. The CRC generator lS reset and the T-t'ansmit CRC b1t 1S enabled before the flrst character lS sent, thua includlng all the characters sent to the Z-SCC ln the CRC calculat10n, until the Tranam1t CRC bl.t ia dlsabled. CRC generatJ.on can be d1sabled f'or a partlcular character by reaettlng the TxCRC blt wlth1n the transm1t rouhne. In th1S application, however, the Transmlt CRC b1t is not d1sabled, so that all characters sent to the z-see are 1ncluded 1n the eRe calculat10n. The z-see's transm1t underrun/EOH latch must be reset sometlme after the f1rst character is transm1tted by wr1t1ng a Reset Tx Underrun{EDM command to WRO. When th1S latch 1S reset, the z-see automatically appends the eRe characters to the end of the message in the case of an underrun condltion. FJ.nally, a flve-character delay is 1ntroduced at the end of the transm1ss1on, which allo~s the z-see sufflc1ent tlme to transm1t the last data byte, two eRe characters, and two sync characters before dlsabl1ng the transmltter. REa:IVE IPERATIIW * lIPS Address" refers to the 10catJ.on in the Program Status Area where the serV1ce raut1ne address 1S stored for thst part1cular 1nterrupt, assumlng that PSAP has been set to 4400 hex. Once the z-see lS 1nltlalized, lt can be prepared to receive data. hrst, the rece1ver 1S enabled, plac1ng the z-sec 1n Hunt mode and thus 681 setting the Sync/Hunt bit in statua register RRO to 1. In Huh!: mode, the rece1ver 1S 1dle except that it searches the 'incoming data stream for a sync character match. When a match is d1scovered between the incoming data stream snd the sync characters stored'1n WR6 and WR7, the receiver ex ita the Hunt mode, resetting the Sync/Hunt bit in status reg1ster RRO and establishing the Receive Interrupt On Fuet Character mode. Upon detection of the receive interrupt, the CPU generates an Interrupt Acknowledge cycle. The Z-SCC sends to the CPU vector ~2C, which points to the l~cstion in the Program Statua Area from which the rece1ve ihterrupt service'routine is sccessed. The recelVe data routine is called from within ,the receive interrupt service rout1ne. Whlle 'expecting a block of (jata, the Wa1t On Receive function is enabled. Rece1ve data buffer RR8 is read, end the charactere are etored in memory locations starting at RBUF. The Start of Text (~02) character is discardad. After the End of Transmission character (~04) is received, the two CRe bytes ,are read. The result of the eRe check becomes v~11d two characters later, at which time, RR1 is read and the CRC error 'bit 1a checked. If the bit is zero, the message received can be assumed correct; if the bit is 1, an error in the tran~miss1on is 1ndicated. 682 Before leaving the interrupt service routine, Reaet H1ghest IUS '(Interrupt Under Service), Enable InterruPt on Next Recieve Character, and Enter Hunt Mode commands are 1ssued to the Z-SCC. If a rece1ve over~un error is made, a special condition 1nterrupt occurs. The 'Z-SCC presents the ,vector ~2E to the CPU, anc! the service routine located at sddr~ss ~447A is eXecuted. The Special Receive Condition register RR1 is read to determine which error occurred. Appropriate action to correct the error should be take~ by the user at this point. Error Re~et and Reset Highest IUS commands are given to the z-see before returning to the main program so that the other lower priority interrupts can occur. SOfTWARE Software routines are presented in the follOWing pages. These routines cen be, modif1ed to include various versions of Bisync protocol, euch as Traneparent and Nontransparent modee. Encoding meth~ds other thah NRZ (e.g., NRZI, FMO, FM1) can also be used by modifY1ng WR1Q. Appeadlx Software Routines plz.... LOC 1.3 OBJ CODE S'l:MT SOURCE STATEMENT 1 BISYIIC NODULE $LISTON $'1"lY CONSTANT WROA UE2l RROA U£2l RBUP '5400 PSAKBA U400 COUNT 12 GLOBAL MAIN PROCEDURB BHTRY LOA Rl,PSAREA ,.,.,. ,.,. 0000 0000 7601 0002 4400 0004 ·7D1D 0006 2100 0008 5000 OOOA 3110 - OOOC OOlC LDC1L LD PSAPOrr,Rl RO,nsOOO LD Rl(tUC) ,RO 7600 OOP4' 3110 0076 LDA RO,RBe LD Rl("76) ,RO 0016 7600 0018 011E' OOlA 3310 OOlC 007A 001E'5FOO 0020 0034' 0022 SFOO 0024 00A6' 0026 E8rr 0028 02 0029 31 002A 3 002B 33 002C 34 002D 35 002B 36 002F 37 0030 38 OOll 39 0032 30 0033 II 0034 LOA RO,SPCOND OOOE 0010 0012 0014 TaUP, LD Rl (t.,A),RO CALL INIT CALL TRANSMIT JR BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BHD $ '02 '1' '2' '3' '4' I BASB ADDUSS FOR WRO CHANNEL AI I BASE ADDRESS FOR RRO CHANNEL AI IBUFPER ARIA FOR aBCEIVE CHARACTER I ISTART ADDRBSS FOR PROGRAM STAT ADAI INO. OF CHAR. FOR TRANSMIT ROUTINE I ILOAD PSUI IrcH VALUE('5000) AT '441C FOR VBCTOREDI I INTERROPTS I IEXT. STATUS SBRVICE ADDR. AT '4476 INI IPSAI ISP.COND.SIRYICE ADDR AT U47A IN PSAI I START OP TIXT I I BVAL NEAlIS BYTE VALUE. IIBSSAGI CHAR. I '5' '6' '7' '8' '9' '0' '1' MAUl 683 I ••••••••••••••• ••• INITIALIZATION ROUTINE FOR I-SCC **** ••• ****************, GLOBAL ENTRY 0034 0'034 0'0'36 0'0'38 OD3A D03C OD3E 0'0'_0' 0'0'42 0'0'44 0'0'46 0'0'48 DD4A OD4C 0'0'41 DD4P 0'0'50' 00'51 00'52 0053 00'54 00'55 00'56 00'57 00'58 00'59 OD5A DDSB OD5C GD5D DOSE OD5P 0'060' 0061 0'062 0'063 0064 . 0'065 0'066 0'067 0'068 00'69 210'0' DDDP 760'2 0'048' 210'1 PE2l 00'29 A920 3A22 0'0'18 8D04 IEP8 9£0'8 12 CD 08 10' 14 ALOOP. INIT PROCEDURE LD RD,US INO.OF PORTS TO WRITE TOI LOA R2,SCCTAII IADDRESS OP'DATA POR PORTSI LD al,'WRDA ADDB INC OIiTIB RLl,@R2 R2 @Rl,@R2,RD IPOINT TO WRDA,WRlA ETC THRO LOOPI - RD IIZ,ALOOP I END OP LOOP? I INO,KEEP LOOPING I 00 lC 0'3 11 00 DA 64 0'6 Cl 0'2 08 TEST 'JR RST SCCTAI. BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAL BVAI. BVAL BVAL BVAL BVAL BVAL BYAL BVAL BVAL 2·10 0 2·6 ,AI 2·7 'CD 2*2 '20 2*U ' U6 2*12 'CB 2*13 0' 2*14 '03 2*15 GG6A 12 G06B 0'9 G06C BVAL BVAL END INIT 2·9 '09 DO' DC AI . DE CD 04 20' 16 16 18 C£ 11. 2·9 'CO 2·4 nO' 'DO' 2*5 "4 2*3 'Cl 2·1 '08 1****************** RECIIVE ROUTINE IWR9-HARDWARE RESETI IWR4-Xl CLI,16 BIT SYNC MODBI IWR1D-CRC PRESET.llRO,NRI,16 BI'1' SYNCI IWR6-ANY SYNC CHAR 'All IWR7-ANY SYNC CHARR 'CDI IWR2-INT VICTOR nO' I IWall-TxCLOCK , TRxC OUT-BRG OUTI IWal2- LOWER TC-'C£I IWR13- UPPER TC-DI IWal4-BRG ON, ITS SRC-PCLKI IWal5-NO EXT lilT EN.I IWR5- TX 8 BITS/CHAR, CRC-HI IWal-ax 8 BITS/CHAR,' REC ENAILE I IWal-RxINT ON 1ST OR SP CONDI EXT INT DISABLII I IWR9- MIB,VIS,STATUS LOWI ***-_._._----_ ... _----------_._._---, RECEIVE A BLOCK OP MESSAGB THB LAST CHARACTER SHOULD BE EOT('D4) GLOBAL ENTRY OD6C ~ DOIIC 0'068 0070 0072 00'74 0076 00'78 007A OD7C 0071 0080 0082 0084 0086 0088 008A 008C OD8B 0'0'90 00'92 0094 0096 00'98 009A 009C C828 3A86 PII23 600'8 00A8 lA8. PB23 2101 PBll 3C18 C8C9 3A86 PB27 2103 5400 3C18 2838 AI3D DA08 040'4 EEPA 3C18 3Cl8 3AS4 FE23 00'91 OOAO OOAl 00A4 OOAII ClOD 3A86 PE27 9B08 READ. 1- RECBIVE PROCEDURE LDB OUTII RLO,'U8 WROA+2,RLO LOB RLO,tA8 OUTB WROA+2,RLO LD al, 'RROA+16 INS LDB OUTII RLO,@Rl RLO,nC9 WROA+6,RLO LO al,'RBUF INB LDB DBC CPB RLO,@al @R3,RLD al,U RLO,ltD4 JR INB INB INS NI,READ RLO,@~l RLO,@Rl RLO,RROA+2 IWAIT ON RECV. I IBKABLI WAIT 1ST CHAR,SP.COND. INTI IRBAD STX CHARACTER I IRx CRC ENABLE I IRBAD MBSSAGII I STORE CHARACTER IN RlUP I lIS IT BND or TRANSMISSION ?I IRBAD PADlI IREAD PAD21 IRBAD CRC 8TATU81 PROCESS cac BRROR IP ANY, AND GIVE ERROR RBSET COMMAND IN WRDA RLO',.o LDB IDlSABLI RBCIIVBRI OUTII WROA+6,RLO RET END RECEIVB \ 1 I I *------_._._-_ .. GLOBAL ENTRY 00A6 00A6 00A8 OOM OOAC OOAE OOBO 00B2 00B4 00B6 00B8 OOBA OOBC OOBE OOCO 2102 0028' CS6C 3A86 PE2B CSOO 3A86 PE23 C888 3AS6 PE2J C880 3A86 PE21 FE31 CS6D JA86 PE2B 2100 0001 JA22 0010 C8CO 3A86 FE2l 2100 OOOB 3A22 0010 C804 3E18 2100 0686 F081 C800 JA86 FE2B 9£08 00P4 93FO JA84 FEn M84 EE02 5FOO 006C' C808 3A86 FE2J C8D1 JA86 PE27 C820 3A86 FE21 C8J8 JA86 FE2l 97FO 7BOO I I TRANSMIT PROCEDURE R2,.TBUF I PTR TO START OP BUFFERI RLO,'UC WROA+10,RLO IENABLE TRANSMITTER I LOB OUTS RLO,nOO WROA+2,RLO IWAIT ON TRANSMIT I LOB OUTB RLO,n88 WROA+2,RLO IWAIT ENABLE,INT ON 1ST • SP CONDI LOB OUTS RLO,n80 WROA,RLO IRESET TxCRC GENERATOR I LD Rl,'WROA+l6 IWR8A SELECTED I LOB OUTB RLO, '%60 WROA+lO,RLO I Tx CRC ENABLE I LD RO,Il LOB . OUTS DEL. OTIRB @Rl,@R2,RO ISEND START OP TEXTI LOB OUTB RLO,nCO WROA,RLO IRESET TxUND/EOM LATCHI LD RO,.COUNT-1 OTIRB @R1,@R2,RO ISEND MESSAGEI LOB OUTB LD RLO,n04 @R1,RLO RO,Il670 ISEND END OP TRANSMISSION CHARACTER I ICREATE DELAY BEPORE DISABLING I DJNZ LOB OUTS RO,DEL RLO,'O WROA+10,RLO IDISABLE TRANSMITTER I RET END TRANSMIT s*•• 00F4 00F6 00F8 OOFA OOFC OOFE 0100 0102 0104 0106 0108 010A 010C 010E 0110 0112 0114 0116 0118 OllA OllC OllE SEND A BLOCK OF DATA CHARACTERS THE BLOCK STARTS AT LOCATION TBUF LD OOCl 2101 00C4 00C6 00C8 OOCA OOCC OOCE 0000 0002 0004 0006 0008 OODA OOOC OODE OOEO 00E2 00E4 00E6 00E8 OOEA OOEC OOEE OOFO 00F2 00P4 TRANSMIT ROUTINE ****.***.*******.***********~******* 1 **~******* RECEIVE INT. SERVICE ROUTINE *tt_ ••• __________ * __ ._. __ 1 GLOBAL REC PROCEDURE ENTRY PUSH @R1S,RO INB RLO,RROA RESET. END REC IREAD STATUS PROM RROAI BITB JR CALL RLO,I4 NZ,RESET RECEIVE ITEST IF SYNC HUNT RESET I IYES CALL,RECEIVE ROUTINEI LOB OUTS RLO, n08 WROA+2,RLO IWAIT DISABLE I LDB OUTB RLO,nDl WROA+6,RLO IENTER HUNT MODEl LOB OUTB RLO,n20 WROA,RLO IENABLE INT ON NEXT CHARI LDB OUTB RLO,n38 WROl',RLO IRESET HIGHEST IUSI POP IRET RO,@RlS 685 I.·..·.....·· 011E 93PO 0120 3A84 0122 PB23 0124 0126 0128 012A 012C 012B 0130 0132 0134 0136 0138 013A 013C 013E SPECIAL 'CONDITION INTERRUPT SERVICE ROUTINE C830 3A86 PB21 C808 3A86 PE23 C8Ul 3AB6 FE27 CB3B 3AB6 FE2l 97FO 7BOO 0140 PUSH INB Assembly complete @R15,RO RLO,RROA+2 I READ ERRORS I IPROCESS ERRORS I LOB RLO,'t30 OUTB WROA,RLO I ERROR RESET I LOB OUTS RLO,'tOB WROA+2,RLO IWAIT DISABLE,RxlNT ON 1ST OR SP COND.I LOB OUTB RLO,nDl WROA+6,RLO IHUNT MODE,REC. ENABLE I LOB OUTB RLO,'t38 WROA,RLO IRBSET HIGHEST IUSI POP IRET RO,@R15 END SPCOND END BISYNC o errors 686 ···············1 GLOBAL SPCONU PROCEDURE ENTRY 011E ApPLICATION NOTE ~ZiIm ON-CHIP OSCILLATOR DESIGN o ESIGN AND BUILD RELIABLE, COST-EFFECTIVE,ON-CHIP OSCILLATOR CIRCUITS THAT ARE TROUBLE FREE. PUTIING OSCILLATOR THEORY INTO A PRACTICAL DESIGN MAKES FOR A MORE DEPENDABLE CHIP. INTRODUCTION This Application Note (App Note) is written for designers using Zilog Integrated Circuits with on-chip oscillators; circuits in which the amplifier portion of a feedback oscillator is contained on the IC. This App Note covers common theory of oscillators, and requirements of the circuitry (both internal and external to the IC) which comes from the theory for crystal and ceramic resonator based circuits. Purpose and Ben~fits The purposes and benefits of this App Note include: 2. To eliminate field failures and other complications resulting from an unawareness of critical on-Chip oscillator design constraints and requirements. Problem Background Inadequate understanding of the theory and practice of oscillator circuit deSign, especially concerning oscillator startup, has resulted in an unreliable design and subsequent field problems (See on page 10 for reference materials and acknowledgements). 1. Providing designers with greater understanding of how oscillators work and how to deSign them to avoid problems. OSCILLATOR THEORY OF OPERATION The circuit under discussion is called the Pierce Oscillator (Figures 1,2). The configuration used is in all Zilog on-chip oscillators. Advantages of this circuit are low power consumption, low cost, large output signal, low power level in the crystal, stability with respect to Vee and temperature, and low impedances (not disturbed by stray effects). One drawback is the need for high gain in the amplifier to compensate for feedback path losses. Ie Vo I L .J XTAL 4P----tD 1 - - -.... B Figure 1. Basic Circuit and Loop Gain Figure 2. Zilog Pierce Oscillator 687 OSCILLATOR THEORY OF OPERATION, (Continued) Pierce Oscillator (Feedback Type) The basic circuit and loop gain'is shown in Figure 1. The concept is straightforward; gain of th~ amplifier is A = VoNL The gain of the passive feedback element is B ViNo. Combining these equations gives the equality AS = 1. Therefore, the total gain around the loop is unity. Also, since the gain factors A and B are complex numbers, they have phase characteristics. It is clear that the total phase shift around the loop is forced to zero (i.e., 360 degrees), since VIII must be in phase with itself. In this circuit, the amplifier ideally provides 180 degrees of phase shift (since it is an inverter} Hence, the feedback element is forced to provide the other 180 degrees of phase shift. = Additionally, these gain and Phase characteristics of both the amplifier and the feedback element vary with frequency. Thus, the above relationships must apply at the frequency of interest. Also, in this circuit the amplifier is an active element and the feedback element is passive. Thus, by definition, the gain of the amplifier at frequency must be greater than unity, if the loop gain is to be unity. The described oscillator amplifies its own noise at startup until it settles at the frequency which satisfies tl'Je gain! phase requirement AB = 1. This means loop gain equals one, and loop phase equals zero (360 degrees). To do this, the loop gain at points around the frequency of oscillation must be greater than one. This aChieves an average loop gain of one at the operating frequency. The amplifier portion oftheoscillator provides gain> 1 plus 180 degrees of phase shift. The feedback element provides the additional 180 degrees of phase shift without attenuating the loop gain to < 1. To do this the feedback element is inductive, Le., it must have a positive reactance afthe frequency of operation. The feedback elements discussed are quartz crystals and ceramic resonators. Quartz Crystals A quartz crystal is a piezoelectric device; one which transforms eleotrical energy to mechanical energy and vice versa. The transformation occurs at the resonant frequency of the crystal. This happens when the applied AC electric field is sympathetic in frequenCY with the mechanical resonance of the slice of quartz. Since this characteristic can be made very accurate, quartz crystals are normally used where frequency stability is critical. Typical frequency tolerance is .005 to 0.3%. The advantage of a quartz crystal in this application is its wide range of positive reactance values (Le., it ,looks inductive) over a narrow ran!ile of frequencies (Figure 3). z Region of Parallel Operation INDUCTIVE o 2Yf CAPACITIVE * fs - fp is very small (approximately SOO parts per million) Figure 3. Series VS. Parallel Reso!lance 688 However, there are several ranges of frequencies where the reactance is positive; these are the fundamental (desired frequency of operation), and the third and fifth mechanical overtones (approximately 3 and 5 times the f.undamental frequency). Since the desired frequency range in this application is always the fundamental, the overtones must be suppressed. This is done by reducing the loop gain at these frequencies. Usually, the amplifier's gain roll off, in combination with the crystal parasitics and load capacitors, is sufficient to reduce gain and prevent oscillation at the overtone frequencies. . The following parameters are for an equivalent circuit of a quartz crystal (Figure 4): L - motional inductance (typ 120 mH@4 MHz) C - motional capacitance (typ .01 pf@ 4 MHz) Cs R L C Quartz Equivalent CircuH 0----1101-1-- 0 Symbolic Representation Figure 4. Quanz OSCillator R - motional resistance (typ 36 ohm @ 4 MHz) Cs - shunt capacitance resulting from the sum of the capacitor formed by the electrodes (with the quartz as a dielectric) and the parasitics of the contact wires and holder (typ 3 pf @ 4 MHz). The series resonant frequency is given by: Fs = 1/(2lt x sqrt of LC), where Xc and XI are equal. Thus, they cancel each other and the crystal is then R shunted by Cs with zero phase shift. The parallel resonant frequency is given by: Series vs. Parallel Resonance. There is very little difference between series and parallel resonance frequencies (Figure 3). A series resonant crystal (operating at zero phase shift) is desired for non-inverting amplifiers. A parallel resonant crystal (operating at or near 180 degrees of phase shift) is desired for inverting amps. Figure 3 shows that the difference between these two operating modes is small. ,Actually, all crystals have operating pOints in both serial and parallel modes. A series resonant circuit will NOT have load caps C1 and C2. A data sheet for a crystal designed for series operation does not haye a load cap spec. A parallel resonant crystal data sheet specifies a load cap value which is the series combination of C 1 and C2. For this App Note discussion, since all the circuits of interest are inverting amplifier based, only the parallel mode of operation is conSidered. Fp = 1/[2lt x sqrt of L (C CtlC+Ct)], where: Ct = CL + Cs ,689 OSCILLATOR THEORY OF OPERATION Ceramic Resonators Figure 5 shows reactance vs. frequency and Figure 6 shows the equivalent circuit. Ceramic resonators are similar to quartz crystals, but are used where frequency stability is less critical and low cost is desired. They operate on'the same basic principle as quartz crystals as they are piezoelectric devices and have a similar equivalent circuit. The frequency tolerance is wider (0.3 to 3%), but the ceramic costs less than quartz. Typical values of parameters are L = .092 mHo C = 4.6 pf, R =7 ohms and Cs =40 pf, all at SMHz. Generally, ceramic resonators tend to start up faster but have looser frequency tolerance than quartz. This means that external circuit parameters are more critical with resonators. Impedance 100000 (Ohm) 10000 1000 100 10 o~--~--~----~--~--~----~--~----~--~--~ 2000 4000 6000 8000 10000 Frequency (KHz), Figure 5. Ceramic Resonator Reactance 690 Power Supply RTxCB(SCC) SYNCB(SCC) EXTAl (Z180) XTAl(Z180) I.C. 470 pf Probe (in) _ _. . Under Test (All Unused Inpllts: 10kCl To Vee) Frequency Generator 1VP-P/Sine Probe (out) Figure 6. Gain Measurement Load CapaCitors The effects/purposes of the load caps are: Cap C2 combined with the amp output resistance provides a small phase shift. It also provides some 'attenuation of overtones. Cap C1 combined with the crystal resistance provides additional phase shift. These two phase shifts place the crystal in the parallel resonant region of Figure 3. Crystal manufacturers specify a load capacitance number. This number is the load seen by the crystal which is the series combination of C1 and C2, including all parasitics (PCB and holder). This load is specified for crystals meant to be used in a parallel resonant configuration. The effect on startup time; if C1 and C2 increase, startup time increases to the point at which the oscillator will not start. Hence, for fast and reliable startup, over manufacture of large quantities, the load caps should be sized as low as possible without resulting in overtone operation. Open Loop Gain lis. Frequency over lot, vce, Processs Split, and Temp. Closed loop gain must be adequate to start the oscillator and keep it running at the desired frequency. This means that the amplifier open loop gain must be equal to one plus the-gain required to overcome the losses in the feedback path, across the frequency band and up to the frequency of operation. This is over full process, lot, Vcc' and temperature ranges. Therefore, measuring the open loop gain is not sufficient; the losses in the feedback path (crystal and load caps) must be factored in. Open loop Phase vs. Frequency. Amplifier phase shift at and near the frequency of interest must be 180 degrees plus some, minus zero. The parallel configuration allows for some phase delay in the amplifier. The crystal adjusts to this by moving Slightly down the reactance curve (Figure 3). Internal Bias. Internal to the IC, there is a resistor placed from output to input of the amplifier. The purpose of this feedback is to bias the amplifier in its linear region and to provide the startup transition. Typical values are 1M to 20M ohms. Amplifier Characteristics The following text discusses open loop gain vs. frequency, open loop phase V$. frequency, and internal bias. 691 PRACTICE: CIRCUIT ELEMENT AND LAY OUT CONSIDERATIONS The discussion now applies prior theory to the practical application. Amplifier and Feedback Resistor The elements of the circuit, internal to the IC, include the amplifier, feedback resistor, and output resistance. The amplifier is modeled as a transconductance amplifier with a gain specified as lourNIN (amps per volt). Transconductance/Gain. The loop gain AB = gm x Z1, where gm is amplifier transconductance (gain) in amps/ volt and Z1 is the load seen by the output. AB must be greater than unity at and about the frequency of operation to sustain oscillation. Gain Measurement Circuit. The gain of the amplifier can be measured using the circuits of Figures 6 & 7. This may be necessary to verify adequate gain at the frequency of interest and in determining design margin. Gain Requirement vs. Temperature, Frequency and Supply Voltage. The gain to start and sustain oscillation (Figure 8) must comply with; gm > 41t'! f2 Rq CIN Court x M where: M is a quartz form factor =(1 + Cour/C IN + Cour/Courf Output Impedance. The output impedance limits power to the XTAL and provides small phase shift with load cap C2. DC Bias Vb .-----1 DC Bias 1--.--; V in 1---, Vout lout = (V out - V~ /33) Figure 7. Transconductance (gm) Measurement VIN ...----1 VOUT Quartz CIN . - - - - ; I D Rq, f COUT I- * j. * Inside chip, feedback resistor biases the amplifier in the high gm region. ** External components typically: CIN = COUT = 30 to 50 pf (add 10 pf pin cap). Figure 8. Quanz Oscillator Configuration 692 Load Capacitors In the selection of load caps it is understood that parasitics are always included. Upper Limits. If the load caps are too large, the oscillator will not start because the loop gain is too low at the operating frequency. This is due to the impedance of the load capacitors. Larger load caps produce a longer startup. Lower Limits. If the load caps are too small, either the oscillator will not start (due to inadequate phase shift around the loop), or it will run at a 3rd, 5th, or 7th overtone frequency (due to inadequate suppression of higher overtones). Capacitor Type and Tolerance. Ceramic caps of ±10% tolerance should be adequate for most applications. Ceramic vs. Quartz. Manufacturers of ceramic resonators generally specify larger load cap values than quartz cry.stals. Quartz C is typically 15 to 30 pf and ceramic typically 100pf. Summary. For reliable and fast startup, capacitors should be as small as possible without resulting in overtone operation. The selection of these capacitors is critical and all olthe factors covered in this note should be considered. Feedback Element The following text describes the specific parameters of a typical crystal: Drive Level. There is no problem at frequencies greater than 1 MHz and Vee = 5V since high frequency AT cut crystals are designed for relatively high drive levels (5-10 mw max). A typical calculation for the approximate power dissipated in a crystal is: P = 2R (x x f x C x Vee'f Where. R = crystal resistance of 40 ohms, C = C1 + Co = 20 pf. The calculation gives a power dissipation of 2 mW at 16 MHz. The external components have a negligible effect (0.5%) on frequency. The external components (C1 ,C2) and layout are chosen primarily for good startup and reliability reasons. Frequency Tolerance (initial temperature and aging). Initial tolerance is typically ±.01 %. Temperature tolerance is typically± .005% overthe temp range (-30 to + 100 degrees C). Aging tolerance is also given, typically ±.OO5%. Holder. Typical holder part numbers are HC6, 18, 25,33,44. Shunt Capacitance. (Cs) typically <7 pt. Mode. Typically the mode (fundamental, 3rd or 5th overtOile) is specified as well as the loading configuration (series vs. parallel). The ceramic resonator equivalent circuit is the same as shown in Figure 4. The values differ from those specified in the theory section. Note that the ratio of LlC is much lower than with quartz crystals. This gives a lower Q which allows a faster startup and looser frequency tolerance (typically ±0.9% over time and temperature) than quartz. Layout The following text explains trace layout as it affects the various stray capacitance parameters (Figure 9). Traces and Placement. Traces connecting crystal,caps, and the IC oscillator pins should be as short and wide as possible (this helps reduce parasitic inductance and resistance). Therefore, the components (caps and crystal) should be placed as close to the oscillator pins of the IC as possible. Grounding/Guarding. The traces from the oscillator pins of the IC should be guarded from all other traces (clock, Vee' address/data lines) to reduce crosstalk. This is usually accomplished by keeping other traces away from the oscillator circuit and by placing a ground ring around the traces/components (Figure 9). Measurement and Opservation Series Resistance. Lower series resistance gives better performance but costs more. Higher R results in more power dissipation and longer startup, but can be compensated by reduced C1 and C2. This value ranges from 200 ohms at 1 MHz down to 15 ohms at 20 MHz. Connection of a scope to either of the circuit nodes is likely to affect operation because the scope adds 3-30 pf of capacitance and 1M-1 OM ohms of resistance to the circuit. Frequency. The frequency of oscillation in parallel resonant circuits is mostly determined by the crystal (99.5%). 693 PRACTICE: CIRCUIT ELEMENT AND LAY OUT CONSIDERATIONS (continued) Indications of an Unreliable Design There are two major indicators whiCh are used in working designs to determine their reliability over full lot and temperature,variations. They are: Start Up Time. If start up time is excessive, or varies widely from unit to unit, there is probably a gain problem. C1/C2 needs to be reduced; the amplifier gain is not adequate at frequency, or crystal Rs is too large. Output Level. The signal at the amplifier output should swing from ground to Vcc' This indicates there is adequate gain in the amplifier. As the oscillqtor starts up, the. signal amplitude grows until clipping occurs, at which point, the loop gain is effectively reduced to unity and constant oscillation is achieved. A signal of less than 2.5 Vp-p is an indication that low gain may be a problem. Either C1/C2 should be made smaller or a low R crystal should be used. XTAL c::J CL' ZS0180 EXTAL 2 Clock Generator Circuit 30------' Z80180 SignalsA B , (Parallel Traces Must Be Avoided) ; I I I I I I I I Board Design Example (Top View) I Signal C ---;-";:-'--1• To prevent induced noiea, the crystal and load capacitors should be physically located as close to the LSI as possible. , • Signal lines should not run parallel to the clock oscillator Inputs. In particullar, the clock input circuitry and the system clock output (pin 64) should be separated as much as possible. • Vee power lines should be separated from the clock oscillator input cirCUitry. 64 ZS0180 • 'Resistivity between XTAL or EXTAL and the other pin should be greater than 10 MO Figure 9. Circuit Board Design Rules 694 SUMMARY Understanding the Theory of Operation of OSCillators, combined with practical applications, should give designers enough information to design reliable oscillator circuits. Proper selection of crystals and load capacitors, along with good layout practices, results in a cost effective, trouble free design. Reference the following text for Zilog products with on-chip oscillators and their general/ specific requirements. ZILOG PRODUCT USING ON-CHIP OSCILLATORS Zilog products that have on-chip oscillators: Z8® Family: All Z80®:C01,C11,C13,C15,C50,C90, 180, 181,280 Z8000®: 8581 Communications Products: SCCTM, ISCCTM , ESCCTM ZILOG CHIP PARAMETERS Z8000 Family (8581 only) The following are some recommendations on values/parameters of components for use with Zilog on-chip oscillators. These are only recommen'dations; no guarantees are made by performance of components outside of Zilog ICs. Finally, the values/parameters chosen depend on the application. This App Note is meant as a guideline to making these decisions. Selection of optimal components is always a function of desired cost/performance tradeoffs. Crystal cut: AT cut, parallel resonant, fundamental mode. Crystal Co: < 7 pf for all frequeQcies. Crystal Rs: < 150 ohms for all frequencies. Load capacitance: 10 to 33 pf. Note: All load capacitance specs include stray capacitance. Z80 Family Z8 Family General Requirements: General Requirements: Crystal cut: AT cut, parallel resonant, fundamental mode. Crystal Co: < 7 pf for all frequencies. Crystal Rs: < 60 ohms for all frequencies. Load capaCitance: 10 to 22 pf. Crystal Cut: AT cut, parallel resonant, fundamental mode. Crystal Co: < 7 pf for all frequencies. Crystal Rs: < 100 ohms for all frequencies. Load Capacitance: 10 to 22 pf, 15 pf typical. Specific Requirements: 8604: xtal or ceramic, f = 1 - 8 MHz. 8600/10: f = 8 MHz. 8601/03/11/13: f = 12.5 MHz. 8602: xtal or ceramiC, f = 4 MHz. 8680/81/82/84/91: f = 8,12,16, MHz. 8671: f = 8 MHz. 8612: f = 12, 16 MHz. 86C08/E08: f = 8, 1'2 MHz. 86C09/19: xtal/resonator, f = 8 MHz, C = 47 pf max. 86COO/10/20/30: f = 8, 12, 16 MHz. 86C11/21/91/40/90' f = 12, 16,20 MHz. 86C27/97: f = 4, 8 MHz. 86C12: f = 12, 16 MHz. Super8 (all): f = 1 - 20 MHz. General Requirements: Specific Requirements: 84C01: C1 = 22 pf, C2 = 33 pf (typ); f = DC to 10 MHz. 84C90: DC to 8 MHz. 84C50: same as 84C01. 84C11{13/15: C1 = C2 = 20 -33 pf; f = 6 -10 MHz 80180: f = 12, 16, 20 MHz (Fxtal = 2 x sys. clock). 80280: f = 20 MHz (Fxtal = 2 x Fsysclk). 80181: TBD. 695 ZILOG CHIP PARAMETERS (Continued) Communications Family General Requirements: Specific Requirements: Crystal cut: AT cut, parallel resonant, fundamental mode. Crystal Co: < 7 pf for ali' frequencies. Crystal Rs: < 130 ± 15% ohms for all frequencies. Load capacitance: 20 to 33 pf. Frequency: cannot exceed PC!-K. 8530/85C30/SCC: f= 1-6MHz(10MHzSCC), 1-8.5MHz (8 MHz SCC). 85130tESCC (16/20 MHz), f = 1-16.384 MHz. 16C35/ISCC: f = 1 -10 MHZ. REFERENCES MATERIALS AND ACKNOWLEDGEMENTS Intel Corp., Application Note AP-155, "Oscillators for Micro Zilog, Inc., Steve German; Figures· 4 and 8. Controllers" , order #230659-001 , by Tom Williamson, Dec. 1986. . • Zilog, Inc., Application Note, "Design Considerations Using Quartz Crystals with Zilog Components" - Oct. 1988. Motorola 68HC11 Reference Manual. Data Sheets; CTS Corp. Knights Div., Crystal Oscillators. National Semiconductor Corp., App Notes 326 and 400. 696 ApPLICATION NOTE ~Zilill INTERFACING THE Z8500 PERIPHERALS TO THE 68000 INTRODUCf ION This ,application note discusses interfacing Zilog 's Z8~00 family of peripherals to the 68000 microprocessor. The Z8~00 peripheral family includes the Z8~36 Counter/Timer and Parallel I/O Unit (CIO), the Z8038 FIFO Input/Output Interface Unit (flO), and the Z8~30 Serial Communications Controller (SCC). This document discusses the Z8~OQ/68000 interfaces and presents hardware examples and verification techniques. One of the three hardware examples given in this application note shows how to implement the Z8~00/68000 inter~ face using a single-chip programmable logic array (PAL). ' • GENERAL Z8500 FAMILY OCSCRIPTIIIN Z8036 Z-CIO/Z8~36 CIO Technical Manual (document number 00-2091-01) The Z8~00, family is made up of programmable peripherals that can interface easily to the bus of any nonmultiplexed CPU microprocessor, such as the 68000. The three members of this family, the CIO, SCC, and flO, can solve many design probThe periphersls' operating modes can be lems. programmed simply by writing to their internal registers. Z8038 Z-FIO Technical Manual (document number Progra.ing the Operating Mode& This application note about interfac~ng supplements the following documents, which discuss the individual components of the interface. • the Z8~00 interface itself. It shows how the different Z8~00 control signals are generated from the 68000 signals and summariZes the critical timinga for the three types of bus cycle. The third section shows three examples of implementing the 68000-to-Zilog-peripheral interface. The fourth section suggests methods of verifying the interface design by checking the three different types of bus cycle: Read, Write, and Interrupt Acknowledge. 00-ZO~1-01) • Z8030/Z8~30 ber • • SCC Technical Manual (document num- 00-ZO~7-01) Motorola 16-Bit Microprocessor User's Manual 3rd ed. Englewood Cliffs, N.J., Prentice-Hall, Inc. 1979. Monolithic Memories Bipolar LSI 1982 Databook This application note is divided into four sections. The first section gives a general description of the Z8~00 family and discusaes pin functions, interrupt structures, and the programming of operating modes. The second section discusses The CPU can access two types of register: Control and Data. Depending on the peripheral, registers are selected with either the AO' A1' A/B, or D/f function pins. Peripheral operating modes are initialized by programming internal registers. Since these registers are not directly addressable by the CPU, a two-step procedure using the Control register is requirad: first, the address of the internal register is written to the Control register, then the data is written to the Control register. A state machine determines whether an address or data ia being written to the Control register. Reading an internal regiater follows s similar two-step 697 • __'M__AA"_""''''''__'''''''''''___ '~ -""""',, -,.,..,...,. ''''_~'·_'._~''''''''''''''''~~' ~_ procedure: first, the address is written, then the data is read. be 'connected to the 6BOOo., ~l lilies. The Data registers that are fIlls,t frequently accessed, for example, the SCC's transmit and receive buffer, can be addressed directly by the CPU with a single read or write OIleration. This reduces overhead in data' transfers between the peripheral' and CPU. CE. ~nd AZ Address bus Each periphera 1 h!l!i' an,' aqti ve /-ow Chip Enable that can be derived by ANDing the selected address decode and the 68000's Address Strobe (AS). The active Low AS guarantees that the 68000 addresses are valid. 00-07. The ZB~OO Data bus can be directly connected to the lowest byte (00-07) of the 68000 Data bus. G£t£RATlNG l8500 CONTROl SIGNALS This section shows how to generate the ZB~OO control signals. To simplify the discussion, the section is divided into two parts. The first part takes each individual ZB~OO signal and shows how it is generated from the 6BOOO signals. The second part discusses the ZB~OO timing that must be met when generating the control AignalA. lEI and lEO. The peripherals use these pins to decide the interrupt priority. The highest priority device should have its lEI tied High. Its 1[0 should be connected to the lEI. pin of the next highest priority device. This pattern continues with the next highest priority peripheral, until the peripherals are all connected, as shown in Figure 1. l8500 Signal Generation INT. The interrupt request pins for each periph~ eral in the daisy chain can be wire-ORed and connected to the 68000'i. IU'n pins. The 68000 has seven interrupt levels that can be encoded into the ILPO' ILP1' and ILP 2 pins. Multiple 68000 ilJterrupt leve Is can be implemented by using a multiplexer like the 74LS148. The right-hand side of Table 1 lists the ZB~OO Aignals that must be generated. Each 0 f these signals is discussed in a separate p~ragraph. An. A1' ~. DIC. These pins are used to select the peripheral's Control and Data regif.ters that program the different operating modes. lIiey can Table 1. l8500 ani! 68000 Pin Fmctions l8500 Signals 68000 Signals MneaJnic A1-AZ3 AS CLK DO-Dl~ lmiEK FCO-FC2 ILPO-ILP2 R/W \iRA VPA Fmction Fooction Address bus Address Strobe 68000 clock (8 MHz) Data bus Data Transfer Acknowledge Processor status Interrupt request Read/Write Valid Memory Address Valid Peripheral Address AO,A1,A/!!,0/C* C£ 00-07 lEI ,lEO IFf IN TACK PCLK RD WR I Register select Chip Enable Data bus Interrupt daisy chain control Interrupt Request Interrupt Acknowledge Peripheral Ctock Read strobe Write strobe * The register select pins on each peripheral have different names. 698 INTACK. The INTACK pin signa Ifl the peripheral that an Interrupt Acknowledge cycle is occurring. The follOWing equation deflcribes how INfACK - is generated: The Read strobe timing must meet both the Read timing and Interrupt Acknowledge timing diRcussed in the following section. In addition to enabling the Data bus drivers, the falling edge of RD sets the Interrupt Under Service (IUS) bits during an Interrupt Acknowledge cycle. The 68000 fCO-fC2 are status pins that indicate an Interrupt Acknowledge when they are all High. They should be ANDed with inverted AS to guarantee their validity. The INIACK signal must be synchronized with PClK to guarantee set-up and ho Id times. This can be accomp Hshed by changing the state of INTACK on the fa lUng edge of I'ClK. If the INTACK pin iq not used, it must be tied High. WH. This signal fltrobes data into the peripheral. A data-to-write setup time requires that data be va I id before WR goes acU ve low. The equation for generating the WR st robe is made up of two compo'1ents: an act.ive reset and a normal Write cycle, as shown in the following equation: POLK. fhe SCC and CIO require a clock for internal synchronization.' The clock can be generated by dividing down the 6BOOO ClK. forCing R5 and WR simultaneously low resets the periphera Is. WR = [(R/W)o{AS) + RESEr] Z8500 TDoing Cycles RD. The Read strobe goes active low under three conditions: hardware reset, normal Read cycle, and an Interrupt Acknowledge cycle. The following equation describes how R5 is generated: RD = [(R/W)"{AS) + RESEf] This sect ion discusses the timing parameters that must be met when generating the control signals. The ZBSOO family uses the control signals to communicate with the CPU via three types of bus cycle: Read, Write, and Interrupt Acknowledge. +5V I-------I'E~ lEO lEi lEO 1 - - - - - - 1 lEI Z8500 Z8100 Z8100 (FIRST) (MIDDLE) (MIDDLE) PERIPHERAL ~ (LASl) LOWEST PRIORITY PERIPHERAl HIGHEST PRIORITY PCLK lEO z••oo __________________________--Jr--,'-____r--1s_(NS) PERIPHERAL (4MHz) ARST ClO FlO ... 360 sec Figure 1. 2267-001 ... MIDDLE '50 '50 '20 LAST '00 '00 '20 Peripheral Interrupt Daisy Olain 699 The discussion that follows pertains t.o the 4 MHz peripherals, but the 6 MHz devices have simi lar timing con!'lidprations. Although the peripherals have a standard CPU interface, some of their particular / timing requirements vary. The worst-case parameters are shown below; the timing can be optimized if only one or two of the lBSOO family devices are used. Read Write Cycle The Write cycle transfers data from the CPU to the peripheral. It begins by selecting the. peripheral and addressing the desired register. A setup timl~ of BO ns from regiflter select stahle to the fa llillg edge of WR is required. The data must be valld prior to the falling edge of Wll. The WR pulse width is specified at 400 ns. Write cycle timing ifl shown in Figure 2. C~le Interrupt Acknowledge Cycle The Read cycle transfers data from· the peripheral to the I;PIJ. It begins by selecting the peripheral and appropriate register (Data or Control). The data is gated onto the bus with the .RD line. A setup time of BO ns from the time the register select inputs (AlB, C/O, AO' A1) are stable to the falling edge of RD guarantees that the proper register is accessed. The access time specification is usually measured from the falling edge of RO to valid data and varies between. peripherals. The SCC specifies an additional register select to va lid data time. The Read cycle timing is shown in Figure 2 •. The lB,)OO peripheral interrupt atructure offers the designer :nany options. In the simplest case, the Z8,00 peripherals can be po \led with interrupts dil~abled. If using int.errupts, the timing shown in· Figure 2 should be observed. (Detailed discussions of the interrupt processing can be found in the Zilog Data Book, document number 00-2034-02.) An interrupt sequence begins with an INT going active because of an interrupt condition. The CPU acknowledges the interrupt with an I'll TACK signal. ADA ReAD CYCLE WRIT. { CYCLI! DATA IN """--_-+-_ _ _~I INTERRUPT ACKNOWLEDGE CYCLI! DATA IN Figure 2. 700 Z8500 Interface lUling (4 lliz) 2267-002 A daisy-chain settle time (dependent upon the number 0 f devices in the chain) ensures that the interrupts are prioritized. The falling edge of iffi causes the IUS bit to be set and enables a vector to go out on the bus. lil~g's 4 MHz 18S00 peripherals to on 8 MHz 68000. faster CPUS or peripherals can be used by These examples modifying aome of the timing. suggest possible ways of implementing the interface but may require some modifications to operate properly. They were chosen because they give the URer a variety of interface deaign ideas. The first examp Ie uses a minimum amount of TTL logic 'to implement the interface because the Valid Peripheral Address (VPA) cycle meets the l8500 timing requirements. In this mode the 68000 accepts only nonvectored interrupts. The second example uses the Data Transfer Acknowledge (DTACK) pin. This interface allows faster operation and makes use of the 18500's' 8-bit vectored interrupts. The third example also uses a DIACK cycle and is similar to the second, except the external logic is integrated into a Ring Ie chip, the PALZOX10 programmable array logic. The tab Ie gi ven in Figure 1 can be. used to ca lculate the amount of sett ling time required by a daisy chain. Even if there is only one peripheral in the chain, a minimum settling time is still required bec~use of the internal daisy chain. The first column specifies the amount of settling time fOf only one peripheral. If there are two peripherals, the time is computed by adding together the times shown in the firat and the laat columns. For each additional peripheral in the chain, the time specified in the middle COIU~1 is added. Recovery TDe The read/write recovery time specifies a minimum amount of time between Read or Write cycles to the same peripheral. The recovery time differs among peripherals and is summarized in figure J. In most cases, this parameter is met because of the time required for instruction fetches. The recovery time specificstion does not have to be met if C[ Lq deselected when Read or Write occurs. EXAMPlE 1: The 68000 has a special input pin, Valid Peripheral Address (VPA). that can be activated by the 18S00 chip se lect logic at the beginning of the cycle to indicate to the 68000 that a peripheral is being accessed. This generates a special Read/Write cycle that meets the peripheral timing requirements. This cycle allows the l8500 control signals to be generated easily. The 68000 responds to interrupts using an autovector and the l8500 can be programmed not to return a vector. 68000 INTERfACE EXMI'lES This section shows three examples, presented in increasing order of complexity, for interfacing CE iiiilWR \ A TTL Interf_ Using a VPA Cycle r- \ / / \ \. FlO sec NOTE. The dlagnlm showS tMt the recovery time I, .....IUNd between and wrHet only It the peripheral I. . .Iacted \ -\ r- Recovery Time Peripheral (' MIbj CfO ......... / Ore..... than 3 peLK cyct.. Of 1DOOns _than1_ G""""' .... 4P01.K . . . . coRsecutlve re_ Figure ,. Recovery TDe '701 F:igure 4 shows how the hardware can be imple-' mented. PClK is generated by 01 victing down the 68000, ClK. RO, WR, and lr>!TACK are simply ANDed 68000 signals. The worst-case daisy-chain settle time is 4S0 ns. Connecting lNT to IPL O generates a level 1 interrupt. The internal regis'ters are accessed by AO' A1' O/C, and A~, which can be the 68000 lowest order addresses. The tiniing is shown in Figure 5. VPA FCo Fe, Fe, AS ...'" An-An 8.000 -" .... 7 r-- r "' of-- 0 ---- • L.r"\, - Cl! Ao-Dle A1-AlB L -I Jo--- _to.. .... 2:8500 Peripheral U L IP,", liD r elK IPL, ...'" ~7 A, R/W , -- WI! r-- Qr-- _0 PCLK elK ~~ !liT IPLo' figure 4. Interrace Using the VPA Cycle eLK \~ ________________________________ __________ _________________________ __________ ~ ~ ~ ~r--- I~·------------>~--------------·II;·==========>~~========~·I .~~--------------------~I \~ figure S. 702 \ _______________________ \~ ________________~r--- VPA Cyde Tilling ~r--- Functional Description VPA is pulled Low at the beginning of the cyc Ie and the CPU automat ically inserts Wait states unti 1 E is synchronized, VPA = [(AS)'(CE)] RD = [(CE)'(VMA)'(R/W)] WR = [(CE)'(VMA)'(R/W)] INTACK ExAMPLE EXAIoPLE J: = [(rCO)'(rC1)'(rC2)'(AS)] Z: register (74LS164) is used to generate the proper timing, At the beginning of each cycle, QA (Figure 7) is set High for one PCLK cyc Ie and then reset, This pulse is shifted through the QA-QH outputs and if! used to generate RD, WR, and DIACK signals, Some of the extra Wail states can be eliminat.ed by tapping the Shift register sooner (e,g" QC)' A TTL Interface Using DTACK Cycles Usihg the 68000 Data Transfer Acknowledge (DIACK) cycle is a second way of interfacing to the l8500 peripherals. The 68000 inserts Wait states until the DTACK input is strobed Low to complete the transfer. In addition to qenerating the control signa Is, the interface logic must also generate DTACK. The timi~g shown in Fiqure 6 can be generated by the hardware shown in Figure 7. fhe 8-bit Shift Single-Chip Pal Interface This example illustrates how to interface the 4 MHz Z8500 peripherals to the B MHz 68000 using a PAL20Xl0 device to generate all the required control >ligna1". The PAL reduces the required interface logic to a >lingle chip, thu>l minil1)izing board space. Thi>l interface offers flexibility because the interna 1 logic can be reprogrammed without changing the pin functions, The PAL uses 68000 signals to generate Read, Write, and Interrupt ,Acknowledge cycles. In addition to generating the l8500 control signals, the PAL also generates a DTACK to inform the 68000 of a completed data transfer cycle. This allows the 68pOO to use the peripheral's vectored interrupts. eLK PCLK If / r- \ I Q. Q, I L- \ rr- \ ii'iiIWR l>fiCI{ I"TACK \ r \ Figure 6. Tilling for DTACK Interface 703 +5V vp~W· RJW A" An A" AlO }o- "" b~ 08000 -• - R ILP, ........ 0 B elK > ... 111 :--- OH ....E;L'l Z8600 PERIPHERAL ON' -# CE +5V tr~v FC, Wl! 01-74LS74 PCLK INT tLPo FC, ::0- • 00 -<> elR ..... 1fI! r--- 00 74LS184 0, Q, ..... r- 0. Oe 74LS74 elR 1LP2 (lA elR A" I V vee ll- A A" A" elK +j 74 •• 7. =L.Jo-- ---t -• J FC, 0 74LS74 ~ DTACK (j ~ ~ Do-07 Figure 7. IN'fACj( r-- 0,-" Hardware Oiagra. for OTACK Interface Functional Description Figure 8 shows the PAL's pin functions. The PAL generates five control s~gnals, of which four (WR, RD, CO, and INT_ACK) go to the l8500 and one (DTACK) goes to the 68000. The remaining signals are used internally to generate these outputs. ClK C§" NC TEST R RIW FC, FC, FCO The PAL uses a 4-bit dowllcounter to generate the proper placement of the control signals where Co is the least-significant bit and C3 is the Vee = WI! 1fI! iffA'CK !Ie 1:Yl: a> l;1 RESET CE NC CI GN' OE Figure 8. 704 Timing diagrams for the Read, Write, and Interrupt Acknowledge cycles are shown in Figure 9. PAl Pinout most-significant bit. All of the PAL is clocked with the rising edge of the 68000'''' ClK. The counter toggles between counts 14 and, 15 and starts counting down when AS goes active. The counter goes back to toggling when' AS goes inacti ve. Cye goes active low at the same time the cOllnter starts counting down. The equations in Figure 10 can be entered into a development board to program the PAL. CLK All \ co c, c. C3 DTACK liD WR DTACK INTERRUPT ACKNOWLEDGE CYCLE INTACK liD 705 PAL20X10 P7089 (10) MC68000 TO ZILOG PERIPHERAL INTERFACE MMI, SUNNYVALE, CA CLK /CS NC TESI /AS RW FC2 FC1 FCO /RESET NC GNO JOE /C3 /C2 /C1 /CO /CYC NC /DTK /RD /WR /ACK VCC CO Cl ..:+: C2 .:+: C3 .:+: DTK .+ CYC .- ,+ :+: RD .+ :+: + WR .+ :+: ACK PAL DESIGN SPECIFICATION /CO*/TEsr COUNT/HOLD (LS8) /RES[J*AS*Cl /RESET*AS*CO HOLD DECREMENT /RESET*AS*C2 /REsn*AS*CO*Cl HOLD DECREMENT /RESET*AS*C3 /RESET*AS*CO*Cl*C2 HOLD DECREMENT /RESET*/ACK*CYC*C3*/C2*/Cl* CO*CS /RESET* ACK*CYC*C3*/C2* Cl*/CO DTACK FOR RD/WR .CYCLE DTACK FOR INTERRUPT OPERATION /RESET*AS*/CYC*CO /RESET*AS* CYC /RESET*CYC*DTK NEW CYCLE STARTED PROCESSING OF CYCLE nil OF CYCLE /RESET*CYC*/ACK*RW* C3*/C2*CS /RESET*CYC*/ACK*RW*/C3*C2*Cl*CO*CS /RESEI*CYC* ACK*RW* C3 RESET NORMAL READ OPERATION NORMAL READ OPERATION READ DURING OPERA lION /RESET*CYC*/ACK*/RW* C3*/C2*CS /RESET*CYC*/ACK*/RW*/C3* C2*Cl*CO*CS RESET WRITE WRITE .- /RESET*FCO*F~1*FC2*AS* + /RESET*FCO*FC1*FC2*CYC INTERRUPT ACKNOWLEDGE INTERRUPT ACKNOWLEDGE CYC*/CO Figure 10. PAl Equatioos Hardware Diagraa The hardware diagram of the PAL ipterface is sho,",n in Figure 11. The 68000 signals CLK, CS, ~, R/W, rcO' FC 1, and FC2 are uRed to generate the Z8500 control signals. The control signals are synchronous with the rising edge of the 68000's CLK. TES T and OI must be grounded. CS iA used to 706 enable Dl ACK, RD, and WR as shown in the equations. The Z8500 INT is connected to ILPO' which geTleratef3 a 68000 leve 1 1 interrupt. The per ipherals are memory-mapped into the highest 64K byte block of memory, wlwre .A17-A23 equa Is "FF H". Addresses A4-A6 afe uRed to select the peripheral; A, -A 3 se lect the interna 1 registers. Tab Ie 2 shows the peripheral's me!nory map. +5V VPA ~ A1S-A23 r+QV As 34 As 33 ... 32 ,.vee +5V r-r-;c·., 4 2 , .2A YO 15 .2. e Y2 13 Y1 14 B 74138 A GND •-=- A'h A, 08000 28 DTACK 10 elK 15 , - DTACK elK :co ~ 5 XW· • RJW9 FCo Fe, 28 27 Fe, 26 ViR RJW 9 FCo , Fe, 9 vee 20 ~ e" ~ • AS 2::~O Ro 8 +5V ~ 2. +5V ~ I~ OE~ Do-D, 1LPo ILP, pelK l~ Alii }SE:IAl PORTS , lEI GND • +5V ~ ~ [,'NTACK 25 I~ Do-Dr lIlT ~ DI~ TEST '~ ~ I'INTACK 8 INTACK +5V _,_a RESET t- Z8530 I~ 7' ~ lEO elo fi1j Z8131 WR PORTS PIO Z803. +5V .~ • 2 ~ DIe pelK 171 ~ CE ~ Ill) ~ WR ,~ TATlI'eK INTACK Do-Dr lIlT Ao lEI }~RT2 vee } 3 PARAllEL GND '1 lEO 181 ~ +sv---1! t M1 Do-D, MO lIlT lEI ~ GND lEO Tori TO NEXT PERIPHERAL 25 ~+5V ILP2 r igure 11. PAl Hardware Diagraa ~ CE ~ A, 31r I GND +5V 40 vee sec fi1j ~ WR ~ liI'IEK ~ Fe, ~ +5V 23 Table 2. Peripheral Peripheral Memory Map Regbter Hex Address SCC (Z8530) Channel Channel Channel Channel B Control B Data A Control B Data FF0020 FF0022 FF0024 FF0026 CIO (Z8536) FlO Port C's Data Register Port B's Data Register Port A's Data Register Control Register FF0010 FFOO12 FF0014 FFOO16 Data Regif'ters Control Registers FFOOOO rFOOO2 ~Z8038) INTERfACE VERIFICATION TECHNIQUES This section suggests possible ways of verifying the Read, Write, and Interrupt Acknowledge cycles. Read Cycle Verification The Read cycle should be checked first because it is the simplest operation. The Z8500 should be hardware reset by simultaneously pulling RD and WR low. When the peripheral is in the reset state, the Control register containing the reset bit can be read without writing the pointer. Reading back the FlO or CIO Control register should, yield a Interrupt Acknowledge Cycle Verification Verifying an Interrupt Acknowledge (INTACK) cycle consists of several ~teps. First, the peripheral makes an Interrupt Request (INT) to the CPU. When the processor is ready to service the interrupt, it initiateS an Interrupt Acknow-Jedge (INTACK) cyc Ie. The peripheral then puls an 8-bit vector on the bus, and the 68000 uses that vector to, get to the correct service routine. This test checks the simplest case. First, load the Interrupt Vector register with a vector, disable the Vector Includes Status (VIS), and enab Ie interrupts (IE = 1, MIE = 1, lEI = 1). Disabling VIS guarantees that only one vector is put on the bijs. The address of the service rOutine corresponding to the 8-bit vector number must be loaded into the 68000's vector table. Initiating an interrupt sequence in the F [Q and CIO can be accomplished by setting one of the interrupt pending (rip) bits and seeing i f the 68000 jumps to the service routine (setting a breakpoint at the beginning of the service routine is an easy way to check if this has happened). Initiating an interrupt sequence in the sec is not quite as simp Ie because the IP bits are not as accessible to the user. An interrupt can be generated indirect I y via the CT S pin by enab ling the following: CTS [E (WR15 20), EXT INT EN (WR1 01), and MIt: (WR9 08). Any transition on the CTS pin can initiate the interrupt sequence. The interrupt can be re-enabled by RESET EXT /S TAT US IN r (WRO 10) and RESET HIGHEST IUS (WRO 38). 01H' The SCC' s Read cyc Ie can be verified by read ing the bits in RRO. Bits D2 and D6 are set to 1 and bits DO' D1' and D7 are O. Bits D3-D5 reflect the input pins DCD, SYNC, and CTS, respectively. Write Cycle Verification The Write cycle can be checked by writing to a register and reading back the results. Both the eIO and FIO must have their reset bits cleared by writing DOH to their Control registers and reading back the result. The SCC can be checked by writing and reading to an arbitrary read/~rite register, for example, the Time Constant register (WR12 or WR13). 708 CONCLUSION liloq's Z8500 family of nOllmultiplexed Address/Data bus peripherals can interface easily with the 68000 and prov ide a 11 the s,!pport required in a high-performance microprocessor system. lhe many features offered by the SCC, FlO, and CIO solve many system design problems by making interfacing to the external world easy. These intelligent periphera Is also great ly enhance the system performance by relieving the CPU of many burdensome overhead tasks. Additionally, the powerful illterrupt 'structure allows the 68000 to use vectors and reduce interrupt response time. ~ZiJffi ApPLICATION NOTE INTERFACING Z80 CPUS TO THE Z8500 PERIPHERAL FAMILY INTRmUCTIIJI Data Bus Signala The Z8500 Family consists of un1versal peripherals that can 1nterface to a variety of mIcroprocessor systems thst use a non-multiplexed address and data bus. Though SImIlar to Z80 per1pherals, the Z8500 perIpherals dIffer 1n the way they respond to I/O and Interrupt ACKnowledge cycles. In addItIon, the advanced features of the Z8500 peripherals enhance system performance and reduce processor overhead. 07-00 Syatt. Cootrol Signals An-Ao To deSIgn an effectIve Interface, the user needs an understandIng of how the zao Fam1ly Interrupt structure works, and how the Z8500 peripherals 1nteract with this' structure. ThIS application note prov1des basic informstIon on the l,nterrupt structures, as well, as a discussion of the hardware and softwsre consIderatIons Involved 1n InterfaCIng the Z8500 per1pherals to the Z80 CPUS. DIscussions center around each of the follOWIng situations: • • • • Z80A 4 Z80B 6 Z80H a Z80H, 8 MHz MHz MHz MHz CPU CPU CPU CPU to to to to Z8500 4 MHz per1pherals Z8500A 6 MHz peripherals Z8500 4 MHz per1pherals Z8500A 6 MHz peripherals ThlS applicatIon note assumes the reader has a strong worklng knowledge of the ZB500 per1pherals; It is not Intended as a tutorial. Address Select Lines (optional). lines select the port and/or registers. These control Ch1P Ensble (input; active Low). '~ is used to select the proper peripheral for programmIng. ~ ahould be gated with ~ or 'RR'£lJ to prevent spurious chip aelects durIng other machine cycles. Read (input, active Low). 1m activates the circuitry and gates data from the chip onto the data bus. chip-r~ad iR* Write (Input, aCtive Low). WR" strobes data from the data bus into the peripheral. *Chip reset occura when 1m IIfId WR" are active aimultaneously. Interrupt Control ~ CPU HARDWARE INTERfACIt«; The hardware inte,rface cons1sts of three bas1c groups of signals: data bus, system control, and Interrupt control, deSCrIbed below. For more detailed signal information, refer to Zilog's Data Book, Universal Per'lpherals. Data Bus (bIdirectional, 3-state). This bus transfers data between the CPU and the perIpherals. m Interrupt Acknowledge (input, active Low). This s1gnal indIcates an Interrupt Acknowledge cycle and 1S used with 1m' to gate the interrupt vector onto the data bus. Interrupt Request active Low). (output, open-draln, 709 ADDA X ADDRESS VALID ' X ------'. "._-----------...;.------------":"''''':''--',,,---''.....'-- ;\"--f \ \ ______f D:~~ ----------------------1(~____________D_A_TA__VA_L_ID____________~)~----------figure 2. Z8500 Peripheral The IUS bit ind1cates that an interrupt 1S currently being serviced by the CPU. The IUS bit is set' during an Interrupt Acknowledge cycle 1 f t.he IP bit is set and the lEI line is High. If the lEI line is Low, the lUS bit is not set, and the device is inh1bited from plsc1ng it!! vector onto the dsta bua. In the ZBO peripherals, the IUS bit is normally cleared by decoding the RETI instruct~on~ but can alsQ be ~leared by a software commsnd (510). In the ZB500 peripherals, the IUS b1t is cleared only by softwsre commands. zoo Interrupt Daisy-Chain Operation In the ZBO peripherals, both the IP and lUS bits control the lEO line and t.he lower portion of the daisy chain. When a peripheral's IP b1t is set, 1ts lEO line is forced Low. This is tru~ regardless of the stat.e of the lEI line. 'Additionally, 1 f t.he peripheral's lUS bit is clear and its lEi line High, the TIlT line is also forced Low. The Z80 peripherals sample for, both m; and TI!RQ" active, and 1l!l inact ive to identi fy an Interrupt Acknowledge cycle. When m; goes active and ~ is inactive, 'the peripheral detects an Interrupt Acknowledge cycle and allows its interrupt daisy cha1n to settle. When the TI!RQ" 11ne goes active wHh m; ~ctive, the highest' priority 1nterrupt.ing peripheral places its interrupt vector onto the data bus. The lUS bit is also set to indicate that the penpheral is currently under ser:vice. As long as the lUS bit is set, the lEO hne is forced Low. This inhibits any lower priorit.y devices from requesting an interrupt. 710 I/o Write Cycle Tilling When the ZBO CPU executes the RET! instruction, the periphersls moritor the data bus and the h1ghest prionty device under service resets 1tS lUS bit. Z8500 Int~rrupt Daisy-Chain Operation In the Z8500 peppherals, the lUS blt normslly controls the stale of the lEO hne. The IP b1t affects the daISY cha1n only durmg an Interrupt Acknowledge cycle. S1nce the IP b1t is normally not part of the ZB500 perrpheral lnterru~t da1sy chal 11 , the~e 1S ro need to decode the RE fl 1nstructlOn. To allow for control over the dalsy chaJn, ZB500 peripherals have a Dlsable Lower Chaln (DLC) software command that ~ulls lEO Low. Thls qm be used to se.lectlvely deactlvate parts of the dalsy chaln regardless of the lnterrupt status. Table 1 shows' the truth tabl~s for the ZB500 lnterrupt daisy-cha1n control slgnals during certaln cycles. Table 2 shows the lnterrupt state dlagram for the Z8500 peripherals. T~le 1. Z8500 Daisy-Chain Control SlgnalS Truth Table for Daisy Chain Signals During Idle State lEI IP IUS lEO o x x- 1 X X o ,0 Truth Table for Daisy Chain Slgna19 During iNiACK Cycle lEI IP IUS o X X X b x o ,0 lEO lEI Interrupt Enable In (lnput, actlve Hlgh). Write Cycle Tilling lEO Interrupt High) • Flgure 2 lllustrates the ZB500 Wute cycle tlmlng. All reglSter addresses and ~ must If rr goes remaln stable throughout the cycle. active after W goes active, or lf rr goes inact1Ve before W goes wactive, then t.he effectlve Wrlte cycle lS shortened. Data must be available to t.he peupheral pnor to the fall1ng edge of W. Enable Out (output, actlve These I1nes, control the interrupt d81sy chaln for the peripheral lnterrupt response. Z850D I/O OPERATION PERIPHERAL INTERRUPT OPERATION The Z8500 penpherals generate internal control signals from ~ snd W. Slncel PCLK has no requued phase. relabonship to 1m" or W, the circultry generabng these slgnals provides bme for metastable conditions to disappear. Underst.anding peupheral interrupt operation requlres a basic knowledge of the Interrupt Pendlng (Ip) and Interrupt Under Service (IUS) bltS in relation to the daisy chain. Both ZBO and ZB500 peripherals are designed in such a way that no addlt10nal interrupts can be requested during an Interrupt Acknowledge cycle. This allows theinterrupt. daisy chain to settle, and ensures proper response of the interrupting device. The ZB500 peupherals are ln1tiahzed for dlfferent operabng modes by programming the lnternal registers. These lnternal reglsters are accessed during 1/0 Read and Write cycles, WhlCh are described below. The IP bit is set in the peripheral when CPU lntervention is required (such condittpns as buffer empty, character available, error detection, or status changes). The, Interrupt Acknowledge cycle does not necessarily reset the IP bit. This bit is cleared by a software command to the pedpheral, or when the action that generat.ed the interrupt 1S completed (i.e., reading a character, writing data, resett1ng errors, or changing the status). When the interrupt has been serviced, other interrupts can occur. Read Cycle Tilling Figure 1 111ustrates the ZB500 Read cycle timlng. All reglster addresses and ~ must remaln stable th-coughout the cycle. If rr goes act.1ve after ~ goes active, or lf rr goes lnactlve before ~ goes wact1Ve, then the effective Read cycle lS shortened. AD DR ________J)(~ fi _____________________ A_DD_R_E_S_S_V_AL_I_D________________ ~)(~________ \_---/ \ R D \_________/ D~:A ________________________________________~(~___D_A_T_A_V_A_LI_D___)~-------------- Figure 1. Z8500 Peripheral I/o Read Cycle Tillling 711 Tllble Z. Z8500 Interrupt State Diagr_ Interrupt, Cond:s,hon Interface. Flgures 4 and 7 deplct some of the logIC used to lnterface the ZaOH CPU to the Z8500 and Za500A perIpherals for the I/O and Interrupt Acknowledge interfaces. The logic required fdr adding addItional Wait states into the timing flow is not discussed In, the folowing sections. lEI HIgh? Z8DA CPU to Z8500 Peripherals <------> INT ACK * lEI Walt for CPU INTACK Cycle * RD CPU Read, WrIte, or Reset IP lEO HIgh? Return to maIn program, The Z8500 perIpherals use INTACK (Interrupt Acknowledge) for recognItIon of an Interrupt Acknowl!,dge cycle. [hIS pIn, used In conjunctlOn WIth RD, allows the Z8500 perIpheral to gate Its Interrupt vector onto the data bus. An actlve R5 sIgnal durIng an Interrupt Acknowledge cycle ,performs two functlons. Fust, It allows the hIghest prIorIty device requesting an Interrupt to place ItS Interrupt' vector on the data bus. Secondly, It sets the IUS blt In the hIghest pnorIty devIce to lIldlcate that the device lS currently under serVIce. INPUT/OOTPUT CYCLES Although Z8500 perIpherals are desIgned to be as unlversal as posslble, certain timlng parameters dl ffer from the standsrd Z80 tlmlng. The followlng sect lons dlSCUSS the I/O lnterface for each of t.he Z80 CPUs and the Z8500 per ipherals. Flgure 5 deplcts 10glC for the Z80A CPU to ZB500 penpherals (and zaoe CPU to Za500A perIpherals) I/O lnterface as well as the Interrupt Acknowledge 712 No additional Wait st,ates are necesssry during .the I/O cycles, ~lthough additional Wait states can be inserted to compensate for timing delays that are inherent, in a system. Although the ZaOA timing parameters indicate a negative value for data valid pr ior to WR', this is a worse than "worst case" value. This parameter is based upon the longest (worst case) delay for data available from the, falling edge of t.he CPU clock minus the shortest (best case) delay for CPU clock High to WR' Low. The negative value resulting from these two parameters does not occur because the worst case of one parameter and the best case of the other do not occur wlthlll the same device. This indicates that the value for data available prior to WR' will always be greater than zero. All setup and pulse widt,h times for the Z8500 peripherala are met by the standard ZaOA timing. In 'determining the interface necessary, the 'CE' signal to the Z8500 peripheralS is assumed to be the decoded addreas qualified with the 1TImr signal. Figure 3a shows the minimum Z80A CPU to Z8500 peripheral interface timing for 1/0 cycles. If additional Wait st,ates are needed, the same number of Wait 'states can be inserted for both I/O Read and Write cycles to simplify interface logic. There are several ways to place the Z80A CPU into a Wait condition (such as counters or shift registers to count system clock pulses), depending upon whether or not the user wants to place Wait states in all I/O cycles, or only during Z8500 I/O cycles. Tables 3 and 4 liat the Z8500 peripheral and the Z80A CPU timing parameters (respectively) of concern during the I/O cycles. Tables 5 and 6 list the equations used In determining if these parameters are satisfied. In generating these equations and the values obtained from them, the required number of Wait st ates was taken into account. The reference numbers in Tables 3 and 4 refer to the timing diagram In Figure 3a. Table 1. Z8500 Tilling Par-':era I/O' Cyclea Worst C- Min 6. 1. 2. 4. 8. 1. 7. Address to iiii Low Setup Address to RO Low Setup Address to Read Data Vslid CE Low to WR Low Setup CE Low to RO Low Setup RO Low Width Wii Low Width AD Low t~ Read Data Valid Write Data to WR Low Setup TsA(WR) TaA(RD) TdA(DR) " TsCEl(WR) TaCEl(RD) TwRDI TwWRI TdRDf(DR) TsDW(WR) Table 4.. Max 80 80 !)Uta na ns 590 0 0 390 390 na ns rlS 255 0 ns ns ns liS Z80A Tilling Par-':ers I/O Cycles Worst CMin 5. TcC TwCh rrc rdCr(A) TdCr(RDf) TdCr (IORQf) TdCr(WRf) TsD(Cf) Clock Cycle Period Clock Cycle High Width Clock Cycle raIl Time Clock High to Address Valid Clock High to RD Low Clock High to IORQ Low Clock High to WR Low Data to Clock Low Setup Max 250 110 !)Uta liS ns 30 110 85 75 65 50 liS ns liS ns ns ns ( Table 5. Psr-':er Equations Z8500 Psr~er Z80A Equatioo TsA(RD) TdA(DR) TdRDf(DR) TwRDI TsA(WR) TsDW(WR) TwWRI Value TcC-TdCr(A) 3TcC+TwCh-TdCr(A)-TsD(Cf) 2TcC+TwCh-TsD(Cf) 2TcC+TwCh+TFC-TdCr(ROf) TcC-TdCr(A) 2TcC+TwCh+TfC-TdCr(WRf) Table 6. Z80A Psr.ater TsD(Cf) Par~er 140 800 460 525 140 >0 560 min min mjn min min min min (kIita ns ns liS ns liS ns ns Equations Z8500 Equatioo Value Address 3TcC+TwCh-TdCr(A)-TdA(DR) !)Uta 160 min ns 135 min ns RO 2rcC+TwCh-TdCr(RDf)-TdRD(DR) 713 CLOCK ADDR CPU DATA IN CPU DATA OUT figure Ja. VALID DATA Z80A CPU to Z8500 Peripheral Minima I/O Cycle TDii,.g Z80B CPU to Z8500A Peripherals No additional Wait states are necessary during I/O cycles, although Wait states can be inserted to cpmpensate for /lny system de lays. Al tHough the ZaOB timing parameters indicate a negative value for data valid prior to WI!", this is a worse than "worst case" value. This parameter is based upon the longest (worst case) delay for data available from the fall ing edge of the CPU c lock minus the shortest (best case) delay for CPU clock High to WI!" Low. The negative value resulting from these 714 two parameters does ,not occur because the worst case of OIie parameter and the best case of the other do not occur within the same device. ThlS indicat.es that the value for dat.a available prior to WI!" will always be greater than zero. All setup and pulse width times' for the Z8500A peripherals are met by the standard ZBOB timing. In det.ermining the interface necessary, the signal to the ZB500A peripherals is assumed to be the decoded address qualified with the ~ signal. rr Figure 3b shows the minimum ZBOB CPU to Z8500A peripheral interface timing for I/O cycles. If addltional Wait stat.es are needed, the same number of Wait states can be inserted for both 1/0 Read and 1/0 Write cyc les in order to simpli fy interfac!" logic. There are several ways to place the l80B CPU int.o a Wait condition (such as counters or shlft registers to count system clock pulses), depending upon whether or not the user wants to place Wait states in all 1/0 cycles, or only during lB500A I/O cycles. Tables 7 and B list. the lB500A peripheral and t.he l80B CPU timing parameters (respectively) of concern during the I/O cycles. Tables 9 and 10 list t.he equations used In.determining if these parameters are satisfied. In generating these equations and the values obtained from them, the required number of Wait states was t.aken into account. The reference numbers in Tables 7 and B refer to the timing diagram of Figure 3b. CLOCK ADDR CPU DATA IN CPU DATA OUT ---+-------------CI VALID DATA -------f figure 3b. >- VALID DATA _ _ _ _ _ _- - - J l80S CPU to l8500A Peripheral Minimum I/O Cycle Timing 715 Table 7. Z8500A TiM1ng Parameters I/O Cycles IIorst Case 6. 1- 2. 4. 8. 3. 7. Min Address to WR Low Setup Address to Ro Low Setup Address to Read Data Val1d BE Low to WR Low Setup BE Low to RD Low Setup RD Low Width WR Low Wldth RD Low to Read Data Valld Wrlte Data to WR Low Setup TsA(WR) TsA( RD) TdA(DR) TsCU(WR) TsCEl(RD) TwRDI TwWRl TdRDf(DR) TsDW(WR) Table 8. 5. 80 80 420 0 0 250 250 180 0 lkIits ns ns ns ns ns ns ns ns ns Z80B TiMing Parameters I/O Cycles Worst Case fcC TwCh TfC fdCr(A) TdCr(R'of) fdCr( IORQf) TdCr(WRf) TsD(Cf) Max Min ~lock Cycle PerIod Clock Cycle Hlgh W1dth Clock Cycle Fall T1me Clock Hlgh to Address Valid Clock Hlgh to RD Low Clock Hlgh to IORQ Low Clock Hlgh to WR Low Data to Clock Low Setup Table 9. 165 65 20 90 70 65 60 40 lkIits ns ns ns ns ns ns ns ns Parameter Equations Z8500A Parameter Z80B Equation TsA(RD) TdA(DR) TdRDf(DR) fwRDI TsA(WR) TsDW(WR) fwWRI fcC-TdCr(A) 3TcC+TwCh-TdCr(A)-TsD(Cf) 2TcC+TwCh-:[sl)(Cf) 2TcC+TwCh+TfC-TdCr(RDf) TcC-TdCr(A) Value 2fcC+TwCh+ffC-TdCr(WRf) Table 10. Max >75 430 345 325 75 >0 352 mln mIn mln mIn mIn mlll mIn lkIits ns ns ns ns ns ns ns Parameter Equations Z80B Par_ter Z8500A Equation Value TsD(Cf) Address 3fcC+fwCh-fdCr(A)-TdA(DR) 50 lkIits m1l1 ns 75 mln ns RD 2TcC+TwCh-TdCr(RDf)-TdRD(DR) 716 l8011 CPU to Z8500 Peripherals During an I/O Relld cycle, there are three l8500 parameters that must be satisfied. Depending upon t.he loading characteristics of the mi signal, the designer may need to delay the leading (falling) edge of, mi t.o satisfy the .lS500 timing parameter TsA(RD) (Address Valid to mi Setup). Since lSOH timing parameters indicate that the mi signal may go Low after the falling edge of T2 , it is recommended that the riSing edge a f the system clock be used to delay ~ (if necessary). The CPU must also be placed into a Wait condition long enough to satisfy TdA(DR) (Address Valid to Read Data Valid Delay) and TdRDf(DR) (~Low to Read Data Valid Delay). During an I/O Write cycle, there are three other lS500 parameters that must be satisfied. Depending upon the loading characteristics of the WI!" signal and the data bus, the designer may need to delay the leading (falling) edge of WI!" to satisfy the l8500 timing parameters TsA(WR) (Address Valid to WR" Setup) and TsDW(WR) (Data Valid Prior to WI!" setup). Since lBOH timing parameters indicate that the WI!" signal may go Low after the falling edge of TZ' it is recommended that the rising edge of the system clock be used to delay WI!" (if necessary).. This delay will ensure that both parameters are satisfied. The CPU must also be placed into a Wait condition long Table 11. 5. TcC TwCh TfC TdCr(A) TdCr(RDf) Td Cd lORQ f) TdCdWRf) TsD(Cf) enough to satisfy TwWRl em\" Low Pulse Width). Assuming that the WI!" signal is delayed, only two additional Wait states are needed dur ing an I/O Write cycle when Interfacing the lSOH CPU to the l8500 peripherals. To simplify the I/O interface, the designer can use the same number 0 f Wait states for both I/O Read and I/O Write cycles. Flgure 3c shows the minimum lBOH CPU to lB500 peripheral interface .timing for the I/O cyc les (assuming that the same number of Wait states are used for both cycles and that both mi and WI!" need to be delayed). Figure 4 shows two ~ircuits t.hat can be used to delay the leading (falling) edge of either the ~ or the WI!" signals. There are several ways to place the l80A CPU into a Wait condition (such as counters or shl ft registers to count system clock pulses), depending upon whether or not the user wants to place Wait states in all 1/0 cycles, or only during l8500 I/O cycles. Tables 4 and 11 lIst the l8500 p.hlpheral and the l80H CPU tImIng parameters (respectIvely) of concern dUrIng the I/O cycles. Tables 14 and 15 llst the equatlOns used In determlnlng If these parameters are satlsfled. In generatlng these equatlons and the values obtalned from them, the requlred number of Walt states was taken wto account. The reference numbers In Tabl es 4 and 11 refer to the tlming dlagram of FIgure 3c. l80H Timing Paraaeter I/O Cycles Equation Min Clock Cycle Perlod Clock Cycle Hlgh Wldth Clock Cycle Fall T1me Clock Hlgh to Address Valid Clock Hlgh to lID Low Clock HIgh to IORQ Low Clock H1gh to WR Low Data La Clock Low Setup 1Z5 55 Table 12. 10 80 60 55 55 30 lkIits ns ns ns ns ns ns ns ns Parameter Equations l8500 Paraneler l80H Equation TsA(RD) TdA(DR) TdRDf(DR) TwRDI TsA(WR) ZTcC-TdCr(A) 6TcC+TwCh-TdCr(A)-TsO(Cf) 4TcC+TwCh-TsD(Cf) 4TcC+TwCh+TfC-TdCr(RDf) WR - delayed ZTcC-TdCdA) TsDW(WR) TwWRI Max Value 170 695 523 503 min mln mIn mIn ns ns ns ns 170 mln mln 563 mIn ns ns ns >0 4TcC+TwCh+TfC 1kI1ts 717 T1 CLOCK ADDR IORQ CE WAIT RD RDD READ CPU DATA IN WRITE ----------------------~ CPU DATA OUT VALID DATA Figure Jc. 718 l800 CPU to l8500 Penpheral Mini_ I/o Cycle Tilling Z80H CPU to l8SOOA Peripherals Dur ing an 1/0 Read cycle, there are three l8500A parametera that must be satisfied. Depending upon the loading characteristics of the 1m" signal, the designer may need to delay the leading (falling) edge of 1m" to satisfy the lB500A timing parameter TsA(RD) (Address Valid to 1m" Setup). Since lBOH timing parameters ind~cate that the 1m" signal may go Low after the falling edge of 12 , it is recommended that the rising edge of the system clock be used to delay ~ (if necessary). The CPU must slso be placed into a Wait condition long enough to satisfy TdA(DR) (Address Valid to Read Data Valid Delay) and TdRDf(DR) (1m" Low to Read Data Valid Delay). Assuming tha~ the 1m" s~gnal is delayed, then only one additional Wait state is needed during an I/O Read cycle when interfacing the lBOH CPU to the lB500A per~pherals. During an 1/0 Write cycle, there are three other ZB500A parameters that have to be satisfied. Depending upon the loading characteristics of the W signal and the data bus, the designer may need to delay the leading (falling) edge of W to 'satisfy the ZB500A timing parameters TsA(WR) (Address Valid to W Setup) and TsDW(WR) (Data Valid Prior to WR' Setup). Since, ZeOH timing parameters indicate that the WR' signal may go Low after the falling edge of T2' it is recommended that the rising edge of the system c lock be used Table n. 'to delay W (if necesssry). This delay w~ll ensure that both parameters are satisfied. The CPU must also be placed into a Wait condition long enough to satisfy TwWRl (W Low Pulse Width). Assuming that the W signal lS delayed, then only one additional Wait state is needed during an I/O Write cycle when interfacing the ZBOH CPU to the ZB500A peripherals. Figure 3d shows the minimum ZBOH CPU to ZB500A peripheral interface timing for the 1/0 cyclea (assuming that the same number of Wait states are used for both cycles and that both 1m" and W need to be delayed). Figure 4 showa two circuits that may be used to delay the leading (falling) edge of eit.her the 1m" or the WR' signal s. There are several methods used to place the ZBOA CPU ~nto a Wait condition (such as counters or shift registers to count system clock pulses), depend~ng upon whether or not the user wants to place Wait states 1n all 1/0 cycles, or only during ZB500A I/O cycles. Tables 7 and 11 hst the ZB500A per~phersl snd the ZBOH CPU tlmlng psrameters (respectlvely) of concern dUring the I/O cycles. Tables 14 and 15 llst the equatlons used ln determlnlng ~f these parameters are sstlsfled. In generatlng these equatlons and the values obtalned frbm them, the reqUired number of Walt states was taken Into account. The reference numbers ln Tables 4 and 11 refer to the tlm~nq dlagram of figure 3d. Par_ter Equahoos Z8500 Equation TsD(Cf) Value Address 6TcC+TwCh-TdCr(A)-TdA(DR) iID - delayed 4TcC+TwCh+TfC-IdRD(DR) Table 14. 8'11 ts 135 mln ns 300 mw ns Value lkIits Par_ter Equations l8111 Equation TsA(RD) TdA(DR) TdRDf(DR) IwRDl TsA(WR) TsOW(WR) IwWRI 2[cC-TdCr(A) 6TcC+TwCh-TdCr(A)-TsD(Cf) 4TcC+TwCh-TsD(Cf) 4TcC+TwCh+TfC-TdCr(RDf) WR - delayed 2TcC-TdCr(A) 170 695 525 503 mIn min mIll mw ns ns ns ns 170 mw mln 313 mw liS >0 2TcC+ TwCh+ HC ns ns 719 CLOCK J - - -.....-~.-- -~INTACK B Q2 CLR Q4 74LS04 74LS04 Ql 74LS04 Q3 Qs CLOCK -------11> 74LS04 Q6 Q7 74LSOO 74LS11 .....- - - - - - - - _ WAIT' Figure 5. Z8OA!Z808 CPU to Z8500/Z850OA Peripheral I'1terrupt Acknowledge Interface logic During I/O and normal memory accellll cycles, the Shift register remains cleared becaulle the Hf signal is inactive. During opcode fetch cycles, a.Lso, the Shift register remains cleared, because only Os can be clocked through the register. Since Shift register outputs are low, ~, WlITIT, and are controlled by other system logic and gated through the AND gates (74lS II). During I/O and normal memory access cycles, ~ and VlIITTE" are active as a result of the sYlltem l'!li and ~ signals (respectively) becoming active. If system logic requires that the CPU be placed into a Wait condition, the signal controls the CPU. Should it be necessary to reset the system, ~ causes the interface logic to gen~rate both ~ and WRTTr (the Z8500 peripheral Reset condition). vnur vnur· Normally an Interrupt Acknowledge cycle is indicated' by the Z80 CPU when Hf and ~ are both active (whi.ch can be detected on the third rising clock edge after T'I)' To obtain an early indication of an Interrupt Acknowledge cycle, the Shift register decodes ~n active Hf in the presence 0 f an inactive ~ on the rising edge of T2 • During an Interrupt Acknowledge cycle, the ~ signal is generated on the rising edge 0 f T2' Since it is the presence of TN"i'ACI( and an active that gates the interrupt vector onto the data bus, the logic must also generate 'RrAIT at the proper time. The timing parameter of concern here is TdIAi(RD) [TN"i'ACI( to mi (Acknowledge) low Delay]. This time delay allows the interrupt daisy chaw to setUe so that the device requesting the interrupt can place its interrupt vector onto the dat a bus. The Shift regist.er allows a sufficient time delay from the generation of 1liIT1iCK before it generates m:Ali. During this de lay, i t places the CPU into a Wait state unti L the valid interrupt vector can be placed onto the data bus. 1f the time between these two signals is insufficient for daisy chain settling, more time can be added by taking 'RrAIT and iiAIT from a later posi tion on the Shi ft register. ~ Figur<: 6 illustrates Interrupt Acknowledge cycle timlng resul ting from the Z80A CPU to Z8500 peripheral and the Z808 ~PU to Z8~00A peripheral interface. This timing comes from the logic illustrated in Figure 5, which can be used for both lnterfaces. Should more Wait. stat.es be requued, the additional time can be calculated in term,; of system clocks, since the CPU clock and PCLK are the same. 723 T':. Twa CLOCK ----------------------------------------------------f ~ DATA VECTOR Figure 6. zaowZ8111 CPU to Z8500/Z85OOA Peripheral Interrupt Acknowledge Interr_ n.ing Z80H CPU to Z8S00!18500A Peripherals Figure 7' depicts logic that can' be used in interfacing the ZBOH CPU to the ZB500/l8500A peripherals. This logic is the same as that shown in Figure 5, except that a synchronizing flip-flop is used to recognize an Interrupt Acknowledge cycle. Since lB500 peripherals do not rely upon PClK except du~ing Interrupt Acknowledge cycles, synchronization need occur only at that time. Since the CPU and the periphera~s are running at different. spe~ds, ~ and 1m" , muat be synchronized to the lB500 peripherals clock. During, I/O and normal memory access cycles, the synchronizing flip-flop and the Shift register remain cleared because the ~ signal is inactive. During opcode fetch cycles, the flip-flop and the Shift register sgain remain cleared, but this time because the signal is active. The synchronizing flip-flop allows an Interrupt Acknowledge t·y .. J e lobe recognized on the rising edge of T2 will''' Mf 1S active and 'ARm is inactive, generating I'"' TNTA signal. When INTA is active, the Shift ""J!"',n. ean clock and generate ~ to the '''"' I "h'" aJ and 'WAIT to the CPU. The 91i ft ro"J!'Ii 1'" delays the generation of ~ to the ,,,., I ,,' II" "J unl11 the daisy chain settles. The m 724 ____________ J VECTOR DATA WlITT signal is removed when sufficient time has been allowed for the interrupt vector data to be vaUd. Figure Ba illustrates Interrupt Acknowledge cycle timing for the ZBOH CPU to lB500 peripheral interface. Figure Bb illustrates Interrupt Acknowledge cycle timing for the lBOH CPU to ZB500A peripheral interface. These t1mings result. from the logic in Figure 7. Should more Wait states be required, t.he needed time should be calculated in terms of PClKa, not CPU clocka. Z80 CPU to Z80 and Z8S00 Peripherals In a ZBO system, a combination of ZBD peripherals and ZB500 peripherals can be used compstibly. While there is no restriction on the placement of the ZB500 peripherals in the daisy qhain, it is recommended that they be placed early in the chain to minimize propagation delays during RETI cycles. Durio;tg an Interrupt Acknowledge cycle, the lEO line from the ZB500 peripherals changes to reflect the interrupt status. Time should be allowed for this change to ripple through the remainder of the daisy chain before activat.ing IORQ' to the ZBO peripherals, or Tl'E:lm' to the ZB500 peripherals. 74LS11 WR ~----------------------------------------~~r-~} - - . RESET .-----------------------------------------~~r_~--. RD ~------------------------------------------~ 74LS74 MREQ - - - - - - , INTA D CLOCK Q ~--------------+_~ 74LS164 A 74LS04 Qo ~------IN-T-A-C-K------+_.__i~~~~INTACK 74LS04 Q1 IREAD B Q2 CLR Q4 Q3 QS PCLK 74LS04 Qs Q7 74LS11 74LSOO WAIT ~------------------------------_f ~------------------~WAIT' figure 7. Z80H to Z8500/Z8500A Peripheral Interrupt Acknowledge Interface Logic Dudng the RETl cycles, the lEO line from the Z8500 peripherals does not change state as in'the Z80 peripherals. As long as the peripherals are at the top of the daisy chain, propagation delays are minimized. Figure 9. This logic delays the generation of lORQ' to the Z80 peripherals by the same amount of time necessary to generate 'RE'Jij) for the Z8500 peripherals. Timing for this logic during an Interrupt Acknowledge cycle is depicted in Figure 10. The logic necessary to create the control signals for both Z80 and Z8500 peripherals is shown in 725 ~ T, T2 Twa Twa Tw Tw Tw Tw Tw Tw Tw Tw T3 CLOCK M1 IORQ INTA PCLK INTACK WAIT READ VE~!~: '" Figure 8a. CD Z80H CPU to Z8500 Peripheral Interrupt Acknowledge Interface TiMing t 0--i VECTOR DATA )-- T1 CLOCK T2 Twa Twa Tw Tw Tw Tw Tw r--'\. M1 IORQ IN"fA PCLK INTACK WAIT READ VECTOR DATA VECTOR DATA Figure Db. ~ Z80H CPU to Z8500A Peripheral Interrupt klcnoirledge Interface Tilling T3 ~ 74LS11 WR WRITE RESET .-----------~. READ RD 74LS04 IORQ' IORQ 74LS164 74LS04 MREQ 00 A 74LS04 M1 INTACK B INTACK 74LS04 _ _ 01 IREAD 02 03 CLR CLOCK 04 05 74LS04 Os 07 74LSOO 74LS11 ~ WAIT .. L----------------------------cc Figure 9. lao and l8500 Peripheral Interrupt Acknowledge Interface logic WAIT' T1 T2 Twa Twa Tw Tw CLOCK M1 IORQ INTACK WAIT READ IORQ' ~ )< figure 10. ~ 41. Z80 and Z85011 PeripheJ;el Interrupt klcnowledge Interface THIing Tw Ta SOfTWARE CONSIDERATIONS -- POlLED OPERATION There are several options available for interrupts on the Z8500 peripherals. vector or IP registers can be read at software can be used to emulate the Z80 servicing Since the any time, interrupt response. The interrupt vect9r read reflects the interrupt status condition even i f the device is programmed to return a vector t.hat does not reflect the status change (SAVor VIS is not, set). The code below is a simple software routine th'at emulates the Z80 vector response operatwn. lao Vector Interrupt Response, Emulation by Software ;This code emulat.es the Z80 vector interrupt ;operation by reading the device interrupt ;vector and forming an address from a vector ;t.able. It then executes an indirect jump to ;the int.errupt. service routine. INDX: VECTAB: 730 LD OUT IN INC RET AND LD LD LD ADD LD INC LD I..D JP A,CIVREG (CTRL) ,A A,(CTRL) A Z 00001110B E,A D,O HL,VECTAB HL,DE A,(HL) HL H,(HL) L,A (HL) DEFW DEFW DEFW DEFW DEFW DEFW DEFW DEFW INT1 INT2 INT3 INT4 INT5 INT6 INT7 INTB ;CURRENT INf. VECf. REG. ,WRITE REG. PTR. ;READ VECT. REG. ;VALID VECTOR? ;NO INT - RETURN ;MASK orHER BITS ,FORM INDEX VALUE ;ADD VEcr. TABLE ADDR. ; GET LOW BYTE ;GET HIGH BYTE ;FORM ROUTINE ADDR. ;JUMP TO IT A SIMPLE l80-l8500 SYSTEM The ZB500 devices interface easily to 'the ZBO CPU, thus providing a system of considerable flexibility. Figure 11 illustrates a simple system using the ZBOA CPU and the ZB536 Counter/Timer and Parallel I/O Unit (CIO) in a mode 1 or noninterrupt environment. Since interrupt vectors are not used, the 1l'Jl'liIT line is tied High and no additional logic is needed. Because the ClO can be used in a polled interrupt environment, the TNT pin is connected to the CPU. fhe ZBO should not be set for mode 2 interrupts s~nce the CIO will never place a vector onto the data bus. Instead, the CPU should be placed into mode 1 interrupt mode and a global interrupt service routine can poll the CIO to determine what caused the interrupt to occur. In this system, the software emulation procedure described above is effective. +5V +5V INT 8 07-00 RD INT 07- 0 0 t-------------~ RD Z80 Z8536 CPU CIO WR A7- Ao lORa RESET ~------~~ ClK WAIT F1gure 11. PClK l80 to Z8500 S1aple System Mode 1 Interrupt or Non-Interrupt Structure Add,t,onal Information - Zllog Publicatlons I. filii 1'1'11 lechnlcal Manual filii IIMII I echnl cal Manual filii 1'111 I <,chili cal I. Manual cal Manual '1111 '.10 I('('hllical Manual '111111 I I'll III' fharact.ensttcs filii I'll' I .. chlll (05-0029-01) (00-2013-AO) (0 3-000B-0 1) (03-0036-02) (03-3035-01) (00-2293-01) 7. ZBO Faffill~ Interrupt Structure (611-1B09-0003) Tutorial (00-2057-01) B. ZB530 SCC Technlcal Manual (00-2091-01) 9. ZB536 CIO Techmcal Manual (00-2051-01) 10. ZB03B flO Techmcal Manual 731 SUPPORT PRODUCTS SUMMARY Z8000® Datacommunications 733 Z85C3000ZCO PRODUCT SPECIFICATION KIT CONTENTS Z85130 Evaluation Board '. CMOS Z85130 ESCC and Z85C30 SCC 4.9152 MHz Crystal RS-232C and RS-422 line drivers 0825 connector , Software (I.M-PC Platform) SUPPORTED n .. "III" ..... Z8530,Z85C30,Z85130 DESCRIPTION The kit contains an assembled PC/XT/AT circuit board with one high speed serial port, selectively driven by RS-232C or RS422 line drivers. The kit also contains software and documentation to support software and hardware development for Zilog's SCC and ESCCTM devices. The board illustrates the use of Zilog's SCC and ESCC devices in a variety of communication applications such as SOLC/ HOLC, and high speed ASYNC. Source and executable codes to run SCC or ESCCTM Controller in SOLC/HOLC and ASYNC modes using OMA, Interrupt and . polling methods. All codes are written in C and compiled using the Microsoft®* Quick C compiler. . Documentation Z85C30 and Z85130 Product Specifications Z85C30 and Z85130 Technical Manuals Z85C3000ZCO Kit User Guide , SEALEVEL User's Manual ORDERING INFORMATION Part No: Z85C3000ZCO SPECIFICATIONS Power Requirements +5 Vdc@.5A Dimensions Width: 4 in. (10.16 em) Length: 5 in. (12.70 cm) Serial Interface A 0825 port selectively driven by RS-232C or RS-422 at selectable baud rates. • Microsoft IS a registered trademark of Microsoft Corporation. 734 Z16C0100ZCO PRODUCT SPECIFICATION KIT CONTENTS Z16C01/20/30 Evaluation Board SUPPORTED DEVICES Z16C01,Z16C20,Z16C30 CMOS Z16C01 CPU CMOS Z16C20 GLU CMOS Z16C30 USC 20 MHz Crystal USC Clock 20 MHz System Oscillator Two (64K)/8K x 8 EPROMs (programmed with Debug Monitor) Two 32K1(8K) x 8 STATIC RAM RS-232C PC Interface Z16C01 Expansion Bus Connector Cables 25-Pin RS-232C Cable DESCRIPTION The kit contains an assembled circuit board software and documentation to support ' software, and hardware development for the Z16C01 CPU, Z16C20 General Logic Unit and Z16C30 Universal Serial Controller. The supplied cross C compiler, assembler and link/loader package allows full C and assembly language programming support. A board resident debug monitor program and its PC based counterpart allow object code to be down-loaded and subsequently debugged. SPECIFICATIONS Power Requirements +5 Vdc@.5A Dimensions Single Euro Card Format Width: 3.94 in. (10 cm) Length: 6.30 in.(16 cm) Software (IBM-PC Platform) Z8000 Cross C Compiler Z8/Z80/Z8000 Cross Assembler MOBJ Link/Loader Resident Debug Monitor Source Code Host Package Source Code· Z16C20 Example Software Documentation Z8000 CPU Technical Manual Z8000 CPU Programmer's Pocket Guide Z16C20 GLU Product Specification Z16C30 USCTM Controller Technical Manual Z16C0100ZCO Kit User Manual CC8K C Compiler User Guide Z8000 Cross Assembler User Guide MOBJ Link/Loader User Guide ORDERING INFORMATION Part No: Z16C01 OOZCO Serial Interface RS-232C @ 9600 baud 735 Z16C3001ZCO , , , PRODUCT SPECIFICATION KIT CONTENTS" Z16C30/Z16C33 Evaluation Board CMOS Z16C30 USC and Z16C33 MUSC 20 MHz Crystal RS-232C and RS-422 line drivers OB9 and OB25 Interfaces Software (IBM-PC Platform) SUPPORTED DEVICES Z16C3D,Z16C33 DESCRIPTION The kit contains an assempled PC/XT/AT circuit board with two high-speed serial connections, OB9 and OB25 connectors selectively driven by RS-232 or RS-422 line drivers. The kit also contains software and documentation to support software and ' hardware development for Zilog's USC and MUSC devices. The board illustrates the, use of Zilog's USC and MUSC devices in a variety of communication applications such as ASYNC, SOLC/HOLC and high-speed ASYNC. SPECIFICATIONS Power Requirements +5 Vdc@.5A Dimensions Width: 4.5 in. (11.43 cm) Length: 6.5 in. (16.51 cm) Serial Interface OB9 and OB25 connectors selectively driven by RS-232C or RS-422 at selectable baud rates. 736 Source and executable cQdes to run the USC or MUSC in SOLC/HOLC or ASYNC mode. All codes are written in C and compiled using the Microsoft C 5.1 compiler. Documentation Z16C30 and Z16C33 Product Specifications Z16C30/Z16C33 Technical Manual Z16C3001ZCO Kit User Guide ORDERING INFORMATION Part No: Z16C3001ZCO -.--~~~ "_. -- ''".-,.~~ ~-~"-------~,----~-~.--.~-,"- --~------- -~-- - ------- Z16C3000ZCO PRODUCT SPECIFICATION KIT CONTENTS usc /68000 Evaluation Board SUPPORTED DEVICES Z16C30,Z85C30 CMOS Z16C30 USC CMOS Z85C30 SCC MC68000 CPU MC68450 DMAC 4 MHz Crystal SCC CLock 20 MHz SYstem Oscillator Two (64K)/8K x 8 EPROMs programmed with Debug Monitor) Two 8K x 8 STATIC RAM RS-232C. PC Interface Prototype Wire Wrap Area Cables DESCRIPTION 25-Pin RS-232C Cable The kit contains an assembled circuit board, software and documentation to support software and hardware development for the Zilog Z16C30 Universal Serial Controller and Z85C30 Serial Communication Controller devices in a Motorola 68000 environment. A board resident debug monitor program allows object code to be down-loaded and subsequently debugged. Software (IBM·PC Platform) SPECIFICATIONS Power Requirements +5 Vdc@ .75 A Resident Debug Monitor Source Code Z16C30 Example Software Documentation Z16C30 USC Product Specification Z16C30 USC Technical Manual Z85C30 SCC Product Specification Z8530 SCC Technical Manual Z16C3000ZCO Kit User Manual Z16C3000ZCO Kit Note to User ORDERING INFORMATION Part No: Z 16C3000ZCO Dimensions Width: 6.5 in. (16.5 cm) Length: 9.8 in. (24.9 cm) Serial Interface RS-232C @ 9600 baud 737 ",,,,, Military Qualified Datacom Products Zilog PIN Description Speed package 883C SMDPIN JAN PIN Z0803004CMB Z0803004LMB Z0803006CMB Z0803006LMB Z-BUS SCC Z-BUSSCC Z-BUSSCC Z-BUS SCC .4MHz 4 MHz 6 MHz 6 MHz 4Q-Pin DIP 44-Pin LCC 4Q-Pin DIP 44-Pin LCC Qualed Qualed Qualed Qualed 5962-8551802QA 5962-8551802YA 5962-8551801QA 5962-8551801YA N/A N/A N/A N/A Z0853004CMB Z0853004LMB Z0853006CMB Z0853006LMB Z8530SCC Z8530 SCC Z8530 SCC Z8530SCC 4 MHz 4 MHz 6 MHz 6 MHz 4Q-Pin DIP 44-Pin LCC 4Q-Pin DIP 44-Pin LCC Qualed Qualed Qualed Qualed 5962-8752702QA 5962-8752702YA 5962-8752701QA 5962-8752701 YA N/A N/A N/A N/A Z85C3006CMB Z85C3006LMB Z85C3008CMB Z85C3008LMB Z85C3010CMB Z85C3010LMB Z85C30 CMOS SCC Z85C30 CMOS SCC Z85C30 CMOS SCC Z85C30 CMOS SCC Z85C30 CMOS SCC Z85C30 CMOS SCC 6 MHz 6 MHz 8 MHz 8 MHz 10MHz 10MHz 4Q-Pin DIP 44-Pin LCC 4Q-Pin DIP 44-Pin LCC 4Q-Pin DIP 44-Pin LCC Qualed Qualed Qualed Qualed Qualed Qualed 5962-8868901 QA 5962-8868901YA 5962 -8868902QA 5962 -8868902YA Q1 '91 Q1 '91 M3851 0/48601 BQA N/A M38510/48602BQA N/A N/A N/A Zl6C3010GMB CMOS USC 10MHz 68-Pin PGA Qualed Q1 '91 N~A Z8523010CMB Z8523010LMB Z8523016eMB Z8523016LMB CMOS ESCC CMOS ESee CMOS Esee CMOS ESeC 10MHz 10MHz 16.0 MHz 16.0 MHz 4Q-Pin DIP 44-Pin Lee 4Q-Pin DIP 44-Pin LeC Q1 Q1 Q1 Q1 Q2 Q2 Q2 Q2 N/A N/A N/A N/A '91 '91 '91 '91 '91 '91 '91 '91 739 ~ZiIm Zilog's Quality and Reliability Program Introduction QUALITY AND RELIABILITY Process Template is the profile displayed by the process evaluation parameters which are automatically recorded from the test patterns on wafers as they proceed through the production line. These parameters are translated into the design technology file attributes such that every product design bears a key and lock relationship to the process. Zilog has an excellent reputation for the quality and reliability of its products. Zilog's Quality and Reliability Program is based on careful study of the principles laid down by such pioneers as w.E. Deming and J.M. Juran and, perhaps even more 2. Training important, observation of the practical Product Design and Processing are implementation of those principles in people dependent. Zilog training emphasizes the fundamentals inJapanese, European and American volved in design for quality and manufacturing facilities. , reliability. The Zilog program begins with Customer Service, an important employee involvement. Whether the judgement of our performance is aspect of Zilog's quality performance based on perfection in incoming as a vendor, also depends upon our people clearly understanding their inspection, trouble free service in the field or timely and accurate customer jobs, and our obligations to our service, we recognize that our emcustomers. This too is part of the training curriculum administered by ployees ultimately control these factors. Hence, our Quality Program is Zilog. broadly shared throughout the organization. 3. Order Acknowledgement Policy 1. Harmony Between Design and Process High product quality and reliability in VLSI products is possible only if there is structural harmony between product design and the manufacturing process. Great care is taken to assure that the statistical process control limits observed within the manufacturing plants properly guardband the design technology used to configure the circuit and layout in Zilog's automated design methodology. Through use of a technique which we call Process Templating, the technology file in the automated design system is periodically updated to assure that product design parameters fall within the statistical control limits with which the process is actually operated. In simple terms, the One definition of vendor quality performance is that the vendor "does what he promises or acknowledges." Reliability and quality warranties can be met only if Zilog and the customer are in agreement on product and delivery specifications. Zilog makes an extra effort to assure that the customer is fully informed by providing documents with its purchase order acknowledgements that clearly state what Zilog understands the specifications to be. 4. Test Guardbanding No phYSical attribute is absolute. Customers' test methods may differ from Zilog's due to variations in test equipment, temperature or specification interpretation. To assure that every Zilog product performs to full customer expectations, Zilog uses a "waterfall" methodology in its testing. The first electrical tests made on the circuit, at the wafer probe operations, are guard banded to the final test specifications. The final test specifications, in turn, are guardbanded to the quality control outgOing sample The quality control outgoing sample is guard banded to the customer procurement or data sheet specifications. This technique of "waterfall" guardbanding assures that circuits which may be marginal to the customer's expectations are eliminated in the manufacturing process long before they get to the shipping container. 5. Probe at Temperature Semiconductor devices tend to exhibit their most limited performance at the highest operating temperature. Therefore, it is Zilog's policy that all chips are tested at high temperature the very first time they are electrically screened, at the wafer probe station. The circuits are tested again at their upper operating temperature limit in the 100% final test operation. 6. Process Characterization Before release to production, every process is thoroughly characterized by an exl1austive series of pilot production runs and tests which identify the statistical, electrical, and mechanical limits of which that particular process regime is capable. This documentation, which fills a large loose leaf binder for each process, is maintained as the historical record or "footprint" for that particular regime Process recharacterization is done any time there is a major process or manufacturing Site change, and the . resulting documentation is then added to the characterization history. Once the process is fully characterized, the frequent test site evaluation and process template data demonstrates that the process remains in speCification. 741 '~ZiIro 7. ' Product Characterization Every Zilog product design is evaluated over extremes of operating temperature, supply voltage and clock frequencies, prior ,to release to production, This information permits the proper guardbanding of the test program waterfall and identification of many marginal "corners" in design tolerances, A product characterization report, .which summarizes the more important tolerances identified in the process of this exhaustive product design evaluation, is available to Zilog's customers. 8. Process Qualification Zilog also qualifies every process prior to production by an exhaustive stress sequence performed on test chips and on representative products. Once a process regime is qualified', a process requalification is performed any time there is a major process change, or whenever the process template statistical quality limits ilre significantly exceeded or adjusted. 9. Product Qualification In addition to characterization, every new Zilog product desigr;J is fully qualified by a comprehensive series of life, electrical, and environmental tests before release to production, Again, a qualification report is available to our customers which summarizes certain key life and environmental data taken in the course of these evaluations. Whenever posSible, industry standard environmental and life tests are employed. 10. PPM Measurement, Direct and Indirect It is frequently said that if you want to improve something, you need to put a measure on it. Therelore, Zilog measures its outgoing quality "parts per million" by the maintenance of careful records on the statistical 742 QU,ALITYAND RELIABILITY sampling of production lots prepared for shipment This information is then translated by our statisticians to a statement of our, parts per million (or parts per billion) outgoing quality performance. Of course, it is one thing for Zilog to think it is doing, a good job in outgoing product quality and it is another for a cl,lstomer to agree. Therefore, we ask certain key customers to provide us with their incoming inspection data which helps us calibrate our outgoing performance in terms of the actual results in the field. The fact that Zilog has been awarded "ship to stock" status by many customers testifies to our success in this area. ' 11. FIT Measurement Direct and Indirect Just as Zilog records its outgOing quality in terms of parts per million, it also measures its outgoing product reliability in terms of "FITS" or failures per billion device hours, using the results of weekly operating life test measurements on the circuits, performed in accordance with the standard specifications. 12. Field Quality Engineers It is frequently said that, "the customer is always right" If the customer has an application quality or reliability problem while using a Zilog product, whether it is Zilog's responsibility or not, we believe that we have a responsibility to resolve it Therefore, Zilog maintains a force of skilled Applications Engineers who are also trained as field quality engineers and are available on immediate call to' consult at th~ customer's locations on any problems they may be experiencing with Zilog product performance. 13. Product Analysis As noted' earlier, we feel that a customer problem is a Zilog problem. Accordingly, Product Analysis facili- ties, staffed by experienced professionals, exist at each Zilog site to provide rapid evaluation of in-proce~s and in-field rejects to determine the cause and provide cmrective action through a feedback loop into the production, design, and applications process. Zilog is pleased to share product analysis reports on specific products with the customer upon request. 14. Test Site Step·Stress· The process evaluation test sites on the wafer are packaged and subjected to step-stress testing. Any drift in parameters under severe conditions of stress outside the norm is taken as an indication of possible process contamination or variation. 15. Statistical Process Control Zilog employs Statistical Process Control at all critical process steps, Deviations from norms must be evaluated by a QIR review board, 16. Perfection Plus Program Zilog employees actively participate in meetings in which methods which will enable a department to do its job more perfectly are proposed, reviewed, and adopted. Employees who have made suggestions proudly wear the Zilog Perfection Plus pin, 17~ Zilog Vendor of the Year Award Zilog is proud of the many quality and performance awards it has received from its customers. In turn, Zilog makes an annual award to the vendor who has done the best overall job for Zilog. Zilog's Quality and Reliability Summary Zilog is proud of its Quality and Reliability programs and is pleased to share this data with its customers, For further information, contact Zilog's Director of R/QA. ~ZilO] LITERATUREGUIDE Z8®/SUPER8™ MICROCONTROLLER FAMILY Handbook Part No Z8 Design Handbook (includes the following documents) DC-8275-03 ZB NMOS MCU Mlcrocontroller Z8600 Z8 MCU 2K 28-Pin Product Specification Z8601/03/11/13 Z8 MCU 2K/4K Prod. Specification and Protopak Z8671 MCU with Basic/Debug Interpreter Z8681/82 Z8 MCU ROMless Product Specification Z8691 Z8 MCU ROMless Product Specification Super8 MCU ROMless Product Specification ZB CMOS MCU Mlcrocontroller Z86C08 MCU 2K 18-Pin Product Specification Z86COO/Cl0/C20 MCU 4K/8K 28-Pin OTf'TMProduct Specification Z86Cll/ MCU 4K Product Specification Z86C21/Z86E21/C12 BK/OTP Product Specification Z86C91 MCU ROM less Product Specification ZB Application Notes and Technical Articles Memory Space and Register Organization A Programmer's Guide to the ZB MCU Z8 Subroutine library Unit Cost 5.00 A Comparison of MCU Units Z86xx Interrupt Request Registers Z8 Family Framing ZB MCU Technical Manual SuperB MCU MlcrocontrollerTechnlcal Manual Z8800/01 MCU ROM less Z8820MCU8K Z8822 MCU BK Protopak SuperB Application Notes and Technical Articles Gelling Started with the Zilog SuperB Polled Async Serial Operations with the Super1l ' Using the SuperB Interrupt Driven Communications Using the SuperB Serial Port with DMA Generating Sine Waves with Super8 Generating DTMF Tones with Super1l ASimple Serial Parallel Converter Using the SuperB ZS Product Specifications, Technical Manuals and Users Guides Part No Unit Cost ) Z8671 Single Chip Basic Interpreter Basic Debug Software Reference Manual ZB Universal Object File Utilities User's Guide asm SB Super 8/ZB Cross Assembler User's Guide Z86C21/E21 CMOS ZB 8K ROM Preliminary Product Specification Z86C30 CMOS ZB B-Bit MCU Microcontroller Preliminary Product Specification Z86C40/90 ROM/ROMless CMOS ZB B-Bit Microcontroller Preliminary Product Specification Z86C08 CMOS ZB B-Bit Microcontroller Preliminary Product Specification Z86EOB CMOS ZB 8-Bit Microcontroller Preliminary Producl Specification Z86C09/C19 CMOS ZB 8-Bit Microcontroller Product Specification Z8602 NMOS ZB 8-Bit MCU Microcomputer Keyboard Controller Preliminary Product Specification Z8604 NMOS ZB B-Bit Microcontroller Preliminary Product Specification DC-3149-03 DC-8236--04 DC-8267-05 DC-2512-01 DC-2509-01 DC-251D-01 DC-2527-02 DC-2542-01 DC-2506--01 DC-2525-01 DC-2524-02 ZS Application Notes and Technical Articles Part No The Z8 MCU In Telephone Answering Systems Applications Note Z8602 Controls A101/102 PC/Keyboard Application Note The ZB MCU Dual Analog Comparator Application Note Z86C09/19 low ~ost ZB MCU Emulator Application Note ZB Applications for VO Port Expansions Application Notp Z86E21 Z8 low Cost Thermal Printer Application Note DC-2514-01 DC-2521-01 DC-2516--01 DC-2537-01 DC-2539-01 DC-2541-Dl 3.00 3.00 3.00 N/C N/C N/C N/C N/C N/C N/C N/C Unit Cost N/C N/C N/C N/C N/C N/C (Additional Application Notes are contained in the above Design Handbook) 743 ~ZiIrr7 LITERATURE GUIDE Z80®/Z180™ /Z280™ MICROPROCESSOR FAMILY' Data Book Part No zao Family Data Book (includes the following documents) DC-248Q-01 Z80 NMOS/CMOS Z84COO NMOS/CMOS zao CPU Prelim, Product Specification Z84COl zao CPU w/CGC Product Specification Z84Cl0 NMOS/CMOS zao DMA Product Specification Z84C20 NMOS/CMOS zao PIO Product Specification Z84C30 NMOS/CMOS Z80 CTC Product Specification Z8440/1 /2/4 NMOS Z80 SIO Product Specification Z84C40/1/2/3/4 CMOS Z80 SIO Product Specification Z84CSO RAM ao Preliminary Product Specification Z8470 Z8QTMDART Product Specification Z84Cao CMOS zao GLU Product Specification Z84C90 CMOS zao KIOTMProduct Specification Zao180 Zlao MPU Product Specification Z280 MPU Preliminary Product Specification Part No Z80 Family Data Book Addendum DC-2518-01 Z801Z180/Z280 Product Specifications, Technical Manuals and Users Guides Part No zao CPU Central ProcesSing Unit Technical Manual zao Family Programmer's Reference Guide Z80 DMA Direct Memory Access Technical Manual zao PIO Parallellnpul/Output Technical Manual zao CTC Counter/Timer Circuit Technical Manual zao SIO Serial I/O Technical Manual Zao181 Z180 MPU Microprocessor Unit Technical Manual Z280 MPU Microprocessor Unit Technical Manual Zao181 Z181 SACTMSmart Access Controller Preliminary Product Specification Z84013/15, Z84C13/C15 CMOS IPCTMlntelligent Peripheral Controller PreliminaryiProduct Specification Z84011/Cll PIO Parallel I/O Controller Product Specification Z84COO 20 MHz Z80 CPU Central Processing Unit Preliminary Product Specification Z84C50 zao RAM 80 Z80 CPU/2K SRAM Preliminary ProduclSpecification DC-0029-03 DC-0012-04 DC-2013-AO DC-0008-02 DC-0036-02 DC-3033-01 DC-8276-02 DC-8224-03 DC-2519-02 DC-2507-02 DC-2526-02 DC-2523-01 DC-2498-01 Z801Z180/Z280 Application Notes Part No Z180/SCCTMSerial Communications Controller Interface at 10 MHz Application Note 744 5,00 Z80 Application Notes and Technical Articles zao Family Interrupt Structure Using the zao SIO in Async Communications Using the zao SIO with SOlC Binary Synchronous Comm Using the Z80 SIO Serial Communication with the Z80A DART Timing in Interrupt-Based System with Z80 CTC Interfacing Z80 CPUs to the Z8500 Peripheral Family Serial Clock Generation using the Z8536CI AZao-Based System Using the DMA with the SIO Zilog Quality and Reliability Report Package Information Ordering Information literature list Package Information Addendum (Additional Application Notes are contained in the above Oatabook) Unit Cost , DC-252Q-Ol Unit Cost N/C Unit Cost 3,00 3,00 3,00 3,00 3,00 3,00 3,00 3,00 N/C N/C N/C N/C N/C Unit Cost N/C ~ZiI.m LITERATURE GUIDE Z8000®/80,OOO MICROPROCESSOR FAMILY Data Book Pan 1'10 ZOOOO Family Data Book (includes the following documents) DC-2488-01 18000/80,000 NMOS/CMOS Microprocessors Z160 CPU Product Specification Z5300 CMOS SCSI Product Specification Z7220A HPGD Product Specification Z765A FOC Product Specification Z800l®/Z8002® CPU .Product Specification ZOOl0 MMU Product Specification ZOO16 Z-DTCTMProduct Specification Z16C20 CMOS Z-BUS® GLU Preliminary Product Specification ZOOC30/Z85C30 CMOS SCCTMProduct Specification ZOO30/8530 SCC Product Specification ZOO36/Z8536 CIO Product Specification ZOO38/8538 FlO fiFO Product Specification Z8060/8560 FIFO Product Specification Z8068/Z95l8 Z-DCP Product Specification Z8516/Z95l6 DMA (DTC) Product Specification Z8581 Clock Generator Controller Product Specification Un" Cost 5.00 Appllcallon Notes and Technical Articles Interfacing Z80® CPUs to Z8500 Peripheral Family Interfacing the Z8500 Peripherals to the 68000 Design Considerations Using Quartz Crystals with Zilog's Components Using Z858l Clock Stretches in Z80® CPU Applications Interfacing Z-BUS Peripherals to the V20N30/8086/OO88 Interfacing the Z-BUS Peripherals Articles Reprint Using SCC with Z8000 in SDLC Protocol SCC in Binary Synchronous Communications Z8000 Development Support Zilog Quality and Reliability Report Literature Guide Ordering Information Package Information Z8000 Product Specifications, Technical Manuals and Users Guides Pan No ZOOOO CPU Central Processing Unit Technical Manual ZOOl0 MMU Memory Mapping Unit Technical Manual ZOO30/Z8530 SCC Serial Communications Controller Technical Manual Z8036 Z-CIO/Z8536 CIO Counter/Timer and ParaliellnpuVOutput Technical Manual ZOO36 Z8000 Z-CIO Counter/Timer and ParaliellnpuVOUtput Product Specification Z8536 CIO Counter/Timer and ParaliellnpuVOutput Product Specification ZOO38 Z8000 HID FIFO tnpuVOutput Interface Technical Manual Z8000 CPU Central Processing Unit Programmer's Pocket Guide Z5380 SCSI Small Computer System Interface Preliminary Product Specification Z80C30/Z85C30 CMOS SCC Serial Communications Controller Product Specification Z85C80 SCSCITMSerial Communications and Small Computer Interface Preliminary Product Specification Z16C01/2/3 CPU Central ProceSSing Unit Preliminary Product Specification Z16C20 CMOS ZBUS GLU General Logic Unit Preliminary Product Specification Z16C30 CMOS USCTMUniversal Serial Controller Preliminary Product Specification Z16C30/Z16C33 CMOS USC/MUSCTMUniversal Serial Controller Technical Manual Z16C30/Z16C33 CMOS USC/MUSC Universal Serial Controller Addendum Z16C3l IUSC Integrated Universal Serial Controller Advanced Information Specification Z16C33 CMOS MUSC Mono-Universal Serial Controller Preliminary Product Specification Z16C35 CMOS ISCCTMlntegrated Serial Communications Controller Product Specification Z16C35ISCC Integrated Serial Communications Controller Technical Manual Z16C35 ISCC Integrated Serial Communications Controller Addendum Z16C50 ODPLL™Oual Digital Phase Locked Loop Preliminary Product Specification Z85l30 ESCCTMEnhanced Serial Communications Controller Preliminary Product Specification Z16C30 USing the USC in Military Applications Application Note Z16C35 ISCC Interface to Intel and Motorola Microprocessors Application Note DC-201D-06 DC-2015-AO DC-2057-06 DC-209l-02 DC-20l4-02 DC-202l-03 DC-205l-Ql DC-0122-03 IiC-2477-0l DC-2442-04 DC-2534-02 DC-2504-02 DC-2505-02 DC-2492-Q2 DC-8285-01 DC-8285-01 A DC-2544-01 DC-2517-02 DC-25l5-03 DC-8286-01 DC-8286-01A DC-254D-Ol DC-2543-0l DC-2536-01 DC-2522-0l Unit Cost 3.00 3.00 3.00 3.00 N/C N/C 3.00 3.00 N/C N/C N/C N/C N/C N/C 3.00 N/C N/C N/C N/C 3.00 N/C N/C N/C N/C N/C 745 ~ ZiIill LITERATURE GUIDE COMPONENTS MILITARY LITERATURE Military PrOducts Binder Part No Zilog Military Products Binder (includes the following documents) DC-5498-01 Military Specifications Part No Z8681 ROMless Microcomputer Military Product Specification Z8001/8002 Military Z8000 CPU Central Processing Ul'JiI Military Product Specification Z8581 Military CGC Clock Generator and Controller Military Product Specification ZOO30 Military Z8000 Z-SCC Serial Communications Controller Military Product Specification , Z8530 Military SCC Serial Communications Controller Military Product Specification ZOO36 Military Z8000 HIO Counter/Timer Controller and Parallel VO Military Electrical Specification ZOO38/8538 Military FlO FIFO InpUVOutput Interface Unit Military Product Specification Z8536 Military CIO Counter/Timer Controller and Parallel VO Military Electrical Specification Z8400 Military ZOO CPU Central Processing Unit Military Electrical Specification Z8420 Military PIO Paraliellnput/Output Controller Military Product Specification Z8430 Military CTC Counter/Timer Circuit Military Electrical Specification Z8440/1/2/4 ZOO SIO SeriallnpuVOutput Controller Military Product Specification ZOOC30/85C30 Military CMOS Serial Communications Controller Military Product Specification Z84COO CMOS ZOO CPU Central Processing Unit Military Product Specification Z84C20 CMOS ZOO PIO ParaliellnpuVOutput Military Product Specification Z84C30 CMOS ZOO CTC Counter/Timer Circuit MilitarY Product Specification Z84C40/1/2/4 CMOS Z80 SIO SeriallnpUVOutput Military Product Specification Z16C30 CMOS Universal Serial Controller Military Preliminary Product Specification Zl6C01/2 CPU Central Processing Unit Military Product Specification ZOO180 Z180 MPU Microprocessor Unit Military Product Specification sec use DC-2392-DZ DC-2342-D3 DC-2346-Q1 DC-2388-Q2 DC-2397-02 DC-2389-01 DC-2463-D2 DC-2396-Q1 DC-2351-02 DC-2384-D2 DC-2385-01 DC-2386-Q2 DC-2478-D2 DC-2441-D2 DC-2384-Q2 DC-2481-D1 DC-2482-D1 DC-2531-D1 DC-2532-D1 DC-2532-D1 Unit Cost 8.00 Unit Cost, N/C N/C N/C N/C N/C N/C N/C N/C N/C N/C N/e N/C N/C N/C N/C N/C N/C N/C N/C N/C Note: Mililary Product Specifications may be ordered individually at no charge. GENERAL LITERATURE Catalogs, Handbooks and Users Guides Part No Superintegration Shortform Catalog 1991 Quality and Reliability Report Superintegration Products Guide The Handling and Storage of Surface Mount Device's User Guide Support Products Summary DC-5472-06 DC-2475-Q6 DC-5499-Q3 DC-55()(}.02 DC-2545-02 746 Unit Cost N/C N/C N/C N/C N/C PACKAGE INFORMATION 20 r ~ .--,062 RAD .sa! L~~~~ l2'. 40 ---- - - - - 2 0 7 0 - - - - - - - - 1 mo. ~~ ~ ~O!O ~~l~ ]§QJ 090 I 100 ,010 om I-'.m TYP MIN 40-Pin Plastic Dual In-Line Package (PDIP) ~~": -- 1--'1.~-1 1___- :;-~, 00 -OR·8E' -----l I ~~d:~~ o.CMO ~-ml ~ :-1 0085 1 I 0.125 MIN - 0.010 , , II -J l 0.050 ~ ..15 BOTH ENDS 0100 ~ 010 TYP - IL 0.01' % 003 TYP irnii 4O-Pin Ceramic Package _I 2020 MAX I r 710 MAX""'; -:- ~SO:D20 =:€il·ISSMIl)l. lf1nTIfIn{lmrrnnrrr¥l~ 125 MIN I !', - --l I -lL __ 'L .100 •.010 TyP 015 .Ol~ .021 .06~ 40-Pln Ceramic Dual In-Line Package (DIP) 747 PACKAGE INFORMATION (Continued) i .G';)3 tJ53 :t.OOS ! .O~5~ . - -_ _ jl--_ _ _ _ _ _---,,-~i OO~ ~ J ___~ I .000S 44-Pin Plastic Chip Carrier 24 , rI~::::: ~ :::::::::::::::::1~. I I- 2S 48 2 470 ! I 48-Pin Plastic Dual-In Line Package (PDIP) 748 PACKAGE INFORMATION (Continued) .045 X 4SoMAX .010 X45° WlX3Pl Of 21 '" 14 PIN'I IDENT. 12 "Ill .ll53 f.003 t.OIO i .. .045 X 45° 68-Pin Plastic Chip carrier (PLCC) r- ~::sq'l ~1 r.145 I .100Typ . I I I~ .018±.OO2Dia I t (88PLCS) I I F Ptn1 i(!3-1 .035 R f - - - - - - - - 1 ; 1 2 0 :!:'O05-----~ (FROM CNTR TO TYP CNTP. OF HAD!) 84-Pin Plastic Chip Carrier (PLCC) 182: 3 -- f----~---2' 2' 3 - - - - - - - - 4 100-Pin Quad Flat Pack (QFP) 750 J ' 27t.1 IS:Jli DIMENSIONS IN MM ORDERING INFORMATION Z85C30 Z16C30 68-pinPLCC Z16C3010VSC Z16C3010VEC 68-pin PGA Z16C3010GEE Z16C31 68-pin PLCC Z16C3l20VSC Z16C33 '40-pin DIP Z0803006PSC Z0803006DSE Z0803008PSC Z0803008DSE Z16C35 68-pin PLCC Z16C3510VSC Z16C3516VSC 28-pin P-DIP Z16C5010PSC Z16C5020PSC Z5380 1.5MB/Sec 44-pin PLCC Z05380l0VSC 44-pin PLCC Z8513010VSC Z85l30l6VSC Z85230 44-pin PLCC Z8523010VSC Z8523016VSC Z80C30 40-pin DIP Z80C3008PSC Z80C3010PSC 4o-pinDIP Z0853004PSC Z0853006PSC Z0853006PEC Z0853006DSE Z0853008PSC Z0853008DSE Z0853008DEA 44-pinPLCC Z0853006VSC Z0853008VSC Z85C80 Z85130 4O-pin P-DIP Z8523010PSC Z8523016PSC 44-pin PLCC Z0803006VSC Z0803008VSC Z8530 Z16C50 40-pin P-DIP Z8513010PSC· Z8513016PSC 44-pinPLCC Z85C3008VSC Z85C3008VEC Z85C3010VSC . Z85C3010VEC Z85C3016VSC Z8030 68-pin PLCC' Z16C3310VSC 40-pin P-DIP Z0538010PSC 4o-pin DIP Z85C3008PSC Z85C3008PEC Z85C3008CEE Z85C3010PSC Z85C3010PEC Z85C30l0CEE Z85C30l6PSC 44-pin PLCC Z80C3008VSC Z80C3Ql0VSC Noles: For military grade devices and the package Iypes other than listed above, please contact your local Zilog sales office. Please check the availabilily before placing order. 68-pin PLCC Z85C80l0VSC Z80181 10o-pin QFP Z8018110FEC Z8018112FEC Z84013/C13 & Z84015/C15 84-pin PLCC Z8401306VEC Z8401310VEC Z84C1306VEC Z84C1310VEC l00-pin QFP Z8401506FEC Z8401510FEC Z84C1506FEC Z84C1510FEC ORDERING INFORMATION (Continued) Z~440/1/2/4 & Za4C4011/2/3/4 zao SIO NMOS/CMOS $10/0 NMOS 40-pin DIP Z0844004DSE Z0844004PSC Z0844006DSE Z0844006PSC CMOS 40-pin DIP Z84C4004DEE* Z84C4004PEC* Z84C4006DEE Z84C4006PEC Z84C4008DEE Z84C4008PEC Z84C4010DEE Z84C4010PEC 810/1 NMOS 40-pin DIP Z0844104DSE Z0844104PSC Z0844106DSE Z0844106PSC CMOS 40-pin DIP Z84C4104DEE* Z84C4104PEC* Z84C4106PEC Z84C4108PEC Z84C4110PEC SI0/2 NMOS 40-pin DIP Z08442004DSE Z0844204PSC Z0844206DSE Z0844206PSC CMOS 40-pin DIP Z84C4204DEE* . Z84C4204PEC* Z84C4206DEE Z84C4206PEC Z84C4208DEE Z84C4208PEC Z84C4210DEE Z84C421 OPEC , Notes: • 4 MHz CMOS SIOwili be phased out and updraded to 6 MHz in 1991. Please contact Zilog for availability For military grade devices and the package types other than listed above, please contact your local Zilog sales office. Please check the availability before placing order. ?52 SI0/3 CMOS 44-pln QFP Z84C4306FEC Z84C4308FEC Z84C4310FEC 810/4 NMOS 44-pin PLCC Z084440VSC Z0844406VSC CMOS 44-pin PLCC Z84C4404VEC* Z84C4406VEC Z84C4408VEC Z84C4410VEC ORDERING INFORMATION (Continued) CODES Package Preferred P =. Plastic DIP V = Plastic Leaded Chip Carrier Longer Lead Time D = Cerdip C = Ceramic F = Plastic Quad Flat Pack G = Ceramic PGA (Pin Grid Array) L = Ceramic LCC Temperature :3 = O°C TO +70°C (Standard) E = -40°C TO +85°C (Extended) M = -55°C TO + 125°C (Military) Environmental C = Plastic Standard E = Hermetic Standard' A = Hermetic Stressed B = 833 Class B Military D = Plastic Stressed J = Jan 38510 Military Example: Z16C3010VSC is a USC, 10 MHz, Plastic PLCC, O°C to +70°C, Plastic Standard Flow. z 16C30 10 v s C ~ Environmental Flow Temperature ~ackage Speed Product Number Zilog Prefix 753 • ZlLOG DOMESTIC SALES OFFICES AND TECHNICAL CENTERS INTERNATIONAL SALES OFFICES CALIFORNIA Agoura ... ........ .................... ... ....... 818-707-2160 Campbell ........................... ........... 408-370-81 20 Tustin ............................. 714-838-7800 CANAOA Toronto ........ .......... .......... ..... 416-673-0634 COLORAOO Bou lder ........ .............. .................. 303-494-2905 FLORIDA Largo ........ ................................... 813-585-2533 GEORGIA Norcross ..... ........ ........... .. . .404-448-9370 ILLINOIS Schaumburg ................. ,.... .......... 708-517-8080 NEW HAMPSHIRE Nashua .......... ..... .. ........................603-888-8590 NEW JERSEY Clark ................ .... .................. 201-382-5700 NORTH CAROLINA Raleigh ... .......... ....... ......... 919-790-7706 OHIO Independence PENNSYLVANIA Ambler .. ........ ........ TEXAS Dallas .......... GERMANY Munich .................. ...... ........ .. 49-89-672-045 Sbmmerda .................................. 37-626-23906 JAPAN Tokyo ............. . ....................... .. .81 -3-587-0528 HONG KONG Kowloon KOREA Seoul . .........852-7238979 . . ... .... ........... .82-2-552-5401 SINGAPORE Singapore ........ ......... ....... ............ 65-2357155 TAIWAN Taipei .... . ........ . ........ .. UNITEO KINGDOM Maidenhead ............. .886-2-741 -3125 ...... 44-628-392-00 ... . ..... .... 216-447-1480 . 215-653-0230 ........214-987-9987 WASHINGTON Seattle ... .... .... ., ..... ....... . ..... 206-523-3591 © 1991 by Zilog, Inc. All rights reserved . No part of this document may be copied or reproduced in any form or by any means without the prior written consent of Zilog, Inc. The information in this document is subject to change without notice. Devices sold by Zilcg, Inc. are covered by warranty and patent indemnification provisions appearing inZilog, Inc. Terms and Conditions of Sale only. Zilog, Inc. makes no warranty, express, statutory, implied or by description, regardingthe information set forth herein or regarding the freedom of the described devices from intellectual property infringement. Zilog, Inc. makes no warranty of merchantability or fitness for any purpose . . Zilog, Inc. shall not be responsible for any errors that may appear in this document. Zilog, Inc. makes no commitment to update or keep currenl the information contained in this document. Zitog , Inc . 210 E. Hacienda Ave ., Campbell , CA 95008-6600 , Tel : (408) 370-8000 , FAX: 408-370-8056/8027 DC-2S03-02
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 18:07:16-08:00 Modify Date : 2013:08:21 06:44:35-07:00 Metadata Date : 2013:08:21 06:44:35-07:00 Producer : Adobe Acrobat 9.55 Paper Capture Plug-in Format : application/pdf Document ID : uuid:c4fa3644-dcd7-604a-8971-6257e85fe541 Instance ID : uuid:09174d72-4f11-1042-ab79-4cd74a17ce2b Page Layout : SinglePage Page Mode : UseNone Page Count : 758EXIF Metadata provided by EXIF.tools