![Rabbit Rabbit 4000 User Manual Download Page 190](http://html1.mh-extra.com/html/rabbit/rabbit-4000/rabbit-4000_user-manual_3116714190.webp)
180
Rabbit 4000 Microprocessor User’s Manual
When a DMA transfer is occurring, normal code execution will not occur until the transfer
is completed. To prevent DMA transfers from excessively blocking interrupts or otherwise
interfering with normal code execution, two options can be set in DMTCR. First, the max-
imum limit of a DMA transfer can be set from 1 to 64 bytes, which sets an upper limit on
interrupt latency arising from a DMA transfer. Second, the minimum number of clocks
before the DMA can be active again can be set from 12 to 512 clocks, guaranteeing
processing time for the application.
The values providing roughly equal access to the memory bus for both the processor and
the DMA is eight bytes per burst and 64 clocks between bursts.
When starting up, the DMA requires several cycles of overhead. This overhead comes
about because the DMA actually uses part of the processor to perform the data transfers,
and consists of one instruction fetch time plus three clock cycles. The byte fetched during
the instruction fetch time is discarded, and will be refetched at the completion of the DMA
burst. At the end of the DMA burst, two clock cycles are required before this first instruc-
tion fetch starts. An individual DMA channel transfers data without any overhead between
bytes, but there is always one clock cycle of dead time when switching between DMA
channels. Table 19-3 shows the number of clock cycles required per burst, assuming a sin-
gle DMA channel transfer and no wait states.
The total number of clocks listed in Table 19-3 is related to the number of bystes per burst
by the following formula.
Total Clocks = 4 × Number of Bytes per Burst + 7 (for overhead)
Table 19-3. Maximum DMA Transfer Rates
Setting
Total Clocks
Clocks per Byte
Transferred
1 byte per burst
11 clocks
11
2 bytes per burst
15 clocks
7.5
3 bytes per burst
19 clocks
6.3
4 bytes per burst
23 clocks
5.8
8 bytes per burst
39 clocks
4.9
16 bytes per burst
71 clocks
4.4
32 bytes per burst
135 clocks
4.2
64 bytes per burst
263 clocks
4.1
Summary of Contents for Rabbit 4000
Page 1: ...Rabbit 4000 Microprocessor User s Manual 019 0152 070720 H...
Page 18: ...8 Rabbit 4000 Microprocessor User s Manual...
Page 40: ...30 Rabbit 4000 Microprocessor User s Manual...
Page 74: ...64 Rabbit 4000 Microprocessor User s Manual...
Page 82: ...72 Rabbit 4000 Microprocessor User s Manual...
Page 86: ...76 Rabbit 4000 Microprocessor User s Manual...
Page 96: ...86 Rabbit 4000 Microprocessor User s Manual...
Page 182: ...172 Rabbit 4000 Microprocessor User s Manual...
Page 240: ...230 Rabbit 4000 Microprocessor User s Manual...
Page 248: ...238 Rabbit 4000 Microprocessor User s Manual...
Page 256: ...246 Rabbit 4000 Microprocessor User s Manual...
Page 310: ...300 Rabbit 4000 Microprocessor User s Manual...
Page 330: ...320 Rabbit 4000 Microprocessor User s Manual...
Page 348: ...338 Rabbit 4000 Microprocessor User s Manual...