18/08/2005, 20h22
|
#1 |
Date d'inscription: juillet 2004 Localisation: Voie Lactée Âge: 24
Messages: 3 703
| cette solution de serie/parallele/serie fonctionne-t-elle
bonsoir,
j'aimerais savoir: quand j'envois au jb8 par D+ ce flot de bits 011010010100000111010110100010 10 (ce n'est qu'un exemple)
quelle serait la sortie sur A0-A7.
d'apres moi c'est:
a0:0011
a1:1110
a2:1000
a3:0010
a4:1001
a5:0010
a6:0011
a7:1100
"desole pour l'exemple"
voila il se trouve que je vais commander 2 pas a pas a distance
j'ai choisi comme sollution ce qui suit
flot de bits du pc au jb8(liaison serie)
les 8 sorties du jb8 vont a un multiplexeur 8/1 cadancé par une horloge d'une frequence sychronisee a 8 fois la frequence du flot de donnes grace a un filtre a capacitee commutee
la sortie du mux8/1 va a un emetteur hf
la sotie du recepteur hf vers une catre decommande de 2 pas a pas
a present je voudrais savoir si le flot se bits a la sortie du recepteur est le meme qu'a l'entree du jb8
et dutout, cette sollution foctionne-t-elle(j'ai une petite aprehension du cote du mux?
PS: je vous enverrais un schema simplifie
merci
__________________
"The difference between stupidity and genius is that genius has its limits"
|
| | Aujourd'hui
| | | | Liens sponsorisés | |
|
|
18/08/2005, 20h44
|
#2 |
Date d'inscription: juillet 2004 Localisation: Voie Lactée Âge: 24
Messages: 3 703
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
bonsoir ,
__________________
"The difference between stupidity and genius is that genius has its limits"
|
| |
18/08/2005, 23h19
|
#3 |
Date d'inscription: avril 2003 Localisation: Metz
Messages: 6 011
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
tout dépend du programme que tu as mis dans le µcontrôleur.
De plus, je ne comprend pas pourquoi tu dis que tu envoies des données sur D+, puisque l'usb est une liaison différentielle, donc entre D+ et D-
Ensuite, que représentent les bits envoyés? Un paquet de données?
T'es tu bien renseigné sur le fonctionnement de l'usb?
A+
Dernière modification par Jack ; 18/08/2005 à 23h21.
|
| |
18/08/2005, 23h34
|
#4 |
Date d'inscription: juillet 2004 Localisation: Voie Lactée Âge: 24
Messages: 3 703
| Re : cette solution de serie/parallele/serie fonctionne-t-elle Citation: |
Envoyé par Jack tout dépend du programme que tu as mis dans le µcontrôleur.
De plus, je ne comprend pas pourquoi tu dis que tu envoies des données sur D+, puisque l'usb est une liaison différentielle, donc entre D+ et D-
Ensuite, que représentent les bits envoyés? Un paquet de données?
T'es tu bien renseigné sur le fonctionnement de l'usb?
A+ | pour ce qui est de D+ j'ai verifie et vous avey raison.
oui les bits sont des donnes
mon raisonnement est le suivant
le jb8 transforme les donnes series en donnes//, le premier bit va vers a0 le 2eme vers a1...le 8eme vers a7, le 9eme vers a0 le 10eme vers a1...(corrigez moi si je me trampe)
ce qui me derange c'est le mux ou comment refaire de ces donnes // des donnees serie.
merci
__________________
"The difference between stupidity and genius is that genius has its limits"
|
| |
18/08/2005, 23h45
|
#5 |
Date d'inscription: avril 2003 Localisation: Metz
Messages: 6 011
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
j'insiste peut-être, mais pourquoi ne pas remplacer tous ces circuits derrière le JB8 par un autre µcontrôleur. Tu conserveras ainsi toute la souplesse de ce genre de circuit si tu venais à modifier ton schéma.
A+
|
| |
18/08/2005, 23h51
|
#6 |
Date d'inscription: juillet 2004 Localisation: Voie Lactée Âge: 24
Messages: 3 703
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
comme vous le savez, les microcontroleurs ce n'est pas mon point fort (ceci est un euphemisme). et comme vous me l'avez deja dis, chose que j'ai confirme aussi, il y aurait un probleme avec l'ecriture du pilote. c'est pourquoi je prefere "la simplicitee"
"la simplicitee varie selon le niveau des connaissances"
si vous avez une sollution a me proposer!
__________________
"The difference between stupidity and genius is that genius has its limits"
|
| |
18/08/2005, 23h55
|
#7 |
Date d'inscription: avril 2003 Localisation: Metz
Messages: 6 011
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
dans ce cas, essaie déjà de faire communiquer le jb8 avec le PC avant de te lancer dans la suite.
Il faut procéder par étapes, et je te garantis que cette 1ère étape n'est pas des moindres.
A+
|
| |
19/08/2005, 13h08
|
#8 |
Date d'inscription: juillet 2004 Localisation: Voie Lactée Âge: 24
Messages: 3 703
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
bonjour,
je suppose que ceci est l'horloge du jb8:
101010101010101010101010101010 10
j'envois 11111111
est ce que j'aurais ceci
a0:10000000
a1:10000000
a2:10000000
a3:10000000
a4:10000000
a5:10000000
a6:10000000
a7:10000000
ou ceci
a0:10000000
a1:01000000
a2:00100000
a3:00010000
a4:00001000
a5:00000100
a6:00000010
a7:00000001
merci
__________________
"The difference between stupidity and genius is that genius has its limits"
|
| |
19/08/2005, 14h03
|
#9 |
Date d'inscription: avril 2003 Localisation: Metz
Messages: 6 011
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
je ne comprends vraiment pas de quoi tu parles. C'est ton programme qui va envoyer des valeurs sur le port A du JB8.
Si ton programme ne fait rien, ce port restera en entrée.
Qu'appelles-tu "horloge du JB8"? Ou ce signal arrive-t-il sur le JB8?
A+
|
| |
19/08/2005, 14h08
|
#10 |
Date d'inscription: avril 2003 Localisation: Entre Serre-Chevalier et Grenoble Âge: 23
Messages: 435
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
Bonjour,
comme Jack a dit, "tout dépend du programme que tu as mis dans le µcontrôleur."
il faut faire par étapes (ce que j'aurai du faire ces derniers jours avec mes pics mais c'est une autre histoire).
Tu n'y connais rien dans ce µC, alors lis son datasheet, fais des programmes qui font clignoter une led ou le fameux chenillard. Ca peut sembler bête comme ca mais c'est les bases, ca permettra de te familiariser avec l'assembleur (à moins que tu programmes en C je ne sais pas).
Ensuite tu pourras t'attaquer à l'usb en essayant de communiquer avec le PC (envoyer-recevoir des octets).
Et quand tu sauras faire marcher tout ca tu pourras te pencher sur ton projet.
Et pour tes "questions", lorsque tu envoies b'11111111' tu envoies l'octet 0xFF. et du auras dans le registre de réception USB l'octet 0xFF. si tu veux uniquement le "sortir" sur le portA (c'est toi qui fait le programme) tu auras donc 11111111 en sortie. Je n'ai pas très bien compris ce que tu as écrit en fait.
à quoi correspond a0:10000000 ? (par exemple) Parce que a0 c'est une sortie, donc un bit et non un octet
J'en ai aussi des questions: dans quel langage vas-tu programmer, est-ce que tu "maitrises" ce langage? As-tu tout le matériel (programmateur, carte de test)? As-tu déjà programmé ce µC?
@++.
|
| |
19/08/2005, 14h29
|
#11 |
Date d'inscription: juillet 2004 Localisation: Voie Lactée Âge: 24
Messages: 3 703
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
oui c'est le programme qui va envoyerles donnes, mais c'est moi qui vais lui commander ce qu'il va envoyer.
quand j'ai dit horloge c'etait une facon de parler pour exprimer la vitesse avec la quelle se passe le transfert de donnes entre pc et jb8.
d'apres ce que j'ai compris, si le pc envoie un octet au jb8 ce dernier va, ente autre, le diviser en 8 bits qu'il va envoyer respactivement a a0, a1, ...a7.
ce que je me demandais c'est si ces bits vont arriver aux borne a0-a7, simultanement(je doute), ou l'un apres l'autre.
d'apres la sollution de mux8/1, si c'est le 1er cas, la vitesse de commutation de ce dernier doit etre 8 fois superieure a celle du tansfert de donnees, si c'est le deuxieme, les vitesses seront egales.
apres avoir jeter un coup d'oeuil sur le livre j'ai un petit doute que c'est autre chose:
le jb8 ne transforme pas les donnes series en //. l'information qui sort du pc porte avec elle l'adresse du jb8(identification driver) et l'adresse du port destination (a0-a7), ce qui implique que je peux directement connecter un seul port, a0 par exemple, a l'emetteur hf.
vous avez la 3 theories, je vous pris d'en refuter les erronees
merci
__________________
"The difference between stupidity and genius is that genius has its limits"
|
| |
19/08/2005, 14h41
|
#12 |
Date d'inscription: avril 2003 Localisation: Metz
Messages: 6 011
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
y a du boulot !!!
le bus usb est un bus série puisque qu'on ne peut envoyer qu'un bit à la fois entre D+ et D-.
Le µcontrôleur va analyser ces paquets de données série, les "désérialiser" pour les remettre sous forme d'octets (8 bits). L'octet est la donnée de base de ce microcontrôleur.
Parlis ces octets reçus par le jb8 peuvent figurer des données, les autres étant des données de service ou de contrôle.
Le ou les octets de données reçus se trouvent dans les registres de données du jb8.
Si tu envoies un octet sur le port a, tous les bits vont évidemment changer d'état en même temps.
A+
|
| |
19/08/2005, 14h49
|
#13 |
Date d'inscription: juillet 2004 Localisation: Voie Lactée Âge: 24
Messages: 3 703
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
merci jack,
pour repondre a romelec, j'utilise C comme language, j'ai tout le materiel mais je n'ai jammais programmer ce circuit.
__________________
"The difference between stupidity and genius is that genius has its limits"
|
| |
19/08/2005, 14h54
|
#14 |
Date d'inscription: avril 2003 Localisation: Entre Serre-Chevalier et Grenoble Âge: 23
Messages: 435
| Re : cette solution de serie/parallele/serie fonctionne-t-elle bon c'est pas gagné Citation: |
Envoyé par einstein d'apres ce que j'ai compris, si le pc envoie un octet au jb8 ce dernier va, ente autre, le diviser en 8 bits qu'il va envoyer respactivement a a0, a1, ...a7.
ce que je me demandais c'est si ces bits vont arriver aux borne a0-a7, simultanement(je doute), ou l'un apres l'autre. | le jb8 va faire ce que tu veux. si tu veux qu'il sorte le complénent à 2 de l'opposé de l'octet reçu une fois sur 5 tu pourras.
bon je dis n'importe quoi là, mais c'est pour dire que c'est TOI qui décide comment faire le traidement des données reçues.
si tu veux mettre sur le portA l'octet reçu (d'ailleurs tu peux en recevoir plusieurs dans une trame) par la liaison USB ca se fera bien entendu immédiat.
il faudra faire par exemple (c'est surement pas ca mais c'est un exemple)
LDAA "registre de reception"
STAA PORTA Citation: |
Envoyé par einstein apres avoir jeter un coup d'oeuil sur le livre j'ai un petit doute que c'est autre chose:
le jb8 ne transforme pas les donnes series en //. l'information qui sort du pc porte avec elle l'adresse du jb8(identification driver) et l'adresse du port destination (a0-a7), ce qui implique que je peux directement connecter un seul port, a0 par exemple, a l'emetteur hf. | Il y a confusion: dans la trame il y a l'adresse du périphérique, pour savoir si cette donnée est destinée à l'imprimante ou à la clé (cf. un ancien post).
a0->a7 sont des entrées-sorties, qui font partis du PORTA, qui est controlé uniquement par le µC lui-même et non pas par la trame USB.
|
| |
19/08/2005, 15h18
|
#15 |
Date d'inscription: juillet 2004 Localisation: Voie Lactée Âge: 24
Messages: 3 703
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
a present, apres avoir diviser l'octet en 8bits sur le port A, je veux en refaire des donnes serie tout comme il etait avant le jb8
__________________
"The difference between stupidity and genius is that genius has its limits"
|
| |
19/08/2005, 15h21
|
#16 |
Date d'inscription: avril 2003 Localisation: Metz
Messages: 6 011
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
tu utilises quel logiciel pour développer le programme du 908jb8?
A+
|
| |
19/08/2005, 15h24
|
#17 |
Date d'inscription: juillet 2004 Localisation: Voie Lactée Âge: 24
Messages: 3 703
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
codewarrior
|
| |
19/08/2005, 15h29
|
#18 |
Date d'inscription: avril 2003 Localisation: Metz
Messages: 6 011
| Re : cette solution de serie/parallele/serie fonctionne-t-elle
dans ce cas c'est facile. Il faut coder la sérialisation de l'octet dans le jb8 en n'utilisant qu'un sortie du port A, par exemple PA4.
Pour la mettre à '1', on écrit la ligne suivante:
PTA_PTA4 = 1;
Le compilateur le traduit en bset 4, PTA. Facile non?
Pour mettre à zéro, je pense que tu trouveras tout seul.
Il faut donc analyser ta donnée, bits par bit, et modifier PTA4 en conséquences.
A+
|
| | |
|