Implémentation
sous DSP de la
technique de
transfert DMA
avec la logique
Ping Pong
Réalisé par :
Imen NASR
W i n C o m 2 0 1 0 - 2 0 1 1
2
Sommaire
1. Objectif 3
2. Spécification du transfert DMA 3
2.1. La notion DMA 3
2.2. Mise en place du transfert DMA 4
2.3. La logique « Ping Pong » 4
3. Implémentation de la solution 5
3.1. Mise en oeuvre du transfert DMA 5
3.1.1. La fonction SetUpDMA 5
3.1.2. La fonction DoDMA 6
3.1.3. La fonction WaitForDMADone 6
3.2. L'implémentation de la logique Ping Pong 7
Conclusion 9
1.
Objectif
On se propose d'implémenter sous Visual DSP la technique
de transfert DMA et ce en utilisant traitement en parallèle des
données. Ce transfert sera également basé sur la logique
Ping Pong.
2. Spécification du transfert DMA
Ce paragraphe à pour but de décortique le
problème et de spécifier les besoins techniques de la solution
à implémenter.
2.1. La notion DMA
DMA est l'acronyme anglais de Direct Memory Access ce qui veut
dire un accès direct à la mémoire. Il s'agit d'un
transfert direct et bidirectionnel de données via un contrôleur
adapté entre un périphérique et la mémoire
principale de la machine. Ce procédé ne fait pas intervenir le
processeur que pour initier et conclure le transfert à travers des
interruptions.
Ainsi le transfert DMA offre un moyen plus rapide pour
l'échange de blocs de données, entre la mémoire et le
périphérique en question ou entre deux blocs de mémoire,
que la méthode classique. En effet, cette dernière fait
intervenir le processeur dans le transfert de chaque octet ;
c'est-à-dire par la lecture, l'écriture, la vérification
de la fin de l'échange et l'incrémentation d'adresses en plus du
traitement des données transférées.
En ce qui concerne la technique DMA, un autre
périphérique spécialisé se charge du transfert,
à savoir le contrôleur DMA ou le DMAC, et le processeur n'a
qu'à s'occuper du traitement de données. Le processeur donne au
DMAC les informations concernant l'échange, c'est à dire
l'adresse de début du bloc en mémoire, la taille du bloc et le
sens de l'échange et autorise l'échange.
Il y a également une introduction de la notion de
priorité vu que la mémoire n'autorise qu'un seul accès par
cycle. En fait, n'ayant pas le pouvoir d'attendre aussi longtemps que le
processeur, le DMAC est plus prioritaire en accédant à la
mémoire que le processeur. Cette technique s'appelle le vol de cycle.
4
2.2. Mise en place du transfert DMA
On se propose de transférer des données à
partir d'un périphérique de stockage externe vers la
mémoire interne du DSP.
Trois fonctions interviennent dans le transfert DMA :
· La fonction SetUpDMA pour initier le transfert de
données.
· La fonction DoDMA pour exécuter ce transfert.
· La fonction WaitForDMADone pour synchroniser le transfert
de données par le DMAC et leur traitement par le DSP.
|