The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers.    


Datasheet Search Engine   
 
Part # or Description: • 5V RS232 Driver • 2SC5066* • "Real Time Clock" • "USB connector" • "blue led" 5mm • 10 watt zener diode • 2N3055* motorola
 
Search Tip: Try entering the part number only. Include a wildcard (eg. lm317* or 1n4148*)

 

 

AT91 ARM® Thumb®-based Microcontrollers AT91SAM7X256/ AT91SAM7X128 Pre


Datasheet Thumbnail

  

Download PDF



Top Searches for this datasheet



High-performance 32-bit RISC Architecture High-density 16-bit Instruction Leader MIPS/Watt Embedded ICEIn-circuit Emulation, Debug Communication Channel Support Internal High-speed Flash Kbytes (AT91SAM7X256) Organized 1024 Pages Bytes Kbytes (AT91SAM7X128) Organized Pages Bytes Single Cycle Access Worst Case Conditions Prefetch Buffer Optimizing Thumb Instruction Execution Maximum Speed Page Programming Time: Including Page Auto-erase, Full Erase Time: 10,000 Write Cycles, 10-year Data Retention Capability, Sector Lock Capabilities, Flash Security Fast Flash Programming Interface High Volume Production Internal High-speed SRAM, Single-cycle Access Maximum Speed Kbytes (AT91SAM7X256) Kbytes (AT91SAM7X128) Memory Controller (MC) Embedded Flash Controller, Abort Status Misalignment Detection Reset Controller (RSTC) Based Power-on Reset Cells Low-power Factory-calibrated Brownout Detector Provides External Reset Signal Shaping Reset Source Status Clock Generator (CKGR) Low-power Oscillator, On-chip Oscillator Power Management Controller (PMC) Power Optimization Capabilities, Including Slow Clock Mode (Down Idle Mode Four Programmable External Clock Signals Advanced Interrupt Controller (AIC) Individually Maskable, Eight-level Priority, Vectored Interrupt Sources External Interrupt Sources Fast Interrupt Source, Spurious Interrupt Protected Debug Unit (DBGU) 2-wire UART Support Debug Communication Channel interrupt, Programmable Access Prevention Periodic Interval Timer (PIT) 20-bit Programmable Counter plus 12-bit Interval Counter Windowed Watchdog (WDT) 12-bit key-protected Programmable Counter Provides Reset Interrupt Signals System Counter Stopped While Processor Debug State Idle Mode Real-time Timer (RTT) 32-bit Free-running Counter with Alarm Runs Internal Oscillator Parallel Input/Output Controllers (PIO) Sixty-two Programmable Lines Multiplexed with Peripheral I/Os Input Change Interrupt Capability Each Line Individually Programmable Open-drain, Pull-up Resistor Synchronous Output
AT91 ARM® Thumb®-based Microcontrollers AT91SAM7X256/ AT91SAM7X128 Preliminary
6120C-ATARM-25-Oct-05
Thirteen Peripheral Controller (PDC) Channels Full Speed Mbits second) Device Port
On-chip Transceiver, 1352-byte Configurable Integrated FIFOs
Ethernet 10/100 base-T Media Independent Interface (MII) Reduced Media Independent Interface (RMII) Integrated 28-byte FIFOs Dedicated Channels Transmit Receive Part 2.0A Part 2.0B Compliant Controller Eight Fully-programmable Message Object Mailboxes, 16-bit Time Stamp Counter Synchronous Serial Controller (SSC) Independent Clock Frame Sync Signals Each Receiver Transmitter Analog Interface Support, Time Division Multiplex Support High-speed Continuous Data Stream Capabilities with 32-bit Data Transfer Universal Synchronous/Asynchronous Receiver Transmitters (USART) Individual Baud Rate Generator, IrDA Infrared Modulation/Demodulation Support ISO7816 T0/T1 Smart Card, Hardware Handshaking, RS485 Support Full Modem Line Support USART1 Master/Slave Serial Peripheral Interfaces (SPI) 16-bit Programmable Data Length, Four External Peripheral Chip Selects Three-channel 16-bit Timer/Counter (TC) Three External Clock Inputs, Multi-purpose Pins Channel Double Generation, Capture/Waveform Mode, Up/Down Capability Four-channel 16-bit Power Width Modulation Controller (PWMC) Two-wire Interface (TWI) Master Mode Support Only, Two-wire Atmel EEPROMs Supported 8-channel 10-bit Analog-to-Digital Converter, Four Channels Multiplexed with Digital I/Os SAM-BABoot Assistance Default Boot program Interface with SAM-BA Graphic User Interface IEEE 1149.1 JTAG Boundary Scan Digital Pins 5V-tolerant I/Os, Including Four High-current Drive lines, Each Power Supplies Embedded 1.8V Regulator, Drawing Core External Components 3.3V VDDIO Lines Power Supply, Independent 3.3V VDDFLASH Flash Power Supply 1.8V VDDCORE Core Power Supply with Brownout Detector Fully Static Operation: 1.65V Worst Case Conditions Available 100-lead LQFP Green Package
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Description
Atmel's AT91SAM7X256/128 member series highly integrated Flash microcontrollers based 32-bit RISC processor. features 256/128 Kbyte high-speed Flash 64/32 Kbyte SRAM, large peripherals, including 802.3 Ethernet controller. complete system functions minimizes number external components. embedded Flash memory programmed in-system JTAG-ICE interface parallel interface production programmer prior mounting. Built-in lock bits security protect firmware from accidental overwrite preserve confidentiality. AT91SAM7X256/128 system controller includes reset controller capable managing power-on sequence microcontroller complete system. Correct device operation monitored built-in brownout detector watchdog running integrated oscillator. combining ARM7TDMI processor with on-chip Flash SRAM, wide range peripheral functions, including USART, SPI, Controller, Ethernet MAC, Timer Counter, Analog-to-Digital Converters monolithic chip, AT91SAM7X256/128 powerful device that provides flexible, cost-effective solution many embedded control applications requiring communication over, example, Ethernet, wired Zigbee wireless networks.
Configuration Summary AT91SAM7X256 AT91SAM7X128
AT91SAM7X256 AT91SAM7X128 differ only memory sizes. Table summarizes configurations devices.
Table 2-1.
Device AT91SAM7X256 AT91SAM7X128
Configuration Summary
Flash 256K bytes 128K bytes SRAM bytes bytes
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Block Diagram
Figure 3-1.
JTAGSEL
AT91SAM7X256/128 Block Diagram
JTAG SCAN
ARM7TDMI Processor
Voltage Regulator
VDDIN VDDOUT VDDCORE
System Controller
IRQ0-IRQ1
Memory Controller
VDDIO
DRXD DTXD
DBGU
Embedded Flash Controller Abort Status
SRAM
64/32 Kbytes
Address Decoder Misalignment Detection
PCK0-PCK3 PLLRC XOUT
VDDFLASH
RCOSC Peripheral Bridge
Flash
256/128 Kbytes
ERASE
VDDCORE VDDFLASH VDDCORE NRST
Reset Controller
Peripheral Controller
Channels
Fast Flash Programming Interface
PGMRDY PGMNVALID PGMNOE PGMCK PGMM0-PGMM3 PGMD0-PGMD15 PGMNCMD PGMEN0-PGMEN1
PIOA
RXD0 TXD0 SCK0 RTS0 CTS0 RXD1 TXD1 SCK1 RTS1 CTS1 DCD1 DSR1 DTR1 SPI0_NPCS0 SPI0_NPCS1 SPI0_NPCS2 SPI0_NPCS3 SPI0_MISO SPI0_MOSI SPI0_SPCK SPI1_NPCS0 SPI1_NPCS1 SPI1_NPCS2 SPI1_NPCS3 SPI1_MISO SPI1_MOSI SPI1_SPCK ADTRG ADVREF
SAM-BA
FIFO Ethernet 10/100
PIOB
USART0
FIFO
Transceiver
ETXCK-ERXCK-EREFCK ETXEN-ETXER ECRS-ECOL, ECRSDV ERXER-ERXDV ERX0-ERX3 ETX0-ETX3 EMDC EMDIO EF100 VDDFLASH
USART1
Device
PWMC
SPI0
Timer Counter SPI1
PWM0 PWM1 PWM2 PWM3 TCLK0 TCLK1 TCLK2 TIOA0 TIOB0 TIOA1 TIOB1 TIOA2 TIOB2 TWCK CANRX CANTX
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Signal Description
Table 4-1.
Signal Name
Signal Description List
Function Power Type Active Level Comments
VDDIN VDDOUT VDDFLASH VDDIO VDDCORE VDDPLL
Voltage Regulator Power Supply Input Voltage Regulator Output Flash Power Supply Lines Power Supply Core Power Supply Ground
Power Power Power Power Power Power Ground
3.6V 1.85V 3.6V 3.6V 1.65V 1.95V 1.65V 1.95V
Clocks, Oscillators PLLs XOUT PLLRC PCK0 PCK3 Main Oscillator Input Main Oscillator Output Filter Programmable Clock Output Input Output Input Output JTAG JTAGSEL Test Clock Test Data Test Data Test Mode Select JTAG Selection Input Input Output Input Input Flash Memory ERASE Flash Configuration Bits Erase Command Reset/Test NRST Microcontroller Reset Test Mode Select Debug Unit DRXD DTXD Debug Receive Data Debug Transmit Data IRQ0 IRQ1 External Interrupt Inputs Fast Interrupt Input PA30 PB30 Parallel Controller Parallel Controller Pulled-up input reset Pulled-up input reset Input Input Input Output Input High Pull-Up resistor, Open Drain Output Pull-down resistor Input High Pull-down resistor pull-up resistor. Pull-down resistor. pull-up resistor pull-up resistor.
6120C-ATARM-25-Oct-05
Table 4-1.
Signal Name
Signal Description List (Continued)
Function Type Device Port Active Level Comments
Device Port Data Device Port Data USART
Analog Analog
SCK0 SCK1 TXD0 TXD1 RXD0 RXD1 RTS0 RTS1 CTS0 CTS1 DCD1 DTR1 DSR1
Serial Clock Transmit Data Receive Data Request Send Clear Send Data Carrier Detect Data Terminal Ready Data Ready Ring Indicator
Input Output Input Input Output Input Input Synchronous Serial Controller
Transmit Data Receive Data Transmit Clock Receive Clock Transmit Frame Sync Receive Frame Sync
Output Input Timer/Counter
TCLK0 TCLK2 TIOA0 TIOA2 TIOB0 TIOB2
External Clock Inputs Line Line
Input Controller
PWM0 PWM3
Channels
Output Serial Peripheral Interface SPIx
SPIx_MISO SPIx_MOSI SPIx_SPCK SPIx_NPCS0 SPIx_NPCS1-NPCS3
Master Slave Master Slave Serial Clock Peripheral Chip Select Peripheral Chip Select
Output
Two-wire Interface TWCK Two-wire Serial Data Two-wire Serial Clock
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Table 4-1.
Signal Name
Signal Description List (Continued)
Function Type Analog-to-Digital Converter Active Level Comments
AD0-AD3 AD4-AD7 ADTRG ADVREF
Analog Inputs Analog Inputs Trigger Reference
Analog Analog Input Analog Fast Flash Programming Interface
Digital pulled-up inputs reset Analog Inputs
PGMEN0-PGMEN1 PGMM0-PGMM3 PGMD0-PGMD15 PGMRDY PGMNVALID PGMNOE PGMCK PGMNCMD
Programming Enabling Programming Mode Programming Data Programming Ready Data Direction Programming Read Programming Clock Programming Command
Input Input Output Output Input Input Input Controller High
CANRX CANTX
Input Output
Input Output Ethernet 10/100
EREFCK ETXCK ERXCK ETXEN ETX0 ETX3 ETXER ERXDV ECRSDV ERX0 ERX3 ERXER ECRS ECOL EMDC EMDIO EF100
Reference Clock Transmit Clock Receive Clock Transmit Enable Transmit Data Transmit Coding Error Receive Data Valid Carrier Sense Data Valid Receive Data Receive Error Carrier Sense Collision Detected Management Data Clock Management Data Input/Output Force Mbits/sec.
Input Input Input Output Output Output Input Input Input Input Input Input Output Output High
RMII only only only
ETX0 ETX1 only RMII only only RMII only ERX0 ERX1 only RMII
only only
RMII only
6120C-ATARM-25-Oct-05
Package
AT91SAM7X256/128 available 100-lead LQFP package.
100-lead LQFP Mechanical Overview
Figure shows orientation 100-lead LQFP package. detailed mechanical description given Mechanical Characteristics section full datasheet. Figure 5-1. 100-lead LQFP Package Pinout (Top View)
AT91SAM7X256/128 Pinout
Pinout 100-lead TQFP Package
PA18/PGMD6 PB14 PB13 VDDIO PB15 PB17 VDDCORE PB12 PB10 PB11 PA19/PGMD7 PA20/PGMD8 VDDIO PA21/PGMD9 PA22/PGMD10 PB16 PA23/PGMD11 PA24/PGMD12 NRST PA25/PGMD13 PA26/PGMD14 VDDIO VDDCORE PB18 PB19 PB20 PB21 PB22 PB23 PB24 PB25 PB26 PA27/PGMD15 PA28 PA29 JTAGSEL PA30 PA0/PGMEN0 PA1/PGMEN1 VDDIO VDDCORE PA4/PGMNCMD PA5/PGMRDY PA6/PGMNOE PA7/PGMNVALID ERASE VDDFLASH XIN/PGMCK XOUT PLLRC VDDPLL
Table 5-1.
ADVREF VDDOUT VDDIN PB27/AD0 PB28/AD1 PB29/AD2 PB30/AD3 PA8/PGMM0 PA9/PGMM1 VDDCORE VDDIO PA10/PGMM2 PA11/PGMM3 PA12/PGMD0 PA13/PGMD1 PA14/PGMD2 PA15/PGMD3 PA16/PGMD4 PA17/PGMD5
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Power Considerations
Power Supplies
AT91SAM7X256/128 types power supply pins integrates voltage regulator, allowing device supplied with only voltage. power supply types are: VDDIN pin. powers voltage regulator ADC; voltage ranges from 3.0V 3.6V, 3.3V nominal. order decrease current consumption voltage regulator used, VDDIN, ADVREF, AD5, should connected GND. this case, VDDOUT should left unconnected. VDDOUT pin. output 1.8V voltage regulator. VDDIO pin. powers lines; voltage ranges from 3.0V 3.6V, 3.3V nominal. VDDFLASH pin. powers transceivers part Flash required Flash operate correctly; voltage ranges from 3.0V 3.6V, 3.3V nominal. VDDCORE pins. They power logic device; voltage ranges from 1.65V 1.95V, 1.8V typical. connected VDDOUT with decoupling capacitor. VDDCORE required device, including embedded Flash, operate correctly. VDDPLL pin. powers oscillator PLL. connected directly VDDOUT pin. separate ground pins provided different power supplies. Only pins provided should connected shortly possible system ground plane.
Power Consumption
AT91SAM7X256/128 static current less than VDDCORE 25°C, including oscillator, voltage regulator power-on reset when brownout detector deactivated. Activating brownout detector adds static current. dynamic power consumption VDDCORE less than full speed when running Flash. Under same conditions, power consumption VDDFLASH does exceed
Voltage Regulator
AT91SAM7X256/128 embeds voltage regulator that managed System Controller. Normal Mode, voltage regulator consumes less than static current draws output current. voltage regulator also Low-power Mode. this mode, consumes less than static current draws output current. Adequate output supply decoupling mandatory VDDOUT reduce ripple avoid oscillations. best achieve this capacitors parallel: external capacitor should connected between VDDOUT close chip possible. external capacitor should connected between VDDOUT GND.
6120C-ATARM-25-Oct-05
Adequate input supply decoupling mandatory VDDIN order improve startup stability reduce source voltage drop. input decoupling capacitor should placed close chip. example, capacitors used parallel: X7R.
Typical Powering Schematics
AT91SAM7X256/128 supports 3.3V single supply mode. internal regulator input connected 3.3V source output feeds VDDCORE VDDPLL. Figure shows power schematics used bus-powered systems. Figure 6-1. 3.3V System Single Power Supply Schematic
VDDFLASH Power Source ranges from 4.5V (USB)
DC/DC Converter
VDDIO
VDDIN 3.3V VDDOUT Voltage Regulator
VDDCORE
VDDPLL
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Lines Considerations
JTAG Port Pins
TMS, schmitt trigger inputs tolerant. TMS, integrate pull-up resistor. output, driven VDDIO, pull-up resistor. JTAGSEL used select JTAG boundary scan when asserted high level. JTAGSEL integrates permanent pull-down resistor about GND, that left unconnected normal operations.
Test
used manufacturing test fast programming mode AT91SAM7X256/128 when asserted high. integrates permanent pull-down resistor about GND, that left unconnected normal operations. enter fast programming mode, pins should tied high tied low. Driving high level while driven leads unpredictable results.
Reset
NRST bidirectional with open drain output buffer. handled on-chip reset controller driven provide reset signal external components asserted externally reset microcontroller. There constraint length reset pulse, reset controller guarantee minimum pulse length. This allows connection simple push-button NRST system user reset, signal NRST reset components system. NRST integrates permanent pull-up resistor VDDIO.
ERASE
ERASE used re-initialize Flash content some bits. integrates permanent pull-down resistor about GND, that left unconnected normal operations. This debounced oscillator improve glitch tolerance. Minimum debouncing time
Controller Lines
lines, PA30 PB30, 5V-tolerant integrate programmable pull-up resistor. Programming this pull-up resistor performed independently each line through controllers. 5V-tolerant means that lines drive voltage level according VDDIO, driven with voltage 5.5V. However, driving line with voltage over VDDIO while programmable pull-up resistor enabled lead unpredictable results. Care should taken, particular reset, lines default input with pull-up resistor enabled reset.
6120C-ATARM-25-Oct-05
Lines Current Drawing
lines high-drive current capable. Each these lines drive permanently. remaining lines draw only However, total current drawn lines cannot exceed
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Processor Architecture
ARM7TDMI Processor
RISC processor based ARMv4T Neumann architecture Runs MHz, providing MIPS/MHz instruction sets ARM® high-performance 32-bit instruction Thumb® high code density 16-bit instruction Three-stage pipeline architecture Instruction Fetch Instruction Decode Execute
Debug Test Integrated Embedded ICE(embedded in-circuit emulator) watchpoint units Test access port accessible through JTAG protocol Debug communication channel Debug Unit Two-pin UART Debug communication channel interrupt handling Chip Register IEEE1149.1 JTAG Boundary-scan digital pins
Memory Controller
Programmable Arbiter Handles requests from ARM7TDMI, Ethernet Peripheral Controller Address decoder provides selection signals Three internal Mbyte memory areas Mbyte embedded peripheral area Abort Status Registers Source, Type parameters access leading abort saved Facilitates debug detection pointers Misalignment Detector Alignment checking data accesses Abort generation case misalignment Remap Command Remaps SRAM place embedded non-volatile memory Allows handling dynamic exception vectors
6120C-ATARM-25-Oct-05
Embedded Flash Controller Embedded Flash interface, three programmable wait states Prefetch buffer, buffering anticipating 16-bit requests, reducing required wait states Key-protected program, erase lock/unlock sequencer Single command erasing, programming locking operations Interrupt generation case forbidden operation
Peripheral Controller
Handles data transfer between peripherals memories Thirteen channels each USART Debug Unit Serial Synchronous Controller each Serial Peripheral Interface Analog-to-digital Converter arbitration overhead Master Clock cycle needed transfer from memory peripheral Master Clock cycles needed transfer from peripheral memory Next Pointer management reducing interrupt latency requirements
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Memory
AT91SAM7X256
Kbytes Flash Memory 1024 pages bytes Fast access time, single-cycle access Worst Case conditions Page programming time: including page auto-erase Page programming without auto-erase: Full chip erase time: 10,000 write cycles, 10-year data retention capability lock bits, each protecting sectors pages Protection Mode secure contents Flash Kbytes Fast SRAM Single-cycle access full speed
AT91SAM7X128
Kbytes Flash Memory pages bytes Fast access time, single-cycle access Worst Case conditions Page programming time: including page auto-erase Page programming without auto-erase: Full chip erase time: 10,000 write cycles, 10-year data retention capability lock bits, each protecting sectors pages Protection Mode secure contents Flash Kbytes Fast SRAM Single-cycle access full speed
6120C-ATARM-25-Oct-05
9.3.1
Memory Mapping
Internal AT91SAM7X256 embeds high-speed 64-Kbyte SRAM bank AT91SAM7X128 embeds high-speed 32-Kbyte SRAM bank. After reset until Remap Command performed, SRAM only accessible address 0x0020 0000. After Remap, SRAM also becomes available address 0x0.
9.3.2
Internal AT91SAM7X256/128 embeds Internal ROM. time, mapped address 0x30 0000. contains FFPI SAM-BA program.
9.3.3
Internal Flash AT91SAM7X256 features bank Kbytes Flash AT91SAM7X128 features bank Kbytes Flash. time, Flash mapped address 0x0010 0000. also accessible address after reset before Remap Command. general purpose (GPNVM) used boot either (default) from Flash. This GPNVM cleared respectively through commands "Clear General-purpose Bit" "Set General-purpose Bit" User Interface. Setting GPNVM selects boot from Flash. Asserting ERASE clears GPNVM thus selects boot from default. Figure 9-1. Internal Memory Mapping with GPNVM (default)
0x0000 0000
0x000F FFFF
Before Remap SRAM After Remap Internal FLASH
Bytes
0x0010 0000 Bytes
0x001F FFFF
0x0020 0000 256M Bytes
0x002F FFFF 0x0030 0000
Internal SRAM
Bytes Bytes Bytes
Internal
0x003F FFFF 0x0040 0000
Undefined Areas (Abort)
0x0FFF FFFF
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Figure 9-2. Internal Memory Mapping with GPNVM
0x0000 0000
0x000F FFFF
Flash Before Remap SRAM After Remap Internal FLASH
Bytes
0x0010 0000 Bytes
0x001F FFFF
0x0020 0000 256M Bytes
0x002F FFFF 0x0030 0000
Internal SRAM
Bytes Bytes Bytes
Internal
0x003F FFFF 0x0040 0000
Undefined Areas (Abort)
0x0FFF FFFF
9.4.1
Embedded Flash
Flash Overview Flash AT91SAM7X256 organized 1024 pages bytes. reads 65,536 32-bit words. Flash AT91SAM7X128 organized pages bytes. reads 32,768 32-bit words. Flash contains 256-byte write buffer, accessible through 32-bit interface. Flash benefits from integration power reset cell from brownout detector. This prevents code corruption during power supply changes, even worst conditions. When Flash used (read write access), automatically placed into standby mode.
9.4.2
Embedded Flash Controller Embedded Flash Controller (EFC) manages accesses performed masters system. enables reading Flash writing write buffer. also contains User Interface, mapped within Memory Controller APB. User Interface allows: programming access parameters Flash (number wait states, timings, etc.) starting commands such full erase, page erase, page program, set, clear, etc. getting status last command getting error status programming interrupts last commands errors Embedded Flash Controller also provides dual 32-bit Prefetch Buffer that optimizes 16-bit access Flash. This particularly efficient when processor running Thumb mode.
6120C-ATARM-25-Oct-05
9.4.3 9.4.3.1
Lock Regions AT91SAM7X256 Embedded Flash Controller manages lock bits protect regions flash against inadvertent flash erasing programming commands. AT91SAM7X256 contains lock regions each lock region contains pages bytes. Each lock region size Kbytes. locked-region's erase program command occurs, command aborted trigs interrupt. bits software programmable through User Interface. command "Set Lock Bit" enables protection. command "Clear Lock Bit" unlocks lock region. Asserting ERASE clears lock bits, thus unlocking entire Flash.
9.4.3.2
AT91SAM7X128 Embedded Flash Controller manages lock bits protect regions flash against inadvertent flash erasing programming commands. AT91SAM7X128 contains lock regions each lock region contains pages bytes. Each lock region size Kbytes. locked-region's erase program command occurs, command aborted trigs interrupt. bits software programmable through User Interface. command "Set Lock Bit" enables protection. command "Clear Lock Bit" unlocks lock region. Asserting ERASE clears lock bits, thus unlocking entire Flash.
9.4.4
Security Feature AT91SAM7X256/128 features security bit, based specific NVM-Bit. When security enabled, access Flash, either through interface through Fast Flash Programming Interface, forbidden. This ensures confidentiality code programmed Flash. This security only enabled, through Command "Set Security Bit" User Interface. Disabling security only achieved asserting ERASE after full flash erase performed. When security deactivated, accesses flash permitted. important note that assertion ERASE should always longer than ERASE integrates permanent pull-down, left unconnected during normal operation. However, safer connect directly final application.
9.4.5
Non-volatile Brownout Detector Control general purpose (GPNVM) bits used controlling brownout detector (BOD), that even after power loss, brownout detector operations remain their state. These GPNVM bits cleared respectively through commands "Clear General-purpose Bit" "Set General-purpose Bit" User Interface.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
GPNVM used brownout detector enable bit. Setting GPNVM enables BOD, clearing disables BOD. Asserting ERASE clears GPNVM thus disables brownout detector default. GPNVM used brownout reset enable signal reset controller. Setting GPNVM enables brownout reset when brownout detected, Clearing GPNVM disables brownout reset. Asserting ERASE disables brownout reset default. 9.4.6 Calibration Bits Eight bits used calibrate brownout detector voltage regulator. These bits factory configured cannot changed user. ERASE effect calibration bits.
Fast Flash Programming Interface
Fast Flash Programming Interface allows programming device through either serial JTAG interface through multiplexed fully-handshaked parallel port. allows gang-programming with market-standard industrial programmers. FFPI supports read, page program, page erase, full erase, lock, unlock protect commands. Fast Flash Programming Interface enabled Fast Programming Mode entered when pins tied high.
SAM-BA Boot Assistant
SAM-BA Boot Assistant default Boot Program that provides easy program insitu on-chip Flash memory. SAM-BA Boot Assistant supports serial communication DBGU Device Port. Communication DBGU supports wide range crystals from software auto-detection. Communication Device Port limited 18.432 crystal. SAM-BA Boot provides interface with SAM-BA Graphic User Interface (GUI). SAM-BA Boot mapped Flash address when GPNVM
6120C-ATARM-25-Oct-05
System Controller
System Controller manages vital blocks microcontroller: interrupts, clocks, power, time, debug reset. Figure 10-1. System Controller Block Diagram
System Controller
jtag_nreset
Boundary Scan Controller
irq0-irq1 periph_irq[2.19]
nirq
Advanced Interrupt Controller
nfiq proc_nreset debug
ARM7TDMI
pit_irq rtt_irq wdt_irq dbgu_irq pmc_irq rstc_irq efc_irq periph_nreset dbgu_rxd debug periph_nreset SLCK periph_nreset SLCK debug idle proc_nreset gpnvm[0] gpnvm[1] flash_wrdis ice_nreset jtag_nreset bod_rst_en dbgu_irq force_ntrst dbgu_txd
ice_nreset force_ntrst
Debug Unit
security_bit
Periodic Interval Timer Real-Time Timer Watchdog Timer
wdt_fault WDRPROC
pit_irq
flash_poe rtt_irq flash_wrdis wdt_irq gpnvm[0.2]
Embedded Flash
efc_irq proc_nreset
Memory Controller
Reset Controller
periph_nreset proc_nreset
flash_poe rstc_irq SLCK
NRST
Voltage Regulator Mode Controller
standby
Voltage Regulator
RCOSC
SLCK
periph_clk[2.18] pck[0-3]
UDPCK periph_clk[11] periph_nreset periph_irq[11] usb_suspend
XOUT
MAINCK
Power Management Controller
UDPCK
Device Port
PLLRC
PLLCK pmc_irq idle periph_clk[4.19] periph_nreset
periph_nreset usb_suspend
periph_nreset periph_clk[2-3] dbgu_rxd
periph_irq{2-3] irq0-irq1
Embedded Peripherals
periph_irq[4.19]
Controller
dbgu_txd
PA0-PA30 PB0-PB30 enable
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
10.1 System Controller Mapping
System Controller peripherals mapped highest Kbytes address space, between addresses 0xFFFF F000 0xFFFF FFFF. Figure 10-2 shows mapping System Controller. Note that Memory Controller configuration user interface also mapped within this address space. Figure 10-2. System Controller Mapping
Address
0xFFFF F000
Peripheral
Peripheral Name
Size
0xFFFF F1FF 0xFFFF F200
Advanced Interrupt Controller
Bytes/128 registers
DBGU
0xFFFF F3FF 0xFFFF F400
Debug Unit
Bytes/128 registers
PIOA
0xFFFF F5FF 0xFFFF F600
Controller
Bytes/128 registers
PIOB
0xFFFF F7FF 0xFFFF F800
Controller
Bytes/128 registers
Reserved
0xFFFF FBFF 0xFFFF FC00
0xFFFF FCFF 0xFFFF FD00 0xFFFF FD0F 0xFFFF FD20 0xFFFF FC2F 0xFFFF FD30 0xFFFF FC3F 0xFFFF FD40 0xFFFF FD4F 0xFFFF FD60 0xFFFF FC6F 0xFFFF FD70 0xFFFF FEFF 0xFFFF FF00
Power Management Controller Reset Controller Real-time Timer Periodic Interval Timer Watchdog Timer Voltage Regulator Mode Controller
Bytes/64 registers Bytes/4 registers Bytes/4 registers Bytes/4 registers Bytes/4 registers Bytes/1 register
RSTC Reserved Reserved VREG Reserved
0xFFFF FFFF
Memory Controller
Bytes/64 registers
6120C-ATARM-25-Oct-05
10.2
Reset Controller
Based power-on reset cell brownout detector Status last reset, either Power-up Reset, Software Reset, User Reset, Watchdog Reset, Brownout Reset Controls internal resets NRST output Allows shape signal NRST line, guaranteeing that length pulse meets requirement.
10.2.1
Brownout Detector Power-on Reset AT91SAM7X256/X128 embeds brownout detection circuit power-on reset cell. power-on reset supplied with monitors VDDCORE. Both signals provided Flash prevent code corruption during power-up powerdown sequences brownouts occur power supplies. power-on reset cell limited-accuracy threshold around 1.5V. output remains during power-up until VDDCORE goes over this voltage level. This signal goes reset controller allows full re-initialization device. brownout detector monitors VDDCORE VDDFLASH levels during operation comparing them fixed trigger level. secures system operations most difficult environments prevents code corruption case brownout VDDCORE VDDFLASH. When brownout detector enabled VDDCORE decreases value below trigger level (Vbot18-, defined Vbot18 hyst/2), brownout output immediately activated. When VDDCORE increases above trigger level (Vbot18+, defined Vbot18 hyst/2), reset released. brownout detector only detects drop voltage VDDCORE stays below threshold voltage longer than about 1µs. VDDCORE threshold voltage hysteresis about ensure spike free brownout detection. typical value brownout detector threshold 1.68V with accuracy factory calibrated. When brownout detector enabled VDDFLASH decreases value below trigger level (Vbot33-, defined Vbot33 hyst/2), brownout output immediately activated. When VDDFLASH increases above trigger level (Vbot33+, defined Vbot33 hyst/2), reset released. brownout detector only detects drop voltage VDDCORE stays below threshold voltage longer than about 1µs. VDDFLASH threshold voltage hysteresis about ensure spike free brownout detection. typical value brownout detector threshold 2.80V with accuracy 3.5% factory calibrated. brownout detector low-power, consumes less than static current. However, deactivated save static current. this case, consumes less than 1µA. deactivation configured through GPNVM Flash.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
10.3 Clock Generator
Clock Generator embeds low-power Oscillator, Main Oscillator with following characteristics: Oscillator ranges between Main Oscillator frequency ranges between Main Oscillator bypassed output ranges between provides SLCK, MAINCK PLLCK. Figure 10-3. Clock Generator Block Diagram
Clock Generator
Embedded Oscillator
Slow Clock SLCK
XOUT
Main Oscillator
Main Clock MAINCK
PLLRC
Divider
Clock PLLCK
Status
Control
Power Management Controller
6120C-ATARM-25-Oct-05
10.4
Power Management Controller
Power Management Controller uses Clock Generator outputs provide: Processor Clock Master Clock Clock UDPCK peripheral clocks, independently controllable four programmable clock outputs Master Clock (MCK) programmable from hundred maximum operating frequency device. Processor Clock (PCK) switches when entering processor idle mode, thus allowing reduced power consumption while waiting interrupt. Figure 10-4. Power Management Controller Block Diagram
Processor Clock Controller Master Clock Controller SLCK MAINCK PLLCK Prescaler /1,/2,/4,.,/64 Peripherals Clock Controller ON/OFF Idle Mode
periph_clk[2.18]
Programmable Clock Controller SLCK MAINCK PLLCK Prescaler /1,/2,/4,.,/64
pck[0.3]
Clock Controller ON/OFF PLLCK Divider /1,/2,/4
UDPCK
10.5
Advanced Interrupt Controller
Controls interrupt lines (nIRQ nFIQ) Processor Individually maskable vectored interrupt sources Source reserved Fast Interrupt Input (FIQ) Source reserved system peripherals (RTT, PIT, EFC, PMC, DBGU, etc.) Other sources control peripheral interrupts external interrupts Programmable edge-triggered level-sensitive internal sources Programmable positive/negative edge-triggered high/low level-sensitive external sources 8-level Priority Controller Drives normal interrupt nIRQ processor Handles priority interrupt sources
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Higher priority interrupts served during service lower priority interrupt Vectoring Optimizes interrupt service routine branch execution 32-bit vector register interrupt source Interrupt vector register reads corresponding current interrupt vector Protect Mode Easy debugging preventing automatic operations Fast Forcing Permits redirecting interrupt source fast interrupt General Interrupt Mask Provides processor synchronization events without triggering interrupt
10.6
Debug Unit
Comprises: two-pin UART Interface Debug Communication Channel (DCC) support Chip Registers Interface providing Access Prevention Two-pin UART USART-compatible User Interface Programmable Baud Rate Generator Parity, Framing Overrun Error Automatic Echo, Local Loopback Remote Loopback Channel Modes Debug Communication Channel Support Offers visibility COMMRX COMMTX signals from Processor Chip Registers Identification device revision, sizes embedded memories, peripherals Chip 0x275B 0940 (VERSION AT91SAM7X256 Chip 0x275A 0740 (VERSION AT91SAM7X128
10.7
Period Interval Timer
20-bit programmable counter plus 12-bit interval counter
10.8
Watchdog Timer
12-bit key-protected Programmable Counter running prescaled SLCK Provides reset interrupt signals system Counter stopped while processor debug state idle mode
10.9
Real-time Timer
32-bit free-running counter with alarm running prescaled SLCK Programmable 16-bit prescaler SLCK accuracy compensation
6120C-ATARM-25-Oct-05
10.10 Controllers
Controllers, each controlling lines Fully programmable through set/clear registers Multiplexing peripheral functions line each line (whether assigned peripheral used general-purpose I/O) Input change interrupt Half clock period glitch filter Multi-drive option enables driving open drain Programmable pull-up each line data status register, supplies visibility level time Synchronous output, provides Clear several lines single write
10.11 Voltage Regulator Controller
purpose this controller select Power Mode Voltage Regulator between Normal Mode (bit cleared) Standby Mode (bit set).
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Peripherals
11.1 Peripheral Mapping
Each peripheral allocated Kbytes address space. Figure 11-1. User Peripheral Mapping
Peripheral Name
0xF000 0000
Size
Reserved
0xFFF9 FFFF
0xFFFA 0000
0xFFFA 3FFF
TC0, TC1,
Timer/Counter
Kbytes
0xFFFA 4000 Reserved
0xFFFA FFFF
0xFFFB 0000
0xFFFB 3FFF 0xFFFB 4000
Device Port
Kbytes
Reserved
0xFFFB 7FFF
0xFFFB 8000
0xFFFB BFFF 0xFFFB C000
Two-Wire Interface
Kbytes
Reserved 0xFFFC 0000
0xFFFB FFFF
USART0
0xFFFC 3FFF
Universal Synchronous Asynchronous Receiver Transmitter Universal Synchronous Asynchronous Receiver Transmitter
Kbytes Kbytes
0xFFFC 4000 USART1
0xFFFC 7FFF
0xFFFC 8000 Reserved
0xFFFC BFFF
0xFFFC C000 PWMC
0xFFFC FFFF
Controller
Kbytes
0xFFFD 0000
0xFFFD 3FFF
Controller
Kbytes
0xFFFD 4000
0xFFFD 7FFF
Serial Synchronous Controller Analog-to-Digital Converter
Kbytes Kbytes
0xFFFD 8000
0xFFFD BFFF
0xFFFD C000
0xFFFD FFFF
EMAC
Ethernet Serial Peripheral Interface
Kbytes Kbytes
0xFFFE 0000
0xFFFE 3FFF
SPI0
0xFFFE 4000
0xFFFE 7FFF 0xFFFE 8000
SPI1
Serial Peripheral Interface
Kbytes
Reserved
0xFFFE FFFF
6120C-ATARM-25-Oct-05
11.2
Peripheral Multiplexing Lines
AT91SAM7X256/128 features controllers, PIOA PIOB, that multiplex lines peripheral set. Each Controller controls lines. Each line assigned peripheral functions, Some them also multiplexed with analog inputs Controller. Table 11-1 page Table 11-2 page defines lines peripherals analog inputs multiplexed Controller Controller columns "Function" "Comments" have been inserted user's comments; they used track pins defined application. Note that some peripheral functions that output only, duplicated table. reset, lines automatically configured input with programmable pull-up enabled, that device maintained static state soon reset detected.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
11.3 Controller Multiplexing
Table 11-1.
Multiplexing Controller
Controller Application Usage Comments High-Drive High-Drive SPI1_NPCS1 SPI1_NPCS2 SPI1_NPCS3 High-Drive High-Drive Function Comments
Line PA10 PA11 PA12 PA13 PA14 PA15 PA16 PA17 PA18 PA19 PA20 PA21 PA22 PA23 PA24 PA25 PA26 PA27 PA28 PA29 PA30
Peripheral RXD0 TXD0 SCK0 RTS0 CTS0 RXD1 TXD1 SCK1 RTS1 CTS1 TWCK SPI_NPCS0 SPI0_NPCS1 SPI0_NPCS2 SPI0_NPCS3 SPI0_MISO SPI0_MOSI SPI0_SPCK CANRX CANTX DRXD DTXD IRQ0
Peripheral
SPI0_NPCS1 SPI0_NPCS2 SPI0_NPCS3
PCK1 IRQ1 TCLK2
SPI1_NPCS0 SPI1_SPCK SPI1_MOSI SPI1_MISO SPI1_NPCS1 SPI1_NPCS2 PCK3
SPI1_NPCS3 PCK2
6120C-ATARM-25-Oct-05
11.4
Controller Multiplexing
Table 11-2.
Multiplexing Controller
Controller Application Usage Comments Function Comments
Line PB10 PB11 PB12 PB13 PB14 PB15 PB16 PB17 PB18 PB19 PB20 PB21 PB22 PB23 PB24 PB25 PB26 PB27 PB28 PB29 PB30
Peripheral ETXCK/EREFCK ETXEN ETX0 ETX1 ECRS ERX0 ERX1 ERXER EMDC EMDIO ETX2 ETX3 ETXER ERX2 ERX3 ERXDV/ECRSDV ECOL ERXCK EF100 PWM0 PWM1 PWM2 PWM3 TIOA0 TIOB0 TIOA1 TIOB1 TIOA2 TIOB2 PCK1 PCK2
Peripheral PCK0
SPI1_NPCS1 SPI1_NPCS2 TCLK0 SPI0_NPCS1 SPI0_NPCS2
SPI1_NPCS3 SPI0_NPCS3 ADTRG TCLK1 PCK0 PCK1 PCK2 DCD1 DSR1 DTR1 PWM0 PWM1 PWM2 PWM3
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
11.5 Peripheral Identifiers
AT91SAM7X256/128 embeds wide range peripherals. Table 11-3 defines Peripheral Identifiers AT91SAM7X256/128. Unique peripheral identifiers defined both Advanced Interrupt Controller Power Management Controller.
Table 11-3.
Peripheral
Peripheral Identifiers
Peripheral Mnemonic SYSIRQ PIOA PIOB SPI0 SPI1 PWMC EMAC
Peripheral Name Advanced Interrupt Controller
External Interrupt
Parallel Controller Parallel Controller Serial Peripheral Interface Serial Peripheral Interface USART USART Synchronous Serial Controller Two-wire Interface Pulse Width Modulation Controller device Port Timer/Counter Timer/Counter Timer/Counter Controller Ethernet Analog-to Digital Converter
Reserved Advanced Interrupt Controller Advanced Interrupt Controller IRQ0 IRQ1
Note:
Setting SYSIRQ bits clock set/clear registers effect. System Controller continuously clocked.
6120C-ATARM-25-Oct-05
11.6
Ethernet
Master Receive Transmit Channels Compatible with IEEE Standard 802.3 Mbit/s operation Full- half-duplex operation Statistics Counter Registers MII/RMII interface physical layer Interrupt generation signal receive transmit completion 28-byte transmit FIFO 28-byte receive FIFO Automatic generation transmitted frames Automatic discard frames received with errors Address checking logic supports four specific 48-bit addresses Support Promiscuous Mode where valid received frames copied memory Hash matching unicast multicast destination addresses Physical layer management through MDIO interface Half-duplex flow control forcing collisions incoming frames Full-duplex flow control with recognition incoming pause frames Support 802.1Q VLAN tagging with recognition incoming VLAN priority tagged frames Multiple buffers receive transmit frame Jumbo frames 10240 bytes supported
11.7
Serial Peripheral Interface
Supports communication with external serial devices Four chip selects with external decoder allow communication with peripherals Serial memories, such DataFlash® 3-wire EEPROMs Serial peripherals, such ADCs, DACs, Controllers, Controllers Sensors External co-processors Master slave serial peripheral interface 16-bit programmable data length chip select Programmable phase polarity chip select Programmable transfer delays chip select, between consecutive transfers between clock data Programmable delay between consecutive transfers Selectable mode fault detection Maximum frequency Master Clock
11.8
Two-wire Interface
Master Mode only Compatibility with standard two-wire serial memories
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
One, three bytes slave address Sequential read/write operations
11.9
USART
Programmable Baud Rate Generator 9-bit full-duplex synchronous asynchronous serial communications stop bits Asynchronous Mode stop bits Synchronous Mode Parity generation error detection Framing error detection, overrun error detection first Optional break generation detection over-sampling receiver frequency Hardware handshaking Modem Signals Management DTR-DSR-DCD-RI USART1 Receiver time-out transmitter timeguard Multi-drop Mode with address generation detection RS485 with driver control signal ISO7816, Protocols interfacing with smart cards NACK handling, error counter with repetition iteration limit IrDA modulation demodulation Communication 115.2 Kbps Test Modes Remote Loopback, Local Loopback, Automatic Echo
11.10 Serial Synchronous Controller
Provides serial synchronous communication links used audio telecom applications Contains independent receiver transmitter common clock divider Offers configurable frame sync data length Receiver transmitter programmed start automatically detection different event frame sync signal Receiver transmitter include data signal, clock signal frame synchronization signal
11.11 Timer Counter
Three 16-bit Timer Counter Channels Three output compare input capture Wide range functions including: Frequency measurement Event counting Interval measurement Pulse generation
6120C-ATARM-25-Oct-05
Delay timing Pulse Width Modulation Up/down capabilities Each channel user-configurable contains: Three external clock inputs Five internal clock inputs, defined Table 11-4 Table 11-4. Timer Counter Clocks Assignment
Clock MCK/2 MCK/8 MCK/32 MCK/128 MCK/1024
Clock input TIMER_CLOCK1 TIMER_CLOCK2 TIMER_CLOCK3 TIMER_CLOCK4 TIMER_CLOCK5
multi-purpose input/output signals global registers that three channels
11.12 Pulse Width Modulation Controller
Four channels, 16-bit counter channel Common clock generator, providing thirteen different clocks Modulo counter providing eleven clocks independent linear dividers working modulo counter outputs Independent channel programming Independent enable/disable commands Independent clock selection Independent period duty cycle, with double buffering Programmable selection output waveform polarity Programmable center left aligned output waveform
11.13 Device Port
V2.0 full-speed compliant,12 Mbits second Embedded V2.0 full-speed transceiver Embedded 1352-byte dual-port endpoints endpoints Endpoint bytes Endpoint bytes ping-pong Endpoint bytes Endpoint bytes ping-pong Ping-pong Mode (two memory banks) bulk endpoints Suspend/resume logic
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
11.14 Controller
Fully compliant with 2.0A 2.0B rates 1Mbit/s Eight object oriented mailboxes each with following properties: Specification Part Part Programmable each Message Object configurable receive (with overwrite not) transmit Local mask filters 29-bit identifier/channel 32-bit access data registers each mailbox data object Uses 16-bit time stamp receive transmit message Hardware concatenation unmasked bitfields speedup family processing 16-bit internal timer time stamping network synchronization Programmable reception buffer length mailbox objects Priority management between transmission mailboxes Autobaud listening mode power mode programmable wake-up activity application Data, remote, error overload frame handling
11.15 Analog-to-Digital Converter
8-channel 10-bit Ksamples/sec. Successive Approximation Register -3/+3 Integral Linearity, -2/+2 Differential Linearity Integrated 8-to-1 multiplexer, offering eight independent 3.3V analog inputs External voltage reference better accuracy voltage inputs Individual enable disable each channel Multiple trigger sources Hardware software trigger External trigger Timer Counter outputs TIOA0 TIOA2 trigger Sleep Mode conversion sequencer Automatic wakeup trigger back sleep mode after conversions enabled channels Four eight analog inputs shared with digital signals
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
ARM7TDMI Processor Overview
12.1 Overview
ARM7TDMI core executes both 32-bit ARM® 16-bit Thumb® instruction sets, allowing user trade between high performance high code density.The ARM7TDMI processor implements Neuman architecture, using three-stage pipeline consisting Fetch, Decode, Execute stages. main features ARM7tDMI processor are: ARM7TDMI Based ARMv4T Architecture Instruction Sets ARM® High-performance 32-bit Instruction Thumb® High Code Density 16-bit Instruction Three-Stage Pipeline Architecture Instruction Fetch Instruction Decode Execute
6120C-ATARM-25-Oct-05
12.2
ARM7TDMI Processor
further details ARM7TDMI, refer following documents: Architecture Reference Manual (DDI 0100E) ARM7TDMI Technical Reference Manual (DDI 0210B)
12.2.1
Instruction Type Instructions either bits long state) bits long THUMB state).
12.2.2
Data Type ARM7TDMI supports byte (8-bit), half-word (16-bit) word (32-bit) data types. Words must aligned four-byte boundaries half words two-byte boundaries. Unaligned data access behavior depends which instruction used where.
12.2.3
ARM7TDMI Operating Mode ARM7TDMI, based architecture v4T, supports seven processor modes: User: normal program execution state FIQ: Designed support high-speed data transfer channel process IRQ: Used general-purpose interrupt handling Supervisor: Protected mode operating system Abort mode: Implements virtual memory and/or memory protection System: privileged user mode operating system Undefined: Supports software emulation hardware coprocessors Mode changes made under software control, brought about external interrupts exception processing. Most application programs execute User mode. non-user modes, privileged modes, entered order service interrupts exceptions, access protected resources.
12.2.4
ARM7TDMI Registers ARM7TDMI processor total 37registers: general-purpose 32-bit registers status registers These registers accessible same time. processor state operating mode determine which registers available programmer. time registers visible user. remainder synonyms used speed exception processing. Register Program Counter (PC) used instructions reference data relative current instruction. holds return address after subroutine call. used software convention) stack pointer.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Table 12-1.
User System Mode
ARM7TDMI Modes Registers Layout
Supervisor Mode
R13_SVC R14_SVC
Abort Mode
R13_ABORT R14_ABORT
Undefined Mode
R13_UNDEF R14_UNDEF
Interrupt Mode
R13_IRQ R14_IRQ
Fast Interrupt Mode
R8_FIQ R9_FIQ R10_FIQ R11_FIQ R12_FIQ R13_FIQ R14_FIQ
CPSR
CPSR SPSR_SVC
CPSR SPSR_ABORT
CPSR SPSR_UNDEF
CPSR SPSR_IRQ
CPSR SPSR_FIQ
Mode-specific banked registers
Registers unbanked registers. This means that each them refers same 32bit physical register processor modes. They general-purpose registers, with special uses managed architecture, used wherever instruction allows generalpurpose register specified. Registers banked registers. This means that each them depends current mode processor. 12.2.4.1 Modes Exception Handling exceptions have banked registers R13. After exception, holds return address exception processing. This address used return after exception processed, well address instruction that caused exception. banked across exception modes provide each exception handler with private stack pointer. fast interrupt mode also banks registers that interrupt processing begin without having save these registers.
6120C-ATARM-25-Oct-05
seventh processing mode, System Mode, does have banked registers. uses User Mode registers. System Mode runs tasks that require privileged processor mode allows them invoke classes exceptions. 12.2.4.2 Status Registers other processor states held status registers. current operating processor status Current Program Status Register (CPSR). CPSR holds: four flags (Negative, Zero, Carry, Overflow) interrupt disable bits (one each type interrupt) indicate Thumb execution five bits encode current processor mode five exception modes also have Saved Program Status Register (SPSR) that holds CPSR task immediately preceding exception. 12.2.4.3 Exception Types
ARM7TDMI supports five types exception privileged processing mode each type.
types exceptions are: fast interrupt (FIQ) normal interrupt (IRQ) memory aborts (used implement memory protection virtual memory) attempted execution undefined instruction software interrupts (SWIs) Exceptions generated internal external sources. More than exception occur same time. When exception occurs, banked version SPSR exception mode used save state. return after handling exception, SPSR moved CPSR, moved This done ways: using data-processing instruction with S-bit set, destination using Load Multiple with Restore CPSR instruction (LDM) 12.2.5 Instruction Overview instruction divided into: Branch instructions Data processing instructions Status register transfer instructions Load Store instructions Coprocessor instructions Exception-generating instructions instructions executed conditionally. Every instruction contains 4-bit condition code field (bit[31:28]). Table 12-2 gives instruction mnemonic list.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Table 12-2.
Mnemonic
SMULL SMLAL LDRSH LDRSB LDRH LDRB LDRBT LDRT
Instruction Mnemonic List
Operation
Move Subtract Reverse Subtract Compare Test Logical Logical Exclusive Multiply Sign Long Multiply Signed Long Multiply Accumulate Move Status Register Branch Branch Exchange Load Word Load Signed Halfword Load Signed Byte Load Half Word Load Byte Load Register Byte with Translation Load Register with Translation Load Multiple Swap Word Move Coprocessor Load Coprocessor
Mnemonic
UMULL UMLAL STRH STRB STRBT STRT SSWPB
Operation
Coprocessor Data Processing Move with Carry Subtract with Carry Reverse Subtract with Carry Compare Negated Test Equivalence Clear Logical (inclusive) Multiply Accumulate Unsigned Long Multiply Unsigned Long Multiply Accumulate Move From Status Register Branch Link Software Interrupt Store Word Store Half Word Store Byte Store Register Byte with Translation Store Register with Translation Store Multiple Swap Byte Move From Coprocessor Store From Coprocessor
12.2.6
Thumb Instruction Overview Thumb instruction re-encoded subset instruction set. Thumb instruction divided into: Branch instructions Data processing instructions Load Store instructions Load Store Multiple instructions Exception-generating instruction Thumb mode, eight general-purpose registers, available that same physical registers when executing instructions. Some Thumb instructions also access Program Counter (ARM Register 15), Link Register (ARM Register
6120C-ATARM-25-Oct-05
Stack Pointer (ARM Register 13). Further instructions allow limited access registers Table 12-3 gives Thumb instruction mnemonic list. Table 12-3.
Mnemonic
LDRH LDRB LDRSH LDMIA PUSH
Thumb Instruction Mnemonic List
Operation
Move Subtract Compare Test Logical Logical Exclusive Logical Shift Left Arithmetic Shift Right Multiply Branch Branch Exchange Load Word Load Half Word Load Byte Load Signed Halfword Load Multiple Push Register stack STRH STRB LDRSB STMIA Branch Link Software Interrupt Store Word Store Half Word Store Byte Load Signed Byte Store Multiple Register from stack
Mnemonic
Operation
Move with Carry Subtract with Carry Compare Negated Negate Clear Logical (inclusive) Logical Shift Right Rotate Right
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Debug Test 13.1 Description
AT91SAM7X Series features number complementary debug test capabilities. common JTAG/ICE (In-Circuit Emulator) port used standard debugging functions, such downloading code single-stepping through programs. Debug Unit provides two-pin UART that used upload application into internal SRAM. manages interrupt handling internal COMMTX COMMRX signals that trace activity Debug Communication Channel. dedicated debug test input/output pins gives direct access these capabilities from PC-based test environment.
13.2
Block Diagram
Figure 13-1. Debug Test Block Diagram
Boundary
ICE/JTAG
JTAGSEL
Reset Test
ARM7TDMI
DTXD DRXD
DBGU
6120C-ATARM-25-Oct-05
13.3
13.3.1
Application Examples
Debug Environment Figure 13-2 shows complete debug environment example. ICE/JTAG interface used standard debugging functions, such downloading code single-stepping through program. Figure 13-2. Application Debug Environment Example
Host Debugger ICE/JTAG Interface
ICE/JTAG Connector
AT91SAM7Xxx
RS232 Connector
Terminal
AT91SAM7Xxx-based Application Board
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
13.3.2 Test Environment Figure 13-3 shows test environment example. Test vectors sent interpreted tester. this example, "board test" designed using number JTAG-compliant devices. These devices connected form single scan chain. Figure 13-3. Application Test Environment Example
Test Adaptor
Tester
JTAG Interface
ICE/JTAG Connector
Chip
Chip
AT91SAM7Xxx
Chip
AT91SAM7Xxx-based Application Board Test
13.4
Debug Test Description
Table 13-1.
Name
Debug Test List
Function Reset/Test Type Active Level
NRST
Microcontroller Reset Test Mode Select JTAG
Input/Output Input
High
JTAGSEL
Test Clock Test Data Test Data Test Mode Select JTAG Selection Debug Unit
Input Input Output Input Input
DRXD DTXD
Debug Receive Data Debug Transmit Data
Input Output
6120C-ATARM-25-Oct-05
13.5
13.5.1
Functional Description
Test dedicated pin, TST, used define device operating mode. user must make sure that this tied level ensure normal operating conditions. Other values associated with this reserved manufacturing test.
13.5.2
Embedded ICE(Embedded In-circuit Emulator) ARM7TDMI Embedded supported ICE/JTAG port. internal state ARM7TDMI examined through ICE/JTAG port. ARM7TDMI processor contains hardware extensions advanced debugging features: halt mode, store-multiple (STM) inserted into instruction pipeline. This exports contents ARM7TDMI registers. This data serially shifted without affecting rest system. monitor mode, JTAG interface used transfer data between debugger simple monitor program running ARM7TDMI processor. There three scan chains inside ARM7TDMI processor that support testing, debugging, programming Embedded ICE. scan chains controlled ICE/JTAG port. Embedded mode selected when JTAGSEL low. possible switch directly between JTAG operations. chip reset must performed after JTAGSEL changed. further details Embedded ICE, ARM7TDMI (Rev4) Technical Reference Manual (DDI0210B).
13.5.3
Debug Unit Debug Unit provides two-pin (DXRD TXRD) USART that used several debug trace purposes offers ideal means in-situ programming solutions debug monitor communication. Moreover, association with peripheral data controller channels permits packet handling these tasks with processor time reduced minimum. Debug Unit also manages interrupt handling COMMTX COMMRX signals that come from that trace activity Debug Communication Channel. Debug Unit allows blockage access system through interface. specific register, Debug Unit Chip Register, gives information about product version internal configuration. AT91SAM7X256 Debug Unit Chip value 0x275B 0940 32-bit width. AT91SAM7X128 Debug Unit Chip value 0x275A 0740 32-bit width. further details Debug Unit, Debug Unit section.
13.5.4
IEEE 1149.1 JTAG Boundary Scan IEEE 1149.1 JTAG Boundary Scan allows pin-level access independent device packaging technology. IEEE 1149.1 JTAG Boundary Scan enabled when JTAGSEL high. SAMPLE, EXTEST BYPASS functions implemented. debug mode, processor responds
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
with non-JTAG chip that identifies processor system. This IEEE 1149.1 JTAG-compliant. possible switch directly between JTAG operations. chip reset must performed after JTAGSEL changed. Boundary-scan Descriptor Language (BSDL) file provided test. 13.5.4.1 JTAG Boundary-scan Register Boundary-scan Register (BSR) contains bits that correspond active pins associated control signals. Each AT91SAM7X input/output corresponds 3-bit register BSR. OUTPUT contains data that forced pad. INPUT facilitates observability data applied pad. CONTROL selects direction pad. Table 13-2.
Number PA6/TXD1 IN/OUT PA5/RXD1 IN/OUT PA4/CTS0/SPI1_NPCS3 IN/OUT PA2/SCK0/SPI1_NPCS1 IN/OUT PA3/RTS0/SPI1_NPCS2 IN/OUT PA1/TXD0 IN/OUT PA0/RXD0 IN/OUT PA30/IRQ0/PCK2 IN/OUT
AT91SAM7X JTAG Boundary Scan Register
Name Type Associated Cells INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL CONTROL INPUT OUTPUT
6120C-ATARM-25-Oct-05
Table 13-2.
Number
AT91SAM7X JTAG Boundary Scan Register (Continued)
Name Type Associated Cells CONTROL PA7/SCK1/SPI0_NPCS1 IN/OUT INPUT OUTPUT ERASE INPUT INPUT PB27/TIOA2/PWM0/AD0 IN/OUT OUTPUT CONTROL INPUT PB28/TIOB2/PWM1/AD1 IN/OUT OUTPUT CONTROL INPUT PB29/PCK1/PWM2/AD2 IN/OUT OUTPUT CONTROL INPUT PB30/PCK2/PWM3/AD3 IN/OUT OUTPUT CONTROL INPUT PA8/RTS1/SPI0_NPCS2 IN/OUT OUTPUT CONTROL INPUT PA9/CTS1/SPI0_NPCS3 IN/OUT OUTPUT CONTROL INPUT PA10/TWD IN/OUT OUTPUT CONTROL INPUT PA11/TWCK IN/OUT OUTPUT CONTROL INPUT PA12/SPI0_NPCS0 IN/OUT OUTPUT CONTROL INPUT PA13/SPI0_NPCS1/PCK1 IN/OUT OUTPUT CONTROL
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Table 13-2.
Number PB5/ERX0 IN/OUT PB6/ERX1 IN/OUT PB13/ERX2/SPI0_NPCS1 IN/OUT PB14/ERX3/SPI0_NPCS2 IN/OUT PB8/EMDC IN/OUT PB9/EMDIO IN/OUT PA18/SPI0_SPCK IN/OUT PA17/SPI0_MOSI IN/OUT PA16/SPI0_MISO IN/OUT PA15/SPI0_NPCS3/TCLK2 IN/OUT PA14/SPI0_NPCS2/IRQ1 IN/OUT
AT91SAM7X JTAG Boundary Scan Register (Continued)
Name Type Associated Cells INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL
6120C-ATARM-25-Oct-05
Table 13-2.
Number
AT91SAM7X JTAG Boundary Scan Register (Continued)
Name Type Associated Cells INPUT PB15/ERXDV/ECRSDV IN/OUT OUTPUT CONTROL INPUT PB17/ERXCK/SPI0_NPCS3 IN/OUT OUTPUT CONTROL INPUT PB7/ERXER IN/OUT OUTPUT CONTROL INPUT PB12/ETXER/TCLK0 IN/OUT OUTPUT CONTROL INPUT PB0/ETXCK/EREFCK/PCK0 PB0/ETXCK/ERE FCK/PCK0 OUTPUT CONTROL INPUT PB1/ETXEN PB1/ETXEN OUTPUT CONTROL INPUT PB2/ETX0 PB2/ETX0 OUTPUT CONTROL INPUT PB3/ETX1 PB3/ETX1 OUTPUT CONTROL INPUT PB10/ETX2/SPI1_NPCS1 IN/OUT OUTPUT CONTROL INPUT PB11/ETX3/SPI1_NPCS2 IN/OUT OUTPUT CONTROL INPUT PA19/CANRX IN/OUT OUTPUT CONTROL
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Table 13-2.
Number PB19/PWM0/TCLK1 IN/OUT PB18/EF100/ADTRG IN/OUT PA26/RF/SPI1_NPCS2 IN/OUT PA25/RK/SPI1_NPCS1 IN/OUT PA24/RD/SPI1_MISO IN/OUT PA23/TD/SPI1_MOSI IN/OUT PB4/ECRS IN/OUT PB16/ECOL/SPI1_NPCS3 IN/OUT PA22/TK/SPI1_SPCK IN/OUT PA21/TF/SPI1_NPCS0 IN/OUT PA20/CANTX IN/OUT
AT91SAM7X JTAG Boundary Scan Register (Continued)
Name Type Associated Cells INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL INPUT OUTPUT CONTROL
6120C-ATARM-25-Oct-05
Table 13-2.
Number
AT91SAM7X JTAG Boundary Scan Register (Continued)
Name Type Associated Cells INPUT PB20/PWM1/PCK0 IN/OUT OUTPUT CONTROL INPUT PB21/PWM2/PCK2 IN/OUT OUTPUT CONTROL INPUT PB22/PWM3/PCK2 IN/OUT OUTPUT CONTROL INPUT PB23/TIOA0/DCD1 IN/OUT OUTPUT CONTROL INPUT PB24/TIOB0/DSR1 IN/OUT OUTPUT CONTROL INPUT PB25/TIOA1/DTR1 IN/OUT OUTPUT CONTROL INPUT PB26/TIOB1/RI1 IN/OUT OUTPUT CONTROL INPUT PA27DRXD/PCK3 IN/OUT OUTPUT CONTROL INPUT PA28/DTXD IN/OUT OUTPUT CONTROL INPUT PA29/FIQ/SPI1_NPCS3 IN/OUT OUTPUT CONTROL
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
13.5.5 Code Register Access: Read-only
VERSION
PART NUMBER
PART NUMBER
PART NUMBER
MANUFACTURER IDENTITY
MANUFACTURER IDENTITY
VERSION[31:28]: Product Version Number 0x0. PART NUMBER[27:12]: Product Part Number AT91SAM7X256: 0x5B17 AT91SAM7X128: 0x5B16 MANUFACTURER IDENTITY[11:1] 0x01F. Bit[0] Required IEEE Std. 1149.1. 0x1. AT91SAM7X256: JTAG Code value 05B1_003F AT91SAM7X128: JTAG Code value 05B0_F03F
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Reset Controller (RSTC)
14.1 Overview
Reset Controller (RSTC), based power-on reset cells, handles resets system without external components. reports which reset occurred last. Reset Controller also drives independently simultaneously external reset peripheral processor resets. brownout detection also available prevent processor from falling into unpredictable state.
14.2
Block Diagram
Figure 14-1. Reset Controller Block Diagram
Reset Controller
bod_rst_en brown_out Brownout Manager
bod_reset
Main Supply
Startup Counter
Reset State Manager
rstc_irq
proc_nreset
user_reset
NRST
nrst_out
NRST Manager
exter_nreset
periph_nreset
WDRPROC wd_fault
SLCK
6120C-ATARM-25-Oct-05
14.3
Functional Description
Reset Controller made NRST Manager, Brownout Manager, Startup Counter Reset State Manager. runs Slow Clock generates following reset signals: proc_nreset: Processor reset line. also resets Watchdog Timer. periph_nreset: Affects whole embedded peripherals. nrst_out: Drives NRST pin. These reset signals asserted Reset Controller, either external events software action. Reset State Manager controls generation reset signals provides signal NRST Manager when assertion NRST required. NRST Manager shapes NRST assertion during programmable time, thus controlling external device resets.
14.3.1
NRST Manager NRST Manager samples NRST input drives this when required Reset State Manager. Figure 14-2 shows block diagram NRST Manager. Figure 14-2. NRST Manager
RSTC_MR RSTC_SR
URSTIEN rstc_irq
RSTC_MR
URSTS NRSTL
Other interrupt sources user_reset
URSTEN
NRST
RSTC_MR
ERSTL nrst_out External Reset Timer exter_nreset
14.3.1.1
NRST Signal Interrupt NRST Manager samples NRST Slow Clock speed. When line detected low, User Reset reported Reset State Manager. However, NRST Manager programmed trigger reset when assertion NRST occurs. Writing URSTEN RSTC_MR disables User Reset trigger. level NRST read time NRSTL (NRST level) RSTC_SR. soon NRST asserted, URSTS RSTC_SR set. This clears only when RSTC_SR read. Reset Controller also programmed generate interrupt instead generating reset. URSTIEN RSTC_MR must written
14.3.1.2
NRST External Reset Control Reset State Manager asserts signal ext_nreset assert NRST pin. When this occurs, "nrst_out" signal driven NRST Manager time programmed field ERSTL RSTC_MR. This assertion duration, named EXTERNAL_RESET_LENGTH, lasts
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
2(ERSTL+1) Slow Clock cycles. This gives approximate duration assertion between seconds. Note that ERSTL defines two-cycle duration NRST pulse. This feature allows Reset Controller shape NRST level, thus guarantee that NRST line driven time compliant with potential external devices connected system reset. 14.3.2 Brownout Manager Brownout detection prevents processor from falling into unpredictable state power supply drops below certain level. When VDDCORE drops below brownout threshold, brownout manager requests brownout reset asserting bod_reset signal. programmer disable brownout reset setting bod_rst_en input signal, i.e.; locking corresponding general-purpose Flash. When brownout reset disabled, reset performed. Instead, brownout detection reported BODSTS RSTC_SR. BODSTS clears only when RSTC_SR read. BODSTS trigger interrupt BODIEN RSTC_MR. factory, brownout reset disabled. Figure 14-3. Brownout Manager
bod_rst_en bod_reset
RSTC_MR
BODIEN
RSTC_SR
brown_out
BODSTS
Other interrupt sources
rstc_irq
6120C-ATARM-25-Oct-05
14.3.3
Reset States Reset State Manager handles different reset sources generates internal reset signals. reports reset status field RSTTYP Status Register (RSTC_SR). update field RSTTYP performed when processor reset released.
14.3.3.1
Power-up Reset When VDDCORE powered Main Supply cell output filtered with start-up counter that operates Slow Clock. purpose this counter ensure that Slow Clock oscillator stable before starting device. startup time, shown Figure 14-4, hardcoded comply with Slow Clock Oscillator startup time. After startup time, reset signals released field RSTTYP RSTC_SR reports Power-up Reset. When VDDCORE detected Main Supply Cell, reset signals asserted immediately.
Figure 14-4. Power-up Reset
SLCK Main Supply output proc_nreset periph_nreset
Freq.
Startup Time
Processor Startup cycles
NRST (nrst_out)
EXTERNAL RESET LENGTH cycles
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
14.3.3.2 User Reset User Reset entered when level detected NRST URSTEN RSTC_MR NRST input signal resynchronized with SLCK insure proper behavior system. User Reset entered soon level detected NRST. Processor Reset Peripheral Reset asserted. User Reset left when NRST rises, after two-cycle resynchronization time threecycle processor startup. processor clock re-enabled soon NRST confirmed high. When processor reset signal released, RSTTYP field Status Register (RSTC_SR) loaded with value 0x4, indicating User Reset. NRST Manager guarantees that NRST line asserted EXTERNAL_RESET_LENGTH Slow Clock cycles, programmed field ERSTL. However, NRST does rise after EXTERNAL_RESET_LENGTH because driven externally, internal reset lines remain asserted until NRST actually rises. Figure 14-5. User Reset State
SLCK
Freq.
NRST
Resynch. cycles Resynch. cycles Processor Startup cycles
proc_nreset RSTTYP periph_nreset User Reset
NRST (nrst_out)
EXTERNAL RESET LENGTH
6120C-ATARM-25-Oct-05
14.3.3.3
Brownout Reset When brown_out/bod_reset signal asserted, Reset State Manager immediately enters Brownout Reset. this state, processor, peripheral external reset lines asserted. Brownout Reset left Slow Clock cycles after rising edge brown_out/bod_reset after two-cycle resynchronization. external reset also triggered. When processor reset released, field RSTTYP RSTC_SR loaded with value 0x5, thus indicating that last reset Brownout Reset.
Figure 14-6. Brownout Reset State
SLCK brown_out bod_reset
Resynch. cycles Processor Startup cycles
Freq.
proc_nreset RSTTYP periph_nreset Brownout Reset
NRST (nrst_out)
EXTERNAL RESET LENGTH cycles (ERSTL=2)
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
14.3.3.4 Software Reset Reset Controller offers several commands used assert different reset signals. These commands performed writing Control Register (RSTC_CR) with following bits PROCRST: Writing PROCRST resets processor watchdog timer. PERRST: Writing PERRST resets embedded peripherals, including memory system, and, particular, Remap Command. Peripheral Reset generally used debug purposes. EXTRST: Writing EXTRST asserts NRST during time defined field ERSTL Mode Register (RSTC_MR). software reset entered least these bits software. these commands performed independently simultaneously. software reset lasts Slow Clock cycles. internal reset signals asserted soon register write performed. This detected Master Clock (MCK). They released when software reset left, i.e.; synchronously SLCK. EXTRST set, nrst_out signal asserted depending programming field ERSTL. However, resulting falling edge NRST does lead User Reset. only PROCRST set, Reset Controller reports software status field RSTTYP Status Register (RSTC_SR). Other Software Resets reported RSTTYP. soon software operation detected, SRCMP (Software Reset Command Progress) Status Register (RSTC_SR). cleared soon software reset left. other software reset performed while SRCMP set, writing value RSTC_CR effect. Figure 14-7. Software Reset
SLCK
Freq.
Write RSTC_CR
Resynch. cycle Processor Startup cycles
proc_nreset PROCRST=1 RSTTYP periph_nreset PERRST=1 NRST (nrst_out) EXTRST=1
EXTERNAL RESET LENGTH cycles (ERSTL=2)
Software Reset
SRCMP RSTC_SR
6120C-ATARM-25-Oct-05
14.3.3.5
Watchdog Reset Watchdog Reset entered when watchdog fault occurs. This state lasts Slow Clock cycles. When Watchdog Reset, assertion reset signals depends WDRPROC WDT_MR: WDRPROC Processor Reset Peripheral Reset asserted. NRST line also asserted, depending programming field ERSTL. However, resulting level NRST does result User Reset state. WDRPROC only processor reset asserted. Watchdog Timer reset proc_nreset signal. watchdog fault always causes processor reset WDRSTEN set, Watchdog Timer always reset after Watchdog Reset, Watchdog enabled default with period maximum. When WDRSTEN WDT_MR reset, watchdog fault impact reset controller. Figure 14-8. Watchdog Reset
SLCK
Freq.
wd_fault
Processor Startup cycles
proc_nreset RSTTYP periph_nreset Only WDRPROC Watchdog Reset
NRST (nrst_out)
EXTERNAL RESET LENGTH cycles (ERSTL=2)
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
14.3.4 Reset State Priorities Reset State Manager manages following priorities between different reset sources, given descending order: Power-up Reset Brownout Reset Watchdog Reset Software Reset User Reset Particular cases listed below: When User Reset: watchdog event impossible because Watchdog Timer being reset proc_nreset signal. software reset impossible, since processor reset being activated. When Software Reset: watchdog event priority over current state. NRST effect. When Watchdog Reset: processor reset active Software Reset cannot programmed. User Reset cannot entered. 14.3.5 Reset Controller Status Register Reset Controller status register (RSTC_SR) provides several status fields: RSTTYP field: This field gives type last reset, explained previous sections. SRCMP bit: This field indicates that Software Reset Command progress that further software reset should performed until current one. This automatically cleared current software reset. NRSTL bit: NRSTL Status Register gives level NRST sampled each rising edge. URSTS bit: high-to-low transition NRST sets URSTS RSTC_SR register. This transition also detected Master Clock (MCK) rising edge (see Figure 14-9). User Reset disabled (URSTEN interruption enabled URSTIEN RSTC_MR register, URSTS triggers interrupt. Reading RSTC_SR status register resets URSTS clears interrupt. BODSTS bit: This indicates brownout detection when brownout reset disabled (bod_rst_en triggers interrupt BODIEN RSTC_MR register enables interrupt. Reading RSTC_SR register resets BODSTS clears interrupt.
6120C-ATARM-25-Oct-05
Figure 14-9.
Reset Controller Status Interrupt
read RSTC_SR
Peripheral Access
cycle resynchronization NRST NRSTL
cycle resynchronization
URSTS rstc_irq (URSTEN (URSTIEN
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
14.4 Reset Controller (RSTC) User Interface
Reset Controller (RSTC) Register Mapping
Register Control Register Status Register Mode Register Name RSTC_CR RSTC_SR RSTC_MR Access Write-only Read-only Read/Write Reset Value 0x0000_0000 0x0000_0000
Table 14-1.
Offset 0x00 0x04 0x08
6120C-ATARM-25-Oct-05
14.4.1
Reset Controller Control Register RSTC_CR Write-only
EXTRST PERRST PROCRST
Register Name: Access Type:
PROCRST: Processor Reset effect. correct, resets processor. PERRST: Peripheral Reset effect. correct, resets peripherals. EXTRST: External Reset effect. correct, asserts NRST pin. KEY: Password Should written value 0xA5. Writing other value this field aborts write operation.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
14.4.2 Reset Controller Status Register RSTC_SR Read-only
SRCMP RSTTYP BODSTS NRSTL
Register Name: Access Type:
URSTS
URSTS: User Reset Status high-to-low edge NRST happened since last read RSTC_SR. least high-to-low transition NRST been detected since last read RSTC_SR. BODSTS: Brownout Detection Status brownout high-to-low transition happened since last read RSTC_SR. brownout high-to-low transition been detected since last read RSTC_SR. RSTTYP: Reset Type Reports cause last processor reset. Reading this RSTC_SR does reset this field.
RSTTYP
Reset Type Power-up Reset Watchdog Reset Software Reset User Reset Brownout Reset
Comments VDDCORE rising Watchdog fault occurred Processor reset required software NRST detected BrownOut reset occurred
NRSTL: NRST Level Registers NRST Level Master Clock (MCK). SRCMP: Software Reset Command Progress software command being performed reset controller. reset controller ready software command. software reset command being performed reset controller. reset controller busy.
6120C-ATARM-25-Oct-05
14.4.3
Reset Controller Mode Register RSTC_MR Read/Write
URSTIEN ERSTL URSTEN BODIEN
Register Name: Access Type:
URSTEN: User Reset Enable detection level NRST does generate User Reset. detection level NRST triggers User Reset. URSTIEN: User Reset Interrupt Enable USRTS RSTC_SR effect rstc_irq. USRTS RSTC_SR asserts rstc_irq URSTEN BODIEN: Brownout Detection Interrupt Enable BODSTS RSTC_SR effect rstc_irq. BODSTS RSTC_SR asserts rstc_irq. ERSTL: External Reset Length This field defines external reset length. external reset asserted during time 2(ERSTL+1) Slow Clock cycles. This allows assertion duration programmed between seconds. KEY: Password Should written value 0xA5. Writing other value this field aborts write operation.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Real-time Timer (RTT)
15.1 Overview
Real-time Timer built around 32-bit counter used count elapsed seconds. generates periodic interrupt or/and triggers alarm programmed value.
15.2
Block Diagram
Figure 15-1. Real-time Timer
RTT_MR RTTRST RTT_MR RTPRES RTT_MR SLCK reload 16-bit Divider RTT_MR RTTRST RTTINCIEN RTT_SR RTTINC reset rtt_int 32-bit Counter read RTT_SR RTT_MR ALMIEN RTT_VR CRTV RTT_SR reset ALMS RTT_AR ALMV rtt_alarm
15.3
Functional Description
Real-time Timer used count elapsed seconds. built around 32-bit counter Slow Clock divided programmable 16-bit value. value programmed field RTPRES Real-time Mode Register (RTT_MR). Programming RTPRES 0x00008000 corresponds feeding real-time counter with signal Slow Clock 32.768 Hz). 32-bit counter count seconds, corresponding more than years, then roll over Real-time Timer also used free-running timer with lower time-base. best accuracy achieved writing RTPRES Programming RTPRES possible, result losing status events because status register cleared Slow Clock cycles after read. Thus configured trigger interrupt, interrupt occurs during Slow Clock cycles after reading RTT_SR. prevent several executions interrupt handler, interrupt must disabled interrupt handler re-enabled when status register clear.
6120C-ATARM-25-Oct-05
Real-time Timer value (CRTV) read time register RTT_VR (Real-time Value Register). this value updated asynchronously from Master Clock, advisable read this register twice same value improve accuracy returned value. current value counter compared with value written alarm register RTT_AR (Real-time Alarm Register). counter value matches alarm, ALMS RTT_SR set. alarm register maximum value, corresponding 0xFFFF_FFFF, after reset. RTTINC RTT_SR each time Real-time Timer counter incremented. This used start periodic interrupt, period being second when RTPRES programmed with 0x8000 Slow Clock equal 32.768 Reading RTT_SR status register resets RTTINC ALMS fields. Writing RTTRST RTT_MR immediately reloads restarts clock divider with programmed value. This also resets 32-bit counter. Figure 15-2. Counting
cycle cycle
RTPRES Prescaler
ALMV-1
ALMV
ALMV+1
ALMV+2
ALMV+3
RTTINC (RTT_SR) ALMS (RTT_SR) Interface
read RTT_SR
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
15.4 Real-time Timer (RTT) User Interface
Real-time Timer (RTT) Register Mapping
Register Mode Register Alarm Register Value Register Status Register Name RTT_MR RTT_AR RTT_VR RTT_SR Access Read/Write Read/Write Read-only Read-only Reset Value 0x0000_8000 0xFFFF_FFFF 0x0000_0000 0x0000_0000
Table 15-1.
Offset 0x00 0x04 0x08 0x0C
6120C-ATARM-25-Oct-05
15.4.1
Real-time Timer Mode Register RTT_MR Read/Write
RTPRES RTPRES RTTRST RTTINCIEN ALMIEN
Register Name: Access Type:
RTPRES: Real-time Timer Prescaler Value Defines number SLCK periods required increment real-time timer. RTPRES defined follows: RTPRES Prescaler Period equal RTPRES Prescaler Period equal RTPRES. ALMIEN: Alarm Interrupt Enable ALMS RTT_SR effect interrupt. ALMS RTT_SR asserts interrupt. RTTINCIEN: Real-time Timer Increment Interrupt Enable RTTINC RTT_SR effect interrupt. RTTINC RTT_SR asserts interrupt. RTTRST: Real-time Timer Restart Reloads restarts clock divider with programmed value. This also resets 32-bit counter.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
15.4.2 Real-time Timer Alarm Register RTT_AR Read/Write
ALMV ALMV ALMV ALMV
Register Name: Access Type:
ALMV: Alarm Value Defines alarm value (ALMV+1) compared with Real-time Timer. 15.4.3 Real-time Timer Value Register RTT_VR Read-only
CRTV CRTV CRTV CRTV
Register Name: Access Type:
CRTV: Current Real-time Value Returns current value Real-time Timer.
6120C-ATARM-25-Oct-05
15.4.4
Real-time Timer Status Register RTT_SR Read-only
RTTINC ALMS
Register Name: Access Type:
ALMS: Real-time Alarm Status Real-time Alarm occurred since last read RTT_SR. Real-time Alarm occurred since last read RTT_SR. RTTINC: Real-time Timer Increment Real-time Timer been incremented since last read RTT_SR. Real-time Timer been incremented since last read RTT_SR.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Periodic Interval Timer (PIT)
16.1 Overview
Periodic Interval Timer (PIT) provides operating system's scheduler interrupt. designed offer maximum accuracy efficient management, even systems with long response time.
16.2
Block Diagram
Figure 16-1. Periodic Interval Timer
PIT_MR
PIT_MR
PITIEN
PIT_SR
PITS
reset
pit_irq
12-bit Adder
read PIT_PIVR
20-bit Counter
Prescaler
MCK/16
CPIV
PIT_PIVR
PICNT
CPIV
PIT_PIIR
PICNT
6120C-ATARM-25-Oct-05
16.3
Functional Description
Periodic Interval Timer aims providing periodic interrupts operating systems. provides programmable overflow counter reset-on-read feature. built around counters: 20-bit CPIV counter 12-bit PICNT counter. Both counters work Master Clock /16. first 20-bit CPIV counter increments from programmable overflow value field Mode Register (PIT_MR). When counter CPIV reaches this value, resets increments Periodic Interval Counter, PICNT. status PITS Status Register (PIT_SR) rises triggers interrupt, provided interrupt enabled (PITIEN PIT_MR). Writing value PIT_MR does reset/restart counters. When CPIV PICNT values obtained reading Periodic Interval Value Register (PIT_PIVR), overflow counter (PICNT) reset PITS cleared, thus acknowledging interrupt. value PICNT gives number periodic intervals elapsed since last read PIT_PIVR. When CPIV PICNT values obtained reading Periodic Interval Image Register (PIT_PIIR), there effect counters CPIV PICNT, PITS. example, profiler read PIT_PIIR without clearing pending interrupt, whereas timer interrupt clears interrupt reading PIT_PIVR. enabled/disabled using PITEN PIT_MR register (disabled reset). PITEN only becomes effective when CPIV value Figure 16-2 illustrates counting. After Enable reset (PITEN= CPIV goes counting until value reached, then reset. restarts counting, only PITEN again. stopped when core enters debug state.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Figure 16-2. Enabling/Disabling with PITEN
cycle restarts Prescaler Prescaler PITEN cycle
CPIV PICNT PITS (PIT_SR) Interface
read PIT_PIVR
6120C-ATARM-25-Oct-05
16.4
Periodic Interval Timer (PIT) User Interface
Periodic Interval Timer (PIT) Register Mapping
Register Mode Register Status Register Periodic Interval Value Register Periodic Interval Image Register Name PIT_MR PIT_SR PIT_PIVR PIT_PIIR Access Read/Write Read-only Read-only Read-only Reset Value 0x000F_FFFF 0x0000_0000 0x0000_0000 0x0000_0000
Table 16-1.
Offset 0x00 0x04 0x08 0x0C
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
16.4.1 Periodic Interval Timer Mode Register PIT_MR Read/Write
PITIEN PITEN
Register Name: Access Type:
PIV: Periodic Interval Value Defines value compared with primary 20-bit counter Periodic Interval Timer (CPIV). period equal (PIV PITEN: Period Interval Timer Enabled Periodic Interval Timer disabled when value reached. Periodic Interval Timer enabled. PITIEN: Periodic Interval Timer Interrupt Enable PITS PIT_SR effect interrupt. PITS PIT_SR asserts interrupt. 16.4.2 Periodic Interval Timer Status Register PIT_SR Read-only
PITS
Register Name: Access Type:
PITS: Periodic Interval Timer Status Periodic Interval timer reached since last read PIT_PIVR. Periodic Interval timer reached since last read PIT_PIVR.
6120C-ATARM-25-Oct-05
16.4.3
Periodic Interval Timer Value Register PIT_PIVR Read-only
PICNT PICNT CPIV CPIV CPIV
Register Name: Access Type:
Reading this register clears PITS PIT_SR. CPIV: Current Periodic Interval Value Returns current value periodic interval timer. PICNT: Periodic Interval Counter Returns number occurrences periodic intervals since last read PIT_PIVR.
16.4.4
Periodic Interval Timer Image Register PIT_PIIR Read-only
PICNT PICNT CPIV CPIV CPIV
Register Name: Access Type:
CPIV: Current Periodic Interval Value Returns current value periodic interval timer. PICNT: Periodic Interval Counter Returns number occurrences periodic intervals since last read PIT_PIVR.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Watchdog Timer (WDT)
17.1 Overview
Watchdog Timer used prevent system lock-up software becomes trapped deadlock. features 12-bit down counter that allows watchdog period seconds (slow clock 32.768 kHz). generate general reset processor reset only. addition, stopped while processor debug mode idle mode.
17.2
Block Diagram
Figure 17-1. Watchdog Timer Block Diagram
write WDT_MR WDT_MR WDT_CR
reload
WDRSTT
12-bit Down Counter
WDT_MR reload
Current Value
1/128
SLCK
WDT_MR
WDRSTEN
wdt_fault Reset Controller)
WDUNF
reset
wdt_int
WDERR read WDT_SR reset
reset
WDFIEN
WDT_MR
6120C-ATARM-25-Oct-05
17.3
Functional Description
Watchdog Timer used prevent system lock-up software becomes trapped deadlock. supplied with VDDCORE. restarts with initial values processor reset. Watchdog built around 12-bit down counter, which loaded with value defined field Mode Register (WDT_MR). Watchdog Timer uses Slow Clock divided establish maximum Watchdog period seconds (with typical Slow Clock 32.768 kHz). After Processor Reset, value 0xFFF, corresponding maximum value counter with external reset generation enabled (field WDRSTEN after Backup Reset). This means that default Watchdog running reset, i.e., power-up. user must either disable setting WDDIS WDT_MR) does expect must reprogram meet maximum Watchdog period application requires. Watchdog Mode Register (WDT_MR) written only once. Only processor reset resets Writing WDT_MR register reloads timer with newly programmed mode parameters. normal operation, user reloads Watchdog regular intervals before timer underflow occurs, writing Control Register (WDT_CR) with WDRSTT Watchdog counter then immediately reloaded from WDT_MR restarted, Slow Clock divider reset restarted. WDT_CR register write-protected. result, writing WDT_CR without correct hard-coded effect. underflow does occur, "wdt_fault" signal Reset Controller asserted WDRSTEN Mode Register (WDT_MR). Moreover, WDUNF Watchdog Status Register (WDT_SR). prevent software deadlock that continuously triggers Watchdog, reload Watchdog must occur window defined WDT_MR: WDD; writing WDRSTT restarts Watchdog Timer. attempt restart Watchdog Timer range [WDV; WDD] results Watchdog error, even Watchdog disabled. WDERR updated WDT_SR "wdt_fault" signal Reset Controller asserted. Note that this feature disabled programming value greater than equal value. such configuration, restarting Watchdog Timer permitted whole range WDV] does generate error. This default configuration reset (the values equal). status bits WDUNF (Watchdog Underflow) WDERR (Watchdog Error) trigger interrupt, provided WDFIEN mode register. signal "wdt_fault" reset controller causes Watchdog reset WDRSTEN already explained reset controller programmer Datasheet. that case, processor Watchdog Timer reset, WDERR WDUNF flags reset. reset generated WDT_SR read, status bits reset, interrupt cleared, "wdt_fault" signal reset controller deasserted. Writing WDT_MR reloads restarts down counter. While processor debug state idle mode, counter stopped depending value programmed bits WDIDLEHLT WDDBGHLT WDT_MR.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Figure 17-2. Watchdog Behavior
Watchdog Error Watchdog Underflow WDRSTEN Normal behavior Forbidden Window Permitted Window WDT_CR WDRSTT WDRSTEN
Watchdog Fault
6120C-ATARM-25-Oct-05
17.4
Watchdog Timer (WDT) User Interface
Watchdog Timer (WDT) Register Mapping
Register Control Register Mode Register Status Register Name WDT_CR WDT_MR WDT_SR Access Write-only Read/Write Once Read-only Reset Value 0x3FFF_2FFF 0x0000_0000
Table 17-1.
Offset 0x00 0x04 0x08
17.4.1
Watchdog Timer Control Register WDT_CR Write-only
WDRSTT
Register Name: Access Type:
WDRSTT: Watchdog Restart effect. Restarts Watchdog. KEY: Password Should written value 0xA5. Writing other value this field aborts write operation.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
17.4.2 Watchdog Timer Mode Register WDT_MR Read/Write Once
WDIDLEHLT WDDBGHLT WDDIS WDRPROC WDRSTEN WDFIEN
Register Name: Access Type:
WDV: Watchdog Counter Value Defines value loaded 12-bit Watchdog Counter. WDFIEN: Watchdog Fault Interrupt Enable Watchdog fault (underflow error) effect interrupt. Watchdog fault (underflow error) asserts interrupt. WDRSTEN: Watchdog Reset Enable Watchdog fault (underflow error) effect resets. Watchdog fault (underflow error) triggers Watchdog reset. WDRPROC: Watchdog Reset Processor WDRSTEN Watchdog fault (underflow error) activates resets. WDRSTEN Watchdog fault (underflow error) activates processor reset. WDD: Watchdog Delta Value Defines permitted range reloading Watchdog Timer. Watchdog Timer value less than equal WDD, writing WDT_CR with WDRSTT restarts timer. Watchdog Timer value greater than WDD, writing WDT_CR with WDRSTT causes Watchdog error. WDDBGHLT: Watchdog Debug Halt Watchdog runs when processor debug state. Watchdog stops when processor debug state. WDIDLEHLT: Watchdog Idle Halt Watchdog runs when system idle mode. Watchdog stops when system idle state. WDDIS: Watchdog Disable Enables Watchdog Timer. Disables Watchdog Timer.
6120C-ATARM-25-Oct-05
17.4.3
Watchdog Timer Status Register WDT_SR Read-only
WDERR WDUNF
Register Name: Access Type:
WDUNF: Watchdog Underflow Watchdog underflow occurred since last read WDT_SR. least Watchdog underflow occurred since last read WDT_SR. WDERR: Watchdog Error Watchdog error occurred since last read WDT_SR. least Watchdog error occurred since last read WDT_SR.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Voltage Regulator Mode Controller (VREG)
18.1 Overview
Voltage Regulator Mode Controller contains Read/Write register, Voltage Regulator Mode Register. offset 0x60 with respect System Controller offset. This register controls Voltage Regulator Mode. Setting PSTDBY (bit puts Voltage Regulator Standby Mode Low-power Mode. reset, PSTDBY reset, wake Voltage Regulator Normal Mode.
6120C-ATARM-25-Oct-05
18.2
Voltage Regulator Power Controller (VREG) User Interface
Voltage Regulator Power Controller Register Mapping
Register Voltage Regulator Mode Register Name VREG_MR Access Read/Write Reset Value
Table 18-1.
Offset 0x60
18.2.1
Voltage Regulator Mode Register VREG_MR Read/Write
PSTDBY
Register Name: Access Type:
PSTDBY: Periodic Interval Value Voltage regulator normal mode. Voltage regulator standby mode (low-power mode).
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Memory Controller (MC)
19.1 Overview
Memory Controller (MC) manages controls accesses requested masters, typically ARM7TDMI processor Peripheral Controller. features arbiter, address decoder, abort status, misalignment detector Embedded Flash Controller.
19.2
Block Diagram
Figure 19-1. Memory Controller Block Diagram
Memory Controller ARM7TDMI Processor Embedded Flash Controller Abort Status Internal Internal Flash
Abort
EMAC
Arbiter
Misalignment Detector
Address Decoder
User Interface
Peripheral Controller Peripheral Peripheral
Bridge
From Master Slave
Peripheral
6120C-ATARM-25-Oct-05
19.3
Functional Description
Memory Controller handles internal arbitrates accesses three masters. made arbiter address decoder abort status misalignment detector Embedded Flash Controller handles only little-endian mode accesses. masters work little-endian mode only.
19.3.1
Arbiter Memory Controller simple, hard-wired priority arbiter that gives control three masters. EMAC highest priority; Peripheral Controller medium priority; processor lowest one.
19.3.2
Address Decoder Memory Controller features Address Decoder that first decodes four highest bits 32-bit address defines three separate areas: 256-Mbyte address space internal memories 256-Mbyte address space reserved embedded peripherals undefined address space 3584M bytes representing fourteen 256-Mbyte areas that return Abort accessed Figure 19-2 shows assignment 256-Mbyte memory areas. Figure 19-2. Memory Areas
256M Bytes 0x0000 0000
0x0FFF FFFF 0x1000 0000
Internal Memories
256MBytes 3,584 Mbytes
Undefined (Abort)
0xEFFF FFFF
256M Bytes
0xF000 0000
0xFFFF FFFF
Peripherals
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
19.3.2.1 Internal Memory Mapping Within Internal Memory address space, Address Decoder Memory Controller decodes eight more address bits allocate 1-Mbyte address spaces embedded memories. allocated memories accessed along 1-Mbyte address space repeated times within this address space, equaling bytes divided size memory. When address access undefined within internal memory area, Address Decoder returns Abort master. Figure 19-3. Internal Memory Mapping
0x0000 0000 Internal Memory Area
0x000F FFFF
Bytes
0x0010 0000
0x001F FFFF
Internal Memory Area Internal Flash Internal Memory Area Internal SRAM Internal Memory Area Internal SRAM
Bytes
0x0020 0000 256M Bytes
0x002F FFFF 0x0030 0000 0x003F FFFF 0x0040 0000
Bytes
Bytes
Undefined Areas (Abort)
0x0FFF FFFF
252M bytes
19.3.2.2
Internal Memory Area first bytes Internal Memory Area contain processor exception vectors, particular, Reset Vector address 0x0. Before execution remap command, on-chip Flash mapped into Internal Memory Area that ARM7TDMI reaches executable instruction contained Flash. After remap command, internal SRAM address 0x0020 0000 mapped into Internal Memory Area memory mapped into Internal Memory Area accessible both original location address 0x0.
19.3.3
Remap Command After execution, Remap Command causes Internal SRAM accessed through Internal Memory Area vectors (Reset, Abort, Data Abort, Prefetch Abort, Undefined Instruction, Interrupt, Fast Interrupt) mapped from address address 0x20, Remap Command allows user redefine dynamically these vectors under software control. Remap Command accessible through Memory Controller User Interface writing MC_RCR (Remap Control Register) field one. Remap Command cancelled writing MC_RCR field one, which acts toggling command. This allows easy debug user-defined boot sequence offering simple chip same configuration after reset.
6120C-ATARM-25-Oct-05
19.3.4
Abort Status There reasons abort occur: access undefined address access misaligned address. When abort occurs, signal sent back masters, regardless which generated access. However, only ARM7TDMI take abort signal into account, only under condition that generating access. Peripheral Controller EMAC handle abort input signal. Note that connections represented Figure 19-1. facilitate debug fault analysis operating system, Memory Controller integrates Abort Status register set. full 32-bit wide abort address saved MC_AASR. Parameters access saved MC_ASR include: size request (field ABTSZ) type access, whether data read write, code fetch (field ABTTYP) whether access accessing undefined address (bit UNDADD) misaligned address (bit MISADD) source access leading last abort (bits MST_EMAC, MST_PDC MST_ARM) whether abort occurred each master since last read register (bits SVMST_EMAC, SVMST_PDC SVMST_ARM) unless this information loaded bits case Data Abort from processor, address data access stored. This useful, searching which address generated abort would require disassembling instructions full knowledge processor context. case Prefetch Abort, address have changed, prefetch abort pipelined processor. processor takes prefetch abort into account only read instruction executed probable that several aborts have occurred during this time. Thus, this case, preferable content Abort Link register processor.
19.3.5
Embedded Flash Controller Embedded Flash Controller added Memory Controller ensures interface flash block with 32-bit internal bus. allows increase performance Thumb Mode Code Fetch with system 32-bit buffers. also manages with programming, erasing, locking unlocking sequences thanks full commands.
19.3.6
Misalignment Detector Memory Controller features Misalignment Detector that checks consistency accesses. each access, regardless master, size access bits address checked. type access word (32-bit) bits type access half-word (16-bit) abort returned master access cancelled. Note that accesses processor when fetching instructions checked. misalignments generally software bugs leading wrong pointer handling. These bugs particularly difficult detect debug phase.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
requested address saved Abort Status Register address instruction generating misalignment saved Abort Link Register processor, detection this kind software bugs simplified.
6120C-ATARM-25-Oct-05
19.4
Memory Controller (MC) User Interface
Base Address: 0xFFFFFF00 Table 19-1.
Offset 0x00 0x04 0x08 0x10-0x5C 0x60
Memory Controller (MC) Register Mapping
Register Remap Control Register Abort Status Register Abort Address Status Register Reserved Configuration Registers Section "Embedded Flash Controller (EFC)", page Name MC_RCR MC_ASR MC_AASR Access Write-only Read-only Read-only Reset State
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
19.4.1 Remap Control Register MC_RCR Write-only
Register Name: Access Type: Offset:
RCB: Remap Command effect. This Command acts toggle basis: writing alternatively cancels restores remapping page zero memory devices.
6120C-ATARM-25-Oct-05
19.4.2
Abort Status Register MC_ASR Read-only 0x04
ABTTYP MISADD SVMST_ARM MST_ARM SVMST_PDC MST_PDC ABTSZ UNDADD SVMST_EMAC MST_EMAC
Register Name: Access Type: Reset Value: Offset:
UNDADD: Undefined Address Abort Status last abort access undefined address address space. last abort access undefined address address space. MISADD: Misaligned Address Abort Status last aborted access address misalignment. last aborted access address misalignment. ABTSZ: Abort Size Status
ABTSZ Abort Size Byte Half-word Word Reserved
ABTTYP: Abort Type Status
ABTTYP Abort Type Data Read Data Write Code Fetch Reserved
MST_EMAC: EMAC Abort Source last aborted access EMAC. last aborted access EMAC.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
MST_PDC: Abort Source last aborted access PDC. last aborted access PDC. MST_ARM: Abort Source last aborted access ARM. last aborted access ARM. SVMST_EMAC: Saved EMAC Abort Source abort EMAC occurred since last read MC_ASR notified MST_EMAC. least abort EMAC occurred since last read MC_ASR. SVMST_PDC: Saved Abort Source abort occurred since last read MC_ASR notified MST_PDC. least abort occurred since last read MC_ASR. SVMST_ARM: Saved Abort Source abort occurred since last read MC_ASR notified MST_ARM. least abort occurred since last read MC_ASR.
6120C-ATARM-25-Oct-05
19.4.3
Abort Address Status Register MC_AASR Read-only 0x08
ABTADD ABTADD ABTADD ABTADD
Register Name: Access Type: Reset Value: Offset:
ABTADD: Abort Address This field contains address last aborted access.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Embedded Flash Controller (EFC)
20.0.1 Overview Embedded Flash Controller (EFC) part Memory Controller ensures interface Flash block with 32-bit internal bus. increases performance Thumb Mode Code Fetch with system 32-bit buffers. also manages programming, erasing, locking unlocking sequences using full commands.
20.1
20.1.1
Functional Description
Embedded Flash Organization Embedded Flash interfaces directly 32-bit internal bus. composed several interfaces: memory plane organized several pages same size 32-bit read buffers used code read optimization (see "Read Operations" page 100). write buffer that manages page programming. write buffer size equal page size. This buffer write-only accessible along MByte address space, that each word written final address (see "Write Operations" page 102). Several lock bits used protect write erase operations lock regions. lock region composed several consecutive pages, each lock region associated lock bit. Several general-purpose bits. Each controls specific feature device. Refer product definition section assignment. Embedded Flash size, page size lock region organization described product definition section.
Table 20-1.
Product Specific Lock General-purpose Bits
AT91SAM7X128 Denomination Number General-purpose bits Number Lock Bits
AT91SAM7X256
6120C-ATARM-25-Oct-05
Figure 20-1. Embedded Flash Memory Mapping
Page
Flash Memory
Start Address Lock Region Lock Region
Lock Lock
Page (m-1)
Lock Region (n-1)
32-bit wide
Lock
Page (n-1)*m
Page (n*m-1)
20.1.2
Read Operations optimized controller manages embedded Flash reads. system 32-bit buffers added order start access following address during second read, thus increasing performance when processor running Thumb mode (16-bit instruction set). Figure 20-2, Figure 20-3 Figure 20-4. This optimization concerns only Code Fetch Data. read operations performed with without wait state. wait states programmed field (Flash Wait State) Flash Mode Register MC_FMR (see Flash Mode Register" page 110). Defining enables single-cycle access embedded Flash. Flash memory accessible through 32-bit reads. Flash block size smaller than address space reserved internal memory area, embedded Flash wraps around address space appears repeated within
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
Figure 20-2. Code Read Optimization Thumb Mode
Master Clock
Request (16-bit) Code Fetch @Byte Flash Access @Byte @Byte @Byte @Byte @Byte @Byte @Byte @Byte
Bytes
Bytes
Bytes 8-11
Bytes 12-15
Bytes 16-19
Buffer bits)
Bytes
Bytes
Bytes 8-11
Bytes 12-15
Data
Bytes
Bytes
Bytes
Bytes
Bytes
Bytes 10-11
Bytes 12-13
Bytes 14-15
Note:
When equal accesses performed single-cycle access.
Figure 20-3. Code Read Optimization Thumb Mode
Wait State Cycle Wait State Cycle Wait State Cycle Wait State Cycle
Master Clock
Request (16-bit) Code Fetch @Byte Flash Access @Byte @Byte @Byte @Byte @Byte @Byte @Byte
Bytes
Bytes
Bytes 8-11
Bytes 12-15
Buffer bits)
Bytes
Bytes
Bytes 8-11
Data
Bytes
Bytes
Bytes
Bytes
Bytes
Bytes 10-11
Bytes 12-13
Note:
When equal case sequential reads, accesses performed single-cycle access (except first one).
6120C-ATARM-25-Oct-05
Figure 20-4. Code Read Optimization Thumb Mode
Wait State Cycles Wait State Cycles Wait State Cycles Wait State Cycles
Master Clock
Request (16-bit) Code Fetch @Byte
Flash Access
Bytes
Bytes
Bytes 8-11
Bytes 12-15
Buffer bits)
Bytes
Bytes
Bytes 8-11
Data
10-11
12-13
Note:
When equal case sequential reads, first access takes cycles, second access cycle, third access cycles, fourth access cycle, etc.
20.1.3
Write Operations internal memory area reserved embedded Flash also written through writeonly latch buffer. Write operations take into account only lowest address bits thus wrap around within internal memory area address space appear repeated 1024 times within Write operations prevented programming Memory Protection Unit product. Writing 8-bit 16-bit data allowed lead unpredictable data corruption. Write operations performed number wait states equal number wait states read operations except (see Flash Mode Register" page 110).
20.1.4
Flash Commands offers command manage programming memory flash, locking unlocking lock sectors, consecutive programming locking, full Flash erasing. Table 20-2.
Command Write page Lock Write Page Lock Clear Lock Erase General-purpose Clear General-purpose Security
Commands
Value 0x01 0x02 0x03 0x04 0x08 0x0B 0x0D 0x0F Mnemonic SGPB CGPB
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
these commands, field FCMD MC_FCR register written with command number. soon MC_FCR register written, FRDY flag automatically cleared. Once current command achieved, then FRDY flag automatically set. interrupt been enabled setting FRDY MC_FMR, interrupt line Memory Controller activated. commands protected same keyword, which written eight highest bits MC_FCR register. Writing MC_FCR with data that does contain correct and/or with invalid command effect memory plane; however, PROGE flag MC_FSR register. This flag automatically cleared read access MC_FSR register. When current command writes erases page locked region, command effect whole memory plane; however, LOCKE flag MC_FSR register. This flag automatically cleared read access MC_FSR register.
6120C-ATARM-25-Oct-05
Figure 20-5. Command State Chart
Read Status: MC_FSR
Check FRDY flag
Write FCMD PAGENB MC_FCR
Read Status: MC_FSR
Check FRDY flag
Check LOCKE flag
Locking region violation
Check PROGE flag
keyword violation and/or Invalid command
Command Successful
order guarantee valid operations Flash memory, field Flash Microsecond Cycle Number (FMCN) Flash Mode Register MC_FMR must correctly programmed (see Flash Mode Register" page 110).
20.1.4.1
Flash Programming Several commands used program Flash. Flash technology requires that erase must done before programming. entire memory plane erased same time, page automatically erased clearing NEBP MC_FMR register before writing command MC_FCR register.
AT91SAM7X256/128 Preliminary
6120C-ATARM-25-Oct-05
AT91SAM7X256/128 Preliminary
setting NEBP MC_FMR register, page programmed several steps been erased before (see Figure 20-6). Figure 20-6. Example Partial Page Programming:
bits wide bits wide bits wide
words
words
words
words
Step Erase Flash Page erased
Step Programming second part Page (NEBP
Step Programming third part Page (NEBP
After programming, page (the whole lock region) locked prevent miscellaneous write erase sequences. lock automatically after page programming using WPL. Data written stored internal latch buffer. size latch buffer corresponds page size. latch buffer wraps around within internal memory area address space appears repeated number pages
Note: Writing 8-bit 16-bit data allowed lead unpredictable data corruption.
Data written latch buffer before programming command written Flash Command Register MC_FCR. sequence follows: Write full page, page address, within internal memory area address space using only 32-bit access. Programming starts soon page number programming command written Flash Command Register. FRDY Flash Programming Status Register (MC_FSR) automatically cleared. When programming completed, FRDY Flash Programming Status Register (MC_FSR) rises. interrupt enabled setting FRDY MC_FMR, interrupt line Memory Controller activated. errors detected MC_FS

Other recent searches


VFT15-28 - VFT15-28   VFT15-28 Datasheet
THS6182 - THS6182   THS6182 Datasheet
ST3243B - ST3243B   ST3243B Datasheet
ST3243C - ST3243C   ST3243C Datasheet
MAX1798 - MAX1798   MAX1798 Datasheet
MAX1799 - MAX1799   MAX1799 Datasheet
IDCP-1813 - IDCP-1813   IDCP-1813 Datasheet
DI2CM - DI2CM   DI2CM Datasheet
CMX264 - CMX264   CMX264 Datasheet
APT14F100B - APT14F100B   APT14F100B Datasheet
APT14F100S - APT14F100S   APT14F100S Datasheet

 

Privacy Policy | Disclaimer
© 2012 Datasheet Archive