03.01.2015 Views

80C186EC/80C188EC Microprocessor User's Manual

80C186EC/80C188EC Microprocessor User's Manual

80C186EC/80C188EC Microprocessor User's Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

DIRECT MEMORY ACCESS UNIT<br />

BIU Request<br />

T<br />

2<br />

D<br />

R<br />

Q<br />

T<br />

X<br />

0<br />

D<br />

R<br />

Q<br />

R<br />

X<br />

0<br />

D<br />

R<br />

Q<br />

Module A<br />

Request<br />

Inter-Module<br />

Arbitration<br />

Logic<br />

Module B<br />

Request<br />

R<br />

X<br />

1<br />

D<br />

R<br />

Q<br />

T<br />

X<br />

1<br />

D<br />

R<br />

Q<br />

T<br />

2<br />

D<br />

R<br />

Q<br />

Inter-Channel Arbitration<br />

and<br />

Internal Request Multiplexer<br />

Inter-Channel Arbitration<br />

and<br />

Internal Request Multiplexer<br />

Channel 0<br />

Channel 1 Channel 0 Channel 1<br />

Module A<br />

Module B<br />

DRQ0<br />

DRQ1<br />

DRQ2<br />

DRQ3<br />

A1184-0A<br />

Figure 10-8. <strong>80C186EC</strong>/C188EC DMA Unit<br />

Like inter-channel priority, DMA module priority is set on a relative basis: one module may be<br />

set higher than or equal to the other module.<br />

Priority arbitration between modules is subject to the same rules as arbitration between channels.<br />

When priority is fixed between modules (i.e., one module is set to a higher priority than the other),<br />

the high-priority module continues to perform transfers as long as its DMA request is active, the<br />

transfers have not been suspended or terminated and it has not released the bus.<br />

The DMA modules rotate priority when both modules are set to the same priority. DMA module<br />

B is initially set to high priority and module A is set to low priority. After a channel within a module<br />

performs a transfer, the module is set to low priority.<br />

10-14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!