Casse-tête. - Page 3

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From French to

Threaded View
Re: Casse-tête.
On 14 oct, 20:34, jj

Quoted text here. Click to load it


Oui, tous les esclaves sont toujours E0% l'E9%coute du bus.


Quoted text here. Click to load it

Attention : pour l'instant on parle de l'install du systE8%me,
cette la phase de numE9%rotation ne dure que le temps
que chaque esclave ait obtenu son identifiant unique.
A ce moment-lE0%, plus personne ne rE9%pond aux trames
proposant un numE9%ro d'attribution, donc le maitre
sait que tous les esclaves ont obtenu un identifiant.

Une fois que c'est fait, on passe en phase d'exploitation,
et lE0% il n'y a plus besoin de messages de ce type.


Quoted text here. Click to load it

Seul le maitre prend l'initiative d'envoyer un message,
les esclaves n'envoient jamais de message (d'eux-mEA%mes)
sauf en rE9%ponse E0% une requE8%te explicite du maitre.

Si je comprends bien ta remarque :
en cas de plantage d'une carte, celle-ci ne rE9%pondra plus
aux requE8%tes du maitre (genre rE9%cup des donnE9%es de l'esclave)
donc le maitre saura bien que cette carte est HS
et pourra remonter l'information plus haut.
( et dans ce cas inutile d'essayer de rE9%attribuer un NB0%
E0% cet esclave, puisqu'il est plantE9% il ne rE9%pondra pas)


Quoted text here. Click to load it

Je le crois aussi.

( j'en profite pour remercier ceux qui ont bien voulu
dE9%monter cet algo par tous les moyens imaginables
... mEA%me si la question reste ouverte )

Re: Casse-tête.
Le 14/10/2011 21:06, Jean-Christophe a écrit :
Quoted text here. Click to load it


oui, tu peux inclure un processus de pooling permanent pour être sur de
ne pas perdre le contact.

j'ai réalisé il y a longtemps un protocole avec 16 micros et un PC, et
j'envoyais les infos "utiles" au plus vite, et j'avais une boucle de
rafraichissement en idle qui pouvait rafraichir les esclaves
déconnectés. Il s'agissait d'entrées sorties déportées.

pour la tempo aléatoire, il existe probablement ton ton UC (possède
certainement des registres 'timer' que tu pourras laisser tourner à
vide, tu auras un beau nombre aléatoire en lisant ce timer !

JJ

Re: Casse-tête.
On 14 oct, 23:04, jj

Quoted text here. Click to load it

Si un esclave est dE9%connectE9% du bus,
je ne vois pas comment tu le rafraichirais ?

Quoted text here. Click to load it

Ah non, la valeur ne sera pas alE9%atoire du tout.
( j'ai l'impression que tu ne lis pas tous les messages,
ou qu'ils n'apparaissent pas tous sur ton lecteur,
l'idE9%e d'utiliser un timer date d'hier E0% 18h43 )
 | On 14 oct, 18:43, Jean-Christophe :
 | Lire un free running timer interne au uP,
 | E0% la mise sous tension des cartes leurs montE9%es
 | de tension respectives ne peut pas se faire exactement
 | en mEA%me temps ( E0% l'E9%chelle de temps du cycle d'horloge )
 | Donc, mEA%me E0% quelques ms prE8%s, des compteurs 32 bits
 | qui tournent E0% quelques dizaines de MHz auront
 | forcE9%ment des valeurs trE9%s diffE9%rentes ...
http://groups.google.com/group/fr.sci.electronique/msg/1155eb691cd8c0ae

L'important est que les gE9%nE9%rateurs pseudo-alE9%atoires de
diffE9%rents esclaves aient une valeur de *dE9%part* diffE9%rente,
pour assurer leur dE9%synchronisation.

Re: Casse-tête.
Le 15/10/2011 11:48, Jean-Christophe a écrit :
Quoted text here. Click to load it

sir ce compteur tourne assez vite, il est peu probable que deux cartes
soient synchronisées.

C'est un concept que j'ai utilisé il y a très longtemps et qui marche
très bien.

jj

Re: Casse-tête.
On 16 oct, 01:07, jj

Quoted text here. Click to load it


C'est bien le but.

Quoted text here. Click to load it

Ok.
Peux-tu peux donner plus de dE9%tails ?
Par exemple, combien de bits par compteur,
et l'E9%cart moyen entre diffE9%rents compteurs ?

Re: Casse-tête.
Le 16/10/2011 13:15, Jean-Christophe a écrit :
Quoted text here. Click to load it

c'était sur un PC, il y a avait un timer qui tournait à plus du mhz. je
m'en servais pour mesurer des ecarts de temps, et comme générateur
aléatoire. je faisais un accès direct à aux ports, c'était 2 mots de 8
bits, de mémoire (il faudrait que je regarde ma vieille bible PC)

sur un microcontroleur, tu as des timers que tu peux faire tourner assez
vite aussi, à condition qu'ils soient libres.

JJ

Re: Casse-tête.
On 16 oct, 22:03, jj

Quoted text here. Click to load it

Via un appel E0% l'interruption 0x1A qui
retourne dans CX:DX le timer systE8%me ?
 xor  ah,ah
 int  1Ah
Ou par lecture directe E0% l'adresse 0:046C ?
Mais ca ne tourne qu'E0% 18,2 Hertz ...

Re: Casse-tête.
On 14 oct, 17:59, Jean-Christophe

Quoted text here. Click to load it


Il y a mEA%me plus simple sans zener ni ADC :
lire un free running timer interne au uP.
A la mise sous tension des cartes leurs montE9%es
de tension respectives ne peut pas se faire exactement
en mEA%me temps ( E0% l'E9%chelle de temps du cycle d'horloge )
Donc, mEA%me E0% quelques ms prE8%s, des compteurs 32 bits
qui tournent E0% quelques dizaines de MHz auront
forcE9%ment des valeurs trE9%s diffE9%rentes ... ok ?


Re: Casse-tête.
Jean-Christophe a tapoté du bout de ses petites papattes :
Quoted text here. Click to load it

J'avais pensé à un truc comme ça, mais je ne savais pas si tu disposais
d'un compteur sur la carte/le proc. Sinon le principe me semble valide.

--
LeLapin



Re: Casse-tête.
Jean-Christophe a tapoté du bout de ses petites papattes :
Quoted text here. Click to load it

Si t'as un ADC sur ton proc (je suppose que c'est un µC) et qu'il n'est
ni filtré ni à trop faible impédance, c'est pas mal. Y'a pas mieux que
du bruit blanc pour faire de l'aléatoire. En plus tu peux faire le test
en quelques minutes pour voir si ton entrée d'ADC ne tue pas le bruit.

Tiens nous au courant, j'imagine que le besoin d'un nombre vraiment
aléatoire sur un µC n'est pas si rare qu'on le pense.

--
LeLapin



Re: Casse-tête.
On 14 oct, 19:51, LeLapin

| Et si je branche une pinouille d'entrC3%A9e ADC
| sur une zener polarisC3%A9e dans son coude
| histoire d'avoir un bon niveau de bruit,
| et que je convertis cette tension en
| un entier qui servira de valeur de dC3%A9part :
| lC3%A0 j'aurais une proba trC3%A9s faible d'avoir plus
| d'une carte qui dC3%A9marre sur la mC3%AAme valeur ?

Quoted text here. Click to load it

Oui c'est un uC avec des ADC (de 10 C3%A0 16 bits, chais pu)


Quoted text here. Click to load it

Le fait est que sur ce uC l'impC3%A9dance d'entrC3%A9e
des ADC n'est pas si C3%A9levC3%A9e que ca (quelques kCE%A9
environ, et bien sC3%BBr il y a des capas parasites)
donc le signal sera attC3%A9nuC3%A9 et filtrC3%A9 en passe-bas.
D'autre part la dynamique du bruit de zener sera
assez faible et je n'aurai qu'un delta de quelques
bits par rapport C3%A0 la pleine C3%A9chelle de l'ADC ;
donc une amplification est indispensable en plus
d'une impC3%A9dance C3%A9levC3%A9e : un seul FET suffirait.
Avant tout, la seule chose qui compte est que les
signaux de diffC3%A9rentes cartes soient dC3%A9corrC3%A9lC3%A9s ;
pour ca, le bruit blanc est idC3%A9al puisque sa
fonction d'auto-corrC3%A9lation est un Dirac !
(sauf que lC3%A0, le bruit ne sera pas blanc, mais colorC3%A9)

Mais je ne veux pas non plus commencer C3%A0
ajouter trop de hard, sinon c'est l'engrenage.
Faut voir si le coup du timer est d'assez bonne qualitC3%A9.


| Il y a mC3%AAme plus simple sans zener ni ADC :
| lire un free running timer interne au uP.
| A la mise sous tension des cartes leurs montC3%A9es
| de tension respectives ne peut pas se faire exactement
| en mC3%AAme temps ( C3%A0 l'C3%A9chelle de temps du cycle d'horloge )
| Donc, mC3%AAme C3%A0 quelques ms prC3%A8s, des compteurs 32 bits
| qui tournent C3%A0 quelques dizaines de MHz auront
| forcC3%A9ment des valeurs trC3%A9s diffC3%A9rentes ... ok ?

Quoted text here. Click to load it

Oui, il y en a. ( quartz 3D%> diviseur 3D%> compteur )


Quoted text here. Click to load it

Oui, les gC3%A9nC3%A9rateurs pseudo-alC3%A9atoires sont trC3%A9s facile=
s C3%A0 mettre
en oeuvre et peuvent gC3%A9nC3%A9rer des sC3%A9quences aussi longues qu'=
on veut,
et pour pas un poil de hard, mais bien sC3%BBr ce n'est pas de
l'alC3%A9atoire !
On peut faire ressortir leur biais et dans certaines
applications ca n'est plus du tout exploitable.
Certains fabricants ont proposC3%A9 des cartes PC qui gC3%A9nC3%A8rent u=
n
C2%AB vrai C2%BB bruit physique (dans une bande de frC3%A9quence spC3%
A9%cifiC3%A9e)
avec un systC3%A8me C3%A9lectronique (bruit thermodynamique ou autre)

Pour un uC ca me semble faisable facilement en numC3%A9risant
le bruit amplifiC3%A9 d'un composant polarisC3%A9 exprC3%A8s.
Et je suis assez curieux de voir ce que donnerait
une distribution des valeurs d'un tel systC3%A8me :
normalement ce devrait C3%AAtre Gaussien, non ?

Re: Casse-tête.
Jean-Christophe a tapoté du bout de ses petites papattes :
Quoted text here. Click to load it

Tu ne peux pas choisir à ton gré les Vref+ et Vref- de l'ADC ?

--
LeLapin



Re: Casse-tête.
On 15 oct, 00:05, LeLapin

| Jean-Christophe a tapotE9% du bout de ses petites papattes :
| D'autre part la dynamique du bruit de zener sera
| assez faible et je n'aurai qu'un delta de quelques
| bits par rapport E0% la pleine E9%chelle de l'ADC

Quoted text here. Click to load it

Si, mais la tension crEA%te du bruit gE9%nE9%rE9% par un composant
est trE9%s trE9%s faible ... cela obligerait E0% avoir les
deux Vref trE9%s proches l'un de l'autre et c'est pas bon.
AjoutE9% E0% la relativement faible impE9%dance d'entrE9%e
de l'ADC, je vois mal comment me passer d'un FET pour
assurer E0% la fois l'adaptation d'impE9%dance et l'amplification.

C'est sFB%r qu'une telle source serait de meilleure qualitE9%
qu'un timer dE9%calE9% par les dispersions E0% la mise sous tension,
mais au final il ne s'agit que d'obtenir la valeur de dE9%part
du cycle pour le gE9%nE9% pseudo-alE9%atoire, ca ne sert qu'une fois,
donc si je peux E9%viter d'ajouter un peu de hard ce serait ok.

Re: Casse-tête.
Jean-Christophe a tapoté du bout de ses petites papattes :
Quoted text here. Click to load it

Il est vrai que j'ai toujours utilisé un ampli-op (généralement un
TL07x) derrière la diode pour faire ce genre de choses. C'est pour ça
que je te demandais pour l'impédance et la capacité de l'entrée de
l'ADC.

En repensant aux sources possibles de valeurs aléatoires, je me suis
dit qu'un micro (genre electret) pourrait faire l'affaire : pas de hard
supplémentaire, juste 3 fils, et c'est le bruit ambiant local qui
ferait le boulot. Ca se teste, ça m'étonnerait que tous les electrets
donnent pile la même tension au même moment (position de la carte par
rapport aux autres, retard/déphasage des sources de bruit selon la
position, sans parler des résonances différentes...).
En plus, pas besoin de préampli, et une amplitude de signal déjà plus
exploitable que le bruit d'une diode.

T'en penses quoi ?

--
LeLapin



Re: Casse-tête.
On 15 oct, 18:54, LeLapin

Quoted text here. Click to load it

Ok.


Original et surprenant.
Mais si tout est silencieux ?
On ne contrF4%le pas l'environnement sonore ...

Re: Casse-tête.
Jean-Christophe a tapoté du bout de ses petites papattes :
Quoted text here. Click to load it

Je ne crois pas au silence absolu. Sauf en chambre sourde, et encore.

--
LeLapin



Re: Casse-tête.
Le 15/10/2011 21:56, LeLapin a écrit :
Quoted text here. Click to load it
Dans le vide :-)


--
http://grincheux.de-charybde-en-scylla.fr/?p31%2&more=1&c=1&tb=1&pb=1
http://fr.narkive.com/2011/1/16/4070064-f5pbg-lapprenti-anonyme.html
We've slightly trimmed the long signature. Click to see the full one.
Re: Casse-tête.
anyone a tapoté du bout de ses petites papattes :
Quoted text here. Click to load it

C'est pas dans le cahier des charges. :p

--
LeLapin



Re: Casse-tête.
On 15 oct, 23:56, LeLapin

| Mais si tout est silencieux ?
| On ne contrF4%le pas l'environnement sonore

Quoted text here. Click to load it

( eh oui, c'est comme ca quand on est mariE9% ;o)

Pas besoin d'EA%tre absolu, il suffit que ca
descende au-dessous du seuil de l'E9%lectret.
Et mEA%me avant ce seuil, un faible signal ne
donnera qu'un delta de quelques malheureux bits ;
ce qui augmente dangereusement la proba
d'avoir une mEA%me valeur sur diffE9%rentes cartes.

Si, pour E9%viter cela, on choisit un microphone de
meilleure qualitE9% (donc plus cher) alors autant utiliser
le bruit intrinsE8%que d'un composant suivi d'un simple FET :
aucun de ces deux composants n'a besoin d'EA%tre de bonne
qualitE9%, on recherche mEA%me exactement le contraire.

Dans l'exemple d'une zener, le spectre de bruit sera
plus proche d'un bruit blanc que celui d'un microphone
(le signal issu d'un microphone n'est pas alE9%atoire)
et ca ira bien plus loin vers les hautes frE9%quences,
c'est ce qu'il faut pour la dE9%synchronisation.

(et il reste toujours la solution sans hard externe en
utilisant un timer du uC lancE9% E0% la mise sous tension)

Quoted text here. Click to load it

Tu as tout E0% fait raison. Une chambre anE9%choEF%que ne fait
qu'absorber le son par la structure de ses parois,
donc un rE9%cepteur situE9% sur le trajet de l'onde entre
la source sonore et un des murs, recevra le signal.
(pour la curiositE9%, la chambre anE9%choEF%que de l'IRCAM :
les prismoEF%des au mur font environ un mE8%tre de long !)
http://tinyurl.com/3wrv2db

Bref, je te confirme que je trouve l'idE9%e trE9%s
originale, mais je trouve aussi que c'est trop risquE9%.
(et puis, une carte numE9%rique E9%quipE9%e d'un E9%lectret BF
comme source d'alE9%atoire est ok pour un truc maison,
mais pour du pro c'est difficilement justifiable !)

Re: Casse-tête.
Jean-Christophe a tapoté du bout de ses petites papattes :
Quoted text here. Click to load it

Dans le temps j'en avais fréquenté quelques-unes, dont celle-là. C'est
impressionnant. Je ne sais plus dans laquelle, on marchait et on
installait le matos à tester sur un grand filet en fil de fer très fin
tendu à mi-hauteur de la salle, avec le vide en dessous. Faut pas être
impressionnable. :)

--
LeLapin



Site Timeline