background image

The INTR GAL

É

on the PC16552C Adapter drives the IRQ3

and IRQ4 signals. INTR inputs the interrupt signals from the
PC16552C (INTR1 and INTR2) and the TC interrupt (see
DMA Interface). INTR will assert IRQ3 if a TC interrupt is
generated or if a UART channel configured as COM2 – 8
generates a serial interrupt. It will assert IRQ4 if it receives a
serial interrupt from a channel configured as COM1. INTR
decodes the serial interrupts by using POS102 bits 5 and 2
which store address bit A8 for channels 1 and 2 respective-
ly. A8 is used because it is a 1 if COM1 is being used and a
0 if any other COM port is used. See the included INTR.ABL
listing for the GAL equations.

MICRO CHANNEL BUS ARBITRATION

The PC16552C Dual Serial/DMA Adapter implements the
logic necessary to interface a DMA slave device to the Mi-
cro Channel’s bus arbitration system and DMA controller. A
DMA slave adapter must contain a Local Arbiter, as defined
by IBM, in order to compete for the bus and communicate
with the system’s Central Arbiter. The adapter must also
contain any logic necessary to directly support the device
requesting DMA service.

The following material on the DMA Interface discusses the
function of the Central Arbiter and the bus arbitration pro-
cess, Local Arbiters and DMA interface design considera-
tions. It then describes in detail the functions of the DMA
interface logic implemented on the PC16552C Adapter.

Central Arbiter

The Central Arbiter exists on all of IBM’s Micro Channel
machines and gives intelligent subsystems the ability to
share and control the system. It supports up to 16 arbitrating
devices, such as a DMA slave, a bus master and the system
microprocessor.

The Central Arbiter is located on the system board of the
Micro Channel machines and uses seven Micro Channel
signals to control arbitration between devices. The seven
signals are PREEMPT, ARB/GNT, BURST and ARB3 – 0.
ARB/GNT may only be driven by the Central Arbiter. The
rest of the signals may be driven by any device on the Chan-
nel and therefore must be connected to open-collector driv-
ers.

Any device requesting control of the bus asynchronously
drives PREEMPT active. The Central Arbiter responds by
initiating an arbitration cycle after the device currently using
the Channel has completed. The Central Arbiter indicates
the arbitration cycle by driving the ARB/GNT signal high
into the arbitration state. Requesting devices then drive their
assigned 4-bit arbitration vector onto the ARB3 – 0 bus.
These vectors are prioritized with 0000 being the highest
and 1111 being the lowest priority. Each competing device
compares the vector it is driving onto the ARB pins with the
level already on the bus. If it finds a level that has a higher
priority it stops driving its vector onto the bus, thus leaving
the highest priority vector on the bus. When the Central
Arbiter ends the arbitration period by changing the ARB/
GNT signal to the grant state, the device driving the winning
vector assumes control of the bus.

Devices requiring multiple data transfers must notify the
central arbiter by driving the BURST signal until all transfers
are complete. A bursting device may also stop transfers

if another device drives PREEMPT active, thus postponing
any further transfers until it wins the system channel again.
IBM

É

requires a bursting device not to ignore an active

PREEMPT for more than 7.8

m

s (thus 7.8

m

s is the maxi-

mum time allowed for a single BURST transfer). At this time
the Central Arbiter forcibly takes control away from the
bursting device by raising the ARB/GNT signal. The system
will also generate an error indication and NMI.

The Central Arbiter recognizes the end of a transfer when
both status signals (S0 and S1) are inactive (signifying the
end of a bus cycle) and BURST or CMD go inactive, which-
ever occurs last. Arbitration then begins for the next highest
priority requesting device. The system CPU, which is as-
signed the lowest priority arbitration vector 1111, will re-
sume control of the system bus if no other devices are re-
questing the bus.

A programmable (through POS) fairness feature prevents
high priority devices from locking out lower priority devices.
If fairness is active, a device that has control of the bus
cannot compete again for the bus until all other competing
devices have been allowed to run their cycles. This ensures
that all arbitrating devices will be serviced in order of priority
before the same device can gain control of the channel
again.

The system DMA controller is an integral part of the Central
Arbiter. The controller has 8 channels (0 – 7) which corre-
spond to arbitration vectors 0000 – 0111. A device request-
ing DMA service competes for the system bus with the vec-
tor corresponding to the DMA channel previously pro-
grammed to perform the desired transfer. The DMA control-
ler assumes control of the bus when the highest priority
requesting DMA wins the arbitration cycle. The controller
will execute single byte transfers unless the DMA slave as-
serts the BURST signal. In this case, the controller will exe-
cute a burst cycle, executing transfers until the BURST sig-
nal is deasserted or the controller’s Terminal Count (TC) is
reached. See the Software section of this document for de-
tails on the operation and programming of the DMA control-
ler.

Local Arbiter

Devices requesting control of the Micro Channel must im-
plement logic known as a Local Arbiter. The Arbiter logic
must drive the arbitration bus in a manner that allows all
competing devices to recognize a winner.

When the Central Arbiter starts an aribtration, a competing
local arbiter drives its vector onto the ARB bus. At the same
time, it compares that vector to the value appearing on the
bus on a bit-by-bit basis beginning with the most significant
bit, ARB3. If it finds a mismatch on one of the bits, it will
cease driving that bit and all lower order bits. If it subse-
quently finds a match on that bit, it will continue driving low-
er order bits until another mismatch is detected. The arbitra-
tion bus must be driven by open collector drivers so that
multiple devices may drive the bus and compete for service.
The following is an example of a bus arbitration:

1. Devices A and B, with arbitration levels 1001 and 0110

respectively, compete for the channel. Both devices drive
their vectors onto the ARB bus which then appears as
0000.

7

Summary of Contents for PC16552C

Page 1: ...sis for a high performance serial port design Advancing modem technology is causing a substantial in crease in serial transfer baud rates putting a severe strain on existing serial port designs Personal computer systems are unable to keep up with transfer rates that are now reaching 115k baud The PC16552C allows the serial port designer to design ports that can handle these faster data rates Trans...

Page 2: ...PC16552C Adapter Block Diagram TL F 11195 1 2 ...

Page 3: ...niz es as an empty slot Since the system remembers which adapter and ID resides in each slot removing a card inserting a new card or even moving an existing card to a different slot will cause a POST failure IBM s System Configuration utilities must then be run to reconfigure the system by modifying the configuration data stored in CMOS RAM ADFsÐAdapter Description Files System board and adapter P...

Page 4: ...n external pins while others are used for internal address de coding or to define the operating modes of the 82C611 POS100 and POS101ÐAdapter ID Bytes All adapters must store a two byte ID number in POS regis ters 100 and 101 IBM specifies that all direct program con trol adapters including memory mapped I O have an ID byte between 6000 and 6FFFh As previously mentioned the ID byte for this adapte...

Page 5: ...ts DS16 input which is tied high in this design CD CHRDY Card Channel Ready An adapter which needs more time to transfer data on the Micro Channel pulls this signal low not ready to extend the current bus cycle There are two types of extended cycles Asynchronous Ex tended and Synchronous Extended The difference be tween them is when the CD CHRDY signal driven back high ready In the synchronous cas...

Page 6: ...d directly to each comparator and compared to POS102 bit 4 and bit 1 which are programmed for channel 1 and channel 2 respectively A14 A13 and A12 are connected to 82C611 multi function pins MFP6 5 and 4 respectively They are constantly com pared to two bit fields in POS103ÐB5 3 and B2 0 Bits 5 3 are programmed with the A14 A13 and A12 bits expected for channel 1 and bits 2 0 with the bits expecte...

Page 7: ...driving the BURST signal until all transfers are complete A bursting device may also stop transfers if another device drives PREEMPT active thus postponing any further transfers until it wins the system channel again IBMÉ requires a bursting device not to ignore an active PREEMPT for more than 7 8 ms thus 7 8 ms is the maxi mum time allowed for a single BURST transfer At this time the Central Arbi...

Page 8: ...ned with the latter implementa tion One particular timing specification required by the Micro Channel when a DMA slave terminates a burst cycle is the most critical issue in the design of a useful DMA serviced serial port The goal of the DMA interface design is to be able to transfer four files simultaneously in two directions with attention from the CPU only at the beginning and end of the file t...

Page 9: ...out a wait state and ran I O read DMA transfers without errors A test of the IO write transfers was futile because only the older PC16552C was available making slave terminated transfers impossible The design chosen for implementation uses just one Local Arbiter and prioritizes the UART DMA requests on the adapter This design was chosen because it is more inform ative example and has a lower chip ...

Page 10: ... stay in Idle until the Delay signal goes inactive low 100 ns later Thus DREQ is guaranteed to be inactive for at least 100 ns Selection of Arbitration Vector The PC16552C Adapter is designed to store four different arbitration vectors which correspond to the 4 DMA channels programmed to service the UART s RXRDY and TXRDY DMA request signals Two 74LS153 Dual 4 Line to 1 Line Data selectors are use...

Page 11: ...s asserted and DMA controller begins transfer XFR3 DREQ has gone inactive signifying completion of transfer BURST is deasserted This is an intermedi ate state to IDLE Fairness IBM s Fairness algorithm is enabled when POS register 102 bit 7 is set An asynchronous state machine for each of the four UART DMA request signals implemented in 2 PALs Fair1 and Fair2 ensures that the four requests obey the...

Page 12: ...he CL in puts of the DMAÐEN register s 74LS74 latches The TC pulse clears the adapter card enable bit for the decoded channel and prevents any further DMA request from that channel until the CPU has re intialized the system for a new file transfer All four UART TC pulses are OR ed together to set a 1 bit read only register called Interrupt Status Register ISR The output of ISR is connected to the ...

Page 13: ...PU sits in a wait loop while the DMA controller continues to service the serial ports The program stops af ter all four files have been transferred The dmaÐint IRQ3 service routine is executed if a line status error is generated or a TC is generated by a file trans fer completion The routine first checks for line status errors in both channels It then reads the 1 bit Interrupt Status Register ISR ...

Page 14: ...oice SERIAL 3 pos 0 4XXXX100Xb pos 1 4XXXXX011b io 3220h 3227h int 3 choice SERIAL 4 pos 0 4XXXX101Xb pos 1 4XXXXX011b io 3228h 322fh int 3 choice SERIAL 5 pos 0 4XXXX100Xb pos 1 4XXXXX100b io 4220h 4227h int 3 choice SERIAL 6 pos 0 4XXXX101Xb pos 1 4XXXXX100b io 4228h 422fh int 3 choice SERIAL 7 pos 0 4XXXX100Xb pos 1 4XXXXX101b io 5220h 5227h int 3 choice SERIAL 8 pos 0 4XXXX101Xb pos 1 4XXXXX10...

Page 15: ...s BUSARB Local Arbiter State Machine The following asynchronous state machine controls the Local Arbiter on the Adapter Card The device used is a 20L8 PAL outputs q3 q2 q1 q0 burst preout ack enarb pins 21 20 19 18 17 16 22 15 inputs dreq arbgnt buswin prein chrst pins 1 2 3 4 5 States of Arbiter idle e 1 1 1 1 req e 1 1 1 0 req uchannel bus preout q0 active arb e 1 0 1 0 vector enabled preout ena...

Page 16: ...nd enarb enable arb3 e sel3 enarb enable arb2 e sel2 Q enarb enable arb1 e sel1 Q2 enarb enable arb0 e sel0 Q2 Q3 enarb LOCKOUT Device Request Lockout State Machine This machine selects and prioritizes the four UART DMA requests and issues a single request to the Local Arbiter Once a particular request is selected all others are locked out The device used is 16L8D PAL Outputs dreq s1 s0 q0 q1 q2 q...

Page 17: ...r rx1 fair chrst Ý rx1Ðwait fair rx2 tx1 tx2 PREEMPT chrst rx1q1 e rx1Ðxfr rx1 fair chrst Ý rx1Ðwait rx2 tx1 tx2 PREEMPT chrst Ý rx1Ðwait rx2 tx1 tx2 PREEMPT chrst rx2q0 e rx2Ðdle rx2 chrst Ý rx2Ðxfr rx2 chrst Ý rx2Ðxfr rx2 fair chrst Ý rx2Ðwait fair rx1 tx1 tx2 PREEMPT chrst rx2q1 e rx2Ðxfr rx2 fair chrst Ý rx2Ðwait rx1 tx1 tx2 PREEMPT chrst Ý rx2Ðwait rx1 tx1 tx2 PREEMPT chrst rx1fair e rx1q1 rx...

Page 18: ...TL F 11195 7 18 ...

Page 19: ...TL F 11195 8 19 ...

Page 20: ...TL F 11195 9 20 ...

Page 21: ...TL F 11195 10 21 ...

Page 22: ...TL F 11195 11 22 ...

Page 23: ...TL F 11195 12 23 ...

Page 24: ...onal Semiconductor National Semiconductor National Semiconductores National Semiconductor Corporation GmbH Japan Ltd Hong Kong Ltd Do Brazil Ltda Australia Pty Ltd 2900 Semiconductor Drive Livry Gargan Str 10 Sumitomo Chemical 13th Floor Straight Block Rue Deputado Lacorda Franco Building 16 P O Box 58090 D 82256 F4urstenfeldbruck Engineering Center Ocean Centre 5 Canton Rd 120 3A Business Park Dr...

Reviews: