8
DMA-Controller
Der ERTEC 200 besitzt einen 1-kanaligen DMA-Controller. Damit können Daten ohne zusätzliche Belastung des
ARM946E-S transferiert werden. Folgende Datentransfers sind möglich:
Note (1) Aufgrund der 1 kanaligen Struktur kann der DMA Controller bei den seriellen Schnittstellen nur eine Richtung
(Transmit oder Receive) bedienen. Bei Vollduplex-Betrieb muß die andere Richtung per Software abgearbeitet werden.
Eigenschaften des DMA-Controllers:
AHB-Master-Interface für den Transfer von Daten
•
AHB-Slave-Interface für Zugriffe des ARM946E-S auf die DMA-Register
•
4 Request-Inputs zur Synchronisierung des DMA-Controllers mit der Peripherie UART oder SPI
•
Source- und Destinationadresse müssen immer 4-Byte-Aligned sein (Bit 1:0 werden ignoriert)
•
Eine Bitbreite von 8 / 16 / 32 kann unabhängig für die Source bzw. für das Target spezifiziert werden. Dabei
•
kann die Bitbreite kleiner als die Bitbreite von Source oder Target sein.
Die zu transferierende Blockgröße wird in Anzahl von Bytes angegeben und muß zur eingestellten Busbreite
•
aligned sein. D.h. ist eine Busbreite von 32Bit Bytecount füt Target oder Source parametriert, kann nur ein
Bytecount mit 4 Byte aligned verwendet werden.
Changed-Adress-Mode/Hold-Adress-Mode muß für Source und Target jeweils einzeln eingestellt werden.
•
Synchronisationssignale von UART und SPI für DMA-Transfers:
Beschreibung der Adress-Modes:
Change-Adress-Mode:
•
Inkrementieren oder dekrementieren der Target- und/oder Sourceadresse nach jedem Transfer (Byte, 2 Byte, 4
Byte). Entsprechend der transferierten Bytes wird der Bytezähler inkrementiert oder dekrementiert.
Hold-Adress-Mode:
•
In diesem Mode ist die Target- oder Source-Adresse fix.
Der DMA-Transfer kann von der Software über ein DMA-Control-Register oder von einem
Hardwaresignal initiiert werden
Softwaresteuerung:
Mit Schreiben auf das DMA-Konfigurationsregister Bit Start/Abort kann der Transfer gestartet bzw.
gestoppt werden.
Hardwaresteuerung:
Die Steuerung der Datentransfers erfolgt durch Aktivierung des Synchronisationssignales (siehe
Tabelle „Peripherie-Synchronisationssignale"). Sobald das Sync-Signal deaktiviert wird, stoppt der
DMA-Controller den Transfer. Mit der nächsten Aktivierung des Sync-Signales wird der Datentransfer
vom DMA-Controller fortgesetzt.
Nach Beendigung des DMA-Transfers erfolgt ein DMA_INTR Interrupt. Beim Transfer zum UART oder
SPI erfolgt der Interrupt nach Übergabe des letzten Bytes.
Copyright © Siemens AG 2010. All rights reserved.
Änderungen vorbehalten
SOURCE
TARGET
Peripheral
Memory
(1)
Memory
Peripheral
Peripheral
Peripheral
(1)
Memory
Memory
Tabelle 30: DMA-Transfermodi
SOURCE
SPI1_SSPRXDMA
SPI1_SSPTXDMA
UART_UARTRXINTR
UART_UARTTXINTR
Tabelle 31: Peripherie-Synchronisationssignale
SYNCHRONISATION
Source
Target
(1)
Source and Target
(1)
None
BESCHREIBUNG
RX-FIFO not empty
TX-FIFO empty
UART Receive Interrupt
UART Transmit Interrupt
84
ERTEC 200 Handbuch
Version 1.1.2