AT91RM9200 ATMEL Corporation, AT91RM9200 Datasheet

no-image

AT91RM9200

Manufacturer Part Number
AT91RM9200
Description
Manufacturer
ATMEL Corporation
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
AT91RM9200 CJ
Manufacturer:
ALTERA
0
Part Number:
AT91RM9200-CI-002
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
AT91RM9200-CJ
Manufacturer:
FMD
Quantity:
5 000
Part Number:
AT91RM9200-CJ
Manufacturer:
ALTERA
0
Part Number:
AT91RM9200-CJ
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Company:
Part Number:
AT91RM9200-CJ
Quantity:
1 200
Part Number:
AT91RM9200-CJ-002
Manufacturer:
Atmel
Quantity:
1 008
Part Number:
AT91RM9200-CJ-002
Manufacturer:
ATMEL
Quantity:
453
Part Number:
AT91RM9200-CJ-002
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
AT91RM9200-CJ-002
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
Part Number:
AT91RM9200-CJ-002
Manufacturer:
ATMEL41
Quantity:
5 357
Company:
Part Number:
AT91RM9200-CJ-002
Quantity:
1 890
Company:
Part Number:
AT91RM9200-CJ-002
Quantity:
2 500
Part Number:
AT91RM9200-CJ-100
Manufacturer:
ATMEL
Quantity:
324
Part Number:
AT91RM9200-CJ-101
Manufacturer:
ARM
Quantity:
533
Part Number:
AT91RM9200-QI-002
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
AT91RM9200-QU
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
AT91RM9200-QU
Manufacturer:
ATMEL
Quantity:
9 820
Company:
Part Number:
AT91RM9200-QU
Quantity:
2 600
Features
Incorporates the ARM920T
Low Power: On VDDCORE 24.4 mA in Normal Mode, 520 µA in Standby Mode
Additional Embedded Memories
External Bus Interface (EBI)
System Peripherals for Enhanced Performance:
Ethernet MAC 10/100 Base-T
USB 2.0 Full Speed (12 Mbits per second) Host Double Port
USB 2.0 Full Speed (12 Mbits per second) Device Port
Multimedia Card Interface (MCI)
Three Synchronous Serial Controllers (SSC)
Four Universal Synchronous/Asynchronous Receiver/Transmitters (USART)
Master/Slave Serial Peripheral Interface (SPI)
Two 3-channel, 16-bit Timer/Counters (TC)
Two-wire Interface (TWI)
IEEE
Power Supplies
Available in a 208-pin Green PQFP or 256-ball RoHS-compliant BGA Package
– 200 MIPS at 180 MHz, Memory Management Unit
– 16-KByte Data Cache, 16-KByte Instruction Cache, Write Buffer
– In-circuit Emulator including Debug Communication Channel
– Mid-level Implementation Embedded Trace Macrocell
– 16K Bytes of SRAM and 128K Bytes of ROM
– Supports SDRAM, Static Memory, Burst Flash, Glueless Connection to
– Enhanced Clock Generator and Power Management Controller
– Two On-chip Oscillators with Two PLLs
– Very Slow Clock Operating Mode and Software Power Optimization Capabilities
– Four Programmable External Clock Signals
– System Timer Including Periodic Interrupt, Watchdog and Second Counter
– Real-time Clock with Alarm Interrupt
– Debug Unit, Two-wire UART and Support for Debug Communication Channel
– Advanced Interrupt Controller with 8-level Priority, Individually Maskable Vectored
– Seven External Interrupt Sources and One Fast Interrupt Source
– Four 32-bit PIO Controllers with Up to 122 Programmable I/O Lines, Input Change
– 20-channel Peripheral DMA Controller (PDC)
– Media Independent Interface (MII) or Reduced Media Independent Interface (RMII)
– Integrated 28-byte FIFOs and Dedicated DMA Channels for Receive and Transmit
– Dual On-chip Transceivers (Single Port Only on 208-lead PQFP Package)
– Integrated FIFOs and Dedicated DMA Channels
– On-chip Transceiver, 2-Kbyte Configurable Integrated FIFOs
– Automatic Protocol Control and Fast Automatic Data Transfers
– MMC and SD Memory Card-compliant, Supports Up to Two SD Memory Cards
– Independent Clock and Frame Sync Signals for Each Receiver and Transmitter
– I
– High-speed Continuous Data Stream Capabilities with 32-bit Data Transfer
– Support for ISO7816 T0/T1 Smart Card
– Hardware Handshaking
– RS485 Support, IrDA
– Full Modem Control Lines on USART1
– 8- to 16-bit Programmable Data Length, 4 External Peripheral Chip Selects
– Three External Clock Inputs, Two Multi-purpose I/O Pins per Channel
– Double PWM Generation, Capture/Waveform Mode, Up/Down Capability
– Master Mode Support, All 2-wire Atmel EEPROMs Supported
– 1.65V to 1.95V for VDDCORE, VDDOSC and VDDPLL
– 3.0V to 3.6V for VDDIOP (Peripheral I/Os) and for VDDIOM (Memory I/Os)
only)
CompactFlash
Interrupt Sources, Spurious Interrupt Protected
Interrupt and Open-drain Capability on Each Line
2
®
S Analog Interface Support, Time Division Multiplex Support
1149.1 JTAG Boundary Scan on All Digital Pins
®
and NAND Flash/SmartMedia
®
Up To 115 Kbps
ARM
®
Thumb
®
Processor
®
(256-ball BGA Package
ARM920T-based
Microcontroller
AT91RM9200
Rev. 1768G-ATARM–29-Sep-06

Related parts for AT91RM9200

AT91RM9200 Summary of contents

Page 1

... VDDCORE, VDDOSC and VDDPLL – 3.0V to 3.6V for VDDIOP (Peripheral I/Os) and for VDDIOM (Memory I/Os) • Available in a 208-pin Green PQFP or 256-ball RoHS-compliant BGA Package ® ® Thumb Processor ™ (256-ball BGA Package ® ARM920T-based Microcontroller AT91RM9200 Rev. 1768G-ATARM–29-Sep-06 ...

Page 2

... Flash Card, infrared and Smart Card applications. To complete the offer, the AT91RM9200 benefits from the integration of a wide range of debug features including JTAG-ICE, a dedicated UART debug channel (DBGU) and an embedded real time trace. This enables the development and debug of all applications, especially those with real-time constraints ...

Page 3

... Block Diagram Bold arrows ( Figure 2-1. AT91RM9200 Block Diagram Reset TST0-TST1 and NRST Test JTAGSEL TDI JTAG TDO Scan TMS TCK NTRST FIQ IRQ0-IRQ6 PCK0-PCK3 PLLRCB PLLB PLLRCA PLLA XIN OSC XOUT XIN32 OSC XOUT32 DRXD DTXD PIOA/PIOB/PIOC/PIOD DDM DDP MCCK MCCDA ...

Page 4

... JTAG Selection TSYNC Trace Synchronization Signal TCLK Trace Clock TPS0 - TPS2 Trace ARM Pipeline Status TPK0 - TPK15 Trace Packet Port NRST Microcontroller Reset TST0 - TST1 Test Mode Select AT91RM9200 4 Active Type Power Power Power Power Power Power Ground Ground Ground Clocks, Oscillators and PLLs ...

Page 5

... Output Input Output EBI for CompactFlash Support Output Output Output Output Output Output Output AT91RM9200 Active Level Comments Debug Receive Data Debug Transmit Data Pulled-up input at reset Pulled-up input at reset Pulled-up input at reset Pulled-up input at reset Pulled-up input at reset 0 at reset ...

Page 6

... Receive Data RTS0 - RTS3 Ready To Send CTS0 - CTS3 Clear To Send DSR1 Data Set Ready DTR1 Data Terminal Ready DCD1 Data Carrier Detect RI1 Ring Indicator AT91RM9200 6 Type EBI for NAND Flash/SmartMedia Support Output Output Output SDRAM Controller Output Output Output Output Output ...

Page 7

... Input Output I/O Output Synchronous Serial Controller Output Input I/O I/O I/O I/O Timer/Counter Input I/O I/O AT91RM9200 Active Level Comments RMII only MII only MII only ETX0 - ETX1 only in RMII MII only MII only RMII only ERX0 - ERX1 only in RMII MII only MII only High RMII only ...

Page 8

... Parallel I/O Controller D • ETM • a second USB Host transceiver, opening the Hub capabilities of the embedded USB Host. 4.1 208-pin PQFP Package Outline Figure 4-1 A detailed mechanical description is given in the section “AT91RM9200 Mechanical Characteris- tics” of the product datasheet. Figure 4-1. AT91RM9200 8 SPI Two-Wire Interface ™ ...

Page 9

... PQFP Package Pinout Table 4-1. AT91RM9200 Pinout for 208-pin PQFP Package Pin Number Signal Name 1 PC24 2 PC25 3 PC26 4 PC27 5 PC28 6 PC29 7 VDDIOM 8 GND 9 PC30 10 PC31 11 PC10 12 PC11 13 PC12 14 PC13 15 PC14 16 PC15 17 PC0 18 PC1 19 VDDCORE 20 GND 21 PC2 22 PC3 23 PC4 24 PC5 25 PC6 26 VDDIOM ...

Page 10

... A20 159 A21 160 A22 Note: 1. Shaded cells define the pins powered by VDDIOM. 4.3 256-ball BGA Package Outline Figure 4-2 A detailed mechanical description is given in the section “AT91RM9200 Mechanical Characteris- tics” of the product datasheet. Figure 4-2. AT91RM9200 10 Pin Pin Number Signal Name Number 161 ...

Page 11

... BGA Package Pinout Table 4-2. AT91RM9200 Pinout for 256-ball BGA Package Pin Signal Name A1 TDI A2 JTAGSEL A3 PB20 A4 PB17 A5 PD11 A6 PD8 A7 VDDIOP A8 PB9 A9 PB4 A10 PA31/BMS A11 VDDIOP A12 PA23 A13 PA19 A14 GND A15 PA14 A16 VDDIOP A17 PA13 B1 TDO B2 PD13 ...

Page 12

... Table 4-2. AT91RM9200 Pinout for 256-ball BGA Package (Continued) Pin Signal Name L1 GND L2 HDPB L3 HDMB GND L6 VDDIOP L12 PC10 L13 PC15 L14 PC2 L15 PC3 L16 VDDCORE L17 PLLRCA M1 VDDIOM M2 GND A1/NBS2/NWR2 M5 A10 GND M9 NCS1/SDCS M11 D4 M12 GND M13 ...

Page 13

... Ground pins are common to all power supplies, except VDDPLL and VDDOSC pins. For these pins, GNDPLL and GNDOSC are provided, respectively. 5.2 Power Consumption The AT91RM9200 consumes about 500 uA of static current on VDDCORE For dynamic power consumption, the AT91RM9200 consumes a maximum VDDCORE at maximum speed in typical conditions (1.8V, 25 C), processor running full-performance algorithm. ...

Page 14

... Access permission for large pages and small pages can be specified separately for – 16 embedded domains – 64 Entry Instruction TLB and 64 Entry Data TLB 8-, 16-, 32-bit Data Bus for Instructions and Data AT91RM9200 14 ™ -based on ARM Architecture v4T each quarter of the pages ...

Page 15

... Compliant with AINSI/ISO Standard C • Compiled in ARM/Thumb Interworking • ROM Entry Service • Tempo, Xmodem and DataFlash services • CRC and Sine tables 7.5 Memory Controller • Programmable Bus Arbiter handling four Masters 1768G–ATARM–29-Sep-06 ™ Rev2a ® connected on SPI NPCS0 AT91RM9200 15 ...

Page 16

... Source, Type and all parameters of the access leading to an abort are saved • Misalignment Detector – Alignment checking of all data accesses – Abort generation in case of misalignment • Remap command – Provides remapping of an internal SRAM in place of the boot NVM AT91RM9200 16 1768G–ATARM–29-Sep-06 ...

Page 17

... Memories Figure 8-1. AT91RM9200 Memory Mapping Address Memory Space 0x0000 0000 Internal Memories 256M Bytes 0x0FFF FFFF 0x1000 0000 EBI 256M Bytes Chip Select 0 / BFC 0x1FFF FFFF 0x2000 0000 EBI 256M Bytes Chip Select 1 / SDRAMC 0x2FFF FFFF 0x3000 0000 EBI 256M Bytes ...

Page 18

... Remap, the SRAM is also available at address 0x0. 8.1.1.2 Internal ROM The AT91RM9200 integrates a 128-Kbyte Internal ROM. At any time, the ROM is mapped at address 0x10 0000 also accessible at address 0x0 after reset and before the Remap Com- mand if the BMS is tied high during reset. ...

Page 19

... One Main Oscillator and One Slow Clock Oscillator (32.768Hz) – Two Phase Locked Loops (PLLs) and Dividers – Clock Prescalers • Provides: – the Processor Clock PCK – the Master Clock MCK 1768G–ATARM–29-Sep-06 Figure 8-1 on page interrupts External Sources AT91RM9200 17. 19 ...

Page 20

... 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 AT91RM9200 20 USB Device Port Generator peripherals 1768G– ...

Page 21

... A complete memory map is presented in 10.2 Peripheral Identifiers The AT91RM9200 embeds a wide range of peripherals. tifiers of the AT91RM9200. 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. ...

Page 22

... Peripheral Multiplexing on PIO Lines The AT91RM9200 features four PIO controllers: • PIOA and PIOB, multiplexing I/O lines of the peripheral set • PIOC, multiplexing the data bus bits and several External Bus Interface control signals. Using PIOC pins increases the number of general-purpose I/O lines available but prevents 32-bit memory access • ...

Page 23

... Reset Peripheral B State PCK3 I/O PCK0 I/O IRQ4 I/O IRQ5 I/O PCK1 I/O TXD3 I/O RXD3 I/O PCK2 I/O MCCDB I/O MCDB0 I/O MCDB1 I/O MCDB2 I/O MCDB3 I/O TCLK0 I/O TCLK1 I/O TCLK2 I/O IRQ6 I/O TIOA0 I/O TIOB0 I/O TIOA1 I/O TIOB1 I/O TIOA2 I/O TIOB2 I/O IRQ3 I/O PCK1 I/O IRQ2 I/O IRQ1 I/O TCLK3 I/O TCLK4 I/O TCLK5 I/O CTS2 I/O RTS2 I/O AT91RM9200 Application Usage Function Comments 23 ...

Page 24

... PB17 RF2 PB18 RI1 PB19 DTR1 PB20 TXD1 PB21 RXD1 PB22 SCK1 PB23 DCD1 PB24 CTS1 PB25 DSR1 PB26 RTS1 PB27 PCK0 PB28 FIQ PB29 IRQ0 AT91RM9200 24 Reset Peripheral B State RTS3 I/O CTS3 I/O SCK3 I/O MCDA1 I/O MCDA2 I/O MCDA3 I/O TIOA3 I/O TIOB3 I/O TIOA4 I/O TIOB4 I/O TIOA5 ...

Page 25

... PC21 D21 PC22 D22 PC23 D23 PC24 D24 PC25 D25 PC26 D26 PC27 D27 PC28 D28 PC29 D29 PC30 D30 PC31 D31 1768G–ATARM–29-Sep-06 Reset Peripheral B State I/O I/O I/O I/O I/O I/O I/O A23 A24 A25 NCS4 NCS5 NCS6 NCS7 I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O AT91RM9200 Application Usage Function Comments 25 ...

Page 26

... PIO Controller D Multiplexing The PIO Controller D multiplexes pure output signals on peripheral A connections, in particular from the EMAC MII inter- face and the ETM Port on the peripheral B connections. The PIO Controller D is available only in the 256-ball BGA package option of the AT91RM9200. Table 10-5. Multiplexing on PIO Controller D ...

Page 27

... External memory mapping, 512-Mbyte address space • Chip Select Lines • 16-bit Data Bus • Remap of Boot Memory • Multiple Access Modes supported – Byte Write or Byte Select Lines – Two different Read Protocols for each Memory Bank 1768G–ATARM–29-Sep-06 AT91RM9200 27 ...

Page 28

... Adaptability to different device access protocols and bus interfaces – Two Burst Read Protocols: Clock Control Address Advance or Signal Controlled – Multiplexed or separate address and data buses – Continuous Burst and Page Mode Accesses supported AT91RM9200 28 Address Advance 1768G–ATARM–29-Sep-06 ...

Page 29

... Ping-pong mode (two memory banks) for isochronous and bulk endpoints • Six general-purpose endpoints – Endpoint 0, Endpoint 3: 8 bytes, no ping-pong mode – Endpoint 1, Endpoint 2: 64 bytes, ping-pong mode – Endpoint 4, Endpoint 5: 256 bytes, ping-pong mode 10.13 Ethernet MAC • Compatibility with IEEE Standard 802.3 1768G–ATARM–29-Sep-06 AT91RM9200 29 ...

Page 30

... Asynchronous Mode stop bits in Synchronous Mode – Parity generation and error detection – Framing error detection, overrun error detection AT91RM9200 30 peripherals Sensors and data per chip select ...

Page 31

... The USART describes features allowing management of the Modem Signals DTR, DSR, DCD and RI. For details, see In the AT91RM9200, only the USART1 implements these signals, named DTR1, DSR1, DCD1 and RI1. The USART0, USART2 and USART3 do not implement all the modem signals. Only RTS and CTS (RTS0 and CTS0, RTS2 and CTS2, RTS3 and CTS3, respectively) are implemented in these USARTs for other features ...

Page 32

... Two global registers that act on all three TC Channels • The Timer Counter are described with five generic clock inputs, TIMER_CLOCK1 to TIMER_CLOCK5. In the AT91RM9200, these clock inputs are connected to the Master Clock (MCK), to the Slow Clock (SLCK) and to divisions of the Master Clock. For details, see Control” ...

Page 33

... Write-though and Write-back Operation – Pseudo-random or Round-robin Replacement – Low-power CAM RAM Implementation • Write Buffer – 16-word Data Buffer – 4-address Address Buffer – Software Control Drain 1768G–ATARM–29-Sep-06 ™ (Advanced Microprocessor Bus Architecture) bus interface AT91RM9200 ™ Thumb family of high-performance 33 ...

Page 34

... Access Permission for Large Pages and Small Pages Can be Specified Separately for Each Quarter of the Pages – 16 Embedded Domains – 64-entry Instruction TLB and 64-entry Data TLB • 8-, 16-, 32-bit Data Bus for Instructions and Data AT91RM9200 34 1768G–ATARM–29-Sep-06 ...

Page 35

... Bus Instruction Modified Virtual Address Bus Instruction Bus CP15 Data Bus Write Buffer Data Modified Virtual Data Address Physical Bus Address Bus Data MMU Data Index Bus AT91RM9200 Bus Interface Write Back Write Back PA TAG RAM Physical Address Bus Memory Controller 35 ...

Page 36

... Register 15 is the Program Counter (PC) and can be used in all instructions to reference data relative to the current instruction. R14 holds the return address after a subroutine call. R13 is used (by software convention stack pointer. Table 11-1. User and System Mode AT91RM9200 36 ARM9TDMI Modes and Register Layout Supervisor Undefined Mode Abort Mode Mode ...

Page 37

... R10 R10 R11 R11 R12 R12 R13_SVC R13_ABORT R13_UNDEF R14_SVC R14_ABORT R14_UNDEF PC PC CPSR CPSR SPSR_ABO SPSR_UND SPSR_SVC RT AT91RM9200 Fast Interrupt Interrupt Mode Mode Mode R8_FIQ R9 R9 R9_FIQ R10 R10 R10_FIQ ...

Page 38

... Status register transfer instructions • Load and Store instructions • Coprocessor instructions • Exception-generating instructions ARM instructions can be executed conditionally. Every instruction contains a 4-bit condition code field (bits[31:28]). For further details, see the ARM920T Technical Reference Manual, Rev. DDI0151C. AT91RM9200 38 1768G–ATARM–29-Sep-06 ...

Page 39

... Program Counter (ARM Register 15), the Link Register (ARM Register 14) and the 1768G–ATARM–29-Sep-06 gives the ARM instruction mnemonic list. Mnemonic UMULL UMLAL STRH STRB STRBT SWPB AT91RM9200 Operation CDP Coprocessor Data Processing MVN Move Not ADC Add with Carry SBC Subtract with Carry ...

Page 40

... Branch and Exchange LDR Load Word LDRH Load Half Word LDRB Load Byte LDRSH Load Signed Halfword LDMIA Load Multiple PUSH Push Register to stack AT91RM9200 40 gives the Thumb instruction mnemonic list. Mnemonic MVN ADC SBC CMN NEG BIC ORR LSR ROR ...

Page 41

... TLB lockdown 11 Reserved 12 Reserved (2) 13 FCSE PID 14 Reserved 15 Test configuration 1. TLB: Translation Lookaside Buffer 2. FCSE PID: Fast Context Switch Extension Process Identifier AT91RM9200 Table 11-4. Access Read-only Read/Write Read/Write Read/Write None Read/Write Read/Write Write-only Write-only Read/Write Read/Write None None Read/Write ...

Page 42

... Defines the ARM register whose value is transferred to the coprocessor. If R15 is chosen, the result is unpredictable. • CRn[19:16]: Coprocessor Register Determines the destination coprocessor register. • opcode_1[23:20]: Coprocessor Code Defines the coprocessor specific code. Value is c15 for CP15. • L: Instruction Bit 0 = MCR instruction 1 = MRC instruction • Cond [31:28]: Condition AT91RM9200 ...

Page 43

... The memory system can abort during line fetches, memory accesses and translation table access. 1768G–ATARM–29-Sep-06 Mapping Details Mapping Size Access Permission By 1M byte Section 64K bytes 4 separated subpages 4K bytes 4 separated subpages 1K byte Tiny Page AT91RM9200 Subpage Size - 16K bytes 1K byte - 50. ”CP15 43 ...

Page 44

... DCache and Write Buffer operations are closely connected as their configuration is set in each section by the page descriptor in the MMU translation table. All data accesses are subject to MMU permission and translation checks. Data accesses aborted by the MMU cannot cause linefill or data access via the AMBA ASB interface. AT91RM9200 44 ”CP15 Register 1, Control” on page 48. ...

Page 45

... RAM. If this line has to be written back to the main memory, the PA TAG RAM is read and the physical address is used by the AMBA ASB interface to perform the write-back. For a 16-Kbyte DCache, the PA TAG RAM is organized by eight segments with: • 64 rows per segments • 26 bits per rows • be 1768G–ATARM–29-Sep-06 AT91RM9200 45 ...

Page 46

... Architecture Details the implementor architecture code. 0x2 value means ARMv4T architecture. • SRev[23:20]: Specification Revision Number 0x1 value; specification revision number used to distinguished two variants of the same primary part. • imp[31:24]: Implementor Code 0x41 (= A); means ARM Ltd. AT91RM9200 imp 21 ...

Page 47

... Cache Type Defines the cache type. For details on bits DSize and ISize, refer to the ARM920T Technical Reference Manual, Rev. DDI0151C. 1768G–ATARM–29-Sep- DSize ISize AT91RM9200 26 25 ctype ...

Page 48

... For further details, see the ARM920T Technical Reference Manual, Rev. DDI0151C. • R[9]: ROM Protection Modifies the MMU protection system. For further details, see the ARM920T Technical Reference Manual, Rev. DDI0151C. • I[12]: ICache Control 0 = ICache disabled ICache enabled. AT91RM9200 ...

Page 49

... The non-defined bits should be zero when written and are unpredictable when read. 1768G–ATARM–29-Sep-06 nF Clocking mode 0 Fast Bus 1 Synchronous 0 Reserved 1 Asynchronous Pointer Pointer AT91RM9200 ...

Page 50

... The 2-bit field value allows domain access as described in the table below. Value Access access 0 1 Client 1 0 Reserved 1 1 Manager 11.7.5 CP15 Register 4, Reserved Any access (Read or Write) to this register causes unpredictable behavior. AT91RM9200 D14 D10 ...

Page 51

... Domain[7:4]: Domain Indicates the domain (D15 - D0) being accessed when the fault occurred. The non-defined bits should be zero when written and are unpredictable when read. 1768G–ATARM–29-Sep- AT91RM9200 Status 51 ...

Page 52

... Invalidate ICache and DCache Clean DCache singe entry (using MVA) Clean DCache single entry (using index) Drain write buffer Prefetch ICache line (using MVA) Clean and Invalidate DCache entry (using MVA) Clean and Invalidate DCache entry (using index) AT91RM9200 FAR 21 ...

Page 53

... Below are the details of CP15 Register 7, or Cache Function Register, in MVA format mva • mva[31:5]: Modified Virtual Address The non-defined bits should be zero when written and are unpredictable when read. 1768G–ATARM–29-Sep- mva mva mva AT91RM9200 ...

Page 54

... Line Determines the cache line. • set[7:5]: Segment Determines the cache segment. The non-defined bits should be zero when written and are unpredictable when read. Writing other opcode_2 values or CRm values is unpredictable. Reading from CP15 Register 7 is unpredictable. AT91RM9200 index 21 ...

Page 55

... Writing other opcode_2 values or CRm values is unpredictable. Reading from CP15 Register 8 is unpredictable. 1768G–ATARM–29-Sep-06 MVA format MVA format mva mva mva AT91RM9200 Data CRm SBZ 5 5 SBZ 6 6 SBZ opcode_2 ...

Page 56

... Victim Pointer Current victim pointer that specifies the cache line to be used as victim for the next linefill. The non-defined bits should be zero when written and are unpredictable when read. AT91RM9200 56 Data Base Victim = Base Base Victim = Base 29 28 ...

Page 57

... Any access (Read or Write) to these registers causes unpredictable behavior. 1768G–ATARM–29-Sep-06 TLB lockdown TLB lockdown TLB lockdown TLB lockdown Base AT91RM9200 Data CRm ”CP15 Register 8, TLB Opcode_2 ...

Page 58

... CP15 Register 14, Reserved Any access (Read or Write) of these registers causes unpredictable behavior. 11.7.15 CP15 Register 15, Test Configuration Register CP15 Register 15, or Test Configuration Register, is used for test purposed. Any access (write or read) to this register causes unpredictable behavior. AT91RM9200 FCSEPID 21 20 ...

Page 59

... Debug and Test Features (DBG Test) 12.1 Overview The AT91RM9200 features a number of complementary debug and test capabilities. A common JTAG/ICE (In-Circuit Emulator) port is used for standard debugging functions such as download- ing code and single-stepping through programs. An ETM (Embedded Trace Macrocell) provides more sophisticated debug features such as address and data comparators, half-rate clock mode, counters, sequencer and FIFO ...

Page 60

... Block Diagram Figure 12-1. AT91RM9200 Debug and Test Block Diagram AT91RM9200 60 ICE/JTAG Boundary TAP Port ARM9TDMI ICE ETM ARM920T PDC DBGU Reset and Test TMS TCK TDI NTRST JTAGSEL TDO TPK0-TPK15 TPS0-TPS2 TSYNC 2 TCLK DTXD DRXD TST0-TST1 NRST TAP: Test Access Port ...

Page 61

... The Trace Port interface is used for tracing information. A software debug- ger running on a personal computer provides the user interface for configuring a Trace Port interface utilizing the ICE/JTAG interface. Figure 12-2. AT91RM9200-based Application Debug and Trace Environment Example 12.4 Test Environment Figure 12-3 the tester. In this example, the “ ...

Page 62

... Figure 12-3. AT91RM9200-based Application IEEE1149.1 Test Environment Example 12.5 Debug and Test Pin Description Table 12-1. Debug and Test Pin List Pin Name NRST TST0 TST1 TCK TDI TDO TMS NTRST JTAGSEL TSYNC TCLK TPS0- TPS2 TPK0 - TPK15 DRXD DTXD AT91RM9200 62 Test Adaptor JTAG ...

Page 63

... For further details on the Debug Unit and the Boot program, see 12.6.4 Embedded Trace Macrocell The AT91RM9200 features an Embedded Trace Macrocell (ETM), which is closely connected to the ARM9TDMI Processor. The Embedded Trace is a standard mid-level implementation and contains the following resources: • Four pairs of address comparators 1768G– ...

Page 64

... One external output • One 18-byte FIFO The Embedded Trace Macrocell of the AT91RM9200 works in half-rate clock mode and thus integrates a clock divider. This assures that the maximum frequency of all the trace port signals do not exceed one half of the ARM920T clock speed. ...

Page 65

... A data comparator has both a value register and a mask register, therefore it is possible to com- pare only certain bits of a preprogrammed value against the data bus. 1768G–ATARM–29-Sep-06 Trace ARM920T Control Bus Tracker Trace Enable, View Data TAP Trigger, Sequencer, Counters Controller Scan Chain 6 AT91RM9200 TPS-TPS0 FIFO TPK15-TPK0 TSYNC ETM9 65 ...

Page 66

... The half-rate mode is implemented to maintain the signal clock integrity of high speed systems (up to 100 Mhz). Figure 12-5. Care must be taken on the choice of the trace capture system as it needs to support half-rate clock functionality. AT91RM9200 66 ETM Memory Map Inputs Layout Region Access type Internal ...

Page 67

... Each AT91RM9200 input pin has a corresponding bit in the Boundary Scan Register for observability. Each AT91RM9200 output pin has a corresponding 2-bit register in the BSR. The OUTPUT bit contains data which can be forced on the pad. The CTRL bit can put the pad into high impedance. 1768G– ...

Page 68

... Each AT91RM9200 input/output pin corresponds to a 3-bit register in the BSR. The OUTPUT bit contains data that can be forced on the pad. The INPUT bit facilitates the observability of data applied to the pad. The CTRL bit selects the direction of the pad. Table 12-3. Bit Number ...

Page 69

... D8 398 397 D[11:8] 396 D9 395 394 D10 393 392 D11 391 390 D12 389 388 D[15:12] 387 D13 386 385 D14 384 AT91RM9200 Associated BSR Pin Type Cells INPUT I/O OUTPUT I/O CTRL INPUT I/O OUTPUT INPUT I/O OUTPUT INPUT I/O OUTPUT INPUT I/O OUTPUT I/O CTRL INPUT I/O OUTPUT ...

Page 70

... AT91RM9200 70 JTAG Boundary Scan Register (Continued) Pin Name D15 PC16/D16 PC17D17 PC18/D18 PC19/D19 PC20/D20 PC21/D21 PC22/D22 PC23/D23 PC24/D24 PC25/D25 PC26/D26 Associated BSR Pin Type ...

Page 71

... PC10/NCS4/CFCS 331 330 329 PC11/NCS5/CFCE1 328 327 326 PC12/NCS6/CFCE2 325 324 323 PC13/NCS7 322 321 320 PC14 319 318 317 PC15 316 AT91RM9200 Associated BSR Pin Type Cells INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O ...

Page 72

... AT91RM9200 72 JTAG Boundary Scan Register (Continued) Pin Name PC0/BCFK PC1/BFRDY/SMOE PC2/BFAVD PC3/BFBAA/SMWE PC4/BFOE PC5/BFWE PC6/NWAIT PA0/MISO/PCK3 PA1/MOSI/PCK0 PA2/SPCK/IRQ4 PA3/NPCS0/IRQ5 Associated BSR Pin Type Cells ...

Page 73

... PD3/ETX3 265 264 263 PD4/ETXEN 262 261 260 PD5/ETXER 259 258 257 PD6/DTXD 256 255 254 PA6/NPCS3/RXD3 253 252 251 PA7/ETXCK/EREFCK/PCK2 250 AT91RM9200 Associated BSR Pin Type Cells INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O ...

Page 74

... AT91RM9200 74 JTAG Boundary Scan Register (Continued) Pin Name PA8/ETXEN/MCCDB PA9/ETX0/MCDB0 PA10/ETX1/MCDB1 PA11/ECRS/ECRSDV/MCDB2 PA12/ERX0/MCDB3 PA13/ERX1/TCLK0 PA14/ERXER/TCLK1 PA15/EMDC/TCLK2 PA16/EMDIO/IRQ6 PA17/TXD0/TIOA0 PA18/RXD0/TIOB0 Associated BSR Pin Type Cells ...

Page 75

... PA24/SCK2/PCK1 199 198 197 PA25/TWD/IRQ2 196 195 194 PA26/TWCK/IRQ1 193 192 191 PA27/MCCK/TCLK3 190 189 188 PA28/MCCDA/TCLK4 187 186 185 PA29/MCDA0/TCLK5 184 AT91RM9200 Associated BSR Pin Type Cells INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O ...

Page 76

... AT91RM9200 76 JTAG Boundary Scan Register (Continued) Pin Name PA30/DRXD/CTS2 PA31/DTXD/RTS2 PB0/TF0/RTS3 PB1/TK0/CTS3 PB2/TD0/SCK3 PB3/RD0/MCDA1 PB4/RK0/MCDA2 PB5/RF0/MCDA3 PB6/TF1/TIOA3 PB7/TK1/TIOB3 PB8/TD1/TIOA4 Associated BSR Pin Type Cells ...

Page 77

... PB14/TD2/ETXER 133 132 131 PB15/RD2/ERX2 130 129 128 PB16/RK2/ERX3 127 126 125 PD7/PCK0/TSYNC 124 123 122 PD8/PCK1/TCLK 121 120 119 PD9/PCK2/TPS0 118 AT91RM9200 Associated BSR Pin Type Cells INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O ...

Page 78

... AT91RM9200 78 JTAG Boundary Scan Register (Continued) Pin Name PD10/PCK3/TPS1 PD11/TPS2 PD12/TPK0 PB17/RF2/ERXDV PB18/RI1/ECOL PB19/DTR1/ERXCK PB20/TXD1 PB21/RXD1 PB22/SCK1 PD13/TPK1 PD14/TPK2 Associated BSR Pin Type Cells INPUT I/O OUTPUT CTRL ...

Page 79

... PB25/DSR1/EF100 PB26/RTS1 PB27/PCK0 PD16/TD1/TPK4 PD17/TD2/TPK5 PD18/NPCS1/TPK6 PD19/NPCS2/TPK7 PD20/NPCS3/TPK8 52 AT91RM9200 Associated BSR Pin Type Cells INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT CTRL INPUT I/O OUTPUT ...

Page 80

... AT91RM9200 80 JTAG Boundary Scan Register (Continued) Pin Name PD21/RTS0/TPK9 PD22/RTS1/TPK10 PD23/RTS2/TPK11 PD24/RTS3/TPK12 PD25/DTR1/TPK13 PD26/TPK14 PD27/TPK15 PB28/FIQ PB29/IRQ0 A0/NLB/NBS0 A[3:0]/NLB/NWR2/NBS0 /NBS2 A1/NWR2/NBS2 A[7:4] A5 Associated BSR Pin Type Cells INPUT ...

Page 81

... A[11: A10 10 SDA10 9 A11 8 A12 7 A[15:12] 6 A13 5 A14 4 A15 3 A16/BA0 2 A17/BA1 1 A18 AT91RM9200 Associated BSR Pin Type Cells Output OUTPUT Output OUTPUT Output OUTPUT Output CTRL Output OUTPUT Output OUTPUT Output OUTPUT Output OUTPUT Output OUTPUT Output CTRL Output OUTPUT ...

Page 82

... Set to 0x1 = JTAGSEL is high. • PART NUMBER[27:14]: Product Part Number Set to 0x5b02. • MANUFACTURER IDENTITY[11:1] Set to 0x01f. • Bit [0]: Required by IEEE Std. 1149.1 Set to 1. The AT91RM9200 ID Code value is 0x15b0203f (JTAGSEL is High). The AT91RM9200 ID Code value is 0x05b0203f (JTAGSEL is Low). AT91RM9200 ...

Page 83

... Boot Program 13.1 Overview The Boot Program is capable of downloading an application in an AT91RM9200-based system. It integrates a Bootloader and a boot Uploader to assure correct information download. The Bootloader is activated first. It looks for a sequence of eight valid ARM exception vectors in a DataFlash connected to the SPI, an EEPROM connected to the Two-wire Interface (TWI 8-bit memory device connected to the external bus interface (EBI) ...

Page 84

... Figure 13-1. Boot Program Algorithm Flow Diagram Device Setup SPI DataFlash Boot Timeout 10 ms TWI EEPROM Boot Timeout 40 ms Parallel Boot OR *DFU = Device Firmware Upgrade AT91RM9200 84 Figure 13-1. Yes Download from DataFlash Download from Yes EEPROM Yes Download from 8-bit Device DBGU Serial ...

Page 85

... Internal SRAM REMAP 0x0020_0000 Internal ROM 0x0000_0000 ea00000b B 0x2c00ea00000bB0x2c e59ff014 LDR PC,[PC,20]04e59ff014LDRPC,[PC,20] e59ff014 LDR PC,[PC,20]08e59ff014LDRPC,[PC,20] e59ff014 LDR PC,[PC,20]0ce59ff014LDRPC,[PC,20] e59ff014 LDR PC,[PC,20]10e59ff014LDRPC,[PC,20] 00001234 LDR PC,[PC,20]1400001234LDRPC,[PC,20] e51fff20 LDR PC,[PC,-0xf20]18e51fff20LDRPC,[PC,-0xf20] e51fff20 LDR PC,[PC,-0xf20]1ce51fff20LDRPC,[PC,-0xf20] AT91RM9200 Internal ROM 0x0010_0000 Internal SRAM 0x0000_0000 85 ...

Page 86

... In download mode (DataFlash, EEPROM or 8-bit memory in device with EBI integrated), the size of the image to load into SRAM is contained in the location of the sixth ARM vector. Thus the user must replace this vector by the correct vector for his application. AT91RM9200 ...

Page 87

... Number of Reserved pages (Nb of pages) DataFlash Device Density 1 Mbit 2 Mbits 4 Mbits 8 Mbits 16 Mbits 32 Mbits 64 Mbits 128 Mbits AT91RM9200 512 bytes blocks to download Page Size (bytes) Number of pages 264 512 264 1024 264 2048 264 4096 528 ...

Page 88

... DataFlash connected to the NPCS0 of the SPI, followed by the serial EEPROM con- nected to the TWI and by an 8-bit parallel memory connected on NCS0 of the External Bus Interface. AT91RM9200 88 register located in the Power Management Controller (PMC) determines the frequency of the main oscillator and thus the correct factor for the PLLB. ...

Page 89

... Branch instruction ? Yes Read the DataFlash into the internal SRAM. (code size to read in vector 6) Restore the reset value for the peripherals. Set the and perform the REMAP to jump to the downloaded application End AT91RM9200 Table 13-1 summarizes the parame- No Serial DataFlash Download No 89 ...

Page 90

... Generally, serial EEPROMs have no identification code. The bootloader checks for an acknowl- edgment on the first read. The device address on the two-wire bus must be 0x0. The bootloader supports the devices listed in Table 13-3. Figure 13-7. Serial Two-Wire EEPROM Download AT91RM9200 90 Table 13-3. Supported EEPROM Devices Device ...

Page 91

... LDR or Branch instruction ? Yes Read the external memory into the internal SRAM (code size to read in vector 6) Restore the reset value for the peripherals. Set the and perform the REMAP to jump to the downloaded application End AT91RM9200 No Memory uploader 91 ...

Page 92

... CRC16 Figure 13-9 AT91RM9200 92 start to 01) shows a transmission using this protocol. 1768G–ATARM–29-Sep-06 ...

Page 93

... Device C SOH 01 FE Data[128] CRC CRC ACK SOH 02 FD Data[128] CRC CRC ACK SOH 03 FC Data[100] CRC CRC ACK EOT ACK Host Device Prepare for an upgrade USB reset DFU mode activated Download this firmware Prepare to exit DFU mode USB reset AT91RM9200 93 ...

Page 94

... Pin Used (1) MOSI (1) SPCK NPCS0 (1) TWD (1) TWCK Note: AT91RM9200 94 contains a list of pins that are driven during the Boot Program execution. These pins Pins Driven during Boot Program Execution SPI (DataFlash) (1) 1. See Section 10.3 ”Peripheral Multiplexing on PIO Lines” on page TWI (EEPROM ...

Page 95

... Thus, using service, the client application carries out a synchronous read by starting the read and polling the status asynchronous read specifying a callback when starting the read operation. 1768G–ATARM–29-Sep-06 AT91RM9200 95 ...

Page 96

... AT91F_Open_<Service>. To overload one or several methods in a service, the function pointer must be updated to the new method. AT91RM9200 96 99). Thus, only the functions AT91F_Open_<service> are visible from 14.3.2 ” ...

Page 97

... Overloading AT91F_ChildMethod by My_ChildMethod // My_ChildMethod will replace AT91F_ChildMethod char My_ChildMethod () { } // Overloading Open Service Method AT91PS_Service My_OpenService( AT91PS_Service pService Overloading ChildMethod default value } // Allocation of the service structure AT91S_Service service; // Opening of the service AT91PS_Service pService = My_OpenService(&service); AT91RM9200 AT91F_OpenService(pService); pService->ChildMethod= My_ChildMethod; return pService; 97 ...

Page 98

... Init the service with default methods AT91PS_Service AT91F_OpenService( AT91PS_Service pService) { pService->data = 0; pService->MainMethod =AT91F_MainMethod; pService->ChildMethod=AT91F_ChildMethod; return pService; } AT91RM9200 98 Overloading AT91F_ChildMethod by My_ChildMethod // My_ChildMethod will replace AT91F_ChildMethod char My_ChildMethod () { } // Allocation of the service structure AT91S_Service service; // Opening of the service AT91PS_Service pService = AT91F_OpenService(& ...

Page 99

... AT91PS_CtlTempo pCtlTempo, void const *pTempoTimer ) { ... } AT91S_TempoStatus AT91F_CtlTempoCreate ( AT91PS_CtlTempo pCtrl, AT91PS_SvcTempo pTempo) { ... } structure. To obtain the Open Service Method of another service stored in can be found at the beginning of the ROM, after the excep- AT91S_RomBoot AT91RM9200 96). function), they must AT91F_Open_<Service> . Some members of AT91S_RomBoot structure. AT91S_RomBoot 99 ...

Page 100

... AT91S_TempoStatus AT91F_STStart(void * pTimer) // Typical Use: AT91S_CtlTempo ctlTempo; ctlTempo.CtlTempoIsStart(...); // Default Method: AT91S_TempoStatus AT91F_STIsStart( AT91PS_CtlTempo pCtrl) AT91RM9200 100 Description Member of AT91S_RomBoot structure. Corresponds to the Open Service Method for the Tempo Service. Input Parameters: Pointer on a Control Tempo Object. Pointer on a System Timer Descriptor Structure. ...

Page 101

... Number of times to reload the tempo after timeout completed for periodic execution. Callback on a method to launch once the timeout completed. Allows to have a hook on the current service. Output Parameters: Returns 1. Member of structure. AT91S_SvcTempo Force to stop a software timer. Input Parameters: Pointer on a Service Tempo Object. Output Parameters: Returns 1. AT91RM9200 ’s list. 101 ...

Page 102

... AT91S_SvcTempo svcTempo2; • Initializes the AT91S_SvcTempo object calling the AT91F_CtlTempoCreate method of the AT91S_CtlTempo service: // Init the svcTempo2, link it to the AT91S_CtlTempo object ctlTempo.CtlTempoCreate(&ctlTempo, &svcTempo2); AT91RM9200 102 ) method replaced by the application &ctlTempo, &svcTempo1 method of the svcTempo1 object. Depending on the function Start 1768G– ...

Page 103

... AT91RM9200 AT91PS_SvcComm AT91PS_Buffer *pPipe); 103 ...

Page 104

... The SvcComm structure provides the interface between low-level functions and the pipe object. SvcComm Structure It contains pointers of functions initialized to the lower level functions (e.g. SvcXmodem). The Xmodem Service implementation gives an example of SvcComm use. AT91RM9200 104 (struct _AT91S_Buffer *pSBuffer, (struct _AT91S_Buffer *pSBuffer, (struct _AT91S_Buffer *pSBuffer); ...

Page 105

... AT91S_SvcCommStatus (*WriteHandler) (struct _AT91PS_SvcXmodem *, unsigned int csr); unsigned short 1768G–ATARM–29-Sep-06 (struct _AT91S_Service *pService); (*TxReady)(struct _AT91S_Service *pService); (*RxReady)(struct _AT91S_Service *pService); (struct _AT91PS_SvcXmodem *, unsigned int); (struct _AT91PS_SvcXmodem *, unsigned (*GetCrc) (char *ptr, unsigned int count); AT91RM9200 105 ...

Page 106

... Typical Use: AT91S_SvcXmodem svcXmodem; svcXmodem.Handler(...); // Default read handler: AT91S_SvcCommStatus AT91F_SvcXmodemReadHandler(AT91PS_SvcXmodem pSvcXmodem, unsigned int csr) // Default write handler: AT91S_SvcCommStatus AT91F_SvcXmodemWriteHandler(AT91PS_SvcXmodem pSvcXmodem, unsigned int csr) AT91RM9200 106 (*CheckHeader) (unsigned char currentPacket, char (*CheckData) (struct _AT91PS_SvcXmodem *); parent; // Base class *pData; dataSize XMODEM_DATA_STX or XMODEM_DATA_SOH packetDesc[AT91C_XMODEM_PACKET_SIZE]; ...

Page 107

... Xmodem Buffer allocation xmodemPipe;// xmodem pipe communication struct ctlTempo; // Tempo struct = pAT91->OpenSBuffer(&sXmBuffer); (AT91PS_USART) AT91C_BASE_DBGU, MCK, // Master Clock AT91C_US_ASYNC_MODE, BAUDRATE , // baudrate to be programmed 0); // timeguard to be programmed AT91C_ID_SYS, AT91C_AIC_PRIOR_HIGHEST, AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE, AT91F_ASM_ST_DBGU_Handler); AT91RM9200 // DBGU base address // mode Register to be programmed 107 ...

Page 108

... Typical Use: AT91S_SvcDataFlash svcDataFlash; svcDataFlash.Status(...); // Default Method: AT91S_SvcDataFlashStatus AT91F_DataFlashGetStatus(AT91PS_DataflashDes c pDesc) AT91RM9200 108 Description Member of AT91S_RomBoot structure. Corresponds to the Open Service Method for the DataFlash Service. Input Parameters: Pointer on a PMC Register Description Structure. Pointer on a DataFlash Service Structure. ...

Page 109

... Pointer on DataFlash Service Structure. Choose Internal DataFlash Buffer command. DataFlash address. Data buffer destination pointer. Number of bytes to read. Output Parameters: Returns 0 if DataFlash is Busy. Returns 1 if DataFlash is Ready. Returns 4 if DataFlash Bad Command. Returns 5 if DataFlash Bad Address. AT91RM9200 109 ...

Page 110

... Default Method: AT91S_SvcDataFlashStatus AT91F_DataFlashWriteBuffer ( AT91PS_SvcDataFlash pSvcDataFlash, unsigned char BufferCommand, unsigned char *dataBuffer, unsigned int bufferAddress, int SizeToWrite ) AT91RM9200 110 Description Member of structure AT91S_SvcDataFlash Read a Page in the Internal SRAM Buffer Input Parameters: Pointer on DataFlash Service Structure. Choose Internal DataFlash Buffer command. ...

Page 111

... Compare the contents of a Page and one of the Internal SRAM buffer. Input Parameters: Pointer on a Service DataFlash Object. Internal SRAM DataFlash Buffer to compare command. Page to compare. Output Parameters: Returns 0 if DataFlash is Busy. Returns 1 if DataFlash Ready. Returns 4 if DataFlash Bad Command. AT91RM9200 111 ...

Page 112

... Link to the service structure svcDataFlash.pDevice = &Device; 4. Now the different methods can be used. Following is an example of a Page Read of 528 bytes on page 50: // Result of the read operation in RxBufferDataFlash unsigned char RxBufferDataFlash[528]; svcDataFlash.PageRead(&svcDataFlash, AT91RM9200 112 AT91S_SvcDataFlash instance by calling the AT91S_SvcDataFlash : SPI Interrupt AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE ...

Page 113

... None. This function provides a table driven 16bit CRC generation for byte data. This CRC is known as the CCITT CRC16 (POLYNOME = 0x1021). Input Parameters: Pointer on the data buffer. The size of this buffer. A pointer on the result of the CRC. Output Parameters: None. AT91RM9200 structure. 113 ...

Page 114

... Default Method: short AT91F_Sinus(int step) // Typical Use: short sinus; sinus = pAT91->SineTab[...]; // Array Embedded: const short AT91C_SINUS180_TAB[256] AT91RM9200 114 Description Bit Reverse Array: array which allows to reverse one octet. Frequently used in mathematical algorithms. Used for example in the CRC16 calculation. AT91S_RomBoot Description This function returns the amplitude coded on 16 bits sine waveform for a given step ...

Page 115

... AT91RM9200 Reset Controller 15.1 Overview This chapter describes the AT91RM9200 reset signals and how to use them in order to assure correct operation of the device. The AT91RM9200 has two reset input lines called NRST and NTRST. Each line provides, respectively: • Initialization of the User Interface registers (defined in the user interface of each peripheral) and: – ...

Page 116

... Require the processor to perform the next instruction fetch from address zero. With the exception of the program counter and the Current Program Status Register, the proces- sor’s registers do not have defined reset states. When the microcontroller’s NRST input is AT91RM9200 116 V ...

Page 117

... Reset NTRST Controller Reset NRST Controller AT91RM9200 (1) 1. NRST and NTRST handling in Debug Mode during development. 2. NRST and NTRST handling during production. above. However, once Debug is completed, both signals are easily managed AT91RM9200 NTRST Reset Controller NRST AT91RM9200 (2) Figure 15-3 above. 117 ...

Page 118

... Required Features for the Reset Controller The following table presents the features required of a reset controller in order to obtain an opti- mal system with the AT91RM9200 processor. Table 15-2. Reset Controller Functions Synthesis Feature Description Power Supply Monitoring Overlaps the transient state of the system during power-up/down and brownout. ...

Page 119

... Chip Select 0 of the EBI. The Remap command switches addressing of the ARM vectors (0x0 - 0x20) on the embedded SRAM. Key Features of the AT91RM9200 Memory Controller are: • Programmable Bus Arbiter Handling Four Masters – Internal Bus is Shared by ARM920T, PDC, USB Host Port and Ethernet MAC – ...

Page 120

... Block Diagram Figure 16-1. Memory Controller Block Diagram ARM920T Processor Abort EMAC DMA UHP DMA Peripheral Data Controller AT91RM9200 120 Memory Controller Abort Status Address Decoder Bus Misalignment Detector Arbiter User Interface APB Bridge Peripheral 0 APB Peripheral 1 Peripheral N ASB Internal Memories BMS ...

Page 121

... Eight 256-Mbyte address spaces, each assigned to one of the eight chip select lines of the External Bus Interface • One 256-Mbyte address space reserved for the embedded peripherals • An undefined address space of 1536M bytes that returns an Abort if accessed 1768G–ATARM–29-Sep-06 AT91RM9200 121 ...

Page 122

... When the address of the access is undefined within the internal memory area, i.e. over the address 0x0040 0000, the Address Decoder returns an Abort to the master. AT91RM9200 122 shows the assignment of the 256-Mbyte memory areas. ...

Page 123

... Internal Memory Area 3 USB Host Port 0x003F FFFF 0x0040 0000 Undefined Area 0x0FFF FFFF Internal Memory Area Depending on BMS and the Remap Command 1 Internal ROM AT91RM9200 1M Byte 1M Byte 1M Byte 1M Byte 252M bytes (Abort) Before Remap After Remap 0 External Memory Area 0 ...

Page 124

... However, in case of prefetch abort, the address might have changed, as the prefetch abort is pipelined in the ARM processor. The ARM processor takes the prefetch abort into account only if the read instruction is actually executed and it is probable that several aborts have occurred dur- AT91RM9200 124 is provided to summarize the effect of these two key features on the Figure 16-1) ...

Page 125

... Memory Controller, which can neither enable/disable it nor return its activity. This Memory Controller interrupt signal is ORed with the other System Peripheral interrupt lines (RTC, ST, DBGU, PMC) to provide the System Interrupt on Source 1 of the Advanced Interrupt Controller. 1768G–ATARM–29-Sep-06 AT91RM9200 Figure 125 ...

Page 126

... User Interface Base Address: 0xFFFFFF00 AT91RM9200 Memory Controller Memory Map Offset Register 0x00 MC Remap Control Register 0x04 MC Abort Status Register 0x08 MC Abort Address Status Register 0x0C MC Master Priority Register 0x10 - 0x5C Reserved 0x60 EBI Configuration Registers AT91RM9200 126 Name Access MC_RCR ...

Page 127

... MC_RCR Write-only 0xFFFF FF00 – – – – – – – – – – – – AT91RM9200 – – – – – – – – – – – RCB 127 ...

Page 128

... ABTTYP: Abort Type Status ABTTYP • MST0: ARM920T Abort Source 0: The last aborted access was not due to the ARM920T. 1: The last aborted access was due to the ARM920T. AT91RM9200 128 MC_ASR Read-only 0x0 0xFFFF FF04 – – SVMST3 21 ...

Page 129

... SVMST3: Saved EMAC Abort Source 0: No abort due to the EMAC occurred since the last read of MC_ASR notified in the bit MST3 least one abort due to the EMAC occurred since the last read of MC_ASR. 1768G–ATARM–29-Sep-06 AT91RM9200 129 ...

Page 130

... MSTP0: ARM920T Priority • MSTP1: PDC Priority • MSTP2: UHP Priority • MSTP3: EMAC Priority 000: Lowest priority 111: Highest priority In the case of equal priorities, Master 0 has highest and Master 3 has lowest priority. AT91RM9200 130 MC_AASR Read-only 0x0 0xFFFF FF08 29 ...

Page 131

... SDRAM Controller or Static Memory Controller on NCS1 – Static Memory Controller on NCS3, Optional NAND Flash/SmartMedia Support – Static Memory Controller on NCS4 - NCS6, Optional NAND Flash/SmartMedia and – Static Memory Controller on NCS7 Note: 1768G–ATARM–29-Sep-06 (1) CompactFlash Support 1. The 32-bit Data Bus is for SDRAM only. AT91RM9200 131 ...

Page 132

... Block Diagram Figure 17-1 Figure 17-1. Organization of the External Bus Interface Memory Controller ASB Address Decoder AT91RM9200 132 below shows the organization of the External Bus Interface. External Bus Interface SDRAM Controller MUX Burst Flash Logic Controller Static Memory Controller NAND Flash/ SmartMedia Logic ...

Page 133

... NWR[3:0] Write Signals NBS[3:0] Byte Mask Signals SDA10 SDRAM Address 10 Line 1768G–ATARM–29-Sep-06 EBI SMC EBI for CompactFlash Support EBI for NAND Flash/SmartMedia Support SDRAM Controller AT91RM9200 Type Active Level I/O Output Output Low Output Low Output Low Output Low ...

Page 134

... Not Supported A1 Not Supported A[11:2] A[9:0] SDA10 A10 A12 Not Supported A[14:13] A[12:11] A[25:15] Not Supported D[31:16] D[31:16] D[15:0] D[15:0] AT91RM9200 134 Burst Flash Controller below details the connections between the three Memory Controllers and the EBI BFC I/O Lines Not Supported Not Supported A0 A[10:1] Not Supported A11 A[13:12] A[24:14] Not Supported D[15:0] Type Active Level ...

Page 135

... CS CS – – – – – – – ( – AT91RM9200 NANDFlash/ SDRAM CompactFlash SmartMedia SDRAMC SMC AD0 - AD7 D8 - D15 D16 - D31 – DQM0 A0 DQM2 A10 A9 – A10 – ...

Page 136

... The REG signal of the CompactFlash can be driven by any of the following address bits: A24, A22 to A11. For details, see Section 17.6.6 ”CompactFlash Support” on page 4. NWR1 enables upper byte writes. NWR0 enables lower byte writes. AT91RM9200 136 Pins of the Interfaced Device 2 x 8-bit ...

Page 137

... Burst Flash D0-D15 D0-D15 A1-A21 A0-A20 CE CLK OE WE AVD RDY 128K x 8 SRAM A1-A17 D0-D7 A0-A16 D0- NRD/NOE WE A0/NWR0/NBS0 AT91RM9200 SDRAM D8-D15 D0-D7 CS CLK A0-A9, A11 A2-A11, A13 CKE SDWE A10 SDA10 WE BA0 A16/BA0 RAS BA1 A17/BA1 CAS DQM NBS1 SDRAM ...

Page 138

... PIO controller. 17.6.3 Static Memory Controller For information on the Static Memory Controller, refer to the SMC page 153. 17.6.4 SDRAM Controller For information on the SDRAM Controller, refer to the SDRAMC description on ”Overview” on page AT91RM9200 138 193. Section 18.1 ”Overview” on Section 19.1 1768G–ATARM–29-Sep-06 ...

Page 139

... FFFF 0x5i40 0000 0x5i3F FFFF 0x5i00 0000 In the above example, the A22 pin of the EBI can be used to drive the REG signal of the Compact- Flash Device. AT91RM9200 Section 20.1 ”Overview” on page to the appropriate value enables this logic. A23 = 1 I/O Mode A22 = 0 A23 = 0 ...

Page 140

... EBI signals on the EBI pins. The EBI pins in cated to the CompactFlash interface as soon as the CS4A field of the Chip Select Assignment Register is set pins must not be used to drive any other memory devices. AT91RM9200 140 Section 18.5.5 ”Setup and Hold Cycles” on page 167 External Bus Interface ...

Page 141

... CompactFlash Signals CFCS CFCE1 CFCE2 Access to CompactFlash Device CompactFlash Signals CFOE CFWE CFIOR CFIOW CFRNW below illustrates an example of a CompactFlash application. CFCS and CFRNW AT91RM9200 CS4A = 0 EBI Signals NCS4 NCS5 NCS6 Access to Other EBI Devices EBI Signals NRD/NOE NWR0/NWE NWR1/NBS1 NWR3/NBS3 A25 Section 18.1 ” ...

Page 142

... The SMWE and SMOE signals are multiplexed with BFRDY and BFBAA signals of the Burst Flash Controller. This multiplexing is controlled in the MUX logic part of the EBI by the CS3A field of the Chip Select Assignment Register Register” on page 150.) AT91RM9200 142 EBI D[15:0] A25/CFRNW ...

Page 143

... Flash device will occur when the NAND Flash/SmartMedia device is activated due to the fact that the SMOE and SMWE signals are mul- tiplexed with BFRDY and BFBAA signals respectively. 1768G–ATARM–29-Sep-06 MUX Logic NAND Flash/Smart Media Logic SMOE SMWE AT91RM9200 BFRDY_SMOE BFBAA_SMWE CS3A 143 ...

Page 144

... Figure 17-7. NAND Flash/SmartMedia Application Example AT91RM9200 144 D[7:0] A[22:21] NCS3/SMCS Not Connected EBI BFBAA/SMWE BFRDY/SMOE PIO PIO AD[7:0] ALE CLE NAND Flash/SmartMedia NWE NOE CE R/B 1768G–ATARM–29-Sep-06 ...

Page 145

... Select Assignment Register located in the bus matrix memory space • Initialize the SDRAM Controller accordingly to SDRAM device and system bus frequency. The Data Bus Width programmed to 16 bits. The SDRAM initialization sequence is described in the “SDRAM Device Initialization” part of the SDRAM controller. 1768G–ATARM–29-Sep-06 AT91RM9200 145 ...

Page 146

... The Data Bus Width programmed to 32 bits. The data lines D[16..31] are multiplexed with PIO lines and thus the dedicated PIOs must be programmed in peripheral mode in the PIO controller. The SDRAM initialization sequence is described in the “SDRAM Device Initialization” part of the SDRAM controller. AT91RM9200 146 1768G–ATARM–29-Sep-06 ...

Page 147

... The default configuration for the Static Memory Controller, byte select mode, 16-bit data bus, Read/Write controlled by Chip Select, allows boot on a 16-bit non-volatile memory at slow clock. For other configurations, configure Static Memory Controller CS0 Setup, Pulse, Cycle and Mode accordingly to Flash timings and system bus frequency. 1768G–ATARM–29-Sep-06 AT91RM9200 147 ...

Page 148

... Configure a PIO line as an output for CFRST and two others as an input for CFIRQ and CARD DETECT functions respectively. • Configure SMC CS4 Setup, Pulse, Cycle and Mode accordingly to Compact Flash timings and system bus frequency. AT91RM9200 148 1768G–ATARM–29-Sep-06 ...

Page 149

... External Bus Interface (EBI) User Interface AT91RM9200 EBI User Interface Base Address: 0xFFFF FF60 Table 17-7. External Bus Interface Memory Map Offset Register 0x00 Chip Select Assignment Register 0x04 Configuration Register 0x08 Reserved 0x0C Reserved 0x10 - 0x2C SMC User Interface 0x30 - 0x5C ...

Page 150

... Chip Select 4 is assigned to the Static Memory Controller and NCS4, NCS5 and NCS6 behave as defined by the SMC Chip Select 4 is assigned to the Static Memory Controller and the CompactFlash Logic is activated. Accessing the address space reserved to NCS5 and NCS6 may lead to an unpredictable outcome. AT91RM9200 150 29 ...

Page 151

... Data Bus bits are not internally pulled-up. 1768G–ATARM–29-Sep- – – – – – – – – – – – – AT91RM9200 – – – – – – – – – – DBPUC 151 ...

Page 152

... AT91RM9200 152 1768G–ATARM–29-Sep-06 ...

Page 153

... Multiple Device Adaptability – Compliant with LCD Module – Programmable Setup Time Read/Write – Programmable Hold Time Read/Write • Multiple Wait State Management – Programmable Wait State Generation – External Wait Request – Programmable Data Float Time 1768G–ATARM–29-Sep-06 AT91RM9200 153 ...

Page 154

... Block Diagram Figure 18-1. Static Memory Controller Block Diagram Memory Controller AT91RM9200 154 SMC SMC Chip Select MCK PMC User Interface APB PIO Controller NCS[7:0] NRD/NOE NWR0/NWE NWR1/NUB A0/NLB A[25:1] D[15:0] NWAIT 1768G–ATARM–29-Sep-06 ...

Page 155

... Related Function NLB 8-bit or 16-bit data bus, see Byte-write or byte-select access, see NOE 158. Byte-write or byte-select access, see NWE 158. Byte-write or byte-select access, see NUB 158. AT91RM9200 Type Active Level Output Output Output Output Output Output I/O Input 18.5.1.3 ”Data Bus Width” on page 157. 18.5.2.1 ” ...

Page 156

... The SMC correctly handles any valid access to the memory device within the page. See Figure 18-2. Case of an External Memory Smaller than Page Size 18.5.1.2 Chip Select Lines The Static Memory Controller provides up to eight chip select lines: NCS0 to NCS7. AT91RM9200 156 1M Byte Device Low 1M Byte Device Low ...

Page 157

... NCS2 (DBW = 10). D[7:0] D[15:8] A[25:1] SMC A0 NWR1 NWR0 NRD NCS2 shows how to connect a 512K x 16-bit memory on NCS2 (DBW = 01). AT91RM9200 NCS7 Memory Enable NCS6 Memory Enable NCS5 Memory Enable NCS4 Memory Enable NCS3 Memory Enable NCS2 Memory Enable ...

Page 158

... The signal A0/NLB is not used. • The signal NWR1/NUB is used as NWR1 and enables upper byte writes. • The signal NWR0/NWE is used as NWR0 and enables lower byte writes. • The signal NRD/NOE is used as NRD and enables half-word and byte reads. Figure 18-6 AT91RM9200 158 D[7:0] D[15:8] A[25:1] ...

Page 159

... SRAM D[7:0] D[15:8] A[19:1] NLB SMC NUB NWE NOE NCS2 shows how to connect a 16-bit device without byte access (e.g., Flash device type) AT91RM9200 D[7:0] A[18:0] Write Enable Read Enable Memory Enable D[15:8] A[18:0] Write Enable Read Enable Memory Enable ...

Page 160

... During write cycles, data output becomes valid after the rising edge of MCK and remains valid after the rising edge of NWE. During a write access, the data remain on the bus 1/2 period of MCK after the rising edge of NWE. See Figure 18-9. Write Access with 0 Wait State A[25:0] NCS2 D[15:0] Figure 18-10. Write Access with 1 Wait State AT91RM9200 160 D[7:0] D[15:8] A[19:1] NLB SMC NUB ...

Page 161

... Likewise, NWE represents NWE, NWR0 and NWR1 unless NWR0 and NWR1 are otherwise represented. In addition, NCS represents NCS[7:0] (see Lines” on page 156, Table 18-1 and Table Figure 18-11. MCK A[25:0] NCS NRD D[15:0] AT91RM9200 Figure 18-18 on page 166). (See “SMC Chip Select Registers” on 18-2). ”I/O 161 ...

Page 162

... NWS field in the same register. Below is the correspondence between the number of standard wait states programmed and the number of clock cycles during which the NWE pulse is held low: 0 wait states 1 wait state For each additional wait state programmed, an additional cycle is added. AT91RM9200 162 MCK A[25:0] NCS NRD D[15:0] 18.6.1 ” ...

Page 163

... WARNING: If NWAIT is asserted during a setup or hold timing, the SMC does not function correctly. 1768G–ATARM–29-Sep-06 1 Wait State Access MCK A[25:0] NCS NWE NRD (1) 1. Early Read Protocol 2. Standard Read Protocol NWS Wait Delay from nrd/nwe AT91RM9200 (2) + external_nwait Synchronization Delay + 1 163 ...

Page 164

... The Data Float Output Time (t field of the SMC_CSR register for the corresponding chip select ( isters” on page and 15 inserted and represents the time allowed for the data output high imped- ance after the memory is disabled. AT91RM9200 164 (2) NWAIT Synchronization Delay ...

Page 165

... DF MCK A[25:0] NCS NRD (1) D[15:0] 1. Early Read Protocol 2. Standard Read Protocol AT91RM9200 ( 165 ...

Page 166

... No wait state is added when a read cycle is followed by a write cycle, between consecutive accesses of the same type, or between external and internal memory accesses. Figure 18-18. Early Read Wait States AT91RM9200 166 Mem 1 MCK A[25:0] ...

Page 167

... DF is higher or equal to the number of setup cycles, the number of setup DF Figure 18-24 on page Figure 18-25 on page 170). Pulse Length NRD Setup AT91RM9200 169). the number of t DF, DF NRD Hold Pulse Length Figure 18- inserted is ...

Page 168

... Figure 18-21. Write Access with Setup and Hold MCK A[25:0] NWE D[15:0] NWR Setup Figure 18-22. Write Access with Setup MCK A[25:0] NWE D[15:0] AT91RM9200 168 Pulse Length NWR Setup Pulse Length NWR Hold NWR Hold 1768G–ATARM–29-Sep-06 ...

Page 169

... Figure 18-23. Consecutive Accesses with Setup Programmed on the Second Access MCK A[25:0] NCS1 NCS2 NWE NRD Figure 18-24. First Access with Data Float Wait States (TDF = 2) and Second Access with Setup (NRDSETUP = 1) MCK A[25:0] NCS1 NCS2 NRD D[15:0] 1768G–ATARM–29-Sep-06 Setup Setup Data Float Time AT91RM9200 169 ...

Page 170

... NCS is raised at the end of the access. Additionally, WSEN must be set and NWS programmed with a value of two or more superior to ACSS. In LCD mode not recommended to use RWHOLD or RWSETUP. If the above condi- tions are not satisfied, SMC does not operate correctly. AT91RM9200 170 Setup Data Float Time 189). 18.6.1 ” ...

Page 171

... NCS ACCS D[15:0] 18.5.7 Memory Access Waveforms 18.5.7.1 Read Accesses in Standard and Early Protocols Figure 18-28 on page 172 for external memory read protocol. 1768G–ATARM–29-Sep-06 ACSS = 3, NWEN = 1, NWS = 10 ACCS = 2, NWEN = 1, NWS = 10 through Figure 18-31 on page 175 AT91RM9200 ACSS ACCS show examples of the alternatives 171 ...

Page 172

... Figure 18-28. Standard Read Protocol without t Read Mem 1 MCK A[25:0] NRD NWE NCS1 NCS2 D[15:0] (Mem 1) D[15:0] (to write) D[15:0] (Mem 2) AT91RM9200 172 DF Write Mem 1 Read Mem 1 Read Mem 2 Chip Select Change Wait t WHDX Write Mem 2 Read Mem 2 t WHDX 1768G–ATARM–29-Sep-06 ...

Page 173

... Mem 1 MCK A[25:0] NRD NWE NCS1 NCS2 D[15:0] (Mem 1) D[15:0] (to write) D[15:0] (Mem 2) 1768G–ATARM–29-Sep-06 DF Write Early Read Read Mem 1 Wait Cycle Mem 1 Chip Select Change Wait t WHDX AT91RM9200 Read Write Early Read Mem 2 Mem 2 Wait Cycle Long t Read Mem 2 WHDX 173 ...

Page 174

... Figure 18-30. Standard Read Protocol with t Write Mem 1 Read Mem 1 Data Float Wait MCK A[25:0] NRD NWE NCS1 NCS2 D[15:0] (Mem 1) D[15:0] (to write) D[15:0] (Mem 2) AT91RM9200 174 DF Read Mem 2 Read Mem 2 Read Mem 1 Data Float Wait WHDX Write Write Mem 2 Mem 2 Data Float Wait t ...

Page 175

... Hold Cycles. 1768G–ATARM–29-Sep-06 DF Early Read Read Wait Mem 2 Read Mem 1 Data Float Wait t DF and Figure 18-33 show an example of read and write accesses with Setup and AT91RM9200 Write Write Mem 2 Mem 2 Read Mem 2 Data Float Wait 175 ...

Page 176

... Figure 18-33. Write Accesses with Setup and Hold MCK A[25:1] 008cb A0/NLB NRD/NOE NWR0/NWE NWR1/NUB NCS D[15:0] 3000 e3a0 Setup Note: 1. Write access, memory data bus width = 8, RWSETUP = 1, RWHOLD = 1, WSEN = 1, NWS = 0 AT91RM9200 176 (1) 00028 Setup Hold ZZ01 (1) 00082 0605 Setup Hold 00d2c Hold ZZ02 ...

Page 177

... MCK NWAIT NWAIT internally synchronized A[25:1] 000008A NRD/NOE NWR0/NWE A0/NLB NWR1/NUB NCS D[15:0] Wait Delay Falling from NWR0/NWE Note: 1. Write access memory, data bus width = 16 bits, WSEN = 1, NWS = 6 1768G–ATARM–29-Sep-06 through Figure 18-37 on page 180 1312 AT91RM9200 show examples of accesses using (1) 177 ...

Page 178

... Figure 18-35. Write Access using NWAIT in Byte Write Type Access Chip Select Wait MCK NWAIT NWAIT internally synchronized A[25:1] 000008C A0/NLB NRD/NOE NWR0/NWE NWR1/NUB NCS D[15:0] Wait Delay Falling from NWR0/NWE/NWR1/NUB Note: 1. Write access memory, data bus width = 16 bits, WSEN = 1, NWS = 5 AT91RM9200 178 (1) 1716 1768G–ATARM–29-Sep-06 ...

Page 179

... Figure 18-36. Write Access using NWAIT Chip Select Wait MCK NWAIT NWAIT internally synchronized A[25:1] 0000033 A0/NLB NRD/NOE NWR0/NWE NWR1/NUB NCS D[15:0] Wait Delay Falling from NWR0/NWE Note: 1. Write access memory, data bus width = 8 bits, WSEN = 1, NWS = 4 1768G–ATARM–29-Sep-06 (1) 0403 AT91RM9200 179 ...

Page 180

... Memory Access Example Waveforms Figure 18-38 on page 181 write accesses to the various associated external memory devices. The configurations described are shown in Table 18-3. Figure Number Figure 18-38 Figure 18-39 Figure 18-40 Figure 18-41 Figure 18-42 Figure 18-43 Figure 18-44 AT91RM9200 180 (1) 0003 through Figure 18-44 on page 187 Table 18-3. Memory Access Waveforms Number of Wait States 0 1 ...

Page 181

... Read Access · Standard Read Protocol NRD D[15:0] · Early Read Protocol NRD D[15:0] Write Access · Byte Write/ NWE Byte Select Option D[15:0] 1768G–ATARM–29-Sep-06 addr+1 addr AT91RM9200 181 ...

Page 182

... Figure 18-39. 1 Wait State, 16-bit Bus Width, Word Transfer MCK A[25:1] NCS NLB NUB Read Access · Standard Read Protocol NRD D[15:0] · Early Read Protocol NRD D[15:0] Write Access · Byte Write/ Byte Select Option NWE D[15:0] AT91RM9200 182 1 Wait State addr Wait State addr ...

Page 183

... Figure 18-40. 1 Wait State, 16-bit Bus Width, Half-Word Transfer A[25:1] Read Access · Standard Read Protocol D[15:0] · Early Read Protocol D[15:0] Write Access · Byte Write/ Byte Select Option NWE D[15:0] 1768G–ATARM–29-Sep-06 1 Wait State MCK NCS NLB NUB NRD NRD AT91RM9200 183 ...

Page 184

... Figure 18-41. 0 Wait State, 8-bit Bus Width, Word Transfer MCK A[25:0] addr NCS Read Access · Standard Read Protocol NRD D[15:0] · Early Read Protocol NRD D[15:0] Write Access NWR0 NWR1 D[15:0] AT91RM9200 184 addr+1 addr addr ...

Page 185

... Figure 18-42. 1 Wait State, 8-bit Bus Width, Half-Word Transfer 1 Wait State MCK A[25:0] NCS Read Access · Standard Read, Protocol NRD D[15:0] · Early Read Protocol NRD D[15:0] Write Access NWR0 NWR1 D[15:0] 1768G–ATARM–29-Sep-06 1 Wait State Addr AT91RM9200 Addr 185 ...

Page 186

... Figure 18-43. 1 Wait State, 8-bit Bus Width, Byte Transfer MCK A[25:0] NCS Read Access · Standard Read Protocol NRD D[15:0] · Early Read Protocol NRD D[15:0] Write Access NWR0 NWR1 D[15:0] AT91RM9200 186 1 Wait State 1768G–ATARM–29-Sep-06 ...

Page 187

... NRD D[15:0] Write Access · Byte Write Option NWR0 NWR1 D[15:0] · Byte Select Option NWE 1768G–ATARM–29-Sep-06 addr addr AT91RM9200 addr addr 187 ...

Page 188

... SMC Chip Select Register 2 0x0C SMC Chip Select Register 3 0x10 SMC Chip Select Register 4 0x14 SMC Chip Select Register 5 0x18 SMC Chip Select Register 6 0x1C SMC Chip Select Register 7 AT91RM9200 188 Table 18-4. Eight Chip Select Registers Name Access SMC_CSR0 Read/Write SMC_CSR1 Read/Write SMC_CSR2 ...

Page 189

... Standard Read Protocol is used. 1: Early Read Protocol is used. 1768G–ATARM–29-Sep- RWHOLD 21 20 – – BAT 5 4 NWS Data Bus Width 0 Reserved 1 16-bit 0 8-bit 1 Reserved AT91RM9200 – RWSETUP – – TDF ACSS 8 0 189 ...

Page 190

... 127 Notes: 1. For a visual description, please refer to 46 and Figure 18-47 on page 2. WSEN is considered AT91RM9200 190 Chip Select Waveform 0 Standard, asserted at the beginning of the access and deasserted at the end. 1 One cycle less at the beginning and the end of the access. 0 Two cycles less at the beginning and the end of the access ...

Page 191

... Figure 18-45. Read/Write Setup Figure 18-46. Read Hold NRD/NOE Figure 18-47. Write Hold 1768G–ATARM–29-Sep-06 MCK A[25:0] NRD/NOE NWE RWSETUP MCK A[25:0] MCK A[25:0] NWE D[15:0] RWHOLD AT91RM9200 RWHOLD 191 ...

Page 192

... AT91RM9200 192 1768G–ATARM–29-Sep-06 ...

Page 193

... Energy-saving Capabilities – Self-refresh and Low-power Modes Supported • Error Detection – Refresh Error Interrupt • SDRAM Power-up Initialization by Software • Latency is Set to Two Clocks (CAS Latency Not Supported) • Auto Precharge Command Not Used 1768G–ATARM–29-Sep-06 AT91RM9200 193 ...

Page 194

... SDRAM Controller Chip Select BA[1:0] Bank Select Signals RAS Row Signal CAS Column Signal SDWE SDRAM Write Enable NBS[3:0] Data Mask Enable Signals A[12:0] Address Bus D[31:0] Data Bus AT91RM9200 194 SDRAMC SDRAMC Chip Select SDRAMC Interrupt MCK PMC User Interface APB PIO Controller SDCK SDCKE ...

Page 195

... Row[10:0] Row[10:0] CPU Address Line Row[11:0] Row[11:0] Row[11:0] Row[11:0] CPU Address Line Row[12:0] Row[12:0] Row[12:0] AT91RM9200 Column[7:0] Column[8:0] Column[9:0] Column[10: Column[7:0] Column[8:0] Column[9:0] Column[10: ...

Page 196

... Bk[1:0] Bk[1:0] Bk[1:0] Bk[1:0] Table 19-7. SDRAM Configuration Mapping: 8K Rows, 256/512/1024/2048 Columns Bk[1:0] Bk[1:0] Bk[1:0] Bk[1:0] Notes the byte address inside a 16-bit half-word. 2. Bk[1] = BA1, Bk[0] = BA0. AT91RM9200 196 CPU Address Line Row[10:0] Row[10:0] Row[10:0] Row[10:0] CPU Address Line ...

Page 197

... I/O Lines The pins used for interfacing the SDRAM Controller may be multiplexed with the PIO lines. The programmer must first program the PIO controller to assign the SDRAM Controller pins to their 1768G–ATARM–29-Sep- 8th Auto-refresh AT91RM9200 is met. MRD MRD ...

Page 198

... This interrupt may be ORed with other System Peripheral interrupt lines and is finally provided as the System Interrupt Source (Source 1) to the AIC (Advanced Interrupt Controller). Using the SDRAM Controller interrupt requires the AIC to be programmed first. AT91RM9200 198 1768G–ATARM–29-Sep-06 ...

Page 199

... SDWE D[31:0] 1768G–ATARM–29-Sep-06 ) commands. For definition of these timing parameters, refer to the RCD col a col b col c col d col e Dna Dnb Dnc Dnd Dne AT91RM9200 ) commands and RP 208. This is described in Figure 19-3 col f col g col h col i col j col k Dnf Dng Dnh Dni ...

Page 200

... Figure 19-4. Read Burst, 32-bit SDRAM access SDCS SDCK A[12:0] Row n RAS CAS SDWE D[31:0] (Input) AT91RM9200 200 ) command, After a read command, additional wait states are generated to RCD 19.7.3 ”SDRAMC Configuration Register” on page Figure 19-4 below CAS = 2 RCD col a ...

Related keywords