Embedded RISC Microcontroller Core ARM7TDMI

Similar documents
Secure Microcontrollers for Smart Cards. AT90SC Summary

ARM, the ARM Powered logo, EmbeddedICE, BlackICE and ICEbreaker are trademarks of Advanced RISC Machines Ltd.

Preparations. Creating a New Project

When is Data Susceptible to Corruption

AT17A Series FPGA Configuration EEPROM Memory. Application Note. FPGAs. AT17A Series Conversions from Altera FPGA Serial Configuration Memories

Interrupt Controlled UART

a Serial Peripheral Interace (SPI). Embedded RISC Microcontroller Core Peripheral

AT40K FPGA IP Core AT40K-FFT. Features. Description

Atmel-Synario CPLD/PLD Design Software ATDS1100PC ATDS1120PC ATDS1130PC ATDS1140PC. Features. Description

Parallel EEPROM Die Products. Die Products. Features. Description. Testing

OrCAD Support for Atmel PLDs. Application Note. OrCAD Support for Atmel PLDs. Overview

Product Description. Application Note. AVR360: XmodemCRC Receive Utility for the AVR. Features. Theory of Operation. Introduction

October, Saeid Nooshabadi. Overview COMP3221. Memory Interfacing. Microprocessors and Embedded Systems

2-wire Serial EEPROM AT24C512. Preliminary. 2-Wire Serial EEPROM 512K (65,536 x 8) Features. Description. Pin Configurations.

2-wire Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 AT24C16

Computer and Digital System Architecture

AT94K Series Field Programmable System Level Integrated Circuit. Application Note. FPSLIC Baud Rate Generator

Battery-Voltage. 16K (2K x 8) Parallel EEPROMs AT28BV16. Features. Description. Pin Configurations

EPROM. Application Note CMOS EPROM. Interfacing Atmel LV/BV EPROMs on a Mixed 3-Volt/5- Volt Data Bus

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.

TSC695. Application Note. Annulled Cycle Management on the TSC695. References

hex file. The example described in this application note is written for the AT94K using the FPSLIC Starter Kit. Creating a New Project

AT91 ARM Thumb Microcontrollers. Application Note. AT91M55800A Clock Switching Considerations using Advanced Power Management Controller.

design cycle involving simulation, synthesis

1-Megabit (128K x 8) Low Voltage Paged Parallel EEPROMs

2-wire Serial EEPROM AT24C512

8-bit RISC Microcontroller. Application Note. AVR 305: Half Duplex Compact Software UART

3-wire Serial EEPROMs AT93C46 AT93C56 AT93C57 AT93C66

256K (32K x 8) 3-volt Only Flash Memory

AT17 Series FPGA. Configuration Memory. Application Note. In-System Programming Circuits for AT17 Series Configurators with Atmel and Xilinx FPGAs

2-wire Serial EEPROM Smart Card Modules AT24C32SC AT24C64SC

32-bit Embedded Core Peripheral. Cache Memory. and Bus Interface Unit

ARM, the ARM Powered logo, BlackICE and ICEbreaker are trademarks of Advanced RISC Machines Ltd.

2-wire Serial EEPROMs AT24C128 AT24C256. Features. Description. Pin Configurations. 128K (16,384 x 8) 256K (32,768 x 8)

FPGA Configuration EEPROM Memory. Application Note. Programming Atmel s EEPROMs: AT17LV020(A) vs. AT17LV002(A) Introduction.

8-bit Microcontroller. Application Note. AVR030: Getting Started with C for AVR

ATICE10... User Guide

MARC4. Application Note. Hints and Tips for Hard- and Software Developments with MARC4 Microcontrollers

Battery-Voltage. 256K (32K x 8) Parallel EEPROMs AT28BV256. Features. Description. Pin Configurations

DatasheetDirect.com. Visit to get your free datasheets. This datasheet has been downloaded by

AT89C5131 Starter Kit... Software User Guide

DIP Top View VCC WE A17 NC A16 A15 A12 A14 A13 A8 A9 A11 A7 A6 A5 A4 A3 A2 A1 A0 I/O0 A10 CE I/O7 I/O6 I/O5 I/O4 I/O3 I/O1 I/O2 GND.

4-Megabit (512K x 8) 5-volt Only 256-Byte Sector Flash Memory AT29C040A. Features. Description. Pin Configurations

UART. Embedded RISC Microcontroller Core Peripheral

Programming Flash Devices

8-bit Microcontroller. Application Note. AVR031: Getting Started with ImageCraft C for AVR

1-Megabit (128K x 8) 5-volt Only Flash Memory AT29C010A. Features. Description. Pin Configurations

32-bit Embedded Core Peripheral. Advanced Interrupt Controller (AIC)

a clock signal and a bi-directional data signal (SCL, SDA)

8051 Microcontrollers. Application Note. Migration from AT89C5131 & AT89C5131A-L to AT89C5131A-M

8-bit Microcontroller. Application Note. AVR201: Using the AVR Hardware Multiplier

FPGA Configuration EEPROM Memory AT17C020A AT17LV020A

ATAVRAUTO User Guide

ARM ARCHITECTURE. Contents at a glance:

ARM Architecture (1A) Young Won Lim 3/20/18

AT91 ARM Thumb Microcontrollers. Application Note. AT91 Host Flash Loader. 1. Package Contents. 2. Definition of Terms. 3.

Section 1 ATAVRAUTOEK1 Getting Started

System Designer. Programmable SLI AT94K/AT94S Series. Features. Description

AT17(A) Series FPGA Configuration Memory. Application Note

4-megabit (512K x 8) Single 2.7-volt Battery-Voltage Flash Memory AT49BV040 AT49BV040T AT49LV040 AT49LV040T

CAN Microcontrollers. Application Note. Migrating from T89C51CC01 to AT89C51CC03. Feature Comparison

Application Note Microcontrollers. C Flash Drivers for T89C51RC/RB/IC2 and AT89C51RC/RB/IC2 for Keil Compilers

Bluetooth General Information White Paper

Using an AT91EB40A Evaluation Board to Control an AT91 ARM7TDMI Processor Via the JTAG-ICE Interface Introduction AT91 ARM Thumb Microcontrollers

System Designer. Programmable SLI AT94K/AT94S Series. Features. Description

Migration From AT89C51SND1C to AT83C51SDN1C. Application Note. MP3 Microcontrollers

64K (8K x 8) Low-voltage Parallel EEPROM with Page Write and Software Data Protection AT28LV64B. 3-Volt, 64K E 2 PROM with Data Protection

MP3 Player Reference Design Based on AT89C51SND1 Microcontroller... User Guide

AT17F Series. Application Note. Programming Circuits for AT17F Series Configurators with Xilinx FPGAs. 1. Introduction

SOIC VCC RESET A11 A10 A9 A8 A7 A6 A5 A4 A12 A13 A14 A15 A16 A17 A18 A19 NC NC NC NC I/O0 RDY/BUSY I/O1 I/O7 I/O6 I/O5 I/O4 VCC I/O2 I/O3 GND GND

SPI Serial EEPROMs AT25010 AT25020 AT SPI, 1K Serial E 2 PROM. Features. Description. Pin Configurations 8-Pin PDIP. 1K (128 x 8) 2K (256 x 8)

ARM Processor. Dr. P. T. Karule. Professor. Department of Electronics Engineering, Yeshwantrao Chavan College of Engineering, Nagpur

AT89STK-09 Starter Kit for AT83C26... User Guide

FPGA Configurator Programming Kit (Enhanced) ATDH2200E. Features. Description

AVR32752: Using the AVR32 UC3 Static Memory Controller. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

Application Note. Microcontrollers. Using Keil FlashMon Emulator with AT89C51CC01/03 AT89C51CC01/ Summary. 2. Background overview

1-megabit (64K x 16) 5-volt Only Flash Memory AT49F1024 AT49F1025

CISC RISC. Compiler. Compiler. Processor. Processor

ATAVRAUTO User Guide

shown in Figure 3. An example where the command 0x35 is sent to system 5 is shown in Figure 4. Figure 2. RC5 Frame Format Figure 3.

8-Megabit 5-volt Only Serial DataFlash AT45D081. Features. Description

AVR1315: Accessing the XMEGA EEPROM. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1303: Use and configuration of IR communication module. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

FPGA Configuration EEPROM Memory AT17C65 AT17LV65 AT17C128 AT17LV128 AT17C256 AT17LV256

Programmable SLI AT40K AT40KAL AT94K. Application Note. Implementing a Single-coefficient Multiplier

Two-wire Serial EEPROM Smart Card Modules 128K (16,384 x 8) 256 (32,768 x 8) AT24C128SC AT24C256SC. Features. Description VCC NC

CAN, 80C51, AVR, Microcontroller. Application Note

Rad Hard FPGA. AT40KEL-DK Design Kit Content. Description. Kit Content. Reference Material. Support

Smart Internet Appliance Processor AT75C310. Advance Information

AVR32 UC3 Software Framework... User Manual

1-megabit (64K x 16) 3-volt Only Flash Memory AT49LV1024 AT49LV1025

32-bit Secure. AT91SC CT-USB Summary. Microcontrollers. Features

Interfacing the internal serial EEPROM

AT91 ARM Thumb Microcontrollers. Application Note. Using the ECC Controller on AT91SAM9260/9263 and AT91SAM7SE Microcontrollers. 1.

AT45DB Megabit 2.7-Volt Only Serial DataFlash AT45DB041. Features. Description. Pin Configurations

8-bit Microcontroller. Application Note. AVR320: Software SPI Master

P_D_OUT[31:0] SPI_INT SPI_MOSI_OUT SPI_MOSI_OEN

Two-wire Serial EEPROM Smart Card Modules 1K (128 x 8) 2K (256 x 8) 4K (512 x 8) 8K (1024 x 8) 16K (2048 x 8)

DIP Top View A18 A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O0 I/O1 I/O2 GND VCC A17 A14 A13 A8 A9 A11 A10 I/O7 I/O6 I/O5 I/O4 I/O3 VCC A18 A17

Serial DataFlash. Application Note. Using Atmel s Serial DataFlash. Introduction (AN-4)

Transcription:

Features 32-bit RISC Architecture Two Instruction Sets: ARM High-performance 32-bit Instruction Set Thumb High-code-density 16-bit Instruction Set Very Low Power Consumption: Industry-leader in MIPS/Watt 4G Bytes Linear Address Space Von Neumann Load/Store Architecture: Single 32-bit Data Bus for Instructions and Data 3-Stage Pipeline Architecture: Fetch, Decode and Execute Stage 8-, 16-, and 32-bit Data Types Single Cycle 32x8 Hardware Multiplier: Multiplication is Accelerated when Upper Bytes Are All Zero or One On-chip JTAG Debug and In Circuit Emulation Extensive Range of Third-party Application Development Tools Description The ARM7TDMI embedded microcontroller core is a member of the Advanced RISC Machines (ARM ) family of general purpose 32-bit microprocessors, which offer high performance and very lower power consumption. Its outstanding feature is the 16-bit Thumb subset of the most commonly used 32-bit instructions. These are expanded at run time with no degradation of system performance. This gives 16-bit code density (saving memory area and cost) coupled with 32-bit processor performance. The ARM architecture is based on Reduced Instruction Set Computer (RISC) principles, and the instruction set and related decode mechanism are much simpler than those of microprogrammed Complex Instruction Set Computers. This simplicity results in a high instruction throughput and impressive real-time interrupt response from a small and cost-effective chip. Pipelining is employed so that all parts of the processing and memory systems can operate continuously. Typically, while one instruction is being executed, its successor is being decoded, and a third instruction is being fetched from memory. The ARM memory interface has been designed to allow the performance potential to be realized without incurring high costs in the memory system. Speed-critical control signals are pipelined to allow system control functions to be implemented in standard low-power logic, and these control signals facilitate the exploitation of the fast local access modes offered by industry standard dynamic RAMs. The ARM memory interface is also ideally suited to interfacing, either on-chip or offchip, with Atmel s Flash memory blocks. These give the benefits of in-system programmability and security, reducing time-to-market and system cost. The ARM7TDMI core is supported by an extensive range of application development tools. These are fully described in the AT91Business Partners section of Atmels s Web site (www.atmel.com). Embedded RISC Microcontroller Core ARM7TDMI Rev. 0673CS 11/99 Note: This is a summary document. For the complete 204-page document, please visit our web site at www.atmel.com or e-mail at literature@atmel.com and request literature #0673B. 1

ARM7TDMI Input/Output Signals Figure 1. ARM7TDMI Input/Output Signals Clocks Interrupts Bus Controls MCLK nwait ECLK nirq nfiq ISYNC nreset BUSEN HIGHZ BIGEND nenin nenout nenouti ABE APE ALE DBE APE TBE BUSDIS ECALK ARM7TDMI TCK TMS TDI ntrst TDO TAPSM[3:0] IR[3:0] ntdoen TCK1 TCK2 SCREG[3:0] 11 nm[4:0] TBIT A[31:0] DOUT[31:0] D[31:0] Boundary Scan Boundary Scan Control Signals Processor Mode Processor State Memory Interface Power Debug VDD VSS DBGRQ BREAKPT DBGACK nexec EXTERN 1 EXTERN 0 DBGEN RANGEOUT0 RANGEOUT1 DBGRQI COMMRX COMMTX DIN[31:0] nmreq SEQ nrw MAS[1:0] BL[3:0] LOCK ntrans ABORT no ncpi CPA CPB Memory Management Interface Coprocessor Interface 2 ARM7TDMI

ARM7TDMI ARM7TDMI Block Diagram Figure 2. ARM7TDMI Block Diagram Scan Chain 2 Scan Chain 0 RANGEOUT0 RANGEOUT1 EXTERN1 EXTERN0 no nrw MAS[1:0] ntrans nmreq A[31:0] ICEBreaker Core All Other Signals D[31:0] DIN[31:0] DOUT[31:0] Bus Splitter Scan Chain 1 TCK TMS TAP TDO TAPSM[3:0] ntrst TDI Controller IR[3:0] SCREG[3:0] As shown in Figure 1 and Figure 2, the ARM7TDMI consists of a processor, a TAP controller for boundary scan, and an in-circuit emulator (ICEBreaker). The bi-directional data bus D[31:0] is split into uni-directional input and output buses for compatibility with a wide range of external memories. 3

ARM7TDMI Processor Figure 3. ARM7TDMI Processor The ARM7TDMI processor is built around a bank of 37 32- bit registers and six status registers. It features an integral 32 x 8 multiplier and 32-bit barrel shifter. Five independent internal buses (the Bus, the Increment Bus, the ALU Bus and the A- and B-Buses) allow a high degree of parallelism in instruction execution. Operating Modes ARM7TDMI supports seven modes of operation: User (usr): The normal ARM program execution state FIQ (fiq): Designed to support a data transfer or channel process IRQ (irq): Used for general-purpose interrupt handling Supervisor (svc): Protected mode for the operating system Abort mode (abt): Entered after a data or instruction prefetch abort System (sys): A privileged user mode for the operating system Undefined (und): Entered when an undefined instruction is executed Mode changes may be made under software control, or may be brought about by external interrupts or exception processing. Most application programs will execute in User mode. The non-user modes - known as privileged modes - are entered in order to service interrupts or exceptions, or to access protected resources. Each operating mode has dedicated banked registers for fast exception handling. The FIQ mode has five additional banked working registers, r8_fiq to r12_fiq, to enhance interrupt processing speed. 4 ARM7TDMI

ARM7TDMI Registers ARM7TDMI has a total of 37 registers 31 general-purpose 32-bit registers and six status registers but these cannot all be seen at once. The processor state and operating mode dictate which registers are available to the programmer. The ARM State Register Set In ARM state, 16 general registers and one or two status registers are visible at any one time. In privileged (non- User) modes, mode-specific banked registers are switched in. Figure 4 shows which registers are available in each mode: the banked registers are marked with a shaded triangle. The ARM state register set contains 16 directly accessible registers: to 5. All of these except 5 are generalpurpose, and may be used to hold either data or address values. In addition to these, there is a seventeenth register used to store status information. Figure 4. Register Organization in ARM State ARM State General Registers and Program Counter System & User FIQ Supervisor Abort IRQ Undefined _fiq _fiq 0 0_fiq 0 0 0 0 1 1_fiq 1 1 1 1 2 2_fiq 2 2 2 2 3 3_fiq 3_svc 3_abt 3_irq 3_und 4 4_fiq 4_svc 4_abt 4_irq 4_und 5 () 5 () 5 () 5 () 5 () 5 () ARM State Program Status Registers SPSR_fiq SPSR_svc SPSR_abt SPSR_irq SPSR_und = banked register 5

The THUMB State Register Set The THUMB state register set is a subset of the ARM state set. The programmer has direct access to eight general registers, -, as well as the Program Counter (), a stack pointer register (SP), a link register (LR), and the. There are banked Stack Pointers, Link Registers and Saved Process Status Registers (SPSRs) for each privileged mode. Figure 5. Register Organization in Thumb State THUMB State General Registers and Program Counter System & User FIQ Supervisor Abort IRQ Undefined SP SP_fiq SP_svc SP_abt SP_irq SP_und LR LR_fiq LR_svc LR_abt LR_irq LR_und THUMB State Program Status Registers SPSR_fiq SPSR_svc SPSR_abt SPSR_irq SPSR_und = banked register 6 ARM7TDMI

ARM7TDMI ARM7TDMI Architecture The ARM7TDMI is a 3-stage pipeline, 32-bit RISC processor. The processor architecture is Von Neumann load/store architecture, which is characterized by a single data and address bus for instructions and data. The CPU has two instruction sets, the ARM and the Thumb instruction set. The ARM instruction set has 32-bit wide instructions and provides maximum performance. Thumb instructions are 16-bits wide and give maximum code-density. Instructions operate on 8-, 16-, and 32-bit data types. The THUMB Concept The ARM7TDMI processor employs a unique architectural strategy known as THUMB, which makes it ideally suited to high-volume applications with memory restrictions, or applications where code density is an issue. The key idea behind THUMB is that of a super-reduced instruction set. Essentially, the ARM7TDMI processor has two instruction sets: the standard 32-bit ARM set a 16-bit THUMB set The THUMB set s 16-bit instruction length allows it to approach twice the density of standard ARM code while retaining most of the ARM s performance advantage over a traditional 16-bit processor using 16-bit registers. This is possible because THUMB code operates on the same 32- bit register set as ARM code. THUMB code is able to provide up to 65% of the code size of ARM, and 160% of the performance of an equivalent ARM processor connected to a 16-bit memory system. The Advantages of THUMB THUMB instructions operate with the standard ARM register configuration, allowing excellent interoperability between ARM and THUMB states. Each 16-bit THUMB instruction has a corresponding 32-bit ARM instruction with the same effect on the processor model. The major advantage of a 32-bit (ARM) architecture over a 16-bit architecture is its ability to manipulate 32-bit integers with single instructions, and to address a large address space efficiently. When processing 32-bit data, a 16-bit architecture will take at least two instructions to perform the same task as a single ARM instruction. However, not all the code in a program will process 32-bit data (for example, code that performs character string handling), and some instructions, like Branches, do not process any data at all. If a 16-bit architecture only has 16-bit instructions, and a 32-bit architecture only has 32-bit instructions, then overall the 16-bit architecture will have better code density, and better than one half the performance of the 32-bit architecture. Clearly 32-bit performance comes at the cost of code density. THUMB breaks this constraint by implementing a 16-bit instruction length on a 32-bit architecture, making the processing of 32-bit data efficient with a compact instruction coding. This provides far better performance than a 16-bit architecture, with better code density than a 32-bit architecture. THUMB also has a major advantage over other 32-bit architectures with 16-bit instructions. This is the ability to switch back to full ARM code and execute at full speed. Thus critical loops for applications such as fast interrupts DSP algorithms can be coded using the full ARM instruction set, and linked with THUMB code. The overhead of switching from THUMB code to ARM code is folded into sub-routine entry time. Various portions of a system can be optimized for speed or for code density by switching between THUMB and ARM execution as appropriate. Figure 6. Flexible Selection of ARM or Thumb Instruction Set 7

Atmel Headquarters Corporate Headquarters 2325 Orchard Parkway San Jose, CA 95131 TEL (408) 441-0311 FAX (408) 487-2600 Europe Atmel U.K., Ltd. Coliseum Business Centre Riverside Way Camberley, Surrey GU15 3YL England TEL (44) 1276-686677 FAX (44) 1276-686697 Asia Atmel Asia, Ltd. Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimshatsui East Kowloon, Hong Kong TEL (852) 27219778 FAX (852) 27221369 Japan Atmel Japan K.K. Tonetsu Shinkawa Bldg., 9F 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan TEL (81) 3-3523-3551 FAX (81) 3-3523-7581 Atmel Operations Atmel Colorado Springs 1150 E. Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL (719) 576-3300 FAX (719) 540-1759 Atmel Rousset Zone Industrielle 13106 Rousset Cedex, France TEL (33) 4 42 53 60 00 FAX (33) 4 42 53 60 01 Fax-on-Demand North America: 1-(800) 292-8635 International: 1-(408) 441-0732 e-mail literature@atmel.com Web Site http://www.atmel.com BBS 1-(408) 436-4309 Atmel Corporation 1999. Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company s standard warranty which is detailed in Atmel s Terms and Conditions located on the Company s website. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel s products are not authorized for use as critical components in life support devices or systems. ARM, Thumb and ARM Powered are registered trademarks of ARM Limited. ARM7TDMI is a trademark of ARM Ltd. Other marks bearing and/or are registered trademarks and trademarks of Atmel Corporation. Terms and product names in this document may be trademarks of others. Printed on recycled paper. 0673CS 11/99/0M