Bonjour,
Mon probleme est que pour controlé un CNA 24 bits audio,il faut que je lui envoi des donnée de 24 bits en continu,j'ai essayé avec le bus SPI sa ne marche pas du tout.
Il me faudrais un composant capable de charger 24 bits et les resortir d'un coup,sa existe??
passage de données 8bits ->24bits en communication série
Modérateur : Modérateur
Bonjour je viens de regarder la doc de votre composant.
Le mieux a mon avis c'est de piloter l'ensemble par 3 IO. une pour la clock, l'autre pour la donnée, et la derniere pour le CS/.
Le tout mis dans un timer et vous envoyez la donnée bit a bit a chaque interrupt.
Vous configurez le timer a la vitesse idéale *2 ... un pour clock etat haut / un pour clock etat bas. Et vous écrivez la valeur du BIT correspondant sur la sortie DATA.
et vous vous arrêtez une fois les 40 interruptions faites (2 x 20bits)
Ca me semble pas trop compliqué j'avais deja émulé du SPI sur un petit PIC en assembleur, cette manipulation est facile a appliquer.
Bonne chance
Le mieux a mon avis c'est de piloter l'ensemble par 3 IO. une pour la clock, l'autre pour la donnée, et la derniere pour le CS/.
Le tout mis dans un timer et vous envoyez la donnée bit a bit a chaque interrupt.
Vous configurez le timer a la vitesse idéale *2 ... un pour clock etat haut / un pour clock etat bas. Et vous écrivez la valeur du BIT correspondant sur la sortie DATA.
et vous vous arrêtez une fois les 40 interruptions faites (2 x 20bits)
Ca me semble pas trop compliqué j'avais deja émulé du SPI sur un petit PIC en assembleur, cette manipulation est facile a appliquer.
Bonne chance
Que les petits nounours soient verts ou rouges, ils ont tous la meme couleur une fois dans l'estomac.
Re: passage de données 8bits ->24bits en communication série
Merci,c'est a peu pret ce que je vient de faire. Je n'est pas encore tester le programme, suite à plein de problème hardware^^.
D'ailleur je voudrais profiter de ta connaissance puisque tu a l'air d'avoir fait plusieurs montages électronique.
J'ai de faible tensions qui apparaisse (faible,enfin 1V beaucoup trop^^) aux bornes de certains composants et du coup mes buffers le voie en logique 1. Et sa me pourris toutes ma carte.
Alors pour te donner une idée du bazar sur la carte, il y a des fils qui passe dans tout les sens,avec des horloge de 10Mhz et de communication. Des capacité de découplage a tout les composants soit 11 sur une petit carte de 15X10,alors il parait que s'il y a trop de capacité sa fait comme un court circuit,bon j'ai pas ce problème mais j'aimerais bien connaitre ton avis la dessus.
Et ma question principale serait, est ce que par diaphonie mes horloges peuvent perturber mes composant et crée ces petits offset?
merci
D'ailleur je voudrais profiter de ta connaissance puisque tu a l'air d'avoir fait plusieurs montages électronique.
J'ai de faible tensions qui apparaisse (faible,enfin 1V beaucoup trop^^) aux bornes de certains composants et du coup mes buffers le voie en logique 1. Et sa me pourris toutes ma carte.
Alors pour te donner une idée du bazar sur la carte, il y a des fils qui passe dans tout les sens,avec des horloge de 10Mhz et de communication. Des capacité de découplage a tout les composants soit 11 sur une petit carte de 15X10,alors il parait que s'il y a trop de capacité sa fait comme un court circuit,bon j'ai pas ce problème mais j'aimerais bien connaitre ton avis la dessus.
Et ma question principale serait, est ce que par diaphonie mes horloges peuvent perturber mes composant et crée ces petits offset?
merci
Re: passage de données 8bits ->24bits en communication série
En général sur une SPI d'un microcontrôleur évolué, on peut utiliser la broche /SS (slave_select) comme ligne à usage général, il suffit alors d'envoyer
3 octets par la SPI en MASTER (soit 24bits) et de valider le transfert en utilsant /SS
Nous profitons comme cela à la foi du périphérique interne SPI du micontrôleur sans faire trop d'émulation dur des broches du port à usage général
En gros
configuation de la spi (avec /SS à usage génréral)
/SS= 0 (par exemple)
envoi d'un octet
test du drapeau de transmission
envoi d'un octet
test du drapeau de transmission
envoi d'un octet
test du drapeau de transmission
/SS=1(par exemple) pour validation du transfert
3 octets par la SPI en MASTER (soit 24bits) et de valider le transfert en utilsant /SS
Nous profitons comme cela à la foi du périphérique interne SPI du micontrôleur sans faire trop d'émulation dur des broches du port à usage général
En gros
configuation de la spi (avec /SS à usage génréral)
/SS= 0 (par exemple)
envoi d'un octet
test du drapeau de transmission
envoi d'un octet
test du drapeau de transmission
envoi d'un octet
test du drapeau de transmission
/SS=1(par exemple) pour validation du transfert