The information contained herein is subject to change without notice.
The information contained herein is presented only as a guide for the applications of our products. No
responsibility is assumed by Hyundai for any infringements of patents or other rights of the third parties
which may result from its use. No license is granted by implication or otherwise under any patent or
patent rights of Hyundai or others.
These Hyundai products are intended for usage in general electronic equipment (office equipment,
communication equipment, measuring equipment, domestic electrification, etc.).
Please make sure that you consult with us before you use these Hyundai products in equipment which
require high quality and / or reliability, and in equipment which could have major impact to the welfare of
human life (atomic energy control, airplane, spaceship, traffic signal, combustion control, all types of
safety devices, etc.). Hyundai cannot accept liability to any damage which may occur in case these
Hyundai products were used in the mentioned equipment without prior consultation with Hyundai.
APENDIX A. Register Map.......................................................................................................170
7
GDC21D601
GDC21D601
32-Bit RISC MCU
Section 1. Overview
1. General Description
The GDC21D601 is the HME’s 32bit high performance microcontroller unit (MCU). The GDC21D601 contains
ARM720T, which is a general-purpose 32bit microprocessor, and extensive peripherals: 6 channel 16bit Timer,
Watch Dog Timer, 2 channel UART, 2 channel SSPI, 3 channel I2C, Programmable Priority Interrupt Controller,
10 port PIO, 2 channel DMA Controller, External Memory Controller and BUS Controller including chip select
logic.
ARM720T is a 32bit Microprocessor with the CPU of the ARM7TDMI, 8KB Cache, enlarged write buffer and
Memory Management Unit (MMU). The ARM720T is fully software compatible with the ARM processor family.
JTAG[0:4]
RESET
EXPRDY
EXPCLK
Mode[0:2]
DRAM OE, WE
WR[0:3], RD
RD&WR
BCLKOUT / PORT F[5]
BWAIT / PORT F[4]
A[0:31]
D[0:31]
nCS[4:7] / PORT H[4:7]
RAS[0:1] / PORT G[6:7]
CAS[0:3] / PORT G[0:3]
DREQ[0:1] / PORT G[2:3]
DACK[0:1] / PORT G[4:5]
IRQ[0:5] / PORT A[0:5]
nCS[0:3]
Bus
controller
DRAM
controller
DMA
controller
INT
controller
JTAG
ASB
APB
32-bit
ARM 720T
Core
AMBA Logic
APB Bridge
MCU
controller
Internal
SRAM
(8KB)
GDC21D601
RTC
Timer
UART
I2C
controller
SSPI
PIO
PMU
WDT
RTCin/Out (32.768kHz)
PORT B[0:7] / Timer TCIO / PWM
PORT C[0:3] / Timer TCIO / PWM
TCLK A,B,C / PORT C[4:6]
• Six 16bit Multi Function Timers / Counters for General Purpose Applications
• One 8bit Watch Dog Timer (WDT)
• Real Time Clock : 32.768 KHz
• Three UARTs (Universal Asynchronous Receiver Transmitter) compatible with 16C550 UART, one
UART with Smart card interface
• Two SSPIs (Synchronous Serial Peripheral Interface) with FIFO
• Three I2C Master/Slave Controllers
• Programmable Input/Output (8bit 10 channel)
• 208 MQFP Package
9
2. Feature
GDC21D601
•ARM720T Core
- This is an ARM7TDMI CPU core with
. 8KB cache
. enlarged write buffer
. MMU(Memory Management Unit)
. On-chip ICEbreaker debug support
. 32-bit x 8 hardware multiplier
. Thumb decompressor
. High-performance 32-bit RISC architecture
. High-density 16-bit insturction set
Enhanced ARM software toolkit
THUMB code is able to provide up to 65% of
the code size of ARM, and 160% of the
performance of an equivalent ARM processor
connected to a 16-bit memory system.
The MMU supports 4G bytes Virtual address.
The allocation of virtual addresses with
different task ID improves performance in task
switching operations with the cache enabled.
•DMA Controller
- Two Channels with identical function
- Four Gigabytes of address space
- 256 Kbytes transfers to the maximum
- Data Transfer unit : Byte, Half-word, Word
- Two kinds of Bus mode
. Burst mode
. Exception mode(Cycle steal)
- Two kinds of address mode
. Single address mode
. Dual address mode
- Two types of Transfer request source
. External I/O request
. Auto-request
- Two kind of fixed priority for channels
- Interrupted when the data transfers are
complete
•DRAM Controller
- DRAM access
- Support Word, Half-word, and Byte transaction
- CBR refresh in normal operation and self-refresh
in power-down mode
- Support programmable refresh rate
- Support various DRAM access time by setting
the wait count control register
•Static Memory Controller
- Chip Select up to 8 (Each Bank is 256 MByte)
- Exchangeable Chip Select Active High/Low
(CS6 and CS7 only)
- Little-Endian and Big-Endian Memory Support
- Programmable wait-state (up to 16 wait-state)
- Support External BUS Ready Strobe
- Support various type Bus Control timing
- Support Word, Half-word, and Byte transaction
•On-Chip SRAM
- 8k Bytes(2048x32)
- Asynchronous SRAM
- Can write 8/16/32bits data, and read 32bits data
•MCU Controller
- The Memory Map Structure Control signals
- DRAM Power-Down Request and Powr-Down
Ack signal
- Generate the Multi Function Pin control signals
- Device Code : $GDC601
•Power Management Unit
- Power On Reset, WD_OF Reset, and S/W Reset
- Status : RESET, Power Down, RUN_FAST,
RUN_SLOW
- Provide separated clock for each modules on
chip
- Provide BCLKOUT, WD_OF, Power-Down pins
for external devices
•Watch Dog Timer
- Watchdog timer mode & interval timer mode
- Eight counter clock sources
- Generate the Power Down reset or the Watch
Dog Overflow
•Interrupt Controller
- Asynchronous interrupt controller
- Six external interrupt
- Twenty internal interrupt
- Level or edge triggered
- Mask for each interrupt source
Request of IRQ, FIQ for each interrupt source
10
GDC21D601
•Real Time Clock
- 32bit counter clocked by a 32.768KHz clock.
- 32bit match register
•Programmable Input Output
- up to 80 pin (8bit 10channel)
- Each pin can be configurable as either input or
output
. 1 interrupt per 1 channel
. 2 inout pin per 1 channel for input capture or
output compare
- Basic function :
. Compare match waveform output
. Input capture
. Match clear
. Capture clear
- Synchronous mode
. Synch. clear at two or more channel
. Synch. write at two or more channel
- PWM waveform output mode
•Synchronous Serial Interface
- Supports full duplex communication
- Sends and receives data continuously, using 16 x
8 bit FIFOs
- Built-in baud rate generator capable of
generation 4 clock rate
- Selectable clock source : either built-in buad-rate
generator or external clock
- 4 independent interrupts : transmit-end, rx-full,
tx-empty and tx-full
•UART
- 2 channel : UART only
. Compatible with 16550
. 16 byte each FIFO for TX / RX
. Start, stop and parity bit can be added or
deleted from/to serial data
. MODEM control functions (CTS, RTS, DSR,
DTR, RI and DCD )
. Fully programmable serial-interface
characteristics
: 5-, 6-, 7- or 8-bit characters
: even, odd or no-parity bit generation and
detection
: 1-, 1.5- or 2-stop bit generation and
detection
•SmartCard Interface
- 1 channel : Support SmartCard Interface
. Supports only asynchronous operation
. Supports cards that have internal reset
capability
. Supports cards that have an active low reset
input
. Supports cards that use the internal clock
. Generate the clock for a card expecting the
external clock
. Use the serial in/out ports for I/O
. Use the PIO ports for other interface signals
like RST, DETECT, etc
33WDTOUTOWatch Dog Timer Overflow Output
34NPDNOPower Down Signal from PMU block
37RTCOSCINIReal Time Clock Oscillator Input 32.768kHz
36RTCOSCOUTO Real Time Clock Oscillator Output
39NRSTIJTAG Reset
40TDII JTAG Data Input
41TCKIJTAG Clock Input
43TDOOJTAG Data Output
44TMSIJTAG Mode Signal
45
53PA6I/OPIO Port A[6]
54PA7I/OPIO Port A[7]
A[31:0]OAddress Bus
Valid After RESET.
When it is LOW, MCU entered the power down mode. When HIGH, normal
IRQ0External Interrupt Input 0, when PINMUX_PA[0] = 0
PA0
IRQ1External Interrupt Input 1, when PINMUX_PA[1] = 047
PA1
IRQ2External Interrupt Input 2, when PINMUX_PA[2] = 048
PA2
IRQ3External Interrupt Input 3, when PINMUX_PA[3] = 049
PA3
IRQ4External Interrupt Input 4, when PINMUX_PA[4] = 051
PA4
IRQ5External Interrupt Input 5, when PINMUX_PA[5] = 052
PA5
TCIOA0Timer Channel 0 Input Capture A, when PINMUX_PB[0] = 055
PB0
TCIOB0Timer Channel 0 Input Capture B, when PINMUX_PB[1] = 057
PB1
TCIOA1Timer Channel 1 Input Capture A, when PINMUX_PB[2] = 058
PB2
TCIOB1Timer Channel 1 Input Capture B, when PINMUX_PB[3] = 059
PB3
TCIOA2Timer Channel 2 Input Capture A, when PINMUX_PB[4] = 061
PB4
TCIOB2Timer Channel 2 Input Capture B, when PINMUX_PB[5] = 062
PB5
I/O
Programmable I/O ports. Each pin can be mapped to specified
function pin name. (External IRQ0,IRQ1,…)
PIO Port A[0], when PINMUX_PA[0] = 1
I/O
PIO Port A[1], when PINMUX_PA[1] = 1
I/O
PIO Port A[2], when PINMUX_PA[2] = 1
I/O
PIO Port A[3], when PINMUX_PA[3] = 1
I/O
PIO Port A[4], when PINMUX_PA[4] =1
I/O
PIO Port A[5], when PINMUX_PA[5] = 1
Tbclk Clock Input for TIC test
Tfclk Clock Input for TIC test
I/O
PIO Port B[0], when PINMUX_PB[0] = 1
I/O
PIO Port B[1], when PINMUX_PB[1] = 1
I/O
PIO Port B[2], when PINMX_PB[2] = 1
I/O
PIO Port B[3], when PINMUX_PB[3] = 1
I/O
PIO Port B[4], when PINMUX_PB[4] = 1
I/O
PIO Port B[5], when PINMUX_PB[5] = 1
GDC21D601
15
PIN NUMBERPIN NAMETYPEDESCRIPTION
TCIOA3Timer Channel 3 Input Capture A, when PINMUX_PB[6] = 063
PB6
TCIOB3Timer Channel 3 Input Capture B, when PINMUX_PB[7] = 065
PB7
PC0PIO Port C[0], when PINMUX_PC[0] = 066
TCIOA4
PC1PIO Port C[1], when PINMUX_PC[1] = 067
TCIOB4
PC2PIO Port C[2], when PINMUX_PC[2] = 069
TCIOA5
PC3PIO Port C[3], when PINMUX_PC[3] = 070
TCIOB5
PC4PIO Port C[4], when PINMUX_PC[4] = 071
TCLKA
PC5PIO Port C[5], when PINMUX_PC[5] = 073
TCLKB
PC6PIO Port C[6], when PINMUX_PC[6] = 074
TCLKC
PC7PIO Port C[7], when PINMUX_PC[7] = 075
TCLKD
RXD0 UART Channel 0 Receive Data, when PINMUX_PD[0] = 076
PD0
TXD0UART Channel 0 Transmit Data, when PINMUX_PD[1] = 078
PD1
RXD1UART Channel 1 Receive Data, when PINMUX_PD[2] = 079
PD2
TXD1UART Ch 1 Transmit Data, when PINMUX_PD[3] = 080
PD3
NCTSUART Ch 1 Clear to Send, when PINMUX_PD[4] = 082
PD4
NDSRUART Ch 1 Data Set Ready, when PINMUX_PD[5] = 083
PD5
NDCDUART Ch 1 Data Carrier Detect, when PINMUX_PD[6] = 084
PD6
NRIUART Ch 1 Ring Indicator, when PINMUX_PD[7] = 086
PD7
NDTRUART C 1 Data Terminal Ready, when PINMUX_PE[0] = 087
PE0
NRTSUART Ch 1 Ready to Send Data, when PINMUX_PE[1] = 088
PE1
SMDISmart Card Interface Data In, when PINMUX_PE[2] = 090
PE2
SMDOI/OSmart Card Interface Data Out, when PINMUX_PE[3] = 091
PE3PIO Port E[3], when PINMUX_PE[3] =1
SMCLKI/OSmart Card Interface Clock Out, when PINMUX_PE[4] = 092
PE4PIO Port E[4], when PINMUX_PE[4] = 1
I/O
PIO Port B[6], when PINMUX_PB[6] = 1
I/O
PIO Port B[7], when PINMUX_PB[7] = 1
I/O
Timer Channel 4 Input Capture A, when PINMUX_PC[0] = 1
I/O
Timer Channel 4 Input Capture B, when PINMUX_PC[1] = 1
I/O
Timer Channel 5 Input Capture A, when PINMUX_PC[2] = 1
I/O
Timer Channel 5 Input Capture B, when PINMUX_PC[3] = 1
I/O
External Timer Clock Source A, when PINMUX_PC[4] = 1
I/O
External Timer Clock Source B, when PINMUX_PC[5] = 1
I/O
External Timer Clock Source C, when PINMUX_PC[6] = 1
I/O
External Timer Clock Source D, when PINMUX_PC[7] = 1
I/O
PIO Port D[0], when PINMUX_PD[0] = 1
I/O
PIO Port D[1], when PINMUX_PD[1] =1
I/O
PIO Port D[2], when PINMUX_PD[2] = 1
I/O
PIO Port D[3], when PINMUX_PD[3] =1
I/O
PIO Port D[4], when PINMUX_PD[4] = 1
I/O
PIO Port D[5], when PINMUX_PD[5] = 1
I/O
PIO Port D[6], when PINMUX_PD[6] = 1
I/O
PIO Port D[7], when PINMUX_PD[7] =1
I/O
PIO Port E[0], when PINMUX_PE[0] = 1
I/O
PIO Port E[1], when PINMUX_PE[1] = 1
I/O
PIO Port E[2], when PINMUX_PE[2] = 1
GDC21D601
16
PIN NUMBERPIN NAMETYPEDESCRIPTION
94
SIN0SSI Channel 0 Data In, when PINMUX_PE[5] = 0
I/O
PE5PIO Port E[5], when PINMUX_PE[5] =1
95
BPROT0
SOUT0SSI Channel 0 Data Out, when PINMUX_PE[6] = 0
I/O
AMNA BPROT[0] Signal, when PINMUX_PE[8] = 1
PE6PIO Port E[6], when PINMUX_PE[6] = 1
96
BPROT1
SCLK0SSI Channel 0 Clock Out, when PINMUX_PE[7] = 0
I/O
AMBA BPROT[1] Signal, when PINMUX_PE[8] = 1
PE7PIO Port E[7], when PINMUX_PE[7] =1
98
BLOK
SCS0SSI Channel 0 Channel Control, when PINMUX_PF[0] = 0
I/O
AMBA BLOK Signal Out, when PINMUX_PE[8] = 1
PF0PIO Port F[0], when PINMUX_PF[0] = 1
99
MemByte0
SIN1SSI Channel 1 Data In, when PINMUX_PF[1] = 0
I/O
MemByte[0] Signal from EBI Block, when PINMUX_PF[8] = 1
PF1PIO Port F[1], when PINMUX_PF[1] = 1
100
MemByte1
SOUT1SSI Channel 1 Data Out, when PINMUX_PF[2] = 0
I/O
MemByte[1] Signal from EBI Block, when PINMUX_PF[8] = 1
PF2PIO Port F[2], when PINMUX_PF[2] = 1
102
BTRANS0
SCLK1SSI Channel 1 Clock Out, when PINMUX_PF[3] = 0
I/O
AMBA BTRANS[0] Signal, when PINMUX_PF[8] = 1
PF3PIO Port F[3], when PINMUX_PF[3] = 1
103
BTRANS[1]
SCS1SSI Channel 1 Channel Control, when PINMUX_PF[4] = 0
I/O
AMBA BTRANS[1] Signal, when PINMUX_PF[8] = 1
PF4PIO Port F[4], when PINMUX_PF[4] =1
BWAIT
BCLKOUTAMBA BCLK Signal, when PINMUX_PF[5] = 0104
PF5
NFIQOUTAMBA NFIQ Signal, when PINMUX_PF[6] = 0105
PF6
NIRQOUTAMBA NIRQ Signal, when PINMUX_PF[7] = 0106
PF7
I/O
I/O
I/O
AMBA BWAIT Signal, when PINMUX_PF[8] = 1
PIO Port F[5], when PINMUX_PF[5] = 1
PIO Port F[6], when PINMUX_PF[6] =1
PIO Port F[7], when PINMUX_PF[7] = 1
108I2CSDA0I/OData Signal for I2C Channel 0
Pins (108~110,112~114) are required to be pull-up externally.
When bus is free, this pin goes logical “HIGH”
After reset, SDA pins enter Idle state
109I2CSCL0I/OClock Signal for I2C Channel 0
110I2CSDA1I/OData Signal for I2C Channel 1
112I2CSCL1I/OClock Signal for I2C Channel 1
113I2CSDA2I/OData Signal for I2C Channel 2
114I2CSCL2I/OClock Signal for I2C Channel 2
116
121UCLKOUTOUART Clock Oscillator Clock Output
123TESTITest Input Pin, Select 116~118 pin as Boot Mode or TIC Signal
125NRESETISystem Power On Reset Input
142XINISystem Clock Input (<80MHz)
141XOUTOSystem Clock Oscillator Output
144NDRAMOEODRAM Output Enable
145NDRAMWEODRAM Write Enable
147NWR0OWrite Enable 0 for Static Memory(Byte)
148NWR1OWrite Enable 1 for Static Memory(Byte)
149NWR2OWrite Enable 2 for Static Memory(Byte)
151NWR3OWrite Enable 3 for Static Memory(Byte)
Mode 2Boot Mode 2 (BigEndian Pin)
TACK
NEXTREQExternal Master Request Bus Mastership, when PINMUX_PG[0] = 0124
PG0
NEXTACKBus Granted Signal for External Master, when PINMUX_PG[1] = 0127
PG1
NDREQ0DMA Channel 0 Request, when PINMUX_PG[2] = 0128
PG2
NDACK0DMA Channel 0 Acknowledge, when PINMUX_PG[3] = 0129
PG3
NDREQ1DMA Channel 1 Request, when PINMUX_PG[4] = 0131
PG4
NDACK1DMA Channel 1 Acknowledge, when PINMUX_PG[5] = 0132
PG5
NRAS0DRAM Bank #0 RAS Signal, when PINMUX_PG[6] = 0133
PG6
NRAS1DRAM Bank #1 RAS Signal, when PINMUX_PG[7] = 0135
PG7
NCAS0DRAM CAS0 Signal, when PINMUX_PH[0] = 0136
PH0
NCAS1DRAM CAS1 Signal, when PINMUX_PH[1] = 0137
PH1
NCAS2DRAM CAS2 Signal, when PINMUX_PH[2] = 0138
PH2
NCAS3DRAM CAS3 Signal, when PINMUX_PH[3] = 0139
PH3
I/O
Big-endian Selection Pin, when this pin = 1(HIGH)
Note) When this pin is HIGH, External Data will be
transferred “Big-endian” format.
TACK Signal for TIC Test
UART block dedicated clock source supported.
(This clock source is used for UART and SMART Card Only)
I/O
PIO Port G[0], when PINMUX_PG[0] = 1
To ensure proper initialization after power is stable,
assert NRESET pin for at least 20µs
I/O
PIO Port G[1] = 1, when PINMUX_PG[1] = 1
I/O
PIO Port G[2], when PINMUX_PG[2] = 1
I/O
PIO Port G[3], when PINMUX_PG[3] = 1
I/O
PIO Port G[4], when PINMUX_PG[4] = 1
I/O
PIO Port G[5], when PINMUX_PG[5] = 1
I/O
PIO Port G[6], when PINMUX_PG[6] = 1
I/O
PIO Port G[7], when PINMUX_PG[7] = 1
I/O
PIO Port H[0], when PINMUX_PH[0] = 1
I/O
PIO Port H[1], when PINMUX_PH[1] = 1
I/O
PIO Port H[2], when PINMUX_PH[2] = 1
I/O
PIO Port H[3], when PINMUX_PH[3] = 1
External TTL oscillator input
18
PIN NUMBERPIN NAMETYPEDESCRIPTION
152NRDOOutput Enable Signal for Static Memory
153RDNWRORead/Write Signal
155EXPRDYIReady Signal Input
When this pin is Low, current memory transfer extended.
156EXPCLKOClock Output Signal
Active only during external cycles.
Output is same phase and speed as the bus clock
157NCS0OChip Select Signal for Bank #0
NCS pins are required to be Pull-up for proper operation.
All NCS pins are Active Low See Fig.1 memory Map(Section 2)
158NCS1OChip Select Signal for Bank #1
159NCS2OChip Select Signal for Bank #2
161NCS3OChip Select Signal for Bank #3
162NCS4I/OChip Select Signal for Bank #4, when PINMUX_PH[4] = 0
PH4PIO Port H[4], when PINMUX_PH[4] = 1
165
166
167, 169~171,
NCS5Chip Select Signal for Bank #5, when PINMUX_PH[5] = 0163
PH5
CS6Chip Select Signal for Bank #6, when PINMUX_PH[6] = 0
PH6
CS7Chip Select Signal for Bank #7, when PINMUX_PH[7] = 0
The GDC21D601 take the advantage of the AMBA(Advanced Micro-controller Bus Architecture) as the internal
Bus Architecture. The AMBA specification defines an on-chip communication standard for designing highperformance embedded micocontrollers. Two distinct buses are defined within the AMBA:
- the Advanced System Bus (ASB)
- the Advanced Peripheral Bus (APB)
The AMBA ASB is for high-performance system modules. The modules connected to ASB are DRAM Controller,
Static Memory Controller, DMA Controller, On-Chip SRAM, ARM720T CPU Core, Arbiter, Decoder, APB
Bridge, and TIC.
The AMBA APB is for low-power peripherals. AMBA APB is optimized for minimal power consumption and
reduced interface complexity to support peripheral functions. The modules connected to APB are PIO, Interrupt
Controller, PMU, WDT, RTC, Timer, UART, SSPI, and I2C.
See also AMBA Specification Rev. D (ARM IHI 0001D), and AMBA Specification Rev. 2.0 (ARM IHI 0011A)
for detail.
2. Arbiter
The AMBA bus specification is a multi-master bus standard. As a result, a bus arbiter is needed to ensure that only
one bus master has an access to the bus at any particular point of time. Each bus master can request the bus; the
Arbiter decides which has the highest priority and issues a grant signal accordingly. The GDC21D601 can have the
four bus master: ARM720T CPU Core, DMA Controller, TIC, and External Bus Master.
Every system must have a default bus master which grants the use of bus during reset, when no other bus master
requires the bus. During Power On Reset, the arbiter will grant the use of bus to the default bus master and hold all
other grant signals inactive. The ARM720T Core, the default bus master will grant for the use of bus under the
following conditions: Reset, standby, power-down, and no other master requesting the bus
The arbiter processes the requests of the ownership of the ASB and grants one ASB master according to the
arbitration scheme. The arbitration scheme of this implementation is a simple priority encoded scheme where the
highest priority master requesting the ASB is granted. The priority order is as follows:
Case 1) Aripri = ‘0’
1. TIC
2. DMA
3. External BUS Master
4. ARM (default bus master)
Case 2) Aripri = ‘1’
1. TIC
2. External BUS Master
3. DMA
4. ARM (default bus master)
20
GDC21D601
3. System Decoder
The decoder in an AMBA system is used to perform a centralized address decoding function, which gives two
main advantages:
- It improves the portability of peripherals, by making them independent of the system memory map.
- It simplifies the design of bus slaves, by centralizing the address decoding and bus control functions.
The decoder performs three main tasks:
- address decoder
- default transfer response
- protection unit
The decoder generates a select signal for each slave on the ASB bus and, under certain circumstances, will not
select any slaves and provide the transac-tion response itself.
The MCU System Memory Map is shown in Figure 1.
The decoder greatly simplifies the slave interface and removes the need for the slave to understand the different
types of transfer that may occur on the bus.
4. Memory Map
The system decoder controls the memory map of the system and generates a slave select signal for each memory
region.
The ReMap signal is used to provide a different memory map: ROM is required at address 0 when power on reset,
and RAM also may be used at address 0 during normal operation.
The ReMap signal is typically provided by a Power Management Unit (PMU) which drives ReMap to LOW at
reset. The signal is only driven to HIGH after a particular register in the PMU is accessed (See Section. 9 Power
Management Unot for detail). When ReMap is HIGH and isram signal is HIGH, then Memory Map Configuration
is MODE A which the internal SRAM is located at address 0x00. And When ReMap is HIGH and drambank0
signal is HIGH, then Memory Map Configuration is Mode B which the DRAM bank #0 is located at address 0x00.
The isram and drambank0 signal come from MCU Controller. See Section 8. MCU Controller for detail.
Figure 2. Memory map configuration shows both the Reset (MODE R) and the Normal (MODE B and MODE A)
memory map
Figure 1. shows the system memory map.
21
GDC21D601
5. Memory Format
The ARM720T CPU Core supports both the Big-Endian and Little-Endian format. And the GDC21D601 can also
support the Big-Endian and Little-Endian memory format. The GDC21D601 can support the Little-Endian Format
by default. When using the GDC21D601 as Big-Endian format: 1) set Boot Mode 2 pin to VDD, and 2) set the
ARM720T as Big-Endian mode with using Coprocessor instruction. 3) set the Big-Endian flag of the compile
options when compile. The example of the coprocessor instruction is in the below. It is noted that CP15 register
(CPU control register) can only be accessed with MRC and MCR instructions in a Privileged mode. See the
ARM720T Data Sheet (ARM DDI 0087D) for detail. The ARM720T Data Sheet is downloadable from ARM
home page (http://www.arm.com).
Note : The GDC21D601 has a EBI (External Bus Interface) block which can copy the Byte or HalfWord of the lower position in data bus to higher data bus position, so you can use the GDC21D601 as
BigEnd mode by only set the Boot Mode 2 pin to VDD and in this case you may not set the ARM720T
as BigEnd Mode.
6. Boot Mode
The GDC21D601 can support 32/16/8 Bit Boot ROM. By default MCU can boot from 32 bit ROM. In this case
Boot Mode[1:0] (pin number 116 and 117) are “00”. If you want use 16 bit Boot ROM, then you must set Boot
Mode[1:0] are “10”. And in case of Booting from 8 bit ROM, you must set Boot Mode[1:0] are “01”. It is for
reserved in case that Boot Mode[1:0] are “11” . See the Table 1. The Description of the Mode Pin.
In all case of boot mode the wait cycle of Boot area is 3 cycles. If you want to know about boot mode for detail
you must see the Section 6. Static Memory Controller.
Table 1. The Description of the Mode Pin
Mode[1:0]Bus width of Booting ROM
0032 Bit
018 Bit
1016 Bit
11Reserved
22
GDC21D601
Address
0x00FFFFFF
0x00000FFF
0x00000000
MODE R
MODE A
MODE B
0x01FFFFFF
0x2FFFFFF
nCS0
nCS1
nCS2
On-Chip RAM
nCS0 or
DRAM #0
nCS1
nCS2
nCS2
nCS1
DRAM #0
7. Multi-Function Pin
The GDC21D601 has 80 Bit PIO pins with multiplexed by other functional pins. So you must use properly these
multi-function pins by setting the PINMUX control registers in MCU controller. (See Section 8. MCU Controller
for detail)
1. MODE R : Reset Mode : default mode from power-on reset (ReMap is LOW)
2. MODE A : On-Chip SRAM in 0x0000 ~ 0x07FF range : ReMap is HIGH and isram is HIGH
3. MODE B : DRAM Bank #0 in 0x00000000 ~ 0x00FFFFFF range : Remap is HIGH and drambank0 is HIGH
Figure 2. Memory Map Configuration
23
GDC21D601
Section 3. ARM720T Core
1. General Description
ARM720T is 32bit microprocessor of general purpose with 8KB cache, enlarged write buffer and Memory
Management Unit (MMU), which are combined in a single chip. The CPU within ARM720T is the ARM7TDMI.
The ARM720T is software compatible with the ARM processor family. The ARM7TDMI is a member of the ARM
family of general purpose 32bit microprocessors, which offers high performance for very low power consumption
and price. This processor employs a unique architectural strategy known as THUMB, which makes it ideally suited
to high volume applications with memory restrictions or applications where code density is an issue.
The key idea behind THUMB is a super reduced instruction set. Essentially, the ARM7TDMI has two instruction
sets, the standard 32bit ARM set and 16bit THUMB set. The THUMB set’s 16bit instruction length allows it to
approach twice the density of standard ARM code while retaining most of the ARM`s performance advantage over
a traditional 16bit processor by using 16bit registers. This is possible because THUMB code operates on the same
32bit register set as ARM code.
See also ARM720T Datasheet (ARM DDI 0087D) for detail.
2. Feature
• 32bit RISC architecture
• Low power consumption
• ARM7TDMI core with;
- On-chip ICEbreaker debug support
- 32bit x 8 hardware multiplier
- Thumb decompressor
• Utilizes the ARM7TDMI embedded processor
- High performance 32 bit RISC architecture
- High density 16 bit instruction set
• Fully static operation : 0 ~ 80MHz
• 3-stage pipeline architecture (Fetch, decode, and execution stage)
• Enhanced ARM software toolkit
• MMU, Write Buffer, 8KB I/D Cache
24
GDC21D601
THUMB code is able to provide up to 65% of the code size of ARM, and 160% of the performance of an
equivalent ARM processor connected to a 16-bit memory system.
The DRAM controller interfaces the AMBA Advanced System Bus (ASB) to external DRAM memory banks. The
DRAM controller provides the following features:
• Up to two banks of DRAM support.
• Fast page-mode sequential access support.
• EDO DRAM support
• Word, Half-word and Byte transaction support.
• Little / Big Endian Format support.
• DRAM refresh controller using CAS-before-RAS (CBR) refresh mode.
• Programmable refresh rate.
• Power-down mode where all DRAM accesses (including self-refresh) are disabled.
• Programmable DRAM timing control.
• Row/column addresses multiplexes according to DRAM capacity.
Chip PAD
nDRAMWE
nDRAMOE
nRAS[1:0]
nCAS[3:0]
nCASFB[3:0]
Aout[23:0]
DataOut[31:0]
DataIn[31:0]
nOutEn[3:0]
DRAM Controller
Main State Machine
Address Generator
EBI Signal Control
nDRAMALatch
&
Control
Refresh
Timer & Controller
ASB Interface
&
nDRAMAMUX
nDRAMA[12:0]
nDRAMOutLEn
nDRAMInLEn[3:0]
nDRAMOutEn[3:0]
Lat
Lat
mux
Lat
nDRAMInEn
DRAMByte[1:0]
mux
mux
ASB Bus
BCLK
PDREQ
PDACK
DSELDRAM
DSELREG
BnRES
BLAST
BERROR
BWAIT
BWRITE
BSIZE[1:0]
BA[29:0]
BD[31:0]
BD[31:0]
Figure 1. DRAM Controller Module Block Diagram
27
GDC21D601
2. Hardware Interface and Signal Description
The DRAM Controller module is connected to the ASB bus. Table 1. DRAM interface ASB signal descriptions
shows the internal bus interface signals to the DRAM controller.
Table 1. DRAM Interface ASB Signal Descriptions
NAMEDESCRIPTION
BA [27:0]System address bus (excluding high order bits).
BCLKThe ASB clock timing all bus transfers.
BD [7:0]Bidirectional system data bus.
BERRORError slave response signal. It is driven to phase 1 if the DRAM controller is selected. This
signal will be asserted, when an access to the DRAM is attempted while the DRAM
controller is in its Power Down mode.
BLASTLast transfer of burst slave response signal. It can be driven to phase 1 if the DRAM
controller is selected. It is asserted in order to indicate a 256-word boundary to force a non-
sequential access.
BnRESThese signals indicate the reset status of the ASB.
BSIZE [1:0]These signals indicate the size of the transfer that may be byte, half-word, or word.
BWAITWait slave response signal. It is driven to phase 1 when the DRAM controller is selected. It
is asserted while the DRAM transaction is uncompleted.
BWRITEWhen this signal is HIGH, it indicates a write transfer and when LOW a read.
DSELDRAMWhen this signal is HIGH, it indicates that the DRAM is selected.
DSELREGWhen this signal is HIGH, it indicates that the DRAM configuration register is selected.
Table 2. DRAM interface External DRAM signal descriptions describes the DRAM controller connections to
external devices of the system and to EBI (External Bus Interface) block .
Table 2. External DRAM Signal Descriptions
NAMEDESCRIPTION
nRAS[1:0]Active LOW Row Address Strobes, one for each DRAM bank.
NCAS[3:0]Active LOW Column Address Strobes, one for each byte.
NDRAMOEActive LOW Output Enable.
NDRAMWEActive LOW Write Enable.
nCASFB[3:0]This is the nCAS[3:0] signal fed back from the output of the nCAS[3:0] pads.
PDREQPower Down Request. This signal indicates that the DRAM controller should enter into its
low-power state, causing the DRAMs to enter into self-refresh state if refresh is enabled.
When it is deasserted, the DRAM controller will exit from low power state.
PDACKPower Down Acknowledge. This signal is asserted when the DRAM controller has
successfully entered into its low-power mode. At this point BCLK may be stopped safely. It
is deasserted when the DRAM controller has successfully exited from its low power state.
DRAMAMUXDRAM Address Multiplex Select. When this signal is HIGH, it indicates to the EBI that the
DRAMA[12:0] address should be used to generate DRAMA[12:0]. This signal provides the
support for a shared EBI, and may not be needed in a system where the DRAM controller
does not share the EBI with other memory controllers. DRAMAMUX is LOW when
DRAM accesses are not performed.
28
GDC21D601
NAMEDESCRIPTION
NDRAMALatchDRAM Address Latch. When this signal is LOW, it opens the EBI address latch. This
signal is HIGH when DRAM operations do not occur. This signal provides support for a
shared EBI and may not be needed in a system where the DRAM controller does not share
the EBI with other memory controllers.
DRAMA[12:0]These multiplexed address lines are connected to the DRAM Address.
NDRAMInEnDRAM Input Enable. When this signal is LOW, it enables the EBI drivers from latched XD
to BD. This signal is HIGH when DRAM read operations are not performed.
NDRAMInLEn[3:0] DRAM Input Latch Enable. When this signal is HIGH, it shuts the EBI latches on XD. This
signal is LOW when DRAM read operations are not performed.
NDRAMOutEnDRAM Output Enable. When this signal is HIGH, it disables the EBI drivers from latched
BD to XD. This signal is low when DRAM write operations are not performed.
NDRAMOutLenDRAM Output Latch Enable. When this signal is LOW, it opens the EBI latches on BD.
This signal is HIGH when DRAM write operations are not performed.
Accesses to the DRAM Controller module are generated as a result of the address decode put out on the ASB
address bus by the current bus master (which could be the ARM CPU or the DMA engine, for example).
The following three diagrams show the timing of the external interface for read, write and refresh cycles
(Figure 2, 3, 4).
BCLK
DRAMA[12:0]
nRAS[1:0]
nCAS[1:0]
XData[31:0]
nOE
nWE
row
Figure 2. DRAM External Signal Timing: Read Cycles
colrowcol1 col2
col3
29
BCLK
GDC21D601
DRAMA[12:0]
nRAS[1:0]
nCAS[1:0]
XData[31:0]
nOE
nWE
BCLK
nRAS[1:0]
nCAS[1:0]
row
colrowcol1 col2
Data
Data1
col3
Data2 Data3
Figure 3. DRAM External Signal Timing: Write Cycles
30
nOE
nWE
Figure 4. DRAM Controller Refresh Cycle
GDC21D601
3. Functional Description
3.1 Introduction
The DRAM controller provides connections allowing a direct interface to up to two banks of DRAM. Each bank is
32/16/8 bits wide and up to 256MB in size. Two RAS lines are provided (one per bank) and four CAS lines (one
per byte line).
3.2 Functional BreakDown
The DRAM controller consists of four main blocks: the Main State Machine & Control Block, the EBI Signal
Control Block, the ASB Interface & Address Generation Block, and the Refresh Timer & Counter Block.
3.3 Main State Machine
This block contains the main DRAM timing control state machine and the decode for the external strobe signals
for the DRAM interface. The state machine generates the timing for the nCAS and nRAS strobes, and the
multiplexing of the DRAM row and column address lines for standard DRAM cycles and refresh cycles. The
nDRAMWE and nDRAMOE signals are asserted appropriately depending on the access type. Word, Half-word,
and Byte accesses are decoded from the lower bits of the BA address bus in order to assert the appropriate nCAS
line(s). For word accesses all four nCAS lines are asserted. Figure 5. Descibes the Main State Machine Diagram.
Local arbitration for refresh cycles is also carried out here as refresh requests are received from the refresh timer
block. The block also supports the self refresh DRAM; enter to and exit from this self refresh state are initiated by
the PDRREQ signal. This is illustrated in Figure 6. DRAM signal timing: power down mode.
RefReq or
!DSEL
r_IDLE
DSEL
r_RnR
CAS
r_RnC1
CAS
r_RnC2
r_RnC3
r_RnC4
!BWRITE
r_WAIT
RAS
r_CRWAIT
r_CWWAIT
BWRITE
r_WnR
r_WnC1
r_WnC2
r_WnC3
r_WnC4
Figure 5. Main State Machine Diagram
CAS
CAS
RefReq or
!DSELD1
31
Loading...
+ 159 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.