– 2 Dedicated Peripheral Data Controller (PDC) Channels per USART
• Programmable Watchdog Timer
• Advanced Power-saving Features
– CPU and Peripheral Can Be Deactivated Individually
• Fully Static Operation:
– 0 Hz to 40 MHz Internal Frequency Range at 3.0V, 85°C
• 1.8V to 3.6V Operating Range
• -40°C to +85° C Temperature Range
• Available in a 100-lead LQFP Package (Green)
™
®
ARM® Thumb® Processor Core
AT91 ARM
Thumb
Microcontrollers
AT91M40800
Summary
1.Description
The AT91M40800 microcontroller is a member of the Atmel AT91 16/32-bit microcontroller family, which is based on the ARM7TDMI processor core. This processor has a
high-performance 32-bit RISC architecture with a high-density 16-bit instruction set
and very low power consumption. In addition, a large number of internally banked registers result in very fast exception handling, making the device ideal for real-time
control applications.
The AT91M40800 microcontroller features a direct connection to off-chip memory,
including Flash, through the fully-programmable External Bus Interface (EBI). An
eight-level priority vectored interrupt controller, in conjunction with the Peripheral Data
Controller, significantly improves the real-time performance of the device.
The device is manufactured using Atmel’s high-density CMOS technology. By combining the ARM7TDMI processor core with on-chip high-speed memory and a wide
range of peripheral functions on a monolithic chip, the AT91M40800 is a powerful
microcontroller that offers a flexible, cost-effective solution to many compute-intensive
embedded control applications.
NOTE: This is a summary document.
The complete document is available on
the Atmel website at www.atmel.com.
The AT91M40800 microcontroller integrates an ARM7TDMI with Embedded ICE interface,
memories and peripherals. The architecture consists of two main buses, the Advanced System
Bus (ASB) and the Advanced Peripheral Bus (APB). Designed for maximum performance and
controlled by the memory controller, the ASB interfaces the ARM7TDMI processor with the onchip 32-bit memories, the External Bus Interface (EBI) and the AMBA
Bridge drives the APB, which is designed for accesses to on-chip peripherals and optimized for
low power consumption.
The AT91M40800 microcontroller implements the ICE port of the ARM7TDMI processor on dedicated pins, offering a complete, low cost and easy-to-use debug solution for target debugging.
5.1Memories
The AT91M40800 microcontroller embeds up to 8K bytes of internal SRAM. The internal memory is directly connected to the 32-bit data bus and is single-cycle accessible.
The AT91M40800 microcontroller features an External Bus Interface (EBI), which enables connection of external memories and application-specific peripherals. The EBI supports 8- or 16-bit
devices and can use two 8-bit devices to emulate a single 16-bit device. The EBI implements the
early read protocol, enabling faster memory accesses than standard memory interfaces.
AT91M40800
™
Bridge. The AMBA
5.2Peripherals
The AT91M40800 microcontrollers integrate several peripherals, which are classified as system
or user peripherals. All on-chip peripherals are 32-bit accessible by the AMBA Bridge, and can
be programmed with a minimum number of instructions. The peripheral register set is composed
of control, mode, data, status and enable/disable/status registers.
An on-chip Peripheral Data Controller (PDC) transfers data between the on-chip USARTs and
on- and off-chip memories address space without processor intervention. Most importantly, the
PDC removes the processor interrupt handling overhead, making it possible to transfer up to
64K contiguous bytes without reprogramming the start address, thus increasing the performance of the microcontroller, and reducing the power consumption.
5.2.1System Peripherals
The External Bus Interface (EBI) controls the external memory or peripheral devices via an 8- or
16-bit databus and is programmed through the APB. Each chip select line has its own programming register.
The Power-saving (PS) module implements the Idle mode (ARM7TDMI core clock stopped until
the next interrupt) and enables the user to adapt the power consumption of the microcontroller to
application requirements (independent peripheral clock control).
The Advanced Interrupt Controller (AIC) controls the internal interrupt sources from the internal
peripherals and the four external interrupt lines (including the FIQ), to provide an interrupt and/or
fast interrupt request to the ARM7TDMI. It integrates an 8-level priority controller and, using the
Auto-vectoring feature, reduces the interrupt latency time.
1348FS–ATARM–13-Apr-06
The Parallel Input/Output Controller (PIO) controls up to 32 I/O lines. It enables the user to
select specific pins for on-chip peripheral input/output functions, and general-purpose input/output signal pins. The PIO controller can be programmed to detect an interrupt on a signal change
from each line.
5
The Watchdog (WD) can be used to prevent system lock-up if the software becomes trapped in
a deadlock.
The Special Function (SF) module integrates the Chip ID, the Reset Status and the Protect
registers.
5.2.2User Peripherals
Two USARTs, independently configurable, enable communication at a high baud rate in synchronous or asynchronous mode. The format includes start, stop and parity bits and up to 8 data
bits. Each USART also features a Timeout and a Time Guard register, facilitating the use of the
two dedicated Peripheral Data Controller (PDC) channels.
The 3-channel, 16-bit Timer Counter (TC) is highly-programmable and supports capture or
waveform modes. Each TC channel can be programmed to measure or generate different kinds
of waves, and can detect and control two input/output signals. The TC has also three external
clock signals.
6.Associated Documentation
The AT91M40800 is part of the AT91x40 Series microcontrollers, a member of the Atmel AT91 16/32-bit microcontroller
family which is based on the ARM7TDMI processor core. Table 6-1 contains details of associated documentation for further
reference.
External memory interface mapping
Peripheral operations
Peripheral user interfaces
DC characteristics
Power consumption
Thermal and reliability considerations
AC characteristics
Product overview
Ordering information
Packaging information
Soldering profile
ARM7TDMI (Thumb) Datasheet
AT91x40 Series Datasheet
AT91M40800 Electrical Characteristics
AT91M40800 Summary Datasheet (this document)
6
AT91M40800
1348FS–ATARM–13-Apr-06
7.Product Overview
7.1Power Supply
The AT91M40800 microcontroller has a unique type of power supply pin – VDD. The VDD pin
supplies the I/O pads and the device core. The supported voltage range on V
7.2Input/Output Considerations
The AT91M40800 microcontroller I/O pads are 5V-tolerant, enabling them to interface with
external 5V devices without any additional components. Thus, the devices accept 5V (3V) on the
inputs even if powered at 3V (2V). For further information, refer to the “AT91M40800 Electrical
Characteristics” datasheet.
After the reset, the peripheral I/Os are initialized as inputs to provide the user with maximum
flexibility. It is recommended that in any application phase, the inputs to the AT91M40800 microcontroller be held at valid logic levels to minimize the power consumption.
7.3Master Clock
The AT91M40800 microcontroller has a fully static design and works on the Master Clock
(MCK), provided on the MCKI pin from an external source.
AT91M40800
is 1.8V to 3.6V.
DD
7.4Reset
7.4.1NRST Pin
7.4.2Watchdog Reset
The Master Clock is also provided as an output of the device on the pin MCKO, which is multiplexed with a general-purpose I/O line. While NRST is active, MCKO remains low. After the
reset, the MCKO is valid and outputs an image of the MCK signal. The PIO controller must be
programmed to use this pin as standard I/O line.
Reset restores the default states of the user interface registers (defined in the user interface of
each peripheral), and forces the ARM7TDMI to perform the next instruction fetch from address
zero. Except for the program counter the ARM7TDMI registers do not have defined reset states.
NRST is active low-level input. It is asserted asynchronously, but exit from reset is synchronized
internally to the MCK. The signal presented on MCKI must be active within the specification for a
minimum of 10 clock cycles up to the rising edge of NRST, to ensure correct operation.
The first processor fetch occurs 80 clock cycles after the rising edge of NRST.
The watchdog can be programmed to generate an internal reset. In this case, the reset has the
same effect as the NRST pin assertion, but the pins BMS and NTRI are not sampled. Boot Mode
and Tri-state Mode are not updated. If the NRST pin is asserted and the watchdog triggers the
internal reset, the NRST pin has priority.
7.5Emulation Functions
7.5.1Tri-state Mode
The AT91M40800 microcontroller provides a Tri-state mode, which is used for debug purposes.
This enables the connection of an emulator probe to an application board without having to desolder the device from the target board. In Tri-state mode, all the output pin drivers of the
AT91M40800 microcontroller is disabled.
1348FS–ATARM–13-Apr-06
7
To enter Tri-state mode, the pin NTRI must be held low during the last 10 clock cycles before the
rising edge of NRST. For normal operation the pin NTRI must be held high during reset by a
resistor of up to 400K Ohm.
NTRI is multiplexed with I/O line P21 and USART1 serial data transmit line TXD1.
Standard RS232 drivers generally contain internal 400K Ohm pull-up resistors. If TXD1 is connected to a device not including this pull-up, the user must make sure that a high level is tied on
NTRI while NRST is asserted.
7.5.2JTAG/ICE Debug
ARM Standard Embedded In-circuit Emulation is supported via the JTAG/ICE port. The pins
TDI, TDO, TCK and TMS are dedicated to this debug function and can be connected to a host
computer via the external ICE interface.
In ICE Debug mode, the ARM7TDMI core responds with a non-JTAG chip ID that identifies the
microcontroller. This is not fully IEEE
7.6Memory Controller
The ARM7TDMI processor address space is 4G bytes. The memory controller decodes the
internal 32-bit address bus and defines three address spaces:
• Internal memories in the four lowest megabytes
• Middle space reserved for the external devices (memory or peripherals) controlled by the EBI
• Internal peripherals in the four highest megabytes
In any of these address spaces, the ARM7TDMI operates in Little-Endian mode only.
7.6.1Internal Memories
The AT91M40800 microcontroller integrates 8K bytes of internal SRAM. All internal memories
are 32 bits wide and single-clock cycle accessible. Byte (8-bit), half-word (16-bit) or word (32-bit)
accesses are supported and are executed within one cycle. Fetching Thumb or ARM instructions is supported and internal memory can store twice as many Thumb instructions as ARM
ones.
The SRAM is mapped at address 0x0 (after the remap command), allowing ARM7TDMI exception vectors between 0x0 and 0x20 to be modified by the software. The rest of the bank can be
used for stack allocation (to speed up context saving and restoring) or as data and program storage for critical algorithms.
®
1149.1 compliant.
7.6.2Boot Mode Select
The ARM reset vector is at address 0x0. After the NRST line is released, the ARM7TDMI executes the instruction stored at this address. This means that this address must be mapped in
nonvolatile memory after the reset.
The input level on the BMS pin during the last 10 clock cycles before the rising edge of the
NRST selects the type of boot memory (see Table 7-1).
8
AT91M40800
1348FS–ATARM–13-Apr-06
The pin BMS is multiplexed with the I/O line P24 that can be programmed after reset like any
standard PIO line.
Table 7-1.Boot Mode Select
BMSBoot Memory
1External 8-bit memory on NCS0
0External 16-bit memory on NCS0
7.6.3Remap Command
The ARM vectors (Reset, Abort, Data Abort, Prefetch Abort, Undefined Instruction, Interrupt,
Fast Interrupt) are mapped from address 0x0 to address 0x20. In order to allow these vectors to
be redefined dynamically by the software, the AT91M40800 microcontroller uses a remap command that enables switching between the boot memory and the internal primary SRAM bank
addresses. The remap command is accessible through the EBI User Interface, by writing one in
RCB of EBI_RCR (Remap Control Register). Performing a remap command is mandatory if
access to the other external devices (connected to chip-selects 1 to 7) is required. The remap
operation can only be changed back by an internal reset or an NRST assertion.
7.6.4Abort Control
The abort signal providing a Data Abort or a Prefetch Abort exception to the ARM7TDMI is
asserted when accessing an undefined address in the EBI address space.
AT91M40800
No abort is generated when reading the internal memory or by accessing the internal peripherals, whether the address is defined or not.
7.6.5External Bus Interface
The External Bus Interface handles the accesses between addresses 0x0040 0000 and 0xFFC0
0000. It generates the signals that control access to the external devices, and can be configured
from eight 1-Mbyte banks up to four 16-Mbyte banks. It supports byte-, half-word- and wordaligned accesses.
For each of these banks, the user can program:
• Number of wait states
• Number of data float times (wait time after the access is finished to prevent any bus
contention in case the device is too long in releasing the bus)
• Data bus-width (8-bit or 16-bit).
• With a 16-bit wide data bus, the user can program the EBI to control one 16-bit device (Byte
Access Select mode) or two 8-bit devices in parallel that emulate a 16-bit memory (Byte
Write Access mode).
The External Bus Interface features also the Early Read Protocol, configurable for all the
devices, that significantly reduces access time requirements on an external device in the case of
single-clock cycle access.
1348FS–ATARM–13-Apr-06
9
8.Peripherals
The AT91M40800 microcontroller peripherals are connected to the 32-bit wide Advanced
Peripheral Bus. Peripheral registers are only word accessible – byte and half-word accesses are
not supported. If a byte or a half-word access is attempted, the memory controller automatically
masks the lowest address bits and generates an word access.
Each peripheral has a 16-Kbyte address space allocated (the AIC only has a 4-Kbyte address
space).
8.1Peripheral Registers
The following registers are common to all peripherals:
• Control Register – write only register that triggers a command when a one is written to the
corresponding position at the appropriate address. Writing a zero has no effect.
• Mode Register – read/write register that defines the configuration of the peripheral. Usually
has a value of 0x0 after a reset.
• Data Registers – read and/or write register that enables the exchange of data between the
processor and the peripheral.
• Status Register – read only register that returns the status of the peripheral.
• Enable/Disable/Status Registers are shadow command registers. Writing a one in the Enable
Register sets the corresponding bit in the Status Register. Writing a one in the Disable
Register resets the corresponding bit and the result can be read in the Status Register.
Writing a bit to zero has no effect. This register access method maximizes the efficiency of bit
manipulation, and enables modification of a register with a single non-interruptible
instruction, replacing the costly read-modify-write operation.
Unused bits in the peripheral registers are shown as “–” and must be written at 0 for upward
compatibility. These bits read 0.
8.2Peripheral Interrupt Control
The Interrupt Control of each peripheral is controlled from the status register using the interrupt
mask. The status register bits are ANDed to their corresponding interrupt mask bits and the
result is then ORed to generate the Interrupt Source signal to the Advanced Interrupt Controller.
The interrupt mask is read in the Interrupt Mask Register and is modified with the Interrupt
Enable Register and the Interrupt Disable Register. The enable/disable/status (or mask) makes
it possible to enable or disable peripheral interrupt sources with a non-interruptible single
instruction. This eliminates the need for interrupt masking at the AIC or Core level in real-time
and multi-tasking systems.
8.3Peripheral Data Controller
The AT91M40800 microcontroller has a 4-channel PDC dedicated to the two on-chip USARTs.
One PDC channel is dedicated to the receiver and one to the transmitter of each USART.
The user interface of a PDC channel is integrated in the memory space of each USART. It contains a 32-bit Address Pointer Register (RPR or TPR) and a 16-bit Transfer Counter Register
(RCR or TCR). When the programmed number of transfers are performed, a status bit indicating
the end of transfer is set in the USART Status Register and an interrupt can be generated.
10
AT91M40800
1348FS–ATARM–13-Apr-06
8.4System Peripherals
8.4.1PS: Power-saving
The Power-saving feature optimizes power consumption, enabling the software to stop the
ARM7TDMI clock (idle mode), restarting it when the module receives an interrupt (or reset). It
also enables on-chip peripheral clocks to be enabled and disabled individually, matching power
consumption and application need.
8.4.2AIC: Advanced Interrupt Controller
The Advanced Interrupt Controller has an 8-level priority, individually maskable, vectored interrupt controller, and drives the NIRQ and NFIQ pins of the ARM7TDMI from:
• The external fast interrupt line (FIQ)
• The three external interrupt request lines (IRQ0 - IRQ2)
• The interrupt signals from the on-chip peripherals.
The AIC is largely programmable offering maximum flexibility, and its vectoring features reduce
the real-time overhead in handling interrupts.
The AIC also features a spurious vector, which reduces spurious interrupt handling to a minimum, and a protect mode that facilitates the debug capabilities.
AT91M40800
8.4.3PIO: Parallel I/O Controller
The AT91M40800 microcontroller has 32 programmable I/O lines. Six pins are dedicated as
general-purpose I/O pins. Other I/O lines are multiplexed with an external signal of a peripheral
to optimize the use of available package pins. The PIO controller enables generation of an interrupt on input change and insertion of a simple input glitch filter on any of the PIO pins.
8.4.4WD: Watchdog
The Watchdog is built around a 16-bit counter and is used to prevent system lock-up if the software becomes trapped in a deadlock. It can generate an internal reset or interrupt, or assert an
active level on the dedicated pin NWDOVF. All programming registers are password-protected
to prevent unintentional programming.
8.4.5SF: Special Function
The AT91M40800 microcontroller provides registers that implement the following special
functions.
The AT91M40800 microcontroller provides two identical, full-duplex, universal synchronous/asynchronous receiver/transmitters.
Each USART has its own baud rate generator, and two dedicated Peripheral Data Controller
channels. The data format includes a start bit, up to 8 data bits, an optional programmable parity
bit and up to 2 stop bits.
The USART also features a Receiver Timeout register, facilitating variable length frame support
when it is working with the PDC, and a Time Guard register, used when interfacing with slow
remote equipment.
8.5.2TC: Timer Counter
The AT91M40800 microcontroller features a Timer Counter block that includes three identical
16-bit timer counter channels. Each channel can be independently programmed to perform a
wide range of functions including frequency measurement, event counting, interval measurement, pulse generation, delay timing and pulse width modulation.
The Timer Counter can be used in Capture or Waveform mode, and all three counter channels
can be started simultaneously and chained together.
12
AT91M40800
1348FS–ATARM–13-Apr-06
9.Packaging Information
Figure 9-1.100-lead LQFP Package Drawing
aaa
PIN 1
AT91M40800
bbb
θ2
θ3
ddd
cc
1
Table 9-1.Common Dimensions (mm)
SymbolMinNomMax
c0.090.2
c10.090.16
ccc
S
R1
1
θ
L1
R2
0.25
θ
L0.450.60.75
L11.00 REF
R20.080.2
R10.08
1348FS–ATARM–13-Apr-06
13
Table 9-1.Common Dimensions (mm)
S0.2
q0°3.5° 7°
θ10°
θ211°12°13°
θ311°12°13°
A1.6
A10.050.15
A21.351.41.45
aaa0.2
bbb0.2
Table 9-2.Lead Count Dimensions (mm)
Tolerances of form and position
Pin
Count
10016.014.00.170.220.270.170.20.230.500.100.06
D/E
BSC
D1/E1
BSC
bb1
e BSCcccdddMinNomMaxMinNomMax
Table 9-3.Device and 100-lead LQFP Package Maximum Weight
707mg
14
AT91M40800
1348FS–ATARM–13-Apr-06
10. Soldering Profile
Table 10-1 gives the recommended soldering profile from J-STD-020C.
Table 10-1.Soldering Profile Green Compliant Package
Profile FeatureGreen Package
Average Ramp-up Rate (217°C to Peak)3°C/sec. max.
Preheat Temperature 175°C ±25°C180 sec. max.
Temperature Maintained Above 217°C60 sec. to 150 sec.
Time within 5°C of Actual Peak Temperature20 sec. to 40 sec.
Peak Temperature Range260°C
Ramp-down Rate6°C/sec. max.
Time 25°C to Peak Temperature8 min. max.
Note:The package is certified to be backward compatible with Pb/Sn soldering profile.
A maximum of three reflow passes is allowed per component.
AT91M40800
1348FS–ATARM–13-Apr-06
15
11. Ordering Information
Table 11-1.Ordering Information
Ordering CodePackagePackage TypeOperation Range
AT91M40800-33AU LQFP100Green
Industrial
(-40° C to 85° C)
16
AT91M40800
1348FS–ATARM–13-Apr-06
12. Revision History
Table 12-1.Revision History
VersionComments
1348ASFirst issue Dec-99
1348BSApr-00
1348CSMay-00
Reformatted
Added information to section Internal Memories on page 9.
1348DS
1348ES
1348FS
Change in Table 4 on page 14
Added Table 7, Package Weight, on page 16
Added section Soldering Profile on page 17
Corrected product name in Table 6-1 on page 6.04-185
Updated package name to LQFP throughout.
Updated Table 11-1, “Ordering Information,” on page 16 and “Soldering Profile” on page 15
with details on Green and RoHs-compliant packages.
Removed information on QFP leaded package in Section 10. ”Soldering Profile” on page 15
and in Section 11. ”Ordering Information” on page 16.
AT91M40800
Change
Request Ref.
05-331
2598
1348FS–ATARM–13-Apr-06
17
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.