codeur binaire naturel => gray

Mar 03, 2011 22 Replies

Bonjour,



Décroché de l'électronique depuis 10 ans, j'ai un petit montage opto à faire pour mon asso. Que conseillez-vous comme circuit(s) de codage binaire naturel -> Gray ?



Merci


Stéphane Jeune Chambre Economique de Saintes *** http://www.jce-saintes.org Agitateurs d'idées... accélérateurs de talents ! BTS Electrotechnique *** http://enselec.santonum.eu

Stéphane Santon a ecrit

bonjour Sur quelle resolution (N bits ? ) sur quelle FMax de changements d'etats ? Il doit peut etre exister du ONchip, mais apres voir le sourcage et la dispo

AMHA un µcont (PIC, AVR ou autre) dedié doit etre la solution la plus rapide à mettre en oeuvre. du code pour BCDGRAY ça court le net soit en dur (pointeur IN----->OUT) , soit en calcul RT Rvl

Stéphane Santon a ecrit

bonjour Sur quelle resolution (N bits ? ) sur quelle FMax de changements d'etats ? Il doit peut etre exister du ONchip, mais apres voir le sourcage et la dispo

AMHA un µcont (PIC, AVR ou autre) dedié doit etre la solution la plus rapide à mettre en oeuvre. du code pour B (BCD) GRAY ça court le net soit en dur (pointeur IN----->OUT) , soit en calcul RT Rvl

Oupss... oui : 5 bits environ à moins de 100 Hz. uC trop long à re-rentrer dans la prog.

En logique câblée svp...

Merci

rvlegran a écrit :

Stéphane Jeune Chambre Economique de Saintes *** http://www.jce-saintes.org Agitateurs d'idées... accélérateurs de talents ! BTS Electrotechnique *** http://enselec.santonum.eu

"Stéphane Santon" a écrit dans le message de news: snipped-for-privacy@team-santonum.com...

S'il vous reste une antique EPROM dans vos tiroirs c'est surement le plus simple : Code binaire d'entrée sur le bus d'addresse, code gray correspondant programmé dans l'EPROM et sorti sur le bus de donnée, l'EPROM étant toujours en lecture.

Cordialement, Robert

Stéphane Santon a ecrit

Alors voir et cascader 2 7486 (N=5) mais franchement c'est usine à gaz comparé à un petit µC "basique" avec clock embarquée qui ne ferait que du pointage I/O RvL

"Robert Lacoste" a écrit dans le message de news: 4d6f87eb$0$7701$ snipped-for-privacy@reader.news.orange.fr...

Autre solution sinon : avec des XOR :

formatting link

Robert Lacoste a ecrit

Bonjour Robert oui bien evidemment mais je crois que là l'objection naturelle va etre : "je n'ai pas le matos pour faire la prog " :oÞ

Rvl

Robert Lacoste a écrit :

Merci !

Naturellement pas de matériel spécifique (à part le fer à souder...)

Donc je me repalluche une table de vérité pour l'avoir à 5 bits...

Stef

Stéphane Jeune Chambre Economique de Saintes *** http://www.jce-saintes.org Agitateurs d'idées... accélérateurs de talents ! BTS Electrotechnique *** http://enselec.santonum.eu

Et un petit soft sur lequel on rentre une table de vérité à 5 entrées /

5 sorties et qui sort les équations ??

Doit bien exister maintenant ?

Stéphane Santon a écrit :

Stéphane Jeune Chambre Economique de Saintes *** http://www.jce-saintes.org Agitateurs d'idées... accélérateurs de talents ! BTS Electrotechnique *** http://enselec.santonum.eu

Stéphane Santon a ecrit

Faut vraiment tout fer ici ! ;o)

par curiosité c'est pour (re)interfacer quoi ? Rvl

rvlegran a écrit :

Merci :-)

C'est pour faire un minuteur pour synchroniser les images de plusieurs caméscopes à la prise de vue et faciliter le montage vidéo.

Donc en plus des H:M:S, je mets 5 leds (1/32 sec) pour synchroniser les images et n'avoir qu'une led qui change à la fois.

Stéphane Jeune Chambre Economique de Saintes *** http://www.jce-saintes.org Agitateurs d'idées... accélérateurs de talents ! BTS Electrotechnique *** http://enselec.santonum.eu

rvlegran a écrit :

Humm...

5 entrées mais une seule sortie, pas vraiment optimisé pour le câblage complet...
Stéphane Jeune Chambre Economique de Saintes *** http://www.jce-saintes.org Agitateurs d'idées... accélérateurs de talents ! BTS Electrotechnique *** http://enselec.santonum.eu

Stéphane Santon a ecrit

C'est aujourd'hui Le time code du "pauvre" en quelque sorte ;o) Mais procédé largement utilisé et tres bien eprouvé dans le passé pas si lointain

Rvl

rvlegran a écrit :

Exact. Et les riches, ils ont la synchro sur des caméscopes grand public ?

Stéphane Jeune Chambre Economique de Saintes *** http://www.jce-saintes.org Agitateurs d'idées... accélérateurs de talents ! BTS Electrotechnique *** http://enselec.santonum.eu

"Stéphane Santon" a écrit dans le message de news: snipped-for-privacy@team-santonum.com...

Bonjour, avec 4 XOR ça marche

E' = E D'=E XOR D C' = D XOR C B' = C XOR B A' = B XOR A

Michel

Bonjour,

michel ou sam a écrit :

Super ! Je n'étais pas sûr que les suites de 3 XOR sur 4 bits étaient strictement reproductibles avec simplement 4 XOR sur 5 bits.

C'est donc bien la méthode câblée la plus simple : 1 seul CI logique 4x

2 entrées...

Merci :-)))))))))))))

Stéphane Jeune Chambre Economique de Saintes *** http://www.jce-saintes.org Agitateurs d'idées... accélérateurs de talents ! BTS Electrotechnique *** http://enselec.santonum.eu

Le 03/03/2011 13:36, Stéphane Santon a écrit :

Bonjour,

vu le nombre de bits, soit je prendrai une eprom (ça tombe bien je viens de développer mon programmateur d'eprom !) soit un pic avec une table, le programme est hyper simple tient en qq lignes:

loop: movf porta,w andlw d'00011111' ; par sécurité call table movwf portb goto loop

table: addwf PCL,f retlw d'00000' retlw d'00001' retlw d'00011' etc...

le plus long c'est d'écrire le code gray dans la table !

le temps de réponse est qq micro-secondes, donc très largement assez rapide!

JJ

On Mar 3, 1:36=A0pm, St=E9phane Santon

Pour convertir B (Binaire) en G (Gray)

G =3D ( B XOR (2*B) ) / 2;

En C cela s'=E9crit en une seule ligne : si ton programme fait cela =E0 la vol=E9e tu n'as pas besoin du tout de table; pour =EAtre plus rapide il faut une table.

// Conversion =E0 la vol=E9e

sortie =3D (entree ^ (entree > 1;

// Conversion avec table

sortie =3D Table[ entree & 0x1F ];

// Table Binaire -> Gray sur 5 bits

const unsigned char Table[] =3D {

0x00,0x01,0x03,0x02,0x06,0x07,0x05,0x04, 0x0C,0x0D,0x0F,0x0E,0x0A,0x0B,0x09,0x08, 0x18,0x19,0x1B,0x1A,0x1E,0x1F,0x1D,0x1C, 0x14,0x15,0x17,0x16,0x12,0x13,0x11,0x10 };

On Mar 3, 12:25 pm, St=E9phane Santon

Habituellement c'est l'entr=E9e qui est cod=E9e en Gray pour =E9viter les glitches. Es-tu bien s=FBr que ce dont tu as besoin n'est pas une conversion Gray -> Binaire et non l'inverse ?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required