The AT91CAP7E, from Atmel Corporation (Nasdaq:ATML), is the first ARM7-based MCU with a direct FPGA interface. The AT91CAP7E is a standard microcontroller with an FPGA interface that makes the FPGA look and work like it is on the internal bus of the MCU. It provides customers with a two-chip, no-NRE, FPGA-plus ARM7 solution and offers an engineering-free migration path to a lower cost, and a lower power customizable MCU. Atmel’s AT91CAP7E is available now and is priced at US$9.50 in quantities of 10,000 units in a 225 BGA package.
On-chip SRAM (Kbytes): 160
AHB Masters: 2
AHB Slaves: 4
USB Device (Full Speed): 2.0
16-bit Timer/Counter Channels: 3
10-bit ADC Channels: 1
Peripheral DMA Channels: 2
Pb-Free Packages: LFBGA 225
The CAP7E includes a six-layer advanced high-speed bus (AHB), peripheral DMA controller and 160 Kbytes of on-chip SRAM. On chip peripherals include USB 2.0 full speed device, SPI master and slave, two USARTs, three 16-bit timer counters, an 8-channel/ 10-bit analog to digital converter, plus a full-functioned system controller including interrupt and power control and supervisory functions. The FPGA interface on the CAP7E provides the FPGA with direct access to the CAP7E’s on-chip AHB and peripheral DMA controller. This architecture eliminates FPGA-induced bus contention, off-loads MCU-to-FPGA communications from the CPU, and frees up the external bus interface for external memory access.
The FPGA interface on Atmel’s CAP7E provides the FPGA with two AHB masters, four AHB slaves, a special direct AHB slave interface to an external RAM through the FPGA, and a programmable ROM that remaps the external RAM to emulate and debug the ROM code. Fourteen advanced peripheral bus (APB) slaves, two full-duplex DMA channels and 32-bit programmable I/O may be hardware selected to share I/O. An on-chip priority interrupt controller provides up to 13 encoded interrupts and two additional un-encoded interrupts for DMA transfers.
The same C-compilers, RTOS, ICEs and IDEs used with Atmel’s AT91SAM ARM-based MCUs can be used with CAP. Atmel has a portfolio of silicon-proven peripherals that are available free of charge to customers migrating to a customizable MCU.
Interfacing an ARM7-based MCU to an FPGA has traditionally been done through the external bus interface (EBI) or programmable I/O. Either arrangement requires that the CPU transfer data to and from the FPGA one word-at-a-time, basically stealing CPU cycles that should be conserved for processing and limiting access to external memory during FPGA operations.
More info: Atmel AT91CAP Customizable MCU (pdf)