SlideShare a Scribd company logo
Meier 208/MAPLD 2004
1
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 208/MAPLD 2004
2
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 208/MAPLD 2004
3
Current SSTL OBC:
• Dimensions:
330 mm  330 mm
• Weight: 1700 g
On-Board Computer of SSTL Micro-Satellites
Miniaturised Credit-Card Size OBC:
• Dimensions:
85 mm  54 mm
• Weight: 50 g
Meier 208/MAPLD 2004
4
System-on-a-Chip On-Board Computer
• The credit-card size satellite OBC consists of a series of IP
cores, implemented on a space qualified FPGA as the
following:
– LEON-2 CPU
– Math Co-processor
– DMA Controller
– CAN Controller
– EDAC Unit
– HDLC Interface
– RS422 Interface
– SpaceWire Interface
– Boot Loader
• Additionally the OBC has some other components as memory,
voltage regulator and transceivers.
Meier 208/MAPLD 2004
5
Structure of a Credit-Card-Sized
On-Board Computer
Onboard Computer
System on Chip /
FPGA
Memory
Controller
Timers IRQCtrl
UART
DMA
Controller
AHB/APB
Bridge
AMBA AHB
32bit Data bus
Data Memory Parity Memory
CAN
Controller
HDLC
Controller
SpaceWire
Controller
AMBA APB
FPU
HDLC
Controller
CAN
Switch
Leon CPU
EDAC
Controller
Boot
PROM
SDRAM
SDRAM
Address/Control bus
RS422 SpaceWire
HDLC1
Up/Downlink
HDLC0
Up/Downlink CAN0 CAN1
Dual CAN
transceiver
1.5V Linear
Regulator
+3.3V
+3.3V +1.5V
CLK
Generator
Configuration
PROM
JTAG
I/O port
PPS out
PPS in
Meier 208/MAPLD 2004
6
Credit-Card Size OBC System
Requirements:
Power consumption: 2W
Mass: 50g
Size: 85mm 
54mm
Temperature range:
–20°C to +50°C
Xilinx XQR2V3000
3 x 106
sys. gates; 1.5 V
Actel RTAX2000S
2 x 106
sys. gates; 1.5 V
Candidate FPGAs:
85
54
FPGA
Space for
Connectors
1.5V
Regulator
Cock Generator
PROM
SDRAM
16MByte
Dual CAN transceiver
SDRAM
16MByte
SDRAM
16MByte
SDRAM
16MByte
Meier 208/MAPLD 2004
7
Purpose of a DMA Controller
• The credit-card size satellite OBC has several high data rate
interfaces:
– There is, for instance, a SpaceWire interface with a data rate up to
400 Mbit/s to connect to other devices.
– Another interface is High Data Link Control (HDLC) with with up to
10 Mbit/s for up- and downlink to the ground station.
• 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
8
Minimal System with a DMA Controller
Request
Peripheral
Device
DMA
Controller
Memory
Acknowledge
CPU
On-Chip-Bus
Interrupt
Bus
Arbiter
Meier 208/MAPLD 2004
9
Operating Sequence of a DMA Transfer
• To perform a DMA transfer the CPU:
– allocates a memory block and assigns it to the DMAC;
– writes the transfer mode and the address of the peripheral device to the
DMAC registers;
– waits for DMA request from the peripheral after configuring the
DMAC.
• 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 208/MAPLD 2004
10
Main Features of the DMA Controller (I)
• The DMAC will be designed for an AMBA AHB 2.0 bus with
a big-endian data format.
• The DMAC is configurable for each valid AHB data bus width
from 32 bits up to 1024 bits.
• The DMAC has several independent DMA channels. The
number of these channels is configurable from 1 up to 31.
• The DMAC executes only dual-access transfers using an
internal memory organised as FIFO.
• The DMAC supports single transfers as well as a block
transfer.
– Single transfer consists of a read burst and a subsequent write burst.
– A block transfer consists of several successive single transfers.
• The burst length as well as the number of transfers is
programmable.
Meier 208/MAPLD 2004
11
Main Features of the DMA Controller (II)
• The data width of a transfer is programmable from 8 bits up to
the data bus width in steps of powers to the base of two (8 bits,
16 bits, …, 1024 bits).
• The controller supports all four possible kinds of transfer
– Peripheral  Memory
– Memory  Peripheral
– Peripheral  Peripheral
– Memory  Memory
• 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 208/MAPLD 2004
12
Main Features of the DMA Controller (III)
• A peripheral device can break a block by asserting an “end of
process” signal, EOP.
• The controller can generate an interrupt request signals on four
different events:
– When a block transfer is completed.
– When a peripheral breaks a block transfer by asserting the signal EOP.
– When a programmed number of single transfers are completed.
– When an error has occurred during the transfer.
Meier 208/MAPLD 2004
13
Channel
Arbiter
Channel 0
DACK0
EOP0
DREQ0
APB Slave
Interface
General
Register
Channel 1
Channel n
DACK1
EOP1
DREQ1
DACKn
EOPn
DREQn
Multiplexer
AMBA AHB
DMA
Engine
Interrupt
AMBA APB
DMA
Handshake
Signals
Structure of the DMA Controller Core
Meier 208/MAPLD 2004
14
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 208/MAPLD 2004
15
The memory controller integrated in the LEON
core does not support DDR SDRAM memory.
LEON-2 IP Core and DDR SDRAM
Meier 208/MAPLD 2004
16
To be able to use the Memec development
board with the LEON-2 IP core some glue
logic had to be developed in order to
adjust the DDR SDRAM controller from
Array Electronics to the SRAM interface
of the LEON-2 IP core.
DDR SDRAM Controller
LEON DDR SDRAM controller
Glue Logic DDR SDRAM
controller from
Array
Electronics
Data(15:0)
Addr(12:0)
BA(1:0)
DQS(1:0)
CSn
RASn
WEn
CLKE
CLK
CLKn
DM(1:0)
RESETn
RAM_CLK
CPU_CLK
brdyn
data_out(31:0)
data_in(31:0)
address(27:0)
ramsn
ramoen
LEON-2
SRAM
interface
DDR
SDRAM
Interface
Meier 208/MAPLD 2004
17
RS232
System-on-a-Chip with LEON-2 Processor
UART
DMA
Controller
CPU
DREQ
AMBA AHB
Memory
Controller
AHB/APB
Bridge
AMBA APB
Main components of the test environment used for
the verification of the functionality of the DMAC
DMA Controller - Integration Test
Meier 208/MAPLD 2004
18
FPGA Resource Consumption
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.
0
1000
2000
3000
4000
5000
6000
7000
8000
1 11 21 31
DMA Channels
CLB
Slices
Meier 208/MAPLD 2004
19
Transfer Rate of the DMA Controller
0
50
100
150
200
250
300
350
400
1 32
Burst Length
Transfer
Rate
in
units
of
Mbits/sec 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.
Meier 208/MAPLD 2004
20
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

More Related Content

PPTX
Programmable dma controller 8237
PPTX
eMMC Embedded Multimedia Card overview
PPT
PIC32MX Microcontroller Family
PPT
An Overview of LPC2101/02/03
PDF
ASTROSAT SSR - 2015-05-15
PPTX
RFID Based Toll Gate System
PPT
Introduction to i.MX27 Multimedia Applications Processors
PPT
Microchip's 16-bit and 32-bit PIC MCUs
Programmable dma controller 8237
eMMC Embedded Multimedia Card overview
PIC32MX Microcontroller Family
An Overview of LPC2101/02/03
ASTROSAT SSR - 2015-05-15
RFID Based Toll Gate System
Introduction to i.MX27 Multimedia Applications Processors
Microchip's 16-bit and 32-bit PIC MCUs

Similar to PPT on DMA controller 82577 for Btech 4 sem (20)

PPT
Dsp ajal
PPTX
soc ip core based for spacecraft application
PPTX
PPTX
Overview of Microcontroller and ATMega32 microcontroller
PPT
8051 Presentation
PPTX
Steen_Dissertation_March5
PPT
Study on 32-bit Cortex - M3 Powered MCU: STM32F101
PDF
Module 3 special purpose programmable devices and their interfacing
PPTX
8257 DMA Controller
PDF
microcontroller 8051 17.07.2023.pdf
PDF
2014 ii c08t-sbc pic para ecg
PPTX
an advance approach to divert trafiic at busy signals using rfid technolgy
PPT
Introducing OMAP-L138/AM1808 Processor Architecture and Hawkboard Peripherals
PPT
MPC854XE: PowerQUICC III Processors
PPT
STM32 MCU Family
PPT
Familiarization with instrumentation used for reactor core temperature
PDF
An entire concept of embedded systems entire ppt
PDF
An Entire Concept of Embedded systems
PDF
Introduction to intel galileo board gen2
PDF
CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019)
Dsp ajal
soc ip core based for spacecraft application
Overview of Microcontroller and ATMega32 microcontroller
8051 Presentation
Steen_Dissertation_March5
Study on 32-bit Cortex - M3 Powered MCU: STM32F101
Module 3 special purpose programmable devices and their interfacing
8257 DMA Controller
microcontroller 8051 17.07.2023.pdf
2014 ii c08t-sbc pic para ecg
an advance approach to divert trafiic at busy signals using rfid technolgy
Introducing OMAP-L138/AM1808 Processor Architecture and Hawkboard Peripherals
MPC854XE: PowerQUICC III Processors
STM32 MCU Family
Familiarization with instrumentation used for reactor core temperature
An entire concept of embedded systems entire ppt
An Entire Concept of Embedded systems
Introduction to intel galileo board gen2
CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019)
Ad

Recently uploaded (20)

PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
composite construction of structures.pdf
PPTX
OOP with Java - Java Introduction (Basics)
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
Geodesy 1.pptx...............................................
PDF
Digital Logic Computer Design lecture notes
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PPTX
Current and future trends in Computer Vision.pptx
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
CH1 Production IntroductoryConcepts.pptx
DOCX
573137875-Attendance-Management-System-original
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PPT
Project quality management in manufacturing
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PDF
Well-logging-methods_new................
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
composite construction of structures.pdf
OOP with Java - Java Introduction (Basics)
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Internet of Things (IOT) - A guide to understanding
Geodesy 1.pptx...............................................
Digital Logic Computer Design lecture notes
CYBER-CRIMES AND SECURITY A guide to understanding
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
Current and future trends in Computer Vision.pptx
Lecture Notes Electrical Wiring System Components
CH1 Production IntroductoryConcepts.pptx
573137875-Attendance-Management-System-original
bas. eng. economics group 4 presentation 1.pptx
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
Project quality management in manufacturing
R24 SURVEYING LAB MANUAL for civil enggi
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Well-logging-methods_new................
Ad

PPT on DMA controller 82577 for Btech 4 sem

  • 1. Meier 208/MAPLD 2004 1 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
  • 2. Meier 208/MAPLD 2004 2 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.
  • 3. Meier 208/MAPLD 2004 3 Current SSTL OBC: • Dimensions: 330 mm  330 mm • Weight: 1700 g On-Board Computer of SSTL Micro-Satellites Miniaturised Credit-Card Size OBC: • Dimensions: 85 mm  54 mm • Weight: 50 g
  • 4. Meier 208/MAPLD 2004 4 System-on-a-Chip On-Board Computer • The credit-card size satellite OBC consists of a series of IP cores, implemented on a space qualified FPGA as the following: – LEON-2 CPU – Math Co-processor – DMA Controller – CAN Controller – EDAC Unit – HDLC Interface – RS422 Interface – SpaceWire Interface – Boot Loader • Additionally the OBC has some other components as memory, voltage regulator and transceivers.
  • 5. Meier 208/MAPLD 2004 5 Structure of a Credit-Card-Sized On-Board Computer Onboard Computer System on Chip / FPGA Memory Controller Timers IRQCtrl UART DMA Controller AHB/APB Bridge AMBA AHB 32bit Data bus Data Memory Parity Memory CAN Controller HDLC Controller SpaceWire Controller AMBA APB FPU HDLC Controller CAN Switch Leon CPU EDAC Controller Boot PROM SDRAM SDRAM Address/Control bus RS422 SpaceWire HDLC1 Up/Downlink HDLC0 Up/Downlink CAN0 CAN1 Dual CAN transceiver 1.5V Linear Regulator +3.3V +3.3V +1.5V CLK Generator Configuration PROM JTAG I/O port PPS out PPS in
  • 6. Meier 208/MAPLD 2004 6 Credit-Card Size OBC System Requirements: Power consumption: 2W Mass: 50g Size: 85mm  54mm Temperature range: –20°C to +50°C Xilinx XQR2V3000 3 x 106 sys. gates; 1.5 V Actel RTAX2000S 2 x 106 sys. gates; 1.5 V Candidate FPGAs: 85 54 FPGA Space for Connectors 1.5V Regulator Cock Generator PROM SDRAM 16MByte Dual CAN transceiver SDRAM 16MByte SDRAM 16MByte SDRAM 16MByte
  • 7. Meier 208/MAPLD 2004 7 Purpose of a DMA Controller • The credit-card size satellite OBC has several high data rate interfaces: – There is, for instance, a SpaceWire interface with a data rate up to 400 Mbit/s to connect to other devices. – Another interface is High Data Link Control (HDLC) with with up to 10 Mbit/s for up- and downlink to the ground station. • 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.
  • 8. Meier 208/MAPLD 2004 8 Minimal System with a DMA Controller Request Peripheral Device DMA Controller Memory Acknowledge CPU On-Chip-Bus Interrupt Bus Arbiter
  • 9. Meier 208/MAPLD 2004 9 Operating Sequence of a DMA Transfer • To perform a DMA transfer the CPU: – allocates a memory block and assigns it to the DMAC; – writes the transfer mode and the address of the peripheral device to the DMAC registers; – waits for DMA request from the peripheral after configuring the DMAC. • 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.
  • 10. Meier 208/MAPLD 2004 10 Main Features of the DMA Controller (I) • The DMAC will be designed for an AMBA AHB 2.0 bus with a big-endian data format. • The DMAC is configurable for each valid AHB data bus width from 32 bits up to 1024 bits. • The DMAC has several independent DMA channels. The number of these channels is configurable from 1 up to 31. • The DMAC executes only dual-access transfers using an internal memory organised as FIFO. • The DMAC supports single transfers as well as a block transfer. – Single transfer consists of a read burst and a subsequent write burst. – A block transfer consists of several successive single transfers. • The burst length as well as the number of transfers is programmable.
  • 11. Meier 208/MAPLD 2004 11 Main Features of the DMA Controller (II) • The data width of a transfer is programmable from 8 bits up to the data bus width in steps of powers to the base of two (8 bits, 16 bits, …, 1024 bits). • The controller supports all four possible kinds of transfer – Peripheral  Memory – Memory  Peripheral – Peripheral  Peripheral – Memory  Memory • 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.
  • 12. Meier 208/MAPLD 2004 12 Main Features of the DMA Controller (III) • A peripheral device can break a block by asserting an “end of process” signal, EOP. • The controller can generate an interrupt request signals on four different events: – When a block transfer is completed. – When a peripheral breaks a block transfer by asserting the signal EOP. – When a programmed number of single transfers are completed. – When an error has occurred during the transfer.
  • 13. Meier 208/MAPLD 2004 13 Channel Arbiter Channel 0 DACK0 EOP0 DREQ0 APB Slave Interface General Register Channel 1 Channel n DACK1 EOP1 DREQ1 DACKn EOPn DREQn Multiplexer AMBA AHB DMA Engine Interrupt AMBA APB DMA Handshake Signals Structure of the DMA Controller Core
  • 14. Meier 208/MAPLD 2004 14 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
  • 15. Meier 208/MAPLD 2004 15 The memory controller integrated in the LEON core does not support DDR SDRAM memory. LEON-2 IP Core and DDR SDRAM
  • 16. Meier 208/MAPLD 2004 16 To be able to use the Memec development board with the LEON-2 IP core some glue logic had to be developed in order to adjust the DDR SDRAM controller from Array Electronics to the SRAM interface of the LEON-2 IP core. DDR SDRAM Controller LEON DDR SDRAM controller Glue Logic DDR SDRAM controller from Array Electronics Data(15:0) Addr(12:0) BA(1:0) DQS(1:0) CSn RASn WEn CLKE CLK CLKn DM(1:0) RESETn RAM_CLK CPU_CLK brdyn data_out(31:0) data_in(31:0) address(27:0) ramsn ramoen LEON-2 SRAM interface DDR SDRAM Interface
  • 17. Meier 208/MAPLD 2004 17 RS232 System-on-a-Chip with LEON-2 Processor UART DMA Controller CPU DREQ AMBA AHB Memory Controller AHB/APB Bridge AMBA APB Main components of the test environment used for the verification of the functionality of the DMAC DMA Controller - Integration Test
  • 18. Meier 208/MAPLD 2004 18 FPGA Resource Consumption 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. 0 1000 2000 3000 4000 5000 6000 7000 8000 1 11 21 31 DMA Channels CLB Slices
  • 19. Meier 208/MAPLD 2004 19 Transfer Rate of the DMA Controller 0 50 100 150 200 250 300 350 400 1 32 Burst Length Transfer Rate in units of Mbits/sec 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.
  • 20. Meier 208/MAPLD 2004 20 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