SAM9G10 - Summary

Features
• Incorporates the ARM926EJ-S™ ARM® Thumb® Processor
•
•
•
•
•
•
•
•
•
•
– DSP Instruction Extensions
– ARM Jazelle® Technology for Java® Acceleration
– 16 Kbyte Data Cache, 16 Kbyte Instruction Cache, Write Buffer
– 293 MIPS at 266 MHz
– Memory Management Unit
– EmbeddedICE™, Debug Communication Channel Support
Additional Embedded Memories
– 32 Kbytes of Internal ROM, Single-cycle Access at Maximum Bus Speed
– 16 Kbytes of Internal SRAM, Single-cycle Access at Bus Speed
External Bus Interface (EBI)
– Supports SDRAM, Static Memory, NAND Flash and CompactFlash®
LCD Controller
– Supports Passive or Active Displays
– Up to 16-bits per Pixel in STN Color Mode
– Up to 16M Colors in TFT Mode (24-bit per Pixel), Resolution up to 1280 x 860
USB
– USB 2.0 Full Speed (12 Mbits per second) Host Double Port
• OHCI Compliant
• Dual On-chip Transceivers
• Integrated FIFOs and Dedicated DMA Channels
– USB 2.0 Full Speed (12 Mbits per second) Device Port
• On-chip Transceiver, 2 Kbyte Configurable Integrated FIFOs
Bus Matrix
– Handles Five Masters and Five Slaves
– Boot Mode Select Option
– Remap Command
Fully Featured System Controller (SYSC) for Efficient System Management, including
– Reset Controller, Shutdown Controller, Four 32-bit Battery Backup Registers for a
Total of 16 Bytes
– Clock Generator and Power Management Controller
– Advanced Interrupt Controller and Debug Unit
– Periodic Interval Timer, Watchdog Timer and Real-time Timer
– Three 32-bit PIO Controllers
Reset Controller (RSTC)
– Based on Power-on Reset Cells, Reset Source Identification and Reset Output
Control
Shutdown Controller (SHDWC)
– Programmable Shutdown Pin Control and Wake-up Circuitry
Clock Generator (CKGR)
– 32,768 Hz Low-power Oscillator on Battery Backup Power Supply, Providing a
Permanent Slow Clock
– 3 to 20 MHz On-chip Oscillator and two PLLs
Power Management Controller (PMC)
– Very Slow Clock Operating Mode, Software Programmable Power Optimization
Capabilities
– Four Programmable External Clock Signals
Product
Description
AT91SAM9G10
Summary
NOTE: This is a summary document.
The complete document is available on
the Atmel website at www.atmel.com.
6462AS–ATARM–03-Jun-09
• Advanced Interrupt Controller (AIC)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
2
– Individually Maskable, Eight-level Priority, Vectored Interrupt Sources
– Three External Interrupt Sources and One Fast Interrupt Source, Spurious Interrupt Protected
Debug Unit (DBGU)
– 2-wire USART and support for Debug Communication Channel, Programmable ICE Access Prevention
– Mode for General Purpose Two-wire UART Serial Communication
Periodic Interval Timer (PIT)
– 20-bit Interval Timer plus 12-bit Interval Counter
Watchdog Timer (WDT)
– Key Protected, Programmable Only Once, Windowed 12-bit Counter, Running at Slow Clock
Real-Time Timer (RTT)
– 32-bit Free-running Backup Counter Running at Slow Clock
Three 32-bit Parallel Input/Output Controllers (PIO) PIOA, PIOB and PIOC
– 96 Programmable I/O Lines Multiplexed with up to Two Peripheral I/Os
– Input Change Interrupt Capability on Each I/O Line
– Individually Programmable Open-drain, Pull-up Resistor and Synchronous Output
– Schmitt Trigger on All Inputs
Nineteen Peripheral DMA (PDC) Channels
Multimedia Card Interface (MCI)
– SDCard/SDIO and MultiMediaCard™ Compliant
– Automatic Protocol Control and Fast Automatic Data Transfers with PDC, MMC and SDCard Compliant
Three Synchronous Serial Controllers (SSC)
– Independent Clock and Frame Sync Signals for Each Receiver and Transmitter
– I²S Analog Interface Support, Time Division Multiplex Support
– High-speed Continuous Data Stream Capabilities with 32-bit Data Transfer
Three Universal Synchronous/Asynchronous Receiver Transmitters (USART)
– Individual Baud Rate Generator, IrDA® Infrared Modulation/Demodulation
– Support for ISO7816 T0/T1 Smart Card, Hardware and Software Handshaking, RS485 Support
Two Master/Slave Serial Peripheral Interface (SPI)
– 8- to 16-bit Programmable Data Length, Four External Peripheral Chip Selects
One Three-channel 16-bit Timer/Counters (TC)
– Three External Clock Inputs, Two multi-purpose I/O Pins per Channel
– Double PWM Generation, Capture/Waveform Mode, Up/Down Capability
Two-wire Interface (TWI)
– Master Mode Support, All Two-wire Atmel EEPROMs Supported
– Compatibility with Standard Two-wire Serial Memories
– One, Two or Three Bytes for Slave Address
– Sequential Read/Write Operations
– Master, Multi-master and Slave Mode Operation
– Bit rate: up to 400 Kbits
– GEneral Call Supported in Slave Mode
IEEE® 1149.1 JTAG Boundary Scan on All Digital Pins
Required Power Supplies:
– 1.08V to 1.32V for VDDCORE and VDDBU
– 3.0V to 3.6V for VDDOSC and for VDDPLL
– 2.7V to 3.6V for VDDIOP (Peripheral I/Os)
– 1.65V to 3.6V for VDDIOM (Memory I/Os)
Available in a 217-ball LFBGA RoHS-compliant Package
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
1. Description
The AT91SAM9G10 is a complete system-on-chip built around the ARM926EJ-S ARM Thumb
processor with an extended DSP instruction set and Jazelle Java accelerator. It achieves 293
MIPS at 266 MHz.
The AT91SAM9G10 is an optimized host processor for applications with an LCD display. Its
integrated LCD controller supports BW and up to 16M color, active and passive LCD displays.
The External Bus Interface incorporates controllers for synchronous DRAM (SDRAM) and Static
memories and features specific interface circuitry for CompactFlash and NAND Flash.
The AT91SAM9G10 integrates a ROM-based Boot Loader supporting code shadowing from, for
example, external DataFlash® into external SDRAM. The software controlled Power Management Controller (PMC) keeps system power consumption to a minimum by selectively
enabling/disabling the processor and various peripherals and adjustment of the operating
frequency.
The AT91SAM9G10 also benefits from the integration of a wide range of debug features including JTAG-ICE, a dedicated UART debug channel (DBGU). This enables the development and
debug of all applications, especially those with real-time constraints.
3
6462AS–ATARM–03-Jun-09
2. Block Diagram
ARM926EJ-S Core
JTAG
Boundary Scan
ICE
Instruction Cache
16K bytes
I
DBGU
EBI
Fast SRAM
16K bytes
PDC
PLLRCA
PLLA
PLLRCB
PLLB
XIN
XOUT
OSC
5-layer
Matrix
OSC
Peripheral
Bridge
RTT
POR
VDDCORE
POR
Static
Memory
Controller
Peripheral
DMA
Controller
SHDWC
VDDBU
GNDBU
SDRAM
Controller
PIT
GPBREG
SHDN
WKUP
CompactFlash
NAND Flash
Fast ROM
32K bytes
PMC
WDT
XIN32
XOUT32
D
DMA
FIFO
RSTC
USB Host
NRST
APB
PIOA
PIOB
PIO
PIO
AIC
PIO
BIU
System Controller
TST
FIQ
IRQ0-IRQ2
DRXD
DTXD
PCK0-PCK3
Data Cache
16K bytes
MMU
FIFO
PIOC
USB Device
Transceiver
JTAGSEL
TDI
TDO
TMS
TCK
NTRST
RTCK
AT91SAM9G10 Block Diagram
BMS
D0-D15
A0/NBS0
A1/NBS2/NWR2
A2-A15/A18-A21
A22/REG
A16/BA0
A17/BA1
NCS0
NCS1/SDCS
NCS2
NCS3/NANDCS
NRD/CFOE
NWR0/NWE/CFWE
NWR1/NBS1/CFIOR
NWR3/NBS3/CFIOW
SDCK
SDCKE
RAS-CAS
SDWE
SDA10
NWAIT
A23-A24
A25/CFRNW
NCS4/CFCS0
NCS5/CFCS1
CFCE1
CFCE2
NCS6/NANDOE
NCS7/NANDWE
D16-D31
HDMA
HDPA
HDMB
HDPB
Transceiver
Figure 2-1.
DDM
DDP
DMA
MCI
LUT
LCD Controller
PDC
RXD0
TXD0
SCK0
RTS0
CTS0
USART0
RXD1
TXD1
SCK1
RTS1
CTS1
USART1
SPI0_NPCS0
SPI0_NPCS1
SPI0_NPCS2
SPI0_NPCS3
SPI0_MISO
SPI0_MOSI
SPI0_SPCK
SPI1_NPCS10
SPI1_NPCS1
SPI1_NPCS12
SPI1_NPCS3
SPI1_MISO
SPI1_MOSI
SPI1_SPCK
4
PIO
PIO
PDC
SSC0
PDC
TF0
TK0
TD0
RD0
RK0
RF0
SSC1
PDC
TF1
TK1
TD1
RD1
RK1
RF1
PIO
MCCK
MCCDA
MCDA0-MCDA3
RXD2
TXD2
SCK2
RTS2
CTS2
LCDD0-LCDD23
LCDVSYNC
LCDHSYNC
LCDDOTCK
LCDDEN
LCDCC
FIFO
PDC
USART2
SSC2
PDC
PDC
Timer Counter
SPI0
PDC
TC0
TC1
TC2
TF2
TK2
TD2
RD2
RK2
RF2
TCLK0
TCLK1
TCLK2
TIOA0
TIOB0
TIOA1
TIOB1
TIOA2
TIOB2
SPI1
TWI
PDC
TWD
TWCK
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
3. Signal Description
Table 3-1.
Signal Description by Peripheral
Signal Name
Function
Type
Active Level
Comments
Power
VDDIOM
EBI I/O Lines Power Supply
Power
1.65 V to 1.95V and 3.0V to 3.6V
VDDIOP
Peripherals I/O Lines Power Supply
Power
3.0V to 3.6V
VDDBU
Backup I/O Lines Power Supply
Power
1.08V to 1.32V
VDDPLL
PLL Power Supply
Power
3.0V to 3.6V
VDDOSC
Oscillator Power Supply
Power
3.0V to 3.6V
VDDCORE
Core Chip Power Supply
Power
1.08V to 1.32V
GND
Ground
Ground
GNDPLL
PLL Ground
Ground
GNDOSC
Oscillator Ground
Ground
GNDBU
Backup Ground
Ground
XIN
Main Oscillator Input
XOUT
Main Oscillator Output
XIN32
Slow Clock Oscillator Input
Clocks, Oscillators and PLLs
Input
Output
Input
XOUT32
Slow Clock Oscillator Output
PLLRCA
PLL Filter
Output
Input
PLLRCB
PLL Filter
Input
PCK0 - PCK3
Programmable Clock Output
SHDN
Shutdown Control
WKUP
Wake-Up Input
Output
Shutdown, Wakeup Logic
Output
Do not tie over VDDBU.
Input
Accepts between 0V and VDDBU.
ICE and JTAG
TCK
Test Clock
RTCK
Returned Test Clock
TDI
Test Data In
TDO
Test Data Out
Input
No pull-up resistor.
Output
No pull-up resistor.
Input
No pull-up resistor.
Output
TMS
Test Mode Select
Input
NTRST
Test Reset Signal
Input
JTAGSEL
JTAG Selection
Input
No pull-up resistor.
Low
Pull-up resistor.
Pull-down resistor. Accepts
between 0V and VDDBU.
Reset/Test
NRST
Microcontroller Reset
I/O
TST
Test Mode Select
Input
BMS
Boot Mode Select
Input
DRXD
Debug Receive Data
Input
DTXD
Debug Transmit Data
Output
Low
Pull-up resistor
Pull-down resistor.
Debug Unit
5
6462AS–ATARM–03-Jun-09
Table 3-1.
Signal Description by Peripheral (Continued)
Signal Name
Function
Type
IRQ0 - IRQ2
External Interrupt Inputs
Input
FIQ
Fast Interrupt Input
Input
Active Level
Comments
AIC
PIO
PA0 - PA31
Parallel IO Controller A
I/O
Pulled-up input at reset
PB0 - PB31
Parallel IO Controller B
I/O
Pulled-up input at reset
PC0 - PC31
Parallel IO Controller C
I/O
Pulled-up input at reset
I/O
Pulled-up input at reset
EBI
D0 - D31
Data Bus
A0 - A25
Address Bus
NWAIT
External Wait Signal
Output
0 at reset
Input
Low
Output
Low
SMC
NCS0 - NCS7
Chip Select Lines
NWR0 - NWR3
Write Signal
Output
Low
NRD
Read Signal
Output
Low
NWE
Write Enable
Output
Low
NBS0 - NBS3
Byte Mask Signal
Output
Low
CFCE1 - CFCE2
CompactFlash Chip Enable
Output
Low
CFOE
CompactFlash Output Enable
Output
Low
CFWE
CompactFlash Write Enable
Output
Low
CFIOR
CompactFlash IO Read
Output
Low
CFIOW
CompactFlash IO Write
Output
Low
CFRNW
CompactFlash Read Not Write
Output
CFCS0 - CFCS1
CompactFlash Chip Select Lines
Output
NANDOE
NAND Flash Output Enable
Output
Low
NANDWE
NAND Flash Write Enable
Output
Low
NANDCS
NAND Flash Chip Select
Output
Low
SDCK
SDRAM Clock
Output
SDCKE
SDRAM Clock Enable
Output
High
SDCS
SDRAM Controller Chip Select
Output
Low
BA0 - BA1
Bank Select
Output
SDWE
SDRAM Write Enable
Output
Low
RAS - CAS
Row and Column Signal
Output
Low
SDA10
SDRAM Address 10 Line
Output
MCCK
Multimedia Card Clock
MCCDA
Multimedia Card A Command
I/O
MCDA0 - MCDA3
Multimedia Card A Data
I/O
CompactFlash Support
Low
NAND Flash Support
SDRAM Controller
Multimedia Card Interface
6
Output
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
Table 3-1.
Signal Description by Peripheral (Continued)
Signal Name
Function
Type
SCK0 - SCK2
Serial Clock
TXD0 - TXD2
Transmit Data
Output
RXD0 - RXD2
Receive Data
Input
RTS0 - RTS2
Request To Send
CTS0 - CTS2
Clear To Send
Active Level
Comments
USART
I/O
Output
Input
Synchronous Serial Controller
TD0 - TD2
Transmit Data
Output
RD0 - RD2
Receive Data
Input
TK0 - TK2
Transmit Clock
I/O
RK0 - RK2
Receive Clock
I/O
TF0 - TF2
Transmit Frame Sync
I/O
RF0 - RF2
Receive Frame Sync
I/O
TCLK0 - TCLK2
External Clock Input
TIOA0 - TIOA2
I/O Line A
I/O
TIOB0 - TIOB2
I/O Line B
I/O
Timer/Counter
Input
SPI
SPI0_MISO SPI1_MISO
Master In Slave Out
I/O
SPI0_MOSI SPI1_MOSI
Master Out Slave In
I/O
SPI0_SPCK SPI1_SPCK
SPI Serial Clock
I/O
SPI0_NPCS0,
SPI1_NPCS0
SPI Peripheral Chip Select 0
I/O
Low
SPI0_NPCS1 SPI0_NPCS3
SPI1_NPCS1 SPI1_NPCS3
SPI Peripheral Chip Select
Output
Low
TWD
Two-wire Serial Data
I/O
TWCK
Two-wire Serial Clock
I/O
Two-Wire Interface
LCD Controller
LCDD0 - LCDD23
LCD Data Bus
Output
LCDVSYNC
LCD Vertical Synchronization
Output
LCDHSYNC
LCD Horizontal Synchronization
Output
LCDDOTCK
LCD Dot Clock
Output
LCDDEN
LCD Data Enable
Output
LCDCC
LCD Contrast Control
Output
USB Device Port
DDM
USB Device Port Data -
Analog
DDP
USB Device Port Data +
Analog
7
6462AS–ATARM–03-Jun-09
Table 3-1.
Signal Description by Peripheral (Continued)
Signal Name
Function
Type
HDMA
USB Host Port A Data -
Analog
HDPA
USB Host Port A Data +
Analog
HDMB
USB Host Port B Data -
Analog
HDPB
USB Host Port B Data +
Analog
Active Level
Comments
USB Host Port
8
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
4. Package and Pinout
The AT91SAM9G10 is available in a 217-ball LFBGA RoHS-compliant package, 15 x 15 mm,
0.8 mm ball pitch
4.1
217-ball LFBGA Package Outline
Figure 4-1 shows the orientation of the 217-ball LFBGA Package.
A detailed mechanical description is given in the section “AT91SAM9G10 Mechanical Characteristics” of the product datasheet.
Figure 4-1.
217-ball LFBGA Package Outline (Top View)
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
A B C D E F G H J K L M N P R T U
Ball A1
9
6462AS–ATARM–03-Jun-09
4.2
Pinout
AT91SAM9G10 Pinout for 217-ball LFBGA Package (1)
Table 4-1.
Pin
Signal Name
Pin
Signal Name
Pin
Signal Name
Pin
Signal Name
A1
A19
D5
VDDCORE
J14
VDDIOP
P17
PA20
A2
A16/BA0
D6
A10
J15
PB9
R1
PC19
A3
A14
D7
A5
J16
PB6
R2
PC21
A4
A12
D8
A0/NBS0
J17
PB4
R3
GND
A5
A9
D9
SHDN
K1
D6
R4
PC27
A6
A6
D10
NC
K2
D8
R5
PC29
A7
A3
D11
VDDIOP
K3
D10
R6
PC4
A8
A2
D12
PB29
K4
D7
R7
PC8
A9
NC
D13
PB28
K8
GND
R8
PC12
A10
XOUT32
D14
PB23
K9
GND
R9
PC14
A11
XIN32
D15
PB20
K10
GND
R10
VDDPLL
A12
DDP
D16
PB17
K14
VDDCORE
R11
PA0
A13
HDPB
D17
TCK
K15
PB3/BMS
R12
PA7
A14
HDMB
E1
NWR1/NBS1/CFIOR
K16
PB1
R13
PA10
A15
PB27
E2
NWR0/NWE/CFWE
K17
PB2
R14
PA13
A16
GND
E3
NRD/CFOE
L1
D9
R15
PA17
A17
PB24
E4
SDA10
L2
D11
R16
GND
B1
A20
E14
PB22
L3
D12
R17
PA18
B2
A18
E15
PB18
L4
VDDIOM
T1
PC20
B3
A15
E16
PB15
L14
PA30
T2
PC23
B4
A13
E17
TDI
L15
PA27
T3
PC26
B5
A11
F1
SDCKE
L16
PA31
T4
PC2
B6
A7
F2
RAS
L17
PB0
T5
VDDIOP
B7
A4
F3
NWR3/NBS3/CFIOW
M1
D13
T6
PC5
PC9
B8
A1/NBS2/NWR2
F4
NCS0
M2
D15
T7
B9
VDDBU
F14
PB16
M3
PC18
T8
PC10
B10
JTAGSEL
F15
NRST
M4
VDDCORE
T9
PC15
B11
WKUP
F16
TDO
M14
PA25
T10
VDDOSC
B12
DDM
F17
NTRST
M15
PA26
T11
GNDOSC
B13
PB31
G1
D0
M16
PA28
T12
PA1
B14
HDMA
G2
D1
M17
PA29
T13
PA4
B15
PB26
G3
SDWE
N1
D14
T14
PA6
B16
PB25
G4
NCS3/NANDCS
N2
PC17
T15
PA8
B17
PB19
G14
PB14
N3
PC31
T16
PA11
C1
A22
G15
PB12
N4
VDDIOM
T17
PA14
C2
A21
G16
PB11
N14
PA22
U1
PC25
C3
VDDIOM
G17
PB8
N15
PA21
U2
PC0
C4
A17/BA1
H1
D2
N16
PA23
U3
PC3
C5
VDDIOM
H2
D3
N17
PA24
U4
GND
C6
A8
H3
VDDIOM
P1
PC16
U5
PC6
C7
GND
H4
SDCK
P2
PC30
U6
VDDIOP
C8
VDDIOM
H8
GND
P3
PC22
U7
GND
C9
GNDBU
H9
GND
P4
PC24
U8
PC13
C10
TST
H10
GND
P5
PC28
U9
PLLRCB
C11
GND
H14
PB10
P6
PC1
U10
PLLRCA
C12
HDPA
H15
PB13
P7
PC7
U11
XIN
C13
PB30
H16
PB7
P8
PC11
U12
XOUT
C14
NC
H17
PB5
P9
GNDPLL
U13
PA2
C15
VDDIOP
J1
D4
P10
PA3
U14
PA5
C16
PB21
J2
D5
P11
VDDIOP
U15
PA12
C17
TMS
J3
GND
P12
VDDCORE
U16
PA9
D1
NCS2
J4
CAS
P13
PA15
U17
RTCK
D2
NCS1/SDCS
J8
GND
P14
PA16
D3
GND
J9
GND
P15
VDDIOP
D4
VDDIOM
J10
GND
P16
PA19
Note:
10
1. Shaded cells define the pins powered by VDDIOM.
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
5. Power Considerations
5.1
Power Supplies
The AT91SAM9G10 has six types of power supply pins:
• VDDCORE pins: Power the core, including the processor, the memories and the peripherals;
voltage ranges from 1.08V and 1.32V, 1.2V nominal.
• VDDIOM pins: Power the External Bus Interface I/O lines; voltage ranges from 1.65V to
1.95V and 3.0V to 3.6V, 1.8V and 3.3V nominal.
• VDDIOP pins: Power the Peripheral I/O lines and the USB transceivers; voltage ranges from
2.7V and 3.6V, 3.3V nominal.
• VDDBU pin: Powers the Slow Clock oscillator and a part of the System Controller; voltage
ranges from 1.08V and 1.32V, 1.2V nominal.
• VDDPLL pin: Powers the PLL cells; voltage ranges from 3.0V and 3.6V, 3.3V nominal.
• VDDOSC pin: Powers the Main Oscillator cells; voltage ranges from 3.0V and 3.6V, 3.3V
nominal.
The double power supplies VDDIOM and VDDIOP are identified in Table 4-1 on page 10. These
supplies enable the user to power the device differently for interfacing with memories and for
interfacing with peripherals.
Ground pins GND are common to VDDCORE, VDDIOM and VDDIOP pins power supplies. Separated ground pins are provided for VDDBU, VDDOSC and VDDPLL. The ground pins are
GNDBU, GNDOSC and GNDPLL, respectively.
6. I/O Line Considerations
6.1
JTAG Port Pins
TMS, TDI and TCK are Schmitt trigger inputs and have no pull-up resistors.
TDO and RTCK are outputs, driven at up to VDDIOP, and have no pull-up resistor.
The JTAGSEL pin is used to select the JTAG boundary scan when asserted at a high level (tied
to VDDBU). It integrates a permanent pull-down resistor of about 15 kΩ to GNDBU, so that it can
be left unconnected for normal operations.
The NTRST pin is used to initialize the embedded ICE TAP Controller when asserted at a low
level. It integrates a permanent pull-up resistor of about 15 kΩ to VDDIOP, so that it can be left
unconnected for normal operations.
6.2
Test Pin
The TST pin is used for manufacturing test purposes when asserted high. It integrates a permanent pull-down resistor of about 15 kΩ to GNDBU, so that it can be left unconnected for normal
operations. Driving this line at a high level leads to unpredictable results.
6.3
Reset Pin
NRST is an open-drain output integrating a non-programmable pull-up resistor. It can be driven
with voltage at up to VDDIOP. As the product integrates power-on reset cells, the NRST pin can
be left unconnected in case no reset from the system needs to be applied to the product.
11
6462AS–ATARM–03-Jun-09
The NRST pin integrates a permanent pull-up resistor of 100 kΩ minimum to VDDIOP.
The NRST signal is inserted in the Boundary Scan.
6.4
PIO Controller A, B and C Lines
All the I/O lines PA0 to PA31, PB0 to PB31, and PC0 to PC31 integrate a programmable pull-up
resistor of 100 kΩ. Programming of this pull-up resistor is performed independently for each I/O
line through the PIO Controllers.
After reset, all the I/O lines default as inputs with pull-up resistors enabled, except those which
are multiplexed with the External Bus Interface signals that require to be enabled as Peripherals
at reset. This is explicitly indicated in the column “Reset State” of the PIO Controller multiplexing
tables.
6.5
Shutdown Logic Pins
The SHDN pin is an output only, driven by Shutdown Controller.
The pin WKUP is an input only. It can accept voltages only between 0V and VDDBU.
12
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
7. Processor and Architecture
7.1
ARM926EJ-S Processor
• RISC Processor Based on ARM v5TEJ Architecture with Jazelle technology for Java
acceleration
• Two Instruction Sets
– ARM High-performance 32-bit Instruction Set
– Thumb High Code Density 16-bit Instruction Set
• DSP Instruction Extensions
• 5-Stage Pipeline Architecture:
– Instruction Fetch (F)
– Instruction Decode (D)
– Execute (E)
– Data Memory (M)
– Register Write (W)
• 16 Kbyte Data Cache, 16 Kbyte Instruction Cache
– Virtually-addressed 4-way Associative Cache
– Eight words per line
– Write-through and Write-back Operation
– Pseudo-random or Round-robin Replacement
• Write Buffer
– Main Write Buffer with 16-word Data Buffer and 4-address Buffer
– DCache Write-back Buffer with 8-word Entries and a Single Address Entry
– Software Control Drain
• Standard ARM v4 and v5 Memory Management Unit (MMU)
– Access Permission for Sections
– Access Permission for large pages and small pages can be specified separately for
each quarter of the page
– 16 embedded domains
• Bus Interface Unit (BIU)
– Arbitrates and Schedules AHB Requests
– Separate Masters for both instruction and data access providing complete AHB
system flexibility
– Separate Address and Data Buses for both the 32-bit instruction interface and the
32-bit data interface
– On Address and Data Buses, data can be 8-bit (Bytes), 16-bit (Half-words) or 32-bit
(Words)
13
6462AS–ATARM–03-Jun-09
7.2
Debug and Test Features
• Integrated Embedded In-circuit Emulator Real-Time
– Two real-time Watchpoint Units
– Two Independent Registers: Debug Control Register and Debug Status Register
– Test Access Port Accessible through JTAG Protocol
– Debug Communications Channel
• Debug Unit
– Two-pin UART
– Debug Communication Channel Interrupt Handling
– Chip ID Register
• IEEE1149.1 JTAG Boundary-scan on All Digital Pins
7.3
Bus Matrix
• Five Masters and Five Slaves handled
– Handles Requests from the ARM926EJ-S, USB Host Port, LCD Controller and the
Peripheral DMA Controller to internal ROM, internal SRAM, EBI, APB, LCD
Controller and USB Host Port.
– Round-Robin Arbitration (three modes supported: no default master, last accessed
default master, fixed default master)
– Burst Breaking with Slot Cycle Limit
• One Address Decoder Provided per Master
– Three different slaves may be assigned to each decoded memory area: one for
internal boot, one for external boot, one after remap.
• Boot Mode Select Option
– Non-volatile Boot Memory can be Internal or External.
– Selection is made by BMS pin sampled at reset.
• Remap Command
– Allows Remapping of an Internal SRAM in Place of the Boot Non-Volatile Memory
– Allows Handling of Dynamic Exception Vectors
7.4
Peripheral DMA Controller
• Transfers from/to peripheral to/from any memory space without intervention of the processor.
• Next Pointer Support, forbids strong real-time constraints on buffer management.
• Nineteen channels
– Two for each USART
– Two for the Debug Unit
– Two for each Serial Synchronous Controller
– Two for each Serial Peripheral Interface
– One for the Multimedia Card Interface
14
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
8. Memories
Figure 8-1.
AT91SAM9G10 Memory Mapping
Address Memory Space
Internal Memory Mapping
0x0000 0000
Notes :
(1) Can be ROM, EBI_NCS0 or SRAM
depending on BMS and REMAP
0x0000 0000
Internal Memories
Boot Memory (1)
256M Bytes
0x10 0000
0x0FFF FFFF
0x1000 0000
Reserved
EBI
Chip Select 0
256M Bytes
0x20 0000
Reserved
0x1FFF FFFF
0x2000 0000
0x30 0000
EBI
Chip Select 1/
SDRAMC
0x2FFF FFFF
256M Bytes
0x3000 0000
EBI
Chip Select 2
EBI
Chip Select 3/
NAND Flash
0x5FFF FFFF
0x6000 0000
0x6FFF FFFF
ROM
1M Bytes
UHP User Interface
1M Bytes
LCD User Interface
1M Bytes
256M Bytes
0x60 0000
256M Bytes
0x70 0000
0x4FFF FFFF
0x5000 0000
1M Bytes
0x50 0000
0x3FFF FFFF
0x4000 0000
SRAM
0x40 0000
Reserved
EBI
Chip Select 4/
Compact Flash
Slot 0
256M Bytes
EBI
Chip Select 5/
Compact Flash
Slot 1
256M Bytes
0x0FFF FFFF
System Controller Mapping
0x7000 0000
0xFFFF C000
EBI
Chip Select 6
256M Bytes
Reserved
Peripheral Mapping
0x7FFF FFFF
0x8000 0000
0xF000 0000
EBI
Chip Select 7
Reserved
256M Bytes
0xFFFF EA00
0xFFFA 0000
0x8FFF FFFF
0x9000 0000
TCO, TC1, TC2
16K Bytes
UDP
16K Bytes
MCI
16K Bytes
TWI
16K Bytes
0xFFFA 4000
SMC
512 Bytes
MATRIX
512 Bytes
AIC
512 Bytes
DBGU
512 Bytes
PIOA
512 Bytes
PIOB
512 bytes
PIOC
512 bytes
0xFFFF F000
0xFFFA C000
0xFFFB 0000
0xFFFF F200
USART0
16K Bytes
0xFFFF F400
0xFFFB 4000
USART1
16K Bytes
0xFFFF F600
0xFFFB 8000
1,518M Bytes
512 Bytes
0xFFFF EE00
0xFFFA 8000
Undefined
(Abort)
SDRAMC
0xFFFF EC00
USART2
16K Bytes
0xFFFB C000
0xFFFF F800
SSC0
16K Bytes
SSC1
16K Bytes
SSC2
16K Bytes
SPI0
16K Bytes
0xFFFC 0000
0xFFFF FA00
Reserved
0xFFFC 4000
0xFFFF FC00
0xFFFC 8000
0xFFFF FD10
0xFFFC C000
SPI1
16K Bytes
0xFFFF FD40
Reserved
0xF000 0000
Internal Peripherals
256M Bytes
0xFFFF FD50
0xFFFF FD60
0xFFFF C000
SYSC
0xFFFF FFFF
0xFFFF FFFF
0xFFFF FD20
0xFFFF FD30
0xFFFC D000
0xEFFF FFFF
PMC
256 Bytes
0xFFFF FD00
RSTC
16 Bytes
SHDWC
16 Bytes
RTT
16 Bytes
PIT
16 Bytes
WDT
16 Bytes
GPBR
16 Bytes
Reserved
16K Bytes
0xFFFF FFFF
15
6462AS–ATARM–03-Jun-09
A first level of address decoding is performed by the Bus Matrix, i.e., the implementation of the
Advanced High performance Bus (AHB) for its Master and Slave interfaces with additional
features.
Decoding breaks up the 4 Gbytes of address space into 16 areas of 256 Mbytes. The areas 1 to
8 are directed to the EBI that associates these areas to the external chip selects NCS0 to NCS7.
The area 0 is reserved for the addressing of the internal memories, and a second level of decoding provides 1 Mbyte of internal memory area. The area 15 is reserved for the peripherals and
provides access to the Advanced Peripheral Bus (APB).
Other areas are unused and performing an access within them provides an abort to the master
requesting such an access.
The Bus Matrix manages five Masters and five Slaves.
Each Master has its own bus and its own decoder, thus allowing a different memory mapping
per Master.
Regarding Master 0 and Master 1 (ARM926™ Instruction and Data), three different Slaves are
assigned to the memory space decoded at address 0x0: one for internal boot, one for external
boot, one after remap. Refer to Table 8-3 for details.
Table 8-1.
List of Bus Matrix Masters
Master 0
ARM926 Instruction
Master 1
ARM926 Data
Master 2
PDC
Master 3
LCD Controller
Master 4
USB Host
Each Slave has its own arbiter, thus allowing a different arbitration per Slave.
Table 8-2.
8.1
List of Bus Matrix Slaves
Slave 0
Internal SRAM
Slave 1
Internal ROM
Slave 2
LCD Controller and USB Host Port Interfaces
Slave 3
External Bus Interface
Slave 4
Internal Peripherals
Embedded Memories
• 32 KB ROM
– Single Cycle Access at full bus speed
• 16 KB Fast SRAM
– Single Cycle Access at full bus speed
16
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
8.1.1
Internal Memory Mapping
Table 8-3 summarizes the Internal Memory Mapping for each Master, depending on the Remap
status and the BMS state at reset.
Table 8-3.
Internal Memory Mapping
Address
Master 0: ARM926 Instruction
REMAP(RCB0) = 0
0x0000 0000
Note:
BMS = 1
BMS = 0
Int. ROM
EBI NCS0(1)
Master 1: ARM926 Data
REMAP (RCB0) = 1
Int. RAM C
REMAP (RCB1) = 0
BMS = 1
BMS = 0
Int. ROM
EBI NCS0(1)
REMAP (RCB1) = 1
Int. RAM C
1. EBI NCS0 is to be connected to a 16-bit non-volatile memory. The access configuration is defined by the reset state of SMC
Setup, SMC Pulse, SMC Cycle and SMC Mode CS0 registers.
8.1.1.1
Internal SRAM
The AT91SAM9G10 embeds a high-speed 16-Kbyte SRAM.
8.1.1.2
Internal ROM
The AT91SAM9G10 integrates a 32-Kbyte Internal ROM mapped at address 0x0040 0000. It is
also accessible at address 0x0 after reset and before remap if the BMS is tied high during reset.
8.1.1.3
USB Host Port
The AT91SAM9G10 integrates a USB Host Port Open Host Controller Interface (OHCI). The
registers of this interface are directly accessible on the AHB Bus and are mapped like a standard
internal memory at address 0x0050 0000.
8.1.1.4
LCD Controller
The AT91SAM9G10 integrates an LCD Controller. The interface is directly accessible on the
AHB Bus and is mapped like a standard internal memory at address 0x0060 0000.
8.1.2
Boot Strategies
The system always boots at address 0x0. To ensure a maximum number of possibilities for boot,
the memory layout can be configured with two parameters.
REMAP allows the user to lay out the first internal SRAM bank to 0x0 to ease development. This
is done by software once the system has booted for each Master of the Bus Matrix. Refer to the
Bus Matrix Section for more details.
When REMAP = 0, BMS allows the user to lay out to 0x0, at his convenience, the ROM or an
external memory. This is done via hardware at reset.
Note:
Memory blocks not affected by these parameters can always be seen at their specified base
addresses. See the complete memory map presented in Figure 8-1 on page 15.
The AT91SAM9G10 Bus Matrix manages a boot memory that depends on the level on the BMS
pin at reset. The internal memory area mapped between address 0x0 and 0x000F FFFF is
reserved for this purpose.
If BMS is detected at 1, the boot memory is the embedded ROM.
If BMS is detected at 0, the boot memory is the memory connected on the Chip Select 0 of the
External Bus Interface.
17
6462AS–ATARM–03-Jun-09
8.1.2.1
BMS = 1, Boot on Embedded ROM
The system boots using the Boot Program.
• Enable the 32,768 Hz oscillator
• Auto baudrate detection
• Downloads and runs an application from external storage media into internal SRAM
• Automatic detection of valid application
• Bootloader on a non-volatile memory
– SPI Serial Flash or DataFlash® connected on NPCS0 of the SPI0
– NAND Flash
– SDCard (boot ROM does not support high-capacity SDCards)
• SAM-BA Boot in case no valid program is detected in external NVM, supporting
– Serial communication on a DBGU
– USB Device HS Port
8.1.2.2
BMS = 0, Boot on External Memory
• Boot on slow clock (32,768 Hz)
• Boot with the default configuration for the Static Memory Controller, byte select mode, 16-bit
data bus, Read/Write controlled by Chip Select, allows boot on 16-bit non-volatile memory.
The customer-programmed software must perform a complete configuration.
To speed up the boot sequence when booting at 32 kHz EBI CS0 (BMS=0), the user must take
the following steps:
1. Program the PMC (main oscillator enable or bypass mode).
2. Program and start the PLL.
3. Reprogram the SMC setup, cycle, hold, mode timings registers for CS0 to adapt them
to the new clock
4. Switch the main clock to the new value.
8.2
External Memories
The external memories are accessed through the External Bus Interface (Bus Matrix Slave 3).
Refer to the memory map in Figure 8-1 on page 15.
18
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
9. System Controller
The System Controller manages all vital blocks of the microcontroller: interrupts, clocks, power,
time, debug and reset.
The System Peripherals are all mapped within the highest 6 Kbytes of address space, between
addresses 0xFFFF EA00 and 0xFFFF FFFF. Each peripheral has an address space of 256 or
512 Bytes, representing 64 or 128 registers.
Figure 9-1 on page 20 shows the System Controller block diagram.
Figure 8-1 on page 15 shows the mapping of the User Interfaces of the System Controller
peripherals.
19
6462AS–ATARM–03-Jun-09
9.1
Block Diagram
Figure 9-1.
System Controller Block Diagram
System Controller
irq0-irq2
fiq
nirq
nfiq
Advanced
Interrupt
Controller
periph_irq[2..21]
int
pit_irq
rtt_irq
wdt_irq
dbgu_irq
pmc_irq
rstc_irq
ice_nreset
MCK
periph_nreset
dbgu_irq
force_ntrst
dbgu_txd
Debug
Unit
dbgu_rxd
MCK
debug
periph_nreset
SLCK
debug
idle
proc_nreset
pit_irq
Watchdog
Timer
wdt_irq
ice_nreset
jtag_nreset
Reset
Controller
periph_nreset
proc_nreset
backup_nreset
rstc_irq
VDDBU
POR
jtag_nreset
SLCK
backup_nreset
Real-Time
Timer
SLCK
rtt_alarm
SHDN
rtt_irq
rtt_alarm
Shutdown
Controller
Boundary Scan
TAP Controller
UDPCK
periph_clk[10]
USB Device
Port
periph_irq[10]
usb_suspend
periph_clk[20]
VDDBU Powered
Bus Matrix
UHPCK
backup_nreset
SLOW
CLOCK
OSC
periph_nreset
periph_nreset
SLCK
XIN
PCK
MCK
VDDCORE
POR
XOUT32
proc_nreset
wdt_fault
WDRPROC
NRST
XIN32
ARM926EJ-S
debug
Periodic
Interval
Timer
VDDCORE Powered
WKUP
ntrst
force_ntrst
periph_nreset
4 General-purpose
Backup Registers
USB Host
Port
periph_irq[20]
SLCK
periph_clk[2..21]
pck[0-3]
MAIN
OSC
MAINCK
XOUT
PLLRCA
PLLA
PLLACK
PLLRCB
PLLB
PLLBCK
Power
Management
Controller
int
periph_nreset
usb_suspend
periph_nreset
periph_clk[2..4]
dbgu_rxd
PA0-PA31
PB0-PB31
LCDCK
periph_clk[21]
PCK
UDPCK
UHPCK
LCDCK
MCK
periph_nreset
pmc_irq
periph_clk[6..21]
idle
LCD
Controller
periph_irq[21]
periph_nreset
Embedded
Peripherals
PIO
Controllers
periph_irq{2..4]
irq0-irq2
fiq
dbgu_txd
periph_irq[6..21]
in
out
enable
PC0-PC31
20
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
9.2
Reset Controller
• Based on two Power-on-Reset cells
• Status of the last reset
– Either cold reset, first reset, soft reset, user reset, watchdog reset, wake-up reset
• Controls the internal resets and the NRST pin output
9.3
Shutdown Controller
• Shutdown and Wake-up logic:
– Software programmable assertion of the SHDN pin
– Deassertion Programmable on a WKUP pin level change or on alarm
9.4
General-purpose Backup Registers
• Four 32-bit general-purpose backup registers
9.5
Clock Generator
• Embeds the Low-power 32,768 Hz Slow Clock Oscillator
– Provides the permanent Slow Clock to the system
• Embeds the Main Oscillator
– Oscillator bypass feature
– Supports 3 to 20 MHz crystals
• Embeds Two PLLs
– Outputs 80 to 300 MHz clocks
– Integrates an input divider to increase output accuracy
– 1 MHz minimum input frequency
• Provides SLCK, MAINCK, PLLACK and PLLBCK.
Figure 9-2.
Clock Generator Block Diagram
Clock Generator
XIN32
Slow Clock
Oscillator
Slow Clock
SLCK
Main
Oscillator
Main Clock
MAINCK
PLLRCA
PLL and
Divider A
PLLA Clock
PLLACK
PLLRCB
PLL and
Divider B
PLLB Clock
PLLBCK
XOUT32
XIN
XOUT
Status
Control
Power
Management
Controller
21
6462AS–ATARM–03-Jun-09
9.6
Power Management Controller
• The Power Management Controller provides:
– the Processor Clock PCK
– the Master Clock MCK
– the USB Clock USBCK (HCK0)
– the LCD Controller Clock LCDCK (HCK1)
– up to thirty peripheral clocks
– four programmable clock outputs: PCK0 to PCK3
Figure 9-3.
Power Management Controller Block Diagram
Processor
Clock
Controller
int
Master Clock Controller
SLCK
MAINCK
PLLACK
PLLBCK
PCK
Idle Mode
Divider
/1,/2,/3,/4
Prescaler
/1,/2,/4,...,/64
MCK
APB Peripherals
Clock Controller
periph_clk[2..21]
ON/OFF
AHB Peripherals
Clock Controller
HCKx
ON/OFF
Programmable Clock Controller
SLCK
MAINCK
PLLACK
PLLBCK
PLLBCK
9.7
Prescaler
/1,/2,/4,...,/64
USB Clock Controller
ON/OFF
Divider
/1,/2,/4
pck[0..3]
usb_suspend
UDPCK
UHPCK
Periodic Interval Timer
• Includes a 20-bit Periodic Counter with less than 1 µs accuracy
• Includes a 12-bit Interval Overlay Counter
• Real time OS or Linux®/WindowsCE® compliant tick generator
9.8
Watchdog Timer
• 12-bit key-protected only-once programmable counter
• Windowed, prevents the processor to be in a dead-lock on the watchdog access
9.9
Real-time Timer
• 32-bit Free-running backup counter
• Alarm Register capable to generate a wake-up of the system
22
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
9.10
Advanced Interrupt Controller
• Controls the interrupt lines (nIRQ and nFIQ) of an ARM Processor
• Thirty-two individually maskable and vectored interrupt sources
– Source 0 is reserved for the Fast Interrupt Input (FIQ)
– Source 1 is reserved for system peripherals (PIT, RTT, PMC, DBGU, etc.)
– Source 2 to Source 31 control up to thirty embedded peripheral interrupts or external
interrupts
– Programmable edge-triggered or level-sensitive internal sources
– Programmable positive/negative edge-triggered or high/low level-sensitive
• Four External Sources
• 8-level Priority Controller
– Drives the normal interrupt of the processor
– Handles priority of the interrupt sources 1 to 31
– Higher priority interrupts can be served during service of lower priority interrupt
• Vectoring
– Optimizes Interrupt Service Routine Branch and Execution
– One 32-bit Vector Register per interrupt source
– Interrupt Vector Register reads the corresponding current Interrupt Vector
• Protect Mode
– Easy debugging by preventing automatic operations when protect mode is enabled
• Fast Forcing
– Permits redirecting any normal interrupt source on the Fast Interrupt of the
processor
• General Interrupt Mask
– Provides processor synchronization on events without triggering an interrupt
9.11
Debug Unit
• Composed of four functions
– Two-pin UART
– Debug Communication Channel (DCC) support
– Chip ID Registers
– ICE Access Prevention
• Two-pin UART
– Implemented features are 100% compatible with the standard Atmel USART
– Independent receiver and transmitter with a common programmable Baud Rate
Generator
– Even, Odd, Mark or Space Parity Generation
– Parity, Framing and Overrun Error Detection
– Automatic Echo, Local Loopback and Remote Loopback Channel Modes
– Support for two PDC channels with connection to receiver and transmitter
• Debug Communication Channel Support
23
6462AS–ATARM–03-Jun-09
– Offers visibility of COMMRX and COMMTX signals from the ARM Processor
• Chip ID Registers
– Identification of the device revision, sizes of the embedded memories, set of
peripherals
• ICE Access prevention
– Enables software to prevent system access through the ARM Processor’s ICE
– Prevention is made by asserting the NTRST line of the ARM Processor’s ICE
9.12
PIO Controllers
• Three PIO Controllers, each controlling up to 32 programmable I/O Lines
– PIOA has 32 I/O Lines
– PIOB has 32 I/O Lines
– PIOC has 32 I/O Lines
• Fully programmable through Set/Clear Registers
• Multiplexing of two peripheral functions per I/O Line
• For each I/O Line (whether assigned to a peripheral or used as general-purpose I/O)
– Input change interrupt
– Glitch filter
– Multi-drive option enables driving in open drain
– Programmable pull up on each I/O line
– Pin data status register, supplies visibility of the level on the pin at any time
• Synchronous output, provides Set and Clear of several I/O lines in a single write
24
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
10. Peripherals
10.1
User Interface
The User Peripherals are mapped in the upper 256 Mbytes of the address space between the
addresses 0xFFFA 0000 and 0xFFFC FFFF. Each User Peripheral is allocated 16 Kbytes of
address space.
A complete memory map is presented in Figure 8-1 on page 15.
10.2
Peripheral Identifiers
Table 10-1 defines the Peripheral Identifiers of the AT91SAM9G10. A peripheral identifier is
required for the control of the peripheral interrupt with the Advanced Interrupt Controller and for
the control of the peripheral clock with the Power Management Controller.
Table 10-1.
Peripheral Identifiers
Peripheral ID
Peripheral Mnemonic
Peripheral Name
External Interrupt
0
AIC
Advanced Interrupt Controller
FIQ
1
SYSIRQ
System Interrupt
2
PIOA
Parallel I/O Controller A
3
PIOB
Parallel I/O Controller B
4
PIOC
Parallel I/O Controller C
5
-
Reserved
6
US0
USART 0
7
US1
USART 1
8
US2
USART 2
9
MCI
Multimedia Card Interface
10
UDP
USB Device Port
11
TWI
Two-Wire Interface
12
SPI0
Serial Peripheral Interface 0
13
SPI1
Serial Peripheral Interface 1
14
SSC0
Synchronous Serial Controller 0
15
SSC1
Synchronous Serial Controller 1
16
SSC2
Synchronous Serial Controller 2
17
TC0
Timer/Counter 0
18
TC1
Timer/Counter 1
19
TC2
Timer/Counter 2
20
UHP
USB Host Port
21
LCDC
LCD Controller
22 - 28
-
Reserved
29
AIC
Advanced Interrupt Controller
IRQ0
30
AIC
Advanced Interrupt Controller
IRQ1
31
AIC
Advanced Interrupt Controller
IRQ2
Note:
Setting AIC, SYSIRQ, UHP, LCDC and IRQ0 to IRQ2 bits in the clock set/clear registers of the
PMC has no effect.
25
6462AS–ATARM–03-Jun-09
10.3
Peripheral Multiplexing on PIO Lines
The AT91SAM9G10 features three PIO controllers, PIOA, PIOB and PIOC, that multiplex the I/O
lines of the peripheral set.
Each PIO Controller controls up to thirty-two lines. Each line can be assigned to one of two
peripheral functions, A or B. Table 10-2 on page 28, Table 10-3 on page 29 and Table 10-4 on
page 30 define how the I/O lines of the peripherals A and B are multiplexed on the PIO Controllers. The two columns “Function” and “Comments” have been inserted for the user’s own
comments; they may be used to track how pins are defined in an application.
Note that some output only peripheral functions might be duplicated within the tables.
The column “Reset State” indicates whether the PIO line resets in I/O mode or in peripheral
mode. If I/O is mentioned, the PIO line resets in input with the pull-up enabled, so that the device
is maintained in a static state as soon as the reset is released. As a result, the bit corresponding
to the PIO line in the register PIO_PSR (Peripheral Status Register) resets low.
If a signal name is mentioned in the “Reset State” column, the PIO line is assigned to this function and the corresponding bit in PIO_PSR resets high. This is the case of pins controlling
memories, in particular the address lines, which require the pin to be driven as soon as the reset
is released. Note that the pull-up resistor is also enabled in this case.
10.3.1
10.3.1.1
Resource Multiplexing
LCD Controller
The LCD Controller can interface with several LCD panels. It supports 4, 8 or 16 bit-per-pixel
without any limitation. Interfacing 24 bit-per-pixel TFTs panel prevents using the SSC0 and the
chip select line 0 of the SPI1.
16 bit-per-pixel TFT panels are interfaced through peripheral B functions, as color data is output
on LCDD3 to LCDD7, LCDD11 to LCDD15 and LCDD19 to LCDD23. Intensity bit is output on
LCDD2, LCDD10 and LCDD18. Using the peripheral B does not prevent using the SSC0 and
the SPI1 lines.
10.3.1.2
EBI
If not required, the NWAIT function (external wait request) can be deactivated by software,
allowing this pin to be used as a PIO.
10.3.1.3
32-bit Data Bus
Using a 32-bit Data Bus prevents:
• using the three Timer Counter channels’ outputs and trigger inputs
• using the SSC2
10.3.1.4
NAND Flash Interface
Using the NAND Flash interface prevents:
• using NCS3, NCS6 and NCS7 to access other parallel devices
10.3.1.5
Compact Flash Interface
Using the CompactFlash interface prevents:
• using NCS4 and/or NCS5 to access other parallel devices
26
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
10.3.1.6
SPI0 and the MultiMedia Card Interface
As the DataFlash Card is compatible with the SDCard, it is useful to multiplex SPI and MCI.
Here, the SPI0 signal is multiplexed with the MCI.
10.3.1.7
USARTs
• Using USART0 with its control signals prevents using some clock outputs and interrupt lines.
10.3.1.8
Clock Outputs
• Using the clock outputs multiplexed with the PIO A prevents using the Debug Unit and/or the
Two Wire Interface.
• Alternatively, using the second implementation of the clock outputs prevents using the LCD
Controller Interface and/or USART0.
10.3.1.9
Interrupt Lines
• Using FIQ prevents using the USART0 control signals.
• Using IRQ0 prevents using the NWAIT EBI signal.
• Using the IRQ1 and/or IRQ2 prevents using the SPI1.
27
6462AS–ATARM–03-Jun-09
10.3.2
PIO Controller A Multiplexing
Table 10-2.
Multiplexing on PIO Controller A
PIO Controller A
Reset
State
I/O Line
Peripheral A
Peripheral B
PA0
SPI0_MISO
MCDA0
I/O
VDDIOP
PA1
SPI0_MOSI
MCCDA
I/O
VDDIOP
PA2
SPI0_SPCK
MCCK
I/O
VDDIOP
PA3
SPI0_NPCS0
I/O
VDDIOP
PA4
SPI0_NPCS1
MCDA1
I/O
VDDIOP
PA5
SPI0_NPCS2
MCDA2
I/O
VDDIOP
PA6
SPI0_NPCS3
MCDA3
I/O
VDDIOP
PA7
TWD
PCK0
I/O
VDDIOP
PA8
TWCK
PCK1
I/O
VDDIOP
PA9
DRXD
PCK2
I/O
VDDIOP
PA10
DTXD
PCK3
I/O
VDDIOP
PA11
TSYNC
SCK1
I/O
VDDIOP
PA12
TCLK
RTS1
I/O
VDDIOP
PA13
TPS0
CTS1
I/O
VDDIOP
PA14
TPS1
SCK2
I/O
VDDIOP
PA15
TPS2
RTS2
I/O
VDDIOP
PA16
TPK0
CTS2
I/O
VDDIOP
PA17
TPK1
TF1
I/O
VDDIOP
PA18
TPK2
TK1
I/O
VDDIOP
PA19
TPK3
TD1
I/O
VDDIOP
PA20
TPK4
RD1
I/O
VDDIOP
PA21
TPK5
RK1
I/O
VDDIOP
PA22
TPK6
RF1
I/O
VDDIOP
PA23
TPK7
RTS0
I/O
VDDIOP
PA24
TPK8
SPI1_NPCS1
I/O
VDDIOP
PA25
TPK9
SPI1_NPCS2
I/O
VDDIOP
PA26
TPK10
SPI1_NPCS3
I/O
VDDIOP
PA27
TPK11
SPI0_NPCS1
I/O
VDDIOP
PA28
TPK12
SPI0_NPCS2
I/O
VDDIOP
PA29
TPK13
SPI0_NPCS3
I/O
VDDIOP
PA30
TPK14
A23
A23
VDDIOM
PA31
TPK15
A24
A24
VDDIOM
28
Comments
Application Usage
Power Supply
Function
Comments
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
10.3.3
PIO Controller B Multiplexing
Table 10-3.
Multiplexing on PIO Controller B
PIO Controller B
Reset
State
I/O Line
Peripheral A
PB0
LCDVSYNC
I/O
VDDIOP
PB1
LCDHSYNC
I/O
VDDIOP
PB2
LCDDOTCK
I/O
VDDIOP
I/O
VDDIOP
PB3
(1)
Peripheral B
Application Usage
Comments
PCK0
(1)
LCDDEN
See footnote
Power Supply
PB4
LCDCC
LCDD2
I/O
VDDIOP
PB5
LCDD0
LCDD3
I/O
VDDIOP
PB6
LCDD1
LCDD4
I/O
VDDIOP
PB7
LCDD2
LCDD5
I/O
VDDIOP
PB8
LCDD3
LCDD6
I/O
VDDIOP
PB9
LCDD4
LCDD7
I/O
VDDIOP
PB10
LCDD5
LCDD10
I/O
VDDIOP
PB11
LCDD6
LCDD11
I/O
VDDIOP
PB12
LCDD7
LCDD12
I/O
VDDIOP
PB13
LCDD8
LCDD13
I/O
VDDIOP
PB14
LCDD9
LCDD14
I/O
VDDIOP
PB15
LCDD10
LCDD15
I/O
VDDIOP
PB16
LCDD11
LCDD19
I/O
VDDIOP
PB17
LCDD12
LCDD20
I/O
VDDIOP
PB18
LCDD13
LCDD21
I/O
VDDIOP
PB19
LCDD14
LCDD22
I/O
VDDIOP
PB20
LCDD15
LCDD23
I/O
VDDIOP
PB21
TF0
LCDD16
I/O
VDDIOP
PB22
TK0
LCDD17
I/O
VDDIOP
PB23
TD0
LCDD18
I/O
VDDIOP
PB24
RD0
LCDD19
I/O
VDDIOP
PB25
RK0
LCDD20
I/O
VDDIOP
PB26
RF0
LCDD21
I/O
VDDIOP
PB27
SPI1_NPCS1
LCDD22
I/O
VDDIOP
PB28
SPI1_NPCS0
LCDD23
I/O
VDDIOP
PB29
SPI1_SPCK
IRQ2
I/O
VDDIOP
PB30
SPI1_MISO
IRQ1
I/O
VDDIOP
PB31
SPI1_MOSI
PCK2
I/O
VDDIOP
Note:
Function
Comments
1. PB3 is multiplexed with BMS signal. Care should be taken during reset time.
29
6462AS–ATARM–03-Jun-09
10.3.4
PIO Controller C Multiplexing
Table 10-4.
Multiplexing on PIO Controller C
PIO Controller C
I/O Line
30
Peripheral A
Peripheral B
Comments
Application Usage
Reset
State
Power Supply
PC0
NANDOE
NCS6
I/O
VDDIOM
PC1
NANDWE
NCS7
I/O
VDDIOP
PC2
NWAIT
IRQ0
I/O
VDDIOP
PC3
A25/CFRNW
A25
VDDIOP
PC4
NCS4/CFCS0
I/O
VDDIOP
PC5
NCS5/CFCS1
I/O
VDDIOP
PC6
CFCE1
I/O
VDDIOP
PC7
CFCE2
I/O
VDDIOM
PC8
TXD0
PCK2
I/O
VDDIOP
PC9
RXD0
PCK3
I/O
VDDIOP
PC10
RTS0
SCK0
I/O
VDDIOP
PC11
CTS0
FIQ
I/O
VDDIOP
PC12
TXD1
NCS6
I/O
VDDIOP
PC13
RXD1
NCS7
I/O
VDDIOP
PC14
TXD2
SPI1_NPCS2
I/O
VDDIOP
PC15
RXD2
SPI1_NPCS3
I/O
VDDIOP
PC16
D16
TCLK0
I/O
VDDIOM
PC17
D17
TCLK1
I/O
VDDIOM
PC18
D18
TCLK2
I/O
VDDIOM
PC19
D19
TIOA0
I/O
VDDIOM
PC20
D20
TIOB0
I/O
VDDIOM
PC21
D21
TIOA1
I/O
VDDIOM
PC22
D22
TIOB1
I/O
VDDIOM
PC23
D23
TIOA2
I/O
VDDIOM
PC24
D24
TIOB2
I/O
VDDIOM
PC25
D25
TF2
I/O
VDDIOM
PC26
D26
TK2
I/O
VDDIOM
PC27
D27
TD2
I/O
VDDIOM
PC28
D28
RD2
I/O
VDDIOM
PC29
D29
RK2
I/O
VDDIOM
PC30
D30
RF2
I/O
VDDIOM
PC31
D31
PCK1
I/O
VDDIOM
Function
Comments
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
10.3.5
System Interrupt
The System Interrupt in Source 1 is the wired-OR of the interrupt signals coming from:
• the SDRAM Controller
• the Debug Unit
• the Periodic Interval Timer
• the Real-Time Timer
• the Watchdog Timer
• the Reset Controller
• the Power Management Controller
The clock of these peripherals cannot be deactivated and Peripheral ID 1 can only be used
within the Advanced Interrupt Controller.
10.3.6
10.4
External Interrupts
All external interrupt signals, i.e., the Fast Interrupt signal FIQ or the Interrupt signals IRQ0 to
IRQ2, use a dedicated Peripheral ID. However, there is no clock control associated with these
peripheral IDs.
External Bus Interface
• Integrates two External Memory Controllers:
– Static Memory Controller
– SDRAM Controller
• Additional logic for NAND Flash and CompactFlash support
– NAND Flash support: 8-bit as well as 16-bit devices are supported
– CompactFlash support: all modes (Attribute Memory, Common Memory, I/O, True
IDE) are supported but the signals -IOIS16 (I/O and True IDE modes) and -ATA SEL
(True IDE mode) are not handled.
• Optimized External Bus
– 16- or 32-bit Data Bus
– Up to 26-bit Address Bus, up to 64 Mbytes addressable
– Eight Chip Selects, each reserved to one of the eight Memory Areas
– Optimized pin multiplexing to reduce latencies on External Memories
• Configurable Chip Select Assignment Managed by EBI_CSA Register located in the MATRIX
user interface
– Static Memory Controller on NCS0
– SDRAM Controller or Static Memory Controller on NCS1
– Static Memory Controller on NCS2
– Static Memory Controller on NCS3, Optional NAND Flash Support
– Static Memory Controller on NCS4 - NCS5, Optional CompactFlash Support
– Static Memory Controller on NCS6 - NCS7
31
6462AS–ATARM–03-Jun-09
10.5
Static Memory Controller
• External memory mapping, 256 Mbyte address space per Chip Select Line
• Up to Eight Chip Select Lines
• 8-, 16- or 32-bit Data Bus
• Multiple Access Modes supported
– Byte Write or Byte Select Lines
– Asynchronous read in Page Mode supported (4- up to 32-byte page size)
• Multiple device adaptability
– Compliant with LCD Module
– Control signal programmable setup, pulse and hold time for each Memory Bank
• Multiple Wait State Management
– Programmable Wait State Generation
– External Wait Request
– Programmable Data Float Time
• Slow Clock Mode Supported
10.6
SDRAM Controller
• Supported Devices
– Standard and Low Power SDRAM (Mobile SDRAM)
• Numerous configurations supported
– 2K, 4K, 8K Row Address Memory Parts
– SDRAM with two or four Internal Banks
– SDRAM with 16- or 32-bit Data Path
• Programming Facilities
– Word, half-word, byte access
– Automatic page break when Memory Boundary has been reached
– Multibank Ping-pong Access
– Timing parameters specified by software
– Automatic refresh operation, refresh rate is programmable
• Energy-saving Capabilities
– Self-refresh, power down and deep power down modes supported
• Error detection
– Refresh Error Interrupt
• SDRAM Power-up Initialization by software
• CAS Latency of 1, 2 and 3 supported
• Auto Precharge Command not used
32
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
10.7
Serial Peripheral Interface
• Supports communication with serial external devices
– Four chip selects with external decoder support allow communication with up to
fifteen peripherals
– Serial memories, such as DataFlash and 3-wire EEPROMs
– Serial peripherals, such as ADCs, DACs, LCD Controllers, CAN Controllers and
Sensors
– External co-processors
• Master or slave serial peripheral bus interface
– 8- to 16-bit programmable data length per chip select
– Programmable phase and polarity per chip select
– Programmable transfer delays between consecutive transfers and between clock
and data per chip select
– Programmable delay between consecutive transfers
– Selectable mode fault detection
• Very fast transfers supported
– Transfers with baud rates up to MCK
– The chip select line may be left active to speed up transfers on the same device
10.8
Two-wire Interface
• Compatibility with standard two-wire serial memories
• One, two or three bytes for slave address
• Sequential read/write operations
• Supports either master or slave modes
• Master, multi-master and slave mode operation
• Bit rate: up to 400 Kbits
• General call supported in slave mode
10.9
USART
• Programmable Baud Rate Generator
• 5- to 9-bit full-duplex synchronous or asynchronous serial communications
– 1, 1.5 or 2 stop bits in Asynchronous Mode or 1 or 2 stop bits in Synchronous Mode
– Parity generation and error detection
– Framing error detection, overrun error detection
– MSB- or LSB-first
– Optional break generation and detection
– By-8 or by-16 over-sampling receiver frequency
– Hardware handshaking RTS-CTS
– Receiver time-out and transmitter timeguard
– Optional Multi-drop Mode with address generation and detection
– Optional Manchester Encoding
33
6462AS–ATARM–03-Jun-09
• RS485 with driver control signal
• ISO7816, T = 0 or T = 1 Protocols for interfacing with smart cards
– NACK handling, error counter with repetition and iteration limit
• IrDA modulation and demodulation
– Communication at up to 115.2 Kbps
• Test Modes
– Remote Loopback, Local Loopback, Automatic Echo
10.10 Synchronous Serial Controller
• Provides serial synchronous communication links used in audio and telecom applications
(with CODECs in Master or Slave Modes, I2S, TDM Buses, Magnetic Card Reader and
more).
• Contains an independent receiver and transmitter and a common clock divider.
• Offers a configurable frame sync and data length.
• Receiver and transmitter can be programmed to start automatically or on detection of
different event on the frame sync signal.
• Receiver and transmitter include a data signal, a clock signal and a frame synchronization
signal.
10.11 Timer Counter
• Three 16-bit Timer Counter Channels
• Wide range of functions including:
– Frequency Measurement
– Event Counting
– Interval Measurement
– Pulse Generation
– Delay Timing
– Pulse Width Modulation
– Up/down Capabilities
• Each channel is user-configurable and contains:
– Three external clock inputs
– Five internal clock inputs
– Two multi-purpose input/output signals
• Two global registers that act on all three TC Channels
10.12 MultiMediaCard Interface
• Two double-channel MultiMediaCard Interfaces, allowing concurrent transfers with 2 cards
• Compatibility with MultiMediaCard Specification Version 3.31
• Compatibility with SD Memory Card Specification Version 1.0
• Compatibility with SDIO Specification Version V1.1
• Cards clock rate up to Master Clock divided by 2
• Embedded power management to slow down clock rate when not used
34
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
• Each MCI has two slots, each supporting
– One slot for one MultiMediaCard bus (up to 30 cards) or
– One SD Memory Card
• Support for stream, block and multi-block data read and write
10.13 USB
• USB Host Port:
– Compliance with Open HCI Rev 1.0 specification
– Compliance with USB V2.0 Full-speed and Low-speed Specification
– Supports both Low-speed 1.5 Mbps and Full-speed 12 Mbps USB devices
– Root hub integrated with two downstream USB ports
– Two embedded USB transceivers
– No overcurrent detection
– Supports power management
– Operates as a master on the Bus Matrix
• USB Device Port:
– USB V2.0 full-speed compliant, 12 Mbits per second
– Embedded USB V2.0 full-speed transceiver
– Embedded dual-port RAM for endpoints
– Suspend/Resume logic
– Ping-pong mode (two memory banks) for isochronous and bulk endpoints
– Six general-purpose endpoints:
Endpoint 0: 8 bytes, no ping-pong mode
Endpoint 1, Endpoint 2: 64 bytes, ping-pong mode
Endpoint 3: 64 bytes, no ping-pong mode
Endpoint 4, Endpoint 5: 256 bytes, ping-pong mode
• Embedded pad pull-up configurable via USB_PUCR Register located in the MATRIX user
interface
10.14 LCD Controller
• Single and Dual scan color and monochrome passive STN LCD panels supported
• Single scan active TFT LCD panels supported.
• 4-bit single scan, 8-bit single or dual scan, 16-bit dual scan STN interfaces supported
• Up to 24-bit single scan TFT interfaces supported
• Up to 16 gray levels for mono STN and up to 4096 colors for color STN displays
• 1, 2 bits per pixel (palletized), 4 bits per pixel (non-palletized) for mono STN
• 1, 2, 4, 8 bits per pixel (palletized), 16 bits per pixel (non-palletized) for color STN
• 1, 2, 4, 8 bits per pixel (palletized), 16, 24 bits per pixel (non-palletized) for TFT
• Single clock domain architecture
• Resolution supported up to 1280 x 860
35
6462AS–ATARM–03-Jun-09
11. Package Drawing
Figure 11-1. 217-ball LFBGA Package Drawing
36
AT91SAM9G10
6462AS–ATARM–03-Jun-09
AT91SAM9G10
12. AT91SAM9G10 Ordering Information
Table 12-1.
AT91SAM9G10 Ordering Information
Ordering Code
Package
Package Type
Temperature Operating Range
AT91SAM9G10-CU
BGA217
RoHS-compliant
Industrial
-40°C to 85°C
37
6462AS–ATARM–03-Jun-09
Revision History
Doc. Rev
Comments
6462AS
First issue
38
Change
Request Ref.
AT91SAM9G10
6462AS–ATARM–03-Jun-09
Headquarters
International
Atmel Corporation
2325 Orchard Parkway
San Jose, CA 95131
USA
Tel: 1(408) 441-0311
Fax: 1(408) 487-2600
Atmel Asia
Unit 1-5 & 16, 19/F
BEA Tower, Millennium City 5
418 Kwun Tong Road
Kwun Tong, Kowloon
Hong Kong
Tel: (852) 2245-6100
Fax: (852) 2722-1369
Atmel Europe
Le Krebs
8, Rue Jean-Pierre Timbaud
BP 309
78054 Saint-Quentin-enYvelines Cedex
France
Tel: (33) 1-30-60-70-00
Fax: (33) 1-30-60-71-11
Atmel Japan
9F, Tonetsu Shinkawa Bldg.
1-24-8 Shinkawa
Chuo-ku, Tokyo 104-0033
Japan
Tel: (81) 3-3523-3551
Fax: (81) 3-3523-7581
Technical Support
AT91SAM Support
Atmel techincal support
Sales Contacts
www.atmel.com/contacts/
Product Contact
Web Site
www.atmel.com
www.atmel.com/AT91SAM
Literature Requests
www.atmel.com/literature
Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any
intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMEL’S TERMS AND CONDITIONS OF SALE LOCATED ON ATMEL’S WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY
WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT
OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no
representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications
and product descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically provided
otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life.
© 2009 Atmel Corporation. All rights reserved. Atmel®, Atmel logo and combinations thereof, DataFlash®, SAM-BA® and others are registered
trademarks or trademarks of Atmel Corporation or its subsidiaries. ARM®, the ARMPowered® logo, Thumb® and others are the registered
trademarks or trademarks of ARM Ltd. Windows® and others are registered trademarks or trademarks of Microsoft Corporation in the US and/or
other countries. Other terms and product names may be the trademarks of others.
6462AS–ATARM–03-Jun-09