Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP M512x : Mega I/O Controller with Plug & Play • • • • • • • • • • Supports Windows 95 Plug and Play Supports 2 serial/1 parallel/FDC/RTC/KB and PS/2 mouse functions Supports 22 General Purpose I/O pins Enhanced ESD/LATCH up to over 4KV/300 mA Supports SPP, PS/2, EPP, ECP and 1284 compliance Supports 5 GPIO Alternative function pins for Remote Control Supports IR via UART1, UART2 and two additional IR pins Supports Fast Gate A20 and RC functions Supports KBC and RTC enable/disable functions Single-chip Notebook/Desktop solution n FEATURES n Supports Windows 95 Plug-and-Play n Supports 2 Serial / 1 Parallel / FDC / RTC / KB / PS/2 Mouse functions n Supports ECP/ EPP / PS/2 / SPP and 1284 Compliance - IBM PC/XT, PC/AT and PS/2 compatible Bi-directional parallel port Supports 22 General Purpose I/O pins - Enhanced Parallel Port (EPP) compatible - 3 GPIO ports (Ports 1, 2, 3) - Microsoft and Hewlett Packard Extended Capabilities Port - 5 GPIO-ALT function pins for Remote Control (Pins 30-34) - 2 General Purpose chip select pins (Pins 24-25) (ECP) compatible n 2 - Supports I C Control Pins n Various modes of Parallel Port - Two high performance 16550 compatible UARTs with send/receive 16-byte FIFOs 2.88 MB Floppy Disk Controller - Serial Infra Red (SIR) for wireless communications - Software compatible with 82077 and supports 16-byte - MIDI (Musical Instrument Digital Interface) compatible data FIFOs - High performance internal data separator - Supports standard 1 Mbps / 500 Kbps / 300 Kbps / 250 Kbps data rate Serial ports n High performance Power Management for FDC, UART and Parallel Port n Supports XD-To-SD Bus Buffer and Control Pins n Supports Enable/Disable KBC and RTC - Supports 3 modes of 3.5" FDD (720K/1.2M/1.44MB) n Supports Fast Gate A20 and RC function - Swappable drives A and B n Supports External KBC programming pin functions n Supports FDC through Parallel Port pins n Supports additional IrDA and ASK IR Pins n Supports AT PS/2 KB and PS/2 Mouse n Supports Phoenix KBC (M5123), AMI KBC(M5125) n Built-in Keyboard Controller and Real Time Clock n 160-pin PQFP package 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 1 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Table of Contents : Section 1 : Introduction .............................................................................................................. 3 1.1 Features and Function ................................................................................................ 3 1.2 Block Diagram............................................................................................................ 4 1.3 Register Overview ...................................................................................................... 5 Section 2 : Pin Description ......................................................................................................... 6 2.1 Pinout Diagram .......................................................................................................... 6 2.2 Pin Description ........................................................................................................... 7 2.3 Numerical Pin List ...................................................................................................... 13 2.4 Alphabetical Pin List ................................................................................................... 15 Section 3 : Configuration Description and Power Management Features ................................ 17 3.1 Configuration Port ...................................................................................................... 17 3.2 Power Management Features ..................................................................................... 29 Section 4 : Floppy Disk Controller.............................................................................................. 31 4.1 Register Overview ...................................................................................................... 31 4.2 Register Description ................................................................................................... 32 4.3 Result Phase Status Registers.................................................................................... 39 4.4 Processor Software Interface ...................................................................................... 41 4.5 Command Set Descriptions ........................................................................................ 42 4.6 Command Description Table ...................................................................................... 51 Section 5 : Serial Port Registers ................................................................................................ 58 5.1 Line Control Register .................................................................................................. 60 5.2 Programmable Baud Generator .................................................................................. 61 5.3 Line Status Register ................................................................................................... 61 5.4 Interrupt Identification Register ................................................................................... 62 5.5 Interrupt Enable Register ............................................................................................ 63 5.6 FIFO Control Register................................................................................................. 63 5.7 Modem Control Register ............................................................................................. 64 5.8 Modem Status Register .............................................................................................. 65 5.9 Scratchpad Register ................................................................................................... 65 5.10 Infrared Interface ....................................................................................................... 65 Section 6 : Keyboard Controller and Real Time Clock Functional Description ........................ 66 6.1 Keyboard and RTC lSA Interface ................................................................................ 66 6.2 Keyboard Controller.................................................................................................... 66 6.3 Real Time Clock ......................................................................................................... 73 Section 7 : BIOS .......................................................................................................................... 79 7.1 BIOS Buffer ................................................................................................................ 79 Section 8 : Parallel Port .............................................................................................................. 80 8.1 Parallel Port Interface ................................................................................................. 80 8.2 IBM XT/AT compatible, Bi-directional and EPP modes................................................ 81 Section 9 : Common I/O Ports .................................................................................................... 95 Section 10 : Electrical Characteristics ....................................................................................... 99 10.1 Absolute Maximum Ratings ........................................................................................ 99 10.2 DC Characteristics...................................................................................................... 99 10.3 AC Characteristics...................................................................................................... 101 10.4 AC Test Conditions..................................................................................................... 102 Section 11 : Packaging Information ........................................................................................... 120 Section 12 : Ordering Information.............................................................................................. 121 Section 13 : Revision History ..................................................................................................... 122 Worldwide Distributors and Sales Offices ................................................................................. 123 Page 2 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Section 1 : Introduction Features and Functions The Acer Labs' M512x chip has two full-function universal asynchronous receiver/ transmitters (UARTs), a keyboard interface, real time clock, a floppy disk controller (FDC) with data separator, parallel port, standard XT/AT address decoding for on-chip functions, and a configuration register. It offers a single-chip solution to the most common IBM PC, XT, AT and Notebook peripherals. The floppy disk controller is fully compatible with the industry-standard 765A and 82077SL architecture. It includes more advanced options such as a high performance data separator, extended track range to 4096, high performance power management, implied seek command, scan command, and supports both IBM and ISO 360K/1.2M/720K/1.44M/2.88M FDD formats. The UARTs are compatible with either the INS8250N-B, NS16450 and 16550. It has complete compatibility with the IBM AT's parallel port. The configuration register is one-byte wide and can be programmed via hardware or software. By controlling this register, the user can assign standard AT addresses and disable any major on-chip function (e.g., the FDC, either UART, or the parallel port) independent of the others. This allows for flexibility in system configuration when adapter boards contain duplicate functions. The M512x provides support for the ISA Plug-and-Play standard and recommended functionality to support Windows ‘ 95. Through internal configuration registers, each of the M512x’ s logic device’ s I/O address, DMA channel and IRQ channel may be programmed. There are 96 I/O address location options, 13 IRQ options, and three DMA channel options for each logical device except KBC and RTC. KBC’ s I/O address is not routable. RTC’ s I/O address and IRQ are not routable as well. 1.2 M512x Block Diagrams The following figures show the overall block diagram of the M512x. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 3 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP ISA Bus interface Floppy disk interface BIOS Buffer Common I/O Figure 1-1 Page 4 SD0-SD7 IORJ IOWJ AEN SA0-SA15 DACK0J-DACK3J DRQ0-DRQ3 TC IRQ1,IRQ3-12,IRQ14-15 MR RDATAJ WGATEJ WDATAJ HDSELJ DIRJ STEPJ DSKCHGJ DRV0-1 PDIR MOT0-1 WPJ TRK0J DENSEL INDEXJ ROMOEJ ROMCSJ RD0-7 CIO 10-17,20-25,30-34 ALi M512x SIN1, SOUT1 RTS1J DTR1J CTS1J DSR1J DCD1J RI1J SIN2,SOUT2 RTS2J DTR2J CTS2J DSR2J DCD2J RI2J AUTOFDJ INITJ SLCTINJ STROBEJ BUSY ACKJ PE SLCT ERRORJ IOCHRDY PD0-PD7 XTAL1,2 VBAT PWG KDAT,KCLK MDAT,MCLK Serial port 1 Serial port 2 Printer port interface RTC KBC M512x Block Diagram 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 1.3 Register Overview Table 1-1 I/O Address Decode Address Range Base + (0-5) and + (7) Base + (0-7) Base + (0-7) Base + (0-3) Base + (0-7) Base + (0-3), + (400-402) Base + (0-7), + (400-402) 0x60, 0x64 0x70, 0x71 Block Name Floppy Disk Serial Port COM1 Serial Port COM2 Parallel port SPP EPP ECP ECP+EPP+SPP KBC RTC Logical Device 0 4 5 3 Function IR support IR support 7 6 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 5 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Section 2 : Pin Description 2.1 Pinout Diagram 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 GND DRVDEN0 DRVDEN1 MOT0J DRV1J DRV0J MOT1J GND DIRJ STEPJ WDATAJ WGATEJ HDSELJ INDEXJ TRK0J WPROTJ RDATAJ DSKCHGJ MID1 MID0 VDD 14CLKI CIO30/KBCCLK CIO31/CS0J CIO32/CS1J PDIR/PS2DRV SA[13] SA[14] SA[15] CIO33/ALT_KCLK CIO34/ALT_KDAT CIO35/ALT_MCLK CIO36/ALT_MDAT CIO37/ALT_KBC X24TAL1 X24TAL2 CLK01 CLK02 ROMOEJ GND ALi M512x PWG ROMCSJ RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0 CIO25 CIO24 CIO23 CIO22 CIO21 CIO20 CIO17/I2C_DAT CIO16/I2C_CLK CIO15/P20 VDD CIO14/P21 CIO13/IRTX CIO12/IRRX CIO11/IRQIN2 CIO10/IRQIN1 GND MCLK MDAT KCLK KDAT IOCHRDY TC DRQ3 DACK3J DRQ2 DACK2J DRQ1 DACK1J DRQ0 DACK0J 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 Figure 2-1. M512x Pin Diagram Page 6 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 2.2 Pin Description Table 2-1 lists the functions of all M512x pins. A low represents a logic 0 (0V nominal) and a high represents a logic 1 (+2.4V nominal). Table 2-1 M512x Pin Description Table Name Number HOST Processor Interface SD0-SD7 70-72 Type Description I/O IORJ 68 I IOWJ 69 I AEN 70 I SA0-SA15 41-53, 27-29 I DACK0JDACK3J DRQ0DRQ3 81,83,85,87 I 82,84,86,88 O TC 89 I IRQ1, IRQ3-12, IRQ14-15 67,66,65,64, 63,62,61,59, 58,57,56,55, 54 80 O Data bus. These signals are used by the host microprocessor to transmit data to and from the M512x. These pins are in high impedance state when not in the output mode. I/O Read. This active low signal is issued by the host microprocessor to indicate a read operation. I/O Write. This active low signal is issued by the host microprocessor to indicate a write operation. Address Enable. This active high signal indicates DMA operations on the host data bus. I/O Address. These bits determine the I/O address to be accessed during IORJ and IOWJ cycles. DMA Acknowledge. An active low input signal acknowledging the request for a DMA data transfer. This input enables the DMA read or write internally. DMA request. This active high output is the DMA request for byte transfers of data to the host. This signal is cleared on the last byte of the data transfer by the DACKJ signal going low. Terminal Count. This signal indicates to the M512x that data transfer is complete. TC is only accepted when DACKJ is low. TC is active high in AT mode and active low in PS/2 mode. Interrupt Requests. MR IS Reset. This active high signal resets the M512x and must be valid for 500 ns minimum. In M512x, the falling edge of reset latches the jumper configuration. The jumper select lines must be valid 50 ns prior to this edge. Floppy Disk Interface RDATAJ 17 IS WGATEJ 12 O WDATAJ 11 O HDSELJ 13 O DIRJ 9 O STEPJ 10 O DSKCHGJ 18 IS Read Disk Data. This raw data read signal from the disk is connected here. Each falling edge represents a flux transition of the encoded data. Write Gate. This active-low, high-drive output enables the write circuitry of the selected disk drive. This signal prevents glitches during power-up and powerdown. Unstable power prevents writing to the disk. Write Data. This active low output is a write- precompensated serial data to be written onto the selected disk drive. Each falling edge causes a flux change on the media. Head Select. This active low output determines which disk drive head is active. Low = Head 0, high (open) = Head 1. Direction. This active low output determines the direction of the head movement (low = step-in, high = step-out). During write or read modes, this output is high. Step. This active low signal produces a pulse to move the head during a seek operation. Disk Change. This disk interface signal indicates when the disk drive door is open. This signal is read from bit D7 of address xx7h. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 7 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Table 2-1 M512x Pin Description Table (continued) Name Number Type Description Floppy Disk Interface : DRV0J, 6, 5 O Drive Select 0, 1. Active low, output select drives 0-1. DRV1J PDIR 26 O This bit is used to indicate the direction of the Parallel port data bus. 0= output/write, 1= input / read. PS2DRV I Drive 2. In PS/2 mode, this input indicates whether a second drive is connected; this signal should be low if a second drive is connected. This status is reflected in a read of Status Register A. MID0-1 20,19 IS Media ID inputs. In floppy enhanced mode, these inputs are the media ID inputs. MOT0J, 4, 7 O Motor on 0, 1. These active-low outputs select motor drives 0-1. MOT1J WPROTJ 16 IS Write Protected. This active-low Schmitt Trigger input senses from the disk drive that a disk is write-protected. Any write command is ignored. TRK0J 15 IS Track 00. This Schmitt Trigger input signal senses from the disk drive that the head is positioned over the outermost track. INDEXJ 14 IS Index. This active low Schmitt Trigger input senses from the disk drive that the head is positioned over the beginning of a track, as marked by an index hole. DRVDEN 2-3 O Data Rate 0-1. This output reflects bits 0-1 of the Data Rate Register. 0-1 Serial Port Interface : SIN1, SIN2 145,155 I Receive Data. Receiver serial data input. SOUT1, 146,156 O Transmit Data. Transmitter serial data output from Serial Port. SOUT2 RTS1J 148 O Request to send. Active low Request to send output for Primary Serial port. Handshake output signal notifies modem that the UART is ready to transmit data. This signal can be programmed by writing to bit 1 of Modem Control Register (MCR). The hardware reset will clear the RTSJ signal to inactive mode (high). Forced inactive during loop mode operation. CFGPORT I Configuration port select. During reset active, this input is read and latched to define the configuration register’ s base address. RTS2J 158 O Request to send. This active low signal for Secondary Serial Port. Handshake output signal notifies modem that the UART is ready to transmit data. This signal can be programmed by writing to bit 1 of Modem Control Register (MCR). The hardware reset will clear the RTSJ signal to inactive mode (high). Forced inactive during loop mode operation. KBC_EN I KBC enable control. During reset active, this input is read and latched to enable KBC after reset. The signal can be overwritten by configuration register. DTR1J 150 O Data Terminal Ready. This is an active low output for primary serial port. Handshake output signal signifies to modem that the UART is ready to establish data communication link. This signal can be programmed by writing to bit 0 of Modem Control Register (MCR). The hardware reset will clear the DTRJ signal to inactive during loop mode operation. RTC_EN I RTC enable control. During reset active, this input is read and latched to enable RTC after reset. This signal can be overwritten by configuration register. Page 8 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Table 2-1 M512x Pin Description Table (continued) Name Number Type Description Serial Port Interface : DTR2J 160 O Data Terminal Ready. This active low output is for secondary serial port. Handshake output signal notifies modem that the UART is ready to establish data communication link. This signal can be programmed by writing to bit 0 of Modem Control Register (MCR). The hardware reset will clear the DTRJ signal to inactive mode (high). Forced inactive during loop mode operation. PS2_ATJ I KBC PS2 mode or AT mode select. When active, this input is read and latched to define the KBC PS-2 or AT mode. CTS1J 149, 159 I Clear to Send. This active low input for primary and secondary serial ports. CTS2J Handshake signal which notifies the UART that the modem is ready to receive data. The CPU can monitor the status of CTSJ signal by reading bit 4 of Modem Status Register (MSR). A CTSJ signal state is directly comparative with the MSR bit after the last MSR read. If bit 3 of Interrupt Enable Register is set, the interrupt is generated when CTSJ changes state. The CTSJ signal has no effect on the transmitter. Note : Bit 4 of MSR is the complement of CTSJ. DSR1J 147, 157 I Data Set Ready. This active low input is for primary and secondary serial DSR2J ports. Handshake signal which notifies the UART that the modem is ready to establish the communication link. The CPU can monitor the status of DSRJ signal by reading bit5 of Modem Status Register (MSR). A DSRJ signal state change from low to high after the last MSR read will raise the MSR bit 1. If bit 3 of Interrupt Enable Register is set, the interrupt is generated when DSRJ changes state. Note: Bit 5 of MSR is the complement of DSRJ. DCD1J, 152, 154 I Data Carrier Detect. This active low input is for primary and secondary serial DCD2J ports. Handshake signal which notifies the UART that carrier signal is detected by the modem. The CPU can monitor the status of DCDJ signal by reading bit 7 of Modem Status Register (MSR). A DCDJ signal state rises after the last MSR read will raise MSR bit 3. If bit 3 of Interrupt Enable Register is set, the interrupt is generated when DCDJ changes state. Note : bit 7 of MSR is the complement of DCDJ. RI1J, RI2J 151, 153 I Ring Indicator. This active low input is for primary and secondary serial ports. Handshake signal that notifies the UART that the telephone ring signal is detected by the modem. The CPU can monitor the status of RIJ signal by reading bit 6 of Modem Status Register (MSR). A risen RIJ signal state after the last MSR read will raise MSR bit 2 to a 1. If bit 3 of Interrupt Enable Register is set, the interrupt is generated when RIJ changes state. Note : bit 6 of MSR is the complement of RIJ. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 9 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Table 2-1 M512x Pin Description Table (continued) Name Number Type Description Printer Port Interface AUTOFDJ 143 O Autofeed Output. This active low output causes the printer to automatically feed one line after each line is printed. This signal is the complement of bit 1 of the Printer Control Register. INITJ 141 O Initiate Output. This active low signal is bit 2 of the printer control register. This signal is used to initialize the printer. SLCTINJ 140 O Printer select input. This active low signal selects the printer. This is the complement of bit 3 of the Printer Control Register. STROBEJ 144 O Strobe Output. This active low pulse is used to strobe the printer data into the printer. This output signal is the complement of bit 0 of the Printer Control Register. BUSY 128 IS Busy. This signal indicates the status of the printer. A high indicates the printer is busy and not ready to receive new data. Bit 7 of the Printer Status Register is the complement of the BUSY input. ACKJ 129 IS Acknowledge. This active low signal from the printer indicates it has received the data and is ready to accept new data. Bit 6 of the Printer Status Register reads the ACKJ input. PE 127 IS Paper End. This signal indicates that the printer is out of paper. Bit 5 of the Printer Status Register reads the PE input. SLCT 126 IS Printer Selected Status. This active high signal from the printer indicates that it has power on. Bit 4 of the Printer Status Register reads the SLCT input. ERRORJ 142 I Error. This active low signal indicates an error condition at the printer. PD0-PD7 138-131 I/O Port Data. This bi-directional parallel data bus is used to transfer information between CPU and peripherals. IOCHRDY 90 OD IOCHRDY. In EPP mode, this pin is pulled low to extend the read/write command. Real-Time Clock XTAL1 122 ICLK 32Khz Crystal Input. XTAL2 124 OCLK 32Khz Crystal Output. VBAT 121 P Battery Voltage. PWG 120 IS Power Good Input. Keyboard Controller KDAT 91 I/O Keyboard Data. KCLK 92 I/O Keyboard Clock. MDAT 93 I/O Mouse Data. MCLK 94 I/O Mouse Clock. Page 10 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Table 2-1 M512x Pin Description Table (continued) Name Number Type Description BIOS Buffer : ROMOEJ 39 IS ROM Output Enable. ROMCSJ 119 IS ROM Chip Select. RD0-7 111-118 I/O ROM Bus. Common I/O : CIO10-11 96-97 I/O Common I/O pin. I IRQ In. CIO12 98 I/O Common I/O pin. I IRRX. CIO13 99 I/O Common I/O pin. O IRTX. CIO14 100 I/O Common I/O pin. O KBC P21 function. CIO15 102 I/O Common I/O pin. O KBC P20 function. CIO16 103 I/O Common I/O pin. O I2C_CLK. CIO17 104 I/O Common I/O pin. I/O I2C_DAT. CIO20-24 105-109 I/O Common I/O pin. CIO25 110 I/O Common I/O pin. I KEYLOCKJ. CIO30 23 I/O Common I/O pin. I KBC_CLK. CIO31 24 I/O Common I/O pin. O General Chip Select decoder CS0J. CIO32 25 I/O Common I/O pin. O General Chip Select decoder CS1J. CIO33 30 I/O Common I/O pin. O Alternative Keyboard Clock. CIO34 31 I/O Common I/O pin. O Alternative Keyboard Data. CIO35 32 I/O Common I/O pin. O Alternative Mouse Clock. CIO36 33 I/O Common I/O pin. O Alternative Mouse Data. CIO37 34 I/O Common I/O pin. I Alternative KBC select. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 11 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Table 2-1 M512x Pin Description Table (continued) Name Number Type Description Miscellaneous X24TAL1 35 ICLK Clock 1. This is an external connection for a parallel resonant 24 MHz crystal. A CMOS compatible oscillator is required if crystal is not used. X24TAL2 36 OCLK Clock 2. This is a 24 MHz crystal. If an external clock is used, this pin should not be connected. This pin should not be used to drive any other drivers. X14CLKI 22 I Clock 14 In. This is a 14.318 MHz clock source in. XCLKO1 37 O Clock 14 out. This is a 14.318 MHz clock out. XCLKO2 38 O Clock 14 out. This is the second 14.318 MHz clock out. Power Pins Vcc 21,60,101, P Power. +5 Volt supply pin. 125,139 Vss 1,8,40,71,95, P Ground pins. 123,130 Type Description : I IS ICLK OCLK O4 OD24 Page 12 Input TTL compatible. Input with Schmitt Trigger. CLK input. CLK output. Output with 4 mA sink @ 0.4 V, source 4 mA @ 2.4 V. Open drain outputs, sinks 24 mA @ 0.4 V. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 2.3 Numerical Pin List Pin No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Pin No. 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Pin Name SA0 SA1 SA2 SA3 SA4 SA5 SA6 SA7 SA8 SA9 SA10 SA11 SA12 IRQ15 IRQ14 IRQ12 IRQ11 IRQ10 IRQ9 Vcc IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ1 IORJ IOWJ AEN Vss SD0 SD1 SD2 SD3 SD4 SD5 SD6 SD7 MR 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Fax: 762-6060 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Pin Name Vss DRVDEN0 DRVDEN1 MOT0J DRV1J DRV0J MOT1J Vss DIRJ STEPJ WDATAJ WGATEJ HDSELJ INDEXJ TRK0J WPROTJ RDATAJ DSKCHGJ MID1 MID0 Vcc X14CLKI CIO30/ KBC_CLK CIO31/CS0J CIO32/CS1J PDIR/PS2DRV SA13 SA14 SA15 CIO33/ ALT_KCLK CIO34/ ALT_KDAT CIO35/ ALT_MCLK CIO36/ ALT_MDAT CIO37/ ALT_KBC X24TAL1 X24TAL2 XCLKO1 XCLKO2 ROMOEJ Vss Type P O O O O O O P O O O O O IS IS IS IS IS IS IS P I I/O I/O I/O I/O IS IS IS I/O I/O I/O I/O I/O ICLK OCLK O O IS P Type IS IS IS IS IS IS IS IS IS IS IS IS IS O O O O O O P O O O O O O O IS IS IS P I/O I/O I/O I/O I/O I/O I/O I/O IS Page 13 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Numerical Pin List (continued) Pin No. Pin Name 81 DACK0J 82 DRQ0 83 DACK1J 84 DRQ1 85 DACK2J 86 DRQ2 87 DACK3J 88 DRQ3 89 TC 90 IOCHRDY 91 KDAT 92 KCLK 93 MDAT 94 MCLK 95 Vss 96 CIO10/IRQIN1 97 CIO11/IRQIN2 98 CIO12/IRRX 99 CIO13/IRTX 100 CIO14/GA20 101 Vcc 102 CIO15/KBRCJ 103 CIO16/I2C_CLK 104 CIO17/I2C_DAT 105 CIO20 106 CIO21 107 CIO22 108 CIO23 109 CIO24 110 CIO25 111 RD0 112 RD1 113 RD2 114 RD3 115 RD4 116 RD5 117 RD6 118 RD7 119 ROMCSJ 120 PWG Page 14 Type IS O IS O IS O IS O IS OD I/O I/O I/O I/O P I/O I/O I/O I/O I/O P I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O IS IS Pin No. 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 Pin Name VBAT X32TAL1 Vss X32TAL2 Vcc SLCT PE BUSY ACKJ Vss PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 Vcc SLCTINJ INITJ ERRORJ AUTOFDJ STROBJ SIN1 SOUT1 DSR1J RTS1J/ CFG_PORT CTS1J DTR1J/RTC_EN RI1J DCD1J RI2J DCD2J SIN2 SOUT2 DSR2J RTS2J/KBC_EN CTS2J DTR2J/PS2_ATJ Type P ICLK P OCLK P IS IS IS IS P I/O I/O I/O I/O I/O I/O I/O I/O P O O I O O IS O IS I/O IS I/O IS IS IS IS IS O IS I/O IS I/O 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 2.4 Alphabetical Pin List Pin No. 129 70 143 128 96 97 98 99 100 102 103 104 105 106 107 108 109 110 23 24 25 30 31 32 33 34 149 159 81 83 85 87 152 154 9 82 84 86 88 2 Pin Name ACKJ AEN AUTOFDJ BUSY CIO10/IRQIN1 CIO11/IRQIN2 CIO12/IRRX CIO13/IRTX CIO14/GA20 CIO15/KBRCJ CIO16/I2C_CLK CIO17/I2C_DAT CIO20 CIO21 CIO22 CIO23 CIO24 CIO25 CIO30/KBC_CLK CIO31/CS0J CIO32/CS1J CIO33/ALT_KCLK CIO34/ALT_KDAT CIO35/ALT_MCLK CIO36/ALT_MDAT CIO37/ALT_KBC CTS1J CTS2J DACK0J DACK1J DACK2J DACK3J DCD1J DCD2J DIRJ DRQ0 DRQ1 DRQ2 DRQ3 DRVDEN0 Type IS IS O IS I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O IS IS IS IS IS IS IS IS O O O O O O Pin No. 3 5 6 18 147 157 150 160 142 13 14 141 90 68 69 67 66 65 64 63 62 61 59 58 57 56 55 54 91 92 94 93 19 20 4 7 80 138 137 136 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Pin Name DRVDEN1 DRV1J DRV0J DSKCHGJ DSR1J DSR2J DTR1J/RTC_EN DTR2J/PS2_ATJ ERRORJ HDSELJ INDEXJ INITJ IOCHRDY IORJ IOWJ IRQ1 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 IRQ8 IRQ9 IRQ10 IRQ11 IRQ12 IRQ14 IRQ15 KDAT KCLK MCLK MDAT MID1 MID0 MOT0J MOT1J MR PD0 PD1 PD2 Type O O O IS IS IS I/O I/O I O IS O OD IS IS O O O O O O O O O O O O O I/O I/O I/O I/O IS IS O O IS I/O I/O I/O Page 15 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Alphabetical Pin List (continued) Pin No. Pin Name 135 PD3 134 PD4 133 PD5 132 PD6 131 PD7 26 PDIR/PS2DRV 127 PE 120 PWG 111 RD0 112 RD1 113 RD2 114 RD3 115 RD4 116 RD5 117 RD6 118 RD7 17 RDATAJ 151 RI1J 153 RI2J 119 ROMCSJ 39 ROMOEJ RTS1J/CFG_PORT 148 158 RTS2J/KBC_EN 41 SA0 42 SA1 43 SA2 44 SA3 45 SA4 46 SA5 47 SA6 48 SA7 49 SA8 50 SA9 51 SA10 52 SA11 53 SA12 27 SA13 28 SA14 29 SA15 72 SD0 Page 16 Type I/O I/O I/O I/O I/O I/O IS IS I/O I/O I/O I/O I/O I/O I/O I/O IS IS IS IS IS I/O I/O IS IS IS IS IS IS IS IS IS IS IS IS IS IS IS IS I/O Pin No. 73 74 75 76 77 78 79 145 155 140 126 146 156 10 144 89 15 121 21 60 101 125 139 1 8 40 71 95 123 130 11 16 12 22 35 36 122 124 37 38 Pin Name SD1 SD2 SD3 SD4 SD5 SD6 SD7 SIN1 SIN2 SLCTINJ SLCT SOUT1 SOUT2 STEPJ STROBJ TC TRK0J VBAT Vcc Vcc Vcc Vcc Vcc Vss Vss Vss Vss Vss Vss Vss WDATAJ WPROTJ WGATEJ X14CLKI X24TAL1 X24TAL2 X32TAL1 X32TAL2 XCLKO1 XCLKO2 Type I/O I/O I/O I/O I/O I/O I/O IS IS O IS O O O O IS IS P P P P P P P P P P P P P O IS O I ICLK OCLK ICLK OCLK O O 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Section 3 : Configuration Description and Power Management Features 3.1 Configuration Port CHIP LEVEL REGISTERS This configuration is based on the typical Plug-and-Play architecture and allows the BIOS to assign resources at POST. Index name Hard reset, Soft reset default values Index 0x02h 0x00, 0x00 To assign M512x a configuration key, <0x51, 0x23> must be written to CONFIG PORT to enter the CONFIGURE mode. Then follow the Plug-and-Play procedure to configure each device. Bit 0 1 : Soft reset the configuration registers. This bit is automatically cleared after write. This register is write only. A configuration key = < 0xBB > must be written to CONFIG PORT to exit the CONFIGURE mode and enter the RUN mode. Index 0x03h 0x03, N/A Bit 1-0 Set CIO1, CIO2, and CIO3 selection register address. 00 : 0xE0 01 : 0xE2 10 : 0xE4 11 : 0xEA Bit 7 0 : Disable access 1 : Enable access to CIO1, CIO2, and CIO3. Index 0x07h 0x00, 0x00 Bit 3-0 Select the current logic device. This allows the access to each logical device’ s registers. Bit 7-4 Read as 0. Index 0x20h 0x23, 0x23 ALi defined Read only. device identification. 0x51, 0x51 ALi defined Read only. device identification. Note : After exiting the CONFIGURE mode, the current logic device select is cleared. You must select the logic device before you program it. After a hard reset or Power on reset, the M512x is in the RUN mode with all logical devices disable except KBC and RTC. The hardware setting pins control the KBC and RTC. Then the normal configure procedure is also suitable for KBC and RTC. The hardware setting is listed on table 3-2. All logical devices may be configured through 2 standard Configuration I/O Ports ( INDEX and DATA ) by placing the M512x into Configuration Mode. The BIOS uses these configuration ports to initialize the logical devices at POST. The INDEX and DATA ports are only valid when the M512x is in Configuration Mode. A hardware setting pin CFG_PORT is latched to select the CFG_PORT as 3F0h or 370h. Port Name CONFIG PORT INDEX PORT DATA PORT CFG_PORT=0 0x3F0 0x3F0 0x3F1 CFG_PORT=1 0x370 0x370 0x371 Type W W R/W Index 0x21h 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 17 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Index 0x22h 0x00, 0x00 Index 0x2Dh Bit 0 Direct powerdown FDC (Note 3) 0 : disable 1 : enable Reserved for test purposes only Bit 2-1 read as 0. Bit 3 Direct powerdown Parallel Port (Note 3) 0 : disable 1 : enable Bit 4 Direct powerdown UART1 (Note 3) 0 : disable 1 : enable Bit 5 Direct powerdown UART2 (Note 3) 0 : disable 1 : enable 0x00, N/A LOGICAL DEVICE 0 REGISTERS (FDC) Index 0x30h 0x00, 0x00 Bit 0 FDC (Note 4) 0 : disable 1 : enable Bit 7-1 read as 0. Index 0x60h 0x03, 0x03 The higher address of the FDC’ s I/O base address. Bit 6 1: Turn off the oscillator. Bit 7 read as 0. Bit 7-2 read as 0. Index 0x23h 0x00, N/A Index 0x61h Bit 2-0 read as 0. 0xF0, 0xF0 The lower address of the FDC’ s I/O base address. Bit 3 Auto powerdown Parallel Port. 0 : disable 1 : enable Bit 2-0 set to 0. Bit 4 Auto powerdown UART1. 0 : disable 1 : enable Bit 5 Auto powerdown UART2. 0 : disable 1 : enable Bit 7-6 read as 0 Index 0x24h 0x00, N/A Bit 5-0 read as 0. Bit 6 0 : pin26 functions as PDIR 1 : pin26 functions as SDRV. Bit 7 0 : IRQ8 is active high 1 : IRQ8 is active low.(Note 1) Page 18 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Index 0x70h 0x06, 0x06 Index 0xF1h 0x00, N/A Bit 3-0 Select IRQ channel used by FDC. 0000 : None 0001 : IRQ1 0010 : N/A 0011 : IRQ3 0100 : IRQ4 0101 : IRQ5 0110 : IRQ6 0111 : IRQ7 1000 : N/A 1001 : IRQ9 1010 : IRQ10 1011 : IRQ11 1100 : IRQ12 1101 : N/A 1110 : IRQ14 1111 : IRQ15 Bit 1-0 External Floppy Select. 0x : internal FDC 10 : external FDC 11 : Drive A internal, Drive B external Bit 3-2 Density Select. 0x : Normal 10 : force to 1 11 : force to 0 Bit 5-4 Media ID[1-0] polarity. 0 : normal 1 : inverted Bit 7-6 Boot Floppy. 00 : FDD 0 01 : FDD 1 10 : FDD 2 11 : FDD 3 Bit 7-4 read as 0. Index 0x74h 0x02, 0x02 Index 0xF2h 0xFF, N/A Bit 2-0 Select DMA channel used by FDC 000 : DMA0 001 : DMA1 010 : DMA2 011 : DMA3 100 : None Bit 1-0 Floppy Drive A type. Bit 3-2 Floppy Drive B type. Bit 5-4 Floppy Drive C type. Bit 7-6 Floppy Drive D type. Index 0xF4h 0x00, N/A Bit 1-0 DRVDEN[1-0] signal definition (refer to Table 3-4). Bit 2, 7-5 read as 0. Bit 4-3 Data Rate Table Select (refer to Table 3-3). Bit 7-3 read as 0. Index 0xF0h 0x08, N/A Bit 0 0 : Normal mode 1 : Enhanced OS2 mode Bit 1 0 : Burst DMA mode. 1 : Non-burst DMA mode Bit 2, 7-5 read as 0. Bit 3 0 : PS2 mode 1 : AT mode Bit 4 0 : No swap. 1 : Swap Drive 0 and Drive 1 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 19 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP LOGICAL DEVICE 3 REGISTERS (Parallel Port) Index 0x30h 0x00, 0x00 Index 0xF0h 0xBC, N/A Bit 0 Activate Parallel Port. (Note 4) 0 : disable 1 : enable Bit 2-0 Bit 7-1 read as 0. Index 0x60h 0x03, 0x03 The higher address of the Parallel Port’ s I/O base address. EPP Compatible mode. 000 : PS2 001 : EPP 1.9 010 : ECP 011 : ECP+EPP1.9 100 : SPP 101 : EPP 1.7 111 : ECP+EPP 1.7 Bit 6-3 Bit 7-2 read as 0. ECP FIFO threshold value. Default is 0001. Index 0x61h 0x78, 0x78 The lower address of Port’ s I/O base address. Bit 7 PP interrupt type (not valid when PP is in SPP or PS2 mode). 1 : IRQ active low. 0 : IRQ active high. Note : An 8-byte boundary is required if EPP is available Index 0xF1h 0x05, N/A Index 0x70h 0x05, 0x05 Bit 0 0 : Non-burst DMA mode. 1 : Burst DMA transfer mode in ECP Bit 3-0 Bit 1 EPP time-out interrupt. 0 : disable 1 : enable Bit 2 PP operation clock. 0 : 24 Mhz. 1 : 12 Mhz Bit 7-3 read as 0. Bit 7-4 Select IRQ channel used by Parallel Port. 0000 : None 0001 : IRQ1 0010 : N/A 0011 : IRQ3 0100 : IRQ4 0101 : IRQ5 0110 : IRQ6 0111 : IRQ7 1000 : N/A 1001 : IRQ9 1010 : IRQ10 1011 : IRQ11 1100 : IRQ12 1101 : N/A 1110 : IRQ14 1111 : IRQ15 read as 0. Index 0x74h 0x04, 0x04 Bit 2-0 Select DMA channel used by Parallel Port. 000 : DMA0 001 : DMA1 010 : DMA2 011 : DMA3 100 : None Bit 7-3 read as 0. Bit 1-0 Page 20 the Parallel set to 0. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP LOGICAL DEVICE 4 REGISTERS (UART1) Index 0x30h 0x00, 0x00 Index 0xF0h 0x00, N/A Bit 0 UART1 (Note 4) 0 : disable 1 : enable Bit 0 MIDI support 0 : disable 1 : enable Bit 7-1 read as 0. Bit 1 High speed mode 0 : disable 1 : enable Index 0x60h 0x03, 0x03 The higher address of the UART1’ s I/O base address. Bit 2 0 : Normal 1 : 8Mhz clock source for UART1 Bit 7-2 read as 0. Bit 7-3 read as 0. Index 0xF1h 0x00, N/A Index 0x61h 0xF8, 0xF8 The lower address of the UART1’ s I/O base address. Bit 0 IR receive polarity. 0 : active high 1 : active low Bit 1 Bit 7-5 IR transmit polarity. 0 : active high 1 : active low 0 : Full duplex in IR 1 : Half duplex in IR IR mode. 00 : Normal 01 : IrDA 10 : ASK IR 11 : Normal read as 0. Index 0xF2h 0x0C, N/A Bit 0 Baud Rate output on RI1. 0 : disable 1 : enable Bit 1 IR half-duplex Tx-to-Rx time- out timer. 0 : disable 1 : enable IR half-duplex Rx-to-Tx time-out timer. 0 : disable 1 : enable IR half-duplex time-out time control. 00: 41-bit time for TR, 39-bit time for RX. 01: 42-bit time for TR, 39-bit time for RX 1x: 40-bit time for TR and RX Bit 2-0 is set to 0. Index 0x70h 0x04, 0x04 Bit 3-0 Select IRQ used by UART1. 0000 : None 0001 : IRQ1 0010 : N/A 0011 : IRQ3 0100 : IRQ4 0101 : IRQ5 0110 : IRQ6 0111 : IRQ7 1000 : N/A 1001 : IRQ9 1010 : IRQ10 1011 : IRQ11 1100 : IRQ12 1101 : N/A 1110 : IRQ14 1111 : IRQ15 Bit 2 Bit 4-3 Bit 2 Bit 7-4 read as 0. Bit 4-3 Bit 7-5 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 read as 0. Page 21 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP LOGICAL DEVICE 5 REGISTERS (UART2) Index 0x30h 0x00, 0x00 Index 0xF0h 0x00, N/A Bit 0 UART2 (Note 4) 0 : disable 1 : enable Bit 0 MIDI support 0 : disable 1 : enable Bit 7-1 read as 0. Bit 1 High speed mode 0 : disable 1 : enable Index 0x60h 0x02, 0x02 The higher address of the UART2’ s I/O base address. read as 0. Bit 2 1 : 8 Mhz clock source for UART2 0 : Normal Bit 7-3 read as 0. Index 0xF1h 0x02, N/A Bit 0 IR receive polarity. 0 : active high 1 : active low Bit 1 IR transmit polarity. 0: active high 1: active low Bit 2 1 : Half duplex in IR 0 : Full duplex in IR. Bit 4-3 IR mode. 00 : Normal 01 : IrDA 10 : ASK IR 11 : Normal Bit 5, 7 read as 0. Bit 6 IR input source. 0 : use TX2 and RX2 1 : use IRRX2 and IRTX2 Bit 7-2 Index 0x61h Bit 2-0 0xF8, 0xF8 The lower address of the UART2’ s I/O base address. set to 0. Index 0x70h 0x03, 0x03 Bit 3-0 Select IRQ channel used by UART2. 0000 : None 0001 : IRQ1 0010 : N/A 0011 : IRQ3 0100 : IRQ4 0101 : IRQ5 0110 : IRQ6 0111 : IRQ7 1000 : N/A 1001 : IRQ9 1010 : IRQ10 1011 : IRQ11 1100 : IRQ12 1101 : N/A 1110 : IRQ14 1111 : IRQ15 Bit 7-4 Page 22 read as 0. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Index 0xF2h 0x0C, N/A LOGICAL DEVICE 7 REGISTERS (KEYBOARD) Bit 0 Baud Rate output on RI2 0 : disable 1 : enable Index 0x30h 0x00, 0x00 Bit 0 Keyboard controller. This is a hardware setting bit by RTS2J. (Note 4) 0 : disable 1 : enable Bit 7-1 read as 0. Index 0x70h 0x01, 0x01 Bit 3-0 Select IRQ channel used by Keyboard. 0000 : None 0001 : IRQ1 0010 : N/A 0011 : IRQ3 0100 : IRQ4 0101 : IRQ5 0110 : IRQ6 0111 : IRQ7 1000 : N/A 1001 : IRQ9 1010 : IRQ10 1011 : IRQ11 1100 : IRQ12 1101 : N/A 1110 : IRQ14 1111 : IRQ15 Bit 7-4 read as 0. Index 0x72h 0x00, 0x00 Bit 3-0 Select IRQ channel used by PS/2 Mouse. 0000 : None 0001 : IRQ1 0010 : N/A 0011 : IRQ3 0100 : IRQ4 0101 : IRQ5 0110 : IRQ6 0111 : IRQ7 1000 : N/A 1001 : IRQ9 1010 : IRQ10 1011 : IRQ11 1100 : IRQ12 1101 : N/A 1110 : IRQ14 1111 : IRQ15 Bit 7-4 read as 0. Bit 1 IR half-duplex Tx-to-Rx time-out timer. 0 : disable 1 : enable Bit 2 IR half-duplex Rx-to-Tx time-out timer 0 : disable 1 : enable Bit 4-3 IR half-duplex time-out time control. 1x : 40-bit time for TR and RX 01 : 42-bit time for TR, 39-bit time for RX 00 : 41-bit time for TR, 39-bit time for RX. Bit 7-5 read as 0. LOGICAL DEVICE 6 REGISTERS (RTC) Index 0x30h 0x00, 0x00 Bit 0 0 : Deactivate RTC (Note 4) 1 : Activate RTC. This is a hardware setting bit by DTR1J. Bit 7-1 read as 0. Index 0xF0h 0x00, N/A Bit 0 CMOS RAM 0x80-0x9F 0 : Unlock 1 : Lock Bit 1 CMOS RAM 0xA0-0xBF. 0 : Unlock 1 : Lock Bit 2 CMOS RAM 0xC0-0xDF 0 : Unlock 1 : Lock Bit 3 CMOS RAM 0xE0-0xFF. 0 : Unlock 1 : Lock Bit 6-4 read as 0. Bit 7 1: Select upper 128-byte bank of RAM 0: Select lower bank 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 23 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Index 0xF0h 0x00, 0x00 Index 0xE1h 0x01, N/A CIO11 function definition. Bit 0 0 : KBC clock source is 8Mhz 1 : KBC clock source is 7.16Mhz. Bit 0 0 : output 1 : input Bit 1 Input/Output signal polarity. 0 : non-inverted 1 : inverted Bit 2 read as 0. Bit 3 0 : Normal function. 1 : Input function as IRQIN2 Bit 7-4 IRQ mapping for IRQIN2 0000 : None 0001 : IRQ1 0010 : N/A 0011 : IRQ3 0100 : IRQ4 0101 : IRQ5 0110 : IRQ6 0111 : IRQ7 1000 : N/A 1001 : IRQ9 1010 : IRQ10 1011 : IRQ11 1100 : IRQ12 1101 : N/A 1110 : IRQ14 1111 : IRQ15 Index 0xE2h 0x01, N/A CIO12 function definition. Bit 0 0 : output 1 : input Bit 1 Input/Output signal polarity 0 : non-inverted 1 : inverted Bit 2 read as 0. Bit 3 0 : Normal function 1 : Input function as IRRX2 Bit 7-4 read as 0. Bit 1 Bit 7-2 Read only. Indicates the type of keyboard 0 : PS2. 1 : AT read as 0. LOGICAL DEVICE 8 REGISTERS (Common I/O) Index 0x30h 0x00, 0x00 Bit 0 Common I/O port. 0 : disable 1 : enable Bit 7-1 read as 0. Index 0xE0h 0x01, N/A CIO10 function definition Bit 0 1 : input 0 : output Bit 1 Input/Output signal polarity 0 : non-inverted 1 : inverted Bit 2 read as 0. Bit 3 0 : Normal function. 1 : Input function as IRQIN1 Bit 7-4 IRQ mapping for IRQIN1. 0000 : None 0001 : IRQ1 0010 : N/A 0011 : IRQ3 0100 : IRQ4 0101 : IRQ5 0110 : IRQ6 0111 : IRQ7 1000 : N/A 1001 : IRQ9 1010 : IRQ10 1011 : IRQ11 1100 : IRQ12 1101 : N/A 1110 : IRQ14 1111 : IRQ15 Page 24 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Index 0xE3h 0x01, N/A CIO13 function definition. Index 0xE6h 0x01, N/A CIO16 function definition. Bit 0 0 : output 1 : input Bit 0 0 : output 1 : input Bit 1 Input/Output signal polarity. 0 : non-inverted. 1 : inverted Bit 1 Input/Output signal polarity. 0 : non-inverted. 1 : inverted Bit 2, 7-4 read as 0. Bit 2, 7-4 read as 0. Bit 3 0 : Normal function. 1 : Output function as IRTX2 Bit 3 0 : Normal function 1 : Output function as I2C CLK (Note2). Index 0xE4h 0x01, N/A CIO14 function definition. Index 0xE7h 0x01, N/A CIO17 function definition. Bit 0 0 : output 1 : input Bit 0 0 : output 1 : input Bit 1 Input/Output signal polarity 0 : non-inverted. 1 : inverted Bit 1 Input/Output signal polarity. 0 : non-inverted 1 : inverted Bit 2, 7-4 read as 0. Bit 2, 7-4 read as 0 Bit 3 0 : Normal function. 1 : Select KBC P21 function Bit 3 0 : Normal function. 1 : Select I2C DAT function (Note2). Index 0xE5h 0x01, N/A CIO15 function definition. Index 0xE8 0x01, N/A CIO20 function definition. 0 : output. 1 : input Bit 0 0 : output 1 : input Bit 1 Input/Output signal polarity. 0 : non-inverted. 1 : inverted Bit 7-2 read as 0. Bit 0 Bit 1 Input/Output signal polarity. 0 : non-inverted 1 : inverted Bit 2, 7-4 read as 0. Bit 3 0 : Normal function 1 : Select KBC P20 function 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 25 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Index 0xE9h 0x01, N/A CIO21 function definition. Index 0xEDh 0x01, N/A CIO25 function definition. Bit 0 0 : output. 1 : input Bit 0 0 : output 1 : input. Bit 1 Input/Output signal polarity. 0 : non-inverted. 1 : inverted Bit 1 Input/Output signal polarity. 0 : non-inverted. 1 : inverted Bit 7-2 read as 0. Bit 2, 7-4 read as 0. Bit 3 Index 0xEAh 0x01, N/A CIO22 function definition. 0 : Normal function. 1 : Select KEYLOCK function Bit 0 0 : output 1 : input Index 0xEEh 0x00, N/A Bit 5-0 Address line[13-8] of CS0J. Bit 1 Input/Output signal polarity. 0 : non-inverted. 1 : inverted. Bit 7-6 CS0J decoding range. 00 : A[3-0]=0000b 01 : A[3-0]=00xxb 10 : A[3-0]=0xxxb 11 : A[3-0]=xxxxb Index 0xEFh 0x00, N/A Bit 3-0 read as 0. Bit 7-4 Address line[7-4] of CS0J. Index 0xF5h 0x01, N/A CIO30 function definition. Bit 0 0 : output 1 : input Bit 1 Input/Output signal polarity. 0 : non-inverted 1 : inverted. Bit 2, 7-4 read as 0. Bit 3 0 : Normal. 1 : Input function as the new KBC clock source Bit 7-2 read as 0. Index 0xEBh 0x01, N/A CIO23 function definition. Bit 0 0 : output 1 : input. Bit 1 Input/Output signal polarity. 0 : non-inverted 1 : inverted. Bit 7-2 Index 0xECh read as 0 0x01, N/A CIO24 function definition Bit 0 0 : output 1 : input Bit 1 Input/Output signal polarity 0 : non-inverted 1 : inverted. Bit 7-2 Page 26 read as 0. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Index 0xF6h 0x01, N/A CIO31 function definition. Index 0xFAh 0x01, N/A CIO35 function definition. Bit 0 0 : output 1 : input Bit 0 0 : output 1 : input Bit 1 Input/Output signal polarity. 0 : non-inverted. 1 : inverted Bit 1 Input/Output signal polarity. 0 : non-inverted. 1 : inverted Bit 2, 7-4 read as 0. Bit 7-2 read as 0 Bit 3 0 : Normal function. 1 : Output function as CS0J Index 0xFBh 0x01, N/A CIO36 function definition 0x01, N/A CIO32 function definition. Bit 0 0 : output 1 : input 0 : output 1 : input Bit 1 Input/Output signal polarity. 0 : non-inverted 1 : inverted Input/Output signal polarity 0 : non-inverted 1 : inverted Bit 7-2 read as 0 Index 0xFCh 0x01, N/A CIO37 function definition. Bit 0 0 : output. 1 : input Bit 1 Input/Output signal polarity 0 : non-inverted 1 : inverted Bit 2, 7-4 read as 0. Bit 3 0 : Normal function 1 : enable the secondary KBC signal source. CIO33 functions as ALT_KCLK CIO34 functions as ALT_KDAT CIO35 functions as ALT_MCLK CIO36 functions as ALT_MDAT CIO37 input functions as the switch control of the traditional and secondary KBC signal source. When CIO37 is 1, the traditional one is selected. When 0, the secondary is selected. Index 0xF7h Bit 0 Bit 1 Bit 2, 7-4 read as 0. Bit 3 0 : Normal function. 1 : Output function as CS1J Index 0xF8h Bit 0 Bit 1 0x01, N/A CIO33 function definition. 0 : output 1 : input Input/Output signal polarity. 0 : non-inverted. 1 : inverted Bit 7-2 read as 0. Index 0xF9h 0x01, N/A CIO34 function definition. Bit 0 0 : output 1 : input Bit 1 Input/Output signal polarity. 0 : non-inverted 1 : inverted Bit 7-2 read as 0. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 27 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Index 0xFDh 0x00, N/A Bit 5-0 Address line[13-8] of CS1J. Bit 7-6 CS1J decoding range. 00 : A[3-0]=0000b 01 : A[3-0]=00xxb 10 : A[3-0]=0xxxb 11 : A[3-0]=xxxxb Index 0xFEh 0x00, N/A Bit 3-0 read as 0. Bit 7-4 Address line[7-4] of CS1J. Index 0xFFh 0x00, N/A Bit 0 CS0J assertion on write cycle. 0 : disable 1 : enable Table 3-2 Bit 1 CS0J assertion on read cycle. 0 : disable 1 : enable Bit 2 CS1J assertion on write cycle. 0 : disable 1 : enable Bit 3 CS1J assertion on read cycle. 0 : disable 1 : enable Note 1 : IRQ8 is reserved for use by RTC only. Note 2 : The access port address of the I2C device is determined by CS0J. The signals on XSD[0] and XSD[1] will reflect on I2C_CLK and I2C_DAT individually. Note 3 : During direct powerdown, access to I/O ports are denied. To wake up the device, setting 1 to corresponding bit is required. Note 4 : The disable function of the device has the same behavior as direct powerdown function except the device remains at reset state. M512x Hardware Setting Configuration Pin Name RTS1J 0 1 RTS2J 0 1 DTR1J 0 1 DTR2J 0 1 Function CFG_PORT 0x3F0 0x370 KBC_EN disable enable RTC_EN disable enable PS2_ATJ (KBC) AT mode PS2 mode Table 3-3 Drive Option 1 and 2 Data Rate Register Settings (3F7) FDC 0xF4[4:3]* KB/sec Drate Sel 1 Drate Sel 0 Drate Opt1 Drate Opt0 1000 1 1 0 0 500 0 0 0 0 300 0 1 0 0 250 1 0 0 0 1000 1 1 0 1 500 0 0 0 1 500 0 1 0 1 250 1 0 0 1 Note : *Drive Table 00 = Regular drives and 2.88MB 01 = 3-mode drive Table 3-4 Page 28 Densel (1) 1 1 0 0 1 1 0 0 Drate Drate1 1 0 0 1 1 1 0 0 Drate0 1 0 1 0 1 0 1 0 Drvden Output Mapping for Drive Type Table 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 0xF4 [1:0] DT1 Drvden Signal Definition DT0 DRVDEN1 DRVDEN0 0 0 DRATE0 DENSEL 1 0 DRATE0 DRATE1 0 1 DRATE0 nDENSEL 1 1 DRATE1 DRATE0 3.2 Power Management Features The M512x contains power management features that makes it ideal for design of notebook and desktop personal computers. These features can be classified into power management of the part and the internal oscillator. The powerdown of the part is done independently of the internal oscillator in the M512x. 3.2.1 Oscillator Power Management The M512x supports a built-in crystal oscillator that can be programmed to be either powered down or active, independent of the power state of the chip. This capability is implemented by the OSC-OFF bit in the 0x22. When OSCOFF is set high, the internal oscillator is off. When the external oscillator is used, power can be saved by turning off the internal oscillator. If the internal oscillator is used, the oscillator may be powered up (even when the rest of the chip is powered off) allowing the chip to wake up quickly and be in a stable state. It is recommended to keep the internal oscillator on even at the powerdown state. The main reason for this is that the recovery time of the oscillator during wake-up may take tens of milli-seconds under the worst case, which may create problems with any sensitive application software. In a typical application, the internal oscillator should be on unless the system goes into a power saving or standby mode. Such a mode request would be made by a system time-out or by a user. In this case, the system software would take over and must turn on the oscillator sufficiently ahead of awakening the part. In the case of the external oscillators, the power-up characteristics are similar. If the external source remains active during the time the M512x is powered down, then the recovery time effect is minimized. 3.2.2 Part Power Management This section deals with the power management of the rest of the chip excluding the oscillator. This part shows how powerdown modes and wake up modes are activated. 3.2.2.1 Powerdown Modes of FDC The rest of the chip is powered down in two ways: direct powerdown and automatic powerdown. Direct powerdown results in immediate shutdown of the part without regard to the current state of the part. Automatic powerdown results when certain conditions become true within the part. A. Direct Powerdown Direct powerdown is conducted via the powerdown bit in the DSR register (bit 6) or FDC_PWD bit in 0X22. Programming this bit high will powerdown M512x after the part is internally reset. All current status is lost if this type of powerdown mode is used. The part can exit powerdown from this mode via any hardware or software reset. This type of powerdown will override the automatic powerdown. If the part is in automatic powerdown when the DSR powerdown is issued, then all the previous status of the part will be lost, and the M512x will be reset to its default values. B. Auto Powerdown Automatic powerdown is conducted via a "Set Powerdown Mode" command. There are four conditions required before the part will enter powerdown. All these conditions must be true for the part to initiate the powerdown sequence. These conditions are listed as follows: 1. 2. 3. 4. The motor enable pins ME[0:3] must be inactive, The part must be idle; this is indicated by MSR = 80H and INT = 0 (INT may be high even if MSR = 80H due to polling interrupt), The head unload timer must have expired, and The auto powerdown timer must have timed out. The command can be used to enable powerdown by setting the AUTOPD bit in the command to high. The command also provides a capability of programming a minimum power-up time via the MIN DLY bit in the command. The minimum power-up time refers to a minimum amount of time the part will remain powered-up after being awakened or reset. An internal timer is initiated as soon as the auto powerdown command is enabled. The part is then powered down provided all the remaining conditions are met. Any software reset will reinitialize the timer. Changing of data rate extends the auto powerdown timer by up to 10 ms, but only if the data rate is changed during the countdown. Disabling the auto powerdown mode cancels the timers and holds the M512x out of auto powerdown. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 29 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP 3.2.2.2 Powerdown Mode of UART and Printer UART1, UART2 and printer can enter direct powerdown or auto powerdown respectively by setting their relative powerdown bit in the 0X22 and 0x23. 3.2.2.3 WAKE UP MODES of FDC This section describes the conditions for awakening the part from both direct and automatic powerdown. Power conservation of battery life is the main reason power management is required. This means that the M512x must be kept in powerdown state as long as possible and should be powered up as late as possible without compromising software transparency. To keep the part in powerdown mode as late as possible implies that the part should wake-up as fast as possible. However, some amount of time is required for the part to exit powerdown state and prepare the internal microcontroller to accept commands. Application software is very sensitive to such a delay and in order to maintain software transparency, the recovery time of the wake-up process must be carefully controlled by the system software. A. Wake Up from DSR Powerdown If the M512x enters powerdown through the DSR powerdown bit, it must be reset to exit. Any form of software or hardware reset will serve, although DSR is recommended. No other register access will wake up the part, including writing to the DOR's motor enable (ME[0:3]) bits. If DSR powerdown is used when the part is in auto powerdown, the DSR powerdown will override the auto powerdown. However, when the part is awakened by a software reset, the auto powerdown command (including the minimum delay timer) will again become effective as previously programmed. If the part is awakened via a hardware reset, the auto powerdown is disabled. After reset, the part will go through a normal sequence. The drive status will be initialized. The FIFO mode will be set to default mode on a hardware reset or on a software reset if the LOCK command is not blocking it. Finally, after a delay, the polling interrupt will be issued. B. Wake Up from Auto Powerdown If the part enters the powerdown state through the auto powerdown mode, then the part can be awakened by reset or by appropriate access to certain registers. If a hardware or software reset is used, then the part goes through the normal reset sequence. If the access is through the selected registers, then the M512x resumes operation as though it was never in powerdown. Besides activating the RESET pin or one of the software reset bits in the DOR or DSR, the following register accesses will wake-up the part: 1. 2. 3. Enabling any one of the motor enable bits in the DOR register (reading the DOR does not wake-up the part) A read from the MSR register A read or write to the FIFO register Any of these actions will wake-up the part. Once awake, M512x will initiate the auto powerdown time for 10 ms or 0.5 sec. (Depending on the MIN DLY bit the auto powerdown command). The part will powerdown again when all the powerdown conditions stated in the Auto Powerdown section are satisfied. Page 30 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Section 4 : Floppy Disk Controller 4.1 Register Overview map of the FDC controller. Table 4-2 is the summary of FDC register hardware reset. The integrated FDC of the M512x part is register- and hardware-level compatible with the industry standard 765A and 82077SL standards. Table 4-1 lists the I/O address Table 4-1 FDC Controller I/O Address Map A2 0 0 0 0 1 1 1 1 1 1 A0 0 1 0 1 0 0 1 0 1 1 A1 0 0 1 1 0 0 0 1 1 1 R/W R R R/W R/W R W R/W R W Register SRA (PS/2 mode only) SRB (PS/2 mode only) Digital Output Register DOR Tape Drive Register TDR Main Status Register MSR Data Rate Select Register DSR Data (First In First Out) FIFO reserved Digital Input Register DIR Configuration Control Register CCR * When this location is accessed, only bit 7 is driving, all other bits are held tristate. Table 4-2 Summary of FDC Register Hardware Reset and Powerdown State Register Bits State 7 6 5 4 3 2 1 0 DOR(R/W) H/W Reset State 0 0 0 0 0 0 0 0 3F2 TDR(R/W) H/W Reset State _ _ _ _ _ _ 0 0 3F3 MSR(R) H/W Reset State 0 X X X X X X X 3F4 DSR(W) H/W Reset State 0 0 0 0 0 0 1 0 3F4 DIR(R) H/W Reset State na _ _ _ _ _ _ _ 3F7 CCR(W) H/W Reset State _ _ _ _ _ _ 1 0 3F7 SRA(R) H/W Reset State 0 na 0 na 0 na na 0 3F0 SRB(R) H/W Reset State 1 1 0 0 0 0 0 0 3F1 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 I/O Address Map Page 31 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP 4.2 Register Description 4.2.2 Status Register B (SRB) This section describes the register bits for all the registers that are directly accessible to the CPU. 4.2.1 Status Register A (SRA) Address 3F0 Read only This register is read-only and monitors the state of the IRQ6 pin and several disk interface pins in PS/2 modes. The SRA can be accessed any time when it is in PS/2 mode. In AT mode, the data bus pins D0-D7 are held in a high impedance state for a read of address 3F0h. PS/2 mode Bit 7 6 5 4 3 2 1 0 Name Int Pending DRV2J STEP TRK0J HDSEL INDXJ WPJ DIR Bit 7 Interrupt Pending : The state of the Floppy Disk Interrupt output (active high). Bit 6 DRV2J : DRV2 disk interface input pin, indicates that a second drive has been installed. Bit 5 Step : Step output disk interface output pin (active high) Bit 4 Track 0 : TRK0 disk interface input (active low) Bit 3 Head Select : HDSEL disk interface input. A logic "1" selects side 1 and a logic "0" selects side 0. Bit 2 Index : Index disk interface input (active low) Bit 1 Write Protect : Write protect disk interface input. A logic "0" indicates that the disk is write protected. Bit 0 Direction : Head movement direction (active high). A logic "1" indicates inward direction a logic "0" outward. Page 32 Address 3F1 Read only This register is read-only and monitors the state of several disk interface pins, in PS/2 modes. The SRB can be accessed at any time during PS/2 mode. In AT mode, the data bus pins D0-D7 are held in a high impedance state for a read of address 3F1h. PS/2 mode Bit 7 6 5 4 3 2 1 0 Name 1 1 Drive Sel0 Wdata Toggle Rdata Toggle Wgate MOTEN1 MOTEN0 Bit 7 Reserved : Always read as a logic "1" Bit 6 Reserved : Always read as a logic "1" Bit 5 Drive Select 0 : Reflects the status of the Drive Select bit 0 of DOR (address 3F2 bit 0). This bit is cleared after a hardware reset, it is unaffected by a software reset Bit 4 Write Data Toggle : This bit changes Bit 3 Read Data Toggle : Every inactive edge of the RDATA input causes this bit to change state. state at every inactive edge of the WDATA Bit 2 Write Gate : The WGATE disk interface output (active high) Bit 1 Motor Enable 1 : The MTR1 disk interface output pin. This bit is low after a hardware reset and unaffected by a software reset. Bit 0 Motor Enable 0 : The MTR0 disk interface output pin. This bit is low after a hardware reset and unaffected by a software reset. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 4.2.3 Digital Output Register (R/W) Address 3F2 Table 4-3 R/W Digital Output Register Description Bit Description D7 Motor Enable 3: This controls the Motor for drive 3, MTR3. The output is high when it is inactive, and low when it is active. This bit and DOR bit 6 provide information that control the MTR1 and 0 pins, respectively when bit 7 of the configuration register is set. D6 Motor Enable 2: Same function as D7 except for drive 2's motor. Note that this signal is not brought out to a pin. Motor Enable 1: This bit controls the Motor for drive 1's motor. When this bit is 0, the MTR1 output is high. D5 D4 D3 D2 D1~D0 Table 4-4 D7 x x x 1 0 Table 4-5 D7 x x x 1 0 Motor Enable 0: Same as D5 except for drive 0's motor. DMA Enable: When set to a 1, this enables the DRQ, DAK, and INT pins. A zero disables these signals. Reset Controller: This bit resets the controller when 0 and enables normal operation when it is a 1. It does not affect the drive control or data rate registers which are reset only by a hardware reset. Drive Select: These two pins are encoded for the four drive select, and are gated with the motor enable lines, so that only one drive is selected when its motor enable is active. Internal 4 Drive Decode - Normal Digital Output Register D6 D5 D4 D1 x x 1 0 x 1 x 0 1 x x 1 x x x 1 0 0 0 x D0 0 1 0 1 x Drive Select Outputs DS1J DS0J 1 0 0 1 1 1 1 1 1 1 Motor on Outputs MTR1J MTR0J /D5 /D4 /D5 /D4 /D5 /D4 /D5 /D4 /D5 /D4 Internal 4 Drive Decode - Drives 0 and 1 Swapped Digital Output Register D6 D5 D4 D1 x x 1 0 x 1 x 0 1 x x 1 x x x 1 0 0 0 x D0 0 1 0 1 x Drive Select Outputs DS1J DS0J 0 1 1 0 1 1 1 1 1 1 Motor on Outputs MTR1J MTR0J /D4 /D5 /D4 /D5 /D4 /D5 /D4 /D5 /D4 /D5 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 33 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP 4.2.4 Tape Drive Register (TDR) Address 3F3 R/W This register is included for 82077 software compatibility. The robust data separator used in the M512x does not require its characteristics modified for tape support. The contents of this register are not used internally to the device. The TDR is unaffected by a software reset. Bits 2-7 are tri-stated when read in this mode. Normal Floppy mode Normal mode. Register 3F3h contains only bits 0 and 1. When this register is read, bits 2- 7 are at high impedance. REG 3F3 DB7 Tri-state DB6 Tristate DB5 Tri-state DB4 Tri-state DB3 Tri-state DB2 Tristate DB1 tapesel1 DB0 tapesel0 Enhanced Floppy mode 2 (OS2) Register 3F3 for Enhanced Floppy mode 2 operation REG 3F3 DB7 Media ID1 DB6 Media ID0 DB5 DB4 Drive type ID DB3 DB2 Floppy boot drive DB1 tapesel1 DB0 tapesel0 For this mode, DRATE0 and DRATE1 pins are inputs and these inputs are gated into bits 6 and 7 of the 3F3 register. These two bits are not affected by any reset. Bit 7 Media ID 1 Read only (pin 19) see table next page Bit 6 Media ID 0 Read only (pin 20) see table next page Bits 5 and 4 Drive Type ID - These bits reflect two of FDC 0XF2 configuration register bits. (please see next page). Bits 3 and 2 Floppy boot Drive. These bits show the value of FDC 0xF1 configuration register bits. Bits 1 and 0 - Tape Drive select (R/W). Same as in Normal and Enhanced Floppy mode 1. Page 34 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Media ID1 Drate1 pin 19 0 1 Media ID1 FDC 0xF1-db5=0 0 1 Drive type ID Digital Output Register bit 1 bit 0 0 0 0 1 1 0 1 1 FDC 0xF1--db5=1 1 0 Media ID0 Drate0 pin 20 0 1 Media ID0 FDC 0xF1-db4=0 0 1 FDC 0xF1-db4=1 1 0 Register 3F3 - drive type ID bit 5 bit 4 FDC FDC 0xF2 - bit 1 0xF2 - bit 0 FDC FDC 0xF2 - bit 3 0xF2 - bit 2 FDC FDC 0xF2 - bit 5 0xF2 - bit 4 FDC FDC 0xF2 - bit 7 0xF2 - bit 6 4.2.5 Main Status Register Address 3F4h Read only The read-only main status register indicates the current status of the disk controller. It is always available to be read. One of its functions is to control the flow of data to and from the data register. It also indicates when the disk controller is ready to send or receive data. It should be read before each byte is transferred to or from the data register except during a DMA transfer. No delay is required when reading this register after a data transfer. Table 4-8 Bit D7 D6 Main Status Register Description Description Request for Master: Indicates that the data register is ready to send or receive data from the CPU. This bit is cleared immediately after a byte transfer, and is set again as soon as the M512x is ready for the next byte. Data Direction: Indicates whether the controller is expecting a byte to be written to (0) or read from (1) the data register. D5 Non-DMA Execution: Bit is set only during the execution phase of a command if it is in the non-DMA mode. In other words, if this bit is set, the multiple byte data transfer (in the execution phase) must be monitored by the CPU either through interrupts, or software polling as described in the processor software interface section. D4 Command in Progress: Bit is set after the first byte of the command phase is written. Bit is cleared after the last byte of the result phase is read. If there is no result phase in a command, the bit is cleared after the last byte of the command phase is written. Drives 3~0 Seeking: Set after the last byte of the command phase of a seek or recalibrate command is issued for drives 3~0, respectively. Cleared after reading the first byte in the result phase of the sense interrupt command for this drive. D3~D0 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 35 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP 4.2.6 Data Rate Select Register (DSR) Address 3F4 Table 4-9 Write only Datarate Select Register Description Bit Description D7 S/W RESET behaves the same as DOR RESET except that this reset is self clearing. D6 POWERDOWN bit implements direct powerdown. Setting this bit high puts the FDC into the powerdown state regardless of the state of the part. The part is reset internally and then goes into powerdown. No status is saved and any operation in progress is aborted. This powerdown mode does not turn off the internal oscillator. Any hardware or software reset will exit the M512x from this powerdown state. D5 reserved D4~D2 PRECOMP 0-2 adjusts the WRDATA output to the and disk to compensate for magnetic media phenomena known as bit shifting. The data patterns that are susceptible to bit shifting are well understood and the M512x offsets the data pattern as it is written to the disk. The amount of precompensation depends upon the drive and media but in most cases the default value is acceptable. The M512x starts precompensating the data pattern starting on Track 0. The CONFIGURE command can change the starting track for precompensation. Table 4-10 lists the precompensation values that can be selected and Table 4-11 lists the default precompensation values. The default value is selected if the three bits are zeros. D1~D0 DRATE 0-1 select one of the four data rates as listed in Table 4-12. The default value is 250 Kbps upon a chip ("Hardware") reset. Other ("Software") Resets do not affect the DRATE or PRECOMP bits. Table 4-10 Precompensation Delay Values PRECOMP Precompensation Delay-- 432 bits DISABLED 111 001 010 011 100 101 110 000 Page 36 0.00ns 41.67ns 83.34ns 125.00ns 166.67ns 208.33ns 250.00ns DEFAULT 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Table 4-11 Data Rate 1 Mbps 500 Kbps 300 Kbps 250 Kbps Default Precompensation Delay Values Precompensation Delay 41.67ns 125ns 125ns 125ns Table 4-12 DRATESEL 1 0 0 1 1 0 1 0 Data Rates Data Rate MFM 1 Mbps 500 Kbps 300 Kbps 250 Kbps FM Illegal 250 Kbps 150 Kbps 125 Kbps 4.2.7 Data Register (R/W) Address 3F5 R/W This is the location through which all commands, data, and status flow between the CPU and the FDC. During the command phase, the CPU loads the controller's commands into this register based on the status register request for master and data direction bits. The result phase transfers the status registers and header information to the CPU in the same fashion. All command parameter information and disk data transfers go through the FIFO. The 16-byte FIFO has programmable threshold values. Data transfers are generated by the RQM and DIO bits in the Main Status Register. The FIFO defaults to an M5105 compatible mode after a "Hardware" reset (Reset via pin 1). "Software" Resets (Reset via DOR or DSR register) can also place the M512x into M5105-A3/A4-compatible mode if the LOCK bit is set to "0" This maintains PC-AT hardware compatibility. The default values can be changed through the CONFIGURE command (enable full FIFO operation with threshold control). The advantage of the FIFO is that it allows the system a larger DMA latency without causing disk error. Table 4-13 gives several examples of the delays with a FIFO. The data is based upon the following formula: Threshold# * 1/DATA RATE * 8 - 1.5us = DELAY Table 4-13 FIFO Service Delay FIFO Threshold Examples 1 byte 2 bytes 8 bytes 15 bytes Maximum Delay to Servicing at 1 Mbps Data Rate 1 * 8us - 1.5us = 6.5us 2 * 8us - 1.5us = 14.5us 8 * 8us - 1.5us = 62.5us 15 * 8us - 1.5us = 118.5us FIFO Threshold Examples 1 byte 2 bytes 8 bytes 15 bytes Maximum Delay to Servicing at 500 Mbps Data Rate 1 * 16us - 1.5us = 14.5us 2 * 16us - 1.5us = 30.5us 8 * 16us - 1.5us = 126.5us 15 * 16us - 1.5us = 238.5us 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 37 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP At the start of a command, the FIFO action is always disabled and command parameters must be sent based upon the RQM and DIO bit settings. As the M512x enters the command execution phase, it clears the FIFO of any data to ensure that invalid data is not transferred. An overrun or underrun will terminate the current command and the transfer of data. Disk writes will complete the current sector by generating a 00 pattern and valid CRC. 4.2.8 Configuration Control Register (CCR, PC-AT Modes) Address 3F7 Write only Table 4-14 Configuration Control Register Description Bit D7~D2 D1, D0 Description Not used. Data Rate Select: These bits set the datarate and write-precompensation values for the disk controller. After a hardware reset, these bits are set to 1, 0 (250 Kbps). (please refer to table 4-12) 4.2.9 Digital Input Register (DIR, Read) Address 3F7 Read only Table 4-15 Digital Input Register Description (PC/AT mode) Bit D7 D6~D0 Description DSKCHG monitors the pin of the same name and reflects the opposite value seen on the disk cable, regardless of the value of /INVERT/. The DSKCHG bit is forced inactive along with all the inputs from the floppy disk drive. All the other bits remain tri-stated. These bits are reserved for use by the hard disk controller, thus during a read of this register, these bits are in high impedance state. Table 4-15b Bit D7 D6~D3 D2~D1 D0 Page 38 Digital Input Register (PS/2 mode) Description DSKCHG monitors the pin of the same name and reflects the opposite value seen on the disk cable. undefined, always read as logic "1". Data rate select. These bits control the data rate of the floppy controller. These bits are unaffected by a software reset, and are set to 250 kbps after a hardware reset. High density. This bit is low whenever the 500 kbps or 1 Mbps data rates are selected, and high when 250 kbps and 300 kbps are selected. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 4.3 Result Phase Status Registers The result phase of a command contains bytes that hold status information. The format of these bytes are described in the following sections. Do not confuse these register bytes with the main status register which is a read-only register that is always available. The result phase status registers are read from the data register only during the result phase. 4.3.1 Status Register 0 (ST0) Table 4-16 Status Register 0 Description Bit Description D7~D6 Interrupt Code : 00 = Normal termination of command. 01 = Abnormal termination of command. Command was executed, but not successfully completed. 10 = Invalid command issue. Command issued was not recognized as a valid command. 11 = Ready changed state during the polling mode. D5 Seek End: This bit is set after a seek or recalibrate command is completed by the controller. Used during sense interrupt command. D4 Equipment Check: This bit is set after a recalibrate command track 0 signal failed to occur. Used during sense interrupt command. D3 Not Used: 0 D2 Head Number: At end of execution phase. D1, D0 Drive Select: At end of execution phase. 00 = Drive 0 selected 01 = Drive 1 selected 10 = Drive 2 selected 11 = Drive 3 selected 4.3.2 Status Register 1 (ST1) Table 4-17 Status Register 1 Description Bit Description D7 End of Track: This bit is set when the controller has transferred the last byte of the last sector without the TC pin becoming active. The last sector is the end-of-track sector number programmed in the command phase. D6, D3 Not Used: 0 D5 CRC Error: If this bit is set and bit 5 of ST2 is clear, then there was a CRC error in the address field of the correct sector. If bit 5 of ST2 is set, then there was a CRC error in the data field. D4 Over Run: This bit is set when the controller was not serviced by the CPU soon enough during a data transfer in the execution phase. Table 4-18 shows the time values. D2 No Data: This bit is set for any three possible problems: 1. Controller cannot find the sector specified in the command phase during the execution of a read, write, or scan command. An address mark was found even if it is not a blank disk. 2. Controller cannot read any address fields without a CRC error during read ID command. 3. Controller cannot find the starting sector during execution of read a track command. D1 Not Writable: Set if the write protect pin is active when a write or format command is issued. D0 Missing Address Mark: If this bit is set and bit 0 of ST2 is clear then the disk controller cannot detect any address field address mark after two disk revolutions. If bit 0 of ST2 is set, then the disk controller cannot detect the data field address mark. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 39 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Table 4-18 Maximum Time Allowed to Service an Interrupt or Acknowledge a DMA Request in Execution Phase Data Rate 125 250 500 125 Time to Service 62.0 us 30.0 us 14.0 us 6.0 us 4.3.3 Status Register 2 (ST2) Table 4-19 Status Register 2 Description Bit Description D7 Not Used: 0 D6 Control Mark: This bit is set if the controller tries to read a sector which contained a deleted data address mark during execution of read-data or scan commands. Or, if a read-deleted-data command was executed, a regular address mark is detected. D5 CRC Error in Data Field: This bit is set if the controller detects a CRC error in the data field. Bit 5 of ST1 is also set. D4 Wrong Track: This bit is only set if the desired sector is not found, and the track number recorded on any sector of the current track is different from that stored in the track register. D3 Scan Equal Hit: This bit is only set if the equal condition is satisfied during any scan command. D2 Scan Not Satisfied: This bit is set if the controller cannot find a sector on the track number recorded on any sector on the track which meets the desired condition during scan commands. D1 Bad Track: This bit is only set if the desired sector is not found, and the track number recorded on any sector on the track is different from that stored in the track register and the recorded track number is FF. D0 Missing Address Mark in Data Field: This bit is set if the controller cannot find the data field address mark during read/scan command. Bit 0 of ST1 is also set. Page 40 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 4.3.4 Status Register 3 (ST3) Table 4-20 Status Register 3 Description Bit Description D7 Not Used: 0 D6 Write Protect Status: This bit is the complement of the associated FDC interface pin for the drive selected in DCR. D5 Not Used: 1 D4 Track 0 Status: This bit is the complement of the associated FDC interface pin for the drive selected in the DCR. D3 Not Used: 0 D2 Head Select Status: command phase. D1, D0 Drive Selected: These bits show the status of the associated bits in the sense-drive-status command phase. These bits show the same status as ST0 bits 1, 0. 00 = Drive 0 selected 01 = Drive 1 selected 10 = Drive 2 selected 11 = Drive 3 selected This bit shows the status of the associated bit in the sense-drive-status 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 41 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP 4.4 Controller Functional Description 4.4.1 Controller Phases 4.4.1.2.2 Interrupt Mode The FDC handles commands in three phases— command, execution and result. Each phase is described below. If the non-DMA mode is selected, an interrupt is generated in the execution phase when each byte is ready to be transferred. The Main Status Register should be read to verify that the interrupt is for a data transfer. Bits 5 and 7 of the Main Status Register is set. The interrupt is cleared when the byte is transferred to or from the data register. The CPU should transfer the byte within the allotted time. If the byte is not transferred within the time allotted, an overrun error is indicated in the result phase when the command terminates at the end of the current sector. 4.4.1.1 Command Phase The CPU writes a series of bytes to the data register. These bytes indicate the command desired and the particular parameters required for the command. All the bytes must be written in the order specified in the command description table. The execution phase starts immediately after the last byte in the command phase is written. The Main Status Register controls the flow of command bytes, and must be polled by the software before writing each Command Phase byte to the Data Register. Prior to writing a command byte, the bit 7 must be set and bit 6 must be cleared in the MSR. After the first command byte is written to the Data Register, the bit 4 in MSR is also set and remain set until the last Result Phase byte is read. If there is no Result Phase, it is cleared after the last command byte is written. A new command may be initiated after reading all the result bytes from the previous command. 4.4.1.2 Execution Phase The disk controller performs the desired command. Some commands require the CPU to read or write data to or from the data register during this phase. Some commands such as Seek control the read/write head movement on the disk drive. Some commands does not involve any action by the uP or disk drive, and consists of an internal operation by the controller. If there is data to be transferred between the uP and the controller, there are three methods that can be used, DMA mode, interrupt mode, and software polling mode. All of these data transfer modes work with the FIFO enabled or disabled. An interrupt is also generated after the last byte is transferred. This indicates the beginning of the Result Phase. 4.4.1.2.3 Software Polling If the non-DMA mode is selected and interrupts are not suitable, the CPU can poll the Main Status Register during the execution phase to determine when a byte is ready to be transferred. The bit 7 of the Main Status Register reflects the state of the interrupt pin. Otherwise, the data transfer is similar to the interrupt mode described above. 4.4.1.3 Result Phase During the Result Phase, the uP reads a series of bytes from the data register. These bytes indicate the status of the command. This status may indicate whether the command executed properly, or contain some control information. The bit 7 and bit 6 in the MSR must both be set before each result byte can be read. After the last result byte is read, the bit 4 in the MSR is cleared, and the controller is ready for the next command. 4.4.1.2.1 DMA Mode If the DMA mode is selected, a DMA request is generated in the execution phase when each byte is ready to be transferred. To enable DMA operations during the execution phase, the DMA mode bit in the Specify command must be enabled, and the DMA signals must be enabled in the Drive Control Register. The DMA controller responds to the DMA request with a DMA-acknowledge and a read- or writestrobe. The DMA request is cleared by the active edge of the DMA-acknowledge. After the last byte is transferred, an interrupt is generated, indicating the beginning of the result phase. TC is asserted to terminate an operation. Due to internal gating, TC is only recognized when the -DAK input is low. Page 42 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Table 4-21 M512x FDC Command Set READ DATA READ A TRACK Command Phase MT MFM SK IPS 0 0 Command Phase 0 MFM 0 IPS 0 0 0 0 1 1 0 0 0 HD DR1 DR0 Track Number Drive Head Number Sector Number Bytes per Sector End of Track Sector Number Intersector Gap Number Data Length Execution Phase: Data read from disk drive is transferred to system via DMA or Non-DMA modes. Result Phase Status Register 0 Status Register 1 Status Register 2 Track Number Head Number Sector Number Bytes per Sector 0 0 0 1 0 0 0 HD DR1 DR0 Track Number Drive Head Number Sector Number Bytes per Sector End of Track Sector Number Intersector Gap Number Data Length Execution Phase: Data read from disk drive is transferred to system via DMA or Non-DMA modes. Result Phase Status Register 0 Status Register 1 Status Register 2 Track Number Head Number Sector Number Bytes per Sector READ DELETED DATA READ ID Command Phase MT MFM SK IPS 0 0 Command Phase 0 MFM 0 0 1 0 1 0 0 0 0 0 0 HD DR1 DR0 Execution Phase: Controller reads first ID Field header bytes it can find and reports these bytes to the system in the result bytes Result Phase Status Register 0 Status Register 1 Status Register 2 Track Number Head Number Sector Number Bytes per Sector 0 1 1 0 0 0 0 HD DR1 DR0 Track Number Drive Head Number Sector Number Bytes per Sector End of Track Sector Number Intersector Gap Number Data Length Execution Phase: Data read from disk drive is transferred to system via DMA or Non-DMA modes. Result Phase Status Register 0 Status Register 1 Status Register 2 Track Number Head Number Sector Number Bytes per Sector 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 43 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP WRITE DATA FORMAT A TRACK Command Phase MT MFM 0 IPS 0 0 Command Phase 0 MFM 0 0 0 0 0 0 1 0 1 0 0 HD DR1 DR0 Track Number Drive Head Number Sector Number Bytes per Sector End of Track Sector Number Intersector Gap Number Data Length Execution Phase: Data is transferred from the system to the controller via DMA or Non-DMA modes and written to the disk. Result Phase Status Register 0 Status Register 1 Status Register 2 Track Number Head Number Sector Number Bytes per Sector 0 1 0 0 1 0 0 HD DR1 DR0 Track Number Drive Head Number Sector Number Bytes per Sector End of Track Sector Number Intersector Gap Number Data Length Execution Phase: Data is transferred from the system to the controller via DMA or Non-DMA modes and written to the disk. Result Phase Status Register 0 Status Register 1 Status Register 2 Track Number Head Number Sector Number Bytes per Sector Page 44 SCAN EQUAL Command Phase MT MFM SK IPS 0 0 WRITE DELETED DATA Command Phase MT MFM 0 IPS 0 0 0 1 1 0 1 0 0 HD DR1 DR0 Bytes per Sector Sector per Track Format Gap Data Pattern Execution Phase: System transfers four ID bytes per sector to the floppy controller via DMA or Non-DMA modes. The entire track is formatted. The data block in the Data Field of each sector is filled with the data pattern byte Result Phase Status Register 0 Status Register 1 Status Register 2 Undefined Undefined Undefined Undefined 1 0 0 0 1 0 0 HD DR1 DR0 Track Number Drive Head Number Sector Number Bytes per Sector End of Track Sector Number Intersector Gap Number Data Length Execution Phase: Data transfer from system to controller is compared to data read from disk Result Phase Status Register 0 Status Register 1 Status Register 2 Track Number Head Number Sector Number Bytes per Sector 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP SCAN HIGH OR EQUAL VERIFY Command Phase MT MFM SK IPS 0 0 Command Phase MT MFM SK 0 0 0 1 1 1 0 1 0 0 HD DR1 DR0 Track Number Drive Head Number Sector Number Bytes per Sector End of Track Sector Number Intersector Gap Number Data Length Execution Phase: Data transfer from system to controller is compared to data read from disk Result Phase Status Register 0 Status Register 1 Status Register 2 Track Number Head Number Sector Number Bytes per Sector 1 0 1 1 0 0 0 HD DR1 DR0 Track Number Drive Head Number Sector Number Bytes per Sector End of Track Sector Number Intersector Gap Number Data Length Execution Phase: Data is read from disk but not transferred to the system. Result Phase Status Register 0 Status Register 1 Status Register 2 Track Number Head Number Sector Number Bytes per Sector SCAN LOW OR EQUAL DUMPREG Command Phase MT MFM SK IPS 0 0 Command Phase 0 0 0 0 1 1 1 0 Execution Phase: Internal registers read Result Phase Present Track Number on Drive 0 Present Track Number on Drive 1 Present Track Number on Drive 2 Present Track Number on Drive 3 Step Rate Time Motor Off Time Motor On Time DMA Sector per Track/End of Track LOCK 0 D3 D2 D1 D0 GAP WG 0 EIS FIFO POLL FIFOTHR PRETRK 1 0 0 0 1 0 0 HD DR1 DR0 Track Number Drive Head Number Sector Number Bytes per Sector End of Track Sector Number Intersector Gap Number Data Length Execution Phase: Data transfer from system to controller is compared to data read from disk Result Phase Status Register 0 Status Register 1 Status Register 2 Track Number Head Number Sector Number Bytes per Sector PERPENDICULAR MODE Command Phase 0 0 0 1 0 0 1 OW 0 D3 D2 D1 D0 GAP Execution Phase: Internal registers are written. No Result Phase. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 0 WG Page 45 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP CONFIGURE SENSE INTERRUPT Command Phase 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 EIS FIFO POLL FIFOTHR PRETRK Execution Phase: Internal registers are written. No Result Phase 1 0 Command Phase 0 0 0 0 1 0 0 Execution Phase: Status of interrupt is reported Result Phase Status Register 0 Present Track Number 0 SPECIFY RECALIBRATE Command Phase 0 0 0 0 0 1 1 1 0 0 0 0 0 0 DR1 DR0 Execution Phase: Disk drive head is stepped out to Track 0. No Result Phase Command Phase 0 0 0 0 0 0 1 1 Step Rate Time Motor Off Time Motor On Time DMA Execution Phase: Internal registers are written. No Result Phase POWERDOWN MODE RELATIVE SEEK Command Phase 1 DIR 0 0 1 1 1 1 0 0 0 0 0 HD DR1 DR0 Relative Track Number Execution Phase: Disk drive head stepped in or out a programmable number of tracks. No Result Phase SEEK Command Phase 0 0 0 0 0 0 0 1 1 1 1 0 0 HD DR1 DR0 New Track Number Execution Phase: Disk drive head is stepped in or out to a desired track. No Result Phase SENSE DRIVE STATUS Command Phase 0 0 0 0 0 1 0 0 0 0 0 0 0 HD DR1 DR0 Execution Phase: Disk drive status information is detected and reported. Result Phase Status Register 3 Page 46 Command Phase 0 0 0 1 0 1 1 0 0 0 0 0 0 DLY Execution Phase: Internal registers are written Result Phase 0 0 0 0 0 0 DLY 1 APD APD VERSION Command Phase 0 0 0 Result Phase 1 0 0 1 0 0 0 0 1 0 0 0 0 LOCK Command Phase LOCK 0 0 1 0 1 0 Execution Phase: Internal registers are written. Result Phase 0 0 0 LOCK 0 0 0 0 0 INVALID Command Phase Invalid Codes Result Phase Status Register 0 (80H) 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 4.6 Command Description 4.6.1 Read Data The read data op-code is written to the data register followed by 8 bytes as specified in the command description table. After the last byte is written, the controller starts looking for the correct sector header. Once the controller is found, the controller sends data to the CPU. After one sector is finished, the sector number is incremented by one and this new sector is searched for. If MT (multi-track) is set, both sides of one track can be read. Starting on side zero, the sectors are read until the sector number specified by end of track sector number is reached. Then, side one is read by starting with sector number one. In DMA mode, the read-data command continues to read until the TC pin is set. This means that the DMA controller should be programmed to transfer the correct number of bytes. TC should be controlled by the CPU and be asserted when enough bytes are received. An alternative to these methods of stopping the read-data command is to program the end of track sector number as the last sector number that to be read. The controller stops reading the disk with an error message indicating that it tried to access a sector number beyond the end of the track. The number of data bytes per sector parameter is defined in Table 4-27. If this is set to zero, the data length parameter defines the number of bytes that the controller transfers to the CPU. If the data length specified is smaller than 128, the controller still reads the entire 128 byte sector and checks the CRC, though only the number of bytes specified by the data length parameter are transferred to the CPU. Data length parameter should not be set to zero. If the number of bytes per sector parameter is not zero, the data length parameter has no meaning and should be set to FFh. Table 4-27 Bytes/Sector Code 0 1 2 3 4 5 6 Sector Size Selection Number of Bytes in Data Field 128 256 512 1024 2048 4096 8192 If the implied seek mode is enabled by both the mode command and the IPS bit in this command, a seek is performed to the track number specified in the command phase. The controller also waits for the head-settle-time if the implied seek is enabled. After all these conditions are met, the controller searches for the specified sector by comparing the track number, head number, sector number, and number of bytes/sector given in the command phase with the appropriate bytes read off the disk in the address fields. If the correct sector is found, but there is a CRC error in the address field, bit 5 of ST1 (CRC error) is set and an abnormal termination is indicated. If the correct sector is not found, bit 2 of ST1 (no data) is set and an abnormal termination is indicated. In addition to this, if any address field track number is FF, bit 1 of ST2 (bad track) is set or, if any address field track number is different from that specified in the command phase, bit 4 of ST2 (wrong track) is set. After finding the correct sector, the controller reads that data field. If a deleted data mark is found and the SK bit is set, the sector is not read, bit 6 of ST2 (control mark) is set, and the next sector is searched for. If a deleted data mark is found and the SK bit is not set, the sector is read, bit 6 of ST2 (control mark) is set, and the read terminates with a normal termination. If a CRC error is detected in the data field, bit 5 is set to both ST1 and ST2 (CRC error) and an abnormal termination is indicated. If no problems occur in the read command, the read continues from one sector to the next in logical order (not physical order) until either TC is set or an error occurs. If a disk has not been inserted into the disk drive, there are many opportunities for the controller to hang. It does this if it is waiting for a certain number of disk revolutions. If this occurs, the controller can be forced to abort the command by writing a byte to the data register. An interrupt is generated when an execution phase of the read data command terminates. Table 4-28 shows the values that are read back in the result phase. If an error occurs, the result bytes indicate the sector being read when the error occurred. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 47 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Table 4-24 Result Phase Termination Values with No Error Last MT 0 0 0 0 1 1 1 1 ID Information at Result Phase HD Sector Track 0 < EOT NC 0 = EOT T+1 1 < EOT NC 1 = EOT T+1 0 < EOT NC 0 = EOT NC 1 < EOT NC 1 = EOT T+1 EOT = End of track sector number from command phase S = Sector number last operated on by controller 4.6.2 Read-Deleted-Data This command is the same as the read-data command except for how it handles a deleted data mark. If a deleted data mark is read, the sector is read normally. If a regular data mark is found and the SK bit is set, the sector is not read, bit 6 of ST2 (control mark) is set, and the next sector is searched for. If a regular data mark is found and the SK bit is not set, the sector is read, bit 6 of ST2 (control mark) is set, and the read terminates with a normal termination. 4.6.3 Write-Data The write-data command is very similar to the read-data command except that data is transferred from the CPU to the disk rather than the other way around. If the controller detects the write-protect signal, bit 1 of ST1 (not writable) is set and an abnormal termination is indicated. 4.6.4 Write-Deleted-Data This command is the same as the write-data command except that a deleted-data mark is written at the beginning of the data field instead of the normal data mark. 4.6.5 Read a Track This command is similar to the read-data command except for the following: the controller starts at the index hole and reads the sectors in their physical order, not their logical order. Even though the controller reads sectors in their physical order, it still compares the header ID bytes with the data programmed in the command phase. The exception to this is the sector number. Internally, this is set to one, then incremented for each successive sector read. Whether or not the programmed address field matches that read from Page 48 Head NC NC NC NC NC 1 NC 0 Sector S+1 1 S+1 1 S+1 1 S+1 1 B/S NC NC NC NC NC NC NC NC NC = No change in value T = Track number programmed in command phase the disk, the sectors are still read in their physical order. If a header ID comparison fails, bit 2 of ST1 (No data) is set, but the operation continues. If there is a CRC error in the address or data field, the read also continues. The command terminates when it has read the number of sectors programmed in the EOT parameter. 4.6.6 Read ID This command causes the controller to read the first address field it finds. The result phase contains the header bytes that are read. There is no data transfer during the execution phase of this command. An interrupt is generated when the execution phase is completed. 4.6.7 Format-a-Track This command formats one track on the disk. After the index hole is detected, data patterns are written on the disk including all gaps, address marks, address fields, and data fields. The exact details of the number of bytes for each field is controlled by the parameters given in the format-atrack command, and the IAF (Index Address Field) bit in the mode command. The data field consists of the fill-byte specified in the command, repeated to fill the entire sector. To allow for floppy formatting, the CPU must supply the four address field bytes (track, head, sector, number of bytes) for each sector formatted during the execution phase. In other words, as the controller formats each sector, it requests four bytes through either DMA requests or interrupts. This allows for non-sequential sector interleaving. Table 4-29 shows some typical values for the programmable gap size. The format command terminates when the index hole is detected a second time, at which point an interrupt is generated. Only the first three status bytes in the result phase are significant. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Table 4-25A Gap Length for Various Sector Sizes and Disk Types Mode FM MFM FM MFM FM MFM Sector Size (Dec) 128 256 512 1024 2048 4096 256 512 1024 2048 4096 8192 128 128 256 512 1024 2048 256 256 512 1024 2048 4096 128 256 512 256 512 1024 Sector Sector Code EOT Gap (Dec) (Hex) (Hex) 8-inch Drives (360 RPM, 500 kb/s) 00 1A 07 01 0F 0E 02 08 1B 03 04 47 04 02 C8 05 01 C8 01 0F 0E 02 0F 1B 03 08 35 04 04 99 05 02 C8 06 01 C8 5.25-inch Drives (300 RPM, 250 kb/s) 00 12 07 00 10 10 01 08 18 02 04 46 03 02 C8 04 01 C8 01 12 0A 01 10 20 02 08 2A 03 04 80 04 02 C8 05 01 C8 3.5-inch Drives (300 RPM, 250 kb/s) 00 0F 07 01 09 0E 02 05 1B 01 0F 0E 02 09 1B 03 05 35 Format* Gap (Hex) 1B 2A 3A 8A FF FF 36 54 74 FF FF FF 09 19 30 87 FF FF 0C 32 50 F0 FF FF 1B 2A 3A 36 54 74 Table 4-25B Format Table for PC-Compatible Diskette Media Media Type 360 K 1.2 M 720 M 1.44 M 2.88 M Sector Size (Dec) 512 512 512 512 512 Sector Code (Hex) 02 02 02 02 02 EOT (Hex) 09 0F 09 12 24 Sector Gap (Hex) 2A 1B 1B 1B 1b Format* Gap (Hex) 50 54 50 6C 54 * Format gap is the gap length used only for the format command. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 49 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Index pulse Gap0 Sync IAM Gap1 Sync AM 80 of 12 of 50 of 12 of Perpendicular MFM FF 00 3 of F 4E 00 3 of F C2* C A1* E format T R A C K H Se # E c t Byt A o r es D C R C Gap2 Sync 41 of 12 of 4E 00 Gap0 Sync IAM Gap1 Sync AM 80 of 12 of 50 of 12 of 4E 00 3 of F 4E 00 3 of F MFM C2* C A1* E T R A C K H Se # E c t Byt A o r es D C R C Gap2 Sync 22 of 12 of 4E 00 IBM format Index address field AM 3 FB of or A1 F8 * Data C R C Gap3 Prog GAP4 ram mable Data C R C Gap3 Prog GAP4 ram mable C R C Gap3 Prog GAP4 ram mabl e AM 3 FB of or A1 F8 * Address field Data field Repeated for each sector ISO format MFM Gap1 Sync AM 32 of 12 of 4E 00 3 of F A1* E T R A C K H Se # E c t By A o r tes D C R C Gap2 Sync 22 of 12 of 4E 00 AM 3 FB of or A1 F8 * Data Figure 4-4 IBM, Perpendicular, and ISO Formats Supported by the Format Command 4.6.8 Scan Commands The scan commands allow data read from the disk to be compared against data sent from the CPU. There are three scan commands to choose from: Scan equal Scan less than or equal Scan greater than or equal Disk data = CPU data Disk data < CPU data Disk data > CPU data Each sector is interpreted with the most significant byte first. If the wildcard mode is enabled from the mode command, an FFh from either the disk or CPU is used as a "don't care" byte that always matches equal. If each sector is read, the desired condition has not been met, and the next sector is read. The next sector is defined as the current sector number plus the sector step-size specified. Table 4-30 Scan Command Termination Values Status Register Command Scan equal Scan low or equal Scan high or equal D2 D3 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 Conditions Disk = CPU Disk <> CPU Disk = CPU Disk < CPU Disk > CPU Disk = CPU Disk < CPU Disk > CPU 4.6.9 Seek The scan command continues until the scan condition has been met, or the end of track sector number has been reached, or if TC is asserted. If the SK bit is set, sectors with deleted data marks are ignored. If all sectors read are skipped, the command terminates with D3 of ST2 set (scan equal hit). Table 4-30 shows the result phase of the command. Page 50 There are two ways to move the disk drive head to the desired track number. The first method is to enable the implied seek mode. This way, each individual read or write command automatically moves the head to the track specified in the command. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP The second method is by using the seek command. During the execution phase of the seek command, the track number to seek for is compared with the present track number, and a step pulse is produced to move the head one track closer to the desired track number. This is repeated at the rate specified by the specify command until the head reaches the correct track. At this point, an interrupt is generated and a sense-interrupt command is required to clear the interrupt. During the execution phase of the seek command, the only indication via software that a seek command is in progress is bits 0~3 (drive busy) of the main status register. Bit 4 of the main status register (command in progress) is not set. While the internal micro-engine is capable of multiple seeks on two or more drives at the same time since the drives are selected via the drive-control register in software, software should ensure that only one drive performs the seek command at one time. No other command except the sense-interrupt command is issued while a seek command is in progress. If the extended track range mode is enabled, write a fourth byte in the command phase to indicate the four most significant bits of the desired track number. Otherwise, write only three bytes. 4.6.10 Relative Seek The Relative Seek command steps the selected drive in or out a given number of steps. This command will step the read/write head an incremental number of tracks from the current track number, contrasting to step it to the desired track number as Seek command. The Relative Seek parameters are defined as follows: DIR: Read/Write Head Step Direction Control 0=Step Head Out, 1=Step Head In RTN: Relative Track Number. This value will determine how many incremental tracks to step the head in or out from the current track number. 4.6.11 Recalibrate The recalibrate command is very similar to the seek command. It is used to step a drive head out to track zero. Step pulses are produced until the track zero signal from the drive becomes true. If the track zero signal does not go before 77 step pulses are issued, an error is generated. If the extended track range mode is enabled, an error is not generated until 3,917 pulses are issued. 4.6.12 Sense-Interrupt Status An interrupt is generated by the controller when any of the following conditions occur: 1. Upon entering the result phase of: a. Read-data command b. Read-deleted-data command c. Write-data command d. Write-deleted-data command e. Read-a-track command f. Read-ID command g. Format command h. Scan commands 2. During data transfers in the execution phase while in the non-DMA mode 3. Internal ready signal changes state (only occurs immediately after a hardware or software reset). 4. Seek or recalibrate command termination An interrupt generated for reasons 1 and 2 above occurs during normal command operations and are easily recognized by the CPU. During an execution phase in nonDMA mode, bit 5 (execution mode) in the MSR is set to 1. Upon entering result phase, this bit is set to 0. Reasons 1 and 2 do not require the sense interrupt status command. The interrupt is cleared by reading or writing information to the data register. Interrupts caused by reasons 3 and 4 are identified with the aid of the sense interrupt status command. This command resets the interrupt when the command byte is written. Table 4-31 shows how to identify the cause of the interrupt by using bits 5, 6 and 7 of ST0. Issuing a sense-interrupt status command without an interrupt pending is treated as an invalid command. If the extended track range mode is enabled, a third byte should be read in the result phase which indicates the four most significant bits of the present track number. Otherwise, only two bytes should be read. Recalibrations on more than one drive at a time should not be issued for the same reason as explained in the seek command. No other command except the sense-interrupt command should be issued while a recalibrate command is in progress. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 51 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP 4.6.13 Specify The specify command sets the initial values for each of the three internal timers. Table 4-32 shows the timer programming values. The head-load and head-unload timers are artifacts of the UPD765A. These timers determine the delay from loading the head until a read or write command is started, and unloading the head sometime after the command was completed. Since the M512x head-load signal is now the software-controlled motor lines in the drive-control register, these timers only provide some delay from the initialization of a command until it is actually started. Similar to the DP8474, extend these timers setting the TMR bit in the mode command. The step-rate time defines the time interval between adjacent step pulses during a seek, implied-seek, or recalibrate command. The times stated in Table 4-32 are affected by the data rate. These values are for 500 kb/s MFM (250 Kb/s FM) and 1 Mb/s MFM (500 Kb/s FM). For 300 kb/s MFM data rate (150 Kb/s FM), these values, multiply by 1.6667, and for 250 Kb/s MFM (125 Kb/s FM) double these values. The choice of DMA or non-DMA operation is made by the non-DMA bit. When this bit is 1, the non-DMA mode is selected, and when this bit is 0, DMA mode is selected. This command does not generate an interrupt. Table 4-31 Status Register 0 Termination Codes Interrupt Code D7 1 0 0 D6 1 0 1 D5 0 1 1 Seek End Cause Internal ready went true Normal seek termination Abnormal seek termination Table 4-32 Step, Head, Load and Unload Timer Definitions (500 kb/s MFM) Timer Step Rate Head Unload Head Load Mode 1 Value Range Mode 2 Value Range Unit (16 - N) N x 16 Nx2 1~16 0~240 0~254 (16 - N) N x 512 N x 32 1~16 0~7680 0~4064 ms ms ms 4.6.14 Sense Drive Status 4.6.16 Version This two-byte command obtains the status of a disk drive. Status register 3 is returned in the result phase and contains the drive status. This command does not generate an interrupt. The Version command can be used to determine the floppy controller being used. The result phase uniquely identifies the floppy controller version. The FDC returns a value of 90h in order to be compatible with the 82077. For older version compatible with NEC765 controller, a value of 80h (invalid command) will return. 4.6.15 Verify The VERIFY command is used to verify the data stored on a disk. This command acts exactly like a READ DATA command except that no data is transferred to the host. Data is read from the disk and CRC is computed and checked against the previously stored value. Page 52 4.6.17 Dumpreg The DUMPREG command is designed to support system run-time diagnostics and application software development and debug. The command returns important information regarding the status of many of the programmed field in the FDC. This can be used to verify the values initialized in the FDC. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 4.6.18 Configure 4.6.20 Lock The Configure command controls some operation modes of the controller. It should be issued during the initialization of the FDC after power up. These bits are set to their default values after a hardware reset. EIS: Enable implied seek. When EIS=1, the FDC will perform a SEEK operation before executing a read/write command. The default value is 0 (no implied seek). The Lock command allows the user full control of the FIFO parameters after a software reset. If the LOCK bit is set to 1, then the EFIFO, FIFOTHR and PRETRK bits in the Configure command are not affected by a software reset. After the command byte is written, the result byte must be read before continuing to the next command. 4.6.21 Invalid EFIFO: Enable FIFO. When EFIFO=1, the FIFO is disabled (NEC765A compatible mode). This means data is transferred on a byte by byte basis. The default value is 1 (FIFO disable). POLL: Disable Polling. When POLL=1, polling of the drives is disabled. POLL defaults to 0 (polling enable). When enabled, a single interrupt is generated after reset. FIFOTHR: The FIFO threshold in the execution phase of a read/write command. This is programmable from 1 to 16 bytes. FIFOTHR defaults to 00. A 00h selects one byte and 0Fh selects 16 bytes. PRETRK: Precompensation start track number. Programmable from track 0 to 255. PRETRK defaults to track 0. A 00h selects track 0 and a FFh selects track 255. 4.6.19. Powerdown Mode The Powerdown mode command allows the automatic power management. The use of the command can extend the battery life in portable PC applications. To enable auto powerdown the command may be issued during the BIOS power on self test (POST). DLY: Minimum powerup timer. This bit is active only if APD bit is enabled. Set this bit to 0 assigns a 10msec timer, and to 1 assigns a 0.5sec timer. The timer will be re-initialized after a command execution is finished (idle state) and start to countdown. When the timer is expired, the FDC will enter the powerdown state automatically. APD: Enable auto powerdown. When set to 1, the auto powerdown is enabled. If an invalid command (illegal Opcode byte in the command phase) is received by the controller, the controller responds with ST0 in the Result Phase. The controller does not generate an interrupt during this condition. The system reads an 80h from ST0 indicating an invalid command was received. 4.6.22 Perpendicular Mode The Perpendicular Mode command is designed to support the Perpendicular Recording disk drives (4Mbytes unformatted capacity). The Perpendicular Mode command configures each of the four logical drives as a perpendicular or conventional disk drive. Configuration of the four logical disk drives is done via the D3-D0 bits, or with the GAP and WG control bits. This command should be issued during the initialization of the floppy controller. A 0 written to Dn sets drive n to conventional mode, and a 1 sets drive n to perpendicular mode. Also, the OW bit offers additional control. When OW=1, changing the values of D3D0 is enabled. When OW=0, the internal values of D3-D0 are unaffected, regardless of what is written to D3-D0. The function of the Dn bits must also be qualified by setting both WG and GAP to 0. If WG and GAP are not set to 00, they overrides whatever is programmed in the Dn bits. Table 4-4 below indicates the operation of the FDC based on the values of GAP and WG. D3-D0 are unaffected by a software reset, but WG and GAP are both cleared to 0 after a software reset. A hardware reset resets all the bits to zero. Table 4-4 Effects of WG and GAP bits GAP 0 0 WG 0 1 1 0 1 1 Mode GAP2 Length during Format Conventional 22 Bytes Perpendicular 22 Bytes (500kbps) Reserved 22 Bytes (Conventional) Perpendicular 41 Bytes (1Mbps) Portion of GAP2 re-written by Write Data Command 0 Bytes 19 Bytes 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 0 Bytes 38 Bytes Page 53 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP 4.7 Parallel Port Mode FDC In this mode, the floppy disk control signals are available on the parallel port pins. When this mode is selected, the parallel port is not available. There are four modes of operation. These modes can be selected in index 0xF1 of FDC configuration space. The FDC signals are multiplexed onto the Parallel port pins as shown in table below. 0xF1[1:0] 0 0 0 1 1 0 1 1 Parallel port function Printer Printer FDC(drive 0 or 1) FDC(drive 1) The FDC signals are multiplexed onto the Parallel port pins as shown in table below. Conn Pin no. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Page 54 Chip pin no. 144 138 137 136 135 134 133 132 131 129 128 127 126 143 142 141 140 SPP mode STBJ PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7 ACKJ BUSY PE SLCT AFDJ ERRJ INITJ SLINJ Type FDC mode I/O I/O I/O I/O I/O I/O I/O I/O I/O I I I I I/O I I/O I/O DS0J INDEXJ TRK0J WPJ RDATAJ DSKCHGJ Pin direction O I I I I I MTR0J O DS1J MTR1J WDATAJ WGATEJ DENSEL HDSELJ DIRJ STEPJ O O O O O O O O 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Section 5 : Serial Port Registers Each of the serial ports function as data input/output interface in a microcomputer system. The system software determines the functional configuration of the UARTs via a tri-state 8-bit bi-directional data bus. The UARTs are completely independent and perform serialto-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 any of the UARTs at any time during the functional operation. Status information reported includes the type and condition of the transfer operations performed by the UART, as well as any error conditions (parity, overrun, framing, or break interrupt). The UARTs have programmable baud rate generator capable of dividing the timing reference clock input by divisors of 1 to (216 - 1), and producing a 16 X clock for driving the internal transmitter logic. Provisions are also included to use this 16 X clock to drive the receiver logic. The UARTs have complete modem-control capability and a processor-interrupt system. Interrupts can be programmed to the user's requirements, minimizing the computing required to handle communications link. Table 5-1 lists the register addresses A2 ~ A0 (AEN is equal to zero). DLAB is the divisor latch access bit. Table 5-1 Register Address Base + 0h 0h 0h 1h 1h 2h 2h 3h 4h 5h 6h 7h Serial Port Registers Access (AEN=0) DLAB 0 0 1 1 0 - Abbreviation Register Name Access THR RBR DLL DLM IER IIR FCR LCR MCR LSR MSR SCR Transmit Holding Register Receiver Buffer Register Divisor Latch LSB Divisor Latch MSB Interrupt Enable Register Interrupt Identification Register FIFO Control Register Line Control Register Modem Control Register Line Status Register Modem Status Register Scratch Pad Register W R R/W R/W R/W R W R/W R/W R R R/W 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 55 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Table 5-2 Register Summary for Each UART Channel Bit no. 0 1 2 3 4 5 6 7 Receiver Buffer Register (Read only) Transmitter Holding Register (Write only) Interrupt Enable Register R B R Data bit 0 (note 1) Data bit 1 Data bit 2 Data bit 3 Data bit 4 Data bit 5 Data bit 6 Data bit 7 T H R Data bit 0 Data bit 1 Data bit 2 Data bit 3 Data bit 4 Data bit 5 Data bit 6 Data bit 7 I E R Enable received data available interrupt (ERDAI) Enable Receiver Line Status Interrupt (ELSI) Enable Modem Status Interrupt (EMSI) 0 0 0 0 Interrupt Ident. Register (Read only) FIFO control register (write only) Line control register II R ‘ 0’ if interrupt pending Enable Transmitter Holding Register Empty Interrupt (ETHREI) Interrupt ID bit Interrupt ID bit 0 0 0 FIFO enable FIFO enable F C R FIFO enable RCVR FIFO Reset Xmit FIFO reset reserved reserved reserved RCVR Trigger (LSB) RCVR Trigger (MSB) L C R Word length select bit 0 (WLS0) Word Length Select bit 1 (WLS1) Number of Stop Bits (STB) Parity Enable (PEN) Even Parity Select (EPS) Stick Parity Set Break 4 Modem control register M C R Request to send (RTS) Out 1 (Note 3) IRQ Enable (Note 3) Loop 0 0 5 Line status register L S R Data Terminal ready (DTR) Data ready (DR) Divisor Latch Access Bit (DLAB) 0 Overrun error (OE) Parity Error (PE) Framing Error (FE) Break Interrupt (BI) 6 Modem status register M S R Delta Clear to Send (DCTS) Delta Data Set Ready (DDSR) Clear to Send (CTS) Bit 0 Bit 1 Bit 4 Bit 5 Bit 6 Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 1 DLAB=1 Divisor latch (MS) S C R D L L D L M Data Carrier Detect (DCD) Bit 7 0 DLAB=1 Scratch register (note 4) Divisor latch (LS) Delta Data Carrier Detect (DDCD) Bit 3 Transmitte r Empty (TEMT) note 2 Ring Indicator (RI) 7 Trailing Edge ring indicator (TERI) Bit 2 Transmitte r Holding Register (THRE) Data Set Ready (DSR) Bit 8 Bit 9 Bit 10 Bit 11 Bit 12 Bit 13 Bit 14 Bit 15 0 DLAB=0 0 DLAB=0 1 DLAB=0 2 2 3 Note : Page 56 Error in RCVR FIFO 1. Bit 0 is the least significant bit. It is the first bit serially transmitted or received. 2. When operating in the XT mode, this bit will be set any time that the transmitter shift register is empty. 3. This bit no longer has a pin associated with it. 4. When operating in the XT mode, this register is not available. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 5.1 Line Control Register (LCR) The system programmer uses this read/write register to specify the format of the asynchronous data communications exchange and set the divisor latch access bit. Table 5-3 Bit 7 6 5 4 3 2 0-1 LCR Registers Function Divisor latch access bit (DLAB). 1 = To access divisor latches of the baud generator or the alternate function register during a read or write operation. 0 = To access any other register. Break control bit. This bit causes a break condition to be transmitted to the receiving UART. 1 = Serial output (SOUT) is forced to the spacing logic 0 = Break is disabled This bit acts only on SOUT and has no effect on transmitter logic. This enables the CPU to alert a terminal in a computer communications system. If the following sequence is followed, no erroneous or extraneous characters are transmitted because of the break : 1. Load all 0s, pad character in response to THRE. 2. Set break after the next THRE. 3. Wait for the transmitter to be idle, (TEMT = 1), and clear break when normal transmission has to be restored. During the break, the transmitter can be used as a character timer to accurately establish the break duration. Stick parity bit. When parity is enabled, it is used in conjunction with bit 4 to select, mark or space parity. 1 = Enable stick parity 0 = Disable stick parity Parity select bit. Selects either an odd or even number of 1's to be transmitted/checked in the data word bit and parity bit. 0 = Odd number of 1's (parity bit is a logic 1, mark parity) 1 = Even number of 1's (parity bit is a logic 0, space parity) Parity enable bit. The parity bit is used to produce an even or odd number of 1's when the data bits and the parity bit are added. A parity bit is generated (transmit data) or checked (received data) between the last data bit and the stop bit of the serial data. 0 = Parity bit is not generated/checked 1 = Parity bit is generated/checked Specifies the number of stop bits transmitted with each serial character. The receiver checks the first stop bit only, regardless of the number of stop bits selected. 0 = 1 stop bit 1 = 1.5 stop bits, when a 5-bit data length is selected 1 = 2 stop bits, when 6-, 7-, or 8-bit data length is selected Specify the number of data bits (data length) in each transmitted or received serial character. The following are the bit values: 00 = 5 bits 01 = 6 bits 10 = 7 bits 11 = 8 bits 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 57 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP 5.2 Programmable Baud Generator The UART contains two independently programmable baud generators. The 24-MHz crystal oscillator frequency input is divided by 13, resulting in a frequency of 1.8462-MHz. This is sent to each baud generator and divided by the divisor for the associated UART. The output frequency of the baud generator is 16 X the baud rate, [divisor # = (frequency input) / (baud rate x 16)]. The output of each baud generator drives the transmitter and receiver sections of the associated serial channel. Two 8-bit latches per channel store the divisor in a 16-bit binary format. These divisor latches must be loaded during initialization to ensure proper operation of the baud generator. Upon loading either of the divisor latches, a 16-bit baud counter is loaded. Table 5-5 provides decimal divisors to use with crystal frequencies of 24-MHz. The oscillator input to the chip should always be 24-MHz to ensure that the FDC timing is accurate and that the UART divisors are compatible with existing software. Using a divisor of zero is not recommended. 5.3 Line Status Register (LSR) This register provides status information to the CPU concerning the data transfer. LSR is intended for read Table 5-4 operations only. Writing to this register is not recommended as this operation is only used for factory testing. Line Status Register Function Definition Bit Function 7 In 16450 mode, this bit is set to 0. In FIFO, LSR7 is set when there is at least one parity error, framing error or break indication in the FIFO LSR7 is cleared when the CPU reads the LSR, if there are no subsequent errors in the FIFO. This bit changes its function depending on whether the device is operating in XT/AT mode. When in the AT mode, this bit is the transmitter empty (TEMT) indicator. It is set to 1 whenever the transmitter holding register (THR) and the transmitter shift register (TSR) are both empty. It is reset to 0 whenever either the THR or TSR contains a data character. Transmitter holding register empty (THRE) indicator. It indicates that the UART is ready to accept a new character for transmission. It also causes the UART to issue an interrupt to the CPU when the THRE interrupt enable is set high. It is set to 1 when a character is transferred from the THRE into TSR. It is reset to 0 whenever the CPU loads the THRE. Break interrupt (BI) indicator. It is set to 1 when 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). It is reset whenever the CPU reads the contents of the LSR. Restarting after a break is received requires the SIN pin to be logical 1 for at least 1/2-bit time. Framing error (FE) indicator. This bit indicates that the received character did not have a valid stop bit. It is set to 1 whenever the stop bit following the last data bit or parity bit is a logic 0 (spacing level). The FE indicator is reset whenever the CPU reads the contents of LSR. The UART tries to resynchronize after a framing error. To do this, it assumes that the FE was due at the next start bit, so it samples this start bit twice and then takes in the data. Parity error (PE) indicator. This bit indicates that the received data character does not have the correct even or odd parity, as selected by the even-parity-select bit. It is set to 1 upon detection of a parity error and reset to 0 whenever the CPU reads the contents of the LSR. Overrun error (OE) indicator. It indicates that data in the RBR was not read by the CPU before the next data was transferred into the RBR, thereby destroying the previous data. It is set to 1 upon detection of an overrun condition and reset to 0 whenever the CPU reads the contents of the LSR. Receive data ready (DR) indicator. It is set to 1 whenever a complete incoming character has been received and transferred into the RBR. It is reset to 0 by reading the data in the RBR. 6 5 4 3 2 1 0 Page 58 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Table 5-5 Desired baud rate 50 75 110 134.5 150 300 600 1200 1800 2000 2400 3600 4800 7200 9600 19200 38400 57600 115200 230400 460800 Baud rates using 1.8462 MHz Clock (24 MHz/13) Divisor used to generate 16x clock 2304 1536 1047 857 768 384 192 96 64 58 48 32 24 16 12 6 3 2 1 32770 32769 C 0.001 0.004 0.005 0.030 0.16 0.16 0.16 0.16 Bit 5 in CR8 or 9 X X X X X X X X X X X X X X X X X X X 1 1 5.4 Interrupt Identification Register (IIR) This register keeps a record of the four interrupts prioritized by the UART to reduce software overhead during data transfers. The four levels of interrupt conditions in order of priority are: receiver-line-status, received-data-ready, transmitter-holding-register-empty, and modem-status. When the CPU accesses the IIR, the UART freezes all interrupts and indicates the highest priority pending interrupt to the CPU. While this CPU access is occurring, the UART records new interrupts, but does not change its current indication until the access is complete. Table 5-6 Interrupt Identification Register Bit 6~7 Function These two bits are set when the FIFO control register bit 0 equals 1. Always '0'. ln non-FIFO mode, this bit is a logic 0. In FIFO mode, this bit is set along with bit 2 when a timeout interrupt is pending. Identifies the highest interrupt pending. Used in an interrupt environment to indicate whether an interrupt condition is pending. If yes, the IIR contents may be used as a pointer to the appropriate interrupt service routine. 0 = Interrupt pending 1 = No interrupt pending 4~5 3 1~2 0 Note : C refers to % Error Difference between desired and actual, except where shown otherwise, is 0.2 %. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 59 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Table 5-6 Interrupt Control Table FIFO mode only D3 Interrupt ID. register D2-D1-D0 0 0 Interrupt Set and Reset Functions 0- 0- 1 1- 1- 0 Priority level highest Interrupt type None Receiver line status 0 1- 0- 0 second 1 1- 0- 0 second Received data available Character timeout Indication 0 0- 1- 0 third 0 0- 0- 0 fourth Transmitter holding register empty MODEM status Interrupt source Interrupt Reset control None Overrun error, Parity error, Framing error Break interrupt Received data available Reading register No characters have been removed from or input to the RCVR FIFO during the last 4 char times and there is at least 1 char in it during this time. Transmitter Holding Register Empty Clear to send or data set ready the line status Read receiver buffer or the FIFO drops below the trigger level Reading the Receiver Buffer Register Reading the IIR Register or writing the transmitter holding register Reading the Modem status register 5.5 Interrupt Enable Register (IER) This register enables the four types of UART interrupts. Each interrupt can individually activate the UR2IRQA or UR1IRQA output signal. Resetting bits 0 ~ 3 of the IER disables the interrupt system. Similarly, setting bits of this register to 1 enables the selected interrupts. Disabling an interrupt prevents it from being indicated as active in the IIR and from activating the interrupt output signal. All other system functions operate in their normal manner, including the setting of the line status and modem status registers. Table 5-8 Bit 0 1 2 3 4-7 Interrupt Enable Register Function Enables the received-data-available interrupt Enables the THRE interrupt Enables the receiver-line-status interrupt Enables the modem-status interrupt Always 0 5.6 FIFO Control Register Bit 1: Writing a 1 to FCR1 clears all bytes in the RCVR FIFO and resets its counter logic to 0. The shift register is not cleared. The 1 that is written to this bit position is selfclearing. Bit 2: Writing a 1 to FCR2 clears all bytes in the XMIT FIFO and resets its counter logic to 0. The shift register is not cleared. The 1 that is written to this bit position is selfclearing. Bit 3: Setting FCR3 to a 1 will cause the RXRDY and TXRDY pins to change from mode 0 to mode 1 if FCR0 = 1 Bit 4, 5: FCR4 to FCR5 are reserved for future use. This is a write only register at the same location as the IIR (the IIR is a read only register). This register is used to enable the FIFOs, clear the FIFOs, set the RCVR FIFO trigger level, and select the type of DMA signalling. Page 60 Bit 0: Writing a 1 to FCR0 enables both the XMIT and RCVR FIFOs. Resetting FCR0 will clear all bytes in both FIFOs. When changing from FIFO mode to NS16450 mode and vice versa, data is automatically cleared from the FIFOs. This bit must be a 1 when other FCR bits are written to or they will not be programmed. Bit 6, 7: FCR6 and FCR7 are used to set the trigger level for the RCVR FIFO interrupt. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 7 6 0 0 1 1 0 1 0 1 RCVR FIFO Trigger Level (Bytes) 01 04 08 14 5.7 Modem Control Register (MCR) This register controls the interface with the modem or data set (or a peripheral emulating a modem). Table 5-9 Modem Control Register Bit Function 7-5 Set to logic 0. 4 This bit provides a local loopback feature for the UART diagnostic testing. When set to 1, the following occurs: the transmitter serial output (SOUT) is set to the marking (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 (DSRJ, CTSJ, RIJ, and DCDJ) are disconnected; and the DTRJ, RTSJ, OUT1, IRQ enable bits in MCR respectively. When operating in AT mode, the modem control output pins are forced to their high (inactive) states. In the diagnostic mode, data that is transmitted is immediately received. This feature allows the processor to verify the transmit-andreceive data paths of the serial port. In the diagnostic mode, the receiver and transmitter interrupts are fully operational. The modem status interrupts are also operational, but the interrupt's sources are the lower four bits of MCR instead of the four modem control inputs. Writing a 1 to any of them causes an interrupt. The interrupts are still controlled by the IER. 3 This bit enables the interrupt when set. In local loopback mode, this bit controls bit 7 of the MSR. 2 This is the OUT1 bit. It does not have an output pin associated with it. It can be written to and read by the CPU. In local loopback mode, this bit controls bit 6 of the MSR. 1 Controls the RTSJ output. In local loopback mode, this bit controls bit 4 of the MSR. 0 Controls the DTRJ output. In local loopback mode, this bit controls bit 5 of the MSR. 1 = DTRJ output is forced to 0 0 = DTRJ output is forced to 1 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 61 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP 5.8 Modem Status Register (MSR) This register gives the current state of the control lines from the modem to the CPU. The bits are set to 1 whenever a Table 5-10 control input from the modem changes state, and set to 0 when CPU reads the MSR. Modem Status Register Bit 7 6 5 4 3 2 1 0 Function Complement of the DCDJ input. If bit 4 (loopback) of the MCR is set to 1, this bit is equivalent to IRQ enable in the MCR. Complement of the RIJ input. If bit 4 (loopback) of the MCR is set to 1, this bit is equivalent to OUT1 in the MCR. Complement of the DSRJ input. If bit 4 (loopback) of the MCR is set to 1, this bit is equivalent to DTR in the MCR. Complement of the CTSJ input. If bit 4 (loopback) of the MCR is set to 1, this bit is equivalent to RTS in the MCR. Delta data carrier detect (DDCD) indicates that the DCDJ input to the chip has changed state. Whenever bit 0, 1, 2 or 3 is set to 1, a modem status interrupt is generated. Trailing edge of ring indicator (TERI) detector indicates that the RIJ input of the chip has changed from a low to high state. Delta data set ready (DDSR) indicates that the DSRJ input to the chip has changed its state since the last time it was read by the CPU. Delta clear to send (DCTS) indicates that CTSJ input to the chip has changed its state since the last time it was read by CPU. 5.9 Scratchpad Register (SCR) The 8-bit read/write register does not control the UART in any way. It is intended as a scratchpad register to be used by the programmer to hold data temporarily. can be programmed in this mode. The transfer signals will rout to SIN1/SIN2 and SOUT1/SOUT2. Two additional pins, IRRX and IRTX, are also provided. 5.10 Infrared Interface 5.10.1 Sharp-IR Mode 5.10.2 IrDA SIR Mode This mode supports bidirectional data communication with a remote device using infrared radiation as the transmission medium. Sharp-IR uses Amplitude Shift Key (ASK) and allows serial communication at baud rates up to 38.4K Baud. The format of the serial data is similar to the UART data format, a zero value start bit, followed by up to 8 data bits, an optional parity bit, and ending with at least one stop bit with a binary value of one. A zero is signalled by sending a 500KHz continuous pulse train of infrared radiation. A one is signalled by the absence of any infrared signal. The device operation in Sharp-IR mode is similar to the operation in UART. The main difference is that the data transfer is normally performed in half duplex fashion, and the modem control and status signals are not used. Selection of this mode is controlled by the IR mode bits in the UART’ s configuration space. Both UART1 and UART2 Page 62 This is an operation mode similar to Sharp-IR. The IrDA 1.0 SIR allows serial communication at baud rates up to 115.2K Baud. The data format is the same as Sharp-IR mode except no parity bit is needed. A zero is signalled by sending a single infrared pulse. A one is signalled by not sending any pulse. The width of each pulse is 3/16ths of a single bit time. The device operation in IrDA 1.0 SIR mode is similar to the operation in UART. The main difference is that the data transfer is normally performed in half duplex fashion, and the modem control and status signals are not used. Selection of this mode is controlled by the IR mode bits in the UART’ s configuration space. Both UART1 and UART2 can be programmed in this mode. The transfer signals will rout to SIN1/SIN2 and SOUT1/SOUT2. Two additional pins, IRRX and IRTX, are also provided. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Section 6 : Keyboard Controller and Real Time Clock Functional Description 6.1 Keyboard and RTC ISA Interface 6.2 Keyboard Controller The M512x ISA interface is functionally compatible with the M8042 style host interface. It consists of the D0-D7 data bus; the IORJ, IOWJ and the Status register, Input Data register, and Output Data register. Table below shows how the interface decodes the control signals. In addition to the above signals, the host interface includes keyboard and mouse IRQ’ s. The Universal Keyboard Controller uses an M8042 microcontroller CPU cord. This section concentrates on the M512x enhancements to the M8042. KIRQ P24 MIRQ P25 GATE A20 P21 RC Reset P20 ISA I/O Address Map ISA Address 0x70 (R/W) 0x71 (R/W) BLOCK RTC RTC FUNCTION Address Register (70H) Data Register (71H) M8042 LS05 KDAT P27 P10 KCLK P26 ST0 MCLK P23 ISA Address 0x60 0x64 nIOW nIOR Block Function (Note 1) TST1 MDAT P22 0 1 KDATA 1 0 KDATA 0 1 KDCTL 1 0 KDCTL Keyboard Data Write (C/D=0) (60h) Keyboard Data Read (60h) Keyboard Command Write (C/D=1) (64h) Keyboard Status Read (64h) Note 1 : These registers consist of three separate 8-bit registers. Status, Data/Command write and Data Read. P11 Keyboard and Mouse Interface KIRQ is the Keyboard IRQ MIRQ is the Mouse IRQ P21 is the CIO14 alternate function, can be used for Gate A20. P20 can be used to optionally RC reset. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 63 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Keyboard Data Write Host-to-CPU Communication This is an 8 bit write only register. When written, the C/D status bit of the status register is cleared to zero and the IBF bit is set. The host system can send both commands and data to the Input Data register. The CPU differentiates between commands and data by reading the value of Bit 3 of the Status register. When bit 3 is “ 1” , the CPU interprets the register contents as a command. When Bit 3 is “ 0” , the CPU interprets the register contents as data. During a host write operation, bit 3 is set to “ 1” if SA2 = 1 or reset to “ 0” if SA2 = 0. Keyboard Data Read This is an 8 bit read only register. If enabled by “ ENABLE FLAGS” , the KIRQ output is cleared and the OBF flag in the status register is cleared. If not enabled, the KIRQ and/or AUXOBF1 must be cleared in software. KIRQ Keyboard Command Write This is an 8 bit write only register. When written, the C/D status bit of the status register is set to one and the IBF bit is set. Keyboard Status Read This is an 8 bit read only register. Refer to the description of the Status Register for more information. If “ ENFLAGS has not been executed: KIRQ can be controlled by writing to P24. Writing a zero to P24 forces KIRQ low, a high forces KIRQ high. CPU-to-Host Communication The heart of M512x can write to the Output Data register via register DBB. A write to this register automatically sets Bit 0 (OBF) in the Status register. See table below Host Interface Flags M8042 Instruction OUT DBB If “ EN FLAGS” has been executed and P24 is set to a one: the OBF flag is gated onto KIRQ. The KIRQ signal can be connected to system interrupt to signify that the M512x CPU has written to the output data register via “ OUT DBB, A” . If P24 is set to a zero, KIRQ is forced low. At powerup, after a valid reset pulse has been delivered to the device, KIRQ is reset to 0. KIRQ normally reflects the status of “ DBB” . FLAG Set OBF, and, if enabled, the KIRQ output signal goes high MIRQ If “ EN FLAGS” has been executed and P25 is set to a one: IBF is inverted and gated onto MIRQ. The MIRQ signal can be connected to system interrupt to signify that the M512x CPU has read the DBB register. If “ ENFLAGS has not been executed : MIRQ and is controlled by P25. Writing a zero to P25 forces MIRQ low, a high forces MIRQ high. (MIRQ is normally selected as IRQ12 for mouse support.) Gate A20 A general purpose P21 can be routed out to the Common I/O pin CIO14 for use as a software controlled Gate A20 or user defined output. Page 64 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP External Keyboard and Mouse Interface Hard Power Down Mode Industry-standard PC-AT compatible keyboards employ a two-wire, bi-directional TTL interface for data transmission. Several sources also supply PS/2 mouse products that employ the same type of interface. To facilitate system expansion, the M512x provides four signal pins that may be used to implement this interface directly for an external keyboard and mouse. This mode is entered by executing a STOP instruction. The oscillator is stopped by disabling the oscillator driver cell. When either RESET is driven active or a data byte is written to the DBBIN register by a master CPU, the mode will be exited (as above). However, as the oscillator cell will require an initialization time, either RESET must be held active for sufficient time to allow the oscillator to stabilize. Program execution will resume as above. The M512x has four high-drive, open-drain output (1), bidirectional port pins that can be used for external serial interfaces, such as ISA external keyboard and PS/2-type mouse interfaces. They are KCLK, KDAT, MCLK and MDAT. P26 is inverted and output as KCLK. The KCLK pin is connected to TESTO. P27 is inverted and output as KDAT. The KDAT pin is connected to P70. P23 is inverted and output as MCLK. The MCLK pin is connected to TEST1. P22 is inverted and output as MDAT. The MDAT pin is connected to P11. NOTE : External pull-ups may be required. Interrupts The M512x provides the two M8042 interrupts. IBF and the Timer/Counter Overflow. Memory Configurations The M512x provides 2K of on-chip ROM and 256 bytes of on-chip RAM. Register Definitions Keyboard Power Management Host I/F Data Register The keyboard provides support for two power saving modes: soft power down mode and hard power down mode. In soft power down mode, the clock to the ALU is stopped but the timer/counter and interrupts are still active. In hard power down mode, the clock to the M8042 is stopped. Efforts are made to reduce power wherever possible. The Input Data register and, Output Data register, are each 8 bits wide. A write to this 8 bit register will load the Keyboard Data Read Buffer, set the OBF flag and set the KIRQ output if enabled. A read of this register will read the data from the Keyboard Data or Command Write Buffer and clear the IBF flag. Refer to the KIRQ and Status register descriptions for more information. Soft Power Down Mode Host I/F Status Register This mode is entered by executing a HALT instruction. The execution of program code is halted until either RESET is driven active or a data byte is written to the DBBIN register by a master CPU. If this mode is exited using the interrupt, and the IBF interrupt is enabled, then program execution resumes with a CALL to the interrupt routine, otherwise the next instruction is executed. If it is exited using RESET, then a normal reset sequence is initiated and program execution starts from program memory location 0. The Status register is 8 bits wide. Table below shows the contents of the Status register. Status Register D7 UD D6 UD D5 UD D4 UD D3 C/D D2 UD D1 IBF D0 OBF This register is cleared on a reset. This register is readonly for the Host and read/write by the M512x. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 65 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP UD Writable by M512x. These bits are userdefinable. C/D (Command Data) This bit specifies whether the input data register contains data or a command (0 = data, 1 = command). During a host data/command write operation, this bit is set to “ 1” if SA2 = 1 or reset to “ 0” if SA2 = 0. Default Reset Conditions The M512x has one source of reset: an external reset via the RESET pin. Refer to table of Resets below for the effect of each type of reset on the internal registers. Resets IBF OBF Page 66 (Input Buffer Full) This flag is set to 1 whenever the host system writes data into the input data register. Setting this flag activates the M512x’ s nIBF (MIRQ) interrupt if enabled. When the M512x reads the input data register (DBB), this bit is automatically reset and the interrupt is cleared. There is no output pin associated with this internal signal. (Output Buffer Full) This flag is set to 1 whenever the M512x writes to the output data register (DBB). When the host system reads the output data register, this bit is automatically reset. DESCRIPTION KCLK KDAT MCLK MDAT Host I/F Data Reg Host I/F Status Reg HARDWARE RESET (RESET) Weak High Weak High Weak High Weak High N/A OOH NC : No Change N/A : Not Applicable 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Command Byte Bit Definition Bit 7 RSV MSB 6 5 IBMPCC IBMPC 4 DISKBC 3 INHOVR 2 1 FLAG RSV 0 ENOBFI LSB Command Byte Bit Definition Bit Number 7 6 5 4 3 2 1 0 Bit Definition Reserved. This bit should be 0. IBM Personal Computer Compatibility Mode. Writing a 1 to this bit tells the keyboard controller that it needs to convert the scan codes received from the keyboard to those used by the IBM PC. IBM Personal Computer Mode. Writing a 1 to this bit signals the keyboard controller not to check parity, or convert scan codes. Disable Keyboard. Writing a 1 to this bit disables Keyboard I/F by driving the clock-line low. Inhibit Override. Writing a 1 to this bit disables the KeyboardInhibit function. System Flag. The M8042 places the value written to this bit in the system flag bit of its status register. Reserved. This bit should be 0. Enable Output-Buffer-Full interrupt. Writing a 1 to this bit causes the controller to generate an interrupt when it places data into its output buffer. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 67 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Status Register Bit Definition Bit 7 PE 6 RTO 5 XTO 4 INH SW 3 2 COMMAND FLAG DATA 1 0 IBF OBF MSB LSB Status Register Bit Definition Bit Number 7 6 5 4 3 2 1 0 Page 68 Bit Definition Parity Error. 0 : The last byte of received data had odd parity. 1 : The last byte of received data had even parity. Receive Time-Out. 0 : No error 1 : The keyboard started a transmission but did not finish within a specific receive time-out-delay. Transmit Time-Out 0 : No error 1 : The keyboard started a transmission but was not properly completed. Inhibit Switch 0 : Keyboard is inhibited 1 : Keyboard is not inhibited Command/Data Byte Select 0 : Data byte 1 : Command byte System Flag. This bit is set to 0 during power-on Input Buffer Full 0 : Keyboard controller input buffer is empty 1 : Data has been written into the buffer Output Buffer Full 0 : Keyboard controller output buffer is empty 1 : Keyboard controller output buffer has placed data into 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Commands’ Description Command 20H 60H A1H AAH ABH ADH AEH D0H D1H E0H F0H ~ FFH Description Read keyboard controller's command byte. The keyboard controller puts the command byte in its output buffer, available at I/O port 60H. Write keyboard controller's command byte. The next byte from the system at I/O port 60H is placed as the controller command. Output controller version number. A single byte of the controller's version comes at I/O port 60H. Self test. This commands the controller to do internal diagnostics tests. A Hex 55 is placed in the output buffer if no errors are detected. Interface test. This command checks the clocks and data lines of the keyboard. 00: no errors detected 01: clock is stuck low 02: clock is stuck high 03: data is stuck low 04: data is stuck high Disable keyboard. It disables the keyboard clock line, and also sets the corresponding bit in the command byte. It resumes after giving any keyboard command. Enables keyboard. It enables the keyboard clock line, and also resets the corresponding bit in the command byte. Read output port. This command places the output port (P2) status of the controller at I/O port 60H. Write output port. Data following this command is loaded onto the controller's output port. Read test inputs. This makes the current status of the test inputs of the controller's KBC and KBD available to the system at I/O port 60H as bit 0 and bit 1, respectively. Pulse output port. Bits 0 ~ 3 of the controller's output port may be pulsed low for a period of approximately 6 seconds. The same bits of the command itself indicate the bits to be pulsed. A 0 indicates that the bits should be pulsed, a 1 indicates that the bits should not be modified. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 69 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP 6.3 Real Time Clock This RTC Super Cell is a complete time of day clock with alarm and one hundred year calendar, a programmable periodic interrupt and a programmable square wave generator. n Time of day Register Descriptions The processor program obtains time and calendar information by reading the appropriate locations. The program may initialize the time, calendar, and alarm by writing to these RAM locations. The contents of the 10 time, calendar and alarm bytes may either be binary or binary-coded decimal. Table below shows the binary and BCD formats of the 10 time, calendar and alarm locations. Time, Calendar and Alarm Data Modes Address Function Decimal Range Binary Mode BCD Mode 00 01 0-59 0-59 $0-$3B $0-$3B $0-$59 $0-$59 02 03 04 Seconds Seconds Alarm Minutes Minutes Alarm Hours 0-59 0-59 1-12 0-23 05 Hours Alarm 1-12 06 07 08 09 Day of Week Date Month Year 0-23 1-7 1-31 1-12 0-99 $0-$3B $0-$3B $1-$C(AM) $81-$8C(PM) $0-$17 $1-$C(AM) $81-$8C(PM) $0-$17 $1-$7 $1-$1F $1-$C $0-$63 $0-$59 $0-$59 $1-$12(AM) $81-$92(PM) $0-$23 $1-$12(AM) $81-$92(PM) $0-$23 $1-$7 $1-$31 $1-$12 $0-$99 Page 70 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP n Address Map The memory consists of 242 general purpose RAM bytes, 10 RAM bytes which normally contain the time, calendar, alarm data, and four control and status bytes. All 256 bytes are directly readable and writable by the processor program except for the following: 1) Registers C and D are read only. 2) bit 7 of Register A is read only and 3) the high order bit of the seconds byte is read only. The contents of four control and status registers (A, B, C, and D) are described in Registers. n Set Operation Before initialization of the internal registers of the M512x, the SET bit in register B should be set to a 1 to prevent RTC from updating. The CPU then initializes the first ten locations in the selected format (binary or BCD). The SET bit should then be cleared to allow updating. After initialization and enabling, the M512x will perform clock calendar updates in the selected data mode. n BCD and Binary Format The 24/12 bit in register B determines whether the hour locations will be updated using a 1-12 or 0-23 format. After initialization, the 24/12 bit cannot be changed without reinitializing the hour locations. In 12 hour format, the high order bit of the hours byte indicates PM when it is a 1. n Alarm Operation The three alarm bytes may be used in two ways. First, when the program inserts an alarm time in the appropriate hours, minutes, and seconds alarm locations, the alarm interrupt is initiated at the specified time each day if the alarm enable bit is high. The second usage is to insert a "don't care" state in one or more of three alarm bytes. The "don't care" code is in any byte from C0h to FFh. An alarm interrupt each hour is created with "don't care" code in the hours alarm location. Similarly, an alarm is generated every minute with "don't care" codes in the hours and minutes alarm bytes. The "don't care" codes in all three alarm bytes create an interrupt every second. n Interrupts The RTC plus RAM includes three separate fully automatic sources of interrupts to the processor. The alarm interrupt maybe programmed to occur at rates from one-per-second to one-a-day. The periodic interrupt maybe selected for rates from half-a-second to 30.517µs. The update ended interrupt maybe used to indicate to the program that an update cycle is completed. The processor program selects which interrupts, if any, it wishes to receive. Three bits in register B enable the three interrupts. Writing a 1 to an interrupt enable bit permits that interrupt to be initiated when the event occurs. A 0 in the interrupt enable bit prohibits the IRQ pin from being asserted due to the interrupt cause. If an interrupt flag is already set when the interrupt becomes enable, the IRQ pin is immediately activated, though the interrupt initiating the event may have occurred much earlier. Thus, there are cases where the program should clear such earlier initiated interrupts before first enabling new interrupts. n Divider Control The divider control bits have three uses, as shown in Table below. Three usable operating time bases may be selected. The divider chain maybe held reset, which allows precision setting of the time. When the divider is changed from reset to an operating time base, the first update cycle is one-half second later. Divider Configurations OSC1 Frequency 4.194304 MHz 1.048576 MHz 32.768 MHz Any 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Divider DV2 0 0 0 1 bits DV1 0 0 1 1 DV0 0 1 0 * Mode Operate Operate Operate Divider reset Page 71 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP n n Periodic Interrupt Selection The periodic interrupt allows the IRQJ pin to be triggered from once every 30.517µs. The periodic interrupt is separate from the alarm interrupt which maybe outputted from once-per-second to once-per-day. Table below shows that the periodic interrupt rate is selected with the same register A bits which select the square-wave frequency. Periodic Interrupt Rate Table RS value 0h 1h 2h 3h 4h 5h 6h 7h 8h 9h Ah Bh Ch Dh Eh Fh 4.194304 MHz or 1.048576 MHz Time Base none 30.517 µs 61.035 µs 122.070 µs 244.141 µs 488.281 µs 976.562 µs 1.953125 ms 3.90625 ms 7.8125 ms 15.625 ms 31.25 ms 62.5 ms 125 ms 250 ms 500 ms 32.768 KHz Time Base none 3.90625 ms 7.8125 ms 122.070 µs 244.141 µs 488.281 µs 976.562 µs 1.953125 ms 3.90625 ms 7.8125 ms 15.625 ms 31.25 ms 62.5 ms 125 ms 250 ms 500 ms Update Cycle The RTC executes an update cycle one-per-second, assuming one of the proper time bases is in place, the DV2-DV0 divider is not clear, and the SET bit in register B is clear. The SET bit in the 1 state permits the program to initialize the time and calendar bytes by stopping an existing update and preventing a new one from occurring. The primary function of the update cycle is to increment the second byte, check for overflow, increment the minutes byte when appropriate and so forth through to the year of the century byte. The update cycle also compares each alarm byte with the corresponding time byte and issues an alarm if a match or if a "don't care" code (11xxxxxx) is present in all three positions. With a 4.194304 MHz or 1.048576 MHz time base, the update cycle takes 248µs while a 32.768 KHz time base update cycle takes 1984 µs. During the update cycle, the time, calendar and alarm bytes are not accessible by the processor program. The RTC protects the program from reading transitional data. This protection is provided by switching the time, calendar and alarm portion of the RAM off the microprocessor bus during the entire update cycle. If the processor reads these RAM locations before the update is complete, the output will be undefined. The update in progress (UIP) status bit is set during the interval. Three methods of accommodating non-availability during update are usable by the program. In discussing the three methods, it is assumed that at random points user programs are able to call a subroutine to obtain the time of day. The first method of avoiding the update cycle uses the update ended interrupt. If enabled, an interrupt occurs after every update cycle which indicates that over 999 ms are available to read valid time and date information. Before leaving the interrupt service routine, the IRQF bit in register C should be cleared. The second method uses the update in progress bit (UIP) in register A to determine if the update cycle is in progress or not. The UIP bit will pulse once-per-second. After the UIP bit goes high, the update cycle begins 244 µs later. Therefore, if a low is a read in the UIP bit, the user has at least 244µs before the time/calendar data will be changed. If a 1 is read in the UIP bit, the time/calendar data may not be valid. The user should avoid interrupt service routines that would cause the time needed to read valid time/calendar data to exceed 244µs. Page 72 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP The third method uses a periodic interrupt to determine if an update cycle is in progress. The UIP bit in register A is set high between the setting of the PF bit in register C. To properly setup the internal counters for daylight savings time operation, the user must set the time at least two seconds before the roll-over will occur. Likewise, the time must be set at least two seconds before the end of the 29th or 30th day of the month. n Register Description The RTC has four registers which are accessible to the processor program. The four registers are also fully accessible during the update cycle. Register 0AH Index register port : 70H Data register port : 71H Index : 0AH (Read/Write except UIP) 7 UIP 6 DV 5 DV1 4 DV0 3 RS3 2 RS2 1 RS1 0 RS0 Bits 3-0. The four rate selection bits select one of 15 taps on the 22-stage divider, or disable the divider output. The tap selected may be used to generate an output square wave (SQW pin) and/or a periodic interrupt. The program may do one of the following 1) enable the interrupt with the PIE bit, 2) enable the SQW output pin with the SQWE bit, 3) enable both at the same time at the same rate, or 4) enable neither. Table 7 lists the periodic interrupt rates and the square wave frequencies that may be chosen with the RS bits. These four bits are read/write bits which are not affected by RESETJ. Bits 6-4. Three bits are used to permit the program to select various conditions of the 22 stage divider chain. The divider selection bits identify which of the three timebase frequencies is in use. Table 6 shows that time bases of 4.194304 MHz, 1.048576 MHz, and 32.768 KHz may be used. The divider selection bits are also used to reset the divider chain. When the time/calendar is first initialized, the program may start the divider at the precise time stored in the RAM. When the divider reset is removed, the first update cycle begins one-half second later. These three read/write bits are not affected by RESET. Bit 7. The update in progress (UIP) bit is a status flag that maybe monitored by the program. When UIP is a "1", the update cycle is in progress or will begin. When UIP is a "0", the update cycle is not in progress and will not be for at least 244µs (for all time bases). The time, calendar, and alarm information in RAM is fully available to the program when the UIP bit is zero - it is not in transition. The UIP bit is a read-only bit, and is not affected by Reset. Writing the SET bit in Register B to a "1" inhibits any update cycle and then clears the UIP status bit. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 73 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Register 0Bh Bit 6. The periodic interrupt enable (PIE) bit is read/write bit which allows the periodic-interrupt flag (PF) bit in Register C to cause the IRQ pin to be driven low. A program writes a "1" to the PIE bit in order to receive periodic interrupts at the rate specified by the RS3, RS2, RS1, and RS0 bits in Register A. A zero in PIE blocks IRQ from being initiated by a periodic interrupt, but the periodic flag (PF) bit is still set at the periodic rate. PIE is not modified by any internal KS82C6818A functions, but is cleared to "0" by a RESETJ. Index register port : 70H Data register port : 71H Index : 0BH (Read/Write) 7 SET 6 PIE 5 AIE 4 UIE 3 SQWE 2 DM 1 24/12 0 DSE Bit 0. The daylight savings enable (DSE) bit is a read/write bit which allows the program to enable two special updates (when DSE is a "1"). On the last Sunday of April, the time increments from 1:59:59 AM to 3:00:00 AM. On the last Sunday of October when the time first reaches 1:59:59 AM, it changes to 1:00:00 AM. These special updates do not occur when the DSE bit is a "0". DSE is not changed by any internal operations or rest. Bit 7. When the SET bit is a "0", the update cycle functions normally by advancing the counts once-persecond. When the SET bit is written to a "1", any update cycle in progress is aborted and the program may initialize the time and calendar bytes without an update occurring in the midst of initializing. SET is a read/write bit which is not modified by RESET or internal functions of the M512x. Bit 1. The 24/12 control bit establishes the format of the hours bytes as either the 24-hour mode (a "1") or the 12hours mode (a "0"). This is a read/write bit, which is affected only by software. Bit 2. The data mode (DM) bit indicates whether time and calendar updates are to use binary or BCD formats. The DM bit is written by the processor program and may be read by the program, but is not modified by any internal functions or RESET. A "1" in DM signifies binary data, while a "0" in DM specifies binary-coded decimal (BCD) data. Bit 3. When the square-wave enable (SQWE) bit is set to a "1" by the program, a square-wave signal at the frequency specified in the rate selection bits (RS3 to RS0) appears on the SQW pin. When the SQWE bit is set to a zero, the SQW pin is held low. The state of SQWE is cleared by the RESETJ pin. SQWE is a read/write bit. Bit 4. The UIE (update-ended interrupt enable) bit is a read/write bit which enables the update-end flag (UF) bit in Register C to assert IRQ. The RESETJ pin going low or the SET bit going high clears the UIE bit. Bit 5. The alarm interrupt enable (AIE) bit is a read/write bit which when set to a "1" permits the alarm flag (AF) bit in Register C to assert IRQ. An alarm interrupt occurs for each second that the three time bytes and the three alarm bytes (including a "don't care" alarm code of binary 11xxxxxx). When the AIE bit is a "0", the AF bit does not initiate an IRQ signal. The RESETJ pin clears AIE to "0". The internal functions do not affect the AIE bit. Page 74 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Register 0Ch Register 0Dh Index register port : 70H Index register port : 70H Data register port : 71H Data register port : 71H Index : 0CH Index : 0DH (Read only) (Read only) 7 IRQF 6 PF 5 AF 4 UF 3 0 2 0 1 0 0 0 7 VRT 6 0 5 0 4 0 3 0 2 0 1 0 0 0 Bits 3-0. The unused bits of Status Register C are read as 0's and cannot be written. Bits 6-0. The remaining bits of Register D are unused. They cannot be written, but are always read as 0's. Bit 4. The update-ended interrupt flag (UF) bit is set after each update cycle. When the UIE bit is a "1", the "1" in UF causes the IRQF bit to be a "1", asserting IRQ, UF is cleared by a Register C read or a RESETJ. Bit 7. The valid RAM and time (VRT) bit indicates the condition of the contents of the RAM, provided the VBAT is satisfactorily connected. A "0" appears in the VRT bit when the VBAT is low. The processor program can set the VRT bit when the time and calendar are initialized to indicate that the RAM and time are valid. The VRT is a read only bit which is not modified by the RESETJ pin. The VRT bit can only be set by reading Register D. Bit 5. A "1" in the AF (alarm interrupt flag) bit indicates that the current time has matched the alarm time. A "1" in the AF causes the IRQ pin to go low, and a "1" to appear in the IRQF bit, when the AIE bit also is a "1". A reset or a read of Register C clears AF. Bit 6. The periodic interrupt flag (PF) is a read-only bit which is set to a "1" when a particular edge is detected on the selected tap of the divider chain. The RS3 to RS0 bits establish the periodic rate. PF is set to a "1" independent of the state of the PIE bit. PF being a "1" initiates and IRQ signal and sets the IRQF bit when PIE is also a "1". The PF bit is cleared by a /RESET/ or a software read of Register C. Bit 7. The interrupt request flag (IRQF) is set to a "1" when one or more of the following are true : PF = PIE = "1" AF = AID = "1" UF = AIE = "1" Any time the IRQF bit is a "1", the IRQ pin is driven low. All flag bits are cleared after Register C is read by the program when the RESET pin is low. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 75 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Section 7 : BIOS 7.1 BIOS BUFFER The M512x contains one 245 type buffer that can be used for a BIOS Buffer. If the BIOS buffer is not used, then ROMCSJ and ROMOEJ must be tied high so as not to interfere with the boot ROM. This function allows data transmission from the RD bus to the SD bus or from the SD bus to the RD bus. The direction of the transfer is controlled by ROMOEJ. The enable input, ROMCSJ, can be used to disable the transfer and isolate the buses. ROMCSJ L L H ROMOEJ L H X RD [0:7] data to SD [0:7] bus SD [0:7] data to RD [0:7] Isolation SD[7:0] ROMCSJ M5123 BIOS ROMOEJ Page 76 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Section 8 : Parallel Port 8.1 Parallel Port Interface The M512x incorporates one IBM XT/AT compatible parallel port. The M512x supports the optional PS/2 type bidirectional parallel port (SPP), the Enhanced Parallel Port (EPP) and the Extended Capabilities Port (ECP) parallel port modes. Please refer to the Configuration Description (Section 3) for information on disabling, power down, changing the base address of the parallel port, and selecting the mode of operation. The M512x also incorporates a protective circuitry, which prevents possible damage to the parallel port due to printer power-up. The functionality of the Parallel Port is achieved through the use of eight addressable ports with their associated registers Table 8-1 Bit Mapped Registers Data Port D0 D1 PD0 PD1 Status TMOUT 0 Port Control STROBE AUTOFD Port EPP ADDR PD0 PD1 Port EPP DATA PD0 PD1 Port 0 EPP DATA PD0 PD1 Port 1 EPP DATA PD0 PD1 Port 2 EPP DATA PD0 PD1 Port 3 and control gating. The control and data port are read/write by the CPU, the status port is read/write in the EPP mode. The address map of the Parallel Port is shown below: DATA PORT STATUS PORT CONTROL PORT EPP ADDR PORT EPP DATA PORT 0 EPP DATA PORT 1 EPP DATA PORT 2 EPP DATA PORT 3 BASE ADDRESS BASE ADDRESS BASE ADDRESS BASE ADDRESS BASE ADDRESS BASE ADDRESS BASE ADDRESS BASE ADDRESS + + + + + + + + 00H 01H 02H 03H 04H 05H 06H 07H The bit map of these registers : D2 PD2 OSLC D3 PD3 ERRJ D4 PD4 SLCT D5 PD5 PE D6 PD6 ACKJ D7 PD7 BUSYJ Note 1 1 INITJ SLC IRQE PCD 0 0 1 PD2 PD3 PD4 PD5 PD6 PD7 2, 3 PD2 DP3 PD4 PD5 PD6 PD7 2, 3 PD2 PD3 PD4 PD5 PD6 PD7 2, 3 PD2 PD3 PD4 PD5 PD6 PD7 2, 3 PD2 PD3 PD4 PD5 PD6 PD7 2, 3 Note 1: These registers are available in all modes. 2: These registers are only available in EPP mode. 3: For EPP mode, IOCHRDY must be connected to the ISA bus. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 77 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Table 8-2 Parallel Port Connector HOST Connector 1 2-9 10 11 12 Pin No. STANDARD EPP ECP 77 71-68, 66-63 62 61 60 StrobeJ PData <0:7> AckJ Busy PE WriteJ PData<0:7> Intr WaitJ (NU) 13 14 59 76 Select AutofdJ (NU) DSTRBJ 15 75 ErrorJ (NU) 16 74 InitJ (NU) 17 73 SelectinJ AstrbJ StrobeJ PData<0:7> Ack Busy,PeriphAck(3) PError, nAckReverse(3) Select AutoFd, HostAck(3) Fault(1) PeriphRequest(3) Init(1) ReverseRqst(3) Selectin(1,3) (1) = compatible Mode (3) = High Speed Mode Note : For the cable interconnection required for ECP support and the Slave Connector pin numbers, please refer to the IEEE 1284 Extended Capabilities Port Protocol and ISA Standard, Rev. 1.09, Jan. 7, 1993. This document is available from Microsoft. 8.2 IBM XT/AT Compatible, Bi-Directional and EPP Modes DATA PORT Address Offset = 00H The Data Port is located at an offset of '00H' from the base address. The data register is cleared at initialization by RESET. During a WRITE operation, the Data Register latches the contents of the data bus with the rising edge of the IOWJ input. The contents of this register are buffered (non inverting) and output onto the PD0 -PD7 ports. During a READ operation in SPP mode, PD0 - PD7 ports are buffered (not latched) and output to the host CPU. STATUS PORT Address Offset = 01H The Status Port is located at an offset of '01H' from the base address. The contents of this register are latched for the duration of an IORJ read cycle. The bits of the Status Port are defined as follows: BIT 0 TMOUT - TIME OUT This bit is valid in EPP mode only and indicates that a 10 µsec time out has occurred on the EPP bus. A logic 0 means that no time out error has occured; a logic 1 means that a time out error has been detected. This bit is cleared by a RESET. Writing a one to this bit clears the time out status bit. On a write, this bit is self clearing and does not require a write of a zero. Writing a zero to this bit has no effect. Page 78 BITS 1, 2 - are not implemented as register bits. During a read of the Printer Status Register, these bits are at low level. BIT 3 ERRJ - ERRORJ The level on the ERRORJ input is read by the CPU as bit 3 of the Printer Status Register. A logic 0 means an error has been detected; a logic 1 means no error has been detected. BIT 4 SLCT - PRINTER SELECTED STATUS The level on the SLCT input is read by the CPU as bit 4 of the Printer Status Register. A logic 1 means the printer is on line; a logic 0 means it is not selected. BIT 5 PE - PAPER END The level on the PE input is read by the CPU as bit 5 of the Printer Status Register. A logic 1 indicates a paper end; a logic 0 indicates the presence of paper. BIT 6 ACKJ - ACKNOWLEDGEJ The level on the ACKJ input is read by the CPU as bit 6 of the Printer Status Register. A logic 0 means that the Printer has received a character and can now accept another. A logic 1 means that it is still processing the last character or has not received the data. BIT 7 BUSYJ - BUSYJ The complement of the level on the BUSY input is read by the CPU as bit 7 of the Printer Status Register. A logic 0 in this bit means that the printer is busy and cannot accept a new character. A logic 1 means that it is ready to accept the next character. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP CONTROL PORT Address Offset = 02H The Control Port is located at an offset of ‘ 02H’ from the base address. The Control Register is initialized by the RESET input, bits 0 to 5 only being affected; bits 6 and 7 are hard wired low. BIT 0 STROBE - STROBE This bit is inverted and output onto the STROBEJ output. BIT 1 AUTOFD - AUTOFEED This bit is inverted and output onto the AUTOFDJ output. A logic 1 causes the printer to generate a line feed after each line is printed. A logic 0 means no autofeed. BIT 2 INITJ - INITIATE OUTPUTJ This bit is output onto the INITJ output without inversion. BIT 3 SLCTIN - PRINTER SELECT INPUT This bit is inverted and output onto the SLCTINJ output. A logic 1 on this bit selects the printer; a logic 0 means the printer is not selected. BIT 4 IRQE - INTERRUPT REQUEST ENABLE The interrupt request enable bit when set to a high level may be used to enalbe interrupt requests from the Parallel Port to the CPU. An interrupt request is generated on the IRQ port by a positive going ACKJ input. When the IRQE bit is programmed low the IRQ is disabled. BIT 5 PCD - PARALLEL CONTROL DIRECTION Parallel Control Direction is valid in extended mode only (CRC<7> = 0). In printer mode, the direction is always out regardless of the state of this bit. In bi-directional mode, a logic 0 means that the printer port is in output mode (write); a logic 1 means that the printer port is in input mode (read). EPP DATA PORT 0 Address Offset = 04H The EPP Data Port 0 is located at an offset of ‘ 04H’ from the base address. The data register is cleared at initialization by RESET. During a WRITE operation, the contents of DB0-DB7 are buffered (non-inverting) and output onto the PD0 - PD7 ports, the leading edge of IOWJ causes an EPP DATA WRITE cycle to be performed, the trailing edge of IOW latches the data for the duration of the EPP write cycle. During a READ operation, PD0- PD7 ports are read, the leading edge of IOR causes an EPP READ cycle to be performed and the data output to the host CPU, the deassertion of DATASTB latches the Pdata for the duration of the IOR cycle. This register is only available in EPP mode. To maintain compatibility with Intel’ s 82360SL device that has 32-bit Host bus interface, four consecutive byte address locations (data port 0~4) are provided for transferring data. EPP DATA PORT 1 Address Offset = 05H The EPP Data Port 1 is located at an offset of ‘ 05H’ from the base address. Please refer to EPP DATA PORT 0 for a description of operation. This register is only available in EPP mode. EPP DATA PORT 2 Address Offset = 06H The EPP Data Port 2 is located at an offset of ‘ 06H’ from the base address. Please refer to EPP DATA PORT 0 for a description of operation. This register is only available in EPP mode. EPP DATA PORT 3 Address Offset = 07H Bits 6 and 7 during a read are a low level, and cannot be written. The EPP Data Port 3 is located at an offset of ‘ 07H’ from the base address. Please refer to EPP DATA PORT 0 for a description of operation. This register is only available in EPP mode. EPP ADDRESS PORT EPP Operation Address Offset = 03H The EPP Address Port is located at an offset of ‘ 03H’ from the base address. The address register is cleared at initialization by RESET. During a WRITE operation, the contents of DB0-DB7 are buffered (non inverting) and output onto the PDO - PD7 ports, the leading edge of IOWJ causes an EPP Address WRITE cycle to be performed, the trailing edge of IOW latches the data for the duration of the EPP Write cycle. During a READ operation, PDO -PD7 ports are read, the leading edge of IOR causes an EPP ADDRESS READ cycle to be performed and the data output to the host CPU, the deassertion of ADDRSTB latches the Pdata for the duration of the IOR cycle. This register is only available in EPP mode. When the EPP mode is selected in the configuration register, the standard and bi-directional modes are also available. If no EPP Read, Write or Address cycle is currently executing, then the PDx bus is in the standard or bi-directional mode, and all output signals (STROBE, AUTOFD, INIT) are as set by the SPP Control Port and direction is controlled by PCD of the Control port. In EPP mode, the system timing is closely coupled to the EPP timing. For this reason, a watchdog timer is required to prevent system lockup. The timer indicates if more than 10 usec have elapsed from the start of the EPP cycle (IORJ or IOWJ asserted) WAITJ will be deasserted. If a time-out occurs, the current EPP cycle is aborted and the time-out condition is indicated in Status bit 0. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 79 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP EPP mode version 1.7 Timing SD7-0 IOWJ IORJ WRITEJ (STROBJ) DSTRBJ(AUTO FDJ/SLCTINJ)/ ASTRBJ PD7-0 WAITJ(BUSY) IOCHRDY The timing for a Write/Read EPP 1.7 operation is shown in timing diagram above The sequence of operation is : EPP 1.7 Data/Address Write 1. The host writes a byte to Data (Address) port. IOWJ goes low to drive data to PD7-0. 2. The EPP pulls WRITEJ low to indicate it’ s a write cycle. 3. The EPP pulls DSTRBJ (ASTRBJ) low to signal that data is valid. 4. If WAITJ goes low during the cycle, IOCHRDY is pulled low. 5. When WAITJ goes high, the EPP pulls IOCHRDY high and then IOWJ will go high 6. When IOWJ goes high, it pulls WRITEJ & DSTRBJ(ASTRBJ) high, and then the EPP can change PD7-0 Page 80 EPP 1.7 Data/Address Read 1. The host reads a byte from Data (Address) port. IORJ goes low to input data from PD7-0. 2. The EPP keeps WRITEJ high to indicate it’ s a read cycle. 3. The EPP pulls DSTRBJ (ASTRBJ) low to indicate that peripheral have to start sending data. 4. If WAITJ is low during the cycle, IOCHRDY is pulled low. 5. When WAITJ goes high, the EPP pulls IOCHRDY high and then IORJ will go high 6. When IORJ goes high, it pulls WRITEJ & DSTRBJ(ASTRBJ) high, and then the peripheral can tristate PD7-0 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP EPP mode version 1.9 Timing SD7-0 IOWJ IORJ WRITEJ (STROBJ) DSTRBJ(AUTO FDJ/SLCTINJ)/ ASTRBJ PD7-0 WAITJ(BUSY) IOCHRDY EPP WRITE CYCLE EPP READ CYCLE The timing for a Write/Read EPP 1.9 operation is shown in timing diagram above The sequence of Write/Read operation is : EPP 1.9 Data/Address Write 1. The host writes a byte to Data (Address) port. IOWJ goes low to drive data to PD7-0. 2. IOCHRDY goes low and waits for WAITJ to go low. 3. If WAITJ goes low or already low, the EPP pulls or keeps WRITEJ low to show being a write cycle. 4. The EPP pulls DSTRBJ (ASTRBJ) low to indicate that data is ready and waits for WAITJ to go high. 5. When WAITJ goes high, it pulls IOCHRDY and DSTRBJ (ASTRBJ) high, and then IOWJ will go high to turn off this cycle. EPP 1.9 Data/Address Read 1. The host reads a byte from Data (Address) port. IORJ goes low to input data from PD7-0. 2. IOCHRDY goes low and waits for WAITJ to go low. 3. If WAITJ goes low or was already low, the EPP pulls or keeps WRITEJ high to indicate being a read cycle. 4. The EPP pulls DSTRBJ (ASTRBJ) low to signal the peripheral to start sending data and waits for WAITJ to go high. 5. When WAITJ goes high, it pulls IOCHRDY and DSTRBJ (ASTRBJ) high, and then IORJ will go high to turn off this cycle. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 81 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Table 8-3 - EPP Pin Descriptions EPP SIGNAL WRITEJ PD<0:7> INTR EPP NAME WriteJ Address/ Data Interrupt WAIT WaitJ I DATASTB DATA StrobeJ ResetJ O Address StrobeJ Paper End Printer Select Status Error Parallel Port Direction O RESET ADDRSTB PE SLCT ERRJ PDIR EPP DESCRIPTION TYPE O I/O I This signal is active low. It denotes a write operation. Bi-directional EPP byte wide address and data bus. I This signal is active high and positive edge triggered. (Pass through with no inversion, Same as SPP.) This signal is active low. It is driven inactive as a positive acknowledgement from the device that the transfer of data is completed. It is driven active as an indication that the device is ready for the next transfer. This signal is active low. It is used to denote data read or write operation. This signal is active low. When driven active, the EPP device is reset to its initial operational mode. This signal is active low. It is used to denote address read or write operation. Same as SPP mode. I Same as SPP mode. I O Same as SPP mode. This output shows the direction of the data transfer on the parallel port bus. A low means an output /write condition and a high means an input/read condition. This signal is normally a low (output/write) uniess PCD of the control register is set or if an EPP read cycle is in progress. O Note 1: SPP and EPP can use 1 common register. Note 2: WriteJ is the only EPP output that can be over-ridden by SPP control port during an EPP cycle. For correct EPP read cycles, PCD is required to be a low. Extended Capabilities Parallel Port These terms may be considered synonymous: ECP provides a number of advantages, some of which are listed below. • • • • • • • • • • • • • • • • • High performance half-duplex forward and reverse channel Interlocked handshake, for fast reliable transfer Optional single byte RLE compression for improved throughput (64:1) Channel addressing for low-cost peripherals Maintains link and data layer separation Permits the use of active output drivers Permits the use of adaptive signal timing Peer-to-peer capability PWord A port word; equal in size to the width of the ISA interface. For this implementation, PWord is always 8 bits. 1 A high level. 0 A low level. Page 82 PeriphClk, AckJ HostAck, AutoFdJ PeriphAck, Busy PeriphRequestJ, FaultJ ReverseRequestJ, InitJ AckReverseJ, PError Xflag, Select ECPMode, SelectinJ HostClk, StrobeJ Vocabulary The following terms are used in this document: assert When a signal asserts it transitions to a "true" state, when a signal deasserts it transitions to a "false" state. forward Host to Peripheral communication. reverse Peripheral to Hose communication. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Reference Document IEEE 1284 Extended Capabilities Port Protocol and ISA Interface Standard, Rev 1.09, Jan 7, 1993. This document is available from Microsoft. The bit map of the Extended Parallel Port registers is : data ecpAFifo dsr dcr cFifo ecpDFifo tFifo cnfgA cnfgB ecr D7 PD7 Addr/ RLE BusyJ 0 D6 PD6 D5 PD5 AckJ 0 PError Direction 0 compress MODE 0 intrValue 0 0 D4 PD4 D3 D2 PD3 PD2 Address or RLE field Select FaultJ 0 acklntEn Selectin InitJ Parallel Port Data FIFO ECP Data FIFO Test FIFO 1 0 0 0 0 0 ErrintrEn DmaEn Service J Intr D1 PD1 D0 PD0 0 autofd 0 strobe 0 0 full 0 0 empty Note 2 1 1 2 2 2 Note 1: These registers are available in all modes. Note 2: All FIFOs use one common 16 byte FIFO. ISA IMPLEMENTATION STANDARD This specification describes the standard ISA interface to the Extended Capabilities Port (ECP). All ISA devices supporting ECP must meet the requirements contained in this section or the port will not be supported by Microsoft. For a description of the ECP Protocol, please refer to the IEEE 1284 Extended Capabilities Port Protocol and ISA Interface Standard, Rev. 1.09, Jan. 7, 1993. This document is available from Microsoft. Description The port is software and hardware compatible with existing parallel ports so that it may be used as a standard LPT port if ECP is not required. The port is designed to be simple and requires a small number of gates to implement. It does not do any "protocol" negotiation, rather it provides an automatic high burst-bandwidth channel that supports DMA for ECP in both the forward and reverse directions. Small FIFOs are employed in both forward and reverse directions to smooth data flow and improve the maximum bandwidth requirement. The size of the FIFO is 16 bytes deep. The port supports an automatic handshake for the standard parallel port to improve compatibility mode transfer speed. The port also supports run length encoded (RLE) decompression (required) in hardware. Decompression is accomplished by counting identical bytes and transmitting an RLE byte that indicates how many times the next byte is to be repeated. Decompression simply intercepts the RLE byte and repeats the following byte the specified number of times. Hardware support for compression is optional. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 83 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Table 8-4 ECP Pin Descriptions Name StrobeJ Type O PData 7:0 AckJ I/O I PeriphAck (Busy) I PError (Ack ReverseJ) I Select AutoFdJ (HostAck) I O FaultJ (Periph RequestJ) I InitJ O SelectlnJ O Description During write operations StrobeJ registers data or address into the slave on the asserting edge (handshakes with Busy). Contains address or data or RLE data. Indicates valid data driven by the peripheral when asserted. This signal handshakes with AutoFdJ in reverse. This signal deasserts to indicate that the peripheral can accept data. This signal handshakes with StrobeJ in the forward direction. In the reverse direction this signal indicates whether the data lines contain ECP command information or data. The peripheral uses this signal to flow control in the forward direction. It is an "interlocked" handshake with StrobeJ. PeriphAck also provides command information in the reverse direction. Used to acknowledge a change in the direction of the transfer (asserted= forward). The peripheral drives this signal low to acknowledge ReverseRequestJ. It is an "interlocked" handshake with ReverseRequestJ. The host relies upon AckReverseJ to determine when it is permitted to drive the data bus. Indicates printer on line. Requests a byte of data from the peripheral when asserted, handshaking with AckJ in the reverse direction. This signal indicates whether the data lines contain ECP address or data, the host drives this signal to flow control in the reverse direction. It is an "interlocked" handshake with AckJ. HostAck also provides command information in the forward phase. Generates an error interrupt when asserted. This signal provides a mechanism or peer-to-peer communication. This signal is valid only in the forward direction. During ECP mode, the peripheral is permitted (but not required) to level this pin to request a reverse transfer. The request is merely a "hint" to the host; the host has ultimate control over the transfer direction. This signal would be typically used to generate an interrupt to the host CPU. Sets the transfer direction (asserted = reverse, deasserted = forward). This pin is driven low to place the channel in the reverse direction. The peripheral is only allowed to drive the bidirectional data bus while in ECP Mode and HostAck is low and SelectlnJ is high. Always deasserted in ECP mode. Register Definitions The register definitions are based on the standard IBM addresses for LPT. All of the standard printer ports are supported. The additional registers attach to an upper bit decode of the standard LPT port definition to avoid conflict with standard ISA devices. The port is equivalent to a generic parallel port interface and may be operated in that mode. The port registers vary depending on the mode field in the ECR. The table below lists these dependencies. Operation of the devices in modes other than those specified is undefined. Table 8-5 NAME data ecpAFifo dsr dcr cFifo ecpDFifo tFifo cnfgA cnfgB ecr ECP Register Definitions ADDRESS (Note 1) +000h R/W +000h R/W +001h R/W +002h R/W +400h R/W +400h R/W +400h R/W +400h R +401h R/W +402h R/W ECP MODES 000-001 011 All All 010 011 110 111 111 All FUNCTION Data Register ECP FIFO (Address) Status Register Control Register Parallel Port Data FIFO ECP FIFO (DATA) Test FIFO Configuration Register A Configuration Register B Extended Control Register Note 1: These addresses are added to the parallel port base address as selected by configuration register or jumpers. Note 2: All addresses are qualified with AEN. Refer to the AEN pin definition. Page 84 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Table 8-6 Mode 000 001 010 011 100 Mode Descriptions Description* SPP mode PS/2 Parallel Port mode Parallel Port Data FIFO mode ECP Parallel Port mode EPP mode (If this option is enabled in the configuration registers) 101 (Reserved) 110 Test mode 111 Configuration mode * Refer to ECR Register Description DATA and ECPAFIFO PORT Address Offset = 00H Modes 000 and 001 (Data Port) The Data Port is located at an offset of '00H' from the base address. The data register is cleared at initialization by RESET. During a WRITE operation, the Data Register latches the contents of the data bus on the rising edge of the IOWJ input. The contents of this register are buffered (non inverting) and output onto the PD0 - PD7 ports. During a READ operation, PD0 - PD7 ports are read and output to the host CPU. Mode 011 (ECP FIFO- Address/RLE) A data byte written to this address is placed in the FIFO and tagged as an ECP Address/RLE. The hardware at the ECP port transmits this byte to the peripheral automatically. The operation of this register is only defined for the forward direction (direction is 0). Refer to the ECP Parallel Port Forward Timing Diagram, located in the Timing Diagrams section of this data sheet. Device Status Register (DSR) Address Offset = 01H The Status Port is located at an offset of '01H' from the base address. Bits 0 - 2 are not implemented as register bits, during a read of the Printer Status Register these bits are a low level. The bits of the Status port are defined as follows: BIT 3 FaultJ The level on the Fault input is read by the CPU as bit 3 of the Device Status Register. BIT 4 Select The level on the Select input is read by the CPU as bit 4 of the Device Status Register. BIT 5 PError The level on the PError input is read by the CPU as bit 5 of the Device Status Register. Printer Status Register. BIT 6 AckJ The level on the AckJ input is read by the CPU as bit 6 of the Device Status Register. BIT 7 BusyJ The complement of the level on the BUSY input is read by the CPU as bit 7 of the Device Status Register. Device Control Register (DCR) Address Offset = 02H The Control Register is located at an offset of '02H' from the base address. The Control Register is initialized to zero by the RESET input, bits 0 to 5 being affected; bits 6-7 are read as 0. BIT 0 STROBE - STROBE This bit is inverted and output onto the STROBEJ output. BIT 1 AUTOFD - AUTOFEED This bit is inverted and output onto the AUTOFDJ output. A logic 1 causes the printer to generate a line feed after each line is printed. A logic 0 means no autofeed. BIT 2 INITJ - INITIATE OUTPUT This bit is output onto the INITJ output without inversion. BIT 3 SELECTIN This bit is inverted and output onto the SLCTINJ output. A logic 1 on this bit selects the printer; a logic 0 means the printer is not selected. BIT 4 acklntEn - INTERRUPT REQUEST ENABLE The interrupt request enable bit when set to a high level may be used to enable interrupt requests from the Parallel Port to the CPU due to a low to high transition on the ACKJ input. Refer to the description of the interrupt under Operation, Interrupts. BIT 5 DIRECTION If mode = 000 or mode = 010, this bit has no effect and the direction is always out regardless of the state of this bit. In all other modes, direction is valid and a logic 0 means that the printer port is in output mode (write); a logic 1 means that the printer port is in input mode (read). Bits 6 and 7 during a read are a low level, and cannot be written. CFIFO (Parallel Port Data FIFO) Address Offset = 400h Mode = 010 Bytes written or DMAed from the system to this FIFO are transmitted by a hardware handshake to the peripheral using the standard parallel port protocol. Transfers to the FIFO are byte aligned. This mode is only defined for the forward direction. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 85 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP ECPDFIFO (ECP Data FIFO) Address Offset = 400h CNFGA (Configuration Register A) Address Offset = 400H Mode = 011 Bytes written or DMAed from the system to this FIFO, when the direction bit is 0, are transmitted by a hardware handshake to the peripheral using the ECP parallel port protocol. Transfers to the FIFO are byte aligned. Mode = 111 This register is a read only register. When read, 10H is returned. This indicates to the system that this is an 8-bit implementation. (Pword = 1 byte) Data bytes from the peripheral are read under automatic hardware handshake from ECP into this FIFO when the direction bit is 1. Reads or DMAs from the FIFO will return bytes of ECP data to the system. CNFGB (Configuration Register B) Address Offset = 401H TFIFO (Test FIFO Mode) Address Offset =400H Mode = 110 Data bytes may be read, written or DMAed to or from the system to this FIFO in any direction. Data in the tFIFO will not be transmitted to the parallel port lines using a hardware protocol handshake. However, data in the tFIFO may be displayed on the parallel port data lines. The tFIFO will not stall when overwritten or underrun. If an attempt is made to write data to a full tFIFO, the new data is not accepted into the tFIFO. If an attempt is made to read data from an empty tFIFO, the last data byte is re-read again. The full and empty bits must always keep track of the correct FIFO state. The tFIFO will transfer data at the maximum ISA rate so that software may generate performance metrics. The FIFO size and interrupt threshold can be determined by writing bytes to the FIFO and checking the full and servicelntr bits. Mode = 111 BIT 7 compress This bit is read only. During a read, it is a low level. This means that this chip does not support hardware RLE compression. It does support hardware de-compression. BIT 6 IntrValue Returns the value on the ISA IRQ line to determine possible conflicts. BITS 5~0 : The ECP Parallel port Configuration register B must reflect the IRQ and DRQ selected by the Configuration registers IRQ selected 14 13 11 10 9 7 5 Others Config.Reg. B Bits 5: 3 110 101 100 011 010 001 111 000 DMA selected 3 2 1 Others Config.Reg. B Bits 5: 3 011 010 001 000 The writelntr Threshold can be determined by starting with a full tFIFO, setting the direction bit to 0 and emptying it a byte at a time until servicelntr is set. This may generate a spurious interrupt, but will indicate that the threshold has been reached. ECR (Extended Control Register) Address Offset = 402H The readlntr Threshold can be determined by setting the direction bit to 1 and filling the empty tFIFO a byte at a time until servicelntr is set. This may generate a spurious interrupt, but will indicate that the threshold has been reached. BITS 7, 6, 5 These bits are Read/Write and select the Mode. Data bytes are always read from the head of tFIFO regardless of the value of the direction bit. For example if 44h, 33h, 22h is written to the FIFO, then reading the tFIFO will return 44h, 33h, 22h in the same order as was written. Mode = all This register controls the extended ECP parallel port functions. BIT 4 ErrlntrEnJ Read/Write (Valid only in ECP Mode) 1: Disables the interrupt generated on the asserting edge of FaultJ. 0: Enables an interrupt pulse on the high to low edge of FaultJ. Note that an interrupt will be generated if Fault is asserted (interrupting) and this bit is written from a 1 to a 0. This prevents interrupts from being lost in the time between the read of the ecr and the write of the ecr. BIT 3 dmaEn Read/Write Page 86 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 1: Enables DMA (DMA starts when servicelntr is 0). 0: Disable DMA unconditionally. BIT 2 servicelntr Read/Write 1: Disable DMA and all of the service interrupts. 0: Enables one of the following 3 cases of interrupts. Once one of the 3 service interrupts has occurred, servicelntr bit shall be set to a 1 by hardware, it must be reset to 0 to reenable the interrupts. Writing this bit to a 1 will not cause an interrupt. case dmaEn = 1: During DMA (this bit is set to a 1 when terminal count is reached). case dmaEn = 0 direction = 0: This bit shall be set to 1 whenever there are writelntr Threshold or more bytes free in the FIFO. case dmaEn = 0 direction = 1: This bit shall be set to 1 whenever there are readlntr Threshold or more valid bytes to be read from the FIFO. BIT 1 full Read only 1: The FIFO cannot accept another byte or the FIFO is completely full. 0: The FIFO has at least 1 free byte. BIT 0 empty Read only 1: The FIFO is completely empty. 0: The FIFO contains at least 1 byte of data. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 87 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP OPERATION Table 8-7 - Extended Control Register R/W 000 001 010 011 100 101 110 111 Mode Standard Parallel Port mode. In this mode, the FIFO is reset and common collector drivers are used on the control lines (StrobeJ, AutoFdJ, InitJ and SelectlnJ). Setting the direction bit will not tri-state the output drivers in this mode. PS/2 Parallel Port mode. Same as above except that direction may be used to tri-state the data lines and reading the data register returns the value on the data lines and not the value in the data register. All drivers have active pull-ups (push-pull). Parallel Port FIFO mode. This is the same as 000 except that bytes are written or DMAed to the FIFO. FIFO data is automatically transmitted using the standard parallel port protocol. Note that this mode is only useful when direction is 0. All drivers have active pull-ups (push-pull). ECP Parallel Port Mode. In the forward direction(0), bytes placed into the ecpDFifo and bytes written to the ecpAFifo are placed in a single FIFO and transmitted automatically to the peripheral using ECP Protocol. In the reverse direction (1), bytes are moved from the ECP parallel port and packed into bytes in the ecpDFifo. All drivers have active pull-ups (push-pull). Selects EPP Mode: In this mode, EPP is selected if the EPP supported option is selected in configuration register CR4. All drivers have active pull-ups (push-pull) Reserved Test Mode. In this mode, the FIFO may be written and read, but the data will not be transmitted on the parallel port. All drivers have active pull-ups (push-pull). Configuration Mode. In this mode the confgA, confgB registers are accessible at 0x400 and 0x401. All drivers have active pull-ups (pushpull). Mode Switching/Software Control Software will execute P1284 negotiation and all operation prior to a data transfer phase under programmed I/O control (mode 000 or 001) hardware provides an automatic control line handshake, moving data between the FIFO and the ECP port only in the data transfer phase (modes 011 or 010). Setting the mode to 011 or 010 will cause the hardware to initiate data transfer. If the port is in mode 000 or 001, it may switch to any other mode. If the port is not in mode 000 or 001, it can only be switched to mode 000 or 001. The direction can only be changed in mode 001. Once in an extended forward mode the software should wait for the FIFO to be empty before switching back to mode 000 or 001. In this case all control signals will be deasserted before the mode switch. In an ecp reverse mode, the software waits for all the data to be read from the FIFO before changing back to mode 000 or 001. Since the automatic hardware ecp reverse handshake only cares about the state of the FIFO, it may have acquired loose data that will be eliminated. It may in fact be in the middle of a transfer when the mode is changed back to 000 or 001. In this case the port will deassert AutoFdJ independent of the state of the transfer. The design shall not cause glitches on the handshake signals if the software meets the constraints above. ECP Operation Prior to ECP operation the Host must negotiate on the parallel port to determine if the peripheral supports the ECP protocol. This is a somewhat complex negotiation carried out under program control in mode 000. After negotiation, it is necessary to initialize some of the port bits. The following are required: . Set Direction = 0, enabling the drivers. . Set strobe = 0, causing the StrobeJ signal to default to the deasserted state. . Set autoFd = 0, causing the AutoFdJ signal to default to the deasserted state. . Set mode = 011 (ECP Mode) ECP address/RLE bytes or data bytes may be sent automatically by writing the ECPAFIFO or ECPDFIFO respectively. Note that all FIFO data transfers are byte wide and byte aligned. Address/RLE transfers are byte-wide and only allowed in the forward direction. Page 88 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Data Compression The host may switch directions by first switching to mode = 001, negotiating for the forward or reverse channel, setting direction to 1 or 0, then setting mode = 011. When direction is 1 the hardware shall handshake for each ECP read data byte and attempt to fill the FIFO. Bytes may then be read from the ecpDFifo as long as it is not empty. ECP transfers may also be accomplished (albeit slowly) by handshaking individual bytes under program control in mode = 001, or 000. Termination from ECP Mode Termination from ECP Mode is similar to the termination from Nibble/Byte Modes. The host is permitted to terminate from ECP Mode only in specific well-defined states. The termination can only be executed while the bus is in the forward direction. To terminate while the channel is in the reverse direction, it must first be changed into the forward direction. The M512x supports run length encoded (RLE) decompression in hardware and can transfer compressed data to a peripheral. Run length encoded (RLE) compression in hardware is not supported. To transfer compressed data in ECP mode, the compression count is written to the ecpAFifo and the data byte is written to the ecpDFifo. Compression is accomplished by counting identical bytes and transmitting an RLE byte that indicates how many times the next byte is to be repeated. Decompression simply intercepts the RLE byte and repeats the following byte the specified number of times. When a run-length count is received from a peripheral, the subsequent data byte is replicated the specified number of times. a run-length count of zero specifies that only one byte of data is represented by the next data byte, whereas a run-length count of 127 indicates that the next byte should be expanded to 128 bytes. To prevent data expansion, however, run-length counts of zero should be avoided. Pin Definition Command/Data ECP Mode supports two advanced features to improve the effectiveness of the protocol for some applications. The features are implemented by allowing the transfer of normal 8-bit data or 8-bit commands. When in the forward direction, normal data is transferred when HostAck is high and an 8-bit command is transferred when HostAck is low. The most significant bit of the command indicates whether it is a run-length count (for compression) or a channel address. When in the reverse direction, normal data is transferred when PeriphAck is high and an 8-bit command is transferred when PeriphAck is low. The most significant bit of the command is always zero. Reverse channel addresses are seldom used and may not be supported in hardware. Table 8-8 Forward Channel Commands (HostAck Low) Reverse Channel Commands (PeripAck Low) D7 D[6:0] 0 Run-Length Count (0-127) (mode 0011 0x00 only) 1 Channel Address (0-127) The drivers for StrobeJ, AutoFdJ, InitJ and SelectlnJ are open-collector in mode 000 and are push-pull in all other modes. ISA Connections The interface can never stall causing the host to hang. The width of data transfers if strictly controlled on an I/O address basis per this specification. All FIFO-DMA transfers are byte wide, byte aligned and end on a byte boundary. (The PWord value can be obtained by reading Configuration Register A, cnfgA, described in the next section.) Single byte wide transfers are always possible with standard or PS/2 mode using program control of the control signals. Interrupts The interrupts are enabled by servicelntr in the ecr register. servicelntr = 1 Disables the DMA and all of interrupts. the service servicelntr = 0 Enables the selected interrupt condition. If the interrupting condition is valid, then the interrupt is generated immediately when this bit is changed from a 1 to a 0. This can occur during Programmed I/O if the number of bytes removed or added from/to the FIFO does not cross the threshold. The interrupt generated is ISA friendly in that it must pulse the interrupt line low, allowing for interrupt sharing. After a brief pulse low following the interrupt event, the interrupt line is tri-stated so that other interrupts may assert. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 89 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP An interrupt is generated when : DMA Transfers 1. For DMA transfers: When servicelntr is 0, dmaEn is 1 and the DMA TC is received. 2. For Programmed I/O: a. When servicelntr is 0, dmaEn is 0, direction is 0 and ther are writelntr Threshold or more free bytes in the FIFO. Also, an interrupt is generated when servicelntr is cleared to 0 whenever there are writelntr Threshold or more free bytes in the FIFO. b. (1) When servicelntr is 0, dmaEn is 0, direction is 1 and there are readlntr Threshold or more bytes in the FIFO. Also, an interrupt is generated when servicelntr is cleared to 0 whenever there are readlntr Threshold or more bytes in the FIFO. 3. When nErrlntrEn is 0 and nFault transitions from high to low or when nErrlntrEn is set from 1 to 0 and nFault is asserted. 4. When acklntEn is 1 and the nAck signal transitions from a low to a high. FIFO Operation The FIFO threshold is set in the chip configuration registers. All data transfers to or from the parallel port can proceed in DMA or programmed I/O (non-DMA) mode as indicated by the selected mode. The FIFO is used by selecting the Parallel Port FIFO mode or ECP Parallel Port Model. (FIFO test mode will be addressed separately.) After a reset, the FIFO is disabled. Each data byte is transferred by a Programmed I/O cycle or PDRQ depending on the selection of DMA or Programmed I/O mode. The following paragraphs detail the operation of the FIFO flow control. In these descriptions, <threshold> ranges from 1 to 16. The parameter FIFOTHR, which the user programs, is one less and ranges from 0 to 15. A low threshold value (i.e.2) results in longer periods of time between service requests, but requires faster servicing of the request for both read and write cases. The host must be very responsive to the service request. This is the desired case for use with a "fast" system. A high value of threshold (i.e. 12) is used with a "sluggish" system by affording a long latency period after a service request, but results in more frequent service requests. Page 90 DMA transfers are always to or from the ecpDFifo, tFifo or CFifo. DMA utilizes the standard PC DMA services. To use the DMA transfers, the host first sets up the direction and state as in the programmed I/O case. Then it programs the DMA controller in the host with the desired count and memory address. Lastly it sets dmaEn to 1 and servicelntr to 0. The ECP requests DMA transfers from the host by activating the PDRQ pin. The DMA will empty or fill the FIFO using the appropriate direction and mode. When the terminal count in the DMA controller is reached, an interrupt is generated and servicelntr is asserted, disabling DMA. In order to prevent possible blocking of refresh requests dReq shall not be asserted for more than 32 DMA cycles in a row. The FIFO is enabled directly by asserting PDACKJ and addresses need not be valid. PINTR is generated when a TC is received. PDRQ must not be asserted for more than 32 DMA cycles in a row. After the 32nd cycle, PDRQ must be kept unasserted until PDACKJ is deasserted for a minimum of 350 nsec. (Note: The only way to properly terminate DMA transfers is with a TC.) DMA may be disabled in the middle of a transfer by first disabling the host DMA controller. Then setting servicelntr to 1, followed by setting dmaEn to 0, and waiting for the FIFO to become empty or full. Restarting the DMA is accomplished by enabling DMA in the host, setting dmaEn to 1, followed by setting servicelntr to 0. DMA Mode - Transfers from the FIFO to the Host (Note: In the reverse mode, the peripheral may not continue to fill the FIFO if it turns out of data to transfer, even if the chip continues to request more data from the peripheral.) The ECP activates the PDRQ pin whenever there is data in the FIFO. The DMA controller must respond to the request by reading data from the FIFO. The ECP will deactivate the PDRQ pin when the FIFO becomes empty or when the TC becomes true (qualified by PDACKJ), indicating that no more data is required. PDRQ goes inactive after PDACKJ goes active for the last byte of a data transfer (or on the active edge of IORJ, on the last byte, if no edge is present on PDACKJ). If PDRQ goes inactive due to the FIFO going empty, then PDRQ is active again as soon as there is one byte in the FIFO. If PDRQ goes inactive due to the TC, then PDRQ is active again when there is one byte in the FIFO, and servicelntr has been re-enabled. (Note: A data underrun may occur if PDRQ is not removed in time to prevent an unwanted cycle.) 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Programmed I/O Mode or Non-DMA Mode The ECP or parallel port FIFOs may also be operated using interrupt driven programmed I/O. Software can determine the writelntrThreshold, readlntrThreshold, and FIFO depth by accessing the FIFO in Test Mode. Programmed I/O transfers are to the ecpDFifo at 400H and ecpAFifo at 000h or from the ecpDFifo located at 400H, or to/from the tFifo at 400H. to use the programmed I/O transfers, the host first sets up the direction and state, sets dmaEn to 0 and servicelntr to 0. The ECP requests programmed I/O transfers from the host by activating the PINTR point. The programmed I/O will empty or fill the FIFO using the appropriate direction and mode. Note: A threshold of 16 is equivalent to a threshold of 15. These two cases are treated the same. Programmed I/O - Transfers from the FIFO to the Host In the reverse direction an interrupt occurs when servicelntr is 0 and readlntr Threshold bytes are available in the FIFO. If at this time the FIFO is full it can be emptied completely in a single burst, otherwise readlntr Threshold bytes may be read from the FIFO in a single burst. Programmed I/O - Transfers from the Host to the FIFO In the forward direction, an interrupt occurs when servicelntr is 0 and there are writelntrThreshold or more bytes free in the FIFO. At this time if the FIFO is empty it can be filled with a single burst before the empty bit need to be re-read. Otherwise it may be filled with writelntrThreshold bytes. The FIFO threshold value is selected via <THR> = <CRA bit7-4> 16 data bytes FIFO, if <THR>=0 The readIntr Threshold = { <THR> data bytes FIFO, if <THR>=1 to 15 For example, if the <THR>=4, then the serviceIntr is set whenever there are 4-16 bytes in the FIFO 16 free bytes FIFO, if <THR>=0 The writeIntr Threshold = { <THR> free bytes <THR>=1 to 15 FIFO, if For example, if the <THR>=4, then the serviceIntr is set whenever there are 4-16 bytes free in the FIFO. 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 91 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Section 9 : Common I/O Ports The M512x has 22 independently programmable common I/O ports (CIO). Each CIO port is represented as a bit in one of three 8-bit registers, CIO1, CIO2 or CIO3. Only 6 bits of CIO2 are implemented. Each CIO port and its alternate function is listed in table below. CIO Port CIO10 CIO11 CIO12 CIO13 CIO14 CIO15 CIO16 CIO17 CIO20 CIO21 CIO22 CIO23 CIO24 CIO25 CIO30 CIO31 CIO32 CIO33 CIO34 CIO35 CIO36 CIO37 Alternate Function Interrupt Steering Interrupt Steering IRRX Input IRTX Output GATEA20 Output RC Reset Output I2C Interface CLK Output I2C Interface DATA I/O Register Assignment CIO1, bit 0 CIO1, bit 1 CIO1, bit 2 CIO1, bit 3 CIO1, bit 4 CIO1, bit 5 CIO1, bit 6 CIO1, bit 7 CIO2, bit 0 CIO2, bit 1 CIO2, bit 2 CIO2, bit 3 CIO2, bit 4 CIO2, bit 5 CIO3, bit 0 CIO3, bit 1 CIO3, bit 2 CIO3, bit 3 CIO3, bit 4 CIO3, bit 5 CIO3, bit 6 CIO3, bit 7 Keylock Input KBC clock source Input CS0J Output CS1J Output ALT_KCLK I/O ALT_KDAT I/O ALT_MCLK I/O ALT_MDAT I/O ALT_KBC select Input CIO registers CIO1, CIO2 and CIO3 can be accessed by the host when the chip is in the normal run mode; i.e., not in the configuration mode. The host uses an index and data register to access the CIO registers. The power on default index and data registers are 0xEA and 0xEB respectively. When the chip is in configuration mode, these index and data registers are used to access the internal configuration registers. In configuration mode, the index address may be programmed to reside on address 0xE0, 0xE2, 0xE4 or 0xEA. The data address is automatically set to the index address + 1. Upon exiting the configuration mode, the new Index and Data registers are used to access registers CIO1, CIO2 and CIO3. To access the CIO1 register the host should first make sure the chip is in the normal (run) mode. Then it should perform an IOW of 0x01 to the Index register (at 0xEX) to select CIO1 and then read or write the Data register (at Index+1) to access the CIO1 register. To access CIO2 the host should perform an IOW of 0x02 to the Index register and then access CIO2 through the Data register. To access CIO3 the host should perform an IOW of 0x03 to the Index register and then access CIO3 through the Data register. Register Index Data Address 0xE0,0xE2, 0xE4,0xEA 0xE1,0xE3, 0xE5,0xEB Normal (Run) Mode 0x01 0x02 access CIO1 to access CIO2 Config Mode 0x00-0xFF 0x03 to access CIO3 to access to registers internal Config CIO ports can assume alternate functions such as input-type, output-type or I/O type. The CIO port structure for each type is illustrated in the following figures. Page 92 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Common I/O Configuration Registers Assigned to each CIO port is an 8-bit CIO configuration register which is used to independently program each I/O port. The CIO configuration registers are only accessible when the M512x is in the configuration mode. Configuration section of this specification contains more details. Reading and Writing CIO Ports When a CIO port is programmed as an input, reading it through the CIO register latches either the inverted or non-inverted logic value present at the CIO pin; writing to it has no effect. When a CIO port is programmed as an output, the logic value written into the CIO register is either output to or inverted to the CIO pin; when read the result will reflect the contents of the CIO register bit. This is summarized in Table 9-1. Table 9-1 - CIO Read/Write Behavior CIO Input Port CIO Output Port latched value of CIO pin bit value in CIO register no effect bit placed in CIO register Host Operation Read Write GATEA20 GateA20 is an internal signal from the Keyboard controller (Port 21). The M512x may be configured to drive this signal onto CIO14 by programming its CIO configuration register. KBC RC Reset KBC RC is an internal signal from the Keyboard controller (Port 20). The M512x may be configured to drive this signal onto CIO15 by programming its CIO configuration register. The M512x provides a set of flexible Input/Output control functions to the system designer through a set of Common I/O pins (CIO). These CIO pins may perform simple I/O or may be individually configured to provide a predefined alternate function. Power on reset configures all CIO pins as simple non-inverting inputs. There are four types of CIO ports as shown in following figures : CIO configuration Register bit-1 (polarity) CIO configuration Register bit-0 (Input/Output) I/O bit D-type nIOW 0 Transparent nIOR CIO pin 1 CIO register bit-n CIO having no alternate function (CIO20-CIO24) 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 93 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Alternate Output Function I/O bit CIO configuration CIO Register bit-3 (Alt-function) configuration Register bit-1 (polarity) CIO configuration Register bit-0 (Input/Output) 1 D-type 0 nIOW 0 Transparent CIO pin 1 nIOR CIO register bit-n CIO having an output-type alternate function. (CIO13, CIO14, CIO15, CIO16, CIO31, CIO32) CIO configuration Register bit-1 (Polarity) CIO configuration Register bit-0 (Input/Output) I/O bit D-type nIOW 0 nIOR Transparent CIO pin 1 CIO register bit-n Alternate Input Function CIO configuration register bit-3 (Alt function) CIO having an input-type alternate function (CIO10, CIO11, CIO12, CIO30, CIO37, CIO25) Page 94 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP A B C Alternate I/O Function CIO configuration Register bit-1 (polarity) CIO configuration Register bit-0 I/O bit 0 1 B D-type Alt bit 3 0 nIOW 1 A Alt bit 3 0 Transparent nIOR CIO pin 1 CIO register bit-n C CIO having an I/O type alternate function (CIO17, CIO33, CIO34, CIO35, CIO36) 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 95 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Section 10 : Electrical Characteristics 10.1 Absolute Maximum Ratings Unless otherwise specified, all voltages are measured with respect to ground. Absolute maximum ratings are those values beyond which damage to the device may occur. Continuous operation at these limits is not intended and should be limited to those conditions specified under DC Electrical Characteristics. Table 10-1 Absolute Maximum Ratings Item Ratings Supply voltage VDD Operating supply voltage -0.5V to +7V 4.5V to 5.5V All input and output voltages with respect to VSS -0.5V to VCC +0.5V Storage temperature range (TSTG) -65oC to 150oC 0oC to 70oC Operating temperature (TA) Package power dissipation (PD) 750 mW 260oC Lead temperature (TL) (soldering, 10 seconds) |VCC - VCCA| 0.6V ESD tolerance (CZAP) 100 pF 10.2 DC Characteristics VDD = 5.0V ± 5%, VSS = 0V, unless otherwise specified. These values are measured under static conditions, and not under dynamic conditions. Table 10-2 Symbol VIH VIL IIN ICCA ICC DC Characteristics Parameter High level input voltage Low level input voltage Input current Average VDDA supply current Quiescent VDDA supply current in low power mode Average VDD supply current Quiescent VDD supply current in low power mode Page 96 Conditions Except OSC1/CLK Except OSC1/CLK Except OSC pins, VIN = VDD or GND VIN = 2.4V or 0.5V, I/O = 0 mA* VIN = VDD or GND, I/O = 0 mA* VDD = 5.5V; no loads on the outputs: IORJ, IOWJ, SIN, DSRJ, DCDJ, CTSJ, RIJ = 2V; All other inputs: 0.8V or 2.4V; CLK = 24 MHz; DIVISOR = EFFFh VIN = VDD or GND, I/O = 0 mA* Min 2.0 -0.5 Max VCC 0.8 Unit V V ±1.0 10 uA mA 400 uA 50 mA 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Table 10-2 DC Characteristics (continued) Symbol Parameter Oscillator Pins (OSC1/CLK) IOSC OSC1 input current Conditions Min (OSC1 = GND), VIN = VDD or GND ±1.6 mA 2.4 V OSC1 high level input voltage OSC2 = GND VIL OSC1 low level input voltage OSC2 = GND Disk Drive Interface Pins (MTR0~3, DR0~3, WDATA, WGATE, RDATA, DIR, HDSEL, TRK0, WRTPRT, RPM, STEP, DSKCHG, INDEX) VH Input hysteresis VOL Low level output voltage IOUT = 36 mA ILKG Output high leakage current VOUT = VDD or GND VIH High level input voltage VIL Low level input voltage Microprocessor and Parallel Port Pins VOL Output low voltage IOL = 24 mA on D0~D7; 16 mA on PD0~PD7; 16 mA on INITJ, AFDJ, STBJ and SLINJ; 4 mA on all other outputs VOH Output high voltage IOH = -12 mA on D0~D7; -16 mA on PD0~PD7; -16 mA on INITJ, AFDJ, STBJ and SLINJ; -4 mA on all other outputs IIL Input leakage VDD = 5.5V, VSS = 0V All other pins floating IOZ Output tri-state leakage VDD = 5.5V, VSS = 0V VOUT = 0V, 5.5V Max Unit VIH 0.4 250 typical 0.4 ±100 V mV V 0.8 uA V V 0.4 V 2.2 2.4 V ±10 uA ±20 uA * ICC is measured with a 0.1 uF supply decoupling capacitor-to-ground. 10.2.1 Capacitance TA = 25oC, VDD = VSS = 0V) Table 10-3 Symbol CIN COUT CI/O Capacitance Parameter Input capacitance Output capacitance I/O capacitance Conditions fC = 1 MHz; Unmeasured pins returned to VSS 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Typ 5 6 10 Max 7 8 12 Units pF pF pF Page 97 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP 10.3 AC Characteristics TA = 0oC to +70oC, VDD = +5V ± 5%. All AC timings can be met with current loads that do not exceed 3.2 mA or -8 uA at 100 pF capacitive loading. For capacitive loads that exceed 100 pF, the following typical derating factors should be used: 100 pF < CL ≤150 pF, t = (0.10 ns/pF) (CL - 100 pF) typical 150 pF < CL ≤ 200 pF, t = (0.08 ns/pF) (CL - 100 pF) and t = (0.5 ns/mA) (ISINK mA) or t = -(0.5 ns/mA) (ISOURCE mA) tSOURCE is always negative, ISINK ≤4.8 mA, ISOURCE ≤ -120 uA, CL ≤ 250 pF. Table 10-4 lists the AC Characteristics of the M512x. Table 10-4 Symbol tAR tAW tCH tCL tDH tDS tHZ tRA tRC tRD tTPS tRI tRVD tRW tWA tWC tWI tWO tWR RC WC AC Characteristics Parameter Delay from address to IORJ Delay from address to IOWJ Duration of clock high pulse Duration of clock low pulse Data hold time Data setup time IORJ to floating data delay Address hold time from IORJ Read cycle update IORJ strobe width Port setup Read strobe to clear IRQ6 Delay from IORJ to data Reset pulse width Address hold time from IOWJ Write cycle update Write strobe to clear IRQ6 Write to output IOWJ strobe width Read cycle = tAR + tRD + tRC Write cycle = tAW + tWR + tWC Conditions see Note A see Note A see Note B Min 19 19 16 16 10 19 13 0 36 60 13 Max 52 31 100 0 36 52 41 50 115 105 Unit ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns Note: A. External clock (24 MHz maximum). B. Charge and discharge time is determined by VOL, VOH and the external loading. Page 98 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP 10.4 AC Test Conditions In Table 10-5, CL = 100 pF. This includes jig and scope capacitance. S1 is open for push-pull outputs. S1 is equal to VCC for high impedance to active low, and active low to high impedance measurements. S1 is equal to GND for high impedance to active high, and active high to high impedance measurements. RL = 1.0 kohm for CPU interface pins. For the open drain drive interface pins S1 = VCC and RL = 150 ohms. VCC S1 0.1µ F input RL Device under test Output CL Table 10-5 AC Test Conditions Input pulse levels Input rise and fall times I/O reference levels Tri-state reference levels GND to 3.0V 6 ns 1.3V Active high - 0.5V Active low + 0.5V External Clock Input (24 MHz) tCH 2.4V 2.0V CLK 0.8V 0.4V tCL The 2.4V and 0.4V levels are the voltages tthat tthe inputs are driven to during AC testing Table 10-6 Symbol N tBHD tBLD Serial Interface Baud Generator Parameter Baud Divisor Baud output positive edge delay Baud output negative edge delay Conditions Min 1216 - 1 CLK = 24 MHz / 2, 100 pF load CLK = 24 MHz / 2, 100 pF load Max Unit 56 ns 56 ns BAUDOUTJ Timing CLK |<- N ->| ->| |<- tBLD Baudoutj ->| |<-tBHD Baudoutj/2 Baudoutj/3 ->| |<- tBLD ->| |<-tBHD ->| |<- tBLD ->| |<-tBHD Baudoutj(/n,n>3) 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 99 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP CPU Interface Read Cycle AEN A0-A9 Valid RC tRD tRC IORJ IOWJ tAR tRVD tRA D0-D7 Valid data tHZ tRI IRQ6 Write Cycle AEN A0-A9 Valid IOWJ IORJ D0-D7 WC tWR tWC tAW tWA Valid data tDS tDH tWI IRQ6 Page 100 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP DMA Timing DMA acknowledge is sufficient to acknowledge a data transfer. Read or write strobes are necessary only if data is presented to the data bus. If read/write strobes are applied, Table 10-7 Symbol tAA tAQ tQA tQR tTQ tTT Note: then the read/write strobes and the acknowledge must be removed within 1 us of each other. DMA Timing Parameter DAK pulse width End of DRQ from DAK DAK assertion from DRQ DRQ to read or write strobe Time after last DRQ that TC must be asserted TC strobe width Min 60 Max 92 8 8 Note 40 Unit ns ns ns ns ns ns The terminal count pin (TC) terminates the data transfer operation. There are several constraints placed on the timing of TC. 1) TC is enabled by DAKJ, so TC must be pulsed while DAKJ is low. 2) TC must occur before ((1/data rate x 8) - 1 us). Data rate is the exact data transfer rate being used. DRQ tAQ tAA DAKJ tQA IORJ or IOWJ tQR TC tTT tTQ 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 101 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Drive Read and Write Timing Table 10-8 Drive Read and Write Timing Symbol tRDW tWD tHDS tHDH Parameter Read-data pulse-width Write-data pulse-width Head-select setup to write-gate-assertion Head-select hold from write-gate 300 kb/s (MFM) 500 kb/s (MFM) 1000 kb/s (MFM) Note : Conditions 250 kb/s (MFM) 416 250 225 Min 25 500 40 12 ns ns ns Unit ns ns us ns Whenever WGATE is asserted, the WDATA line is active. At the end of each write, one dummy byte is written before WGATE is deasserted. RDATA tRDW >| |< HDSEL >| |<tHDS >| tHDH |< WGATE >| |< tWD WDATA Page 102 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Drive Track Access Timing Table 10-9 Drive Track Access Timing Symbol tDH tDRV tDST tIW tSTP Parameter Direction hold from end-of-step Drive-select or motor-time from write-strobe Direction-setup prior to step Index pulse-width Step pulse-width Min 1 step time Max Unit 100 ns us ns us 6 100 8 INDEX >| tIW |< IOWJ >| tDRV |< >| tDRV |< DR0-3, MTR0-3 >| tDH |< DIR >| tDST |< >| Programmable |< STEP >| tSTP|< 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 103 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Transmitter Table 10-10 Symbol tHR tIR tIRS tSI tSTI Transmitter Parameter Delay from IOWJ (WR THR) to reset interrupt Delay from IORJ (RD IIR) to reset interrupt (THRE) Delay from initial INTR reset to transmit start Delay from initial write to interrupt Delay from start to interrupt (THRE) start Serial out Data (5-8) |<-tIRS->| Interrupt IOWJ Min 8 16 Max 50 50 24 24 8 Unit ns ns Baudout cycles Baudout cycles Baudout cycles start Parity ->| |<- tHR ->| |<- |<-tSTI |<- tHR ->| tSI ->| tIR ->| |<- IORJ Page 104 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Modem Control Table 10-11 Modem Control Symbol tMDO tRIM tSIM Parameter Delay from IOWJ (WR MCR) to output Delay to reset interrupt from IORJ (RD MSR) Delay to set interrupt from modem input *IOWJ Max 50 98 50 Unit ns ns ns |<-tMDO->| |<- tMDO ->| RTSJ, DTRJ CtsJ,DsrJ,DcdJ Interrupt |<- tSIM ->| |<- tRIM ->| |<- tSIM ->| |<- tRIM ->| **IORJ |<>| tSIM - RIJ * : See Write Cycle Timing ** : See Read Cycle Timing 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 105 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Receiver Table 10-12 Symbol tRAI tRINT tSCD tSINT Receiver Parameter Delay from active edge of IORJ to reset interrupt Delay from inactive edge of IORJ (RD LSR) to reset interrupt Delay from RCLK to sample time Delay from stop to set interrupt SIN Max 98 50 41 2 Unit ns ns ns Baudout cycles DATA(5-8) Sample CLK1 RDR int. LSI int. IORJ(RDRBR) IORJ(RDLSR) Page 106 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Amplitude Shift Keyed IR Transmit Timing Table 10-13. ASK IR Transmit Timing Symbol tmo tob tmo3 tmo4 tmo5 tmo6 Parameter Modulated output bit time Off bit time Modulated output “ on” Modulated output “ on” Modulated output “ on” Modulated output “ off” DATA 0 1 0 Min Typ Max 0.79 0.79 0.79 0.79 1 1 1 1 1.21 1.21 1.21 1.21 1 0 0 Unit us us us us us us 1 1 0 1 1 IRTX tmo tob tmo3 tmo4 MIRTX tmo5 tmo6 Notes : 1. t1, t2 timing referred to IrDA Transmit Timing @ each baud rate. 2. UART1, UART2 0xF1 bit 1: 1 = receive active low 0 = receive active high (default ) 3. MIRTX are the modulated outputs. ( 500k ) 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 107 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP IrDA Receive Timing Table 10-14. IrDA Receive Timing Symbol tpw1 tpw1 tpw1 tpw1 tpw1 tpw1 tpw1 tbt2 tbt2 tbt2 tbt2 tbt2 tbt2 tbt2 DATA Parameter Pulse width at 115k baud Pulse width at 57.6k baud Pulse width at 38.4k baud Pulse width at 19.2k baud Pulse width at 9.6k baud Pulse width at 4.8k baud Pulse width at 2.4k baud Bit time at 115k baud Bit time at 57.6k baud Bit time at 38.4k baud Bit time at 19.2k baud Bit time at 9.6k baud Bit time at 4.8k baud Bit time at 2.4k baud 0 1 0 1 Min 1.40 1.40 1.40 1.40 1.40 1.40 1.40 0 0 Typ 1.60 3.22 4.80 9.70 19.50 39.00 78.00 8.68 17.40 26.00 52.00 104.00 208.00 416.00 1 1 Max 2.71 3.69 5.53 11.07 22.13 44.27 88.55 0 Unit us us us us us us us us us us us us us us 1 1 IRRX tpw1 tbt2 Notes : 1. IrDA @ 115k is HPSIR compatible. IrDA @ 2400 will allow compatibility with HP95LX and 48SX. 2. UART1, UART2 0xF1 bit 0 : 1 = receive active low 0 = receive active high (default ) Page 108 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP IrDA Transmit Timing Table 10-15. IrDA Transmit Timing Symbol tp1 tp1 tp1 tp1 tp1 tp1 tp1 tb2 tb2 tb2 tb2 tb2 tb2 tb2 DATA Parameter Pulse width at 115k baud Pulse width at 57.6k baud Pulse width at 38.4k baud Pulse width at 19.2k baud Pulse width at 9.6k baud Pulse width at 4.8k baud Pulse width at 2.4k baud Bit time at 115k baud Bit time at 57.6k baud Bit time at 38.4k baud Bit time at 19.2k baud Bit time at 9.6k baud Bit time at 4.8k baud Bit time at 2.4k baud 0 1 0 1 Min 1.39 1.39 1.39 1.39 1.39 1.39 1.39 - 0 0 1 Typ 1.60 3.22 4.80 9.70 19.50 39.00 78.00 8.68 17.40 26.00 52.00 104.00 208.00 416.00 1 0 Max 2.72 3.70 5.54 11.08 22.14 44.28 88.56 - 1 Unit µs µs µs µs µs µs µs µs µs µs µs µs µs µs 1 IRTX tp1 tb2 Notes : 1. IrDA @ 115k is HPSIR compatible. IrDA @ 2400 will allow compatibility with HP95LX and 48SX. 2. UART1, UART2 0xF1 bit 1 : 1 = transmit active low 0 = transmit active high (default) 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 109 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Parallel Port Interrupt Timing Table 10-16. Parallel Port Interrupt Timing Symbol t1 t2 Parameter PIRQ delay from ACKJ, nFault PIRQ active in EPP & ECP modes t1 Min Typ 250 Max 30 375 Unit ns ns t1 ACKJ PIRQ (SPP & PS2) t2 PIRQ (EPP & ECP) t1 nFault (ECP) t2 PIRQ Page 110 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP EPP Mode Version 1.7 Timing Table 10-17. EPP Mode Version 1.7 Timing Symbol t1 t2 t3 t4 t5 Parameter IOWJ active to WRITEJ active IOWJ active to WRITEJ & DSTRBJ/ASTRBJ active WRITEJ active to PD7-0 valid WAITJ active to IOCHRDYJ active DSTRBJ/ASTRBJ inactive to PD7-0 invalid Min Typ Max 45 45 15 40 Unit ns ns ns ns ns 50 SD7-0 IOWJ t1 IORJ t1 WRITEJ t2 t2 t2 t2 DSTRBJ or ASRRBJ t5 t3 PD7-0 t4 WAITJ t4 t4 t4 IOCHRDY 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 111 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP EPP Mode version 1.9 Timing Table 10-18. EPP Mode version 1.9 Timing Symbol t1 t2 t3 t4 t5 t6 t7 Parameter IOWJ active to WRITEJ active IOWJ active to DSTRBJ/ASTRBJ active IOWJ active to IOCHRDY active WAITJ inactive to DSTRBJ/ASTRBJ inactive WAITJ inactive to IOCHRDYJ inactive WAITJ active to WRITEJ inactive DSTRBJ/ASTRBJ inactive to PD7-0 invalid Min Typ Max 45 65 40 105 40 85 50 Unit ns ns ns ns ns ns ns SD7-0 IOWJ IORJ t1 WRITEJ t6 t2 t4 t4 DSTRBJ or ASRRBJ t7 t4 PD7-0 t5 WAITJ t3 t3 t5 IOCHRDY Page 112 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP ECP Mode Timing Table 10-19. ECP Mode Timing Symbol t1 t2 t3 t4 t5 t6 Parameter DATA valid to STROBEJ active STROBEJ active to BUSY active BUSY active to STROBEJ inactive STROBEJ inactive to BUSY inactive BUSY inactive to DATA update BUSY inactive to STROBEJ active Min 0 0 75 0 0 0 Typ Max 35 1 Unit ns ns ns ms sec ns PD7-0 AUTOFDJ t5 t1 t2 STROBEJ t3 t4 t6 BUSY ECP Forward Timing Diagram PD7-0 BUSY t5 t1 ACKJ t2 t3 t4 t6 AUTOFDJ ECP Backward Timing Diagram 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 113 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Compatible FIFO Mode Timing Table 10-20. Compatible FIFO Mode Timing Symbol t1 t2 t3 t4 t5 Parameter Data valid to nSTROBE active nSTROBE active pulse width Data hold from nSTROBE inactive nSTROBE active to BUSY active BUSY inactive to PDATA TRANSING Min Typ 500 500 500 500 Max 80 DATA 1 PDATA t2 t1 Unit ns ns ns ns ns DATA 2 t3 t1 nSTROBE t4 t5 BUSY Page 114 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Parallel Interface Table 10-21. Parallel Interface Symbol tPDH tPDS tPI tSW Parameter Conditions Port data hold Port data setup Port interrupt Strobe width Min 500 500 33 500 Max Unit ns ns ns ns ACKJ INTP >| |<tPI >| |<tPI Interrupt Timing BUSY ACKJ >| PD0-PD7 tPDS |< >| tPDH |< STBJ >| tSW |< Typical Peripheral Data Exchange t1 t2 t3 t4 t5 t6 Parameter Modulated output bit time Off bit time Modulated output “ on” Modulated output “ on” Modulated output “ on” Modulated output “ off” Min Typ Max 0.81 0.81 0.81 0.81 1 1 1 1 1.18 1.18 1.18 1.18 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Unit µs µs µs µs µs µs Page 115 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP DATA 0 1 t1 t2 0 1 0 0 1 1 0 1 1 IRRX t3 t4 MIRRX t5 t6 Notes : 1. t1, t2 timing referred to IrDA Receive Timing @ each baud rate. 2. UART1, UART2 0xF1 bit 0 : 1 = receive active low 0 = receive active high (default ) 3. MIRRX are the modulated outputs. ( 500k ) Page 116 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Section 11 : Packaging Information HD 160 A2 D A1 1 E HE seating plane 40 c A L1 e b detail R € y see detail R o o 5 ±5 L Symbol A A1 A2 b c D E e HD HE L1 L y Dimensions in Millimeters (nom.) 3.5 (max) 0.20 3.20 0.30 0.15 28.0 28.0 0.65 32.0 32.0 2.01 0.8 0.10 Dimensions in Inches (nom.) 0.138 (max) 0.008 0.126 0.012 0.006 1.102 1.102 0.026 1.260 1.260 0.079 0.031 0.004 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 117 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Section 12 : Ordering Information Ordering Information M5123 supports Phoenix KBC M5125 supports AMI KBC Page 118 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP Section 13 : Revision History p.28 Note : Drive Table 00 = Regular Drives and 2.88MB 01 = 3-mode drive p.53 Perpendicular Mode 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 119 Fax: 762-6060 --Preliminary, Confidential, Proprietary-- Acer Laboratories Inc. M512x : Mega I/O Controller with PnP Worldwide Distributors and Sales Offices : Taiwan Acer Laboratories Inc. 7F, No. 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886 (2) 762 -8800 Fax: 886 (2) 762 -6060 Japan ASCII Corporation 8-1, Inarimae, Tsukuba-shi Ibaraki, 305, Japan Tel: 81 - 298 - 55 - 4004 Fax: 81 - 298 - 55 - 1985 Acer Sertek 11-15F, 135, Sec. 2 Chien Kuo North Road, Taipei 10479,Taiwan, R.O.C. Tel: 886 (2) 501-0055 Fax: 886 (2) 501- 2521 Kanematsu Electronic Components Corp. 11F Shin-Ohsaki Kangyo Bldg., 6-4, Ohsaki 1-Chome, Shinagawa-Ku, Tokyo, Japan 141 Tel: 81 (3) 3779 - 7850 Fax: 81 (3) 3779 - 7898 Arrow / Ally, Inc. 11F, 678, Sec. 4, Pa Teh Road, Taipei, Taiwan, R.O.C. Tel: 886 (2) 768 - 6399 Fax: 886 (2) 768 - 6390 Macnica Inc. Hakusan High-Tech Park, 1-22-2 Hakusan, Midori-Ku, Yokohama City, Japan 226 Tel: 81 (45) 939 - 6116 Fax: 81 (45) 939 - 6117 Asec International Inc. 4F, 223 Chung Yang Road, Nan Kang, Taipei, Taiwan, R.O.C. Tel: 886 (2) 786-6677 Fax: 886 (2) 786 - 5257 Technova Incorporated 9F Daiichi-Seimei Daini Bldg., 2-14-27, Shin-Yokohama, Kouhoku-ku, Yokohama-Shi, Kanagawa, 222 Tel: 81 (45) 472-7800 Fax: 81 (45) 472-7830 Korea Hong Kong Lestina International Ltd. 14/F, Park Tower 15 Austin Road, Tsimshatsui, Hong Kong Tel: 852-2735 -1736 Fax: 852-2730 - 5260 I&C Microsystems Co., Ltd. 801, 8/F, Bethel Bldg., 324-1, Yangjae-Dong, Seocho-Ku, Seoul, Korea Tel: 82 (2) 577 - 9131 Fax: 82 (2) 577 - 9130 Singapore Texny Glorytact (HK) Ltd. Unit M, 6/F, Kaiser Estate Phase 3, 11 Hok Yuen Street, Hunghom, Kowloon, Hong Kong Tel: 852 - 2765 - 0118 Fax: 852 - 2765 - 0557 Page 120 Electronic Resources Ltd. 205 Kallang Bahru, # 04-00, Singapore 339341 Tel: 65 - 298 - 0888 Fax: 65 - 298 - 1111 ALi U. S. Sales Office 1830-B Bering Drive San Jose, CA 95112 USA Tel: 1 (408) 467 - 7456 Fax: 1 (408) 467 - 7474 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, ROC Tel: 886-(02) 762-8800 Fax: 762-6060 Acer Laboratories Inc. --Preliminary, Confidential, Proprietary-- M512x : Mega I/O Controller with PnP This material is recyclable. Acer Labs products are not licensed for use in medical applications, including, but not limited to, use in life support devices without proper authorization from medical officers. Buyers are requested to inform ALi sales office when planning to use the products for medical applications. Product names used in this publication are for identification purposes only and may be trademarks of their respective companies. Acer Laboratories Inc. makes no warranty for the use of its products and assumes no responsibility for any errors which may appear in this document nor does it make a commitment to update the information contained herein. Acer Laboratories Inc. retains the right to make changes to these specifications at any time, without notice. Contact your local sales office to obtain the latest specifications before placing your order. ALi is a registered trademark of Acer Laboratories Incorporated and may only be used to identify ALi’ s products. © ACER LABORATORIES INCORPORATED 1993 07-02-1997 Document Number: 512xDS02.doc Acer Labs: 7F, 115 Tung Hsing Street, Taipei 110, Taiwan, R.O.C. Tel: 886-(02) 762-8800 Page 121 Fax: 762-6060