1981_Western_Digital_Product_Handbook 1981 Western Digital Product Handbook
User Manual: 1981_Western_Digital_Product_Handbook
Open the PDF directly: View PDF .
Page Count: 548
Download | |
Open PDF In Browser | View PDF |
1981 PRODUCT HANDBOOK WESTERN DIGITAl. CORPORATION WESTERN DIG6TAl PRODUCT HANDBOOK Making The leading Edge Work For You This is our first complete Product Handbook and, naturally, we're proud of it. We're proud of the products detailed in these pages. We're proud of our people, who have taken these products from concept to market. And we're proud of the hundreds of Western Digital customers who have used these products to achieve a competitive advantage in their own markets. The rate of innovation in this industry is breathtaking. And Western Digital has played an important role in the microelectronic revolution. Our guiding principle though, goes beyond extending the limits of the leading edge; we're dedicated to making the leading edge work. The proof is in our products. And like our products, this handbook has been designed with you in mind. We've gone to great lengths to make it complete, accurate and useful. Now we would like your critical appraisal, to help us improve it. And our products. Let me hear from you directly. Or use the postcard at the back at this handbook. / /~ ---::/? ~// 7 " //d' L--~ / ' ~~ __ -----.,. // Charles W. Missler Chairman of the Board President and Chief Executive Officer 3 lEDGE HNDEX TELECOMMUNICATIONS DIVISION COMPUTER PRODUCTS DIVISION ADVANCED SYSTEMS DIVISION CONTROL SYSTEMS DIVISION GENERAL INFORMATION Quality Assurance Package Data Representatives and Distributors Terms of Sale 5 FUNCTIONAL INDEX TELECOMMUNICATIONS DIVISION Part Number Description TR1402 Programmable UART Page TR1602 Programmable UART 17 17 TR1863 Programmable UART 17 TR1865 Programmable UART 17 PR1472 Programmable SAR 25 PR1482 Programmable SAT FR1502 39 55 67 UC1671 FIFO Buffer Register ASTRO-Full Duplex Synch or Asynch WD1931 ASTRO-Compatible with SDLC 81 WD1933 SDLC-Parallel to Synch Serial 99 BR1941 Dual Baud Rate Generator 115 WD1983 Programmable BOART 123 WD1984 Multi-Character Synch ronous/ Asynchronous Transmitter/Receiver 189 WD1993 ARINC 429-1 ASART Controller 171 WD2123 Deuce Dual Channel BOART 151 WD2501 Packet Switching Controller, CCITT X.25 -LAP 291 WD2511 Packet Switching Controller, CCITT X.25-LAPB 291 WD25001XC Pac-Kit WD2001 Single Port Data Encryption Device 303 261 WD2002 Dual Port Data Encryption Device 261 WD20001XA Cryptographic Primer Kit 273 WD5869 Shift Register WD8250 ACE Async Communications Element 63 135 COMPUTER PRODUCTS DIVISION Page Part Number Description WD1000 Winchester Controller Board 327 WD1100 WD1510 Winchester Controller Chip Set LIFO/FIFO Buffer Register 329 425 WD1691 Floppy Support Logic 399 FD1771 Floppy Disk Controller-Single Density 371 FD1791 FDC-Single/Dual Density, Inverted Data Bus 331 FD1792 FDC-Single Density, Inverted Data Bus 331 FD1793 FDC-Single/Dual Density, True Data Bus 331 FD1794 FDC-Single Density, True Data Bus 331 6 FD1795 FDC-Dual Density/Side Select, Inverted Data Bus 331 FD1797 FDC-Dual Density/Side Select, True Data Bus DM1883 Direct Memory Access Controller 331 407 WD2143 Four Phase Clock Generator 419 ADVANCED SYSTEMS DIVISION Part Number Description WD0090 Pascal MICROENGINE Computer System Page WD0900 Pascal MICROENGINE Single Board Computer 437 WD9000 Microprocessor Chip Set 441 WD9810 WD9810 Pascal System Software Pascal Compiler 443 445 ME1600 Modular MICROENGINE 447 433 CONTROL SYSTEMS DIVISION Part Number Description WD51 Irrigation Controller 463 WD55 Industrial Timer/Controller 471 WD4020 ROMless version of WD4200 487 WD4200/4210 Single Chip 4-Bit Microcontroller, COPS Family 495 Page 7 DII11l:rrocilucltion to The Telecommunications Division of Western Digital has established a strong market leadership position by developing state-of-the-art standard and custom products which provide cost effective solutions for the complex needs of its customers in the rapidly growing field of digital communications. GENERAL DATA COMMUNICA nONS In the General Data Communications product line, our product offerings have been expanded to cover more advanced protocols such as the WD1933 for SDLC/HDLC and the WD1993 for the ARINC 429 which is for avionic use onboard aircraft. With these offerings, Western Digital now has the broadest line of protocol controllers in the industry. Future editions of this catalog will introduce dual devices with multiple system functions per package as well as complete board products. SECURITY PRODUCTS Western Digital has introduced the WD2001/2002, the first high-speed LSI implementation of the data encryption algorithm which has been standardized by the National Bureau of Standards. Because of this early market entry the WD2001 has been chosen by companies all over the world for use in their new deSigns. Future product offerings will include more advanced LSI devices with increased functionality as well as encryption system products. NETWORK PRODUCTS One of the most strategic products announced in this catalog is the X.25 Packet Switching Controller, the WD2501. Packet switching is an advanced form of digital network technology that is being heralded as one of the most strategic technologies of the 1980's, and Western Digital's visible leadership in this field will lead to significant growth opportunities in both public networks and "local network" markets such as the "office of the future" and advanced manufacturing applications. The Division is developing both standard proprietary products and custom versions. 9 Table of Contents TELECOMMUNICATIONS DIVISION Page CROSS REFERENCE, PIN COMPATIBLE AND FUNCTIONAL 12 PRODUCT SELECTION CHART 13 GENERAL DATA COMMUNICATIONS PRODUCTS 15 16 Family and Protocol Definitions Data Sheets UARTS TR1402/1602/1863/1865 17 PSAR PR1472 25 PSAT PT1482 39 FIFO FR1502 55 SHIFT REGISTER WD5869 63 ASTRO UC1671 67 USART HDLC WD1931 81 99 WD1933 DUAL BAUD RATE GENERATOR BR1941 115 BOART WD1983 123 ACE WD8250 135 DEUCE WD2123 151 ARINC 429-1 Controller WD1993 171 MULTI-CHARACTER USART WD1984 189 Technical Note 205 Using the new Data Link Control Chips 207 Data Link Control Chip supports all three bit oriented protocols. 215 Applications Notes 221 Asynchronous Receiver/Transmitter-TR1602/1863 223 WD1931/1933 Compatibility Application Note 235 10 Page SECURiTY PRODUCTS 259 Data Sheets Data Encryption Devices WD2001/2 261 Cryptographic Primer Kit WDK20001 -XA Technical Note 273 275 Cipher Feedback Cryptography Applications Note 279 One Bit Cipher Feedback in a Synchronous System 281 277 NETWORK PRODUCTS 289 Data Sheets -WD2501/11 -WDK25001-XC Packet Network Interface Devices Pac-Kit 291 303 Technical Note 305 Chip opens door to Packet Switching 307 BOARD PRODUCT NUMBERING SYSTEM 319 321 Board Product Numbering 11 FUNCTIONALITY COMPATIBILITY GUIDE (PARTIAL LIST) WD WD1931 WD1933 SIGNETICS FAIRCHILD INTEL MOTOROLA AMI SMC HARRIS ZILOG MOSTEK 2651 2661 6852 8251A 6852 6852 8251A SIO 3884 2652 6854 6856 8273 6854 6854 5025 SIO 3884 9414 1 8294 6859 6894 WD1993 429 WD2001 FR1502 33512 PLEASE CONTACT FACTORY FOR APPLICATIONS ASSISTANCE. NOTES: 1. Four chip set. PIN COMPATIBLE REPLACEMENT GUIDE WD TR1402 TR1602 TR1863 TR1865 SMC GI AMI TI COM2502 AY-5-1013A COM2502H AY-6-1013 TMS6010 4 S1757 COM2017 COM2017H TMS6011 4 COM1863 COM8017 AY-3-1014A COM8018 AY-3-1015D PR1472 AY-3-1472B 4 PT1482 AY-3-1482B 4 UC1671 NAT COM1671 INTEL SIGNETICS HARRIS INTERSIL 2536 HM6402 IM6402 INS1671 WD8250 INS8250 WD1983 1 INS8251A 8251A BR1941 2 COM5016 COM5036 3 PLEASE CONSULT FACTORY FOR MAXIMUM OPERATING FREQUENCIES AND HIGH-RELIABILITY SCREENING. NOTES: 1. WD1983 is ASYNC only. 2. Many frequency selections available. Consult factory for details. Frequency selection is mask programmable-consult factory for details. 3. Pin 10 on BR1941 is a "no connection". 4. Discontinued product. 12 PRODUCT SELECTION CHART ARINC UARTS GENERAL DATA COMMUNICATIONS PRODUCTS PROTOCOL FEATURES T T wwww R R 9 9 3 6 0 2 8 6 D D 2 9 1 8 2 3 3 ARINC 429 ASYNCH ISOCH SYNCH (BI-SYNC) SDLC HDLC ADCCP 0 FULL DUPLEX MAXIMUM 100 320 500 640 1000 1500 2500 3500 0 kHz kHz kHz kHz kHz kHz kHz kHz SELECTABLE CLOCK BOTH TRANSMIT AND RECEIVE INDEPENDENT TRANSMIT AND RECEIVE lX 4X 16X 32X 64X 128X 256X WORD LENGTH SELECT 5,6,7,8 BIT 0 0 MATCH/SYN GENERATE MATCH/SYN DETECT BREAK DETECT DOUBLE BUFFERING TTL COMPATIBLE 3/5 0 . D 8 2 5 0 D 1 9 8 4 P R 1 P T 1 U W C D 4 4 7 2 8 2 6 7 0 0 0 0 0 0 0 0 0 0 0 . .. ". 9 3 0 0 0 0 w D 1 9 3 3 0 0 . 0 0 0 .. 0 0 0 . . 0 .. 0 0 0 0 0 0 .. . . . 0 0 .. 0 0 0 . . . • .. 0 0 . . • . . . .. . . . . . . .. . . . • . . . . . . . . . . . . . .. . . .. . . . . • . . . . . • . . • . . • • . . . . . • • 0 0 " . . • . . 13 0 .. . . . . . . . . . . II . . . . . • • . . . . .. 0 0 0 0 STOP BIT SELECT 1,1.5,2 PARITY SELECT ODDI EVEN PSAR/PSAT USART OLC BOARTS W D 0 .. 0 0 . . 0 • PRODUCT SELECTION CHART GENERAL DATA COMMUNICATIONS PRODUCTS ERROR CHECKING FRAMING OVERRUN UNDERRUN CRC GENERATE AND CHECK WWWW D D D D 1 2 8 1 9 1 2 9 8 2 5 8 4 7 3 3 0 4 2 0 0 • • 0 • " 0 W D 1 T R 1 9 9 3 6 0 6 2 31s • " . 0 0 PSARIPSAT USART OLC BOARTS ARINC UARTS T R 1 8 P R 0 P T U W C D 1 1 W D 1 4 8 2 6 7 1 9 3 1 9 3 3 " • • • • 0 " " • • " PROCESSOR INTERFACE UNIDIRECTIONAL BIDIRECTIONAL . CONTROL PROGRAMMING DEVICE PINS BIDIRECTIONAL BUS 0 0 0 0 . ·. o .. • • 0 0 • 0 " • • 0 • • 0 0 MODEM INTERFACE NUMBER OF SIGNALS 8 SPECIAL FEATURES 0 . " NAZI OPTION DIGITAL PHASE LOCK LOOP ON BOARD BAUD RATE GENERATOR EXTENDED WORD SIZE TWO FULL DUPLEX CHANNELS • 0 2 SELF LOOP TEST • • • 6 4 0 0 0 0 • " • • " 0 " 0 14 0 General Data Communications Products 15 DATA COMMUNICATION fAMILIES Universal Asynchronous Receiver-Transmitter Programmable Synchronous/Asynchronous Transmitter Programmable Synchronous/Asynchronous Receiver Universal Synchronous/Asynchronous Receiver-Transmitter Bus Oriented Asynchronous Receiver-Transmitter Data Link Controller UART PSAT PSAR USART BOART DLC PROTOCOL DEFINITIONS Marking Line) r Start Bit fr-L-,Il,--_ _ _ _,,,,,pf ss Asynchronous (Character Oriented) B L-I • START and STOP Bits • 5, 6, 7, 8 Bits/Character • Plus option of Parity (Even or Odd) '\.- Data Bits Parity 2 eight btl characters woth start STop bIts and pa"Ty J SlOp Bil(s) ~ L P,mly outSide daTa Character 01 programmed line Marking P,ogrammed stop 1___ Previous Fill or Data Characters X! Data or Fill Character • No 5T ART and STOP Bits • 5,6, 7, 8 Bits/Character • Plus option of Parity Bit (Even or Odd) SOH SYN STX ETX Bce Bisync Character (Byte) Transmission Start 01 Header Synchronization Character Start Text End of Text Block Check Character ~_N_"'..I.' _0..1...-+_.L...._"-jeader Data or Fill Characters Data or Fill Character L-+...J...-----_ Texs:'_ _ BGC Field _ _ _ _ _+! Synchronous Data link Control (SOLe) Flag Packet Switching (X.2S) Data link Control (8it Oriented) = Markmg Ime or 2nd 8 bIt CharacTer 1st 8 bIICh3'..._- CONTROL REGISTER LOAD CYCLE 'RR, RR, ARE DISCONNECTED AT TRANSITION OF RRD FROM O.8V TO 2.0V 'OUTPUTS PE, FE, OE, OR, THRE ARE DISCONNECTED AT TRANSITION OF SFD FADM a.BV TO 2.av DATA OUTPUT DELAYS STATUS FLAG OUTPUT DELAYS 21 TRANSMITTER FLOW CHART RECEIVER FLOW CHART 22 ABSOLUTE MAXIMUM RATINGS NOTE: These voltages are measured with respect to GND Storage Temperature -55°C to +125°C (Plastic) -65°C to +150°C (Ceramic) VCC Supply Voltage -0.3V to "7.0V Input Voltage at any pin -0.3V to '7.0V Operating Free-Air Temperature T A Range 0° C to 70 0 C Lead Temperature (Soldering, 10 sec.) 300 D C ELECTRICAL CHARACTERIST'CS (VCC = 5V ± 5%, VDD = SYMBOL av, VGG = - 12V ± 5%, TR1602/TR1402) TR1602/TR1402 PARAMETER MIN OPERATING CURRENT ICC IGG Substrate Supply Current Gate Supply Current VIH VIL LOGIC LEVELS Logic High Logic Low VOH VOL IOC IlL IIH OUTPUT LOGIC LEVELS Logic High VSS Logic Low Output Leakage Low Level Input Current High level Input Current MAX TR1863/5 MIN MAX CONDITIONS 35 ma VCC = 5.25V 60 ma -10 ma VSS - (V cc = 5V ± 5% TR 1863/5) VGG = -12.6V 2AV 1.5V 0.8V 0.6V VCC = 4.75V 2AV 1.0V OAV 10/Ja -1.6 mE, VSS = 4.75V, IOH = 100 lJa OAV VSS = 5.25V, I OL = 1.6 ma 10ua VOUT = av, SFD = RRD = VIH "'-1.6ma VIN =OAV 1Ol"a ",N = 3.75V, TR1865 only SWITCHING CHARACTERISTICS (See "Switching Waveforms") SYMBOL PARAMETER tpdO tpd1 tpdO tpd1 Clock Frequency TR1402 TR1602 TR1863-00 TR1863-02 TR1863-04 TR1865-00 TR1865-02 TR1865-04 Pulse Widths CRL THRL DRR MR COinCidence Time Hold Time Set Time OUTPUT PROPAGATION DELAYS To Low State 1602/1402 To High State 1602/1402 To Low State 1863/1865 To High State 1863/1865 Cin Co CAPACITANCE Inputs Outputs fclock tpw tc thold tset MIN MAX 320 320 1.0 2.5 3.5 1.0 2.5 3.5 DC DC DC DC DC DC DC DC 200 200 200 500 200 20 0 KHz KHz MHz MHz MHz MHz MHz MHz CONDITIONS Vee = 4.75V with internal pull-ups on all inputs with internal pull-ups on all inputs with internal pull-ups on all inputs with internal pull-ups on all inputs with inlernal pull-ups on all inputs ns ns ns ns ns ns 650 ns 650 ns 250 ns 250 ns 20 pi 20 pi 23 CL = 20 pi, pi us one TTL load CL = 20 pi, plus one TTL load 1= 1 MHz, VIN = 5V f = 1 MHz, VIN = 5V ~J : : : :0::: ::] "' ' (::::: :0::::::] 001 • • TR1602B, TR1402B, TR1863B, TR1865B TR1602A,TR1402A,TR1863A, TR1865A CERAMIC (HERMETIC) PACKAGE PLASTIC PACKAGE TR1602P, TR1402P, TR1863P, TR1865P PLASTIC PACKAGE Information furnished by Western Digital Corporatton is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may result trom its use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said circuitry at any time without notice. 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 24 WESTERN DIGITAL c o R o P R A o T N PR1472-01 (PSAR) Programmable Synchronous & Asynchronous Receiver !lii-+MifA , . ,; *? , I. j f ~ , "4 'S & \. if " , & &,. i FEATURES GENERAL DESCRIPTION • SYNCHRONOUS, ASYNCHRONOUS OR ISOCHRONOUS OPERATION • DC TO 640K BITS/SEC (1X CLOCK) PR1472-01; DC TO 100K BITS/SEC PR1472 • PROGRAMMABLE MATCH (FILL)CHARACTER WITH MATCH DETECT FLAG. • INTERNAL OR EXTERNAL CHARACTER SYN· CH RON IZATION • NINE BIT WIDE RECEIVER HOLDING REGISTER • SELECTABLE 5, 6, 7 OR 8 BITS PER CHARACTER • EVEN/ODD OR NO PARITY SELECT • PROGRAMMABLE CLOCK RATE; 1X, 16X, 32X OR64X • AUTOMATIC START AND STOP BIT STRIPPING • AUTOMATIC CHARACTER STATUS AND FLAG GENERATION • THREE STATE OUTPUTS - BUS STRUCTURE CAPABILITY • DOUBLE BUFFERED o TTL & DTL COMPATIBLE - INTERNAL ACTIVE PULLUP • COMPATIBLE TRANSMITTER, PT1482 The Western Digital PR1472 (PSAR) is a program· mabie receiver that interfaces variable length serial data to a parallel data channel. The receiver con· verts a serial data stream into parallel characters with a format compatible with all standard Synchronous, Asynchronous, or Isochronous data communications media. PI Contiguous synchronous serial characters are compared to a programmable Match-Character Holding Register, character synchronized and assembled. Programming the Asynchronous or Isochronous Mode provides assembly of characters with start and stop bit(s) which are stripped from the data. Four internal registers, in conjunction with Three-State Outputs provide full system versatility. The PSAR is a TTL compatible device. The use of internal active pull-up devices and push-pull output drivers, provides direct compatibility with all forms of current sinking logic. Western Digital also offers a Compatible Transmitter, PT1482. WLS2 RMS2 MR----~~~--------------~ CD -----++-+_. MDET PR1472 BLOCK DIAGRAM &liWWWW4AA 25 PS#!iMSMffl*lf _ @ii'!1' I PIN NUMBER 1 37,39,2 1/0 NAME + 5 Volt Supply V ss POWER SUPPLY RECEIVER MODE SELECT FUNCTION SYMBOL RMS., RMS" RMS, A low-level input voltage, VIL, applied to CD (pin 6) enables RMS., RMS" and RMS3 inputs. The Receiver Mode Select Inputs, in conjunction with the Control Register load and Chip Disable, select the Receiver operating mode. RMS., RMS2, and RMS3 may be strobed or hard-wired to the appropriate input voltage. RMS, RMS, RMS. 0 0 0 0 0 1 0 1 0 0 1 1 1 X 0 1 X 1 Selected Operating Mode ASYNCH OR ISOCH, 1X CLOCK ASYNCH OR ISOCH, 16XCLOCK ASYNCH OR ISOCH, 32X CLOCK ASYNCH OR ISOCH, 64X CLOCK SYNCH·EXTERNAL CHARACTER SYNCHRONIZATION SYNCH·INTERNAL CHARACTER SYNCHRONIZATION NOTE: When operating in asynchronous or isochronous mode with 1X clock there is no protection against false start bits. A high·level input voltage, V'H, applied to CD dis· abres RMS., RMS, and RMS,. 18,22 MATCH·CHARACTER 17,36,3, HOLDING REGISTER 38,4,40 DATA 5,23 WORD LENGTH SELECT MHR" MHR., MHR., MHR. A low-level input voltage, VIL, applied to CD (pin 6) enables the inputs to the Match-Character Holding Register Load, MHRL. Parallel 8-bit characters are input into the Match-Character Holding Register with the MHRL Strobe (pin 34). If a character of less than 8 bits has been selected (by WLS, and WLS,), only the least significant bits are accepted. These inputs may be strobed or hardwired to the appropriate input voltage. A highlevel input voltage, VIL, applied to CD disables MHR. and MHR•. WLS., WLS, A low-level input voltage, VIL, applied to CD (pin 6) enables the inputs of the Control Register Load, CRL. Parallel 8-bit characters are input into the Control Register with the CRL Strobe (pin 4), WLS, and WLS, select the transmitted character length from five (5) to eight (8) bits defined by the Truth Table below: MHR., MHR" MHR., MHR" WlS, WlS, Selected Word length V'l V'l 5 BITS V'l V'H 6 BITS V'H V'l 7 BITS V'H V'H 8 BITS WlS. and WlS, may be strobed or hard·wired to the appropriate input voltage. A high·level input voltage, V'H, applied to CD disables WlS. and WlS,. 26 PIN NUMBER 6 1/0 NAME CHIP DISABLE SYMBOL FUNCTION This line controls the disable associated with busable inputs and Three-State outputs. A high-level input voltage, V ,H, applied to this line disables inputs and removes drive from push-pull output buffers causing them to float. Drivers of disables outputs are not required to sink or source current. The 110 Lines controlled by Chip Disable are defined below: CD Input Lines CRL EPE PI WLS,WLS, RMS,-RMS, Three-State Output Lines DRR SFR MHRL MHR,-MHR. PE FE OE RR,-RR. 7-15 RECEIVER HOLDINGREGISTER DATA OUTPUT RR,-RR, 16 VGG POWER SUPPLY VGG -12VoltsSupply. 19 PARITY INHIBIT PI A low-level input voltage, V,L, applied to CD (pin 6) enables the EPE and PI inputs. 21 EVEN PARITY ENABLE EPE The Even Parity Enable Input and the Parity Inhibit Input to the Control Register, in conjunction with the Control Register Load and Chip Disable, select even, odd or no parity to be verified by the receiver. A high-level input voltage, V,H, applied to EPE selects even parity and a low-level input voltage, V,L, select odd parity if a low-level input voltage is applied to Parity Inhibit and Chip Disable. PI and EPE may be strobed or hard-wired to the appropriate input voltage. A low-level input voltage, V,L, applied to CD (pin 6) enables the Receiver Holding Register outputs, RR,·RR,. The parallel data character, including parity (RR,), appears on these lines. Program control selection of a word length less than eight (8) bits will cause the most significant bits of the character to be forced to a low-level output voltage, VOL' The character will be right justified. RR, (pin 15) is the least significant bit of the character. A high-level input voltage, V ,H , applied to CD disables RR,-RR,. PI EPE Selected Parity Odd Even None Comments CD = V'L CD V'L CD V'L = = NOTE: If CD = V,H, no programming is performed since inputs are disabled. X - either V'L or V,H. When programmed, the appropriate parity is verified following the last data bit of a character, immediately preceding the stop element of asynchronous and isochronous characters. A high-level input voltage, V,H, applied to CD disables EPE, PI, and CRL. 29 PARITY ENABLE PE A high-level input VIH enables parity. A low level input V I H disables parity. 27 PIN NUMBER 1/0 NAME 24 STATUS FLAG RESET 25 DATA RECEIVED RESET SYMBOL SFR FUNCTION A low-level in~ voltage, V,L, applied to CD (pin 6) enables the SFR input. A low-level input voltage, V,L, applied to this line resets the PE, FE and OE Status Flags. A low-level input voltage, V,L, applied to CD (pin 6) enables the DRR input. A low-level input volt- age, V,L, applied to this line resets the DR Flag. A high-level input voltage, V,H , applied to CD disables DRR. 26 DATA RECEIVED FLAG DR A high-level output voltage, V OH , indicates that an entire character has been received and transferred to the Receiver Holding Register. When operating in the synchronous mode, the first SYN character, when located and transferred to the Receiver Holding Register, will not cause DR to go to a high-level output voltage, VOH , but will cause MDET to go 10 a high-level output voltage_ Character transfer to the Receiver Holding Register occurs in the center of the last bit of a synchronous character or the center of the first STOP element of an asynchronous or isochronous character at which time this flag is updated. 27 OVERRUN ERROR FLAG OE A low-level input voltage, V,L, applied to CD (pin 6) enables the OE input. A high-level output voltage, VOH , indicates that the prevously received character was not read (DR line not reset) and was, therefore, lost before the present character was transferred to the Receiver Holding Register. This transfer occurs in the center of the last bit of a received synchronous character or in the center of the first STOP element of an asynchronous or isochronous character at which time this flag is updated_ A high-level input voltage, V OH , applied to CD disables OE. 28 FRAMING ERROR/ SYN SEARCH FE/SS FE/SS is a two-way (I/O) bus. If programmed for the ASYNCHRONOUS or ISOCHRONOUS MODE, a low-level input voltage, V,L, applied to CD (pin 6) enables the FRAMING ERROR FLAG output which indicates the status of the STOP BIT detection circuit. A high-level output voltage, VOH , indicates that the character transferred to the Receiver Holding Register has no valid STOP BIT; i.e., the bit following the PARITY BIT is not a high-level input voltage, V ,H . This transfer occurs in the center of the first stop element at which time this flag is updated. When programmed for the SYNCHRONOUS MODE, this line is an input and is not under control of CD. This line should be driven by a tri-state or an open collector device. If programmed for INTERNAL CHARACTER SYNCHRONIZATION, a transition from a lowlevel input voltage, V,L, to a high-level input voltage, V ,H , initiates the automatic internal "SYN" CHARACTER search operation. 28 PIN NUMBER 28 1/0 NAME FRAMING ERRORI SYN SEARCH SYMBOL FUNCTION FE/SS Prior to initiation of this operation, the Receiver Holding Register is "transparent" so that its contents are identical to that of the RECEIVER REGISTER. Upon receipt of a SYN character, (previously loaded into the Match-Character Holding Register during initialization), the Receiver Holding Register becomes non-transparent, the MATCH DETECT output (MDET) goes to a highlevel output voltage_ V OH ' but, the Data Received (DR) FLAG does not assume a high-level output voltage, V OH - The P/SAR is now in character synchronization_ Subsequent SYN or data character wilt be transferred to the RECEIVER HOLDING REGISTER as they are assembled (at the center of the last bit) and the DR FLAG will be raised_ A transition lrom a high-level input voltage, V,H , to a low-level input voltage, V,L, causes the P/SAR to lose character synchronization and forces the Receiver Holding Register to become "transparent." If programmed for EXTERNAL CHARACTER SYNCHRONIZATION, the system external to the P/SAR examines the data stream for "SYN" characters when SYN SEARCH is a lOW-level input voltage, V'L- The Receiver Holding Register is "transparent" which allows the contents of the RECEIVER REGISTER tc\ be monitored as it ripples through the shift register. When the external logic locates a "SYN" CHARACTER, indicated by a high-level input voltage, V OH ' on MDET, the SYN SEARCH line is externally raised to a high-level input voltage, V ,H - This high-level input voltage causes character synchronization to be initiated, returns the Receiver Holding Register to a "non-transparent" condition, causing subsequent characters to be transferred to the RECEIVER HOLDING REGISTER (when the center of the last bit of a character is recognized) and raises the DR FLAG_ 30 MATCH DETECT FLAG MDET A high-level output voltage, V OH , indicates that the contents of the Transmitter Register are identical to the contents of the Match-Character Holding Register. This flag is set to a high-level output voltage, VOH , at the center of the first STOP ELEMENT of an asynchronous or isochronous character_ 31 RECEIVER REGISTER CLOCK RRC This fifty (50) percent duty cycle clock provides the basic receiver timing_ The negative transition from a high-level input voltage, V'H, to a low-level input voltage, V'L, shifts data into the RECEIVER REGISTER at a rate determined by RMS" RMS, and RMS,_ Synchronous operation requires that this negative transition occur at the center of each data bit. 29 PIN NUMBER I/O NAME SYMBOL FUNCTION 32 MASTER RESET MR A high-level input voltage, V'H, applied to this line resets timing and control logic to an idle state, sets the contents of the Receiver Holding Register to a high-level output voltage, VOH, resets the contents of the Match-Character Holding Reg· ister, the MDET, DR, PE, FE, and OE outputs to a low·level output voltage, VOL, but does not effect the contents of the control register. 33 CONTROL REGISTER lOAD CRl A lOW-level input voltage, V'L, applied to CD (pin 6) enables the CRl input. A low-level input volt· age, V'L, applied to this line enables inputs to DC "0 Type" latches of the Control Register and loads it with Control Bits (EPE, PI, RMS" RMS" RMS., WlS" WlS,). A high·level input voltage, V'H, applied to this line disables the Control Register. This line may be strobed or hard-wired to a low-level input voltage, V'L' A highlevel input voltage, V'H, applied-to CD disables CRl. 34 MATCH CHARACTER HOLDING REGISTER lOAD MHRl A low-level input voltage, V'L, applied to CD (pin 6) enables the MHRl input. A low·level input voltage, V'L, applied to this line enables input to DC "0 Type" latches of the Match-Character Holding Register and loads it with the MatchCharacter Holding Register. This line may be strobed or hard-wired to a low·level input voltage, V'L' A high-level input voltage, V'H, applied to CD dis· abies MHRl. 35 RECEIVER INPUT RI The serial input data stream received on this line enters the Receiver Register determined by the character length, parity and the number of stop bits programmed. A high·level input voltage, V'H, must be present when no ASYNCHRONOUS data is being received. ORGANIZATION PR1472 block diagram is illustrated on page 1. receiver register to establish character synchronization. Control Register - Programming of the PSAR is accomplished by loading the 7 Bit Control register. Mode selection, clock division, word length, and parity are selected when the Control Register load (CRl) signal is activated. Timing & Control - The Timing and Control logic generates the required control signals to assemble characters, match comparison, bit stripping, and generation of status/flag signals. SYNCHRONOUS MODE OPERATION RQl:eiver Register - The Receiver Register is used to store the incoming data stream. The contents of this register can be gated to the Holding register during the transparent mode, or compared with the Match Holding Register. When a character is assembled it is transferred to the Receiver Holding Register. Receiver Holding Register - The Receiver Holding Register, a buffer register, is used to store the assembled character. Synchronous data appears as a continuous bit stream of contiguous characters at the input to the receiver with no Start or Stop bits. Character synchronization (the "framing" of this continuous bit stream into characters of a predetermined fixed length), must be accomplished by a comparison of this bit stream and a synchronization sequence. The P/SAR is deSigned to accommodate ir.ternal or external character synchronization by program control. Match Holding Register - The Match Holding Register is used to store the match character. The contents of this register are compared with the Referring to the Block Diagram of the Receiver, the Chip Disable (CD) enables ordisconnects various in- 30 puts and outputs of the PfSAR. This feature pro· vides the device with the capability of being dis· connected from the system bus. The inputs to the Control Register and Match·Character HOlcJ.i..r2fl Register and their respective load strobes, CRL and MHRL are under CD control. In addition, DRR, SFR, PE, and OE and the outputs of the Receiver Holding Register, are also controlled by CD. It is necessary that CD enable these lines to allow strob· ing information in these registers and to allow examination of these output flags and data. Device operation is programmed subsequent to being forced into its "idle" state. The PISAR will enter a defined "idle" state when the Master Reset (MR) line is strobed to a high·level input voltage. In this state, all timing and control logic are reset, the contents of the Receiver Holding Register is set to a high·level output voltage and all output flags are reset to a low·level output voltage. The Master Reset also causes the contents of the Match· Character Holding Register to be reset to a low· level output voltage. Enabled ~D, the Control Register is loaded by strobing CRL to a low·level input voltage which defines mode of operation and clock rate selection, character length and selected parity if required. Table 1 illustrates all programmable synchronous formats. Character synchronization from the data stream requires Receiver recognition of specific bit pat· tern(s) which define the relative position of syn· chronous characters in the data stream and sub· sequent character assembly. The PISAR program· mably accommodates internal or external character synchronization. Programmed for internal character synchroniza· tion, a high·level input voltage on the Sync Search line, the Receiver Holding Register is "trans· parent" and its contents are identical to the Re· ceiver Holding Register. The data stream, gated into the Receiver Input (RI) by the negative transition of the Receiver Register Clock (RRC), shifts through the Receiver Register and is com· pared with the preprogrammed character in the Match·Character Holding Register. A match, in· dicated by a high·level output voltage on Match Detect (MDEl), returns the Receiver Holding register to its non·transparent state and initializes timing and control logic but does not set the Data Received Flag to a high·level output voltage. The character following the match will be transferred to the Re· ceiver Holding Register at the receipt of the center of its last bit and the Data Received Flag is set to a high·level output voltage. Depending on line dis· cipline, this last character may also be a synchroni· zing character, in which case, Match Detect will continue to be a high·level output voltage when the Data Received Flag is set. Therefore, sequence verification can be performed by the system (ad· ditional hardware or software as desired). 31 Parity, if programmed, is verified upon receipt of the center of the parity bit which is the last bit of a synchronous character. If a parity error exists, the associated PE register is set to a high·level output voltage. Transfer of a character to the Receiver Holding Register sets the associated Data Received Register Flag (DR) to a high· level output voltage. The transfer of a character to the Receiver Holding Register, if the Data Received Register Flag had already been set to a high·level output voltage, causes the pre· vious character to be lost (written over) and is alerted by an Overrun Error Flag which is a high·level out· put voltage. In normal operation, the Data Received Flag is reset by DRR when the Receiver Holding Register is serviced (unloaded). The Status Flags, PE and OE, are also provided with an external reset SFR so that block status and character status may be (accumulated) verified. A low·level input voltage on Sync Search causes character synchronization to be lost and initiates transparency of the Receiver Holding Register. External character synchronization, programmed by the Control Register, is similar to the descrip· tion above with the exception that the Sync Search line controls the nontransparency of the Receiver Holding Register directly and comparison is done externally. Upon recognition of the appropriate synchronizing pattern, the Sync Search line is set to a high·level input voltage prior to the end of the last bit. Raising the Sync Search line to a high· level input voltage causes the buffer to go "nontrans· parent", initializing timing and control circuitry to "frame" characters. The first bit received after a high-level input voltage is applied to Sync Search. defines the start of the "frame". Character length defined by the Control Register defines the end of the "frame". Table 1. SYNC MODE CONTROL DEFINITION CONTROL WORD R W W M L s CHARACTER FORMAT S L S p E P DATA PARITY BIT 2 1 I E BITS CHECKED 0 0 0 0 0 0 1 5 5 EVEN 0 0 ODD NONE 1 X 0 0 a ODD 1 EVEN 1 0 0 X 0 6 NONE 1 7 7 8 8 EVEN X 0 1 1 1 1 X Sets to SYNC Mode ODD NONE 8 If RMS, = 1, the receiver operates in the internal character SYNC mode. If RMS, = 0, character SYNC must be externally provided. ss MA CAL -Il~ ______________________________________________________ ---Il~ ____________________________________________________ AI CHARACTER NO 1 CHARACTER NO 2 CHARACTER NO 3 CHARACTER NO 4 I MOET oA I ____________________________--I--------~________r__JL -------------------------,u~----~LJ~--~~ CO ~~______~------~____~----~L_I u ·CLOCK SHOWN IS BIT RATE CLOCK {1Xj (INTERNAL SYNCHRON IZATION) MA----Il~ ________________________________________________ RAC· II I I I I AI I I ss oA ------------~~~--------- oAA --------------------~~r--------------- CD AA , AAg fZ»'\::,.~'\l I I I I I I I I I I I I I I I I I t I I I I I I I II I l CONTENTS OF RECEIVER REGISTER CHARACTER SYNCHRONIZATION ESTABLISHED ·CLOCK SHOWN IS BIT RATE CLOCK (lX) (EXTERNAL SYNCHRONIZATION) SYNCHRONOUS TIMING DETAIL 32 t. CONTENTS OF CHARACTER RECEIVER REGISTER SYNCHRONIZATION LOST ASYCHRONOUS & ISOCHRONOUS MODE The completed assembly of a parallel character, by the PISAR, from a serial data stream and buffered by its Receiver Holding Register is indicated by the status of the Data Received (DR) Flag. The assembly of character from a serial data stream consisting of a start bit, data, parity (if programmed), and a stop interval is initiated by the Start bit transition. Verification of parity and receipt of a valid stop bit is accomplished prior to the character transfer to the Receiver Holding Register. Simultaneously, this data is compared with a preprogrammed character in the Match·Character Holding Register. Status Flags, Data Received, Parity Error, Framing Error, Overrun Error and Match Detect are loaded into status registers during character transfer to the Receiver Holding Register. Referring to the Block Diagram of the Receiver, the Chip Disable enables or disconnects various inputs and outputs of the PISAR. This feature provides the device with the capability of being disconnected from the system bus. The inputs to the Control Register and Match-Character Holding RegiS~L and their respective load strobes, Cl!h.an~H are under CD control. In addition, ORR, SFR, PE, FE, OE and the outputs of the Receiver Holding Register are also controlled by CD. It is necess,:ry that CD enable these lines to allow strobing Information into these registers and to allow examination of these output data and flags. Device operation is programmed subequent to being forced into its "idle" state. The PISAR will enter a defined "idle" state when the Master Reset (MR) line is strobed to a high·level input voltage. In this state, all timing and control logiC are reset, the contents of the Receiver Holding Register is set to a high-level output voltage, and all output flags are reset to a low-level output voltage. The Master Reset also causes the contents of the Match-Characer Holding Register to be reset to a lOW-level output voltage. When the Receiver is enabled by CD, loading the Control Register by strobing the Control Register Load (CRL) line to a lOW-level input voltage defines the mode of operation and clock rate selection, character length and selected parity if required. Table 2 illustrates all the programmable asynchro· nous formats. A mark to space transition on the receiver input initializes the clock counter causing it to count to the theoretical center of the start bit. At this time, the input is sampled. A high-level input voltage at the Receiver Input causes the first mark to space transition to be interpreted as a noise spike and resets all timing and control logic. This provides one-half data bit nOise immunity on all clock selec- 33 tion rates except 1X. A lOW-level input voltage at the Receiver Input at the theoretical center of the start bit causes timing and control circuitry to sample the theoretical center of succeeding data bits. This data is shifted through the Receiver Register. When an entire character(as defined by the Control Register) is assembled In the Receiver Register, the line is "tested" for a valid stop bit at its theoretical center. This character IS also compared with the contents of the Match·Character Holding Register at the center of the stop bit and its parity is verified. A parallel transfer occurs, loading the contents of the Receiver Register (less start and stop bits) into the Receiver Holding Register. The status of the parity verification, framing error, and overrun error circuitry are also loaded into their approriate registers to provide output error flags when the Data Received Flag is set. If the Data Received Flag had not been reset prior to the assembly of the current character, the previous character is lost and this is indicated by a high-level output voltage on the Overrun Error Flag. Table 2. ASYNCHRONOUS OR ISOCHRONOUS MODE CONTROL DEFINITION R W M L S 3 0 0 0 S 2 0 0 0 0 0 ° 1 0 a °0 X 0 0 1 0 1 1 t I 1 7 7 8 8 0, ,I ,,1 1 X 1 8, 'L-Set to ASYNC orlSOC Mode Even None Odd Even None Elements 10rmore 1 or more lor mOre lor more lor more tor more 1 or more 1 or more lor more 10rmors i ormore 1 or more When RMS, is 0 (ASYNC or ISOC Mode), RMS, and RMS, determine the clock frequency according to the following table: ____________________________________________ MR ---Il~ CRL ~r------------------------------------------------ MHRL ~r------------------------------------------------ RAC· RI n'--__ u _ _ _ _--'il DR u -.J CD MOET RR,-RRg OE __-L~~~~~~~~~~~~~~______-Ef8~~~~~8~$8~0~$8~8~$8~0~~~8L-__Jr----l~____________ FE __~~~~~~~~~~~~~~8L-____-h~~~~~~~~~~~~~~~~~~~~~~~________~~ u----u---u·CLOCK SHOWN IS BAUD RATE CLOCK (1X) ASYNCHRONOUS & ISOCHRONOUS TIMING EXAMPLE EPE, PI, WLS1. WLS2. RMS,-AMS3 MHR,- MHR 8 \'--- , t J 1 ~'~m" DR JE,'""=j l,~ PE. FE. OE ~ TRESETJ DATA INPUT LOAD CYCLE RESET DELAY SWITCHING WAVEFORMS 34 ,------_ _ _ _ _ _ _~""'""O"""'"O". , 5,,'<1 ~1'NlO .~OPt~ 'OS> 11QND'RECElvER"EGoSTER 8ASED ON 'ME sHECTEe woAe UNGTH l l ' 'MOB'' .~O •• "ITY StOn ....CEIVEAAEGIS'lATO O applied to this line resets the Data Not Available Flag. A ~.Ievel Input, V1H, applied to CD disables DA . This input is not used during asynchronous operation. 11 TRANSMITTER CLOCK OUTPUT TCO This output is a clock at the transmitted bit rate. The negative going edge of this clock corre· sponds to the center of each transmitted data bit. The positive going edge corresponds to the start of each data bit transmission. All wave· forms in this specification are referenced to TCO. 12 DATA NOT AVAILABLE FLAG DA A low· level input voltage, V1L, applied to CD (pin 22) enables the DA input. A high· level output voltage, VOH , on this line indicates that a Fill· Character has been transmitted, since a charac· ter was not loaded into the Transmitter Holding Register by the center of the last bit of a Syn· chronous Character or the center of the Stop Element of an Isochronous character. A high· level input voltage, V1H , applied to CD disables DA. This input is not used during asynchronous operation. 13 DATA DELIMITI END OF CHARACTER DD/EOG During asynchronous operation, a high·level output voltage, VOH , indicates data is being transmitted. A low·level output voltage, VOL, indicates that a Start or Stop Element is being transmitted. \A low·level output voltage during synchronous operation indicates that the last bit of a charac· ter is being transmitted. PIN NUMBER liD NAME SYMBOL FUNCTION 14 TRANSMITIER HOLDING REGISTER EMPTY THRE A low-level input voltage applied to CD (pin 22) enables the THRE input. A high-level output voltage, VOH , on this line indicates the Transmitter Holding Register is empty and has transferred its contents to the Transmitter Register and may be loaded with a new character. This line goes to a low-level output voltage, VOL, when THRL goes to a low-level input voltage, V 1L- A high-level input voltage, V 1H , applied to CD disables THRE_ 15 TRANSMITIER REGISTER OUTPUT TRO The contents of the Transmitter Holding Register are serially shifted out as an NRZ waveform on this line provided that a character was loaded into the Transmitter Holding Register prior to DA Flag (in Synchronous or Isochronous Modes). If a character was not loaded prior to a DA Flag, the contents of the FillCharacter Register are transmitted as the next character. 16 VGG POWER SUPPLY VGG - 12 Volts Supply. 17 CLEAR-TO-SEND CTS The Clear-To-Send Control initiates or disables transmission as a function of the state of this line. A high-level input voltage, V 1H , initiates serial data transmission provided a character has been loaded into the Transmitter Holding Register. A low-level input voltage, V1L , applied to this lin~ during transmission allows completion of that character only, after which the output will continue to mark until a high-level input voltage is applied. 18 MASTER RESET MR The rising edge of a high-level input voltage, V1H , applied to this line resets timing and control logic to an idle state, sets TH RE, the contents of the Fill-Character Holding Register, and TRO to a high-level output voltage, VOH. 19 TRANSMITIER HOLDING REGISTER LOAD A lOW-level input voltage, V'L, applied to CD (pin 22) enables the THRL input. A lOW-level input voltage, V1L, applied to this line enables DC Latches of the Transmitter Holding Register and loads it with the Transmitter Holding Register data and forces THRE to a low-level output voltage, VOL' A high-level input voltage, V'H, applied to this line disables the Transmitter Holding Register. A high-level input voltage, V'H, applied to CD disables THRL. 20 FILL-CHARACTER HOLDING REGISTER LOAD A lOW-level input voltage, V'L, applied to CD (pin 22) enables the FHRL input. A low-level input voltage, V'L, applied to this line enables DC Latches of the Fill-Character Holding Register and loads it with the Fill-Character Register data FR,-FR B• A high-level inpu~tage, V1H , applied to this line disables the FHRL Register. This line may be strobed or hard-wired to a low- 42 PIN NUMBER I/O NAME FUNCTION SYMBOL level input voltage, V'L. This input is not used during asynchronous operation. A high-level input voltage, V'H, applied to CD disables FHRL. 21 Voo POWER SUPPLY Voo Ground. 22 CHIP DISABLE CD This line controls the disconnect associated with busable inputs and Three-State outputs. A high-level input voltage, V'H, applied to this line removes drive from push-pull outputs causing them to float. Drivers of disabled inputs are required to sink or source current. The 110 Lines controlled by Chip Disable are defined below: INPUT LINES TRI-STATE OUTPUT LINES CRL THRL DA EPE FHRL THRE PI FR,-FR s CS ,-CS 2 TR,-TR, MS , -MS2 WLS, WLS, DAR 23,25 27,29 31,33 35,37 FILL-CHARACTER HOLDING REGISTER DATA INPUTS A low-level input voltage, V'L, applied to CD (pin 22) enables the inputs of the Fill-Character Holding Register and associat\ld Load Strobe, FHRL. Parallel 8-bit characters are input into the Fill-Character Holding Register with the FHRL Strobe (pin 20). If a character of less than 8 bits has been selected (by WLS , and WLS 2) only the least significant bits are accepted. These lines may be strobed or hard-wired to the appropriate input voltage. These inputs are not used during asynchronous operation. FR,-FRs During Synchronous or Isochronous transmission, the Fill-Character is transmitted if a character was not loaded into the Transmitter Holding Register prior to a DA Flag; i.e., the Transmitter Holding Register did not contain a character at the center of the last bit being transmitted from the Transmitter Register. A high-level input voltage, V'H, will cause a highlevel output voltage, VOH , to be transmitted, Least Significant Bit (FR ,) to Most Significant Bit (FRn) order. A high-level input voltage, V'H, applied to CD disables FR ,-FR s. 24,26 28,30 32,34 36,38 TRANSMITTER HOLDING REGISTER DATA INPUTS A low-level input voltage, V'L, applied to CD (pin 22) enables the inputs to the Transmitter Holding Register and associated Load Strobe, iFffil. If a character of less than 8 bits has been selected (by WLS , and WLS 2), only the least significant bits are accepted. A high-level input TR,-TRs 43 PIN NUMBER I/O NAME FUNCTION SYMBOL voltage, V 1H , will cause a high-level output voltage to be transmitted, Least Significant Bit (TR,) to Most Significant Bit (TRn) order_ A highlevel input voltage, V 1H , applied to CD disables TR,-TR B• 39-40 WORD LENGTH WLS,·WLS2 A low-level input voltage, V1L , applied to CD (pin 22) enables~ inputs of the Control Register and Load, CRL. Parallel a-bit characters are input into the Control Register with the CRL Strobe (pin 4), WLS, and WLS 2 select the transmitted character length from five (5) to eight (8) bits defined by the Truth Table below: WLS2 V1L V1L V1H V1H WLS, V1L V1H V1L V1H SELECTED WORD LENGTH 5 BITS 6BITS 7 BITS 8 BITS A high-level input voltage, V1H • applied to CD disables WLS, and WLS 2, forcing them to float. ORGANIZATION PT1482 block diagram is illustrated on page 1. Control Register - Programming of the PSAT is accomplished by loading the 8 Bit Control Register. Mode selection, clock divisor, word length, and parity are selected when the Control Register Load signal is activated. Transmitter Register - The Transmitter Register is used to store the outgoing data stream. The contents of this register are derived from either the Transmitter Holding Register or the Fill (Match) Character Holding Register with the Control and Timing Logic automatically adding the required start and stop bits during Asynchronous and Isoschronous Modes. Transmitter Holding Register - The Transmitter Holding Register, a buffer register, is used to store the parallel character to be serially transmitted. Fill Character Holding Register - The Fill Char· acter Holding Register is used to store the Fill (Match) Character which is transmitted during the absence of characters in the Transmitter Holding Register. Timing and Control - The Timing and Control Logie generates the required control signals to transmit Data and Fill Characters. Character transmission status signals are also derived from this logic. SYNCHRONOUS MODE OPERATION Synchronous transmission requires that characters (programmably variable from 5 to 8 data bits plus parity) are contiguous with no start or stop bits. Since the requirement that characters are conti· uous does not imply that the system servicing the transmitter always has ample time to load the Transmitter Holding Register, it is necessary that a character be transmitted when data has not been loaded into the Transmitter Holding Register. This character is defined as the Fill or Idle Character and a separate register has been provided to load this character upon initialization. The FillCharacter Holding Register is loaded by strobing the Fill-Character Holding Register Load (FHRL) line or hard-wiring it to a lOW-level input voltage. Referring the Block Diagram of the Transmitter, it can be seen that the Chip Disable (CD) enables or disconnects various inputs and outputs of the P/SAT. The inputs to the Control Register, Transmitter Holding Register, Fill-Character Holding Register and their respective load strobes, CRL, THRL, and FHRL are under CD control. In addition, the Transmitter Holding Register Empty (THRE) Flag, Data Not Available (DA) Flag, and the Data Not Available Reset (DAR) are also controlled by CD. It is necessary that CD enable these lines to allow strobing information into these registers and to. allow examination of these output flags. The P/SAT will enter a defined "idle" state when the Master Reset (MR) is strobed to a high·level input voltage. In this state, all timing and control logic are reset, the Transmitter Register Output continues 10 mark, the Transmitter Holding Register Flag is set to a high-level output voltage, the Data Delimit/End of Character (DD/EOC) Flag 44 is set to a low·level output voltage, and the contents of the Fill·Character Holding Register are forced to a high·level output voltage. When the P/SAT is enabled by CD, loading the Control Register by strobing the Control Register Load (CRL) line to a low·level input voltage, defines the mode of operation, character length, selected parity if required, and the clock rate selection. Table 1 illustrates all the programmable synchronous character formats. To initialize transmission the CTS signal must be set to a high state and the transmitter holding register must be loaded with a character to be transmitted. The transmitter will remain in an idle state until this is accomplished. The character transferred into the Transmitter Register (from the Transmitter Holding Register or the FiII·Character Holding Register) is determined at the center of the last bit of the character being transmitted. If, at this time, no character has been loaded into the Transmitter Holding Register, the Fill·Character is loaded into the Transmitter Register at the end of the bit being transmitted Table 1. SYNC MODE CONTROL DEFINITION CONTROL WORD WW M M L L 5 5 5 5 P CHARACTER FORMAT E P DATA ADDED PARITY 2 1 2 1 I E BIT5 BIT 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 X 0 1 X 5 5 5 6 6 6 7 7 7 B B 8 ODD 1 1 a a 0 0 a a a a 0 0 a 0 0 1 1 1 1 1 1 a 1 0 0 1 0 a 1 X 0 a 1 1 X EVEN NONE ODD EVEN NONE ODD EVEN NONE ODD EVEN NONE t Sets to 5YNC Mode TCO MA CD TA,-TAB l l_______________________________________________________ ~~ :::x:::::x~ __________________________________________ _________JX'_______..JX'___________ u u -------------------------.u.---------------------DD/EOC ------Ir------,Ur-------.Ur----------,Ur----------,L·CLOCK SHOWN IS BIT RATE CLOCK (lX) NOTE ~ ~~6=~;r;G PI::: V'L MS, :: V1L MS2 ::: V'H WLS, ::: V1H WlS2::: V1H SYNCHRONOUS TIMING EXAMPLE 45 and a Data Not Available (DA) Flag is set to a highlevel output voltage. This Fill-Character will be repeatedly transmitted until a character is loaded into the Transmitter Holding Register, at which time, the Data Not Available Flag is reset, the Fill· Character will be completed and the newly loaded synchronous character will follow contiguously. A high-level output voltage, on the THRE Flag indicates that the Transmitter Holding Register is empty and may be loaded with a character. Data on the inputs of the Transmitter Holding Register is loaded when the Transmitter Holding Register Load (THRL) line is strobed to a low-level input voltage, forcing the THRE Flag to a low-level output voltage. This data must be stable prior to THRL going to a high-level input voltage since this register is a set of DC latches which are enabled byTHRl. If the Clear-To-Send (CTS) line is at a low-level input voltage, or if the Transmitter Register is in the process of transmitting a character, the character in the Transmitter Holding Register will not be transferred down to the Transmitter Register and the THRE Flag will remain at a low-level output voltage. Raising the CTS line to a high-level input voltage or completion of transmission of a character from the Transmitter Register causes the automatic transfer of the character in the Transmitter Holding Register to the Transmitter Register which forces the THRE Flag to be set to high-level output voltage. The selected parity is added to the data during the transfer to the Transmitter Register and serial transmission is initiated as an NRZ waveform. A low-level input voltage applied to CTS during transmission allows completion of that character only, after which the device enters the idle state and the output will continue to mark until a high-level input voltage is applied. disconnects various inputs and outputs of the PIS AT. The inputs to the Control Register, Transmitter Holding Register, Fill-Character Holding ~ster and their respective load strobes, CRL, THRL and FHRL are under CD control. In addition, the Transmitter Holding Register Empty Flag (THRE), the Data Not Available Flag (DA), and the Data Not Available Reset (DAR) are also controlled by CD. It is necessary that CD enable these lines to allow strobing information into these registers and to allow examination of these output flags. It should be noted that the Fill-Character Holding Register and its associated load strobe, FHRL, the Data Not Available Flag and its associated reset, DAR, play no role in asynchronous communications and are only mentioned here for completeness. The PISAT will enter a defined "idle" state when the Master Reset (MR) line is strobed to a highlevel input voltage. In this state, all timing and control logic are reset, the Transmitter Register Output continues to mark, the Transmitter Holding Register Empty Flag is set to a high-level output voltage, VOH , and the Data DelimitlEnd of Character (DD/EOG) Flag is reset to a low-level output voltage. When the transmitter is enabled by CD, loading the Control Register by strobing the Control Register Load (CRL) line to a low-level input voltage, V'L, defines the mode of operation, character length, selected parity if required and the clock rate selection. Table 2 illustrates. all the programmable asynchronous formats. Continuous transmission, transmission of characters with the minimum number of stop bits programmed, is accomplished by loading the Transmitter Holdir,g Register within a character time of when its "Empty Flag" becomes a highlevel output voltage. A high-level output voltage, VOH , on the Transmitter Holding Register Empty (THRE) Flag indicates that the Transmitter Holding Register is empty and may be loaded with a character. Data on the inputs of the Transmitter Holding Register is loaded when the Transmitter Holding Register Load (THRL) line is strobed to a low-level input voltage, V'L, fOi ng the THRE Flag to a low-level output voltage, VOL. This data must be stable prior to THRL going to a high-level input voltage since this register is a set of DC latches which are enabled by THRL. If the Clear-To-Send (CTS) line is at a low-level input volta.ge or if the Transmitter Register is in the process of transmitting a character, the character in the Transmitter Holding Register will not be transferred down to the Transmitter Register and the THRE Flag will remain at a low-level output voltage. RaiSing the CTS line to a high-level input voltage or completion of transmission of a character from the Transmitter Register causes the automatic transfer of the character in the Transmitter Holding Register to the Transmitter Register and the THRE flag will be set to a high-level output voltage. The Data DelimitlEnd of Character Flag has been provided to indicate the transmission of serial data on the Transmitter Register Output. The Data Delimit/End of Character Flag is defined as a lowlevel output voltage during transmission of the last bit of a synchronous character and when the PIS AT is in the "idle" state. ASYNCHRONOUS MODE OPERATION An asynchronous character consisting of a start bit, followed by data (programmably variable from 5 to 8 data bits), parity (if so programmed), and a stop "element" is serially transmitted, in that order, as an NRZ waveform by the PISAT. The stop interval is referred to as an "element" since its minimum length is under program control and may be 1 or 2 bits in length. When programmed for 2 stop bits, a 5-level (bit) code will be transmitted with 1.5 stop bits. Referring to the Block Diagram of the Transmitter, it can be seen that the Chip Disable enables or 46 The start bit, selected parity and stop bit(s), deter· mined by the Control Register programming, are added to the data during the transfer to the Trans· mitter Register and serial transmission is initiated as an NRZ waveform. Table 2. ASYNC MODE CONTROL DEFINITION CONTROL WORD CHARACTER FORMAT WW A low·level input voltage, applied to CTS during transmission, allows completion of that character only, after which the output will continue to mark until a high·level input voltage is applied. M M L L S S S s 2 1 2 1 o0 o1 o0 o1 p E p START I E BIT ADDED 000 0 0 0 0 0 0 0 0 1 0 0 '0 1 o 000 1 x .0 1 0 0 1 X 000 1 0 a o1 0 10 0 000 1 0 1 o10 10 1 000 1 1 X o1 0 1 1X 001 000 o 1 1 000 00100 1 0 1 1 001 001 0 1 X o 1 1 0 1 X o0 1 1 0 a a 1 1 100 001 1 0 1 o 1 1 1 0.1 001 11'0: a1 1 1 The Data Delimit/End of Character Flag has been provided to indicate the transmission of serial data on the Transmitter Register Output. Data Delimit is a low·level output voltage during start and stop bits and is a high·level output voltage during transmission of data and parity. Neither TRO, CTS nor DO/EOC is under control of Chip Disable. ISOCHRONOUS MODE OPERATION In the Isochronous Mode of operation all (Syn· chronous Mode) definitions apply with the excep· tion of those for the Data Delimit/End of Character (DO/EOG) Flag and the Data Not Available Flag (DA). This is the case since Isochronous Data Trans· mission requires contiguous characters with the addition of a start and a single stop bit added to each character. • 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 rx DATA BITS PARITY 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 ODD ODD EVEN EVEN NONE NONE ODD ODD EVEN EVEN NONE NONE ODD ODD EVEN EVEN NONE NONE ODD ODD EVEN EVEN NONE NONE 8 8 8 8 8 8 BIT STOP ELEMENTS 1 1.5 1 1.5 1 1.5 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 . Sets to ASYNCMode TCO· n~ __________________________________________ MR CD TR,· TRB ~L-_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _~ ==::X~ __...JX,-________~X::::::X~____________ ----~~r-----------~~r----------------- CTS THRE TRO Cill .J DOfEOC ·CLOCK SHOWN IS BAUD RATE CLOCK (1X) NOTE: ~ ~~6:~(N~ PI ~VIL MS 1 V1l MS 2 = V1L WLS 1 = V1l WLS 2 = V 1H = ASYNCHRONOUS TIMING EXAMPLE 47 Table 3. ISOC MODE CONTROL DEFINITION The Data Delimit/End of Character Flag is a lowlevel output voltage during start and stop bits and is a high-level output voltage during transmission of data and parity. The Data Not Available Flag (DA) is set to a high-level output voltage at the end of the stop bit if a character has not been loaded into the Transmitter Holding Register at the center of the stop bit. The contents of the FillCharacter Holding Register will be transferred into the Transmitter Register and repeatedly transmitted until a character is loaded into the Transmitter Holding Register. At this time, the Fill-Character will be completed and the newly loaded isochronous character will follow contiguously. CON TROl WORD WW M M L L S S sSP P 2 1 2 1 START BIT E DATA 0 0 0 0 000 1 1 0 Q 1 X 5 10100 6 6 6 7 1 Q 10 1 1 0 1 1 X 1 1 1 Q 0 0 1 0 01 BIT 5 ODD 5 EllEN NONE ODD EVEN NONE ODD EVEN NONE 7 7 8 1 0 1 X 1 1 1 1 0 a 1 1 0 1 8 1 1 1 1 X 8 + PARITY BITS 1 1 1 Table 3 illustrates all the programmable isochronous character formats. I ODD EVEN NONE Sets 10 ISOC Mode TCOJl~ MR CD TA"TR, _______________________________________________ ____ ~r---1L _____________________________________________ =x=::::x________---Jx.""_____---Jx.'--__________ Tffirr ~---------,LJr----------'LJr----------- CTS ~r-----------------------------------------L- L -______~IlL_ TRO 1 1>l2/31 41*1 718Ipl IFIIILILI IclHIAIAI ____ ~r-- ______ 1*I314151617181pl ~r__ L ~ u Do/EGC LJ ·CLOCK SHOWN IS BIT RATE CLOCK (1Xl NOTE: ~ ~~6:~i~G = PI V1L MS, = V1H MS 2 = V 1H WLS 1 = V1H WLS 2 ::;: V1H ISOCHRONOUS TIMING EXAMPLE 48 EPE, PI, CS" CS 2, MS" MS 2, WLS,. WLS 2 TR,-TAa V," ------------- DATA INPUT LOAD CYCLE TRQ SKEW TIMES SWITCHING WAVEFORMS 49 OUTPUT ENABLE DELAYS , s("rT CO~T"Ol "", 'SfTC·"·D'S'.,f '" \ ~U'SI C"~T.O, .!G"'f~ ,0'0 ,.~( ~"O~'lI ,~T."~ O()"'~ !""<5"'O~D' .. " '" leo PT1482 SYNCHRONOUS ASYNCHRONOUS TRANSMITTER FLOW CHART 50 TCO CD - f-- >50Qns X " I I -1 ~ns LJ-+ __ J CTS THRE -+ ~ns __ -- -500ns I ---- --. TRO ~ns 500ns I+-;~, __ -- --, I I ,I ~ons -+ \ '\ TIMING DETAIL 51 Ipoons 500ns r- - r- 500ns I 11- ____ _I.::-0ns __ I I ~ ~on ABSOLUTE MAXIMUM RATINGS + 0_3V to + 0.3V to + 0.3V to + 0.3V to + 0.3V to VGG Supply Voltage Voo Supply Voltage Clock Input Voltage· Logic Input Voltage· Logic Output Voltage· Storage Temperature Ceramic Plastic Operating Free-Air Temperature T A Range Lead Temperature (Soldering, 10 sec_) - 20V - 20V - 20V - 20V - 20V -165°C to +150°C -55°C to +125°C O°C to + 70 0 300°C ·VGG = Voo = OV NOTE: These voltages are measured with respect to Vss (Substrate) e ELECTRICAL CHARACTERISTICS = = (Vss Vcc 5V ± 5%, Voo unless otherwise specified) SYMBOL = OV, VGG -12V ± 5%, TA PARAMETER V'l V,H INPUT LOGIC LEVELS' Low-level Input Voltage High-level Input Voltage Val OUTPUT LOGIC LEVELS' Low-level Output Voltage VOH High-level Output Voltage MIN. 0 MAX. 0.8V CONDITIONS = 4.75V vss Vss-1.5V 0.5V V ss-1.0V INPUT CURRENTLow-level Input Current I'l ooe to + 70 e -1.6mA (each input) Vss = 5.25V -1.6mA IOl Vss = 4.75V IOH -1001'A = = Vss Y'N = 5.25V = OAV •• Not more than one output should be shorted at a time. NOTE: 1) Inputs under Chip Disable control when disabled (V'H applied to CD), are logically disabled and appear as a single TTL load. 2) Outputs under Chip Disable control when disabled (V'H applied to CD) are logically and electrically disconnected and caused to float. The Three-State Output has three states; (1) Low impedance to Vcc (2) Low impedance to GND (3) High impedance OFF 10 Megohm. Iss 35m A IGG 10mA = = SWITCHING CHARACTERISTICS (Vss = Vcc = 5V, Voo = ov, VGG = -12V, TA = 25', Cl = 20pf) SYMBOL PARAMETER MIN. Fc Clock Frequency THOlO TCRl TTHRl T FHAL T OAR T MR T pD T sKEw TR TF PULSE WIDTH HoldTime Control Register Load Transmitter Holding Register Load Fill-Character Holding RegisterLoad Data Not Available Reset Master Reset Output Enable Delay Skew Time RiseTime Fall Time DC DC 52 MAX. 100 KHz 640 KHz 20 nsec 250 nsec 250 nsec 250 nsec 200 nsec 500 nsec 500 250 150 150 nsec nsec nsec nsec CONDITIONS 1482B 1482B-Ol '" C::::(;5::::] PT1482A CERAMIC PACKAGE PT1482B PLASTIC PACKAGE Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may result from Its use. No license is granted by implication or othe~ise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said circuitry at any time without notice 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH. CA 92663 (714) 557-3550.TWX 910-595-1139 53 54 c o R o p a Yr. k .t R ·g'R" FEATURES o 40 CHARACTERS BY 9 BITS o EXPANDABLE CHARACTER AND BIT SIZE (CASCADE CAPABILITY) o DC TO 1 MHz ASYNCHRONOUS 1/0 ACCESS o INPUTIOUTPUT READY STATUS FLAGS o THREE STATE OUTPUTS o SEPARATE INPUT AND OUTPUT ENABLES o DIRECTLY TTL COMPATIBLE A o MASTER RESET o NO EXTERNAL CLOCKS REQUIRED o 28-PIN DIP PLASTIC OR CERAMIC PACKAGE APPLICATIONS POINT OF SALE TERMINALS DATA TRANSMISSION BUFFER LINE PRINTER INPUT BUFFER KEY-TO-T APEIKEY-TO-DISC EQU I PMENT CARD/TAPE READERS AUTO DIALERS CRT BUFFER MEMORY CONTROL STACK SILO ORIENTED MACHINES ! --.§ T / o N '-1- • "PM' AM S +• GENERAL DESCRIPTION ous memory organized in a nine-bit by forty-character stack. ~ Chara~ters are loaded at the top of the stack and then ·'sink" ~ to the bottom of the stack, or to the level of previously en- m tered data, without external clocks being applied. As a char- ~ acter is taken from the bottom of the stack, all of the previollsly loaded characters will automatically propagate toward the output (bottom of stack). Data can be entered whenever the INPUT REGISTER EMPTY line is high by strobing INPUT STROBE. The INPUT ENABLE line must also be high while strobing. The INPUT STROBE resets INPUT REGISTER EMPTY and latches the input data. As soon as this data is latched, INPUT REGISTER EMPTY will again go high and additional data can be loaded. When data reaches the FIFO output, the OUTPUT DATA READY line will go high. The data is then valid at the outputs (providing the OUTPUT ENABLE line is high). The falling edge of the OUTPUT STROBE causes the OUTPUT DATA READY line to go low and to shift new data into the output register. When the new data is available, the OUTPUT DATA READY signal again goes high. The FIFO output data lines are in high impedance state whenever the OUTPUT ENABLE line is low. The logic conventions and internal delays designed into the FIFO allow direct expansion of the memory without external hardware (Cascade Mode). COMPUTERITERMINALS 1/0 INTERFACE BUFFER TELEPRINTER BUFFER 55 INTERFACE SIGNALS DESCRIPTIONS PIN NUMBER SIGNAL NAME SYMBOL 25-2B, 2-6 FUNCTION INPUT REGISTER FR1502-00 -01 -02 IROIRB Input data lines. These are input (but not latched) to the FIFO when the Input Enable and Input Strobe are active (high). FR1502-10 -11 -12 IROIRB Input data lines. These are input (but not latched) to the FIFO independently of the Input Enable or Input Strobe. INPUT REGISTER EMPTY FR1502-00 -01 -02 IRE When high, indicates that data can be loaded into the FIFO. It is reset to a low by falling edge of the Input Strobe. FR1502-10 -11 -12 IRE When high, indicates that data can be loaded into the FIFO. It is reset to a low by a rising edge of the Input Strobe. INPUT STROBE IS Latches input data in the FIFO on a falling edge. FR1502-10 -11 -12 IS Latches input data in the FIFO on a rising edge. MASTER RESET MR When high, clears the FIFO control registers. This leaves the OUTPUT REGISTER DATA (ORO-ORB) in an undefined state. sets INPUT REGISTER EMPTY (IRE) to high and resets OUTPUT DATA READY (ODR) to low. OUTPUT REGISTER DATA OROORB Three state data outputs. When OE is low, the outputs are in the high impedance state. When OE is high, these lines present the previous latched data in a first-in/first-out manner. OUTPUT DATA READY ODR ODR is high when data is latched and available at the data output lines. Is reset to low by the falling edge of OUTPUT STROBE (OS) if OUTPUT ENABLE (OE) is high. OUTPUT STROBE OS A falling edge of this signal resets the OUTPUT DATA READY (ODR) line and then shifts the data one step towards the output if OUTPUT ENABLE (OE) is high. INPUT ENABLE FR1502-00 -01 -02 IE When high, enables the Input Register and Input Control logic. When INPUT STROBE (IS) is high, the input data will be transferred into the FIFO. IS can then be used to latch the data. FR1502-10 -11 -12 IE When high, enables the Input Control Logic. At any state of IE or IS, the input data will be transferred into the FIFO, but can not be latched unless IE is high. B OUTPUT ENABLE OE When low, OE puts the output lines (ORO-ORB) in high impedance state. When high, the output lines present the output data. 1 Vss POWER SUPPLY Vss +5VDC 21 Voo POWER SUPPLY Voo OVolt-GND 9 VGG POWER SUPPLY VGG -12VDC 20 22 FR1502-00 -01 -02 24 19-11 10 7 23 56 ____ F 00'$;0' \'--- IRE }ORO- NEW DATA OR8 OUTPUT DETAIL as ODR NOTE: FA1502-10, 11, 12 SHOWN FR15D2-00, 01, 02 STROBES ON FALLING EDGE OF 15 SWITCHING WAVE FORMS 57 ABSOLUTE MAXIMUM RATINGS VGG Supply Voltage +O.3V to -20V VOO Supply Voltage +O.3V to -20V Clock Input Voltage' Logic Input Voltage' +O.3V to -20V +O.3V to -20V Logic Output Voltage' +O.3V to -20V Storage Temperature (Ceramic) Storage Temperature (Plastic) -55'C to +125'C 'VGG = VOO = OV NOTE: These voltages are measured with respect to VSS (Substrate) ELECTRICAL CHARACTERISTICS (Vss ~ +5V ± 5%; VDD SYMBOL ~ OV; VGG ~-12V ± 5%; TA ~ O°C to +70'C unless otherwise specified) PARAMETER MIN Vss-l.5V VOL INPUT LOGIC LEVELS Low-level Input Voltage High-level Input Voltage OUTPUT LOGIC LEVELS Low-level Output Voltage VOH High-level Output Voltage VSS-l.0V Vil VIH MAX CONDITIONS O.BV Vss ~ 4.75V (NOTE 1) (NOTE 2) Vss ~ 5.25V IOl ~ -1.6mA OAV Vss IOH ISS INPUT CURRENT Low-level Input Current (each pin) SUBSTRATE SUPPLY CURRENT IGG GATE SUPPLY CURRENT III ~ ~ 4.75V +200 uA VSS ~ 5.25V VIN ~ OAV ~ 5.25V VGG ~ -12.6V VIN ~ OAV -1.6mA 65 mA VSS -30mA NOTE 1: All inputs have pull-up resistors. This allows unloaded TTL outputs 01 2.0V to be connected and operate properly. When connected, this voltage (2.0V) will become V SS -1.5V. NOTE 2: VOL and VO H when OE ~ V IH (low impedance output). High impedance (OE ~ V III 58 = 10 Mohm. SWITCHING CHARACTERISTICS (Vss See "Switching Waveforms" = +5V, VDD = OV, VGG = -12V, TA = O°C to +70'C, CLOAD = 10 pf) SYMBOL PARAMETER MIN MAX TIES Input Enable Setup Time TIEH T OIS Input Enable Hold Time Data Input Setup Time o ns o ns o ns TOIH Data Input Hold Time 250 ns TIRL Input Register Load Time 250 ns TIRE TISL T ISH Input Register Empty Time 800 ns TOES Output Enable Setup Time TOEH Output Enable Hold Time 50 ns TOSL Output Strobe Low Time 150 ns Input Strobe Low Time Input Strobe High Time CONDITIONS ....... 450 ns 150 ns 50 ns (NOTE 1) TO DR Output Data Ready Time 200 ns TOR Data Reset Time 600 ns TpO Output Propagation Delay Time 250 ns TOORL Output Data Ready Low 600 ns TOSH Output Strobe High Time TOOV Output Data Valid Time TR Maximum Ripple Time 10 flS (NOTE 2) TB Maximum Bubble Time 25 flS (NOTE 3) TMR Master Reset Pulse Time 500 ns Maximum Data Rate 250 kHz 1 MHz (NOTE 4) '0 500 ns 200 ns NOTE1:T r ise= Ttall = IOnS. NOTE 2: Ripple Time-time required for a single data character to propagate from the input to the output of an empty FIFO (IS strobing edge to ODR rising edge). NOTE 3: Bubble Time- time required for a "hole·' to propagate from the output to the input of a full FIFO (falling edge of OS to rising edge of IRE). NOTE 4: The maximum data rates for a "single" FIFO (not cascaded) and for FIFO's cascaded together are the same. GENERAL NOTE: All A.C. test points are at 0.8V or 2.0V. 59 ORDERING INFORMATION TA = O°C to +70°C PART NO. PACKAGE TYPE CASCADABLE FR1S02E-00 F-OO CERAMIC PLASTIC NO NO E-01 F-01 CERAMIC PLASTIC NO NO E-02 F-02 CERAMIC PLASTIC E-10 F-10 CERAMIC PLASTIC NO NO YES E-11 F-11 CERAMIC PLASTIC CERAMIC PLASTIC E-12 F-12 INPUT STROBE EDGE MAX. DATA RATE FALLING 1.0 MHz 1.0 MHz FALLING FALLING FALLING FALLING FALLING RISING SOO kHz SOO kHz 2S0 kHz 2S0 kHz 1.0 MHz YES RISING 1.0 MHz YES YES RISING RISING YES YES RISING RISING 500 kHz SOO kHz 2S0 kHz EXPANSION EXAMPLE 60 2S0 kHz_ FR1502F PLASTIC PACKAGE FR1502E CERAMIC PACKAGE Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents orother rights of third parties which may result from it8use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Carpor· ation reserves the right to change said circuitry at any time without notice. WESTERN DIGITAL CORPORATION 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550, TWX 910-595-1139 61 62 WESTERN DIGITAL p o c R o R A T / o N WD5869 Dynamic Shift Register 'mMi B M®&,fY FEATURES o o ii B ··"""'WI6,· .AI'k &4' .. i 4 gs...! GENERAL DESCRIPTION The WD5869 Dual 640 Bit Dynamic Shift Register is a monolithic MOS integrated circuit designed for use in computer display peripherals. The clocks and recirculate logic are internal to reduce system component count, and 3 state output buffers provide bus interface. The WD5869 is available in a 16 pin molded plastic package, or a 16 pin ceramic package. DUAL 640 BIT ADDITIONAL TAPS AT 512 ON EACH REGISTER INTERNAL CLOCKING HIGH SPEED 3 STATE OUTPUT BUFFER APPLICATIONS CRT DISPLAYS COMPUTER PERIPHERALS CRYPTOGRAPHY ~ ~ Figure 2 WD5869 TYPICAL APPLICATION BLOCK DIAGRAM 63 SPECIFICATIONS ABSOLUTE MAXIMUM RATINGS Data and Clock Input Voltage and Supply Voltages with respect to VSS +0.3V to -20V Power Dissipation 800mW at TA Storage Temperature -SS'C to + 12S'C (Plastic Package) -65'C to + 150'C (Ceramic Package) = 2S'C ELECTRICAL CHARACTERISTICS (DC) TA = O°C to + 50'C, Vss = +5V ± 5%, Voo = -5V + 5%, VGG = -12V ± 5% SYMBOL 100 PARAMETER MIN MAX POWER SUPPLY CURRENT -SO UNITS CONDITIONS rnA DATA INPUT LEVELS V,l Logical Low Level VsS-17.9 Vss-4.2 V,H Logical High Level VSS-1.7 VsS+0.3 V V I,l DATA INPUT LEAKAGE 10 jJ.A Cd; DATA INPUT CAPACITANCE 10 pi V,N = -5V; All other Pins GND V,N = OV; I = 1MHZ, All other Pins GND CLOCK INPUT LEVELS VOH Logical High Level VSS-1.0 VsS+0.3 V VOL Logical Low Level VSS-17.9 VSS-14.S V lel CLOCK INPUT LEAKAGE 10 jJ.A Vo = -17.9V; All other Pins GND Cc ; CLOCK INPUT CAPACITANCE 200 pi Vo = OV; 1= 1MHZ, All other Pins GND V I Source = - 50mA VSS-O.4 V I Sink = 1.6 rnA DATA OUTPUT LEVELS VOH Logical High Level VOL Logical Low Level 2.4 TABLE 1 D.C. PARAMETERS 64 VMBOL MIN PARAMETER CLOCK FREQUENCY JW in CLOCK PULSE WIDTH, In MAX 10 2000 0.15 1.0 1 1 CONDITIONS UNITS KHz illr ~ ¢If ~ 20 ns uS 01f + 0pw + 01r '" 3.0 uS pw oul CLOCK PULSE WIDTH, Out 0pw in d CLOCK PHASE DELAY TIME, from rising edge 10 ns d CLOCK PHASE DELAY TIME, from falling edge 10 ns tr CLOCK TRANSITION TIME, rising edge 1.0 us 0tf + 0pw + ¢tr ;tf CLOCK TRANSITION TIME, falling edge 1.0 us ds DATA INPUT SET-UP TIME 80 ns dh DATA INPUT HOLD TIME 40 ns pdl DATA OUTPUT PROPAGATION DELAY, to low level 200 ns pdh DATA OUTPUT PROPAGATION DELAY, to high level 200 ns TABLE 2 A.C. PARAMETERS DATA INPUT/ LOAD INPUT 0" V55 -1'OV CLOCK Vss-14.5V Opw in Vss - 1.0V CLOCK '""~ ~{ DATA OUTPUT 1.5V 1.5V Figure 3 WD5869 TIMING DIAGRAM 65 '" 3.0 uS WD5869J CERAMIC PACKAGE WD5869K PLASTIC PACKAGE Information I1Jmlshed by Westem Digital Corporation Is believed to be accurate and reliable. However, no responsibility Is assumed by Westem DIgHal Corporation lor Its use; nor any Infringements 01 patents or other rights 01 third parties which may resuH lrom Its use. No license Is granted by Implication or otherwise uncler any patent or patent rights of Western Dlg"al Corporation. Western Dlg"al Corporation reserves the right to change said circuitry at anytime without notice. WESTERN DISITAL CORPORATION 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 66 WESTERN DIGITAl. c o R P 0 R A T o N UC1671 Asynchronous/Synchronous Receiver/Transmitter o CD en BAUD RATE - DC TO 1M BAUD/SEC 8 SELECTABLE CLOCK RATES W • Accepts 1X Clock and Up to 4 Different 32X ~ Baud Rate Clock Inputs .., • Up to 47% Distortion Allowance with 32X Clock ... FEATURES SYNCHRONOUS AND ASYNCHRONOUS • Full Duplex Operations SYNCHRONOUS MODE • Selectable 5·8 Bit Characters • Two Successive SYN Characters Sets Synchronization • Programmable SYN and DLE Character Stripping o Programmable SYN and DLE·SYN Fill ASYNCHRONOUS MODE • Selectable 5·8 Bit Characters • Line Break Detection and Generation o 1·,1'/2·, or 2·Stop Bit Selection o False Start Bit Detection Automatic Serial Echo Mode APPLICATIONS SYNCHRONOUS COMMUNICATIONS ASYNCHRONOUS COMMUNICATIONS SERIAL/PARALLEL COMMUNICATIONS GENERAL DESCRIPTION The UC1671 B (ASTRO) is a MOS/LSI device which performs the functions of interfacing a serial data communication channel to a parallel digital sys· tem. The device is capable of full duplex com· munications (receiving and transmitting) with synchronous or asynchronous systems. The ASTRO is designed to operate on a multiplexed bus with other bus·oriented devices. Its operation is programmed by a processor or controller via the bus and all parallel data transfers with these machines are accomplished over the bus lines. SYSTEM COMPATIBILITY o Double Buffering of Data • 8·Bit Bi·Directional Bus For Data, Status, and Control Words o All Inputs and Outputs TTL Compatible • Up to 32 ASTROS Can Be Addressed On Bus o On·Line Diagnostic Capability The ASTRO is fabricated in n·channel silicon gate MOS technology and is TTL compatible on all inputs and outputs. TRANSMISSION ERROR DETECTlON·PARITY Overrun and Framing Lr----lr.----,~ ~ CARR ~ 5TR iffiI m m ""i'Ni"R R'iiL'¥ I~ I"iff! Voo Vss ' .. _ UC1671 BLOCK DIAGRAM 67 WI' >l '-r-r-1r-r-,..--Ir--" Iii 19 I~ @Ie PIN OUTS The device is packaged in a 40-pin plastic or ceramic cavity package. The interface signals are defined below with all input/output signals complemented to facilitate bussing and interfacing with TTL. The PIN NUMBER PIN NAME SYMBOL 1 21 40 20 POWER SUPPLIES 23 MASTER RESET VBB VCC VDD VSS MR DATA ACCESS LINES DALO-DAL7 8-15 17,22,24, SELECT CODE 25,26 107-103 - 3 CHIP SELECT CS 39 READ ENABLE RE 4 WRITE ENABLE 7 INTERRUPT 2 INTERRUPT ACKNOWLEDGE IN 5 INTERRUPT ACKNOWLEDGE OUT 6 REPLY 30-33 37 Data Set controls and Status signals are also complemented to allow for an inversion when converting to EIA RS232C levels. The names and symbols assigned to the Data Set interface signals follOWS EIA standard nomenclature. - IACKO CLOCK RATES Rl-R4 TRANSMITTED DATA TDATA (BA) FUNCTION -5V +5V + 12V Ground The Control and Status Registers and other controls are cleared when this input is low. Eight-bit bi-directional bus used for transfer of data, control, status, and address information. Five input pins which when hard-wired assign the device a unique identification code used to select the device when addressing and used as an identification when responding to interrupts. The low logic transition of CS identifies a valid address on the DAL bus during Read and Write operations. This signal, when low, gates the contents of an addressed register from a selected ASTRO onto the DAL. This signal, when low, gates the contents of the DAL bus into the addressed register of a selected ASTRO. This open drain output is made low when one of the communication interrupt conditions occur. This input becomes low when polling takes place on the bus by the Controller to determine the interrupting source. When this signal is received, the ASTRO places its ID code on the DAL if it is requesting interrupt, otherwise it makes IACKO a low. This output is made a logic low in response to a low IACKI if the ASTRO receiving an IACKI input is not the interrupting device. This open drain output is made low when the ASTRO is responding to being selected by an address on the DAL during read or write operations or in affirming that it is the interrupting source during interrupt polling. These four inputs accept four different local 32X data rate Transmit and Receive clocks. The input on R4 may be divided down into a 32X clock from a 32X, 64X, 128X, or 256X clock input. The clock used in the ASTRO is selected by the Control Register. This output is the transmitted serial data from the ASTRO. This output is held in a Marking condition when the transmitter section is not enabled. 68 PIN NUMBER PIN NAME SYMBOL FUNCTION 27 RECEIVED DATA RDATA (BB) This input receives serial data into the ASTRa. 38 REQUEST TO SEND RTS (CA) 36 CLEAR TO SEND 28 DATA SET READY CTS (CB) DSR (CG) 16 DATA TERMINAL READY DTR (CD) RING INDICATOR RING (CE) This output is enabled by the Control Register and remains in a low state during transmitted data from the ASTRa. This input, when low, enables the transmitter section of the ASTRa. This input generates an interrupt when going On or Off while the Data Terminal Ready signal is On. It appears as a bit in the Status Register. This output is generated by a bit in the Control Register and indicates Controller readiness. This input from the Data Set generates an interrupt when made low with Data Terminal Ready in the "Off" condition. This input from the Data Set generates an interrupt when going On or Off if Data Terminal Ready is On. It appears as a bit in the Status Register. This input is the Transmitter 1X Data Rate Clock. Its use is selected by the Control Register. The transmitted data changes on the negative transition of this signal. This input is the Receiver 1X Data Rate Clock. Its use is selected by the Control Register. The Received Data is sampled by the ASTRa on the positive transition of this signal. This output is controlled by a bit in the Control Register and is used as an extra programmable signal. 18 29 CARRIER DETECTOR CARR (CF) 35 TRANSMITTER TIMING IXTC (DB) 34 RECEIVER TIMING IXRC (DD) 19 MISCELLANEOUS MISC -- RECEIVER REGISTER - This 8·bit shift register inputs the received data at a clock rate determined by the Control Register. The incoming data is assembled to the selected character length and then transferred to the Receiver Holding Register with logic zeroes filling out any unused high-order bit positions. RECEIVER HOLDING REGISTER - This 8-bit parallel buffer register presents assembled receiver characters to the DAL bus lines when requested through a Read operation. COMPARATOR - The 8-bit comparator is used in the Synchronous mode to compare the assembled contents of the Receiver Register and the SYN register or DLE register. A match between the registers sets up stripping of the received character, when programmed, by preventing the data from being loaded into the Receiver Holding Register. A bit in the Status Register is set when stripping is performed. The comparator output also enables character synchronization of the Receiver on two successive matches with the SYN register_ 69 SYN REGISTER - This 8-bit register is loaded from the DAL lines by a Write operation and holds the synchronization code used to establish receiver character synchronization. It serves as a fill character when no new data is available in the Transmitter Holding Register during transmission. This register cannot be read onto the DAL lines. It must be loaded with logic zeroes in all unused high-order bits. OLE REGISTER - This 8-bit register is loaded from the DAL lines by a Write operation and holds the "DLE" character used in the Transparent mode of operation in which an idle transmit period is filled with the combination DLE-SYN pair of characters rather than a single SYN character. In addition the ASTRO may be programmed to force a single DLE character prior to any data character transmission while in the transmitter transparent mode. TRANSMITTER HOLDING REGISTER - This 8-bit parallel buffer register holds parallel transmitted data transferred from the DAL lines by a Write operation. This data is transferred to the Transmitter Register when the transmitter section is enabled and the Transmitter Register is ready to send new data. TRANSMITTER REGISTER - This 8-blt shift register is loaded from the Transmitter Holding Register, SYN register, or DLE register. The purpose of this register is to serialize data and present it to the transmitted Data output. In the Asynchronous mode the character transmission occurs when information contained in the Transmitter Holding Register is transferred to the Transmitter Register. Transmission is initiated by the Insertion of a Start bit, followed by the serial output of the character least significant bit first with parity, if enabled, following the most significant bit; then the insertion of a 1-, 1.5-, or 2-bit length Stop condition. If the Transmitter Holding Register is full, the next character transmission starts after the transmission of the Stop bit of the present character in the Transmitter Register. Otherwise, the Mark (logic high) condition is continually transmitted until the Transmitter Holding Register Is loaded. In order to allow re-transmission of data received at a slightly faster character rate, means are provided for shortening the Stop bit length to allow transmission of characters to occur at the same rate as the reception of characters. The Stop bit is shortened by 1/16 of a oit period- for 1-Stop bit selection and 3/16 of a ;;it period for 1.5-, or 2-Stop bit selection, if the n' xt character is ready in the Transmitter Holding Register. CONTROL REGISTERS - There are two 8-bit Control Registers which hold device programming signals such as mode selection, clock selection, interface signal control, and data format. Each of the Control Registers can be loaded from the DAL lines by a Write operation or read onto the DAL lines by a Read operation. The registers are cleared by a Master Reset. STATUS REGISTER - This 8-bit register holds information on communication errors, interface data register status, match character conditions, and communication equipment status. This register may be read onto the DAL lines by a Read operation. DATA ACCESS LINES - The DAL Is an 8-bit bidirectional bus port over which all address, data, control, and status transfers occur. In addition to transferring data and control words the DAL lines also transfer Information related to addressing of the device, reading and writing requests, and interrupting information. SYNCHRONOUS MODE Framing of characters Is carried out by a special Synchronization Character Code (SYN) transmitted at the beginning of a block of characters. The Receiver, when enabled, searches for two continuous characters matching the bit pattern contained in the SYN register. During the time the Receiver is searching, data is not transferred to the Receiver Holding Register, status bits are not updated, and the Receiver interrupt is not activated. After the detection of the first SYN character, the Receiver assembles subsequent bits into characters whose length is determined by contents of the Control Register. If, after the first SYN character detection, a second SYN character is present, the Receiver enters the Synchronization mode until the Receiver Enable Bit is turned off. If a second successive SYN character is not found, the Receiver reverts back to the Search mode. In the Synchronous mode a continuous stream of characters are transmitted once the Transmitter is enabled. If the Transmitter Holding Register is not loaded at the time the Transmitter Register has completed transmission of a character, this idle time will be filled by a transmission of the character contained in the SYN register in the Nontransparent mode, or the characters contained in the DLE and SYN registers respectively while in the Transparent mode of operation. ASTRO OPERATION ASYNCHRONOUS MODE Framing of asynchronous characters is provided by a Start bit (logic low) at the beginning of a character and a Stop bit (logic high) at the end of a character. Reception of a character is initiated on recognition of the first Start bit by a positive transition of the receiver cloc'k, after a preceding Stop bit. The Start and Stop bits are stripped off while assembling the serial input into a parallel character. The character assembly is completed by the reception of the Stop bit after reception of the last character bit. If this bit is a logic high, the character is determined to have correct framing and the ASTRO is prepared to receive the next character. If the Stop bit is a logic low the Framing Error Status flag Is set and the Receiver assumes this bit to be the Start bit of the next character. Character assembly continues from this point If the Input is still a logic low when sampled at the theoretical center of the assumed Start bit. As long as the Receive input is spacing, all zero characters are assembled and error flags and data received interrupts are generated so that line breaks can be determined. After a character of all zeroes is assembled along with a zero In the Stop bit location, the first received logic high is determined as a Stop bit and this resets the Receiver circuit to a Ready state for assembly of the next character. DETAILED OPERATION Receiver - The Receiver Data input is clocked into the Receiver Register by a lX Receiver Clock 70 input is a logic low. Information is normally transferred from the Transmitter Holding Register to the Transmitter Register when the latter has completed transmission of a character. However, information in the OLE register may be transferred prior to the information contained in the Transmitter Holding Register if the Force OLE signal condition is enabled (Bits 5 = Force OLE and 6 = TX Transparent of Control Register 1 set to a logic one). The control bit CR15 must be set prior to loading of a new character in the transmitter hold· ing register to insure forcing the OLE character prior to transmission of the data character. The Transmitter Register output passes through a flipflop which delays the output by one clock period. When using the 1X clock generated by the Modem Data Set, the output data changes state on the negative clock transition and the delay is one bit period. When using a local 32X clock the transmitter section selects one of the four selected rate inputs and divides the clock down to the baud rate. This clock is phased to the Transmitter Holding Register empty flag such that transmission of characters occurs within two clock times of the loading of the Transmitter Holding Register when the Transmitter Register is empty. When the Transmitter is enabled, a Transmitter interrupt is generated each time the Transmitter Holding Register is empty. If the Transmitter Holding Register is empty when the Transmitter Register is ready for a new character the Transmitter enters an idle state. During this idle time a logic high will be presented to the Transmitted Data output in the Asynchronous mode or the contents of the SYN register will be presented in the Synchronous Non-transparent mode (CR16 =0). In the Synchronous Transmit Transparent mode (enabled by Bit 6 of Control Register 1 = Logic 1), the idle state will be filled by a OLE· SYN character transmission in that order. When entering the Transparent mode the DLE·SYN fill will not occur until the first forced OLE. If the Transmitter section is disabled by a reset of the Request to Send, any partially transmitted character is completed before the transmitter section of the ASTRO is disabled. As soon as the CTS goes high the transmitted data output will go high. When the Transmit parity is enabled, the selected Odd or Even parity bit is inserted into the last bit of the character in place of the last bit of the Transmitted Register. This limits transfer of character information to a maximum of seven bits plus parity or eight bits without parity. Parity cannot be enabled in the Synchronous Transparency mode. from a modem Data Set, or by a local 32X bit rate clock selected from one of four externally supplied clock inputs. When using the 1X clock, the Receiver Data is sampled on the positive transition of the clock in both the Asynchronous and Synchronous modes. When using a 32X clock in the Asynchronous mode, the Receive Sampling Clock Is phased to the Mark-To-Space transition of the Received Data Start bit and defines, through clock counts, the center of each received Data bit within + 0%, - 3% at the positive transition 16 clock periods later. In the Synchronous mode the Sampling Clock is phased to all Mark-To-Space transitions of the Received Data inputs when using a 32X clock. Each transition of the data causes an incremental correction of the Sampling Clock by 1/32nd of a bit period_ The Sampling Clock can be immediately phased to every Mark-To-Space Data transition by setting Bit 4 of Control Register 1 to a logic high, while the Receiver is disabled. When the complete character has been shifted Into the Receiver Register it is then transferred to the Receiver Holding Register; the unused, higher number bits are filled with zeroes. At this time the Receiver Status bits (Framing Error/Sync Detect, Parity Error/OLE Detect, Overrun Error, and Data Received) are updated in the Status Register and the Data Received interrupt is activated_ Parity Error is set, if encountered while the Receiver parity check is enabled in the Control Register. Overrun Error Is set if the Data Received status bit Is not cleared through a Read operation by an external device when a new character is ready to be transferred to the Receiver Holding Register. This error flag indicates that a character has been lost, as new data Is lost and the old data and Its status flags are saved. The characters assembled in the Receiver Register that match the contents of the SYN or OLE register are not loaded into the Receiver Holding Register, and the DR interrupt is not generated, if Bit 3 of Control Register 2 (CR23 = SYN Strip) or Bit 4 of Control Register 1 (CR14 = OLE Strip) are set respectively, the SYN-DET and OLE· DET status bits are set with the next non SYN or OLE character. When both CR23 and CR14 are set (Transparent mode), the DLE-SYN combination is stripped. The SYN comparison occurs only with the character received after the OLE character. If two successive OLE characters are received only the first OLE character is stripped. No parity check is made while in this mode. Transmitter - I nformation is transferred to the Transmitter Holding Register by a Write operation. Information can be loaded into this register at any time, even when the Transmitter is not enabled. Transmission of data is initiated only when the Request To Send bit is set to a logiC one In the Control Register and the Clear To send DEVICE PROGRAMMING The two 8-bit Control Registers of the ASTRO determine the operative conditions of the ASTRO chip. Control Register 1 is shown in the following table. 71 CONTROL REGISTER 1 Control Register 1 Bit 7 - A logic 0 configures the ASTRO into an Internal Data and Control Loop mode and disables the Ring interrupt. In this diagnostic mode the following loops are connected internally: a. The Transmit Data is connected to the Receive Data with the TD pin held in a Mark condition and the input to the RD pin disregarded. b. With a 1X clock selected, the Transmitter Clock also becomes the Receive Clock. c. The Data Terminal Ready (5fR) Control bit is connected to the Data Set Ready (DSR) input, with the DTR output in held in an Off condition (logic high), and the DSR input pin is disregarded. d. The Request to Send Control bit is connected to the Clear To Send (CTS) and Carrier Detector inputs, with the RTS output pin held in an Off condition (logic high), and the CTS and Carrier Detector input pins are disregarded. e. The Miscellaneous pin is held in an Off (logic high) condition. A logic 1 on Bit 7 enables the Ring interrupt and returns the ASTRO to the normal full duplex configuration. Bit 6 - In the Asychronous mode a logic 1 holds the Transmitted Data output in a Spacing (Logic 0) condition, starting at the end of any current transmitted character, when the Transmitter is enabled. Normal Transmitter timing continues so that this Break condition can be timed out after the loading of new Gharacters into the Transmitter Holding Register. , In the Synchronous mode a logic 1 sets the TransI mitter in a transparent transmission which implies : that idle transmitter time will be filled by DLE·SYN i character transmission and a DLE can be forced i ahead of any character in the Transmitter Holding Register when CR15 is a logic one in the sync mode. Bit 5 - In the Asynchronous mode a logic 1, with the Transmitter enabled, causes a single Stop bit to be transmitted. A logic 0 causes 2·Stop bit transmission for character lengths of 6,7, or 8 bits and one·and·a·half Stop bits for a character length of 5 bits. With the Transmitter disabled this bit controls the Miscellaneous output on Pin 19, which may be used for Make Busy on 103 Data Sets, Secondary Transmit on 202 Data Sets, or dialing on CBS Data Couplers. In the Synchronous mode a logic 1 combined with a logic 0 on Bit 6 of Control Register 1 enables Transmit parity; if CR15=0 or CR15= 1 no parity is generated. When set to a logic 1 with Bit 6 also a logic 1, the contents of the DLE register are transmitted prior to the next character loaded in the Transmitter Holding Register as part of the Transmit Transparent mode. Bit 4 - In the Asynchronous mode a logic 1 enables the Automatic Echo mode when the receiver section is enabled. In this mode the clocked regenerated data is presented to the Transmit Data output in place of normal transmis· sion through the Transmitter Register. This serial method of echoing does not present any abnormal restrictions on the transmit speed of the terminal. Only the first character of a Break condition of all zeroes (null character) is echoed when a Line Break condition is detected. For all subsequent null characters, with logic zero Stop bits, a steady Marking condition is transmitted until normal character reception resumes. Echoing does not start until a character has been received and the Transmitter is idle. The Transmitter does not have to be enabled during the Echo mode. In the Synchronous mode a logic 1, with the Receiver enabled. does not allow assembled 72 Receiver data matching the DLE register contents to be transferred to the Receiver Holding Register; also, parity checking is disabled. When the Receiver is not enabled this bit controls the Miscellaneous output on Pin 19, which may be used for New Sync on a 201 Data Set. When operating with a 32X clock and a disabled Receiver a logic 1 on this bit also causes the Receiver timing to synchronize on Mark-To-Space transitions. Bit 3 - In the Asynchronous mode a logic 1 enables check of parity on received characters and generation of parity for transmitted characters. In the Synchronous mode a logic 1 bit enables check of parity on received characters only. Note: Transmitter parity enable is controlled by CR15. Bit 2 - A logic 1 enables the ASTRO to receive data into the Receiver Holding Register, update Receiver Status Bits 1,2, 3, and 4, and to generate Data Received interrupts. A logic 0 disables the Receiver and clears the Receiver Status bits. Bit 1 - Controls the Request To Send output on Pin 38 to control the CA circuit of the Data Set. The RTS output is inverted from the state of CR11. A logic 1 combined with a low logic Clear To Send input enables the Transmitter and allows THRE interrupts to be generated. A logic 0 disables the Transmitter and turns off the external Request To Send signal. Any character in the Transmitter Register will be completely transmitted before the Transmitter is turned off. The Request To Send output may be used for other functions such as "Make Busy" on 103 Data Sets. Bit 0 - Controls the :D-a~ta~T-e-rm~in-a""I·R-e""'a"-d·y output on Pin 16 to control the CD circuit of the Data Set. A logic 1 enables the Carrier and Data Set Ready interrupts. A logic 0 ena~ only the telephone line Ring interrupt. The DTR output is inverted from the state of CRlO. Control Register 2 Control Register 2, unlike Control Register 1, cannot be changed at any time. This register should be changed only while both the receiver and trans· mitter sections of the ASTRO are in the idle state. Bits 7·6- These bits select the character length as follows: Bits 7·6 Character Length 00 8 bits 01 7 bits 10 6 bits 11 5 bits When parity is enabled it must be considered as a bit when making character length selection, i.e. 5 character bits plus parity = 6 bits. Bit 5 - A logic 1 selects the Synchronous Character mode. A logic 0 selects the Asynchronous Character mode. Bit 4 - A logic 1 selects odd parity and a logic 0 selects even parity, when parity is enabled by CR13 and/or CR15. Bit 3 - In the Asynchronous mode a logic 0 selects the rate 1-32X clock input (pin 30) as the Receiver Clock rate and a logic 1 selects the same clock rate for the Receiver as selected by Bits 2-0 for the Transmitter. This bit must be a logic 1 for the IX clock selection by Bits 2-D. In the SynChronous mode a logic 1 causes all DLESYN combination characters in the Transparent mode when DLE strip CR14 is a logic 1. or all SYN characters in the Non·transparent mode to be stripped and no Data Received interrupt to be generated. I he SYN Detect status bit is set with reception of the next assembled character as it is transferred to the Receiver Holding Register. Bits 2·0 - These bits select the Transmit and Receive clocks. The Input Clock to the Rate 4 pin may be divided down to form the 32X clock from a multiple clock as shown: Bits 2·0 Clock 000 001 IX clock for Transmit and Receive (Pins 35 and 34 respectively) 32X clock - Rate 1 input (Pin 30) 010 32X clock - 011 32X clock - Rate 3 input (Pin 32) 100 32X clock - Rate 4 input 101 32X clock 32X clock 32X clock - Rate 4 input ~ 2 (Pin 33) Rate 4 input _ 4 (pin 33) Rate 4 input ~ 8 (pIn 33) 110 111 CONTROL REGISTER 2 73 Rate 2 input (Pin 31) ~ 1 (Pin 33) Status Register The data contained in the Status Register define Receiver and Transmitter data conditions and status of the Data Set. The Status word is shown and defined below. Bit 7 - This bit is set to a logic 1 whenever there is a change in state of the Data Set Ready or Car· rier Detector inputs while Data Terminal Ready IBg 0 {f Control Registe~ 1) is a logic 1 or the.~ n Ica or is turned on, with DTR a logic O. ThiS bit is cleared when the Status Register is read onto the Data Access Lines. Bit 6 - This bit is the logic complement of the Data Set Ready input on Pin 28. With 202·type Data Sets it can be used for Secondary Receive. Bit 5 - This bit is the logic complement of the Carrier Detector input on Pin 29. Bit 4 - In the Asynchronous mode a logic 1 indio cates that received data contained a log 0 bit after the last data bit of the character in the stop bit slot while the Receiver was enabled. This indio cat~s a Framing error. This bit is set to a logic 0 if the proper logic 1 condition for the Stop bit was detected. In the Synchronous mode a logic 1 indicates that the contents of the Receiver Register matched the contents of the SYN Register. The condition of this bit remains for a full character assembly time. If SYN strip (CR23) is enabled this status bit is updated with the character received after the SYN character. In both modes the bit is cleared when the Receiver is disabled. Bit 3 - When the OLE Strip is enabled (Bit 4 of Control Register 1) the Receiver parity check is disabled and this bit is set to a logic 1 if the pre· vious character to the presently assembled char· acter matched the contents of the DLE register; otherwise it is cleared. The DLE DET remains for one character time and is rest on the next char· acter transfer or on a Status Register Read. If DLE Strip is not enabled this bit is set to a logic 1 when the Receiver is enabled, Receiver parity (Bit 3 of Control Register 1) is also enabled, and the last received character has a Parity error. A logic 0 on this bit indicates correct parity. This bit is cleared in either of the above modes when the Receiver is disabled. Bit 2 - A logic 1 indicates an Overrun error which occurs if the previous character in the Receiver Holding Register has not been read and Data Received is not reset, at the time a new character is to be transferred to the Receiver Holding Register. This bit is cleared when no Overrun condition is detected, i.e., the next character transfer time or when the Receiver is disabled. Blt1 - A logic 1 indicates that the Receiver Hold· ing Register is loaded from the Receiver Register, if the Receiver is enabled. It is cleared to a logic 0 when the Receiver Holding Register is read onto the Data Access Lines, or the Receiver is disabled. Bit 0 - A logic 1 indicates that the Transmitter Holding Register does not contain a character while the Transmitter is enabled. It is set to a logic 1 when the contents of the Transmitter Holding Register is transferred to the Transmitter Register. It is cleared to a 0 bit when the Trans· mitter Holding Register is loaded from the DAL, or when the Transmitter is disabled. INPUT/OUTPUT OPERATIONS All Data Control, and Status words are transferred over th~ Data Access Lines (DAL 0·7). Additional input lines provide controls for addressing a par· ticular unit, and regulating all input and outp~t operations. Other lines provide interrupt capabll· ity to indicate to a Controller that an input opera· tion is requested by the ASTRa. All input/output terminology below is referenced to the Controller so that a Read or Input takes data from the ASTRa and places it on tfle DAL lines, while a Write or Output places data from the DAL lines into the ASTRa. Read A Read Operation is initiated by the placement of an eight-bit address on the DAL by the Controller. When the Chip Select signal goes to a logic low state, the ASTRa compares Bits 7·3 of the DAL with its hard·wired ID code (Pins 17,22,24,25, and 26) and becomes selected on a Match condition. The ASTRa then sets its REPLY line low to ack· nowledge its readiness to transfer data. Bits 2·0 of the address are used to select ASTRa registers to read from as follows: Bits 2·0 Selected Register 000 Control Register 1 010 Control Register 2 100 Status Register 110 Receiver Holding Register When the Read Enable (RE) line is set to a logic low condition by the Controller the ASTRa gates STATUS REGISTER 74 4. Carrier Off - Indicates Carrier Detector input goes high when DTR is on. the contents of the addressed register onto the OAL. The Read operation terminates, and the devices becomes unselected, when both the Chip Select and Read Enable return to a logic high con· dition. Reading of the Receiver Holding Register clears the DR Status bit. Bit 0 must be a logic low in read or write operations. Write A Write operation is initiated by the placement of an eight·bit address or the OAL by the Controller. The ASTRa compares Bits 7·3 of the DAL with its 10 code when the Chip Select input goes to a logic low state. If a Match condition exists, the device is selected and makes it RPLY line low to ack· nowledge its readiness to transfer data. Bits 2·0 of the address are used to select ASTRa registers to be written into as follows: Bits 2-0 000 010 100 110 5. DSR On - Indicates the Data Set Ready input goes low when DTR is on. 6. DSR Off - I ndicates the Data Set Ready input goes high when DTR is on. 7. Ring On - Indicates the Ring Indicator input goes low when DTR is off. Each time an Interrupt condition exists the INTR output from the ASTRa is made a logic low. The following interrupt procedure is then carried out even if the interrupt condition is removed. The Controller acknowledges the Interrupt request by setting the Chip Select (CS) and the Interrupt Acknowledge Input (iACKl) to the ASTRO to a Low state. On this transition all noninterrupting devices receiving the IACKI set their Interrupt Acknowledge Output (IACKO) low, enabling lower priority daisy-chained devices to respond to the Interrupt request. The highest priority device that is interrupting will then set its RPL Y low. This device places its 10 code on Bit Positions 7-3 of the DAL when a low RE signal is received. In addition Bit 2 is set to a logic one if any of the interrupt numbers 1 and 3·7 above occurred, and remains a logic low if the THRE has caused the interrupt (see note). Selected Register Control Register 1 Control Register 2 SYN and OLE Register Transmitter Holding Register When the Write Enable (WE) line is set to a logic low condition by the Controller the ASTRa gates the data from the DAL into the addressed register. If data is written into the Transmitter Holding Register, the THRE Status bit is cleared to a logic zero. The 100 address loads both the SYN and OLE registers. After writing into the SYN register the device is conditioned to write into the OLE if followed by another Write pulse with the 100 address. Any intervening Read or Write operation with other addresses resets this condition such that the next 100 will address the SYN register. To reset the Interrupt condition (INTR) Chip Select (CS) and IACKI must be received.2Y the ASTRa. A setup time must exist between CS and the ~ or WE signals to allow chip selection prior to read/write operations and deselection control through the latter signals. The data is removed from the DAL when the RE signal returns to the logic high state. Interrupts The following conditions generate interrupts: MAXIMUM RATINGS 1. Data Received (DR) - Indicates transfer of a new character to the Receiver Holding Register while the Receiver is enabled. 2. Transmitter Holding Register Empty (THRE) Indicates that the THR register is empty while the Transmitter is enabled. The first interrupt occurs when the Transmitter becomes enabled if there is an empty THR, or after the character is transferred to the Transmitter Register making the THR empty. VDO With Respect to VBB (Ground) + 20 to - 0.3V Max Voltage To Any Input With Respect to VBB + 20 to - 0.3V Operating Temperature Storage Temperature 3. Carrier On - Indicates Carrier Detector input goes low when DTR is on. Power Dissipation O·C to 70 ·C Plastic -55°C to +125°C Ceramic -65°C to +150°C 1000 mW NOTE: The UC1671-1 places Data Received on DAL 1 and THRE on DALOduring interrupt servicing. The UC1671-0 places the DAL 1 and DALO into a Three State Mode during interrupt. 75 OPERATING CHARACTERISTICS TA = o'e to 70 'e, VDD = + 12.0V ± .6V, Vss = - 5.0 ± .25V, Vss = OV, Vee = + 5V ± .25V AC CHARACTERISTICS TA = o'e to 70 'e, VDD = + 120V ± 0.6V, Vss = - 5.0V ± 0.25V, Vee = + 5.0 ± .25V, Vss = OV eLMAX = 20 pi 76 ~--,.",-)-----X :.:;~~"h':::::::::~:::'~ ;;:,'.~:,~'::;:: "",0." v.' ......,_," '"."'. 'Q"'" , ... READ CYCLE TIMING DIAGRAM WRITE CYCLE TIMING DIAGRAM INTERRUPT SYMBOL CHARACTERISTIC TCSRE CS 10 IACKI Delay CS to RE Delay TCSREH CS and RE Overlap TRECS RE to CS TCSI MIN TYP MAX UNITS 0 250 ns 20 ns Spacing 250 ns Tpi IACKI Pu Ise Width 200 TIAD lACK I to Valid 10 Code Delay TRED TIARL TCSRLF CS to RPLY OFF Delay TIAIH IACKI ON to INTR OFF Delay ns ns 250 ns RE OFF to DAL Open Delay 160 ns lACK I to RPL Y Delay 250 ns 0 CONDITIONS 250 ns 300 ns IACKI to IACKO Delay 200 ns IACKO OFF Delay From CS OFF. RE OFF. or IACKI HIGH. 250 ns See Note 1. See Note 2. Note 1: If FIE goes low after IACKI goes low, the delay will be from the falling edge of RE. Note 2: IACKO goes false after the last one of the following three signals go false: CS, RE and lACK!. TIOFF is measured from the last signal going false. Note 1 INTERRUPT CYCLE TIMING DIAGRAM 77 DALO must be a logic high during CS to form an Interrupt Cycle Address during Daisy Chain Interrupt Response. RECEIVER SECTION 78 ASYNCHRONOUS SYNCHRONOUS TRANSMITTER SECTION 79 ~:. C::::Er:::::J UC1671A CERAMIC PACKAGE UC1671B PLASTIC PACKAGE Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights 01 third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said circuitry at any time without notice. WESTERN DIGITAL COR P (J R' A T ION 3128 REDHILL AVENUE,BOX 2180 CA 92663 (714) 557-3550, TWX 910-595-1139 1 NEWPORT BEACH, 80 WESTERN DIGITAl. p c o o R R A T o / N WD1931 Asynchronous/Synchronous Receiver/Transmitter FEATURES BAUD RATE - DC TO 1M BAUD/SEC 8 SELECTABLE CLOCK RATES o Accepts 1X Clock ad Up to Four Different 32X Baud Rate Clock Inputs .. Up to 47% Distortion Allowance with 32X Clock PINOUT COMPATIBLE TO SD1933 FOR MULTI PROTOCOL BOARD APPLICATIONS SYNCHRONOUS AND ASYNCHRONOUS o Full Duplex Operations SYNCHRONOUS MODE Selectable 5- to 8-Bit Characters It Two Successive SYN Characters Sets Synchronization • Programmable SYN and OLE Character Detection and Stripping o Programmable SYN and DLE-SYN Fill o Transparent BI-SYNC Operation It APPLICATIONS SYNCHRONOUS COMMUNICATIONS ASYNCHRONOUS COMMUNICATIONS SERIAL/PARALLEL COMMUNICATIONS ASYNCHRONOUS MODE • Selectable 5- to 8-Bit Characters " Line Break Detection and Generation " 1-, 1'/,-, or 2-Stop Bit Selection o False Start Bit Detection It Automatic Serial Echo Mode o Overrun and Framing Error Detection GENERAL DESCRIPTIONS The WD1931 is a MOS/LSI device which performs the functions of interfacing a serial data communications channel to a parallel digital system. Thisdevice is capable of full duplex communications with asynchronous and/or synchronous systems. Western Digital has made device pin assignments for the WD1931 to make it compatible with the WD1933 (Synchronous Data Link Controller). This pin out allows the user to implement a one-board multiprotocol design. For character-oriented asynchronous and/or synchronous (bi-sync) protocols, the WD1931 is used, and for bit-oriented SOLe, HDLC and ADCCP protocols the WD1933 is used (see WD1933 data sheet). SYSTEM COMPATIBILITY Double Buffering of Data o 8-Bit Bi-Directional Bus for Data, Status, and Control Words It All Inputs and Outputs TTL Compatible o Chip Select, RE, WE, AO, A1 Interface to CPU .. On-Line Diagnostic Capability • Data Set, Carrier Detect, and Ring Interrupts G vee 1'5) CAR5 H4 R3 R2 iX'i'C RSCLK VDD ~'12V) A1 To I~ PIN CONNECTIONS I" I, 15 I~ WD1931 BLOCK DIAGRAM 81 Illl PIN NUMBER PIN NAME SYMBOL FUNCTION 1 - NC No connection; see Note 4. 2 - NC No internal connection. 3 READ ENABLE RE When this line is low the device, if selected, gates the contents of the addressed register on the DAL. 4 CHIP SELECT - The chip is selected when this signal is low. 5 MISCELLANEOUS OUT CS MISCOUT 6 INTERRUPT INTRQ' This output is made high when one of the interrupt conditions occurs. Reading the Status Register resets this signal. 7 WRITE ENABLE - - WE This output is controlled by Bit 5 of Control Register 1 when in the Asynchronous mode and by Bit 4 when in the Synchronous mode. (See Note 1.) When this line is low the device, if selected, accepts the data on the DAL and gates it into the addressed register. DATA ADDRESS LINES DALO-DAL7 Eight-bit Bi-directional bus for transfer of data, control and status information. Active low. 16 MASTER RESET MR The Control and Status Registers and other controls are cleared when this input is low. 17 DATA TERMINAL READY DTR This output is controlled by Bit 0 of Control Register 1 and is intended to control Circuit CD of the data set. 18 DATA REQUEST OUT DRQO' This output is made high when the THR is empty while the transmitter is enabled. Loading the THR resets this signal. 19 DATA REQUEST IN DRQI' This output is made high when the RHR is full while the receiver is enabled. Reading the RHR resets this signal. 20 POWER SUPPL Y VSS Ground 21 - NC No internal connection. 22 ADDRESS 0 AO This input is the low-order address bit for register selection. 23 ADDRESS 1 Ai" This input is the high-order address bit for register selection, 8-15 24 POWER SUPPLY VDD +12V 25 TRANSMITTED DATA TD This output is the transmit serial data, This output is held in a MARKING condition when the transmitter is not enabled, It is intended to control Circuit BA of the data set. 26 RECEIVER TIMING lXRC This input is the receiver 1X clock, when used, It is intended to be derived from Circuit DC of the data set. The Received Data is sampled on the positive transition of this signal. 27 RECEIVED DATA RD This input is the receive serial data and is intended to be derived from Circuit BB of the data set. 82 PIN NUMBER PIN NAME SYMBOL FUNCTION 28 TRANSMITTER BYTE OUTPUT COMPLETE TBOC This output goes high after the last bit of a byte is transmitted including parity if enablap, and is valid for one bit period. See Note 2. 29 CLEAR TO SEND CTS This input enables the transmitter when low and is intended to be derived from Circuit CB of the data set. 30 RECEIVER CLOCK RSCLK This output goes high when the receiver data is sampled, and is valid for one clock period. See Note 2. 31 TRANSMITTER TIMING 1XTC This input is the transmitter 1X clock when used. It is intended to be derived from Circuit DB of the data set. The Transmitter changes on the negative transition of this signal. 32 REQUEST TO SEND RTS This output is controlled by Bit 1 of Control Register 1 and is intended to control Circuit CA of the dataset. If Bit 1 of Control Register 1 is reset during a transmission then RTS will go high on the falling edge of the transmitter clock that follows the last bit of the current transmission character. 33 DATA SET READY DSR This input appears as Status Bit 6 and generates interrupts when going on or off if DTR is on. It is intended to be derived from Circuit CC of the data· set. 34 RING INDICATOR RING This input generates an interrupt when made low with DTR off. It is intended to be derived from Circuit CE of the data set. RATES R1-R4 These four rate inputs are used for 32X-256X Local Transmit and Receive clocks. The rate is selected by the Control Register. (See Note 3.) 39 CARRIER DETECTOR CARD This input appears as Status Bit 5 and generates interrupts when going on or off if DTR is on. It is intended to be derived from Circuit CF of the daa set. 40 POWER SUPPLY VCC +5V 35-38 • THE WD1931 OUTPUTS, INTRa, ORal, and DROO ARE TRUE HIGH (TRUE~ Vo H) OUTPUTS. ON THE UC1671, THESE OUTPUTS ARE TRUE LOW (TRUE ~ VoLl AND OPEN DRAIN. NOTE 1: If the system design does not make use of MISC IN on theWD1933, the user may tie this to +12V without harm or degradation to theWD1933. This has the same effect as a logic high input. If the system design does make use of MISC IN, then provisions must be made to select +12V when the WD1931 is in the socket or MISC IN when theWD1933 is in the socket. This may be accomplished by a small switch or by jumpers. NOTE 2: The outputs TBOC and RSCLKon the WD1931 may be tied to ground or to +5 volts through a 10K pull-up without harm or degradation to the WD1931. NOTE 3: If R1-R4 are not selected by the command word in the WD1931, then anything may be on these inputs. If AT and CD are tied high on the WD1933, then the inputs (pins35-38) may have anything on them. When both the rate fields in the WD1931 and RI and CD on theWD1933 are used, the system designer must make provisions by an external switch or jumpers. NOTE 4: Pin 1 of the device must not be connected in any way to any signal, poweror ground line. This pin is the output of an internal Back Bias Generator, and is used for testing only. 83 ORGANIZATION Receiver Register. The WD1931 block diagram is illustrated on page 1. The primary sections include the control, buffer, status, receiver, transmitter, comparison and sync registers. This 8-bit shift register inputs the received data at a clock rate determined by the Control Register. This incoming data is assembled to the selected character length and then transferred to the Receiver Holding Register with logic zeroes filling out any unused high-order bit positions. Control Registers. There are two a-bit Control Registers which hold device programming signals such as mode selection, clock selection, interface signal control, and data format. Each of the Control Registers can be loaded from the DAL lines by a Write operation or read onto the DAL lines by a Read operation. The registers are cleared by a Master Reset. Receiver Holding Register. This a-bit parallel buffer register presents assembled receiver characters to the DAL bus lines when requested through a Read operation. Status Register. This a-bit register holds information on communication errors, interface data register status, match character conditions, and communication equipment status. This register may be read onto the DAL lines by a Read operation. OLE Register. This 8-bit register is loaded from the DAL lines by a Write operation and holds the OLE character used in the Transparent mode of operation in which an idle transmit period is filled with the combination DLESYN pair of characters rather than a single SYN character. I n addition the WD1931 may be programmed to force a single OLE character priorto any data character transmission while in the transmitter transparent mode. This register cannot be read onto the DAL lines. It must be loaded with logic zeroes in all unused high-order bits. SYN Register. This 8-bit register is loaded from the DAL lines by a Write operation and holds the synchronization code used to establish receiver character synchronization. It serves as a fill character when no new data is available in the Transmitter Holding register during transmission. This register cannot be read onto the DAL lines. It must be loaded with logic zeroes in all unused high-order bits. Transmitter Holding Register. This 8-bit parallel buffer register holds parallel transmitted data transferred from the DAL lines by a Write operation. This data is transferred to the Transmitter Register when the transmitter section is enabled and the Transmitter Register is ready to send new data. Transmitter Register. This 8-bit shift register is loaded from the Transmitter Holding Register, SYN register, or OLE register. The purpose of this register is to serialize data and present it to the transmitted Data output. Comparator. The 8-bit comparator is used in the Synchronous mode to compare the assembled contents of ti',o Receiver Register and the SYN registeror OLE register. A match between the registers sets up stripping of the received character, when programmed, by preventing the data from being loaded into the Receiver Holding Register. A bit in the Status Register is set when stripping is performed. The comparator output also enables character synchronization of the Receiver on two successive matches with the SYN register. Data Access Lines. The DAL is an 8-bit bi-directional bus port over which all data, control, and status transfers occur. WD1931 OPERATION Asynchronous Mode Framing of asynchronous characters is provided by a Start bit (logic zero) at the beginning of a character and a Stop bit (logic one) at the end of a character. Reception of a character is initiated on recognition of the first Start bit after a preceding Stop bit. The Start and Stop bits are stripped off while assembling the serial input into a parallel character. If enabled, the parity bit is checked and then stripped off. The character assembly is completed by the reception of the Stop bit after reception of the last character bit. If this bit is a logic one the character is determined to have correct framing and the WD1931 is prepared to receive the next character. If the Stop bit is a logic zero the Framing Error Status flag is set and the Receiver assumes this bit to be the Start bit of the next character. Character assembly continues from this point if the input is still a logic zero when sampled at the theoretical center of the assumed Start bit. As long as the Receive input is spacing, all zero characters are assembled and error flags and data received interrupts are generated so that line breaks can be determined. After a character of all zeroes is assembled along with a zero in the Stop bit location, the first received logic one is determined as 84 enters the Synchronization mode until the Receiver Enable Bit is turned off. If a second successive SYN character is not found, the Receiver reverts back to the Search mode. a Stop bit and this resets the Receiver circuit to a Ready state for assembly of the next character. In the Asynchronous mode the character transmission occurs when information contained in the Tranmitter Holding Register is transferred to the Transmitter Register. Transmission is initiated by the insertion of a Start bit, followed by the serial output of the character (least significant bit first) with parity, if enabled, following the most significant bit; then the insertion of a 1-, 1.5-, or 2-bit length Stop condition. If the Transmitter Holding Register is full the next character transmission starts after the transmission of the Stop bit(s) of the present character in the Transmitter Register. Otherwise, the Mark (logic one) condition is continually transmitted until the Transmitter Holding Register is loaded. In the Synchronous mode a continuous stream of characters are transmitted once me Transmitter is enabled. If the Transmitter Holding Register is not loaded at the time the Transmitter Register has completed transmission of a character, this idle time will be filled by a transmission of the character contained in the SYN register in the Non-transparent mode, or the characters contained in the DLE and SYN registers respectively while in the Transparent mode of operation. DETAILED OPERATION Receiver In order to allow re-transmission of data received at a slightly faster character rate, means are provided for shortening the Stop bit length to allow transmission of characters to occur at the same rate as the reception of characters. The Stop bit may be shortened a maximum of 1/16 of a bit period for 1-Stop bit selection and 3/16 of a bit period for 1.5-", or 2-Stop bit selection. To shorten the Stop bit the user must load the Transmitter Holding Register exactly (X+2) 16ths of a bit period before the end of a stop bit transmission, where X= the number of 16ths the user wishes to strip. If X+2 exceeds the maximum then no shortening occurs. This feature does not work in 1X clocking mode. The Receiver Data input is clocked into the Receiver Register by a 1X Receiver Clock from a modem Data Set, or by a local32X bit rate clock selected from one of four externally supplied clock inputs. When using the 1X clock, the Receiver Data is sampled on the positive transition of the clock in both the Asynchronous and Synchronous modes. When using a 32X clock in the Asynchronous mode, the Receive Sampling Clock is phased to the Mark-To-Space transition of the Received Data Start bit and defines, through clock counts, the center of each received Data bit within +0%, -3% at the positive transition 16 clock periods later. "NOTE: As a special case, the 1.5 stop bit mode can be shortened from 1/24 to 11/24 of the whole period if the Transmitter Holding Register is loaded (X + 2) 24ths (of the whole period) before the end of the stop bit In the Synchronous mode the Sampling Clock is phased to all Mark-To-Space transitions of the Received Data inputs when using a 32X cloCk. Each transition of the data causes an incremental correction of the Sampling Clock by 1/32nd of a bit period. The Sampling Clock can be immediately phased to every Mark-To-Space Data transition by setting Bit 4 of Control Register 1 to a logic one while the Receiver is disabled. transmission. When the complete character has been s"ifted into the Receiver Register it is then transferred to the Receiver Holding register. The unused higher number bits are filled with zeroes. At this time the Receiver Status bits (Framing Error/Syc Detect, Parity Error/DLE Detect, Overrun Error, and Data Received) are updated in the Status Register and the Data Received interrupt is activated. Parity Error is set, if encountered, if the Receiver parity check is enabled in the Control Register. Overrun Error is set if the Data Received status bit is not cleared through a Read operation by an external device when a new character is ready to be transferred to the Receiver Holding Register. This error flag indicates that a character has been lost. New data is lost and the old data and its status flags are saved. Synchronous Mode Framing of characters is carried out by a special Synchronization Character Code (SYN) transmitted at the beginning of a block of characters. The Receiver, when enabled, searches for two continuous characters matching the bit pattern contained in the SYN register. During the time the Receiver is searching, data is not transferred to the Receiver Holding Register, status bits are not updated, and the Receiver interrupt is not activated. After the detection of the first SYN character, the Receiver assembles subsequent bits into characters whose length is determined by contents of the Control Register. If, after the first SYN character detection, a second SYN character is present, the Receiver 85 The characters assembled in the Receiver Register that match the contents of the SYN or DLE registers are not loaded into the Receiver Holding Register and the DR interrupt is not generated if Bit 3 of Control Register 2 (CR23= SYN Strip) or Bit 4 of Control Register 1 (CR14=DLE Strip) are set respectively. The SYN-DET and DLE-DET status bits are set with the next non-SYN or DLE character. When both CR23 and CR14 are set (Transparent mode). the DLE-SYN combination is stripped. The SYN comparison occurs only with the character received after the DLE character. If two successive DLE characters are received only the first DLE character is stripped. No parity check is made while in this mode. Transmitter Information is transferred to the Transmitter Holding Register by a Write operation, Information can be loaded into this register at any time, even when. the Transmitter is not enabled, Transmission of data is initiated only when the RequestTo Send bit is setto a logic one in the Control Register and the Clear To Send input is a logic zero. Information is normally transferred from the Transmitter Holding Register to the Transmitter Register when the latter has completed transmission of a character. However, information in the DLE register may be transferred prior to the information contained in the Transmitter Holding Register if the Force DLE signal condition is enabled (Bits 5=Force DLE and 6=TX Transparent of Control Register 1 set to a logic one). The control bit CR1S must be set prior to loading of a new character in the transmitter holding register to ensure forcing the DLE character prior to transmission of the data character. The Transmitter Register output passes through a flip-flop which delays the output by one clock period. When'using the lX clock generated by the Modem Data Set the output data changes state on the negative clock transition and the delay is one bit period. When using a local32X clock the transmitter section selects one of the four selected rate inputs and divides the clock down to the baud rate. This clock is phased to the Transmitter Holding Register empty flag such that transmission of characters occurs within two clock times of the loading of the Transmitter Holding Register when the Transmitter Register is empty. When the Transmitter is enabled, a Transmitter interrupt is generated each time the Transmitter Holding Register is empty. If the Transmitter Holding Register is empty when the Transmitter Register· is ready for a new character the Transmitter enters an idle state. During this idle time a logic one will be presented to the Transmitted Data output in the Asynchronous mode or the contents of the SYN reg- ister will be presented in the Synchronous Nontransparent mode (CR16=0). In the Synchronous Transmit Transparent mode (enabled by Bit 6 of Control Register 1=Logic 1), the idle state will be filled by a DLE-SYN character transmission in that order. When entering the Transparent mode the DLE-SYN fill will not occur until the first forced DLE. If the Transmitter section is disabled by a reset of the Request to Send, any partially transmitted character is completed before the transmitter section of the WD1931 is disabled. As soon as the CTS goes high the transmitted data output will go high. When the Transmit parity is enabled, the selected Odd or Even parity bit is inserted into the last bit of the character in place of ttie last bit of the Transmitter Register. This limits transfer of character information to a maximum of seven bits plus parity or eight bits without parity. Parity cannot be enabled in the Synchronous Transparency mode. CLOCKING Two clocking schemes are used. In one case a 1X Receiver Timing and Transmitter Timing are input from a Data Set and are used to clock their respective data. In the second case a local 32X clock is phased to the data and used to clock the data. The device is capable of selecting from four externally supplied rates. The use of the 1X clock is the same for the receiver and the transmmitter in both the Synchronous and Asynchronous Character modes. The use of the 32X clock in the receiver differs depending on mode. In the Asynchronous Character mode the receive sampling clock is phased to the mark-space transition of Received Data input at the beginning of the Start bit, causing the Sampling clock to be approximately in the middle of the bit. The accuracy of sampling is +0%, -3%. I n the Synchronous Character mode the Receive Sampling clock is phased to all the mark-space transitions on the Received Data input. Each such transition of the data causes an incremental cor rection of the Sampling clock of 1/32 of the bit reriod. The Sampling clock can be immediately phased with the data transitions by setting Bit 4 of Control Register 1 to a 1 bit with the receiver disabled. As long as this bit is a one the Sampling clock is locked to every mark-space data transition. The transmitter divides the selected rate input down to the baud rate. This clock is phased to the THRE flag so that character transmission starts within two clocks of the THR loading when the transmitter is idling. 86 RECEIVER FLOW CHART 87 TRANSMITTER SECTION (ASYNCHRONOUS) TRANSMITTER SECTION (SYNCHRONOUS) TRANSMITTER FLOW CHART 88 data from the device and places it on the DAL, while a Write or Output places data from the DAL into the device. AUTO ECHO FEATURE The device is capable of serially echoing the received data with a one bit delay when in the Asynchronous mode and the Receiver on. This causes the clocked regenerated received data to be presented to the Transmit Data output rather than the output of the Transmitter Register or a steady marking. This serial method of echoing does not present any abnormal restrictions on the transmit speed of the terminal. Breaks are not echoed back. When the device detects a Zero Stop bit and a character of all zeroes, the echoing stops and a steady marking is transmitted until such time as normal character reception resumes. Because echoing is taking place during determination of a break condition, a single character of all zeroes (Null character) is echoed when a break is initiated at the terminal. The Echoing is enabled by setting Bit 4 of Control Register 1 to a 1 bit. Echoing does not start until the start of a receive character at a time when the transmitter is idle and CTS is zero. If the Transmitter is forced out of the idle mode while a character is being echoed transmission of that character is halted. The Transmitter is idle when CR11 is a zero or the Transmitter is waiting for the THR to be loaded in the Asynchronous mode. READ A read operation is initiated when CS and REgo low. When the Read Enable (RE) line goes low, the device gates the contents of the addressed register onto the DAL. The device becomes unselected when the CS and RE are both high. When the Receiver Holding Register is read, the DR Status bit is cleared to zero. WRITE A Write operation is initiated when CS and WE go low. When the Write Enable (WE) line goes low, the device gates the data from the DAL into the addressed register. When the CS and WE go high the device becomes unselected. If the Transmitter Holding Register is written into, the THRE Status bit is cleared to zero. The 10 address is used to load both the SYN and OLE Registers. After writing into SYN the device is conditioned to write into OLE if followed by another Write to that address. Any intervening Read or Write to other addresses reset this condition so that SYN will be addressed with 10. AD and A1 address device registers for ReadlWrite operations are shown: LOOP FEATURE The device has on-line diagnostic capability. When the Loop Control bit is a zero the data and data set controls are appropriately looped as follows: REGISTER ADDRESS FOR READ/WRITE OPERATIONS Transmit Data is connected to Receive Data, with the TO output pin held in a MARK condition and the RD input pin disregarded. When a 1X clock is selected the TO clock becomes the Receive clock. o • • The Data Terminal Ready Control bit is connected to the Data Set Ready input with the DTR output pin held in an OFF condition and the DSR input pin disregarded. The Request To Send Control bit is connected to the Clear To Send and Carrier inputs, with the CTS output pin held in an OFF condition and the CTS and CARD input pins disregarded. Al AO Read F F Control Register 1 Write Control Register 1 F T Control Register 2 Control Register 2 T F Status Register 8YN & OLE Register T T Receiver Holding Register Transmitter Holding Register T=VILatpin F~ VIH at pin MISCELLANEOUS Pin is held in an OFF condition. DEVICE PROGRAMMING INPUT/OUTPUT OPERATIONS Programming of the WD1931 is done via two Control Registers, one Status Register, a SYN/DLE Register, and the Transmit and Receive Holding Registers. The two Control Registers are referred to as CR1 and CR2. The bits within CR1 are referred to as CR10 through CR17, and the bits within CR2 are referred to as CR20 through CR27. For any register bit 0 is the LSB. All data, control, and status information is transferred to DAL pins. Control and address lines provide for controlling the addressing, input and output operations. In addition other lines provide interrupt capability for alerting a controller that input/output is required. Input/output terminology is referenced to the controller; therefore, a Read or Input takes 89 Two general modes of operation exist for the WD193l, Asynchronous and Synchronous. Both modes of operation are discussed separately. BISYNC is a special case of Synchronous mode and is not treated separately. Figures 4 through 6 show CR1, CR2, and the Status Register bit definitions. The meaning of each bit in each register is described twice: once for Asynchronous mode and again for Synchronous mode. The figures combine and summarize both modes. ASYNCHRONOUS MODE Control Register 1 .!IO Control Register 2 Selects Transmit and Receive clock as o ~ Transmit and Receive clock inPut 1~Ra\el (32X) 2-;- Rate 2 (32X) 3 - Rate.3(32X} 4- Rate 4 (32X) 5.--: Rate 4 +- 2'(32X) (64X) 6'- Rate 4.+ 4 (32X) (128X) 7 '-'-Rate 4 -+- 8 (32X) (256X) SYNCHRONOUS MODE Control Register 1 91 Control Register 1 (Sync Mode continued) Bit Name Function 3 PARITY ENABLE When set to a 1 bit, itenables check of parity on received characters only. 4 DLE STRIP/MISCELLANEOUS When set to a 1. bit andthereceiver is enabled, received charaoters which match the contents of the DLE Register are stripped out. Also parity checking is .disabled. When the receiver is not enabled this bit controls the MISCELLANEOUS output onPin 5. to be used for New Sync on a 201 Data Set. When operating with a 32X clock for 1 bit with the receiver not enabled causes the receiver bit timing to synchronize onmark"space transitions. 5 TX PARITY ENABLE/FORCE DLE When set to a 1 bit with Bit6 of Control Register 1 a 0 bit Transmit Parity is enabled, otherwise no parity is generated. When set toa 1 bit with Bit 6 a 1 bit, it causes the contents of the OLE Register to be transmitted prior to the next character loaded in the Transmitter Holding Register. (See description of Transparency below.) When a 1 bit ofthe transmitter is conditioned fortransparenl trans,mission which implies thatidl.e filiWil1 be DLE-SYN and a DLE can be forced ahead of any character in Ihe THR by use of Bit 5 .. (See description o/Transparency.) When.lhis bit is selloa Obit.the device is configured to provide~n inlernal dalaandcontrol loop (see Loop feature) and the Ring interrupt is disabled, When this bit is seUo a1 bit the device is in normal.fulldlJplex conflgurationand the Ring interrupt is enabled. Control Register 2 Bit 2-0 3 Name Function Selects Transmit and Receive clock as follows: 0---: Transmit and Receive clock input (1X) 1.,..-. Rate 1 (32X) 2--Rate2 (32X) 3,..- Rate 3 (32X) 4 -Rate 4 (32X) 5 ---: Rate 4 -7- 2 (32Xi (64X) 6 '-.Rate4 -7- 4 (32X) (128X) 7-Rate4 -7- 8 (32X) (256X) When set toa,l bit and the receiver Isenabled. received characters which match the contents ofJhe SYN Register are stripped out. Also the SYN status bit is set with the next character. No SYN stripping occurs with aO bit. A 1 bitselects Odd Parity and aO bit selects Even Parity. when parity is enabled. 5 A 0 bit selects Asynchronous Character Mode. A 1 bUse.lects Synchronous Character Mode. 7-6 92 TRANSPARENCY abled when Bit 6 is set to a 0 bit. When forcing transmission of a OLE, Bit 5 should be set to a 1 bit prior to loading the Transmitter Holding Register, otherwise the character in the Transmitter Holding Register may be transferred to the Transmitter Register prior to the setting of the Con'trol Bit. The Transmit Transparency mode causes Idle Fill to be the pair of characters OLE-SYN rather than a single SYN, and provides for preceding a character loaded into the THR with a OLE without the possibility of an intervening OLE-SYN fill. Transparency is enabled by Bit 6 of Control Register 1, which allows force OLE to be controlled by Control Register 1, Bit 5, but the OLE-SYN fill is not activated until after the first forced OLE. All aspects ofTransparency are dis- STATUS The Status Register contains the following status information: Name TRANSMITTER HOLDING REGISTER EMPTY (THRE) Function This bit is a 1. bit when the Transmitter Holding Register does not contain a character and the transmitter is enabled. It isset to a 1 bit when the contents of the Transmitter Holding Register is transferred to the Transmitter Register. It is cleared to a 0 bit when the Transmitter Holding Register is loaded from the OAL, or when the transmitter is disabled. This bit isseI toa 1 bit when the Receiver Holding Registeris loaded from IheReceiver if the Receiver is enabled. It is cleared to a 0 bit when li:le Re<;eiver Holding Register is read onto the DAL, or when the receiver is disabled. This bilis set to.a.l bit when the previous character in the.Receiver Holding Reg ister has not been read, causing DR to not be reset, at the timeanew c~iOIracter is re?dy to be transferred to the Receiver Holdin!;) Register: otherwisethepit is cleared when a character is tram;ferredtotheReceiverHolding Register. It is cleared when the reGeiver is disabled. This bit is set loa 1 bit when the receiver and Receive parity are enabh3qll.pd the last received character has a parity error, and is set tq a 9b.it,if 1i:lE\! chara.cter has correct parity. When the DLEstrip. is enal:)led t~~Re~eive, parity check is disabled and this bilis set toal, bitifthe previous character matched the contents Of the OLE Register anq,wa? stripped, otherwise it is set to a 0 bit. This bit is cleilre ()~,:"ithOTR off, Tbis bit is cleared when the Status RegistElr .isreaqontothe OAL . 93 Controt Registers 1, 2 and STATUS Bit Assignments for TRUE DATA BUS, Invert for FALSE DATA BUS. • 7 SYNC/ASYNC BIT • ASYNC O-lOOP MODE O-NON BREAK MODE 1- NORMAL MODE 1-8REAK MODE • ASYNC lTRANS, ENABLED I 0- NON ECHO MODE I-AUTO ECHO MODE 0-1V, OR 2 STOP BIT SELECTION SYNC 1- SINGLE STOP BIT SELECTION O-NON TRANSMlnER TRANSPARENT MODE ASVNC ITRANS. OISABlEDI 1- TRANSMIT TRANSPARENT MODE SYNC ICRl2 '" 11 O-OlE STRIPPING NOT ENABLED !-OLE STRIPPING SYNC ENABLED 0-, SETS ASYNC m OUT ~ 1 I-SETS m a OUT rn O-SETS OUT· , 1- SETS 0i1i OUT - 0 O-RECEIVER PARITY CHECK IS DISABLED 1- RECEIVER PARITY CHECK IS ENABLED O-~OUT '" 1 O-NO PARITY GENERATED I _ TRANSMIT PARITY ENABLED SYNC I ASYNC TRANSMITTER SYNC (CR12 • 01 SYNC ICRlIl • 01 • 1 SYNC I SYNC! ASYNC 0- NO PARITY ENABLED ,-- PARITY CHECK 0- RECEIVER ENABLED ON RECEIVER, DISABLED PARITY GENERATION I-RECEIVER ENABLED ON ENABLED O-~OUT" 1 l-mttOUT" 0 2 3 ASYNC ASYNC 1-MiSt OUT" 0 SYNC ICRlI • 11 a-NO FORCE OLE , -FORCE OLE CONTROL REGISTER 1 BIT • • 7 • 3 2 MODE SELECT SYNC/ASYNC ASYNC SVNC/ASYNC CHARACTER LENGTH SELECT a-ASYNCHRONOUS MODE ' - SYNCHRONOUS MODE 1-000 PARITY SELECT O-EVEN PARITY SELECT , - RECEIVER CLOCK DETERMINED BY BITS 2-0 O-RECEIVER CLK = RATE I CLOCK SELECT 00 01 10 11 " = = = 8 7 6 5 BITS BITS BITS BITS SYNC 0- NO SYN STRIP l-SYN STRIP • 1 SYNC/ASYNC 000-lX CLOCK 001-RATE 1 CLOCK OlO-RATE 2 CLOCK 0" -RATE 3 CLOCK 100- RATE" CLOCK 101-RATE 4 CLOCK - 2 "O-RATE" CLOCK - " 111-RATE 4 CLOCK - 8 CONTROL REGISTER 2 7 DATA SET CHANGE OATil, SET READY BIT , • • CARRIER DETECTOR 3 FRAMING ERROR OLE OETECT SYN DETECT PARITY ERROR 1 0 DATA RECEIVER TRANSMITTER HOLDING REGISTER EMPTY 2 OVERRUN ERROR STATUS REGISTER WrltB Reg A1 AO RBad 0 0 0 Control Register 1 Control RBglster 1 1 0 1 Control Register 2 Control Register 2 2 1 0 Status Register SYN & OLE Register 3 1 1 RBceiver Holding Register Transmitter Holding Register 9-'; INTERRUPTS Ring On The following interrupts can be generated. The Ring On interrupt occurs when the Ring input goes low and DTR is off. Carrier On When an interrupt condition exists the INTR output is made high. Reading the Status Register or MR will allow INTR to go high again. The Carrier On interrupt occurs when the Carrier Detector input goes low and DTR is on. Carrier all DATA BUS CONTROLS The Carrier Off interrupt occurs when the Carrier Detector input goes high and DTR is on. The following Data Bus controls can be generated. DSR On Data Request Out The DSR On interrupt occurs when the Data Set Ready input goes low and DTR is on. This control signal occurs when the THR is empty while the transmitter is enabled. DSR all Data Request In The DSR Off interrupt occurs when the Data Set Ready input goes high and DTR is on. This control signal occurs when the RHR is full while the receiver is enabled. VOL VIH AO.Ai.Cs VIL RE £-t - - TOACC \ TOOH II J 1\ TCS VIH \ V 1\ VIL / I-- TSET TRE THLO- READ TIMING VIL TOS- AD.Al.es TOH VIH ) VIL Tes VIH \ J 1\ vlL I--- TSET . TWE WRITE TIMING 95 THLO- MAXIMUM RATINGS VDD with Respect to VSS (Ground) + 15 to - 0.3V Max. Voltage to any Input with Respect to VSS + 20 to - 0.3V Operating Temperature ooe to 70 0 e Power Dissipation 600 mW Storage Temp Ceramic -65°C to +150'C Plastic -55'C to ,125'C OPERATING CHARACTERISTICS TA = ooe to 70 o e, VDD SYMBOL = + 12.0V ± .6V, Vee = + 5.0V ± .25V, VSS CHARACTERISTIC MIN = OV TYP MAX UNITS CONDITIONS = VDD III Input Leakage 10 uA VIN ILO Output Leakage 10 uA VOUT = Vee leeAVE VecSupply eurrent 80 mA IODAVE VOD Supply Current 10 mA VIH Input High Voltage VIL Input Low Voltage (All Inputs) 2.4 VOH Output High Voltage VOL Output Low Voltage V .8 2.S .45 V = V 10 V 10= 1.6 mA -100 uA AC CHARACTERISTICS TA = ooe to 70°C, VDD SYMBOL = + 12.0V ±0.6V, VSS CHARACTERISTIC THLD AO, Al & CS Hold Time Tes AO, A1 & CS Width = +5.0 ± .25V OV, VCC MIN TYP MAX UNITS 5 ns 495 ns 240 ns 1000 ns TLOW AO, Al & CS Low Time 250 ns TMR MR Pulse Width 450 ns TSET AO, Al & es Set·Up Time TeYCLE Cycle Time CONDITIONS READ 250 TRE RE Width TOACC Data Access from TOOH Data Hold from RE RE 50 ns 300 ns CL 150 ns eL WRITE TWE WE Width 250 ns TOS Data Set·Up Time 250 ns TDH Data Hold Time 100 ns 96 = 25 pI = 25 pf BUY/SELL TRANSACTIONENTRY TERMINAL (CRT) ,- DATA COMMUNICATIONS SYSTEMS FOR STOCK BROKERAGE FIRM I I I I I I I I SOLC PROTOCOL LINK _-"L-__-' I I I I I I I SYNCHRONOUS BISYNC ~A:::;"'~--' PROTOCOL LINK I I I L -1 TO REMOTE TERMINAL TO REMOTE TERMINAL TO REMOTE TERMINAL DETAIL OF DATA COMMUNICATION CONTROLLER DIGITAL COMMUNICATIONS SYSTEM The diagrams above illustrate a typical digital system employing several processing levels and digital protocols. It is flexible enough to satisfy several applications. For example, the host processor and remote terminals could be located respectively in airline reservation offices and ticket counters, travel centers and travel agencies, central bank offices and branch banks, or department stores and individual cash registers. The exploded diagram of the OataCommunications Controller exemplifies the use of one common circuit board design with one 40-pin socket. When the Port requires a character-oriented protocol (synchronous, asynchronous, or synchronous-bisync), the W01931 is plugged into the socket. For SOLC, HOLC or AOCCP, theW01933 is used. I n addition to storing the design cycle, system flexibility and cost savings are achieved. 97 WD1931B PLASTIC PACKAGE WD1931A CERAMIC PACKAGE Information furnished by Western Digital Corporation IS believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any mfringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation Western DI91tai Corporation reserves the right to change said circuitry at any time without notice. WESTERN DIGITAL CORPORATION 3128 REDHILL AVENUE. BOX 2180 NEWPORT BEACH. CA 92663 (714) 557-3550.TWX 910-595-1139 98 WESTERN DIGITAL p c o R o R A T / o N WD1933 Synchronous Data Link Controller FEATURES • STRAIGHT FORWARD CPU INTERRUPTS .. HDLC, SDLC, ADCCP AND CCITT X.25 COMPATIBLE .. PROGRAMMABLE MODEM CONTROL INTERRUPTS ..J .. LOOP DATA LINK CAPABILITY • DOUBLE BUFFERING OF DATA n. o FULL OR HALF DUPLEX OPERATION o DMA COMPATABILITY .. DC TO 1.5 MBITS/SEC DATA RATE .. END OF BLOCK OPTION • DC TO 1.0 MBITS/SEC DATA RATE (SDLC LOOP MODE) .. VARIABLE CHARACTER LENGTH (5, 6, 7 OR 8 BITS) .. PROGRAMMABLE/AUTOMATIC FCS (CRC) GENERATION AND CHECKING .. RESIDUAL CHARACTER CAPABILITY .. PROGRAMMABLE NRZI ENCODE/DECODE o GLOBAL ADDRESS RECOGNITION .. FULL SET OF MODEM CONTROL SIGNALS .. EXTENDABLE ADDRESS FIELD .. DIGITAL PHASE LOCKED LOOP o EXTENDABLE CONTROL FIELD .. ADDRESS COMPARE .. FULLY COMPATIBLE WITH MOST CPU'S o AUTOMATIC ZERO INSERTION AND DELETION .. MINIMUM CPU OVERHEAD o MAINTENANCE MODE FOR SELF-TESTING .. ASYNCHRONOUS/SYNCHRONOUS MULTI-PROTOCOL BOARD CAPABILITY (PIN COMPATIBLE WITH WD 1931) o 40-PIN PACKAGE APPLICATIONS o FULLY TTL COMPATIBLE .. SINGLE +5V SUPPLY .. COMPUTER COMMUNICATIONS .. ERROR DETECTION: CRC, UNDERRUN, OVERRUN, ABORTED OR INVALID FRAME ERRORS. co TERMINAL COMMUNICATIONS .. COMPUTER TO MODEM INTERFACING os lIT D2 OJ ATS lX/32X D6 D7 Mi'i -D'fR DRQO DROI vss (GND) Figure 1 WD1933 PIN CONNECTIONS Figure 2 WD1933 BLOCK DIAGRAM 99 0: « Loop configuration. An End of Block option is supplied to minimize CPU time. A full set of modem control signals are supplied to minimize external hardware. • LINE CONTROLLERS • FRONT END COMMUNICATIONS • NETWORK PROCESSORS • TELECOMMUNICATION SWITCHING NETWORKS o MESSAGE SWITCHING A BRIEF DESCRIPTION OF HDLC, SDLC AND ADCCP PROTOCOLS • PACKET SWITCHING o MULTIPLEXING SYSTEMS • DATA CONCENTRATOR SYSTEMS o LOOP DATA LINK SYSTEMS • DMA APPLICATIONS • COMMUNICATION TEST EQUIPMENT • LOCAL NETWORKS o MULTIDROP LINE SYSTEMS GENERAL DESCRIPTION The WD1933 is a MOS/LSI microcomputer peripheral device which performs the functioning of interfacing a parallel digilal system to a synchronous serial data communication channel employing ISO's HDLC, IBM's SDLC or ANSI's ADCCP line protocol, These protocols are referred to as BitOriented Protocols (BOP). The chip is fabricated in N-channel depletion load MOS technology and is TIL compatible on all inputs and outputs. This controller requires a minimum of CPU software by supporting a comprehensive frame-level instruction set and by hardware implementation of the low level tasks associated with frame assembly/disassembly and data integrity. It can be programmed to encode/decode in NRZI code. The internal clock is then derived from the NRZI data using a digital phase locked loop. The receiver and transmitter logic operate as two total independent sections with a minimum of common logic. The frames are automatically checked for errors during reception by verifying the Frame Check Sequence (FCS). In transmit mode, the FCS is automatically generated by this controller and sent before the final Flag. It also continously checks for other errors. In a case of an error, the CPU is interrupted. The controller recognizes and can generate Flag, Abort, Idle and GA characters. WD1933 can be used in a SDLC The WD1933 is compatible with HDLC, SDLC and ADCCP standard communication Link Protocols. These are bit-oriented, code independent, and ideal for full duplex communication. A single communication element is called a FRAME, which can be used for both link control and data transfer purposes. The elements of a frame are the beginning eight bit FLAG (F) consisting of one logical" 0 ," six 1's and a 0, an eight bit ADDRESS-FIELD(A), an eight bit CONTROL-FIELD (C), a variable (N bits) INFORMATION-FIELD, a sixteen bit FRAMECHECK-SEQUENCE (FCS), and an eight bit end FLAG (F), having the same bit-pattern as the beginning flag. In HDLC, the address (A) and control (C) characters are extendable (more than one character). An important characteristic of a frame is that its contents are made code transparent by use of a zero bit insertion and deletion technique. Thus, the user can adapt any format or code suitable for his system. The frame is bit-oriented, meaning that, bits not characters in each field have specific meanings. The Frame Check Sequence (FCS) is an error detection scheme similar to the Cyclic Redundancy Checkword (CRC) widely used in magnetic disk storage devices. The frame format is shown in Figure 4. I '''"" I Figure 4 WD1933 HDLC FRAME FORMAT Where: FLAG = 01111110 Address field-One or more 8-bit characters defining the particular station Control field-One or two 8-bit characters -ofR DSR RTS -cs RE WE MR COMPUTER TD SOLe WD1933 Information field-Any number of bits (may be zero bits) Frame Check Sequence-16-bit error checking field RD Ai ii2 Ffc EO-B T --, Figure 3 WD1933 TYPICAL SYSTEM INTERFACE The following features are also part of these protocols. ZERO INSERTION/ZERO DELETION-Zero insertion/deletion is performed within the 2 Flags of a frame. If there are more than five1's in a row, a 0 is automatically inserted after the fifth 1 and it is deleted upon reception by the receiver. FRAME CHECK SEQUENCE (FCS)-A 16 bit cyclic redundancy check (CRC) calculation is performed during transmission of the data in between the 2 flags of the frame. The CRC is then transmitted after the I-field and before the final FLAG. Upon reception the receiver also performs a CRC calculation on the incoming data. If there were no transmission error, the Receiver CRC equals FO B8 (hex). 100 DESCRIPTION OF PIN FUNCTIONS The WD1933 is packaged in a 40 pin DIP. The following is a functional description of each pin. A bar over a signal (SIGNAL), means active Low. Table 1 DESCRIPTION OF WD1933 PIN FUNCTIONS PIN NUMBER PIN NAME 1 FUNCTION SYMBOL NC No connection allowed to this pin. Used internally only. 2 End of Block EOB This input, when low, function as an FCS command. Is independent of CS. 3 Read Enable RE This input, when low (and CS is active), gates the content of addressed register onto the Data bus. 4 Chip Select CS This input, when low, selects the WDl 933 for a read or write operation to!from the Data bus. 5 Misc Output MISC OUT This output is an extra programmable output signal for the convenience of the user. Is controlled by the CR10 bit. 6 Interrupt Request INTRO The output is high whenever any of the interrupt register bits, IR7-IR3 are set. 7 Write Enable WE This input when low (and CS is active), gates the content of the Data bus into the addressed register. 8-15 Data Bus DO-07 Bidirectional three-state Data Bus. Bit 7 is MSB. 16 Master Reset MR This input, when low, initializes all the registers, and forces the WD1933 into an idle state. The WD1933 will remain idle until a command is issued by the CPU. 17 Data Terminal Ready DTR Modern Control Signal. This output when low, indicates to the Data Communication Equipment (DCE) that the WD1933 is ready to transmit or receive data. 18 Data Request Output DROO This output, when high, indicates that the Transmitter Holding Register (THR) is empty and ready to receive a data character from the Data bus for a transmit operation. 19 Data Request Input DROI This output, when high, indicates that Receiver Holding Register (RHR) contains a newly received data character, available to be read onto the Data bus. Vss A2,AQ,M 20 Vss 21,22,23 Address Lines 24 Misc Input MISC IN This input is an extra input signal for the convenience of the user. The state is shown by the SR4 bit. 25 Transmitted Data TD This output transmits the serial data to the Data Communications Equipment/Channel. 26 Receive Clock RC This input is used to synchronize the received data. 27 Received Data RD This input receives the serial data from the Data Communication Equipment/Channel. 28 NRZI NRZI This input, when low, sets the WD1933 in NRZI mode. 29 Clear to Send CTS Modem Control Signal. This input when low, indicates that the DCE is ready to accept data from the WD1933. 30 DPLL Select lX132X This input controls the internal clock. When high (1 X clock), the external clock has the same frequency as the internal clock. When low (32X clock), the external clock is 32 times laster than the internal clock and the DPLL Logic is enabled. Ground These inputs are used to address the CPU interface registers for read! write operations. 31 Transmit Clock TC This input is used to synchronize the transmitted data. 32 Request to Send RTS Modem Control Signal. This output, when low, indicates to the DCE that the WD1933 is ready to transmit data. 33 Data Set Ready DSR Modem Control Signal. This input, when low, indicates that the DCE is ready to receive or transmit data. 101 PIN NUMBER PIN NAME FUNCTION SYMBOL 34 Ring Indicator Ai Modem Control Signal. This input, when low, indicates a ringing signal being received on the communication channel. 35,36 Ring Indicator Interrupt Control R11, RIO These inputs are used to program Ring Indicator interrupts. 37,38 Carrier Detect Interrupt Control CD1, CDO These inputs are used to program Carrier Detect Interrupts. 39 Carrier Detect CD Modem Control Signal. This input, when low, indicates there is a carrier signal received by the local DCE from a distant DCE. 40 Vee Vee +5VDC Table 1 DESCRIPTION OF WD1933 PIN FUNCTIONS TERMINOLOGY TERM DEFINITION/DESCRIPTION BOP Bit-oriented protocols: SDLC, HDLC, and ADCCP ABORT 11111111 (seven or more contiguous 1's) GA Go-ahead pattern. 01111111 (O(LSB) followed by seven 1's) LSB First transmitted bit and first received bit. (Least significant bit) MSB Last transmitted bit and last received bit. (Most significant bit) IDLE 1111111111111111 (15 or more contiguous 1's) FLAG 01111110. Starts and ends a Frame. A-FIELD Address-field in the Frame. Consists of one or more 8-bit characters. Defines the address of a particular station. C-FIELD Control field in the Frame. Consists of one or two 8-bit characters. I-FIELD Information field in the Frame. Consists of any number of bits. FCS Frame Check Sequence. A 16-bit error checking field sequence. FRAME A communication element, consisting of a minimum of 32 bits, and is always delimited by FLAGS. GLOBAL ADDRESS An A-field character of eight 1's. When this is compared and matched in the Address comparator, the DROI will be set, indicating a valid address RESIDUAL CHARACTER The last I-field character, consisting of a lesser amount of bits than the other I-field characters in the Frame. DATA SET Data Communication Equipment (DCE). May be a modem. BIT TIME Length in time of a serial data bit. Table 2 WD1933 TERMINOLOGY 102 HARDWARE ORGANIZATION Various Internal Circuits The WDI933 block diagram is illuslrated in Figure 2 and described below. ADDRESS COMPARATOR This B-bit comparator is used to compare the contents of the Address Register with the first address character of the incoming frame. This feature is enabled by a bit in the Command Register. If enabled and there is a match, the received frame is valid and DROls are generated for every character received (including the A-field). If enabled and there is not a match or there is no Global Address, the received frame is discarded. If not enabled, all received frames are valid and DROls are generated. ZERO INSERTION The transmitted data stream is continuously monitored by this logic. A zero is automatically inserted following five contiguous I bits anywhere between the beginning FLAG and the ending FLAG of a frame. The insertion of the zero bit thus applies to the contents of the Address, Control, Information Data, and the FCS field. ZERO DELETION The received data stream is continuously monitored by this logic. Upon receiving five contiguous 1 bits, the sixth bit is inspected. If the sixth bit is a 0, it is automatically deleted from the data stream. If the sixth bit is a 1, the seventh bit inspected; if it is a 0, a FLAG is recognized; if it is a I an ABORT or GO AHEAD is recognized. DATA BUS (D7-DO) This is an inverted B-bit bidirectional data bus. SDLC LOOP-MODE CONTROL This logic supervises the WDI933 running in SDLC Loop mode. It monitors the received data for a GO-AHEAD pattern in the case when SDLC LOOP MODE bit (CR22) and ACT TRAN bit (CRI6) are set. When GO-AHEAD pattern is received, this logic suspends the repeater function and initiates the transmitter function. For more details, see functional description of SDLC Loop Mode. NRZI ENCODER/DECODER When this mode is selected, the NRZI Encoder encodes the "normal" transmitted data to NRZI formatted data and the NRZI Decoder decodes the received NRZI data to "normal" data. CPU Interface Registers All of these registers are addressable and to be read from and/or written into by the CPU via the Data bus. These are B-bit registers and have to be enabled via Chip Select (CS) before any data transfer can be done. CONTROL REGISTER 1,2,3 (CRI, 2, 3) Operations are initiated by writing the appropriate commands into these registers. CRI should be programmed last. RECEIVER HOLDING REGISTER (RHR) When Data Request Input is set (DROI=I), contains received assembled character. ADDRESS REGISTER (AR) Contains the address of this WD1933, which is to be compared to the received address character (A-field). INTERRUPT REGISTER (IR) Contains the cause of the current interrupt request. TRANSMITIER HOLDING REGISTER (THR) Is to be loaded with the next in line character to be transmitted, when Data Request Output is set (DROO=I). STATUS REGISTER (SR) Contains the overall status of the WDI933, plus some information of the last received frame. Non-Addressable, Internal Registers These registers are transparent to the user, but is mentioned in these data sheets to help the understanding of the WD1933. TRANSMITIER REGISTER (TR) This B-bit register functions as a buffer between the THR and the TO output. Is loaded from the THR (if Data Command) with the next character to be transmitted. An ABORT or FLAG character may also be loaded into this register under program control. This character is automatically shifted out to the Transmit Data output. When the last bit of the current transmitted character has left the TR register, a new character will be loaded into this register, setting DROO (Data command) or INTRO (Abort, Flag or FSC command). If at the time when only one bit remains left in the TR register, the THR is not loaded or a new command is not programmed (Data command), an underrun error will occur. RECEIVER REGISTER (RR) The received data is, via the Zero-Deletion logic shifted into this B-bit register. The data is here assembled to a 5, 6, 7 or B-bit character length and then, under the right conditions, parallel transferred to the RHR register. FCS RECEIVE REGISTER AND FCS XMIT REGISTER The WDI933 contains a 16-bit CRC check register (FCS REC. REG.) and a 16-bit CRC generation register (FCS XMIT REG.). The general polynomial is: G(X) = X16 + X" + X' + I The transmitter and receiver initialize the remainder value to all ones before CRC accumulation starts. The polynomial is multiplied by X16 and is divided by G(X). Inserted a's are not included in the accumulation. Under program control, the complement called the frame check sequence (FCS) is sent with high order bit first. 103 A binary 1 for "normal data" is TO = high. A binary 1 for NRZI data is TD = no change. A binary a for "norrnal data" is TO = low. A binary a for NRZI data is TO = change of state. COMPUTER INTERFACE CONTROL This logic interfaces the CPU, to the WD1933. It supervises the read and write functions to the addressable registers, generates data requests and interrupts, decodes and initiates commands, monitors the status of WD1933 etc. MODEM INTERFACE CONTROL This logic interfaces and supervises the modem control signals to/from the WD1933. It provides both dedicated (EIA Standard) and user defined control functions. CLOCK CONTROL This logic interfaces the transmit and receive clocks to the WD1933. It converts the external clocks to the necessary internal clocks. FUNCTIONAL DESCRIPTION SDLC Loop Mode The diagram below shows an SDLC LOOP Data Link System. WD1933 can be used in any of these stations. cycle is completed. The Primary Station may then transmit or initiate another cycle as described above. As a repeater, the transmitted data is delayed by 4 bits (NRZI~5 bits) relative to the received data. Primary ~wn-!oop 1X/32X Clock Option Secondary 2 Figure 5 WD1933 SDLC LOOP DATA LINK Each secondary station is normally a repeater in Receive mode. The primary station is the loop controller. Signals sent out on the loop by the primary station are relayed from station to station, then back to the Primary. Any secondary station finding its address in the A-field captures the frame for action at that station. All received frames are relayed to the next station on the loop. If anyone of the secondary stations wants to transmit a message, it sets its ACT TRAN bit and waits for a GOAHEAD (GA) pattern. The WD1933 recognizes seven or more contiguous logical 1's as a GO-AHEAD pattern. Until GA pattern is received, this secondary station continues operating as a repeater. When primary station is done transmitting, it may send a continuous stream of GA patterns down the Loop. This rnay be accomplished by going Idle. When the first in turn secondary station, with the ACT TRAN bit set, receives the GA pattern, it suspends the repeater function and immediately goes into transmit mode. It transmits its message and when completed, it resets the ACT TRAN bit. This converts the secondary station back to repeater mode. The GA-patterns still transmitted by the Primary Station, gets relayed down the Loop to the next secondary station. The next down-loop secondary station has the opportunity to transmit in the same manner. When the primary station receives the GA-pattern, all the secondary stations have been able to transmit their messages, and the When 1X clock is selected, the data rate equals the external clock (receiver and transmitter). When 32X clock is selected, the external clock rate is 32 times faster than the data rate. Digital Phase Locked Loop (DPLL) This feature is particularly useful in NRZI mode. The purpose of the DPLL is to synchronize the internal 1X clock to the received data, thus insuring that this data is sampled in the middle of the incoming serial bit. DPLL is automatically in operation when 32X clock is selected. The DPLL Logic initiates at the first received data transition in a frame. Corrections, if needed, are then made for each received data transition. A 32-counter is used for this operation. At the beginning of each frame and at the first received data transition, this 32 counter is reset. From this time on, the counter increments with one count for each external clock pulse. At count 16 the internal 1X clock is forced to change state to high (this transition ~ sampling time). At count 32, the counter resets itself. This forces the internal 1X clock again to change state back to low. At each received data transition, if the internal clock and the received data is out of synchronization, a correction is automatically made by ± 1 external clock period. See DPLL Timing Diagram in Figure 6. End Of Block (EOB) This is an FCS command. The main purpose of EOB is to allow the user to initiate FCS and FLAG without the need of INTERNAL CLOCK SAMPLE SAMPLE DATA OATA NOTE 1. FIRST DATA TRANSrrlON (FIRST FLAG) SETS THE DPLL COUNTER TO 01. NOTE 2. DATA TRANSITION IN BETWEEN HERE. OR NO DATA TRANSITION AT ALL. CAUSES NO CORRECTION OF THE DPLL COUNTER. NOTE 3. DATA TRANSITION IN BETWEEN HERE. WILL INCREMENT ONE COUNT TO THE DPLL COUNTER (ADD 01 TO WHAT IS SHOWN). NOTE 4. DATA TRANSITION IN BETWEEN HERE, WILL DECREMENT ONE COUNT TO THE DPLL COUNTER (SUBTRACT 01 TO WHAT IS SHOWN). Figure 6 WD1933 DPLL TIMING DIAGRAM 104 using extra computer time. This is particularly practical in DMA applications. At the end of a frame, when the last information data character has already been loaded into the THR and once again DRaO is set, either a regular FCS command is written into CR 1 Register, or EOB is to be activated. ~e end of FCS, when INTRa is set (XMIT OPCOM), the EOB if activated is to be reset again. PROGRAMMING Contrail ing Operation The serial data is synchronized by the externally supplied Transmit Clock (TC) and Receive Clock (RC). When 1X clock is selected, the falling edge of TC generates new transmitted data and the rising edge of RC is used to sample the received data. When 32X clock is selected, a 32-counter (in the DPLL Logic) is used to synchronize the internal clock. At time 0, when the counter is reset to 0, the new transrnitted data is generated. At time 16 (counter ~ 16) the received data is sampled, insuring that sampling is done in the middle of the received serial bit. At count 32, the counter is reset to again. Prior to initiating data transmission or reception, CONTROL REGISTER 1-3 (CRI-3) must be loaded with control information from the CPU. The contents of these registers will configure the WD1933 for the user's specific data communication environment. These registers should be loaded during power-on initialization and after a reset operation. They can be changed at any time that the respective transmitter or receiver is deactivated. The CR1-3 dictate what the transmitter will send: the type of character (DATA, ABORT, FLAG or FCS), the number of bits per character, and the number of bits in the residual character. Similarly, they tell the receiver the types of frames to look for: the number of bits per I-field character, whether to perform an address compare, and whether to watch for an extended address. The Cont~egister also control Data Terminal Ready (DTR), Misc Out and the activation of both the transmitter and the receiver. For more detailed information, see Register Formats. Self Test (Diagnostic) Mode Monitoring Operation This feature is a programmable Loop back of data, enabling the user to make a complete test of the WD1933 with a minimum of external circuitry. In this mode, transmitted data to the TD pin, is internally routed to the received data input circuitry, thus allowing a CPU to send a message to itself to verify proper operation of the WD1933. The modem control signals DTR and RTS are deactivated (off) to insure no interference to/from the Data Communication Equipment (DCE). DSR and CTS are internally activated for proper input conditions. TC and RC should be supplied by the same source if 1X clock is selected. Monitoring is done by use of the Interrupt Register (IR) and Status Register (SR). The IR register indicates when a frame is completed (transmitted or received), if there was an error and if there is a Data Set Change. ft also monitors the states of INTRa, DRaa and DRQI. The SR register indicates if an error is recognized by IR and what type of error. It also monitors the modem control signals; Ring Indicator (RI), Carrier Detect (CD), Data Set Ready (DSR) and Misc In. Furthermore, the SR register monitors if the Receiver is idle, and also if in receive mode if the user has programmed the Receiver Character Length to be 8 bits per character, this register indicates the number of residual bits received. For more detailed information, see Register Formats. Serial Data Synchronization ° Auto Flag If this is selected and Data Command is executed, continuous Flags will be sent between frames. This eliminates the need to execute the Flag Command. In DMA applications in particular, this is very practical. Extended Addressing This type of addressing means, that there is more than one address character in the A-field. In receive mode, the first address character is compared in the Address Comparator of the WD1933. The other address character/s is to be compared by the CPU. The last address character is recognized by the fact that the LSB (bit 2°) is a 1. 105 Read/Write Control Of CPU Interface Registers These registers are directly accessible from the CPU bus (D7-DO) by a read and/or write operation by the CPU. _The CPU must set up the WD1933 register address (A2AO), Chip Select (CS), Write Enable (WE) or Read Enable (RE) before each data bus transfer operation. During a write operation, the falling edge of WE will initiate a WD1933 write cycle. The addressed register will then be loaded with the content of the Data Bus (D7-DO). During a read operation, the falling edge of RE will initiate a WD1933 read cycle. The addressed register will then place its content onto the Data Bus (07-00). The read/write operation is completed, when CS or RE/WE is brought high. For more detailed information, timing, etc., see ReadIWrite Timing diagram. For read and write operation, the CRl-3 registers need no external clock. To reset CRl-3, TC clock is required. The AR and THR registers need no external clock, and can only be written into. The RHR, IR and SR registers need Transmit Clock (TC) or Receive Clock (RC) to set various bits, and are read-only. All these registers will get initialized by a Master Reset. A read operation of RHR resets the ORal. A write operation to THR, resets the DROO. A read operation of IR, resets IR bits 0 and 3-7. A read operation of SR, resets SR bits 0-2. For addressing and external clocks needed, see figure below. CS A2 A1 AO Read Write L L L L L L H H H H H L L X H H L L H H X H L H L H L X CRl CR2 CR3 RHR IR SR X CRl CR2 CR3 AR THR External Clock None' None' None' RHR=RC. AR=None IR=TC". THR=None SRO-3=RC. SR4-7=None. X L = VIL at pins H = VIH at pins X = Don't care 'Master Reset requires TC. REGISTER FORMATS Below shows a short form register format. CRI 27 26 25 24 23 22 21 20 CR2 CR' RHR AR IR THR SR Figure 7 WD1933 BIT ASSIGNMENTS 106 A more detailed description is shown here of each bit location. It should be known, that because the Data Bus Lines (07-00) has inverted logic, a logic 1 (set) means low state. Also, a modem control signal which is inverted (example DTR), is in on-state (set) when low. Control Register 1 (CR1) When initiating a transmiVreceive operation, this should be the last register programmed. Miscellaneous Output (CR10) This bit controls the Miscellaneous Output signal to the data set. When CR10 is a logical 0, Misc Out is off, when it is a logical 1, Misc Out is on. OTR Command (CRll) This bit controls the data Terminal Ready (DTR) signal to the data set. When CRll is a logical 0, DTR is off. When CRll is a logical 1, DTR is on. When the Self-Test mode is selected, DTR signal is forced to an off state. Transmitter Character Length (CR13, 12) These bits control the transmitted I-field data character length. The data character may be 5, 6, 7 or 8 bits long. CR13 (TCL1) CR12 (TCLO) 0 0 0 1 0 Bits Per Character 8 7 6 5 Transmitter Commands (CR15, 14) These bits control the transmission of DATA (A-field, C-field and I-field), ABORT, FLAG, and FCS (FCS pius FLAG). When these commands are programmed, the previous command currently still in progress, will complete the transmission of its character. When this is done, a new character generated by this new command, will be transmitted. If DATA is programmed, the new character to be transmitted will be the character loaded (or still to be loaded) in the THR register. If ABORT is programmed, the new character will be eight logical I's. If FLAG is programmed, the new character will be 01111110. If FCS is programmed, three new characters will be transmitted; first the 16-bit content of the FCS XMIT REGISTER, then a FLAG. One serial data bit time ahead of the first bit (LSB) of this new character ( ~ FLAG character when FCS command) being transmitted, the CPU is signalled that the WD1933 is again ready to receive a new command. This signal is an INTRO (XMIT OPCOM), if the now current command is ABORT, FLAG or FCS. This signal is a DROO, if the current command is DATA. However, in this latter case (DATA), the user has two choices; 1. Change the command. 2. Keep the DATA command and load a new character into the THR register. For more information, please see the Transmission Timing diagram, Figure 8. Programming, see figure below. CR15 (TC1) CR14 (TCO) 0 0 1 0 1 0 Activate Transmitter (CR 16) This bit when set, enables the transmitter and sets RTS Signal. If in SDLC Loop Mode (CR22 ~ set), the transmitter waits for a Go-Ahead pattern before the transmitter is enabled. Activate Receiver (CR 17) This bit when set activates the receiver, which begins shifting in frames one character at a time into RR register for inspection. CONTROL REGISTER 2 (CR2) Auto Flag (CR20) When set, Flags (without INTROs) will be continuously transmitted in between frames, when otherwise the transmitter would be in idle state. Self-Test Mode (CR21) When set, the Transmitter Data Output is internally connected to the Receiver Data input circuitry. The modem control output Signals are deactivated (off state). The modem control input signals are internally activated. This mode allows off-line diagnostic. SDLC Loop Mode (CR22) When set, the WD1933 is conditioned to operate in an SDLC Loop Data Link system (see SDLC Loop Mode). Receiver Character Length (CR24, 23) These bits indicate to the receiver how many bits per character there are to assemble for the I-field. The I-field characters may be 5, 6, 7 or 8 bits long. The unused bits read from RHR will be 10gical0. CR24 (RCLl) CR23 (RCLO) Bits Per Character 0 0 1 0 1 0 8 7 6 5 Extended Address (CR25) When set, this bit indicates to the receiver that there is more than one address character in the A-field. The receiver will expect another address character if the LSB in the current address character is a logical O. The purpose of this bit: If a non-8-bit I-field character length is expected, the DROls will get out of synchronization if the WD1933 does not know exactly when the I-field will start. Not used in transmit mode. Address Compare (CR26) When set, the first address character will be inspected in the Address Comparator. If there is a match with the AR register, or if the address compared is a Global Address (eight 1's) the frame is considered valid, causing DROls to be generated. Otherwise, the receiver does not react, and will continue comparing for a new valid address. If not set, all frames are considered valid. Extended Control (CR27) When set, indicates that there are two control characters per frame. If not set, there is only one control character per frame. The purpose of this bit: If a non-8-bit I-field character length is to be received, the DROls will get out of synchronization if the WD1933 does not know when the I-field will start. Not used in transmit mode. Command DATA ABORT FLAG FCS 107 Character/s Transmitted Signal to CPU Content of THR 1111 1111 0111 1110 FCS + 01111110 DROO INTRO INTRO INTRO CR32 (TRES 2) CR31 (TRES 1) CR30 (TRES 0) a a a a a a a 1 1 a 1 1 a CONTROL REGISTER (CR3) Transmit Residual Character Length (CR32, 31, 30) These bits inform the transmitter what bit-length the residual character will be. If no residual character is to be sent, these bits must be set to logical O. Unused (CR33-37) always a logical O. These bits are not used, and are INTERRUPT REGISTER (IR) This register contains the information why an interrupt (INTRQ) was generated. An IR register read operation, will reset bits 0, and 3-7. Loading the THR register, will reset DRQO (bit 1). Reading the RHR register, will reset DRQI (bit 2). A new interrupt will occur if one is pending. If a new interrupt is generated while the CPU is reading the IR register, this new interrupt will set the respective bit in the IR register one bit time later (this to avoid losing any interrupt). The status of bits 3-7 will accumulate until the IR register is read by CPU. INTRQ (IRO) When set, indicates an interrupt and that there are one or more bits set in positions 3 through 7 of this register. This bit is a mirror image of INTRQ signal (pin 6). CD1 LO LO HI HI COO LO HI LO HI No residual char. sent 1 bit 2 bits 3 bits 4 bits 5 bits 6 bits 7 bits 1 1 a a 1 1 Residual Char. Length a 1 DRQO (IR1) When set, indicates a Data request output. This bit is a mirror image of DRQO signal (pin 18). DRQI (IR2) When set, indicates a Data Request input. This bit is a mirror image of DRQI signal (pin 19). Data Set Change (IR3) When set. indicates a change of state of the Data Set (Data Communication Equipment). This is a change of state of DSR, CD orR!. The type of change of CD andR! that this bit will react to, is programmed by use of input signals CD11CDO andRf1IRIO and is shown below. XMIT Operation Complete with Underrun Error (IR4) When set, indicates that the transmitter command has been completed and there was an Underrun error. An Underrun error occurs when the Data Request Output (DROO) is set, but THR register is not loaded in time. XMIT Operation with No Error (IR5) When set, indicates that the transmitter command has been completed and there was no error. Received End of Message With Errors (IR6) When set, indicates that a Received End of Message is detected, and there was an error. Errors include CRC, Overrun, Invalid Frame and Aborted Frame. The SR Register bits 0-2 will indicate the exact type 9f error. Received End Of Message With No Error (IR7) When set, indicates that a Received End of Message is detected, and there was no error. Interrupting edge of CD Rl1 RT5 Interrupting edge of RI Rising and falling Falling Rising None LO LO HI HI LO HI LO HI Rising and falling Falling Rising 108 None STATUS REGISTER (SR) This register contains the status of the receiver and some modem control signals. It a'so indicates (if REOM w/Errors) exactly what type of errors. If the Receiver Character Length is 8 bits, this register indicates the amount of Residual bits that was received. A read operation will reset bits 0-2. Received ErrorlReceived Residual Character Length (SR 2-0) If REOM wiNO ERROR (IR7) is set, and the Receiver, Character Length (CR24, 23) is 8 bits, these bits (SR 2-0), indicate the number of residual bits received. tf REOM WITH ERROR (tR 6) is set, these bits indicate the type of error that occurred, as shown in figure below. Bit Set Error SRO SR1 SR2 CRC Overrun Aborted or Invalid frame Receiver Idle (SR 3) When set, indicates that the receiver is currently IDLE. Miscellaneous Input (SR4) This is a mirror image of MISC IN signal. When this signal is set, SR4 bit is set. Data Set Ready (SRS) This is mirror image of DSR signal. When this signal is set, SR5 bit is set. Carrier Detect (SR6) This is a mirror image of CD signal. When this signal is set, SRS bit is set. Ring Indicator (SR7) This is a mirror image of Rl signal. When this signal is set, SR7 bit is set. TRANSMITTER OPERATION Prior to this operation, the programmable inputs and the transmit mode related register bits need to be programmed according to the user's specific data communications environment. The last bit to be set is always the ACT TRAN (CR1S) bit. Before this, the INTRO has to be cleared, which can be done by reading the IR register. For more detailed information how to program the WD1933, see Programming. As an example of how to program the WD1933, let's assume a 24-bit information is to be transmitted. The I-field would then consist of three B-bit characters with no residual bits. CR3 should then be 00 (Hex). If Auto Flag is selected, CR20 has to be set, CR21 and CR22 should be logical O's, as this example is no Self-test alld no SDLC Loop Mode. Bits CR23-CR27 are for reception only (see Receiver Operation). The last register to be programmed is CR1. If MISC OUT is not used, this may be ignored. If a modem is used, DTR (CR11) is to be set. CR14 and CR12 should be logical O's (B-bit char. length). CR15 and CR14 should be logical a's (Data Command). ACT TRAN (CR16) bit is to be set. The ACT FlEC (CR17) is for reception only. The DTR bit, when set, activates the OTR signal, indicating to the modem to prepare for communication. When the modem is ready, it sends back a Data Set Ready (OSR) to the W01933. This causes the DSC (IR3) bit to set, which in turn activates INTRO. The IR register is now read. Simultaneously, when the ACT TRAN (CR1S) bit is set, this activates the Request to Send (RTS) signal, instructing the modem to enter into transmit mode. When the modem is ready to trans- 109 mit data, it responds by activating the Clear to Send (CTS) signal. The WD1933 is now conditioned to transmit. Now DROO gets set, indicating to the CPU (or OMA) to load the first character (Address) into the THR. When this is done, OROO will reset. As soon as the W01933 is ready to be loaded with the next character to be transmitted, OROO is again set. When the THR register is again loaded with a character, DROO will again reset. This same sequence continues until the last I-field character to be transmitted is loaded into the THR. Ii CRC checking is to be used, the next time when OROO is set, an FCS command has to be programmed. This is accomplished bv either setting CR15, 14 to both logical 1's or by activating the EOB signal. At the end of the FCS being transmitted, INTRO will set indicating XMIT Operation Complete. The IR register is to be read to find out whether the frame was sent with or without error. Also the FCS Command which was used as described above has to be changed. If CR15, 14 were set, these have to be reset (to Data Command), or if EOB was activated, this signal has to be deactivated. At this same time, the ACT TRAN bit is allowed to be reset, causing the TO output to go idle after the end Flag is sent. If the ACT TRAN bit is kept set, continuous Flags will be sent following the FCS. If a new frame is to be sent right after this first frame, only one Flag is needed in between frames, meaning the frames have one common Flag character. In this case, the second frame Address character may be loaded at the same time the FCS command is programmed during the first frame. Also, the ACT TRAN bit should be kept set in between frames. Every time OROO gets set, the user must load the THR register before the last loaded character only has 1.5 bits left to be transmitted. In other words, when ORQO gets set, the user may wait (if 8-bit characters) up to 7.5 serial data bits before loading the THR. If THR is not loaded within this time, an Underrun error will occur. If Auto Flag is not selected (CR20 ~ logical 0) the sequence will be a little different than described below. When the first DROO is set, and after the Address character is loaded into THR, a Flag command is also programmed (CR15. 14 ~ 10). This will set an interrupt (INTRO), which indicates that the IR register must be read. Now, the Data Command is reprogrammed (CR15, 14 ~OO). For more information, see Transmission Timing diagram. ABORT CONDITIONS The function of prematurely terminating a data link is called an "Abort." The transmitting station aborts by sending eight consecutive 1·s. Unintentional Abort caused by I's in the AC- or I-field is prevented by zero insertion. Intentional Abort may be sent by programming an Abort command. Abort will also be sent in the case where THR is not loaded in time or FCS command is not programmed in time (~underrun). This means that after the ORWO is set, to avoid Abort; THR must be loaded, EOB activated or FCS command programmed before there is only 1.5 bits left of the last character to be transmitted. If this is not done, INTRO (XMIT OPCOM w/underrun) is set and Aborts are transmitted until, either the command is changed or the THR is loaded. If in this same case, Auto Flag was programmed, one Abort (with INTRO) would be generated, and thereafter continuous Flags (with no INTRQs) will be sent. RECEIVER OPERATION Prior to this operation, the programmable inputs and the receive mode related register bits have to be programmed according to the user's specific data communication environ- ment. Also, the INTRa has to be cleared. The last bit to be set is always the ACT REC (CR17) bit. For more detailed information how to program the WD1933, see Programming. As an example, let's assume a 26-bit information is to be received, and the I-field is made up by a-bit characters. The CR3 register is only for transmit mode, and may be ignored here. CR20 and CR 12-16 bits are also for transmit mode only, and therefore may also be ignored. CR21 and CR22 are to be logical as (no Self-Test and no SDLC Loop Mode). CR24, 23 are to be logical a's (8-bit character I-field). If only one A-field and one C-field character is expected, and this WD1933 has a specific address, CR25 should be a logical 0, CR26 should be a 1, and CR27 should be a O. The address to which the A-field should compare should be loaded into the AR register. The status of the modem is monitored by the SR register, and it may be useful to read it at this time. CR 1 is loaded as the last register. CR10 (Misc In) bit is optionable to the user. CR11 (DTR) is to be set if modem is used. CR17 (ACT REC) is now set, starting the input of frame characters into the Receiver Register (RR). When a Flag is detected, the next a-bit character (address-character), when received, is compared to the character in the AR register. If these match, or if the received character is a Global address, this frame is valid, and the DROI gets set. If the Address Comparator (CR26) bit is not set, all frames would be considered valid and generate DROls. When the RHR register is read, DROI will be reset. All characters in a valid frame which are input into the RR register will set DROI, and every time RHR is read by the CPU, DROI will be reset. During reception, the receiver also performs a CRC calculation on the incoming data. When the end Flag is received, INTRa will get set, indicating Received End of Message. If the reception is completed with no error, IR7 (REaM wino Error) bit will be set. When 8-bit characters are received SR 0-2 bits indicate the number of residual bits, in this case two. If IR6 (REaM wlError) was set, SR 0-2 bits indicate the type of errors (see Received Error Indication). When all characters including the A-field and the FCS-field are read, and when the RE interrupt is recognized, it is up to the user to disassemble these mentioned characters from the received data. If non-8-bit characters are received, the amount of residual bits have to be calculated by the CPU after masking out the part of the ending Flag showing up in the last read character. After end of frame, the receiver begins searching for a new frame. For more information, see Reception Timing diagram. RECEIVER ERROR INDICATION When a frame is received, and REaM wlError (IR6) is set, the type of error is indicated by the SR bits 0-2. CRC Error (SRO) If the CRC calculation performed on the incoming data does not equal to FOB8 (HEX), this bit will be set. Overrun Error (SR1) After DRQI is set, if the RHR is not read within one character minus one bit time, this bit will be set. Aborted or Invalid Frame Error (SR2) If the frame is aborted, or it consists of less than 32 bits between flags, this bit will be set. NOTES 1. TC-command-If two or more contiguous ABORTS of FLAGS are executed, the ACT TRAN (CR16) bit has to be reset before DATA-command can be executed. 2. Master Reset (MR)-Needs no clock during activation of MR. However, 2.5 clock pulses are required to reset the WD1933 after the falling edge of MR. 3. IR-register-Immediately when IR register is read, bit a will reset. Bits 3-7 are reset one bit time later. 4. SR-register-Bits 0-2 are reset one bit time after SR register being read. 5. SDLC Loop mode-Go-ahead pattern may be sent by either sending IDLE or ABORT. 110 Tc" (1)1; CLOCK) r " AEAD ~------------------~--------------~~ _1_ NOTE 1. CR3 = DOH, CR2 = 01H. CRl = 02H (FOR THIS EXAMPLE ONLY) NOTE 2. WRITE FCS COMMAND, OR ACTIVATE EOB. NOTE 3. WRITE DATA COMMAND, OR DEACTIVATE EOB. NOTE 4. INF. DATA MAY CONSIST OF ANY NUMBER OF BITS. Figure 8 WD1933 TRANSMISSION TIMING DIAGRAM ORQI ----1j-------------! I INTRQ ,~_ _ _ _ _ _ _ _ _ _.,_---___:_----_:_---____;----_:_----~IL -----;-f,t i l .~ I~~ ~~~ NOTE 1. AR = 19H, CR2 L -L -L -L ==: 40H. CRl = 02H 6 ~ i~~ lii~ffi ~~g ~~5 "0. ~~~ -L un , ~~~ g~~ ~~5 (FOR THIS EXAMPLE ONLY) NOTE 2. INF. DATA (I-FIELD) MAY CONSIST OF ANY AMOUNT OF BITS. NOTE 3. CPU DOES NOT KNOW UNTIL RECEIVED END OF MESSAGE (REOM) THAT THIS IS AN FCS CHARACTER. Figure 9 WD1933 RECEPTION TIMING DIAGRAM 111 ,.. READ SPECIFICATIONS ELECTRICAL CHARACTERISTICS Absolute Maximum Ratings Storage Temperature Storage Temperature Voltage on any pin with respect to GND (V 55) Power Dissipation -55'C to +125'C (plastic package) -65'C to +150'C (ceramic package) -0.3 to + 7.0V tW DC Characteristics TA = O'C to +70' Vss = OV, VCC =+5 ± 0.25V Symbol III ILO V,H V,L VOH VOL Icc Parameter Min Input Leakage Output leakage Input High Voltage Input low Voltage Output High Voltage Output low Voltage Supply Current Typ Max Conditions Units uA uA V V V V ma 10 to 2.4 0.8 2.4 0.4 40 VIN = Vee Vout = Vee or Vss All Inputs 10 = -100uA 10= 1.6mA Table 3 WD1933 DC CHARACTERISTICS AC Characteristics TA = O'C to +70'C Vss=OV,Vee= +5±0.25V Symbol TAS TAH Tess TesH TREO Tov TORQlR T'NTRQR TRE Tos TOH TORQOR TWE Fe Parameter Min READ AND WRITE Address Set-up Address Hold Chip Select Set-up Chip Select Hold READ Data Delay from RE Data Valid from RE DROI Reset Delay INTRO Reset Delay RE pulse width WRITE Data Set-up Data Hold DROO Reset delay WE pulse width Input Clock 32X lX 32X lX 32X lX 32X IX Typ Max Units Conditions CL = 50 pF ns ns ns ns 0 0 0 0 CL = 50pF 240 140 280 280 120 120 0 330 120 DC DC DC DC DC DC DC DC 2.0 0.5 2.0 1.0 2.0 1.5 2.5 2.0 Table 4 WD1933 AC CHARACTERISTICS 112 ns ns ns ns ns ns ns ns ns MHz MHz MHz MHz MHz MHz MHz MHz C L = 50pF CL = 50pF WDl 933-00/1 0 WDl 933-00/1 0 WD1933-01/11 WD1933-01/11 WD1933-02/12 WD1933-02/12 WD1933-03 WD1933-03 HIGH IMP. STATE VALID 7\O,7\i.A2 cs RE -------.1:TORQIR_ ORal INTRQ t TRE - - - - - - - - - 1E_QR_ Figure 10 WD1933 READ TIMING DIAGRAM 7\O.A1,A2 cs WE ORao Figure 11 WD1933 WRITE TIMING DIAGRAM 113 ORDERING INFORMATION Part No. WD1933A-DD WD1933A·1D WD1933B·DO WDt933B-1D WD1933A-Dl WD1933A-ll WD1933B-Dl WD1933B·ll WD1933A·D2 WD1933A-12 WD1933B-D2 WD1933B-12 WD1933A·D3 WD1933B-D3 Package Type Loop Mode Ceramic Ceramic Plastic Plastic Ceramic Ceramic Plastic Plastic Ceramic Ceramic Plastic Plastic Ceramic Plastic no yes no yes no yes no yes no yes no yes no no Maximum Data Rate Temp. Range 5DDKBPS 5DDKBPS 5DDKBPS 50DKBPS 1.DMBPS 1.DMBPS 1.DMBPS 1.DMBPS t.5MBPS 1.5MBPS 1.5MBPS l.5MBPS 2.DMBPS 2.DMBPS DOC DOC D'C DOC DOC DOC DOC DOC DOC DOC DOC DOC DOC DOC to to to to to to to to to to to to to to +7DoC +7DoC +7DoC +7D'C +7D'C +7D'C +7DoC +7DoC +7DoC +7D'C +7D'C +7D'C +7DoC +7DoC Table 5 WD1933 ORDERING INFORMATION J::::::O:: : :l+ DO' I 2 OOQ REF I 0115 MAX f ~_~rr 0040 ---l1---Ol00TYP ~5 --!-O !:o 010 -1 "5 - 0 WD19338 PLASTIC PACKAGE WD1933A CERAMIC PACKAGE Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporalion. Western Digital Corporation reserves the right to change said circuitry at any lime without notice. WESTERN DIGITAL CORPORArlON 3128 REDHILL AVENUE. BOX 2180 NEWPORT BEACH. CA 92663 (714) 557-3550.TWX 910-595-1139 114 WESTERN DIGITAL c o R BR1941 p o A R T / o N Dual Baud Rate Clock FEATURES GENERAL DESCRIPTION .. 16 SELECTABLE BAUD RATE CLOCK FREQUENCIES • DUAL SELECTABLE 16 X CLOCK OUTPUTS FOR FULL DUPLEX OPERATIONS • OPERATES WITH CRYSTAL OSCILLATOR OR EXTERNALLY GENERATED FREQUENCY INPUT The BR1941 is a combination Baud Rate Clock Gen- ~ erator and Programmable Divider. It is manufactured in N-channel MOS using silicon gate technology. This de- ~ vice is capable of generating 16 externally selected clock rates whose frequency is determined by either a single crystal or an externally generated input clock. The BR1941 is a programmable counter capable of generating a division from 2 to (2 15 -1). .. ROM MASKABLE FOR NON-STANDARD FREQUENCY SELECTIONS .. INTERFACES EASILY WITH MICROCOMPUTERS .. OUTPUTS A 50% DUTY CYCLE CLOCK WITH 0.01% ACCURACY .. 18 PIN CERAMIC DIP PACKAGE o 3 DIFFERENT FREQUENCY/DIVISOR PAIRS AVAILABLE :.:II: :li The BR1941 is available programmed with the most used frequencies in data communication. Each frequency is selectable by strobing or hard wiring each of the two sets of four Rate Select inputs. Other frequencies/division rates can be generated by reprogramming the internal ROM coding through a MOS mask change. Additionally, further clock division may be accomplished through cascading of devices. The frequency output is fed into the XTAL/EXT input on a subsequent device. The BR1941 can be driven by an external crystal or by TIL logic. TA TB TC XTAl/EXT 1 +5V TC XTAlIEXT 2 STT fT fR TA RA T8 FT RS TC RC TO RD FR STT STR GND +12V NCRA RB RC RD -INTERNALLY BONDED. DO NOT CONNECT ANYTHING TO THIS PIN. PIN CONNECTIONS BR1941 115 BLOCK DIAGRAM PIN DESCRIPTION PIN NUMBER 1 SYMBOL XTAL/EXT 1 NAME FUNCTION Crystal or External Input 1 This input receives one pin of the crystal package or or one polarity of the external input. 2 VCC Power Supply +5 volt Supply 3 fR Receiver Output Frequency This output runs at a frequency selected by the Receiver Address inputs. RA. RB. RC. RD Receiver Address The logic level on these inputs as shown in Table 1. selects the receiver output frequency. fRo 8 STR Strobe-Receiver Address A high-level input strobe loads the receiver address (RA. RB. RC. RD) into the receiver address register This input may be strobed or hard wired to +5V. 9 VDD NC Power Supply +12 volt Supply 10 No Connection Internally bonded.Do not connect anything to this pin. 11 GND Ground Ground 12 STT Strobe-Transmitter A high-level input strobe loads the transmitter address Address (TA. TB. TC. TD) into the transmitter address register. This input may be strobed or hard wired to +5V. TO. TC. TB. TA Transmitter Address The logic level on these inputs. as shown in Table 1. selects the transmitter output frequency. fT' 17 fT Transmitter Output Frequency This output runs at a frequency selected by the Transmitter Address inputs. 18 XTAL/EXT 2 Crystal or External Input 2 This input receives the other pin of the crystal package or the other polarity of the external input. 4-7 13-16 STROBE ,STRSTT' CRYSTAL OPERATION BR1941 11 EXTERNAL INPUT OPERATION BR1941 ~- \~:' "ADDRESS NEED ONl ¥ Sf vAUO DURING THE LAST Tf>W TIME Of THE INPUT STROBE CONTROL TIMING CRYSTAL/CLOCK OPTIONS 116 U ~ ABSOLUTE MAXIMUM RATINGS +20.0V Positive Voltage on any Pin, with respect to ground Negative Voltage on any Pin, with respect to ground -0.3V (plastic "M" package) - 65°C to + 125°C (ceramic "L" package) - 65°C to + 150°C Storage Temperature Lead Temperature (Soldering, 10 sec.) +325°e ·Stresses above those listed may cause permanent damage to the device. This is a stress rating only and Functional Operation of the device at these or at any other condition above those indicated in the operational sections of this specification are not implied. ELECTRICAL CHARACTERISTICS (TA =ooe to 70 oe, Vee =+5V ±5Ofa, Voo PARAMETER MIN =+12V ± 50fa, unless otherwise noted) TYP MAl( UNIT COMMENTS CtiARACTEAlSTICS /'.,,-, ,:-' ,,-, ,1;ACCHARACTERISTICS :/'CJ..OCKfREQUENCV ','7Rl.lLSE.iNIDTH(Tpwl ;:pIQck ;;;f\eeeiver; lItrobe . itter.strobet NOTE1: Input set-up time can be decreased to >0 ns by increasing the minimum strobe width by 50 ns to a total of 200 ns. All inputs except XTALlEXT have internal pull-up resistors. 117 OPERATION Standard Frequencies Choose a Transmitter and receiver frequency from the table below. Program the corresponding address into TA-TD and RA-RD respectively using strobe pulses or by hard wiring the strobe and address inputs. Non-Standard Frequencies To accomplish non-standard frequencies do one of the following: 1. Choose a crystal that when divided by the BR1941 generates the desired frequency. 2. Cascade devices by using the frequency outputs as an input to the XTAL/EXT inputs of the subsequent BRl941. 3. Consult the factory for possible changes via ROM mask reprogramming. FREQUENCY OPTIONS TABLE 1 CRYSTAL FREQUENCY = 5.0688 MHZ Transmit/Receive Address Theoretical Actual Frequency 16X Clock Frequency 16X Clock 0.8 KHz 1.2 1.76 2.152 2.4 4.8 9.6 19.2 28.8 32.0 38.4 57.6 76.8 115.2 153.6 307.2 O.8KHz 1.2 1.76 2.1523 2.4 4.8 9.6 19.2 28.8 32.081 38.4 57.6 76.83 115.2 153.6 316.8 Baud D C B A Rate 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 SO 75 110 134.5 ISO 300 600 1200 1800 2000 2400 3500 4800 7200 9600 19,200 Duty Percent Error - - 0.Q16 - Cycle % Divisor SO/SO SO/SO SO/SO SO/SO SO/SO SO/SO SO/SO 6336 4224 2880 2355 2112 1056 528 264 176 158 132 88 SO/SO SO/50 48/52 SO/SO 66 44 33 16 50/50 - SO/SO 0.253 SO/SO SO/SO - - 3.125 5OISO BR1941-00 TABLE 2. CRYSTAL FREQUENCY = 4.9152 MHZ D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Transmit/Receive Address C B 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 Baud Theoretical Frequency A Rate 16X Clock 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 SO 75 110 134.5 ISO 300 600 1200 1800 2000 2400 3600 4800 7200 9600 19,200 *When the duty cycle is not exactly 50% it is 50% 0.8 KHz 1.2 1.76 2.152 2.4 4.8 9.6 19.2 28.8 32.0 38.4 57.6 76.8 115.2 153.6 307.2 .:!: Duty Actual Frequency 16X Clock 0.8 KHz 1.2 1.7598 2.152 2.4 4.8 9.6 19.2 28.7438 31.9168 38.4 57.8258 76.8 114.306 153.6 307.2 100/0 BR1941\-05 118 Percent Error - - Cycle % 6144 4096 2793 5OISO SO/SO 2284 -0.01 - Divisor SO/SO 60/60 - 5OISO 2048 1024 512 256 171 154 128 85 64 - 5OISO 50150 32 16 - - -0.19 -0.26 - SO/SO 5OISO SO/SO 5OISO SO/SO 0.39 -o.n 43 TABLE 3 CRYSTAL FREQUENCY Transmit/Receive Address D C B A 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 = 5.0688 MHZ Theoretical Actual Baud Rate Frequency 32>< Clock Frequency 32X Clock 50 75 110 134.5 1SO 200 300 600 1.6 KHz 1.6 KHz 2.4 3.52 2.4 3.52 - 4.304 4.303 .026 4.8 6.4 9.6 19.2 4.8 6.4 9.6 19.2 38.4 57.6 - 1200 38.4 1800 2400 3600 4800 7200 9600 19,200 57.6 76.8 115.2 153.6 230.4 307.2 614.4 ·When the duty cycle IS nol exactly 50% It IS 50"/" :!: Duty Percenl Error - - 76.8 115.2 153.6 230.4 298.16 633.6 - Cycle % SO/SO SO/SO SO/50 SO/SO SO/50 SO/50 SO/SO SO/SO SO/50 SO/50 SO/SO SO/50 - SO/50 2.941 3.125 SO/SO Divisor 3168 2112 1440 1178 1056 792 528 264 132 88 66 44 33 22 17 8 10''10 BR1941-06 APPLICATIONS INFORMATION OPERATION WITH A CRYSTAL The BR1941 Baud Rate Generator may be driven by either a crystal or TTL level clock, When using a crystal, the waveform that appears at pins 1 (XTALlEXT 1) and 18 (XTALlEXT 2) does not conform to the normal TTL limits of V IL '" 0.8V and VIH '" 2.0V. Figure 1 illustrates a typical crystal waveform. Since the D,C, level of the waveform causes the least positive point to typically be greaterthan 0.8V, the BR1941 is designed to look for an edge, as opposed to a TTL level. The XTALlEXT logic triggers on a rising edge of typically 1V in magnitude. This allows the use of a crystal without any additional components. OPERATION WITH TTL LEVEL CLOCK With clock frequencies in the area of 5 MHz, significant overshoot and undershoot can appear at pins 1 and/or 18. The BR1941 may, at times, trigger on a rising edge of an overshoot or undershoot waveform, causing the device to effectively "double-trigger". This phenomenon may result as a twice expected baud rate, or as an apparent device failure, Figure 2 shows a typical waveform that exhibits the "ringing" problem. The design methods required to minimize ringing include the following: 1. Minimize the P.C. trace length. At 5 MHz, each inch of trace can add significantly to overshoot and undershoot. 119 2. Match impedances at both ends of the trace. For example, a series resistor near the BR1941 may be helpful. 3. A uniform impedance is important. This can be accomplished through the use of: a. parallel ground lines b. evenly spaced ground lines crossing the trace on the opposite side of PC board c. an inner plane of ground, e.g., as in a four layered PC board. In the event that ringing exists on an already finished board, several techniques can be used to reduce it. These are: 1. Add a series resistor to match impedance as shown in Figure 3. 2. Add pull-up/pull-down resistor to match impedance, as shown in Figure 4. 3. Add a high speed diode to clamp undershoot, as shown in Figure 5. The method that is easiest to implement in many systems is method 1, the series resistor. ·The series resistor will cause the D.C. level to shift up, but that does not cause a problem since the BR 1941 is triggered by an edge, as opposed to a TTL level. The BR1941 Baud Rate Generator can save both board space and cost in a communications system. By choosing either a crystal or a TTL level clock, the user can minimize the logic required to provide baud rate clocks in a given design. CRYSTAL SPECIFICATIONS User must specify termination (pin, wire, other) Frequency-5.0688 MHz, or 4.9152 MHz Temperature range O°C to 70°C Series resistance 50n Series resonant Overall tolerance ± .01% Bulova Frequency Control Products 61-20 Woodside Avenue Woodside, New York 11377 (212) 335-6000 CAL Crystal 1142 N. Gilbert Street Anaheim, California 92801 (Available in HC-18 small can) (714) 991-1580 CRYSTAL MANUFACTURERS (Partial List) Northern Engineering Laboratories 357 Beloit Street Burlington, Wisconsin 53105 (414) 763-3591 CTS Knights Inc. 101 East Church Street Sandwich, Illinois 60548 (815) 786-8411 5.0 4.0 VOLTS 3.0 2.0 1.0 T 2T 3T Time 4T Figure 1 TYPICAL CRYSTAL WAVEFORM +5.0 +4.0 VOLTS +3.0 +2.0 +1.0 0 -1.0 Time Figure 2 TYPICAL "RINGING" WAVEFORM 120 Typical Values R1 = R2=33fl BR1941 Figure 3 SERIES RESISTOR TO MATCH IMPEDANCE +5V +5V R3 ~ R1. 1 "" 1 R4 18 I R2 ~ Typical Values R1=R3=2.7K R2 = R4=3.3K BR1941 Figure 4 PULL-UP/PULL-DOWN RESISTORS TO MATCH IMPEDANCE 1 1 I 18 ~ BR1941 7' Figure 5 HIGH-SPEED DIODE TO CLAMP UNDERSHOOT 121 1 L °920 100'5 0'50~Mi'N ....i. 50 MAX. 0' MAX. I I QillE --11:- 0021--1 L --J 0035 0055 L 0090 0110 mmm LI~,~2~1 MAX.--- I ! I 00"--11:- 0125 002'--1 MIN BR1941L CERAMIC PACKAGE 1 L --J 0035 0055 Lo090 OliO ! 0125 MIN 0320 1 I MAX 1 A ~~;~g-l BR1941M PLASTIC PACKAGE Information furnished by Western Digital Corporation is believed to be accurate and reliabJe. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may resuH from its use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said circuitry at anytime without notice. WESTERN DIGITAL CORPORATION 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 122 WESTERN DIGITAL p c o R o R A T / o N WD1983 (BOART) BUS ORIENTED ASYNCHRONOUS RECEIVER/TRANSMITTER FEATURES ASYNCHRONOUS MODE • • • • • • • • • • • • BAUD RATE-DC TO 3BK BITS/SEC (lBX) SELECTABLE CLOCK RATES FULL DUPLEX OPERATION SELECTABLE 5,B,7, & 8 BIT CHARACTERS LINE BREAK DETECTION AND GENERATION 1, 1Y2, or 2 STOP BIT SELECTION FALSE START BIT DETECTION OVERRUN AND FRAMING ERROR DETECTION DC TO 3BK BITS/SEC (lBX) DC TO BOOK BITS/SEC (1 X) 8251/8251 A ASYNCHRONOUS ONLY REPLACEMENT REQUIRES NO ASYNCHRONOUS SYSTEM CLOCK 28 PIN PLASTIC OR CERAMIC +5 VOLT ONLY • lX, lBX, 64X, BAUD RATE CLOCK INPUTS • UP TO 47% DISTORTION ALLOWANCE WITH 64X CLOCK ASYNCHRONOUS COMMUNICATIONS SERIAL/PARALLEL INTERFACE GENERAL DESCRIPTION The WD 1983 is an N channel silicon gate MOs/LSI device that interfaces a digital asynchronous channel with a parallel channel. It is available in a ceramic or plastic standard 28 pin dual in line package. The WD1983 is a fully programmable microprocessor I/O peripheral with two control registers and a status register. It is capable of fu II duplex operations. D, 27 Do " " " Vcd+SV) (GNO)Vss D, D, D, D, i'XC WE os c/O' 23 " DSA MA TXD TXE " -Ci'S 17 fiE RXADY Axe DTA RTs NC " BRKOET " TXADY FIGURE 1 WD1983 PIN-OUT III APPLICATIONS • DOUBLE BUFFERING OF DATA • 8 BIT BI-DIRECTIONAL BUS FOR DATA, STATUS, AND CONTROL WORDS • ALL INPUTS AND OUTPUTS TTL COMPATIBLE • CHIP SELECT, RE, WE, C/O INTERFACE TO CPU • ON-LINE DIAGNOSTIC CAPABILITY • THREE STATE DATA BUS D, c( :::) a: UJ II- SYSTEM COMPATIBILITY AXD >" a: FIGURE 2 WD1983 BLOCK DIAGRAM 123 PIN. NO. 4 PIN NAME SYMBOL FUNCTION POWER GND VSS Ground 26 POWER SUPPLY VCC +5 Volts 11 CHIP SELECT (jS This input, when low, enables READ or WRITE operations. 13 READ ENABLE RE This input, when low, accesses the contents of the addressed register. 10 WRITE ENABLE WE This input, when low, writes the data on the DATA BUS into the addressed register. 21 MASTER RESET MR This input, when high, initializes the device and clears the COMMAND and MODE REGISTERS. 12 CONTROL/DATA C/O This input selects the CONTROL or DATA register. It is used in conjunction with a READ or WRITE enable. 19 TRANSMIT DATA TXD This output is the transmit serial data. When no data is being transmitted or after MASTER RESET, this output is high (a marking condition). COMMAND CONTROL word bit 3 is used to program a break cond ition by forcing the TXD output to a low (spacing condition). 9 TRANSMIT CLOCK 'i'XC This input is the source clock for transmission. MODE IN· STRUCTION word bits MRO & MR1, control 1X, 16X, or 64X, times the transmitted bit rate. 18 TRANSMIT EMPTY TXE This output is set high after MASTER RESET and is automatically reset when a character is written into the TRANSMITTER HOLDING REGISTER. It returns high at the end of a transmitted character indicating the end of transmission if the TRANSMIT HOLDING REGISTER has not been loaded. 15 TRANSMIT READY TXRDY This output is set high after MASTER RESET. It indicates that the transmitter is ready to accept a character and is automatically reset whenever a character is written into the TRANSMITTER HOLDING REGISTER. 124 PIN NO. PIN NAME SYMBOL FUNCTION RECEIVE DATA RXD This input is the received serial data. 25 RECEIVE CLOCK RXC This input is the receiver clock. MODE INSTRUCTION word bits MRO & MR1 control whether this input is 1X, 16X or 64X limes the received bit rate. 14 RECEIVER READY RXRDY This output is set low after MASTER RESET. When set high il indicates that the receiver has assembled a character and transferred illo the RECEIVER HOLDING REGISTER. It is automatically reset when the RECEIVER HOLDING REG· ISTER is read. 16 BREAK DETECT BRKDET This output is reset after MASTER RESET. It is set high when the receiver detects a string of zeros equal to the pro· grammed character length including start, parity and stop bits. Upon detecting a valid one data bit it's reset. Assembly of the next character is begun after detecting a valid start bit. 17 CLEAR TO SEND CTS This input is sellow to enable Ihe Iransmitter. When set high it disables transmission. If the transmitter is transmitting a character, it will terminate transmission after the TRANSMIT· TER REGISTER is empty. 24 DATA TERMINAL READY DTR This is a general purpose output which is set and cleared by COMMAND word bit CR1. It is reset after MASTER RESET. 23 REQUEST TO SEND RTS This is a general purpose output which is set and cleared by COMMAND word bit CRS. It is reset after MASTER RESET. 3 1,2,5, 6,7,8, 27,28 22 20 DATA BUS DATA SET READY -- DO THRU D7 -DSR NC 125 These are input/output pins. Dala on the DATA BUS is wril· ten into Ihe selected register during a WRITE operation. Dur· ing a READ operalion, Ihe DATA BUS is driven by data in the selecled register. When nol selected, (CS high), these pins are in a high impedance slate. This is a general purpose input which is sensed in STATUS REGISTER bit #7. No internal connection, pin nol used. ORGANIZATION OPERATING DESCRIPTION The WD1983 Block Diagram is illustrated on Page 1. The WDI983 (BOART) is an eight bit bus-oriented device. Communication between the BOART and the controlling CPU occurs via the 8 bit DATA BUS. There are 2 accessible DATA REGISTERS, which buffer Transmit and Receive DATA. They are the TRANSMIT HOLDING REGISTER and the RECEIVE HOLDING REGISTER. There is a parallel-to-serial shift register (the TRANSMIT REGISTER) and a serial-to-parallel shift register (the RECEIVE REGISTER). The WD1983 (BOART) is primarily designed to operate in an 8 bit microprocessor environment, although other control logic schemes are easily implemented. The DATA BUS and the Interface Control Signals (CS, C/O, RE and WE) should be connected to the microprocessor's data bus and system control bus. The appropriate TXC and RXC clock frequencies should be selected for the particular application using a programmable baud rate generator such as the BR1941. Operational control and monitoring of the BOART is performed by two CONTROL REGISTERS (the COMMAND INSTRUCTION REGISTER and the MODE INSTRUCTION REGISTER) and the STATUS REGISTER. For typical data communication applications, the RXD and TXD inpuUoutputs can be connected to RS-232C interface circuits or a modem. A READ/WRITE control circuit allows monitoring/programming or reading/loading in the CONTROL, STATUS or HOLDING REGISTERS by activating the appropriate control lines: Chip Select (CS), Read Enable (RE), Write Enable (WE) and Control or Data Select (C/O). Internal Ctlntrol of the BOART is by means of two internal MICROCONTROLLERS; one for transmit and one for receive. The CONTROL REGISTERS, MODEM CONTROL LOGIC, READ/WRITE CONTROL LOGIC and various counters provide inputs to the MICROCONTROLLERS, which generate the necessary control signals to send and receive serial data according to the programmed asynchronous format. READ/WRITE OPERATIONS The WD1983 must be initialized after a MASTER RESET pulse by first writing the MODE INSTRUCTION word and then the COMMAND INSTRUCTION word. Thereafter, every control write to the device is interpreted as a COMMAND word. If it is desired to re-program the MODE REGISTER, a COMMAND REGISTER bit, INTERNAL RESET (CRG), allows the next control write data to be entered into the MODE REGISTER. The TXRDY, RXRDY, TXE and BRKDET Flags may be connected to the microprocessor system as interrupt inputs or the STATUS REGISTER can be periodically read in a polled environment to support BOART operations. MODEM CONTROL SIGNALS can be configured several ways as the DTR, RTS and DSR signals are controlled and sensed by the CPU through the COMMAND and STATUS REGISTERS. The CTS input is used to synchronize the transmitter to external events. The SBRK bit of the COMMAND REGISTER (CR3) is used to send a Break Character. (A break character is defined as a start bit, and all zero data, parity and stop bits). When the CR3 bit is set to a "1", it causes the transmitter output, TXD, to be forced low after the last word is transmitted. The receiver is equipped with logic to look for a break character. When a break character is received, the BREAK DETECT (BRKDET) FLAG and STATUS bit are set to logic "1". When the receiver input line goes high again for the least "one data bit time," the receiver resets the BREAK DETECT FLAG and resumes its search for a start bit. The WD1983 registers are accessed according to the following table: ( c/O'=- CS C/O RE WE REGISTERS SELECTED L L L L H L L H H X L H L H X H L H L X L C/O=; H Read RECEIVE HOLDING REGISTER Write TRANSMIT HOLDING REGISTER Read STATUS REGISTER Write CONTROL REGISTER DATA BUS tri-stated C/O== L c/o= H MODE INSTRUCTION WORD COMMAND INSTRUCTION WORD DATA CHARACTER(S) COMMAND INSTRUCTION WORD DATA CHARACTER(S) COMMAND INSTRUCTION WORD TYPICAL DATA BLOCK TRANSFER Note: "L" means V IL at pins "H" means V IH at pins "X" means don't care 126 MODE INSTRUCTION CONTROL WORD FORMAT MR4 MR7 EVEN No. of STOP bits 00 = invalid 01 = MRl MRO \~_--, _ _-JI''-_--r _ _-il / '\ MR2 PARITY GENERATIONI PARITY ENABLE: 1 = enable check" o = disable 1 bit CHARACTER LENGTH: 11 = 2 bits FACTOR 00 == invalid 1 = even a = odd 10'" lV2 bits BAUD RATE 00 '" 5 blts 01 = 6 bits 10"" 7 bits 11 = 8 bits 01 =" XI 10 = XI6 11 = X64 COMMAND INSTRUCTION CONTROL WORD FORMAT CRG CR7 I DON'T CARE CRS CR4 I I INTERNAL RESET (IR) REQUEST 1 = returns W0198310 1 = forces output low iAi'S), word format Ilags o '" forces RTS output high SEND BREAK CHARACTER (SBRKI· 1 = resets PE, DE & FE error 1 == forces TXD mode instruction o = nonnal operation CRO CRl CR2 I I ERROR RESET (ERI TO SEND Ri"S CR3 RECEIVE ENABLE (RXE) READY iDrRi, t = enable receiver outpUllow o o= DATA TERMINAL = DTR 1 = forces oulpullow disable normal operation o == forces I5"I'A TRANSMIT ENABLE TXEN 1 = enable transmitter o = disable transmitter output STATUS WORD FORMAT SR4 SR3 SR2 SRl OVERRUN ERROR (DE), PARllY ERROR (PE), TXE (SEE NOTE) RXRDY (SEE NOTE) 1 = CPU 1 = parity error detected SR7 0sR (SEE NOTEI BRKDET (SEE NOTE) FRAMING ERROR (FE)" 1 '" invalid stop bit detected did not read at the end the character of the character before the o = No next one Parity error o '" No became detected framing error detected (Reset by CR4) available (Reset by CR4) o SRO TXADY (SEE NOTE) No = detected (Reset by CR4) FE, OE & PE FLAGS DO NOT INHIBIT OPERATION. THESE FLAGS ARE STATUS ONLY. 127 NOTE: SRO, SR1, SR2, SR6, and SR7 HAVE IDENTICAL MEANINGS AS THE EXTERNAL OUTPUT PINS. ABSOLUTE MAXIMUM RATINGS + VDD with Respect to VSS (Ground) Max. Voltage to any Input with Respect to VSS 15to-0.3V Storage Temp. Ceramic -65°C to + 150°C Plastic -55°C to + 125°C + 20 to-0.3V Power Dissipation ('E' Package) ('F' Package) 1000MW OPERATING CHARACTERISTICS TA = O°C to 70o e, Vee = + 5.0V ± .25V, SYMBOL Vss = OV CHARACTERISTIC MIN TYP UNITS MAX CONDITIONS = III Input Leakage 10 M VIN IDL Data Bus Leakage 50 pA Data Bus is in high impedence state ICCAVE VCC Supply Current 80 mA 5.25 VDC/fCLK = 600 kHz No Loads. VIH Input High Voltage 0.8 V 45 2.4 VIL Input Low Voltage (All Inputs) VOH Output High Voltage VOL Output Low Voltage Vcc -0.3 V 2.4 V 10 = - V 10 = 0.45 100jlA (source) 1.6 mA (sink) TABLE 1 WD1983 DC CHARACTERISTICS VO< - - - - - - - - - x~:~ VOL _ _ _ _ _ _ _ _ _ TEST POINTS ~:~X'- _______ FIGURE 3 INPUT WAVEFORMS FOR AC TESTS NOTE: ALL WAVEFORMS ARE MEASURED AT 2.0V IF RISING EDGE, AND O.BV IF FALLING EDGE. 128 VOH DATA BUS Vac OS CIO V'H VIC RE VIii VIC FIGURE 4 READ TIMING DATA BUS V'H VIC XXXX7XXX( T as V'H Os C/O ~ TWOH VIC V," WE VIC FIGURE 5 WRITE TIMING NOTE: 8251A COMPATIBILITY The WD1983 (BOART) is an asynchronous only device, which is compatible with the 8251A. However, in test evaluation and application, the following differences should be noted: (1) The WD1983 utilizes the transmit and receive baud clocks in their respective internal logic sections instead of the system clock normally applied to Pin 20 on the 8251A. This Pin on the WD1983 is not used. (2) As a result of the above condition, timings referenced to the system clock period in the 8251A specification are now specified in absolute time units or with respect to the transmit or receive baud clock. 129 AC Electrical Characteristics T A = DoC to + 70°C; Vcc = 5.0 V ± 5%; GND = 0 V SYMBOL PARAMETER MIN MAX UNIT TEST CONDITIONS BUS PARAMETERS READ CYCLE tAR Address Stable Before RE (CS,C(D) 50 ns tRA Address Hold Time for RE (CS,C(iS) 5 ns tRE RE Pulse Width 350 ns tRO Data Delay from RE 200 ns CL = 50pF tROH RE to Data Floating 200 ns CL 25 ns CL = = 50pF 15pF WRITE CYCLE tAW Address Stable Before WE 20 ns tWA Address Hold Time for WE 20 ns tWE WE Pulse Width 350 ns tos Data Set-Up Time for WE 200 ns tWOH Data Hold Time for WE 40 ns OTHER TIMINGS ns CL = 100pF 200 ns CL = 100pF RX Data Hold Time to Sampling Pulse 100 ns CL= 100pF Transmitter Input Clock Frequency 1X Baud Rate 16X and 64X Baud Rate DC DC Transmitter Input Clock Pulse Width 1X Baud Rate 16X and 64X Baud Rate 1.0 500 tOTX TXD Delay from Falling Edge of TXC tSRX RX Data Set-Up Time to Sampling Pulse tHRX fTX 1 tTPW 200 130 500 600 kHz kHz P.s ns SYMBOL tTPD fRX tRPW tRPD PARAMETER MIN Transmitter Input Clock Pulse Delay 1X Baud Rate 16X and 64X Baud Rate 1.0 800 Receiver Input Clock Frequency 1X Baud Rate 16X and 64X Baud Rate DC DC Receiver Input Clock Pulse Width 1X Baud Rate 16X and 64X Baud Rate 1.0 500 /Ls ns Receiver Input Clock Pulse Delay 1X Baud Rate 16X and 64X Baud Rate 1.0 800 /Ls ns MAX UNIT /LS ns 500 600 kHz kHz tTX TXRDY Delay from Center of Data Bit 8 tRXC tRX RXRDY Delay from Center of Data Bit 1/2 tRXC tiS Internal BRKDET Delay from Center of Data Bit 1 tRXC tTRD TXRDY Delay from Falling Edge of WE 1 tTXC tTOD TXD Output from Falling Edge of WE 2 tTXC twc Control Delay from Rising Edge of WE . (DTR. RTS) 400 ns tCA Control to RE Set-Up Time (DSR. CTS) 500 ns TABLE 2 WD1983 AC CHARACTERISTICS At 1 TX (max), the duty cycle should be 50%. At less than 1TX (max), the minimum pulse width for the high or low half is 1 201 TX(max) Hence, at frequencies less than 1 TX (max), the required duty cycle will be less stringout than 50%. 131 TEST CONDITION CL = 50pF (16X) ~lJ u WEU U T:EWt~RD ---J 1- ITRD ~ ~~'m' TXD L______________~~~______________________________________~~ ! ..,,,,,., . START BIT FIGURE 6 TRANSMITTER OUTPUT TIMINGS WITH RESPECT TO TRANSMIT CLOCK 132 READ AND WRITE TIMING y_-__-_-__-__-_-_______~ cioGS ____ (READ AND WRITE TIMINGS ARE NOT RELATED TO ANY CLOCI(S) ~ \ '------I--- 'wc -+-l TXE, OrR. RTS ______________ L TRANSMITTER CLOCK AND DATA TIMING - 'CR '"'f..t------ TXC(lXCLOCK)~ TXClI6XCLOCK) tTPW ~*c=================== =1~---J(r-------- t tTPO -------:~=====-2'.~====~ ~ kl.=======~~ ~ -l =1=f== 16 TXC PERIODS !-'OTX ___ X - - - TXD - - - ~------------------------- RECEIVER CLOCK AND DATA TIMING "XO Rxe (1 X:::LOCK) =F ---r: INTERNAL In 'SRX 'RPW SAMPLING PULSE RXO-L= --;r---- ~ 'HRl( IRPD START 81T Axe (16 XCLOGK) INTERNAL SAMPLING PULSE TXRDY AND RXRDY TIMING "XD-, START BIT DATA BITS __________________PA_"_'TY_B_'T_,_IRX_4 _ ST_O_'F5"" RXADY = RE TXE~ 'TX ~ I+- TX";:~------------------~~~============== WRITE 1 sl CHARACTER TXD WRITE 2nd CHARACTER ~1-.._'S"TA"'RO!T_"B,,'T_L---!D"'AT.e:A'"'B""T__ START BIT 1...-.....- - - - - - - - 1 5 1 DATA CHARACTER ------_~}.-FIGURE 7 SYSTEM TIMING DIAGRAMS 133 r-- WRITE 3rd CHARACTER -----.::-PA"R='TY=B'=-T-.-::S"TQ"'P"B:-:'T,---,I 2nd DATA CHARACTER WD1983 E CERAMIC PACKAGE WD1983 F PLASTIC PACKAGE Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may fesu" from its use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said circuitry at anytime without notice. WESTERN DIGITAL CORPORATION 3128 REOHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 134 WESTERN DIGITAL c o R p o R A T / o N WD8250 Asynchronous Communications Element FEATURES o Designed to be Easily Interfaced to Most Popular Microprocessors (Z-80, BOBOA, 6800, etc.) o Internal Diagnostic Capabilities - .. Adds or Deletes Standard Asynchronous Communication Bits (Start, Stop, and Parity) to or from Serial Data Stream .. Full Double Buffering Eliminates Precise Synchronization .. Programmable Baud Rate Generator Allows Division of Any Input Clock by 1 to (2 16 - 1) and Generates the Internal 16x Clock .. Independent Receiver Clock Input .. Fully Programmable Serial-Interface Characteristics - 5-, 6-, 7-, or 8-Bit Characters - Even, Odd, or No-Parity Bit Generation and Detection - 1-, 1'/'-, or 2-Stop Bit Generation - Baud Rate Generation (DC to 56K Baud) .. False Start Bit Detector .. Complete Status Reporting Capabilities .. THREE-STATE TTL Drive Capabilities for Bidirectional Data Bus and Control Bus • Line Break Generation and Detection o Full Prioritized Interrupt System Controls o Single +5-Volt Power Supply Need for .. Independently Controlled Transmit, Receive, Line Status, and Data Set Interrupts Loopback Controls for Communications Link Fault Isolation Break, Parity, Overrun, Framing Error Simulation GENERAL DESCRIPTION The WD8250 is a programmable Asynchronous Communications (ACE) chip contained in a standard 40-pin dual-in-line package. The chip, which is fabricated using N-channel silicon gate technology; functions as a seial data input/output interface in a microcomputer system. The functional configuration of the WD8250 is programmed by the system software via a THREE-STATE 8-bit bidirectional data bus. The WDB250 performs serial-to-parallel conversion on data characters received from a peripheral device or a MODEM, and parallel-to-serial conversion on data characters received from the CPU. The CPU can read the complete status of the WDB250 at any time during the functional operation. Status information reported includes the type and condition of the transfer opertions being performed by the WD8250, as well as any error conditions (parity, overrun, framing, or break interrupt). WD8250 GENERAL SYSTEM CONFIGURATION 135 o ...g: In addition to providing control of asynchronous data communications, the WD8250 includes a programmable Baud Generator that is capable of dividing the timing reference clock input by divisors of 1 to (2 16 -1), and producing a 16xclockfordrivingthe internal transmitter logic. Provisions are also included to use this 16x clock to drive the receiver logic. Also included in the WD8250 is a complete MODEM-control capability, and a processorinterrupt system that may be software tailored tothe user's requirements to minimize the computing time required to handle the communications link. selected. Chip selection is complete when the decoded chip select signal is latched with an active (low) Address Strobe (ADS) input. This enables communication between the WD8250 and the CPU. Data Input Strobe (DISTR, DISTR), Pins 22 and 21: When DISTR is high or DISTR is low while the chip is selected, allows the CPU to read status information or data from a selected register of the WD8250. NOTE Only an active DISTR or DISTR input is required to transfer data from the WD8250 during a read operation. Therefore, tie either the DISTR input permanently low or the i5TSTI1 input permanently high, if not used. WD8250 FUNCTIONAL PIN DESCRIPTION The following describes the function of all WD8250 input/output pins. Some of these descriptions reference internal circuits. NOTE In the following descriptions, a low represents a logic 0 (0 volt nominal) and a high represents a logic 1 (+2.4 volts nominal). Data Output Strobe (DOSTR, DOSTR), Pins 19 and 18: When DOSTR is high or DOSTR is low while the chip is selected, allows the CPU to write data or control words into a selected register of the WD8250. NOTE Only an active DOSTR or DOSTR input is required to transfer data to the WD8250 during a write operation. Therefore, tie either the DOSTR input permanently low or the DOSTR input permanently high, if not used. Input Signals Chip Select (CSO, CS1, CS2), Pins 12-14: When CSO and CSl are high and CS2 is low, the chip is WD8250 BLOCK DIAGRAM 136 WD8250. The DSR signal is a MODEM-control function input whose condition can be tested by theCPl:J by reading bit 5 (DSR) of the MODEM Status Register. Bit 1 (DDSR) of the MODEM Status Register indicates whether the DSR input has changed state since the previous reading of the MODEM Status Register. Address Stobe (ADS), Pin 25: When low, provides latching for the Register Select (AO, A 1, A2) and Chip Select (CSO CS1, CS2) signals. NOTE An active ADS input is required when the Register Select (AO, A 1, A2) signals are not stable for the duration of a read or write operation. 11 not required, tie the ADS input permanently low. NOTE Whenever the DSR bit of the MODEM Status Register changes state, an interrupt is generated if enabled. Register Select (AO, A 1, A2), Pins 26-28: These three inputs are used during a read or write operation to select a WD8250 register to read from or write into as indicated in the table below. Note that the state of the Divisor Latch Access Bit (DLAB), which is the most significant bit of the Line Control Register, affects the selection of certain WD8250 registers. The DLAB is reset low when the Master Reset (MR) input is active (low); the DLAB must be set high by the system software to access the Baud Generator Divisor Latches. DLAB A2 Al AD NOTE Whenever the RLSD bit of the MODE:,~ Status Register changes state, an interrupt'is generated if enabled. Register 0 0 0 0 Receiver Buffer (read), Transmitter Holding Register (write) 0 0 0 1 Interrupt Enable X 0 1 0 Interrupt Identification (read only) X 0 1 X 1 X 1 0 0 Line Control 0 MODEM Control 1 Line Status X 1 1 0 MODEM Status X 1 1 1 None 1 0 0 0 0 0 Divisor Latch (least significant byte) 1 Received Line Signal Detect (RLSD), Pin 38: When low, indicates that the data carrier has been detected by the MODEM or data set. The RLSD signal is a MODEM-control function input whose conditin can be tested by the CPU by reading bit 7 (RLSD) of the MODEM Status Register. Bit 3 (DR LSD) of the MODEM Status Register indicates whether the RLSD input has changed state since the previous reading of the MODEM Status Register. Ring Indicator (Ai), Pin 39: When low, indicates that a telephone ringing signal t:§.s been received by the MODEM or data set. The RI signal is a MODEMcontrol function input whose condition can be tested CPU by reading bit 6 (RI) of the MODEM Status Register. Bit 2 (TERI) of the MODEM Status Register indicates whether the Ri input has changed from a low to a high state since the previous reading of the MODEM Status Register. 1 1 NOTE Whenever the RI bit of the MODEM Status Register changes from a high to a low state, an interrupt is generated if enabled. Divisor Latch (most significant byte) Master Reset (MR), Pin 35: When high, clears all the registers (except the Receiver Buffer, Transmitter Holding, and Divisor Latches), and the control logic of the WD8250. Also, the state of vari~u..!E0 signals (SOUT, INTRPT, OUT1, OUT2, RTS, DTR) are affected by an active MR input. (Refer to table 1.) VCC, Pin 40: +5-volt supply. VSS, Pin 20: Ground (O-volt) reference. Output Signals Receiver Clock (RCLK), Pin 9: This input is the 16x baud rate clock for the receiver section of the chip. Data Terminal Ready (DTR), Pin 33: When low, informs the MODEM or data set that the WD8250 is ready to communicate. The DTR output signal can be set to an active low by programming bit 0 (DTR) of ~MODEM Control Register to a high level. The DTR signal is set high upon a Master Reset operation. Serial Input (SIN), Pin 10: Serial data input from the communications link (peripheral device, MODEM, or data set). Clear to Send (CTS), Pin 36: The CTS Signal is a MODEM control function input whose condition can be tested by the CPU by reading bit 4 (CTS) of the MODEM Status Register. Bit (DCTS) of the MODEM Status Register indicates whether the CTS input has changed state since the previous reading of the MODEM Status Register. ° Request to Send (RTS), Pin 32: When low, informs the MODEM or data set that the WD8250 is ready to transmit data. The RTS output signal can be set to an active low by programming bit 1 (RTS) of the MODEM Control Register. The RTS signal is set high upon a Master Reset operation. NOTE Whenever the CTS bit of the MODEM Status Register changes state, an interrupt is generated if enabled. Output 1 (OUT 1), Pin 34: User-designated output that can be set to an active low by programming bit 2 (OUT 1) of the MODEM Control Register to a high level. The OUT 1 signal is set high upon a Master Reset operation. Data Set Ready (DSR), Pin 37: When low, indicates that the MODEM or data set is ready to establish the communications link and transfer data with the 137 Output 2 (OUT 2), Pin 31: User-designated output that can be set to an active low by programming bit 3 (OUT 2) of the MODEM Control Register to a high level. The OUT 2 signal is set high upon a Master Reset operation. Chip Select Out (CSOUT), Pin 24: When high, indicates that the chip has been selected by active CSO, CS1, and CS2 inputs. No data transfer can be initiated until the CSOUT signal is a logic 1. Driver Disable (OOIS), Pin 23: Goes low whenever the CPU is reading data from the WD8250. A highlevel DDIS output can be used to disable an external transceiver (if used between the CPU and WD8250 on the D7-DO Data Bus) at all times, except when the CPU is reading data. Baud Out (BAUOOUT), Pin 15: 16x clock signal for the transmitter section of the WD8250. The clock rate is equal to the main reference oscillator frequency divided by the specified divisor in the Baud Generator Divisor Latches. The BAUDOUT may also be used for the receiver section by tying this output to the RCLK input of the chip. Interrupt (INTRPT), Pin 30: Goes high whenever anyone of the following interrupt sources has an active high condition: Receiver Error Flag; Received Data Available; Transmitter Holding Register Empty; and MODEM Status. The INTRPT signal is reset low upon a Master Reset operation. Serial Output (SOUT), Pin 11: Compositeserial data output to the communications link (peripheral, MODEM or data set). The SOUT signal is set to the Marking (logic 1) state upon a Master Reset Operation. Input/Output Signals Data (07-00) Bus, Pins 1-8: This bus comprises eight TRI-STATE input/output lines. The bus provides bidirectional communications between the WD8250 and the CPU. Data, control words, and status information are transferred via the D7-DO Data Bus. External Clock Input/Output (XTAL 1, XTAL 2), Pins 16 and 17: These two pins connect the main timing reference (crystal or signal clock) to the WD8250. Table 1. Reset Control of Registers and Pinout Signals Register/Signal Reset Control Reset State Receiver Buffer Register First Word Received Data Transmitter Holding Register Writing into the Transmitter Holding Register Data Interrupt Enable Register Master Reset Atl Bits Low (0-3 forced and 4-7 permanent) Interrupt Identification Register Master Reset Bit 0 is High and Bits 1-7 Are Permanently Low All Bits Low Line Control Register Master Reset MODEM Control Register Master Reset All Bits Low Line Status Register Master Reset All Bits Low. Except Bits 5 and 6 Are High Master Reset Modem Status Register MODEM Signal Inputs Bits 0-3 Low Bits 4-7 - Input Signal Divisor Latch (low order bits) Writing into the Latch Data Divisor Latch (high order bits) Writing into the Latch Data SOUT Master Reset High BAUDOUT Writing into either Divisor Latch Low CSOUT ADS Strobe Signal and State of Chip Select Lines High/Low DO IS DDIS CSOUT • RCLK • DISTR (At Master Reset. the CPU sets RCLK and DISTR low.) High INTRPT Master Reset Low OUT 2 Master Reset High RTS Master Reset High DTR Master Reset High OUT 1 Master Reset High 07-00 Data Bus Lines In THREE-STATE Mode. Unless CSOUT • DISTR = High or CSOUT • DOSTR = High THREE-STATE Data (ACE to CPU) Data (CPU to ACE) 138 WD8250 ACCESSIBLE REGISTERS the Line Control Register. In addition to controlling the format, the programmer may retrieve the contents of the Line Control Register for inspection. This feature simplifies system programming and eliminates the need for separate storage in system memory of the line characteristics. The contents of the Line Control Register are indicated and are described below. The system programmer may access or control any of the WD8250 registers summarized in table 2 via the CPU. These registers ae used to control WD8250 operations and to transmit and receive data. WD8250 Line Control Register The system programmer specifies the format of the asynchronous data communications exchange via Table 2. Summary 01 WD8250 Accessible Registers Register Address o OLABcO Receiver Buffer Register (Read Only) Bit No Data BitO' 0 1 Data Bit 1 o DLABcO Holding Register (Wflte Only) Data Bit 0 Data 81t 1 10LABcO 2 3 4 5 6 OOLABcl lDLAB=1 Line Control Register MODEM Control Line Status Register MODEM Status Divisor Latch (LS) Divisor Latch (MS) Data Delta Clear to Bit 0 Bit 8 Bit 1 Bit 9 Interrupt Interrupt Enable Register Enable Received Data Available Interrupt (ERBFI) Enable Transmitter Holding Register Empty Interrupt (ETBEI) Identif,cation Register Register Word Length Select Bit 0 (WLSO) Terminal Ready (OTR) Ready (DR) Interrupt Word Length Request 10 Select to Send B,t (0) Bit 1 WLSI) (ATS) Overrun Error (OA) "0" if Interrupt Pending Data Registe~ Send (OCTS) Delta Data Set Ready (OOSA) 2 Data Bit 2 Data Sit 2 Enable Receiver Line Status Interrupt (ELSI) Interrupt 10 B,t (I) Number of Stop Bits (STB) Oul I Parity Error (PE) Trailing Edge Ring Indicator (TERI) B,t 2 Bit 10 3 Data Bit3 Data Sit 3 Enable MODEM Status Interrupt (EOSSI) 0 Parity Enable (PEN) Out 2 Framing Error (FE) Delta Receive Line Signal Detect (OSLSO) Bit 3 Bit 11 4 Data Bit4 Data Bit 4 0 0 Even Parity Select (EPS) Loop Break Interrupt (BI) Clear to Send (CTS) Bit 4 Bit 12 5 Data Bit 5 Data Bit 5 0 0 Stick Parity 0 Transmitter Holding Register Empty (THAE) Data Set Ready (OSR) Bit 5 Bit 13 Ring Indicator (RI) Bit 6 Bit 14 Received Line Signal Detect (ALSO) Bit 7 Bit 15 6 Data Bit6 Data Bit 6 0 0 Set Break 0 Transmitter Shift Register Empty (TSAE) 7 Data Bit 7 Data Bit 7 0 0 Divisor Latch Access Bit (DLAB) 0 0 *81t 0 IS the least significant bit. It IS the first bit serially transmitted or received. 139 Bits 0 and 1: These two bits specify the number of bits in each transmitted or received serial character. The encoding of bits a and 1 is as follows: Bit 1 Bit 0 Word Length a a a 5 Bits 1 6 Bits 1 a 7 Bits 1 1 8 Bits Bit 2: This bit specifies the number of stop bits in each transmitted or received serial character. If bit 2 is a logic 0, 1 Stop bit is generated or checked in the transmit or receive data, respectively. If bit 2 is a logic 1 when a 5-bit word length is selected via bits a and 1, 1;', Stop bits are generated or checked. If bit 2 is a logic 1 when either a 6-,7-, or 8-bit word length is selected, 2 Stop bits are generated or checked. Bit 3: This bit is the Parity Enable bit. When bit 3 is a logic 1, a Parity bit is generated (transmit data) or checked (receive data) between the last data word bit and Stop bit of the serial data. (The Parity bit is used to produce an even or odd number of 1s when the data word bits and the Parity bit are summed.) Bit 4: This bit is the Even Parity Select bit. When bit 3 is a logic 1 and bit 4 is a logic 0, an odd number of logic 1s is transmitted or checked in the data word bits and Parity bit. When bit 3 is a logic 1 and bit 4 is a logic 1, an even number of bits is transmitted or checked. Spacing (logic 0) state and remains there (until reset by a low-lever bit 6) regardless of other transmitter activity. This feature enables the CPU to alert a terminal in a computer communications system. Bit7:This bit is the Divisor Latch Access Bit (DLAB). It must be set high (logic 1) to access the Divisor Latches of the Baud Rate Generator during a Read or Write operation. It must be set low (logic 0) to access the Receiver Buffer, the Transmitter Holding Register, or the Interrupt Enable Register. WD8250 Programmable Baud Rate Generator The WD8250 contains a programmable Baud Rate Generator that is capable of taking any clock input (DC to 3.1 MHz) and dividing it by any divisor from 1 to (2'" - 1). The output frequency of the Baud Generator is 16x the Baud rate. Two 8-bit latches store the divisor in a 16-bit binary format. These Divisor Latches must be loaded during initialization in order to insure desired operation of the Baud Rate Generator. Upon loading either of the Divisor Latches, a 16-bit Baud counter is immediately loaded. This prevents long counts on initial load. Tables 3 and 4 illustrate the use of the Baud Generator with two different driving frequenCies. One is referenced to a 1.8432 MHz crystal. The other is a 3.072 MHz crystal. NOTE The maximum operating frequency of the Baud Generator is 3.1 MHz. However, when using divisors of 5 and below, the maximum frequency is equal to the divisor in MHz. For example, if the divisor is 1, then the maximum frequency is 1 MHz. In no case should the data rate be greater than 56K Baud. Bit 5: This bit is the Stick Parity bit. When bit 3 is a logic 1 and bit 5 is a logic 1, the Parity bit is transmitted and then detected by the receiver in the opposite state indicated by bit 4. Bit 6: This bit is the Set Break Control bit. When bit 6 is a logic 1, the serial output (SOUT) is forced to the TaBle 4 Baud Rates Using 3.072 MHz Crystal. Table 3 Baud Rates Using 1.8432 MHz Crystal. Desired Baud Rate Divisor Used to Generate 16x Clock Percent Error Difference Between Desired and Actual 2304 1536 1047 857 768 384 192 96 64 58 48 32 24 16 12 6 3 2 - 50 75 110 134.5 150 300 600 1200 1800 2000 2400 3600 4800 7200 9600 19200 38400 56000 NOTE: 1.8432 MHz IS Desired Baud Rate 50 75 110 134.5 150 300 600 1200 1800 2000 2400 3600 4800 7200 9600 19200 38400 56000 0.026 0.058 - 069 - 2.86 the standard 8080 frequency divided by 10 140 Divisor Used to Generate 16x Clock 3840 2560 1745 1428 1280 640 320 160 107 96 80 53 40 27 20 10 5 3 Percent Error Difference Between Desired and Actual 0.026 0034 - - 0.628 1.23 - 14.285 Line Status Register This 8-bit register provides status information to the CPU concerning the data transfer. The contents of the Line Status Register are indicated in table 2 and are described below. Bit 0: This bit is the receiver Data Ready (DR) indicator. Bit 0 is set to a logic 1 whenever a complete incoming character has been received and transferred into the Receiver Buffer Register. Bit 0 may be reset to a logic 0 either by the CPU reading the data in the Receiver Buffer Register or by writing a logic 0 into it from the CPU. Bitl: This bit is the Overrun Error (OE) indicator. Bit 1 indicates that data in the Receiver Buffer Register was not read by the CPU before the next character was transferred into the Receiver Buffer Register, thereby destroying the previous character. The OE indicator is reset whenever the CPU reads the contents of the Line Status Register. Bit 2: This bit is the Parity Error (PE) indicator. Bit 2 indicates that the received data character does not have the correct even or odd parity. as selected by the even-parity-select bit. The PE bit is set to a logic 1 upon detection of a parity error and is reset to a logic 0 whenever the CPU reads the contents of the Line Status Register. Bit3: This bit is the Framing Error (FE) indicator. Bit 3 indicates that the received character did not have a valid Stop bit. Bit 3 is set to a logic 1 whenever the Stop bit following the last data bit or parity bit is detected as a zero bit (Spacing level). Bit4:This bit is the Break Interrupt (BI) indicator. Bit 4 is set to a logic 1 whenever the received data input is held in the Spacing (Logic 0) state for longer than a full word transmission time (that is. the total time of Start bit + data bits + Parity + Stop bits). NOTE Bits 1 through 4 are the error conditions that produce a Receiver Line Status interrupt whenever any of the corresponding conditions are detected. Holding Register to the Transmitter Shift Register. Bit 6 is a read-only bit. Bit 7: This bit is permanently set to logic O. Interrupt Identification Register The WD8250 has an on chip interrupt capability that allows for complete flexibility in interfacing to all popular microprocessors presently available. In order to provide minimum software overhead during data character transfers, the WD8250 prioritizes interrupts into four levels. The four levels of interrupt conditions are as follows: Receiver Line Status (priority 1); Received Data Ready (priority 2); Transmitter Holding Register Empty (priority 3); and MODEM Status (priority 4). Information indicating that a prioritized interrupt is pending and source of that interrupt are stored in the Interrupt Identification Register (refer to table 5). The Interrupt Identification Register (IIR), when addressed during chip-select time, freezes the highest priority interrupt pending and no other interrupts are acknowledged until the particular interrupt is serviced by the CPU. The contents of the IIR are indicated in table 2 and are described below. Bit 0: This bit can be used in either a hardwired prioritized or polled environment to indicate whether an interrupt is pending. When bit 0 is a logic 0, an interrupt is pending and the IIR contents may be used as a pointer to the appropriate interrupt service routine. When bit 0 is a logic 1, no interrupt is pending and polling (if used) continues. Bits 1 and 2: These two bits of the IIR are used to identify the highest priority interrupt pending as indicated in table 5. Bits 3 through 7: These five bits of the II R are always logic O. Interrupt Enable Register Bit 5: This bit is the Transmitter Holding Register Empty (THRE) indicator. Bit 5 indicates that the WD8250 is ready to accept a new character for transmission. In addition, this bit causes the WD8250 to issue an interrupt to the CPU when the Transmit Holding Register Empty Interrupt enable is set high. The THRE bit is set to a logic 1 when a character is transferred from the Transmitter Holding Register into the Transmitter Shift Register. The bit is reset to logic Oconcurrently with the loading of the Transmitter Holding Register by the CPU. This 8-bit register enables the four interrupt sources of the WD8250 to separately activate the chip Interrupt (I NTRPT) output signal. It is possible to totally disable the interurpt system by resetting bits 0 through 3 of the Interrupt Enable Register. Similarly, by setting the appropriate bits of this register to a logic 1, selected interrupts can be enabled. Disabling the interrupt system inhibits the Interrupt Identification Register and the active (high) INTRPT output from the chip. All other system functions operate in their normal manner, including the setting of the Line Status and MODEM Status Registers. The contents of the. Interrupt Enable Register are indicated in table 2 and are described below. Bit6: This bit is the Transmitter Shift Register Empty (TSRE) indicator. Bit 6 is set to a logic 1 whenever the Transmitter Shift Register is idle. It is reset to logic 0 upon a data transfer from the Transmitter Bit 0: This bit enables the Received Data Available Interrupt when set to logic 1. Bit 0 is reset to logic 0 upon completion of the associated interrupt service routine. 141 Table 5 Interrupt Control Functions. Interrupt Identification Register Bit 2 Bit 1 Bit 0 0 0 1 Interrupt Set and Reset Functions Priority Interrupt Level Flag - None - Reading the Line Status Register Received Data Available Receiver Data Available Reading the Receiver Buffer Register Transmitter Holding Register Empty Transmitter Holding Register Empty Reading the IIR Register (if source of interrupt) or Writing into the Transmitter Holding Register MODEM Status Clear to Send or Data Set Ready or Reading the Ring Indicator or MODEM Status Register R ece i ved Li ne Signal Detect 1 0 Highest Receiver Line Status 1 0 0 Second 0 1 0 0 0 Third Fourth Interrupt Reset Control Overrun Error or Parity Error or Framing Error or Break Interrupt None 1 0 Interrupt Source Bit 1: This bit enables the Receiver Line Status Interrupt when set to logic 1. Bit 2 is reset to logic 0 upon completion of the associated interrupt service routine. Bit 3: This bit enables the MODEM Status Interrupt when set to logic 1. Bit 3 is reset to logic 0 upon completion of the associated interrupt service routine. Bits 4 through 7: These four bits are always logic O. MODEM Control Register This 8-bit register controls the interface with the MODEM or data set (or a peripheral device emulating a MODEM). The content~ of the MODEM Control Register are indicated in table 2 and are described below. Bit 0: This bit controls the Data Terminal Ready (DTR) output. When bit 0 is set to a logic 1, the DTR output is forced to a logic O. When bit 0 is reset to a logic 0, the DTR output is forced to a logic 1. NOTE The DTR output ofthe WD8250may be applied to an EIA inverting line driver (such as the DS1488) to obtain the proper'polarity input at the succeeding MODEM or data set. affects the OUT 1 output in a manner identical to that described above for bit o. Bit 3: This bit controls the Output 2 (OUT 2) signal, which is an auxiliary user-designated output. Bit 3 affects the OUT 2 output in a manner identical to that described above for bit O. Bit 4: This bit provides a loopback feature for diagnostic testing of the WD8250. When bit 4 is set to logic 1, the following occur: the transmitter Serial Output (SOUT) is set to the Marking (logic 1) state; the receiver Serial Input (SIN) is disconnected; the output of the Transmitter Shift Register is "looped back" into the Receiver Shift Register input; the four MODEM Control inputs (CTS, DSR, RLSD, and AT) are disconnected; and the four MODEM Control outputs (DTR, RTS, OUT 1, and OUT 2) are internally connected to the four MODEM Control inputs. In the diagnostic mode, data that is transmitted is immediately received. This feature allows the processor to verify the transmit- and receive-data paths of the WD8250. Bit 1: This bit controls the Request to Send (RTS) output. Bit 1 affects the RTS output in a manner identical to that described above for bit o. In the diagnostic mode, the receiver and transmitter interrupts are fully operational. The MODEM Co.ntrol Interrupts are also operational but the interrupts' sources are now the lower four bits of the MODEM Control Register instead of the four MODEM Control inputs. The interrupts are still controlled by the Interrupt Enable Register. Bit 2: This bit controls the Output 1 (OUT 1) signal, which is an auxiliary 'user-designated output. Bit 2 The WD8250 interrupt system can be tested by writing into the lower six bits of the Line Status Register 142 and the lower four bits of the MODEM Status Register. Setting any of these bits to a logic 1 generates the appropriate interrupt (if enabled). The resetting of these interrupts is the same as in normal WD8250 operation. To return to this operation, the registers must be reprogrammed for normal operation and then bit 4 must be reset to logic O. Bits 5 through 7: These bits are permanently set to logic O. MODEM Status Register Bit 1: This bit is the Delta Data Set Ready (DDSR) indicator. Bit 1 indicates that the DSR input to the chip has changed state since the last time it was read by the CPU. Bit 2: This bit is the Trailing Edge of Ring Indicator (TERI) detector. Bit 2 indicates that the FIT input to the chip has changed from an On (logic 1) to an Off (logic 0) condition. Bit 3: This bit is the Delta Received Line Signal Detector (DRLSD) indicator. Bit 3 indicates that the RLSD input to the chip has changed state. This 8-bit register provides the current state of the control lines from the MODEM (or peripheral device) to the CPU. In addition to this current-state information, four bits of the MODEM Status Register provide change information. These bits are set to a logic 1 whenever a control input from the MODEM changes state. They are reset to logic 0 whenever the CPU reads the MODEM Status Register. Bit 4: This bit is the complement of the Clear to Send (CTS) input. The contents of the MODEM Status Register are indicated in table 2 and are described below. Bit 5: This bit is the complement of the Data Set Ready (DSR) input. Bit 0: This bit is the Delta Clear to Send (DCTS) indicator. Bit 0 indicates that the CTS input to the chip has changed state since the last time it was read by the CPU. Bit 6: This bit is the complement of the Ring Indicator CRT) input. NOTE Whenever bit 0, 1, 2, or 3 is set to logic 1, a MODEM Status Interrupt is generated. Bit 7: This bit is the complement of the Received Line Signal Detect (RLSD) input. Typical Applications Figures 1 and 2 show how to use the WD8250 chip in an 8080A system and in a microcomputer system with a high-capacity data bus. ~r~±: I I 1/ L _ OATI<.PORT CONNECTOR ",-_v DO. 1'~4-------C-""."1 OATA4 FIGURE 1 TYPICAL 8-BIT MICROPROCESSOR/RS·232 TERMINAL INTERFACE USING THE ACE. 143 I ~T.!LC~R~ IIS·212 8080A MICROPROCESSOR °7·°0 O-=-I ALTERNATE Typical Applicati0fls (continued) ABSOLUTE MAXIMUM RATINGS Temperature Under Bias ... O°C to +70°C Storage Temperature -6SoC to +1S0°C (Ceramic) -SO°C to +125°C (Plastic) All Input or Output Voltages with Respect to VSS .............. -0.5 V to +7.0 V Power Dissipation .................... 750 mW Absolute maximum ratings indicate limits beyond which permanent damage may occur. Continuous operation at these limits is not intended; operation should be limited to those conditions specified under DC Electrical Characteristics. FIGURE 2 TYPICAL INTERFACE FOR A HIGH-CAPACITY DATA BUS. DC Electrical Characteristics T A = 0° C to +70° C, VCC = +SV ± 5%, VSS = OV, unless otherwise specified. Symbol Parameter VILX VIHX VIL VIH VOL VOH ICC(AV) Clock Input Low Voltage Clock Input High Voltage Input Low Voltage Input High Voltage Output Low Voltage Output High Voltage Avg Power Supply Current (VCC) Input Leakage Clock Leakage IlL ICL Min. Typ. -0.5 2.0 -O.S 2.0 Max. Units 0.8 150 V V V V V V ma ±10 ±1O IlA IlA VCC 0.8 VCC .45 2.4 Test Conditions IIOL=1.6mA on all outputs jlow-100 IlA Capacitance TA = 25°C, VCC = VSS = OV Symbol Typ. Max. Units CXIN Clock Capacitance Parameter 10 15 pF CIN Input Capacitance 6 10 pF COUT Output Capacitance 10 20 pF Test Conditions fc=1 MHz Unmeasured pins returned to VSS 1 Typical Supply Current va. Temperature, Normalized 15 -- 1.0t--- 0.5 0 .25 r-- ·50 AMBIENT TEMPERATURE ('C) 144 '75 AC Electrical Characteristic TA Symbol tAW tAS tAH tcss tOlD tDIW tRC RC too tODD tHZ tDOD tDOW twc WC 0 O°C to +70°C. VCC 0 +5V ± 5% Parameter Address Strobe Width Address Setup Time Address Hold Time Chip Select Output Delay from Strobe DISTR/DISTR Strobe Delay DISTR/DISTR Strobe Width Read Cycle Delay Units ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns Read Cycie=tAW + tOlD + tDIW + tRC DISTR/DISTR to Driver Disable Delay Delay from DISTR/DISTR to Data DISTR/DISTR to Floating Data Delay DOSTR/DOSTR Strobe Delay DOSTR/DOSTR Strobe Width Write Cycle Delay Write Cycie=tAW + tDOD + tDOW + twc Data Setup Time tDS Data Hold Time tDH tcsc Chip Select Output Delay from Select tDlC DISTR/DISTR Delay from Select tDOC' DOSTR/DOSTR Delay from Select 'Applicable only when ADS input is not tied permanently low. Symbol Parameter Baud Generator N Baud Rate Divisor tBLO Baud Output Negative Edge Delay tBHD Baud Output Positive Edge Delay Baud Output Down Time tLW Baud Output Up Time tHW Receiver tSCD Delay from RCLK to Sample Time tSINT Delay from Stop to Set Interrupt tRINT Delay from DISTR/DISTR (RD RBR) to Reset Interrupt Transmitter Delay from DOSTR/DOSTR (WR THR) tn Reset tHR Interrupt Delay from Initial INTR Reset to Transmit Start tlRS tSI tss tSTI Min. Max. 1 2 16-1 250 typ 250 typ Delay from DISTR/DISTR (RD IIR) to Reset Interrupt (THRE) Modem Control tMDO Delay from DOSTR/DOSTR (WR MCR) to Output Delay to Set Interrupt from MODEM Input tSIM tRIM Delay to Reset Interrupt from DISTR/DISTR (RD MSR) TIR 145 Max 160 50 300 655 1000 200 300 60 20 175 685 1000 100 20 135 50 50 Units Test Conditions lTTL Load lTTL Load 1TTL Load lTTL Load lTTL Load lTTL Load lTTL Load lTTL Load lTTL Load 1TTL Load lTTL Load 1TTL Load 1TTL Load lTTL Load lTTL Load lTTL Load lTTL Load lTTL Load 1TTL Load 1TTL Load Test Conditions ns ns ns ns 100pF 100pF 100pF 100pF .250 2 typ 2 typ 1 typ /1S /1S /1S 100pF Load 100pF Load .250 1 typ /1S 100pF Load 16 typ BAUDOUT Cycles 24 typ BAUDOUT Cycles .250 1 typ 8 typ /1S BAUDOUT Cycles .250 1 typ /1s 100pF Load .250 .250 .250 1 typ 1 typ 1 typ /1S /1S IlS 100pF Load 100pF Load 100pF Load 425 Typ 330 Typ Delay from Initial Write to Interrupt Delay from Stop to Next Start Delay from Stop to Interrupt (THRE) Min 120 100 0 Load Load Load Load Vee WD8250 EXTERNAL CLOCK osc CLOCK TO BAUD GEN LOGIC OPTIONAL CLOCK OUTPUT XTAL~ I-Timinl tXH tXl 'XL---j Min 100 115 Units EXTERNAL CLOCK INPUT (3.1 MHz MAX.) WD8250 XTAL 1 C, A, I DCrys!al A, -;' r A, C ose CLOCK TO ' BAUD GEN lOGIC -;' XTAl2 Crystal 3.1 MHz A, A, O.5M O.5M 4O-60pF o.Ot.uF 10030pF TYPICAL CRYSTAL OSCILLATOR NETWORK 146 I--'AW----l ~-----------~ A5S~ AO.A •. A,.eso es •. CS2 CSOUT l~/ I- 'AS::j f-- 'AH ~,..------------- I I-- 'CSS-j VALlD >: -- -- ------- _J __ -' ___ t= 'Ise,~_: -'D-'W~-+--I-_-R~R-e~----l'1 1---1: DISTR/DISTR ..Jxlr-A-eT-'V-E---X'-___--I: Il-I----~~ __________ I I DOSTR/OOSTR OR II I n -If-:=~ f---L'DD\ ,'DDj'DDD--! i-'HZ-j ODIS ~ DATA ___ _ 00-°7 -----------------<~ READ CYCLE TIMING I-- 'AW ---j ~------------___j A5S~ AO. A,. A,. eso f--'AS-1 S~j f-- 'AH --v-::::;:-'V------------- CS1.CS2~ I eSOUT f--'ess--j _ _ _ _ --'\ ' __-___-__-___-___ - I=--: 'ese---l t---- +r------·1- tooc---' ! - - - I D O O - i IOOW we IWC~ I __________~x~__~x~I ____:::=====~ OR DISTR/DISTR _____________________ DATA >-- I-'DS+'DH-1 00--°7 ---------------« VALID DATA WRITE CYCLE TIMING 147 :I-:-----~ XTALl BAUD OUT (-7-1) BAUD OUT (-7-2) BAUD OUT [--;- 3) BAUD OUT (...;-. N. N >3) --11'BLD-1I'BHDi~~LteyeLES I- ·ltLwo2XTAl1CYCLES BAUDOUT TIMING RCLK LJ ~j I• 8eLKo-----=:j--J I-- 'seD LJ SAMPLECLK SIN (RECEIVER INPUT DATA) SAMPLECLK \ . START G~ ~ATABITS(5-81 ~STARTr ~ _ ; . ._ _ _ _~ ,I-t-I-~--'--'I--TI--rIJ~ -~~~~' --j 'NTERRUPT DISTR/DISTR' (READ REC DATA BUFFER) . l~ I;='S'NT ---------------~! --I t-~ ---------------t== Noles: 'See Write Cycle Timmg 'See Read Cycle Timing RECEIVER TIMING 148 ~i~~AT~ OUT PARITY ------\,STA_R.Ji'-__D_A_T_A_'5_-S_ 1 _~TA_RT/...rj________ --l IIRS ~ ~I INTERRUPT (THRE) DOSTRIDOSTR' (WR THR) DISTR/DISTR' (AD IIR) ::::lI ISS!::=trJ:'-----__ t STI jElHq ~~_ISI __ :j ~IHR ~f\~____________~ _________________________ ~ Notes: 'See Write Cycle Timing -'See Read Cycle Timing TRANSMITTER TIMING DOSTA/DOSTR' (WR MeR) CTS, DSR, RLSO INTR D\STRiOISTR' (RD MSR) II _'---JI. --j 151M 1- \'-------l \ I 1\ 1-= -i 'SIM I-- _______~r\RIM I ~I--ISIM:j r\~R_'M_:..I_______ ----------~\ Notes: 'See Write Cycle Timing 'See Read Cycle Tunmg MODEM CONTROLS TIMING 149 --j l~--- '"O"J:::::: DO' D::::::] ",. (::::::::0,::::::] (lOI • • WDB250 PLASTIC PACKAGE WDB250 CERAMIC (HERMETIC) Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corpora· tion reserves the right to change said circuitry at any time without notice. ';f'f~T~,!~ 1!'f3~Tl'~ I 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 150 WESTERN DIGITAL c o o R A T / o N we 2123 DEUCE DUAL ENHANCED UNIVERSAL COMMUNICATIONS ELEMENT '* R p i ;,: FEATURES DIAGNOSTIC LOCAL LOOP-BACK MODE ~ e RXD INITIALIZATION UPON MASTER RESET z 0 <0 36 i'iTs1l 35 c-rs:B RXRDY-B 38 TXE-B 37 34 BAKDET-B +5V 27 28 INTRA BAUD CLOCK A OUTPUT BAUD CLOCK B OUTPUT ADDRESS BUS Figure 5 WD2123 MICROPROCESSOR APPLICATION 163 ABSOLUTE MAXIMUM RATINGS V DO with respect to V ss ....... . 0.5V to +12V ... -0.5V to +7V 500Mw. Voltage on Any Pin with Respect to Ground Power Dissipation ........... . STORAGE TEMPERATURE: Ceramic: -65'C to + 150'C Plastic: -55'C to + 125'C Note: Maximum ratings indicate limits beyond which permanent damage may occur. Continuous operation at these limits is not intended and should be limited to those conditions specified under dc electrical characteristics. DC ELECTRICAL CHARACTERISTICS ~ TA DoC to + 70'C; V ee SYMBOL ~ 5.0V ±5%; GND PARAMETER ~ OV MIN VIL Input Low Voltage -0.5 VIH Input High Voltage 2.0 VOL Output Low Voltage VOH Output High Voltage IDL Data Bus Leakage (High Impedance State) IlL Input Leakage TYP UNIT 0.8 V Vee V 0.45 V IOL ~ 1.6 mA V IOH ~ -100 uA -50 10 uA uA VOUT ~ 0.45V VOUT ~ Vee 10 uA VIN ~ Vee mA Vee - 5.25V No Load MAX UNIT TEST CONDITIONS 2.4 Power Supply Current lee MAX 50 100 TEST CONDITIONS Table 7 WD2123 D.C. PARAMETERS CAPACITANCE TA ~ 25'C; Vee SYMBOL ~ GND ~ OV PARAMETER TYP MIN ~ CIN Input Capacitance 10 pF fe GIIO 1/0 Capacitance 20 pF Unmeasured pins returned to GND. Table 8 WD2123 CAPACITANCE LEVELS 164 1MHz \C ELECTRICAL CHARACTERISTICS rA = O°C to + 70C; Vee = 5.0V 0:5%; GND = OV SYMBOL PARAMETER MIN MAX UNITS CONDITIONS BUS PARAMETERS Read Cycle tAR Address Stable Before READ (CS,C/D) 50 ns tRA Address Hold Time for READ (CS,C/D) 5 ns tRE READ Pulse Width 350 ns tRO Data Delay from READ 200 ns CL = 50 pF tROH READ to Data Floating 200 ns CL = 50pF 25 ns CL=15pF Write Cycle i tAW Address Stable Before WRITE 20 ns tWA Address Hold Time for WRITE 20 ns tWE WRITE Pulse Width 350 ns tos Data Set-Up Time for WRITE 100 ns tWOH Data Hold Time for WRITE 100 ns tTxe Transmit Clock Period 1.6 us tOTX TxD Delay from Falling Edge of TxC tSRX Rx Data Set-Up Time to Sampling Pulse tHRX fTX OTHER TIMINGS tTPW tTPO ns CL = 100 pF 200 ns CL = 100 pF Rx Data Hold Time to Sampling Pu Ise 100 ns CL = 100 pF Transmitter Input Clock Frequency 1x Baud Rate 16x and 64x Baud Rate DC DC kHz kHz CL = 100 pF Transmitter Input Clock Pulse Width 1x Baud Rate 16x and 64x Baud Rate 1.0 BOO us ns Transmitter Input Clock Pulse Delay 1x Baud Rate 16x and 64x Baud Rate 1.0 BOO us ns 200 500 600 Table 9 WD2123 A.C. PARAMETERS 165 SYMBOL fRX tRPW tRPD MIN MAX UNIT Receiver Input Clock Frequency 1x Baud Rate 16x and 64x Baud Rate DC DC 500 600 kHz kHz Receiver Input Clock Pulse Width 1x Baud Rate 16x and 64x Baud Rate 1.0 800 us ns Receiver Input Clock Pulse Delay 1x Baud Rate 16x and 64x Baud Rate 1.0 800 us ns PARAMETER TEST CONDITION I tTX TxRDY Delay from Center of Stop Bit tRX RxRDY Delay from Center of Stop Bit tiS Internal BRKDET Delay from Center of Data Bit tTRD tTaD twc tCR 8 V, tRXC tRXC 1 RXC TxRDY Delay from Falling Edge of WRITE 450 ns TXD Output from Falling Edge of WRITE 1V, tTXC Control Delay from Rising Edge of WRITE (RTS) 200 ns Control to READ Set-Up Time (CTS) CL 1 tTXC Table 9 WD2123 A.C. PARAMETERS ________________-J~~:_::____________~__ :_::~~~ :A_AC_C___________ Figure 6 A.C. TEST POINTS 166 _____________ ~ 50pF (16X) DATA BUS CS, em Figure 7 WD2123 READ TIMING DATA BUS CS, em Figure 8 WD2123 WRITE TIMING -J RTS VHAC __________________________________/Ir~-~V~l~A~C----------------- t------ I teR Figure 9 WD2123 INTERFACE CONTROL TIMING 167 TXC (1 x CLOCK) TXC (16 x CLOCK) V,L 16 TXC PERIODS TXD Figure 10 WD2123 TRANSMITTER CLOCK AND DATA TIMING RXD RXC (1 x CLOCK) j= STAAT BIT - RXD 1st DATA BIT AXC (16 x CLOCK) INTERNAL SAMPLING PULSE __________ ~nL _____________________ Figure 11 WD2123 RECEIVER CLOCK AND DATA TIMINGS 168 ~ TXC u C$. ciD TXRDY TXD r-------------~~~~------------~ DATA Figure 12 WD2123 TRANSMITTER OUTPUT TIMINGS WITH RESPECT TO TRANSMIT CLOCK ! RXD----,'--=ST~A_R_T BIT ~~~~-------------L~~----~ ___ k________ DA~ BITS RXADY RE------------------------------------------------------------~ Figure 13 WD2123 RXRDY TIMING TXE, fL- TXRDY~L-----l 'n VLAC ~~----uTXD -----------,'-I-'~:...~:..A_RT____'___________D..."A{t BITS I. 1st DATA BYTE PARITY BIT STOP BITS I ~~ART C ---+j+---,.I.I r 2nd DATA BYTE Figure 14 WD2123 TXRDY TIMING 169 ".1::::0:::] WD2123A CERAMIC PACKAGE WD2123B PLASTIC PACKAGE This is a preliminary specification with tentative device parameters and may be subject to change after final product characterization is completed. Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no rosponsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may resuh from its use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said circuitry at anytime without notice. WESTERN DIGITAL CORPORATION 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 170 WESTERN DIGITAL CORP 0 RA T ON WD1993 ARINC 429 RECEIVER/TRANSMITTER AND MULTI-CHARACTER RECEIVER/TRANSMITTER FEATURES .. SINGLE +5 VOLT SUPPLY • PRESENT UPON MASTER RESET FOR ARINC 429 PROTOCOL • 28 PIN CERAMIC OR PLASTIC PACKAGE o TEMPERATURE RANGES O'C to 70'C, - 40'C to + 85'C, or - 55'C to + 125'C o PROGRAMMABLE WORD LENGTH FROM 1 CHARACTER TO 8 CHARACTERS INTRODUCTION • PROGRAMMABLE CHARACTER LENGTH, 5, 6, 7, OR 8 BITS The Western Digital WD1993 Avionic Receiver/Transmitter is designed to handle digital data transmission, according to the Avionic Arinc 429 protocol. Also, the word length is programmable from one to eight characters of 5, 6, 7, or 8 bits. Parallel data is converted into a serial data stream during transmission and serial to parallel during reception. The WD1993 is packaged in a 28 pin plastic or ceramic package and is available in three temperature ranges: Commercial, Industrial and Military . .. RETURN TO ZERO (RZ) OUTPUT .. AUTO SPACE GENERATION • DOUBLE BUFFERED RECEIVER AND TRANSMITTER .. UNDERRUN ERROR DETECTION FOR TRANSMISSION .. OVERRUN, FRAMING AND PARITY ERROR DETECTION ON RECEIVER GENERAL DESCRIPTION The WD1993 is a bus-orientated MOS/LSI device designed to provide the Avionics Arinc 429 Data Communication Protocol, along with programmable character length capabilities. .. WORD ERROR FLAG FOR COMPREHENSIVE ERROR REPORTING .. FIRST CHARACTER OF WORD FLAG FOR SINGLE INTERRUPT APPLICATIONS Also, the WD1993 contains a local loop-back test mode of operation, which is controlled by the Loop Test Enable (LTE) bit in the command register. In this diagnostic mode, the transmitter output is "looped-back" into the receiver input. The REN and TEN control bits must also be active ("1") and the CTS input must be low. The status and output flags operate normally. .. DIAGNOSTIC LOCAL LOOP-BACK TEST MODE • DC TO 200 KILOBITS PER SECOND OPERATION • TTL COMPATIBLE INPUTS AND OUTPUTS V55 WE' ci1i CTs Os TXC w£ N.C. D7 D6 D5 D4 D3 D2 D1 DO AXOl vcc "'AD,W""E Figure 1 PIN DIAGRAM Figure 2 WD1993 BLOCK DIAGRAM 171 PIN NO. SYMBOL FUNCTION SIGNAL NAME 1 VSS GROUND Ground 15 VCC POWER SUPPLY +5V DC 26 CS CHIP SELECT 27 C/O CONTROUDATA 28 RE READ ENABLE When aclive (Vld, Ihe device is selecled. This enables communicalion between the WD1993 and a microprocessor. This inpul is used in conjunction with an active read or write operation to determine register access via the DATA BUS. When active (V Id, allows the CPU 10 read data or status information from the WD1993. 25 WE WRITE ENABLE When active (V IL), allows the CPU to write into the selected register. 6 MR MASTER RESET When active (V IH), presets the WD1993 mode and command registers to the ARINC protocol. Master Reset also resets the data registers and places the WD1993 transmitter and receiver into idle states. After MR, the command register is sel to 00100101 and the mode register is set to 00111100. 4 TXC TRANSMIT CLOCK This input is the source clock for transmission. The data rate is a function of this clock frequency. ARINC MODE ~ 4 x bit rate 12 RXC RECEIVE CLOCK This input is the source clock for reception. The data rate characteristics are the same as the transmit clock. 3 CTS CLEAR-TO-SEND This input is activated (V I L) to enable the transmitter logic. 16 RXD1 RECEIVE DATA ONE The RXD1 input is driven by the VIZ line receiver. Each time the VIZ circuit detects a logic one, a TTL level logic one (active for one-half bit time) is provided to this input. 14 RXDO RECEIVE DATA ZERO RXDO is driven by the line VIZ receiver circuil. When the VIZ circuit detects a logic zero, a TTL logic one (active for one-half bit time) is provided to the WD1993. 11 TXD1 TRANSMIT DATA ONE This output drives the VIZ circuit when a logic one is to be transmitted and is active for one-half bit time. 10 TXDO TRANSMIT DATA ZERO This output drives the VIZ circuit when a logic zero is to be transmitted and is active for one-half bit time. 172 PIN NO. SYMBOL SIGNAL NAME FUNCTION 7 TXE TRANSMITTER EMPTY This output goes high to indicate the end of a transmit operation. TXE is automatically reset after the Transmit Holding Register is loaded. 8 RXRDY RECEIVER READY This output, when high, alerts the CPU that the Receiver Holding Register contains a data character that is ready to be input. This output is automatically reset whenever a character is read from the WD1993. RXRDY is enabled unless inhibited by setting command bit CR3 (RXRDYIN) to a logic "1". It is automatically enabled again after a receive sequence is completed. 9 TXRDY TRANSMITTER READY This output, when high, alerts the CPU that the Transmit Hold ing Register is ready to accept a data character. The TXRDY output is automatically reset whenever a character is written into the WD1993 and can be used as an interrupt to the system. 13 FCR FIRST CHARACTER READY This output goes high after the receiver has completed reception of the first character in a multi-character sequence. 2 WEF WORD ERROR FLAG This pin is an output, which when active indicates an error in either the transmitter or receiver has been detected. It reflects an underun, overrun, parity or framing (receive word) error and is intended as an error interrupt. The Status Register should be read to determine the specific error. DO D1 D2 D3 D4 D5 D6 D7 DATA BUS This is the bi-directional data bus. It is the means of communication between the WD1993 and the CPU. Control, Mode, Data and Status Registers are accessed via this bus. 17 18 19 20 21 22 23 24 5 No Internal Connecticn N.C. 173 ORGANIZATION A block diagram of the WD1993 is shown in figure 2. As mentioned, the WD1993 is an eight bit bus-oriented device. Communication between the WD1993 and the controlling CPU occurs via the a bit data bus through the bus transceivers. There are 2 accessible data registers, which buffer transmit and receive data. They are the Transmit Holding Register and the Receive Holding Register. There is a parallel-to-serial shift register (parallel in-serial out), the transmit register and a serial-to-parallel shift register (serial in-parallel out), the receive register. Operational control and monitoring of the WD1993 is performed by two control registers (the command instruction register and the mode instruction register) and the status register. A read/write control circuit allows programming/monitoring or loading/reading of data in the control, status or holding registers by activating the appropriate control lines: Chip Select (CS), Read En~ble (RE), Write Enable (WE),and Control or Data Select (C/D). Internal control of the WD1993 is by means of two internal microcontrollers; one for transmit and one for receive. The control registers, null detect logic and various counters, provide inputs to the microcontrollers which generate the necessary control signals to send and receive serial data according to the Arinc 429-1 protocol, along with the programmable multicharacter capabilities. OPERATION Upon master reset (MR), the device is programmed to transmit and receive four a-bit contiguous characters with the 32nd bit odd parity. (ARINC protocol.) A minimum four bit time space is automatically inserted after the character transmission. Two receiver inputs, RXD1/RXDO and two transmitter outputs, TXD1/TXDO, are provided to interface with voltage-impedance (VIZ) circuits to translate ± 10 volt ARINC line levels to 5 volt TTL logic levels. The transmit clock (TXC) and receive clock (RXC), in ARINC mode, are four times (4X) the bit rate desired. The receiver monitors the received data input to detect a four bit time nUll, which delimits the word. If the communications link is broken during a word reception, the receiver will generate a word error flag to (WEF) to notify the CPU to request retransmission. When a null is detected, the receiver logic is reset and returned to an idle state awaiting the next word. The WD1993 may also be programmed to support a multiple character word consisting of from one to eight characters. Also, the character length is programmable from 5 to a bits, and the parity bit if parity is used, may be either inside or outside the word. The Command Register is used to select features such as parity options, loop test capability, RXRDY flag enabling, transmitter and receiver enabling, and may also cause the WD1993 to return to the Mode instruction. The Mode Register is used to select features such as bitsl character and characters/word. The Status Register contains information such as Transmitter Ready, Transmitter Empty, Receiver Ready, error conditions, and First Character Ready. OPERATING DESCRIPTION The WD1993 is primarily designed to operate in an 8 bit micro-processor environment, although other control logic schemes are easily implemented. The DATA BUS and the Interface Control Signals (CS, RE, WE and C/D) should be connected to the microprocessor's data bus and system control bus. The appropriate TXC and RXC clock frequencies should be selected for the particular application, using a programmable baud rate generator such as a BR1941. A masterreset pulse initializes the WD1993 and presets the control registers to the ARINC protocol. The RXD1/RXDO inputs are interfaced to the DITS data line via external level translators that provide TTL (5V) logic levels to the WD1993. The TXD1/TXDO outputs are connected to high voltage (± 10V) driver circuits. Figures 16 and 17 show some typical ± 10V translator and driver circuits. The TXRDY, RXRDY, FCR and WEF Flags may be connected to the microprocessor system as interrupt inputs. The status register can be period ically read in a polled environment to support WD1993 operations. The CTS input can be used to synchronize the transmitter to external events. The WD1993 is designed such that a control register write operation accesses the command instruction register. The RXRDYIN bit of the command register is used to inhibit the RXRDY output pin for ARINC operations. 174 MULTI-CHARACTER OPERATIONS As discussed above, the WD1993 is equipped with a multicharacter option which provides the user with the means of transmitting and receiving multiple contiguous characters of data within one set of delimiters-4 bit nulls for ARINC 429. Since the WD1993 is an 8 bit bus-oriented device, the controlling processor must read the WD1993 data from its holding register before the subsequent characters are assembled. This situation also exists on the transmit side, i.e., the Transmit Holding Register must be loaded before the previous 8 bits are completely shifted out of the transmit register. Several "flags" are provided for interrupt purposes so that continuity is maintained and data integrity is preserved. These flags are First Character Ready (FCR), Receiver Ready (RXRDY), Transmitter Ready (TXRDY) and Transmitter Empty (TXE). e) The data is loaded into the transmit register and TXRDY goes high. This indicates the first data word is being sent and a character can be loaded into the holding register. If the WD1993 is programmed for more than one character (multi-character) then an underrun error will be generated if the next character is not loaded before the previous word is completely shifted out, unless the current character is the last character in a sequence. f) If the last character is transmitted and no more new data is to be sent, the transmitter will indicate its status by raising the TXE flag. (No error is generated as a result of this condition.) The Receiver operates similarly: a) With the control registers suitably programmed, the receiver is enabled, REN (CR2) = "1 ". b) The RXRDY and FCR flags are "0". (Inactive). The Transmitter operates as follows: a) With the mode and command registers programmed as desired, the transmitter is enabled, TEN (CRO) "1 ". b) The TXE and TXRDY flags are "1" (active). c) The external CTS signal = "0". d) The CPU loads data into the Transmitter Holding Register, TXE and TXRDY go Low. 175 c) The incoming data word activates the receive logic and the data begins to be assembled in the receive register. d) When the first character is completely assembled, the data is loaded into the Receive Holding Register, the FCR (First Character Ready) and RXRDY (Receiver Ready) flags become active, "1". The CPU should read the data prior to the reception of the next character or an overrun error will be generated as the receiver will overwrite the old data with the new data character just received. The exception to this is in the ARINC mode, where the first character in the ARINC protocol contains a label. The FCR and RXRDY Flags become active to indicate the reception of the first character of data. The CPU reads the first character and decides whether or not it wants to acquire the subsequent characters. If not, then the CPU performs a "control write" to the COMMAND REGISTER, setting the RXRDYIN (CR3) bit to a "1 ". This bit in ARINC mode, inhibits the RXRDY flag from interrupting the CPU during the reception of the 3 remaining characters. The RXRDYIN bit is then automatically reset upon completion of the receive sequence and RXRDY is enabled again. Airlines Electronic Engineering Committee April 11 ,1978. By the adoption of this specification the foundation is set for a standard protocol governing all intersystems equipment (Line Replaceable Units). MARK 33 DIGITAL INFORMATION TRANSFER SYSTEM (DITS) Basic Philosophy Transmit from a deSignated output port over a single twisted and shielded pair of wires to designated receiver. Bidirectional data flow not permitted on a given pair. Data Transfer Numeric Iso Alphabet # 5 Graphic LOOP TEST MODE As mentioned, the WD1993 is equipped with a diagnostic test mode, local loop-back. This mode is activated by setting the LTE command billo a "1". The TEN and REN bits should be "1" and CTS should be "VIL". The receiver inputs are ignored and the transmitter outputs are sending nulls. The transmitter is internally "looped-back" to the receiver and the error and status flags operate normally. Data Format 32 bits or less (unused bit positions should be filled with binary zeros or valid data pad bits). Bit #32 is assigned to parity. Modulation Return to Zero (RZ) For basic testing, failing to reload the Transmit Holding Register in the middle of a data send sequence will cause an underrun error in the transmitter and a word error in the receiver. Failure to read the Receive Holding Register after a FCR or RXRDY flag will cause an overrun error to be generated. Transmit Voltage Levels high +10 null 0 low -10 ±0.5V ±0.5V ±0.5V Receiver Voltage Lellels: (noisy (in abse'lce of noise) environment) high +6.0V to + lOV +5.0V to + 13V -5.0V to -13V -6.0V to +10V low No damage to receiver up to 20 vac rms between A & B; +28, A to Gnd; -28, B to Gnd. For Loop-Back test operations, the user should be sure that the TXC and RXC clock frequencies are the same. This is normally implemented by placing the same clock signal on both pins (TXC and RXC). ARINC BACKGROUND Data Rate 100 kilo bit per second ± 1% Low speed 12 to 14.5 kilo bit per second ± 1% Word Synchronization All zero gap of a minimum of 4 bit times Aeronautical Radio Inc. (ARINC) publishes the ARINC 429 speCification. This document defines the air transport industries standards for the transfer of digital data between avionics systems elements. This specification was adopted by The 176 REGISTER DEFINITIONS The format and definition of the Command Register is shown below: CR2 EPS IR PEN LTE TEN RXRDYIN REN PIA TEN Transmit ENable 1 0 Enabled Disabled PIA Parity Inside or After After the data word Inside (the last data bit) of word 0 REN Receive ENable 1 0 Enabled Disabled RXRDYIN RXRDY Inhibit Inhibit RXRDY output flag 0 Normal transmitter ODe ration enable RXRDY output flag LTE Loop Test ENable 1 0 Local loop-back mode Normal Operation PEN Parity ENable 1 0 Enabled Disabled IR Internal Reset 1 0 Returns WD1993 to mode instruction format ----- EPS Even Parity Select 1 0 Even parity Odd parity 177 The format and definition of the Mode Register is shown below: MR7 MR6 MR5 MR4 x N3 N2 N1 MR3 MR2 MR1 CLS2 CLS1 x MRO x CLS2 g,g 0 0 1 1 0 1 0 1 N3 N2 N1 Characters Per Word Select 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 character 2 characters 3 characters 4 characters 5 characters 6 characters 7 characters 8 characters Character Length Select 5 bits 6 bits 7 bits 8 bits The WD1993 registers are addressed according to the following table: L H X CS C/O RE WE L L L L H L L H H X L H L H X H L H L X ~ ~ Registers Selected Read Receive Holding Register Write Transmit Holding Register Read Status Register Write Control Registers Data Bus Tri-Stated VILatpins VIH at pins don't care 178 The format of the Status Register is shown below: SR? SR6 SR5 SR4 SR3 SR2 UE FeR WEF OE PE TXE TXRDY 1 o SR1 RXRDY SRO TXRDY Transmitter Ready Active (THR can be reloaded) Inactive (transmitter is busy) Receiver Ready Active (RHR should be read) o Inactive TXE Transmitter Empty 1 Transmitter idle Transmitter active o PE Parity Error o Error reported No error OE Overrun Error 1 1 o WEF RHR has been overwritten No error Word Error Flag Indicates improper receive sequence (word error), overrun error, parity error or underrun error. o FCR No error First Character Ready This bit indicates the receiver has just completed assembly of the 1st character in a multi-character sequence and that the data is contained in the RHR. o UE o First character not ready. Underrun Error Indicates that the THR has not been loaded with a new character in time for a contiguous data transmission sequence. No error 179 ABSOLUTE MAXIMUM RATINGS Storage Temperature -55'C to + 125'C (Plastic Package) -65'C to +150'C (Ceramic Package) Voltage on any Pin with Respect to Ground .. -0.3V to + 7V . . 400 MW Power Dissipation . . Note: Absolute maximum ratings indicate limits beyond which permanent damage may occur. Continuous operation at these limits is not intended and should be limited to those conditions specified under DC Electrical Characteristics. DC ELECTRICAL CHARACTERISTICS TA~ O'Cto +70'C; VCC ~ SYMBOL 5.0V '" 5%;GND OV PARAMETER MIN VIL Input Low Voltage -0.3 VIH Input High Voltage 2.0 VOL Output Low Voltage VOH IlL Input Leakage Power Supply Current TEST CONDITIONS 0.8 V V 10L ~ 1.6mA Data Bus Leakage ICC UNIT VCC 0.45 45 V V 10H ~ -100!,A 50 uA 10 uA Data Bus is in High Impedence State 2.4 Output High Voltage IDL MAX TYP 10 uA 80 mA VIN ~ VCC Vee ~ 5.25V No Load CAPACITANCE TA ~ 25'C; Vee SYMBOL ~ GND ~ OV MIN PARAMETER TYP MAX UNIT TEST CONDITIONS CIN Input Capacitance 10 pF fC C'iO I/O Capacitance 20 pF Unmeasured pins ~ lMHz returned to GND +20 "'-S>- L +10 <{ ...J W 0 f-- 0 ::J D- f-- ::J 0 -10 --1 -20 -100 / V -50 / / SPEC. o +50 +100 tl CAPACITANCE (pF) Figure 3 OUTPUT DELAY vs CAPACITANCE 180 A.C. TIMING PARAMETERS SYMBOL PARAMETER MIN MAX UNIT TEST CONDITIONS BUS PARAMETERS Read Cycle (Reference Figure 6) tAR Address Stable before RE, (CS, C/D) 50 ns tRA 5 ns tRE Address Hold Time for RE, (CS, C/D) RE Pulse Width tRD Data Delay from RE tRDH RE to Data Floating WRITE CYCLE 350 ns 200 ns C L = 50pF 200 ns CL = 50pF 25 ns CL=15pF ns (Reference Figure 7) tAW Address Stable before WE 20 tWA Address Hold Time for WE 20 ns tWE WE Pulse Width 350 ns tDS Data Set·Up Time for WE 200 ns tWDH Data Hold Time for WE 40 ns OTHER TIMINGS (Reference Figures S, 9) tOTX TXD Delay from Falling Edge of TXC tSRX Rx Data Set·up Time to Sampl ing Pulse 200 ns CL = 100pF tNRX Rx Data Hold Time to Sampling Pulse 100 ns CL=100pF tTX Transmitter Input Clock Frequency tTPW tTPD tRX tRPW tRPD 500 ns 1 x Baud Rate DC 500 kHz 4x. 16x Baud Rate DC 750 kHz CL = 100pF Transmitter Input Clock Pulse Width 1 x Baud Rate 1.0 us 16 x Baud Rate 500 ns 1 x Baud Rate 1.0 us 16x Baud Rate 500 ns Transmitter Input Clock Pulse Delay Receiver Input Clock Frequency 1 x Baud Rate DC 500 kHz 4x, 16x Baud Rate DC 750 kHz Receiver Input Clock Pu Ise Width 1 x Baud Rate 1.0 us 16x Baud Rate 500 ns 1 x Baud Rate 1.0 us 16x Baud Rate 500 ns Receiver Input Clock Pulse Delay ns tTX v, TXRDY Delay from center of Data Bit 181 tTXC (Ix or 16x) A.C. TIMING PARAMETERS SYMBOL PARAMETER MIN MAX UNIT tTX TXRDY Delay from Center of Data Bit 2 tTXC tAX RXRDY Delay from Center of Data Bit (FCR Delay from Center of Data Bit) V2 RAXC TXE Delay from Center of Data Bit V2 tTXC 200ns _______:_:_~~~~~H_~_:________________~~~_________ Figure 4 TEST POINTS FOR A.C. TIMING DATA BUS cs c/o Figure 5 READ CYCLE TIMING Note: AC timings measured at VOH = 2.0V, VOL = 0.8V DATA BUS cs em Figure 6 WRITE CYCLE TIMING 182 and with test load circuil. TEST CONDITION (4x) CL = 50 pF (1 x Rate) TXC (1 x baud) k-------~ - - - - 16 TXC periods -------------l'>-j TXC (16 x baud) ~l----- TXC (4 x "'I 4 TXC periods ----------1--;.., b~Ud)l----------'r- -T-X-D--~------~ \L-__ "" Figure 7 TRANSMITTER CLOCK AND DATA TIMINGS -----4~-----tHRX RXD RXC ~-----tRPw-----~.~I'l------tRPD------4~~1 I (1 x baud) ~-----------4 RXC periods -----------~ RXC (4 x baud) -----16 RXC periods - - - - RXC (16 x baud) Figure 8 RECEIVER CLOCK AND DATA TIMINGS 183 TXC (4 ~) CS, C7B TXADY - - - - - - , TIE _ _ _ _ _ _ _ _ _ _---, TX01 --------------------f TXDO ---------------------t---------; Figure 9 TRANSMITTER TIMINGS (ARINC MODE) RXD1,D (Anne) 1st Data Character null 4th Data Character 3rd Data Character 2nd Data Character null n n nXRDY AD n n U U IL U lJ Figure 10 RXRDY AND FCR TIMING r TXE~ ~----------------------------------------------------------~ TXROY ~'-----_ _ _ __ _ ' n L_ _ _ __ _ ' n L_ _ _ _~ u u TXDt 1st Data Character 2nd Data Character 3rd Data Character 4th Data Character NULL Figure 11 TXRDY AND TXE TIMINGS (4 Character Sequence) 184 character with 4 bLt 1l111llmum spilce 01 last char,lcter 1$ pJrLty ~one trill1smlS5Lon reception conSists of four clgllt bLl ch,lfilcter ilild 4 bL\ (min I null o1bLlSPiKeifluilii Delll11lter -,--.--,----1~ pa~ltY ~"ljDl D2 D3D'I~~2131~~16171±_I'o~'~!±'I26I~913Q~I£k_:;j .12131,1, Elld 01 prevIous 4 bLI null tallowed by nexl ctl ------<.--+-+--...J'./V'--<~./V----__. ...._ RXDI 12 >---<~-- 02 15K 5V LM3190 OR EOUIV lOOK SOD!! 15K 03 >'--<~--- __ RXDO LOW LF356 04 OR EOUIV 330K 1 47 ,d 12V 01 "I Note 1 01 2 All 04 IN4001 caps 35V Figure 15 ARINC 429 LINE LEVEL TRANSLATOR (RECEIVER) • 5V 47K lOOK 50K 47K lOOK 51!1 HIGH TXDI '\ lOOK OR EOUIV LHOD02C OR EQUIV 12V lOOK 51!! TXDO :>-'--....--""""'-___-{> !>___- -_ _-"IV''-_ _.....-I lOOK - 12V Figure 16 ARINC 429-1 LINE DRIVER 186 LOW A 1~.575 r- 620 _I ~ WD1993E CERAMIC PACKAGE WD1993F PLASTIC PACKAGE This is a preliminary specification with tentative device parameters and may be subject to change after final product characterization is completed. Informatkm fumished by Western Digital Corporation is believed to be accurate and reliable. However. no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may result from its use. No Ik:ense is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said drcuitry at anytime without notice. WESTERN DIGITAL CORPORArlON 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 187 188 WESTERN DIGITAL c o R p o R A T o N WD1984 MULTI-CHARACTER SYNCHRONOUS ASYNCHRONOUS RECEIVER TRANSMITTER FEATURES o TWO OPERATING MODES: SYNCHRONOUS & ASYNCHRONOUS • 1 TO 8 CHARACTERS OF 5,6,7, OR 8 BITS PER CHARACTER TRANSMISSION It SELECTABLE PARITY INSERTION IN OR AFTER LAST BIT OF WORD It EVEN/ODD PARITY SELECT OR NO PARITY .. DOUBLE BUFFERED RECEIVER & TRANSMITTER .. ASYNCHRONOUS SELECTABLE CLOCK RATES (lx,16x) .. UNDERRUN ERROR DETECTION FOR TRANSMISSION .. OVERRUN, FRAMING AND PARITY ERROR DETECTION ON RECEIVER .. LINE BREAK GENERATION AND DETECTION (ASYNC MODE) .. FIRST CHARACTER OF WORD FLAG FOR SINGLE INTERRUPT APPLICATIONS o DIAGNOSTIC LOCAL LOOP-BACK TEST MODE co ~ o DC TO 1M BITS/SEC (lx) OPERATION :i u a: « o TTL COMPATIBLE INPUTS AND OUTPUTS :; o SINGLE +5 VOLT SUPPLY o 28 PIN CERAMIC OR PLASTIC PACKAGE INTRODUCTION The Western Digital WD1984 is designed to handle digital data transmission, according to two protocols. These are the Synchronous and Asynchronous protocols. Parallel data is converted into a serial data stream during transmission and serial to parallel during reception . The device can be programmed to transmit and receive words that are 1 to 8 characters in length; 5, 6, 7 or 8 bits per character. Error flags and control signals have been provided to broaden the application range of the device. The WD1984 is packaged in a 28 pin plastic or ceramic package and is available in two temperature ranges: Commercial and Industrial. FiE VSS c75 BDETISDET CTS cs TXC WE N.C. 07 MA 06 TXE 05 AXRDY 04 TXADY 03 N.C. 02 TXO 01 Axe DO FCRfTIP AXO N.C. vee '" READlWRITE CONTRO~ Figure 1 WD1984 PIN-OUT N.C. No Internal Connection Figure 2 WDl984 BLOCK DIAGRAM t¥@§IWWP 189 PIN NO. SYMBOL SIGNAL NAME FUNCTION 1 VSS GROUND Ground 2 BDETI SDET BREAK DETECTI SYNC DETECT This pin is a bi·directional port. In ASYNC. it is an output. which goes high when the receiver logic detects a break character. In the SYNC mode, it is an input which causes the receiver to begin assembling data bytes as programmed. 3 CTS CLEAR· TO·SEND This input is activated (Vld to enable the transmitter logic. 4 TXC TRANSMIT CLOCK This input is the source clock for transmission. The data rate is a function of this clock frequency. ASYNC MODE ~ 1 x or 16x bit rate SYNC MODE ~ 16x bit rate 5 N.C. 6 MR MASTER RESET When high (V IH), presets the WD1984. The command register is set to 00100101 and the mode register is set to 00111100. 7 TXE TRANSMITTER EMPTY This output goes high to indicate the end of a transmit operation. TXE is automatically reset after the Transmit Holding Register is loaded. 8 RXRDY RECEIVER READY This output, when high, alerts the CPU that the Receiver Holding Register contains a data character that is ready to be input. This output is automatically reset whenever a character is read from the WD1984. 9 TXRDY TRANSMITTER READY This output, when high, alerts the CPU that the Transmit Holding Register is ready to accept a data character. The TXRDY output is automatically reset whenever a character is written into the WD1984 and can be used as an interrupt to the system. No internal connection. 190 PIN NO. SYMBOL SIGNAL NAME FUNCTION 10 N.C. 11 TXD TRANSMIT DATA ONE This output is the serial data output. 12 RXC RECEIVE CLOCK This input is the source clock for reception. The data rate characteristics are the same as the transmit clock. 13 FCRlTIP FIRST CHARACTER READY/TRANSMISSION IN PROGRESS In the ASYNC mode. this output goes high after the receiver has completed reception of the first character in a multi-character sequence. 14 N.C. 15 VCC POWER SUPPLY +5V DC 16 RXD RECEIVE DATA ONE This input is the serial data input. 17 18 19 20 21 22 23 24 DO 01 02 03 04 05 06 07 DATA BUS This is the bi-directional data bus. It is the means of communication between the WD1984 and the CPU. Control, Mode, Data and Status Registers are accessed via this bus. 25 WE WRITE ENABLE When low (V Id, allows the CPU to write into the selected register. 26 CS CHIP SELECT When low (V I d, the device is selected. This enables communication between the WD1984 and a microprocessor. 27 C/D CONTROL/DATA This input is used in conjunction with an active read or write operation to determine register access via the DATA BUS. 28 RE READ ENABLE When low (V Id, allows the CPU to read data or status information from the WD1984. 191 GENERAL DESCRIPTION The WD1984 is a bus-oriented MOS/LSI device designed to provide two data communication protocols: 1. Asynchronous 2. Synchronous The control registers are used to select the desired protocol and provide programmable format options within each protocol, as outlined below. The WD1984 contains two control registers needed to specify formal options within each protocol. These registers are the command instruction register and the mode instruction register. The format options available to the user are: 1) Parity Enable (PEN) 2) Parity Position (PIA) The Parity bit (when enabled) can either be appended to the data word After the data brts or it can be Inside the data word in the last bit position. 3) Odd or Even Parity Select (EPS) 4) Character Length Select 5, 6, 7 or 8 Bits/Character) (CLS2 and CLS2i) The Asynchronous mode has file option of selecting the number of contiguous characters per transmission and receive sequence. This multicharacter option may facilitate data handling between peripheral devices with a non-standard number of data bits. Therefore, the user can change the mode register to transmit and receive any combination of one to eight char'lcters per word and 5, 6, 7 or 8 b~s per character. Additionally, the Asynchronous mode has two options which determine the operational characteristics of the protocol: 1) Stop Bit Selection-(SPS) This control bit selects 1 or 2 stop bits (1 or 1Y2 bits in 5 bit characters) at the end of the word, which is part of the character delimiting definition. 2) Asynchronous clock rate select (1 x or 16x clock rate), which describes resolution and bit rate characteristics. The WD1984 also contains a local loop-back test mode of operation, which is controlled by the Loop Test Enable (L TE) bit in the command register. In this diagnostic mode, the transmitter output is "looped-back" into the receiver input. The REN and TEN control bits must also be active ("1") and the CTS input must be low ("0"). The status and output flags operate normally. ORGANIZATION A block diagram of the WD1984 is shown in figure 1. As mentioned, the WD1984 is an eight bit bus-oriented device. Communication between the WD1984 and the controlling CPU occurs via the 8 bit data bus through the bus transceivers. There are 2 accessible data registers, which buffer transmit and receive data. They are the Transmit Holding Register and the Receive Holding Register. There is a parallel-ta-serial shift register (parallel in-serial out), the transmit register and a serial-to-parallel shift register (serial in-parallel out), the receive register. Operational control and monitoring of the WD1984 is performed by two control registers (the command instruction register and the mode instruction register) and the status register. A read/write control circuit allows programming/monitoring or loading/reading of data in the control, status or holding registers by activating the appropriate control lines: Chip Select (CS), Read Enable (RE), Write Enable (WE) and Control or Data Select (C75). Internal control of the WD1984 is by means of two intemal microcontrollers; one for transmit and one for receive. The control registers, null detect logic and various counters, provide inputs to the microcontrollers which generate the necessary control signals to send and receive serial data according to the programmed protocols. 192 REGISTER DEFINITIONS The format and definition of the Command Register is shown below: CR7 CR6 CR5 CR4 CR3 CR2 EPS IR PEN LTE TXSM REN TEN PIA TEN Transmit ENable 1 Enabled Disabled o PIA Parity Inside or After 1 After the data word Inside (the last data bit) of word o REN Receive ENable 1 Enabled Disabled o TXSM Transmit Space or Mark 1 Send break character (force TXD low) Normal transmitter operation o LTE Loop Test ENable 1 Local loop-back mode Normal Operation o PEN Parity ENable 1 o Enabled Disabled IR Internal Reset 1 Returns WD1984 to mode instruction format o EPS Even Parity Select 1 Even parity Odd parity o 'Internally disabled in Synchronous mode. 193 The format of the Status Register is shown below: SR? SR6 SR5 SR4 SR3 SR2 UE BRKDET FE OE PE TXE TXRDY 1 o RXRDY 1 o Transmitter Ready Receiver Ready Active (RHR should be read) Inactive Transmitter Empty 1 Transmitter idle Transmitter active PE Parity Error 1 o Error reported No error OE Overrun Error o RHA has been overwritten No error FE Framing Error 1 o BRKDET o TXADY Active (THR can be reloaded) Inactive (transmitter is busy) TXE o RXRDY Indicates a framing error has been detected. No error Break Character Detect In ASYNC mode, this bit indicates the receiver has detected a break character. Inactive Underrun Error o In multi-character transmissions, indicates that the THR has not been loaded with a new character in time for a contiguous data transmission sequence. No error 194 The format and definition of the Mode Register is shown below: MR7 MR6 MR5 MR4 SBS N3 N2 Nl MS2 MSI X X 0 0 0 MR3 MR2 MRI MRO CLS2 CLSI MS2 MSI Mode Selected Undefined Asynchronous mode (16X) Asynchronous mode (1 X) Synchronous mode (16X) 1 1 X CLS2 CLSI 0 0 0 1 1 0 N3 N2 Nl Characters Per Word Select 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 0 1 character 2 characters 3 characters 4 characters 5 characters 6 characters 7 characters 8 characters Character Lenllth Select 5 6 7 8 1 SBS bits bits bits bits 1 1 1 Stop Bit Select 1 2 stop bits (1-1/2 bits in 5 bit characters) 1 stop bit 0 The WD1984 registers are addressed according to the following table: L H X Cs C/O RE WE L L L L H L L H H X L H L H X H L H L X ~ ~ VILat pins V~IH at pins don't care 195 Registers Selected Read Receive Holding Register Write Transmit Holding Register Read Status Register Write Control Registers Data Bus Tri-Stated A.C. TIMING PARAMETERS SYMBOL IRX PARAMETER MIN RxRDY Delay from Center of Data Bit (FCR Delay from Center of Data Bit) Internal BRKDET Delay from Center of Data Bit External SynDet Set-up time before rising edge of RXC MAX UNIT V2 RRxe 1 !Rxe ns 200 TXEMPTY Delay from Center of Data Bit V2 tTxe ------~-:-~~~~~-~-:--------------~~~-------Figure 4 TEST POINTS FOR A.C. TIMING DATA BUS cs c:!5 Figure 5 READ CYCLE TIMING Note: AC timings measured at VOH = 2.0V, VOL DATA BUS Cs em Figure 6 WRITE CYCLE TIMING 196 TEST CONDITION = O.BV CL = 50 pF (1 x Rate) \+----TXC IX BAUD tTPW -----_~+_14f------ tTPo ....._ _ _ _ _ _ _ _ _ _ 16 Txe PERIODS _ _ _ _ _ _ _ _ _ _-+1 TXC 16X BAUD f ...;TX~D_ _ _ _ tOTX Figure 7 TRANSMITTER CLOCI( AND DATA TIMINGS 1-o-------tSRX -------o-i-f----- tHRX -------1>1 RXD 1-o-_ _ _ _ _ _ tRPW _ _ _ _ _-P~-----tRPO _ _ _ _ _~ RXC IX BAUD 1 - 0 - - - - - - - - - - - - 1 6 Rxe P E R I O D S - - - - - - - - - - - + j RXC 16X BAUD Figure 8 RECEIVER CLOCK AND DATA TIMINGS 197 Rxe (16x) SDET - - - - - - - - - - { RXD _ _ _ _ _ _ _ _ _ _~)(~_______1_st_d_a_ta_B_it_ _ _ _ _ _ _ _ _ __ Txe (16x) es e7i5 U WE U tTX TXRDY TXE TIP TXD -~ L / \ U U ~~ \ \ I \ 1st data bit Fi9ure 9 SYNCHRONOUS MODE TIMINGS 198 tTX Start Sit RXD (Async) T RXD r 1st Data Character 1 (Synch) 1st Data Charnctcr I 2nd Data Character T 2nd Data ChariJctcr I 3rd Data Character I 3rd Data Character I pi I Stop bits 4th Data Character I n FCR n n n RXADY U IL U U U Figure 10 RXRDY AND FCR TIMING r T~E ~L_ _ _ _ _ _ _ _ _ _ _ _ __ n n u u TXRDY - - u - l L_ _ _ _ _ _ _- ' TXD r 1st Data Character I 2nd Data Character I 3rd Data Character I 4th Data Character Start bit Figure 11 TXRDY AND TXE TIMINGS (4 CHARACTERS SEQUENCE) 2 eight bit characters With start'stop bits and panty Parity outside data Character II programmed Start bit Marking Ime or end of prevIous character I (programmed stop bits ~ . I next transmission 1sl 8 bit Character 2nd 8 bit Character Figure 12 16 BIT ASYNCHRONOUS 4 Five bit characters With starl/stap bits and parity (parity programmed inSide last data character) Panty InSide the last bit of the last CharaCler\ Single stop bit Marking line or next transmission Figure 13 20 BIT ASYNCHRONOUS 199 ASYNCHRONOUS OPERATION When the Asynchronous mode is selected, start, stop and parity bits are inserted as programmed. The receiver and transmitter clocks can be programmed as 1X or 16X. The transmitter output, TXD line will mark or space after transmission depending on command register programming. A line break condition can be programmed by setting the TXSM bit (command register bit CR3) to a logic "I". The TXD line will be forced to a low as long as this bit is logic "I". When the receiver detects the input line (RXD) low for a period equal to the word length including start, parity and stop bits, the break detect flag will become active. The multi-character option is available to the Asynchronous protocol. The user can select any combination of one to eight characters per word and 5, 6, 7 or 8 bits per character. This allows a minimum word length of 5 bits and a maximum of 64 bits, plus parity, if enabled. SYNCHRONOUS OPERATION When the Synchronous mode is selected, start and stop bits are not transmitted. Parity is not available in Synchronous mode. The multi-character option is not available; however, the transmitter will continuously shift out data as long as the transmit holding register is buffered by the CPU. Two I/O signals are provided for synchronization, TIP (transmission in progress), an output which indicates that the transmitter is actively sending data and SYNCDET (SYNC detect), an input which notifies the receiver logic when to begin assembl ing characters. Synchronization is obtained when the TIP signal from the transmitter is brought to the SYNCDET input of the associated receiver. Completion of a data transmission sequence occurs when the last character in the transmit register is sent and no further data is loaded into the transmit holding register. The TIP signal goes low. The receiver monitors the SYNCDET line and assembles data characters until it goes low, at which time it goes to an idle state. PARITY MODES The WD1984 is provided with some unique parity options as discussed above. If parity is enabled and the word length is eight bits, the parity is added to the transmitted word and stripped from the received word. When programmed for 5, 6 or 7 bits per character, the reroiver checks and makes available the parity bit on the bus dxt to the MSB of data. Unused bits in an assembled chara,;ter are zero when the receive holding register is read. For example, in Asynchronous mode when two a bit characters are programmed with parity after the Data Word and two stop bits, 20 bits are transmitted. These are the Start bit, 16 Data bits, Parity and the 2 Stop bits. The Parity will be stripped off at the receiver since the character length is 8. In Synchronous mode, Parity is not available and it is suggested the user provide his own software CRC as the last characters of his transmission. OPERATING DESCRIPTION The WDI984 is primarily designed to operate in an 8 bit micro-processor environment, although other control logic schemes are easily implemented. The DATA BUS and the Interface Control Signals (CS, RE, WE and c7i5) should be connected to the microprocessor's data bus and system control bus. The appropriate TXC and RXC clock frequencies should be selected for the particular application, using a programmable baud rate generator such as a BR1941. A master reset pulse initializes the WD1984 and presets the control registers to transmit and receive four a-bit contiguous characters with the 32nd bit odd parity. If other protocols are desired, then the mode and command registers should be programmed as discussed previously. For typical data communication applications, the RXD and TXD inpuVoutputs can be connected to RS-232C interface ci rcuits or a modem. The TXRDY, RXRDY, FCR and FEIBRKDET Flags may be connected to the microprocessor system as interrupt inputs. The status register can be periodically read in a polled environment to support operations. The CTS input can be used to synchronize the transmitter to extema I events. The WDI984 is designed such that a control register write operation accesses the command instruction register. The mode instruction register is accessed by performing a control write operation setting the intemal reset bit high, which allows the next control write operation to program the mode register. Subsequent control write operations will again access the command register until another internal reset is performed. Internal reset commands should also disable the receiver and transmitter until the new mode instruction is programmed. The next command should then reactivate the receiver and transmitter to resume operations. This minimizes any errors that may be generated as a result of an active receive line during reprogramming. 200 The TXSM bit of the command register causes the transmitter output to be forced low after the last word is transmitted. This is also used in Asynchronous mode to send a break character (all zero data and parity bits). by raising the TXE flag. (No error is generated as a result of this condition.) The Receiver operates similarly: a) The receiver is equipped with logic to look for a break character in the Asynchronous mode. When a break character is received, the receiver activates the break detect flag and status bit. When the receiver input line goes high again lor at least "one bit time", the receiver resets the break detect flag and resumes its search for a start bit. MULTI-CHARACTER OPERATIONS As discussed above, the WDI984 is equipped with a multicharacter option which provides the user with the means of transmitting and receiving multiple contiguous characters of data within one set 01 start and stop bits. Since the WDI984 is an 8 bit bus-oriented device, the controlling processor must read the WDI984 data from its holding register before the subsequent characters are assembled. This situation also exists on the transmit side, Le., the Transmit Holding Register must be loaded before the previous 8 bits are completely shifted out of the transmit register. b) The TXE and TXRDY flags are "I" (active). c) The external CTS signal = "0". The CPU loads data into the Transmitter Holding Register, TXE and TXRDY go Low. e) The data is loaded into the transmit register and TXRDY goes High. This indicates the first data word is being sent and the character can be loaded into the holding register. If the WDI984 is programmed for more than one character (multi-character) then an underrun error will be generated if the next character is not loaded before the previous word is completely shifted out, unless the current character is the last character in a sequence. f) d) When the first character is completely assembled, the data is loaded into the Receive Holding Register, the FCR (First Character Ready) and RXRDY (Receiver Ready) flags become active, "I". The CPU should read the data prior to the reception of the next character or an overrun error will be generated as the receiver will overwrite the old data with the new data character just received. It is possible to program a test routine using the loop-back mode so that one can simulate "line breaks" and parity errors. This can be done using the TXSM command to interrupt a transmit sequence in "mid-stream", since setting the TXSM bit to a "I" while the transmitter is currently sending data will immed iately cause zeroes to be sent until the TXSM bit is reprogrammed to a "0". This can only be done when in the loop-test mode, else the TXSM command is recognized only after the current transmission is complete. "I". d) The RXRDY and FCR flags are "0". (Inactive). The incoming data word activates the receive logic and the data begins to be assembled in the receive register. LOOP TEST MODE: The Transmitter operates as follows: With the mode and command registers programmed as desired, the transmitter is enabled, TEN (CRO) = b) c) As mentioned, the WDI984 is equipped with a diagnostic test mode, local loop-back. This mode is activated by setting the LTE command bit to a "I". The TEN and REN bits should be "I" and CTS should be "0". The receiver inputs are ignored and the transmitter outputs are held high V OH. The transmitter is internally "looped-back" to the receiver and the error and status flags operate normally. Several "flags" are provided for interrupt purposes so that continuity is maintained and data integrity is preserved. These flags are First Character Ready (FCR), Receiver Ready (RXRDY), Transmitter Ready (TXRDY) and Transmitter Empty (TXE). a) With the control registers suitably programmed, the receiver is enabled, REN (CR2) = "I". For multicharacter operations, failing to reload the Transmit Holding Register in the middle of a data send sequence will cause an underrun error in the transmitter and a word error in the receiver. Failure to read the Receive Holding Register after a FCR or RXRDY flag will cause an overrun error to be generated. For Loop-Back test operations, the user should be sure that the TXC and RXC clock frequencies are the same. This is normally implemented by placing the same clock signal on both pins (TXC and RXe). If the last character is transmitted and no more new data is to be sent, the transmitter will indicate its status 201 ABSOLUTE MAXIMUM RATINGS Absolute ratings indicate limits beyond which permanent damage may occur. Continuous operation at these limits is not intended and should be limited to those conditions specified under DC Electrical Characteristics. Storage Temperature Plastic ("F" package) ................ -55"C to + 125'C Ceramic C'E" package) .............. - 65'C to + 150'C Voltage on any Pin with respect to ground ... - 0.5V to + 7V Power Dissipation ............................. .400MW DC ELECTRICAL CHARACTERISTICS T A=O"C to +70"C; Vee =5.0V ± 5%; GND= OV SYMBOL PARAMETER MIN TYP MAX UNIT TEST CONDITION VIL Input low Voltage -0.5 .08 V VIH Input High Voltage 2.0 Val Output low Voltage VCC 0.45 V 10l = 1.6mA VOH Output High Voltage V 10H = -1001LA -50 uA VOUT = 0.45V 10 uA VOUT= V 10 uA VIN = VCC 80 rnA IDl 2.4 Data Bus leakage III Input Leakage ICC Power Supply Current 45 V CAPACITANCE TA = 25"C: VCC = GND = SYMBOL OV PARAMETER TYP MIN MAX UNIT TEST CONDITION CIN Input Capacitance 10 pF fC= lMHz CliO 1/0 Capacitance 20 pF Unmeasured pins returned to GND +20 Ui .s +10 w 0 / >« ..J 0 I- :::> 11. I- :::> 0 -10 <:I -20 -100 / / V -50 / SPEC. o +50 +100 li CAPACITANCE (pF) Figure 3 OUTPUT DELAY VS CAPACITANCE 202 A.C. TIMING PARAMETERS SYMBOL PARAMETER MIN MAX UNIT CONDITIONS BUS PARAMETERS Read Cycle (Reference Figure 5) c7B) c7B) tAR Address Stable before RE, (CS, tRA Address Hold Time forRE, (CS, tRE RE Pulse Width tRD Data Delay from RE 200 ns CL = 50pF tRDH RE to Data Floating 200 ns CL = 50pF 25 ns CL = 50pF WRITE CYCLE 50 ns 5 ns 350 ns (Reference Figure 6) tAW Address Stable before WE 20 ns tWA Address Hold Time for WE 20 ns tWE WE Pulse Width 350 ns tDS Data Set· Up Time for WE 200 ns tWDH Data Hold Time for WE 40 ns OTHER TIMINGS (Reference Figure 7, 8, 9) toTX TXD Delay from Falling Edge of TXC tSRX RX Data Set-Up Time to Sampling Pulse 200 ns CL = 100pF tNRX RX Data Hold Time to Sampling Pulse 100 ns CL=I00pF tTX Transmitter Input Clock Frequency tTPW tTPD tRx tRPW tRPD 500 ns 1 x Baud Rate DC 500 kHz 4x, 16x Baud Rate DC 750 kHz CL = 100pF Transmitter Input Clock Pu Ise Width 1 x Baud Rale 1.0 us 16x Baud Rate 500 ns 1 x Baud Rate 1.0 us 16x Baud Rate 700 ns Transmitter Input Clock Pulse Delay Receiver Input Clock Frequency 1 x Baud Rate DC 500 kHz 4x, 16x Baud Rate DC 750 kHz Receiver Input Clock Pulse Width 1 x Baud Rate 1.0 us 16 x Baud Rate 500 ns 1 x Baud Rate 1.0 us 16 x Baud Rate 700 Receiver Input Clock Pulse Delay ns ns tTX TXRDY Delay from center of Data Bit 203 200 ns V, tTXC (Ix or 16x) A 1_ r-- 575 _ 1 620 -.., WD1984E CERAMIC PACKAGE WD1984F PLASTIC PACKAGE This is a preliminary specification with tentative device parameters and may be subject to change after finar product characterization is completed. Information furnished by Westem Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may result from its USB. No Ik:ense is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said circuitry at anytime without notice. WESTERN DIGITAL CORPORAr,ON 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 204 General Data Communications Technical Notes 205 WESTERN DIGITAL p c o o R R T A o N TECHNICAL NOTE Using The New Data Link Control Chips ex> By Geary Leger o A NEW GENERATION OF LSI DEVICES FOR DATA LINK CONTROL HAS ARRIVED. WHAT ARE THE ADVANTAGES? PITFALLS? TRADE-OFFS? • THE TECHNOLOGY OF LARGE-SCALE-INTEGRATION (LSI) HAS BROUGHT ABOUT A VARIETY OF NEW DATA COMMUNICATIONS DEVICES WHICH HANDLE BOTH EXISTING CHARACTER-ORIENTED PROTOCOLS AND THE RELATIVELY NEW BIT-ORIENTED PROTOCOLS. THE MOST WIDELY PUBLICIZED ARE THE MULTI-PROTOCOL CHIPS, AND THEIR ADVANTAGES HAVE BEEN DOCUMENTED. HOWEVER, THESE CHIPS MAY NOT OFFER THE OPTIMUM SOLUTION. A COMBINATION OF CHARACTER-ORIENTED AND BIT-ORIENTED PLUG-COMPATIBLE ICS MAY OFFER PERFORMANCE ADVANTAGE AND A COST-EFFECTIVE ALTERNATIVE TO THE MULTI-PROTOCOL CHIPS. '" i5 Character-oriented refers to the method whereby both control data and text data have a fixed character length. This ~ length is often 8 bits but may also appear as 5, 6, or 7 bits. ::;; Two types of synchronization are used. These are character synchronization, which resyncs at each character by the use of starVstop bits, and bit synchronization, which maintains a bit rate clock synchronized between transmitter and receiver. Character synchronization is commonly referred to as "asYnchronous", and bit synchronization is usually called "synchronous". In character-oriented protocol, control data and user information both have the same format and use the same character set, such as ASCII or EBCDIC. Therefore, it is necessary to have a means to distinguish the control data from the user information. The character-oriented protocols have been in existence since the early 60's, which is considerably longer than the bit-oriented versions, and thus have a more widespread usage. The most popular has been "Bi-sync" (BSC): BIT AND CHARACTER-ORIENTED PROTOCOLS A data link is a communications channel established between two or more locations for the purpose of information transfer. A protocol is a set of rules controlling the orderly exchange of that information. Data exchanged across a data link contains both user information and control data. Satisfying the need to exchange the user information is the whole reason for the data link: the sole justification for the existence of the data link. The control (or supervisory) data assures the reliable and orderly information exchange. Insertion, separation, and interpretation of the control data is the responsibility of the protocol. A protocol must also provide link initialization, termination, and error recovery. Among the rather wide variety of protocols which In the relatively new bit-oriented method, data are divided into frames which are preceded and ended by a unique flag pattern (Ot111110). Within the frame are all control and text data, and a 0 is inserted after each sequence of five contiguous 1's which provides data transparency. The only type of synchronization used is bit synchronization. The bit-oriented protocols offer a number of improvements as shown in TABLE II. The standards for the bit-oriented are primarily High-Level Data Link Control (HDLC), Synchronous Data Link Control (SDLC), and Advanced Data Communication Control Procedure (ADCCP). Initial work on the bit-oriented protocols began about 1969, with the first applications available in about 1974. have been used, there are only two types: character-oriented and bit-oriented. • BSC 207 ~ Binary Synchronous Communications PARITY CHARACTER-ORIENTED CHARACTER SYNCHRONOUS Each character is synchronized individually by start and stop bits. Error control is by means of a parity bit. STOP BIT START BIT DATA BCC CHARACTER-ORIENTED BIT SYNCHRONOUS This particular example is Each bit is synchronized by a bit clock locked to the transmitter clock. Character synchronization is achieved by a beginning synchronizing (SYN) character. Error control is by a l6-bit block check character (BCC) which is generated by a cyclic redundancy check (CRG) polynominal X 16 + X 15 + X 2 + 1. sse, transparent. ADDRESS CONTROL INFORMATION (DATA) FCS 1=1 FRAME BIT-ORIENTED BIT SYNCHRONOUS Each bit is synchronized by a bit clock locked to the transmitter clock. Each frame is synchronized by a unique begInning and trailing Flag (01111110). In between flags, all sequences of 5 contiguous l's are followed by a O. Since a Flag contains 6 contiguous 1's, it is not possible to misinterpret a Flag or Data. Error control is by the Frame Check Sequence (FCS) which is the 16 bits preced ing the trailing flag. The FCS is generated by CRC polynominal X16 + X 12 + X!> + 1. 206 CHARACTER ORIENTED BIT ORIENTED ASYNCHRONOUS SYNCHRONOUS SYNCHRONOUS Interactive devices such as teletypes and keyboard display devices ASR-33, T1 Silent 700, GE Terminent, etc. BSC (BISYNC) DDCMP HDLC, SDLC, ADCCP, CCITT X.25 Table I: APPLICATIONS OF CHARACTER-ORIENTED AND BIT-ORIENTED PROTOCOLS CHARACTER ORIENTED PROTOCOLS BIT ORIENTED PROTOCOLS Code Set Shared Between Data And Control Functions Transparency Achieved Only Through Use Of Escape Mechanisms Device, Message, And Link Control Intermixed Use Of Fields For Control Frees Code Set For Data Naturally Code Transparent Unambiguous As To Link Control Separates Link From Device And Message Control. Error Checking On Text And Supervision Two-Way Simultaneous Capability Provides Efficient Utilization Of Full Duplex Link. Very Flexible And Modular. Provides For Wide Range Of Application. Error Checking On Text Two-Way Alternate In Nature (i.e. half-duplex) Relatively Rigid In Structure Table II: COMPARISON OF CHARACTER AND BIT-ORIENTED PROTOCOLS. IMPLEMENTATION PROBLEM Since the character-oriented protocols have been in existence for some time, there is already a large amount of equipment installed world-wide which are established as character-oriented terminals. Herein also lies a problem that manufacturers and users of data communication equipment face with character-oriented terminals. The bit-oriented may represent the protocols of the future, but the character-oriented styles will stay for some time because of the enormous economic investment they represent. Thus, how does one plan for the future by providing bit-oriented capability, without prematurely obsoleting character-oriented equipment? One solution is to use a multi-protocol-style chip; such as the Signetic 2652, the Zilog SIO orthe Fairchild 3846. Basically, these chips provide both character-oriented and bit-oriented capabilities on the same chip. used throughout that particular application. Therefore, a cost effective solution is to design a printed circuit (or socket) to accept either a character-oriented or a bit-oriented chip. To reach this end, Western Digital Corporation has developed a pin-for-pin compatible family, the WD1931 and WDt933. Therefore, a single PIC board could satisfy both existing character-oriented protocols and the newer bit-oriented protocols without the expense of a multi-protocol-style chip. The W01931 is a versatile character-oriented chip. This chip has automatic idle fill for both transparent and non-transparent BSC. Idle-fill is one desirable feature of BSC for transmitter processors which are slow with respect to the data rate. A SYN (non-transparent) or a OLE-SYN (transparent) may be inserted without affecting the integrity of the data, and the CS ASTRO may be programmed for either SYN fill or OLE-SYN fill. One application for the multi-protocol chips is CCITT Recommendation X.21. X.21 defines three levels of data link control. Level 1 is the physical interface and specifies a mechanical connection of a 15-pin connector. Levels 2 and 3 are the link initialization and call establishment phases. The call establishment is specified as character-oriented, and is followed by the data transfer phase which the user is free to define as either character- or bit-oriented, but is bit-oriented in probably all applications. The W01933 is a universal bit-oriented data link controller which will handle HOLC, ADCCP, or SDLC. Bit rates up to 1.5M bps may be achieved. A digital phase locked-loop may be used with a 32X clock to facilitate usage modems without timing clocks. Also, the W01933 may be used for SOLC loop applications such as the IBM 3650 Retail Stores System. However, in non-X.21 applications, only one protocol will be Figure I details the compatibility of the 193111933 pins. Table III shows a comparison of the combination 193111933 with two popular multi-protocol chips. 209 Table III. COMPARISON OF 1931/1933 COMBINATION WITH TWO POPULAR MULTI·PROTOCOL CHIPS FEATURE Maximum Data Rate (bps) Bit·Oriented Protocol SDLC Loop Mode Operation (e.g. IBM 3650) Bit·Oriented Short Frame Detection Bit·Oriented NRZI Digital Phase· Locked Loop Character·Oriented Protocol Synchronous Automatic SYN Fili/Strip on BSC Automatic DLE·SYN Fill/Strip on BSC Transparent Asynchronous Shortened STOP Bit Capability Asynchronous AUTO ECHO Loop Test Diagnostic Feature CRC for HDLC CRC for Bisync CRC for DDCMp·· Miscellaneous 110 Pins N. A. WESTERN DIGITAL 1931 1933 1.5M Yes Yes Yes Yes Yes 1M Yes Yes Yes Yes Yes Yes Yes Yes Yes No No OUT.ONLY Yes SIGNETICS 2652 or SMC 5025 ZILOG SIO 1M/2M Yes No Yes No No Yes Yes 550Ki880K Yes No No No No Yes Yes No No NA NA Yes Yes No Yes No ~ Not Applicable DDCMP is Digital Equipment Corporation's protocol, "Digital Data Communication Message Protocol". Only if DMA is not used. 210 No Yes No No No Yes Yes·" Yes No Figure 1. PIN ASSIGNMENTS FOR THE 1931/1933 PIN # 1931 1933 COMMENTS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 IC NIC RE CS MISC OUT INTRQ WE DALO DAL1 DAL2 DAL3 DAL4 DAL5 DAL6 DAL7 MR DTR DRQO DRQI GND NIC AO IC EOB RE CS MISC OUT INTRQ WE DALO DALI DAL2 DAL3 DAL4 DAL5 DAL6 DAL7 MR DTR DRQO DRQl GND A1 A1 IC ~ Internal Connection NIC ~ No Internal Connection Same Same Same Same Same Same Same Same Same Same Same Same Same Same Same Same Same Same NIC ~ No Internal Connection Same Same See Note 1 Same Same Same See Note 2 Same See Note 2 Same Same Same Same See Note 3 See Note 3 See Note 3 See Note 3 Same Same +12V TD IXRC RD TBOC CTS RSCLK 1XTC RTS DSR RING RI R2 R3 R4 CARD +5V A2 Aci MISC IN TD RC RD NRZI CTS 1X/32X TC RTS DSR Rl RIT RIO CD1 CDO CD +5V Note 1: If the system design does not make use of MISC IN on the 1933, the user may tie this to + 12V without harm or degradation to the 1933. This has the same effect as a logic input. If the system design does make use of MISC IN, then provisions must be made to select +12V when the 1931 is in the socket or MISC IN when the 1933 is in the socket. This may be accomplished by a small switch or by jumpers. Note 2: The outputs TBOC and RSCLK on the 1931 may be tied to ground or to + 5 volts through a 10K pull-up without harm or degradation to the 1931. Note 3: If R1-R4 are not selected by the command word in the 1931, then anything may be on these inputs. URI and CD are tied high in the 1933, then the inputs (pins 35-38) may have anything on them. When both the rate fields in the 1931 andRl and CD in the 1933 are used, the system designer must make provisions by an external switch or jumpers. Note 4: The reader should also consult the data sheets for the 1931 and 1933. 211 BI-SYNC'S CRC: AN INHERENT APPLICATION PITFALL Thus. It IS clear as to why the BI-sync CRC is a problem. ImplementatIOn of the CycliC Redundancy Check (CRC) for the BSC (bl-sync) poses a problem with no easy solution. By contrast. the CRC application In the bit-oriented styles IS There are a number of solutions. The Zitog SIO performs the bl-sync CRC and allows the user to turn-on or turn-off the CRC for each character. This has onty one draw-back in that this method cannot be easily used with Orrect Memory Access (OMA). more straightforward ThIS IS why all the bit-oriented chips handle the CRC automatically. but the character-oriented chips have difficulty with the bl-sync CRC. Another popular solution is to perform the CRC in software. Then the CRC IS turned on or off either by calling or not calling the CAe computation subroutine. Several routines are available, but are too numerous to mention here. One example of bl-sync CRC routine is shown In Figure 2. uSing the assembly language of the 8080 microprocessor. The disadvantage of any software CRC IS the time-consuming software overhead. Higher bit rates can be achieved by computing CRC before transmission. or after reception. of a text frame. However, a time delay is still present, and system throughput could be Impaired. TABLE IV shows the differences between the two computations. However. the most Significant problem with the bl-sync CRC IS the lack of continuity of the computation throughout the data stream. The bit-oriented CRC Includes all data between the opening flag and the Irrst bit of the Frame Check Sequence (FCS) field which just precedes the closing flag. However. the rule for the bl-sync (CRC-t6) IS: CRC IS rnltialIzed by. but does not Include. the beginning STX (Start of Text) or SOH (Start of Heading) and Includes all data up to and Including ETX (End of Text). except for OLEs (Data link Escape) Inserted for transparency. and except for SYN's (Synchronization character) if non-transparent. or except for OLE-SYN sequences not preceded by an odd number of OLEs If transparent. A thrrd sot uti on IS to use a hardware CRC generator which is externat to the data tlnk control chip. This can offer the advantage of speed over the software approach. but has the disadvantage of added hardware costs. To summarIZe. because of the nature of the bi-sync CRC. there is no "clean" solution to the problem of bi-sync CRC Also, bl-sync may use one of two other error checking codes: CRC-t2 or LRC (Longitudinal Redundancy Check). but the CRC- t 6 IS most wldety used. Implementation. Table fV. COMPARISON OF CRC'S FOR BSC AND HOLC/SOLC FUNCTION --------_. HOLCSOLC BSC (CRC-16) Length t6 Bits- 16 Bits Transmitted High Order Bit First High Order Bit First Polarity Inverted Non-Inverted Pre-Set Value All '-s All O's ERROR-Free Detection Pattern 1111000010111000 All O's Order Transmitted Include All Contiguous Data In Computation? Pol nomial YES X 16 • X 12 .. X5 .. 1 'Some Federal Government products requrre a 32 bit FCS. 212 NO X 16 + X1S + X2 + 1 r---- RANGE OF APPLICATIONS OF WD1933 COVERS OUTER PERIMETER HDLC/ADCCP I\/G~'~\1<>-+--- ~::~:ATIONS "- --- I OF WD2501 IS ENHANCED X.25 ./ OUTER PERIMETER INCLUDES ALL PROTOCOLS WITH FOLLOWING COMMON CHARACTERISTICS: ZERO BIT INSERTIDELETE. LEADING AND TRAILING FLAG (01111110). 16-BIT FCS (X" + X" + X' + 1) Figure 2 THE "WORLD" OF BIT-ORIENTED PROTOCOLS_ 213 A DATA LINK CONTROLLER FOR PACKET NETWORKS In addition to the 1933, Western Digital manufactures an LSI device for bit~oriented protocols used in Packet-Switching Networks. The WD2501 is called the Micro Packet Network Interface (uPAC) and is compatible' with CCITT X.25 with programmable enhancements. The 2501 is mentioned here only briefly, and the reader should consult the Data Sheet for more detail. Both the 1933 and 2501 are bit-oriented devices aimed at different application areas. The 1933 handles the widest possible range of bit-oriented protocols. The 2501 is limited to applications at or near X.25, but does more work within this area. Figures 2 and 3 are aids to assist a user in selecting the bit-oriented controller that best fits his particular needs. Fi9ure 3 COMPARISON OF 1933 AND 2501 BIT-ORIENTED CONTROLLER 2501 1933 Handles all bit-oriented protocols HDLC, ADCCP, SDLC Complete modem control (DTR, DSR, RI, CD, RTS, CTS, etc.) Zero-bit insertion/deletion, Flag appending and detection, and FCS included. DMA compatible. Retransmission control by external CPU decision. link set-up and disconnect controlled by external CPU thru 1933. 40-pln package. More specialized. Handles super-set of X.25, level 2. limited modem control (RTS and CTS, only). Zero-bit insertion/deletion, Flag appending and detection, and FCS included. DMA included. Retransmission control included in the 2501. link set-up and disconnect included in the 2501. 48-pin package. REFERENCES 1. "General Purpose Interface Between Data Terminal Equipment (DTE) and Data Circuit-Terminating Equipment (DCE) for Synchronous Operation Over Public Data Networks"; CCITT Recommendation X.21. 2. "Interface Between Data Terminal Equipment (DTE) and Data Circuit-Terminating Equipment (DCE) for Terminals Operating in the Packet Mode on PubliC Data Networks"; CCITT Recommendation X.25. Informabon furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Otgital Cofpofation tor its use: nor any infringements of patents or other rights 01 third parties which may resutt trom its use. No license is granted by imp/icahon or otherwise under any palent or patent rights of Westem Digital Corporation Westem Digital Corporahon reserves the right to change satd circuitry al anytime without notice WESTERN DIGITAL 3128 REOHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 214 Reprinted from Electronics Data-link conlro~ chip supports an three bit-oriented protocols Ability to handle newer control procedures increases flexibility in designing data-communications systems D As with any form of communication. rules. whether implicit or explicit. a[c necessary' if messages afC to be received and interpreted properly. In the case of data communications. the increasing capability and cOInplcxitl' of equipment and rapidly rising software costs have called forth thc developmcnt of more efficient sets of rules. or protocols. The recent protocols for data-link control have therefore switched from a charactcr- to a bit-oriented approach. This approach uses position instead of control characters to dcflnc the various parts of a message. thereby boo.sting throughput and greatly simplifying implementation. I n addition. the newer protocols provide advanced error-checking techniques, data transparency, and fullduplex capability. Western Digital Corp.'s SD 1933 (and the version soon to be produced as a second source by National Semiconductor Corp.) is the lirst data-link control chip to fully support all three bit-oriented protocols: IB\-f Corp.'s Synchronous Data l.ink Control (SDl.C), the International Standards Organi/ation's High-Level Data Link Control (HDl.C), and the American National Standards Institutc's Advanced Data Communications Control Procedure (..\DCCP), which is almost identical to HDl.C (sec "l.ots of protocols." p. 142, and "Data-link control chips: bringing order to data protocols," Electronics. June 8, p. 104). The SDI933 generates modem-controlling signals for total link control. It interfaces a parallel digital system \\'ith a serial data·communications channel. To under· stand how this is done. the basic unit of information transfer for the three bit-oriented protocols - the frame-has to be examined. FLAG (01111110) ADDRESS (lOR MORE iAOCCP AND HOLC] 8-BIT BYTES) CDNTRD L (1 OR 2 ]ADCCP AND HOLe] 8-BIT BYTES) The fraille consists of an address lield, a control field, the information lield, and a fraille-check sequence (rcs) and is bounded at each end by a Ilag (Fig. I). The Ilag sequence is 01111110. Picturing the frame There are two addressing modes: the basic 4.1ddress mode, \vhich uses a single address byte (X bits) and may be an individual. group, or global address: and the extended address mode (ADCCP and HDLC protocols only), in which the licld is one or Illore bytes. In the latter, if the lirst (2°) bit of an address byte is a 0, then the next byte is an extension of the address licld. The field is ter~'inated by putting a I in the lirst bit of the last byte. I n this way. the address Ileld may be extended to any number of bytes. The control field, for encoding commands and responses rcquired to control the data link. is one (all three protocols) or two (.\DCCP and IIDLC) bytes long. Three types exist. They arc: supervisory. used to convey ready or busy conditions and possibly to report frame sequence errors: information transfer. used to send sequenced information frames: and nonse4uenced (un· numbered), for data-link management, which includes initiali7ing or activating secondary stations. controlling the response mode of secondary stations. and reporting proced u ra I errors. The frame·check sequence provides error detection. It uses the CUTT's 16-bit error-checking algorithm to perform a cyclic redundancy check on the address, control. and information tlelds. The transmitter first presets its 16-bit frame-check sequence to all Is. :-':ext, the binary value of the transmission to be sent is multi· INFOAMATION FIELD (ANY LENGTHl FRAME-CHECK SEOUENCE (16 BITS) FLAG 101111110) '~----------------------~y-------------------------/ FRAME 1. Information tranafor. The frame is made up of groups. or fields. of bytes that contain all the required data control information. as well as the dala Itself_ II is always bounded by llag sequences. The flags conlain no information. they acl as slart and slap signals. 215 Data-link control: a glossary Abort ADCCP Address field Asynch Bisync Control field CRe Extended address FCS field a sequence of 7 to 14 conseculive binary is that terminates a frame and also the continuity of the data link Advanced Data Communications Control Procedure: the American National StandardS Institute's version (BSR X3.66) of SOLC the field that defines the source or destination of a frame: it follows the opening flag of a frame any asynchronous data-communications protocol: transmission in which each character is individually synchronized by the use of start and stop bits; the length of the gap between characters is not necessarily fixed Binary Synchronous Communicalions: a character-oriented synchronous data-communications protocol developed by IBM; the predecessor of SOLC a one- or two-byte (ADCCP and HOLC only) field that follows the address field and is used for sending commands and responses required 10. control the data link cyclic redundancy check: an error-checking technique that uses a sophisticated mathematical algorithm feature of AOCCP and HOLC that allows the address field to be more than one byte long frame-check sequence field: a 16-bit error-checking field to validate transmission accuracy; it uses CRC plied and divided by appropriate polynominals. The integer quotient is then ignored and the complement of the remainder is transmitted. The receiver performs a similar computation on each incoming frame, including Transmitter Receiver Zero insertion Zero deletion CRe generiltion CRe check Abort generation Aborted frame detection Residual byte transmission Residual byte detection Variable.byte-Iength transmission Variable-byte-Iength reception Go-ahead (loop} mode Go-ahead {loop} mode NRZI encoding NRZI decoding Flag generiJtion Idle detection Invalid frame detection Address comparison Address extension Flag Full-duplex Global address Go-ahead mode Go-ahead pattern HOLC Idle I-field NRZI SOLC STR Zero insertion and deletion a bit sequence (01111110) used to delimit frames simultaneous independent transmission of information in both directions an address of all 1s, indicating that the frame is intended to be received by all stations a special SOLC mode in which the link is configured as a loop with one primary and n secondary stations a bit pallern of one 0 followed by seven 1s, which is recognized by secondary stations as permission to transmit High-Level Data Link Control: the International Standards Organization's (ISO 3309) version of SOLC a sequence of 15 or more consecutive is, indicating that the data link is to be idled information field nonreturn-to-zero-inverted coding: a coding method in which the output remains in the same state to send a binary 1 and changes state to send a binary 0 Synchronous Data Link Control: IBM's most recent synchronous data-communications protocol (GA27-3093) Synchronous Transmit and Receive: IBM's earliest synchronous data-communications protocol; predecessor of Bisync an encoding and decoding method used within a frame to guarantee that there are no more than five is in a row, thereby ensuring data transparency the frame-check sequence. If there arc no errors, the receiver's Fes equals FOB8 (hexadecimal). The information field may be any length, including zero. Thus the minimum frame, not counting flags, is 32 bits long. In SDLC, the information field length must be a multiple of 8 bits; consequently, the SDI933 can generate and receive a, residual byte of I to 7 bits. Aborting the frame Besides flags, two other bit sequences have meaning, and both arc important features of the three bit-oriented protocols. ;\ transmitting station may end a frame by sending an abort-a sequence of 7 to 14 Is. The receiving station will then ignore the frame, and it may not send another frame until it receives a command from the primary station. The third bit sequence triggers the idle state provided for by the three protocols. The data link is idled when a station receives 15 or more Is in a row. It remains idle until a 0 is detected. Another attribute of these protocols is zero insertion 216 and deletion, which ensures data transparency. Within the two nags of a frame, a 0 is automatically inserted during transmission after live I s and deleted on recep- tion. Therefore no bit sequence in a frame can be misinterpreted as a nag, an idle, or an abort. In addition, SOLe features a loop mode, called goahead. In this mode, each secondary station becomes a repeater. Transmissions from the primary arc relayed from station to station and then back to the primary. Any secondary station finding its address in the address lield of a frame captures that frame for action. i\ll received frames arc then relayed to the next station down the loop. \Vhcncvcr a secondary station receives the go-ahead pattern (a 0 followed by seven or more consecutive Is), it may, at its option, suspend rcpealing and put its own transmission on the line. \Vhcn it is finished, it sends a go-ahead puttcrn, deactivates its transmitter, and again becomes a repeater. Performing the functions The SDI933 performs all the functions required by the SOI.e, AOCCP, and IIDl.e protocols (sec the table). Built with n-ehannel metal-oxide-semiconductor technology, it uses a single 5-\'0It supply and is transistor- TRANSMIT REGISTER GYGLIG-REDUNDAN GYGrlECK REGISTER GRG-GENERATloN REGISTER LOOP ES WE R1 COMPUTER INTERFACE CONTROL oRU1 oRUO INTRQ EOB MODEM INTERFACE CONTROL CLOCK CONTROL MISCIN MISCoUT 2. Layout. The architecture of the 801933 data-link control chip is fabricated on a chip 300 mils by 300 mils (top) Internal interconnections (bottom) use 40 external pins for interfacing a parallel digital system with a synchronous serial-data channel. 217 17 16 ACTIVATE RECEIVER ACTIVATE TRANSMITTER 13 14 1 COMMAND REGISTER 1 0 NUMBER OF CONTROL BYTES 26 ADDRESS COMPARISON 25 EXTENDED ADDRESS 24 RECEIVER BYTE LENGTH 1 12 TRANSMITTER TRANSMITTER BYTE BYTE LENGTH LENGTH 1 27 COMMAND REGISTER 15 TRANSMITTER TRANSMITTER COMMAND COMMAND 11 10 DATA TERMINAL READY MISCEL· LANEOUS OUT 0 23 22 21 20 RECEIVER BYTE LENGTH GQ·AHEAD MODE SELF-TEST AUTO FLAG 32 31 0 2 37 36 35 34 33 NOT USED NOT USED NOT USED NOT USED NOT USED COMMAND REGISTER 3 RING INDICATOR CARRIER DETECTION STATUS REGISTER DATA SET READY MISGEL LANEOUS IN RECEIVE IDLE TRANSMITTER TRANSMITTER RESIDUAL RESIDUAL BYTE BYTE LENGTH LENGTH 30 TRANSMITTER RESIDUAL BYTE LENGTH 2 1 0 ABORTED FRAME, INVALID FRAME, OR RECEIVER RESIDUAL LENGTH OVERRUN OR RECEIVER RESIDUAL LENGTH CRC ERROR OR RECEIVER RESIDUAL LENGTH 1 0 2 INTERRUPT REGISTER RECEIVE END OF MESSAGE, NO ERRORS RECEIVE END OF MESSAG E. ERRORS TRANSMITTER TRANSMITTER OPERATION OPERATION COMPLETE, COMPLETE, NO ERRORS ERRORS DATA SET CHANGE DATA REaUEST IN (RECEIVERI DATA REQUEST OUT iTRANS' MITTERI INTERRUPT REaUEST 3. Registers. The 8D1933 exercises system control through the command registers and monitoring through the status and interrupt registers. Command-register functions include specifying the type of information to be transmitted and received and the number of bits per byte. transistor-logic~compatible on all inputs and outputs. It comes in a 40-pin dual in-line package. The SD 1933 operates at 1.5 MHz in full-duplex operation, and the SD 1933-03 at 2.05 MHz. Its basic read and write signals arc: chip select (CS), read enable (RE), write enable (WE), register-address select (Ao~A2)' and data-access (DALo~DAL7). Read and write operations arc initiated by placing signals on the appropriate lines. For example, a write operation is initiated by placing a 3-bit address on the A2~Ao lines. CS and WE must then be activated. The data on the data-access lines arc then locked into the registers when either CS or WE is deactivated. A read operation is initiated by placing the register address on the A2~Ao lines. Next, CS and RE must be activated. Data is then valid on the data-access lines and remains valid until either CS or RE is deactivated, System control is done through the command regis- 218 DATA CONCENTRATOR HOST PROCESSOR LlNE PRINTER ., ,., DISK , ... CATHODE·RAY· TUBE DISPLAY DATA COMMUNICATIONS CONTROLLER SHOWN IN DETAIL IN (b) BELOW ~ CARD READER t BUY/SELL TRANSACTION· ENTRY TERMINAL 1 t REMOTE STOCK TRADING QUOTE (CRT) (CRT) ACCOUNTING INFORMATION TERMINAL (TELETYPE) (,) DATA·CDMMU NICATI DNS CONTRD LLER MI CROP RDCESSO R ~IIIIIIIIIIIIIIIIII '-v--' '-v--' TO TERMINAL TO TERMINAL '-r-' TO TERMINAL (b) 4. Location. A basic data-communications system for a stock brokerage firm (a) uses Western Digital's 801933 data-link control chip to connect a microprocessor to each modem in the line (b). Other applications include tellers' terminals and cash register terminals. 219 ters, and monitoring is accomplished by usc of the status and interrupt registers (Fig. 3). The command registers dictate what the transmitter will send: the type of information (abort, flag, rcs, or data), the number or bits per byte, and the number of bits in the residual byte. Similarly, they tell the receiver the types of rrames to look ror, the number or bits per byte, whether to perrorm an address comparison, and whether to watch ror an extended address. Lots of protocols Since the advent of synChronous data communica- tions, a wide variety of protocols has been developed by various military agencies, universities, and compa- nies. The most widely used have been those generated by IBM Corp. The earliest were the Synchronous Transmit and Receive (STR) and Binary Synchronous Communications (Bisync) protocols. However, the increased sophistication of processing equipment called for more Monitoring the signals eHicient procedures. The status and interrupt registers perrorm monitoring. The status register indicates ir an aborted or invalid and so on. The interrupt register indicates ir end-of- Synchronous Data Link Control (SDLC), announced in 1973, was developed to permit accurate full-duplex transmissions with a high throughput. Some of the advantages of SDLC over STR and Bisync are indepen- message signals have been received and if frame transmission is complete. It also monitors the status or the dence of code structure, full information transparency without the use of control characters, a single stan- frame has been received, whether an idle \vas received. dard-frame format, and full-duplex operation. After the introduction 01 SDLC, several national and interrupt signals. Various modems arc readily accommodated. as the SD 1933 has a rull complement or modem interrace signals. These signals include data set ready (DSR), ring indicator (RI), carrier detect (CD), clear to send (CTS), request to send (R TS), and data terminal ready (DTR). An interrupt is generated if DSR, RI, or CD changes state (the latter two ir so programmed). RI and CD may international organizations issued their own versions. The International Standards Organization's High-Level Data Link Control (HDLC) is described in the ISO 3309 specification. The American National Standards Institute's version, called Advanced Data Communications Control Procedure (ADCCP), is described in ANSI BSR X3.66. The ISO and the ANSI specs are very similar and both are supersets of SDLC (except for its loop mode). be programmed to interrupt on the rising edge. on the falling edge, or on both edges. The interrupt source is determined by reading the interrupt and status registers. The DTR output is set by a bit in the command register and RTS is set when the transmitter is activated. Still more choices When the nonreturn-to-zero-inverted code is chosen (a data transition \vhcn a 0 is sent and no transition when a 1 is scnt). the transmitter encodes the transmitted data with the NRZI code before shifting it out. Similarly, the receiver expects NRzt-encoded data and will decode it before assembling data bytes. In the I X mode, the SD 1933 rcquires the clock and data signals to be phase-synchronized in order to ensure link integrity. In the 32X mode, it uses a digital phaselocked loop to provide the synchronization, thus allowing connection to asynchronous modems as well. However, the loop requires data transitions to do this. Zero insertion and deletion guarantees transitions for long strings of Is within a frame. To provide transitions for long strings of as, the nonreturn-lO-zero-inverted option should be used. The end-or-data-block (EOD) option allows easy transfer of blocks of memory by direct memory access. Activated at the end of the data block, it causes automatic transmission of the frame-check sequence and a flag. Putting the chip to work In a typical data-communications application (Fig. 4) such as might be found in a stock brokerage firm, the host and its peripherals arc located at the main office. Terminals arc also located in remote offices. with connection to the host via data-communications controllers. The terminals provide up-to-the-minute stock prices, entry of customers' buy and sell orders, and companies' financial statements, as well as the firm's accounting and billing information. Such a system is general enough to be configured for a widc variety of applications. For example, the host processor and remote terminals could be located respectively in airline reservation omces and ticket counters, travel centers and travel agencies, central bank oflices and branch banks, or department stores and individual cash registers. The host processor performs high-level data-processing tasks such as accounting, bookkeeping, and input and output to the cathode-ray-tube terminal, line printer, card reader, or disk. Usually, a large portion of the data processing is dedicated to sending or accepting data to or from the data concentrator. Sending large blocks of data to the remote terminals via the data concentrator relieves the host or time-consuming t/O chores, rreeing it ror other processing tasb. The data concentrator processes and rormats data to allow for more orderly and efikient information transfer between the host and the data-communications controller. It is modified ror each application to enable it to translate the data received rrom the controller into a format acceptable to the host, and vice versa. Other functions include setting priorities for the controller's channels, processing interrupts, and holding data until the host is ready to accept it. The data-communications controllers interface remote terminals via modems (if necessary) with the data concentrator. Each controller uses a microprocessor to manage eight serial data-communications ports. Each port contains a printed-circuit board with a 40-pin socket filled with the chip appropriate for SDLC or Bisync communications. A DIP switch on each pc board programs it to expect the right one. 0 Reprinted from ELECTRONICS, 1979, copyright 1979 by McGraw-Hili, Inc., with -all rights reserved. 220 Generra~ Data CommlUl!l1icat~ons Applications Notes 221 WESTERN DIGITAl.. c o R p o R A o T N TR1602/TR1863 MOS/LSi APPLICATION NOTES ASYNCHRONOUS RECEIVER/TRANSMITTER eMU INTRODUCTION length) and synchronizing start and stop elements are added to each character as shown in Figure 2. The transfer of digital data over relatively long distances is generally accomplished by sending the data in serial form thru a single communications channel using one of two general transmission techniques; asynchronous or synchronous. Synchronous data transmission requires that a clock signal be transmitted with the data in order to mark the location of the data bits for receiver. A specified clock transition (either rising or falling) marks the start of each data bit interval as shown in Figure 1. In addition, special synchronization data patterns are added to the start of the transmission in order for the receiver to locate the first bit of the message. With synchronous transmission, each data bit must follow contiguously after the sync word, since one data bit is assumed for every clock period. The start element is a single logic zero (space) data bit that is added to the front of each character. The stop element is a logic one (mark) that is added to the end of each character. The stop element is maintained until the next data character is ready to be transmitted. (Asynchronous transmission is often referred to as start-stop transmission for obvious reasons). Although there is no upper limit to the length of the stop element, there is a lower limit that depends on the system characteristics. Typical lower limits are 1.0, 1.42 or 2.0 data bit intervals, although most modern systems use 1.0 or 2.0. The negative going transition of the start element defines the location of the data bits in one character. A clock source at the receiver is reset by this transition and is used to locate the center of each data bit. With asynchronous transmission, a clock signal is not transmitted with the data and the characters need not be contiguous. In order for the receiver to properly recover the message, the bits are grouped into data characters (generally from 5 to 8 bits in The rate at which asynchronous data is transmitted is usually measured in baud, where a baud is defined to be the reciprocal of the shortest signal element (usually one data bit interval). It is interesting to note ONE DATA BIT INTERVAL CLOCK SIGNAL , _ _IL.J DATA SIGNAL TYPICAL a BIT SYNC PATTERN FIRST DATA BIT Figure 1 Synchronous Data STOP ELEMENT STOP ELEMENT ... ~ f' --------------- ONE. lilT CHARACTER (11001000) START ELEMENT ONE. BIT CHARACTER (00100000) Figure 2 Asynchronous Data 223 o CD a> ~ Asynchronous transmission over a simple twisted wire pair can be accomplished at moderately high baud rates (10K baud or higher depending on the length of the wire, type of line drivers, etc.) while it is generally limited to approximately 2K baud over the telephone network. When operating over the telephone network, a modem is required to convert the data pulses to tones that can be transmitted through the network. that the variable stop length is what makes the baud rate differ from the bit rate. For synchronous trans· mission, each element is one bit in length so that the baud rate equals the bit rate. The same is true for asychronous transmission if the stop element is always one bit in duration (this is referred to as isochronous transmission). However, when the stop code is longer than one bit, as shown in Figure 3, the baud rate differs from the bit rate. One of the major limiting factors in the speed of asynchronous transmission is the distortion of the signal elements. Distortion is defined as the time displacement between the actual signal level transition and the nominal transition (6 t), divided by the nominal data bit interval (See Figure 4). Each character in Figure 3 is 11 data bit intervals in length, and if 15 characters are transmitted per second, then the shortest signal element (one data bit interval) is 66.6 mslll = 6.06 ms; giving a rate of 1/6.06 ms = 165 baud. However, since only 10 bits of information (8 data bits, one start bit and 1 stop bit) are transmitted every 66.6 msec, the bit rate is 150 bit/sec. (Even though the stop element lasts for two data intervals, it still is only one bit of information) The nominal data bit interval is equal to the reciprocal of the nominal transmission baud rate and all data transitions should ideally occur at an integer number of intervals from the start bit negative going transi· tion. Actual data transitions may not occur at these nominal points in time as shown in the lower waveform of Figure 4. The distortion of any bit transition is equal to 6t x NOMINAL BAUD RATE. There are several reasons for using asychronous transmission. The major reason is that since a clock signal need not be transmitted with the data, transmission equipment requirements are greatly simplified. (Note, however, that an independent clock source is still required at both the transmitter and receiver). Another advantage of asynchronous transmission is that characters need not be contiguous in time, but are transmitted as they become available. This is a very valuable feature when transmitting data from manual entry devices such as a keyboard. The major disadvantage of asynchronous transmission is that it requires a very large portion of the communication channel bandwidth for the synchronizing start and stop elements (a much smaller portion of the bandwidth is required for the sync words used in synchronous transmission). This distortion is generally caused by frequency jitter and frequency offset in the clock source used to generate the actual waveform as- well as transmission channel, noise, etc. Thus, the amount of distortion that can be expected on any asynchronous signal depends on the device used to generate the signal and the characteristics of the communication channel over which it was sent. Electronic signal generators can be held to less than 1% distortion while electromechanical devices (such as a teletype) typically generate up to 20% distortion. The transmission channel may typically add an additional 5% to 15% distortion. START ELEMENT (ONE DATA BIT INTERVAL) STOP ELEMENT ~~= ~B~T~H~:~T~R====J ~ AT 15 CHARACTER/SEC = 66.6 6.06 msec Figure 3 224 ms + NOMINAL DATA BIT INTERVAL H Figure4A r START ELEMENT I r L STOP ELEMENT START ELEMENT ~==~~~~===--==~==~~:~===--I I CHARACTER INTERVAL ~ ~ Figure4B The distortion previously described referred only to a single character as all measurements were referenced to the start element transition of that character. However, there may also be distortion between characters when operating at the maximum possible baud rate (i.e., stop elements are of minimum length). This type of distortion is usually measured by the minimum character interval as shown in Figure 4B. The minimum character interval distortion is generally specified as the percentage of a nominal data bit interval that any character interval may be shortened from its nominal length. Since many of the same parameters that cause distortion of the data bits are also responsible for the character length distortion, the two distortions are often equal. However, some systems may exhibit character interval distortions of up to 50% of a data bit interval. This parameter is important when operating at the maximum baud rate since the receiver must be prepared to detect the 225 next start bit transition after the minimum character interval. Asynchronous receivers operate by locating the nominal center of the data bits as measured from the start bit negative going transition. However, due to receiver inaccuracies, the exact center may not be properly located. In electromechanical devices such as teletypes, the inaccuracy may be due to mechanical tolerances or variations in the power line frequency. With electronic receivers, the inaccuracies are due to frequency offset, jitter and resolution of the clock source used to find the bit centers. (The bit centers are located by counting clock pulses). For example, even if the receiver clock had no jitter or offset, and it was 16 times the baud rate, then the center of the bit could only be located within 1/16 of a bit interval (or 6.25%) due to clock resolution. However, by properly phasing the clock, this tolerance can be adjusted so that the sample will always be within ± 3.125% of the bit center. Thus, signals with up to 46.875% distortion could be received. This number (the allowable receiver input distortion I is often referred to as the receiver distortion margin. Electromechani~al receivers have distortion margins of 25 to 30%. The receiver must also be prepared to accept a new character after the minimum character interval. Most receivers are specified to operate with a minimum character interval distortion of 50%. TR1602 Operation** The WDC TR 1602 is designed to transmit and receive asynchronous data as shown in Figure 5. Both the transmitter and the receiver are in one MOS CHIP, packaged in a 40 lead ceramic DIP. The array is capable of full duplex (simultaneous transmission and reception I or half du plex operation. The transmitter basically assembles parallel data characters into a serial asynchronous data system. Control lines are included so that the characters may be 5, 6, 7 or 8 bits in length, have an even or odd parity bit, and have either one or two' stop bits. Furthermore, the baud rate can be set anywhere between DC and 20K baud by providing a transmit clock at 16 times the desired baud rate. '1-1/2 with 5 bit code •• All references to the TR1602 operation also apply to the TR 1B63 operation. The receiver disassembles the asynchronous characters into a parallel data character by searching for the start bit of every character, finding the center of every data bit, and outputing the characters in a parallel format with the start, parity and stop bits removed. Three error flags are also provided to indicate if the parity was in error, a valid stop bit was not decoded or the last character was not unloaded by the external device before the next character was received (and therefore the last character was lostl. The receiver clock is set at 16 times the transmitter baud rate. Both the transmitter and receiver have double character buffering so that at least one complete character interval is always available for exchange of the characters with the external devices. This double buffering is especially important if the external device is a computer, since this provides a much longer permissible interrupt latency time (the time required for the computer to respond to the interrupti. The status of the transmitter buffer and the receiver buffer (empty or full I is also provided as an output. Another feature of the TR 1602 is that the control information can be strobed into the transmitter and receiver and stored internally. This allows a common bus from a computer to easily maintain the controls for a large number of transmitter/receivers. TRANSMITTER RECEIVER STATUS STATUS DATA ERROR FLAGS TRANS· MITTER r==-:---RECEIVER CLOCK CLOCK PARALLEL DATA PARALLEL DATA IN OUT i I CONTROL~~ ______~ I ASYNCHRONOUS I ISERIAL I IOATA I 1-----..:...,.'-- CONTROL I PARALLEL DATA IN I OUT I RECEIVER CLOCK ---'---' DATA ERROR TRANSMITTER I ~----~----CLOCK _____I _..J RECEIVER TRANSMITTER STATUS STATUS FLAGS Figure 5 226 The TRl602 data and error flag outputs are designed for direct compatibility with bus organized systems. This feature is achieved by providing completely TIL compatible Three-state outputs (no external components are required). Three-state outputs may be set to a logic one or logic zero when enabled, or set to an open circuit (very high impedance) when disabled. A separate control line is provided to enable the data outputs and another one to enable the error flags so that the data outputs can be tied to a separate bus from the flag outputs. The TR 1602 inputs are also directly compatible with TIL logic elements without any external components. TABLE 1 CONTROL DEFINITION CONTROL WORD W W L P E S S I P B E S , a a a a a a a a 0 0 a a a a a a x a a a x 0 a a 0 a a a 0 0 a a 0 a a x a a x a a a 0 a a a 0 0 a a a a x a 0 , TR1602 Description Figure 6 is a block diagram of the transmitter portion of the TRl602. Data can be loaded into the Transmitter Holding Register whenever the Transmitter Holding Register Empty (THRE) line is at a logic one, indicating that the Transmitter Holding Register is empty. The data is loaded in by strobing the Transmitter Holding Register Load (THRL) line to a logic zero. The data is automatically transferred to the Transmitter Register as soon as the Transmitter Register becomes empty. The desired start, stop and parity bits are then added to the data and serial transmission is started. The number of stop bits and the type of parity bit is under control of the Control Register. The state of the control lines is loaded into the Control Register when the Control Register Load (CRL) line is strobed to a logic one. The 5 control lines allow 24 different character formats as shown in Table 1. These 24 formats cover almost all of the transmission schemes presently in use. A Master Reset (MR) input is provided which sets the transmitter to the idle state whenever this line is strobed to a logic one. In addition, a Status Flag Disconnect (SFD) line is provided. When this signal is at a logic one, the THRE output is disabled and goes to a high impedance. This allows the THRE outputs of a number of arrays to be tied to the same data bus. Figure 7 illustrates the relative timing of the transmitter signals. After power turn-on, the master reset should be strobed to set the circuits to the idle state. The external device can then set the transmitter register data inputs to the desired value and after the data inputs are stable, the load pulse is applied. The data is then automatically transferred to the Transmitter Register where the start, stop and parity (if required) bits are added and transmission is started. This process is then repeated for each subsequent character as they become available. The only timing requirement for the external device is that the data 227 S L 2 , , , , , , , , , , , , CHARACTER FORMAT , , , , , ,, ,, , , ,, , , , , , , , , , , ,, , a , , a ,, a , START BIT DATA PARITY STOP BITS BIT BITS 000 000 EVEN NONE ODD EVEN EVEN NONE NONE ODD ODD EVEN EVEN NONE x NONE ODD ODD , , x NONE x NONE , , , ,, 0 1.5 000 0 , 1.5 NONE a a a a 0 1.5 EVEN EVEN EVEN inputs be stable during the load pulse (and 20 nsec after). The TRl602 Transmitter output will have less than 1% Distortion at baud rates of up to 10K baud (assuming the Transmitter Register Clock is perfect) and is, therefore, compatible with virtually all other asynchronous receivers. Figure 8 is a block diagram of the Receiver portion of the TR 1602. Serial asynchronous data is provided to the Receiver Input (RI). A start bit detect circuit continually searches for a logic one to logic zero transition while in the idle state. When this transition is located, a counter is reset and allowed to count until the center of the start bit is located. If the input is still a logic zero at the center, the signal is assumed to be a valid start bit and the counter continues to count to find the center of all subsequent • TRANSMITTER REGISTER OUT (25) (TRO) STATUS FL.AG DISCONNECT (16) (SF D) H-"----- TRANSMITTER HOLDING REG· MASTER RESET (2l) (MRl ISTER EMPTY (22) (THRE) TRANSMITTER REGISTER ;' DATA INPUTS I (2&·33) (TRl TO TR I ) ~ • I TRANSMITTER REGISTER CLOCK (40) (TRC) TRANSMITTER REGISTER EMPTY (24) (TRE) TRANS TRANS HOLD REG REG CD DATA PARITY INHISIT (35) (PI) EVEN PARITY ENABLE (39) 4 TRANSMITTER HOLDING REG· CONTROL REG STOP BIT(S) SELECT (3&) 4 • i Figure 6 Trensmitter Block Diagram cnWUI--OZ ~ (EPE) CONTROL. ISTER LOAD (23) (THRL) (SBS) WORD LENGTH SEL.ECT (37.31) 2 (WL.Sl.WLS2) CONTROL REGISTER LOAD (34) (CRL) (\j (\j --.-Jr II~_ _ _ _ _ __ MASTER RESET ____________________JX~___________JX~______ T_R_A_N __ SM __ 'T_T_E_R__ R_E_G_'S_T_E_R__ D_A_T_A__ 'N_._U_T_S_______________ u u U 1 TRANSMITTER HOLDING REGISTER LOAD 1r L....__________--IFRANSMITTER ~ 1/2 EXTERNAL CLOCK START 1/2 EXTERNAL CLOCK START ---;1 j i I~j --j~' ",,"",c "om I1 HOLDING REGISTER EMPTY DATA 1/2 EXTERNAL CLOCK I -if .&....--1_DATA-----I STOP TRANSMITTER REGISTER OUTPUT nL-.-_ _------I1 ----" TRANSMITTER REGISTER EMPTY Figure 7 Transmitter TIming Diagram data and stop bits. (Verification of the start bit prevents the receiver from assembling an erroneous data character when a logic zero noise spike is presented to the Receiver Input). The Receiver is under control of the Control Register described in the previous paragraph. This register controls the number of data bits, number of stop bits, and the type of parity as described in Table 1. The word length gating circuit adjusts the length of the Receiver Register to match the length of the data characters. A parity check circuit checks for even or odd parity if parity was added by the Transmitter. If parity does not check a Parity Error signal will be set to a logic one and this signal will be held until the next character is transferred to the Holding Register. A circuit is also provided that checks the first stop bit of each character. If the stop bit is not a logic one, the Framing Error line will be set to a logic one and held until the next 229 character is transferred to the Holding Register. This feature permits easy detection of a break character (null character with no stop element). As each received character is transferred to the Holding Register, the Data Received (DR) line is set to a logic one indicating that the external device may sample the data output. When the external device samples the output, it should strobe the Data Received Reset (ORR) line to a logic zero to reset the DR line. If"the DR line is not reset before a new character is transferred to the Holding Register (i.e., a character is lost) the Overrun Error line will be set to a logic one and held until the next character is loaded into the Holding Register. The timing for all of the Receiver functions is obtained from the external Receiver Register Clock which should be set at 16 times the baud rate of the transmitter. INTERNAL CONTROLS FROM CONTROL REGISTER II RECEIVER REGISTER CLOCK (RRC) (17) 1 RE· CEIVER REG RECEIVER REGISTER DISCONNECT CRRo) (20) START/STOP C') ----. RE· CEIVER RECEIVER HOLD· ING HOLDING REG REG RECEIVER INPUT (Rl) J DATA DATA (RR1·RRa) DETECT & BiT COUNTER (5-12) o (') '" FRAMING ERROR (FE) CI.) .. DATA RECEIVED RESET (DR R) (18) PARITY ERROR END OF (PEl CHARACTER (13) DATA RECE)VED (DR) (19) OVERRUN ERROR (15) CoE) STATUS FLAG DISCONNECT (SFO) (IG) Figure 8 Receiver Block Diagram UlWUI--OZ - Figure 9 illustrates the relative timing of the Receiver signals. A Master Reset strobe places the unit in the idle mode and the Receiver then begins searching for the first start bit. After a complete character has been decoded, the data output and error flags are set to the proper level and the Data Received (DRI line is set to a logic one. Although it is not apparent in Figure 9, the data outputs are set to the proper level one half clock period before the DR and error flags, which are set in the center of the first stop bit. The Data Received Reset pulse resets the DR line to a logic zero. Data can be strobed out at any time before the next character has been disassembled. The TRI602 Receiver uses a 16X clock for timing purposes. Furthermore, the center of the start bit is defined as clock count 7-112. Therefore, if the receiver clock is a symmetrical square wave as shown in Figure 10, the center of the bits will always be located within ± 3.125% (assuming a perfect input clock) thus giving a receiver margin of 46.875%. n ~ In Figure 10, the start bit could have started as much as one complete clock period before it was detected, as indicated by the shaded area of the negative going transition. Therefore, the exact center is also unknown by the shaded area around the sample point. This turns out to be ± 1/32 = ± 3.125%. If the receiver clock is not perfect, then the receiver distortion margin must be further reduced. For example, if the clock had 1.0% jitter, 0.1 % offset and the positive clock pulse was only 40% of the clock cycle; then, for a 10 element character, the clock would add: 1.0% + 10.1% x 101 + (Jitter) (Offset) 0.1 11'161 2.3% Distortion Clock) (The frequency offset was multiplied by the number of elements per character since the offset is cumulative on each element). I~------------------------MASTER RESET STOP START START I~ I DATA DATA RECEIVER DATA INPUT DATA RECEIVED (DR) AND ERROR FLAGS RECEIVER HOLDING REGISTER DATA OUT u DATA RECEIVED RESET 'NOTE, ~ (Non-symmetrical DATA OUT AND OVER· RUN ERROR PRECEDES DR & ERROR FLAGS BY liZ CLOCK Figure 9 Receiver Timing Diagram 231 STOP DETECT START INTERVAL RECEIVER CLOCK (16XI TRUE CENTER OF START RECEIVER INPUT SAMPLE POINT Figure 10 Since a clock with these characteristics is very easy to obtain, it is apparent that a receiver operating margin of slightly over 45% is very easy to achieve when using the TRl602. Furthermore, this margin is sufficient for virtually all existing transmitters and modems presently in use. The TR 1602 also begins searching for the next start bit exactly in the center of the first stop bit so that minimum character distortions of up to 50% can be accepted. A break character (null character without a stop bit) will lock the receiver up since it will not begin looking for the next start bit until a stop bit has been received. TYPICAL TRl602 APPLICATION The TRl602 is ideally suited for use in distributed computer networks such as is illustrated in Figure 11. One of the primary purposes of the communications controller is to assemble and disassemble the asynchronous characters (required for communication with the data terminals) into the parallel data format required by the host computer. Often the communications controller is a minicomputer and character assembly/disassembly is performed by the software. When this is the case, the minicomputer must be interrupted at a rate equal to 8 to 16 times the baud rate of all terminals being handled by the controller. (The actual interrupt rate depends on the amount of distortion that can be experienced on the received characters). When the number of terminals exceeds 8 to 16, even the most powerful minicomputers become overloaded due to the high interrupt rate and the complex algorithms required by the software. The TRl602 greatly reduces this problem by performing the character assembly/disassembly functions in external hardware as shown in a typical configuration in Figure 12. This solution not only reduces the interrupt rate by a factor of up to 176, but it also greatly reduces the minicomputer load, thus freeing it for other functions. Since the TRl602 inputs and outputs are TIL compatible, the TR 1602 interface directly with virtually all minicomputer I/O busses. In Figure 12, the minicomputer Data Output Bus is connected to the Transmitter Register (TR) inputs and the Control Register inputs. When the minicomputer has a character to transmit, the character is placed on the Data Output bus and the address of the appropriate TRl602 is placed on the Device Address Bus. The Address Decode circuit will output a THRL load pulse under control of the Data Out Strobe from the mini. When the control register should be changed, a new 5 bit control word is placed on the Data Output. Bus and along with an appropriate device address which is converted to a CRL load pulse in the Address Decode circuits, again under control of the Data Out Strobe. A THRE Pulse to the Interrupt Request circuit will notify the mini when a new character may be provided to the TRl602 for transmission. When a character has been received, a DR signal to the Interrupt Request circuit will request an interrupt from the mini. The mini will respond by setting the proper device address and provide a Data in Strobe pulse. The Address-Decode circuit then sets the RRD line and SFD line to the appropriate receiver to enable the Data Outputs onto the mini Data Input Bus. The Data in Strobe from the mini then resets the DR signal with a ORR pulse from the Address Decode circuit. The TRl602 Transmitter Output (TRO) and Receiver Input (RI) must generally be converted to RS232 levels if they interface with a modem as shown in Figure 12. RS232 is a standard that has been established by the Electronic Industries Association for the interface between data terminals and data communications equipment. RS232-C defines a space as greater than 3 volts and a mark as less than negative 3 volts at the Receiver input. A transmitter output of 232 HOST COMM COMP CON· TROL Figure 11 between 5 and 15 volts is a space while a level between - 5 and - 15 is a mark. The input/output impedances and signal rise and fali times' are also specified by RS232. Fairly simple discrete level translators can be used to convert from the TTL levels to the RS232 levels, or monolithic IC's are also available. 233 It should be noted that the typical application illustrated in Figure 12 is only one of many and it does not take advantage of many of the TRl602 features. For example, the Status Flags could be tied to a separate interrupt request bus or the TRE output could be used to implement half-duplex operation. 1M !M#@i I ~ J> 0'" 0-< ",Z ~O ~ r - - '--o "i» -'-- 00'" Z-f" <-fw r N OD-f O"'-f Z"r -f o -I o n" !!. 3: n" o 3 -0 I: ~ [ ""o D -0 S" 1 -f -< " -f " 0 0" r ,--- "z '" -f fJ '" I+-- ~ I+-------~~ -f c " :r " ~ " o .., S~I+-~ :I~ o J> '" ., "o g 1+----1 ,., !. "" :0 : II> n co i-f -f r:!::!: r '" .. .. In .. .. In " '" <> J> -f J> 0 '<" '"J> ;; 0 C C -f '"-f "'" fJ 0 0 "0 :.::" '" '" OJ '" 0 OJ - • 0 G 0 • " Q '" 0 0 C C J> In -f-f c Z J> ","-f ~J> ~ " 0 '" ".-f :0 •• 0 o ",., OJ C 0 - .. J> C -f Information furnished by Western Dignal Corporation is believed to be accurate and reliable. However. no responsibility is assumed by Western DigHal Corporation for use; nor any infringements of patents or other rights of third parties which may resuH from ns use. No license is granted by impfication or otherwise under any patent or patent rights of Western OigHal Corporation. Western Oignal Corporation reserves the right to change said circunry at anytime without notice. ns WEST~RN COli POll DIGITAL A T"/ 0 N 3128 REDHILL AVENUE. BOX 2180 NEWPORT BEACH. CA 92663 (714) 557-3550.TWX 910-595-1139 234 0 J> -f J> ""'" -f 0 OJ '" WESTERN DIGITAL c o R p o R A T / o N WD1931/WD1933 COMPATIBILITY APPLICATION NOTES m? By Jan E. Rorval! NISEi " INTRODUCTION and reception. The only work that the computer is required to ;;; do is to initialize the WD1931 or WD1933, and the devices CJ) take care of the serialization or deserialization of data, plus control and timing. ~ The purpose of this document is to provide the reader with information about the WD1931 and WD1933 devices, and how to take advantage of their compatibility. Various applications examples are given showing flowcharts and timing diagrams. As the devices are designed for use in a very large range of applications, many different features are described and illustrated for the benefit of the reader. :x: Some control signals on the computer side of the devices are needed for read, write, and control purposes. Additional signals can also be used for special purposes or modes for the convenience of the user. Typically, these other control signals are used to enable communication with a modem or DCE (Data Communications Equipment). For detailed product information such as A.C. and D.C. parameters, please refer to the respective data sheets. GENERAL DESCRIPTION The WD1931 and the WD1933 are MOS/LSI devices which interface a parallel digital system to a serial data communication channel (and vice versa). Both circuits are capable of simplex, duplex, and full duplex operation. Interrupt outputs are provided to inform the microcomputer when to retrieve from, or to provide data to the holding registers. Also, interrupts can be generated to provide status information such as changes in modem control lines, or that events such as Transmission Complete or Received End of Message have occurred. The WD1931 is designed for character-oriented asynchronous and/or synchronous (BI-SYNC) protocols. The WD1933 is designed for bit-oriented SDLC, HDLC and ADCCP protocols. The devices are programmable and compatible to most S-bit microcomputers on the market. The pin assignments of these two devices have been chosen to all ow the user to implement a one-board multi protocol design. This board may then be used for any of the above mentioned protocols, by choosing the proper device (WD1931 or WD1933) and connecting some jumpers (see paragraph entitled "Multiprotocol Board Design"). The purpose of these circuits are to convert parallel data from a computer or terminal to a serial data stream at one end of a communication channel. At the other end of the channel, the data is converted back to the original parallel data. SYSTEM APPLICATIONS Serial data communications minimizes the number of physical channels required to transfer data and therefore reduces the cost to send data between two (or more) distant points. A microcomputer could perform the same serial/parallel conversion function as these devices, but at much slower speeds. However, using the WD1931 and WD1933 devices to do this function is much more efficient. This makes the computer free to perform other tasks during transmission X.25 WD193t/33 may be used in the following applications: Switched network Multipoint network Non-switched point to paint network Simplex, half-duplex, or full duplex Asynchronous or synchronous communication Message switching Multiplexing systems Data concentrator systems Loop data link systems DMA applications Parallel to serial data conversion (and vice versa) Local Networks Packet Switching Multidrop line systems A typical block diagram of a data link is shown in Figure 1. The communication media used could be a direct communication channel (such as a leased telephone line), a swnched telephone line, or one of many other possibilities. Typically these applications would require the use of a modem. '"~--------,~------~ STATION B STATION A Figure 1 DATA LINK BLOCK DIAGRAM • eM@a'.@ • 235 ,Ngg; :li between a zao microcomputer and a modem. This is called a multiprotocol board, which is described later in this document. The applications that these devices could be used in would be a combination of the previously mentioned. A modem' would be needed for long distance communication lines. For shorter distance, line drivers/receivers may be sufficient. In some very well controlled environments, such as a laboratory, two devices may be connected without line drivers and receivers. Some examples of various WD1931/WD1933 systems are shown here by use of block diagrams. The station shown in Figure 3 consists of a computer or terminal, a multiprotocol board, and a modem. A station may consist of only the computer or terminal, and one WD1931 or WD1933 device. Whether the modem, line drivers and receivers, or CPU buffers are needed depends on the details of the particular design situation. The WD1931 orWD1933 may be connected directly to a microcomputer bus, but buffers would normally be recommended. Figure 2 shows a typical schematic of an interface E'A RS-422 LINE DRNEPJRECEIVER ,.....A-, ~ """ DO "" 03 """ '" '" c,u 'us ., ,, " " .". "" WR RESET ZOO OUTPUT ,so "0 'DR'" r l '" "" "'", - - - - .. TBOCf>.-@.'! 2~~~ 3~ .~" 5 ~~ 8 ~ CLOCK INPUTS ,, os. DAn " " Ai I~ ~~~~ A " A' S' CJj TO MODEM , A' CD ,. A' MlScrN A' TO ORco OROI ," A' " "NRZ'I(TBOC) IXJ32X (RSClK) tHIPSElf! 36 100 (R2) 35 1m (RI) " COO/R4) " '" " RI " " r-----t:-'!!~p==iA· "" 28 , RD " "" , INTRO " " ' "" " " "" " WE DECODER COMPUTER -AfS Mffi't"OOf " "" " "" AD OTR -6A[(i ~ RfV COT (R3) ~ """""'" Figure 2 WD1931/1933 AND MICROCOMPUTER. (MULTIPROTOCOL BOARD) 236 (OCE) TELEPHONE/DATA COMM. SWITCHING NE1WORK SWITCHED NETWORK STATION I I STATION ~____A ____~'~------------~--------~'L_____B____~ L---------~·~IL___ST_A_~I_O_N ~ __ MULTIPOINT NETWORK S_TA_~_'O_N ~I'~--------------------~'I~__S_TA_~_'O_N ~ L -__ __ __ NONSWITCHED POINT TO POINT NETWORK Figure 3 TYPICAL NETWORKS 237 LOOP DATA LINK SYSTEM DATA COMMUNICATIONS EXAMPLE NO.1 The Loop Mode is used in SDLC only. A loop data I ink system consists of one primary station (Loop Controller), and a number of secondary stations all functioning normally as repeaters. Figure 4 illustrates a typical Loop Data Link system. The diagrams below (Figures 5 and 6) illustrate a typical dig· ital system employing several processing levels and digital communications protocols. It is flexible enough to satisfy several applications. For example, the host processor and remote terminals could be located in airline reservation of· fices and ticket counters, travel centers and travel agencies, central bank offices and branch banks, or department stores and individual cash registers. The exploded diagram 01 the Data Communications Controller ex em pi if ies the use of one common circuit board design with eight multiprotocol circuits. When one port requires a character-oriented protocol (asynchronous, character oriented synchronous, or bisync), the WD1931 is installed into the appropriate socket. For SDLC, HDLC or ADCCP, the WD1933 is used. Any secondary station finding its address in the address field captures the frame for action at that station. All received frames are relayed to the next station down the loop. A secondary station is allowed to suspend the repeater function and initiate its transmission when a Go-Ahead pattern is received. PRIMARY STATION SEC. STATION A SEC. STATION N V II ( \ SEC SEC. STATION B STATION o SEC. STATION C Figure 4 LOOP DATA LINK SYSTEM 238 SHOWN IN DETAIL BELOW CONTROLLER (EXPANDED BELOW) Figure 5. STOCK BROKERAGE SYSTEM CENTRAL PROCESSOR BUS -, I LINK I I I I I L I I I OATA COMMUNICATION CONTROLLER --.J TO REMOTE TERMINAL TO REMOTE TERMINAL TO REMOTE TERMINAL Figure 6 DATA COMMUNICATION CONTROLLER 239 DATA COMMUNICATIONS EXAMPLE NO.2 DATA COMMUNICATIONS EXAMPLE NO.3 Figure 7 illustrates a Host Computer that communicates through modems to a multiprotocol board. This in tum collects information from many remote stations through a Data Concentrator. A simplified HDLC point to point connection is shown in Figure B. In this example, no buffers or line drivers and receivers are used. Figure 9 represents a more "real world" application with the use of modems through a communications channel. .. ,jOST CO,,","UT(R RECEIIIES AND STOAES DATA ~ROM VARIOuS DISTANT COMPUTEIlS Willi ,0' CONTROL "'" "IOTE I "101£2 "lorE 3 J UTSAIE UNUSED AND NOT SHOWN CONNECT THESE TO • 5V Figure 8 HDLC POINT TO POtNT 240 COMPUTER OR TERMINAL COMPUTER OR TERMINAL WDI933 (DTE) RD f---- 13 Fif"N('; fHS i7TT TBOC 1m TO VDO I l/VI Ail Figure 10 WD1931 PIN CONNECTIONS AND BLOCK DIAGRAM NC Eoa cs Dl 02 RTS 03 D4 155 D6 -67 MR OTR ORaD ORal VSS (GNO) 16 '" I~ I" 18 Is Iii I~ I~ Figure 11 WD1933 PIN CONNECTIONS AND BLOCK DIAGRAM 242 '" ; ASYN(. MODE , ; BREA~ LOOP NORM X"'IT ""~'~O, _0,,_ ~~ '" ee' '" ~" " ~~ TAAN ,~~ AsmC MODE 0 ECHO ~Mlr SY!-'C MODE , , '" ,~, "'" '0 ,C< ~, CH"'R LENG r-- '", SYNC m ASVfJC SYNC MODE ,,~ TRM, ,C< en m ,e< 0 STRIP "" ASYNC ce, CO ce~ " "ee, " MODE SYNC MODE " I I I I OVER RUN ORQO DROI ,~~ " O~ I I I I I I I I I I I I I I SYNII. OLE ""~ I I'"~ I I I I I I I WD1931 BIT ASSIGNMENTS Ai" AD READ WRITE CLOCK LO LO CR1 CR1 NONE LO HI CR2 CR2 HI LO SR SYN & DLE HI HI RHR THR NONE SRD ~ SR~7,SYN,DLE ~ RHR ~ AG. THR WD1931 REG. ADDRESSES AND CLOCKS Figure 12 WD1931 REGISTERS 243 ~ TC. SRl-4 ~ RC. NONE NONE AC1 REC AC1 TRAN TC XMIT OPCOM OPCOM W W " ERROR WD1933 BIT ASSIGNMENTS A2 A1 AD READ WRITE HI HI HI CRl CRl NONE HI HI LO CR2 CR2 NONE HI LO HI CR3 CR3 NONE HI LO LO RHR AR RHR ~ LO HI HI IR THR IR ~ LO HI LO SR - CLOCK Te. SRO-3 ~ WD1933 ADDRESSES AND CLOCKS Figure 13 WD1933 REGISTERS 244 l'iC. Re. AR ~ NONE THR ~ NONE SR4-7 ~ NONE MULTI PROTOCOL BOARD DESIGN 28 and 30 may be connected to +5V via a 10K resistor, and pins 35 through 38 may be connected directly to +5V. TRANSMISSION AND RECEPTION EXAMPLES The WD1931 and WD1933 pin assignments were chosen so that a circuit board designer may use only one 40-pin socket, but have the choice of using either device on that board. Depending on the application, a few jumper wires may be needed, or perhaps none at all. Figure 2 shows a typical example of a multiprotocol board. This board may be designed with even less components and jumpers, dependent on the particular application it is intended for. TRANSMISSION EXAMPLE 1 (ONE FRAME) A typical sequence of events is shown here to transmit a message from computer A to another computer (or terminal) B. Through a switched network the message to be sent is a synchronous SDLC protocol frame as shown below in Figure 14. For simplicity, the message sent in this example is very straightforward and short. Jumpers lA-7A are to be connected when WD1933 and all its options are used. Jumpers 1B-7B are to be connected when WD1931 and all its options are used. line drivers and receivers are used, pemnitting transmission to a remote DCE or modem (see schematic in Figure 2). As the SDLC frame is sent, the WD1933 is used. The jumpers required are lA-7A. Figure 15 illustrates the functional flow, and Figure 16 details the timing of the transmitted frame. Note that the device can be programmed in several d iflerent ways to allow for various requirements. For example, if the user does not need the NRZI signal mode, the IX clock is only used, no Ring or Carrier Detect indication is needed, TBOC, RSCLK and MISC IN are not used, and then no jumpers are needed in the design. In this case, pin 24 may be permanently connected to + 12V. Pins FLAG ADDR. CONTR. INF. DATA FCS Figure 14 SDLC FRAME FORMAT 245 FLAG FLOWCHART INTERRUPT MODE AUTO FLAG INF. DATA ~ 8 BITS (8-BIT CHARACTER WITH NO RESIDUAL BITS) TC COMMAND IS USED TO INITIATE FCS. INITIATE TRANSMIT MODE DTE AND DCE IDLE PORT A PORT B OUTPUT INTERRUPT INPUT AUTO FLAG DATA TERM. READY PA,., ~ 01111111 PBO/PB1 (INTRO/DROO) CR3,., CR2,., CR1,., 0000 0000 0000 0001 00000010 COMPUTER DOING OTHER TASKS DATA SET READY INTERRUPT NO.1 ERROR DATA SET CHANGE Figure 15 FLOW DIAGRAM OF FRAME TRANSMISSION 246 INTERRUPTS ACTIVATE TRANSMITTER. 00 TRANSMIT COMMAND (DATA). CR1 1 -{l 0100 0010 COMPUTER DOING OTHER TASKS TRANSMIT DATA INTERRUPT NO. 2-N YES ERROR RESET ACT TRAN BIT & Te '" 00 ONE FLAG IS AUTOM. TRANSMITTED. THEN TO GOES IDLE Figure 15 FLOW DIAGRAM OF FRAME TRANSMISSION 247 """"fC (lX CLOCK) DRQO NOTE 2 INTRQ OTR fiTS , Ht..I~I NOTE 1 AND4 --.II.- -1t c ;"-, rJ~! , ~~ ~ ~ ~ gg~ ~~ LU [ wu "ow w" _ _ _ _~~_ _~_ _ _ _~_ _ _ _ _ _ _ _ _ _ _ _ _ _~L_ _ _ _ _ _~~ NOTE 1 0: ~~ " ~ Q t ~~ 'w 8tr ~ NOTE 1, COMPUTER TIME MAINLY NOTE 2. DATA SET READY RESPONSE TIME PLUS TIME TO NEXT NEGATIVE TRANSITION OF'j"(; NOTE 3, COMPUTER TIME PLUS TIME TO NEXT NEG, TRANS OF"""fC NOTE., MODEMS WITH DSR PERMANENTLY ON, WILL NOT SET INTAO HERE NOTE 5, THIS TIME ~ 2 TC (2 CLOCK PULSES), IF CTS RESPONSE", '" Te Figure 16 TIMING DIAGRAM OF FRAME TRANSMISSION WD1933 TRANSMISSION EXAMPLE 2 (DMA APPLICATION) The WD1933 is very efficient for DMA applications. The control registers are loaded to initiate the WD1933 for DMA mode in the same way as in Transmission Sample 1. The Auto Flag bit is set, and the Transmitter Command is "DATA" (CR14 and CR15 bits = 00). The procedure to set up the I ink (initiate transmit mode and data set ready) is the same as in Transmission Sample 1. When INTRQ is set and the Transmitter is activated, the DMA Controller Board takes over control. From this time on, the DMA Controller Board responds on every DRQO (Data Request Out). When the last character is transmitted, the INTRQ is recelvea, ana tne control is switched back over to the CPU. A very important feature of the W01933 is the EOB (End of Block) input. Instead of using the normal (time-consuming) method of writing into a control register to start the FCS (Frame Check Sequence). the EOB input is activated at this time. At the next occurrence of INTRQ the EOB signal is deactivated. An example of a schematic/block diagram is shown in Figure 17, and a timing diagram is shown in Figures 18 through 20. 248 DATA BUS TO LINE DRIVERS/ RECEIVERS NOTE 1. IF ACTIVE HIGH (1· HIGH I TYPE DATA BUS USE DATA BUS INVERTERS Figure 17 BLOCK DIAGRAM OF DMA APPLICATION 1ST FRAME '-------'I '------I 1~---------'I 1 1 1 I 1 1 I I I J J Figure 18 DMA TIMING OF FIRST FRAME 249 FRAMES BETWEEN 1ST AND END FRAME _ _ _ _ _ __ ~~~,~~NTR ~n~_~nL _ _ _ _ _ _ _ __ _________ ~~ I I n I I I I I I I I I ~ t I I Figure 19 DMA TIMING OF MIDDLE FRAMES END FRAME w I • ~ LS ~ "'" I ·1, 'I ,"com ------'"00 .J1.J--u- - - I .1. -----+1,'-,- I ~,~~~ ---.11_-----' ___ I _ ~ _______ I ~nL I Figure 20 DMA TIMING OF LAST FRAME 250 _ __ WD1933 RECEPTIDN EXAMPLE 1 character, and two residual bits. This example may not be a typical frame, but it shows how the WD1933 works in a wide range of frame structures. A sequence of events is shown in illustrating how to receive a message with the WD1933 device. For simplicity, the same SDLe frame structure is used as in Transmission Example 1. Also, please refer to the same interface circuitry shown in Figure 2. The first FLAG and FCS are not shown in detail, and are not critical to this example. Figure 23 illustrates the functional flow, and Figure 24 contains the timing information. Figure 21 illustrates the functional flow, and Figure 22 contains the timing information. WD1933 LOOP DATA LINK EXAMPLE WD1933 RECEPTION EXAMPLE 2 This example shows how to program a secondary station to function in Loop mode. The functional flow is illustrated in Figure 25, and the interface circuit is shown in Figure 2. This example shows a frame with two ADDRESS characters, two CONTROL characters, one 5-bit INFORMATION DATA FLOWCHART DATA SET READY 18T INTERRUPT INITIATE RECEIVE MODE ACTIVATE PORT A = OUTPUT PORT B = INTERRUPT INPUT MAMOMENT. CONFIGURE Pia ADDRESS_AR PAro = 01111111 PBO/PB2 (INTAQIDAQI) EXAMPLE: AR = = INTERRUPT 33H DATA SET READY SET AD DR DATA TERM. READY COMPARE AND OTR CR2 = 01000000 GAl = 00000010 ACTIVATE RECEIVER COMPUTER DOING OTHER TASKS COMPUTER DOING OTHER TASKS Figure 21 FLOW DIAGRAM OF FRAME RECEPTION (EXAMPLE NO.1) 251 RECEIVE DATA INTERRUPT NO. 2·N (ADDRESS MATCH) READ IR ENABLE INTERRUPT. ORal l' = READ NO RHR (ERROR) READ SR REG. BITS 0-2 TO FIND OUT WHAT TYPE OF ERROR COMPUTER DOING OTHER TASKS REMOVE LAST TWO CHAR. RE· CEIVED YES SAVE RESIDUAL BITS, BUT MASK OUT THE OTHERS IN LAST CHAR NOT REMOVED Figure 21 FLOW DIAGRAM OF FRAME RECEPTION 252 IDLE ,", 1""""1"""::1""" "I""""I""""""""'I""""~ II ~DDA ----l ~O~15A. AG' • I ,. I I I I, ;~~~ r F om res F n n n n n j j j j j ____~I~I~I~I~I--L NOIE 1 DATA SET CHANGE INTERRUPT NOT SHOWN HERE NOTE 2 PAOGAA",,,,(O ADDRESS I'N AR REG) 33H Figure 22 TIMING DIAGRAM OF FRAME RECEPTION (EXAMPLE NO.1) 253 I FLOWCHART INITIATE RECEIVE MODE PA,.o = 01111111 PBO/PB2 (INTAQlDRQI) PORT A '" OUTPUT PORT 8 = INTERRUPT INPUT = INTERRUPTS EXAMPLE: AR '" 1CH ADDRESS 1 INTO AA PROGRAM EXTENDED CONTROL ADDRESS COMPARE EXTENDED ADDRESS RECEIVE CHAR. LENGTH = 5 BITS DATA TERM. READY CR2 co 11111000 ADDR AND RCl = 5 SET DTR CAl = 00000010 COMPUTER DOING OTHER TASKS DATA SET READY 18T INTERRUPT (DATA SET CHANGE) ACTIVATE RECEIVER COMPUTER DOING OTHER TASKS SEE DATA SET READY IN RECEPTION EXAMPLE 1 ~ Figure 23 FLOW DIAGRAM OF FRAME RECEPTION (EXAMPLE NO.2) 254 RECEIVE DATA INTERRUPT NO. 2·N {ADDRESS MATCH) READ IR ENABLE INTERRUPT YES NO (INTRQ) READ RHR REOM' NO (ERROR) EX. IS 83H BITS 0-2 (TYPE OF ERROR) YES RECONFIGURE COMPUTER PIO TO IGNORE ORal (ADDR 2 MISMATCH) LENGTH CALCULATE NO. OF RESIDUAL 81TS (SEE RESIDUAL BIT CALCU- COMPUTER DOING OTHER TASKS Figure 23 FLOW DIAGRAM OF FRAME RECEPTION 255 ~ SUBTRACT THE FLAGBITS IN THE RESIDUAL BIT CALCULATION THIS CALCULATION NEEDED ONLY WHEN RESIDUAL BITS MAY BE RECEIVED IN A NON-8-BIT CHARACTER lAST RECEIVED CHARACTER , ADD THE REMAINDER OR SUM WITH THE CHARACTER BIT LENGTH « ;?- NO 16 ? SUBTRACT 16 FROM THIS SUM T THIS RE- MAINDER IS THE NO. OF RESIO. BITS ~ Figure 23 FLOW DIAGRAM OF FRAME RECEPTION .11 ,'.:'1""AuGfl'", 'I" ~ '"' ,0" ADDR2 I ,",' "I"""" CONT~' 'I" J I I ~ I' , I "" I I I J' I I I l ~~ ~~ I I I ~~ ~~ ~~ ~~ o~ ~ Figure 24 TIMING DIAGRAM OF FRAME RECEPTION (EXAMPLE NO.2) 256 ~~~ FLOWCHART INITIATE LOOP MODE = ') START ~ MOM. PORT A = OUTPUT PORT B ( I INTERRUPT INPUT :~CTlV. Wi. I CONFIGURE PIO. -~ WAITE ADDRESS INTO AR REG. SET ADDR. COMP, LOOP MODE, AUTO FLAG ADDR ----.. AR PA,_o '" 0111 1111 PB 20 = INTERRUPT (ORal, ORaD, INTRa) AR = 00110011 CR3 = 00000000 CR2 = 01000101 t SET OTR DATA TERM READY CRt = 00000010 BIT COMPUTER DOING OTHER TASKS ( ~ WAIT ) DATA SET READY 1ST INTERRUPT RECEl'JE DATA ( INTERRUPT 2-N (ACT TRAN BIT = 0, INTEA,UPT ) ( INTERRUPT ) ADDRESS COMPARED AND MATCHED) ACTIVATE RECEIVER COMPUTER DOING OTHER TASKS SEE DATA SET READY IN RECEPTION EXAMPLE 1 FLOWCHART c:b SEE TIMING DIAGRAM FIG. 22 CRt '" 10000010 SEE A.lEIVE DATA IN RECEPTION EXAMPLE 1 FLOWCHART REPEATER MODE END OF AE- ) CEIVE DATA Figure 25 FLOW DIAGRAM OF LOOP MODE OPERATION 257 TRANSMISSION REQUEST CRt ACTIVATE TRANSMITTER '= 11100010 (SECONDARY STATION IS STILL FUNCTIONING AS A REPEATER, RECEIVING DATA WHEN ADDRESSED, BUT IT IS NOW ALSO WAITING FOR A GO·AHEAD f¥.TTERN FROM PRIMARY STATION TO BE ALLOWED TO TRANSMIT) 1ST INTERRUPT AFTER ACT TRAN BIT IS SET, OR AFTER END OF RECEIVE/ XMIT DATA AND ACT TRAN BIT IS SET. YES OROI NO SEE RECEIVE DATA FLOWCHART IN RE· CEPTION EXAMPLE 1 NO ERROR GO·AHEAD PATIERN RECEIVED. TRANSMIT DATA Figure 25 FLOW DIAGRAM OF LOOP MODE OPERATION CONCLUSION APPENDIX The WD1931 and WD1933 devices are highly compatible. which allows the design of a multiprotocol communications board. This compatibility allows the use of asynchronous. character oriented synchronous. and bit oriented synchronous communications protocols with the same 40 pin socket. RELATED DOCUMENTS WD1931 Data Sheet. Western Digital Corporation WD1933 Data Sheet. Western Digital Corporation Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may result from its use. No Hcense is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said circuitry at anytime without notice. WESTERN DIGITAL CORPORATION 3128 REDHILL AVENUE. BOX 2180 NEWPORT BEACH. CA 92663 (714) 557-3550.TWX 910-595-1139 258 Security Products Data Sheets 259 c o R p o R A T I o N C=~~~~==~~==~~~====~========~~======~======~O co FEATURES • CERTIFIED BY NATIONAL BUREAU OF STANDARDS. • TRANSFER RATE: 1.3M BITS/SEC (2 MHz CLOCK) (HIGHER SPEEDS AVAILABLE) • ENCRYPTS/ DECRYPTS 64 BIT DATA WORDS USING 56 BIT KEY WORD • SINGLE PORT 28 PIN PACKAGE WD2001 OR DUAL PORT 40 PIN PACKAGE WD2002 • COMMAND BIT PROGRAMMING VIA DAL BUS OR INPUT PINS • DMA COMPATIBLE (SEE WESTERN DIGITAL DM1883) • PARITY CHECK ON KEY WORD LOADING • STANDARD 8 BIT MICROPROCESSOR INTERFACE • INPUTS AND OUTPUTS TTL COMPATIBLE • KEY STORED ON CHIP IS NOT EXTERNALLY ACCESSIBLE • SEPARATE CLEAR AND CIPHER BUS STRUCTURE ON WD2002 APPLICATIONS • SECURE BROKERAGE TRANSACTIONS • ELECTRONIC FUNDS TRANSFERS • SECURE BANKING/BUSINESS ACCOUNTING • MAINFRAME COMMUNICATIONS • REMOTE TIONS • SECURE • SECURE • SECURE AND HOST COMPUTER COMMUNICA- ~ A/D DISK OR MAG TAPE DATA STORAGE PACKET SWITCHING TRANSMISSION GENERAL DESCRIPTION The Western Digital WD2001 and WD2002 Data Encryption / Decryption devices are designed to encrypt and decrypt 54-bit blocks of data using the algorithm specified in the Federal Information Processing Data Encryption Standard (#46). These devices encrypt a 64-Bit clear text word using a 56-Bit user-specified key to produce a 64-Bit cipher text word. When reversed, the cipher text word is decrypted to produce the original clear text word. The DE2001/2 are fabricated in N-channel silicon gate MOS technology and are TTL compatible on all inputs and outputs. WD2001/WD2002 BLOCK DIAGRAM 261 PIN OUTS PIN NO. PIN NAME SYMBOL FUNCTION WD2001 WD 2002 11-18 17-24 DATA LINES DAL ~.... DAL 7 Eight active true three-state bi-directional I/O lines used for information transfer to and from the DES chip's registers. During single port operation, all COMMAND/STATUS, KEY WORD and DATA WORD transfers are via this bus. During dual port operation, all COMMAND/STATUS, KEY WORD and clear DATA WORD transfers are via this bus. (Cipher DATA WORD transfers are via the CIPHER DATAP6"FiT (CDP) bus.) N/A 11-14 27-30 CIPHER DATA PORT CDP ~ .... CDP 7 Eight active true three-state bi-directional I/O lines used only in dual port operation. Cipher DATA WORD transfers are via this bus. These pins are available on the WD2002 40 pin package version Q.Q..Iy. + 12v 6 8 POWER SUPPLY VDD 5 7 POWER SUPPLY VCC + 25 36 GROUND GROUND 5v 9 15 CLOCK VSS CLK 21 32 MASTER RESET MR 10 16 CHIP SELECT CS is made low to access registers within the device. 8 10 READ ENABLE The contents of the selected register are placed on the DAL (or COP) bus lines when CS and RE are made low. 7 9 WRITE ENABLE Information on the DAL (or CDP) bus lines is written into the selected DES register when CS and WE are made low. 19 26 26 38 KEY REQUEST KR This output is active high when the DES chip is requesting that a byte of the KEY WORD be written into the KEY REGISTER. (The KEY REGISTER is automatically addressed when KR is active, unless overriden by A(J.) 2 2 KEY ACKNOWLEDGE KA This output is active low when WE is made low while the KEY REGISTER is addressed. (Can be used for handshake.) 27 39 DATA-IN REQUEST DIR This output is active high when the DES chip is requesting that a byte of the DATA WORD be written into the DATA REGISTER. (The DATA REGISTER is automatically addressed when DIR is active, unless overriden by All.) 3 4 DATA-IN DIA This output is active low when WE is made low while the DATA REGISTER is addressed. (Can be used for handshake.) System clock input. MR active low resets the COMMAND/STATUS REGISTER and resets internal circuitry. (Requires active clock for reset operation.) When this input is active high (during CS active) the COMMAND/STATUS REGISTER is addressed. (A~ active high will override internally generated addresSing of the KEY and DATA REGISTERS as described on page 6.)This input is ignored whenCRPS is active. ACKNOWLEDGE 262 PIN NO. PIN NAME SYMBOL FUNCTION WD2001 WD2002 28 40 4 5 DATA-OUT REQUEST DOR This output is active high when the DES chip is requesting that a byte of the DATA WORD be read from the DATA REGISTER. (The DATA REGISTER is automatically addressed when the DOR is active, unless overridden by A¢.) DATA-OUT DOA This output is active low when RE is made low while the DATA REGISTER is addressed. (Can be used for handshake.) ACKNOWLEDGE 22 33 KEY PARITY EP'.qOR KPE This output is active low when enabled via the COMMAND/STATUS REGISTER BIT 2 (KEOE) and a parity error has been detected during loading of the KEY REGISTER. 21 31 COMMAND REGISTER PIN SELECT CRPS This input selects DAL bus or input pin programming of the COMMAND/STATUS REGISTER. CRPS high or open selects DAL bus programming. CRPS low selects input pin programming. 23 34 ACTIVATE ACT When CRPS is high or open, this pin is an output reflecting the status of the ACTIVATE bit (bit 1) of the COMMAND/STATUS REGISTER. When CRPS is low, this pin is an input that overrides the ACTIVATE bit of the COMMAND/STATUS REGISTER. N/A 37 KEY ERROR OUTPUT ENABLE KEOE This output indicates the status of the KEY ERROR OUTPUT ENABLE bit (bit 2) of the COMMAND/ STATUS REGISTER. This output is active when input pin programming is selected (CRPS low). This pin is available on the WD2002 40 pin package version only. 24 35 ENCRYPT / DECRYPT E/D When CRPS is high or open, this pin is an output reflecting the status of the ENCRYPT/ DECRYPT bit (bit 3) of the COMMAND/STATUS REGISTER. When CRPS is low, this pin is an input pin that overrides the ENCRYPT/DECRYPT bit of the COMMAND/STATUS REGISTER. N/A 25 DUAL PORT SELECT DPS When this input is high or open, single port operation is selected and all DES chip transfers are via the DAL bus. When DPS is low, dual port operation is selected and both the DAL bus and the CDP bus are used [separate busses for clear data (DAL bus) and cipher data (CDP bus)). This pin is available on the WD2002 40 pin package version only., NOTE: The WD2001 28 pin package version does not have the following pins: The 8 CDP pins, the KEOE pin, and the DPS pin. 263 ORGANIZATION The Data Encryption Standard chip consists of a 56-bit KEY REGISTER, a 64-bit DATA REGISTER, an 8-bit COMMAND/STATUS REGISTER, plus the necessary logic to check KEY parity and implement the NBS algorithm. A typical system implementation is shown on page 10 and the block diagram is shown on page 1 . Although the DES chip interfaces to a wide variety of processors including mini-computers, the interface is tailored to the 8080A class microprocessor. BIT 0 55 0 BIT 0 0 I(EY REGISTER (lOAD ONLY) GENERAL OPERATING DESCRIPTION Data Register The user programs the DES chip for encryption or decryption, and single or dual port operation." Data is encrypted/decrypted with a 64-bit user defined KEY WORD. Data encrytped with a given KEY WORD can be decrypted only using that KEY WORD. The KEY REGISTER is loaded by the computer with eight successive 8-bit bytes. Parity is checked on each byte 'of the KEY WORD as it is loaded into the KEY REGISTER (The 8th bit (DAL~) of each 8-bit byte is reserved for odd parity for that byte and is not used in the algorithm calculation.) Similarily the DATA REGISTER is loaded with eight successive 8-bit bytes. The DATA REGISTER is read by reading eight successive 8-bit bytes. When the DES chip is programmed for encryption, the DATA REGISTER is loaded with eight bytes of plain or clear text. The DES chip encrypts the data, then the encrypted data may be read from the DATA REGISTER (64-bits of encrypted text). When the DES chip is programmed for decryption, the DATA REGISTER is loaded with eight bytes of encrypted or cipher text. The DES chip decrypts the data, then the plain text may be read from the DATA REGISTER (64-bits of plain text). Note that all transfers to and from the KEY REGISTER and/or DATA REGISTER must occur in eight successive 8-bit bytes. This 64-bit register contains plain or cipher text. When in the encrypt mode, the DATA REGISTER is loaded with plain text, and when read contains cipher text. When in the decrypt mode, the DATA REGISTER is loaded with cipher text, and when read contains plain text. The DATA REGISTER is always read or loaded with eight successive byte transfers. The DATA REGISTER can be loaded only when there is a DATA-IN REQUEST (status bit and output); similarily the DATA REGISTER can be read only when there is a DATA-OUT REQUEST (status bit and output). "Note: Dual port operation available with WD2002 40 pin package version only. (Single and dual port operation is described in detail under PART V. OPERATION.) BIT 63 0 0 BIT 0 0 DATA REGISTER Command/Status Register (C/S R) This 8-bit register controls the operation of the DES chip and monitors its status. Bits 7, 6, 5 and 4 are status-only bits (read only). Bits 3, 2 and 1 are COMMAND/STATUS bits (read/write). Bit ¢ is not used. The COMMAND/STATUS bits (bits 3, 2, and 1) are normally loaded only once for an entire encrypt or decrypt process. REGISTER DESCRIPTION The following describes the KEY, DATA, and COMMAND/STATUS REGISTERS of the DES chip, 7 Key Register DOR This 56-bit register contains the KEY by which the Data Encryption Algorithm operates. Eight successive bytes are needed to load the KEY REGISTER. The KEY REGISTER can be loaded only when there is a KEY REQUEST (Status bit and output). THIS REGISTER IS LOAD ONLY AND CANNOT BE READ. 6 DIR 5 4 3 KPE KR E/D STATUS BITS (READ ONLY) 2 KEOE 1 0 ACT N/U COMMAND/STATUS BITS [READ WRITE COMMAND/STATUS REGISTER 264 1 COMr,lAND/STATUS REGISTER (CIS R) Nomo Bit CIS r,;1 Function i ,;jOT USED . ClS 111 "' ACTIVATE ._ _ ;1-_ _ _ _ _ _. I\EY ERROR OUTPUT ENAGLE (I(EOE) 'i/S Fl31 ENCRYPT/ DECRYPT <'6/0) ·C., .•. ·.•. . •.l.S n,l '. I(E'I REqUEST (1m) ! This bil must bo S:')\ from '0' to 'I' to initiate loodino tho I(EY REGISTER. Thie bit must bo 'I' for encryptldocrypt operation. Thlo io a reed/vJ(llo bit . When '0" tilo I(EY PARITY ERROR output pin fiWE) romCllnn Innctivo rc[JQrdloss of tllO stiltun of ths I(EV PARITY ERROR bit (bit 5). Whon '1', tho KEv PARITY E"H1T6R output pin is activo when tho I(PE bit (bit5) ie '1'. This bit 10 Got 10 'I' upon a t,lASTER RESET. This Is a reed/\'J(lta bit. I WhOn '0' dnto Is to b::J encrypted. WI.lon '1' dala 10 to bo decrypted. This 10 n reed/wilo bit. th progrcmm~cl from 'I' to '0' (i.o., Chip decctivBted). This is a rond·· only bit. lThlobltls sot upon eithor; olc;ompletlon 01 ItEY REGISTER.lo:.ldinO· or· b)Complotion of DATA REGISTER reading die, tho fcstDATi-\-9U'ti REQUEST llosbC,lO sOfVlc~d by an8-byte read and tho[)~TA REGISTER 10. nOl'1 omptyqnd ready lobe loaded· with' tho !\e.lt.f DA~AWORD). . . . . .! i IfisreOGI uponlonding 01 the 81h and final byle oUhe DATA:; ~EGISTER. This Is a road only bit. Thi"bll ie sat upon completion of the internnl encryPtldacl)lp\;c .calculatlon of (I DATA WORD. It 1(1 resatupon reading of the 8th and flnalbylo of tho DATA REGISTER. This is a raad only bit. Noto: All bits of the COMMAND/STATUS REGISTER are reset to '0' upon MASTER RESET, except bit 2 (KEOE) which is set to '1' and bit !i1(not usedlwhich will read 'I' by default during a COMMAND/STATUS REGISTER read. 265 DETAILED OPERATING DESCRIPTION The DES chip is initiated by programming a '1' in the ACTIVATE bit of the COMMAND/STATUS REGISTER. The DES chip will respond by activating the KEY REQUEST (KR) bit (bit 4) of the STATUS REGISTER and the KEY REQUEST output. The user must deactivate A~ (allowing the chip to internally address the KEY REGISTER), and load the KEY REGISTER with the 64-bit KEY WORD. The KEY REGISTER is loaded with 8 consecutive 8-bit bytes by activating WE 8 times (with CS active). When WE is made active, the DES chip deactivates the KR output. When WE is deactivated, the KR output is again activated. The DES chip will activate 8 KEY REQUESTs in this fashion until the KEY REGISTER is full. Also, when WE is made active, the DES chip responds by activating the KEY ACKNOWLEDGE (KA) output. Thus, 8 KA activations will be made. The KR and KA outputs can be used for asynchronous handshaking (as in DMA control) or further activations following the first KR can be ignored and the KEY REGISTER can be loaded in a synchronous (programmed 110) manner via 8 successive activations of WE. Each byte of the KEY WORD is checked for odd parity as it is loaded. If a parity error is found, the chip will set the KEY PARITY ERROR (KPE) bit (bit 5) of the COMMAND/STATUS REGISTER. If the KEY ERROR OUTPUT ENABLE bit (bit 2) of the COMMAND/ STATUS REGISTER has been set, the DES chip will also activiate the KPE output. The KPE bit will be reset when the ACTIVATE bit is re-programmed to a '0'. After loading the last (8th) byte of the KEY WORD into the KEY REGISTER, the DES chip will set the DATA-IN REQUEST bit (bit 6) of the STATUS REGISTER and activate the DATA-IN REQUEST (DIR) output. The 64-bit DATA WORD must then be loaded into the DATA REGISTER. The DATA REGISTER is loaded in the same manner as the KEY REGISTER via 8 successive activations of DATA-IN REQUEST (DES output), WE (DES input, and DATA-IN ACKNOWLEDGE (DES output). After the last (8th) byte of the DATA WORD has been loaded, the chip begins the internal calculation of the NBS algorithm. Upon completion of the calculation, the new data is internally loaded into the DATA REGISTER, and the DES chip sets the DATA-OUT REQUEST bit (bit 7) of the STATUS REGISTER and activates the DATA-OUT REQUEST (DOR) output. The DATA WORD must then be read from the DATA REGISTER. The DATA REGISTER is read in the same manner as it was loaded via 8 successive activations of DATA-OUT REQUEST (DES output), RE (DES input), and DATA-OUT ACKNOWLEDGE (DES output). Again, for both data-in and data-out, further activations of the DIR, DOR and DIA, DOA outputs, after the first request, can be ignored and the DATA REGISTER loaded (read) by 8 successive activations of WE (RE). After the last (8th) byte of the DATA REGISTER has been read, the DES chip will reactivate the DATA-IN RECUEST. This cycle of loading the DATA REGISTER, internal algorithm calculation, and reading the new data from the DATA REGISTER can continue indefinitely until all desired data has been encrypted or decrypted with the current KEY WORD. After all desired data has been encrypted/decrypted with the current KEY WORD, the ACTIVATE bit of the COMMAND/STATUS REGISTER should be programmed to '0'. When the ACTIVATE bit has been reset to '0', an unauthorized user will not have access to the last KEY loaded into the DES chip since to resume operation, the ACTIVATE bit must be programmed to '1' which activates KEY REQUEST and a new KEY must be loaded before access to the DATA REGISTER is possible. To encrypt plain data, plain data is loaded into the DATA REGISTER, and encrypted data is read from the DATA REGISTER. (The ENCRYPT/DECRYPT bit (bit 3 of the COMMAND/S,ATUS REGISTER) must have been previously programmed to '0'.) To decrypt encrypted data, encrypted data is loaded into the DATA REGISTER, and plain data is read from the DATA REGISTER. (The ENCRYPT/DECRYPT bit must have been previously programmed to '1 '.) Note: If it is desired to switch from encrypt to decrypt (or vice versa) under the same KEY WORD, this can be accomplished before a DATA WORD transfer is initiated. By making A~ high, the DES chip will override the internal addressing of the DATA REGISTER, and address the COMMAND/STATUS REGISTER. The COMMAND/ STATUS REGISTER can be re-programmed. When A~ is returned to a low state, the DES chip will internally address the DATA REGISTER awaiting loading of the next DATA WORD. DUAL PORT OPTION (Available on WD2002 40 Pin Version Only) When the DUAL PORT SELECT (DPS) input is high or left open (ie., single port operation is selected), all transfers to/from the DES chip are via the DAL bus. The CDP bus is not used and remains three-stated. When DPS is made low (ie., dual port operation is selected), all transfers to/from the COMMAND/ STATUS REGISTER, and transfers to the KEY REGISTER are still via the DAL bus. Clear DATA WORDS are also transferred via the DAL bus. However, cipher DATA WORDS are now transferred via the CDP ~This provides separate busses for clear and ciphered text. 266 Encryption during dual port operation requires loading clear data via the DAL bus, and reading cipher data via the COP bus. Decryption during dual port operation requires loading cipher data via the COP bus, and reading clear data via the DAL bus. COMMAND SELECT OPTION When the COMMAND REGISTER PIN SELECT (CRPS) input is made low, the ACT and EfD pins are enabled as inputs. These inputs override bits 1 and 3 (respectively) of the COMMANDfSTATUS REGISTER. This allows input pin control of the DES chip. The KEOE bit (bit 2) of the COMMANDfSTATUS REGISTER will be held to '1 '. Input A¢ will be disregarded in this mode of operation, and the COMMANDfSTATUS REGISTER cannot be accessed via the DAL lines. Note that the ACT pin must be toggled from '1' to a '0' to clear a parity error detection in this mode of operation. All other operation remains as described previously. WD2001lWD2002 FLOW CHARTS 267 MAXIMUM RATINGS Storage Temp. Ceramic-65'Cto +150'C Plastic -55' C to + 125'C VDD with Respect to VSS (Grou nd) +15 to - 0.3V Max. Voltage to any Input with Respect to VSS +15 to - 0.3V Operating Temperature O'C to 70'C Power Dissipation 1W OPERATING CHARACTERISTICS TA O'C to 70'C, VDD + 12.0V = = SYMBOL ± .6V, VCC =+ CHARACTERISTIC 5.0V ± .25V, VSS MIN. TYP. = OV MAX. UNITS to uA 11..1 II..() Input Leakage Oulpull.eakllge ICCAVE VCC$upplYC\.Itronj rnA IOOAVE VIH VOO SupplyCurront Input HlghVOl1ago rnA V CONDITIONS uA VIL 10= -100ull: VOH VOL Output Lo\VVoftago AC CHARACTERISTICS TA O'C to 70'C, VDD = = +12.0V ± 0.6V, 10 VSS = OV, VCC = +5.0 ± .25V NOTE: All output timing specifications reflect the following: High Output 2.0V Low Output 0.8V 268 = 1.6lnA KR(DIR) CS :4- TOH DALlCDPI YPICAL KEY OR DATA REGISTER LOAD DOR cs DALlCDPI _ _ _ _-'K "" " TYPICAL DATA REGISTER READ & TIMING A0 cs -<; ~ T ACS OAL (COP) -fIo-l ~ r- I~ T RD ---r.-j--«I I TRDV --+-: A0 I • I :.- TACH !~ I l.- -.1:"-- ----i OAL (COP) --+--,---- -~-4-TOH t ClK + 450 nsec from WE into the DATA REGISTER. MISCEllANEOUS TIMING 1. CLOCK INPUT FREQUENCY: 2 MHZ (MAX); 100 KHZ (MIN). PULSE WIDTH: 250 nsec MIN. 2. MASTER RESET PULSE WIDTH: 10 Clock Periods 3. Time between consecutive RE or WE pulses: TSR = TSW = 2 CLOCK PERIODS MINIMUM 4. ACT, EID, KEOE OUTPUTS These pins will be valid within 2 ClK + 450 nsec from WE of a COMMAND REGISTER write operation. t t 5. KPE OUTPUT This pin will be active within 2 ClK + 450 nsec from WE of a write of a KEY WORD byte that results in a parity error. t t 6. CRPS, DPS, EID INPUTS require a 300 ns set-up time. 7. The initial KR activation will be valid within t t t 3 ClK + 450 nsec from WE of a write operation that programs a '1' into the COMMAND REGISTER ACTIVATE bit (or 2 elK + 450 nsec ,if CRPS = 0). from ACT input t 8. The initial DIR activation will be vatid within 2 ClK + 450 nsec from WE of the 8th write into the KEY REGISTER. t t 9. The initial DOR activation will be valid within 49 t 10. When reading the DATA REGISTER (in response to DOR), subsequent data bytes are made available internally to the DAl (CDP) output buffers within 2 ClK + 450 nsec from RE • t NOTE: All output timings assume ClOAD Shown below IS a block diagram for a floppy disk based DES secure smart terminal. The Direct Memory Access (DMA) controller optimizes data transfer operations for not only the floppy but also for file encryption and decryption operations. Secure features for the terminal include: secure file storage on floppy disks, optical clearl secure transmission via the communications 1/0 and battery backup of the Terminal 10 key. Tampering with the Terminal by unauthorized persons either through the key board power supply interrupt interlock or attempting to open the service panel results in memory scrambling and terminal 10 key destruction. Finally, a hardware option was also included to allow the use of the pin compatible WD1933 device in place of the WD1931 for bit oriented SDlC, HDlC, or ADCCP protocols. DES I OM1883 DMA cPU PWR SUPPLY & BATTERY FD1791 H SYSTEM CLOCK I CRT CONTROLLER FOe ~ FLOPPY DISK DRIVE WD1931 f------+ SYNC!ASYNC Ito WD1933 SOLe/HOLe/ADcep :I 50 PF TYPICAL APPLICATION WD2001 MEMORY of the 8th write KEY BOARD I Block Diagram: Secure Smart Terminal 270 MODEM --- WD2001E CERAMIC PACKAGE 2.025 LI:t( MAX WD2001F PLASTIC PACKAGE " [::::0:::::] .015 ", MIN .200~ .. 'I1: r"--~ II H III1111 H I Hili· ... %~~ ~.t: .014 ~r- :021 +1 ~ ~in :, MIN WD2002A CERAMIC PACKAGE WD2002B PLASTIC PACKAGE EXPORT CONTROL: Cryptographic devices and technical data regarding them are subject to Federal Government export controls as specified in Title 22, Code of Federal Regulations. Parts 121 through 128. Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said circuitry at anytime without notice. WESTERN DIGITAL CORPORATION 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 271 WESiiERN DIGITAL c o p R o R A T / o N WDK20001-XA CRYPTOGRAPHIC PRIMER Kn FEATURES ., '" NIQUES AND HOW TO IMPLEMENT THEM o EXAMPLES TO HELP CHECK OUT USER SOFTWARE o RS-232 COMPATIBLE CRYPTOGRAPHIC UNIT WITH: ..: :;: o WD2002 CERTIFIED IMPLEMENTATION OF THE NATIONAL BUREAU OF STANDARDS DATA ENCRYPTION STANDARD GENERAL DESCRIPTION o SELECTABLE 19.2KBPS) BAUD RATE (50BPS to " CABLE TO HOOK DIRECTLY TO AN RS-232 COMPUTER PORT o LED DISPLAY FOR CRYPTOGRAPHIC STATUS AND ERROR CONDITIONS " CRYPTOGRAPHtC PROTOCOL o USER MANUAL FOR HARDWARE o MANUAL DESCRIBING CRYPTOGRAPHIC TECH- The WDK20001-XA provides a basic cryptographic unit with a standard RS-232 1/0 interface. The user accesses the cryptographic unit as a programmed I/O device operating at a switch selectable baud rate between 50bps and 19.2Kbps. Guidance for writing applications programs to communicate with the cryptographic unit through a cryptographic protocol and for using it to perform cipher feedback and other cryptographic imptementations is included in the Cryptographic Primer manual. Specific examples of matched key, plaintext and ciphertext are included to help debug the users application programs. JJ LJ Interface CRYPTO~BUS Power Supply Status Display Error Display WDK20001-XA CRYPTOGRAPHIC PRIMER KIT BLOCK DIAGRAM WESTERN DIGITAL CORPORATION 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 . 1M 273 [5 a: o THE "CODEBREAKERS" BY DAVID KAHN & SWd Security Products Technical Notes 275 c o R p o A R T o N C~lP'lHIfE~ flElElOll8lAC~ CIFfVIPTOGIRlAfP>HV TfECIHlNJ~CAl NOlIE by Ken Cohen 1ii CIPHER FEEDBACI< CRYPTOGRAPHY The Uniled States Government in proposed Federal Standard 1026 describes three different approved ways of using the National Bureau of Standard's Data Encryption Standard (DES): Electronic Codebook; Cipher Feedback; and Cipher Block Chaining. Western Digital's WD2001 and WD2002, as delivered, implement the DES in Electronic Codebook Mode. This Technical Note will describe how to build an "N" bit Cipher Feedback (CFB) circuit using the WD2001. WHAT IS CIPHER FEEDBACK? Cipher feedback cryptography produces, as a function of previous cipher text, a pseudorandom bit stream which is added modulo 2 to the plain text to produce the next cipher text. DES IN CIPHER FEEDBACI< (CFB) Obviously, both the receiver and transmitter must start their cryptographic operation with the same cryptographic keys to be able to acquire and maintain crytographic synchronization, i.e. produce the same pseudorandom bit stream at the same point in time. For DES this means that both the 64 bit cryptographic variable (56 bit key) and the initial input to the algorithm must be identical at both ends. The initial input to DES in CFB is called the Initializing Vector (IV). Its format and generation are described in detail in Federal Standard 1026. The functional description of using the WD2001 in CFB mode below assumes that communication synchronization has been achieved; that identical decrypted IV's and cryptographic keys are available to both the transmit and receive ends of the linl<; that encryption is to be.a 1 bit cipher feedback; and that the plain text character size (1 in the example) equals the transmitted character size (Method A in proposed Federal Standard 1026). ENCRYPTION At time 0, the 64 bit cryptographic variable is loaded into the WD2001 with the key load sequence. A 64 bit block consisting of not more than 16 leading O's and the 48 bit (or longer) IV is loaded into a 64 bit shift register (R) and into the input register, as if it were data, and encrypted. The WD2001 will automatically encrypt the IV under control of the cryptovariable and present a 64 bit block, 8 bits at a time as output. This output is stored in a shift register(S) with the most significant bit (MSB), to the left and the least significant bit on ~_ the right. ii: ~ ::> 0:: The MSB of S is added modulo 2 to the first bit of plain text to produce the first cipher bit. The contents of R are shifted 1 bit to the left and the just created cipher bit is inserted as the least significant bit (LSB) in R. The cipher bit is nowavailable for buffering, transmission, etc. The new contents of R are now loaded into the WD2001 as data, encrypted, and the new output placed in S. The above procedure is repeated until the entire message text is encrypted, one bit at a time. DECRYPTION Decryption is accomplished in a similar manner: the IV is stored in R; loaded into the WD2001 as data; ENCRYPTED (even though the operation on the message text is to be decrypted); the results stored in S; and R shifted 1 bit to the left. Now, because the unit is receiving cipher rather than creating it, the first received bit is placed in the LSB of R. This cipher bit is also added, modulo 2, to the leftmost bit in S to reproduce the original plain text. NOTES Of particular significance is that the DES Chip is in the ENCRYPT mode for CFB cryptography regardless whether the operation is to be performed to create cipher text or to recreate plain text. This is because the DES is being used to generate a pseudorandom bit stream. It is the exclusive OR operating on that bit stream and the received text which accomplishes the actual encryption/decryption of data. S was nominally defined to be 64 bits long. It need be no longer than the number of text bits to be exclusive OR'd at one setting of the pseudorandom stream. In the example it was one bit. In reality it could be any character or block size from 1 to 64 bits long. The convention used in this note is to organize a shift register with the MSB to the left. In practice, what is important is to use the MSB of S for the MOD 2 addition and to shift the R register content, so that the MSB is dropped and the cipher bit becomes the LSB. It is also important to perform the shift and generate a new pseudorandom block after each character has been encrypted or decrypted. 277 ffi LL- OTHER CIPHER FEEDBACK METHODS APPLICATIONS OF CFB Cipher Feedback can be done for any feedback size of 1 through 64 bits. One bit cipher feedback has the overall advantage of being transparent to the data being protected. In the data communications world error extension and selfsynchronization are not important because of the excellent conditions of the lines and the protocols and error correcting codes used to insure proper receipt of data. In some appl ications, these properties of CFB cryptography can be tumed to the user's benefit. This is especially true in situations where the data stream contains highly redundant information, where an incorrect recovery of 64 bits is hardly noticed-particularly when compared with the overall communications benefit of having the cryptography automatically resynchronize itself. CHARACTERISTICS OF CFB CFB has two properties which must be considered when selecting it for data encryption: 1) error extension and 2) self synchronization. Both of these properties exist because the encryption process synchronizes on the received cipher to produce the pseudorandom bit stream. WD2001 CHARACTERISTICS IN CFB In the case of DES in one bit CFB, a one bit error in the received cipher message will affect the next 64 pseudorandom blocks-it will take 64 iterations to shift the one "bad" bit out of the 64 bit register above. If 8 bit CFB is used, then only 8 blocks will be affected, but that will still represent 64 bits used to decrypt incoming data. In the same way, receiving 64 consecutive good bits of cipher will have filled the data-in register on the receiver end with the same 64 bits of data as in the transmit unit and proper decryption can again take place, assuming both ends have the same cryptographic key. This is what is meant by self-synchronizing. WESTERN DIGITAL CORPORATION The WD2001 is rated as having 1.304 megabits per second throughput when driven by a 2 MHZ clock. This figure is based on processing 64 bits of data at each operation. Using the WD2001 in an 8 bit cipher feedback circuit will reduce that to 163 kilobits per second. A 1 bit cipher feedback circuit would further reduce effective throughput to 20.385 kilobits per second. This is true of any DES implementation. The algorithm is designed to process 64 bits of plain (cipher) text at a time to produce 64 bits of cipher (plain) text; cipher feedback is designed to operate on a basic character size and shift after that character has been encrypted. In the 1 bit case, the user "throws away" 63/64ths throughput capacity for each encryption. 3128 REDHlll AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 278 Security Product: AppUcations Note 279 c o R o p R T A o / N W[D20!ll~/2 AL9J~U(cAT~OU\1S ~OT[E &'OU\11E l8J~T C~L9JH[E~ flElE[D)l8JAC~( ~U\1 A SVU\1(c~~0U\10US SVSTIEM" By Michael D. Garvey >=" II: ;5 INTRODUCTION WD2001/2 TIMING REQUIREMENTS The WD2001/2 Data Encryption device interfaces easily to both microcomputer and hard-wired logic circuits. This Applications Note provides suggestions for the implementation of a synchronous circuit to perform system timing in a one bit cipher feedback application. The WD2001/2 may be operated from a 2 MHZ clock. This gj provides a fundamental time period of 500 nSec that easily ~ fits into the timing requirements for the device. For example, the minimum pulse width for a read (RD) or write (WR) pulse is 450 nSec. SYSTEM TIMING CONSIDERATIONS Generation of the RD or WR pulse can be directly obtained from a synchronous device that transitions at each edge of the synchronous clock (SYNCLK). Figure 1 illustrates the timing relationship between SYNCLK and RD or WR. The synchronous operation of a digital circuit often leads to both minimal hardware count and simple, easy to understand timing relationships. In addition, the concern over individual device characteristics become non-critical through the use of a worst case design approach. Common problems such Once the timing relationship is understood, the implementation becomes quite straightforward. The circuit of Figure 2 suggests a possible method of RD or WR generation. as race conditions and temp,erature sensitivity can be vir- tually eliminated by synchronizing all logical events to a well defined clock edge. T = 500 NSEC PERIOD 1_ I (2MHZ) SYNCLK T T1 T3 T2 T1 T2 STATES T2 _ _ _ _------' T3--,L__________~,----,L ______ Figure 1 SYNCLK, RD, AND WR TIMING RELATIONSHIPS. 281 ,5V RIPPLE OUT ENABLE T ENABLE P SYNCLK CLOCK 2.2K LOAD SYNCHRONOUS COUNTER QA 74163 QS QC QD CLEAR T STATE COUNTER STATE T1 13 T2 14 T3 15 as OA RDORWR Figure 2 RD AND WR TIMING GENERATION FUNDAMENTAL TIMING SEQUENCES Any cryptographic implementation using the Data Encryption Standard (DES) can be broken down into four fundamental timing sequences. First, the key is loaded into the WD2001/ 2 (Load Key). Second, the data to be encrypted or decrypted is loaded into the device (Load Data). Next, the DES is executed. Finally, the result of the DES is unloaded from the WD2001/2 (Unload Data). Figure 3 lists the timing requirements for each timing sequence. The Load Key, Load Data, and Unload Data sequences are highly similar. Figure 4 shows the logical flow associated with the Key Load or Data Load, or Data Unload. The Data Encryption Algorithm sequence can be derived from the timing associated with the other three sequences. For simplicity, the DES timing is accomplished by counting groups of three clock periods in a fashion similar to the method shown in Figure 4. The logical flow for the DES timing is shown in Figure 5. TOTAL SEQUENCE NUMBER OF CLOCK PERIODS Load Key 8 bytes x 3 clocks Load Data 8 bytes x 3 clocks 24 DES 17 x 3 clocks 51 Unload Data 8 bytes x 3 clocks 24 Figure 3 FUNDAMENTAL TIMING SEQUENCES 282 24 T1 T2 T3 ) -_ _ _ _ _ DONE DONE Figure 4 KEY LOAD, DATA LOAD, AND DATA UNLOAD FLOW Figure 5 DES LOGICAL FLOW and also highlights the three I/O operations. Note that the Key Load sequence is outside of the tight loop. SYSTEM TIMING OVERVIEW The normal operation of a cryptographic system would require three classes of inpuVoutput (I/O) operations with the WD2001/2. First, the key is loaded (Key Load) through eight consecutive write cycles. Second, the data to be encrypted or decrypted is loaded (Load Data) in a similar lashion. After the Data Encryption standard is completed, the data is unloaded (Unload Data) through eight consecutive read cycles. Typically, the Key Load sequence would occur much less frequently than the Load Data or Unload Data sequences. Using the four fundamental timing sequences as logical building blocks, a functional block diagram of system timing can be designed. Figure 7 illustrates the overall system timing functions. An implementation of the functions shown in Figure 7 is suggested in Figure 8. Note that all timing transitions are synchronous with the rising edge of SYNCLK. Figure 9 details the timing of the Load Key sequence, and is similar to the Load Data, Unload Data, and DES, sequences also. The flow diagram of Figure.6 shows the relationship between the four fundamental timing sequences defined previously, 283 110 I/O I/O NO DONE NO YES Figure 6 FUNDAMENTAL TIMING SEQUENCES INTERRELATIONS CONTROL LOGIC (8 x 3) T T1. T2, T3 STATE GENERATOR 1 3 I (17 x 3) (8 x 3) 11 11 I jI AD GENERATION ( jI WA GENERATION I 11 DES COUNTER I Figure 7 SYSTEM TIMING BLOCK DIAGRAM 284 1. KEYLOAD RQ AND DATA RQ DO NOT OCCUR SIMULTANEOUSLY. 2. ALL J·K PRESETS TO ... 5V 3. ALL J·K CLEARS TO "RESET". 4. RESET SHOULD LOAD ALL 74LS163 COUNTERS Figure 8 SYSTEM TIMING IMPLEMENTATION "'~'t,~="" ~~ fCLK)T1 11) p, mco"~ IQ) KEYON 12) I~ 18) ~r-------------Ji(---------------,~1~ 1<, ~ SYNCLK Figure 9 SINGLE KEYLOAD SEQUENCE 285 ONE BIT CIPHER FEEDBACK The one bit cipher feedback (OBCFB) architecture is widely used in Data Communications. The WD2001/2 device, when operated with a 2 MHZ clock, will run at an effective bit rate of over 19,200 bits/second, which is the practical upper limit of many communications links. FUNDAMENTAL LOGICAL COMPONENTS OF OBCFB A one bit cipher feedback system can be broken down into nine logical components, as listed in Figure 10. NAME DESCRIPTION KEY 56 bit number that maps INV to OV IV Initialization Vector INV Input Vector DES Data Encryption Standard OV Output Vector SDI Serial Data In SDO Serial Data Out SR Shift Register (used with INV) MOD2 Modulo 2 Adder encryption process to be accomplished with discrete blocks of data, and hence the WD2001/2 can be used in a multichannel communications environment. In OBCFB, the WD2001/2 is always set to encrypt mode. The selection of either the SDI as the feedback element to the shift register, or the SDO as the feedback element, determines whether the incoming data is encrypted or decrypted. Another factor involved with OBCFB is the propagation of errors through a 64 bit block of data. Because of the 64 bit shift register that feeds the INV, a Single bit error will cause the following 63 bits to be in error also. After the last bit of the 64 erred bits, the data will become resynchronized and the effect of the shift register will no longer cause bad data. msb DES (WD2001/2) Figure 10 NINE FUNDAMENTAL COMPONENTS OF OBCFB ______________-+__ Adder Figure 11 OBCFB ENCRYPTION BLOCK DIAGRAM msb DES (WD200112) To decrypt, the operation is changed in one way. Instead of feeding the result of the modulo 2 adder to the shift register, the unmodified serial data is used. All other operations are identical. Figure 12 shows a circuit which supports both encryption and decryption. Because the OBCFB algorithm uses a 64 bit shift register on the INV, each SDO bit is a function of ~s corresponding SDI bit and the 64 previous operations. This implies that the past history of the encryption operation is necessary to initialize a system. The IV is used to supply the history required to allow immediate use of the OV from the DEA. Typically, the IV is either a predefined value, or the last 64 SDO bits from the data stream being encrypted or decrypted. This allows the SDO Modulo 2 FUNCTIONAL DESCRIPTION OF OBCFB The OBCFB algorithm operates on a one bit wide data input, hence it is ideally suited to serial Data Communications applications. In encryption mode, the serial data in is added modulo 2 with the most significant bit (msb) of the 64 bit output vector. The result of this operation is then fed into the least significant bit (Isb) of a 64 bit shift register, and also is used as the serial data output. The shift register is then shifted from the Isb to the msb, and the result becomes the next input vector. After the Data Encryption Standard is completed, the process is repeated again for the next single bit of serial input data. Because each serial data bit requires an entire 64 bit INV and OV, the effective bit rate of this operation is 64 times less than that of a operation which uses all 64 bits of the OV, such as Code Book. Figure 11 shows a block diagram of a OBCFB circuit operating in encryption mode. ~ SDr SDO SDO if ENCRYPT SDr if DECRYPT Figure 12 OBCFB ENCRYPTION/DECRYPTION BLOCK DIAGRAM 286 ONE BIT CIPHER FEEDBACK IMPLEMENTATION Digital FR1502 FIFO and some common TTL logic. Since the WD2001/2 is a byte input'output oriented device, the implementation of a OBCFB circuit can be accomplished without the 64 bit shift register shown in Figures 11 and 12. Through the use of a 9 bit wide FIFO, a "virtual" 64 bit shift register can be built. Figure 13 illustrates this with a Western Once the modulo 2 adder, the encrypt'decrypt selector, and the shift register are defined, the overall circuit can be generated by combining these pieces along with the logic shown in Figure 8. The overall block diagram of the one bit cipher feedback system is given in Figure 14. ,m WRON· T2 ~h R-O-ON01 r ,"0 '"' '"' '"0 8 ~ ORO 0"' , 0"' B I SR ORO C D OR5 E IRe ORG e Gi IR' 0", G GO IRa ORa H IR, DEVICES WR 2' MUX OR' FR1S02 I"' OTHER o I OR 500 ON WR,,7 74LS2S9 FIFO r 51 SO WRON~'~ A WRON WRON. TI WR -""- OPERATION UNLOAD SHIFT REG (msb) 07 06 05 04 03 02 0' DO (Isb) OPERATION n LOAD FIFO FROM W " NDQP T3 NDOP " " LOAD SHIFT REG FROM FIFO T3 SHIFT RIGHT WD2001/2 VIRTUAL" 64 BIT SHIFT REGISTER Figure 13 "VIRTUAL" 64 BIT SHIFT REGISTER 287 ENCRYPT/DECRYPT WR #7 2: 1 MUX 2: 1 MUX SOl _ _ _.......~ SOD FR1502 FIFO 07, MSB T1 T2 T3 SYSTEM RO #1 (MSS) TIMING WR #7 (LSS) WD2001/2 Figure 14 OBCFB SYSTEM BLOCK DIAGRAM CONCLUSION RELATED DOCUMENTS The WD2001/2 device lends itself readily to the most common of all Data Communications encryption techniques. The one bit cipher feedback algorithm can be implemented easily through the use 01 synchronous timing generation and circuit design techniques. WD2001/2 Data Sheet, Western Digital Corporation FIPS 46 Federal Information Processing Standard National Bureau Of Standard Department of Commerce EXPORT CONTROL: Cryptographic devices and technical data regarding them are subject to Federal Government export controls as specified in Title 22. Code of Federal Regulations. Parts 121 through 128. Inforrnatton furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may result from its use. No license is granted by impltcation or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said circuitry at anytime without notice. WESTERN DIGITAL CORPORATION 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 288 ~®'Ih0J(Q)rr~ ~rr@~OJJ©'[k~ [Q)©J'[k©J ~[h)®®'[k~ 289 WESTERN DIGITAl.. p A R R T c o o I o N LSI PACKET NETWORK INTERFACE WD2501/11 SHORT FORM DATA SHEET if FEATURES • Packet Switching Controller Compatible with CCITI Recommendation X.2S, Level 2, LAP. • Programmable Primary Timer (T1) And Retransmission Counter (N2) • Programmable A-Field Which Provides A Wider Range Of Applications Than Defined By X.25. These Include: DTE-To-DTE Connection, Multipoint, And Loop-Back Testing • Direct Memory Access (DMA) Transfer: Two Channels; One For Transmit And One For Receive. Send I Receive Data Accessed By Indirect Addressing Method. No External Address Latches Required. Sixteen Output Address Lines. • Zero Bit Insert And Delete • Automatic Appending and Testing Of FCS Field • Computer Bus Interface Structure: 8 Bit BiDirectional Data Bus. CS, WE, RE-Four Input Address Lines • DC To ·1.6M BitslSEC Baud Rate • TTL Compatible • 48 Pin Dual In-Line Packages • Pin-for-pin compatible with WD2511 (LAPB.) Higher Baud Rates Available By Special Order :;; .c E a.. APPLICATIONS X.25 PACKET SWITCHING CONTROLLER PART OF DTE OF DCE PRIVATE PACKET NETWORKS GENERAL DESCRIPTION The WD2501 is a MOS I LSI device which handles bit-oriented, full-duplex serial data communications with DMA, which conforms to CCITT X.25 with programmable enhancements. The device is fabricated in N-Channel silicon gate MOS technology and is TTL compatible on all inputs and outputs. %@ ·A detailed long form data sheet for this product is available from your local Western Digital Representative. 291 co (/I WD 2501 BLOCK DIAGRAM • o '" INTERFACE SIGNAL DESCRIPTION 'PIN NUMBER SYMBOL FUNCTION NAME 48 VCC Power Supply + 5VDC power supply input 42 VDD Power Supply + 12VDC power supply input 18 VSS Ground Ground 6 ClK Clock Clock input used for internal timing. Must be square wave from 1.0 to 3.0 mHz. 7 MR Master Reset Initialize on active low. All registers reset to zero, except control bits MDISC and LINK are set to 1. DACK must be stable high before MR goes high. Chip Select Active low chip select for CPU control of 110 registers. Data Access Lines An 8 bit bi-directional three-state bus for CPU and DMA controlled transfers. 5 Read Enable" The contents of the selected register are placed on DAl when CS and R E are low. 3 Write Enable The data on the DAl are written into the selected register when CS and WE are low. RE and WE must not be low at the same time. 2 Reply An active low output to indicate that either a CS·WE or CSoWinput is present. 43 Interrupt Request An active low interrupt service request output, and returns high when Status Register #1 is read. 4 8-15 DALO-DAl7 47-44 IAO-IA3 Address Lines In Four address inputs to the 2501 for CPU controlled read/write operation with registers in the 2501. If ADRV = 0, these may be tied to AO - A3. 26-41 AO-AI5 Address Lines Out Sixteen address outputs from the operation. If the control bit ADRV is 1, TTL drives at all times. If ADRV is 0, 3-state, and are HI-Z whenever DACK is in Control Register #1.) 23 DMA Request Read 2501 for DMA the outputs are the au puts are is high. (ADRV An active low output Signal to initiate CPU bus request so the 2501 can output onto the bus. 292 ·PIN NUMBER SYMBOL PIN NAME FUNCTION 24 DMA Request Write An active low output signal to initiate CPU bus request so that data may be written into the 2501. DROW and DROR cannot be low at the same time. 25 DMA Acknowledge An active low input from the CPU in response to DROR or OROW. OACK must not be low if CS and RE are low or if CS and WE are low. 20 TD Transmit Data Transmitted serial data output 16 RD Receive Data Receive serial data input 19 Transmit Clock A 1X clock input. TO changes on the falling edge of TC. 17 Receive Clock This is a 1X clock input, and RO is sampled on the rising edge of RC. Adjustment of the sample is by quadrant. sampling may be monitored by the RCO output. The 21 Request-To-Send An open collector (drain) output which goes low when the 2501 is ready to transmit either flags or data. May be hard-wired to ground. 22 Clear-To-Send An active low input which signals the 2501 that transmission may begin. If high, the TO output is forced high. May be hard-wired to ground . • PIN NUMBERS ARE PRELIMINARY •• Throughout this document, the term "read" refers to data out of the 2501 and "write" refers to data going into the 2501. 293 MODEM CONTAOLS SYSTEM CONNECTION I+----I.FIELO(PACKETOATAI-----+I t,:::~:::' WDB2~' :1 ,,,emu ~AWU~"ON'OHW'" • OMA ACCESSED - - - - - - + I According 10 tile X.25 protocol, there a,.. Ih''''' 'vpes 01 I,ames: su""IYlsory (s·rrame), unnumbered (U·I .... m.J. and inlo,malion (I-Irame). All S· and U·'ramu ar. ger>eraled and lesled by 1he 2!!oOI. The user's CPU handles only tile '·lleld of H,.me!. which packel •. NOTE: X.:ZS level 1 IS '1'>1 phy.lcallnt,<1_. .r" FRAME FORMAT CONTROL The WD2501 is controlled and monitored by sixteen I/O registers. Control, status, and error bits will be referred to as CA, SA, or EA, respectively, along with two digits. For example, SA16 refers to status register #1 and bit 6, which is "XBA". REG.# 0 1 2 4 5 IAJ 0 0 0 0 0 0 IA2 0 0 0 0 t 1 IAl 0 0 t t 0 0 lAO 0 1 0 t 0 t 6 7 0 0 1 1 t t 0 t 8 9 t 1 0 0 0 0 0 t Tl N2ITt A B C D t 1 t t 0 0 t t 1 t 0 0 0 t 0 t TLOOK Ht TLOOK LO CHAIN/LIMIT (UNUSED) E F t t t t t t 0 t XMT COMMAND "E" XMT RESPONSE "F" 3 REGISTER CRO CRl 'SRO 'SRt 'SR2 'ERO 'CHAIN MONITOR 'RECEIVED C·FIELD 'CPU AEAD ONLY. (Write not possible) 294 REGISTER GROUPING OVERALL CONTROL AND MONITOR RECEIVER MONITOR TIMER DMA SET·UP "A" FIELD CONTROL,STATUS,ERROR REGISTERS REGISTER 7 6 5 4 3 2 CRO 0 a 0 ACTIVEI PASSIVE LOOP TEST a RECR MOISC CRl a a a ADRV RRTl a a SEND SRO NA2 NAl NAO RNRR NB2 NBl NBO RNRX SRl lPKR lXBA NE2 NEl NEO SR2 TlOUT IRTS REC IDLE ERa ER07 ER06 ER05 1 lERROR ER04 -Causes Interrupt (lNTR Goes Low). 295 ER03 ER02 1 0 RANC LINK EROl EROO BIT DESCRIPTION R~T~"Wlil.cauS&tt\e 200,1t\>trarsrnlta6 .~,.'. (FlEcA=lfof RNA{AECFI:.6> . ofT1 int~rvalll ptoVldedllle2S01. Is aCknowll!dgement. . nOlaendlng~ coMmand or. waiting for." TheS~"'O .bit(CA10)I~Ull8dto c~mmartdthe. 250t to llend .thenelltPacke{OfPacketa. "SEND., 1,tIl1!2501wmraad'fI)mTLOOI< theBRilY blto! the ~lIt.aegmenU~r trans~ fIlISsi?ll.ffBRDY =0, the2501.wlllclaar.SEt.jPa!1dnoactlon occurs: ·'fBFlDY:::1,the 250twllIthenraadTS"DR .a.nd TQNT;foUowedby.thl! ltansmlsslol\ of thatbuflar. After tralls.mISIlI?n,the25Q1Clear~.BRIlYOf thell!lg~nt Just tfanllfllitted, Bnd raadsBfjDY .9f the next .lIOQment. 1ft, the nllxt$egment l~traMmlttl!d.tll a.the SEND bit Is 9'eared •. and !ranamlllsionof packets 11,1 stoP~. N~2cN~a.NextblockOf transmilled data 10 be AcJ(oowledged. RNRFI.An.RNRhall bOen received. T~el'kR .bll·$tandsl.6r.f>aqlSEND PACKET #0 -- _TSADR #1 =========== ~ \ SEND PACKET #2 RSADR #0 ~RECEIVE PACKET #0 XFRI\OR t LIM -.L RECEIVE PACKET # 1 RECEIVE PACKET #2 MEMORY ACCESS SCHEME 298 SEND PACKET =1 the occurrence of the defined event. However, the 2501 will not increment past 255 (all 1 's). The CPU has the responsibility of clearing each counter. The first counter past RlOOK is 111, etc. "DEADLY EMBRACE" PREVENTION A "deadly embrace" can occur when two processors reach a state where each is waiting for the other. In this case, the two processors are the user's CPU and the micro-controller inside the 2501. Therefore, to prevent the "deadly embrace", the following rule is obeyed by the 2501 and should also be obeyed by the usar's CPU. This rule applies to TlOOK, RlOOK, and to the 1/0 registers. The Error Counters do not apply to this rule. RULE: ERROR COUNTER If a bit is set by the CPU, it will not be set by the 2501 , and vice versa. If a bit is cleared by the 2501 , it will not be cleared by the CPU, and vice versa. As an example, the BRDY bit in the TlOOK segment is set by the CPU, only, but cleared by the 2501, only. 1 Received Frames with FCS Error 2 Received Short Frames (less than 32 bits) 3 Number of times Tl ran-out (completed) 4 Number of I-Frame Retransmissions 5 REJ Frames Received 6 REJ Frames Transmitted 7 Invalid Commands Received 8 9 ERROR COUNTERS Following continguously after RlOOK is ten 8 bit error counters. The 2501 will increment each counter at COUNT 10 Invalid Responses Received Number of frames which I-field exceeded total Limit. Number of Null Packets Received 8YTE # IN SEGMENT 7 6 5 4 3 2 1 0 1 ACK'ED SPARE SPARE SPARE SPARE SPARE SPARE BRDY RESO BLO 2 TSADR HI 3 TSADR lO TCNT HI SPARE 4 TCNT LO 5 6' 7 8 SBl2 SBL1 SBlO Bll RES2 SPARE FOR USER DEFINITION SPARE TlOOK SEGMENT 299 RESl BYTE # IN SEGMENT 1 7 FRCML 6 SPARE 3 4 5 SPARE SPARE 2 RSADR HI 3 RSADR La SPARE SPARE 0 REC ROY RCNT La 5 7 SPARE 1 RCNT HI 4 6' 2 SBL2 SBL 1 SBLO BLl RES2 RESl RESO BLO SPARE FOR USER DEFINITION SPARE 8 • Byte #6 defines variable bit length and residual bits. RLOOK SEGMENT BRDY means that the transmit buffer is ready. The 2501 will send the block only after the CPU makes BRDY = 1. (BRDY is used in conjunction with the SEND bit.) At the completion of the transmission, the 2501 will make BROY = 0, and then read the BRDY of the next segment. After transmitting a packet, an acknowledgement must be received from the remote device. The acknowledgement is contained in the received N (R) count of an I-frame, RR frame, or RNR frame. Upon acknowledgement, the 2501 will make ACK'EO = 1, and generate a block-acknowledged interrupt. Before assigning a new block to a segment in TLOOK, the CPU must make sure that the previous block which used that segment number has been acknowledged. REC ROY informs the 2501 that the receive buffer is ready. The 2501 will not receive a packet into a buffer referenced by a particular segment until REC RDY = 1. If the 2501 progresses to a segment which has REC RDY = 0, an error interrupt will be generated. After receiving an error-free packet in proper sequence, the 2501 will set FRCML, clear REC RDY, and generate a Packet Received Interrupt. The 2501 will also write the value of the binary length of the received packet in RCNT HI and RCNT La. The NE count is advanced. The 2501 will acknowledge received packets at the first opportunity. This will be in either the next transmitted I-frame, or by an RR frame if RECR = 1, or by an RNR frame if RECR = O. (RECR is in CRO.) In the address bytes, H I represents the upper 8 bits and LO represents the lower 8 bits. In the count bytes, HI represents the upper 4 bytes. TSAOR is the starting address of the buffer to transmit, and TCNT is the binary count of the number of characters in the I-field. RSAOR is the starting address of the receive buffer. After successfully receiving the packets, the 2501 will write the value of RCNT which is the binary count of the number of characters in the I-field. Whether the 2501 accesses a look-up table or a memory block, a OMA Cycle is required for each access. TLOOK AND RLOOK POINTERS There are three 3-bit counters for the status of the segments in TLOOK and RLOOK. Status Register #0 (SRO) contains counters NA and NB which are used in conjunction with TLOOK. NB is the segment number of the next block to be transmitted, and is advanced at the end of each OMA transmission. NA is the value of the segment of the next block which will be acknowledged. If all transmitted blocks have been acknowledged, then NA = NB. In SRI is a 3-bit counter, NE, used with RLOOK. NE is the value of the segment number where the next received packet will be placed. 300 PRELIMINARY TIMING SPECIFICATIONS MIN. (NS) PARAMETER SYMBOL FiE TAR Input Address Valid to TRD Read Strobe (or DAC K Read) to Data Valid THO Data Hold Time from Read Strobe THA Address Hold Time from Read Strobe MAX. (NS) 0 C IOALI C IOAl) 200 375 ~ ~ 50 pf 100 pf 80 80 TAW Input Address Valid to Trailing Edge of WE 200 TWW Minimum WE Pulse 200 TOW Data Valid to Tr~Edge of WE or Trailing Edge of DACK for DMA Write 100 TAHW Address Hold Time alter WE TDHW Data Hold Time after WE or after TDA1 Time from DROR (or DROW) to Output Address Valid if ADRV ~ 1 TDAO Time from DACK to Output Address Valid if ADRV ~ 1 TOO Time from Leading Edge of DACK to TDAH 80 DACK for DMA Write 80 80 C (ADDRESS) ~ 100 pf 360 C (ADDRESS) = 100 pf Trailing Edge of DROR (or DROW) 200 C IORO) Output Address Hold Time from DACK 120 TDMW Data Hold Time from DACK for DMA Read T RP1 REPLY Response leading Edge REPLY Response Trailing Edge 200 260 CPU READ TIMING (CS IS lOW) r'cC+I~ ~ 50 pf 80 160 240 T RP2 COMMENT = 50 pf = 100 pf ClOAD = 50 pf ClOAD = 100pf ClOAD ClOAD CPU WRITE TIMING (CS IS LOW) _ _ __ '------r':../ --..::>....v ------~I--jl~'c." DAC~ I -I 'C"W I~ -----~~r--- 1~"o~1 DMA READ TIMING DMA WRITE (AO-A15 SAME AS DMA READ) 301 OUT I L o~ I 2400 REF 0'15 MAX m-mmffiRtihfffihMJ o ---11-0100TYP 15JOlO I r~ ~_OO tIS" 0" WD2501 CERAMIC PACKAGE This is a preliminary specification characterization is completed with tentative device parameters and may be subJect to change after final product Information furnished by Western Dig Ital Corporation IS believed to be accurate and reliable. However. no responsibility IS assumed by Western DigItal Corporation for its use: nor any Infringements of patents or other rights of thud parties which may (esu!! from its use. No license is granted by implication or otherwise under any palent or patent rights 01 Western Digital Corporation Western Dlgllal Corporation reserves the fight to change said Circuitry at any tIme Without notice WESTERN DIGITAL COHPORA ON 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550, TWX 910-595-1139 302 WESTERN DIGITAL c o R P o R A T / o N WDK25001-XC PAC KIT FEATURES APPLICATIONS • WD2501 X.25 PACKET NETWORK INTERFACE CHIP • X.25 DEVELOPMENT ;,:II: • RS-423 INTERFACE • PACKET NETWORK EDUCATIONAL COURSES • CRYSTAL AND BAUD RATE GENERATOR INCLUDED • SYSTEM PROTOTYPING « ::;) II: m UJ u.. DMA MEMORY INTERFACE GENERAL DESCRIPTION INCLUDES ASSEMBLY AND OPERATIONS MANUAL The Western Digital Corporation WDK25001 XC PAC-KIT is a X.25 development kit featuring the WD2501 Packet Network Interface chip. The PAC KIT provides for easy interface to a local microcomputer or a Host System bus. along with a RS-423 serial Communications interface. RAM/ROM/EPROM SOCKETS PROVIDED LARGE WIRE-WRAP PROTOTYPING BR1941 BAUD RATE GEN AREA ~ ON BOARD FOR WD2501 X.25 f¥.CKET NETWORK INTERFACE ~ RS-423 INTERFACE ~ RIBBON CONN ''( ~t ,~ RAM/ROM/EPROM SOCKETS PROTOTYPING AREA WDK25001-XC BLOCK DIAGRAM WESTERN DIGITAL CORPOR"'TJON 3128 REDHILL AVENUE. BOX 2180 NEWPORT BEACH. CA 92663 (714) 557-3550.TWX 910-595-1139 303 [NJ ®~©[{'~ [p) [{'©~ (U] ©'lt~ U®©[h[[i}D©©J~ IN]©'lt® 305 , ·-Eleclroni WD2511 LSI circuit simplifies packet-network connection by Geary L. Leger. WestemDigftaICorp., Newport Beach. Calif. 307 lSI ready to make at mark on packetm>$w~t({;hong networks New chip's link-control capabilities ease connection to terminals: Part I by Geary L. Leger, Western Digital Corp., Newport Beach, Calif. o Packet-switching networks are prime targets for the application of large-scale-integrated circuit technology. In fact, sometime during the first quarter of next year, this useful and expanding approach to data communica- This is the first of two articles. It deals with the overall characteristics of packet-switching networks. Part 2, which starts on page 95, describes an LSI chip being developed for Level 2 control per the X. 25 protocol for packet networks. tions will have its first dedicated LSI circuit, one designed to take advantage of LSI's potential for lower cost and greater reliability. The circuit is the Micro Packet Interface chip, or I'PAC, being developed by Western Digital. It will handle Level 2 control of the link between a data terminal and a network node as set forth in the X.25 protocol established by the Consultative Committee for International Telephony and Telegraphy (CCITT). Because these LEVEL 7 PROCESS CONTROL ..oof------------~ PROCESS CONTAOl LEVEL 6 PRESENTATION CONTROL ..... -----------+ PRESENTATION CONTROL LEVEL 5 SESSION CONTROL +--------------... SESSION CONTROL LEVEL 4 TRANSPORT END-TO-END CONTRDL ~-----------~ TRANSPORT END-TO-ENO CONTROL PEER-TO'PEER INTERFACES LEVEL 3 NEnVORK CONTROL +-------------. ----------- LEVEL-TO· LEVEL INTERFACE NETWORK CONTROL ... LEVEL 2 ....... LEVEL 1 -011------------.-.... 1. Layered architecturo. Independence among system levels allows changes to be made to one level without disrupting the operation of other levels; and adjacent level is affected only if the changes affect the interface to that level. Standards apply to peer-to·peer interfaces. 308 ..' /.. ··.······.'···.··.1' .., •....•:.•........ Recent efforts in The security, survivability, and economic advantages of packet-switching data-communications networks have not gone unnoticed in either the military or the corporate sectors. Though still in its infancy, this type of communication is growing rapidly. According to Deiense Advanced Research Project Agency director Eugene H. Kopf, the latest military packet effort aims to find the optimum architecture for a command and control network of 5,000 to 10,000 small packet radio relay terminals whose purpose would be to insure survivable control over strategic weapons. The network voice and data-packet radios would provide line- of-sight communications throughout the continental U. S. after an attack. The civilian sector has continued the development of packet networks from their modest beginnings. In 1972, Bolt Beranek & Newman Inc. founded Telenet, a public packet-switching network taken over this year by General Telephone & Electronics Corp. GTE Telenet Communications Corp., Vienna, Va., completed installation this month oi a packet-switching exchange in San Juan, Puerto Rico, ior ITT World Communications Inc. The new service allows businesses and industrial organizations to link to the ITT gateway and transmit and receive data over shared transmission lines to data terminals or computers on the U. S. mainland. Tymnet Inc., Cupertino, Calii., is the largest public packet-switching network in the U. S. It has so many customers that it issues a 34-page directory describing 200 data bases accessible through its network. Tymnet now serves 250 computers in the U. S.; it recently added New Zealand networks are relatively new, familiarity with the Level 2 link control and other details of their operations is not widespread. Yet the purpose of the I'PAC is intelligible only in the context of such an understanding. To date, most data-communications systems use circuit-switching techniques. A physical circuit is assigned either permanently (a private, leased line) or for the duration of the call (a dial-up line). But of a given line's total available time, only a small percentage is actually taken up by data transmission. A system for dynamic allocation of the physical circuits, in contrast to static circuit-switching allocation, requires the logic and memory capabilities of computers. Prior to the late I 960s, static circuit allocation was more economical than using computers in a dynamic allocation system. The low cost of today's minicomputers and micfOprocessors and the dramatic drop in the cost of memory, however, make dynamic allocation more economically feasible in many cases. It is most suitable in multipurpose applications-digital communications systems linking various types of data terminals such as facsimile machines, computerized data bases, interactive keyboard printers, or cathode-ray-tube terminals. Historically, communications systems have been developed to satisfy one application at a time. The wide variety of computers, terminals, and technologies has led to the development of many incompatible networks. A time-sharing network may connect many asynchronous interactive keyboard printers on dial-in lines at 110 or 309 pac~{et switching to its list of countries served, bringing the total to 26. The Japanese have not been idle in adapting packet technology to their needs. Nippon Telegraph and Telephone Public Corp. started work on its digital dataexchange system in 1971 and had installed packetnetwork equipment in seven cities by late 1978. This commercial packet-switching network (called 050) is expected to go into full service this year. 050 conforms fu\\y to Recommendation X.25 of the Consultative Committee for International Telephony and Telegraphy. The packet network industry has come a long way since the first operational system (Arpanet) was installed by the Defense Advanced Research Projects Agency in 1969. In 1976, the CCITT adopted X.25 as a standard three-level protocol for interfacing terminals to public packet networks-a major step for the industry. Even though it has been criticized as being too complicated, X.25 has stimulated interest in packet networks. However, packet switching is not the answer to a\\ data and voice communications problems, as some have claimed. Gino J. Coviello of the Defense Communications Agency in Arlington, Va., concluded in a recent study that the number of channels traversing a particular transmis- sion link and the network topology and architecture have a significant impact on the cost-effectiveness of a packet- switching network. Ray W. Sanders, president of Computer Transmission Corp., says, "Packet switching will take its rightful place alongside circuit switching." A hybrid approach combining features of both circuit and packet switching "provides the best of all possible worlds," according to Sanders. -Harvey J. Hindin 300 bits per second. A clustered CRT application such as 18M's 3270 may operate synchronously at 1,200, 2,400, or 4,800 b/s. The incompatibility of different types of equipment and the protocols they use for communicating greatly reduces the reliability and efficiency of data communications as a whole. A single corporation may, for example, use several incompatible networks. Security and survivability The technique of sending a digital data in short packets, rather than in a continuous stream, was first suggested by Paul Baran of the Rand Corp. more than a decade ago. The packets are transmitted between intermediate points in the network, calIed nodes, or DeES, for data-circuit-terminating equipment (see table). This dynamic-allocation technique has two major inherent advantages over circuit-switching methods. It increases data security, since the message is broken up: all the packets would have to be picked up and combined by an intruder before he could use the data. And system survivability and reliability. are enhanced by the large number of linked nodes. Alternate routes will get a message through if some of the nodes or links are malfunctioning or destroyed. The security and survivability are of great interest to the military. The commercial sector is also developing this type of system (see "Recent efforts in packet switching," above). The problem of equipment and communication-proto- .. .";.• '\ ~: ............. .. ::.'.....• ,.'. . .'.,''.:.: o "', col incompatibility is an international one, since data communications is international. This question is addressed at the global level by the CCITT (see "Setting the standard," p. 93). The difficulty of expanding, modifying, or upgrading existing data-communications networks is another problem that is tackled by the new packet-switching systems. Any communications system represents a large capital investment, and down time can be disastrously expensive. A user cannot simply tear down an old network and substitute a new one with the latest advances. New terminals and technologies must be phased into the existing structure without interrupting operation. This calls for a degree of system flexibility. Layered architecture Packet-switching networks achieve this flexibility through layered (or multilevel) architecture [Electronics May 24, 1979, p. III J. Several standards organizations have been working on the specifics of this concept. The importance of layered structure is easy to understand. Suppose Mr. Jones, an executive, wishes to talk to Ms. Smith, another executive. Jones (level 4) tells his secretary (level 3) to get Smith on the line. Jones' secretary dials the number (level 2). An electromechanical switching mechanism connects the two phones (level I). Smith's phone rings (level 2). The two secretaries converse (level 3) and pass on the information that the call is ready to their bosses. Smith and Jones now communicate (level 4). Jones was never concerned with the electromechanical switching mechanism, nor with Smith's telephone number; he was primarily concerned with talking to Smith (peer to peer) and secondarily with talking to his secretary to get the call set up. Multilevel communications systems are structured in a similar fashion. The protocol standards are prepared for connection in the peer-to-peer layer. Standards do not define the interface between adjacent layers. This is intentional: terminal manufacturers are thus left free to design the adjacent-layer interface in their own way. This enhances system flexibility. If a layer is changed or upgraded, nonadjacent layers are not affected. X.25 defines and standardizes three levels. There are as many as four more definable levels (Fig_ I), but much work remains to be done to standardize these higher levels. Level I may be viewed as a data-exchange mechanism serving Level 2. Level 2 is a data-exchange mechanism serving Level 3, and so on. Three standardized levels Level 1 concerns itself with the link's physical interfaces. Level 2 deals with link control. It includes setting up and disconnecting a link, the control of flow between data generators and data receivers, and bit-oriented frame structure. The I'PAC from Western Digital is designed to perform the Level 2 functions. Level 3, network control, includes the procedures for establishing and disconnecting the virtual circuit and for controlling the flow of data packets in the network. In a packet network, the sender or receiver has a terminal (commonly called DTE, for data-terminal equip- ~ACKET SWITCHING NETWORK TERMINOLOGY ADCCP Advanced Data·Communications Control Procedure IANSI X3.661 ANSI American National Standards Institute ATOM asynchronous time·division mUltiplexing BOP bit·oriented protocol CCITT Consultative Committee for International Telephony and Telegraphy OCE data·circuit·terminating equipment (network node) OTE data· terminal equipment (user's terminal) FCS frame check sequence HOLC High·level Data·Link Control protocol (ISO 3309) [SO International Standards Organization ITU J frame LAP International Telecommunications Union information frame, known as a packet under X.25 Link·Access Procedure (X.25) LAPS Link-Access Procedure, Balanced (X.25) Link control X.25 Level 2 control for linking OTE and DeE, including link initialization, establishment, and disconnection, and control of data flow on the link Network control X.25 Level 3 control of virtual circuits in network, including circuit establishment, disconnection, and reset, and the control of packet flow Nl maximum number of bits in a packet N2 maximum number of command retransmissions PAD Packet Assembly/Disassembly facility (defined in CCITT recommendations X.3, X.28, and X.29) Physical interface X.25 Levell specifications for the physical connection of OTE and DCE, including electrical parameters and transmission rate S frame supervisory frame SOLC Synchronous Data·Link Control protocol Tl time minimum before retransmission of unncknowledged command U frame unnumbered frame X.25 CCITT recommendation for packet·switching network protocols (others include X.3, X.28, and X.29) ment) with a distinct address. Part of the gear at a network node might also be called data-terminal equipment. The packets of data are transferred from node to node and finally to the receiver's terminal. When a node receives a packet, it stores the packet, decides where and when to forward it on the basis of the packet's destination and priority and the load conditions of the network, and then does so. This store-and-forward facility is the key to the network's ability to allocate circuits dynamically. Packets going from terminal A to terminal B" in Fig. 2 could follow the node path 7-12- 11-10, 7-5-3-1-10, or any of a number of others. Dynamic routing within the network is transparent to the users at their terminals. The path data takes is called a virtual circuit between A and B: the terminals communica~e as if a dedicated circuit joined them. In order to 310 2. Many pooaible polho. The user of a packet·switching network at his terminal sees no difference between the virtual circuit and an ordinary physical link. Network control may send the data packets through a changing series of nodes as system traffic conditions change. establish a virtual circuit, terminal A transmits a callrequest packet that includes the caller's address and the address of terminal B, the destination. Terminal B accepts the request by returning a call-accepted packet to A, and the virtual circuit is set up. Circuit sharing Several simultaneously active virtual circuits can be set up by interleaving packets. This asynchronous timedivision multiplexing (ATOM) exploits the fact that a typical virtual circuit carries data for only a small percentage of the time it is set up. It differs from other time-division multiplexing schemes in that a dedicated NODE TERMINAL COMMAND SECONDARY PRIMARY FUNCTION FUNCTION RESPONSE COMMAND PRIMARY FUNCTION SECONOARY FUNCTION RESPONSE 3. Addressablo functions. A terminal or node has a primary func· tion that sends commands and receives responses. Its secondary function, which has a different address, responds to received commands. Arrows represent system logic, not phYSical wires. 311 time slot is not provided for each virtual circuit being multiplexed. In the multilevel packet-switching architecture, Level 2 (also known as the link level or the frame level) involves the point of contact between the subscriber's terminal and the network node it is linked to directly. Each station, be it terminal or node, has two logical functions needed for addressing and signal implementation, called primary and secondary (Fig. 3). The primary function transmits commands and receives responses; the secondary function does the reverse-it receives commands and transmits responses. The structure of the data frames used for this communication is common to all bit-oriented protocols (BOPS)High-level Data-Link Control (HOLC), the essentially similar Advanced Data-Communication Control Procedures (AOCCP), and the Synchronous Data-Link Control (SOLC) protocol worked out by IBM [Electronics, Jan. 18, 1979, p. 137]. The Level 2 protocol defined by X.2S is an outgrowth of HOLC. The frame is simply a block of serial data exchanged between two terminals or a terminal and a node. It consists of a flag, an address field (or A field), a control field (or C field), an information field (or I field), a frame-check sequence (FCS), and another flag. Depending on the frame type, the information field mayor may not be included. There is a flag at either end of a frame; a single flag may close one frame and open the next. Data transparency is provided within the frame by the transmitting station: a logic 0 is inserted after all sequences of 5 contiguous logic I bits, so that no transmitted data is inadvertently read as a flag, which has the binary form Setting the standard International interface standards are vital to the development and growth of packet-switching networks. Standards lead to lower costs for equipment bought by network users, since this equipment can be' manufactured in much larger quantities. The user also benefits from the interchangeability of gear from different vendors. Manufacturers reap the rewards of a global market rather than a local one, and network organization is made vastly easier. A number of U. S. and international standards organizations are working together to set up interface rules. The International Telecommunications Union (ITU), formed in 1865, operates under the auspices of the United Nations. Under the ITU is the Consultative Committee for International Telegraphy and Telegraphy (CCITT), which is primarily an organization of carriers. Study Group VII is a CCITT organization that handles public data networks. SG VII is responsible for publishing a number of standards or recommendations for packetswitching networks. The best known of these is Recommendation X.25. The International Standards Organization (ISO), which is composed of representatives from the manufacturing and user community, works closely with the CCITT; the ISO also has a group under its wing with responsibility for public data networks. In the U. S., the American National Standards Institute (ANSI) is a clearinghouse that coordinates activity for voluntary standards. Its X3S37 committee, which has the responsibility for public data networks, does liaison work as well as coordination. This committee represents a cross section of U. S. industry: manufacturers, users, and carriers. It offers inputs to both the ISO and the CCITT. INFORMATION FRAME (PACKET) I' I' FLAG ADDRESS PACKET CONTROL CONTROL LEVEL 2 '" I_ FLAG I APPLICATION SOFTWARE LEVEL 2 - - 1 '" 'I UNNUMBERED FRAME (LEVEL 2) ADDRESS I FLAG (FCSI ,I· ----~-- LEVEL 3 FRAME CHECK SEQUENCE USER DATA INFORMATION "'1.---- " -, INFORMATION FIELD (PACKET DATA) CONTROL l,mLD I FCS I FLAG I 1"'·-----suPEHV,SORy FRAME (LEVEL 2l-----..j-1 FLAG ADDRESS CONTROL FCS FLAG 4. Standard fromoD. Three types of data frames may be sent over a packet network. All data except the user data in the information field of an information frame is system overhead required for synchronization, data checking, verification, and bookkeeping functions. 01111110. The receiving station automatically deletes the inserted Os from the data. The frame-check sequence is the last 16 bits before the closing flag. They are produced by a calculation that checks all data between the opening flag and the first bit of the FCS. The logic Os inserted for data transparency are not checked. A frame may be one of three types (Fig. 4); a supervisory frame (or S frame), an unnumbered frame (or U frame), or an information frame (or I frame). Level 2 control does not involve itself with the data within the information field of an information frame. It simply encloses the packet data in an HDLC frame and sends it out onto the network. Supervisory frames are used to perform supervisory control of a link, such as acknowledging packets, requesting retransmission of packets, and requesting temporary suspension of transmission. Unnumbered frames are used to set up, disconnect, and reset links. The Level 2 protocol may take one of two forms: Link-Access Procedure (LAP) and Link-Access Procedure, Balanced (LAPB). When it was originally written in 1976, Recommendation X.25 contained LAP only. LAPB has been added since that time, offering some improve- 312 CENTRAL PROCESSING UNIT , \ \ X.3 I X.29 I I I TERMINAL CONCENTRATOR (PACKET ASSEMBLY/ DISASSEMBLY FACILITY) X.25 PUBLIC PACKET NETWORK I X.75 1.1-" CPU PUBLIC PACKET NETWORK 5. MultitorminDI connoction. A Packet Assembly I Dissassembly (PAD) facility allows various types of interactive terminals to communicate with each other using the interface standards indicated. PAD equipment may belong to either the user or the network. ments. Some changes in frame types were made, but the primary differences between LAP and LAPB are in the functions that set up, disconnect, and reset links. (Two models of the I'PAC, the WD 2501 and the WD 2511, are geared to the LAP and the LAPB, respectively.) There are four system parameters defined by the X.25 Level 2 protocol: n, N2, Nt, and k. Tt is the time limit set for the primary timer; when Tl runs out, an unacknowledged command may be retransmitted. N2 is the limit set for a counter that is incremented each time a command is retransmitted because time Tl ran out without its being acknowledged. N 1 is the maximum number of bits in a packet; it depends on the maximum length of the information field. And k is the maximum number of sequential packets that a terminal or node may have outstanding (transmitted but unacknowledged) at any given time. In the I'PAC, TI, N2, and N 1 are programmable. The number k can never exceed seven under X.25, and it is fixed at seven in the I'PAC. Multiplelting terminals Since each user of the packet network typically has many different types of data generators and receivers, multiplexers must connect the network to the existing equipment. This multiplexer has been defined by the CCITT as the Packet Assembly/Disassembly (PAD) circuit (Fig. 5). The PAD is. specifically for use with asynchronous terminals; it combines or separates the multiple signals that are sent to or received from the network. CCITT protocol standards X.3, X.28, and X.29 are used together to define a PAD interface. A PAD facility may be viewed as a terminal concentrator that connects several asynchronous terminals to a single X.25 link. The PAD circuit is sometimes called an interactive-terminal interface because in practice most terminals connected to PAD interfaces require human interaction via keyboards and CRT displays or printing equipment. 313 X.25 CPU When a PAD interface is used between the packet network and the terminals, two stations that are incompatible by themselves can communicate. They need only be able to talk to the PAD. The I'PAC chips will allow them to do this. Another advantage of this approach is that new types of equipment added at a terminal are transparent to the network. On the other hand, changes and improvements within the packet network are transparent to the user. These improvements could include increasing node-to-node communication speed, increasing the number of nodes, and changing node-to-node connections to fiber optics. Variations on the theme Many packet systems are available; they vary according to the network organization. Several networks, such as Montreal-based Bell Canada's Datapac, offer (in addition to the standard virtual circuit) a permanent virtual circuit that requires no call for link establishment and is continually available. Another possible service, Datagram, when made available, will not require the initial establishment of a virtual circuit. In this approach a packet is merely put out on the line-typically by users of so-called transactionbased networks. There is no call procedure, and duration of connection is not of concern for billing purposes. Users may, for example, pay a flat fee. Short, independent data bursts will ultimately work their way through the network to their destinations. A closed user group; available from Datapac and others, is like a private network. Users in a group, actually connected to a public network, can communicate with one another, but access is barred to and from all other users of the network. AT&T'S proposed Advanced Communications Service includes this feature; the company calls it a virtual subnetwork. 0 WD2511 LSI circuit simplifies packet-network connection 48-pin chip replaces entire board and thousands of lines of software by Geary L. Leger, Western DigitafCorp., Newport Beach, Calif o Packet-switching data-communications technology can now claim its first dedicated large-scale integrated circuit. Called the Micro Packet Network Interface chip, or I'PAC for short, it is a complete X.25 Level 2 controller with on-chip bidirectional direct-memory-access facilities. This n-channel silicon-gate MOS chip in a 48-pin package replaces a board full of electronics. The I'PAC goes way beyond the functions performed by the bit-oriented-protocol (BOP) control chips currently in widespread use. It includes the circuitry of a BOP chip. But it handles many other operations, eliminating the need for separate OMA circuits and associated address latches, timing chips, and the system software (more than 1,000 lines of code) required until now to perform Level 2 control of the link between a data terminal and a node of a packet-switching network. It has an II-K read-only memory and the equivalent of three microprocessors: one to handle data-transmission operations, another for dealing with received data, and a third central processor to coordinate all chip functions. Sample quantities of the controller will be available from SYNCHRONOUS DATA-LINK pPAC X 25 ENHANCEMENTS \ I I -PRo'rb5cOl - - . : I I I I I LINK SET·UP AND DISCONNECTION, DATA FLOW CONTROL FRAME { STRUCTURE D pPAC AREA OF APPLICATION I I I I I Western Digital Corp. in the first quarter of 1980. The data-link controllers already on the market (Western Digital 1933, Signetics 2652, Intel 8273, Zilog SIO, and others) handle BOP frame structure in a broad range of applications. For example, the WD 1933 can be used with the High-level Data Link Control (HOLC) and Synchronous Data-Link Control (SOLC) protocols, including the SOLC loop mode. This chip and others like it handle zero-bit insertion and deletion, the frame-check sequence (FCS), and the flags that define the beginning and end of a data frame. The I'PAC trades some of this protocol flexibility for the sake of greatly enhanced usefulness within its area of application (Fig. I). It is restricted to the Level 2 packetswitching protocol defined in Recommendation X.25 from the Consultative Committee for International Telephony and Telegraphy (CCITT), a protocol developed from HOLC. But other BOP chips do not set up, disconnect, or reset the link; they do not automatically retransmit up to seven information frames (I frames); nor do they have a timer for retransmission control. These are CONTROl(SOlC) PROTOCOL ' \ ~ \ I I I I I I I I I I I I I I I 1 I I HIGH-LEVEL DATA·lINK CONTROl(HOlC) PROTOCOL I I I I I 1 I I I I I D I I I SOle I LINK I MODE I I I LINK CONTROL .1 I I I I I APPLICATION AREA OF BIT-ORIENTED·PROTOCOL CHIPS 1. Targetod. The Micro Packet Interface (J.lPAC) chip is the first large-scale integrated circuit designed speGifically for packet-switching applications. The application range of other chips that handle bit-oriented frame structure is wider, but the #PAC does much more in its area. 314 ; ,1" , TABLE" COMPARISON OF FEATURES OF HOle I AOCCP protocol feature Basic bit-oriented frame structure BIT'ORIENiEO:R.R:OT9C;o\6;Q.Hip~ ~':1 '~A"'~ " X.Z5 LevelZ Bit-oriented-protocol chips , MPAC yes yes yes yes Retransmission of up to 7 I frames (modulo 8) yes no Asynchronous response mode yes, LAP no yes. 2501 Asynchronous balanced node yes, LAPB no yes. 2511 Control of 5, U frames yes no yes Link set-up, disconnect, and reset procedures yes no yes yes. T1/N2 Time-out recovery yes, T1 IN2 no Multipoint operation no no yes Normal response mode (N RM) no no no Level 2 modulo 128 FS no no FS" item for further study by the CelTT all features of the !LPAC chip (see Table I). Two versions of the !LPAC will be made available. One, the WD 2501, uses the Link-Access Procedure (LAP) defined in the first version of X.25. The WD 2511 is for networks using the Link-Access Procedure, Balanced (LAPB) added to X.25 subsequently. The two chips ditTer only in the program stored in ROM. They are pincompatible and interchangeable without hardware or software modifications. Both may be used either in a terminal (OTE, data-terminal equipment) or in a network node (OCE, data-circuit-terminating equipment). Direct memory access Because of the HDLC feature that allows up to seven packets (I frames) to be outstanding (transmitted but unacknowledged) at any time, the !LPAC has information-field data (the I field of an information frame) buffered for up to eight packets both when transmitting and when receiving. In other words, the !LPAC may have to retransmit up to seven packets. It must therefore be able to retrace its steps through as many as seven of its eight buffers. DMA circuitry, included in the !LPAC, is the bes~ way to achieve this. A number of other control chips (floppydisk controllers and data-link controllers) are OMAcompatible, but they do not actually include DMA. General-purpose microprocessors that have their own DMA, such as the Intel 8089, arc not in the same category as the !LPAC. DMA control on the !LPAC is simple, requiring only three pins (DRQW, DROR, and DACK) for handshaking with the central processing unit's bus (Fig 2.). There are 16 address-output pins (AD through A15) that are separate from the eight data pins (DALO through DAL7). This means that the DMA transfers are fast-they occur in a single cycle. Unlike the !LPAC, OMA chips such as Western Digital's 1883 or Intel's 8257 require external address latches. This means that some or all of the address must come through the data bus and two or three cycles are required for data transfer. In general, DMA control is either of the block-transfer type or the transparent type. In block-transfer DMA control, the DMA controller transfers several bytes of 315 data while the CPU is disabled from using the bus. If transparent, the DMA control is imbedded in the CPU's clock cycle in such a way that the transfers are invisible, or transparent, to the CPU. Since the !LPAC must be able to transmit and receive data on two DMA channels at once (for full-duplex operation), the only logical choice for the !LPAC is transparent DMA, since block-transfer DMA would restrict operation to half-duplex. All Level 2 data is appended and checked automatically by the !LPAC. The I-field data is accessed via OMA channel. All supervisory frames (S frames) and unnumbered frames (U frames) are automatically transmitted and checked by the !LPAC. The user's CPU operates only on the I field of I frames. Keeping track of packets The DMA uses two lookup tables-one for transmitted frames (TLOOK) and another for received frames (RLOOK). These contain addresses and control bytes for the individual packets. Thus packet data is addressed indirectly. This method is best suited for most software applications. The 16-bit starting address for TLOOK is loaded into the I'PAC by the CPU. RLOOK must follow immediately, and both TLOOK and RLOOK are stored in random-access memory external to the !LPAC. There are a total of eight segmented control sections for each table. Each section contains 8 bytes, 4 of which are used for memory starting address and length. The rest are for control. In the transmit mode, the !LPAC reads (from TLOOK) the starting address and length of the first packet to be transmitted. The chip then automatically transmits the flag, address, and control fields. Next, the informationfield data is transmitted using DMA and the memory location called "send #0 packet." At the end of the information field, the !LPAC automatically sends the FCS and closing flag. It then moves on to the next packet. If retransmission of one or more (up to seven) packets becomes necessary, the chip automatically retraces the previous transmissions through the TLOOK table. The user's CPU software does not become involved in the retransmission. An error counter is incremented. a'BIT DATA ADDRESS LINE ! es WE --. RE ----+ IAO-IA3 ~ INTR +12 V '5 V GND eLK MR READI WRITE CONTROL Ir ------j> " ' " p----- 116 X a) COUNTERS ------ RD I t - r- CENTRAL MICROCONTRDLLER REG ISH RS INTERNAL REGISTERS III X a) t READ·DNLY MEMORY INPUT/OUTPUT I~ ., DIRECT MEMORY ACCESS -+- 0 _DR ~D DATA/CONTROL BUS RECEIVER MICRO CONTROLLER ~A O-A1S TRANSMITIER MICROCONTROllER ! ! J TRANSMITTER RECEIVER I --- TD ..- I I LOOP TEST 2. Inaido tho ~PAC. The Level 2 controller has its own timer and direct-memory-access circuitry and is the logical equivalent of three microprocessors. Routines stored on the chip allow it to relieve the network user's central processor of a large software overhead burden. Each received frame is checked for correct address and FCS fields and for type of control field. If the frame is an I frame, the I field is placed in the assigned memory location using a method similar to that used in transmission. After the packet is received error-free and in proper sequence, an interrupt is generated and the !,PAC is ready for the next packet, which will be placed in the next location. Ten 8-bit error counters follow RLOOK in the external RAM. These counters do not cause an error interrupt, but maintain a running count of error activity. The contents of the counters include: the number of frames received with FCS error; the number of times TI (the time minimum set for a timer that allows retransmission of an unacknowledged packet) ran out; and the number of packet retransmissions. Control bits are included in TLOOK, RLOOK, and the !,PAC to ensure orderly transfer of data blocks. For example, the control bits are designed to prevent what is known as "deadly embrace," a situation in which the !,PAC and the user's computer are waiting for one another to start. Self-testing Self-testing features are critical to proper operation. The !,PAC does a comparison test, an internal RAM register test, and a loop-back test. All three are suitable for use during manufacturing and inspection. The internal RAM and loop-back tests are also useful for system diagnostics and troubleshooting. The comparison test requires a device known to be good or a stored list of known good responses. The program location counter (PLC) for the main ROM is halted so it may be incremented under external contro!' ABM asynchronous balanced mode ARM asynchronous response mode CMDR command reject (U frame, LAP only) DISC disconnect (U framel OM disconnect mode (U frame, LAPB only) FRMR frame reject (U frame, LAPS only) REJ reject {S frame} RNR receiver not ready (S frame) RR receiver ready (S frame) SABM set asynchronous balanced mode {LAPS only} SARM set asynchronous response mode (LAP only) UA unnumbered acknowledgement (V frame) All jumps stored in ROM are disabled so that each location of the PLC may be counted. As the PLC is incremented, the responses of the output pins and status registers are compared to the known good responses. There are 11 8-bit registers in the !,PAC that are not directly accessible by the user's CPU, which complicates testing somewhat. The internal RAM register test provides a means of checking these registers. The contents of register A are placed in six even internal registers and the contents of register B in five odd internal registers. The 11 registers are then added together without carry and the result is placed in status registers. This test is initiated by a control bit in the !,PAC. The loop-back test is discussed later. For the purposes of discussing link establishment procedures, it will be assumed that there is a 2501 !,PAC at each end of the link. In practice, the 2501 can 316 TERMINAL A L----I --~=~) THOUSAND FEET TERMINAL n 3. Off tho notworl,. The p.PAC is also useful in non-network applications that use bit-oriented protocols. It provides full-duplex capability, does error detection and recovery, and gives systems the option of hooking directly to a packet-switching network at some future date. communicate with any device meeting X.25 Level 2 specifications. When a link is set up, it is said to be in the information-transfer phase. This means that the terminal and node will accept and transmit I and S frames. When a link is logically disconnected, only U frames - DISC, SARM, or UA (disconnect, set asynchronous response mode, and unnumbered acknowledge; see Table 2)-will be accepted or transmitted. Linlc supervision A link-connect frame is not the same as a link-reset frame. A link in the information-transfer phase may be reset in one direction by a SARM transmission. A link is up after both ends send a SARM command and receive a UA response. Since a SARM can be either a command to reset or set up a link, misinterpretation by the receiver of a SARM is possible. This could happen when a link is established if one end momentarily loses power. When that end tries to bring the link up by sending a SARM, the other end may interpret the command as a link-reset. There arc two ways to get around this problem. Suppose a terminal or node attempting to bring a link up sends a SARM command and receives a UA. After time Tl, if the station does not receive SARM, it assumes that the other end considered the link up. It will then disconnect the link by sending DISC and receiving a UA, and attempt to set up a link a second time. The other way around the problem is the method used by the 250l. The 2501 will always send DISC and receive a UA before attempting to bring the link up. This will assure a logically disconnected link so that it may 317 attempt to set one up. Immediately after the link is up, the 2501 generates an interrupt. It is possible to recover a single error on a packet with ,",PAC control. The error makes the received FCS bad, so B docs not recognize A's first transmission of frame l. When B receives frame 2, something is wrong since the last successfully received packet was frame O. Thus, at the next opportunity, B sends a REJ (reject-an S frame) asking A to retransmit frame l. This opportunity comes after B completes sending its frame 2. When A receives the REJ frame, it is sending frame 3. There is no need to continue with frame 3, so A aborts transmission of frame 3 and goes back and retransmits frame l. After retransmitting frame I, A will retransmit frames 2 and 3. Finally, A will continue transmitting other frames. Loop-baclc A loop-back condition exists when a station receives the same serial information it has transmitted. In the loop-back test, the serial-transmit output is connected to the serial-receive input in order to test the transmitter and receiver channels. Each station has both primary and secondary functions, so there are two logical primary-to-secondary associations on a terminal-to-node link, and each association is identified by a different address field. This makes loop-back testing impossible when a strict X.25 connection is made. Commands will have the A field of a response and vice versa. One way around this is to make the A fields of the two associations equal for the duration of the loop-back test. (The A fields arc programmable in the ,",PAC.) Another problem with loop-back testing is the actual detection of the condition and the detection of the condition's removal. There is no simple way around this problem, and the IlPAC gives only limited assistance. First, detecting the existence of a loop-back condition is the responsibility of the CPU driving the IlPAC. If the CPU sees that a link cannot be brought up, or if a link is up and suddenly has excessive link resets and CMDRs (command reject, a U frame), the CPU could assume the presence of a loop-back condition. After making the two A fields the same, if a disconnected link is successfully brought up, then the loop-back condition exists. To detect the removal of this condition, a particular control bit (RRTl) in the IlPAC may be used. It causes the IlPAC to send an RR (receiver ready, an S frame) or an RNR (receiver not ready, also an S frame). These frames are sent at Tl intervals as long as the IlPAC is not commanded to send a packet. As long as the IlPAC receives those S frames, the loop-back condition exists. However, if the IlPAC fails to receive an S frame for a time equal to TI x N2, an interrupt is generated, signalling that the loop-back condition has been removed. Modified X.2S The original design intention was to use the IlPAC in a strict X.25 terminal-to-node application, the only application covered by X.25. However, by taking advantage of the terminal-node symmetry of the IlPAC (the fact that it can be used in both DTE and DCE), other applications are possible that use its built-in features. For instance, the user does not need to develop the software for error recovery since this is a IlPAC feature. For another, using a IlPAC makes it possible to connect a non-packet terminal to an X.25 link at a future time. And lastly, the chip's protocol is bit-oriented. It has a number of advantages over older, character-oriented protocols, such as code transparency, full-duplex capability, flexibility, and modularity [Electronics, Jan. 18, 1979,p.137). One possible application is the connection of two terminals at Levels I and 2 (Fig. 3). How much of Level 3 is used would depend upon the individual application; the more of Level 3 used, the better standardized the interface is. One of the terminals in Fig. 3 could be a terminal concentrator (a Packet Assembly/Disassembly facility, or PAD, as defined by Recommendations X.3, X.28, and X.29) on a factory floor, and the other could be a host computer in a data-processing center. Modified X.25 could also be used in a multipoint system (Fig. 4). Idle terminals in this type of system must transmit an "idle" sequence, not continuous flags. The terminal addresses (AD3, AD5, AD7, and so on) correspond to the transmitted response A field. The transmitted command A field is the same for all terminals and is chosen to be hexadecimal 0 I in this case. All A fields arc selected with odd values (least-significant bit transmitted first) to conform to the extended-address format of the Advanced Data-Communication Control Procedures (ADCCP). Two terminals on the multipoint line may establish and discontinue communications by exercising X.25 procedures for setting up and disconnecting a link. But only two terminals can communicate at anyone time. TERMINALS ~ ____________--,A~______________~, AD3 AD5 C'" B·BIT HEXADECIMAL ADDRESS FOR TRANSMITTED COMMAND AND EXPECTED RECEIVED RESPONSE AD7 AD9 R" a'BIT HEXADECIMAL ADDRESS FD~ TRANSMITTED RESPONSE AND EXPECTED RECEIVED COMMAND 4. Multipoint IinB. The programmed features of the pPAC chip enhance the flexibility of a system comprising one master terminal and up to 128 slave terminals. Hardware and software savings are possH ble when the J(PAC is used in this off-network context. Suppose that AD3 wishes to communicate with AD7. AD3 will first make sure that its receiving line is idle (a status bit in the IlPAC). Next, AD3 will change its transmitted command and response A fields to be the reverse of AD7 (command field is set to 07, response field is set to 01). Then AD3 will initiate link establishment by setting a control bit, called "active," in the IlPAC. Once the link has been established (the IlPAC generates an interrupt when the link is first set up), AD3 and AD7 may exchange I frames. To discontinue the session, either AD3 or AD7 will set the mandatorydisconnect control bit in its IlPAC. This will cause that terminal to initiate a logical-disconnect procedure. Contention and roll-call methods The multipoint system may be implemented by either contention or roll-call polling. In the roll-call method, the master terminal will initiate link establishment with one of the slave terminals, communicate with that slave, discontinue the session (disconnecting the link), and go on to the next slave. This process continues until all slaves are polled and then starts over. One advantage of the roll-call method is that the master has tight control over the line for efficient operation. A disadvantage is that slaves must be queried (polled) before sending data, and the more slaves on the line, the longer it takes for the master to poll them. Therefore it is essential that each slave be designed to exchange a relatively small amount of data with the master in a single session, lest it tie up the line for long periods. Large amounts of data should be broken up and exchanged in more than one session. This method is suited to applications where the multipoint line has a high usage. In the contention method, any terminal may initiate a session at any time. This is similar to a party telephone line and is suited to applications where line usage is low. All sessions are between the master and one of the slaves, but unlike the roll-call method, a slave may initiate the session. The terminal that initiates a session must send an I frame with its unique address immediately after the link is set up. 0 Reprinted from ELECTRONICS, December 20,1979, copyright 1979 by McGraw-Hili, Inc., with all rights reserved. 318 Board Product NumberDng System 319 TELECOMMUNICATIONS BOARD lEVEL PRODUCT NUMBERING GENERAL DESCRIPTION: ~D A XXXXX 2 3 A A A 4 5 6 1. WD WESTERN DIGITAL. 2. A A letter to be designated. This field may be missing. Values assigned to date: K - KIT. 3. XXXXX An expanded version of the number of the featured WESTERN DIGITAL LSI device on the board. 4. A A letter designating BUS OPTION. This field will never be blank. Values assigned to date: A B D E X 5. A A letter designating 110 Channel interface. This field will never be blank. Values assigned to date: A B C D E X 6. A EXAMPLES: WDK 2001-XA WD 25001-AC - UNIBUSTM Q BUS™ MULTIBUS™ "STANDARD" BUS No BUS interface RS 232 RS 422 RS 423 RS 449 Fiber Optic No 110 channel A letter. function to be designated later. WESTERN DIGITAL Cryptographic Kit using the WD2001. The board has an RS 232 VO Channel interface. WESTERN DIGITAL Packet Switching board using the WD 2501. The board has a UNIBUS™ computer interface and an RS-423 110 Channel interface. 321 Introduction to COMPUTER PRODUCTS DDVDSHOIN The Computer Products Division of Western Digital is an established leader in File Management Devices. We are currently the leading supplier of floppy disk and Winchester disk controller products. We provide our customers with a standard line of MOS/LSI controller devices, support circuits, custom devices and board level products. Winchester Products Western Digital recently announced and began shipping the WD1000 fixed disk controller and WD11 00 chip set. These products dramatically reduce the cost and circuit board area required to interface with the popular Winchester technology devices. Floppy Disk Products The Computer Products Division is the world's leading supplier of MOS/LSI floppy disk devices. Our 1700 Series Controllers support single and double density, IBM compatible and non-standard 5% inch and 8 inch drives. Specialty Products The Computer Products Division supplies specialty devices and board level products which support data management activities. These include standard, semi-custom, and custom products, and a family of semi-custom logic arrays. 323 Table of Contents COMPUTER PRODUCTS DIVISION Page WD1000 Winchester Controller Board 327 WD1100 WD179X-02 Winchester Controller Chip Set IBM Compatible Double Density Floppy Disk Controller 329 331 WD179X Application Notes 355 WD1771-01 IBM Compatible Single Density Controller 371 WD1771-01 Application Notes 391 WD1691 Floppy Disk Support Logic 399 407 DM1883 Direct Memory Access Controller WD2143-01 Four Phase Clock Generator 419 WD1510 LIFO/FIFO Buffer 425 325 WESTERN DIGITAL c o R P 0 R A T o N WD1000 WINCHESTIER CONTROLLER FEATURES SPECIFICATIONS • ST500/SA1000 INTERFACE INSTRUCTION SET o 256 BYTE BUFFER RESTORE READ SECTOR WRITE SECTOR AUTO FORMAT SEEK o AUTOMATIC CRC CHECKING/VERIFICATION o 5 MBITS/SEC TRANSFER RATE II DMA OR PROGRAMMED I/O TRANSFERS o CONTROL UP TO 4 DRIVES o CONTROL UP TO B R/W HEADS POWER SUPPLY o GENERAL PURPOSE B BIT INTERFACE +5VDC o SINGLE 5-VOLT SUPPLY o MULTIPLE SECTOR READ AND WRITE COMMANDS .. FORMATTING AND SECTOR INTERLEAVE CAPABILITY .. BUILT IN DATA SEPARATOR/WRITE PRECOMPENSATION LOGIC • SIX POWERFUL MACRO-COMMANDS • "BAD BLOCK" MARK AND DETECTION CONTROLLER/INTERFACE B DATA LINES 3 ADDRESS LINES MASTER RESET DATA REQUEST INTERRUPT REQUEST READ ENABLE WRITE ENABLE GENERAL DESCRIPTION The WD1000 WINCHESTER CONTROLLER BOARD provides the user with a low-cost alternative for interfacing any ST500 compatible Winchester disk drive to a host computer. The processor interface consists of an a-bit bi-directional bus for data, status and control word transfers. The controller board includes data separation and write precompensation circuitry. Data being written to or read from the drive is stored in an on-board buffer memory, simplifying the DMA or programmed I/O interface. The controller will read or write MFM data at rates up to 5M bits per second. Reading and writing of sectors, along with motor control is accomplished via a powerful set of macro-commands. Programming the WD1000 controller board is similar to programming the Western Digital FD179X floppy disk controller. The WD1000 is based upon a proprietary Chip Set specifically designed for Winchester control. The WD1000 Chip Set is also available for OEM design. 327 INTERFACE DIAGRAM ·,8 :8 CONTROL, BUS HOST INTERFACE BUS HOST COMPUTER WD 1000 k=> I~ < i DATA BUS < I] I jl "" ( DRIVE 3 "- ; DRIVE 4 Host Interface Signals Control Signals Data Signals Data Access 0 Data Access 1 Data Access 2 Data Access 3 Data Access 4 Data Access 5 Data Access 6 Data Access 7 Write Enable Read Enable Address 0 Address 1 Address 2 Interrupt Request Data Request Chip Select Write Clock Timing Clock Reduce Write Current Write Gate Seek Complete Track 000 Write Fault Head Select 0 Head Select 1 Head Select 2 Index Ready Step Direction Drive Select 0 Drive Select 1 Drive Select 2 Drive Select 3 + Write Data - Write Data + Read Data - Read Data + Timing Clock - Timir)g Clock WESTERN DIGITAL COR paR A r , a N 13128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550, TWX 910-595-1139 328 WESTERN DIGITAL p c o o R R A T / o N WD1100 WINCHESTER CONTROLLER CHIP SET DESCRIPTION FEATURES The WDll00 Chip Set provides a low cost alternative for developing a Winchester Controller. These five devices have been designed to read and convert an MFM data stream into a-bit parallel bytes. During a write operation, parallel data is converted back into MFM to be written on the disk. Address Marks are generated and detected while CRC bytes can be appended on the data stream. The WDll00 is fabricated in N-channel silicon gate and technology and is available in a 20 pin Dual-In-Line package. • • • • :i" • • • • • WDll00-0l WDll00-02 WDll00-03 WDll00-04 WDll00-05 ::I: Winchester Controliers For: • Shugart Associates-SAl 004 • Seagate Technology-ST506 • Quantum Corp.-Q2000 VCC NC « APPLICATIONS Ser/Parallel Converter MFM Generator AM Detector CRC Generator/Checker Par/Serial Converter CLK o II: SA1000/ST506 COMPATIBLE SINGLE 5V SUPPLY TRI-STATE DATA LINES 5 MBITS/SEC TRANSFER RATE NRZ EN VCC SKPEN AO BCLR NRZ WCLK Al TEST ST WCLK MR RWC DOO DOUT DOl BDONE D02 SHFCLK D03 D07 INTCLK D04 D06 NC D05 VSS VSS MFM CS INTRQ DRQCLK DRQ EARLY LATE NOM WDll00-0l WDll00-02 SERIAL/PARALLEL CONVERTER MFM GENERATOR RCLK DIN VCC RST RCLK CLKIN CP NC DOUT NC AMDET AMDET NC TESTI QOUT NC ENDET VSS DCLK TEST2 WDll 00-03 WD1100-04 WD11 00-05 AM DETECTOR CRC GENERATOR/CHECKER PARALLEL/SERIAL CONVERTER 329 1100V PLASTIC PACKAGE 1100U CERAMIC PACKAGE This is a preliminary specification wH:h tentative device parameters and may be subject to change after final product characterization is completed. Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western D;gital Corporation for its use; nor any infringements of patents or other rights of third parties which may resu" from its use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Westem Digital Corporatkm reserves the righllo change said circuilry al anytime wijhout nOlice. WESTERN DIGITAL CORPORATION 3128 REDHlll AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 330 WESTERN DIGITAL p c o R o A R T o / N FD 179X-02 floppy Disk Formatter/Controller Family • TWO VFO CONTROL SIGNALS It SOFT SECTOR FORMAT COMPATIBILITY • AUTOMATIC TRACK SEEK WITH VERIFICATION .. ACCOMMODATES SINGLE AND DOUBLE DENSITY FORMATS IBM 3740 Single Density (FM) IBM System 34 Double Density (MFM) .. READ MODE Single/Multiple Sector Read with Automatic Search or Entire Track Read Selectable 128 Byte or Variable length Sector o WRITE MODE Single/Multiple Sector Write with Automatic Sector Search Entire Track Write for Diskette Formatting FEATURES SinQle Density (FM) Double Density (MFM) True Data Bus Inverted Data Bus Write Precomp Side Selection Output o SYSTEM COMPATIBILITY Double Buffering of Data 8 Bit Bi-Directional Bus for Data, Control and Status DMA or Programmed Data Transfers All Inputs and Outputs are TTL Compatible On-Chip Track and Sector Registers/Comprehensive Status Information 40 Wi' 39 1 INTRQ os 38 A, "OALO I RAW READ STEP e X X > RCLK AGiSSQ F RE o T E A F A E L P P Y WE 179X MR 10K FLOPPY DISK CONTROLLER FORMA TTER WG WPRT WFIVFOE IP TROD 10K 10K READV TG43 LATE MR ORO STEP INTRO DIRe eLK 179517 X X X X es EARlV "'79317 TRUE BUS X X X o e =RG X X 1797 M p U T DIRe '1791/3 X X r---------~-EAA~W~R~E~AO~~-----, DATA (e) I N n 1795 X X X AO E A OAL 7 1793 X X FLOPPY DISK DRIVE INTERFACE SINGLE OR MULTIPLE DRIVE CONTROLLER! FORMATTER NEW MINI-FLOPPY CONTROLLER 111'001.1211'1 J ORO 1791 APPLICATIONS V NC ~ .. PROGRAMMABLE CONTROLS Selectable Track to Track Stepping Time Side Select Compare co WRITE PRECOMPENSATION .. WINDOW EXTENSION Q INCORPORATES ENCODING/DECODING AND ADDRESS MARK CIRCUITRY " FD179214 IS SINGLE DENSITY ONLY .. FD1795/7 HAS A SIDE SELECT OUTPUT 179X-02 FAMILY CHARACTERISTICS FEATURES T.~ =ssa DDEN ~ PIN CONNECTIONS HLO Vss Voo ~ GE .......I 111.!v +12 FD179X SYSTEM BLOCK DIAGRAM 331 Vee +5V SHOT (IF USEO) I I GENERAL DESCRIPTION The FD179X are MOS LSI devices which perform the functions of a Floppy Disk FormatterIControlier in a single chip implementation. The FD179X, which can be considered the end result of both the FDl771 and FD1781 designs, is IBM 3740 compatible in single density mode (FM) and System 34 compatible in Double Density Mode (MFM). The FD179X contains all the features of its predecessor the FDl771, plus the added features necessary to read/write and format a double density diskette. These include address mark detection, FM and MFM encode and decode logic, window extension, and write precompensation. In order to maintain compatibility, the FDl771, FD1781, and FD179X designs were made as close as possible with the computer interface, instruction set, and I/O registers being identical. Also, head load PIN OUTS PIN NUMBER PIN NAME 1 NO CONNECTION 19 MASTER RESET 20 POWER SUPPLIES 21 40 COMPUTER INTERFACE: control is identical. In each case, the actual pin assignments vary by only a few pins from anyone to another. The processor interface consists of an 8-bit bidirectional bus for data, status, and control word transfers. The FD179X is set up to operate on a mUltiplexed bus with other bus-oriented devices. The FD179X is fabricated in N-channel Silicon Gate MOS technology and is TTL compatible on all inputs and outputs. The 1793 is identical to the 1791 except the DAL lines are TRUE for systems that utilize true data busses. The 1795/7 has a side select output for controlling double sided drives, and the 1792 and 1794 are "Single Density Only" versions of the 1791 and 1793. On these devices, DDEN must be left open. SYMBOL NC FUNCTION Pin 1 is internally connected to a back bias generator and must be left open by the user. A logic low on this input resets the device and loads HEX 03 into the command register. The Not Ready (Status Bit 7) is reset during MR ACTIVE. When MR is brought to a logic high a RESTORE Command is executed, regardless of the state of the Ready signal from the drive. Also, HEX 01 is loaded into sector register. Vss Ground Vee +5V±5% Voo +12V ±5% 2 WRITE ENABLE WE A logic low on this input gates data on the DAL into the selected register when CS is low. 3 CHIP SELECT CS A logic low on this input selects the chip and enables computer communication with the device. 4 READ ENABLE RE A logic low on this input controls the placement of data from a selected register on the DAL when CS is low. 5,6 REGISTER SELECT LINES AO, A1 These inputs select the register !2.... receivel transfer data on the DAL lines under RE and WE control: WE A1 AO RE Status Reg Command Reg 0 0 Track Reg 1 Track Reg 0 Sector Reg Sector Reg 1 0 Data Reg Data Reg 1 1 7-14 DATA ACCESS LINES DALe-DAL7 Eight bit inverted Bidirectional bus used for transfer of data, control, and status. This bus is receiver enabled by WE or transmitter enabled by RE. CLOCK CLK This input requires a free-running square wave clock for internal timing reference, 2 MHz for 8" drives, 1 MHz for mini-drives. 24 332 PIN NUMBER PIN NAME SYMBOL FUNCTION 38 DATA REQUEST DRQ This open drain output indicates that the DR· contains assembled data in Read operations, or the DR is empty in Write operations. This signal is reset when serviced by the computer through reading or loading the DR in Read or Write operations, respectively. Use 10K pull-up resistor to +5. 39 INTERRUPT REQUEST INTRQ This open drain output is set at the completion of any command and is reset when the STATUS register is read or the command register is written to. Use 10K pull-up resistor to +5. FLOPPY DISK INTERFACE: 15 STEP STEP The step output contains a pulse for each step. 16 DIRECTION DIRC Direction Output is active high when stepping in, active low when stepping out. 17 EARLY EARLY Indicates that the WRITE DATA pulse occurring while Early is active (high) should be shifted early for write precompensation. 18 LATE LATE Indicates that the write data pulse occurring while Late is active (high) should be shifted late for write precompensation. 22 TEST TEST This input is used for testing purposes only and should be tied to +5V or left open by the user unless interfacing to voice coil actuated motors. 23 HEAD LOAD TIMING HLT When a logic high is found on the HLT input the head is assumed to be engaged. 25 READ GATE (1791/3) RG A high level on this output indicates to the data separator Circuitry that a field of zeros (or ones) has been encountered, and is used for synchronization. 25 SIDE SELECT OUTPUT (1795, 1797) SSO 26 READ CLOCK RCLK 27 RAW READ RAW READ The data input signal directly from the drive. This input shall be a negative pulse for each recorded flux transition. 28 HEAD LOAD HLD The HLD output controls the loading of the Read-Write head against the media. 29 TRACK GREATER THAN 43 TG43 This output informs the drive that the Read/Write head is positioned between tracks 44-76. This output is valid only during Read and Write Commands. 30 WRITE GATE WG This output is made valid before writing is to be performed on the diskette. The logic level of the Side Select Output is directly controlled by the 'S' flag in Type II or III commands. When S = I, SSO is set to a logic 1. When S = 0, SSO is set to a logic O. The Side Select Output is only updated at the beginning of a Type II or III command. It is forced to a logic 0 upon a MASTER RESET condition. A nominal square-wave clock signal derived from the data stream must be provided to this input. Phasing (Le. RCLK transitions) relative to RAW READ is important but polarity (RCLK high or low) is not. 333 PIN NUMBER PIN NAME FUNCTION SYMBOL A 250 ns (MFM) or 500 ns (FM) pulse per flux transition. WD contains the unique Address marks as well as data and clock in both FM and MFM formats. This input indicates disk readiness and is sampled for a logic high before Read or Write commands are performed. If Ready is low the Read or Write operation is not performed and an interrupt is generated. Type I operations are performed regardless of the state of Ready. The Ready input appears in inverted format as Status Register bit 7. This is a bi-directional signal used to signify writing faults at the drive, and to enable the external PLO data separator. When WG = 1, Pin 33 functions as a WF input. If WF = 0, any write command will immediately be terminated. When WG = 0, Pin 33 functions as a VFOE output. VFOE will go low during a read operation after the head has loaded and settled (HL T = 1). On the 1795/7, it will remain low until the last bit of the second CRC byte in the ID field. VFOE will then go high until 8 bytes (MFM) or 4 bytes (FM) before the Address Mark. It will then go active until the last bit of the second CRC byte of the Data Field. On the 1791/3, VFOE will remain low until the end of the Data Field. This input informs the FD179X that the Read/Write head is positioned over Track 00. 31 WRITE DATA WD 32 READY READY 33 WRITE FAULT VFO ENABLE 34 TRACK 00 TROO 35 INDEX PULSE II' This input informs the FD179X when the index hole is encountered on the diskette. 36 WRITE PROTECT WPRT This input is sampled whenever a Write Command is received. A logic low terminates the command and sets the Write Protect Status bit. 37 DOUBLE DENSITY DDEN This pin selects either single or double eration. When DDEN = 0, double selected. When DDEN = 1, single selected. This line must be left open on --WFNFOE density opdensity is density is the 1792/4 ORGANIZATION The Floppy Disk Formatter block diagram is illustrated on page 5. The primary sections include the parallel processor interface and the Floppy Disk interface. Data Shift Register-This 8-bit register assembles serial data from the Read Data input (RAW READ) during Read operations and transfers serial data to the Write Data output during Write operations. Data Register-This 8-bit register is used as a holding register during Disk Read and Write operations. In Disk Read operations the assembled data byte is transferred in parallel to the Data Register from the Data Shift Register. In Disk Write operations information is transferred in parallel from the Data Register to the Data Shift Register. When executing the Seek command the Data Register holds the address of the desired Track position. This register is loaded from the DAL and gated onto the DAL under processor control. Track Registel'-This 8-bit register holds the track number of the current Read/Write head position. It is incremented by one every time the head is stepped in (towards track 76) and decremented by one when the head is stepped out (towards track 00). The contents of the register are compared with the recorded track number in the ID field during disk Read, Write, and Verify operations. The Track Register can be loaded from or transferred to the DAL. This Register should not be loaded when the device is busy. 334 ~N~~:~:~~ ". CONTROL 'NTERr"';:E CONTR0\ CON1ROL FD179X BLOCK DIAGRAM I The CRC includes all information starting with the address mark and up to the CRC characters. The CRC register is preset to ones prior to data being shifted through the circuit. Sector Register (SR)-This 8-bit register holds the address of the desired sector position. The contents of the register are compared with the recorded sector number in the 10 field during disk Read or Write operations. The Sector Register contents can be loaded from or transferred to the DAL. This register should not be loaded when the device is busy. Command Register (CR)-This 8-bit register holds the command presently being executed. This register should not be loaded when the device is busy unless the new command is a force interrupt. The command register can be loaded from the DAL, but not read onto the DAL. Status Register (STR)-This 8-bit register holds device Status information. The meaning of the Status bits is a function of the type of command previously executed. This register can be read onto the DAL, but not loaded from the OAL. CRC Logic-This logic is used to check or to generate the 16-bit Cyclic Redundancy Check (CRC). The polynomial is: G(x) = x'· + x 12 + x 5 + 1. Arithmetic/Logic Unit (ALU)-The ALU is a serial comparator, incrementer, and decrementer and is used for register modification and comparisons with the disk recorded 10 field. Timing and Control-All computer and Floppy Disk Interface controls are generated through this logic. The internal device timing is generated from an external crystal clock. The FD1791/3 has two different modes of~ation according to the state of ODEN. WhenDDEN = 0 double density (MFM) is assumed. When !mEN 1, single density (FM) is assumed. = AM Detector-The address mark detector detects 10, data and index address marks during read and write operations. 335 PROCESSOR INTERFACE HEAD POSITIONING The interface to the processor is accomplished through the eight Data Acces~nes (DAl) and associated control signals. The DAl are used to transfer Data, Status, and Control words out of, or into the FDI79X. The DAl are three state buffers that are enabled as output drivers when Chip Select (CS) and Read Enable (RE) are active (low logic state) or~t as input receivers when CS and Write Enable (WE) are active. When transfer of data with the Floppy Disk Controller is required by th~ost processor, the device address is decoded and CS is made low. The address bits Al and AO, combined with the signals RE during a Read operation or WE during a Write operation are interpreted as selecting the following registers: Five commands cause positioning of the Read-Write head (see Command Section). The period of each positioning step is specified by the r field in bits 1 and a of the command word. After the last directional step an additional 15 milliseconds of head settling time takes place if the Verify flag is set in Type I commands. Note that this time doubles to 30 ms for a 1 MHz clock. If TEST = 0, there is zero settling time. There is also a 15 ms head settling time if the E flag is set in any Type II or III command. Al-AO READ (FiE) a a a Status Register Track Register Sector Register Data Register a WRITE (WE) Command Register Track Register Sector Register Data Register During Direct Memory Access (DMA) types of data transfers between the Data Register of the FD179X and the processor, the Data Request (ORa) output is used in Data Transfer control. This signal also appears as status bit 1 during Read and Write operations. On Disk Read operations the Data Request is activated (set high) when an assembled serial input byte is transferred in parallel to the Data Register. This bit is cleared when the Data Register is read by the processor. If the Data Register is read after one or more characters are lost, by having new data transferred into the register prior to processor readout, the lost Data bit is set in the Status Register. The Read operation continues until the end of sector is reached. On Disk Write operations the data Request is activated when the Data Register transfers its contents to the Data Shift Register, and requires a new data byte. It is reset when the Data Register is loaded with new data by the processor. If new data is not loaded at the time the next serial byte is required by the Floppy Disk, a byte of zeroes is written on the diskette and the lost Data bit is set in the Status Register. At the completion of every command an INTRa is generated. INTRa is reset by either reading the status register or by loading the command register with a new command. In addition, INTRa is generated if a Force Interrupt command condition is met. FLQPPY DISK INTERFACE The 179X has two modes of 08DE~on according to the = I, single density state of tmE1iI (Pin 37). When is selected. In either case, the ClK input (Pin 24) is at 2 MHz. However, when interfacing with the mini-floppy, the ClK input is set at 1 MHz for both single density and double density. When the clock is at 2 MHz, the stepping rates of 3,6, la, and 15 ms are obtainable. When ClK equals 1 .MHz these times are doubled. The rates (shown in Table 1) can be applied to a Step-Direction Motor through the device interface. Step-A 2 /1S (MFM) or 4 /1S (FM) pulse is provided as an output to the drive. For every step pulse issued, the drive moves one track location in a direction determined by the direction output. Direction (D/RC)-The Direction signal is active high when stepping in and low when stepping out. The Direction signal is valid 12 /1s before the first stepping pulse is generated. When a Seek, Step or Restore command is executed an optional verification of Read-Write head position can be performed by setting bit 2 (V 1) in the command word to a logic 1. The verification operation begins at the end of the 15 millisecond settling time after the head is loaded against the media. The track number from the first encountered ID Field is compared against the contents of the Track Register. If the track numbers compare and the ID Field Cyclic Redundancy Check (CRG) is correct, the verify operation is complete and an INTRa is generated with no errors. The FD179X must find an ID field with correct track number and correct CRC within 5 revolutions of the media; otherwise the seek error is set and an INTRa is generated. = Table 1. STEPPING RATES 2 MHz 2 MHz 1 MHz , MHz 2 MHz 1 MHz Rl RO TES.T=l TEST=1 TEST=l TEST~l TEST=O TEST =0 ClK Di5EN 0 0 3 ms 3 ms 6 ms 6 ms 184J-15 0 1 6 ms 6 ms 12 ms 12 ms 190115 380P.5 1 0 10 ms 10 ms 20 ms 20 ms 198p.s 3 96115 1 15 ms 15 ms 30 ms 30 ms 2081-'5 416/-15 1 368115 The Head load (HlD) output controls the movement of the read/write head against the media. HlD is activated at the beginning of a Type I command if the h flag is set (h = 1). at the end of the Type I command if the verify flag (V 1), or upon receipt of any Type II or III command. Once HlD is active it remains active until either a Type I command is received with (h = a and V = 0); or if the FD179X is in an idle state (non-busy) and 15 index pulses have occurred. = 336 Head Load Timing (HLT) is an input to the FD179X which is used for the head engage time. When HLT = 1. the FD179X assumes the head is completely engaged. The head engage time is typically 30 to 100 ms depending on drive. The low to high transition on HLD is typically used to fire a one shot. The output of the one shot is then used for HLT and supplied as an input to the FDI79X. HLD~ 11---1 ~50 i-I- - - - TO lOOms--i derived externally by Phase lock loops. one shots. or counter techniques. In addition. a Read Gate Signal is provided as an output (Pin 25) which can be used to inform phase lock loops when to acquire synchronization. When reading from the media in FM. RG is made true when 2 bytes of zeroes are detected. The FD179X must find an address mark within the next 10 bytes; otherwise RG is reset and the search for 2 bytes of zeroes begins all over again. If an address mark is found within 10 bytes. RG remains true as long as the FD179X is deriving any useful information from the data stream. Similarly for MFM. RG is made active when 4 bytes of "00" or "FF" are detected. The FD179X must find an address mark within the next 16 bytes. otherwise RG is reset and search resumes. During read operations (WG 0). the VFOE (Pin 33) ~vided for phase lock loop synchronization. VFOE will go active when: a) Both HLT and HLD are True b) Settling Time. if programmed. has expired c) The 179X is inspecting data off the disk If WFIVFOE is not used, leave open or tie to a 10K resistor to +5. = HL T lFROM ONE SHOT) HEAD LOAD TIMING When both HLD and HLT are true. the FD179X will then read from or write to the media. The "and" of HLD and HL T appears as a status bit in Type I status. In summary for the Type I commands: if h = a and V = O. HLD is reset. If h = 1 and V = O. HLD is set at the beginning of the command and HLT is not sampled nor is there an internal 15 ms delay. If h a and V 1. HLD is set near the end of the command. an internal 15 ms occurs. and the FD179X waits for HLT to be true. If h = 1 and V = 1. HLD is set at the beginning of the command. Near the end of the command. after all the steps have been issued, an internal 15 ms delay occurs and the FD179X then waits for HLT to occur. = = For Type II and III commands with E flag off. HLD is made active and HLT is sampled until true. With E flag on. HLD is made active, an internal 15 ms delay occurs and then HLT is sampled until true. DISK READ OPERATIONS Sector lengths of 128. 256. 512 or 1024 are obtainable in either FM or MFM formats. For FM. DDEN should be placed to logical "1." For MFM formats, DDEN should be placed to a logical "a." Sector lengths are determined at format time by a special byte in the "ID" field. If this Sector length byte in the ID field is zero. then the sector length is 128 bytes. If 01 then 256 bytes. If 02. then 512 bytes. If 03. then the sector length is 1024 bytes. The number of sectors per track as far as the FD179X is concerned can be from 1 to 255 sectors. The number of tracks as far as the FD179X is concerned is from a to 255 tracks. For IBM 3740 compatibility. sector lengths are 128 bytes with 26 sectors per track. For System 34 compatibility (MFM). sector lengths are 256 bytes/sector with 26 sectors/track; or lengths of 1024 bytes/sector with 8 sectors/track. (See Sector Length Table.) For read operations. the FD179X requires RAW READ Data (Pin 27) signal which is a 250 ns pulse per flux transition and a Read clock (RCLK) signal to indicate flux transition spacings. The RCLK (Pin 26) signal is provided by some drives but if not it may be DISK WRITE OPERATION When writing is to take place on the diskette the Write Gate (WG) output is activated. allowing current to flow into the Read/Write head. As a precaution to erroneous writing the first data byte must be loaded into the Data Register in resp'Jnse to a Data Request from the FD179X before the Write Gate signal can be activated. Writing is inhibited when the Write Protect input is a logic low. in which case any Write command is immediately terminated. an interrupt is generated and the Write Protect status bit is set. The Write Fault input. when activated. signifies a writing fault condition detected in disk drive electronics such as failure to detect write current flow when the Write Gate is activated. On detection of this fault the FD179X terminates the current command. and sets the Write Fault bit (bit 5) in the Status Word. The Write Fault input should be made inactive when the Write Gate output becomes inactive. For write operations. the FD179X provides Write Gate (Pin 30) and Write Data (Pin 31) outputs. Write data consists of a series of 500 ns pulses in FM (DDEN 1) and 250 ns pulses in MFM (DDEN = 0). Write Data provides the unique address marks in both formats. Also during write. two additional signals are provided for write precompensation. These are EARLY (Pin 17) and LATE (Pin 18). EARLY is active true when the WD pulse appearing on (Pin 30) is to be written early. LATE is active true when the WD pulse is to be written LATE. If both EARLY and LATE are low when the WD pulse is present. the WD pulse is to be written at nominal. Since write precompensation values vary from disk manufacturer to disk manufacturer. the actual value is determined by several one shots or delay lines which are located external to the FD179X. The write precompensation signals EARLY and LATE are valid for the duration of WD in both FM and MFM formats. = 337 Whenever a Read or Write command (Type II or III) is received the FD179X samples the Ready input. If this input is logic low the command is not executed and an interrupt is generated. All Type I commands are performed regardless of the state of the Ready input. Also, whenever a Type II or IJI command is received, the TG43 signal output is updated. Table 4 FLAG SUMMARY TYPE II & III COMMANDS m = Multiple Record flag (Bit 4) m = 0, Single Record m = 1, Multiple Records ao = Data Address Mark (Bit 0) ao = 0, FB (Data Mark) ao = 1, Fa (Deleted Data Mark) COMMAND DESCRIPTION The FD179X will accept eleven commands. Command words should only be loaded in the Command Register when the Busy status bit is off (Status bit 0). The one exception is the Force Interrrupt command. Whenever a command is being executed, the Busy status bit is set. When a command is completed, an interrupt is generated and the Busy status bit is reset. The Status Register indicates whether the completed command encountered an error or was fault free. For ease of discussion, commands are divided into four types. Commands and types are summarized in Table 2. E = 15 ms DelaY(2MHz) E = 1, 15 ms delay E = 0, no 15 ms delay (F 2) S = Side Select Flag (1791/3 only) = S 0, Compare for Side 0 S = 'I~Coinpare for Side 1 (F,) C = Side Compare Flag C C (1791/3 only) = 0, disable side select compare = 1, enable side select compare (F,) S = Side Select Flag (Bit 1, 1795/7 only) Table 2 COMMAND SUMMARY S = 0 Update SSO to 0 BITS TYPE COMMAND Restore I I I I I II II III III III IV Seek Step Step In Step Out Read Sector Write Sector Read Address Read Track Write Track Force Interrrupt 765 4 3 0 0 0 0 h 0 0 0 1 h 0 0 1 u h 0 1 o u h 0 1 1 1 1 1 1 2 V V V V S = 1 Update SSO to 1 1 0 r] ro (F2) b r, ro = Sector Length (Bit 3, 1975/7 only) r] ro r] ro 1 1 u h V r, ro 0 m F2 E F, 0 0 0 1 1 1 1 m F2 000 1 0 0 1 1 o 1 0 1 I, E E E E I, Flag F, 0 0 0 I, Sector Length Field ao 0 0 0 00 01 10 11 b=O 256 512 1024 128 b= 1 128 256 512 1024 10 Note: Bits shown in TRUE form. Table 5 FLAG SUMMARY Table 3 FLAG SUMMARY TYPE IV COMMAND TYPE I COMMANDS Ii = Interrupt Condition flags (Bits 3-0) 10 = 1, Not-Ready to Ready TranSition 11 = 1, Ready to Not-Ready Transition 12 = 1, Index Pulse 13 = 1, Immediate Interrupt 13 -10 = 0, Terminate with no Interrupt h = Head Load Flag (Bit 3) h = 1, Load head at beginning h = 0, Unload head at beginning V = Verify flag (Bit 2) V = 1, Verify on destination track V = 0, No verify r,ro = Stepping motor rate (Bits 1-0) TYPE I COMMANDS Refer to Table 1 for rate summary u = Update flag (Bit 4) u = 1, Update Track register u = 0, No' update The Type I Commands include the Restore, Seek, Step, Step-In, and Step-Out commands. Each of the Type I Commands contains a rate field (ron), which determines the stepping, motor rate as defined in Table 1. 338 10 field is then compared to the Track Register; if there is a match and a valid 10 CRC, the verification is complete, an interrupt is generated and the Busy status bit is reset. If there is not a match but there is valid 10 CRC, an interrupt is generated, and Seek Error Status bit (Status bit 4) is set and the Busy status bit is reset. If there is a match but not a valid CRC, the CRC error status bit is set (Status bit 3), and the next encountered 10 field is read from the disk for the verification operation. If an 10 field with a valid CRC cannot be found after four revolutions of the disk, the FD179X terminates the operation and sends an interrupt, (INTRQ). The Type I Commands contain a head load flag (h) which determines if the head is to be loaded at the 1, the head is beginning of the command. If h loaded at the beginning of the command (HLO output is made active). If h = 0, HLO is deactivated. Once the head is loaded, the head will remain engaged until the F0179X receives a command that specifically disengages the head. If the F0179X is idle (busy 0) for 15 revolutions of the disk, the head will be automatically disengaged (HLD made inactive). = = The Type I Commands also contain a verification (V) flag which determines if a verification operation is to take place on the destination track. If V 1, a verification is performed, if V = 0, no verification is performed. = During verification, the head is loaded and after an internal 15 ms delay, the HL T input is sampled. When HLT is active (logic true), the first encountered 10 field is read off the disk. The track address of the The Step, Step-In, and Step-Out commands contain an Update flag (U). When U 1, the track register is updated by one for each step. When U 0, the track register is not updated. = = On the 1795/7 devices, the SSO output is not affected during Type 1 commands, and an internal side compare does not take place when the (V) Verify Flag is on. . " COI,I~AND SEEK TYPE I COMMAND FLOW TYPE I COMMAND FLOW 339 RESTORE (SEEK TRACK 0) SEEK Upon receipt of this command the Track 00 (TROD) input is sampled. If TROD is active low indicating the Read-Write head is positioned over track 0, the Track Register is loaded with zeroes and an interrupt is generated. If TROD is not active low, stepping pulses (pins 15 to 16) at a rate specified by the r,ro field are issued until the fRl:iO input is activated. At this time the Track Register is I~ with zeroes and an interrupt is generated. If the TROD input does not go active low after 255 stepping pulses, the FD 179X terminates operation, interrupts, and sets the Seek error status bit. A verification operation takes place if the V flag is set. The h bit allows the head to be loaded at the start of command. Note that the Restore command is executed when MR goes from an active to an inactive state. This command assumes that the Track Register contains the track number of the current pOSition of the Read-Write head and the Data Register contains the desired track number. The FD179X will update the Track register and issue stepping pulses in the appropriate direction until the contents of the Track register are equal to the contents of ihe Data Register (the desired track location). A verification operation takes place if the V flag is on. The h bit allows the head to be loaded at the start of the command. An interrupt is generated at the completion of the command. STEP Upon receipt of this command, the FD179X issues one stepping pulse to the disk drive. The stepping motor direction is the same as in the previous step command. After a delay determined by the','o field, a verification takes place if the V flag is on. If the u flag is on, the Track Register is updated. The h bit allows the head to be loaded at the start of the command. An interrupt is generated at the completion of the command. STEP-IN Upon receipt of this command, the FD179X issues one stepping pulse in the direction towards track 76. If the u flag is on, the Track Register is incremented by one. After a delay determined by the [1['0 field, a verification takes place if the V flag is on. The h bit allows the head to be loaded at the start of the command. An interrupt is generated at the completion of the command. STEP-OUT Upon receipt of this command, the FD179X issues one stepping pulse in the direction towards track O. If the u flag is on, the Track Register is decremented by one. After a delay determined by the r,ro field, a verification takes place if the V flag is on. The h bit allows the head to be loaded at the start of the command. An interrupt is generated at the completion of the command. TYPE II COMMANDS "" 10 AM The Type II Commands are the Read Sector and Write Sector commands. Prior to loading the Type II Command into the Command Register, the computer must load the Sector Register with the desired sector number. Upon receipt of the Type II command, the busy status Bit is set. If the E flag = 1 (this is the normal case) HLD is made active and HLT is sampled after a 15 msec delay. If the E flag is 0, the head is loaded and HLT sampled with no 15 msec delay. The ID field and Data Field format are shown on page 13. 6EE~ DETE~crED 00" ~-----=< A;;~E~~"g:IO FIELD NOTE IFnsT if TEST When an ID field is located on the disk, the FD179X compares the Track Number on the ID field with the Track Register. If there is not a match, the next en- 0 THEAE I$NO 19.1SDU"Y 1 AND elll T !,AM, THER( 1<; ... 1OJ,I<., DtTAV TYPE I COMMAND FLOW 340 countered 10 field is read and a comparison is again made. If there was a match, the Sector Number of the 10 field is compared with the Sector Register. If there is not a Sector match, the next encountered 10 field is read off the disk and comparisons again made. If the 10 field CRC is correct, the data field is then located and will be either written into, or read from depending upon the command. The F0179X must find an 10 field with a Track number, Sector number, side number, and CRC within four revolutions of the disk; otherwise, the Record not found status bit is set (Status bit3) and the command is terminated with an interrupt. ·N01E I' If fffi rrsT (I lHERf IS NO l~~""OH"Y elll I Mtil IHERE IS"lWS , ANO Sector Length Table Sector Length Number of Bytes Field (hex) in Sector (decimal) 128 00 01 256 512 02 1024 03 Each of the Type II Commands contains an (m) flag which determines if multiple records (sectors) are to be read or written, depending upon the command. If m = 0, a single sector is read or written and an interrupt is generated at the completion of the command. If m = 1, multiple records are read or written with the sector register internally updated so that an address verification can occur on the next record. The F0179X will continue to read or write multiple records and update the sector register until the sector regis- OHAr TYPE II COMMAND TYPE II COMMAND 341 ter exceeds the number of sectors on the track or until the Force Interrupt command is loaded into the Command Register, which terminates the command and generates an interrupt. If the Sector Register exceeds the number of sectors on the track, the Record-Nat-Found status bit will be set. The Type II commands also contain side select compare flags. When C = 0, no side comparison is made. When C = 1, the LSB of the side number is read off the ID Field of the disk and compared with the contents of the (S) flag. If the S flag compares with the side number recorded in the ID field, the 179X continues with the ID search. If a comparison is not made within 5 index pulses, the interrupt line is made active and the RecordNot-Found status bit is set. The 1795/7 READ SECTOR and WR ITE SECTOR commands include a 'b' flag. The 'b' flag, in conjunction with the sector length byle of the ID Field, allows different byle lengths to be implemented in each sector. For IBM compatability, the 'b' flag should be set to a one. The 's' flag allows direct control over the 5'50 Una (Pin 25) and is set or reset at the beginning of the command, dependent upon the value of this flag. READ SECTOR Upon receipt of the Read Sector command, the head is loaded, the Busy status bit set, and when an 10 field is encountered that has the correct track number, correct sector number, correct side number, and correct CRC, the data field is presented to the computer. The Data Address Mark of the data field must be found within 30 byles in single density and 43 byles in double density of the last 10 field CRC byle; if not, the Record Not Found status bit is set and the operation is terminated. When the first character or byle of the data field has been shifted through the DSR, it is transferred to the DR, and DRO is generated. When the next byle is accumulated in the DSR, it is transferred to the DR and another DRO is generated. If the Computer has not read the previous contents of the DR before a new character is transferred that character is lost and >--''''--~~ INTRQ, RESEr BUSY TYPE II COMMAND TYPE II COMMAND 342 the Lost Data Status bit is set. This sequence continues until the complete data field has been inputted to the computer. If there is a CRC error at the end of the data field, the CRC error status bit is set, and the command is terminated (even if it is a multiple record command). next encountered 10 field is then read in from the disk, and the six data bytes of the 10 field are assembled and transferred to the DR, and a ORO is generated for each byte. The six bytes of the 10 field are shown below: At the end of the Read operation, the type of Data Address Mark encountered in the data field is recorded in the Status Register (Bit 5) as shown below: STATUS BIT 5 1 o Although the CRC characters are transferred to the computer, the FD179X checks for validity and the CRC error status bit is set if there is a CRG error. The Track Address of the 10 field is written into the sector register. At the end of the operation an interrupt is generated and the Busy Status is reset. Deleted Data Mark Data Mark WRtTE SECTOR Upon receipt of the Write Sector command, the head is loaded (HLD active) and the Busy status bit is set. When an 10 field is encountered that has the correct track number, correct sector number, correct side number, and correct CRC, a ORO is generated. The FD179X counts off 11 bytes in single density and 22 bytes in double density from the CRC field and the Write Gate (WG) output is made active if the ORO is serviced (i.e., the DR has been loaded by the computer). If ORO has not been serviced, the command is terminated and the Lost Data status bit is set. If the ORO has been serviced, the WG is made active and six bytes of zeros in single densitv and 12 bytes in double density are then written on Ine disk. At mis time the Data Address Mark is then written on the disk as determined by the ao field of the command as shown below: ao 1 o Data Address Mark (Bit 0) Deleted Data Mark Data Mark The FD179X then writes the data field and generates DRO's to the computer. If the ORO is not serviced in time for continuous writing the Lost Data Status Bit is set and a byte of zeros is written on the disk. The command is not terminated. After the last data byte has been written on the disk, the two-byte CRC is computed internally and written on the disk followed by one byte of logic ones in FM or in MFM. The WG output is then deactivated. TYPE III COMMANDS READ ADDRESS Upon receipt of the Read Address command, the head is loaded and the Busy Status Bit is set. The READ TRACK Upon receipt of the Read Track command, the head is loaded and the Busy Status bit is set. Reading starts with the leading edge of the first encountered Index pulse and continues until the next index pulse. As each byte is assembled it is transferred to the Data Register and the Data Request is generated for each byte. No CRC checking is performed. Gaps are included in the input data stream. The accumulation of bytes is synchronized to each Address Mark encountered. Upon completion of the command, the interrupt is activated. RG is not activated during the Read Track Command. An internal side compare is not performed during a Read Track. WRITE TRACK Upon receipt of the Write Track command, the head is loaded and the Busy Status bit is set. Writing starts with the leading edge of the first encountered index pulse and continues until the next index pulse, at which time the interrupt is activated. The Data Request is activated immediately upon receiving the command, but writing will not start until after the first byte has been loaded into the Data Register. If the DR has not been loaded by the time the index pulse is encountered the operation is terminated making the device Not Busy, the Lost Data Status Bit is set, and the Interrupt is activated. If a byte is not present in the DR when needed, a byte of zeros is substituted. Address Marks and CRC characters are written on the disk by detecting certain data byte patterns in the outgoing data stream as shown in the table below. The CRC generator is initialized when any data byte from FB to FE is about to be transferred from the DR to the DSR in FM or by receipt of F5 in MFM. ICRC I CRC GAPT 1011 TRACK:I SIDE IISECTORIISECTORICRCICRCIGAPIDATA III AM NUMBER NUMBER NUMBER LENGTH 1 2 II AM DATA FIELD 1 2 10 FIELD DATA FIELD In MFM only, lOAM and DATA AM are preceded by three bytes of AI with clock transition between bits 4 and 5 missing. 343 NOfFMI " DIS/( 'NTRO REAOY RESHBU$Y "" ,NOEK PULSE OCCUREO ."t·!' f'",,·,,· ," WP,.T 0 SET 1"'1"0 lOST OAT'" RESET BUSY TYPE III COMMAND WRITE TRACK TYPE III COMMAND WRITE TRACK CONTROL BYTES FOR INITIALIZATION DATA PATIERN IN DR (HEX) 00 thru F4 F5 F6 F7 Fa thru FB FC FD FE FF FD179X INTERPRETATION IN FM (DDEN 1) FD1791/31NTERPRETATION IN MFM (00I:fii 0) = Write 00 thru F4 with CLK = FF = Not Allowed Not Allowed Generate 2 CRC bytes Write Fa thru FB, Clk ~ C7, Preset CRC Write FC with Clk 07 FF Write FD with elk Write FE, elk C7, Preset CRe Write FF with elk FF = = = = Write 00 thru F4, in MFM Write A1' in MFM, Preset CRC Write C2'* in MFM Generate 2 CRCbytes Write Fa thru FB, in MFM Write FC in MFM Write FD in MFM Write FE in MFM Write FF in MFM ., Missing clock transition between bits 3 & 4 'Missing clock transition· between bits 4 and 5 344 INTRQ RESET BUSY SET INTRQ RESET BUSV READ ADDRESS "It TEST= •. NO DElAY If TEST." 1 and eLK= 1 MHZ. 30 MS OELA V TYPE III COMMAND Read Track/Address 345 TYPE IV COMMAND FORCE INTERRUPT RESET BUSY SET INTRQ SET RNF This command can be loaded into the command register at any time. If there is a current command under execution (Busy Status Bit set), the command will be terminated and an interrupt will be generated when the condition specified in ·the 10 through " field is detected. The interrupt conditions are shown below: = Not-Ready-To-Ready Transition = Ready-To-Not-Ready Transition " = Every Index Pulse " = Immediate Interrupt (requires 10 I, reset, see Note) NOTE: If 10 - " = 0, there is no interrupt generated but the current command is terminated and busy is reset. This is the only command that will enable the immediate interrupt to clear on a subsequent Load Command Register or Read Status Register. STATUS DESCRIPTION Upon receipt of any command, except the Force Interrupt command, the Busy Status bit is set and the rest of the status bits are updated or cleared for the new command. If the Force Interrupt Command is received when there is a current commarid uOider execution, the Busy status bit is reset, and the rest of the status bits are unchanged. If the Force Interrupt command is received when there is not a current command under execution, the Busy Status bit is reset and the rest of the status bits are updated or cleared. In this case, Status reflects the Type I commands. The format of the Status Register is shown belOW: Status varies according to the type of command executed as shown in Table 6. SET INTRQ RESET BUSY TYPE III COMMAND Read Track/Address 346 FORMATTING THE DISK IBM 3740 FORMAT-128 BYTES/SECTOR (Refer to section on Type III commands for flow diagrams.) Shown below is the IBM single-density format with 128 bytes/sector. In order to format a diskette, the user must issue the Write Track command, and load the data register with the following values. For ever) byte to be written, there is one data request. Formatting the disk is a relatively simple task when operating programmed I/O or when operating under Formatting the disk is accomplished by positioning the R/W head over the desired track number and issuing the Write Track command. Upon receipt of the Write Track command, the FD179X raises the Data Request signal. At this point in time, the user loads the data register with desired data to be written on the disk. For every byte of information to be written on the 'disk, a data request is generated. This sequence continues from one index mark to the next index mark. Normally, whatever data pattern appears in the data register is written on the disk with a normal clock pattern. However, if the FD179X detects a data pattern of F5 thru FE in the data register, this is interpreted as data address marks with missing clocks or CRC generation. For instance, in FM an FE pattern will be interpreted as an 10 address mark (DATA-FE, ClK-C7) and the CRC will be initialized. An F7 pattern will generate two CRC characters in FM or MFM. As a consequence, the patterns F5 thru FE must not appear in the gaps, data fields, or 10 fields. Also, CRC's must be generated by an F7 pattern. Disks may be formatted in IBM 3740 or System 34 formats with sector lengths of 128, 256, 512, or 1024 bytes. NUMBER OF BYTES 40 6 1 26 6 1 1 1 1 1 1 11 6 1 128 1 27 247" HEX VALUE OF BYTE WRIDEN FF (or DO)' 00 FC (Index Mark) FF (or 00) 00 FE (10 Address Mark) Track Number Side Number (00 or 01) Sector Number (1 thru lA) 00 F7 (2 CRC's written) FF (or 00) 00 FB (Data Address Mark) Data (IBM uses E5) F7 (2 CRC's written) FF (or 00) FF (or 00) 'Write bracketed field 26 times "Continue writing until FD179X interrupts out. Approx. 247 bytes. I-Optional '00' on 1795/7 only . .-""~ "·,,,,·,·H IBM TRACK FORMAT 347 IBM SYSTEM 34 FORMAT· 256 BYTES/SECTOR 1. NON-IBM FORMATS Variations in the IBM format are possible to a limited exlent ~ the following requirements are met: sector size must be a choice of 128, 256,512, or 1024 bytes; gap size must be according to the following table. Note that the Index Mark is not required by the 179X. The minimum gap sizes shown are that which is required by the 179X, with PLL lock-up time, motor speed variation, etc., adding additional bytes. Shown below is the IBM dual-density format with 256 bytes/sector. In order to format a diskette the user must issue the Write Track command and load the data register with the following values. For every byte to be written, there is one data request. NUMBER OF BYTES 80 12 3 1 50· ~ 3 1 1 1 1 1 1 22 12 3 1 256 1 54 's9a** HEX VALUE OF BYTE WRITTEN 4E 00 F6 FC (Index Mark) 4E 00 F5 FE (ID Address Mark) Track Number (0 thru 4C) Side Number (0 or 1) Sector Number (1 thru 1A) 01 F7 (2 CRCs written) 4E 00 F5 FB (Data Address Mark) DATA F7 (2 CRCs written) 4E 4E FM MFM Gap I 16 bytes FF 32 bytes4E Gap 1\ 11 bytes FF 22 bytes4E * 6 bytes 00 12 bytes 00 3 bytes A1 Gap 11\ 10 bytes FF 24 bytes4E 3 bytes Al 4 bytes 00 8 bytes 00 16 bytes FF 16 bytes4E ** Gap IV • Write bracketed field 26 times • Byte counts must be exact. •• Byte counts are minimum, except exactly 3 bytes of A1 must be written. *. Continue writing until FD179X interrupts out. Approx. 598 bytes. ELECTRICAL CHARACTERISTICS MAXIMUM RATINGS Voo With Respect to Vss (Ground) =15 to -0.3V Max. Voltage to Any Input With Respect to Vss =15 to -0.3V VDD = ID ma Nominal = 35 ma Nominal VCC DOC to 700 C -550 C to +1250 C Operating Temperature Storage Temperature OPERATING CHARACTERISTICS (DC) TA = O°C to 70°C, Voo = + 12V:±: SYMBOL III IoL V,H VIL VOH VOL Po .6V, Vss = OV, CHARACTERISTIC Input Leakage Output Leakage Input High Voltage Input Low Voltage Output High Voltage Output Low Voltage Power Dissipation Vee = + 5V MIN. :±: .25V MAX. 10 10 2.6 0.8 2.8 0.45 0.5 348 UNITS /LA /LA V V V V W CONDITIONS V,N - Voo VOUT Voo = 10 = -100 /LA 10 = 1.6 mA TIMING CHARACTERISTICS TA = OOC to 70°C. Voo = + 12V 2: .BV. Vss = OV. Vee =+5V ± .25V READ ENABLE TIMING SYMBOL TSET THLD TRE TDRR TIRR TDACC TDOH CHARACTERISTIC MIN. Setup ADDR & CS to RE Hold ADDR & CS from RE RE Pulse Width DRQ Reset from RE INTRQ Reset from RE Data Access from RE Data Hold From RE TYP. MAX. UNITS 500 3000 350 150 nsec nsec nsec nsec nsec nsec nsec 50 10 400 400 500 50 "I ... - - t - . , ,=---+--j .. OTE 1 CS ...... y liE F>ER ........ HHly TIEO lOW IF DESIRED READ ENABLE TIMING 349 CONDITIONS CL=50pf See Note 5 CL=50pf CL=50pf WRITE ENABLE TIMING SYMBOL CHARACTERISTIC TSET THLD TWE TORR TIRR TOS TDH Setup ADDR & CS to WE Hold ADDR & CS from WE WE Pulse Width ORO Reset from WE INTRa Reset from WE Data Setup to WE Data Hold from WE INPUT DATA TIMING' SYMBOL CHARACTERISTIC Tpw Raw Read Pulse Width tbe Raw Read Cycle Time MIN. TYP. MAX. UNITS 50 10 350 400 500 500 3000 MIN. TYP. MAX. 100 200 nsee See Note 1 1500 1500 nsee 1800 ns @ 700 e 1800 ns @ 700 e 250 70 See Note 5 UNITS Te RCLK Cycle Time TXl RCLK hold to Raw Read 40 nsee TX2 Raw Read hold to RCLK 40 nsee I" nsee CONDITIONS See Note 1 f---~'"'I '".---1 I-RAW READ -j '" LS U t==',,--j [ I ACllI '" CONDITIONS nsec nsec nsec nsec nsee nsee nsee !--" 1• 1 " " --I "I --+-~ "" -----+--1 NOMINAL DISKETTE 8" 8" 5" 5" MODE MFM FM MFM FM DDEN , , 0 0 elK 2 MHz 2 MHz 1 MHz , MHz T. 350 T, , 2~s 4~s 2~s 2~s 4,.. 8 ~s 4 ~s INPUT DATA TIMING WRITE ENABLE TIMING T. 1 ~s 2 ~s 4 ~s ~s 2 ~s WRITE DATA TIMING: (ALL TIMES DOUBLE WHEN eLK = 1 MHz) SYMBOL CHARACTERISTICS MIN. TYP. MAX. UNITS CONDITIONS Twp Write Data Pulse Width 450 150 550 250 Twg Write Gate to Write Data Tbc Ts Th nsec nsec f!sec f!sec f!sec nsec nsec FM MFM FM MFM :!:ClK Error MFM MFM Twf Write data cycle Time Early (late) to Write Data Early (Late) From Write Data Write Gate off from WD 500 200 2 1 2,3,or4 f!sec JLsec FM MFM Twdl WD Valid to Clk Twd2 WD Valid after ClK 125 125 2 1 nsec nsec nsec nsec 100 50 100 30 f--SOONS eLK (IMHZ) WD ~I , I ~ TWdl--1 L I ~o:;a 1 r-Twd2 r--125- ..·--i-1"--125-1 eLK (2MHZ) WD TWdl~ WRITE DATA/CLOCK RELATIONSHIP (DDEN= 0) WRITE DATA TIMING 351 ~ Twd2 ClK=1 CLK=2 CLK=1 ClK=2 MHZ MHZ MHZ MHZ MISCELLANEOUS TIMING: SYMBOL TCD, TCD2 TSTP TDIR TMR TIP TWF CHARACTERISTIC Clock Duty (low) Clock Duty (high) Step Pulse Output Dir Setup to Step Master Reset Pulse Width Index Pulse Width Write Fault Pulse Width MIN. TYP. MAX. 230 200 20r4 250 250 20000 20000 12 50 10 to UNITS CONDITIONS nsec nsec p'sec p'sec p'sec p.sec p'sec See Note 5 ±CLKERROR See Note 5 .----JJ ". ;;; JI-----, r--',e~-I , I~-'w' " -----JJ , .. -I , " -----J$ ,,,. 1-- 'M" .. -1 :;: ~ '"'"" J ~L--_ ,- '"" -1',,,1---1'"'' f-- f- ',," -1""'1- ~~ MISCELLANEOUS TIMING NOTES: 1. Pulse width on RAW READ (Pin 27) is normally 100-300 ns. However, pulse may be any width if pulse is entirely within window. If pulse occurs in both windows, then pulse width must be less than 300 ns for MFM at ClK = 2 MHz and 600 ns for FM at 2 MHz. Times double for 1 MHz. 2. A PPL Data Separator is recommended for 8" MFM. 3. tbc should be 2 P.s, nominal in MFM and 4 P.s nominal in FM. Times double when ClK = 1 MHz. 4. RCLK may be high or low during RAW READ (Polarity is unimportant). 5. Times double when clock = 1 MHz. 352 Table 6 STATUS REGISTER SUMMARY ALL TYPE I READ COMMANDS ADDRESS BIT S7 NOT READY NOT READY 0 S6 WRITE PROTECT 0 S5 HEAD LOADED S4 SEEK ERROR RNF CRC ERROR S3 CRC ERROR S2 Sl TRACK 0 INDEX LOST DATA DRO SO BUSY BUSY READ SECTOR NOT READY 0 RECORD TYPE RNF CRC ERROR LOST DATA DRO BUSY READ TRACK NOT READY 0 0 0 0 LOST DATA DRO BUSY WRITE TRACK WRITE SECTOR NOT READY WRITE PROTECT NOT READY WRITE PROTECT WRITE FAULT WRITE FAULT RNF CRC ERROR LOST DATA 0 0 LOST DATA DRO BUSY DRO BUSY STATUS FOR TYPE I COMMANDS BIT NAME S7 NOT READY MEANING This bit when set indicates the drive is not ready. When reset it indicates that the drive is ready. This bit is an inverted copy of the Ready input and logically 'ored' with MR. S6 PROTECTED When set, indicates Write Protect is activated. This bit is an inverted copy of WRPT input. When set, it indicates the head is loaded and engaged. This bit is a logical "and" of HLD and HLT signals. S5 HEAD LOADED S4 SEEK ERROR When set, the desired track was not verified. This bit is reset to 0 when updated. S3 CRC ERROR S2 TRACK 00 CRC encountered in ID field. When set, indicates Read/Write head is positioned to Tracl< O. This bit is an inverted copy of the TROO input. ~hen set, indicates index mark detected from drive. This bit is an inverted copy of the IP input. S11,NDEX SO BUSY When set command is in progress. When reset no command is in progress. STATUS FOR TYPE II AND III COMMANDS BIT NAME MEANING S7 NOT READY This bit when set indicates the drive is not ready. When reset, it indicates that the drive is ready. This bit is an inverted copy of the Ready input and 'ored' with MR. The Type II and III Commands will not execute unless the drive is ready. S6 WRITE PROTECT On Read Record: Not Used. On Read Track: Not Used. On any Write: It indicates a Write Protect. This bit is reset when updated. S5 RECORD TYPE/ WRITE FAULT On Read Record: It indicates the record-type code from data field address mark. 1 Deleted Data Mark. 0 Data Mark. On any Write: It indicates a Write Fault. This bit is reset when updated. S4 RECORD NOT FOUND (RNF) S3 CRC ERROR When set, it indicates that the desired track, sector, or side were not found. This bit is reset when updated. If S4 is set, an error is found in one or more ID fields; otherwise it indicates error in data field. This bit is reset when updated. S2 LOST DATA When set, it indicates the computer did not respond to DRO in one byte time. This bit is reset to zero when updated. = = Sl DATA REOUEST This bit is a copy of the DRO output. When set, it indicates the DR is full on a Read Operation or the DR is empty on a Write operation. This bit is reset to zero when updated. SO BUSY When set, command is under execution. When reset, no command is under execution. 353 . J::::::O::::::J :; 00' t~~ I I ,." ~:::::: :0:::: : OOT 200 MAX :1 L~J r--~ I I ~~ I I ~~!~ ~ ~~ ~ ~~ ~~~-T 015 MIN 090 I j:w --l I- ~ 055 -II-- --lI-- ~ 021 125 MIN FD179XA-02 CERAMIC PACKAGE FD179XB-02 PLASTIC PACKAGE This is a preliminary specification with tentative device parameters and may be subject to change after final product characterization is completed. InformaUon furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said circuitry at anytime without notice. WESTERN DIGITAL CORPORATION 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 354 WESTERN DIGITAL c o R p o R A T I o N FD179X Application Notes !fl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -. . . 0 ~ Ii w INTRODUCTION Over the past several years, the Floppy Disk Drive has become the most popular on-line storage device for mini and microcomputer systems. Its fast access time, reliability and low cost-per-bit ratio enables the Floppy Disk Drive to be the solution in mass storage for microprocessor systems. The drive interface to the Host system is standardized, allowing the OEM to substitute one drive for another with minimum hardware/ software modifications. . Since Floppy Disk Data is stored and retrieved as a self-clocking serial data stream, some means of separating the clock from the data and assembling this data in parallel form must be accomplished. Data is stored on individual Tracks of the media, requiring control of a stepper motor to move the Read/Write head to a predetermined Track. Byte sychronization must also be accomplished to insure that the parallel data is properly assembled. After all the design considerations are met, the final controller can consist of 40 or more TTL packages. To alleviate the burden of Floppy Disk Controller design, Western Digital has developed a Family of LSI Floppy Disk controller devices. Through its own set of macro commands, the FD179X Controller Family will perform all the functions necessary to read and write data to the drive. Both the 8" standard and 5%" minifloppy are supported with single or double density recording techniques. The FD179X is compatible with the IBM 3740 (FM) data format, or the System 34 (MFM) standards. Provisions for non-standard formats and variable sector lengths have been included to provide more storage capability per track. Requiring standard +5, +12 power supplies the FD179X is available in a standard 40 pin dual-in-line package. The FD179X Family consists of 6 devices. The differences between these devices is summarized in Figure 1. The 1792 and 1794 are "single density only" devices, with the Double Density Enable pin (DDEN) left open by the user. Both True and inverted Data bus devices are available. Since the 179X can only drive one TTL Load, a true data bus system may use the 1791 with external inverting buffers to arrive at a true bus scheme. The 1795 and 1797 are identical to the 1791 and 1793, except a side select output has been added that is controlled through the Command Register. ID SYSTEM DESIGN ~ > The first consideration in Floppy Disk Design is to de- ~ termine which type of drive to use. The choice ranges from single-density single sided mini-floppy to the 8" double-density double-sided drive. Figure 2 illustrates the various drive and data capacities associated with each type. Although the 8" double-density drive offers twice as much storage, a more complex data separator and the addition of Write Precornpensation circuits are mandatory for reliable data transfers. Whether to go with 8" double-density or not is dependent upon PC board space and the additional circuitry needed to accurately recover data with extreme bit shifts. The byte transfer time defines the nominal time required to transfer one byte of data from the drive. If the CPU used cannot service a byte in this time, then a DMA scheme will probably be required. The 179X also needs a few microseconds for overhead, which is subtracted from the transfer time. Figure 3 shows the actual service times that the CPU must provide on a byte-by-byte basis. If these times are not met, bytes of data will be lost during a read or write operation. For each byte transferred, the 179X generates a DRO (Data Request) signal on Pin 38. A bit is provided in the status register which is also set upon receipt of a byte from the Disk. The user has the option of reading the status register through program control or using the DRO Line with DMA or interrupt schemes. When the data register is read, both the status register DRO bit and the DRO Line are automatically reset. The next full byte will again set the DRO and the process continues until the sector(s) are read. The Write operation works exactly the same way, except a WRITE to the Data Register causes a reset of both DRQ's. RECORDING FORMATS The FD179X accepts data from the disk in a Frequency-Modulated (FM) or Modified-Frequency-Modulated (MFM) Format. Shown in Figures 4A and 4B are both these Formats when writing a Hexidecimal byte of 'D2'. In the FM mode, the 8 bits of data are broken up into "bit cells." Each bit cell begins with a clock pulse and the center 'of the bit cell defines the data. If the data bit = 0, no pulse is written; if the data = 1, a pulse is written in the center of the cell. For the 8" drive, each clock is written 4 microseconds apart. 355 In the MFM mode, clocks are decoded into the data stream. The byte is again broken up into bit cells, with the data bit written in the center of the bit cell if data = 1. Clocks are only written if both surrounding data bits are zero. Figure 4B shows that this occurs only once between Bit cell 4 and 5. Using this encoding scheme, pulses can occur 2, 3 or 4 microseconds apart. The bit cell time is now 2 microseconds; twice as much data can be recorded without increasing the Frequency rate due to this encoding scheme. The 179X was designed to be compatible with the IBM 3740 (FM) and System 34 (MFM) Formats. Although most users do not have a need for data exchange with IBM mainframes, taking advantage of these well studied formats will insure a high degree of system performance. The 179X will allow a change in gap fields and sector lengths to increase usable storage capacity, but variations away from these standards is not recommended. Both IBM standards are soft-sector format. Because of the wide variation in address marks, the 179X can only support soft-sectored media. Hard sectored diskettes have continued to lose popularity, mainly due to the unavailability of a standard and the limitation of sector lengths imposed by the physical sector holes in the diskette. PROCESSOR INTERFACE The Interface of the 179X to the CPU consists of an 8-bit Bi-directional bus, read/write controls and optional interrupt lines. By selecting the device via the CHIP SELECT Line, each of the five internal registers can be accessed. Shown below are the registers and their addresses: PIN 3 PIN 6 PIN 5 CS A, Ao a a a a 1 a a 1 1 X !a 1 a 1 X PIN 4 RE=ff STATUS REG TRACK REG SECTOR REG DATA REG Hl-Z PIN 2 WE~ COMMAND REG TRACK REG SECTOR REG DATA REG Hl-Z The Ao, A" Lines used for register selections can be configured at the CPU in a variety of ways. These lines may actually tie to CPU address lines, in which case the 179X will be memory-mapped and addressed like RAM. They may also be used under Program Control by tying to a port device such as the 8255, 6820, etc. As a diagnostic tool when checking out the CPU interface, the Track and Sector registers should respond like "RAM" when the 179X is idle (Busy = INTRa = 0). Because of internal synchronization cycles, certain time delays must be introduced when operating under Programmed I/O. The worst case delays are: OPERATION NEXT OPERATION WRITE TO COMMAND REG WRITE TO !ANY REGISTER READ STATUS MFM = 14f.Ls" REGISTER FM = 28f.Ls. READ FROM A NO DELAY DIFFERENT REG DELAY REa'D "NOTE: Times Double when ClK = 1MHz (51f4" drive) Other CPU interface lines are ClK, MR and DDEN. The ClK line should be 2MHz (8" drive) or lMHz (51f4" drive) with a 50% duty cycle. Accuracy should be ±1% (crystal source) since all internal timing, including stepping rates, are based upon this clock. The MR or Master Reset Line should be strobed a minimum of 50 microseconds upon each power-on condition. This line clears and initializes all internal registers and issues a restore command (Hex '03') on the rising edge. A quicker steppin9....@.te can be written to the command register after a MR, in which case the remaining steps will occur at the faster programmed rate. The 179X will issue a maximum of 255 stepping pulses in an attempt to expect the TROO line to go active low. This line should be connected to the drive's TROO sensor. The DDEN line causes selection of either single density (DDEN = 1) or double density operation. DDEN should not be switched during a read or write operation. Each time a command is issued to the 179X, the Busy bit is set and the INTRa (Interrupt Request) Line is reset. The "user has the option of checking the busy bit or use the INTRa Line to denote command completion. The Busy bit will be reset whenever the 179X is idle and awaiting a new command. The INTRa Line, once set, can only be reset by a READ of the status register or issuing a new command. The MR (Master Reset) Line does not affect INTRa. 356 FLOPPY DISK INTERFACE The Floppy Disk Interface can be divided into three sections: Motor Control, Write Signals and Read Signals. All of these lines are capable of driving one TTL load and not compatible for direct connection to the drive. Most drives require an open-collector TTL interface with high current drive capability. This must be done on all outputs from the 179X. Inputs to the 179X may be buffered or tied to the Drives outputs, providing the appropriate resistor termination networks are used. Undershoot should not exceed -0.3 volts, while integrity of V, Hand VOH levels shou Id be kept within spec. MOTOR CONTROL Motor Control is accomplished by the STEP and DIRC Lines. The STEP Line issues stepping pulses with a period defined by the rate field in all Type I commands. The DIRC Line defines the direction of steps (DIRC = 1 STEP IN/DIRC = a STEP OUT). Other Control Lines include the iP or Index Pulse. This Line is tied to the drives' Index L.ED. sensor and makes an active transition for each revolution of the diskette. The TROO Line is another L.E.D. sensor that informs the 179X that the stepper motor is at its furthest position, over Track 00. The READY Line can be used for a number of functions, such as sensing "door open", Drive motor on, etc. Most drives provide a programmable READY Signal selected by option jumpers on the drive. The 179X will look at the ready signal prior to executing READ/WRITE commands. READY is not inspected during any Type I commands. All Type I commands will execute regardless of the Logic Level on this Line. WRITE SIGNALS Writing of data is accomplished by the use of the WD, WG, WF, TG43, EARLY and LATE Lines. The WG or Write Gate Line is used to enable write current at the drive's R/W head. It is made active prior to writing data on the disk-, The WF or WRITE FAULT Line is used to inform the 179X of a failure in drive electronics. This signal is multiplexed with the VFOE Line and must be logically separated if required. Figure 5 illustrates three methods of demultiplexing. The TG43 or "TrACK GREATER than 43" Line is used to decrease the Write current on the inner tracks, where bit densities are the highest. ~ not required on the drive, TG43 may be left open. WRITE PRECOMPENSATION The 179X provides three signals for double density Write Precompensation use. These signals are WRITE DATA, EARLY and LATE. When using single density drives (eighter 8" or 5'14"), Write Precompensation is not necessary and the WRITE DATA line is generally TTL Buffered and sent directly to -the drive. In this mode, EARLY and LATE are left open. For double density use, Write Precompensation is a function of the drive. Some manufacturers recommend Precompensating the 5%" drive, while others do not. With the 8" drive, Precompensation may be specified from TRACK 43 on, or in most cases, all TRACKS. If the recommended Precompensation is not specified, 357 check with the manufacturer for the proper configuration required. The amount of Precompensation time also varies. A typical value will usually be specified from 100-300ns. Regardless of the parameters used, Write Precompensation must be done external to the 179X. When DDEN is tied low, EARLY or LATE will be activated at least 125ns. before and after the Write Data pulse. An Algorithm internal the 179X decides whether to raise EARLY or LATE, depending upon the previous bit pattern sent. As an example, suppose the recommended Precomp value has been specified at 150ns. The following action should be taken: EARLY LATE a a a 1 1 a ACTION TAKEN delay WD by 150ns (nominal) delay WD by 300ns (2X value) do not delay WD There are two methods of performing Write Precompensation: 1) External Delay elements 2) Digitally Shown in Figure 6 is a Precomp circuit using the Western Digital 2143 clock generator as the delay element. The WD pulse from the 179X creates a strobe to the 2143, causing subsequent output pulses on the.61 ,.62 and .03 signals. The 5K Precomp adjust sets the desired Precomp value. Depending upon the condition of EARLY and LATE,,O'1 will be used for EARLY,.ff2 for nominal (EARLY = LATE = 0), and.ff3 for LATE. The use of "one-shots" or delay line in a Write Precompensation scheme offers the user the ability to vary the Precomp value. The .ff4 output resets the 74LS175 Latch in anticipation of the next WD pulse. Figure 7 shows the WD-EARLYlLATE relationship, while Figure 8 shows the timing of this write .Precomp scheme. Another method of Precomp is to perform the function digitally. Figure 9 illustrates a relationship between the WD pulse and the CLK pin, allowing adigital Precomp scheme. Figure 10 shows such a scheme with a preset Write Precompensation value of 250ns. The synchronous counter is used to generate 2M Hz and 4MHz clock signals. The 2M Hz clock is sent to the CLK input of the 179X and the 4MHz is used by the 4-bit shift register. When a WD pulse is not present, the 4MHz clock is shifting "ones" through the shift register and maintaining Q D at a zero level. When a WD pulse is present, a zero is loaded at either A, B, or C depending upon the states of LATE, EN PRECOMP and EARLY. The zero is then shifted by the 4MHz clock until it reaches the Q D output. The number of shift operations determines whether the WRITE DATA pulse is written early, nominal or late. If both FM and MFM operations is a system requirement, the output of this circuit should be disabled and the WD pulse should be sent directly to the drive. DATA SEPARATION The 179X has two inputs (RAW READ & RCLK) and one output (VFOE) for use by an external data separator. The RAW READ input must present clock and data pulses to the 179X, while the RCLK input provides a "window" or strobe signal to clock each RAW READ pulse into the device. An ideal Data Separator would have the leading edge of the RAW READ pulse occur in the exact center of the RCLK strobe. Motor Speed Variation, Bit shifts and read amplifier recovery circuits all cause the RAW READ pulses to drift away from their nominal positions. As this occurs, the RAW READ pulses will shift left or right with respect to RCLK. Eventually, a pulse will make its transition outside of its RCLK window, causing either a CRC error or a Record-not-Found error at the 179X. A Phase-Lock-Loop circuit is one method of achieving synchronization between the RCLK and RAW READ signals. As RAW READ pulses are fed to the PLL, minor adjustments of the free-running RCLK frequency can be made. If pulses are occurring too far apart, the RCLK frequency is decreased to keep synchronization. If pulses begin to occur closer together, RCLK is increased until this new higher frequency is achieved. In normal read operations, RCLK will be constantly adjusted in an attempt to match the incoming RAW READ frequency. Another method of Data Separation is the CounterSeparator technique. The RCLK signal is again freerunning at a nominal rate, until a RAW READ pulse occurs. The Separator then denotes the pOsition of the pulse with respect to RCLK (by the counter value), and counts down to increase or decrease the current RCLK window. The next RCLK window will occur at a nominal rate and will continue to run at this frequency until another RAW READ pulse adjusts RCLK, but only the present window is adjusted. Both PPL and Counter/Separator are acceptable methods of Data Separation. The PPL has the highest reliability because of its "tracking" capability and is recommended for 8" double density designs. As a final note, the term "Data Separator" may be misleading, since the physical separation of clock and data bits are not actually performed. This term is used throughout the industry, and can better be described as a "Data Recovery Circuit" rather than a Data Separator. The VFOE signal is an output from the 179X that signifies the head has been loaded and valid data pulses are appearing on the RAW READ line. It can be used to enable the Data Separator and to insure clean RCLK transitions to the 179X. Since some drives will output random pulses when the head is disengaged, VFOE can prevent an erratic RCLK signal during this time. If the Data Separator requires synchronization during a known pattern of one's or zero's, then RG (READ GATE) can be used. The RG signal will go active when the 179X is currently over a field of zeros or ones. RG is not available on the 1795/1797 devices, since this signal was replaced with the SSO (Side Select Output) line. Shown in Figure 11 is a 2V2 IC Counter/Separator. The 74LS193 free runs at a frequency determined by the CRYCLK input. When a RAW READ pulse occurs, the counter is loaded with a starting count of '5'. When the RAW READ line returns to a Logic 1, the counter counts down to zero and again free runs. The 74LS74 insures a 50% duty cycle to the 179X and performs a divide-by-two of the 00 output. Figure 12 illustrates another Counter/Separator utilizing a PROM as the count generator. Depending upon the RAW READ phase relationship to RCLK, the PROM is addressed and its data output is used as the counter value. A 16MHz clock is required for 8" double density, while an 8MHz clock can be used for single density. Figure 13 shows a Phase-Lock-Loop data recovery circuit. The phase detector (U2, Figure 2) compares the phase of the SHAPED DATA pulse to the phase of VFO CLK .;. 2. If VFO CLK .;. 2 is lagging the SHAPED DATA pulse an output pulse on #9, U2 is generated. The filter/amplifier converts this pulse into a DC signal which increases the frequency of the VCO. If, correspondingly, CLK .;. 2 is leading the SHAPED DATA pulse, an output pulse on #5, U2 is generated. This pulse is converted into a DC signal which decreases the frequency of the VCO. These two actions cause the VCO to track the frequency of the incoming READ DATA pulses. This correction process to keep the two signals in phase is constantly occurring because of spindle speed variation and circuit parameter variations. The operating speCifications for this circuit are as follows: Free Running Frequency Capture Range Lock Up Time 2MHz ± 15% 50 microsec. "1111" or "0000" Pattern 100 Microsec "1010" Pattern The RAW READ pulses are generated from the falling edge of the SHAPED DATA pulses. The pulses are also reshaped to meet the 179X requirements. VFO CLK .;. 2 OR 4 is divided by 2 once again to obtain VFO CLK OUT whose frequency is that required by the 179X RCLK input. RCLK must be controlled by VFOE so VFOE is sampled on each rising edge of VFO CLK OUT. When VFOE goes active EN RCLK goes active in synchronization with VFO CLK OUT preventing any glitches on the RCLK output. When VFOE goes inactive EN RCLK goes inactive in synchronization with VFO CLK OUT, again preventing any glitches on the RCLK output. Figure 14 illustrates a PPL data recovery circuit using the Western Digital 1691 Floppy Support device. Both data recovery and Write Precomp Logic is contained within the 1691, allowing low chip count and PLL reliability. The 74S124 supplies the free'running VCO output. The PUMP UP and PUMP DOWN signals from the 1691 are used to control the 74S124's frequency. 358 COMMAND USAGE Whenever a command is successfully or unsuccessfully completed, the busy bit of the status register is reset and the INTRa line is forced high. Command termination may be detected either way. The INTRa can be tied to the host processor's interrupt with an appropriate service routine to terminate commands. The busy bit may be monitored with a user program and will achieve the same results through software. Performing both an INTRa and a busy bit check is not recommended because a read of the status register to determine the condition of the busy bit will reset the INTRa line. This can cause an INTRa from not occurring. FORCED INTERRUPT COMMAND The Forced Interrupt command is generally used to terminate a multiple sector command or to insure Type I status in the status register. The lower four bits of the command determine the conditional interrupt as follows: 10 1, 1, 1, Regardless of the conditional interrupt set, any command that is currently being executed when the Forced Interrupt command is loaded will immediately be terminated and the busy bit will be reset indicating an idle condition. Then, when the condition for interrupt is met, the INTRQ line will go high signifying that the condition specified has occurred. The conditional interrupt is enabled when the corresponding bit positions of the command (I, -10) are set to a 1. If I, -10 are all set to zero, no interrupt will occur, but any command presently under execution will be immediately terminated upon receipt of the Force Interrupt command (HEX DO). As usual, to clear the interrupt a read of the status register or a write to the command register is required. The exception is when using the immediate interrupt condition (I, = 1). If this command is loaded into the command register, an interrupt will be immediately generated and the current command terminated. Reading the status or writing to the command register will not automatically clear the interrupt; another forced interrupt command with 13 -10 = 0 must be loaded into the command register in order to reset the INTRQ from this condition. More than one condition may be set at a time. If for example, the READY TO NOT-READY condition (I, = 1) and the Every Index Pulse (I, = 1) are both set, the resultant command would be HEX "DA". The "OR" function is performed so that either a READY TO NOTREADY or the next Index Pulse will cause an interrupt condition. RESTORE COMMAND On some disk drives, it is possible to position the R/W head outward past Track 00 and prevent the TROO line from going low unless a STEP IN is first performed. If this condition exists in the drive used, the RESTORE command will never detect a TROO. Issuing several STEP IN pulses before a RESTORE command will remedy this situation. The RESTORE and all other Type I commands will execute even though the READY bit indicates the drive is not ready (NOT READY = 1). READ TRACK COMMAND The READ TRACK command can be used to manually inspect data on a hard copy printout. Gaps, address marks and all data are broug ht into the data register during this command. The READ TRACK command may be used to inspect diskettes for valid formatting and data fields as well as address marks. Since the 179X does not synchronize clock and data until the Index Address Mark is detected, data previous to this 10 mark will not be valid. READ GATE (RG) is not actuated during this command. READ ADDRESS COMMAND In systems that use either multiple drives or sides, the read address command can be used to tell the host processor which drive or side is selected. The current position of the R/W head is also denoted in the six bytes of data that are sent to the computer. 'TRACK SIDE I SECTOR , NOT-READY TO READY TRANSITION READY TO NOT-READY TRANSITION EVERY INDEX PULSE IMMEDIATE INTERRUPT LE~~;H IC~C' C~C I The READ ADDRESS command as well as all other Type 11 and Type 111 commands will riot execute if the READY line is inactive (READY = 0). Instead, an interrupt will be generated and the NOT READY status bit will be set to a 1. DATA RECOVERY Occasionally, the RlW head of the disk drive may get "off track", and dust or dirt may get trapped on the media. Both of these conditions will cause a RECORD NOT FOUND and/or a CRC error to occur. This "soft error" can usually be recovered by the following procedure: 1. Issue the command again 2. Unload and load the head and repeat step 3. Issue a restore, seek the track, and repeat step 1 If RNF or CRC errors are still occurring after trying these methods, a "hard error" may exist. This is usually caused by improper disk handling, exposure to high magnetic fields, etc. and generally results in destroying portions or tracks of the diskette. 359 FIGURE 1 DEVICE DEVICE CHARACTERISTICS SNGL DENSITY DBLE DENSITY X X X X X 1791 1792 1793 1794 1795 1797 INVERTED BUS TRUE BUS X X X X X X X X X X DOUBLE-SIDED X X X FIGURE 2 STORAGE CAPACITIES UNFORMATTED CAPACITY (NOMINAL) SIZE DENSITY SIDES PER TRACK PER DISK 51/4" SINGLE DOUBLE SINGLE DOUBLE SINGLE DOUBLE SINGLE DOUBLE 1 1 2 2 1 1 2 2 3125 6250 3125 6250 5208 10,416 5208 10,416 109,375' 218,750 218,750 437,500 401,016 802,032 802,032 1,604,064 5V4" 51/4" 5'/4" 8" 8" 8" 8" 'Based on 35 Tracks/Side "Based on 18 Sectors/Track (128 byte/sec) '''Based on 18 Sectors/Track (256 bytes/sec) 360 BYTE TRANSFER TIME 64",s 32",s 64",s 32",5 32",5 16",5 32",s 16",s FORMATTED CAPACITY PER TRACK PER DISK 2304" 4608'" 2304 4608 3328 6656 3328 6656 80,640 161,280 161,280 322,560 256,256 512,512 512,512 1,025,024 FIGURE 3 NOMINAL VS. WORSE CASE SERVICE TIME SIZE DENSITY NOMINAL TRANSFER TIME 5V4" 5%" 8" 8" SINGLE DOUBLE SINGLE DOUBLE 641"5 321"5 321"5 161"5 WORST-CASE 179X SERVICE TIME READ WRITE 55.01"5 27.51"5 27.51"5 13.51"5 47.01"5 23.51"5 23.51"5 11.51"5 FIGURE 4A. FM RECORDING BIT a BIT 1 BIT 2 BIT 3 BIT 4 BIT 5 BIT 6 81T 7 HEX 02 RULE 1) WRITE DATA BITS AT CENTER OF BIT CELL IF A "1 2) WRITE CLOCK BITS AT LEADING EDGE OF THE BIT CELL FIGURE 4B. MFM RECORDING BITO HEX 02 BIT 1 ~ BIT 2 BIT 4 BIT 3 BIT 5 BIT 6 BIT 7 ________~R~______~~~____~~~______ RULE 1) WAITE DATA BITS AT CENTER OF BIT CELL IF A "1 2) WRITE CLOCK BITS AT LEADING EDGE OF BIT CELL IF A) NO DATA BIT HAS BEEN WRITTEN LAST -ANDa) NO DATA BIT WilL BE WRITTEN NEXT 361 FIGURE 5 WFNFOE DEMULTIPLEXING CIRCUITRY +5 +5 10K 33 74LSOl f--''''-~-lI'' (WG TO DRIVE) • (WF FROM DRIVE) 179X VFOE 179X 30 74LS04 ) 0 - - -. . VFOE 74LS02 PIN 33 USED AS A VFOE SIGNAL ONLY .. PIN 33 USED AS VFOE AND WF SIGNALS WF (FROM DRIVE) 33 179X 30 • f-------*---tII.. WG (TO DRIVE) PIN 33 USED AS A WF SIGNAL ONLY +5 10K 7438 74lS175 12 C-EAALY woro WDf--'------~9~C~LK~3~D 2 DRIVE 1Q 5 20 C-LATE ro~~~=-~ I~====~ 4 10 15 C-NOMINAL 4Qf--'-------r+~_i EARLY f--'-+-~:-""" LATE _ 13 4DCl~Q 10 f---*----I.~./ 74LS02 FD179X W02143 11 IN )l'f ,(f2 .ro 5K ..d'4 +12>-~~~~--~-'~7L~~w~J PRECOMP. ADJUST FIGURE 6 179X WRITE PRE-COMP 362 __I WD WD 1 1 1 : I ------------------------~ EARLY OR LATE ~~ ---------------------~ EARLY OR LATE 250 NS MIN. 125 NS MIN. VALID FOR DURATION OF PULSE we DOUBLE TIMES FOR 5~ (MINI-FLOPPY) Tt DOUBLE TIMES FOR 5" (MINI-FLOPPY) 450 NS MIN. VALID BEFORE LEADING EDGE OF WRITE PRE-COMP TIMING FOR MFM we WRITE PRE-COMP TIMING FOR FM FIGURE 7 WRITE PRE·COMP TIMING BIT CELL 0 d BIT CELL 4 BIT CELL 1 BIT CEllS d I BIT ~Ell6 I BIT CELL 8 BIT tEll 7 ,d ~ W[t5 EARLY n LATE C-EARLY C-LATE n n n n II n n jll ,k P3 I' Wo FIGURE 8 PRECOMP TIMING FOR CIRCUIT IN FIGURE 6 363 n n BIT CELL 9 Ji eLK @lMHz L WD (DDEN'= 0) ~l00ns "" 1DOns eLK @2MHz 250ns 250ns L 125ns • WD (DDEN '= 0) ~50ns ;.30os FIGURE 9 WD/CLK RELATIONSHIP FOR WRITE PRECOMP USE , m> , , S , C ,, 9 Q.~------------------------~D IO Q. WRITE DATE (TO DRIVE) Wij (FROM 1791) 9 SHFTiCI'l' WE (FROM 1791) T043 (EN PRECOMP) EARLY (FROM 1791) FIGURE 10 DIGITAL WRITE PRECOMP CIRCUIT (PROViDeD COURTESY OF MPI, OKLAHOMA CITY. 01( 73112 364 +5 R, C = 150 NS ~ 50 74123 RAW READ FROM DRIVE ~__~______________________________ 2n7 RAW READ 1791/1793 26 N.U 74LS74 4 CD C '_4_ 74LS193 CRYCLK TYPE CRYCLK 8" FM 8 MHz 5" MFM 8 MHz 5" FM 4 MHz FIGURE 11 COUNTER/SEPARATOR 365 RClK RG 745288 PROGRAMMING TABLE ADDRESS ()() 01 01 01 02 02 03 03 04 03 OS 04 06 OS 07 O. 08 08 0' OA OD 08 OF OF ~ 74lS04 RETARD BY 2 COUNTS 27 RAW READ ADVANCE BY 2 COUNTS READ DATA ~ FROM DRIVE 2' ADVANCE BY 1 COUNT 00 OF 01 10 01 11 02 12 13 03 14 OS a'J; 74lS/4 a'r'--~ FREE RUN _ ,S 179X-Ol ~~~---- O. 07 08 18 0' OA + r----.~-~- S 08 lB lC DC OD lD DE 1E OF 1F 00 R"ClK ;; lAo "'~ 04 16 17 ~ 1A NONE RETARD BY 1 COUNT OE OD 15 +S ACTION TAKEN DC OC OE I DATA ~~ FIGURE 12 179X DATA SEPARATOR (PROVIDED COURTESY OF ANDROMEDA SYSTEMS. PANORAMA CITY, CA 91402) UlWOI--OZ '" CD CD .., -12 10 VV\I-----] R16 .5 10KO R11 140n R25 1600 R1B 2701} ~ 1!2W 12o------'1.o,.'__-~---_, R21 10Kn 1% 1/2W VR2 S.6V 5% R12 60SH 1% TPl R19 2.2KO 4 ~~ 31 26802 16 CLR i;, Ul CR2 IN914 vW-----1 74811215 CLK K 15 R 10 U2 11 J 13 elK SHAPED DATA 741C R23 1.2KU U3 CRl +5 L...1,MHZ 8 R33 3.48Kn 1% R32 2.2KO 12 K 14 R VFO eLK STEERING 2 VCO IN914 C72 .1j.lF ea3 047J.lF 9 150 NSEC +5~ TP2 c.> C82 1300",F R35 R34 1.10Kn ..... 2% 1% 10K1I 1% '" R30 5.1KO 1 ("ii) -12 C89 II 82Jl.F VFOCLK :20R4 RAWAEAD (E> 1 EN PRE-COMP (G) 1 VFOE ~ ;S74S112 J 1.. 2~LK 15 +5 01 ,I IJ J R 74LSQ4 lKO 1 <~) i5iiEN 1 [£) TG<3 FIGURE 13 PLL DATA RECOVERY CIRCUIT (PROVIDED COURTESY OF MPI, OKLAHOMA CITY, OK 73112) "";.. "" - >""', ZO--'iomcn ---+ .... 200 NS :': 25 -----u- . "I'IE hl\l()10MSDfLAY 1 AND eLK 1 "" • ., THERE 'o,A 20MS DELA~ For IBM 3740 compatibility, the b flag should equal1. The numbers of bytes in the data field (sector) is then 128 x 2n where n = 0, 1, 2, 3. TYPE I COMMAND FLOW 379 lOAM 10 Address Mark"" DATA Data AM Data Address Mark - IFEJ,6 elK DATA (Cl)'6 '(F8. F9 FA, or FB), elK (C7)16 For b Sector Length Field (Hexl Number of Bytes In Sector (DeCimal) When the b flag equals zero, the sector length field (n) multiplied by 16 determines the number of bytes In the sector or data field as shown below" For b 0 Sector Length Field (Hex) Number of Bytes In Sector (DeCimal) Each of the Type II commands also contain a (m) flag which determines If the multiple records (sectors) are to be read or wntten, depending upon the command" If m =0 a single sector IS read or written and an interrupt IS generated at the completion of the command" If m=l, multiple records are read or written with the sector register internally updated so that an address venf,cation can occur on the next record The FDl771 will continue to read or write multiple records and update the sector register until the sector register exceeds the number of sectors on the track or until the Force Interrupt command is loaded into the command register, which terminated the command and generates an interrupL IJ (HUH h NI) '0 M5IJEl 'ANllll~ "y '\\H/IHfRfl~"']OMSDEI"'V READ COMMAND Upon receipt of the Read command, the head is loaded, the BUSY status bit set, and when an 10 field IS encountered that has the correct track number, correct sector number, and correct eRe, the data field is presented to the computer" The Data Address Mark of the data field must be found within 28 bytes of the correct field; if noL the Record Not Found status bit is set and the operation is terminilted" When TYPE II COMMAND FLOW the first character or byte of the data field has been shifted through the OSR, it is transferred to the DR, and ORO is generated" When the next byte is accumulated in the OSR, it is transferred to the DR and another ORO is generated" If the computer has not read the previous contents of the DR before a new character is transferred that character is lost and the 360 "" IO"1,j II£EN DETE;HD DOES 1-------0::.---< A~~AE~~ ....OCfK,D FIno DOES 1-------=--< A~~Al;~~~~D TYPE \I COMMAND FLOW TYPE \I COMMAND FLOW Lost Data status bit is set. This sequence continues until the complete data field has been input to the computer. If there is a CRC error at the end of the data field, the CRC error status bit is set, and the command is terminated (even if it is a mulltiple record command). WRITE COIVI~JlAND Upon receipt of the Write command, the head is loaded (HLO a(:tive) and the BUSY status bit is set. When an I D field is encountered that has the correct track number, correct sector number, and correct CRC, a ORO is generated. The FOl771 counts off 11 bytes from the CRC field and the Write Gate (WG) output is made active if the ORO is serviced (i.e., the DR has been loaded by the computer). If DRO has not been serviced, the command is terminated and the Lost Data status bit is set. If the DRO has been serviced, the WG is made active and six bytes of zeros are then written on the disk. At this time the Data Address Mark is then written on the disk as determined by the a, ao field of the command as shown on next page. At the end of the Read operation, the type of Data Address Mark encountered in the data field is recorded in the Status Register (Bits 5 and 6) as shown below. The FOl771 then writes the data field and generates DROs to the computer. If the ORO is not serviced in 381 TYPE III COMMANDS READ Address time for continuous writing the Lost Data status bIt IS set and a byte of zeros is written on the disk. The command is not terminated. After the last data byte has been written on the disk, the two-byte eRe is computed internally and written on the disk followed by one byte gap of logic ones. The WG output is then deactivated. Upon receipt of the Read Address command, the head is loaded and the BUSY Status bit is set. The next encountered ID field is then read in from the disk, and the six data bytes of the I D field are assembled and transferred to the DR, and a DRQ is generated for each byte. The six bytes of the ID field are shown below. Although the eRe characters are transferred to the computer, the FDI771 checks for validity and the eRe error status bit is set if there is a eRe error. The Sector Address of the I D field is written into the Sector Register. At the end of the operation an interrupt is generated and the BUSY Status is reset. READ TRACK >':~_-1I"'lRQ RESET BUSY Upon receipt of the Read Track command, the head is loaded and the BUSY status bit is set. Reading starts with the leading edge of the first encountered index mark and continues until the next index pulse. As each byte is assembled it is transferred to the Data Register and the Data Request is generated for each byte. No eRe checking is performed. Gaps are included in the input data stream. If bit O(S) of the command is a 0, the accumulation of bytes is synchronized to each Address Mark encountered. Upon completion of the command, the interrupt is activated. WRITE TRACK HAVE t -_ _ ~=< BE:~l::I~;iN TYPE II COMMAND FLOW Upon receipt of the Write Track command, the head is loaded and the BUSY status bit is set. Writing starts with the leading edge of the first encountered index pulse and continues until the next index pulse, at which time the interrupt is activated. The Data Request is activated immediately upon receiving the command, but writing will not start until after the first byte has been loaded into the Data Register. If the DR has not been loaded by the time the index pulse is encountered the operation is terminated making the device Not Busy, the Lost Data status bit is set. and the Interrupt is activated. If a byte is not present in the DR when needed, a byte of zeros is substituted. Address Marks and eRe characters are written on the disk by detecting certain data byte patterns in the outgoing data stream as shown in the table below. The eRe generator is initialized when any data byte from F8 to FE is about to be transferred from the DR to the DSR. 382 Ou[<" ll<"f~ " 011('> O<.,IlF8 ~?B II: "'j ' '1 WP,TE CLK fe ('J/ WI'1II£,fO FE· ~8 - Fe Cu< CI Dr:. BEfN ,0.0.0(0 TYPE III COMMAND WRITE TRACK The Write Track Command will not execute if the DINT input is grounded; instead, the Write Protect status bit is set and the interrupt is activated. Note that one F7 pattern generates two CRC characters. TYPE IV COMMAND Force Interrupt This command can be loaded into the command register at any time. If there is a current command under execution (BUSY status bit set), the command will be terminated and an interrupt will be generated when the condition specified in the 10 through 13 field is detected. The interrupt conditions are shown below: TYPE III COMMAND WRITE TRACK CONTROL BYTES FOR INITIALIZATION 10= Not-Ready-To-Ready Transition I, = Ready-To-Not-Ready TranSition 12 = Every Index Pulse 13 = I mmediate Interrupt (Requires reset, see Note) NOTE: If 10 - 13 -: 0, there is no interrupt generated but the current command is terminated and busy is reset. This is the only command that will clear the immediate interrupt. 383 STATUS DESCRIPTION Upon "ecelpt of any command, except the Force Interrupt command, the Busy Status bit is set and the rest of the status bits are updated or cleared for the new command. If the Force Interrupt Command IS received when there IS a current command under execution, the Busy status bit IS reset, and the rest of the status bits are unchanged. If the Force Interrupt command is received when there IS not a current command under execution, the Busy Status bit is Table 6 reset and the rest of the status bits are updated or cleared. In this case, Status reflects the Type I commands The format of the Status Register is shown below. '1 $7 Status varies according to the type of command executed as shown in Table 6. STATUS REGISTER SUMMARY STATUS FOR TYPE I COMMANDS 384 STATUS BITS FOR TYPE II AND III COMMANDS MEANING This bit when set indicates the drive is not ready. When reset, it indicates that the drive is (eady. This bH is an inverledcopyof the READY input and "ored"..with MR. The TYPE II and III Commands wHlnotexecute unless the drive is ready. TYPEIWRITE PROTECT On Read. Record: It indicates the MSB of record-type code from data field address marlc On Read Track: Not Used, On any Write Track It indicates a Write Protect. This bil is reset when updated. On Read Record: It indicates the LSB of record-type code from data. field address mark. On Read Track: NolUsed: On any Write Track: It indicates a Write Fault. This bit is reset when updated. When set, it indicates that the deSired track and sector were not found. This bit is reset when updated. If S4 is set, an error is found in one or more 10 fields; otherwise it indicates error in data field. This bit is reset when updated. When set. it indicates .the computer did not resp()nd to ORO in one byte time, This bit is reset to zero when updated: This bit is a.copy of the DAO output. When set, itindicat~lheDR isfuU on a Readoperation or the DRisempty on a Write?peralio!): This bit is reset to zero When,updatec:l. . .... When set, command is ~nder execution When reset, no co~ . is under execution. . FORMATTING THE DISK (Refer to section on Type III Commands for flow diagrams.) Formatting the disk is a relatively simple task when operaling programmed I/O or when operating under DMA control With a large amount of memory. When operating under DMA with limited amount of memory. formatting IS a more diffitult task. This is because gaps as well as data must be provided at the computer interface. Formatting the disk is accomplished by positioning the R/W head over the deSired track number and issuing the Write Track command. Upon receipt of the Write Track command, the FDl771 raises the Data Request signal. At this point in time, the user loads the Data Register with desired data to be written on the disk. For every byte of information to be written on the disk, a Data Request is generated. This sequence continues from one index mark to the next index mark. Normally, whatever data pattern appears in the Data Register is written on the disk with a clock mark of (FF)16. However, if the FDl771 detects a data pattern on F'1 through FE in the Data 385 Register, this is interpreted as data address marks with missing clocks or CRC generation. For instance, an FE pattern will be interpreted as an 10 address mark (DATA-FE, ClK-e7) and theCRC will be Initialized. An F7 pattern will generate two CRC characters. As a consequence, the patterns F7 through FE must not appear in the gaps, data fields. or ID fields. Also, CRCs must be generated by an F7 pattern. Disks may be formatted in IBM 3740 formats with sector lengths of 128,256,512, or 1024 bytes, or may be formatted in non-IBM format with sector lengths of 16 to 4096 bytes in 16-byte increments. IBM 3740 at the present time only defines two formats. One format with 128 bytes/sector and the other with 256 bytes/sector. The next section deals with the IBM 3740 format with 128 bytes/sector followed by a section of non-IBM formats. IBM 3740 Formats - 128 Bytes/Sector The IBM format with 128 bytes/sector is depicted in the Track Format figure on the following page. In order to create this format, the user must issue the Write Track command, and load the data register with the following values. For every byte to be written, there is one data request. Number Hex Value of of Bytes Byte Written 40 6 1 26 6 1 1 1 1 11 6 1 128 1 27 247" 00 or FF 00 FC (Index Mark) 00 or FF 00 FE (10 Address Mark) Track Number (0 through 4C) 00 Sector Number (1 through lA) 00 F7 (two CRCs written) 00 or FF 00 FB (Data Address Mark) Data (IBM uses E5) F7 (two CRCs written) 00 or FF 00 or FF 'Write bracketed field 26 times. "Continue writing until FDI771 interrupts out. Approximately 247 bytes. Non-IBM Formats Non-IBM formats are very similar to the IBM formats except a different algorithm is used to ascertain the sector length from the sector length byte in the 10 field. This permits a wide range of sector lengths from 16 to 4096 bytes. Refer to Section V, Type II commands with b flag equal to zero. Note that F7 through FE must not appear in the sector length byte of the 10 field. In formatting the FD1771 , only two requirements regarding GAP sizes must be met. GAP 2 (i.e., the gap between the 10 field and data field) must be 17 bytes of which the last 6 bytes must be zero and that every address mark be preceded by at least one byte of zeros. However, it is recommended that every GAP be at least 17 bytes long with 6 bytes of zeros. The FDI771 does not require the index address mark (i.e., DATA = FC, ClK = 07) and need not be present. References: 1) IBM Diskette OEM Information GA21-9190-1. 2) SA900 IBM Compatibility Reference Manual Shugart Associates. 00 OR FF J TRACK FORMAT 386 L-",,,,,--J ' - ~~'::E~~~ST~:iAO~~:gA UPDATE OPERATING CHARACTERISTICS (DC) ELECTRICAL CHARACTERISTICS Maxium Ralings VOO with respect to VBB (Ground) Max Voltage to any input with respect to VBB Operating Temperature Storage Temperature +20 to -0.3V +20 to -0.3V TA = VBB I DO I BB 0' e to 70' C Characteristic Min. Input Leakage Output Leakage Input High Voltage o'e to 70'e, VOO = +12.0V ± .6V, = -5.0 ± .5V, VSS = OV, Vee = +5V ± .25V = 10 ma Nominal, lee = 30 ma Nominal, = G.4 J.l a Nominal Typ. Max. Units Conditions 10 /-I A VIN" VOO 10 /-I A VOUT =VOO 2.6 Input Low Voltage (All Inputs) 0.8 Output High Voltage 0.45 Output Low Voltage TIMING CHARACTERISTICS V V V V NOTE: Timings are given for 2 MHz Clock. For those timings noted, values will double when chip is operated at 1 MHz. Use 1 MHz when using mini-floppy. TA = G'C to 70'C, VDO = +12V ± .6V, V BB = -5V ± .25V, VSS = OV, Vee = +5V ± .25V Read Operations Write Operations Edernal Data Separation (XTDS = 0) 387 .. on ,~i~rl~i~'f~~~~:~~~~~~~~:~:i~T~~~1~~~;~~~.~f;·:~~I~~J~~R~: ~~;:7;o~~1~ I "01£ , V; ..... 8~ PER ...... r"'l. ~ I;"S£C . " ... ( OOlJ(llF<; T"'~ " ... ( ..... 8E ,,,. '0 1,· ~SfC "" .. ( .. ~ 0 . R ..... Bf PER ...... f .. " . ',fOlOW"OFSIRED J ' ..... aWOf'ISTC.SE1 ... S£C ""Hf" nK ''''''1 . ""'! 00U8L(<; """("ClK READ ENABLE TIMING I ..... { WRITE ENABLE TIMING .. 01£ , .lEIOYE "",(S .. R£ OOU8lED "'HE .. CLK ,,,, .. { ; CO"'.C' WOC fOR £ CtOCK 0" T. S(~.R" TOR "('1"., C'R("LJll~ J fOClI' .."'O.OO.' ......... 8£R!VERSED fO"TI DECIDES W.... T IS ClOCI<. ."'OW ..... , '5 0 ...... READ TIMING (XTDS . 0) Internal Data Separation (XTDS = 1) Symbol cha~ra~c~te~r~iS~ti~C~~~~~M~in~.~~~~M~a~x~.~u_n~it~s~~~_C_o~n~d~it_io_n_s__~~ Write Data Timing 388 ~---il"" Jr::=;;-----11 '."",, .h I-' "~' "'I- -i "'i- 1-' ".~' "'l- -I' "'i1 , - - - ._ _ __ -JLSlr1~ READ TIMING (XTDS we = 1) MISCELLANEOUS TIMING ~r------------II~ r-' w'""4 , 'wW --j I-- , -1 'l ~ ,wwl- 1= '","-1, ,w---r--' 'w __(wI-- --j -1 I-- ~ I~/ Ll"~T DATA 90T TOBfWAOIIEN WRITE DATA TIMING 389 1--' we" f:":: I:: [:a:: ::[[[':::1 200 2.025 MAX MAX I L~J r- ~ 090~ ~ -1~ ~ I~ ~ ~ ~ ~ ~ ~ 03~~I --1-~ I I! I : 'i 015 f -11-- MIN 110 -- OS!> Q'_4 021 125 MIN j -- 610 I MAX ---, fr-~l I-~~I FD1771A CERAMIC PACKAGE FD1771B PLASTIC PACKAGE ThiS IS a prelimInary specIfication With tentative device parameters and may be subject to change after final product characterization IS completed Information furnished by Western DigItal Corporation is believed to be accurate and reliable. However, no responsIbility IS assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may result from rts use No ,license is granted by implication or otherwise under any patent or patent rights of Western Digital Corpora lion. Western Digital Corporahan reserves the right to change said CirCUItry at any time without notice. WESTERN DIGITAL CORPORATION 3128 REDHILL AVENUE. BOX 2180 NEWPORT BEACH. CA 92663 (714) 557-3550.TWX 910-595-1139 390 WESTERN DIGITAL c o R p o R A T o / N 1771-01 Application Notes INTRODUCTION The FDI771-01 Floppy Disk Formatter/Controller is a MOS/LSI device designed to ease the task of interfacing the 8" or 5'1, (mini-floppy) disk drive to a host processor. It is ideally suited for a wide range of microprocessors, providing an 8-bit bi-directional interface to the CPU for all control and data transfers. Requiring standard + 12, :±5V power supplies, the 1771 is available in ceramic or plastic40 pin dual-in-line packages. The 1771 has been designed to be compatible with the IBM 3740 standard. This single-density Frequency Modulated (FM) recording technique, records a clock bit between a data bit serially on each track. Figure 1 illustrates how a HEX' "D2" is recorded. Note that when the data bit to be written is zero, no pulse or flux transition is recorded. For the 8" drive, there are 77 tracks, with 26 sectors on each track. Each sector contains 128 bytes of data. Although there is no "standard" format for the mini-floppy, most manufacturers utilize either 35 or40 tracks J;ler side, wtih 16 sectors of 128 bytes each per track. Both the 8" and 5'1," formats must be soft-sectored, i.e., there are no physical holes to denote sector locations. The hard-sectored disk has been losing popularity, mainly due to the fact that tile sector lengths cannot be increased. Being soft-sector compatible, the 1771 must know where each sector begins on the track. This is performed by using Address Marks. These bytes are recorded on the disk with certain clock pulses missing, and are unique from all other data and gap bytes recorded on the track. Six distinct Address Marks can be used: Description Data Clock Pattern Index Address Mark ID Address Mark Data Address Mark User defined User Defined Deleted Address Mark FC FE FB FA F9 F8 D7 C7 C7 C7 C7 C7 The two "User Defined" Address Marks are unique to the 1771, and do not appear in the IBM 3740 standard. These Address Marks can be used to define the type of data i.e., "object" or "text" data, ~ alternate sector data, or any other purpose the user CI) chooses. PROCESSOR INTERFACE The 1771 contains five internal registers that can be accessed via the 8-bit DAL lines by the CPU. These registers are used to control the movement of the head, read and write sectors, and perform all other functions at the drive. Regardless of the operation performed, it must be initiated through one or more of these registers. They are selected by a proper binary code on the AO, AI lines in conjunction with the RE and WE lines when the device is selected. The registers and their addresses are: CS A, Ao RE = 0 WE=O 0 0 0 0 1 0 0 1 1 X 0 1 0 1 X STATUS REG TRACK REG SECTOR REG DATA REG Deselected COMMAND REG TRACK REG SECTOR REG DATA REG Deselected Command Register. This is a write-only register used to send all commands to the 1771. Status Register. This is a read-only register that must be read at the completion of every command to determine whether execution was successful. It may also be used to monitor command execution, and to sense when data is required by the drive for read or write operations. Track Register. This R/W register holds the current position of the R/W head. Sector Register. This R/W register holds the desired sector number for read and write commands. Data Register: This R/W register contains the data to be read or written to a particular sector. INTERRUPTS There are two INTERRUPT lines for CPU use. These are the DRO (Data Request) and INTRa (Interrupt Request). These are active high, open drain outputs and require a pull-up resistor of 10K or greater to +5V. Both of these signals also appear in the status register as the Busy (INTRa) and the data request (DRO) bits. The user has the option of utilizing these hardware lines for system interrupts, or through 391 software by polling the status register. The choice is dependent upon the particular microprocessor and support hardware of the system. INTRa: This line is used to signify the completion of any command. It is reset low when a new command is loaded into the command register, or when the status register is read. ORa: This line is active high whenever the data register requires servicing. During a read command, it signifies that the data register contains a byte of data from the disk and may be read by the CPU. During a write command, it signifies that the data register is empty and may be loaded with the next byte to be written on the disk. The DRO line is reset whenever the data register is read or written to. I t is also reset when a new command is loaded into the command register, providing the new command is not a Forced Interrupt, and the 1771 is not busy (BusyBit~O). WRITE SECTOR With the use of the WRITE SECTOR command, the CPU can access any desired sector(s) in a track. Prior to loading this command, the R/W head of the drive must be positioned over the specific track. This can be first accomplished with the use of any of the Type I commands. Once positioned, the CPU must load the desired sector number into the sector register, then issue the command. The .head will load. and the 1771 will begin searching for the correct ID field. If the correct sector and track is not found within 2 revolutions of the disk, the RECORDNOT -FOUND bit will be set in the status register, and the command will be terminated. Once found, the 1771 will issue a ORO in request of the first data byte to be written. Once the data register is loaded, the 1771 will issue a DRO for each byte to be recorded, until the entire sector is written. For the 8" drive, the user must load the data register 24 microseconds after a ORO is generated. Failure to meet this time will cause the lost data bit to be set, and a byte of zeros substituted and written on the disk. READ SECTOR The READ SECTOR command functions in much the same way as the WRITE SECTOR command. The sector register must again be loaded with the desired sector number, before the read command can be loaded. After the 10 field has been found, the 1771 will begin generating ORa's, with the data register being loaded with each byte of the sector field. For the 8" drive, the user must read the data register at least 26 microseconds after the ORO is generated. Failure to meet this time will cause the lost data bit to be set in the status register, while the next assembled byte will overwrite the contents of the data register. Both the Read and Write sector commands also contain an "m" flag for accessing multiple sectors. The sector register is incremented internally after each sector is read or written to. Eventually the sector register will exceed the physical number of sectors on the track. The user can either issue the Forced Interrupt command after the last sector, or wait for the 1771 to interrupt out. In the latter case, the RECORD-NOT -FOUND status bit will be set. FLOPPY DISK INTERFACE For the most part, the actual Floppy Disk Interface will consist mainly of Buffer/Drivers. Most drives manufactured today require an open collector TTL interface, with appropriate resistor terminal networks. Figure 2 shows the interface of the 1771 to a Shugart SA400 Drive. Aside from the data seperator, the interface consists mainly of7438's and 7414 TTL gates. A 9602 one-shot is used for the desired head load delay. In this illustration, the 6800 microprocessor is used via a 6820 Peripheral Interface Adapter to control all functions of the 1771. Similarly, other parallel port devices (such as the 8255 for 8080 systems) can be used for the interface, or the 1771 may simply be tied directly to the systems data bus and control lines, providing TTL loading factors are observed. DATA SEPERATION The internal DATA SEPERATOR of the 1771 can be used by tying the XTDS line high, and supplying the combined clock and data pulses on the FD data line. In order to maintain an error rate better than 1 in 10', and external data seperator is recommended. Since the 1771 system clock is at 2 MHz, this allows for a 500 ns resolution. The internal data window will move 500 ns with respect to the incoming data bit. On the inner tracks of the drive, the bit shift is more severe and may occasionally cause a data or clock bit to fall outside of this data window. Since the 1771 will perform up to 5 retries, this error rate may be acceptable for some applications. When the XTDS line is forced low, the 1771 will accept seperated clock and data on the FDCLOCK and FDDATA lines. Figure 3 illustrates the timing of these signals. The actual FDCLOCK and FDDATA lines may be reversed; the 1771 will determine which line is clock and which is data when an Address Mark is detected. This feature greatly simplifies the design of the data seperator. Figure 4 illustrates the Phase-Lock Loop method for data seperation. The circuit operates at8 MHz, or32 times the frequency of a received bit cell. The MC4024 VCO is used to supply the nominal clock frequency. The first 74LS161 counter provides a divide by 16 frequency and a carry to one side of the MC4044 phase detector. The other input of the MC4044 is tied to another 74LS161 counter which is affected by the incoming data stream. The output of 392 the phase detector is a signal proportional to the differences of the incoming pulses. This is then fed through a low pass filter, and to the input of the MC4024 to adjust the output frequency. Figures 5 thru B illustrate other types of data seperators. r '·'l I BITO BIT 1 BIT 2 These employ the "Counter Seperator" techniques and are quite different from the Phase-Lock~Loop method. With the addition of "One-Shot" delay element or an input clock, most of\he complexityofthe PPL circuit can be eliminated. BIT .. BIT 3 BIT 5 BIT6 BIT 7 HEX 02 FIGURE 1 FM RECORDING. ,--- ------ -------;;;.- ;--- - - - - - - . - - l I I I I I I I I I I 1 1 ~--------------------------~~~~~~~ ~.-------------~,~. FIGURE 2 1771 TO SHUGART SA400 DRIVE 393 "Xm",o EXTERNAL DATA SEPARATION -j FDCLOCK FODATA T PWX = f- MISSING CLOCK TpWX .Jn,-_______.J ~'-_ _ _ _ _ _ _ f---- TCX ---------'-----+-----' ~~N~SM~~X ~~~~VE TIMES ARE OOUBLED WHEN CLK = 1 MHZ TCX ' 3500·5000 NS FIGURE 3 EXTERNAL DATA SEPERATOR TIMING. f-,.s-j -RJUL --j2.Sf• o5V lK SOFTS NOMINAL RAW DATA SOFTS MC4024 820U 9 F 6 13 FIGURE.. CIRCUIT PROVIDED COURTESY OF MOTOROLA AND ICOM CORPS. 394 UNSEPERA TED DATA JLJLJL FIGURE 5 CIRCUIT PROVIDED COURTESY OF PROCESSOR APPLICATIONS LTD. a UNSEPAAATED DATA FROM DRIVE " 0 7474 74175 a 74175 '> a DELAY TOGGLE lOAD PULSE 7<04 aDr'~' __-o________________~ .5V 4MHZClK (USE 2MHZ elK FOR MINI-DRIVES) FIGURE 6 395 10 .5 RAW DATA 10,uSEC t---------------t----- SEP eLK ):>---+---,-------------+-... SEP DATA L J.. c .. .. c C AAWOATA~ SEPOATA~ SEP eLK H6·6 H6-9 FIGURE 7 CIRCUIT PROVIDED COURTESY OF ACUTEST CORP. 396 c o o c c • READ DATA - SEP eLK -SEPDATA 551 (0) 552 (ci) 553 (0) A2-6 (a, 1 ______________________________ ~r___lL ___________ FIGURE 8 CIRCUIT PROVIDED COURTESY OF SHUGART ASSOCIATES. 397 All dIagrams within this applications note are shown for illustrative purposes and may not necessarily reflect the total logicfor Impllmentation. InformatIOn furnished by Western Digital Corporation IS belIeved to be accurate and reliable. However, no responsibility is assumed by Western DigItal Corporation for its use; nor any mfrlngements of patents or other rights of third parties which may result from Its use. No license IS granted by implication or otherwise under any patent or patent rights of Western Digital Corporation Western Digital Corporation reserves the fight to change said circuitry at anytime without notice WESTERN DIGITAL o N 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 398 WESTERN DIGITAL c o R o p R A T o N WD1691 FLOPPY SUPPORT LOGIC (F.S.L.) o GENERAL DESCRIPTION The WD1691 F.S.L. has been designed to minimize the external logic required to interface the 179X Family of Floppy Disk Controllers to a drive. With the use of an external VCO, the WD 1691 will generate the RCLK signal for the WD179X, while providing an adjustment pulse (PUMP) to control the VCO frequency. VFOE/WF de-multiplexing is also accomplished and Write Precompensation signals have been included to interface directly with the WD2143 Clock Generator. The WD1691 is implemented in N-MOS silicon gate technology and is available in a plastic or ceramic 20 pin dual-in-line package. FEATURES .. Direct interface to the FD179X • Eliminates external FDC Logic .. Data Separation/RCLK GENERATION .. Write Precompensation Signals • VFOE/WF Demultiplexing • Programmable Density o 8" or 5.25" Drive Compatible .. All inputs and outputs TTL Compatible ... Single +5V Supply RCLK YCO PU WDIN • 1 po 20 l2 19 fI ~ 18 LATE l1 17 EARLY STB 16 VCO WDOUT 15 DDEN WG 14 PD DDEN ROD TG43 VFOElWF VSS WD1691 8 10 13 PU 12 RCLK 11 RDD fi VFOE 12 !WF fi ~ WG EARLY WDIN LATE WDOUT STB BLOCK DIAGRAM 399 co en III .c ~ o PIN 2,3,4,19 NAME SYMBOL WRITE DATA INPUT WDIN PHASE 2,3,1,4 iD2iii3Q104 FUNCTION Ties directly to the FD179X WD pin. 4 Phase inputs to generate a desired Write Precompensation delay. These signals tie directly to the WD2143 Clock Generator. 5 STROBE STB Strobe output from the 1691. Strobe will latch at a high level on the leading edge of WDIN and reset to a low level on the leading edge of 04. 6 WRITE DATA OUTPUT WDOUT Serial, pre-compensated Write data stream to be sent to the disk drive's WD line. 7 WRITE GATE WG Ties directly to the FD179X WG pin. S VFO ENABLE! WRITE FAULT VFOE/WF Ties directly to the FD179X VFOE/WF pin. 9 TRACK 43 TG43 Ties directly to the FD179X TG43 pin, If Write Precompensalion is required on TRACKS 44-76. 10 V" V" Ground 11 READ DATA ROD Composite clock and data stream input from the drive. 12 READ CLOCK RCLK RCLK signal generated by the WD1691, to be tied to the FD179X RCLK pin. 13 PUMP UP PU Tri-state output that will be forced high when the WD1691 requires an increase in VCO frequency. 14 PUMP DOWN PD Tri-state output that will be forced low when the WD1691 required a decrease in VCO frequency. 15 Double Density Enable DDEN Double Density Select input. When Inactive (High), the VCO frequency is internally divided by two. 16 Voltage Controlled Oscillator VCO A nominal 4.0MHz (8" drive) or 2.0MHz (5.25" drive) master clock input. 17,18 EARLY LATE EARLY LATE EARLY and LATE signals from the FD179X, used to determine Write Precompensation. 20 V" V" + 5V ± 10% power supply 400 DEVICE DESCRIPTION The WD1691 is divided into two sections: When VFOE/\VF and WRITE GATE are low, the data recovery circuit ignabled. When the ROD iine goes Active Low, the PU or PO signals will become active. If the ROD line has made its transition in the beginning of the RCLK window, PU will go from a HI-Z state to a Logic I, requesting an increase in VCO frequency. If the RoDline has made its transition at the end of the RCLK window, PU will remain in a HI-Z state while PO will go to a logic zero, requesting a decrease in VCO frequency. When the leading edge of ROD occurs in the center of the RCLI< window, both PU and PO will remain tri-stated, indicating that no adjustment of the VCO~ency is needed. The RC~al is a divide-by16 (DDEN=1) or a divide-by-8 (DDEN=O) of the VCO frequency. 1) Data Recovery Circuit 2) Write precompensation Circuit ---.lhe Data ~rator or Recovery Circuit has four inputs: DDEN, VCO, ROD, and VFOEIWF; and three outputs: PU, Po and RCLK. The VFOEIWF input is used in conjunction with the Write Gate signal to enable the Data recovery circuit. When Write Gate is high, a write operation is taking place, and the data recovery circuits are disabled, regardless of the state on any other inputs. WG VFOEIWF ROD PU+PD 1 X 1 X X 1 HI-Z HI-Z HI-Z Enable a a a a a a The minimum Voh level on PU is specified at 2AV, sourcing 200ua. During PUMP UP time, this output will "drift" from a tri-state to.4V minimum. Sy tying PU and PO together, a PUMP signal is created that will be forced low for a decrease in VCO frequency and forced high for an increase in VCO frequency. To speed up rise times and stabilize the output voltage, a resistor divider can be used to set the tristate level to approximately 1AV. This yields a worst case swing of ± 1V; acceptable for most VCO chips with a linear voltage-to-frequencv characteristic. The Write Precompensation circuit has been designed to be used with the WD2143-01 clock generator. When the WD1691 is operated in a "single density only" mode, write precompensg!!on as~eJLas the WD2143-01 is not needed. In this case, $1, ~3, ~4, and STS should be tied together, DO EN left open, and TG43 tied to ground. iW, In the double-density mode (DDEN=O), the siQ!l,als Early and Late are used to select a phase input 11'4) on the leading edge of WDIN. The STS line is latched high when this occl!@, causing the WD2143-01 to start its pulse generation_ 4>2 is used as the write data -2!!Jse on nominal (Early=Late=~), W is used for early, and ilJ3 is used for late. resets the STS line in anticipation of The leading edge of the next write data pulse. When TG43=0 or DDEN=1, Precompensation is disabled and any transitions on the WDIN line will appear on the WDout line. If write precompensation is desired on all tracks, leave TG43 open (an internal pull-up will force a Logic I) while DDEN=O. (11 - Soth PU and PO signals are affected by the width of the RAW READ (ROD) p\!.!gl. The wider the RAW READ pulse, the longer the PU or PO signal (depending upon the phase relationship to RCLK) will remain active. If the RAW READ pulse exceeds ~ (VCO = 4MHz, DDEN = 0) or 500ns. (VCO = 4MHz, DDEN = 1), then both a PU and PO will occur in the same window. This is undesirable and reduces the accuracy of the external integrator or low-pass filter to convert the PUMP signals into a slow moving D.C. correction Voltage. fi Eventually, the PUMP signals will have corrected the VCO input to exactly the same frequency multiple as the RAW READ signal. The leading edge of the RAW READ pulse will then occur in the exact center of the RCLK window, and ideal condition for the FD179X internal recovery circuits. The signals, DDEN, TG43, andl'iDlJhave internal pullup resistors and may be left open if a logic I is desired on any of these lines. 401 SPECIFICATIONS ABSOLUTE MAXIMUM RATINGS Ambient Temperature under Bias Voltage on any pin with respect to Ground (vss) ... Power Dissipation . . . . . . . . . . . . . . -25° to 70°C Storage Temp.-Ceramic-65°C to +150°C Plastic-55°C to + 125°C -0.2 to + 7V . . . .. 1W NOTE: Maximum limits indicate where permanent device damage occurs. Continuous operation at these limits is not intended and should be limited to those conditions specified in the DC Electrical characteristics. DC ELECTRICAL CHARACTERISTICS T, = 0 to 70°C; Vee = 5.0V±10%; V,,=OV SYMBOL PARAMETER MIN V" Input Low Voltage -0.2 V,H Input High Voltage 2.0 VOL Output Low Voltage VOH High Level Output Voltage 2.4 Vee Supply Voltage 4.5 Icc Supply Current TYP MAX +0.8 UNIT TEST CONDITIONS V V 0.45 V IOL=3.2MA V 10H= -200ILa 5.0 5.5 V 40 100 MA All outputs open AC ELECTRICAL CHARACTERISTCS T, = 0° to 70'C; V" = 5V± 10%; Vss = OV SYMBOL PARAMETER MIN TYP MAX TEST CONDITIONS 6 MHz ODEN=O .5 2 6 MHz ODEN=l 100 200 VCO Input Frequency .5 Row RDD Pulse Width W" EARLY (LATE) to WOIN 100 Poo PUMP UP/ON Time Wpi WDIN to WOOUT INR Internal Pull-up Resistor ns. ns. 0 I UNIT 4 FIN 6.5 4.0 I 250 ns. 80 ns. 10 Kfi OOEN=l I I I I.- Vcc veo FIN -+I J-LJ-Ls PINS 1 - - - - - - - - + - - - - - - 8 , 9, 11, 15 u ROD only I ~ I U- I 1'-- Rpw ReLK~ INTERNAL PULL-UP RESISTOR ~ ......- - - - 402 Veo + 16--~""_ Wei WDIN ~ n -n Wpw -..1 1 - n I EARLY n LATE Q1 iD2 iro $4 STS WDOUT NOM TG43 DDEN ~ "1" ~ "0" WRITE DATA TIMING (MFM) 4- WDIN WDOUT Wpw I I ~I L-_ _ _ _ __ :n :n - - - - ' I1 I II TG43 DDEN ~ ~ "0" "1" NOM LATE EARLY I L - -- -11- WRITE DATA TIMING (FM) 403 - j- - - - Wp TYPICAL APPLICATIONS Figure 1 illustrates the 1691 to FD1771-01 Iloppy disk controller. The RCLK signal is used to gate the RAW data pulses which are inverted by the 74LS04 inverter. Since RCLK will be high during data and low during clock a 74LSOB is used to switch the proper clock or data pulse to the FDI771. To adjust write precompensation, issue a command to the FD179X so that write data pulses are present. This can be done with a 'WRITE TRACK' command and the IP line open, or a continuous 'WRITE SECTOR' operation. With a scope on pin 4 of the WD1691, adjust the precomp pot for the desired value. This will range from 100 to 300 ns typically. The pulse width set on pin 4 (4)1) will be the desired precomp delay from nominal. Shown in Figure 2 is a Phase-Lock Loop data separator and the support logic for a single and double-density B" drive. The raw data (Both clock and data bits) are fed to the. WD1691 and FDI79X. The WD1691 outputs its PU or PO signal, which is integrated by the .33uf capacitor and 330hm resistor to form a control voltage for the 74S124 VCO device. The 4.0MHZ nominal output of the VCO then feeds back to the WD1691 completing the loop. The WD2143-01 is also used, providing write precomf1ensation when in double-density, from tracks 44-77. The DDEN line can either be controlled by a toggle switch or a logic level from the host system. The data separator must be adjusted with the ROD or VFOE;WF line at a Logic I. Adjust the bias voltage potentiometer for I.4V on pin 2 of the 74S124. Then adjust the range control to yield 4.0MHZ on pin 7 of the 74S124. RAW DATA 1771-01 XTDS 1691 RDD 11 -+__..-~ 74LS08 RCLK t...::12~ _ _ 27 26 15 DDEN FDDATA FDCLOCK N.C. FIG. 1 WD1691 to FDI771-01 INTERFACE SUBSTITUTING VCO's There are other VCO circuits available that may be substituted for the 74S124. The specifications required are: 1) The VCO must free run at 4.0MHz with a I.4V control signal. The WD1691 will force this voltage 1 Volt in either direction (i.e., .4V = decrease frequency, 2.4V = increase frequency). 1/ a ± 15% capture range is desired, then a 1 Volt change on the VCO input should change the frequency by 15%. Capture range should be limited to about ± 25%, to prevent the VCO from breaking into oscillation and/or losing lock because of noise spikes (causing abnormally quick adjustments of the VCO frequency). Jitter in the VCO output frequency may further be reduced by increasing the integration capacitor/resistor, but this will also decrease the final capture range and lock-up time. 2) The sink output current of the WD1691 is 3.2ma minimum. The source output current is -200ua. Therefore, source current is the limiting factor. Insure that the input circuitry of the VCO does not require source current in excess of - 200ua. Another alternative is to use a voltage follower/level shifter circuit to match the input requirements of the VCO chosen. A more complex filter can be used to convert the PUMP UP/PUMP DOWN pulses to the varying DC voltage signal required by the VCO, achieving an optimum condition between lock-up time and high frequency rejection. 404 -i> +- 200 NS ± 25 r-> ~ RAW DATA FROM DRIVE 271 RAW READ +5 I SINGLE •. b DENSITY . 'y DOUBLE FD179X -LDENSITY +5V +5 ~ 1Jj,"~ R2 1 +5 o '" 00 , RNG 5 47K " VCD RDD RCLK ~ ~ 15 100K BIAS VOLTAGE ADJ ~ 13 14 WDIN EARLY PU U\TE PD RCLK 7 WG WD r; 17 EARLY LATE TG43 TG43 VFOE VFOE/WF 10 ~ 47K xl 04 03 02 01 +12~""PW WD2143-01 PRECOMP ADJ 10K 1) ALL RESISTORS '1,W ± 5% 2) SPECIFICATIONS ~ CAPTURE RANGE: ±20% LOCK-UP TIME: 25/,58C (ALL ONE'S PATIERN, MFM) 3) FOR 5 1/4" 8 .68/,1 68!l .33/,1 330 IP VCC~ +5 19 VSS 9 FIG_ 2 8" SINGLEIDOUBLE DENSITY FLOPPY INTERFACE -t:=: WPRT TO DRIVE 11 CLK,MR! DDEN 12 WD1691 WG I 2 or RANGE = 11 F2 74LS629 -.:- .;.. ~6 4 OM HZ . C2 WDOUT VCC -DDEN CPU INTERFACE 16 I I DIRC 15 I I STEP 35 -~ TROO READY 32 FROM Df'IVE 1691U CERAMIC PACKAGE 1691V PLASTIC PACKAGE This is a preliminary specification with tentative device parameters and may be subject to change after final product characterization is completed. Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor any infringements of patents or other rights of third parties which may resu" from ils US8, No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said circuitry at any time without notice. WESTERN DIGITAL C [' R P c'" P .1 ' ION II 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 406 WESTERN DIGITAL p c o o R A R T o N DM1883A/B Direct Memory Access Controller oCI) ... en FEATURES GENERAL DESCRIPTION o The DM1BB3 Direct Memory Access Controller (DMAC) is packaged in a 40 pin standard dual in- ::::l line package. The chip requires a single +5 power supply input and a single clock input. The device « contains B CPU addressable registers, and allows for up to 8 CPU addressable device registers if the automatic device chip select feature is used. Byte or word transfers can be programmed, and all memory DMA operations are handshaked for compatibility with a variety of bus structures. Up to 256K bytes of memory can be accessed directly with 64K page protection and nonexistent memory interrupt as options. Bus and Interrupt Acknowledge signals are internally daisy chained, and a STOP REQUEST input prevents new requests while a current request is active. Device accesses are not handshaked, and a BUS HOLD feature is present for high speed devices. Device interrupt input, end-of-block output, and I/O read/write output pins simplify hardware interfacing to the device and the CPU bus. The AUTO LOAD feature allows automatic bootloading of up to 64K bytes or words into memory starting at location zero. An B bit interrupt 10 code is also provided. o • o o • • • • o o o o o o o • o • AUTOMATIC DAISY CHAINING OF BUS AND INTERRUPT ACKNOWLEDGE SIGNALS AUTO LOAD OPTION SINGLE +5 VDC POWER SUPPLY B BIT BI-DIRECTIONAL DATA BUS TRUE OR COMPLEMENT DATA BUS B CPU ADDRESSABLE DMAC REGISTERS B CPU ADDRESSABLE DEVICE REGISTERS AUTOMATIC GENERATION OF DEVICE CS DURING DMA AND CPU DEVICE ACCESSES .256K MEMORY ADDRESSING 64K PROGRAMMABLE PAGE PROTECTION BYTE OR WORD DMA TRANSFERS INTERRUPT AND BUS REQUEST CAPABILITIES END-OF-BLOCK SHUT OFF BY DMAC TIME-OUT INTERRUPT CAPABILITY SINGLE CLOCK INPUT CS, RE, WE, AO-A3 ADDRESSING STOP REQUEST INPUT TO DELAY INTERRUPT OR BUS REQUESTS COMPATIBLE WITH OUR FLOPPY DISC CONTROLLERS B BIT PROGRAMMABLE INTERRUPT IDCODE Iii g IACKO oc. BliCi1PW >1 1M vee <1>4 >pw ~ >4PW >3 >3PW 4i2 >2PW >2 >1PW ~ ose OUT >1 XTAL 1 GND XTAL2 ~ >2 4i2 >3 T3 ¢4 PIN CONNECTIONS 1M WD2143-01 BLOCK DIAGRAM 419 SYMBOL PIN NUMBER DESCRIPTION 1,3,5,7 -01-04 2,4,6,8 01-04 Four Phase, non-overlapping outputs, These outputs are true (active high), 9 GND Ground 10,11 XTAL1 XTAL2 External XTAL connections, An external crystal tied to these pins will cause the oscillator to oscillate at the crystal .frequency, 12 OSC OUT A TTL compatable output that is a divide-by-four of the crystal frequency, 13-16 01PW-04PW External resistor inputs to control the individual pulse widths of each output. These pins can be left open if 0PW is used, 17 0PW External resistor input to control all phase outputs to the same pulse widths, 18 Vcc +5V ± 5% power supply input Four phase, non-overlapping outputs, These outputs are inverted (active low), DEVICE OPERATION Each of the phase outputs can be controlled individually by typing an external resistor from 01 PW-04PW to a +5V supply, When it is desired to have 01 through 04 outputs the same width, the 01 PW-04PW inputs should be left open and an external resistor tied from the !/JPW (Pin 17) input to +12V, XTAL1 and XTAL2 can be connected directly to a series-resonant crystal, forcing the internal oscillator to oscillate to the crystal frequency, XTAL2 (pin 11) may also be driven by a TTL square wave with XTAL 1 (pin 10) left open, Each ofthe four phaseoutputs provide both true and inverted signals, capable of driving 1 TTL load each, 420 TYPICAL APPLICATIONS 11 XTAL2 XTAL2 WD2143-01 10 WD2143-01 NC XTAL1 10 XTAL1 TIL SQUARE WAVE OPERATION EXTERNAL CRYSTAL OPERATION +5 13 5K q,1 q,2 q,3 q,4 WD2143-01 >1 17 +12 q,PW q,2 q,3 q,4 6 8 14 q,1 q,1 q,2 cp2 WD2143-01 15 q,3 16 EQUAL PULSE WIDTH OUTPUTS q,4 6 8 cp3 _cp4 INDIVIDUAL PULSE WIDTH OUTPUTS +5 10K 3D W D f - - - - - - ; ClK EARLY 10 EARLY f - . - - - - - ; 10 Wii TO DRIVE NOMINAL 40 74lS175 lATE~+-~---~ 20 20 40 30 179X FD CONTROLLER LATE +5 ClR 18 11 10 VCC XTAL2 $1 XTAL1 <1>2 WD2143-01 .10K <1>3 17 ~ GND <1>4 I--'-----'\Mr--~-< +12 PRECOMP ADJUST 9 -: WRITE PRECOMP FOR FLOPPY DISK 421 ~~----~~~"------~~ r- XTALl =:.j Ted ~TPd~ ~~ \ ¢2 T2 \1...________________ -Ii f--TN1> ---I ~ ----------------------------~~~------------------------~t-TpR \ ---Y TN1>=:::J ________________________________ t:= T N¢--1 r TpF ~y~Tpw~~---------- I;==TN¢ -----------------Jyl--Tpw--l'- \ I NOTES, Ted MEASURED FROM 90% VoH POINTS T pW MEASURED FROM 50% VoH POINTS WD2143-01 TIMING DIAGRAM SPECIFICATIONS Absolute Maximum Ratings Operating Temperature 0 to +70 C 0 0 Voltage on any pin with respect to Ground -0.5 to +7V Power Dissapation 1 Watt Storage Temperature -55 0 to + 1250 C Note: Maximum ratings indicate limits beyond which permanent damage may occur. Continuous operation at these limits is not intended and should be limited to the DC electrical characteristics specified. 422 DC ELECTRICAL CHARACTERISTICS Vee = +5V ;: 5% R(G!NPW) or R(G!PW) SYMBOL = 5K, PARAMETER Vol TTL low level output Voh TTL high level output Vii XTAL in low voltage Vih XTAL in high voltage Icc Supply Current GND = OV T A = 0° to 70° C MIN. MAX. 0.4 2.4 O.B 2.4 UNITS CONDITIONS V 101 = 1.6 rna. V loh = 100 ua. V V 80 ma All outputs open SWITCHING CHARACTERISTICS Vee =5V ;: 5%, GND = OV T A = 0° to 70° C MAJ(. UNITS Ted XTALintoOSCout(t) 100 NS Tpd OSCout to a1 100 NS MAX. UNITS SYMBOL SYMBOL PARAMETER MIN. PARAMETER MIN. Tpw Pulse Width (any output) 100 NS Tnct> Non·Overlap Time 20 NS Tpr Rise Time (any output) 30 Tpf Fall Time (any output) TFR OSC in Frequency External Resistor Tpw Pulse Width Differential CONDITIONS CL = 30pf apw = 5K NS CL=30pf 25 NS CL=30pf 3 100 mHz 5 423 CONDITIONS k.n 0PWor 0nPW % 0PW = 5K 0920 MAX. L ~mmm-4N 0014 II I o 021 ~r.-L --I ........I 0035 06"55 rOJOOl L'~~~I MAX 100" ' LOO9O 110 0 I I 0125 MIN R 0140 MAX. r---~-----; I I Q.W I 1-- 0325 --1 -, Q.Q11 -11:L- ..J L 0021--1 WD2143L-01 CERAMIC PACKAGE 320 1 1-° I,-MAX11 0,045 0.065 0090 0"i"i'0 ! 0 125 MIN A ~g;;g -l WD2143M-01 PLASTIC PACKAGE This is a preliminary specification with tentative device parameters and may be subject to change after final product characterization is completed. Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use: nor any infringements of patents or other rights 01 third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change said circuitry at any time without notice. WESTERN DIGITAL 13128 REDHILL AVENUE, BOX 2180 COR P 0 R A , 'I, a N NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 424 WESTERN IlIIlG§TAL c o WD1510-00, 01 14%£@*1@9*("\ R p o R UfO/F~FO ,,5 A T / o N BUFFIER REGISTER B ! 4!Q £ M @&*i FEATURES APPLICATIONS w"%¥ as :.:a: • WORD LENGTH SELECTABLE: 128 OR 132 • POINT OF SALE TERMINALS • 9 BIT WORD WIDTH • COMPUTER-TO-PERIPHERAL BUFFER « :::l o DC TO 650 KHZ (-00),1 MHz (-01) o EMPTY AND FULL FLAGS o CRT BUFFER MEMORY • LINE PRINTER BUFFER m w o THREE-STATE DATA LINES • INTERRUPT STACK (LIFO MODE) a: u. • 5-VOLT ONLY • NO EXTERNAL CLOCKS REQUIRED • TTL COMPATIBLE ON ALL INPUTS AND OUTPUTS o 28 PIN PLASTIC OR CERAMIC DIP • MASTER RESET GENERAL DESCRIPTION The WD1510 is an MOSILSI Memory Buffer which is organized as a 9-bit by 128 or 132 word stack. The chip has 2 bidirectional data ports and may be read from or written into either port. Thus, the chip can function as a LIFO from either port or it can function as a FIFO, with data flow from either port A to port B or vice versa. The DIRECTION input pin is used to specify the data flow direction. The WD1510 is fabricated in 5-volt only N-channel technology. PIN DEFINITIONS PIN NUMBER 1 FUNCTION SYMBOL NAME VSS VSS Ground EMPTY Indicates when there is no data in the buffer 2 EMPTY 3 CHIP SELECT PORT A -CSA 4 128 OR 132 1281132 Used to set word length. When low word length when high word length = 132 5 MASTER RESET MR When pulsed will clear the buffer and set the EMPTY pin 6,8,10,12,14, 17,19,21,23 PORT A DATA LINES PAD-PAS Bidirectional DATA Port for reading or writing data 7,9,11,13,15 18,20,22,24 PORT B DATA LINES PBO-PB8 Bidirectional DATA Port for reading or writing data Used to select Port A for either a Read or Write operation = 128, 16 Vee Vee + 5 volts 25 DIRECTION DIR When low DIR specifies that Port A may be read from and Port B may be written into. When high DIR specifies that Port A may be written into and Port B may be read from 26 SYSTEM SENTINEL™ CHECKOUT SSC No connection (For future use) 27 CHIP SELECT PORT B CSB Used to select Port B for either a Read or Write Operation 28 FULL FULL Ind icates that all 132 or 128 words of memory are loaded with data - 425 ± .25V PORT A 9 BITS PORT B 9 BITS WD1510 DlR---.....J M R - -_ _--I 1281132 - - - - - - - - - ' L _ _........ EMPTY L ___ ~_ FULL OPERATION The WD1510 contains a 132 x 9 buffer which may be programmed for 128 x 9 operation. Setting the 128/132 pin to a Logic 0 enables the EMPTY and FULL lines to be activated when 128 bytes are read or written. When the128/132 line is set to a Logic 1 or left open, the 132 byte operation is enabled. This line contains an internal pull-up resistor of approximately 5K!l. When the Master Reset Line (pin 5) is set to a Logic I, all internal counters are reset and the EMPTY Flag is set. Prior to reading or writing data, the DIRECTION Line (pin 25) must be set to select the desired operation: DIR PORTA 1 WRITE READ 0 READ WRITE PORTB To operate the device in the FIFO mode, both Ports must be used. If the DIRECTION Line is set to a Logic I, then data is written into Port A and read out of Port B. Reading/Writing to the two ports can be done asynchronously. In the LIFO mode only one port is used. For example, if using Port A, the DIRECTION Line is set to a Logic 1 to enter data, and is reset to a Logic 0 to read data. Reading or writing is performed by setting the appropriate CS (Chip Select) Line to a Logic o. After the specified hold time has..2Eired~a may be entered or read on the rising edge of CSA or eSB. In a Read mode, data is valid as long as CS remains active. Both Ports return to the high impedance state when CS is returned to a Logic 1. The EMPTY Line (Pin 2) and the FULL Line (Pin 28) are used as status or interrupt lines to determine the status of the buffer. When both EMPTY and FULL are at a logic 0, the buffer contains 1 thru 127 bytes (128/132 = 0) or 1 thru 131 bytes (128/132) = 1. ELECTRICAL CHARACTERISTICS Absolute Maximum Ratings Vee with respect to V ss (Ground) Max Voltage on any Pin with respect to Vss Operating Temperature Storage Temperature SYMBOL III ILO VIH VIL VOH VOL Icc CHARACTERISTIC Input Leakage Output Leakage Input High Voltage Input low Voltage Output High Voltage Output Low Voltage Power Supply Current Operating Characteristics (DC) +7V TA = O°C to 70°C, Vss = OV, Vee = +5V ± .25V -0.5V to +7V O°C to 70°C - 55°C to + 125°C MIN TYP MAX UNITS CONDITIONS 10 10 f-LA f-LA V V V V mA VIN = Vee VOUT = Vee, Vss 2.4 .7 2.4 .4 125 426 200 10 = -40f-LA 10 = 1.6 mA All outputs open A.C. TIMING CHARACTERISTICS TA = O'C to 70'C, VSS = OV, Vee = +5V ± .25V, VOH CHARACTERISTICS !sYMBOL TMR TOV TOH TOIR TEV TFV TCSL TCSH TCY ToS FMAX Master Reset Time Data Valid from CS Data Hold from CS DIR Setup Time EMPTY Valid from CS FULL Valid from CS CS Pulse Width Low CS Pulse Width High CS Cycle Time Data Setup Time Data Transfer Rate TMR Tov TOH TOIR TEV TFV TeSL TCSH TCY TOS FMAX Master Reset Time Data Valid from CS Data Hold from CS DIR Setup Time EMPTY Valid from CS FULL Valid from CS CS Pulse Width Low CS Pulse Width High CS Cycle Time Data Setup Time Data Transfer Rate = 2.0V, MIN = O.BV VOL WD1 51 0-00 UNITS MAX TYP CONDITIONS NS. NS. NS. NS. NS. NS. NS. NS. NS. NS. KHZ 400 550 150 1500 550 550 600 600 1540 80 650 WD1S10-01 350 100 1000 350 350 500 500 1000 50 1 I--- CSA or - I CSB I I =1 -+l DATA MUST BE IIIIH/1 111j DIR -I TeSl I+- TDS I DATA PORT ~6L.IQ ~ TOIA I--or I I / / / / / / / / 7 / / 7 //A DATA PORT !-'- T OH '/JIII/// ----l TCSL ~TDv-I CSB I I I ----- WRITE OPERATION CSA NS. NS. NS. NS. NS. NS. NS. NS. NS. NS. MHZ 250 DATA VALID I Xl / / / / / / READ OPERATION MR CSA or CSB EMPTY or FULL ~ TMR ~TcSL I I I I I It =+l ~I· I+- TCSH TEV TFV OLD VALUE Tey MISCTlMING 427 -I X ·1 I NEW VALUE: • II [::0:::::1 WD1510F-XX PLASTIC PACKAGE WD1510E-XX CERAMIC PACKAGE xx 00 650kHz, versio1 01 1.0 MHz version This is a preliminary specification wnh tentative device parameters and may be subject to change after final product characterization is completed. tnformation furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for ns use; nor any infringements of patents or other rights of third parties which may resu" from no use. No license is granted by implication or otherwise under any patent or patent rights of Western Dignal Corporation. Western Dignal Corporation reserves the right to change said circuitry at anytime without notice. WESTERN DIGITAL CORPORAr,ON 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 428 Introduction to ADVANCED SYSTEMS DBVISDON The Advanced Systems Division markets a complete line of microcomputer system products. These products combine file management, telecommunications, high level language, and microprocessor expertise into complete computer systems. In 1974 Western Digital developed the first 16 bit microprocessor, the LSI-11 * for Digital Equipment Corporation, and in 1976 developed the WD16 for Alpha Micro Corporation, both of which are still in volume production. The Pascal MICROENGINE, announced in 1978, signalled Western Digital's entry into the sophisticated Microcomputer Systems Marketplace. The MICROENGINE was the first microcomputer designed exclusively to maximize performance of Pascal high level language software programs. Pascal has rapidly become one of the most popular computer languages. In 1980 the Modular MICROENGINE was introduced. This product is implemented with one function per board (processor, memory, disk controller etc.) to maximize versatility, expandability, and maintainability. It continues the tradition of architecture optimized to high level language execution. The Advanced Systems Division is operating its future product strategy around continued use of Pascal, and use of the new programming language, Ada. Ada is a language originally defined by the US Department of Defense as part of its Standardization program. Functionally a superset of Pascal, Ada** extends Pascal in four major areas: error recovery with exception handling; separately compiled packages; multi task synchronization via rendezvous; and strongly enforced user defined data types. Advanced System Division products wi" significantly improve programer and user productivity in the 80's . • LSI-11 is a trademark of Digital Equipment Corporation. ** Ada is a trademark of the U.S. Department of Defense. 429 Table of Contents ADVANCED SYSTEMS DIVRSHON Page WDOO90 WD0900 Pascal MICROENGINE Brochure 433 Pascal MICROENGINE Microcomputer 437 WD9000 Pascal Microprocessor Chip Set 441 WD9810 Pascal System Software 443 Pascal Compiler 445 Modular MICROENGINE 447 ME1600 431 432 WESTERN DIGITAL CORPORATION =iii 21S[;dL ~ICROENGINET.M. MICROCOMPUTER PRODUCT UNE 433 THE PASCAL MICROENGINE CONCEPT Westem Digital's Pasca l MICROENGINp·.. · Product Family is the only Microcomputer specifically designed to optimize execution of modem, high order language programs. Thus, the Pascal MICROENGINE user enjoys the benefits of speed and ease of use in developing and maintaining systems in a universally recog- nized, block structured language, plus the memory efficiency and performance advantages normally available only in assembly language. The machine language of the Pascal MICROENGINE is P-code, the "ideal" Pascal intermediate language, and thus the MICROENGINE is the ideal Pascal machine. WD/9000 WD/900 MICROPROCESSOR CHIP SET SINGLE BOARD COMPUTER The WD/9000 Pascal MICROENGINE Microprocessor is a 16 bit, MOSJ1...SI chip set that executes Pascal programs at speeds five to ten times faster than equivalent systems using conventional architecture. The chip set consists of five 40-pin dual-in-line LSI components : The Pascal MICROENGINE is also available on a Single Board Computer, the WD/900. This implementation reduces end product design and development costs in many applications where a standard configuration can be employed. The WD/ 900 contains the following: Pascal MICROENGINE CPU 64K Bytes of RAM Memory ARITHMETIC CoMPONENT contains ALU , micro-instruction decode, register file and paths to control processor operation. CoNTROL PROCESSOR contains control circuitry, macro-instruction decode, micro-instruction counters, and liO control logic. THREE MICROM'S (each 22 bits x 512) contain the high speed microcode which implements P-code. Two RS-232 asynchronous/synchronous ports (110-19.2K baud-full duplex). Synchronous or asynchronous operation, odd or even parity, SYN stripping enabled/disabled, character length (5 to 8 bits), and switch selectable for baud rate Two 8-bit parallel ports (500 KHz maximum data rate) Floppy disk controller with direct memory access (DMA), switch selectable for : Single or double density 8" floppy Single or double sided operation 1 to 4 drives Compatable with most standard floppy models IBM soft sectored format Up to 4MB floppy disk storage MICROENGINE chip set features include 16-bit user-defineable liO and data paths; single-and mult-byte instruction formats ; direct addressing to 128k bytes of memory; stack architecture for reentrant and recursive programs; four-level nested interrupt structure; hardware multiply/divide (16 bit integer) and floating point (IEEE single precision standard) instructions; memory mapped inpuUoutput capability; and TTL-compatable three-state interface. The MICROENGINE uses +5v, - 5v, and + 12v power supply voltages. A 64KB memory expansion board is also available WD/90 PACKAGED PASCAL COMPUTER The desktop computer features the 16-bit MICROENGINE processor, 32K words (64K bytes) of RAM memory, fully-integrated floppy disk controller, two flS.232 asynchronous/synchronous ports, and two 8-bit parallel ports all on a single 8" x 16" board, plus a power supply, packaged in a low-profile (5V." high x 16V." x 13'12") enclosure; UCSD Pascal Software System (Version 111.0) on floppy diskette; and the WD/90 Pascal MICROENGINE Reference Manual. 434 PASCAL Pascal is a universally used structured programming language developed by Niklaus Wirth and defined in the Pascal User Manual and Report. The language is suited to a broad range of applications: systems programming, real-time control, data communication, business systems, education, and most other applications. It encourages increased programmer productivity and more reliable, maintainable, and transportable programs. Pascal combines the data structuring capabilities of Cobol, the block structuring of PLII, and the expression handling of Fortran into a concise, efficient language. The Pascal MICROENGINE family is built around the UCSD Pascal compiler and System Software-the most widely used Pascal system for small computers. UCSD's compiler contains the Jensen-Wirth nucleus plus additional features which extend Pascal's capabilities. Some of these language extensions include: P-code on the 16-bit MICROENGINE processor provides high system throughput. LOWER SOFTWARE DEVELOPMENT COST as a high-level language with strong data typing, extensive error checking, and automatic reentrancy and recursion, Pascal increases programmer productivity. SHORTENED DEVELOPMENT SCHEDULES critical software schedules are shortened. LOWER UPDATE/MoDIFICATION CoSTS Pascal programs cost less to change than those programmed in alternative languages. EFFICIENT MEMORY UTILIZATION P-machine efficiency means that programs written in Pascal for the MICROENGINE family often use less memory than even assembly language programs for other architectures. TRANSPORTABILITY programs written in the widely used UCSD Pascal system may be executed on the other Pascal'based systems. IMPROVED RELIABILITY since Pascal programs are simpler statements of the algorithm to be executed, they are less likely to fail in costly field situations. Long integers (up to 36 characters) Data file access Automatic loading of program segments from disk storage Separate compilation and linking of Pascal modules 1[0 and interrupt programming in Pascal Program synchronization via SIGNAL and WAIT ON SEMAPHORE instructions System design engineers using the Pascal MICROENGINE family for Pascal-based system development realize the performance benefits of assembly language system development and the cost benefits of Pascal systems. These include: HIGH PERFORMANCE direct execution of COMPARISON OF DIRECT P-CODE EXECUTION TO OTHER TECHNIQUES FIGURE 3 The Pascal MICROENGINE microprocessor does not use the approaches listed. Instead the Pascal compiler converts programs to P-code which the MICROENGINE microprocessor directly executes as its native instruction set. FIGURE 1 Most microprocessor Pascal compilers are interpretive: the Pascal compiler produces P-code which is then decoded and executed by a software interpreter. Interpretation of each P-code instruction requires execution of multiple processor instructions. FIGURE 2 Other Pascal compilers convert Pascal source programs into the target processor's machine language. Thus Pascal programs are force fit onto architectures not efficient for Pascal, resulting in execution of more instructions for a given function. 435 cal, the system is very efficient, has low memory requirements, and out performs equivalent machines with conventional architecture. In addition to an operating system the Pascal Software System provides software tools to support program development, debug, and execution; manipulation of files; and data and text processing. WESTERN DIGITAL'S UCSD PASCAL SOFTWARE SYSTEM Western Digital's UCSD Pascal Software System is a complete software development and program execution system that runs on the "ideal" Pascal P-code machine, as defined by the University of California at San Diego (UCSD). This "ideal" Pascal P-code machine has been Implemented in hardware as the Western Dig~al Pascal MICRO ENGINE. Because Pascal programs run directly on a stack machine designed for Pas- Western Digital's UCSD Pascal Software System includes: Operating System Pascal Compiler Multi-tasking, concurrency primitives, and interrupts Screen and line oriented editors File handler Library and Linker systems Software debugger Utilities Efficient execution of Pascal programs and minimal memory requirements Supports up to two serial devices, one parallel device, up to four single or double sided and single or double density drives, and 64K bytes of memory Can be configured for specific CRT or TTY terminals WESTERN DIGITAL CORPORATION Western Digital is an industry leader in the fields of high order languages, mass storage controllers, telecommunications subsystems, and energy management devices. We serve over 1300 customers in 23 countries through 100 sales representatives. In addition to Pascal Microprocessors and Mi- WESTERN DIGITAl. CORPORATION crocomputers, our sophisticated products include custom microprocessors; floppy and Winchester disk controllers; gate arrays; X.25, SDLCtHDLC/ADCCP, Async/Bisync and ARINC avionics communications controllers, UARTS, and USARTS; custom industrial controllers, digital thermostats, and industrial timers. 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH. CA 92663 (714) 557-3550,TWX 910-595-1139 NOVEMBER,l980 436 WESTERN DIGITAL c o R p o R A T / o N Pascal MICROENGINETM Product PASCAL MICROENGINETM 16 BIT PASCAL MICROCOMPUTER FEATURES DESCRIPTION • DIRECT EXECUTION OF PASCAL P-CODE. The PASCAL MICROENGINE is the first microcomputer specifically designed to optimize performance of high order languages. The machine language of the MICRO ENGINE is Pascal P-code. • 16 BIT STACK ORIENTED ARCHITECTURE • UP TO 12BK BYTES OF MEMORY Thus the user enjoys the benefits of developing and maintaining systems in a modern, universally recognized high order language; plus the performance and memory efficiency advantages of machine language. • 1 TO 4 DISK DRIVES • UP TO 4 MB DISK STORAGE The MICROENGINE is available as a single board microcomputer with the 16 bit, stack oriented processor, 64K bytes of memory, a floppy disk controller, two full duplex serial and two parallel I/O ports . • SINGLE OR DOUBLE DENSITY DISKETIES • SINGLE OR DOUBLE SIDED DISKETIES .. rno FULL DUPLEX SERIAL I/O PORTS (50-19.2K BAUD) • rno An expansion card is also available which provides an additional 64K bytes of memory for more user program space and faster execution. • INTERRUPT DRIVEN DISC AND I/O Both the MICROENGINE and expanded MICROENGINE are also available in a desk top cabinet with power supply. PARALLEL I/O PORTS (500K BYTE/SEC MAX DATA RATE) • HARDWARE FLOATING POINT • HARDWARE MULTIPLY/DIVIDE • 2.5 MHZ FOUR PHASE CLOCK 437 SPECIFICATIONS Byte Arrays PROCESSOR LOB STB Load Byte Store Byte Stack Architecture Record and Array Indexing Assignment All operations are performed on the hardware stack MOV SINOO .. 7 INO INC IXA IXP LOP STP Instructions (P-code operators) The machine language of the PASCAL MICROENGINE'M is the Pascal P-Code operator set. Move Words Short Index and Load Word Static Index and Load Word Increment Field Pointer Index Array Index Packed Array Load a Packed Field Store into a Packed Field All instructions are one byte long, followed by zero to three parameters. Logicals Constant One Word Loads SOLC LOCN LOCB LOCI LCA Logical AND Logical OR Logical NOT Compare Unsigned Words less than or Equal Compare Unsigned Words Greater than or Equal Bit Not LAND LOR LNOT LEUSW Short Load Word Constant Load Constant Nil Load Constant Byte Load Constant Word Load Constant Address GEUSW BNOT Local One Word Loads and Store SLOLl .. 16 LOL LLA STL Short Load Local Word Load Local Word Load Local Address Store Local Word Integers ABI NGI OUP1 AOI SBI MPI OVI MODI CHK EOUI NEOI LEOI GEOI Global One Word Loads and Stores SLOOI .. 16 LOO LAO SRO Short Load Global Word Load Global Word Load Global Address Store Global Word Intermediate Store LOO LOA STR Load Intermediate Word Load Intermediate Address Store Intermediate Word Absolute Value of Integer Negate Integer Copy Integer Add Integers Subtract Integers Multiply Integers Divide Integers Modulo Integers Check Against Subrange Bounds Compare Integers Equal Compare Integers Not Equal Compare Integers less than or equal to Compare Integers Greater than or equal Indirect One-Word Loads and Store Reals STO FLT TNC RNO ABR NGR OUP2 AOR SBR MPR OVR EOUREAL LEOREAL GEOREAL Store Indirect Extended One Word Loads and Store LOE LAE STE Load Word Extended Load Address Extended Store Word Extended Multiple Word Loads and Stores (Sets & Reals) LOC LOM STM Load Multiple Word Constant Load Multiple Words Store Multiple Words 438 Float top of Stack Truncate Real Round Real Absolute Value of Real Negate Real Copy Real Add Reals Subtract Reals Multiply Reals Divide Reals Compare Reals Equal Compare Real Less than or Equal Compare Real Greater than or Equal Sets ADJ SRS INN UNI INT DIF EOUPWR LEOPWR Adjust Set Build Subrange set Set Membership Set Union Set Intersection Set Difference Set Compare Equal Set Compare Less than or Equal (Subset of) Set Compare Greater than or Equal (Superset of) GEOPWR GEOBYT SERIAL 110 PORTS Baud Rates: 50-19,200 baud Character Size: 5-11 bits Full Duplex Interfaces any RS232 compatible device PARALLEL 110 PORTS Byte Arrays EOUBYT LEOBYT Size 64K or 128K Bytes Cycle Time: 1200 ns Byte Array Compare Equal Byte Array Compare Less Than or Equal Byte Array Compare Greater than or Equal 8 bits In 8 bits Out Data Rate: Up to 500 K Byteslsec. Interfaces to Following Line Printers: Jumps Centronics 700,701, 737 or equivalent Unconditional Jump False Jump Equal False Jump Not Equal False Jump Unconditional Long Jump False Long Jump Case Jump UJP FJP EFJ NFJ UJPL FJPL XJP FLOPPY DISK DMA Operation Up to 4 drives, switch selectable for Single or dual sided, and Single or dual density Procedure & Function Calls & Returns CPL CPG CPI CXL CXG CXI CPF RPU LSL Up to 4 MB capacity Interfaces to Following Drives: Shugart 800 and 850 series, and all compatible drives such as REMEX 4000 seris, Oume Datatrak S, CDC 94061",9406-3, 9404-B Call Local Procedure Call Global Procedure Call Intermediate Procedure Call Local External Procedure Call Global External Procedure Call Intermediate External Procedure Call Formal Procedure Return from User Procedure Load Static Link On To Stack MECHANICAL Single board computer 8" x 16" Expansion Card 8" x 16" Desk Top Computer 5W' H x 16W' W x 13" D ENVIRONMENT System Control Operating Range 0-50 0 C Humidity 0-95% Signal Semaphore Wait on Semaphore Load Processor Register Store Processor Register SIGNAL WAIT LPR SPR ELECTRICAL Power ReqUirements Single Board Computer Debugger BPT -12V 100mA CONNECTORS Break Point Serial Ports: nector Miscellaneous NOP SWAP +5V -5V +12V 2.0A .5mA 500mA No Operation Swap Word Top of Stack with Word Top of Stack -1 DB-25S 25 Pin right angle con- Parallel and Floppy Disk Ports: right angle connector 439 DC-375 37 Pin ORDER INFORMATION WD900 (X) * PASCAL MICROENGINE Single Board Computer WD90 (X) * PASCAL MICROENGINE Desk Top Computer 110V WD95 (X) * PASCAL MICROENGINE Desk Top Computer 220 V * (X) indicates diskette option: a= b= c= d= 8" 8" 8" 8" Single Density Single Sided Single Density Double Sided Double Density Single Sided Double Density Double Sided WESTERN DIGITAL CORPORATION 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 DECEMBER 1980 440 WESTERN DIGITAL c o o p R R A T / o N Pascal MICROENGINETM Product ;.'<'~ 'J ~~".I i "'~, '" ~" . " ~ THE WD9000 CHIP SET 16 BIT Pascal MICROPROCESSOR FEATURES DESCRIPTION o DIRECT EXECUTION OF PASCAL INTERMEDIATE CODE (P-CODE) o ASSEMBLY LANGUAGE EXECUTION EFFICIENCY The WD9000 PASCAL MICROENGINEtm Microprocessor is a 16 bit MOS/LSI chip set that executes programs written in Pascal at speeds five or more times greater than equivalent systems using conventional architectures. This is because the MICROENGINE chip set is designed to be the ideal Pcode (Pascal Psuedo code) machine. Its machine language is the P-code produced by the UCSD Pascal complier. o HIGH PERFORMANCE 16 BIT MICROPROCESSOR The Chip Set consists of five LSI components: o HIGH LEVEL LANGUAGE PROGRAMMING DEVELOPMENT SPEED AND EASE o STACK-BASED ARCHITECTURE FOR REENTRANT AND RECURSIVE PROGRAMS o EXECUTES FULL UCSD PASCAL, VERSION 111.0 o Arithmetic Component - contains the arithmetic logic unit, microinstruction decode, register file, and paths to control processor operation. o Control Processor - contains macroinstruction decode, portions of the control circitry, microinstruction counters, and I/O control logic. o MICROM Components -three high-speed, 512 x 22 bit, custom MICROMS, microcoded for direct execution of UCSD Pascal Version 111.0 P-Code . o PROGRAM TRANSPORTABILITY o PROGRAM SIZE TO 128K BYTES • 3.0 MHZ FOUR-PHASE CLOCK The MICROENGINE Microprocessor chip set is ideal for all applications requiring 16 bit performance, assembly language efficiency and high level language speed of program development and ease of use. o FOUR-LEVEL INTERRUPT STRUCTURE o IEEE HARDWARE MULTIPLY/DIVIDE o HARDWARE FLOATING POINT o SINGLE AND MULTI-BYTE INSTRUCTIONS o TTL COMPATIBLE THREE-STATE INTERFACE • MEMORY MAPPED I/O 441 ~tE''':'' ·w 5V '12V GND CND -511 T SYSTEM CONTROL LINES L USEOFOR ~bgE§~N~:A PIN ASSIGNMENTS TlON The following are pin assignments for the Pascal MICRO. ENGINETM MicroprocessorChipSet: MICROM CHIP PIN ASSIGNMENTS DATA CHIP PIN ASSIGNMENTS =~ SIGNAL =~. SIGNAL :'::. SIGNAL :'ri. 21 02 31 MI807 SIGNAL 1 .3 11 DALOS 2 Vaa 12 DAlO9 22 WAIT 32 3 DALOO 13 DAllO 23 MIB15 34= 4 DALOI 14 OALII 24 MI814 5 DAlO2 15 CAU2 25 MI813 6 DAlOJ 16 DAUJ 26 MI812 7 DAlO4 17 OAL14 27 M1811 8 DAlOS 16 CAllS 28 MI810 :~. MiBi56 33 MI805 35 MI803 36 'FJTB02 MiBOf 9 DAlO6 19 Vss 29 'MTEi'59 38= 10 DAL07 20 1214 30 Mii3'08 40 1211 37 39 V DO SIGNAL :~. SIGNAL :~. SIGNAL SIGNAL mw 11 MIB16 21 212 31 2 Vas 12 REPL.Y 22 Vee 32 ""Mii306 3 13 13 WAIT 23 MIBt5 33 Mrn05 4 12 14 DOUT 24 MIB14 34 MIB04 2 V aEi 3 NC 12 MIB17 4 NC 5 NC 25 Ne 35 MiBO'2 MiB14 18 He 28 MI809 38 MIBOO Mi'608 9 MtB13 19 Vss 29 10 MIB12 20 1214 30 MISO? DAL MI. NC CS lC>-3 WIR • VDO, BB, SS, CC lACK SYNC 7 MIB17 17 SYNC 27 MIBt1 37 18 DIN 28 MIB10 38 MIBOO BUSY COMPUTE 39 VOD WAIT OOUT WESTERN DIGITAL 34 MIS03 15 Ne 33 MI804 31 8 BUSY CORPORATION 24 Ne 36 Ne 36 MIB02 Mi"BM 14 Ne 26 MIB11 35 MIB03 29 22 Vee 23 CS 32 tli'B05 13 M1818 27 MI810 26 MIB12 30 MtB08 SIGNAL 31 MI806 16 Ne 25 MIB13 10 1214 ~Ig. 17 Ne 15 W/R 9 COMPUTE 19 Vss. 5IGN ... l 21 0'2 7 MI815 16 lACK 10 RESEl ~IS. 6 NC 6 10 5 " MiB16 11 M'iBOT 39 Voo 40 1211 SIGNAL DESCRIPTIONS :I~. 1 .3 :~. SIGNAL 1 .3 6 CONTROL CHIP PIN ASSIGNMENTS :~ SIGNAL DIN ""Mi"861 40 1211 REPLY MEMORY RESET DATA/ADDRESS LINES MICRO INSTRUCTION BUS NO CONNECTION CHIP SELECT INTERRUPT LEVEL.S WRITE/READ CLOCK PHASES VOLTAGE LINES INTERRUPT ACKNOWLEDGE 110 SYNCHRONIZATION DATA IN INHIBIT 110 OPERATIONS SINGLE INSTRUCTION MODE CONTROL TO DATA CHIP INTERFACE DATA OUT 110 ACKNOWlEDGE MASTER RESET 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 DECEMBER 1980 442 WESTERN DIGITAL p c o R o R A T / o N Pascal MICROENGINETM Product PASCAL SYSTEM SOFTWARE UCSD LEVEL 111.0 COMPATIBLE TEXT PROCESSING, SOFTWARE DEVELOPMENT, AND PROGRAM EXECUTION SYSTEM FEATURES DESCRIPTION • OPERATING SYSTEM Western Digital's UCSD Pascal Software System is a com· plete software development and program execution system that runs on the "ideal" Pascal P-code machine, as defined by the University of California at San Diego (UCSD) . • PASCAL COMPILER .. MULTI-TASKING, CONCURRENCY PRIMITIVES, AND INTERRUPTS • SCREEN AND LINE ORIENTED EDITORS • FILE HANDLER This "ideal" Pascal P-code machine has been implemented in hardware as the Western Digital Pascal Microengine™. Because Pascal programs run directly on a stack machine designed for Pascal, the system is efficient, has low memory requirements, and out performs equivalent machines with conventional architecture. • LIBRARY AND LINKER SYSTEMS In addition to an operating system the Pascal software system provides software tools to support program development, debugging, and execution, manipulation of files, and data and text processing. o SOFTWARE DEBUGGER • UTILITIES • EFFICIENT EXECUTION OF PASCAL PROGRAMS AND MINIMAL MEMORY REQUIREMENTS • SUPPORTS UP TO TWO SERIAL DEVICES, ONE PARALLEL DEVICE, UP TO FOUR SINGLE OR DOUBLE SIDED AND SINGLE OR DOUBLE DENSITY DRIVES, AND 64K OR 128K BYTES OF MEMORY • CAN BE CONFIGURED FOR SPECIFIC CRT OR TTY TERMINALS 443 Pascal Complier • make copies of text The Pascal compiler compiles Pascal source programs into P-code that is directly executed by the MICROENGINE. The UCSD Pascal language contains the Niklaus Wirth nucleus with additional features to extend its capabilities. Some of the language extensions are: • include any portion of the text from another file • conveniently move through the file • set and jump to mar1 THEN ... ELSE ... Segment procedures provide automatic loading of program code from disk storage. Segment procedures and memory overlaying in the operating system allows programs to run that would use more than the amount of memory available. • CASE OF ... • REPEAT ... UNTIL Modularity • WHILE DO ... The unit capability allows large programs to be broken into smaller modules to be separately compiled and linked together. It also allows frequently used subroutines to be linked into programs so that the source of the subroutines does not need to be included in each program that uses it. All linking is done before the program is executed. • FOR .- TO DO ... • WITH DO WESTERN DIGITAL CORPORATION 3128 REDHILL AVENUE, BOX 2180 NEWPORT BEACH, CA 92663 (714) 557-3550,TWX 910-595-1139 DECEMBER, 1980 446 Makin 9 the lea(LIngea ~'========= ge work r. oryou ME 1600 MODULAR MICROENGINp M WESTERN DIGITAL CORPORATION 447 ME1600 Modular MicroEngine'M Software. nor hardware. has become'the key to system efficiency in the Eighties To this end. Westem Digital has Innovated the MicroEngine:" It's a unique c;oncept. designed to blaze the P-code trail. making Pascal and Ada'" eminently accessible. In fact. It executes these high-order. block structured languages directly. as ItS own native Instruction set. Now. to optimize usability and fleXibility. we've expanded thiS concept to the Modular MicroEngine. It's modular in choice of languages - Pascal or MlcroAda: " our microprocessor-based subset of DoD mandated Ada'" And I['s modular In system function. for expansion freedom and seNlce SimpliCity. SpeCifically. each board In the system Implements a distinct function. processing. storage. file management. I/O. and user access to the Sentlnel/24 ,. bus. Such modularity facilitates maintenance . And It puts the system configuration deCISions squarely In the hands of the OEM deSigner The Ideal P-code machine. Our Modular Micro Engine IS based on the universally-embraced UCSD Pascal compiler and System Software. The result IS Incredibly effiCient program compilation. Unlike conventional processors. which must Interpret PascallnstructlOns In their own language. the MlcroEnglne executes ItS InternalIzed Pascal P-<:ode directly: it~the processor's native language. ThiS "software In hardware" approach prOVides system deSigners With a powerful combination: the performance and effiCiency of assembly language programming and the time-saving SimpliCity of the most advanced languages. P-code was designed to run most effiCiently on stack-oriented processors. such as our Micro- Engine. So programmer efficiency is optimized. And there's no better vehicle for developing fluency with Pascal and Ada. Speedier software development-with flexlblllty_ As high level languages with strong data typing. extensive errorchecking. and automatic reentrancy and recursion. Pascal and Ada are designed to produce extremely reliable code. And the resulting programs are easy to live with. They're less costly to 'update and mOdify than programs in other common languages. MEI601 Pascal & MlcroAda Processor J6-bit stack oriented processor • Software-driven architecture· Four interrupt levels · tia rd- _ _ ware multiply and divide, with floating point · M emorymapped I/O • Real-time clock • DMA control logic • Powerfall detection with auto restart • System Sentinel™ protection for bus "time-Qut:' ME1610 128K Byte Memory Module 16K dynamic RAMs with 350ns cycle time · Read/write access: 610ns • 16-bit word length • Memory refresh interleaved - with bus access for minimum memo!), latency. ME1620 Floppy Disk Controller Controls up to four floppy disk drives · DMA operation · - Supports 8" drives · Single or double density. single or double sided • Diskettes may be preformatted, or formatted under program comrol. ME1650/ 1651 Chassis/ Power Supply 10-slot SentJnel/24 card cage · 15 or 25 amp power supply • Senttnel/24 bus motherboard 448 And they're fully transportable since Pascal and Ada are such highly standardized languages. Because algorithmic languages allow simpler statements of the program to be executed. they're less likely to fail in the field. The Modular MicroEngine's UCSD Pascal Software System includes: Operating System 0 Pascal Compiler 0 Multi-tasking concurrency primitives and interrupts 0 Screen and line-oriented editors 0 Libral}'and Linker systems 0 Software debugger 0 File management utilities. COMPARISON OF DIRECT P-COD E EXECUTION TO OTHER TECHNIOUES Most microprocessor Pascal compilers are Other Pascal compilers convert Pascal interpretive: the compiler produces intermediate code lMlich is decoded and executed by software interpreter. Each source programs into the processor's machine language. This force-fits programs onto architectures not efficient for Pascal. resulting in execution of more instructions per function . ME1639 Genera. Purpose Interface Controller Interfaces custom logIC to Sentinel/24 bus • Includes all necessal)! control logic. Including DMA and interrupts · FaCIlitates custom interface design. llllith P-code instruction requires multiple processor instructions, t:tking more time and using more memory. open SpaC:Zded p"""," SOURCE f'roGAAM COMPILER L •I P-COOE l~D~D EXECUTED • The Modular MicroEngine takes a direct approach. The Pascal compiler produces P-code \Nhich the MicroEngine is able to execute directly as its own native instruction set System Conftguratlons MEl660 Subsystem Includes: MEI601 Pascal/M1croAda Processor · MEI61D 128 KB Dynamic RAM Memol}' Module ' MEI620 Floppy Disk Controller ' MEI63D Seilal/Parallel I/O Controller ' MEI609 Boot/Terminator Module . MEI651 10-slot ChaSSIS With 25 amp Power Supply ME1665 System Includes: MEI660 Subsystem. plus: One Double Density. Double Sided Floppy Disk Dilve ME1670 Packaged System Includes: MEI660 Subsystem. plus: One additional Double Density. Double Sided Floppy Disk Dilve (two total); Desk Top Enclosure ME1675 Packaged System Includes: ME 1670 Packaged System. plus: Centronics 737 line Pilnter; 80 Character by 24 line CRT Terminal ME1630 Serla lj Parallell/ O Controller Four RS-232-C full duplex I/O channels: supports asynchronous I/O; data transmission at SO to 19.200 baud; interrupts may be selectively enabled for each channel • Parallel port tor interfacing printers. pJotters, etc.; 8-bit input/output configuration; compatible with Centronics printers. 449 Pascal Pascal IS a universally used structured programming language. With appropriate library support it is suited to a broad range of applications: systems programming, realtime control, data communication, business systems, education, and most other applications. Pascal combines the data structuring capabilities of COBOL, the block structunng of PLjI, and the expression handling of FORTRAN into a conCise, effiCient language. The modular MlcroEnglne family IS bUilt around the UCSD Pascal compiler and System Softwarethe most widely used Pascal system for small computers . UCSD's compiler contains the Jensen-Wirth nucleus plus additional features which extend Pascal's capabilities. Some of these language extensions Include: • Long Integers (up to 36 characters) • Data file access • Automatic loading of program segments from disk storage • Separate compilation and linking of Pascal modules • I/O and Interrupt programming • Pascal program synchronization via SIGNAL and WAIT on SEMAPHORE Instructions. MlcroAda Ada is a new language defined by the US Department of Defense, as a standard language for all new DoD systems. It is a modular, algorithmic language with strong data typing and is primarily intended for real time applications. Functionally Ada provides all the capabilities of Pascal, with extensions In four major areas: Exception handling for error recovery • Separately com"iled packages . Multi-task synchronization . Primitives for encapsulating and implementing of special I/O interfaces. Western Digital's MicroAda is a subset of the full Ada language, and is deSigned to operate on our MicroEnglne with 128KB of memory. The initial release of MicroAda will support most features of Ada packages and separate compilation, tasks and exceptions, but generics, representation specifications and the more complex exception handling features Will not be Included. Western Digital Intends to support the full Ada language In upcoming products. For more information, contact your sales representative at: Westem Digital Corporation 3128 Red Hili Avenue, Box 2180 Newport Beach, CA 92663 (714) 557-3550 · T\\/X 910-595-1139 MlCroAda. MlcroEngt~. ~V2-4 and Sys~m ~ ate traclM'lar1U of lJ..h~m DIgItal Corpotaoon ~ IS a tr.Idem.1f1( ~rtment of Oe~ 01 mt U.S WESTERN DIGITAL CORPORA 450 o N The Control Systems Division offers a complete spectrum of products and services, ranging from single-chip PMOS and NMOS microcomputers for dedicated control applications to complete boards and finished products. In addition, the Division is charged with developing and marketing products for use in energy conservation and environmental control, including thermostats, furnace, heat pump, and air conditioning controls, as well as lighting and irrigation controllers and new sensor technology which are designed to conserve and control all forms of energy in business and residential environments. Another major thrust of the Division is the application of microelectronic engineering services to supplement and improve upon existing mechanical and electromechanical controls. From components to finished products, Control Systems offers a complete spectrum of product support. 451 Table of Contents CONTROL SYSTEMS DIVISION Page 4 Bit Microcomputers 455 Designing With Electronics WD51 Irrigation Controller WD55 Industrial Timer/Controller 460 463 WD4020 ROMless N-Channel Microcontrollers 471 487 WD4200/WD4210 Single-Chip N-Channel Microcontrollers 495 453 4 BIT MICROCOMPUTERS Western Digital Control Systems Division offers both PMOS and NMOS single chip microcomputers for dedicated controller applications. Both of these families are true microcomputers in that they have on-chip mask ROM, RAM, I/O, and clock generation-all olthe elements required to implement a programmable microcontroller solution for your dedicated control problem. Worldwide, the 4-bit microcomputer market is estimated to be approximately 20 million units in 1980 with a growth rate of approximately 30% annually. Due to the fact that they normally have very few if any external support circuits, their cost effectiveness makes possible a wide diversity of applications such as: CONSUMER APPLIANCES Microwave ovens Washers and dryers Garage-door openers House heating/cooling systems Gas/electric ranges Dishwashers Lawn sprinklers Water softeners Specialty calculators Copy machines Dictation equipment COMMERCIAL APPLIANCES Electronic cash registers Vending machines Gasoline pumps Elevator controllers Printing presses Cookers/fryers Electronic weighing/marking scales Copy equipment Automated "ticketing" machines Weather monitors Ice cream machines SECURITY SYSTEMS Intrusion alarms Fire alarms Water/flood alarms Identification systems Personnel counters Electronic door locks Violent weather alarms CONSUMER ELECTRONIC PRODUCTS Electronic games Telephone answering machines TV tuning synthesizer CB radio synthesizer Tape deck transports Time zone clocks Photographic timers/controllers Electronic toys Telephone dialer/memory Telephone call-diverters Hi-fi turntables Hi-fi system controller 7-day alarm clocks Automated slide projectors AUTOMOTIVE/MARINE Anti-skid braking system Dashboard control Systems status monitor Fuel consumption/MPG computer Anti-theft systems Marine navigational calculator INDUSTRIAL APPLICATIONS OFFICE MACHINES Simple machine control Simple process control Special counters/timers Molding presses Cooking equipment Printing calculators Postage machines Small printing machines 455 ESTIMATED WORLDWIDE MICROPROCESSOR SHIPMENTS 32 30 28 2' 'c :l '0 26 24 22 In c: ~ ~ !!l 20 18 c: 16 E Co :;: 14 I/) 12 III ~ ~ 1: 10 ::J 8 IU " 6 4·Bit Single Chip 4 2 O~ 1st Otr --__ ~ ______ 2nd Otr ~ 3rd Otr __ ~~ __ 4th Qtr ~~ 1st Otr ____L -____L -____L -__ ~ 2nd Otr 3rd Otr 1st Otr 1980 1979 1978 4th Otr Source DATAOUEST, tnc. SUBMISSION OF MASK ROM CODE To submit mask ROM code for the WD4200/4210, two items need to be received: (1) Completed 1/0 options list (see page ) describing the desired configured of the mask-programmable options. (2) The object code itself. The object code may be in the form of a diskette containing the XXX,TRT and XXX,LM files generated by a COP400 PDS development system, or EPROMS (5204, 2708, 2716, etc.), paper tape, etc. (we prefer the diskette or EPROMS), and a hard copy printout of the object code. Western Digital will review and dupli- cate the media submitted and will return copies to the customer. Upon written confirmation as to the correctness of the data, masks are generated and an engineering pilot run is commenced. At the completion of the pilot run, approximately 10 devices are submitted to the customer for verification and approval. Upon written verification by the customer, the remainder of the pilot run (usually several hundred devices) are shipped as part of a pre-production delivery, and the production wafers are started for predetermined, scheduled delivery. 456 MASK OPTION CONFIGURATION TABLE FOR WD4200/4210 (Reference WD4200 Data Sheet, Pg. 13) MASK OPTION SELECTED OPTION MASK OPTION COMMENT SELECTED OPTION COMMENT Ground Pin 21 GO 1/0 Port 2 CKO Pin 22 G1 1/0 Port 3 CKllnput 23 G2 1/0 Port 4 RESET Pin 24 G3 1/0 Port 5 L7 Driver 25 03 Output 6 L6 Driver 16 02 Output 7 L5 Driver 27 01 Output 8 L4 Driver 28 DO Output 9 IN 1 Input NA 4210 29 Function 10 IN21nput NA 4210 30 Bonding 11 Vee Pin 12 L3 Driver Customer: 13 L2 Driver WDC PIN: 14 L 1 Driver Customer PIN: 15 LO Driver 16 Sllnput 17 SO Driver 18 SK Driver 19 INa Input NA 4210 20 IN3 Input NA 4210 457 PREPROGRAMMED MICROCONTROLLERS Control Systems Division offers severa I preprogrammed microcontrollers which were developed by the Division to solve timing and control problems which previously had been implemented by electromechanical systems consisting of motors, cam switches, levers, etc. or for which a large number of random-logic IC's were required. Several more devices are being developed; for customized versions of these standard products, please contact the factory. WD-51 IRRIGATION CONTROLLER The WD-51 performs all of the timing and control functions required by a 6-station irrigation (sprinkler) control system for residential and commercial applications. The only support circuitry required is a simple power supply, display, keyboardlswitch matrix, and triac or other high-current solenoid driver. The device is fully programmable for a 7-day week and each station output is programmable from 0 to 99 minutes duration. Up to 3 complete watering cycles per 24 hour period are available, as well as a pumplmaster valve output and a rain-inhibit switch input. WD-55 TIMER/CONTROLLER The WD-55 is a general purpose timing element for use as a dark room timer, process sequencer, appliance timer, time-delay relay, recycling timer, etc. It may be configured for two different modes of operation: one mode utilizes a convential matrix keyboard for data entry, in conjunction with a 4-digit LED or VF display for generating up to seven timed sequential outputs. Another mode allows data entry through BCDencoded switches for triggered or continuous control of 2 outputs. WD4200/4210 These devices are fabricated using N-channel technology, and are hardware and software compatible with National Semiconductor's COP 420/421 devices. The WD4200 is available in a 28-pin package and features 23 110 lines. The WD4210 is a bonding option which deletes the 4-bit IN-port and is available in a 24pin package. They both feature 1K x 8 ROM, 64 x 4 RAM, a 4.0p.s instruction cycle time, 4.5 to 6.3V operation, a 3-level subroutine stack, single-level interrupt, serial 110 plus sync, on-chip counterltimer, and a high current 8-bit bidirectional port capable of directly driving LED displays. WD4020 This is a ROMless version of the WD4200. It is available in a 40-pin package and has all of the 110 lines of the WD4200 but in addition has a multiplexed address/data bus to interface with external EPROM or PROM memory. It is hardware and software compatible with the WD4200 and thus may be used for in-circuit emulation of the mask-ROM part for hardwarel software debugging. Also, since it requires only an offchip latch and PROM, it may be used to implement a low cost 3-chip microcomputer for low-volume, cost sensitive applications. CR2272/2282 These devices are fabricated using P-channel technology and are available in a 40-pin package. The CR2272 has 512 x 10 words of ROM, while the CR2282 features 640 x 10 words of ROM. Both have 32 x 4 words of RAM, 16 latched outputs, 2 latched inputs, 8 scan outputs, and direct LED of V-F display drive capability. PRODUCT/SYSTEM DESIGN CAPABILITY Control System's technical staff has in-depth experience in applying microcomputer technology to consumer and industrial applications. This experience includes: (1) Electronic circuit design (2) Software (programming) design (3) System integration (4) Complete product deSign, development, and testing. In addition, Western Digital's Controlled Energy Division, located in Riverside, California, has extensive capabilities for the assembly and test of PCB's ranging from prototype to high volume production. A typical development cycle for a complete product is shown in Figure 1. The initial starting point of a product hinges on the availability of a functional specification. The functional specification describes in detail the function which the end product is supposed to perform. If this is not available, WDC has the capability of working with the customer in developing mutually acceptable specifications based on our experience and the customers' wishes or ideas for a product. Upon completion of the functional speCification, the preliminary hardware and software phase is entered. During this timeframe, the electronic circuit design is performed and a prototype, usually consisting of a handmade wire-wrapped breadboard, is produced. During this same time, the software design is being performed and is mated with the prototype hardware by means of an emulator board containing the software in EPROM. This prototype is then available for customer checkout. At this stage, changes can be made relatively easily since the prototype can be reprogrammed and rebuilt with minimal expenditures of 458 time and effort. However, with attention given to the initial specification development, these changes can be minimized to a great extent. It is important to note that the circuit design can incorporate any part the design engineer and customer feel is best, even though that part may not be made by Western Digital. When the customer is satisfied with the performance of the hardware and software, a hard tooling phase is entered in which the program information is converted to mask ROM single-chip microcomputers and the hardware design is converted to a printed circuit board assembly. At the completion of this phase usually a field trial with these preproduction systems is performed. Hopefully, the changes required as a result of the field trial are minimal at this time, since significant changes can become very costly during this phase, due to the fact that software is now in mask ROM form. If no changes are required, a pilot run is then performed to allow WDC or other producers to smoothly move into a volume production phase. If you wish further information on these capabilities, please contact the Control Systems Division to discuss your product in detail. CONTROL SYSTEM DIVISION YES CHANGES NO 2-4W YES CHANGES FIELD TRIAL WITH PRE· PROD PARTS Figure 1 459 DESIGN NEWS Reprinted from February 5, 1979 Designing With Electronics One approach is to let the electronics supplier do some, of all, the work Bill McDonough, Applications Manager, Western Digital Corp., Newport Beach, CA How long have design engineers been talking about integrated circuits (ICs), medium-scale integration (MSI) and large-scale integration (LSI)? Five, maybe ten years? Compared to gears, detents, motors, bearings, pulleys, levers and the like, that's a relatively short time in which to provide case histories pertinent to every situation. Although it's natural for engineers and designers to wonder how to apply these electronic technologies to their own products, there are many unanswered questions and nebulous answers floating around. Lower cost, part-count reduction, increased efficiency, improved performance and better reliability are hinted at in discussions of LSI application to mechanical systems. But why would a designer who's been doing his job right, and who has a good, reliable design, be motivated to change to electronics? It is almost anecdotal, but too often the design engineerdoesn't determine that he needs a specially designed circuit or LSI chip until his competition announces a new product using this technology. When the need to follow suit becomes apparent, he basically has one of two choices to make. Will he attempt to bring electronics expertise in-house or will he seek assistance from an outside source? There are several things to consider if the designer opts for the first choice. First, simply hiring bright, young electrical engineers with microprocessor and LSI technology backgrounds will not solve the problem. Although these engineers probably will be the bestqualified in the company technically, most often they are grossly unqualified to make necessary decisions because they lack understanding of company and market needs. Second, bringing the design work in-house requires a system design team-electronics assembly problems must be addressed, the design must be tested and the reliability must be proven. Companies literally enter a whole new business when they choose to develop their own electronics. The large companies of this world can afford to design, assemble, test, and prove, but many companies cannot afford to work this way. Sometimes company profit margins are so thin that they will remain mechanical even if the time is right for the application of electronics. The design engineer does, however, have another alternative-he can have chips specially designed by an outside firm. And this is where he runs into many unanswered questions. Where does one go to get this type of help? _Are specially designed "subsystem chips" available? What is included with this.custom service? Would it be a proprietary chip? And finally, what does it cost-not only the end-cost, but what will it cost to find out whether LSI application is feasible for the product? WHERE TO GET THIS HELP One of the primary reasons that companies are reluctant to seek outside assistance is that they simply do not know where to turn. The semiconductor supplier market is not clearly defined. Certainly there are the large semiconductor suppliers who will gladly ship custom chips in 100,OOO-piece volumes. But unless the design engineer is able to seek help from his tried-andproven industrial control suppliers, the only answer for the low-volume buyer has been the circuit board assembler-a middleman firm specializing in custom work. Typically, one of these "board stuffers" assembles functional PC boards using designs furnished by the engineer. Some of these firms may also be able to aid in the board deSign, but often another middleman in the form of a consultant may be required to help the designer decide what to stuff on the board. There is, however, another option available to the second-level, low-volume buyer seeking outside help. Some semiconductor suppliers, like Western Digital, recognizing the "hole" in the market, are now willing to provide as little or as much assistance as required for quantities as low as 10,000 units. Yes, the cost per unit will be more than for the 100,000 order, but at least now more companies are able to consider electronics. Services such as these will open the door to a lot of business that might otherwise be forced to remain mechanical or use some standard semiconductor product that can't provide all the desired features. WHAT KIND OF HELP TO EXPECT There are four major stages the potential chip-user goes through to arrive at his end product. Depending on his level of electronics expertise, he can seek help at any or all of these stages from the semiconductor manufacturer. Step 1: The design engineer must compile a list of product requirements and desired features. This can take the form of detailed specifications or just general function specifications. Basically, what does the product have to do? A semiconductor supplier will sit down with the de- 460 Typical development schedule for a custom circuit ~h Task LDGIC DESIGN (Upsized Schem.) RAM Address " Controller Control Logic MARC H APRIL MAY JUNE JULY AUG NOV DEC JAN FEB I i y I, ~, I I Layout Design CAD Conversion 1 I signer and help him draw up his specification, if necessary. There is normally no charge for this service if a predetermined volume is involved. Carried to the next logical step, a parts list can be drawn up from the spec and a development cost estimated. The manufacturer can also estimate a competitive production price at this pOint. By considering cost/volume trade-otis at the start, the designer benefits from these new services right up front. Based on a particular product volume, the designer will know whether his $100 product will now sell for $90 or $110 with electronics. Designers can decide fairly early whether it's the right move to make. As a part of the initial proposal, this is a service for which a fee is generally charged. But it may also identify unconsidered advantages: additional selling features, a better display, increase reliability, and fewer moving parts. It's not unlikely that the main issue will be shown to be features, and not strictly cost. And that has to help any product proposal's chances of success during the marketing and financial review process. The important thing to remember is that it is not simply a sUbstitution of electronics for mechanics. The electronics will allow the addition of more features now, and later will make it easier to make further modifications. Step 2: The design engineer must select a semiconductor product to fulfill his specification. When he seeks assistance from a semiconductor firm he has basically three options open to him. The progammable solution. With the semiconductor manufacturer's help, the design engineer can determine if his application will be satisfied with a standard manufacturer-supplied chip, or microcontroller. Functions such as timing control, temperature control, set pOint control, special purpose computation and appliance control can often be accomplished electronically with a standard c:hip. For example, Western Digital has standard chips programmed to replace logic in vending machines and the timers in sprinkling systems. 461 "- "- I-u, -g 00 'I ~ ..: "E '" '" f-, I I rJJ rJJ ..: Mr I,,. Masks rJJ rJJ "- rJJ rJJ ..: CIRCUIT DESIGN (Sized Schem.) Debug OCT , Check Fab SEPT ,. I I h ~, f-" I,,. ...., I~r- , r-f'l Depending on the design engineer's expertise, he may elect to program the standard chip himself, or he may have the manufacturer do it for him. If the designer elects to do his own programming, he can expect free application help from the semiconductor manufacturer and enough literature to tell him how to do the job. For the chip supplier, this is the simplest way of doing business; in this case, the designer should be able to order for a nominal program charge. If the supplier will be programming the chip, he will expect a typical order to be in the 10,000-to-100,000unit range over the first year. Programming costs might be expected to run anywhere from $7000 to $20,000, depending on the complexity of the application. Typically, this process takes 12 weeks from spec to singlechip programmed device. Programming costs, in the case of Western Digital, can be kept reasonably low because complete display timing and control functions are built into the chip hardware, as opposed to being written into the program. This design eliminates customization or program time usually involved with the display loop and initially saves 100 to 150 instruction words. The custom circuit approach is the second option open to the design engineer. The programmable solution is not always feaSible, espeCially if the intended application is complex. In this case, a manufacturer can build a custom circuit from scratch to perform the required functions. The typical product development time in this case is nine months and development costs will run approximately $50,000. The design engineer should be considering between 50,000 and 250,000 units per year to justify this development cost. The integrated hardware solution is the third option available to the design engineer. Here the semiconductor manufacturer does the system design and provides a PC board with components already mounted and tested and ready to plug into the end product. This route will cost out anywhere from $25,000 to $100,000. Step 3: The designer must now decide how he is going to design and assemble his product to do the job required. Unless the design engineer has chosen the integrated hardware solution, he buys his chip, whether standard or custom, programs it himself or has the manufacturer program it and is then responsible for putting that chip on a board. At this pOint, he must also select and design a display, a keyboard and an interface, integrate them all together and add plugs. Step 4: The designer has to decide whether he's going to produce the board himself or have someone else produce it in volume. If the designer has elected to go with a standard chip, he can seek bids for the board production from several manufacturers or he can produce the board himself. If the designer has commissioned a specially designed subsystem chip, he can opt for the designing manufacturer to handle the board production, or again, he can handle it himself. A TYPICAL CASE Let's take a hypothetical situation from start to finish to illustrate how this process would take place. XYZ Company manufactures electromechanical irrigation system controllers. Their competition suddenly comes out with an electronic device that does a more efficient job. XYZ's marketing people inform their president that, to stay ahead in the market, XYZ's product will now have to offer a better resolution of the time cycle: one-minute increments (instead of standard five to ten minutes) and multiple cycles (previously unavailable) to compensate for terrain differences. And, it must remain at a competitive cost. XYZ's president promptly hands the problem to his design team. From a marketing timetable standpoint, we would hope the conclusion is quickly reached that outside help will be necessary. At that pOint, contact is made with the applications department of a semiconductor manufacturer. The applications people sit down with the XYZ's designers, evaluate the product's requirements and write an objective specification. After a suitable microcontroller has been selected, XYZ will then decide whether the software program will be written in-house or by the semiconductor manufacturer-a service generally priced between $7000 and $13,000. If XYZ chooses to have the supplier do the programming, the semiconductor maker typically will require a production commitment before taking on the assignment. Let's say XYZ opts have the supplier do the programming. The company then supplies the semiconductor firm with an order for a predetermined minimum number of chips to be used over the first year. XYZ is now committed to pay a developmental fee for programming and tooling the chip; typically a 50% deposit will be made to the manufacturer at this point. Four to eight weeks later, XYZ can expect a system prototype. In effect, the manufacturer supplies the equivalent of a three-chip solution, with the program resident in PROM to allow modification of the program during prototype evaluation. Meanwhile, XYZ is designing a board to accept this part. The three-chip system is put on the board, it is plugged in and field testing begins. XYZ will pinpoint problems and change features, and the manufacturer will make the changes accordingly until XYZ feels they have a system that works and are ready to go with it. The manufacturer will then pick up the rest of the developmental fee and build a single-chip part. This process can take three to six weeks. Under these conditions, XYZ owns the program and the part-it is their proprietary chip. The company has paid in the neighborhood of $7000 to $13,000 but has done its own board work. If XYZ did not have the capability to do the board work, the supplier could do this also, and would supply the board a:·t work and design to XYZ, well documented. In this case, XYZ would not necessarily end up with a proprietary product. So, when the design challenge or problem-solution first indicates you should "go electronic," talk to a semiconductor manufacturer and see how they can help you. You may be pleasantly surprised at the very personalized treatment. 462 WESTERN DIGITAL p c o o R R A T / o N WD-51 IRRIGATION CONTROLLER o co .... 0> Ii ::l FEATURES GENERAL DESCRIPTION • CONTROLS UP TO 6 IRRIGATION STATIONS • PUMP CONTROUMASTER VALVE OUTPUT • USER PROGRAMMABLE FOR UP TO 3 WATERING CYCLES DURING A 24 HOUR DAY • USER PROGRAMMABLE RUN TIMES OF 1 TO 99 MINUTES FOR EACH STATION • USER SELECTION OF WATERING DAYS OF 0 TO 7 DAYS PER WEEK • TIME OF DAY AND DAY OF WEEK CONTINUOUSLY DISPLAYED o RAIN INHIBIT MODE o EASY TO DESIGN IN Preprogrammed Controller for Irrigation Applications. The WO-51 is a single-chip controller preprogrammed to operate a 6 station irrigation system. It is implemented using P-channel silicon gate MOS/LSI technology and requires minimal support circuitry. All program and data storage are on·chip, as well as input switch matrix scan, 7 segment display decode and drive, and output control logic. CI FUNCTIONAL DESCRIPTION The logic symbol and block diagram of the WO-51 is shown in Figure 1. ROM SCAN INPUTS CPU CONTROL OUTPUTS SCAN OUTPUTS FIGURE 1 BLOCK DIAGRAM , 463 ~ PIN DESCRIPTION SYMBOL PIN NO. 1 VSS VDD SegA,B,C, D,E,F,G STN 1,2,3, 4,5,6 Positive Supply voltage 20 Negative Supply voltage 2·6,39·40 --RESET INO, 1N1, 1N2, 1N3 FUNCTION Decoded 7-Segment Multiplexed outputs, 15 mA source. A low-level input voltage resets internal logic and initializes RAM data. 8 Scanned inputs, 1N3 is MSB 12·15 17-19, 21-23 Station Output control for solenoid drivers. PUMP 24 Pump control output- a high-level output indicates a manual or automatic cycle is in progress. 60HZ 26 60 HZ time base input 50HZ 27 50 HZ time base inpu'. DMUX 30 4-digit display control output DO-D7 31-38 Digit scan outputs, (D7=MSD. DO=LSD) I I I------ T eve ~ I I , I I' _ _ _-'-I : I\~, --'I_ _ _ _--,_-+_--"'~"___ I VA~IDfO.R4~CLOC.O
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2013:07:28 08:51:34-08:00 Modify Date : 2013:07:28 10:57:23-07:00 Metadata Date : 2013:07:28 10:57:23-07:00 Producer : Adobe Acrobat 9.55 Paper Capture Plug-in Format : application/pdf Document ID : uuid:59149287-7d3c-c648-9163-d4174b56d848 Instance ID : uuid:d1d04bc3-6b99-cf45-adcf-d67c5ddae435 Page Layout : SinglePage Page Mode : UseNone Page Count : 548EXIF Metadata provided by EXIF.tools