Professional Documents
Culture Documents
DMA Controller For A Credit-Card Size Satellite Onboard Computer
DMA Controller For A Credit-Card Size Satellite Onboard Computer
Michael Meier, Tanya Vladimirova*, Tim Plant and Alex da Silva Curiel Surrey Satellite Technology Ltd. and *Surrey Space Centre University of Surrey, Guildford, Surrey, UK
Meier 1 208/MAPLD 2004
Introduction
The Surrey Space Centre has a long-term research programme called ChipSat. Its aim is to design a credit-card-size satellite, which weighs less than 100 g. The first step of this development is the miniaturisation of the satellite on-board data handling system (OBDH) using a System-on-a-Chip (SoC) implemented on a high-density FPGA. The SoC consists of a CPU and some other Intellectual Property (IP) cores as peripherals and supporting modules. An important IP core in the SoC On-Board Computer (OBC) is a Direct Memory Access Controller (DMAC). The aim of this project was the development of a suitable DMA controller for such a SoC.
Meier 2 208/MAPLD 2004
Additionally the OBC has some other components as memory, voltage regulator and transceivers.
Meier
208/MAPLD 2004
CAN Controller
Boot PROM
Memory Controller
Timers
IRQCtrl
I/O port
Leon CPU
AHB/APB Bridge
+3.3V
+1.5V
SDRAM
SDRAM
Configuration PROM
CLK Generator
JTAG
Meier
208/MAPLD 2004
FPGA 54
PROM
SDRAM 16MByte SDRAM 16MByte SDRAM 16MByte SDRAM 16MByte
85
Requirements: Power consumption: 2W Mass: 50g Size: 85mm 54mm Temperature range: 20C to +50C
All data sent or received must be transferred between the main memory and the interface controller at least with the data rate that the interface supports. The DMA controller handles these data transfers between the main memory and the interface controllers bypassing the CPU.
Meier
208/MAPLD 2004
CPU Interrupt
Memory
DMA Controller
Request Acknowledge
Peripheral Device
Meier
208/MAPLD 2004
If a peripheral device receives data from outside it asserts the request signal to the DMAC. The DMAC transfers the received data from the peripheral device controller to the memory and asserts the acknowledge signal to the peripheral device. When the transfer is completed a flag in the status register of the DMAC will be set and/or the DMA controller sends an interrupt to the CPU.
Meier 9 208/MAPLD 2004
A transfer can be triggered by sending a software command from the CPU or by asserting of a request signal DREQ. The controller asserts an acknowledge signal DACK as a response on a hardware request.
Meier
11
208/MAPLD 2004
Meier
12
208/MAPLD 2004
Channel Arbiter
Multiplexer
Channel 1
DMA Engine
AMBA AHB
Channel n
Meier
13
208/MAPLD 2004
Development Environment
Virtex-II V2MB1000 development board from Memec:
XC2V1000-4FG456C FPGA 32 MByte DDR SDRAM (MT46V16M16TG-75 IC from Micron) 24 & 100 MHz clock generator
The LEON-2 IP core is employed as the processor core of the System-on-a-Chip A DDR SDRAM controller IP core from Array Electronics, Germany (OpenIPCore General Public License) is used
Meier
14
208/MAPLD 2004
The memory controller integrated in the LEON core does not support DDR SDRAM memory.
Meier
15
208/MAPLD 2004
Meier
16
208/MAPLD 2004
DREQ
UART RS232
Main components of the test environment used for the verification of the functionality of the DMAC
Meier 17 208/MAPLD 2004
8000 7000 6000 5000 4000 3000 2000 1000 0 1 11 21 31 DMA Channels
The DMA Controller has been synthesised for a Xilinx XC2V1000 FPGA consisting of 5120 Configurable Logic Block (CLB) slices. This chart shows the consumption of CLB slices of the DMA Controller depending on number of channels.
CLB Slices
Meier
18
208/MAPLD 2004
This chart shows the theoretical (top curve) and measured transfer rate of the DMAC. These transfer rates apply to a 25 MHz system clock. The measured transfer rate is lower than the theoretical transfer rate due to the used memory configuration.
19
208/MAPLD 2004
Conclusions
A DMA controller specification for a SoC has been conceived supporting a list of typical and application-specific features. A sophisticated DMA controller has been designed. The DMA controller has been implemented successfully as a VHDL IP core. The DMA Controller has been integrated together with the LEON-2 IP core in a Xilinx Virtex-II FPGA. The functionality of DMA controller has been tested extensively. The DMAC is suitable for use with High-bandwidth Peripherals. The following CAD tools have been used:
Mentor ModelSim Synplicity Synplify XILINX Foundation ISE 5.1
Meier 20 208/MAPLD 2004