Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/03/2008, à 18:39

ziad

vhdl

Mon problème est le suivant :

je doit réaliser un interface de communication entre deux blocs :un décodec et un processus .

1)le décodec (audio):d'un part il reçoit  les informations sous format  analogique et les transformer en une format numérique pour les envoyer au processus qui va les traiter .et d'autre part il reçoit des données numérique venant du processus pour les transmettre à la sortie analogique
2)un processus qui traite les données venant du codec puis les renvoyer au codec

le travaille que je doit réaliser consiste à faire un programme en VHDL pour assurer la communication entre le codec et le processus ,avec l'utilisation de Wishbone bus .

d'abords pour le codec je doit configurer tout ses registres pour une fonctionnement choisie (choix : du gain ,type d'entré et de sortie,fréquence de l'horloge,...... )
un cycle de transfert est constitué de 256 coup d'horloge BCLK
lors de cette période le codec ne doit pas lire les données venant de processus .il doit juste lire les données de configurations des registres ses données sont stockés sur un bloc de 16 bites (16 coup d'horloge) dans le première bloc (16 bits) on trouve le 1 ere bite pour indiqué soit une opération
de lire(0) ou d écriture (1) dans le deuxième et le troisième la dresse de codec (00 dans ce cas puisque il y a qu'un seul codec ) puis dans les 8 bits qui suit le numéro de registre et les 5 bites qui restes ne sont pas utilisées .

dans le deuxième bloc de 16 bites on trouve les données à écrire dans le registre. il y a que les 8 premières bites qui sont valides les 8 bites qui restent ne sont pas valides

le reste des slot time (voire la figure) ne sont pas utilisée lors de cette période

le figure suivant explique le fonctionnement de transfert des données



   pour faire mon schémas bloc contient :

1)un multiplexeur pour la sélection des registres et les  données à écrire sur le registres 

2)un registre à décalage de 16 bits pour transférer les données bits par bits au codec

3)un compteur (4 bits ) pour compter BCLK

mais j'ai un problème de synchroniser tout ça pour un bon fonctionnements et aussi je ne sais pas bien utiliser les signaux de wishbone pour gérer la communication  entre le codec et le processus .

j'attends vous propositions .

Hors ligne