Moritus Electronicien Recruté
Nombre de messages : 3 Date d'inscription : 01/12/2006
| Sujet: protocole 1-wire vers RS-232 Ven 22 Déc - 4:44 | |
| Salut,
Est-ce que quelqu'un a un code pour un PIC16F84A qui vais la conversion 1-wire vers RS-232.. Ca fais un mois que j'essai de trouver de l'info pour en faire un mais mes codes marche jamais!
et dans ce cas, les datasheet n'arrive pas à m'aider
@+ | |
|
Zonetronik Fondateur
Nombre de messages : 410 Age : 53 Localisation : Tunis Date d'inscription : 01/12/2006
| Sujet: Re: protocole 1-wire vers RS-232 Mar 26 Déc - 3:18 | |
| Bonjour, j'ai contacter M Claude Bigonof pour qui' il m'aide a répondre a cette question. Voila la réponse: - Citation :
Ce projet se décompose en plusieurs parties.
En imaginant, que, vu la question, la communication aille du sens unique 1-wire -> RS232 :
1) Il faut faire un module de lecture 1-wire 2) Il faut définir (inventer) une façon de "coder" les octets 1-wire en une trame à envoyer vers le RS232, et qui sera comprise par le logiciel qui recevra les trames RS232 (sur PC ou autre) 3) Il faut faire un module d'envoi d'une trame en RS232
Le point n° est à définir par l'utilisateur, de façon arbitraire, à l'unique condition que la trame soit codée de façon identique aux deux extrémités de la communication RS232 (PIC16F84A d'un côté, PC ou autre de l'autre). Une façon serait par exemple de faire une trame du type :
Octet_départ , Nbre_octets, Octets_de_data (contenu 1-wire), Checksum_vérification, Octet_fin
Mais il y a autant de possibilités qu'on veut, tout dépend du degré de sécurité qu'on veut dans la transmission
Le point n°1 est de réaliser la partie communication pic/1-wire. Tu trouveras des exemples de communication de ce type dans la page "réalisations" de mon site : www.bigonoff.org
Le point n° consiste à réaliser la partie communication pic/rs232. De nouveau, il y a des exemples sur cette page, en sachant qu'à ce niveau, contrairement au protocole 1-wire, il existe des pics qui disposent d'un module USART intégré qui facilite grandement cette communication. Les exemples pour 16F84A doivent tout gérer par software, alors qu'avec un pic disposant d'un USART, c'est beaucoup plus simple.
Une fois tous ces modules écrits, il reste à faire tout communiquer ensemble, c'est à dire par exemple :
- Attente d'un échange 1-Wire - Une fois l'échange terminé, construire la trame - Une fois la trame prête, l'envoyer via RS232 - Reprendre au début
Evidemment, si la communication doit se faire dans les deux sens, il faut tout réaliser en double, puisqu'il faut non seulement coder, mais aussi décoder la trame RS232, écrire et lire en RS232, ainsi qu'écrire et lire en 1-wire.
Je ne peux évidemment pas écrire le logiciel, je n'ai pas assez de temps libre pour ça, mais c'est un logiciel qui nécessite tout de même d'avoir dépassé le stade de l'apprentissage, et qui nécessite donc de connaitre relativement bien les pics
Si ça peut t'aider, tu trouveras sur mon site, page domotique, un convertisseur RS232/CAN sur 18F. Ca ne t'aidera pas au niveau du code, mais bien au niveau d'une des façons de procéder (attente d'un évènement, codage/décodage de trame, etc). Bref, ça pourra t'aider à construire ton ordinogramme.
Une difficulté supplémentaire que tu vas rencontrer avec le 16F84A, c'est que, étant dépourvu de module USART, tu dois détecter l'activation de la ligne RS232 (start-bit) par interruption (en cas de réception RS232 si ça arrive) sur une ligne (INT par exemple), ou effectuer une scrutation permanente, et une fois le début de la trame détectée, il t'est très difficile de faire faire autre-chose au pic sans risquer de perdre la synchronisation RS232. Bref, c'est relativement simple de faire du half-duplex (réception, traitement, puis envoi), mais relativement compliqué de faire du full-duplex (réception et envoi simultané).
A+ Bigonoff Merci encore M Claude Bigonoff | |
|