AT32AP7001 AVR32 Application Processors Optimized for Embedded Linux Application - Atmel
Posted in AVR, Embedded Linux, Favorite, Atmel, General PurposeOn Tuesday, June 5, 2007
Atmel announced the AT32AP7001 Application Processor optimized for Embedded Linux designs. The AT32AP7001 is a member of the Atmel’s AVR32 AP7 family of Application Processors. The new processor is designed to run the popular Linux operating system in an embedded setting. Applications for the AT32AP7001 include surveillance cameras, audio processing, printers, fax machines and industrial control equipment.
Atmel AVR32 Chip
The AT32AP7001 is based on Atmel’s AVR32 AP7 Application Processor core, offering 210 DMIPS (Dhrystone v2.1 MIPS) at 150 MHz, 1.8V. AT32AP7001 implements a Memory Management Unit (MMU) and a flexible interrupt controller supporting modern operating systems and real-time operating systems. The processor also includes a rich set of DSP and SIMD instructions, specially designed for multimedia and telecom applications. The device offers Dynamic Frequency Scaling (DFS), which allows on-the-fly adjustments of the power consumption in the four on-chip clock domains.
On chip peripherals of the AT32AP7001 Application Processor include a BT 656 compliant camera interface, a built-in 2-channel 16-bit audio bit-stream DAC, three full duplex IIS audio channels, one AC97 interface, a Hi-Speed (480 Mb/s) USB interface with 7 endpoints, a dual port MMC/SD card interface, two SPI interfaces, a two-wire interface (I2C compatible) and four USARTS. Besides on-chip peripherals, AT32AP7001 Application Processor also offers up to 90 I/O (Input/Output). These rich of features makes AT32AP7001 suitable to build low cost and compact embedded Linux applications.
AT32AP7001 incorporates 32 KB SRAM memories on-chip for fast and secure access, 16+16 KB instruction and data caches, a memory management unit, DMA for high speed peripherals, and a peripheral DMA controller for peripherals that run on a relatively low speed. The on-chip bus matrix contains 4 independent system buses, allowing up to 1.2 GB/s throughput between CPU and peripheral memories. For applications requiring additional memory, external 16-bit SRAM is accessible.
An SDRAM controller provides off-chip volatile memory access as well as controllers for all industry standard off-chip non-volatile memories, like Multi Media Card (MMC), Compact Flash, Secure Digital (SD)-card, NAND Flash, SmartCard and Atmel DataFlash.
A pixel co-processor provides color space conversions for images and video, in addition to a wide variety of hardware filter support Synchronous Serial Controllers provide easy access to serial communication protocols, audio standards like AC’97, I2S, I2C© and various SPI modes. The modules support frame-based protocols, like VoIP SIP protocols.
|
C/C++ compilers for AT32AP7001 are available from GCC (GNU C Compiler) and IAR Systems. Both compilers are DSP- and SIMD-aware and able to identify patterns in the C code and automatically compile the appropriate SIMD DSP instructions. Atmel also maintains and provides a free-of-charge port of the GCC tool-chain, device drivers, and popular libraries and applications. This will facilitate the adoption of the many thousands open source and free applications available for use in embedded systems.
About Microcontroller Linux Porting
Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX and Single UNIX Specification compliance.
It has all the features you would expect in a modern fully-fledged Unix, including true multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write executables, proper memory management, and multistack networking including IPv4 and IPv6.
Although originally developed first for 32-bit x86-based PCs (386 or higher), today Linux also runs on (at least) the Compaq Alpha AXP, Sun SPARC and UltraSPARC, Motorola 68000, PowerPC, ARM, Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64, AXIS CRIS, Renesas M32R, and Atmel AVR32 architectures; for many of these architectures in both 32- and 64-bit variants.
Linux is easily portable to most general-purpose 32- or 64-bit architectures as long as they have a paged memory management unit (PMMU) and a port of the GNU C compiler (gcc) (part of The GNU Compiler Collection, GCC). Linux has also been ported to a number of architectures without a PMMU, although functionality is then obviously somewhat limited. See the µClinux project for more info.
AT32AP7001 integrates a class 3 Nexus 2.0 On-Chip Debug (OCD) System, with non-intrusive real-time trace, full-speed read/write memory access in addition to basic runtime control. The C-compiler is closely linked to the architecture and is able to utilize code optimization features, both for size and speed.
The Java hardware acceleration implementation in AVR32 allows for a very high-speed Java byte-code execution. AVR32 implements Java instructions in hardware, reusing the existing RISC data path, which allows for a near-zero hardware overhead and cost with a very high performance.
AT32AP7001 AVR32 Application Processor Block Diagram
Atmel AT32AP7001 Application Processors features summary:
- High Performance, Low Power AVR®32 32-Bit Microcontroller
- 210 DMIPS throughput at 150 MHz
- 16 KB instruction cache and 16 KB data caches
- Single-cycle RISC instruction set including SIMD and DSP instructions
- Memory Management Unit enabling use of operating systems
- Java Hardware Acceleration
- Multi-hierarchy bus system
- High-performance data transfers on separate buses for increased performance
- Pixel Coprocessor
- Pixel Coprocessor for video acceleration through color-space conversion (YUV<->RGB), image scaling and filtering, quarter pixel motion compensation
- Data Memories
- 32KBytes SRAM
- Direct Memory Access Controller
- External Memory access without CPU intervention
- External Memory Interface
- SDRAM, DataFlash, SRAM, Multi Media Card (MMC), Secure Digital (SD),
- Compact Flash, Smart Media, NAND Flash
- Interrupt Controller
- Individually maskable Interrupts
- Each interrupt request has a programmable priority and autovector address
- System Functions
- Power and Clock Manager
- Crystal Oscillator with Phase-Lock-Loop (PLL)
- Watchdog Timer
- Real-time Clock
- 6 Multifunction timer/counters
- Three external clock inputs, I/O pins, PWM, capture and various counting capabilities
- 3 Synchronous Serial Protocol controllers
- Supports I2S, SPI and generic frame-based protocols
- Two-Wire Interface
- Sequential Read/Write Operations, I2C compatible
- 4 Universal Synchronous/Asynchronous Receiver/Transmitters (USART)
- 115.2 kbps IrDA Modulation and Demodulation
- Hardware and software handshaking
- Universal Serial Bus (USB) 2.0 High Speed (480 Mbps) Device
- On-chip Transceivers with physical interface
- 16-bit stereo audio bitstream DAC
- Sample rates up to 50 kHz
- Image Sensor Interface
- 12-bit Data Interface for CMOS cameras
- On-Chip Debug System
- Nexus Class 3
- Runtime control and JTAG interface
- Full speed, non-intrusive data and program trace
- Package/Pins
- AT32AP7001: 208-pin QFP/ 90 GPIO pins
- Power supplies
- 1.65V to1.95V VDDCORE
- 3.0V to 3.6V VDDIO
For evaluation of the AVR32 AP7 Application Processors, developer can use the AVR32 Network Gateway kit (ATNGW100). For more complete reference system Atmel offers the ATSTK1000 starter kit. The development board has two ethernet ports, a high quality QVGA LCD, a loudspeaker, VGA, USB, PS/2 and USART. It comes with a pre-installed Linux on 256 MB SD Card, ensures that the user can boot Linux and start program development immediately after power up. STK1000 is also supported by AVR JTAGICE mkII. With either GNU GCC or the IAR compiler.
AVR32 Network Gateway (ATNGW100) Development Board
Atmel ATSTK1000 Starter Kit
The AT32AP7001 is available now in a 208-pin VQFP (30 x 30mm) package. Priced is US$ 8.00 each (in 10K volume).
Source: Atmel AT32AP7001 Application Processors for Embedded Linux
Possible Related Entries:
![[Embedded System roll-b]](images/roll/roll-b-4.gif)












