DMA Controller
Am186™CC/CH/CU Microcontrollers User’s Manual
8-11
or Circular Buffers” on page 8-20. This method helps guarantee data integrity by ensuring
that data is transferred to main memory whether or not the interrupt task can execute. The
DMA channel can be set to interrupt immediately on receipt of data by setting the Interrupt
(INT) and Terminal Count (TC) bits in the GDxCON0 register. The interrupt task is then a
relatively low priority because it does not have to pull the characters out of the UART before
they are overwritten by new data. (The effective UART FIFO size has been increased by
the DMA buffer size.) When the interrupt task has finished processing all the data in the
circular buffer (its read pointer is equal to the destination address), the interrupt can set TC
to cause another interrupt as soon as additional characters arrive.
Processing the received data within a low-priority interrupt routine means that flow-control
information, such as XONs and XOFFs, may not be seen as quickly. To alleviate this
condition, transmission can be done without using DMA (e.g., from within the same interrupt
routine, or by programming the interrupt code). In the latter, the interrupt code could program
the Transfer Count (GDxTC) register to send a maximum of n characters at a time, using
DMA, where '2 • n' is a value that does not overrun the far side's receive FIFO high-water
mark.
8.5.6
General-Purpose DMA Channels
The Am186CC/CH/CU microcontrollers each provide four general-purpose DMA channels,
which are similar to legacy Am186 general-purpose DMA channels. The four channels can
be used for data transfers as shown in Table 8-6.
Table 8-6
General-Purpose DMA Data Transfers
Source
Destination
Memory
Memory
I/O
Internal peripherals:
UART
High-Speed UART
USB
External peripherals
I/O
Memory
I/O
Internal peripherals:
UART
High-Speed UART
USB
External peripherals
Internal Peripherals:
Timer 2
1
UART
High-Speed UART
USB
Notes:
1. Timer 2 acts as a DMA request source only; no data is transferred to or from Timer 2.
Memory
I/O
External Peripherals
Memory
I/O
CC
CU
CC
CU
Summary of Contents for Am186 CC
Page 1: ...Am186 CC CH CU Microcontrollers User s Manual Order 21914B...
Page 4: ...iv Am186 CC CH CU Microcontrollers User s Manual...
Page 18: ...Table of Contents xviii Am186 CC CH CU Microcontrollers User s Manual...
Page 24: ...Introduction xxiv Am186 CC CH CU Microcontrollers User s Manual...
Page 40: ...Architectural Overview 1 16 Am186 CC CH CU Microcontrollers User s Manual...
Page 86: ...System Overview 3 36 Am186 CC CH CU Microcontrollers User s Manual...
Page 92: ...Emulator Support 4 6 Am186 CC CH CU Microcontrollers User s Manual...
Page 112: ...DRAM Controller 6 8 Am186 CC CH CU Microcontrollers User s Manual...
Page 134: ...Interrupts 7 22 Am186 CC CH CU Microcontrollers User s Manual...
Page 186: ...Programmable I O Signals 9 8 Am186 CC CH CU Microcontrollers User s Manual...
Page 200: ...Watchdog Timer 11 6 Am186 CC CH CU Microcontrollers User s Manual...
Page 232: ...Asynchronous Serial Ports UARTs 13 24 Am186 CC CH CU Microcontrollers User s Manual...
Page 242: ...Synchronous Serial Port SSI 14 10 Am186 CC CH CU Microcontrollers User s Manual...
Page 264: ...High Level Data Link Control HDLC 15 22 Am186 CC CH CU Microcontrollers User s Manual...
Page 332: ...Universal Serial Bus USB 18 34 Am186 CC CH CU Microcontrollers User s Manual...
Page 348: ...Register Summary A 16 Am186 CC CH CU Microcontrollers User s Manual...
Page 376: ...Index Index 18 Am186 CC CH CU Microcontrollers User s Manual...