Qu'est-ce qui se passe quand deux puces RS485 commencer la transmission?

K

KamW

Guest
Salut J'ai pour transmettre le signal de fréquence sur de longues distances - quelques sources. Je pense que l'utilisation de puces RS485 il pourrait être une bonne idée (half duplex). Ma question est ce qui serait arrivé si deux puces commencer transmision, serait-il détruire des puces? Et peut-être que vous avez l'expérience comment vérifier s'il n'y avait pas colision.
 
Que signifie «pour transmettre le signal de fréquence"? Il signifie que les données de série ou bien quelques produits de fréquence par un oscillateur local?
 
[Citer] Le 18/03/2002 09:32, KamW a écrit: Salut, je dois transmettre le signal de fréquence sur de longues distances - quelques sources. Je pense que l'utilisation de puces RS485 il pourrait être une bonne idée (half duplex). Ma question est ce qui serait arrivé si deux puces commencer transmision, serait-il détruire des puces? Et peut-être que vous avez l'expérience comment vérifier s'il n'y avait pas colision. [/Quote] Je pense que vous pouvez envisager de bus CAN qui supporte multimaître et vérifier le bus est gratuit pour transmision. Le lien ci-dessous est pour votre référence. http://www.interfacebus.com/Design_Connector_CAN.html
 
Lorsque deux émetteurs commencent à l'instant même, il y aura collision sur la ligne. Les deux puces seront ok, mais ils auront plus de courant.
 
J'ai besoin de longueur d'environ 1000m donc je pense que je n'ai aucun problème avec la CAN. Signal de transmit ce sera la fréquence générée par des oscillateurs (sans contrôleur)-il est appnote en linéaire comment faire de longue distance (RS485) de mesure de température sans sonde de température - mais je voudrais ajouter un point de mesure et j'ai donc quelques-uns d'ajouter analogique généré pilote signal d'activation (half duplex). Je ne suis pas sûr si est-il possible de trouver si le signal est bon sur le bus, ou il ya une collision?
 
Salut, Pour éviter la collision, vous devez avoir un seul maître sur la ligne. Chaque trame sended doit commencer par l'adresse de l'esclave, c'est donc seul répondre. J'utilise l'émetteur-récepteur SN75176 pour mon application RS485. Bye. Fichier téléchargé: [url = "./uploads/slls101b.pdf"] slls101b.pdf [/url]
 
Si vous ne souhaitez pas utiliser un contrôleur sur chaque nœud, le moyen le plus simple sera d'utiliser un fil de plus pour chaque noeud, outre les 2 fils RS485 et 1 fil de terre. De cette façon, vous pouvez activer chaque émetteur RS485, un par un et pas de colisions. Utilisez un courant plus transmis sur ce fil de validation (> 10 mA) si c'est une longue distance. Si vous avez de nombreux noeuds que le coût du fil est trop gros. Une méthode pour réduire au minimum ce sera d'utiliser une série de PARALEL registre à décalage sur chaque nœud et de transmettre à partir du noeud de réception un modèle de série qui permet au conducteur RS485 à partir de chaque nœud séparément. Le registre à décalage série (comme 74HC595) sera en cascade. Ainsi, vous aurez 2 RS485 fils, 1 gnd, 3 fils pour les données série (données, clk, clair).
 
Salut Thx pour votre réponse. Je ne veux pas mettre en œuvre l'interface série RS485. Je me demande si je pouvais utiliser des puces RS485 comme "convertisseur de niveau de signal" pour augmenter la longueur de transmision du signal de fréquence - pour un nœud, il est très simple, mais je pense d'utiliser plusieurs noeuds - tout le monde pouvait transmettre. Le seul que je dois faire est de vérifier s'il ya ou non collision pour être sûr que je n'ai signal de fréquence pure. Bien sûr, je pourrais utiliser un fil de plus pour chaque nœud, mais il y aura de câblage compliqué. Je pense que le même résultat que je ould obtenir l'aide de câblage méthode des étoiles. Registre à décalage série pourrait être une bonne idée, s'il n'y avait pas de solution pour la détection colision.
 
Vous devez faire le protocole capable de détecter quand d'autres micro parle pas ou est occupé. Vous pouvez ajouter une autre ligne de bus pour indiquer l'état d'occupation et empêcher une collition dans le bus RS 485
 
C'est toujours un problème de communication. Le moyen idéal est bien sûr à utiliser handshaking bon, ce cours de peut utiliser jusqu'à beaucoup de temps lorsque vous avez un grand nombre de nœuds. Ce que j'ai découvert que si vous pouvez vous permettre d'utiliser une petite image ou quelque chose, vous pouvez transmettre les données mêmes aveugles à plusieurs reprises. Vous pouvez ensuite configurer la réception micro pour donner une sortie lorsque 2 réceptions successives sont identiques. Pour une image fidèle des débits de données faibles cela fonctionne OK. RS485 est tolérant des conflits de données, en tout cas si vous utilisez un micro, vous pouvez désactiver la puce si elle n'est pas réellement transmettre.
 
Vous pouvez envoyer des données sur le signal d'horloge à l'aide NRZI coder. Utilisation async-HDLC jetons que vous pouvez obtenir le signal d'horloge et l'information binaire. Avec cette information, vous pouvez savoir s'il n'y avait pas colision. information binaire: flag (7Eh) + deux octets pour PLL trainning de puces HDLC (00H, 00H) + de toute autre information + CRC + drapeau (7Eh)
 
1. Utilisez RS422 émetteur. 2. Conect R + à T + et R-à T-. 3. Maintenant vous avez la même bus RS485. Mais vous avez un émetteur et un récepteur. Si les deux signaux sont les mêmes, il n'y avait pas collision. Vous pouvez faire la comparaison par XOR. HMaier
 
Ces situations (lorsque plus d'un dispositif de essayez de démarrer simultanément transmision) se produisent parfois dans les systèmes avec une interface RS485. Mais jetons RS485 sont protégés contre elle. Si vous voulez l'éviter, votre système doit fonctionner dans "maître-esclave" mode, ce qui signifie que un seul appareil peut commencer la transmission (appelé maître); tous les autres appareils ne peuvent pas envoyer des données sans commande du dispositif maître (périphérique Adressé envoyer des données après avoir reçu commande valide et adresse). Il n'est pas si simple pour détecter la collision: par exemple, si plusieurs appareils la fréquence d'émission de la même valeur et la phase, il peut être impossible de détecter la collision.
 
Salut National Semiconductors a une certaine app bonne. des notes sur ce sujet. h ** p :/ / w * w.national.com/ads-cgi/viewer.pl/an/AN/AN-1057.pdf h ** p :/ / w * w.national.com / annonces-cgi / viewer.pl/an/AN/AN-759.pdf Tous app. billets sont disponibles à l'adresse: h ** p :/ / w * w.national.com/apnotes/apnotes_all_1.html
 
1) Vous pouvez vous procurer circuits de commande RS485 à partir de maxime-ic.com ou national. Com 2) Vous devez définir une protocal pour votre réseau. Faites-vous du livre «Serial Comm. Compléter". Il est une bonne référence.
 

Welcome to EDABoard.com

Sponsor

Back
Top