Direct memorie accses

Disponible uniquement sur Etudier
  • Pages : 7 (1529 mots )
  • Téléchargement(s) : 0
  • Publié le : 2 janvier 2011
Lire le document complet
Aperçu du document
Cycle de formation des ingénieurs en Télécommunications

Rapport de Projet

Thème :

Transfert d’une image via le contrôleur DMA et l’estimation du mouvement par la méthode SAD
Réalisé par :
Maalej Hamadi
Abid Mohamed

Classe :

INDP3_ AST

Année universitaire : 2009/2010

Table des matières
I. Objectif : 3
II. Principe de Direct Memory Access : 3
1) DéfinitionDMA : 3
2) Transfert DMA par la logique PingPong 6
III. Application : Transfert d’une image par DMA et l’estimation de mouvement par la méthode sommes des différences absolues 8
1) Etude de l’estimation de mouvement sur les images : 9
2) Implémentation sous le DSP BF533 10
Conclusion 12
-------------------------------------------------

Liste des figures :

Figure 1: Principede DMA 4
Figure 2: La logique Ping Pong dans le DMA 7
Figure 3: L'estimation de mouvement d'image 9

Objectif :
L’objectif de ce projet est de maitriser et comprendre la notion de base de « Direct Memory Access » (DMA). Puis, il s’agit de développer une application embarqué sur le DSP BF 533 avec l’outil Visual DSP++ permettant le transfert d’une image d’une mémoire externe SDRAM à lamémoire interne de ce DSP ainsi l’estimation de mouvement dans celle-ci.
Principe de Direct Memory Access :
Définition DMA :
L’accès direct à la mémoire ou DMA est une technique matérielle facilitant les opérations d’entrée-sortie, c’est-à-dire les échanges de données entre le microcontrôleur, ou le microprocesseur, et le monde extérieur. En effet, le DMA est un système qui permet d’accéder à lamémoire système sans utiliser le processeur central.
Le DMA est nécessaire dans le cas des systèmes multi tâches car en cas d’absence de DMA, le système est considéré bloqué lors de transfert des données de la mémoire. Par ailleurs, ce contrôleur assure la fonction de transfert des données sans interrompre le DSP.
En outre, le DMA se charge entièrement du transfert d’un bloc de données. Afind’exécuter cette fonction, le DSP doit initialiser l’échange en donnant au DMA l’identification du périphérique concerné, puis donner le sens du transfert (de l’extérieur vers l’intérieur ou vice vers ça). Enfin, le DSP doit fournir l’adresse du premier et de dernier mot concernés par le transfert.
Un contrôleur DMA est doté d’un registre d’adresse, d’un registre de donnée, d’un compteur etd’un dispositif de commande. Pour chaque mot échangé, le DMA demande au DSP le contrôle du bus, effectue la lecteur ou l’écriture mémoire à l’adresse contenue dans son registre et libère le bus. Ensuite, Il incrémente cette adresse et décrémente le compteur. Enfin, si le compteur atteint zéro, le DMA informe le processeur de la fin de transfert par une ligne d’interruption comme la figure 1 montre.DSP

Mémoire données +
programmes
Mémoire Données
DMA






Figure 1: Principe de DMA
Dans notre cas, le contrôleur DMA permet de lire les données d’un buffer externe (SDRAM) et les transfére vers un buffer interne. Ceci est assuré par trois fonctions :
* La fonction SetUpDMA ( int * adress_dest, int * adress_source, int cnt)sert à définir les paramètres initiaux dutransfert : cette fonction a pour but de préparer le mode de transfert de données par le DMA. En effet, elle se charge de définir la mémoire source et destination entre lesquelles le transfert de données va être effectué. Elle définit aussi, la taille de transfert et le mode de lecteur de données dans la mémoire source.

* La fonction DoDMA( void) assure la configuration des paramètres duregistre MDMA_S0_CONFIG qui à son tour assure le choix du mode de transfert et l’exécution de celui-ci en activant les canaux de transfert de données.
Exemple :
MDMA_S0_CONFIG= 0x0009 ; // 32 bit transfert and enable DMA channel
MDMA_D0_CONFIG =0x000b; // DMA is a memory write in destination


* La fonction WaitDMA (void) sert à éliminer tous conflit entre le DMAC et...
tracking img